diff --git a/@types/imsc/index.d.ts b/@types/imsc/index.d.ts
deleted file mode 100644
index 344d200f525d8f8b276bbcdbee96430739a40459..0000000000000000000000000000000000000000
--- a/@types/imsc/index.d.ts
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 2016, Pierre-Anthony Lemieux <pal@sandflow.com>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * * Redistributions of source code must retain the above copyright notice, this
- *   list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright notice,
- *   this list of conditions and the following disclaimer in the documentation
- *   and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-export interface TtmlDocument {
-    getMediaTimeEvents(): number[];
-
-    getMediaTimeRange(): number[];
-}
-
-export type ISD = unknown;
-export type ISDState = unknown;
-
-/**
- * Allows a client to provide callbacks to handle children of the <metadata> element
- */
-export interface MetadataHandler {
-    /**
-     * Called when the opening tag of an element node is encountered.
-     * @param ns Namespace URI of the element
-     * @param name Local name of the element
-     * @param attributes List of attributes, each consisting of a `uri`, `name` and `value`
-     */
-    onOpenTag(ns: string, name: string, attributes: Attribute[]): void;
-
-    /**
-     * Called when the closing tag of an element node is encountered.
-     */
-    onCloseTag(): void;
-
-    /**
-     * Called when a text node is encountered.
-     * @param contents Contents of the text node
-     */
-    onText(contents: string): void;
-}
-
-export interface Attribute {
-    uri: string;
-    name: string;
-    value: string;
-}
-
-/**
- * Generic interface for handling events. The interface exposes four
- * methods:
- * * <pre>info</pre>: unusual event that does not result in an inconsistent state
- * * <pre>warn</pre>: unexpected event that should not result in an inconsistent state
- * * <pre>error</pre>: unexpected event that may result in an inconsistent state
- * * <pre>fatal</pre>: unexpected event that results in an inconsistent state
- *   and termination of processing
- * Each method takes a single <pre>string</pre> describing the event as argument,
- * and returns a single <pre>boolean</pre>, which terminates processing if <pre>true</pre>.
- */
-export interface ErrorHandler {
-    info(error: string): boolean;
-
-    warn(error: string): boolean;
-
-    error(error: string): boolean;
-
-    fatal(error: string): boolean;
-}
-
-/**
- * Parses an IMSC1 document into an opaque in-memory representation that exposes
- * a single method <pre>getMediaTimeEvents()</pre> that returns a list of time
- * offsets (in seconds) of the ISD, i.e. the points in time where the visual
- * representation of the document change. `metadataHandler` allows the caller to
- * be called back when nodes are present in <metadata> elements.
- */
-export function fromXML(
-    xmlstring: string,
-    errorHandler?: ErrorHandler,
-    metadataHandler?: MetadataHandler,
-): TtmlDocument | null;
-
-/**
- * Creates a canonical representation of an IMSC1 document returned by <pre>imscDoc.fromXML()</pre>
- * at a given absolute offset in seconds. This offset does not have to be one of the values returned
- * by <pre>getMediaTimeEvents()</pre>.
- */
-export function generateISD(
-    tt: TtmlDocument,
-    offset?: number,
-    errorHandler?: ErrorHandler
-): ISD;
-
-/**
- * Renders an ISD object (returned by <pre>generateISD()</pre>) into a
- * parent element, that must be attached to the DOM. The ISD will be rendered
- * into a child <pre>div</pre>
- * with heigh and width equal to the clientHeight and clientWidth of the element,
- * unless explicitly specified otherwise by the caller. Images URIs specified
- * by <pre>smpte:background</pre> attributes are mapped to image resource URLs
- * by an <pre>imgResolver</pre> function. The latter takes the value of <code>smpte:background</code>
- * attribute and an <code>img</code> DOM element as input, and is expected to
- * set the <code>src</code> attribute of the <code>img</code> to the absolute URI of the image.
- * <pre>displayForcedOnlyMode</pre> sets the (boolean)
- * value of the IMSC1 displayForcedOnlyMode parameter. The function returns
- * an opaque object that should passed in <code>previousISDState</code> when this function
- * is called for the next ISD, otherwise <code>previousISDState</code> should be set to
- * <code>null</code>.
- */
-export function renderHTML(
-    isd: ISD,
-    element: HTMLElement,
-    /**
-     * Function that maps <pre>smpte:background</pre> URIs to URLs resolving to image resource
-     * @param {string} <pre>smpte:background</pre> URI
-     */
-    imgResolver?: (backgroundUri: string) => string,
-    height?: number,
-    width?: number,
-    displayForcedOnlyMode?: boolean,
-    errorHandler?: ErrorHandler,
-    previousISDState?: ISDState,
-    enableRollUp?: boolean,
-): ISDState;
diff --git a/package-lock.json b/package-lock.json
index cb3a523c27756121703636e3bd71fcb94a541495..64fb811385d9a134cf41605af8c7181368c0c796 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9129,6 +9129,11 @@
         "type-check": "~0.4.0"
       }
     },
+    "libass-wasm": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/libass-wasm/-/libass-wasm-4.0.0.tgz",
+      "integrity": "sha512-+fCkT3fP3b6wGg3s+VrUrFcW7IScFjVWlJq1aGu0gtiIw0RIPKMVdHqOHba2zkSYrfeJooB4Zn20fTORoY9brg=="
+    },
     "libjass": {
       "version": "0.11.0",
       "resolved": "https://registry.npmjs.org/libjass/-/libjass-0.11.0.tgz",
diff --git a/public/logo192.png b/public/assets/images/logo192.png
similarity index 100%
rename from public/logo192.png
rename to public/assets/images/logo192.png
diff --git a/public/logo512.png b/public/assets/images/logo512.png
similarity index 100%
rename from public/logo512.png
rename to public/assets/images/logo512.png
diff --git a/public/assets/js/subtitles-octopus-worker-legacy.data b/public/assets/js/subtitles-octopus-worker-legacy.data
new file mode 100644
index 0000000000000000000000000000000000000000..3caf764d00b2a53948656171b5b9bd10ebf9ce86
Binary files /dev/null and b/public/assets/js/subtitles-octopus-worker-legacy.data differ
diff --git a/public/assets/js/subtitles-octopus-worker-legacy.js b/public/assets/js/subtitles-octopus-worker-legacy.js
new file mode 100644
index 0000000000000000000000000000000000000000..3653f299875697dd733805372d920b6ce0584be3
--- /dev/null
+++ b/public/assets/js/subtitles-octopus-worker-legacy.js
@@ -0,0 +1,297994 @@
+var Module = typeof Module !== "undefined" ? Module : {};
+
+if (!Module.expectedDataFileDownloads) {
+ Module.expectedDataFileDownloads = 0;
+ Module.finishedDataFileDownloads = 0;
+}
+
+Module.expectedDataFileDownloads++;
+
+(function() {
+ var loadPackage = function(metadata) {
+  var PACKAGE_PATH;
+  if (typeof window === "object") {
+   PACKAGE_PATH = window["encodeURIComponent"](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf("/")) + "/");
+  } else if (typeof location !== "undefined") {
+   PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf("/")) + "/");
+  } else {
+   throw "using preloaded data can only be done on a web page or in a web worker";
+  }
+  var PACKAGE_NAME = "dist/js/subtitles-octopus-worker-legacy.data";
+  var REMOTE_PACKAGE_BASE = "subtitles-octopus-worker-legacy.data";
+  if (typeof Module["locateFilePackage"] === "function" && !Module["locateFile"]) {
+   Module["locateFile"] = Module["locateFilePackage"];
+   err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)");
+  }
+  var REMOTE_PACKAGE_NAME = Module["locateFile"] ? Module["locateFile"](REMOTE_PACKAGE_BASE, "") : REMOTE_PACKAGE_BASE;
+  var REMOTE_PACKAGE_SIZE = metadata["remote_package_size"];
+  var PACKAGE_UUID = metadata["package_uuid"];
+  function fetchRemotePackage(packageName, packageSize, callback, errback) {
+   var xhr = new XMLHttpRequest();
+   xhr.open("GET", packageName, true);
+   xhr.responseType = "arraybuffer";
+   xhr.onprogress = function(event) {
+    var url = packageName;
+    var size = packageSize;
+    if (event.total) size = event.total;
+    if (event.loaded) {
+     if (!xhr.addedTotal) {
+      xhr.addedTotal = true;
+      if (!Module.dataFileDownloads) Module.dataFileDownloads = {};
+      Module.dataFileDownloads[url] = {
+       loaded: event.loaded,
+       total: size
+      };
+     } else {
+      Module.dataFileDownloads[url].loaded = event.loaded;
+     }
+     var total = 0;
+     var loaded = 0;
+     var num = 0;
+     for (var download in Module.dataFileDownloads) {
+      var data = Module.dataFileDownloads[download];
+      total += data.total;
+      loaded += data.loaded;
+      num++;
+     }
+     total = Math.ceil(total * Module.expectedDataFileDownloads / num);
+     if (Module["setStatus"]) Module["setStatus"]("Downloading data... (" + loaded + "/" + total + ")");
+    } else if (!Module.dataFileDownloads) {
+     if (Module["setStatus"]) Module["setStatus"]("Downloading data...");
+    }
+   };
+   xhr.onerror = function(event) {
+    throw new Error("NetworkError for: " + packageName);
+   };
+   xhr.onload = function(event) {
+    if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || xhr.status == 0 && xhr.response) {
+     var packageData = xhr.response;
+     callback(packageData);
+    } else {
+     throw new Error(xhr.statusText + " : " + xhr.responseURL);
+    }
+   };
+   xhr.send(null);
+  }
+  function handleError(error) {
+   console.error("package error:", error);
+  }
+  var fetchedCallback = null;
+  var fetched = Module["getPreloadedPackage"] ? Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null;
+  if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) {
+   if (fetchedCallback) {
+    fetchedCallback(data);
+    fetchedCallback = null;
+   } else {
+    fetched = data;
+   }
+  }, handleError);
+  function runWithFS() {
+   function assert(check, msg) {
+    if (!check) throw msg + new Error().stack;
+   }
+   Module["FS_createPath"]("/", "assets", true, true);
+   function DataRequest(start, end, audio) {
+    this.start = start;
+    this.end = end;
+    this.audio = audio;
+   }
+   DataRequest.prototype = {
+    requests: {},
+    open: function(mode, name) {
+     this.name = name;
+     this.requests[name] = this;
+     Module["addRunDependency"]("fp " + this.name);
+    },
+    send: function() {},
+    onload: function() {
+     var byteArray = this.byteArray.subarray(this.start, this.end);
+     this.finish(byteArray);
+    },
+    finish: function(byteArray) {
+     var that = this;
+     Module["FS_createPreloadedFile"](this.name, null, byteArray, true, true, function() {
+      Module["removeRunDependency"]("fp " + that.name);
+     }, function() {
+      if (that.audio) {
+       Module["removeRunDependency"]("fp " + that.name);
+      } else {
+       err("Preloading file " + that.name + " failed");
+      }
+     }, false, true);
+     this.requests[this.name] = null;
+    }
+   };
+   var files = metadata["files"];
+   for (var i = 0; i < files.length; ++i) {
+    new DataRequest(files[i]["start"], files[i]["end"], files[i]["audio"]).open("GET", files[i]["filename"]);
+   }
+   function processPackageData(arrayBuffer) {
+    Module.finishedDataFileDownloads++;
+    assert(arrayBuffer, "Loading data file failed.");
+    assert(arrayBuffer instanceof ArrayBuffer, "bad input to processPackageData");
+    var byteArray = new Uint8Array(arrayBuffer);
+    DataRequest.prototype.byteArray = byteArray;
+    var files = metadata["files"];
+    for (var i = 0; i < files.length; ++i) {
+     DataRequest.prototype.requests[files[i].filename].onload();
+    }
+    Module["removeRunDependency"]("datafile_dist/js/subtitles-octopus-worker-legacy.data");
+   }
+   Module["addRunDependency"]("datafile_dist/js/subtitles-octopus-worker-legacy.data");
+   if (!Module.preloadResults) Module.preloadResults = {};
+   Module.preloadResults[PACKAGE_NAME] = {
+    fromCache: false
+   };
+   if (fetched) {
+    processPackageData(fetched);
+    fetched = null;
+   } else {
+    fetchedCallback = processPackageData;
+   }
+  }
+  if (Module["calledRun"]) {
+   runWithFS();
+  } else {
+   if (!Module["preRun"]) Module["preRun"] = [];
+   Module["preRun"].push(runWithFS);
+  }
+ };
+ loadPackage({
+  "files": [ {
+   "start": 0,
+   "audio": 0,
+   "end": 145972,
+   "filename": "/assets/default.woff2"
+  }, {
+   "start": 145972,
+   "audio": 0,
+   "end": 146775,
+   "filename": "/assets/fonts.conf"
+  } ],
+  "remote_package_size": 146775,
+  "package_uuid": "6e396925-a843-4336-b714-9ac6d3bc9a02"
+ });
+})();
+
+if (!String.prototype.endsWith) {
+ String.prototype.endsWith = function(search, this_len) {
+  if (this_len === undefined || this_len > this.length) {
+   this_len = this.length;
+  }
+  return this.substring(this_len - search.length, this_len) === search;
+ };
+}
+
+var hasNativeConsole = typeof console !== "undefined";
+
+function makeCustomConsole() {
+ var console = function() {
+  function postConsoleMessage(prefix, args) {
+   postMessage({
+    target: "console-" + prefix,
+    content: JSON.stringify(Array.prototype.slice.call(args))
+   });
+  }
+  return {
+   log: function() {
+    postConsoleMessage("log", arguments);
+   },
+   debug: function() {
+    postConsoleMessage("debug", arguments);
+   },
+   info: function() {
+    postConsoleMessage("info", arguments);
+   },
+   warn: function() {
+    postConsoleMessage("warn", arguments);
+   },
+   error: function() {
+    postConsoleMessage("error", arguments);
+   }
+  };
+ }();
+ return console;
+}
+
+Module = Module || {};
+
+Module["preRun"] = Module["preRun"] || [];
+
+Module["preRun"].push(function() {
+ var i;
+ Module["FS_createFolder"]("/", "fonts", true, true);
+ if (!self.subContent) {
+  if (self.subUrl.endsWith(".br")) {
+   self.subContent = Module["BrotliDecode"](readBinary(self.subUrl));
+  } else {
+   self.subContent = read_(self.subUrl);
+  }
+ }
+ if (self.availableFonts && self.availableFonts.length !== 0) {
+  var sections = parseAss(self.subContent);
+  for (var i = 0; i < sections.length; i++) {
+   for (var j = 0; j < sections[i].body.length; j++) {
+    if (sections[i].body[j].key === "Style") {
+     self.writeFontToFS(sections[i].body[j].value["Fontname"]);
+    }
+   }
+  }
+  var regex = /\\fn([^\\}]*?)[\\}]/g;
+  var matches;
+  while (matches = regex.exec(self.subContent)) {
+   self.writeFontToFS(matches[1]);
+  }
+ }
+ if (self.subContent) {
+  Module["FS"].writeFile("/sub.ass", self.subContent);
+ }
+ self.subContent = null;
+ var fontFiles = self.fontFiles || [];
+ for (i = 0; i < fontFiles.length; i++) {
+  Module["FS_createPreloadedFile"]("/fonts", "font" + i + "-" + fontFiles[i].split("/").pop(), fontFiles[i], true, true);
+ }
+});
+
+Module["onRuntimeInitialized"] = function() {
+ self.octObj = new Module.SubtitleOctopus();
+ self.changed = Module._malloc(4);
+ self.octObj.initLibrary(screen.width, screen.height);
+ self.octObj.createTrack("/sub.ass");
+ self.ass_track = self.octObj.track;
+ self.ass_library = self.octObj.ass_library;
+ self.ass_renderer = self.octObj.ass_renderer;
+};
+
+Module["print"] = function(text) {
+ if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(" ");
+ console.log(text);
+};
+
+Module["printErr"] = function(text) {
+ if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(" ");
+ console.error(text);
+};
+
+if (!hasNativeConsole) {
+ var console = {
+  log: function(x) {
+   if (typeof dump === "function") dump("log: " + x + "\n");
+  },
+  debug: function(x) {
+   if (typeof dump === "function") dump("debug: " + x + "\n");
+  },
+  info: function(x) {
+   if (typeof dump === "function") dump("info: " + x + "\n");
+  },
+  warn: function(x) {
+   if (typeof dump === "function") dump("warn: " + x + "\n");
+  },
+  error: function(x) {
+   if (typeof dump === "function") dump("error: " + x + "\n");
+  }
+ };
+}
+
+if ("performance" in self === false) {
+ self.performance = {};
+}
+
+Date.now = Date.now || function() {
+ return new Date().getTime();
+};
+
+if ("now" in self.performance === false) {
+ var nowOffset = Date.now();
+ if (performance.timing && performance.timing.navigationStart) {
+  nowOffset = performance.timing.navigationStart;
+ }
+ self.performance.now = function now() {
+  return Date.now() - nowOffset;
+ };
+}
+
+(function(f) {
+ if (typeof exports === "object" && typeof module !== "undefined") {
+  module.exports = f();
+ } else if (typeof define === "function" && define.amd) {
+  define([], f);
+ } else {
+  var g;
+  if (typeof window !== "undefined") {
+   g = window;
+  } else if (typeof global !== "undefined") {
+   g = global;
+  } else if (typeof self !== "undefined") {
+   g = self;
+  } else {
+   g = this;
+  }
+  g.unbrotli = f();
+ }
+})(function() {
+ var exports;
+ return function() {
+  function r(e, n, t) {
+   function o(i, f) {
+    if (!n[i]) {
+     if (!e[i]) {
+      var c = "function" == typeof require && require;
+      if (!f && c) return c(i, !0);
+      if (u) return u(i, !0);
+      var a = new Error("Cannot find module '" + i + "'");
+      throw a.code = "MODULE_NOT_FOUND", a;
+     }
+     var p = n[i] = {
+      exports: {}
+     };
+     e[i][0].call(p.exports, function(r) {
+      var n = e[i][1][r];
+      return o(n || r);
+     }, p, p.exports, r, e, n, t);
+    }
+    return n[i].exports;
+   }
+   for (var u = "function" == typeof require && require, i = 0; i < t.length; i++) o(t[i]);
+   return o;
+  }
+  return r;
+ }()({
+  1: [ function(require, module, exports) {
+   var BROTLI_READ_SIZE = 4096;
+   var BROTLI_IBUF_SIZE = 2 * BROTLI_READ_SIZE + 32;
+   var BROTLI_IBUF_MASK = 2 * BROTLI_READ_SIZE - 1;
+   var kBitMask = new Uint32Array([ 0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215 ]);
+   function BrotliBitReader(input) {
+    this.buf_ = new Uint8Array(BROTLI_IBUF_SIZE);
+    this.input_ = input;
+    this.reset();
+   }
+   BrotliBitReader.READ_SIZE = BROTLI_READ_SIZE;
+   BrotliBitReader.IBUF_MASK = BROTLI_IBUF_MASK;
+   BrotliBitReader.prototype.reset = function() {
+    this.buf_ptr_ = 0;
+    this.val_ = 0;
+    this.pos_ = 0;
+    this.bit_pos_ = 0;
+    this.bit_end_pos_ = 0;
+    this.eos_ = 0;
+    this.readMoreInput();
+    for (var i = 0; i < 4; i++) {
+     this.val_ |= this.buf_[this.pos_] << 8 * i;
+     ++this.pos_;
+    }
+    return this.bit_end_pos_ > 0;
+   };
+   BrotliBitReader.prototype.readMoreInput = function() {
+    if (this.bit_end_pos_ > 256) {
+     return;
+    } else if (this.eos_) {
+     if (this.bit_pos_ > this.bit_end_pos_) throw new Error("Unexpected end of input " + this.bit_pos_ + " " + this.bit_end_pos_);
+    } else {
+     var dst = this.buf_ptr_;
+     var bytes_read = this.input_.read(this.buf_, dst, BROTLI_READ_SIZE);
+     if (bytes_read < 0) {
+      throw new Error("Unexpected end of input");
+     }
+     if (bytes_read < BROTLI_READ_SIZE) {
+      this.eos_ = 1;
+      for (var p = 0; p < 32; p++) this.buf_[dst + bytes_read + p] = 0;
+     }
+     if (dst === 0) {
+      for (var p = 0; p < 32; p++) this.buf_[(BROTLI_READ_SIZE << 1) + p] = this.buf_[p];
+      this.buf_ptr_ = BROTLI_READ_SIZE;
+     } else {
+      this.buf_ptr_ = 0;
+     }
+     this.bit_end_pos_ += bytes_read << 3;
+    }
+   };
+   BrotliBitReader.prototype.fillBitWindow = function() {
+    while (this.bit_pos_ >= 8) {
+     this.val_ >>>= 8;
+     this.val_ |= this.buf_[this.pos_ & BROTLI_IBUF_MASK] << 24;
+     ++this.pos_;
+     this.bit_pos_ = this.bit_pos_ - 8 >>> 0;
+     this.bit_end_pos_ = this.bit_end_pos_ - 8 >>> 0;
+    }
+   };
+   BrotliBitReader.prototype.readBits = function(n_bits) {
+    if (32 - this.bit_pos_ < n_bits) {
+     this.fillBitWindow();
+    }
+    var val = this.val_ >>> this.bit_pos_ & kBitMask[n_bits];
+    this.bit_pos_ += n_bits;
+    return val;
+   };
+   module.exports = BrotliBitReader;
+  }, {} ],
+  2: [ function(require, module, exports) {
+   exports.lookup = new Uint8Array([ 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 12, 16, 12, 12, 20, 12, 16, 24, 28, 12, 12, 32, 12, 36, 12, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 32, 32, 24, 40, 28, 12, 12, 48, 52, 52, 52, 48, 52, 52, 52, 48, 52, 52, 52, 52, 52, 48, 52, 52, 52, 52, 52, 48, 52, 52, 52, 52, 52, 24, 12, 28, 12, 12, 12, 56, 60, 60, 60, 56, 60, 60, 60, 56, 60, 60, 60, 60, 60, 56, 60, 60, 60, 60, 60, 56, 60, 60, 60, 60, 60, 24, 12, 28, 12, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 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, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 56, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27, 28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35, 36, 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 39, 40, 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 43, 43, 43, 43, 44, 44, 44, 44, 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47, 48, 48, 48, 48, 49, 49, 49, 49, 50, 50, 50, 50, 51, 51, 51, 51, 52, 52, 52, 52, 53, 53, 53, 53, 54, 54, 54, 54, 55, 55, 55, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 58, 58, 58, 59, 59, 59, 59, 60, 60, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]);
+   exports.lookupOffsets = new Uint16Array([ 1024, 1536, 1280, 1536, 0, 256, 768, 512 ]);
+  }, {} ],
+  3: [ function(require, module, exports) {
+   var BrotliInput = require("./streams").BrotliInput;
+   var BrotliOutput = require("./streams").BrotliOutput;
+   var BrotliBitReader = require("./bit_reader");
+   var BrotliDictionary = require("./dictionary");
+   var HuffmanCode = require("./huffman").HuffmanCode;
+   var BrotliBuildHuffmanTable = require("./huffman").BrotliBuildHuffmanTable;
+   var Context = require("./context");
+   var Prefix = require("./prefix");
+   var Transform = require("./transform");
+   var kDefaultCodeLength = 8;
+   var kCodeLengthRepeatCode = 16;
+   var kNumLiteralCodes = 256;
+   var kNumInsertAndCopyCodes = 704;
+   var kNumBlockLengthCodes = 26;
+   var kLiteralContextBits = 6;
+   var kDistanceContextBits = 2;
+   var HUFFMAN_TABLE_BITS = 8;
+   var HUFFMAN_TABLE_MASK = 255;
+   var HUFFMAN_MAX_TABLE_SIZE = 1080;
+   var CODE_LENGTH_CODES = 18;
+   var kCodeLengthCodeOrder = new Uint8Array([ 1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13, 14, 15 ]);
+   var NUM_DISTANCE_SHORT_CODES = 16;
+   var kDistanceShortCodeIndexOffset = new Uint8Array([ 3, 2, 1, 0, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2 ]);
+   var kDistanceShortCodeValueOffset = new Int8Array([ 0, 0, 0, 0, -1, 1, -2, 2, -3, 3, -1, 1, -2, 2, -3, 3 ]);
+   var kMaxHuffmanTableSize = new Uint16Array([ 256, 402, 436, 468, 500, 534, 566, 598, 630, 662, 694, 726, 758, 790, 822, 854, 886, 920, 952, 984, 1016, 1048, 1080 ]);
+   function DecodeWindowBits(br) {
+    var n;
+    if (br.readBits(1) === 0) {
+     return 16;
+    }
+    n = br.readBits(3);
+    if (n > 0) {
+     return 17 + n;
+    }
+    n = br.readBits(3);
+    if (n > 0) {
+     return 8 + n;
+    }
+    return 17;
+   }
+   function DecodeVarLenUint8(br) {
+    if (br.readBits(1)) {
+     var nbits = br.readBits(3);
+     if (nbits === 0) {
+      return 1;
+     } else {
+      return br.readBits(nbits) + (1 << nbits);
+     }
+    }
+    return 0;
+   }
+   function MetaBlockLength() {
+    this.meta_block_length = 0;
+    this.input_end = 0;
+    this.is_uncompressed = 0;
+    this.is_metadata = false;
+   }
+   function DecodeMetaBlockLength(br) {
+    var out = new MetaBlockLength();
+    var size_nibbles;
+    var size_bytes;
+    var i;
+    out.input_end = br.readBits(1);
+    if (out.input_end && br.readBits(1)) {
+     return out;
+    }
+    size_nibbles = br.readBits(2) + 4;
+    if (size_nibbles === 7) {
+     out.is_metadata = true;
+     if (br.readBits(1) !== 0) throw new Error("Invalid reserved bit");
+     size_bytes = br.readBits(2);
+     if (size_bytes === 0) return out;
+     for (i = 0; i < size_bytes; i++) {
+      var next_byte = br.readBits(8);
+      if (i + 1 === size_bytes && size_bytes > 1 && next_byte === 0) throw new Error("Invalid size byte");
+      out.meta_block_length |= next_byte << i * 8;
+     }
+    } else {
+     for (i = 0; i < size_nibbles; ++i) {
+      var next_nibble = br.readBits(4);
+      if (i + 1 === size_nibbles && size_nibbles > 4 && next_nibble === 0) throw new Error("Invalid size nibble");
+      out.meta_block_length |= next_nibble << i * 4;
+     }
+    }
+    ++out.meta_block_length;
+    if (!out.input_end && !out.is_metadata) {
+     out.is_uncompressed = br.readBits(1);
+    }
+    return out;
+   }
+   function ReadSymbol(table, index, br) {
+    var nbits;
+    br.fillBitWindow();
+    index += br.val_ >>> br.bit_pos_ & HUFFMAN_TABLE_MASK;
+    nbits = table[index].bits - HUFFMAN_TABLE_BITS;
+    if (nbits > 0) {
+     br.bit_pos_ += HUFFMAN_TABLE_BITS;
+     index += table[index].value;
+     index += br.val_ >>> br.bit_pos_ & (1 << nbits) - 1;
+    }
+    br.bit_pos_ += table[index].bits;
+    return table[index].value;
+   }
+   function ReadHuffmanCodeLengths(code_length_code_lengths, num_symbols, code_lengths, br) {
+    var symbol = 0;
+    var prev_code_len = kDefaultCodeLength;
+    var repeat = 0;
+    var repeat_code_len = 0;
+    var space = 32768;
+    var table = [];
+    for (var i = 0; i < 32; i++) table.push(new HuffmanCode(0, 0));
+    BrotliBuildHuffmanTable(table, 0, 5, code_length_code_lengths, CODE_LENGTH_CODES);
+    while (symbol < num_symbols && space > 0) {
+     var p = 0;
+     var code_len;
+     br.readMoreInput();
+     br.fillBitWindow();
+     p += br.val_ >>> br.bit_pos_ & 31;
+     br.bit_pos_ += table[p].bits;
+     code_len = table[p].value & 255;
+     if (code_len < kCodeLengthRepeatCode) {
+      repeat = 0;
+      code_lengths[symbol++] = code_len;
+      if (code_len !== 0) {
+       prev_code_len = code_len;
+       space -= 32768 >> code_len;
+      }
+     } else {
+      var extra_bits = code_len - 14;
+      var old_repeat;
+      var repeat_delta;
+      var new_len = 0;
+      if (code_len === kCodeLengthRepeatCode) {
+       new_len = prev_code_len;
+      }
+      if (repeat_code_len !== new_len) {
+       repeat = 0;
+       repeat_code_len = new_len;
+      }
+      old_repeat = repeat;
+      if (repeat > 0) {
+       repeat -= 2;
+       repeat <<= extra_bits;
+      }
+      repeat += br.readBits(extra_bits) + 3;
+      repeat_delta = repeat - old_repeat;
+      if (symbol + repeat_delta > num_symbols) {
+       throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");
+      }
+      for (var x = 0; x < repeat_delta; x++) code_lengths[symbol + x] = repeat_code_len;
+      symbol += repeat_delta;
+      if (repeat_code_len !== 0) {
+       space -= repeat_delta << 15 - repeat_code_len;
+      }
+     }
+    }
+    if (space !== 0) {
+     throw new Error("[ReadHuffmanCodeLengths] space = " + space);
+    }
+    for (;symbol < num_symbols; symbol++) code_lengths[symbol] = 0;
+   }
+   function ReadHuffmanCode(alphabet_size, tables, table, br) {
+    var table_size = 0;
+    var simple_code_or_skip;
+    var code_lengths = new Uint8Array(alphabet_size);
+    br.readMoreInput();
+    simple_code_or_skip = br.readBits(2);
+    if (simple_code_or_skip === 1) {
+     var i;
+     var max_bits_counter = alphabet_size - 1;
+     var max_bits = 0;
+     var symbols = new Int32Array(4);
+     var num_symbols = br.readBits(2) + 1;
+     while (max_bits_counter) {
+      max_bits_counter >>= 1;
+      ++max_bits;
+     }
+     for (i = 0; i < num_symbols; ++i) {
+      symbols[i] = br.readBits(max_bits) % alphabet_size;
+      code_lengths[symbols[i]] = 2;
+     }
+     code_lengths[symbols[0]] = 1;
+     switch (num_symbols) {
+     case 1:
+      break;
+
+     case 3:
+      if (symbols[0] === symbols[1] || symbols[0] === symbols[2] || symbols[1] === symbols[2]) {
+       throw new Error("[ReadHuffmanCode] invalid symbols");
+      }
+      break;
+
+     case 2:
+      if (symbols[0] === symbols[1]) {
+       throw new Error("[ReadHuffmanCode] invalid symbols");
+      }
+      code_lengths[symbols[1]] = 1;
+      break;
+
+     case 4:
+      if (symbols[0] === symbols[1] || symbols[0] === symbols[2] || symbols[0] === symbols[3] || symbols[1] === symbols[2] || symbols[1] === symbols[3] || symbols[2] === symbols[3]) {
+       throw new Error("[ReadHuffmanCode] invalid symbols");
+      }
+      if (br.readBits(1)) {
+       code_lengths[symbols[2]] = 3;
+       code_lengths[symbols[3]] = 3;
+      } else {
+       code_lengths[symbols[0]] = 2;
+      }
+      break;
+     }
+    } else {
+     var i;
+     var code_length_code_lengths = new Uint8Array(CODE_LENGTH_CODES);
+     var space = 32;
+     var num_codes = 0;
+     var huff = [ new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(3, 2), new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(4, 1), new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(3, 2), new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(4, 5) ];
+     for (i = simple_code_or_skip; i < CODE_LENGTH_CODES && space > 0; ++i) {
+      var code_len_idx = kCodeLengthCodeOrder[i];
+      var p = 0;
+      var v;
+      br.fillBitWindow();
+      p += br.val_ >>> br.bit_pos_ & 15;
+      br.bit_pos_ += huff[p].bits;
+      v = huff[p].value;
+      code_length_code_lengths[code_len_idx] = v;
+      if (v !== 0) {
+       space -= 32 >> v;
+       ++num_codes;
+      }
+     }
+     if (!(num_codes === 1 || space === 0)) throw new Error("[ReadHuffmanCode] invalid num_codes or space");
+     ReadHuffmanCodeLengths(code_length_code_lengths, alphabet_size, code_lengths, br);
+    }
+    table_size = BrotliBuildHuffmanTable(tables, table, HUFFMAN_TABLE_BITS, code_lengths, alphabet_size);
+    if (table_size === 0) {
+     throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");
+    }
+    return table_size;
+   }
+   function ReadBlockLength(table, index, br) {
+    var code;
+    var nbits;
+    code = ReadSymbol(table, index, br);
+    nbits = Prefix.kBlockLengthPrefixCode[code].nbits;
+    return Prefix.kBlockLengthPrefixCode[code].offset + br.readBits(nbits);
+   }
+   function TranslateShortCodes(code, ringbuffer, index) {
+    var val;
+    if (code < NUM_DISTANCE_SHORT_CODES) {
+     index += kDistanceShortCodeIndexOffset[code];
+     index &= 3;
+     val = ringbuffer[index] + kDistanceShortCodeValueOffset[code];
+    } else {
+     val = code - NUM_DISTANCE_SHORT_CODES + 1;
+    }
+    return val;
+   }
+   function MoveToFront(v, index) {
+    var value = v[index];
+    var i = index;
+    for (;i; --i) v[i] = v[i - 1];
+    v[0] = value;
+   }
+   function InverseMoveToFrontTransform(v, v_len) {
+    var mtf = new Uint8Array(256);
+    var i;
+    for (i = 0; i < 256; ++i) {
+     mtf[i] = i;
+    }
+    for (i = 0; i < v_len; ++i) {
+     var index = v[i];
+     v[i] = mtf[index];
+     if (index) MoveToFront(mtf, index);
+    }
+   }
+   function HuffmanTreeGroup(alphabet_size, num_htrees) {
+    this.alphabet_size = alphabet_size;
+    this.num_htrees = num_htrees;
+    this.codes = new Array(num_htrees + num_htrees * kMaxHuffmanTableSize[alphabet_size + 31 >>> 5]);
+    this.htrees = new Uint32Array(num_htrees);
+   }
+   HuffmanTreeGroup.prototype.decode = function(br) {
+    var i;
+    var table_size;
+    var next = 0;
+    for (i = 0; i < this.num_htrees; ++i) {
+     this.htrees[i] = next;
+     table_size = ReadHuffmanCode(this.alphabet_size, this.codes, next, br);
+     next += table_size;
+    }
+   };
+   function DecodeContextMap(context_map_size, br) {
+    var out = {
+     num_htrees: null,
+     context_map: null
+    };
+    var use_rle_for_zeros;
+    var max_run_length_prefix = 0;
+    var table;
+    var i;
+    br.readMoreInput();
+    var num_htrees = out.num_htrees = DecodeVarLenUint8(br) + 1;
+    var context_map = out.context_map = new Uint8Array(context_map_size);
+    if (num_htrees <= 1) {
+     return out;
+    }
+    use_rle_for_zeros = br.readBits(1);
+    if (use_rle_for_zeros) {
+     max_run_length_prefix = br.readBits(4) + 1;
+    }
+    table = [];
+    for (i = 0; i < HUFFMAN_MAX_TABLE_SIZE; i++) {
+     table[i] = new HuffmanCode(0, 0);
+    }
+    ReadHuffmanCode(num_htrees + max_run_length_prefix, table, 0, br);
+    for (i = 0; i < context_map_size; ) {
+     var code;
+     br.readMoreInput();
+     code = ReadSymbol(table, 0, br);
+     if (code === 0) {
+      context_map[i] = 0;
+      ++i;
+     } else if (code <= max_run_length_prefix) {
+      var reps = 1 + (1 << code) + br.readBits(code);
+      while (--reps) {
+       if (i >= context_map_size) {
+        throw new Error("[DecodeContextMap] i >= context_map_size");
+       }
+       context_map[i] = 0;
+       ++i;
+      }
+     } else {
+      context_map[i] = code - max_run_length_prefix;
+      ++i;
+     }
+    }
+    if (br.readBits(1)) {
+     InverseMoveToFrontTransform(context_map, context_map_size);
+    }
+    return out;
+   }
+   function DecodeBlockType(max_block_type, trees, tree_type, block_types, ringbuffers, indexes, br) {
+    var ringbuffer = tree_type * 2;
+    var index = tree_type;
+    var type_code = ReadSymbol(trees, tree_type * HUFFMAN_MAX_TABLE_SIZE, br);
+    var block_type;
+    if (type_code === 0) {
+     block_type = ringbuffers[ringbuffer + (indexes[index] & 1)];
+    } else if (type_code === 1) {
+     block_type = ringbuffers[ringbuffer + (indexes[index] - 1 & 1)] + 1;
+    } else {
+     block_type = type_code - 2;
+    }
+    if (block_type >= max_block_type) {
+     block_type -= max_block_type;
+    }
+    block_types[tree_type] = block_type;
+    ringbuffers[ringbuffer + (indexes[index] & 1)] = block_type;
+    ++indexes[index];
+   }
+   function CopyUncompressedBlockToOutput(output, len, pos, ringbuffer, ringbuffer_mask, br) {
+    var rb_size = ringbuffer_mask + 1;
+    var rb_pos = pos & ringbuffer_mask;
+    var br_pos = br.pos_ & BrotliBitReader.IBUF_MASK;
+    var nbytes;
+    if (len < 8 || br.bit_pos_ + (len << 3) < br.bit_end_pos_) {
+     while (len-- > 0) {
+      br.readMoreInput();
+      ringbuffer[rb_pos++] = br.readBits(8);
+      if (rb_pos === rb_size) {
+       output.write(ringbuffer, rb_size);
+       rb_pos = 0;
+      }
+     }
+     return;
+    }
+    if (br.bit_end_pos_ < 32) {
+     throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");
+    }
+    while (br.bit_pos_ < 32) {
+     ringbuffer[rb_pos] = br.val_ >>> br.bit_pos_;
+     br.bit_pos_ += 8;
+     ++rb_pos;
+     --len;
+    }
+    nbytes = br.bit_end_pos_ - br.bit_pos_ >> 3;
+    if (br_pos + nbytes > BrotliBitReader.IBUF_MASK) {
+     var tail = BrotliBitReader.IBUF_MASK + 1 - br_pos;
+     for (var x = 0; x < tail; x++) ringbuffer[rb_pos + x] = br.buf_[br_pos + x];
+     nbytes -= tail;
+     rb_pos += tail;
+     len -= tail;
+     br_pos = 0;
+    }
+    for (var x = 0; x < nbytes; x++) ringbuffer[rb_pos + x] = br.buf_[br_pos + x];
+    rb_pos += nbytes;
+    len -= nbytes;
+    if (rb_pos >= rb_size) {
+     output.write(ringbuffer, rb_size);
+     rb_pos -= rb_size;
+     for (var x = 0; x < rb_pos; x++) ringbuffer[x] = ringbuffer[rb_size + x];
+    }
+    while (rb_pos + len >= rb_size) {
+     nbytes = rb_size - rb_pos;
+     if (br.input_.read(ringbuffer, rb_pos, nbytes) < nbytes) {
+      throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");
+     }
+     output.write(ringbuffer, rb_size);
+     len -= nbytes;
+     rb_pos = 0;
+    }
+    if (br.input_.read(ringbuffer, rb_pos, len) < len) {
+     throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");
+    }
+    br.reset();
+   }
+   function JumpToByteBoundary(br) {
+    var new_bit_pos = br.bit_pos_ + 7 & ~7;
+    var pad_bits = br.readBits(new_bit_pos - br.bit_pos_);
+    return pad_bits == 0;
+   }
+   function BrotliDecompressedSize(buffer) {
+    var input = new BrotliInput(buffer);
+    var br = new BrotliBitReader(input);
+    DecodeWindowBits(br);
+    var out = DecodeMetaBlockLength(br);
+    return out.meta_block_length;
+   }
+   exports.BrotliDecompressedSize = BrotliDecompressedSize;
+   function BrotliDecompressBuffer(buffer, output_size) {
+    var input = new BrotliInput(buffer);
+    if (output_size == null) {
+     output_size = BrotliDecompressedSize(buffer);
+    }
+    var output_buffer = new Uint8Array(output_size);
+    var output = new BrotliOutput(output_buffer);
+    BrotliDecompress(input, output);
+    if (output.pos < output.buffer.length) {
+     output.buffer = output.buffer.subarray(0, output.pos);
+    }
+    return output.buffer;
+   }
+   exports.BrotliDecompressBuffer = BrotliDecompressBuffer;
+   function BrotliDecompress(input, output) {
+    var i;
+    var pos = 0;
+    var input_end = 0;
+    var window_bits = 0;
+    var max_backward_distance;
+    var max_distance = 0;
+    var ringbuffer_size;
+    var ringbuffer_mask;
+    var ringbuffer;
+    var ringbuffer_end;
+    var dist_rb = [ 16, 15, 11, 4 ];
+    var dist_rb_idx = 0;
+    var prev_byte1 = 0;
+    var prev_byte2 = 0;
+    var hgroup = [ new HuffmanTreeGroup(0, 0), new HuffmanTreeGroup(0, 0), new HuffmanTreeGroup(0, 0) ];
+    var block_type_trees;
+    var block_len_trees;
+    var br;
+    var kRingBufferWriteAheadSlack = 128 + BrotliBitReader.READ_SIZE;
+    br = new BrotliBitReader(input);
+    window_bits = DecodeWindowBits(br);
+    max_backward_distance = (1 << window_bits) - 16;
+    ringbuffer_size = 1 << window_bits;
+    ringbuffer_mask = ringbuffer_size - 1;
+    ringbuffer = new Uint8Array(ringbuffer_size + kRingBufferWriteAheadSlack + BrotliDictionary.maxDictionaryWordLength);
+    ringbuffer_end = ringbuffer_size;
+    block_type_trees = [];
+    block_len_trees = [];
+    for (var x = 0; x < 3 * HUFFMAN_MAX_TABLE_SIZE; x++) {
+     block_type_trees[x] = new HuffmanCode(0, 0);
+     block_len_trees[x] = new HuffmanCode(0, 0);
+    }
+    while (!input_end) {
+     var meta_block_remaining_len = 0;
+     var is_uncompressed;
+     var block_length = [ 1 << 28, 1 << 28, 1 << 28 ];
+     var block_type = [ 0 ];
+     var num_block_types = [ 1, 1, 1 ];
+     var block_type_rb = [ 0, 1, 0, 1, 0, 1 ];
+     var block_type_rb_index = [ 0 ];
+     var distance_postfix_bits;
+     var num_direct_distance_codes;
+     var distance_postfix_mask;
+     var num_distance_codes;
+     var context_map = null;
+     var context_modes = null;
+     var num_literal_htrees;
+     var dist_context_map = null;
+     var num_dist_htrees;
+     var context_offset = 0;
+     var context_map_slice = null;
+     var literal_htree_index = 0;
+     var dist_context_offset = 0;
+     var dist_context_map_slice = null;
+     var dist_htree_index = 0;
+     var context_lookup_offset1 = 0;
+     var context_lookup_offset2 = 0;
+     var context_mode;
+     var htree_command;
+     for (i = 0; i < 3; ++i) {
+      hgroup[i].codes = null;
+      hgroup[i].htrees = null;
+     }
+     br.readMoreInput();
+     var _out = DecodeMetaBlockLength(br);
+     meta_block_remaining_len = _out.meta_block_length;
+     if (pos + meta_block_remaining_len > output.buffer.length) {
+      var tmp = new Uint8Array(pos + meta_block_remaining_len);
+      tmp.set(output.buffer);
+      output.buffer = tmp;
+     }
+     input_end = _out.input_end;
+     is_uncompressed = _out.is_uncompressed;
+     if (_out.is_metadata) {
+      JumpToByteBoundary(br);
+      for (;meta_block_remaining_len > 0; --meta_block_remaining_len) {
+       br.readMoreInput();
+       br.readBits(8);
+      }
+      continue;
+     }
+     if (meta_block_remaining_len === 0) {
+      continue;
+     }
+     if (is_uncompressed) {
+      br.bit_pos_ = br.bit_pos_ + 7 & ~7;
+      CopyUncompressedBlockToOutput(output, meta_block_remaining_len, pos, ringbuffer, ringbuffer_mask, br);
+      pos += meta_block_remaining_len;
+      continue;
+     }
+     for (i = 0; i < 3; ++i) {
+      num_block_types[i] = DecodeVarLenUint8(br) + 1;
+      if (num_block_types[i] >= 2) {
+       ReadHuffmanCode(num_block_types[i] + 2, block_type_trees, i * HUFFMAN_MAX_TABLE_SIZE, br);
+       ReadHuffmanCode(kNumBlockLengthCodes, block_len_trees, i * HUFFMAN_MAX_TABLE_SIZE, br);
+       block_length[i] = ReadBlockLength(block_len_trees, i * HUFFMAN_MAX_TABLE_SIZE, br);
+       block_type_rb_index[i] = 1;
+      }
+     }
+     br.readMoreInput();
+     distance_postfix_bits = br.readBits(2);
+     num_direct_distance_codes = NUM_DISTANCE_SHORT_CODES + (br.readBits(4) << distance_postfix_bits);
+     distance_postfix_mask = (1 << distance_postfix_bits) - 1;
+     num_distance_codes = num_direct_distance_codes + (48 << distance_postfix_bits);
+     context_modes = new Uint8Array(num_block_types[0]);
+     for (i = 0; i < num_block_types[0]; ++i) {
+      br.readMoreInput();
+      context_modes[i] = br.readBits(2) << 1;
+     }
+     var _o1 = DecodeContextMap(num_block_types[0] << kLiteralContextBits, br);
+     num_literal_htrees = _o1.num_htrees;
+     context_map = _o1.context_map;
+     var _o2 = DecodeContextMap(num_block_types[2] << kDistanceContextBits, br);
+     num_dist_htrees = _o2.num_htrees;
+     dist_context_map = _o2.context_map;
+     hgroup[0] = new HuffmanTreeGroup(kNumLiteralCodes, num_literal_htrees);
+     hgroup[1] = new HuffmanTreeGroup(kNumInsertAndCopyCodes, num_block_types[1]);
+     hgroup[2] = new HuffmanTreeGroup(num_distance_codes, num_dist_htrees);
+     for (i = 0; i < 3; ++i) {
+      hgroup[i].decode(br);
+     }
+     context_map_slice = 0;
+     dist_context_map_slice = 0;
+     context_mode = context_modes[block_type[0]];
+     context_lookup_offset1 = Context.lookupOffsets[context_mode];
+     context_lookup_offset2 = Context.lookupOffsets[context_mode + 1];
+     htree_command = hgroup[1].htrees[0];
+     while (meta_block_remaining_len > 0) {
+      var cmd_code;
+      var range_idx;
+      var insert_code;
+      var copy_code;
+      var insert_length;
+      var copy_length;
+      var distance_code;
+      var distance;
+      var context;
+      var j;
+      var copy_dst;
+      br.readMoreInput();
+      if (block_length[1] === 0) {
+       DecodeBlockType(num_block_types[1], block_type_trees, 1, block_type, block_type_rb, block_type_rb_index, br);
+       block_length[1] = ReadBlockLength(block_len_trees, HUFFMAN_MAX_TABLE_SIZE, br);
+       htree_command = hgroup[1].htrees[block_type[1]];
+      }
+      --block_length[1];
+      cmd_code = ReadSymbol(hgroup[1].codes, htree_command, br);
+      range_idx = cmd_code >> 6;
+      if (range_idx >= 2) {
+       range_idx -= 2;
+       distance_code = -1;
+      } else {
+       distance_code = 0;
+      }
+      insert_code = Prefix.kInsertRangeLut[range_idx] + (cmd_code >> 3 & 7);
+      copy_code = Prefix.kCopyRangeLut[range_idx] + (cmd_code & 7);
+      insert_length = Prefix.kInsertLengthPrefixCode[insert_code].offset + br.readBits(Prefix.kInsertLengthPrefixCode[insert_code].nbits);
+      copy_length = Prefix.kCopyLengthPrefixCode[copy_code].offset + br.readBits(Prefix.kCopyLengthPrefixCode[copy_code].nbits);
+      prev_byte1 = ringbuffer[pos - 1 & ringbuffer_mask];
+      prev_byte2 = ringbuffer[pos - 2 & ringbuffer_mask];
+      for (j = 0; j < insert_length; ++j) {
+       br.readMoreInput();
+       if (block_length[0] === 0) {
+        DecodeBlockType(num_block_types[0], block_type_trees, 0, block_type, block_type_rb, block_type_rb_index, br);
+        block_length[0] = ReadBlockLength(block_len_trees, 0, br);
+        context_offset = block_type[0] << kLiteralContextBits;
+        context_map_slice = context_offset;
+        context_mode = context_modes[block_type[0]];
+        context_lookup_offset1 = Context.lookupOffsets[context_mode];
+        context_lookup_offset2 = Context.lookupOffsets[context_mode + 1];
+       }
+       context = Context.lookup[context_lookup_offset1 + prev_byte1] | Context.lookup[context_lookup_offset2 + prev_byte2];
+       literal_htree_index = context_map[context_map_slice + context];
+       --block_length[0];
+       prev_byte2 = prev_byte1;
+       prev_byte1 = ReadSymbol(hgroup[0].codes, hgroup[0].htrees[literal_htree_index], br);
+       ringbuffer[pos & ringbuffer_mask] = prev_byte1;
+       if ((pos & ringbuffer_mask) === ringbuffer_mask) {
+        output.write(ringbuffer, ringbuffer_size);
+       }
+       ++pos;
+      }
+      meta_block_remaining_len -= insert_length;
+      if (meta_block_remaining_len <= 0) break;
+      if (distance_code < 0) {
+       var context;
+       br.readMoreInput();
+       if (block_length[2] === 0) {
+        DecodeBlockType(num_block_types[2], block_type_trees, 2, block_type, block_type_rb, block_type_rb_index, br);
+        block_length[2] = ReadBlockLength(block_len_trees, 2 * HUFFMAN_MAX_TABLE_SIZE, br);
+        dist_context_offset = block_type[2] << kDistanceContextBits;
+        dist_context_map_slice = dist_context_offset;
+       }
+       --block_length[2];
+       context = (copy_length > 4 ? 3 : copy_length - 2) & 255;
+       dist_htree_index = dist_context_map[dist_context_map_slice + context];
+       distance_code = ReadSymbol(hgroup[2].codes, hgroup[2].htrees[dist_htree_index], br);
+       if (distance_code >= num_direct_distance_codes) {
+        var nbits;
+        var postfix;
+        var offset;
+        distance_code -= num_direct_distance_codes;
+        postfix = distance_code & distance_postfix_mask;
+        distance_code >>= distance_postfix_bits;
+        nbits = (distance_code >> 1) + 1;
+        offset = (2 + (distance_code & 1) << nbits) - 4;
+        distance_code = num_direct_distance_codes + (offset + br.readBits(nbits) << distance_postfix_bits) + postfix;
+       }
+      }
+      distance = TranslateShortCodes(distance_code, dist_rb, dist_rb_idx);
+      if (distance < 0) {
+       throw new Error("[BrotliDecompress] invalid distance");
+      }
+      if (pos < max_backward_distance && max_distance !== max_backward_distance) {
+       max_distance = pos;
+      } else {
+       max_distance = max_backward_distance;
+      }
+      copy_dst = pos & ringbuffer_mask;
+      if (distance > max_distance) {
+       if (copy_length >= BrotliDictionary.minDictionaryWordLength && copy_length <= BrotliDictionary.maxDictionaryWordLength) {
+        var offset = BrotliDictionary.offsetsByLength[copy_length];
+        var word_id = distance - max_distance - 1;
+        var shift = BrotliDictionary.sizeBitsByLength[copy_length];
+        var mask = (1 << shift) - 1;
+        var word_idx = word_id & mask;
+        var transform_idx = word_id >> shift;
+        offset += word_idx * copy_length;
+        if (transform_idx < Transform.kNumTransforms) {
+         var len = Transform.transformDictionaryWord(ringbuffer, copy_dst, offset, copy_length, transform_idx);
+         copy_dst += len;
+         pos += len;
+         meta_block_remaining_len -= len;
+         if (copy_dst >= ringbuffer_end) {
+          output.write(ringbuffer, ringbuffer_size);
+          for (var _x = 0; _x < copy_dst - ringbuffer_end; _x++) ringbuffer[_x] = ringbuffer[ringbuffer_end + _x];
+         }
+        } else {
+         throw new Error("Invalid backward reference. pos: " + pos + " distance: " + distance + " len: " + copy_length + " bytes left: " + meta_block_remaining_len);
+        }
+       } else {
+        throw new Error("Invalid backward reference. pos: " + pos + " distance: " + distance + " len: " + copy_length + " bytes left: " + meta_block_remaining_len);
+       }
+      } else {
+       if (distance_code > 0) {
+        dist_rb[dist_rb_idx & 3] = distance;
+        ++dist_rb_idx;
+       }
+       if (copy_length > meta_block_remaining_len) {
+        throw new Error("Invalid backward reference. pos: " + pos + " distance: " + distance + " len: " + copy_length + " bytes left: " + meta_block_remaining_len);
+       }
+       for (j = 0; j < copy_length; ++j) {
+        ringbuffer[pos & ringbuffer_mask] = ringbuffer[pos - distance & ringbuffer_mask];
+        if ((pos & ringbuffer_mask) === ringbuffer_mask) {
+         output.write(ringbuffer, ringbuffer_size);
+        }
+        ++pos;
+        --meta_block_remaining_len;
+       }
+      }
+      prev_byte1 = ringbuffer[pos - 1 & ringbuffer_mask];
+      prev_byte2 = ringbuffer[pos - 2 & ringbuffer_mask];
+     }
+     pos &= 1073741823;
+    }
+    output.write(ringbuffer, pos & ringbuffer_mask);
+   }
+   exports.BrotliDecompress = BrotliDecompress;
+   BrotliDictionary.init();
+  }, {
+   "./bit_reader": 1,
+   "./context": 2,
+   "./dictionary": 6,
+   "./huffman": 7,
+   "./prefix": 8,
+   "./streams": 9,
+   "./transform": 10
+  } ],
+  4: [ function(require, module, exports) {
+   var base64 = require("base64-js");
+   exports.init = function() {
+    var BrotliDecompressBuffer = require("./decode").BrotliDecompressBuffer;
+    var compressed = base64.toByteArray(require("./dictionary.bin.js"));
+    return BrotliDecompressBuffer(compressed);
+   };
+  }, {
+   "./decode": 3,
+   "./dictionary.bin.js": 5,
+   "base64-js": 12
+  } ],
+  5: [ function(require, module, exports) {
+   module.exports = "W5/fcQLn5gKf2XUbAiQ1XULX+TZz6ADToDsgqk6qVfeC0e4m6OO2wcQ1J76ZBVRV1fRkEsdu//62zQsFEZWSTCnMhcsQKlS2qOhuVYYMGCkV0fXWEoMFbESXrKEZ9wdUEsyw9g4bJlEt1Y6oVMxMRTEVbCIwZzJzboK5j8m4YH02qgXYhv1V+PM435sLVxyHJihaJREEhZGqL03txGFQLm76caGO/ovxKvzCby/3vMTtX/459f0igi7WutnKiMQ6wODSoRh/8Lx1V3Q99MvKtwB6bHdERYRY0hStJoMjNeTsNX7bn+Y7e4EQ3bf8xBc7L0BsyfFPK43dGSXpL6clYC/I328h54/VYrQ5i0648FgbGtl837svJ35L3Mot/+nPlNpWgKx1gGXQYqX6n+bbZ7wuyCHKcUok12Xjqub7NXZGzqBx0SD+uziNf87t7ve42jxSKQoW3nyxVrWIGlFShhCKxjpZZ5MeGna0+lBkk+kaN8F9qFBAFgEogyMBdcX/T1W/WnMOi/7ycWUQloEBKGeC48MkiwqJkJO+12eQiOFHMmck6q/IjWW3RZlany23TBm+cNr/84/oi5GGmGBZWrZ6j+zykVozz5fT/QH/Da6WTbZYYPynVNO7kxzuNN2kxKKWche5WveitPKAecB8YcAHz/+zXLjcLzkdDSktNIDwZE9J9X+tto43oJy65wApM3mDzYtCwX9lM+N5VR3kXYo0Z3t0TtXfgBFg7gU8oN0Dgl7fZlUbhNll+0uuohRVKjrEd8egrSndy5/Tgd2gqjA4CAVuC7ESUmL3DZoGnfhQV8uwnpi8EGvAVVsowNRxPudck7+oqAUDkwZopWqFnW1riss0t1z6iCISVKreYGNvQcXv+1L9+jbP8cd/dPUiqBso2q+7ZyFBvENCkkVr44iyPbtOoOoCecWsiuqMSML5lv+vN5MzUr+Dnh73G7Q1YnRYJVYXHRJaNAOByiaK6CusgFdBPE40r0rvqXV7tksKO2DrHYXBTv8P5ysqxEx8VDXUDDqkPH6NNOV/a2WH8zlkXRELSa8P+heNyJBBP7PgsG1EtWtNef6/i+lcayzQwQCsduidpbKfhWUDgAEmyhGu/zVTacI6RS0zTABrOYueemnVa19u9fT23N/Ta6RvTpof5DWygqreCqrDAgM4LID1+1T/taU6yTFVLqXOv+/MuQOFnaF8vLMKD7tKWDoBdALgxF33zQccCcdHx8fKIVdW69O7qHtXpeGr9jbbpFA+qRMWr5hp0s67FPc7HAiLV0g0/peZlW7hJPYEhZyhpSwahnf93/tZgfqZWXFdmdXBzqxGHLrQKxoAY6fRoBhgCRPmmGueYZ5JexTVDKUIXzkG/fqp/0U3hAgQdJ9zumutK6nqWbaqvm1pgu03IYR+G+8s0jDBBz8cApZFSBeuWasyqo2OMDKAZCozS+GWSvL/HsE9rHxooe17U3s/lTE+VZAk4j3dp6uIGaC0JMiqR5CUsabPyM0dOYDR7Ea7ip4USZlya38YfPtvrX/tBlhHilj55nZ1nfN24AOAi9BVtz/Mbn8AEDJCqJgsVUa6nQnSxv2Fs7l/NlCzpfYEjmPrNyib/+t0ei2eEMjvNhLkHCZlci4WhBe7ePZTmzYqlY9+1pxtS4GB+5lM1BHT9tS270EWUDYFq1I0yY/fNiAk4bk9yBgmef/f2k6AlYQZHsNFnW8wBQxCd68iWv7/35bXfz3JZmfGligWAKRjIs3IpzxQ27vAglHSiOzCYzJ9L9A1CdiyFvyR66ucA4jKifu5ehwER26yV7HjKqn5Mfozo7Coxxt8LWWPT47BeMxX8p0Pjb7hZn+6bw7z3Lw+7653j5sI8CLu5kThpMlj1m4c2ch3jGcP1FsT13vuK3qjecKTZk2kHcOZY40UX+qdaxstZqsqQqgXz+QGF99ZJLqr3VYu4aecl1Ab5GmqS8k/GV5b95zxQ5d4EfXUJ6kTS/CXF/aiqKDOT1T7Jz5z0PwDUcwr9clLN1OJGCiKfqvah+h3XzrBOiLOW8wvn8gW6qE8vPxi+Efv+UH55T7PQFVMh6cZ1pZQlzJpKZ7P7uWvwPGJ6DTlR6wbyj3Iv2HyefnRo/dv7dNx+qaa0N38iBsR++Uil7Wd4afwDNsrzDAK4fXZwvEY/jdKuIKXlfrQd2C39dW7ntnRbIp9OtGy9pPBn/V2ASoi/2UJZfS+xuGLH8bnLuPlzdTNS6zdyk8Dt/h6sfOW5myxh1f+zf3zZ3MX/mO9cQPp5pOx967ZA6/pqHvclNfnUFF+rq+Vd7alKr6KWPcIDhpn6v2K6NlUu6LrKo8b/pYpU/Gazfvtwhn7tEOUuXht5rUJdSf6sLjYf0VTYDgwJ81yaqKTUYej/tbHckSRb/HZicwGJqh1mAHB/IuNs9dc9yuvF3D5Xocm3elWFdq5oEy70dYFit79yaLiNjPj5UUcVmZUVhQEhW5V2Z6Cm4HVH/R8qlamRYwBileuh07CbEce3TXa2JmXWBf+ozt319psboobeZhVnwhMZzOeQJzhpTDbP71Tv8HuZxxUI/+ma3XW6DFDDs4+qmpERwHGBd2edxwUKlODRdUWZ/g0GOezrbzOZauFMai4QU6GVHV6aPNBiBndHSsV4IzpvUiiYyg6OyyrL4Dj5q/Lw3N5kAwftEVl9rNd7Jk5PDij2hTH6wIXnsyXkKePxbmHYgC8A6an5Fob/KH5GtC0l4eFso+VpxedtJHdHpNm+Bvy4C79yVOkrZsLrQ3OHCeB0Ra+kBIRldUGlDCEmq2RwXnfyh6Dz+alk6eftI2n6sastRrGwbwszBeDRS/Fa/KwRJkCzTsLr/JCs5hOPE/MPLYdZ1F1fv7D+VmysX6NpOC8aU9F4Qs6HvDyUy9PvFGDKZ/P5101TYHFl8pjj6wm/qyS75etZhhfg0UEL4OYmHk6m6dO192AzoIyPSV9QedDA4Ml23rRbqxMPMxf7FJnDc5FTElVS/PyqgePzmwVZ26NWhRDQ+oaT7ly7ell4s3DypS1s0g+tOr7XHrrkZj9+x/mJBttrLx98lFIaRZzHz4aC7r52/JQ4VjHahY2/YVXZn/QC2ztQb/sY3uRlyc5vQS8nLPGT/n27495i8HPA152z7Fh5aFpyn1GPJKHuPL8Iw94DuW3KjkURAWZXn4EQy89xiKEHN1mk/tkM4gYDBxwNoYvRfE6LFqsxWJtPrDGbsnLMap3Ka3MUoytW0cvieozOmdERmhcqzG+3HmZv2yZeiIeQTKGdRT4HHNxekm1tY+/n06rGmFleqLscSERzctTKM6G9P0Pc1RmVvrascIxaO1CQCiYPE15bD7c3xSeW7gXxYjgxcrUlcbIvO0r+Yplhx0kTt3qafDOmFyMjgGxXu73rddMHpV1wMubyAGcf/v5dLr5P72Ta9lBF+fzMJrMycwv+9vnU3ANIl1cH9tfW7af8u0/HG0vV47jNFXzFTtaha1xvze/s8KMtCYucXc1nzfd/MQydUXn/b72RBt5wO/3jRcMH9BdhC/yctKBIveRYPrNpDWqBsO8VMmP+WvRaOcA4zRMR1PvSoO92rS7pYEv+fZfEfTMzEdM+6X5tLlyxExhqLRkms5EuLovLfx66de5fL2/yX02H52FPVwahrPqmN/E0oVXnsCKhbi/yRxX83nRbUKWhzYceXOntfuXn51NszJ6MO73pQf5Pl4in3ec4JU8hF7ppV34+mm9r1LY0ee/i1O1wpd8+zfLztE0cqBxggiBi5Bu95v9l3r9r/U5hweLn+TbfxowrWDqdJauKd8+q/dH8sbPkc9ttuyO94f7/XK/nHX46MPFLEb5qQlNPvhJ50/59t9ft3LXu7uVaWaO2bDrDCnRSzZyWvFKxO1+vT8MwwunR3bX0CkfPjqb4K9O19tn5X50PvmYpEwHtiW9WtzuV/s76B1zvLLNkViNd8ySxIl/3orfqP90TyTGaf7/rx8jQzeHJXdmh/N6YDvbvmTBwCdxfEQ1NcL6wNMdSIXNq7b1EUzRy1/Axsyk5p22GMG1b+GxFgbHErZh92wuvco0AuOLXct9hvw2nw/LqIcDRRmJmmZzcgUa7JpM/WV/S9IUfbF56TL2orzqwebdRD8nIYNJ41D/hz37Fo11p2Y21wzPcn713qVGhqtevStYfGH4n69OEJtPvbbLYWvscDqc3Hgnu166+tAyLnxrX0Y5zoYjV++1sI7t5kMr02KT/+uwtkc+rZLOf/qn/s3nYCf13Dg8/sB2diJgjGqjQ+TLhxbzyue2Ob7X6/9lUwW7a+lbznHzOYy8LKW1C/uRPbQY3KW/0gO9LXunHLvPL97afba9bFtc9hmz7GAttjVYlCvQAiOwAk/gC5+hkLEs6tr3AZKxLJtOEwk2dLxTYWsIB/j/ToWtIWzo906FrSG8iaqqqqqqiIiIiAgzMzMzNz+AyK+01/zi8n8S+Y1MjoRaQ80WU/G8MBlO+53VPXANrWm4wzGUVZUjjBJZVdhpcfkjsmcWaO+UEldXi1e+zq+HOsCpknYshuh8pOLISJun7TN0EIGW2xTnlOImeecnoGW4raxe2G1T3HEvfYUYMhG+gAFOAwh5nK8mZhwJMmN7r224QVsNFvZ87Z0qatvknklyPDK3Hy45PgVKXji52Wen4d4PlFVVYGnNap+fSpFbK90rYnhUc6n91Q3AY9E0tJOFrcfZtm/491XbcG/jsViUPPX76qmeuiz+qY1Hk7/1VPM405zWVuoheLUimpWYdVzCmUdKHebMdzgrYrb8mL2eeLSnRWHdonfZa8RsOU9F37w+591l5FLYHiOqWeHtE/lWrBHcRKp3uhtr8yXm8LU/5ms+NM6ZKsqu90cFZ4o58+k4rdrtB97NADFbwmEG7lXqvirhOTOqU14xuUF2myIjURcPHrPOQ4lmM3PeMg7bUuk0nnZi67bXsU6H8lhqIo8TaOrEafCO1ARK9PjC0QOoq2BxmMdgYB9G/lIb9++fqNJ2s7BHGFyBNmZAR8J3KCo012ikaSP8BCrf6VI0X5xdnbhHIO+B5rbOyB54zXkzfObyJ4ecwxfqBJMLFc7m59rNcw7hoHnFZ0b00zee+gTqvjm61Pb4xn0kcDX4jvHM0rBXZypG3DCKnD/Waa/ZtHmtFPgO5eETx+k7RrVg3aSwm2YoNXnCs3XPQDhNn+Fia6IlOOuIG6VJH7TP6ava26ehKHQa2T4N0tcZ9dPCGo3ZdnNltsHQbeYt5vPnJezV/cAeNypdml1vCHI8M81nSRP5Qi2+mI8v/sxiZru9187nRtp3f/42NemcONa+4eVC3PCZzc88aZh851CqSsshe70uPxeN/dmYwlwb3trwMrN1Gq8jbnApcVDx/yDPeYs5/7r62tsQ6lLg+DiFXTEhzR9dHqv0iT4tgj825W+H3XiRUNUZT2kR9Ri0+lp+UM3iQtS8uOE23Ly4KYtvqH13jghUntJRAewuzNLDXp8RxdcaA3cMY6TO2IeSFRXezeWIjCqyhsUdMYuCgYTZSKpBype1zRfq8FshvfBPc6BAQWl7/QxIDp3VGo1J3vn42OEs3qznws+YLRXbymyB19a9XBx6n/owcyxlEYyFWCi+kG9F+EyD/4yn80+agaZ9P7ay2Dny99aK2o91FkfEOY8hBwyfi5uwx2y5SaHmG+oq/zl1FX/8irOf8Y3vAcX/6uLP6A6nvMO24edSGPjQc827Rw2atX+z2bKq0CmW9mOtYnr5/AfDa1ZfPaXnKtlWborup7QYx+Or2uWb+N3N//2+yDcXMqIJdf55xl7/vsj4WoPPlxLxtVrkJ4w/tTe3mLdATOOYwxcq52w5Wxz5MbPdVs5O8/lhfE7dPj0bIiPQ3QV0iqm4m3YX8hRfc6jQ3fWepevMqUDJd86Z4vwM40CWHnn+WphsGHfieF02D3tmZvpWD+kBpNCFcLnZhcmmrhpGzzbdA+sQ1ar18OJD87IOKOFoRNznaHPNHUfUNhvY1iU+uhvEvpKHaUn3qK3exVVyX4joipp3um7FmYJWmA+WbIDshRpbVRx5/nqstCgy87FGbfVB8yDGCqS+2qCsnRwnSAN6zgzxfdB2nBT/vZ4/6uxb6oH8b4VBRxiIB93wLa47hG3w2SL/2Z27yOXJFwZpSJaBYyvajA7vRRYNKqljXKpt/CFD/tSMr18DKKbwB0xggBePatl1nki0yvqW5zchlyZmJ0OTxJ3D+fsYJs/mxYN5+Le5oagtcl+YsVvy8kSjI2YGvGjvmpkRS9W2dtXqWnVuxUhURm1lKtou/hdEq19VBp9OjGvHEQSmrpuf2R24mXGheil8KeiANY8fW1VERUfBImb64j12caBZmRViZHbeVMjCrPDg9A90IXrtnsYCuZtRQ0PyrKDjBNOsPfKsg1pA02gHlVr0OXiFhtp6nJqXVzcbfM0KnzC3ggOENPE9VBdmHKN6LYaijb4wXxJn5A0FSDF5j+h1ooZx885Jt3ZKzO5n7Z5WfNEOtyyPqQEnn7WLv5Fis3PdgMshjF1FRydbNyeBbyKI1oN1TRVrVK7kgsb/zjX4NDPIRMctVeaxVB38Vh1x5KbeJbU138AM5KzmZu3uny0ErygxiJF7GVXUrPzFxrlx1uFdAaZFDN9cvIb74qD9tzBMo7L7WIEYK+sla1DVMHpF0F7b3+Y6S+zjvLeDMCpapmJo1weBWuxKF3rOocih1gun4BoJh1kWnV/Jmiq6uOhK3VfKxEHEkafjLgK3oujaPzY6SXg8phhL4TNR1xvJd1Wa0aYFfPUMLrNBDCh4AuGRTbtKMc6Z1Udj8evY/ZpCuMAUefdo69DZUngoqE1P9A3PJfOf7WixCEj+Y6t7fYeHbbxUAoFV3M89cCKfma3fc1+jKRe7MFWEbQqEfyzO2x/wrO2VYH7iYdQ9BkPyI8/3kXBpLaCpU7eC0Yv/am/tEDu7HZpqg0EvHo0nf/R/gRzUWy33/HXMJQeu1GylKmOkXzlCfGFruAcPPhaGqZOtu19zsJ1SO2Jz4Ztth5cBX6mRQwWmDwryG9FUMlZzNckMdK+IoMJv1rOWnBamS2w2KHiaPMPLC15hCZm4KTpoZyj4E2TqC/P6r7/EhnDMhKicZZ1ZwxuC7DPzDGs53q8gXaI9kFTK+2LTq7bhwsTbrMV8Rsfua5lMS0FwbTitUVnVa1yTb5IX51mmYnUcP9wPr8Ji1tiYJeJV9GZTrQhF7vvdU2OTU42ogJ9FDwhmycI2LIg++03C6scYhUyUuMV5tkw6kGUoL+mjNC38+wMdWNljn6tGPpRES7veqrSn5TRuv+dh6JVL/iDHU1db4c9WK3++OrH3PqziF916UMUKn8G67nN60GfWiHrXYhUG3yVWmyYak59NHj8t1smG4UDiWz2rPHNrKnN4Zo1LBbr2/eF9YZ0n0blx2nG4X+EKFxvS3W28JESD+FWk61VCD3z/URGHiJl++7TdBwkCj6tGOH3qDb0QqcOF9Kzpj0HUb/KyFW3Yhj2VMKJqGZleFBH7vqvf7WqLC3XMuHV8q8a4sTFuxUtkD/6JIBvKaVjv96ndgruKZ1k/BHzqf2K9fLk7HGXANyLDd1vxkK/i055pnzl+zw6zLnwXlVYVtfmacJgEpRP1hbGgrYPVN6v2lG+idQNGmwcKXu/8xEj/P6qe/sB2WmwNp6pp8jaISMkwdleFXYK55NHWLTTbutSUqjBfDGWo/Yg918qQ+8BRZSAHZbfuNZz2O0sov1Ue4CWlVg3rFhM3Kljj9ksGd/NUhk4nH+a5UN2+1i8+NM3vRNp7uQ6sqexSCukEVlVZriHNqFi5rLm9TMWa4qm3idJqppQACol2l4VSuvWLfta4JcXy3bROPNbXOgdOhG47LC0CwW/dMlSx4Jf17aEU3yA1x9p+Yc0jupXgcMuYNku64iYOkGToVDuJvlbEKlJqsmiHbvNrIVZEH+yFdF8DbleZ6iNiWwMqvtMp/mSpwx5KxRrT9p3MAPTHGtMbfvdFhyj9vhaKcn3At8Lc16Ai+vBcSp1ztXi7rCJZx/ql7TXcclq6Q76UeKWDy9boS0WHIjUuWhPG8LBmW5y2rhuTpM5vsLt+HOLh1Yf0DqXa9tsfC+kaKt2htA0ai/L2i7RKoNjEwztkmRU0GfgW1TxUvPFhg0V7DdfWJk5gfrccpYv+MA9M0dkGTLECeYwUixRzjRFdmjG7zdZIl3XKB9YliNKI31lfa7i2JG5C8Ss+rHe0D7Z696/V3DEAOWHnQ9yNahMUl5kENWS6pHKKp2D1BaSrrHdE1w2qNxIztpXgUIrF0bm15YML4b6V1k+GpNysTahKMVrrS85lTVo9OGJ96I47eAy5rYWpRf/mIzeoYU1DKaQCTUVwrhHeyNoDqHel+lLxr9WKzhSYw7vrR6+V5q0pfi2k3L1zqkubY6rrd9ZLvSuWNf0uqnkY+FpTvFzSW9Fp0b9l8JA7THV9eCi/PY/SCZIUYx3BU2alj7Cm3VV6eYpios4b6WuNOJdYXUK3zTqj5CVG2FqYM4Z7CuIU0qO05XR0d71FHM0YhZmJmTRfLlXEumN82BGtzdX0S19t1e+bUieK8zRmqpa4Qc5TSjifmaQsY2ETLjhI36gMR1+7qpjdXXHiceUekfBaucHShAOiFXmv3sNmGQyU5iVgnoocuonQXEPTFwslHtS8R+A47StI9wj0iSrtbi5rMysczFiImsQ+bdFClnFjjpXXwMy6O7qfjOr8Fb0a7ODItisjnn3EQO16+ypd1cwyaAW5Yzxz5QknfMO7643fXW/I9y3U2xH27Oapqr56Z/tEzglj6IbT6HEHjopiXqeRbe5mQQvxtcbDOVverN0ZgMdzqRYRjaXtMRd56Q4cZSmdPvZJdSrhJ1D9zNXPqAEqPIavPdfubt5oke2kmv0dztIszSv2VYuoyf1UuopbsYb+uX9h6WpwjpgtZ6fNNawNJ4q8O3CFoSbioAaOSZMx2GYaPYB+rEb6qjQiNRFQ76TvwNFVKD+BhH9VhcKGsXzmMI7BptU/CNWolM7YzROvpFAntsiWJp6eR2d3GarcYShVYSUqhmYOWj5E96NK2WvmYNTeY7Zs4RUEdv9h9QT4EseKt6LzLrqEOs3hxAY1MaNWpSa6zZx8F3YOVeCYMS88W+CYHDuWe4yoc6YK+djDuEOrBR5lvh0r+Q9uM88lrjx9x9AtgpQVNE8r+3O6Gvw59D+kBF/UMXyhliYUtPjmvXGY6Dk3x+kEOW+GtdMVC4EZTqoS/jmR0P0LS75DOc/w2vnri97M4SdbZ8qeU7gg8DVbERkU5geaMQO3mYrSYyAngeUQqrN0C0/vsFmcgWNXNeidsTAj7/4MncJR0caaBUpbLK1yBCBNRjEv6KvuVSdpPnEMJdsRRtqJ+U8tN1gXA4ePHc6ZT0eviI73UOJF0fEZ8YaneAQqQdGphNvwM4nIqPnXxV0xA0fnCT+oAhJuyw/q8jO0y8CjSteZExwBpIN6SvNp6A5G/abi6egeND/1GTguhuNjaUbbnSbGd4L8937Ezm34Eyi6n1maeOBxh3PI0jzJDf5mh/BsLD7F2GOKvlA/5gtvxI3/eV4sLfKW5Wy+oio+es/u6T8UU+nsofy57Icb/JlZHPFtCgd/x+bwt3ZT+xXTtTtTrGAb4QehC6X9G+8YT+ozcLxDsdCjsuOqwPFnrdLYaFc92Ui0m4fr39lYmlCaqTit7G6O/3kWDkgtXjNH4BiEm/+jegQnihOtfffn33WxsFjhfMd48HT+f6o6X65j7XR8WLSHMFkxbvOYsrRsF1bowDuSQ18Mkxk4qz2zoGPL5fu9h2Hqmt1asl3Q3Yu3szOc+spiCmX4AETBM3pLoTYSp3sVxahyhL8eC4mPN9k2x3o0xkiixIzM3CZFzf5oR4mecQ5+ax2wCah3/crmnHoqR0+KMaOPxRif1oEFRFOO/kTPPmtww+NfMXxEK6gn6iU32U6fFruIz8Q4WgljtnaCVTBgWx7diUdshC9ZEa5yKpRBBeW12r/iNc/+EgNqmhswNB8SBoihHXeDF7rrWDLcmt3V8GYYN7pXRy4DZjj4DJuUBL5iC3DQAaoo4vkftqVTYRGLS3mHZ7gdmdTTqbgNN/PTdTCOTgXolc88MhXAEUMdX0iy1JMuk5wLsgeu0QUYlz2S4skTWwJz6pOm/8ihrmgGfFgri+ZWUK2gAPHgbWa8jaocdSuM4FJYoKicYX/ZSENkg9Q1ZzJfwScfVnR2DegOGwCvmogaWJCLQepv9WNlU6QgsmOwICquU28Mlk3d9W5E81lU/5Ez0LcX6lwKMWDNluNKfBDUy/phJgBcMnfkh9iRxrdOzgs08JdPB85Lwo+GUSb4t3nC+0byqMZtO2fQJ4U2zGIr49t/28qmmGv2RanDD7a3FEcdtutkW8twwwlUSpb8QalodddbBfNHKDQ828BdE7OBgFdiKYohLawFYqpybQoxATZrheLhdI7+0Zlu9Q1myRcd15r9UIm8K2LGJxqTegntqNVMKnf1a8zQiyUR1rxoqjiFxeHxqFcYUTHfDu7rhbWng6qOxOsI+5A1p9mRyEPdVkTlE24vY54W7bWc6jMgZvNXdfC9/9q7408KDsbdL7Utz7QFSDetz2picArzrdpL8OaCHC9V26RroemtDZ5yNM/KGkWMyTmfnInEvwtSD23UcFcjhaE3VKzkoaEMKGBft4XbIO6forTY1lmGQwVmKicBCiArDzE+1oIxE08fWeviIOD5TznqH+OoHadvoOP20drMPe5Irg3XBQziW2XDuHYzjqQQ4wySssjXUs5H+t3FWYMHppUnBHMx/nYIT5d7OmjDbgD9F6na3m4l7KdkeSO3kTEPXafiWinogag7b52taiZhL1TSvBFmEZafFq2H8khQaZXuitCewT5FBgVtPK0j4xUHPfUz3Q28eac1Z139DAP23dgki94EC8vbDPTQC97HPPSWjUNG5tWKMsaxAEMKC0665Xvo1Ntd07wCLNf8Q56mrEPVpCxlIMVlQlWRxM3oAfpgIc+8KC3rEXUog5g06vt7zgXY8grH7hhwVSaeuvC06YYRAwpbyk/Unzj9hLEZNs2oxPQB9yc+GnL6zTgq7rI++KDJwX2SP8Sd6YzTuw5lV/kU6eQxRD12omfQAW6caTR4LikYkBB1CMOrvgRr/VY75+NSB40Cni6bADAtaK+vyxVWpf9NeKJxN2KYQ8Q2xPB3K1s7fuhvWbr2XpgW044VD6DRs0qXoqKf1NFsaGvKJc47leUV3pppP/5VTKFhaGuol4Esfjf5zyCyUHmHthChcYh4hYLQF+AFWsuq4t0wJyWgdwQVOZiV0efRHPoK5+E1vjz9wTJmVkITC9oEstAsyZSgE/dbicwKr89YUxKZI+owD205Tm5lnnmDRuP/JnzxX3gMtlrcX0UesZdxyQqYQuEW4R51vmQ5xOZteUd8SJruMlTUzhtVw/Nq7eUBcqN2/HVotgfngif60yKEtoUx3WYOZlVJuJOh8u59fzSDPFYtQgqDUAGyGhQOAvKroXMcOYY0qjnStJR/G3aP+Jt1sLVlGV8POwr/6OGsqetnyF3TmTqZjENfnXh51oxe9qVUw2M78EzAJ+IM8lZ1MBPQ9ZWSVc4J3mWSrLKrMHReA5qdGoz0ODRsaA+vwxXA2cAM4qlfzBJA6581m4hzxItQw5dxrrBL3Y6kCbUcFxo1S8jyV44q//+7ASNNudZ6xeaNOSIUffqMn4A9lIjFctYn2gpEPAb3f7p3iIBN8H14FUGQ9ct2hPsL+cEsTgUrR47uJVN4n4wt/wgfwwHuOnLd4yobkofy8JvxSQTA7rMpDIc608SlZFJfZYcmbT0tAHpPE8MrtQ42siTUNWxqvWZOmvu9f0JPoQmg+6l7sZWwyfi6PXkxJnwBraUG0MYG4zYHQz3igy/XsFkx5tNQxw43qvI9dU3f0DdhOUlHKjmi1VAr2Kiy0HZwD8VeEbhh0OiDdMYspolQsYdSwjCcjeowIXNZVUPmL2wwIkYhmXKhGozdCJ4lRKbsf4NBh/XnQoS92NJEWOVOFs2YhN8c5QZFeK0pRdAG40hqvLbmoSA8xQmzOOEc7wLcme9JOsjPCEgpCwUs9E2DohMHRhUeyGIN6TFvrbny8nDuilsDpzrH5mS76APoIEJmItS67sQJ+nfwddzmjPxcBEBBCw0kWDwd0EZCkNeOD7NNQhtBm7KHL9mRxj6U1yWU2puzlIDtpYxdH4ZPeXBJkTGAJfUr/oTCz/iypY6uXaR2V1doPxJYlrw2ghH0D5gbrhFcIxzYwi4a/4hqVdf2DdxBp6vGYDjavxMAAoy+1+3aiO6S3W/QAKNVXagDtvsNtx7Ks+HKgo6U21B+QSZgIogV5Bt+BnXisdVfy9VyXV+2P5fMuvdpAjM1o/K9Z+XnE4EOCrue+kcdYHqAQ0/Y/OmNlQ6OI33jH/uD1RalPaHpJAm2av0/xtpqdXVKNDrc9F2izo23Wu7firgbURFDNX9eGGeYBhiypyXZft2j3hTvzE6PMWKsod//rEILDkzBXfi7xh0eFkfb3/1zzPK/PI5Nk3FbZyTl4mq5BfBoVoqiPHO4Q4QKZAlrQ3MdNfi3oxIjvsM3kAFv3fdufurqYR3PSwX/mpGy/GFI/B2MNPiNdOppWVbs/gjF3YH+QA9jMhlAbhvasAHstB0IJew09iAkmXHl1/TEj+jvHOpOGrPRQXbPADM+Ig2/OEcUcpgPTItMtW4DdqgfYVI/+4hAFWYjUGpOP/UwNuB7+BbKOcALbjobdgzeBQfjgNSp2GOpxzGLj70Vvq5cw2AoYENwKLUtJUX8sGRox4dVa/TN4xKwaKcl9XawQR/uNus700Hf17pyNnezrUgaY9e4MADhEDBpsJT6y1gDJs1q6wlwGhuUzGR7C8kgpjPyHWwsvrf3yn1zJEIRa5eSxoLAZOCR9xbuztxFRJW9ZmMYfCFJ0evm9F2fVnuje92Rc4Pl6A8bluN8MZyyJGZ0+sNSb//DvAFxC2BqlEsFwccWeAl6CyBcQV1bx4mQMBP1Jxqk1EUADNLeieS2dUFbQ/c/kvwItbZ7tx0st16viqd53WsRmPTKv2AD8CUnhtPWg5aUegNpsYgasaw2+EVooeNKmrW3MFtj76bYHJm5K9gpAXZXsE5U8DM8XmVOSJ1F1WnLy6nQup+jx52bAb+rCq6y9WXl2B2oZDhfDkW7H3oYfT/4xx5VncBuxMXP2lNfhUVQjSSzSRbuZFE4vFawlzveXxaYKVs8LpvAb8IRYF3ZHiRnm0ADeNPWocwxSzNseG7NrSEVZoHdKWqaGEBz1N8Pt7kFbqh3LYmAbm9i1IChIpLpM5AS6mr6OAPHMwwznVy61YpBYX8xZDN/a+lt7n+x5j4bNOVteZ8lj3hpAHSx1VR8vZHec4AHO9XFCdjZ9eRkSV65ljMmZVzaej2qFn/qt1lvWzNZEfHxK3qOJrHL6crr0CRzMox5f2e8ALBB4UGFZKA3tN6F6IXd32GTJXGQ7DTi9j/dNcLF9jCbDcWGKxoKTYblIwbLDReL00LRcDPMcQuXLMh5YzgtfjkFK1DP1iDzzYYVZz5M/kWYRlRpig1htVRjVCknm+h1M5LiEDXOyHREhvzCGpFZjHS0RsK27o2avgdilrJkalWqPW3D9gmwV37HKmfM3F8YZj2ar+vHFvf3B8CRoH4kDHIK9mrAg+owiEwNjjd9V+FsQKYR8czJrUkf7Qoi2YaW6EVDZp5zYlqiYtuXOTHk4fAcZ7qBbdLDiJq0WNV1l2+Hntk1mMWvxrYmc8kIx8G3rW36J6Ra4lLrTOCgiOihmow+YnzUT19jbV2B3RWqSHyxkhmgsBqMYWvOcUom1jDQ436+fcbu3xf2bbeqU/ca+C4DOKE+e3qvmeMqW3AxejfzBRFVcwVYPq4L0APSWWoJu+5UYX4qg5U6YTioqQGPG9XrnuZ/BkxuYpe6Li87+18EskyQW/uA+uk2rpHpr6hut2TlVbKgWkFpx+AZffweiw2+VittkEyf/ifinS/0ItRL2Jq3tQOcxPaWO2xrG68GdFoUpZgFXaP2wYVtRc6xYCfI1CaBqyWpg4bx8OHBQwsV4XWMibZZ0LYjWEy2IxQ1mZrf1/UNbYCJplWu3nZ4WpodIGVA05d+RWSS+ET9tH3RfGGmNI1cIY7evZZq7o+a0bjjygpmR3mVfalkT/SZGT27Q8QGalwGlDOS9VHCyFAIL0a1Q7JiW3saz9gqY8lqKynFrPCzxkU4SIfLc9VfCI5edgRhDXs0edO992nhTKHriREP1NJC6SROMgQ0xO5kNNZOhMOIT99AUElbxqeZF8A3xrfDJsWtDnUenAHdYWSwAbYjFqQZ+D5gi3hNK8CSxU9i6f6ClL9IGlj1OPMQAsr84YG6ijsJpCaGWj75c3yOZKBB9mNpQNPUKkK0D6wgLH8MGoyRxTX6Y05Q4AnYNXMZwXM4eij/9WpsM/9CoRnFQXGR6MEaY+FXvXEO3RO0JaStk6OXuHVATHJE+1W+TU3bSZ2ksMtqjO0zfSJCdBv7y2d8DMx6TfVme3q0ZpTKMMu4YL/t7ciTNtdDkwPogh3Cnjx7qk08SHwf+dksZ7M2vCOlfsF0hQ6J4ehPCaHTNrM/zBSOqD83dBEBCW/F/LEmeh0nOHd7oVl3/Qo/9GUDkkbj7yz+9cvvu+dDAtx8NzCDTP4iKdZvk9MWiizvtILLepysflSvTLFBZ37RLwiriqyRxYv/zrgFd/9XVHh/OmzBvDX4mitMR/lUavs2Vx6cR94lzAkplm3IRNy4TFfu47tuYs9EQPIPVta4P64tV+sZ7n3ued3cgEx2YK+QL5+xms6osk8qQbTyuKVGdaX9FQqk6qfDnT5ykxk0VK7KZ62b6DNDUfQlqGHxSMKv1P0XN5BqMeKG1P4Wp5QfZDUCEldppoX0U6ss2jIko2XpURKCIhfaOqLPfShdtS37ZrT+jFRSH2xYVV1rmT/MBtRQhxiO4MQ3iAGlaZi+9PWBEIXOVnu9jN1f921lWLZky9bqbM3J2MAAI9jmuAx3gyoEUa6P2ivs0EeNv/OR+AX6q5SW6l5HaoFuS6jr6yg9limu+P0KYKzfMXWcQSfTXzpOzKEKpwI3YGXZpSSy2LTlMgfmFA3CF6R5c9xWEtRuCg2ZPUQ2Nb6dRFTNd4TfGHrnEWSKHPuRyiJSDAZ+KX0VxmSHjGPbQTLVpqixia2uyhQ394gBMt7C3ZAmxn/DJS+l1fBsAo2Eir/C0jG9csd4+/tp12pPc/BVJGaK9mfvr7M/CeztrmCO5qY06Edi4xAGtiEhnWAbzLy2VEyazE1J5nPmgU4RpW4Sa0TnOT6w5lgt3/tMpROigHHmexBGAMY0mdcDbDxWIz41NgdD6oxgHsJRgr5RnT6wZAkTOcStU4NMOQNemSO7gxGahdEsC+NRVGxMUhQmmM0llWRbbmFGHzEqLM4Iw0H7577Kyo+Zf+2cUFIOw93gEY171vQaM0HLwpjpdRR6Jz7V0ckE7XzYJ0TmY9znLdzkva0vNrAGGT5SUZ5uaHDkcGvI0ySpwkasEgZPMseYcu85w8HPdSNi+4T6A83iAwDbxgeFcB1ZM2iGXzFcEOUlYVrEckaOyodfvaYSQ7GuB4ISE0nYJc15X/1ciDTPbPCgYJK55VkEor4LvzL9S2WDy4xj+6FOqVyTAC2ZNowheeeSI5hA/02l8UYkv4nk9iaVn+kCVEUstgk5Hyq+gJm6R9vG3rhuM904he/hFmNQaUIATB1y3vw+OmxP4X5Yi6A5I5jJufHCjF9+AGNwnEllZjUco6XhsO5T5+R3yxz5yLVOnAn0zuS+6zdj0nTJbEZCbXJdtpfYZfCeCOqJHoE2vPPFS6eRLjIJlG69X93nfR0mxSFXzp1Zc0lt/VafDaImhUMtbnqWVb9M4nGNQLN68BHP7AR8Il9dkcxzmBv8PCZlw9guY0lurbBsmNYlwJZsA/B15/HfkbjbwPddaVecls/elmDHNW2r4crAx43feNkfRwsaNq/yyJ0d/p5hZ6AZajz7DBfUok0ZU62gCzz7x8eVfJTKA8IWn45vINLSM1q+HF9CV9qF3zP6Ml21kPPL3CXzkuYUlnSqT+Ij4tI/od5KwIs+tDajDs64owN7tOAd6eucGz+KfO26iNcBFpbWA5732bBNWO4kHNpr9D955L61bvHCF/mwSrz6eQaDjfDEANqGMkFc+NGxpKZzCD2sj/JrHd+zlPQ8Iz7Q+2JVIiVCuCKoK/hlAEHzvk/Piq3mRL1rT/fEh9hoT5GJmeYswg1otiKydizJ/fS2SeKHVu6Z3JEHjiW8NaTQgP5xdBli8nC57XiN9hrquBu99hn9zqwo92+PM2JXtpeVZS0PdqR5mDyDreMMtEws+CpwaRyyzoYtfcvt9PJIW0fJVNNi/FFyRsea7peLvJrL+5b4GOXJ8tAr+ATk9f8KmiIsRhqRy0vFzwRV3Z5dZ3QqIU8JQ/uQpkJbjMUMFj2F9sCFeaBjI4+fL/oN3+LQgjI4zuAfQ+3IPIPFQBccf0clJpsfpnBxD84atwtupkGqKvrH7cGNl/QcWcSi6wcVDML6ljOgYbo+2BOAWNNjlUBPiyitUAwbnhFvLbnqw42kR3Yp2kv2dMeDdcGOX5kT4S6M44KHEB/SpCfl7xgsUvs+JNY9G3O2X/6FEt9FyAn57lrbiu+tl83sCymSvq9eZbe9mchL7MTf/Ta78e80zSf0hYY5eUU7+ff14jv7Xy8qjzfzzzvaJnrIdvFb5BLWKcWGy5/w7+vV2cvIfwHqdTB+RuJK5oj9mbt0Hy94AmjMjjwYNZlNS6uiyxNnwNyt3gdreLb64p/3+08nXkb92LTkkRgFOwk1oGEVllcOj5lv1hfAZywDows0944U8vUFw+A/nuVq/UCygsrmWIBnHyU01d0XJPwriEOvx/ISK6Pk4y2w0gmojZs7lU8TtakBAdne4v/aNxmMpK4VcGMp7si0yqsiolXRuOi1Z1P7SqD3Zmp0CWcyK4Ubmp2SXiXuI5nGLCieFHKHNRIlcY3Pys2dwMTYCaqlyWSITwr2oGXvyU3h1Pf8eQ3w1bnD7ilocVjYDkcXR3Oo1BXgMLTUjNw2xMVwjtp99NhSVc5aIWrDQT5DHPKtCtheBP4zHcw4dz2eRdTMamhlHhtfgqJJHI7NGDUw1XL8vsSeSHyKqDtqoAmrQqsYwvwi7HW3ojWyhIa5oz5xJTaq14NAzFLjVLR12rRNUQ6xohDnrWFb5bG9yf8aCD8d5phoackcNJp+Dw3Due3RM+5Rid7EuIgsnwgpX0rUWh/nqPtByMhMZZ69NpgvRTKZ62ViZ+Q7Dp5r4K0d7EfJuiy06KuIYauRh5Ecrhdt2QpTS1k1AscEHvapNbU3HL1F2TFyR33Wxb5MvH5iZsrn3SDcsxlnnshO8PLwmdGN+paWnQuORtZGX37uhFT64SeuPsx8UOokY6ON85WdQ1dki5zErsJGazcBOddWJEKqNPiJpsMD1GrVLrVY+AOdPWQneTyyP1hRX/lMM4ZogGGOhYuAdr7F/DOiAoc++cn5vlf0zkMUJ40Z1rlgv9BelPqVOpxKeOpzKdF8maK+1Vv23MO9k/8+qpLoxrIGH2EDQlnGmH8CD31G8QqlyQIcpmR5bwmSVw9/Ns6IHgulCRehvZ/+VrM60Cu/r3AontFfrljew74skYe2uyn7JKQtFQBQRJ9ryGic/zQOsbS4scUBctA8cPToQ3x6ZBQu6DPu5m1bnCtP8TllLYA0UTQNVqza5nfew3Mopy1GPUwG5jsl0OVXniPmAcmLqO5HG8Hv3nSLecE9oOjPDXcsTxoCBxYyzBdj4wmnyEV4kvFDunipS8SSkvdaMnTBN9brHUR8xdmmEAp/Pdqk9uextp1t+JrtXwpN/MG2w/qhRMpSNxQ1uhg/kKO30eQ/FyHUDkWHT8V6gGRU4DhDMxZu7xXij9Ui6jlpWmQCqJg3FkOTq3WKneCRYZxBXMNAVLQgHXSCGSqNdjebY94oyIpVjMYehAiFx/tqzBXFHZaL5PeeD74rW5OysFoUXY8sebUZleFTUa/+zBKVTFDopTReXNuZq47QjkWnxjirCommO4L/GrFtVV21EpMyw8wyThL5Y59d88xtlx1g1ttSICDwnof6lt/6zliPzgVUL8jWBjC0o2D6Kg+jNuThkAlaDJsq/AG2aKA//A76avw2KNqtv223P+Wq3StRDDNKFFgtsFukYt1GFDWooFVXitaNhb3RCyJi4cMeNjROiPEDb4k+G3+hD8tsg+5hhmSc/8t2JTSwYoCzAI75doq8QTHe+E/Tw0RQSUDlU+6uBeNN3h6jJGX/mH8oj0i3caCNsjvTnoh73BtyZpsflHLq6AfwJNCDX4S98h4+pCOhGKDhV3rtkKHMa3EG4J9y8zFWI4UsfNzC/Rl5midNn7gwoN9j23HGCQQ+OAZpTTPMdiVow740gIyuEtd0qVxMyNXhHcnuXRKdw5wDUSL358ktjMXmAkvIB73BLa1vfF9BAUZInPYJiwxqFWQQBVk7gQH4ojfUQ/KEjn+A/WR6EEe4CtbpoLe1mzHkajgTIoE0SLDHVauKhrq12zrAXBGbPPWKCt4DGedq3JyGRbmPFW32bE7T20+73BatV/qQhhBWfWBFHfhYWXjALts38FemnoT+9bn1jDBMcUMmYgSc0e7GQjv2MUBwLU8ionCpgV+Qrhg7iUIfUY6JFxR0Y+ZTCPM+rVuq0GNLyJXX6nrUTt8HzFBRY1E/FIm2EeVA9NcXrj7S6YYIChVQCWr/m2fYUjC4j0XLkzZ8GCSLfmkW3PB/xq+nlXsKVBOj7vTvqKCOMq7Ztqr3cQ+N8gBnPaAps+oGwWOkbuxnRYj/x/WjiDclVrs22xMK4qArE1Ztk1456kiJriw6abkNeRHogaPRBgbgF9Z8i/tbzWELN4CvbqtrqV9TtGSnmPS2F9kqOIBaazHYaJ9bi3AoDBvlZasMluxt0BDXfhp02Jn411aVt6S4TUB8ZgFDkI6TP6gwPY85w+oUQSsjIeXVminrwIdK2ZAawb8Se6XOJbOaliQxHSrnAeONDLuCnFejIbp4YDtBcQCwMsYiRZfHefuEJqJcwKTTJ8sx5hjHmJI1sPFHOr6W9AhZ2NAod38mnLQk1gOz2LCAohoQbgMbUK9RMEA3LkiF7Sr9tLZp6lkciIGhE2V546w3Mam53VtVkGbB9w0Yk2XiRnCmbpxmHr2k4eSC0RuNbjNsUfDIfc8DZvRvgUDe1IlKdZTzcT4ZGEb53dp8VtsoZlyXzLHOdAbsp1LPTVaHvLA0GYDFMbAW/WUBfUAdHwqLFAV+3uHvYWrCfhUOR2i89qvCBoOb48usAGdcF2M4aKn79k/43WzBZ+xR1L0uZfia70XP9soQReeuhZiUnXFDG1T8/OXNmssTSnYO+3kVLAgeiY719uDwL9FQycgLPessNihMZbAKG7qwPZyG11G1+ZA3jAX2yddpYfmaKBlmfcK/V0mwIRUDC0nJSOPUl2KB8h13F4dlVZiRhdGY5farwN+f9hEb1cRi41ZcGDn6Xe9MMSTOY81ULJyXIHSWFIQHstVYLiJEiUjktlHiGjntN5/btB8Fu+vp28zl2fZXN+dJDyN6EXhS+0yzqpl/LSJNEUVxmu7BsNdjAY0jVsAhkNuuY0E1G48ej25mSt+00yPbQ4SRCVkIwb6ISvYtmJRPz9Zt5dk76blf+lJwAPH5KDF+vHAmACLoCdG2Adii6dOHnNJnTmZtoOGO8Q1jy1veMw6gbLFToQmfJa7nT7Al89mRbRkZZQxJTKgK5Kc9INzmTJFp0tpAPzNmyL/F08bX3nhCumM/cR/2RPn9emZ3VljokttZD1zVWXlUIqEU7SLk5I0lFRU0AcENXBYazNaVzsVHA/sD3o9hm42wbHIRb/BBQTKzAi8s3+bMtpOOZgLdQzCYPfX3UUxKd1WYVkGH7lh/RBBgMZZwXzU9+GYxdBqlGs0LP+DZ5g2BWNh6FAcR944B+K/JTWI3t9YyVyRhlP4CCoUk/mmF7+r2pilVBjxXBHFaBfBtr9hbVn2zDuI0kEOG3kBx8CGdPOjX1ph1POOZJUO1JEGG0jzUy2tK4X0CgVNYhmkqqQysRNtKuPdCJqK3WW57kaV17vXgiyPrl4KEEWgiGF1euI4QkSFHFf0TDroQiLNKJiLbdhH0YBhriRNCHPxSqJmNNoketaioohqMglh6wLtEGWSM1EZbQg72h0UJAIPVFCAJOThpQGGdKfFovcwEeiBuZHN2Ob4uVM7+gwZLz1D9E7ta4RmMZ24OBBAg7Eh6dLXGofZ4U2TFOCQMKjwhVckjrydRS+YaqCw1kYt6UexuzbNEDyYLTZnrY1PzsHZJT4U+awO2xlqTSYu6n/U29O2wPXgGOEKDMSq+zTUtyc8+6iLp0ivav4FKx+xxVy4FxhIF/pucVDqpsVe2jFOfdZhTzLz2QjtzvsTCvDPU7bzDH2eXVKUV9TZ+qFtaSSxnYgYdXKwVreIgvWhT9eGDB2OvnWyPLfIIIfNnfIxU8nW7MbcH05nhlsYtaW9EZRsxWcKdEqInq1DiZPKCz7iGmAU9/ccnnQud2pNgIGFYOTAWjhIrd63aPDgfj8/sdlD4l+UTlcxTI9jbaMqqN0gQxSHs60IAcW3cH4p3V1aSciTKB29L1tz2eUQhRiTgTvmqc+sGtBNh4ky0mQJGsdycBREP+fAaSs1EREDVo5gvgi5+aCN7NECw30owbCc1mSpjiahyNVwJd1jiGgzSwfTpzf2c5XJvG/g1n0fH88KHNnf+u7ZiRMlXueSIsloJBUtW9ezvsx9grfsX/FNxnbxU1Lvg0hLxixypHKGFAaPu0xCD8oDTeFSyfRT6s8109GMUZL8m2xXp8X2dpPCWWdX84iga4BrTlOfqox4shqEgh/Ht4qRst52cA1xOIUuOxgfUivp6v5f8IVyaryEdpVk72ERAwdT4aoY1usBgmP+0m06Q216H/nubtNYxHaOIYjcach3A8Ez/zc0KcShhel0HCYjFsA0FjYqyJ5ZUH1aZw3+zWC0hLpM6GDfcAdn9fq2orPmZbW6XXrf+Krc9RtvII5jeD3dFoT1KwZJwxfUMvc5KLfn8rROW23Jw89sJ2a5dpB3qWDUBWF2iX8OCuKprHosJ2mflBR+Wqs86VvgI/XMnsqb97+VlKdPVysczPj8Jhzf+WCvGBHijAqYlavbF60soMWlHbvKT+ScvhprgeTln51xX0sF+Eadc/l2s2a5BgkVbHYyz0E85p0LstqH+gEGiR84nBRRFIn8hLSZrGwqjZ3E29cuGi+5Z5bp7EM8MWFa9ssS/vy4VrDfECSv7DSU84DaP0sXI3Ap4lWznQ65nQoTKRWU30gd7Nn8ZowUvGIx4aqyXGwmA/PB4qN8msJUODezUHEl0VP9uo+cZ8vPFodSIB4C7lQYjEFj8yu49C2KIV3qxMFYTevG8KqAr0TPlkbzHHnTpDpvpzziAiNFh8xiT7C/TiyH0EguUw4vxAgpnE27WIypV+uFN2zW7xniF/n75trs9IJ5amB1zXXZ1LFkJ6GbS/dFokzl4cc2mamVwhL4XU0Av5gDWAl+aEWhAP7t2VIwU+EpvfOPDcLASX7H7lZpXA2XQfbSlD4qU18NffNPoAKMNSccBfO9YVVgmlW4RydBqfHAV7+hrZ84WJGho6bNT0YMhxxLdOx/dwGj0oyak9aAkNJ8lRJzUuA8sR+fPyiyTgUHio5+Pp+YaKlHrhR41jY5NESPS3x+zTMe0S2HnLOKCOQPpdxKyviBvdHrCDRqO+l96HhhNBLXWv4yEMuEUYo8kXnYJM8oIgVM4XJ+xXOev4YbWeqsvgq0lmw4/PiYr9sYLt+W5EAuYSFnJEan8CwJwbtASBfLBBpJZiRPor/aCJBZsM+MhvS7ZepyHvU8m5WSmaZnxuLts8ojl6KkS8oSAHkq5GWlCB/NgJ5W3rO2Cj1MK7ahxsCrbTT3a0V/QQH+sErxV4XUWDHx0kkFy25bPmBMBQ6BU3HoHhhYcJB9JhP6NXUWKxnE0raXHB6U9KHpWdQCQI72qevp5fMzcm+AvC85rsynVQhruDA9fp9COe7N56cg1UKGSas89vrN+WlGLYTwi5W+0xYdKEGtGCeNJwXKDU0XqU5uQYnWsMwTENLGtbQMvoGjIFIEMzCRal4rnBAg7D/CSn8MsCvS+FDJJAzoiioJEhZJgAp9n2+1Yznr7H+6eT4YkJ9Mpj60ImcW4i4iHDLn9RydB8dx3QYm3rsX6n4VRrZDsYK6DCGwkwd5n3/INFEpk16fYpP6JtMQpqEMzcOfQGAHXBTEGzuLJ03GYQL9bmV2/7ExDlRf+Uvf1sM2frRtCWmal12pMgtonvSCtR4n1CLUZRdTHDHP1Otwqd+rcdlavnKjUB/OYXQHUJzpNyFoKpQK+2OgrEKpGyIgIBgn2y9QHnTJihZOpEvOKIoHAMGAXHmj21Lym39Mbiow4IF+77xNuewziNVBxr6KD5e+9HzZSBIlUa/AmsDFJFXeyrQakR3FwowTGcADJHcEfhGkXYNGSYo4dh4bxwLM+28xjiqkdn0/3R4UEkvcBrBfn/SzBc1XhKM2VPlJgKSorjDac96V2UnQYXl1/yZPT4DVelgO+soMjexXwYO58VLl5xInQUZI8jc3H2CPnCNb9X05nOxIy4MlecasTqGK6s2az4RjpF2cQP2G28R+7wDPsZDZC/kWtjdoHC7SpdPmqQrUAhMwKVuxCmYTiD9q/O7GHtZvPSN0CAUQN/rymXZNniYLlJDE70bsk6Xxsh4kDOdxe7A2wo7P9F5YvqqRDI6brf79yPCSp4I0jVoO4YnLYtX5nzspR5WB4AKOYtR1ujXbOQpPyYDvfRE3FN5zw0i7reehdi7yV0YDRKRllGCGRk5Yz+Uv1fYl2ZwrnGsqsjgAVo0xEUba8ohjaNMJNwTwZA/wBDWFSCpg1eUH8MYL2zdioxRTqgGQrDZxQyNzyBJPXZF0+oxITJAbj7oNC5JwgDMUJaM5GqlGCWc//KCIrI+aclEe4IA0uzv7cuj6GCdaJONpi13O544vbtIHBF+A+JeDFUQNy61Gki3rtyQ4aUywn6ru314/dkGiP8Iwjo0J/2Txs49ZkwEl4mx+iYUUO55I6pJzU4P+7RRs+DXZkyKUYZqVWrPF4I94m4Wx1tXeE74o9GuX977yvJ/jkdak8+AmoHVjI15V+WwBdARFV2IPirJgVMdsg1Pez2VNHqa7EHWdTkl3XTcyjG9BiueWFvQfXI8aWSkuuRmqi/HUuzqyvLJfNfs0txMqldYYflWB1BS31WkuPJGGwXUCpjiQSktkuBMWwHjSkQxeehqw1Kgz0Trzm7QbtgxiEPDVmWCNCAeCfROTphd1ZNOhzLy6XfJyG6Xgd5MCAZw4xie0Sj5AnY1/akDgNS9YFl3Y06vd6FAsg2gVQJtzG7LVq1OH2frbXNHWH/NY89NNZ4QUSJqL2yEcGADbT38X0bGdukqYlSoliKOcsSTuqhcaemUeYLLoI8+MZor2RxXTRThF1LrHfqf/5LcLAjdl4EERgUysYS2geE+yFdasU91UgUDsc2cSQ1ZoT9+uLOwdgAmifwQqF028INc2IQEDfTmUw3eZxvz7Ud1z3xc1PQfeCvfKsB9jOhRj7rFyb9XcDWLcYj0bByosychMezMLVkFiYcdBBQtvI6K0KRuOZQH2kBsYHJaXTkup8F0eIhO1/GcIwWKpr2mouB7g5TUDJNvORXPXa/mU8bh27TAZYBe2sKx4NSv5OjnHIWD2RuysCzBlUfeNXhDd2jxnHoUlheJ3jBApzURy0fwm2FwwsSU0caQGl0Kv8hopRQE211NnvtLRsmCNrhhpEDoNiZEzD2QdJWKbRRWnaFedXHAELSN0t0bfsCsMf0ktfBoXBoNA+nZN9+pSlmuzspFevmsqqcMllzzvkyXrzoA+Ryo1ePXpdGOoJvhyru+EBRsmOp7MXZ0vNUMUqHLUoKglg1p73sWeZmPc+KAw0pE2zIsFFE5H4192KwDvDxdxEYoDBDNZjbg2bmADTeUKK57IPD4fTYF4c6EnXx/teYMORBDtIhPJneiZny7Nv/zG+YmekIKCoxr6kauE2bZtBLufetNG0BtBY7f+/ImUypMBvdWu/Q7vTMRzw5aQGZWuc1V0HEsItFYMIBnoKGZ0xcarba/TYZq50kCaflFysYjA4EDKHqGdpYWdKYmm+a7TADmW35yfnOYpZYrkpVEtiqF0EujI00aeplNs2k+qyFZNeE3CDPL9P6b4PQ/kataHkVpLSEVGK7EX6rAa7IVNrvZtFvOA6okKvBgMtFDAGZOx88MeBcJ8AR3AgUUeIznAN6tjCUipGDZONm1FjWJp4A3QIzSaIOmZ7DvF/ysYYbM/fFDOV0jntAjRdapxJxL0eThpEhKOjCDDq2ks+3GrwxqIFKLe1WdOzII8XIOPGnwy6LKXVfpSDOTEfaRsGujhpS4hBIsMOqHbl16PJxc4EkaVu9wpEYlF/84NSv5Zum4drMfp9yXbzzAOJqqS4YkI4cBrFrC7bMPiCfgI3nNZAqkk3QOZqR+yyqx+nDQKBBBZ7QKrfGMCL+XpqFaBJU0wpkBdAhbR4hJsmT5aynlvkouoxm/NjD5oe6BzVIO9uktM+/5dEC5P7vZvarmuO/lKXz4sBabVPIATuKTrwbJP8XUkdM6uEctHKXICUJGjaZIWRbZp8czquQYfY6ynBUCfIU+gG6wqSIBmYIm9pZpXdaL121V7q0VjDjmQnXvMe7ysoEZnZL15B0SpxS1jjd83uNIOKZwu5MPzg2NhOx3xMOPYwEn2CUzbSrwAs5OAtrz3GAaUkJOU74XwjaYUmGJdZBS1NJVkGYrToINLKDjxcuIlyfVsKQSG/G4DyiO2SlQvJ0d0Ot1uOG5IFSAkq+PRVMgVMDvOIJMdqjeCFKUGRWBW9wigYvcbU7CQL/7meF2KZAaWl+4y9uhowAX7elogAvItAAxo2+SFxGRsHGEW9BnhlTuWigYxRcnVUBRQHV41LV+Fr5CJYV7sHfeywswx4XMtUx6EkBhR+q8AXXUA8uPJ73Pb49i9KG9fOljvXeyFj9ixgbo6CcbAJ7WHWqKHy/h+YjBwp6VcN7M89FGzQ04qbrQtgrOFybg3gQRTYG5xn73ArkfQWjCJROwy3J38Dx/D7jOa6BBNsitEw1wGq780EEioOeD+ZGp2J66ADiVGMayiHYucMk8nTK2zzT9CnEraAk95kQjy4k0GRElLL5YAKLQErJ5rp1eay9O4Fb6yJGm9U4FaMwPGxtKD6odIIHKoWnhKo1U8KIpFC+MVn59ZXmc7ZTBZfsg6FQ8W10YfTr4u0nYrpHZbZ1jXiLmooF0cOm0+mPnJBXQtepc7n0BqOipNCqI6yyloTeRShNKH04FIo0gcMk0H/xThyN4pPAWjDDkEp3lNNPRNVfpMI44CWRlRgViP64eK0JSRp0WUvCWYumlW/c58Vcz/yMwVcW5oYb9+26TEhwvbxiNg48hl1VI1UXTU//Eta+BMKnGUivctfL5wINDD0giQL1ipt6U7C9cd4+lgqY2lMUZ02Uv6Prs+ZEZer7ZfWBXVghlfOOrClwsoOFKzWEfz6RZu1eCs+K8fLvkts5+BX0gyrFYve0C3qHrn5U/Oh6D/CihmWIrY7HUZRhJaxde+tldu6adYJ+LeXupQw0XExC36RETdNFxcq9glMu4cNQSX9cqR/GQYp+IxUkIcNGWVU7ZtGa6P3XAyodRt0XeS3Tp01AnCh0ZbUh4VrSZeV9RWfSoWyxnY3hzcZ30G/InDq4wxRrEejreBxnhIQbkxenxkaxl+k7eLUQkUR6vKJ2iDFNGX3WmVA1yaOH+mvhBd+sE6vacQzFobwY5BqEAFmejwW5ne7HtVNolOUgJc8CsUxmc/LBi8N5mu9VsIA5HyErnS6zeCz7VLI9+n/hbT6hTokMXTVyXJRKSG2hd2labXTbtmK4fNH3IZBPreSA4FMeVouVN3zG5x9CiGpLw/3pceo4qGqp+rVp+z+7yQ98oEf+nyH4F3+J9IheDBa94Wi63zJbLBCIZm7P0asHGpIJt3PzE3m0S4YIWyXBCVXGikj8MudDPB/6Nm2v4IxJ5gU0ii0guy5SUHqGUYzTP0jIJU5E82RHUXtX4lDdrihBLdP1YaG1AGUC12rQKuIaGvCpMjZC9bWSCYnjDlvpWbkdXMTNeBHLKiuoozMGIvkczmP0aRJSJ8PYnLCVNhKHXBNckH79e8Z8Kc2wUej4sQZoH8qDRGkg86maW/ZQWGNnLcXmq3FlXM6ssR/3P6E/bHMvm6HLrv1yRixit25JsH3/IOr2UV4BWJhxXW5BJ6Xdr07n9kF3ZNAk6/Xpc5MSFmYJ2R7bdL8Kk7q1OU9Elg/tCxJ8giT27wSTySF0GOxg4PbYJdi/Nyia9Nn89CGDulfJemm1aiEr/eleGSN+5MRrVJ4K6lgyTTIW3i9cQ0dAi6FHt0YMbH3wDSAtGLSAccezzxHitt1QdhW36CQgPcA8vIIBh3/JNjf/Obmc2yzpk8edSlS4lVdwgW5vzbYEyFoF4GCBBby1keVNueHAH+evi+H7oOVfS3XuPQSNTXOONAbzJeSb5stwdQHl1ZjrGoE49I8+A9j3t+ahhQj74FCSWpZrj7wRSFJJnnwi1T9HL5qrCFW/JZq6P62XkMWTb+u4lGpKfmmwiJWx178GOG7KbrZGqyWwmuyKWPkNswkZ1q8uptUlviIi+AXh2bOOTOLsrtNkfqbQJeh24reebkINLkjut5r4d9GR/r8CBa9SU0UQhsnZp5cP+RqWCixRm7i4YRFbtZ4EAkhtNa6jHb6gPYQv7MKqkPLRmX3dFsK8XsRLVZ6IEVrCbmNDc8o5mqsogjAQfoC9Bc7R6gfw03m+lQpv6kTfhxscDIX6s0w+fBxtkhjXAXr10UouWCx3C/p/FYwJRS/AXRKkjOb5CLmK4XRe0+xeDDwVkJPZau52bzLEDHCqV0f44pPgKOkYKgTZJ33fmk3Tu8SdxJ02SHM8Fem5SMsWqRyi2F1ynfRJszcFKykdWlNqgDA/L9lKYBmc7Zu/q9ii1FPF47VJkqhirUob53zoiJtVVRVwMR34gV9iqcBaHbRu9kkvqk3yMpfRFG49pKKjIiq7h/VpRwPGTHoY4cg05X5028iHsLvUW/uz+kjPyIEhhcKUwCkJAwbR9pIEGOn8z6svAO8i89sJ3dL5qDWFYbS+HGPRMxYwJItFQN86YESeJQhn2urGiLRffQeLptDl8dAgb+Tp47UQPxWOw17OeChLN1WnzlkPL1T5O+O3Menpn4C3IY5LEepHpnPeZHbvuWfeVtPlkH4LZjPbBrkJT3NoRJzBt86CO0Xq59oQ+8dsm0ymRcmQyn8w71mhmcuEI5byuF+C88VPYly2sEzjlzAQ3vdn/1+Hzguw6qFNNbqenhZGbdiG6RwZaTG7jTA2X9RdXjDN9yj1uQpyO4Lx8KRAcZcbZMafp4wPOd5MdXoFY52V1A8M9hi3sso93+uprE0qYNMjkE22CvK4HuUxqN7oIz5pWuETq1lQAjqlSlqdD2Rnr/ggp/TVkQYjn9lMfYelk2sH5HPdopYo7MHwlV1or9Bxf+QCyLzm92vzG2wjiIjC/ZHEJzeroJl6bdFPTpZho5MV2U86fLQqxNlGIMqCGy+9WYhJ8ob1r0+Whxde9L2PdysETv97O+xVw+VNN1TZSQN5I6l9m5Ip6pLIqLm4a1B1ffH6gHyqT9p82NOjntRWGIofO3bJz5GhkvSWbsXueTAMaJDou99kGLqDlhwBZNEQ4mKPuDvVwSK4WmLluHyhA97pZiVe8g+JxmnJF8IkV/tCs4Jq/HgOoAEGR9tCDsDbDmi3OviUQpG5D8XmKcSAUaFLRXb2lmJTNYdhtYyfjBYZQmN5qT5CNuaD3BVnlkCk7bsMW3AtXkNMMTuW4HjUERSJnVQ0vsBGa1wo3Qh7115XGeTF3NTz8w0440AgU7c3bSXO/KMINaIWXd0oLpoq/0/QJxCQSJ9XnYy1W7TYLBJpHsVWD1ahsA7FjNvRd6mxCiHsm8g6Z0pnzqIpF1dHUtP2ITU5Z1hZHbu+L3BEEStBbL9XYvGfEakv1bmf+bOZGnoiuHEdlBnaChxYKNzB23b8sw8YyT7Ajxfk49eJIAvdbVkdFCe2J0gMefhQ0bIZxhx3fzMIysQNiN8PgOUKxOMur10LduigREDRMZyP4oGWrP1GFY4t6groASsZ421os48wAdnrbovNhLt7ScNULkwZ5AIZJTrbaKYTLjA1oJ3sIuN/aYocm/9uoQHEIlacF1s/TM1fLcPTL38O9fOsjMEIwoPKfvt7opuI9G2Hf/PR4aCLDQ7wNmIdEuXJ/QNL72k5q4NejAldPfe3UVVqzkys8YZ/jYOGOp6c+YzRCrCuq0M11y7TiN6qk7YXRMn/gukxrEimbMQjr3jwRM6dKVZ4RUfWQr8noPXLJq6yh5R3EH1IVOHESst/LItbG2D2vRsZRkAObzvQAAD3mb3/G4NzopI0FAiHfbpq0X72adg6SRj+8OHMShtFxxLZlf/nLgRLbClwl5WmaYSs+yEjkq48tY7Z2bE0N91mJwt+ua0NlRJIDh0HikF4UvSVorFj2YVu9YeS5tfvlVjPSoNu/Zu6dEUfBOT555hahBdN3Sa5Xuj2Rvau1lQNIaC944y0RWj9UiNDskAK1WoL+EfXcC6IbBXFRyVfX/WKXxPAwUyIAGW8ggZ08hcijKTt1YKnUO6QPvcrmDVAb0FCLIXn5id4fD/Jx4tw/gbXs7WF9b2RgXtPhLBG9vF5FEkdHAKrQHZAJC/HWvk7nvzzDzIXZlfFTJoC3JpGgLPBY7SQTjGlUvG577yNutZ1hTfs9/1nkSXK9zzKLRZ3VODeKUovJe0WCq1zVMYxCJMenmNzPIU2S8TA4E7wWmbNkxq9rI2dd6v0VpcAPVMxnDsvWTWFayyqvKZO7Z08a62i/oH2/jxf8rpmfO64in3FLiL1GX8IGtVE9M23yGsIqJbxDTy+LtaMWDaPqkymb5VrQdzOvqldeU0SUi6IirG8UZ3jcpRbwHa1C0Dww9G/SFX3gPvTJQE+kyz+g1BeMILKKO+olcHzctOWgzxYHnOD7dpCRtuZEXACjgqesZMasoPgnuDC4nUviAAxDc5pngjoAITIkvhKwg5d608pdrZcA+qn5TMT6Uo/QzBaOxBCLTJX3Mgk85rMfsnWx86oLxf7p2PX5ONqieTa/qM3tPw4ZXvlAp83NSD8F7+ZgctK1TpoYwtiU2h02HCGioH5tkVCqNVTMH5p00sRy2JU1qyDBP2CII/Dg4WDsIl+zgeX7589srx6YORRQMBfKbodbB743Tl4WLKOEnwWUVBsm94SOlCracU72MSyj068wdpYjyz1FwC2bjQnxnB6Mp/pZ+yyZXtguEaYB+kqhjQ6UUmwSFazOb+rhYjLaoiM+aN9/8KKn0zaCTFpN9eKwWy7/u4EHzO46TdFSNjMfn2iPSJwDPCFHc0I1+vjdAZw5ZjqR/uzi9Zn20oAa5JnLEk/EA3VRWE7J/XrupfFJPtCUuqHPpnlL7ISJtRpSVcB8qsZCm2QEkWoROtCKKxUh3yEcMbWYJwk6DlEBG0bZP6eg06FL3v6RPb7odGuwm7FN8fG4woqtB8e7M5klPpo97GoObNwt+ludTAmxyC5hmcFx+dIvEZKI6igFKHqLH01iY1o7903VzG9QGetyVx5RNmBYUU+zIuSva/yIcECUi4pRmE3VkF2avqulQEUY4yZ/wmNboBzPmAPey3+dSYtBZUjeWWT0pPwCz4Vozxp9xeClIU60qvEFMQCaPvPaA70WlOP9f/ey39macvpGCVa+zfa8gO44wbxpJUlC8GN/pRMTQtzY8Z8/hiNrU+Zq64ZfFGIkdj7m7abcK1EBtws1X4J/hnqvasPvvDSDYWN+QcQVGMqXalkDtTad5rYY0TIR1Eqox3czwPMjKPvF5sFv17Thujr1IZ1Ytl4VX1J0vjXKmLY4lmXipRAro0qVGEcXxEVMMEl54jQMd4J7RjgomU0j1ptjyxY+cLiSyXPfiEcIS2lWDK3ISAy6UZ3Hb5vnPncA94411jcy75ay6B6DSTzK6UTCZR9uDANtPBrvIDgjsfarMiwoax2OlLxaSoYn4iRgkpEGqEkwox5tyI8aKkLlfZ12lO11TxsqRMY89j5JaO55XfPJPDL1LGSnC88Re9Ai+Nu5bZjtwRrvFITUFHPR4ZmxGslQMecgbZO7nHk32qHxYkdvWpup07ojcMCaVrpFAyFZJJbNvBpZfdf39Hdo2kPtT7v0/f8R/B5Nz4f1t9/3zNM/7n6SUHfcWk5dfQFJvcJMgPolGCpOFb/WC0FGWU2asuQyT+rm88ZKZ78Cei/CAh939CH0JYbpZIPtxc2ufXqjS3pHH9lnWK4iJ7OjR/EESpCo2R3MYKyE7rHfhTvWho4cL1QdN4jFTyR6syMwFm124TVDDRXMNveI1Dp/ntwdz8k8kxw7iFSx6+Yx6O+1LzMVrN0BBzziZi9kneZSzgollBnVwBh6oSOPHXrglrOj+QmR/AESrhDpKrWT+8/AiMDxS/5wwRNuGQPLlJ9ovomhJWn8sMLVItQ8N/7IXvtD8kdOoHaw+vBSbFImQsv/OCAIui99E+YSIOMlMvBXkAt+NAZK8wB9Jf8CPtB+TOUOR+z71d/AFXpPBT6+A5FLjxMjLIEoJzrQfquvxEIi+WoUzGR1IzQFNvbYOnxb2PyQ0kGdyXKzW2axQL8lNAXPk6NEjqrRD1oZtKLlFoofrXw0dCNWASHzy+7PSzOUJ3XtaPZsxLDjr+o41fKuKWNmjiZtfkOzItvlV2MDGSheGF0ma04qE3TUEfqJMrXFm7DpK+27DSvCUVf7rbNoljPhha5W7KBqVq0ShUSTbRmuqPtQreVWH4JET5yMhuqMoSd4r/N8sDmeQiQQvi1tcZv7Moc7dT5X5AtCD6kNEGZOzVcNYlpX4AbTsLgSYYliiPyVoniuYYySxsBy5cgb3pD+EK0Gpb0wJg031dPgaL8JZt6sIvzNPEHfVPOjXmaXj4bd4voXzpZ5GApMhILgMbCEWZ2zwgdeQgjNHLbPIt+KqxRwWPLTN6HwZ0Ouijj4UF+Sg0Au8XuIKW0WxlexdrFrDcZJ8Shauat3X0XmHygqgL1nAu2hrJFb4wZXkcS+i36KMyU1yFvYv23bQUJi/3yQpqr/naUOoiEWOxckyq/gq43dFou1DVDaYMZK9tho7+IXXokBCs5GRfOcBK7g3A+jXQ39K4YA8PBRW4m5+yR0ZAxWJncjRVbITvIAPHYRt1EJ3YLiUbqIvoKHtzHKtUy1ddRUQ0AUO41vonZDUOW+mrszw+SW/6Q/IUgNpcXFjkM7F4CSSQ2ExZg85otsMs7kqsQD4OxYeBNDcSpifjMoLb7GEbGWTwasVObmB/bfPcUlq0wYhXCYEDWRW02TP5bBrYsKTGWjnWDDJ1F7zWai0zW/2XsCuvBQjPFcTYaQX3tSXRSm8hsAoDdjArK/OFp6vcWYOE7lizP0Yc+8p16i7/NiXIiiQTp7c7Xus925VEtlKAjUdFhyaiLT7VxDagprMFwix4wZ05u0qj7cDWFd0W9OYHIu3JbJKMXRJ1aYNovugg+QqRN7fNHSi26VSgBpn+JfMuPo3aeqPWik/wI5Rz3BWarPQX4i5+dM0npwVOsX+KsOhC7vDg+OJsz4Q5zlnIeflUWL6QYMbf9WDfLmosLF4Qev3mJiOuHjoor/dMeBpA9iKDkMjYBNbRo414HCxjsHrB4EXNbHzNMDHCLuNBG6Sf+J4MZ/ElVsDSLxjIiGsTPhw8BPjxbfQtskj+dyNMKOOcUYIRBEIqbazz3lmjlRQhplxq673VklMMY6597vu+d89ec/zq7Mi4gQvh87ehYbpOuZEXj5g/Q7S7BFDAAB9DzG35SC853xtWVcnZQoH54jeOqYLR9NDuwxsVthTV7V99n/B7HSbAytbEyVTz/5NhJ8gGIjG0E5j3griULUd5Rg7tQR+90hJgNQKQH2btbSfPcaTOfIexc1db1BxUOhM1vWCpLaYuKr3FdNTt/T3PWCpEUWDKEtzYrjpzlL/wri3MITKsFvtF8QVV/NhVo97aKIBgdliNc10dWdXVDpVtsNn+2UIolrgqdWA4EY8so0YvB4a+aLzMXiMAuOHQrXY0tr+CL10JbvZzgjJJuB1cRkdT7DUqTvnswVUp5kkUSFVtIIFYK05+tQxT6992HHNWVhWxUsD1PkceIrlXuUVRogwmfdhyrf6zzaL8+c0L7GXMZOteAhAVQVwdJh+7nrX7x4LaIIfz2F2v7Dg/uDfz2Fa+4gFm2zHAor8UqimJG3VTJtZEoFXhnDYXvxMJFc6ku2bhbCxzij2z5UNuK0jmp1mnvkVNUfR+SEmj1Lr94Lym75PO7Fs0MIr3GdsWXRXSfgLTVY0FLqba97u1In8NAcY7IC6TjWLigwKEIm43NxTdaVTv9mcKkzuzBkKd8x/xt1p/9BbP7Wyb4bpo1K1gnOpbLvKz58pWl3B55RJ/Z5mRDLPtNQg14jdOEs9+h/V5UVpwrAI8kGbX8KPVPDIMfIqKDjJD9UyDOPhjZ3vFAyecwyq4akUE9mDOtJEK1hpDyi6Ae87sWAClXGTiwPwN7PXWwjxaR79ArHRIPeYKTunVW24sPr/3HPz2IwH8oKH4OlWEmt4BLM6W5g4kMcYbLwj2usodD1088stZA7VOsUSpEVl4w7NMb1EUHMRxAxLF0CIV+0L3iZb+ekB1vSDSFjAZ3hfLJf7gFaXrOKn+mhR+rWw/eTXIcAgl4HvFuBg1LOmOAwJH3eoVEjjwheKA4icbrQCmvAtpQ0mXG0agYp5mj4Rb6mdQ+RV4QBPbxMqh9C7o8nP0Wko2ocnCHeRGhN1XVyT2b9ACsL+6ylUy+yC3QEnaKRIJK91YtaoSrcWZMMwxuM0E9J68Z+YyjA0g8p1PfHAAIROy6Sa04VXOuT6A351FOWhKfTGsFJ3RTJGWYPoLk5FVK4OaYR9hkJvezwF9vQN1126r6isMGXWTqFW+3HL3I/jurlIdDWIVvYY+s6yq7lrFSPAGRdnU7PVwY/SvWbZGpXzy3BQ2LmAJlrONUsZs4oGkly0V267xbD5KMY8woNNsmWG1VVgLCra8aQBBcI4DP2BlNwxhiCtHlaz6OWFoCW0vMR3ErrG7JyMjTSCnvRcsEHgmPnwA6iNpJ2DrFb4gLlhKJyZGaWkA97H6FFdwEcLT6DRQQL++fOkVC4cYGW1TG/3iK5dShRSuiBulmihqgjR45Vi03o2RbQbP3sxt90VxQ6vzdlGfkXmmKmjOi080JSHkLntjvsBJnv7gKscOaTOkEaRQqAnCA4HWtB4XnMtOhpRmH2FH8tTXrIjAGNWEmudQLCkcVlGTQ965Kh0H6ixXbgImQP6b42B49sO5C8pc7iRlgyvSYvcnH9FgQ3azLbQG2cUW96SDojTQStxkOJyOuDGTHAnnWkz29aEwN9FT8EJ4yhXOg+jLTrCPKeEoJ9a7lDXOjEr8AgX4BmnMQ668oW0zYPyQiVMPxKRHtpfnEEyaKhdzNVThlxxDQNdrHeZiUFb6NoY2KwvSb7BnRcpJy+/g/zAYx3fYSN5QEaVD2Y1VsNWxB0BSO12MRsRY8JLfAezRMz5lURuLUnG1ToKk6Q30FughqWN6gBNcFxP/nY/iv+iaUQOa+2Nuym46wtI/DvSfzSp1jEi4SdYBE7YhTiVV5cX9gwboVDMVgZp5YBQlHOQvaDNfcCoCJuYhf5kz5kwiIKPjzgpcRJHPbOhJajeoeRL53cuMahhV8Z7IRr6M4hW0JzT7mzaMUzQpm866zwM7Cs07fJYXuWvjAMkbe5O6V4bu71sOG6JQ4oL8zIeXHheFVavzxmlIyBkgc9IZlEDplMPr8xlcyss4pVUdwK1e7CK2kTsSdq7g5SHRAl3pYUB9Ko4fsh4qleOyJv1z3KFSTSvwEcRO/Ew8ozEDYZSqpfoVW9uhJfYrNAXR0Z3VmeoAD+rVWtwP/13sE/3ICX3HhDG3CMc476dEEC0K3umSAD4j+ZQLVdFOsWL2C1TH5+4KiSWH+lMibo+B55hR3Gq40G1n25sGcN0mEcoU2wN9FCVyQLBhYOu9aHVLWjEKx2JIUZi5ySoHUAI9b8hGzaLMxCZDMLhv8MkcpTqEwz9KFDpCpqQhVmsGQN8m24wyB82FAKNmjgfKRsXRmsSESovAwXjBIoMKSG51p6Um8b3i7GISs7kjTq/PZoioCfJzfKdJTN0Q45kQEQuh9H88M3yEs3DbtRTKALraM0YC8laiMiOOe6ADmTcCiREeAWZelBaEXRaSuj2lx0xHaRYqF65O0Lo5OCFU18A8cMDE4MLYm9w2QSr9NgQAIcRxZsNpA7UJR0e71JL+VU+ISWFk5I97lra8uGg7GlQYhGd4Gc6rxsLFRiIeGO4abP4S4ekQ1fiqDCy87GZHd52fn5aaDGuvOmIofrzpVwMvtbreZ/855OaXTRcNiNE0wzGZSxbjg26v8ko8L537v/XCCWP2MFaArJpvnkep0pA+O86MWjRAZPQRfznZiSIaTppy6m3p6HrNSsY7fDtz7Cl4V/DJAjQDoyiL2uwf1UHVd2AIrzBUSlJaTj4k6NL97a/GqhWKU9RUmjnYKpm2r+JYUcrkCuZKvcYvrg8pDoUKQywY9GDWg03DUFSirlUXBS5SWn/KAntnf0IdHGL/7mwXqDG+LZYjbEdQmqUqq4y54TNmWUP7IgcAw5816YBzwiNIJiE9M4lPCzeI/FGBeYy3p6IAmH4AjXXmvQ4Iy0Y82NTobcAggT2Cdqz6Mx4TdGoq9fn2etrWKUNFyatAHydQTVUQ2S5OWVUlugcNvoUrlA8cJJz9MqOa/W3iVno4zDHfE7zhoY5f5lRTVZDhrQbR8LS4eRLz8iPMyBL6o4PiLlp89FjdokQLaSBmKHUwWp0na5fE3v9zny2YcDXG/jfI9sctulHRbdkI5a4GOPJx4oAJQzVZ/yYAado8KNZUdEFs9ZPiBsausotXMNebEgr0dyopuqfScFJ3ODNPHgclACPdccwv0YJGQdsN2lhoV4HVGBxcEUeUX/alr4nqpcc1CCR3vR7g40zteQg/JvWmFlUE4mAiTpHlYGrB7w+U2KdSwQz2QJKBe/5eiixWipmfP15AFWrK8Sh1GBBYLgzki1wTMhGQmagXqJ2+FuqJ8f0XzXCVJFHQdMAw8xco11HhM347alrAu+wmX3pDFABOvkC+WPX0Uhg1Z5MVHKNROxaR84YV3s12UcM+70cJ460SzEaKLyh472vOMD3XnaK7zxZcXlWqenEvcjmgGNR2OKbI1s8U+iwiW+HotHalp3e1MGDy6BMVIvajnAzkFHbeVsgjmJUkrP9OAwnEHYXVBqYx3q7LvXjoVR0mY8h+ZaOnh053pdsGkmbqhyryN01eVHySr+CkDYkSMeZ1xjPNVM+gVLTDKu2VGsMUJqWO4TwPDP0VOg2/8ITbAUaMGb4LjL7L+Pi11lEVMXTYIlAZ/QHmTENjyx3kDkBdfcvvQt6tKk6jYFM4EG5UXDTaF5+1ZjRz6W7MdJPC+wTkbDUim4p5QQH3b9kGk2Bkilyeur8Bc20wm5uJSBO95GfYDI1EZipoRaH7uVveneqz43tlTZGRQ4a7CNmMHgXyOQQOL6WQkgMUTQDT8vh21aSdz7ERiZT1jK9F+v6wgFvuEmGngSvIUR2CJkc5tx1QygfZnAruONobB1idCLB1FCfO7N1ZdRocT8/Wye+EnDiO9pzqIpnLDl4bkaRKW+ekBVwHn46Shw1X0tclt/0ROijuUB4kIInrVJU4buWf4YITJtjOJ6iKdr1u+flgQeFH70GxKjhdgt/MrwfB4K/sXczQ+9zYcrD4dhY6qZhZ010rrxggWA8JaZyg2pYij8ieYEg1aZJkZK9O1Re7sB0iouf60rK0Gd+AYlp7soqCBCDGwfKeUQhCBn0E0o0GS6PdmjLi0TtCYZeqazqwN+yNINIA8Lk3iPDnWUiIPLGNcHmZDxfeK0iAdxm/T7LnN+gemRL61hHIc0NCAZaiYJR+OHnLWSe8sLrK905B5eEJHNlWq4RmEXIaFTmo49f8w61+NwfEUyuJAwVqZCLFcyHBKAcIVj3sNzfEOXzVKIndxHw+AR93owhbCxUZf6Gs8cz6/1VdrFEPrv330+9s6BtMVPJ3zl/Uf9rUi0Z/opexfdL3ykF76e999GPfVv8fJv/Y/+/5hEMon1tqNFyVRevV9y9/uIvsG3dbB8GRRrgaEXfhx+2xeOFt+cEn3RZanNxdEe2+B6MHpNbrRE53PlDifPvFcp4kO78ILR0T4xyW/WGPyBsqGdoA7zJJCu1TKbGfhnqgnRbxbB2B3UZoeQ2bz2sTVnUwokTcTU21RxN1PYPS3Sar7T0eRIsyCNowr9amwoMU/od9s2APtiKNL6ENOlyKADstAEWKA+sdKDhrJ6BOhRJmZ+QJbAaZ3/5Fq0/lumCgEzGEbu3yi0Y4I4EgVAjqxh4HbuQn0GrRhOWyAfsglQJAVL1y/6yezS2k8RE2MstJLh92NOB3GCYgFXznF4d25qiP4ZCyI4RYGesut6FXK6GwPpKK8WHEkhYui0AyEmr5Ml3uBFtPFdnioI8RiCooa7Z1G1WuyIi3nSNglutc+xY8BkeW3JJXPK6jd2VIMpaSxpVtFq+R+ySK9J6WG5Qvt+C+QH1hyYUOVK7857nFmyDBYgZ/o+AnibzNVqyYCJQvyDXDTK+iXdkA71bY7TL3bvuLxLBQ8kbTvTEY9aqkQ3+MiLWbEgjLzOH+lXgco1ERgzd80rDCymlpaRQbOYnKG/ODoFl46lzT0cjM5FYVvv0qLUbD5lyJtMUaC1pFlTkNONx6lliaX9o0i/1vws5bNKn5OuENQEKmLlcP4o2ZmJjD4zzd3Fk32uQ4uRWkPSUqb4LBe3EXHdORNB2BWsws5daRnMfNVX7isPSb1hMQdAJi1/qmDMfRUlCU74pmnzjbXfL8PVG8NsW6IQM2Ne23iCPIpryJjYbVnm5hCvKpMa7HLViNiNc+xTfDIaKm3jctViD8A1M9YPJNk003VVr4Zo2MuGW8vil8SLaGpPXqG7I4DLdtl8a4Rbx1Lt4w5Huqaa1XzZBtj208EJVGcmKYEuaeN27zT9EE6a09JerXdEbpaNgNqYJdhP1NdqiPKsbDRUi86XvvNC7rME5mrSQtrzAZVndtSjCMqd8BmaeGR4l4YFULGRBeXIV9Y4yxLFdyoUNpiy2IhePSWzBofYPP0eIa2q5JP4j9G8at/AqoSsLAUuRXtvgsqX/zYwsE+of6oSDbUOo4RMJw+DOUTJq+hnqwKim9Yy/napyZNTc2rCq6V9jHtJbxGPDwlzWj/Sk3zF/BHOlT/fSjSq7FqlPI1q6J+ru8Aku008SFINXZfOfnZNOvGPMtEmn2gLPt+H4QLA+/SYe4j398auzhKIp2Pok3mPC5q1IN1HgR+mnEfc4NeeHYwd2/kpszR3cBn7ni9NbIqhtSWFW8xbUJuUPVOeeXu3j0IGZmFNiwaNZ6rH4/zQ2ODz6tFxRLsUYZu1bfd1uIvfQDt4YD/efKYv8VF8bHGDgK22w2Wqwpi43vNCOXFJZCGMqWiPbL8mil6tsmOTXAWCyMCw73e2rADZj2IK6rqksM3EXF2cbLb4vjB14wa/yXK5vwU+05MzERJ5nXsXsW21o7M+gO0js2OyKciP5uF2iXyb2DiptwQeHeqygkrNsqVCSlldxBMpwHi1vfc8RKpP/4L3Lmpq6DZcvhDDfxTCE3splacTcOtXdK2g303dIWBVe2wD/Gvja1cClFQ67gw0t1ZUttsUgQ1Veky8oOpS6ksYEc4bqseCbZy766SvL3FodmnahlWJRgVCNjPxhL/fk2wyvlKhITH/VQCipOI0dNcRa5B1M5HmOBjTLeZQJy237e2mobwmDyJNHePhdDmiknvLKaDbShL+Is1XTCJuLQd2wmdJL7+mKvs294whXQD+vtd88KKk0DXP8B1Xu9J+xo69VOuFgexgTrcvI6SyltuLix9OPuE6/iRJYoBMEXxU4shQMf4Fjqwf1PtnJ/wWSZd29rhZjRmTGgiGTAUQqRz+nCdjeMfYhsBD5Lv60KILWEvNEHfmsDs2L0A252351eUoYxAysVaCJVLdH9QFWAmqJDCODUcdoo12+gd6bW2boY0pBVHWL6LQDK5bYWh1V8vFvi0cRpfwv7cJiMX3AZNJuTddHehTIdU0YQ/sQ1dLoF2xQPcCuHKiuCWOY30DHe1OwcClLAhqAKyqlnIbH/8u9ScJpcS4kgp6HKDUdiOgRaRGSiUCRBjzI5gSksMZKqy7Sd51aeg0tgJ+x0TH9YH2Mgsap9N7ENZdEB0bey2DMTrBA1hn56SErNHf3tKtqyL9b6yXEP97/rc+jgD2N1LNUH6RM9AzP3kSipr06RkKOolR7HO768jjWiH1X92jA7dkg7gcNcjqsZCgfqWw0tPXdLg20cF6vnQypg7gLtkazrHAodyYfENPQZsdfnjMZiNu4nJO97D1/sQE+3vNFzrSDOKw+keLECYf7RJwVHeP/j79833oZ0egonYB2FlFE5qj02B/LVOMJQlsB8uNg3Leg4qtZwntsOSNidR0abbZmAK4sCzvt8Yiuz2yrNCJoH5O8XvX/vLeR/BBYTWj0sOPYM/jyxRd5+/JziKAABaPcw/34UA3aj/gLZxZgRCWN6m4m3demanNgsx0P237/Q+Ew5VYnJPkyCY0cIVHoFn2Ay/e7U4P19APbPFXEHX94N6KhEMPG7iwB3+I+O1jd5n6VSgHegxgaSawO6iQCYFgDsPSMsNOcUj4q3sF6KzGaH/0u5PQoAj/8zq6Uc9MoNrGqhYeb2jQo0WlGlXjxtanZLS24/OIN5Gx/2g684BPDQpwlqnkFcxpmP/osnOXrFuu4PqifouQH0eF5qCkvITQbJw/Zvy5mAHWC9oU+cTiYhJmSfKsCyt1cGVxisKu+NymEQIAyaCgud/V09qT3nk/9s/SWsYtha7yNpzBIMM40rCSGaJ9u6lEkl00vXBiEt7p9P5IBCiavynEOv7FgLqPdeqxRiCwuFVMolSIUBcoyfUC2e2FJSAUgYdVGFf0b0Kn2EZlK97yyxrT2MVgvtRikfdaAW8RwEEfN+B7/eK8bBdp7URpbqn1xcrC6d2UjdsKbzCjBFqkKkoZt7Mrhg6YagE7spkqj0jOrWM+UGQ0MUlG2evP1uE1p2xSv4dMK0dna6ENcNUF+xkaJ7B764NdxLCpuvhblltVRAf7vK5qPttJ/9RYFUUSGcLdibnz6mf7WkPO3MkUUhR2mAOuGv8IWw5XG1ZvoVMnjSAZe6T7WYA99GENxoHkMiKxHlCuK5Gd0INrISImHQrQmv6F4mqU/TTQ8nHMDzCRivKySQ8dqkpQgnUMnwIkaAuc6/FGq1hw3b2Sba398BhUwUZSAIO8XZvnuLdY2n6hOXws+gq9BHUKcKFA6kz6FDnpxLPICa3qGhnc97bo1FT/XJk48LrkHJ2CAtBv0RtN97N21plfpXHvZ8gMJb7Zc4cfI6MbPwsW7AilCSXMFIEUEmir8XLEklA0ztYbGpTTGqttp5hpFTTIqUyaAIqvMT9A/x+Ji5ejA4Bhxb/cl1pUdOD6epd3yilIdO6j297xInoiBPuEDW2/UfslDyhGkQs7Wy253bVnlT+SWg89zYIK/9KXFl5fe+jow2rd5FXv8zDPrmfMXiUPt9QBO/iK4QGbX5j/7Rx1c1vzsY8ONbP3lVIaPrhL4+1QrECTN3nyKavGG0gBBtHvTKhGoBHgMXHStFowN+HKrPriYu+OZ05Frn8okQrPaaxoKP1ULCS/cmKFN3gcH7HQlVjraCeQmtjg1pSQxeuqXiSKgLpxc/1OiZsU4+n4lz4hpahGyWBURLi4642n1gn9qz9bIsaCeEPJ0uJmenMWp2tJmIwLQ6VSgDYErOeBCfSj9P4G/vI7oIF+l/n5fp956QgxGvur77ynawAu3G9MdFbJbu49NZnWnnFcQHjxRuhUYvg1U/e84N4JTecciDAKb/KYIFXzloyuE1eYXf54MmhjTq7B/yBToDzzpx3tJCTo3HCmVPYfmtBRe3mPYEE/6RlTIxbf4fSOcaKFGk4gbaUWe44hVk9SZzhW80yfW5QWBHxmtUzvMhfVQli4gZTktIOZd9mjJ5hsbmzttaHQB29Am3dZkmx3g/qvYocyhZ2PXAWsNQiIaf+Q8W/MWPIK7/TjvCx5q2XRp4lVWydMc2wIQkhadDB0xsnw/kSEyGjLKjI4coVIwtubTF3E7MJ6LS6UOsJKj82XVAVPJJcepfewbzE91ivXZvOvYfsmMevwtPpfMzGmC7WJlyW2j0jh7AF1JLmwEJSKYwIvu6DHc3YnyLH9ZdIBnQ+nOVDRiP+REpqv++typYHIvoJyICGA40d8bR7HR2k7do6UQTHF4oriYeIQbxKe4Th6+/l1BjUtS9hqORh3MbgvYrStXTfSwaBOmAVQZzpYNqsAmQyjY56MUqty3c/xH6GuhNvNaG9vGbG6cPtBM8UA3e8r51D0AR9kozKuGGSMgLz3nAHxDNnc7GTwpLj7/6HeWp1iksDeTjwCLpxejuMtpMnGJgsiku1sOACwQ9ukzESiDRN77YNESxR5LphOlcASXA5uIts1LnBIcn1J7BLWs49DMALSnuz95gdOrTZr0u1SeYHinno/pE58xYoXbVO/S+FEMMs5qyWkMnp8Q3ClyTlZP52Y9nq7b8fITPuVXUk9ohG5EFHw4gAEcjFxfKb3xuAsEjx2z1wxNbSZMcgS9GKyW3R6KwJONgtA64LTyxWm8Bvudp0M1FdJPEGopM4Fvg7G/hsptkhCfHFegv4ENwxPeXmYhxwZy7js+BeM27t9ODBMynVCLJ7RWcBMteZJtvjOYHb5lOnCLYWNEMKC59BA7covu1cANa2PXL05iGdufOzkgFqqHBOrgQVUmLEc+Mkz4Rq8O6WkNr7atNkH4M8d+SD1t/tSzt3oFql+neVs+AwEI5JaBJaxARtY2Z4mKoUqxds4UpZ0sv3zIbNoo0J4fihldQTX3XNcuNcZmcrB5LTWMdzeRuAtBk3cZHYQF6gTi3PNuDJ0nmR+4LPLoHvxQIxRgJ9iNNXqf2SYJhcvCtJiVWo85TsyFOuq7EyBPJrAdhEgE0cTq16FQXhYPJFqSfiVn0IQnPOy0LbU4BeG94QjdYNB0CiQ3QaxQqD2ebSMiNjaVaw8WaM4Z5WnzcVDsr4eGweSLa2DE3BWViaxhZFIcSTjgxNCAfelg+hznVOYoe5VqTYs1g7WtfTm3e4/WduC6p+qqAM8H4ZyrJCGpewThTDPe6H7CzX/zQ8Tm+r65HeZn+MsmxUciEWPlAVaK/VBaQBWfoG/aRL/jSZIQfep/89GjasWmbaWzeEZ2R1FOjvyJT37O9B8046SRSKVEnXWlBqbkb5XCS3qFeuE9xb9+frEknxWB5h1D/hruz2iVDEAS7+qkEz5Ot5agHJc7WCdY94Ws61sURcX5nG8UELGBAHZ3i+3VulAyT0nKNNz4K2LBHBWJcTBX1wzf+//u/j/9+//v87+9/l9Lbh/L/uyNYiTsWV2LwsjaA6MxTuzFMqmxW8Jw/+IppdX8t/Clgi1rI1SN0UC/r6tX/4lUc2VV1OQReSeCsjUpKZchw4XUcjHfw6ryCV3R8s6VXm67vp4n+lcPV9gJwmbKQEsmrJi9c2vkwrm8HFbVYNTaRGq8D91t9n5+U+aD/hNtN3HjC/nC/vUoGFSCkXP+NlRcmLUqLbiUBl4LYf1U/CCvwtd3ryCH8gUmGITAxiH1O5rnGTz7y1LuFjmnFGQ1UWuM7HwfXtWl2fPFKklYwNUpF2IL/TmaRETjQiM5SJacI+3Gv5MBU8lP5Io6gWkawpyzNEVGqOdx4YlO1dCvjbWFZWbCmeiFKPSlMKtKcMFLs/KQxtgAHi7NZNCQ32bBAW2mbHflVZ8wXKi1JKVHkW20bnYnl3dKWJeWJOiX3oKPBD6Zbi0ZvSIuWktUHB8qDR8DMMh1ZfkBL9FS9x5r0hBGLJ8pUCJv3NYH+Ae8p40mZWd5m5fhobFjQeQvqTT4VKWIYfRL0tfaXKiVl75hHReuTJEcqVlug+eOIIc4bdIydtn2K0iNZPsYWQvQio2qbO3OqAlPHDDOB7DfjGEfVF51FqqNacd6QmgFKJpMfLp5DHTv4wXlONKVXF9zTJpDV4m1sYZqJPhotcsliZM8yksKkCkzpiXt+EcRQvSQqmBS9WdWkxMTJXPSw94jqI3varCjQxTazjlMH8jTS8ilaW8014/vwA/LNa+YiFoyyx3s/KswP3O8QW1jtq45yTM/DX9a8M4voTVaO2ebvw1EooDw/yg6Y1faY+WwrdVs5Yt0hQ5EwRfYXSFxray1YvSM+kYmlpLG2/9mm1MfmbKHXr44Ih8nVKb1M537ZANUkCtdsPZ80JVKVKabVHCadaLXg+IV8i5GSwpZti0h6diTaKs9sdpUKEpd7jDUpYmHtiX33SKiO3tuydkaxA7pEc9XIQEOfWJlszj5YpL5bKeQyT7aZSBOamvSHl8xsWvgo26IP/bqk+0EJUz+gkkcvlUlyPp2kdKFtt7y5aCdks9ZJJcFp5ZWeaWKgtnXMN3ORwGLBE0PtkEIek5FY2aVssUZHtsWIvnljMVJtuVIjpZup/5VL1yPOHWWHkOMc6YySWMckczD5jUj2mlLVquFaMU8leGVaqeXis+aRRL8zm4WuBk6cyWfGMxgtr8useQEx7k/PvRoZyd9nde1GUCV84gMX8Ogu/BWezYPSR27llzQnA97oo0pYyxobYUJfsj+ysTm9zJ+S4pk0TGo9VTG0KjqYhTmALfoDZVKla2b5yhv241PxFaLJs3i05K0AAIdcGxCJZmT3ZdT7CliR7q+kur7WdQjygYtOWRL9B8E4s4LI8KpAj7bE0dg7DLOaX+MGeAi0hMMSSWZEz+RudXbZCsGYS0QqiXjH9XQbd8sCB+nIVTq7/T/FDS+zWY9q7Z2fdq1tdLb6v3hKKVDAw5gjj6o9r1wHFROdHc18MJp4SJ2Ucvu+iQ9EgkekW8VCM+psM6y+/2SBy8tNN4a3L1MzP+OLsyvESo5gS7IQOnIqMmviJBVc6zbVG1n8eXiA3j46kmvvtJlewwNDrxk4SbJOtP/TV/lIVK9ueShNbbMHfwnLTLLhbZuO79ec5XvfgRwLFK+w1r5ZWW15rVFZrE+wKqNRv5KqsLNfpGgnoUU6Y71NxEmN7MyqwqAQqoIULOw/LbuUB2+uE75gJt+kq1qY4LoxV+qR/zalupea3D5+WMeaRIn0sAI6DDWDh158fqUb4YhAxhREbUN0qyyJYkBU4V2KARXDT65gW3gRsiv7xSPYEKLwzgriWcWgPr0sbZnv7m1XHNFW6xPdGNZUdxFiUYlmXNjDVWuu7LCkX/nVkrXaJhiYktBISC2xgBXQnNEP+cptWl1eG62a7CPXrnrkTQ5BQASbEqUZWMDiZUisKyHDeLFOaJILUo5f6iDt4ZO8MlqaKLto0AmTHVVbkGuyPa1R/ywZsWRoRDoRdNMMHwYTsklMVnlAd2S0282bgMI8fiJpDh69OSL6K3qbo20KfpNMurnYGQSr/stFqZ7hYsxKlLnKAKhsmB8AIpEQ4bd/NrTLTXefsE6ChRmKWjXKVgpGoPs8GAicgKVw4K0qgDgy1A6hFq1WRat3fHF+FkU+b6H4NWpOU3KXTxrIb2qSHAb+qhm8hiSROi/9ofapjxhyKxxntPpge6KL5Z4+WBMYkAcE6+0Hd3Yh2zBsK2MV3iW0Y6cvOCroXlRb2MMJtdWx+3dkFzGh2Pe3DZ9QpSqpaR/rE1ImOrHqYYyccpiLC22amJIjRWVAherTfpQLmo6/K2pna85GrDuQPlH1Tsar8isAJbXLafSwOof4gg9RkAGm/oYpBQQiPUoyDk2BCQ1k+KILq48ErFo4WSRhHLq/y7mgw3+L85PpP6xWr6cgp9sOjYjKagOrxF148uhuaWtjet953fh1IQiEzgC+d2IgBCcUZqgTAICm2bR8oCjDLBsmg+ThyhfD+zBalsKBY1Ce54Y/t9cwfbLu9SFwEgphfopNA3yNxgyDafUM3mYTovZNgPGdd4ZFFOj1vtfFW3u7N+iHEN1HkeesDMXKPyoCDCGVMo4GCCD6PBhQ3dRZIHy0Y/3MaE5zU9mTCrwwnZojtE+qNpMSkJSpmGe0EzLyFelMJqhfFQ7a50uXxZ8pCc2wxtAKWgHoeamR2O7R+bq7IbPYItO0esdRgoTaY38hZLJ5y02oIVwoPokGIzxAMDuanQ1vn2WDQ00Rh6o5QOaCRu99fwDbQcN0XAuqkFpxT/cfz3slGRVokrNU0iqiMAJFEbKScZdmSkTUznC0U+MfwFOGdLgsewRyPKwBZYSmy6U325iUhBQNxbAC3FLKDV9VSOuQpOOukJ/GAmu/tyEbX9DgEp6dv1zoU0IqzpG6gssSjIYRVPGgU1QAQYRgIT8gEV0EXr1sqeh2I6rXjtmoCYyEDCe/PkFEi/Q48FuT29p557iN+LCwk5CK/CZ2WdAdfQZh2Z9QGrzPLSNRj5igUWzl9Vi0rCqH8G1Kp4QMLkuwMCAypdviDXyOIk0AHTM8HBYKh3b0/F+DxoNj4ZdoZfCpQVdnZarqoMaHWnMLNVcyevytGsrXQEoIbubqWYNo7NRHzdc0zvT21fWVirj7g36iy6pxogfvgHp1xH1Turbz8QyyHnXeBJicpYUctbzApwzZ1HT+FPEXMAgUZetgeGMwt4G+DHiDT2Lu+PT21fjJCAfV16a/Wu1PqOkUHSTKYhWW6PhhHUlNtWzFnA7MbY+r64vkwdpfNB2JfWgWXAvkzd42K4lN9x7Wrg4kIKgXCb4mcW595MCPJ/cTfPAMQMFWwnqwde4w8HZYJFpQwcSMhjVz4B8p6ncSCN1X4klxoIH4BN2J6taBMj6lHkAOs8JJAmXq5xsQtrPIPIIp/HG6i21xMGcFgqDXSRF0xQg14d2uy6HgKE13LSvQe52oShF5Jx1R6avyL4thhXQZHfC94oZzuPUBKFYf1VvDaxIrtV6dNGSx7DO0i1p6CzBkuAmEqyWceQY7F9+U0ObYDzoa1iKao/cOD/v6Q9gHrrr1uCeOk8fST9MG23Ul0KmM3r+Wn6Hi6WAcL7gEeaykicvgjzkjSwFsAXIR81Zx4QJ6oosVyJkCcT+4xAldCcihqvTf94HHUPXYp3REIaR4dhpQF6+FK1H0i9i7Pvh8owu3lO4PT1iuqu+DkL2Bj9+kdfGAg2TXw03iNHyobxofLE2ibjsYDPgeEQlRMR7afXbSGQcnPjI2D+sdtmuQ771dbASUsDndU7t58jrrNGRzISvwioAlHs5FA+cBE5Ccznkd8NMV6BR6ksnKLPZnMUawRDU1MZ/ib3xCdkTblHKu4blNiylH5n213yM0zubEie0o4JhzcfAy3H5qh2l17uLooBNLaO+gzonTH2uF8PQu9EyH+pjGsACTMy4cHzsPdymUSXYJOMP3yTkXqvO/lpvt0cX5ekDEu9PUfBeZODkFuAjXCaGdi6ew4qxJ8PmFfwmPpkgQjQlWqomFY6UkjmcnAtJG75EVR+NpzGpP1Ef5qUUbfowrC3zcSLX3BxgWEgEx/v9cP8H8u1Mvt9/rMDYf6sjwU1xSOPBgzFEeJLMRVFtKo5QHsUYT8ZRLCah27599EuqoC9PYjYO6aoAMHB8X1OHwEAYouHfHB3nyb2B+SnZxM/vw/bCtORjLMSy5aZoEpvgdGvlJfNPFUu/p7Z4VVK1hiI0/UTuB3ZPq4ohEbm7Mntgc1evEtknaosgZSwnDC2BdMmibpeg48X8Ixl+/8+xXdbshQXUPPvx8jT3fkELivHSmqbhblfNFShWAyQnJ3WBU6SMYSIpTDmHjdLVAdlADdz9gCplZw6mTiHqDwIsxbm9ErGusiVpg2w8Q3khKV/R9Oj8PFeF43hmW/nSd99nZzhyjCX3QOZkkB6BsH4H866WGyv9E0hVAzPYah2tkRfQZMmP2rinfOeQalge0ovhduBjJs9a1GBwReerceify49ctOh5/65ATYuMsAkVltmvTLBk4oHpdl6i+p8DoNj4Fb2vhdFYer2JSEilEwPd5n5zNoGBXEjreg/wh2NFnNRaIUHSOXa4eJRwygZoX6vnWnqVdCRT1ARxeFrNBJ+tsdooMwqnYhE7zIxnD8pZH+P0Nu1wWxCPTADfNWmqx626IBJJq6NeapcGeOmbtXvl0TeWG0Y7OGGV4+EHTtNBIT5Wd0Bujl7inXgZgfXTM5efD3qDTJ54O9v3Bkv+tdIRlq1kXcVD0BEMirmFxglNPt5pedb1AnxuCYMChUykwsTIWqT23XDpvTiKEru1cTcEMeniB+HQDehxPXNmkotFdwUPnilB/u4Nx5Xc6l8J9jH1EgKZUUt8t8cyoZleDBEt8oibDmJRAoMKJ5Oe9CSWS5ZMEJvacsGVdXDWjp/Ype5x0p9PXB2PAwt2LRD3d+ftNgpuyvxlP8pB84oB1i73vAVpwyrmXW72hfW6Dzn9Jkj4++0VQ4d0KSx1AsDA4OtXXDo63/w+GD+zC7w5SJaxsmnlYRQ4dgdjA7tTl2KNLnpJ+mvkoDxtt1a4oPaX3EVqj96o9sRKBQqU7ZOiupeAIyLMD+Y3YwHx30XWHB5CQiw7q3mj1EDlP2eBsZbz79ayUMbyHQ7s8gu4Lgip1LiGJj7NQj905/+rgUYKAA5qdrlHKIknWmqfuR+PB8RdBkDg/NgnlT89G72h2NvySnj7UyBwD+mi/IWs1xWbxuVwUIVXun5cMqBtFbrccI+DILjsVQg6eeq0itiRfedn89CvyFtpkxaauEvSANuZmB1p8FGPbU94J9medwsZ9HkUYjmI7OH5HuxendLbxTaYrPuIfE2ffXFKhoNBUp33HsFAXmCV/Vxpq5AYgFoRr5Ay93ZLRlgaIPjhZjXZZChT+aE5iWAXMX0oSFQEtwjiuhQQItTQX5IYrKfKB+queTNplR1Hoflo5/I6aPPmACwQCE2jTOYo5Dz1cs7Sod0KTG/3kEDGk3kUaUCON19xSJCab3kNpWZhSWkO8l+SpW70Wn3g0ciOIJO5JXma6dbos6jyisuxXwUUhj2+1uGhcvuliKtWwsUTw4gi1c/diEEpZHoKoxTBeMDmhPhKTx7TXWRakV8imJR355DcIHkR9IREHxohP4TbyR5LtFU24umRPRmEYHbpe1LghyxPx7YgUHjNbbQFRQhh4KeU1EabXx8FS3JAxp2rwRDoeWkJgWRUSKw6gGP5U2PuO9V4ZuiKXGGzFQuRuf+tkSSsbBtRJKhCi3ENuLlXhPbjTKD4djXVnfXFds6Zb+1XiUrRfyayGxJq1+SYBEfbKlgjiSmk0orgTqzSS+DZ5rTqsJbttiNtp+KMqGE2AHGFw6jQqM5vD6vMptmXV9OAjq49Uf/Lx9Opam+Hn5O9p8qoBBAQixzQZ4eNVkO9sPzJAMyR1y4/RCQQ1s0pV5KAU5sKLw3tkcFbI/JqrjCsK4Mw+W8aod4lioYuawUiCyVWBE/qPaFi5bnkgpfu/ae47174rI1fqQoTbW0HrU6FAejq7ByM0V4zkZTg02/YJK2N7hUQRCeZ4BIgSEqgD8XsjzG6LIsSbuHoIdz/LhFzbNn1clci1NHWJ0/6/O8HJMdIpEZbqi1RrrFfoo/rI/7ufm2MPG5lUI0IYJ4MAiHRTSOFJ2oTverFHYXThkYFIoyFx6rMYFgaOKM4xNWdlOnIcKb/suptptgTOTdVIf4YgdaAjJnIAm4qNNHNQqqAzvi53GkyRCEoseUBrHohZsjUbkR8gfKtc/+Oa72lwxJ8Mq6HDfDATbfbJhzeIuFQJSiw1uZprHlzUf90WgqG76zO0eCB1WdPv1IT6sNxxh91GEL2YpgC97ikFHyoaH92ndwduqZ6IYjkg20DX33MWdoZk7QkcKUCgisIYslOaaLyvIIqRKWQj16jE1DlQWJJaPopWTJjXfixEjRJJo8g4++wuQjbq+WVYjsqCuNIQW3YjnxKe2M5ZKEqq+cX7ZVgnkbsU3RWIyXA1rxv4kGersYJjD//auldXGmcEbcfTeF16Y1708FB1HIfmWv6dSFi6oD4E+RIjCsEZ+kY7dKnwReJJw3xCjKvi3kGN42rvyhUlIz0Bp+fNSV5xwFiuBzG296e5s/oHoFtUyUplmPulIPl+e1CQIQVtjlzLzzzbV+D/OVQtYzo5ixtMi5BmHuG4N/uKfJk5UIREp7+12oZlKtPBomXSzAY0KgtbPzzZoHQxujnREUgBU+O/jKKhgxVhRPtbqyHiUaRwRpHv7pgRPyUrnE7fYkVblGmfTY28tFCvlILC04Tz3ivkNWVazA+OsYrxvRM/hiNn8Fc4bQBeUZABGx5S/xFf9Lbbmk298X7iFg2yeimvsQqqJ+hYbt6uq+Zf9jC+Jcwiccd61NKQtFvGWrgJiHB5lwi6fR8KzYS7EaEHf/ka9EC7H8D+WEa3TEACHBkNSj/cXxFeq4RllC+fUFm2xtstYLL2nos1DfzsC9vqDDdRVcPA3Ho95aEQHvExVThXPqym65llkKlfRXbPTRiDepdylHjmV9YTWAEjlD9DdQnCem7Aj/ml58On366392214B5zrmQz/9ySG2mFqEwjq5sFl5tYJPw5hNz8lyZPUTsr5E0F2C9VMPnZckWP7+mbwp/BiN7f4kf7vtGnZF2JGvjK/sDX1RtcFY5oPQnE4lIAYV49U3C9SP0LCY/9i/WIFK9ORjzM9kG/KGrAuwFmgdEpdLaiqQNpCTGZVuAO65afkY1h33hrqyLjZy92JK3/twdj9pafFcwfXONmPQWldPlMe7jlP24Js0v9m8bIJ9TgS2IuRvE9ZVRaCwSJYOtAfL5H/YS4FfzKWKbek+GFulheyKtDNlBtrdmr+KU+ibHTdalzFUmMfxw3f36x+3cQbJLItSilW9cuvZEMjKw987jykZRlsH/UI+HlKfo2tLwemBEeBFtmxF2xmItA/dAIfQ+rXnm88dqvXa+GapOYVt/2waFimXFx3TC2MUiOi5/Ml+3rj/YU6Ihx2hXgiDXFsUeQkRAD6wF3SCPi2flk7XwKAA4zboqynuELD312EJ88lmDEVOMa1W/K/a8tGylZRMrMoILyoMQzzbDJHNZrhH77L9qSC42HVmKiZ5S0016UTp83gOhCwz9XItK9fgXfK3F5d7nZCBUekoLxrutQaPHa16Rjsa0gTrzyjqTnmcIcrxg6X6dkKiucudc0DD5W4pJPf0vuDW8r5/uw24YfMuxFRpD2ovT2mFX79xH6Jf+MVdv2TYqR6/955QgVPe3JCD/WjAYcLA9tpXgFiEjge2J5ljeI/iUzg91KQuHkII4mmHZxC3XQORLAC6G7uFn5LOmlnXkjFdoO976moNTxElS8HdxWoPAkjjocDR136m2l+f5t6xaaNgdodOvTu0rievnhNAB79WNrVs6EsPgkgfahF9gSFzzAd+rJSraw5Mllit7vUP5YxA843lUpu6/5jAR0RvH4rRXkSg3nE+O5GFyfe+L0s5r3k05FyghSFnKo4TTgs07qj4nTLqOYj6qaW9knJTDkF5OFMYbmCP+8H16Ty482OjvERV6OFyw043L9w3hoJi408sR+SGo1WviXUu8d7qS+ehKjpKwxeCthsm2LBFSFeetx0x4AaKPxtp3CxdWqCsLrB1s/j5TAhc1jNZsXWl6tjo/WDoewxzg8T8NnhZ1niUwL/nhfygLanCnRwaFGDyLw+sfZhyZ1UtYTp8TYB6dE7R3VsKKH95CUxJ8u8N+9u2/9HUNKHW3x3w5GQrfOPafk2w5qZq8MaHT0ebeY3wIsp3rN9lrpIsW9c1ws3VNV+JwNz0Lo9+V7zZr6GD56We6gWVIvtmam5GPPkVAbr74r6SwhuL+TRXtW/0pgyX16VNl4/EAD50TnUPuwrW6OcUO2VlWXS0inq872kk7GUlW6o/ozFKq+Sip6LcTtSDfDrPTcCHhx75H8BeRon+KG2wRwzfDgWhALmiWOMO6h3pm1UCZEPEjScyk7tdLx6WrdA2N1QTPENvNnhCQjW6kl057/qv7IwRryHrZBCwVSbLLnFRiHdTwk8mlYixFt1slEcPD7FVht13HyqVeyD55HOXrh2ElAxJyinGeoFzwKA91zfrdLvDxJSjzmImfvTisreI25EDcVfGsmxLVbfU8PGe/7NmWWKjXcdTJ11jAlVIY/Bv/mcxg/Q10vCHwKG1GW/XbJq5nxDhyLqiorn7Wd7VEVL8UgVzpHMjQ+Z8DUgSukiVwWAKkeTlVVeZ7t1DGnCgJVIdBPZAEK5f8CDyDNo7tK4/5DBjdD5MPV86TaEhGsLVFPQSI68KlBYy84FievdU9gWh6XZrugvtCZmi9vfd6db6V7FmoEcRHnG36VZH8N4aZaldq9zZawt1uBFgxYYx+Gs/qW1jwANeFy+LCoymyM6zgG7j8bGzUyLhvrbJkTYAEdICEb4kMKusKT9V3eIwMLsjdUdgijMc+7iKrr+TxrVWG0U+W95SGrxnxGrE4eaJFfgvAjUM4SAy8UaRwE9j6ZQH5qYAWGtXByvDiLSDfOD0yFA3UCMKSyQ30fyy1mIRg4ZcgZHLNHWl+c9SeijOvbOJxoQy7lTN2r3Y8p6ovxvUY74aOYbuVezryqXA6U+fcp6wSV9X5/OZKP18tB56Ua0gMyxJI7XyNT7IrqN8GsB9rL/kP5KMrjXxgqKLDa+V5OCH6a5hmOWemMUsea9vQl9t5Oce76PrTyTv50ExOqngE3PHPfSL//AItPdB7kGnyTRhVUUFNdJJ2z7RtktZwgmQzhBG/G7QsjZmJfCE7k75EmdIKH7xlnmDrNM/XbTT6FzldcH/rcRGxlPrv4qDScqE7JSmQABJWqRT/TUcJSwoQM+1jvDigvrjjH8oeK2in1S+/yO1j8xAws/T5u0VnIvAPqaE1atNuN0cuRliLcH2j0nTL4JpcR7w9Qya0JoaHgsOiALLCCzRkl1UUESz+ze/gIXHGtDwgYrK6pCFKJ1webSDog4zTlPkgXZqxlQDiYMjhDpwTtBW2WxthWbov9dt2X9XFLFmcF+eEc1UaQ74gqZiZsdj63pH1qcv3Vy8JYciogIVKsJ8Yy3J9w/GhjWVSQAmrS0BPOWK+RKV+0lWqXgYMnIFwpcZVD7zPSp547i9HlflB8gVnSTGmmq1ClO081OW/UH11pEQMfkEdDFzjLC1Cdo/BdL3s7cXb8J++Hzz1rhOUVZFIPehRiZ8VYu6+7Er7j5PSZu9g/GBdmNzJmyCD9wiswj9BZw+T3iBrg81re36ihMLjoVLoWc+62a1U/7qVX5CpvTVF7rocSAKwv4cBVqZm7lLDS/qoXs4fMs/VQi6BtVbNA3uSzKpQfjH1o3x4LrvkOn40zhm6hjduDglzJUwA0POabgdXIndp9fzhOo23Pe+Rk9GSLX0d71Poqry8NQDTzNlsa+JTNG9+UrEf+ngxCjGEsDCc0bz+udVRyHQI1jmEO3S+IOQycEq7XwB6z3wfMfa73m8PVRp+iOgtZfeSBl01xn03vMaQJkyj7vnhGCklsCWVRUl4y+5oNUzQ63B2dbjDF3vikd/3RUMifPYnX5Glfuk2FsV/7RqjI9yKTbE8wJY+74p7qXO8+dIYgjtLD/N8TJtRh04N9tXJA4H59IkMmLElgvr0Q5OCeVfdAt+5hkh4pQgfRMHpL74XatLQpPiOyHRs/OdmHtBf8nOZcxVKzdGclIN16lE7kJ+pVMjspOI+5+TqLRO6m0ZpNXJoZRv9MPDRcAfJUtNZHyig/s2wwReakFgPPJwCQmu1I30/tcBbji+Na53i1W1N+BqoY7Zxo+U/M9XyJ4Ok2SSkBtoOrwuhAY3a03Eu6l8wFdIG1cN+e8hopTkiKF093KuH/BcB39rMiGDLn6XVhGKEaaT/vqb/lufuAdpGExevF1+J9itkFhCfymWr9vGb3BTK4j598zRH7+e+MU9maruZqb0pkGxRDRE1CD4Z8LV4vhgPidk5w2Bq816g3nHw1//j3JStz7NR9HIWELO8TMn3QrP/zZp//+Dv9p429/ogv+GATR+n/UdF+ns9xNkXZQJXY4t9jMkJNUFygAtzndXwjss+yWH9HAnLQQfhAskdZS2l01HLWv7L7us5uTH409pqitvfSOQg/c+Zt7k879P3K9+WV68n7+3cZfuRd/dDPP/03rn+d+/nBvWfgDlt8+LzjqJ/vx3CnNOwiXhho778C96iD+1TBvRZYeP+EH81LE0vVwOOrmCLB3iKzI1x+vJEsrPH4uF0UB4TJ4X3uDfOCo3PYpYe0MF4bouh0DQ/l43fxUF7Y+dpWuvTSffB0yO2UQUETI/LwCZE3BvnevJ7c9zUlY3H58xzke6DNFDQG8n0WtDN4LAYN4nogKav1ezOfK/z+t6tsCTp+dhx4ymjWuCJk1dEUifDP+HyS4iP/Vg9B2jTo9L4NbiBuDS4nuuHW6H+JDQn2JtqRKGkEQPEYE7uzazXIkcxIAqUq1esasZBETlEZY7y7Jo+RoV/IsjY9eIMkUvr42Hc0xqtsavZvhz1OLwSxMOTuqzlhb0WbdOwBH9EYiyBjatz40bUxTHbiWxqJ0uma19qhPruvcWJlbiSSH48OLDDpaHPszvyct41ZfTu10+vjox6kOqK6v0K/gEPphEvMl/vwSv+A4Hhm36JSP9IXTyCZDm4kKsqD5ay8b1Sad/vaiyO5N/sDfEV6Z4q95E+yfjxpqBoBETW2C7xl4pIO2bDODDFurUPwE7EWC2Uplq+AHmBHvir2PSgkR12/Ry65O0aZtQPeXi9mTlF/Wj5GQ+vFkYyhXsLTjrBSP9hwk4GPqDP5rBn5/l8b0mLRAvRSzXHc293bs3s8EsdE3m2exxidWVB4joHR+S+dz5/W+v00K3TqN14CDBth8eWcsTbiwXPsygHdGid0PEdy6HHm2v/IUuV5RVapYmzGsX90mpnIdNGcOOq64Dbc5GUbYpD9M7S+6cLY//QmjxFLP5cuTFRm3vA5rkFZroFnO3bjHF35uU3s8mvL7Tp9nyTc4mymTJ5sLIp7umSnGkO23faehtz3mmTS7fbVx5rP7x3HXIjRNeq/A3xCs9JNB08c9S9BF2O3bOur0ItslFxXgRPdaapBIi4dRpKGxVz7ir69t/bc9qTxjvtOyGOfiLGDhR4fYywHv1WdOplxIV87TpLBy3Wc0QP0P9s4G7FBNOdITS/tep3o3h1TEa5XDDii7fWtqRzUEReP2fbxz7bHWWJdbIOxOUJZtItNZpTFRfj6vm9sYjRxQVO+WTdiOhdPeTJ+8YirPvoeL88l5iLYOHd3b/Imkq+1ZN1El3UikhftuteEYxf1Wujof8Pr4ICTu5ezZyZ4tHQMxlzUHLYO2VMOoNMGL/20S5i2o2obfk+8qqdR7xzbRDbgU0lnuIgz4LelQ5XS7xbLuSQtNS95v3ZUOdaUx/Qd8qxCt6xf2E62yb/HukLO6RyorV8KgYl5YNc75y+KvefrxY+lc/64y9kvWP0a0bDz/rojq+RWjO06WeruWqNFU7r3HPIcLWRql8ICZsz2Ls/qOm/CLn6++X+Qf7mGspYCrZod/lpl6Rw4xN/yuq8gqV4B6aHk1hVE1SfILxWu5gvXqbfARYQpspcxKp1F/c8XOPzkZvmoSw+vEqBLdrq1fr3wAPv5NnM9i8F+jdAuxkP5Z71c6uhK3enlnGymr7UsWZKC12qgUiG8XXGQ9mxnqz4GSIlybF9eXmbqj2sHX+a1jf0gRoONHRdRSrIq03Ty89eQ1GbV/Bk+du4+V15zls+vvERvZ4E7ZbnxWTVjDjb4o/k8jlw44pTIrUGxxuJvBeO+heuhOjpFsO6lVJ/aXnJDa/bM0Ql1cLbXE/Pbv3EZ3vj3iVrB5irjupZTzlnv677NrI9UNYNqbPgp/HZXS+lJmk87wec+7YOxTDo2aw2l3NfDr34VNlvqWJBknuK7oSlZ6/T10zuOoPZOeoIk81N+sL843WJ2Q4Z0fZ3scsqC/JV2fuhWi1jGURSKZV637lf53Xnnx16/vKEXY89aVJ0fv91jGdfG+G4+sniwHes4hS+udOr4RfhFhG/F5gUG35QaU+McuLmclb5ZWmR+sG5V6nf+PxYzlrnFGxpZaK8eqqVo0NfmAWoGfXDiT/FnUbWvzGDOTr8aktOZWg4BYvz5YH12ZbfCcGtNk+dDAZNGWvHov+PIOnY9Prjg8h/wLRrT69suaMVZ5bNuK00lSVpnqSX1NON/81FoP92rYndionwgOiA8WMf4vc8l15KqEEG4yAm2+WAN5Brfu1sq9suWYqgoajgOYt/JCk1gC8wPkK+XKCtRX6TAtgvrnuBgNRmn6I8lVDipOVB9kX6Oxkp4ZKyd1M6Gj8/v2U7k+YQBL95Kb9PQENucJb0JlW3b5tObN7m/Z1j1ev388d7o15zgXsI9CikAGAViR6lkJv7nb4Ak40M2G8TJ447kN+pvfHiOFjSUSP6PM+QfbAywKJCBaxSVxpizHseZUyUBhq59vFwrkyGoRiHbo0apweEZeSLuNiQ+HAekOnarFg00dZNXaPeoHPTRR0FmEyqYExOVaaaO8c0uFUh7U4e/UxdBmthlBDgg257Q33j1hA7HTxSeTTSuVnPZbgW1nodwmG16aKBDKxEetv7D9OjO0JhrbJTnoe+kcGoDJazFSO8/fUN9Jy/g4XK5PUkw2dgPDGpJqBfhe7GA+cjzfE/EGsMM+FV9nj9IAhrSfT/J3QE5TEIYyk5UjsI6ZZcCPr6A8FZUF4g9nnpVmjX90MLSQysIPD0nFzqwCcSJmIb5mYv2Cmk+C1MDFkZQyCBq4c/Yai9LJ6xYkGS/x2s5/frIW2vmG2Wrv0APpCdgCA9snFvfpe8uc0OwdRs4G9973PGEBnQB5qKrCQ6m6X/H7NInZ7y/1674/ZXOVp7OeuCRk8JFS516VHrnH1HkIUIlTIljjHaQtEtkJtosYul77cVwjk3gW1Ajaa6zWeyHGLlpk3VHE2VFzT2yI/EvlGUSz2H9zYE1s4nsKMtMqNyKNtL/59CpFJki5Fou6VXGm8vWATEPwrUVOLvoA8jLuwOzVBCgHB2Cr5V6OwEWtJEKokJkfc87h+sNHTvMb0KVTp5284QTPupoWvQVUwUeogZR3kBMESYo0mfukewRVPKh5+rzLQb7HKjFFIgWhj1w3yN/qCNoPI8XFiUgBNT1hCHBsAz8L7Oyt8wQWUFj92ONn/APyJFg8hzueqoJdNj57ROrFbffuS/XxrSXLTRgj5uxZjpgQYceeMc2wJrahReSKpm3QjHfqExTLAB2ipVumE8pqcZv8LYXQiPHHsgb5BMW8zM5pvQit+mQx8XGaVDcfVbLyMTlY8xcfmm/RSAT/H09UQol5gIz7rESDmnrQ4bURIB4iRXMDQwxgex1GgtDxKp2HayIkR+E/aDmCttNm2C6lytWdfOVzD6X2SpDWjQDlMRvAp1symWv4my1bPCD+E1EmGnMGWhNwmycJnDV2WrQNxO45ukEb08AAffizYKVULp15I4vbNK5DzWwCSUADfmKhfGSUqii1L2UsE8rB7mLuHuUJZOx4+WiizHBJ/hwboaBzhpNOVvgFTf5cJsHef7L1HCI9dOUUbb+YxUJWn6dYOLz+THi91kzY5dtO5c+grX7v0jEbsuoOGnoIreDIg/sFMyG+TyCLIcAWd1IZ1UNFxE8Uie13ucm40U2fcxC0u3WLvLOxwu+F7MWUsHsdtFQZ7W+nlfCASiAKyh8rnP3EyDByvtJb6Kax6/HkLzT9SyEyTMVM1zPtM0MJY14DmsWh4MgD15Ea9Hd00AdkTZ0EiG5NAGuIBzQJJ0JR0na+OB7lQA6UKxMfihIQ7GCCnVz694QvykWXTxpS2soDu+smru1UdIxSvAszBFD1c8c6ZOobA8bJiJIvuycgIXBQIXWwhyTgZDQxJTRXgEwRNAawGSXO0a1DKjdihLVNp/taE/xYhsgwe+VpKEEB4LlraQyE84gEihxCnbfoyOuJIEXy2FIYw+JjRusybKlU2g/vhTSGTydvCvXhYBdtAXtS2v7LkHtmXh/8fly1do8FI/D0f8UbzVb5h+KRhMGSAmR2mhi0YG/uj7wgxcfzCrMvdjitUIpXDX8ae2JcF/36qUWIMwN6JsjaRGNj+jEteGDcFyTUb8X/NHSucKMJp7pduxtD6KuxVlyxxwaeiC1FbGBESO84lbyrAugYxdl+2N8/6AgWpo/IeoAOcsG35IA/b3AuSyoa55L7llBLlaWlEWvuCFd8f8NfcTUgzJv6CbB+6ohWwodlk9nGWFpBAOaz5uEW5xBvmjnHFeDsb0mXwayj3mdYq5gxxNf3H3/tnCgHwjSrpSgVxLmiTtuszdRUFIsn6LiMPjL808vL1uQhDbM7aA43mISXReqjSskynIRcHCJ9qeFopJfx9tqyUoGbSwJex/0aDE3plBPGtNBYgWbdLom3+Q/bjdizR2/AS/c/dH/d3G7pyl1qDXgtOFtEqidwLqxPYtrNEveasWq3vPUUtqTeu8gpov4bdOQRI2kneFvRNMrShyVeEupK1PoLDPMSfWMIJcs267mGB8X9CehQCF0gIyhpP10mbyM7lwW1e6TGvHBV1sg/UyTghHPGRqMyaebC6pbB1WKNCQtlai1GGvmq9zUKaUzLaXsXEBYtHxmFbEZ2kJhR164LhWW2Tlp1dhsGE7ZgIWRBOx3Zcu2DxgH+G83WTPceKG0TgQKKiiNNOlWgvqNEbnrk6fVD+AqRam2OguZb0YWSTX88N+i/ELSxbaUUpPx4vJUzYg/WonSeA8xUK6u7DPHgpqWpEe6D4cXg5uK9FIYVba47V/nb+wyOtk+zG8RrS4EA0ouwa04iByRLSvoJA2FzaobbZtXnq8GdbfqEp5I2dpfpj59TCVif6+E75p665faiX8gS213RqBxTZqfHP46nF6NSenOneuT+vgbLUbdTH2/t0REFXZJOEB6DHvx6N6g9956CYrY/AYcm9gELJXYkrSi+0F0geKDZgOCIYkLU/+GOW5aGj8mvLFgtFH5+XC8hvAE3CvHRfl4ofM/Qwk4x2A+R+nyc9gNu/9Tem7XW4XRnyRymf52z09cTOdr+PG6+P/Vb4QiXlwauc5WB1z3o+IJjlbxI8MyWtSzT+k4sKVbhF3xa+vDts3NxXa87iiu+xRH9cAprnOL2h6vV54iQRXuOAj1s8nLFK8gZ70ThIQcWdF19/2xaJmT0efrkNDkWbpAQPdo92Z8+Hn/aLjbOzB9AI/k12fPs9HhUNDJ1u6ax2VxD3R6PywN7BrLJ26z6s3QoMp76qzzwetrDABKSGkfW5PwS1GvYNUbK6uRqxfyVGNyFB0E+OugMM8kKwmJmupuRWO8XkXXXQECyRVw9UyIrtCtcc4oNqXqr7AURBmKn6Khz3eBN96LwIJrAGP9mr/59uTOSx631suyT+QujDd4beUFpZ0kJEEnjlP+X/Kr2kCKhnENTg4BsMTOmMqlj2WMFLRUlVG0fzdCBgUta9odrJfpVdFomTi6ak0tFjXTcdqqvWBAzjY6hVrH9sbt3Z9gn+AVDpTcQImefbB4edirjzrsNievve4ZT4EUZWV3TxEsIW+9MT/RJoKfZZYSRGfC1CwPG/9rdMOM8qR/LUYvw5f/emUSoD7YSFuOoqchdUg2UePd1eCtFSKgxLSZ764oy4lvRCIH6bowPxZWwxNFctksLeil47pfevcBipkkBIc4ngZG+kxGZ71a72KQ7VaZ6MZOZkQJZXM6kb/Ac0/XkJx8dvyfJcWbI3zONEaEPIW8GbkYjsZcwy+eMoKrYjDmvEEixHzkCSCRPRzhOfJZuLdcbx19EL23MA8rnjTZZ787FGMnkqnpuzB5/90w1gtUSRaWcb0eta8198VEeZMUSfIhyuc4/nywFQ9uqn7jdqXh+5wwv+RK9XouNPbYdoEelNGo34KyySwigsrfCe0v/PlWPvQvQg8R0KgHO18mTVThhQrlbEQ0Kp/JxPdjHyR7E1QPw/ut0r+HDDG7BwZFm9IqEUZRpv2WpzlMkOemeLcAt5CsrzskLGaVOAxyySzZV/D2EY7ydNZMf8e8VhHcKGHAWNszf1EOq8fNstijMY4JXyATwTdncFFqcNDfDo+mWFvxJJpc4sEZtjXyBdoFcxbUmniCoKq5jydUHNjYJxMqN1KzYV62MugcELVhS3Bnd+TLLOh7dws/zSXWzxEb4Nj4aFun5x4kDWLK5TUF/yCXB/cZYvI9kPgVsG2jShtXkxfgT+xzjJofXqPEnIXIQ1lnIdmVzBOM90EXvJUW6a0nZ/7XjJGl8ToO3H/fdxnxmTNKBZxnkpXLVgLXCZywGT3YyS75w/PAH5I/jMuRspej8xZObU9kREbRA+kqjmKRFaKGWAmFQspC+QLbKPf0RaK3OXvBSWqo46p70ws/eZpu6jCtZUgQy6r4tHMPUdAgWGGUYNbuv/1a6K+MVFsd3T183+T8capSo6m0+Sh57fEeG/95dykGJBQMj09DSW2bY0mUonDy9a8trLnnL5B5LW3Nl8rJZNysO8Zb+80zXxqUGFpud3Qzwb7bf+8mq6x0TAnJU9pDQR9YQmZhlna2xuxJt0aCO/f1SU8gblOrbIyMsxTlVUW69VJPzYU2HlRXcqE2lLLxnObZuz2tT9CivfTAUYfmzJlt/lOPgsR6VN64/xQd4Jlk/RV7UKVv2Gx/AWsmTAuCWKhdwC+4HmKEKYZh2Xis4KsUR1BeObs1c13wqFRnocdmuheaTV30gvVXZcouzHKK5zwrN52jXJEuX6dGx3BCpV/++4f3hyaW/cQJLFKqasjsMuO3B3WlMq2gyYfdK1e7L2pO/tRye2mwzwZPfdUMrl5wdLqdd2Kv/wVtnpyWYhd49L6rsOV+8HXPrWH2Kup89l2tz6bf80iYSd+V4LROSOHeamvexR524q4r43rTmtFzQvArpvWfLYFZrbFspBsXNUqqenjxNNsFXatZvlIhk7teUPfK+YL32F8McTnjv0BZNppb+vshoCrtLXjIWq3EJXpVXIlG6ZNL0dh6qEm2WMwDjD3LfOfkGh1/czYc/0qhiD2ozNnH4882MVVt3JbVFkbwowNCO3KL5IoYW5wlVeGCViOuv1svZx7FbzxKzA4zGqBlRRaRWCobXaVq4yYCWbZf8eiJwt3OY+MFiSJengcFP2t0JMfzOiJ7cECvpx7neg1Rc5x+7myPJOXt2FohVRyXtD+/rDoTOyGYInJelZMjolecVHUhUNqvdZWg2J2t0jPmiLFeRD/8fOT4o+NGILb+TufCo9ceBBm3JLVn+MO2675n7qiEX/6W+188cYg3Zn5NSTjgOKfWFSAANa6raCxSoVU851oJLY11WIoYK0du0ec5E4tCnAPoKh71riTsjVIp3gKvBbEYQiNYrmH22oLQWA2AdwMnID6PX9b58dR2QKo4qag1D1Z+L/FwEKTR7osOZPWECPJIHQqPUsM5i/CH5YupVPfFA5pHUBcsesh8eO5YhyWnaVRPZn/BmdXVumZWPxMP5e28zm2uqHgFoT9CymHYNNrzrrjlXZM06HnzDxYNlI5b/QosxLmmrqDFqmogQdqk0WLkUceoAvQxHgkIyvWU69BPFr24VB6+lx75Rna6dGtrmOxDnvBojvi1/4dHjVeg8owofPe1cOnxU1ioh016s/Vudv9mhV9f35At+Sh28h1bpp8xhr09+vf47Elx3Ms6hyp6QvB3t0vnLbOhwo660cp7K0vvepabK7YJfxEWWfrC2YzJfYOjygPwfwd/1amTqa0hZ5ueebhWYVMubRTwIjj+0Oq0ohU3zfRfuL8gt59XsHdwKtxTQQ4Y2qz6gisxnm2UdlmpEkgOsZz7iEk6QOt8BuPwr+NR01LTqXmJo1C76o1N274twJvl+I069TiLpenK/miRxhyY8jvYV6W1WuSwhH9q7kuwnJMtm7IWcqs7HsnyHSqWXLSpYtZGaR1V3t0gauninFPZGtWskF65rtti48UV9uV9KM8kfDYs0pgB00S+TlzTXV6P8mxq15b9En8sz3jWSszcifZa/NuufPNnNTb031pptt0+sRSH/7UG8pzbsgtt3OG3ut7B9JzDMt2mTZuyRNIV8D54TuTrpNcHtgmMlYJeiY9XS83NYJicjRjtJSf9BZLsQv629QdDsKQhTK5CnXhpk7vMNkHzPhm0ExW/VCGApHfPyBagtZQTQmPHx7g5IXXsrQDPzIVhv2LB6Ih138iSDww1JNHrDvzUxvp73MsQBVhW8EbrReaVUcLB1R3PUXyaYG4HpJUcLVxMgDxcPkVRQpL7VTAGabDzbKcvg12t5P8TSGQkrj/gOrpnbiDHwluA73xbXts/L7u468cRWSWRtgTwlQnA47EKg0OiZDgFxAKQQUcsbGomITgeXUAAyKe03eA7Mp4gnyKQmm0LXJtEk6ddksMJCuxDmmHzmVhO+XaN2A54MIh3niw5CF7PwiXFZrnA8wOdeHLvvhdoqIDG9PDI7UnWWHq526T8y6ixJPhkuVKZnoUruOpUgOOp3iIKBjk+yi1vHo5cItHXb1PIKzGaZlRS0g5d3MV2pD8FQdGYLZ73aae/eEIUePMc4NFz8pIUfLCrrF4jVWH5gQneN3S8vANBmUXrEcKGn6hIUN95y1vpsvLwbGpzV9L0ZKTan6TDXM05236uLJcIEMKVAxKNT0K8WljuwNny3BNQRfzovA85beI9zr1AGNYnYCVkR1aGngWURUrgqR+gRrQhxW81l3CHevjvGEPzPMTxdsIfB9dfGRbZU0cg/1mcubtECX4tvaedmNAvTxCJtc2QaoUalGfENCGK7IS/O8CRpdOVca8EWCRwv2sSWE8CJPW5PCugjCXPd3h6U60cPD+bdhtXZuYB6stcoveE7Sm5MM2yvfUHXFSW7KzLmi7/EeEWL0wqcOH9MOSKjhCHHmw+JGLcYE/7SBZQCRggox0ZZTAxrlzNNXYXL5fNIjkdT4YMqVUz6p8YDt049v4OXGdg3qTrtLBUXOZf7ahPlZAY/O+7Sp0bvGSHdyQ8B1LOsplqMb9Se8VAE7gIdSZvxbRSrfl+Lk5Qaqi5QJceqjitdErcHXg/3MryljPSIAMaaloFm1cVwBJ8DNmkDqoGROSHFetrgjQ5CahuKkdH5pRPigMrgTtlFI8ufJPJSUlGgTjbBSvpRc0zypiUn6U5KZqcRoyrtzhmJ7/caeZkmVRwJQeLOG8LY6vP5ChpKhc8Js0El+n6FXqbx9ItdtLtYP92kKfaTLtCi8StLZdENJa9Ex1nOoz1kQ7qxoiZFKRyLf4O4CHRT0T/0W9F8epNKVoeyxUXhy3sQMMsJjQJEyMOjmOhMFgOmmlscV4eFi1CldU92yjwleirEKPW3bPAuEhRZV7JsKV3Lr5cETAiFuX5Nw5UlF7d2HZ96Bh0sgFIL5KGaKSoVYVlvdKpZJVP5+NZ7xDEkQhmDgsDKciazJCXJ6ZN2B3FY2f6VZyGl/t4aunGIAk/BHaS+i+SpdRfnB/OktOvyjinWNfM9Ksr6WwtCa1hCmeRI6icpFM4o8quCLsikU0tMoZI/9EqXRMpKGaWzofl4nQuVQm17d5fU5qXCQeCDqVaL9XJ9qJ08n3G3EFZS28SHEb3cdRBdtO0YcTzil3QknNKEe/smQ1fTb0XbpyNB5xAeuIlf+5KWlEY0DqJbsnzJlQxJPOVyHiKMx5Xu9FcEv1Fbg6Fhm4t+Jyy5JC1W3YO8dYLsO0PXPbxodBgttTbH3rt9Cp1lJIk2r3O1Zqu94eRbnIz2f50lWolYzuKsj4PMok4abHLO8NAC884hiXx5Fy5pWKO0bWL7uEGXaJCtznhP67SlQ4xjWIfgq6EpZ28QMtuZK7JC0RGbl9nA4XtFLug/NLMoH1pGt9IonAJqcEDLyH6TDROcbsmGPaGIxMo41IUAnQVPMPGByp4mOmh9ZQMkBAcksUK55LsZj7E5z5XuZoyWCKu6nHmDq22xI/9Z8YdxJy4kWpD16jLVrpwGLWfyOD0Wd+cBzFBxVaGv7S5k9qwh/5t/LQEXsRqI3Q9Rm3QIoaZW9GlsDaKOUyykyWuhNOprSEi0s1G4rgoiX1V743EELti+pJu5og6X0g6oTynUqlhH9k6ezyRi05NGZHz0nvp3HOJr7ebrAUFrDjbkFBObEvdQWkkUbL0pEvMU46X58vF9j9F3j6kpyetNUBItrEubW9ZvMPM4qNqLlsSBJqOH3XbNwv/cXDXNxN8iFLzUhteisYY+RlHYOuP29/Cb+L+xv+35Rv7xudnZ6ohK4cMPfCG8KI7dNmjNk/H4e84pOxn/sZHK9psfvj8ncA8qJz7O8xqbxESDivGJOZzF7o5PJLQ7g34qAWoyuA+x3btU98LT6ZyGyceIXjrqob2CAVql4VOTQPUQYvHV/g4zAuCZGvYQBtf0wmd5lilrvuEn1BXLny01B4h4SMDlYsnNpm9d7m9h578ufpef9Z4WplqWQvqo52fyUA7J24eZD5av6SyGIV9kpmHNqyvdfzcpEMw97BvknV2fq+MFHun9BT3Lsf8pbzvisWiIQvYkng+8Vxk1V+dli1u56kY50LRjaPdotvT5BwqtwyF+emo/z9J3yVUVGfKrxQtJMOAQWoQii/4dp9wgybSa5mkucmRLtEQZ/pz0tL/NVcgWAd95nEQ3Tg6tNbuyn3Iepz65L3huMUUBntllWuu4DbtOFSMSbpILV4fy6wlM0SOvi6CpLh81c1LreIvKd61uEWBcDw1lUBUW1I0Z+m/PaRlX+PQ/oxg0Ye6KUiIiTF4ADNk59Ydpt5/rkxmq9tV5Kcp/eQLUVVmBzQNVuytQCP6Ezd0G8eLxWyHpmZWJ3bAzkWTtg4lZlw42SQezEmiUPaJUuR/qklVA/87S4ArFCpALdY3QRdUw3G3XbWUp6aq9z0zUizcPa7351p9JXOZyfdZBFnqt90VzQndXB/mwf8LC9STj5kenVpNuqOQQP3mIRJj7eV21FxG8VAxKrEn3c+XfmZ800EPb9/5lIlijscUbB6da0RQaMook0zug1G0tKi/JBC4rw7/D3m4ARzAkzMcVrDcT2SyFtUdWAsFlsPDFqV3N+EjyXaoEePwroaZCiLqEzb8MW+PNE9TmTC01EzWli51PzZvUqkmyuROU+V6ik+Le/9qT6nwzUzf9tP68tYei0YaDGx6kAd7jn1cKqOCuYbiELH9zYqcc4MnRJjkeGiqaGwLImhyeKs+xKJMBlOJ05ow9gGCKZ1VpnMKoSCTbMS+X+23y042zOb5MtcY/6oBeAo1Vy89OTyhpavFP78jXCcFH0t7Gx24hMEOm2gsEfGabVpQgvFqbQKMsknFRRmuPHcZu0Su/WMFphZvB2r/EGbG72rpGGho3h+Msz0uGzJ7hNK2uqQiE1qmn0zgacKYYZBCqsxV+sjbpoVdSilW/b94n2xNb648VmNIoizqEWhBnsen+d0kbCPmRItfWqSBeOd9Wne3c6bcd6uvXOJ6WdiSsuXq0ndhqrQ4QoWUjCjYtZ0EAhnSOP1m44xkf0O7jXghrzSJWxP4a/t72jU29Vu2rvu4n7HfHkkmQOMGSS+NPeLGO5I73mC2B7+lMiBQQZRM9/9liLIfowupUFAbPBbR+lxDM6M8Ptgh1paJq5Rvs7yEuLQv/7d1oU2woFSb3FMPWQOKMuCuJ7pDDjpIclus5TeEoMBy2YdVB4fxmesaCeMNsEgTHKS5WDSGyNUOoEpcC2OFWtIRf0w27ck34/DjxRTVIcc9+kqZE6iMSiVDsiKdP/Xz5XfEhm/sBhO50p1rvJDlkyyxuJ9SPgs7YeUJBjXdeAkE+P9OQJm6SZnn1svcduI78dYmbkE2mtziPrcjVisXG78spLvbZaSFx/Rks9zP4LKn0Cdz/3JsetkT06A8f/yCgMO6Mb1Hme0JJ7b2wZz1qleqTuKBGokhPVUZ0dVu+tnQYNEY1fmkZSz6+EGZ5EzL7657mreZGR3jUfaEk458PDniBzsSmBKhDRzfXameryJv9/D5m6HIqZ0R+ouCE54Dzp4IJuuD1e4Dc5i+PpSORJfG23uVgqixAMDvchMR0nZdH5brclYwRoJRWv/rlxGRI5ffD5NPGmIDt7vDE1434pYdVZIFh89Bs94HGGJbTwrN8T6lh1HZFTOB4lWzWj6EVqxSMvC0/ljWBQ3F2kc/mO2b6tWonT2JEqEwFts8rz2h+oWNds9ceR2cb7zZvJTDppHaEhK5avWqsseWa2Dt5BBhabdWSktS80oMQrL4TvAM9b5HMmyDnO+OkkbMXfUJG7eXqTIG6lqSOEbqVR+qYdP7uWb57WEJqzyh411GAVsDinPs7KvUeXItlcMdOUWzXBH6zscymV1LLVCtc8IePojzXHF9m5b5zGwBRdzcyUJkiu938ApmAayRdJrX1PmVguWUvt2ThQ62czItTyWJMW2An/hdDfMK7SiFQlGIdAbltHz3ycoh7j9V7GxNWBpbtcSdqm4XxRwTawc3cbZ+xfSv9qQfEkDKfZTwCkqWGI/ur250ItXlMlh6vUNWEYIg9A3GzbgmbqvTN8js2YMo87CU5y6nZ4dbJLDQJj9fc7yM7tZzJDZFtqOcU8+mZjYlq4VmifI23iHb1ZoT9E+kT2dolnP1AfiOkt7PQCSykBiXy5mv637IegWSKj9IKrYZf4Lu9+I7ub+mkRdlvYzehh/jaJ9n7HUH5b2IbgeNdkY7wx1yVzxS7pbvky6+nmVUtRllEFfweUQ0/nG017WoUYSxs+j2B4FV/F62EtHlMWZXYrjGHpthnNb1x66LKZ0Qe92INWHdfR/vqp02wMS8r1G4dJqHok8KmQ7947G13a4YXbsGgHcBvRuVu1eAi4/A5+ZixmdSXM73LupB/LH7O9yxLTVXJTyBbI1S49TIROrfVCOb/czZ9pM4JsZx8kUz8dQGv7gUWKxXvTH7QM/3J2OuXXgciUhqY+cgtaOliQQVOYthBLV3xpESZT3rmfEYNZxmpBbb24CRao86prn+i9TNOh8VxRJGXJfXHATJHs1T5txgc/opYrY8XjlGQQbRcoxIBcnVsMjmU1ymmIUL4dviJXndMAJ0Yet+c7O52/p98ytlmAsGBaTAmMhimAnvp1TWNGM9BpuitGj+t810CU2UhorrjPKGtThVC8WaXw04WFnT5fTjqmPyrQ0tN3CkLsctVy2xr0ZWgiWVZ1OrlFjjxJYsOiZv2cAoOvE+7sY0I/TwWcZqMoyIKNOftwP7w++Rfg67ljfovKYa50if3fzE/8aPYVey/Nq35+nH2sLPh/fP5TsylSKGOZ4k69d2PnH43+kq++sRXHQqGArWdwhx+hpwQC6JgT2uxehYU4Zbw7oNb6/HLikPyJROGK2ouyr+vzseESp9G50T4AyFrSqOQ0rroCYP4sMDFBrHn342EyZTMlSyk47rHSq89Y9/nI3zG5lX16Z5lxphguLOcZUndL8wNcrkyjH82jqg8Bo8OYkynrxZvbFno5lUS3OPr8Ko3mX9NoRPdYOKKjD07bvgFgpZ/RF+YzkWvJ/Hs/tUbfeGzGWLxNAjfDzHHMVSDwB5SabQLsIZHiBp43FjGkaienYoDd18hu2BGwOK7U3o70K/WY/kuuKdmdrykIBUdG2mvE91L1JtTbh20mOLbk1vCAamu7utlXeGU2ooVikbU/actcgmsC1FKk2qmj3GWeIWbj4tGIxE7BLcBWUvvcnd/lYxsMV4F917fWeFB/XbINN3qGvIyTpCalz1lVewdIGqeAS/gB8Mi+sA+BqDiX3VGD2eUunTRbSY+AuDy4E3Qx3hAhwnSXX+B0zuj3eQ1miS8Vux2z/l6/BkWtjKGU72aJkOCWhGcSf3+kFkkB15vGOsQrSdFr6qTj0gBYiOlnBO41170gOWHSUoBVRU2JjwppYdhIFDfu7tIRHccSNM5KZOFDPz0TGMAjzzEpeLwTWp+kn201kU6NjbiMQJx83+LX1e1tZ10kuChJZ/XBUQ1dwaBHjTDJDqOympEk8X2M3VtVw21JksChA8w1tTefO3RJ1FMbqZ01bHHkudDB/OhLfe7P5GOHaI28ZXKTMuqo0hLWQ4HabBsGG7NbP1RiXtETz074er6w/OerJWEqjmkq2y51q1BVI+JUudnVa3ogBpzdhFE7fC7kybrAt2Z6RqDjATAUEYeYK45WMupBKQRtQlU+uNsjnzj6ZmGrezA+ASrWxQ6LMkHRXqXwNq7ftv28dUx/ZSJciDXP2SWJsWaN0FjPX9Yko6LobZ7aYW/IdUktI9apTLyHS8DyWPyuoZyxN1TK/vtfxk3HwWh6JczZC8Ftn0bIJay2g+n5wd7lm9rEsKO+svqVmi+c1j88hSCxbzrg4+HEP0Nt1/B6YW1XVm09T1CpAKjc9n18hjqsaFGdfyva1ZG0Xu3ip6N6JGpyTSqY5h4BOlpLPaOnyw45PdXTN+DtAKg7DLrLFTnWusoSBHk3s0d7YouJHq85/R09Tfc37ENXZF48eAYLnq9GLioNcwDZrC6FW6godB8JnqYUPvn0pWLfQz0lM0Yy8Mybgn84Ds3Q9bDP10bLyOV+qzxa4Rd9Dhu7cju8mMaONXK3UqmBQ9qIg7etIwEqM/kECk/Dzja4Bs1xR+Q/tCbc8IKrSGsTdJJ0vge7IG20W687uVmK6icWQ6cD3lwFzgNMGtFvO5qyJeKflGLAAcQZOrkxVwy3cWvqlGpvjmf9Qe6Ap20MPbV92DPV0OhFM4kz8Yr0ffC2zLWSQ1kqY6QdQrttR3kh1YLtQd1kCEv5hVoPIRWl5ERcUTttBIrWp6Xs5Ehh5OUUwI5aEBvuiDmUoENmnVw1FohCrbRp1A1E+XSlWVOTi7ADW+5Ohb9z1vK4qx5R5lPdGCPBJZ00mC+Ssp8VUbgpGAvXWMuWQQRbCqI6Rr2jtxZxtfP7W/8onz+yz0Gs76LaT5HX9ecyiZCB/ZR/gFtMxPsDwohoeCRtiuLxE1GM1vUEUgBv86+eehL58/P56QFGQ/MqOe/vC76L63jzmeax4exd/OKTUvkXg+fOJUHych9xt/9goJMrapSgvXrj8+8vk/N80f22Sewj6cyGqt1B6mztoeklVHHraouhvHJaG/OuBz6DHKMpFmQULU1bRWlyYE0RPXYYkUycIemN7TLtgNCJX6BqdyxDKkegO7nJK5xQ7OVYDZTMf9bVHidtk6DQX9Et+V9M7esgbsYBdEeUpsB0Xvw2kd9+rI7V+m47u+O/tq7mw7262HU1WlS9uFzsV6JxIHNmUCy0QS9e077JGRFbG65z3/dOKB/Zk+yDdKpUmdXjn/aS3N5nv4fK7bMHHmPlHd4E2+iTbV5rpzScRnxk6KARuDTJ8Q1LpK2mP8gj1EbuJ9RIyY+EWK4hCiIDBAS1Tm2IEXAFfgKPgdL9O6mAa06wjCcUAL6EsxPQWO9VNegBPm/0GgkZbDxCynxujX/92vmGcjZRMAY45puak2sFLCLSwXpEsyy5fnF0jGJBhm+fNSHKKUUfy+276A7/feLOFxxUuHRNJI2Osenxyvf8DAGObT60pfTTlhEg9u/KKkhJqm5U1/+BEcSkpFDA5XeCqxwXmPac1jcuZ3JWQ+p0NdWzb/5v1ZvF8GtMTFFEdQjpLO0bwPb0BHNWnip3liDXI2fXf05jjvfJ0NpjLCUgfTh9CMFYVFKEd4Z/OG/2C+N435mnK+9t1gvCiVcaaH7rK4+PjCvpVNiz+t2QyqH1O8x3JKZVl6Q+Lp/XK8wMjVMslOq9FdSw5FtUs/CptXH9PW+wbWHgrV17R5jTVOtGtKFu3nb80T+E0tv9QkzW3J2dbaw/8ddAKZ0pxIaEqLjlPrji3VgJ3GvdFvlqD8075woxh4fVt0JZE0KVFsAvqhe0dqN9b35jtSpnYMXkU+vZq+IAHad3IHc2s/LYrnD1anfG46IFiMIr9oNbZDWvwthqYNqOigaKd/XlLU4XHfk/PXIjPsLy/9/kAtQ+/wKH+hI/IROWj5FPvTZAT9f7j4ZXQyG4M0TujMAFXYkKvEHv1xhySekgXGGqNxWeWKlf8dDAlLuB1cb/qOD+rk7cmwt+1yKpk9cudqBanTi6zTbXRtV8qylNtjyOVKy1HTz0GW9rjt6sSjAZcT5R+KdtyYb0zyqG9pSLuCw5WBwAn7fjBjKLLoxLXMI+52L9cLwIR2B6OllJZLHJ8vDxmWdtF+QJnmt1rsHPIWY20lftk8fYePkAIg6Hgn532QoIpegMxiWgAOfe5/U44APR8Ac0NeZrVh3gEhs12W+tVSiWiUQekf/YBECUy5fdYbA08dd7VzPAP9aiVcIB9k6tY7WdJ1wNV+bHeydNtmC6G5ICtFC1ZwmJU/j8hf0I8TRVKSiz5oYIa93EpUI78X8GYIAZabx47/n8LDAAJ0nNtP1rpROprqKMBRecShca6qXuTSI3jZBLOB3Vp381B5rCGhjSvh/NSVkYp2qIdP/Bg=";
+  }, {} ],
+  6: [ function(require, module, exports) {
+   var data = require("./dictionary-browser");
+   exports.init = function() {
+    exports.dictionary = data.init();
+   };
+   exports.offsetsByLength = new Uint32Array([ 0, 0, 0, 0, 0, 4096, 9216, 21504, 35840, 44032, 53248, 63488, 74752, 87040, 93696, 100864, 104704, 106752, 108928, 113536, 115968, 118528, 119872, 121280, 122016 ]);
+   exports.sizeBitsByLength = new Uint8Array([ 0, 0, 0, 0, 10, 10, 11, 11, 10, 10, 10, 10, 10, 9, 9, 8, 7, 7, 8, 7, 7, 6, 6, 5, 5 ]);
+   exports.minDictionaryWordLength = 4;
+   exports.maxDictionaryWordLength = 24;
+  }, {
+   "./dictionary-browser": 4
+  } ],
+  7: [ function(require, module, exports) {
+   function HuffmanCode(bits, value) {
+    this.bits = bits;
+    this.value = value;
+   }
+   exports.HuffmanCode = HuffmanCode;
+   var MAX_LENGTH = 15;
+   function GetNextKey(key, len) {
+    var step = 1 << len - 1;
+    while (key & step) {
+     step >>= 1;
+    }
+    return (key & step - 1) + step;
+   }
+   function ReplicateValue(table, i, step, end, code) {
+    do {
+     end -= step;
+     table[i + end] = new HuffmanCode(code.bits, code.value);
+    } while (end > 0);
+   }
+   function NextTableBitSize(count, len, root_bits) {
+    var left = 1 << len - root_bits;
+    while (len < MAX_LENGTH) {
+     left -= count[len];
+     if (left <= 0) break;
+     ++len;
+     left <<= 1;
+    }
+    return len - root_bits;
+   }
+   exports.BrotliBuildHuffmanTable = function(root_table, table, root_bits, code_lengths, code_lengths_size) {
+    var start_table = table;
+    var code;
+    var len;
+    var symbol;
+    var key;
+    var step;
+    var low;
+    var mask;
+    var table_bits;
+    var table_size;
+    var total_size;
+    var sorted;
+    var count = new Int32Array(MAX_LENGTH + 1);
+    var offset = new Int32Array(MAX_LENGTH + 1);
+    sorted = new Int32Array(code_lengths_size);
+    for (symbol = 0; symbol < code_lengths_size; symbol++) {
+     count[code_lengths[symbol]]++;
+    }
+    offset[1] = 0;
+    for (len = 1; len < MAX_LENGTH; len++) {
+     offset[len + 1] = offset[len] + count[len];
+    }
+    for (symbol = 0; symbol < code_lengths_size; symbol++) {
+     if (code_lengths[symbol] !== 0) {
+      sorted[offset[code_lengths[symbol]]++] = symbol;
+     }
+    }
+    table_bits = root_bits;
+    table_size = 1 << table_bits;
+    total_size = table_size;
+    if (offset[MAX_LENGTH] === 1) {
+     for (key = 0; key < total_size; ++key) {
+      root_table[table + key] = new HuffmanCode(0, sorted[0] & 65535);
+     }
+     return total_size;
+    }
+    key = 0;
+    symbol = 0;
+    for (len = 1, step = 2; len <= root_bits; ++len, step <<= 1) {
+     for (;count[len] > 0; --count[len]) {
+      code = new HuffmanCode(len & 255, sorted[symbol++] & 65535);
+      ReplicateValue(root_table, table + key, step, table_size, code);
+      key = GetNextKey(key, len);
+     }
+    }
+    mask = total_size - 1;
+    low = -1;
+    for (len = root_bits + 1, step = 2; len <= MAX_LENGTH; ++len, step <<= 1) {
+     for (;count[len] > 0; --count[len]) {
+      if ((key & mask) !== low) {
+       table += table_size;
+       table_bits = NextTableBitSize(count, len, root_bits);
+       table_size = 1 << table_bits;
+       total_size += table_size;
+       low = key & mask;
+       root_table[start_table + low] = new HuffmanCode(table_bits + root_bits & 255, table - start_table - low & 65535);
+      }
+      code = new HuffmanCode(len - root_bits & 255, sorted[symbol++] & 65535);
+      ReplicateValue(root_table, table + (key >> root_bits), step, table_size, code);
+      key = GetNextKey(key, len);
+     }
+    }
+    return total_size;
+   };
+  }, {} ],
+  8: [ function(require, module, exports) {
+   function PrefixCodeRange(offset, nbits) {
+    this.offset = offset;
+    this.nbits = nbits;
+   }
+   exports.kBlockLengthPrefixCode = [ new PrefixCodeRange(1, 2), new PrefixCodeRange(5, 2), new PrefixCodeRange(9, 2), new PrefixCodeRange(13, 2), new PrefixCodeRange(17, 3), new PrefixCodeRange(25, 3), new PrefixCodeRange(33, 3), new PrefixCodeRange(41, 3), new PrefixCodeRange(49, 4), new PrefixCodeRange(65, 4), new PrefixCodeRange(81, 4), new PrefixCodeRange(97, 4), new PrefixCodeRange(113, 5), new PrefixCodeRange(145, 5), new PrefixCodeRange(177, 5), new PrefixCodeRange(209, 5), new PrefixCodeRange(241, 6), new PrefixCodeRange(305, 6), new PrefixCodeRange(369, 7), new PrefixCodeRange(497, 8), new PrefixCodeRange(753, 9), new PrefixCodeRange(1265, 10), new PrefixCodeRange(2289, 11), new PrefixCodeRange(4337, 12), new PrefixCodeRange(8433, 13), new PrefixCodeRange(16625, 24) ];
+   exports.kInsertLengthPrefixCode = [ new PrefixCodeRange(0, 0), new PrefixCodeRange(1, 0), new PrefixCodeRange(2, 0), new PrefixCodeRange(3, 0), new PrefixCodeRange(4, 0), new PrefixCodeRange(5, 0), new PrefixCodeRange(6, 1), new PrefixCodeRange(8, 1), new PrefixCodeRange(10, 2), new PrefixCodeRange(14, 2), new PrefixCodeRange(18, 3), new PrefixCodeRange(26, 3), new PrefixCodeRange(34, 4), new PrefixCodeRange(50, 4), new PrefixCodeRange(66, 5), new PrefixCodeRange(98, 5), new PrefixCodeRange(130, 6), new PrefixCodeRange(194, 7), new PrefixCodeRange(322, 8), new PrefixCodeRange(578, 9), new PrefixCodeRange(1090, 10), new PrefixCodeRange(2114, 12), new PrefixCodeRange(6210, 14), new PrefixCodeRange(22594, 24) ];
+   exports.kCopyLengthPrefixCode = [ new PrefixCodeRange(2, 0), new PrefixCodeRange(3, 0), new PrefixCodeRange(4, 0), new PrefixCodeRange(5, 0), new PrefixCodeRange(6, 0), new PrefixCodeRange(7, 0), new PrefixCodeRange(8, 0), new PrefixCodeRange(9, 0), new PrefixCodeRange(10, 1), new PrefixCodeRange(12, 1), new PrefixCodeRange(14, 2), new PrefixCodeRange(18, 2), new PrefixCodeRange(22, 3), new PrefixCodeRange(30, 3), new PrefixCodeRange(38, 4), new PrefixCodeRange(54, 4), new PrefixCodeRange(70, 5), new PrefixCodeRange(102, 5), new PrefixCodeRange(134, 6), new PrefixCodeRange(198, 7), new PrefixCodeRange(326, 8), new PrefixCodeRange(582, 9), new PrefixCodeRange(1094, 10), new PrefixCodeRange(2118, 24) ];
+   exports.kInsertRangeLut = [ 0, 0, 8, 8, 0, 16, 8, 16, 16 ];
+   exports.kCopyRangeLut = [ 0, 8, 0, 8, 16, 0, 16, 8, 16 ];
+  }, {} ],
+  9: [ function(require, module, exports) {
+   function BrotliInput(buffer) {
+    this.buffer = buffer;
+    this.pos = 0;
+   }
+   BrotliInput.prototype.read = function(buf, i, count) {
+    if (this.pos + count > this.buffer.length) {
+     count = this.buffer.length - this.pos;
+    }
+    for (var p = 0; p < count; p++) buf[i + p] = this.buffer[this.pos + p];
+    this.pos += count;
+    return count;
+   };
+   exports.BrotliInput = BrotliInput;
+   function BrotliOutput(buf) {
+    this.buffer = buf;
+    this.pos = 0;
+   }
+   BrotliOutput.prototype.write = function(buf, count) {
+    if (this.pos + count > this.buffer.length) throw new Error("Output buffer is not large enough");
+    this.buffer.set(buf.subarray(0, count), this.pos);
+    this.pos += count;
+    return count;
+   };
+   exports.BrotliOutput = BrotliOutput;
+  }, {} ],
+  10: [ function(require, module, exports) {
+   var BrotliDictionary = require("./dictionary");
+   var kIdentity = 0;
+   var kOmitLast1 = 1;
+   var kOmitLast2 = 2;
+   var kOmitLast3 = 3;
+   var kOmitLast4 = 4;
+   var kOmitLast5 = 5;
+   var kOmitLast6 = 6;
+   var kOmitLast7 = 7;
+   var kOmitLast8 = 8;
+   var kOmitLast9 = 9;
+   var kUppercaseFirst = 10;
+   var kUppercaseAll = 11;
+   var kOmitFirst1 = 12;
+   var kOmitFirst2 = 13;
+   var kOmitFirst3 = 14;
+   var kOmitFirst4 = 15;
+   var kOmitFirst5 = 16;
+   var kOmitFirst6 = 17;
+   var kOmitFirst7 = 18;
+   var kOmitFirst9 = 20;
+   function Transform(prefix, transform, suffix) {
+    this.prefix = new Uint8Array(prefix.length);
+    this.transform = transform;
+    this.suffix = new Uint8Array(suffix.length);
+    for (var i = 0; i < prefix.length; i++) this.prefix[i] = prefix.charCodeAt(i);
+    for (var i = 0; i < suffix.length; i++) this.suffix[i] = suffix.charCodeAt(i);
+   }
+   var kTransforms = [ new Transform("", kIdentity, ""), new Transform("", kIdentity, " "), new Transform(" ", kIdentity, " "), new Transform("", kOmitFirst1, ""), new Transform("", kUppercaseFirst, " "), new Transform("", kIdentity, " the "), new Transform(" ", kIdentity, ""), new Transform("s ", kIdentity, " "), new Transform("", kIdentity, " of "), new Transform("", kUppercaseFirst, ""), new Transform("", kIdentity, " and "), new Transform("", kOmitFirst2, ""), new Transform("", kOmitLast1, ""), new Transform(", ", kIdentity, " "), new Transform("", kIdentity, ", "), new Transform(" ", kUppercaseFirst, " "), new Transform("", kIdentity, " in "), new Transform("", kIdentity, " to "), new Transform("e ", kIdentity, " "), new Transform("", kIdentity, '"'), new Transform("", kIdentity, "."), new Transform("", kIdentity, '">'), new Transform("", kIdentity, "\n"), new Transform("", kOmitLast3, ""), new Transform("", kIdentity, "]"), new Transform("", kIdentity, " for "), new Transform("", kOmitFirst3, ""), new Transform("", kOmitLast2, ""), new Transform("", kIdentity, " a "), new Transform("", kIdentity, " that "), new Transform(" ", kUppercaseFirst, ""), new Transform("", kIdentity, ". "), new Transform(".", kIdentity, ""), new Transform(" ", kIdentity, ", "), new Transform("", kOmitFirst4, ""), new Transform("", kIdentity, " with "), new Transform("", kIdentity, "'"), new Transform("", kIdentity, " from "), new Transform("", kIdentity, " by "), new Transform("", kOmitFirst5, ""), new Transform("", kOmitFirst6, ""), new Transform(" the ", kIdentity, ""), new Transform("", kOmitLast4, ""), new Transform("", kIdentity, ". The "), new Transform("", kUppercaseAll, ""), new Transform("", kIdentity, " on "), new Transform("", kIdentity, " as "), new Transform("", kIdentity, " is "), new Transform("", kOmitLast7, ""), new Transform("", kOmitLast1, "ing "), new Transform("", kIdentity, "\n\t"), new Transform("", kIdentity, ":"), new Transform(" ", kIdentity, ". "), new Transform("", kIdentity, "ed "), new Transform("", kOmitFirst9, ""), new Transform("", kOmitFirst7, ""), new Transform("", kOmitLast6, ""), new Transform("", kIdentity, "("), new Transform("", kUppercaseFirst, ", "), new Transform("", kOmitLast8, ""), new Transform("", kIdentity, " at "), new Transform("", kIdentity, "ly "), new Transform(" the ", kIdentity, " of "), new Transform("", kOmitLast5, ""), new Transform("", kOmitLast9, ""), new Transform(" ", kUppercaseFirst, ", "), new Transform("", kUppercaseFirst, '"'), new Transform(".", kIdentity, "("), new Transform("", kUppercaseAll, " "), new Transform("", kUppercaseFirst, '">'), new Transform("", kIdentity, '="'), new Transform(" ", kIdentity, "."), new Transform(".com/", kIdentity, ""), new Transform(" the ", kIdentity, " of the "), new Transform("", kUppercaseFirst, "'"), new Transform("", kIdentity, ". This "), new Transform("", kIdentity, ","), new Transform(".", kIdentity, " "), new Transform("", kUppercaseFirst, "("), new Transform("", kUppercaseFirst, "."), new Transform("", kIdentity, " not "), new Transform(" ", kIdentity, '="'), new Transform("", kIdentity, "er "), new Transform(" ", kUppercaseAll, " "), new Transform("", kIdentity, "al "), new Transform(" ", kUppercaseAll, ""), new Transform("", kIdentity, "='"), new Transform("", kUppercaseAll, '"'), new Transform("", kUppercaseFirst, ". "), new Transform(" ", kIdentity, "("), new Transform("", kIdentity, "ful "), new Transform(" ", kUppercaseFirst, ". "), new Transform("", kIdentity, "ive "), new Transform("", kIdentity, "less "), new Transform("", kUppercaseAll, "'"), new Transform("", kIdentity, "est "), new Transform(" ", kUppercaseFirst, "."), new Transform("", kUppercaseAll, '">'), new Transform(" ", kIdentity, "='"), new Transform("", kUppercaseFirst, ","), new Transform("", kIdentity, "ize "), new Transform("", kUppercaseAll, "."), new Transform(" ", kIdentity, ""), new Transform(" ", kIdentity, ","), new Transform("", kUppercaseFirst, '="'), new Transform("", kUppercaseAll, '="'), new Transform("", kIdentity, "ous "), new Transform("", kUppercaseAll, ", "), new Transform("", kUppercaseFirst, "='"), new Transform(" ", kUppercaseFirst, ","), new Transform(" ", kUppercaseAll, '="'), new Transform(" ", kUppercaseAll, ", "), new Transform("", kUppercaseAll, ","), new Transform("", kUppercaseAll, "("), new Transform("", kUppercaseAll, ". "), new Transform(" ", kUppercaseAll, "."), new Transform("", kUppercaseAll, "='"), new Transform(" ", kUppercaseAll, ". "), new Transform(" ", kUppercaseFirst, '="'), new Transform(" ", kUppercaseAll, "='"), new Transform(" ", kUppercaseFirst, "='") ];
+   exports.kTransforms = kTransforms;
+   exports.kNumTransforms = kTransforms.length;
+   function ToUpperCase(p, i) {
+    if (p[i] < 192) {
+     if (p[i] >= 97 && p[i] <= 122) {
+      p[i] ^= 32;
+     }
+     return 1;
+    }
+    if (p[i] < 224) {
+     p[i + 1] ^= 32;
+     return 2;
+    }
+    p[i + 2] ^= 5;
+    return 3;
+   }
+   exports.transformDictionaryWord = function(dst, idx, word, len, transform) {
+    var prefix = kTransforms[transform].prefix;
+    var suffix = kTransforms[transform].suffix;
+    var t = kTransforms[transform].transform;
+    var skip = t < kOmitFirst1 ? 0 : t - (kOmitFirst1 - 1);
+    var i = 0;
+    var start_idx = idx;
+    var uppercase;
+    if (skip > len) {
+     skip = len;
+    }
+    var prefix_pos = 0;
+    while (prefix_pos < prefix.length) {
+     dst[idx++] = prefix[prefix_pos++];
+    }
+    word += skip;
+    len -= skip;
+    if (t <= kOmitLast9) {
+     len -= t;
+    }
+    for (i = 0; i < len; i++) {
+     dst[idx++] = BrotliDictionary.dictionary[word + i];
+    }
+    uppercase = idx - len;
+    if (t === kUppercaseFirst) {
+     ToUpperCase(dst, uppercase);
+    } else if (t === kUppercaseAll) {
+     while (len > 0) {
+      var step = ToUpperCase(dst, uppercase);
+      uppercase += step;
+      len -= step;
+     }
+    }
+    var suffix_pos = 0;
+    while (suffix_pos < suffix.length) {
+     dst[idx++] = suffix[suffix_pos++];
+    }
+    return idx - start_idx;
+   };
+  }, {
+   "./dictionary": 6
+  } ],
+  11: [ function(require, module, exports) {
+   Module["BrotliDecode"] = require("./dec/decode").BrotliDecompressBuffer;
+  }, {
+   "./dec/decode": 3
+  } ],
+  12: [ function(require, module, exports) {
+   "use strict";
+   exports.byteLength = byteLength;
+   exports.toByteArray = toByteArray;
+   exports.fromByteArray = fromByteArray;
+   var lookup = [];
+   var revLookup = [];
+   var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;
+   var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+   for (var i = 0, len = code.length; i < len; ++i) {
+    lookup[i] = code[i];
+    revLookup[code.charCodeAt(i)] = i;
+   }
+   revLookup["-".charCodeAt(0)] = 62;
+   revLookup["_".charCodeAt(0)] = 63;
+   function getLens(b64) {
+    var len = b64.length;
+    if (len % 4 > 0) {
+     throw new Error("Invalid string. Length must be a multiple of 4");
+    }
+    var validLen = b64.indexOf("=");
+    if (validLen === -1) validLen = len;
+    var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;
+    return [ validLen, placeHoldersLen ];
+   }
+   function byteLength(b64) {
+    var lens = getLens(b64);
+    var validLen = lens[0];
+    var placeHoldersLen = lens[1];
+    return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
+   }
+   function _byteLength(b64, validLen, placeHoldersLen) {
+    return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
+   }
+   function toByteArray(b64) {
+    var tmp;
+    var lens = getLens(b64);
+    var validLen = lens[0];
+    var placeHoldersLen = lens[1];
+    var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
+    var curByte = 0;
+    var len = placeHoldersLen > 0 ? validLen - 4 : validLen;
+    var i;
+    for (i = 0; i < len; i += 4) {
+     tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];
+     arr[curByte++] = tmp >> 16 & 255;
+     arr[curByte++] = tmp >> 8 & 255;
+     arr[curByte++] = tmp & 255;
+    }
+    if (placeHoldersLen === 2) {
+     tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;
+     arr[curByte++] = tmp & 255;
+    }
+    if (placeHoldersLen === 1) {
+     tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;
+     arr[curByte++] = tmp >> 8 & 255;
+     arr[curByte++] = tmp & 255;
+    }
+    return arr;
+   }
+   function tripletToBase64(num) {
+    return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];
+   }
+   function encodeChunk(uint8, start, end) {
+    var tmp;
+    var output = [];
+    for (var i = start; i < end; i += 3) {
+     tmp = (uint8[i] << 16 & 16711680) + (uint8[i + 1] << 8 & 65280) + (uint8[i + 2] & 255);
+     output.push(tripletToBase64(tmp));
+    }
+    return output.join("");
+   }
+   function fromByteArray(uint8) {
+    var tmp;
+    var len = uint8.length;
+    var extraBytes = len % 3;
+    var parts = [];
+    var maxChunkLength = 16383;
+    for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
+     parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));
+    }
+    if (extraBytes === 1) {
+     tmp = uint8[len - 1];
+     parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==");
+    } else if (extraBytes === 2) {
+     tmp = (uint8[len - 2] << 8) + uint8[len - 1];
+     parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=");
+    }
+    return parts.join("");
+   }
+  }, {} ]
+ }, {}, [ 11 ])(11);
+});
+
+var moduleOverrides = {};
+
+var key;
+
+for (key in Module) {
+ if (Module.hasOwnProperty(key)) {
+  moduleOverrides[key] = Module[key];
+ }
+}
+
+var arguments_ = [];
+
+var thisProgram = "./this.program";
+
+var quit_ = function(status, toThrow) {
+ throw toThrow;
+};
+
+var ENVIRONMENT_IS_WEB = false;
+
+var ENVIRONMENT_IS_WORKER = false;
+
+var ENVIRONMENT_IS_NODE = false;
+
+var ENVIRONMENT_IS_SHELL = false;
+
+ENVIRONMENT_IS_WEB = typeof window === "object";
+
+ENVIRONMENT_IS_WORKER = typeof importScripts === "function";
+
+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;
+
+var scriptDirectory = "";
+
+function locateFile(path) {
+ if (Module["locateFile"]) {
+  return Module["locateFile"](path, scriptDirectory);
+ }
+ return scriptDirectory + path;
+}
+
+var read_, readAsync, readBinary, setWindowTitle;
+
+var nodeFS;
+
+var nodePath;
+
+if (ENVIRONMENT_IS_NODE) {
+ if (ENVIRONMENT_IS_WORKER) {
+  scriptDirectory = require("path").dirname(scriptDirectory) + "/";
+ } else {
+  scriptDirectory = __dirname + "/";
+ }
+ read_ = function shell_read(filename, binary) {
+  if (!nodeFS) nodeFS = require("fs");
+  if (!nodePath) nodePath = require("path");
+  filename = nodePath["normalize"](filename);
+  return nodeFS["readFileSync"](filename, binary ? null : "utf8");
+ };
+ readBinary = function readBinary(filename) {
+  var ret = read_(filename, true);
+  if (!ret.buffer) {
+   ret = new Uint8Array(ret);
+  }
+  assert(ret.buffer);
+  return ret;
+ };
+ if (process["argv"].length > 1) {
+  thisProgram = process["argv"][1].replace(/\\/g, "/");
+ }
+ arguments_ = process["argv"].slice(2);
+ if (typeof module !== "undefined") {
+  module["exports"] = Module;
+ }
+ process["on"]("uncaughtException", function(ex) {
+  if (!(ex instanceof ExitStatus)) {
+   throw ex;
+  }
+ });
+ process["on"]("unhandledRejection", abort);
+ quit_ = function(status) {
+  process["exit"](status);
+ };
+ Module["inspect"] = function() {
+  return "[Emscripten Module object]";
+ };
+} else if (ENVIRONMENT_IS_SHELL) {
+ if (typeof read != "undefined") {
+  read_ = function shell_read(f) {
+   return read(f);
+  };
+ }
+ readBinary = function readBinary(f) {
+  var data;
+  if (typeof readbuffer === "function") {
+   return new Uint8Array(readbuffer(f));
+  }
+  data = read(f, "binary");
+  assert(typeof data === "object");
+  return data;
+ };
+ if (typeof scriptArgs != "undefined") {
+  arguments_ = scriptArgs;
+ } else if (typeof arguments != "undefined") {
+  arguments_ = arguments;
+ }
+ if (typeof quit === "function") {
+  quit_ = function(status) {
+   quit(status);
+  };
+ }
+ if (typeof print !== "undefined") {
+  if (typeof console === "undefined") console = {};
+  console.log = print;
+  console.warn = console.error = typeof printErr !== "undefined" ? printErr : print;
+ }
+} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
+ if (ENVIRONMENT_IS_WORKER) {
+  scriptDirectory = self.location.href;
+ } else if (document.currentScript) {
+  scriptDirectory = document.currentScript.src;
+ }
+ if (scriptDirectory.indexOf("blob:") !== 0) {
+  scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1);
+ } else {
+  scriptDirectory = "";
+ }
+ {
+  read_ = function shell_read(url) {
+   var xhr = new XMLHttpRequest();
+   xhr.open("GET", url, false);
+   xhr.send(null);
+   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(xhr.response);
+   };
+  }
+  readAsync = function readAsync(url, onload, onerror) {
+   var xhr = new XMLHttpRequest();
+   xhr.open("GET", url, true);
+   xhr.responseType = "arraybuffer";
+   xhr.onload = function xhr_onload() {
+    if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
+     onload(xhr.response);
+     return;
+    }
+    onerror();
+   };
+   xhr.onerror = onerror;
+   xhr.send(null);
+  };
+ }
+ setWindowTitle = function(title) {
+  document.title = title;
+ };
+} else {}
+
+var out = Module["print"] || console.log.bind(console);
+
+var err = Module["printErr"] || console.warn.bind(console);
+
+for (key in moduleOverrides) {
+ if (moduleOverrides.hasOwnProperty(key)) {
+  Module[key] = moduleOverrides[key];
+ }
+}
+
+moduleOverrides = null;
+
+if (Module["arguments"]) arguments_ = Module["arguments"];
+
+if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
+
+if (Module["quit"]) quit_ = Module["quit"];
+
+var STACK_ALIGN = 16;
+
+function dynamicAlloc(size) {
+ var ret = HEAP32[DYNAMICTOP_PTR >> 2];
+ var end = ret + size + 15 & -16;
+ HEAP32[DYNAMICTOP_PTR >> 2] = end;
+ return ret;
+}
+
+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;
+   } 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);
+ }
+}
+
+function convertJsFunctionToWasm(func, sig) {
+ return func;
+}
+
+var freeTableIndexes = [];
+
+function addFunctionWasm(func, sig) {
+ var table = wasmTable;
+ var ret;
+ if (freeTableIndexes.length) {
+  ret = freeTableIndexes.pop();
+ } else {
+  ret = table.length;
+  try {
+   table.grow(1);
+  } catch (err) {
+   if (!(err instanceof RangeError)) {
+    throw err;
+   }
+   throw "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.";
+  }
+ }
+ try {
+  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);
+ }
+ return ret;
+}
+
+function removeFunctionWasm(index) {
+ freeTableIndexes.push(index);
+}
+
+var funcWrappers = {};
+
+function dynCall(sig, ptr, args) {
+ if (args && args.length) {
+  return Module["dynCall_" + sig].apply(null, [ ptr ].concat(args));
+ } else {
+  return Module["dynCall_" + sig].call(null, ptr);
+ }
+}
+
+var tempRet0 = 0;
+
+var setTempRet0 = function(value) {
+ tempRet0 = value;
+};
+
+var getTempRet0 = function() {
+ return tempRet0;
+};
+
+var GLOBAL_BASE = 1024;
+
+var wasmBinary;
+
+if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
+
+var noExitRuntime;
+
+if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];
+
+var Promise = function() {
+ function noop() {}
+ function bind(fn, thisArg) {
+  return function() {
+   fn.apply(thisArg, arguments);
+  };
+ }
+ function Promise(fn) {
+  if (!(this instanceof Promise)) throw new TypeError("Promises must be constructed via new");
+  if (typeof fn !== "function") throw new TypeError("not a function");
+  this._state = 0;
+  this._handled = false;
+  this._value = undefined;
+  this._deferreds = [];
+  doResolve(fn, this);
+ }
+ function handle(self, deferred) {
+  while (self._state === 3) {
+   self = self._value;
+  }
+  if (self._state === 0) {
+   self._deferreds.push(deferred);
+   return;
+  }
+  self._handled = true;
+  Promise._immediateFn(function() {
+   var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;
+   if (cb === null) {
+    (self._state === 1 ? resolve : reject)(deferred.promise, self._value);
+    return;
+   }
+   var ret;
+   try {
+    ret = cb(self._value);
+   } catch (e) {
+    reject(deferred.promise, e);
+    return;
+   }
+   resolve(deferred.promise, ret);
+  });
+ }
+ function resolve(self, newValue) {
+  try {
+   if (newValue === self) throw new TypeError("A promise cannot be resolved with itself.");
+   if (newValue && (typeof newValue === "object" || typeof newValue === "function")) {
+    var then = newValue.then;
+    if (newValue instanceof Promise) {
+     self._state = 3;
+     self._value = newValue;
+     finale(self);
+     return;
+    } else if (typeof then === "function") {
+     doResolve(bind(then, newValue), self);
+     return;
+    }
+   }
+   self._state = 1;
+   self._value = newValue;
+   finale(self);
+  } catch (e) {
+   reject(self, e);
+  }
+ }
+ function reject(self, newValue) {
+  self._state = 2;
+  self._value = newValue;
+  finale(self);
+ }
+ function finale(self) {
+  if (self._state === 2 && self._deferreds.length === 0) {
+   Promise._immediateFn(function() {
+    if (!self._handled) {
+     Promise._unhandledRejectionFn(self._value);
+    }
+   });
+  }
+  for (var i = 0, len = self._deferreds.length; i < len; i++) {
+   handle(self, self._deferreds[i]);
+  }
+  self._deferreds = null;
+ }
+ function Handler(onFulfilled, onRejected, promise) {
+  this.onFulfilled = typeof onFulfilled === "function" ? onFulfilled : null;
+  this.onRejected = typeof onRejected === "function" ? onRejected : null;
+  this.promise = promise;
+ }
+ function doResolve(fn, self) {
+  var done = false;
+  try {
+   fn(function(value) {
+    if (done) return;
+    done = true;
+    resolve(self, value);
+   }, function(reason) {
+    if (done) return;
+    done = true;
+    reject(self, reason);
+   });
+  } catch (ex) {
+   if (done) return;
+   done = true;
+   reject(self, ex);
+  }
+ }
+ Promise.prototype["catch"] = function(onRejected) {
+  return this.then(null, onRejected);
+ };
+ Promise.prototype.then = function(onFulfilled, onRejected) {
+  var prom = new this.constructor(noop);
+  handle(this, new Handler(onFulfilled, onRejected, prom));
+  return prom;
+ };
+ Promise.all = function(arr) {
+  return new Promise(function(resolve, reject) {
+   if (!Array.isArray(arr)) {
+    return reject(new TypeError("Promise.all accepts an array"));
+   }
+   var args = Array.prototype.slice.call(arr);
+   if (args.length === 0) return resolve([]);
+   var remaining = args.length;
+   function res(i, val) {
+    try {
+     if (val && (typeof val === "object" || typeof val === "function")) {
+      var then = val.then;
+      if (typeof then === "function") {
+       then.call(val, function(val) {
+        res(i, val);
+       }, reject);
+       return;
+      }
+     }
+     args[i] = val;
+     if (--remaining === 0) {
+      resolve(args);
+     }
+    } catch (ex) {
+     reject(ex);
+    }
+   }
+   for (var i = 0; i < args.length; i++) {
+    res(i, args[i]);
+   }
+  });
+ };
+ Promise.resolve = function(value) {
+  if (value && typeof value === "object" && value.constructor === Promise) {
+   return value;
+  }
+  return new Promise(function(resolve) {
+   resolve(value);
+  });
+ };
+ Promise.reject = function(value) {
+  return new Promise(function(resolve, reject) {
+   reject(value);
+  });
+ };
+ Promise.race = function(arr) {
+  return new Promise(function(resolve, reject) {
+   if (!Array.isArray(arr)) {
+    return reject(new TypeError("Promise.race accepts an array"));
+   }
+   for (var i = 0, len = arr.length; i < len; i++) {
+    Promise.resolve(arr[i]).then(resolve, reject);
+   }
+  });
+ };
+ Promise._immediateFn = typeof setImmediate === "function" && function(fn) {
+  setImmediate(fn);
+ } || function(fn) {
+  setTimeout(fn, 0);
+ };
+ Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) {
+  if (typeof console !== "undefined" && console) {
+   console.warn("Possible Unhandled Promise Rejection:", err);
+  }
+ };
+ return Promise;
+}();
+
+var WebAssembly = {
+ Memory: function(opts) {
+  return {
+   buffer: new ArrayBuffer(opts["initial"] * 65536),
+   grow: function(amount) {
+    var ret = __growWasmMemory(amount);
+    return ret;
+   }
+  };
+ },
+ Table: function(opts) {
+  var ret = new Array(opts["initial"]);
+  ret.grow = function(by) {
+   if (ret.length >= 1011 + 0) {
+    abort("Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH.");
+   }
+   ret.push(null);
+  };
+  ret.set = function(i, func) {
+   ret[i] = func;
+  };
+  ret.get = function(i) {
+   return ret[i];
+  };
+  return ret;
+ },
+ Module: function(binary) {
+  return {};
+ },
+ Instance: function(module, info) {
+  var exports = (
+// EMSCRIPTEN_START_ASM
+function a(asmLibraryArg, wasmMemory, wasmTable) {
+ var scratchBuffer = new ArrayBuffer(8);
+ var b = new Int32Array(scratchBuffer);
+ var c = new Float32Array(scratchBuffer);
+ var d = new Float64Array(scratchBuffer);
+ function e(index) {
+  return b[index];
+ }
+ function f(index, value) {
+  b[index] = value;
+ }
+ function g() {
+  return d[0];
+ }
+ function h(value) {
+  d[0] = value;
+ }
+ function i(low, high) {
+  b[0] = low;
+  b[1] = high;
+ }
+ function j(value) {
+  c[0] = value;
+ }
+ function k() {
+  return c[0];
+ }
+ function l(global, env, buffer) {
+  var m = env.memory;
+  var n = wasmTable;
+  var o = new global.Int8Array(buffer);
+  var p = new global.Int16Array(buffer);
+  var q = new global.Int32Array(buffer);
+  var r = new global.Uint8Array(buffer);
+  var s = new global.Uint16Array(buffer);
+  var t = new global.Uint32Array(buffer);
+  var u = new global.Float32Array(buffer);
+  var v = new global.Float64Array(buffer);
+  var w = global.Math.imul;
+  var x = global.Math.fround;
+  var y = global.Math.abs;
+  var z = global.Math.clz32;
+  var A = global.Math.min;
+  var B = global.Math.max;
+  var C = global.Math.floor;
+  var D = global.Math.ceil;
+  var E = global.Math.sqrt;
+  var F = env.abort;
+  var G = global.NaN;
+  var H = global.Infinity;
+  var I = env.exit;
+  var J = env.__assert_fail;
+  var K = env.testSetjmp;
+  var L = env.emscripten_longjmp;
+  var M = env.setTempRet0;
+  var N = env.getTempRet0;
+  var O = env.saveSetjmp;
+  var P = env.invoke_iii;
+  var Q = env.invoke_iiiii;
+  var R = env.sysconf;
+  var S = env.roundf;
+  var T = env.invoke_iiii;
+  var U = env.invoke_vi;
+  var V = env.time;
+  var W = env.abort;
+  var X = env.gettimeofday;
+  var Y = env.__syscall221;
+  var Z = env.fd_close;
+  var _ = env.__syscall5;
+  var $ = env.__syscall39;
+  var aa = env.__syscall15;
+  var ba = env.__syscall196;
+  var ca = env.__syscall197;
+  var da = env.__syscall195;
+  var ea = env.__clock_gettime;
+  var fa = env.__syscall220;
+  var ga = env.__syscall40;
+  var ha = env.__syscall9;
+  var ia = env.__syscall85;
+  var ja = env.__syscall33;
+  var ka = env.fd_write;
+  var la = env.__syscall3;
+  var ma = env.__syscall83;
+  var na = env.__syscall183;
+  var oa = env.__syscall20;
+  var pa = env.__syscall10;
+  var qa = env.__syscall125;
+  var ra = env.__syscall91;
+  var sa = env.__syscall54;
+  var ta = env.fd_read;
+  var ua = env.__syscall38;
+  var va = env.__map_file;
+  var wa = env.environ_sizes_get;
+  var xa = env.environ_get;
+  var ya = env.fd_fdstat_get;
+  var za = env.emscripten_resize_heap;
+  var Aa = env.emscripten_memcpy_big;
+  var Ba = env.fd_seek;
+  var Ca = 5888080;
+  var Da = 645200;
+  var Ea = 0;
+  
+// EMSCRIPTEN_START_FUNCS
+function Lh(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0;
+ k = Ca + -64 | 0;
+ Ca = k;
+ d = q[a >> 2];
+ b = 0;
+ a : {
+  if (q[q[d + 96 >> 2] + 64 >> 2] != 40) {
+   break a;
+  }
+  b = 0;
+  if (!r[a + 613 | 0]) {
+   break a;
+  }
+  b = 0;
+  if (r[d + 9 | 0] & 32) {
+   break a;
+  }
+  b = (r[a + 340 | 0] >>> 2 ^ -1) & 1;
+ }
+ p[a + 616 >> 1] = 0;
+ o[a + 615 | 0] = b;
+ b = q[a + 384 >> 2];
+ e = s[a + 152 >> 1];
+ c = b + e << 1;
+ c = c >>> 0 > 30 ? c : 30;
+ if (c >>> 0 < s[a + 188 >> 1]) {
+  p[a + 188 >> 1] = c >>> 0 < 65535 ? c : 65535;
+ }
+ q[a + 628 >> 2] = 0;
+ q[a + 620 >> 2] = 0;
+ c = a;
+ b : {
+  if (e) {
+   e = w(e, 10);
+   b = (e >>> 0 > 50 ? e : 50) + (b >>> 0 < 500 ? 50 : (b >>> 0) / 10 | 0) | 0;
+   break b;
+  }
+  b = w(b, 10) + 300 | 0;
+ }
+ q[c + 624 >> 2] = b;
+ d = q[d + 16 >> 2];
+ q[a + 260 >> 2] = 0;
+ c = s[a + 220 >> 1] == s[a + 222 >> 1];
+ q[a + 608 >> 2] = c ? 30 : 31;
+ q[a + 604 >> 2] = c ? 32 : 33;
+ q[a + 600 >> 2] = c ? 34 : 35;
+ q[a + 596 >> 2] = c ? 36 : 37;
+ c = w(d, 100);
+ b = b >>> 0 > c >>> 0 ? c : b;
+ q[a + 632 >> 2] = b;
+ q[a + 624 >> 2] = b;
+ $h(a);
+ b = q[a + 316 >> 2];
+ if ((b & 255) >>> 0 <= 7) {
+  q[a + 572 >> 2] = q[(b << 24 >> 22) + 6472 >> 2];
+ }
+ K = a + 298 | 0;
+ L = a + 302 | 0;
+ F = a + 180 | 0;
+ G = a + 144 | 0;
+ v = a + 72 | 0;
+ A = a + 36 | 0;
+ z = a + 108 | 0;
+ m = a + 565 | 0;
+ y = a + 364 | 0;
+ b = q[a + 364 >> 2];
+ l = a + 12 | 0;
+ M = l;
+ c : {
+  d : {
+   e : {
+    f : {
+     g : {
+      h : {
+       i : {
+        j : {
+         k : {
+          l : {
+           m : {
+            while (1) {
+             i = q[a + 360 >> 2];
+             h = r[i + b | 0];
+             o[a + 372 | 0] = h;
+             f = o[h + 4288 | 0];
+             q[a + 376 >> 2] = f;
+             n : {
+              if ((h | 1) != 65) {
+               e = q[a + 368 >> 2];
+               break n;
+              }
+              c = b + 1 | 0;
+              e = q[a + 368 >> 2];
+              if ((c | 0) >= (e | 0)) {
+               break m;
+              }
+              f = 2 - w(r[c + i | 0], f) | 0;
+              q[a + 376 >> 2] = f;
+             }
+             if ((b + f | 0) > (e | 0)) {
+              break m;
+             }
+             d = r[h + 4544 | 0];
+             c = d >>> 4 | 0;
+             b = q[a + 16 >> 2] - c | 0;
+             q[a + 28 >> 2] = b;
+             o : {
+              p : {
+               q : {
+                r : {
+                 s : {
+                  t : {
+                   u : {
+                    v : {
+                     w : {
+                      x : {
+                       y : {
+                        z : {
+                         A : {
+                          B : {
+                           C : {
+                            D : {
+                             E : {
+                              F : {
+                               G : {
+                                H : {
+                                 I : {
+                                  J : {
+                                   K : {
+                                    L : {
+                                     M : {
+                                      N : {
+                                       O : {
+                                        P : {
+                                         Q : {
+                                          R : {
+                                           S : {
+                                            T : {
+                                             U : {
+                                              V : {
+                                               W : {
+                                                X : {
+                                                 Y : {
+                                                  Z : {
+                                                   _ : {
+                                                    $ : {
+                                                     aa : {
+                                                      ba : {
+                                                       ca : {
+                                                        da : {
+                                                         ea : {
+                                                          fa : {
+                                                           ga : {
+                                                            ha : {
+                                                             ia : {
+                                                              ja : {
+                                                               ka : {
+                                                                la : {
+                                                                 ma : {
+                                                                  na : {
+                                                                   oa : {
+                                                                    pa : {
+                                                                     qa : {
+                                                                      ra : {
+                                                                       sa : {
+                                                                        ta : {
+                                                                         ua : {
+                                                                          va : {
+                                                                           wa : {
+                                                                            xa : {
+                                                                             ya : {
+                                                                              za : {
+                                                                               Aa : {
+                                                                                Ba : {
+                                                                                 Ca : {
+                                                                                  Da : {
+                                                                                   Ea : {
+                                                                                    Fa : {
+                                                                                     Ga : {
+                                                                                      Ha : {
+                                                                                       Ia : {
+                                                                                        Ja : {
+                                                                                         Ka : {
+                                                                                          La : {
+                                                                                           Ma : {
+                                                                                            Na : {
+                                                                                             Oa : {
+                                                                                              Pa : {
+                                                                                               Qa : {
+                                                                                                Ra : {
+                                                                                                 Sa : {
+                                                                                                  Ta : {
+                                                                                                   Ua : {
+                                                                                                    if ((b | 0) <= -1) {
+                                                                                                     if (r[m | 0]) {
+                                                                                                      break Ua;
+                                                                                                     }
+                                                                                                     if (c) {
+                                                                                                      Z$(q[a + 24 >> 2], 0, c << 2);
+                                                                                                     }
+                                                                                                     q[a + 28 >> 2] = 0;
+                                                                                                     b = 0;
+                                                                                                    }
+                                                                                                    c = a;
+                                                                                                    Va : {
+                                                                                                     Wa : {
+                                                                                                      if ((h | 0) == 145) {
+                                                                                                       d = q[q[a >> 2] + 736 >> 2];
+                                                                                                       if (!d) {
+                                                                                                        e = q[a + 32 >> 2];
+                                                                                                        break Va;
+                                                                                                       }
+                                                                                                       e = q[d >> 2] + b | 0;
+                                                                                                       break Wa;
+                                                                                                      }
+                                                                                                      e = (d & 15) + b | 0;
+                                                                                                     }
+                                                                                                     q[c + 32 >> 2] = e;
+                                                                                                    }
+                                                                                                    c = q[a + 20 >> 2];
+                                                                                                    if ((e | 0) > (c | 0)) {
+                                                                                                     break e;
+                                                                                                    }
+                                                                                                    q[a + 12 >> 2] = 0;
+                                                                                                    o[a + 380 | 0] = 1;
+                                                                                                    g = q[a + 24 >> 2];
+                                                                                                    d = g + (b << 2) | 0;
+                                                                                                    if (h >>> 0 > 146) {
+                                                                                                     break Qa;
+                                                                                                    }
+                                                                                                    Xa : {
+                                                                                                     Ya : {
+                                                                                                      switch (h - 6 | 0) {
+                                                                                                      default:
+                                                                                                       b = h << 14 & 16384;
+                                                                                                       c = b ^ 16384;
+                                                                                                       if (h >>> 0 <= 3) {
+                                                                                                        p[a + 300 >> 1] = c;
+                                                                                                        p[a + 298 >> 1] = b;
+                                                                                                        p[a + 296 >> 1] = c;
+                                                                                                        p[a + 294 >> 1] = b;
+                                                                                                       }
+                                                                                                       if (!(h & 2)) {
+                                                                                                        p[a + 304 >> 1] = c;
+                                                                                                        p[a + 302 >> 1] = b;
+                                                                                                       }
+                                                                                                       $h(a);
+                                                                                                       break t;
+                                                                                                      case 0:
+                                                                                                      case 1:
+                                                                                                       if (ai(a, s[d + 4 >> 1], s[d >> 1], K)) {
+                                                                                                        break t;
+                                                                                                       }
+                                                                                                       b = s[a + 298 >> 1] | s[a + 300 >> 1] << 16;
+                                                                                                       p[a + 294 >> 1] = b;
+                                                                                                       p[a + 296 >> 1] = b >>> 16;
+                                                                                                       $h(a);
+                                                                                                       break t;
+                                                                                                      case 2:
+                                                                                                      case 3:
+                                                                                                       if (ai(a, s[d + 4 >> 1], s[d >> 1], L)) {
+                                                                                                        break t;
+                                                                                                       }
+                                                                                                       $h(a);
+                                                                                                       break t;
+                                                                                                      case 4:
+                                                                                                       b = p[d >> 1];
+                                                                                                       c = p[d + 4 >> 1];
+                                                                                                       if (b | c) {
+                                                                                                        q[k + 28 >> 2] = c;
+                                                                                                        q[k + 24 >> 2] = b;
+                                                                                                        Ke(k + 24 | 0);
+                                                                                                        p[a + 298 >> 1] = q[k + 24 >> 2] / 4;
+                                                                                                        p[a + 300 >> 1] = q[k + 28 >> 2] / 4;
+                                                                                                       }
+                                                                                                       b = s[a + 298 >> 1] | s[a + 300 >> 1] << 16;
+                                                                                                       p[a + 294 >> 1] = b;
+                                                                                                       p[a + 296 >> 1] = b >>> 16;
+                                                                                                       $h(a);
+                                                                                                       break t;
+                                                                                                      case 5:
+                                                                                                       b = p[d >> 1];
+                                                                                                       c = p[d + 4 >> 1];
+                                                                                                       if (b | c) {
+                                                                                                        q[k + 28 >> 2] = c;
+                                                                                                        q[k + 24 >> 2] = b;
+                                                                                                        Ke(k + 24 | 0);
+                                                                                                        p[a + 302 >> 1] = q[k + 24 >> 2] / 4;
+                                                                                                        p[a + 304 >> 1] = q[k + 28 >> 2] / 4;
+                                                                                                       }
+                                                                                                       $h(a);
+                                                                                                       break t;
+                                                                                                      case 7:
+                                                                                                       q[d >> 2] = p[a + 302 >> 1];
+                                                                                                       q[d + 4 >> 2] = p[a + 304 >> 1];
+                                                                                                       break t;
+                                                                                                      case 8:
+                                                                                                       b = s[a + 298 >> 1] | s[a + 300 >> 1] << 16;
+                                                                                                       p[a + 302 >> 1] = b;
+                                                                                                       p[a + 304 >> 1] = b >>> 16;
+                                                                                                       $h(a);
+                                                                                                       break t;
+                                                                                                      case 9:
+                                                                                                       Za : {
+                                                                                                        c = s[d + 12 >> 1];
+                                                                                                        b = s[a + 44 >> 1];
+                                                                                                        _a : {
+                                                                                                         if (c >>> 0 >= b >>> 0) {
+                                                                                                          break _a;
+                                                                                                         }
+                                                                                                         e = s[d + 16 >> 1];
+                                                                                                         if (e >>> 0 >= b >>> 0) {
+                                                                                                          break _a;
+                                                                                                         }
+                                                                                                         g = s[d + 4 >> 1];
+                                                                                                         b = s[a + 80 >> 1];
+                                                                                                         if (g >>> 0 >= b >>> 0) {
+                                                                                                          break _a;
+                                                                                                         }
+                                                                                                         f = s[d + 8 >> 1];
+                                                                                                         if (f >>> 0 >= b >>> 0) {
+                                                                                                          break _a;
+                                                                                                         }
+                                                                                                         b = s[d >> 1];
+                                                                                                         if (b >>> 0 < s[a + 116 >> 1]) {
+                                                                                                          break Za;
+                                                                                                         }
+                                                                                                        }
+                                                                                                        if (!r[m | 0]) {
+                                                                                                         break t;
+                                                                                                        }
+                                                                                                        break f;
+                                                                                                       }
+                                                                                                       h = q[a + 52 >> 2];
+                                                                                                       x = c << 3;
+                                                                                                       c = h + x | 0;
+                                                                                                       d = q[c >> 2];
+                                                                                                       B = e << 3;
+                                                                                                       h = B + h | 0;
+                                                                                                       i = q[h >> 2];
+                                                                                                       j = q[a + 88 >> 2];
+                                                                                                       e = g << 3;
+                                                                                                       u = j + e | 0;
+                                                                                                       g = q[u + 4 >> 2];
+                                                                                                       C = f << 3;
+                                                                                                       f = C + j | 0;
+                                                                                                       j = q[f + 4 >> 2];
+                                                                                                       E = q[u >> 2];
+                                                                                                       f = q[f >> 2] - E | 0;
+                                                                                                       D = q[c + 4 >> 2];
+                                                                                                       u = q[h + 4 >> 2] - D | 0;
+                                                                                                       H = 0 - u | 0;
+                                                                                                       h = j - g | 0;
+                                                                                                       i = i - d | 0;
+                                                                                                       c = ue(f, H, 64) + ue(h, i, 64) | 0;
+                                                                                                       j = c >> 31;
+                                                                                                       I = ue(f, i, 64) + ue(h, u, 64) | 0;
+                                                                                                       u = I >> 31;
+                                                                                                       $a : {
+                                                                                                        if ((w(j ^ c + j, 19) | 0) > (u ^ u + I)) {
+                                                                                                         d = ue(d - E | 0, H, 64) + ue(D - g | 0, i, 64) | 0;
+                                                                                                         g = ue(d, f, c);
+                                                                                                         d = ue(d, h, c);
+                                                                                                         c = q[a + 124 >> 2];
+                                                                                                         e = e + q[a + 88 >> 2] | 0;
+                                                                                                         q[c + (b << 3) >> 2] = g + q[e >> 2];
+                                                                                                         d = d + q[e + 4 >> 2] | 0;
+                                                                                                         break $a;
+                                                                                                        }
+                                                                                                        c = q[a + 124 >> 2];
+                                                                                                        d = q[a + 52 >> 2];
+                                                                                                        g = d + x | 0;
+                                                                                                        f = q[a + 88 >> 2];
+                                                                                                        h = f + C | 0;
+                                                                                                        e = e + f | 0;
+                                                                                                        d = d + B | 0;
+                                                                                                        q[c + (b << 3) >> 2] = ((q[g >> 2] + (q[h >> 2] + q[e >> 2] | 0) | 0) + q[d >> 2] | 0) / 4;
+                                                                                                        d = (q[d + 4 >> 2] + (q[g + 4 >> 2] + (q[h + 4 >> 2] + q[e + 4 >> 2] | 0) | 0) | 0) / 4 | 0;
+                                                                                                       }
+                                                                                                       q[((b << 3) + c | 0) + 4 >> 2] = d;
+                                                                                                       b = b + q[a + 132 >> 2] | 0;
+                                                                                                       o[b | 0] = r[b | 0] | 24;
+                                                                                                       break t;
+                                                                                                      case 10:
+                                                                                                       p[a + 288 >> 1] = q[d >> 2];
+                                                                                                       break t;
+                                                                                                      case 11:
+                                                                                                       p[a + 290 >> 1] = q[d >> 2];
+                                                                                                       break t;
+                                                                                                      case 12:
+                                                                                                       p[a + 292 >> 1] = q[d >> 2];
+                                                                                                       break t;
+                                                                                                      case 13:
+                                                                                                       c = A;
+                                                                                                       f = c;
+                                                                                                       ab : {
+                                                                                                        bb : {
+                                                                                                         e = q[d >> 2];
+                                                                                                         if (e >>> 0 <= 1) {
+                                                                                                          b = F;
+                                                                                                          if (e - 1) {
+                                                                                                           break ab;
+                                                                                                          }
+                                                                                                          break bb;
+                                                                                                         }
+                                                                                                         if (!r[m | 0]) {
+                                                                                                          break t;
+                                                                                                         }
+                                                                                                         break f;
+                                                                                                        }
+                                                                                                        b = G;
+                                                                                                       }
+                                                                                                       e = q[b + 4 >> 2];
+                                                                                                       q[f >> 2] = q[b >> 2];
+                                                                                                       q[c + 4 >> 2] = e;
+                                                                                                       q[A + 32 >> 2] = q[b + 32 >> 2];
+                                                                                                       c = q[b + 28 >> 2];
+                                                                                                       q[A + 24 >> 2] = q[b + 24 >> 2];
+                                                                                                       q[A + 28 >> 2] = c;
+                                                                                                       c = q[b + 20 >> 2];
+                                                                                                       q[A + 16 >> 2] = q[b + 16 >> 2];
+                                                                                                       q[A + 20 >> 2] = c;
+                                                                                                       c = q[b + 12 >> 2];
+                                                                                                       q[A + 8 >> 2] = q[b + 8 >> 2];
+                                                                                                       q[A + 12 >> 2] = c;
+                                                                                                       p[a + 348 >> 1] = q[d >> 2];
+                                                                                                       break t;
+                                                                                                      case 14:
+                                                                                                       c = v;
+                                                                                                       f = c;
+                                                                                                       cb : {
+                                                                                                        db : {
+                                                                                                         e = q[d >> 2];
+                                                                                                         if (e >>> 0 <= 1) {
+                                                                                                          b = F;
+                                                                                                          if (e - 1) {
+                                                                                                           break cb;
+                                                                                                          }
+                                                                                                          break db;
+                                                                                                         }
+                                                                                                         if (!r[m | 0]) {
+                                                                                                          break t;
+                                                                                                         }
+                                                                                                         break f;
+                                                                                                        }
+                                                                                                        b = G;
+                                                                                                       }
+                                                                                                       e = q[b + 4 >> 2];
+                                                                                                       q[f >> 2] = q[b >> 2];
+                                                                                                       q[c + 4 >> 2] = e;
+                                                                                                       q[v + 32 >> 2] = q[b + 32 >> 2];
+                                                                                                       c = q[b + 28 >> 2];
+                                                                                                       q[v + 24 >> 2] = q[b + 24 >> 2];
+                                                                                                       q[v + 28 >> 2] = c;
+                                                                                                       c = q[b + 20 >> 2];
+                                                                                                       q[v + 16 >> 2] = q[b + 16 >> 2];
+                                                                                                       q[v + 20 >> 2] = c;
+                                                                                                       c = q[b + 12 >> 2];
+                                                                                                       q[v + 8 >> 2] = q[b + 8 >> 2];
+                                                                                                       q[v + 12 >> 2] = c;
+                                                                                                       p[a + 350 >> 1] = q[d >> 2];
+                                                                                                       break t;
+                                                                                                      case 15:
+                                                                                                       c = z;
+                                                                                                       f = c;
+                                                                                                       eb : {
+                                                                                                        fb : {
+                                                                                                         e = q[d >> 2];
+                                                                                                         if (e >>> 0 <= 1) {
+                                                                                                          b = F;
+                                                                                                          if (e - 1) {
+                                                                                                           break eb;
+                                                                                                          }
+                                                                                                          break fb;
+                                                                                                         }
+                                                                                                         if (!r[m | 0]) {
+                                                                                                          break t;
+                                                                                                         }
+                                                                                                         break f;
+                                                                                                        }
+                                                                                                        b = G;
+                                                                                                       }
+                                                                                                       e = q[b + 4 >> 2];
+                                                                                                       q[f >> 2] = q[b >> 2];
+                                                                                                       q[c + 4 >> 2] = e;
+                                                                                                       q[z + 32 >> 2] = q[b + 32 >> 2];
+                                                                                                       c = q[b + 28 >> 2];
+                                                                                                       q[z + 24 >> 2] = q[b + 24 >> 2];
+                                                                                                       q[z + 28 >> 2] = c;
+                                                                                                       c = q[b + 20 >> 2];
+                                                                                                       q[z + 16 >> 2] = q[b + 16 >> 2];
+                                                                                                       q[z + 20 >> 2] = c;
+                                                                                                       c = q[b + 12 >> 2];
+                                                                                                       q[z + 8 >> 2] = q[b + 8 >> 2];
+                                                                                                       q[z + 12 >> 2] = c;
+                                                                                                       p[a + 352 >> 1] = q[d >> 2];
+                                                                                                       break t;
+                                                                                                      case 16:
+                                                                                                       c = A;
+                                                                                                       f = c;
+                                                                                                       gb : {
+                                                                                                        hb : {
+                                                                                                         e = q[d >> 2];
+                                                                                                         if (e >>> 0 <= 1) {
+                                                                                                          b = F;
+                                                                                                          if (e - 1) {
+                                                                                                           break gb;
+                                                                                                          }
+                                                                                                          break hb;
+                                                                                                         }
+                                                                                                         if (!r[m | 0]) {
+                                                                                                          break t;
+                                                                                                         }
+                                                                                                         break f;
+                                                                                                        }
+                                                                                                        b = G;
+                                                                                                       }
+                                                                                                       e = q[b + 4 >> 2];
+                                                                                                       u = q[b >> 2];
+                                                                                                       q[f >> 2] = u;
+                                                                                                       q[c + 4 >> 2] = e;
+                                                                                                       x = A + 32 | 0;
+                                                                                                       B = q[b + 32 >> 2];
+                                                                                                       q[x >> 2] = B;
+                                                                                                       g = q[b + 28 >> 2];
+                                                                                                       c = A + 24 | 0;
+                                                                                                       C = q[b + 24 >> 2];
+                                                                                                       q[c >> 2] = C;
+                                                                                                       q[c + 4 >> 2] = g;
+                                                                                                       h = q[b + 20 >> 2];
+                                                                                                       f = A + 16 | 0;
+                                                                                                       E = q[b + 16 >> 2];
+                                                                                                       q[f >> 2] = E;
+                                                                                                       q[f + 4 >> 2] = h;
+                                                                                                       j = q[b + 12 >> 2];
+                                                                                                       i = A + 8 | 0;
+                                                                                                       b = q[b + 8 >> 2];
+                                                                                                       q[i >> 2] = b;
+                                                                                                       q[i + 4 >> 2] = j;
+                                                                                                       q[v + 32 >> 2] = B;
+                                                                                                       q[v + 24 >> 2] = C;
+                                                                                                       q[v + 28 >> 2] = g;
+                                                                                                       q[v + 16 >> 2] = E;
+                                                                                                       q[v + 20 >> 2] = h;
+                                                                                                       q[v + 8 >> 2] = b;
+                                                                                                       q[v + 12 >> 2] = j;
+                                                                                                       q[v >> 2] = u;
+                                                                                                       q[v + 4 >> 2] = e;
+                                                                                                       q[z + 32 >> 2] = q[x >> 2];
+                                                                                                       b = q[c + 4 >> 2];
+                                                                                                       q[z + 24 >> 2] = q[c >> 2];
+                                                                                                       q[z + 28 >> 2] = b;
+                                                                                                       b = q[f + 4 >> 2];
+                                                                                                       q[z + 16 >> 2] = q[f >> 2];
+                                                                                                       q[z + 20 >> 2] = b;
+                                                                                                       b = q[i + 4 >> 2];
+                                                                                                       q[z + 8 >> 2] = q[i >> 2];
+                                                                                                       q[z + 12 >> 2] = b;
+                                                                                                       b = q[A + 4 >> 2];
+                                                                                                       q[z >> 2] = q[A >> 2];
+                                                                                                       q[z + 4 >> 2] = b;
+                                                                                                       b = s[d >> 1];
+                                                                                                       p[a + 352 >> 1] = b;
+                                                                                                       p[a + 350 >> 1] = b;
+                                                                                                       p[a + 348 >> 1] = b;
+                                                                                                       break t;
+                                                                                                      case 17:
+                                                                                                       b = q[d >> 2];
+                                                                                                       if ((b | 0) <= -1) {
+                                                                                                        break g;
+                                                                                                       }
+                                                                                                       q[a + 308 >> 2] = (b | 0) < 65535 ? b : 65535;
+                                                                                                       break t;
+                                                                                                      case 18:
+                                                                                                       q[a + 572 >> 2] = 38;
+                                                                                                       q[a + 316 >> 2] = 1;
+                                                                                                       break t;
+                                                                                                      case 19:
+                                                                                                       q[a + 572 >> 2] = 39;
+                                                                                                       q[a + 316 >> 2] = 0;
+                                                                                                       break t;
+                                                                                                      case 20:
+                                                                                                       q[a + 312 >> 2] = q[d >> 2];
+                                                                                                       break t;
+                                                                                                      case 21:
+                                                                                                       b = q[a + 364 >> 2];
+                                                                                                       c = q[a + 368 >> 2];
+                                                                                                       d = 1;
+                                                                                                       while (1) {
+                                                                                                        b = b + f | 0;
+                                                                                                        q[y >> 2] = b;
+                                                                                                        if ((b | 0) >= (c | 0)) {
+                                                                                                         break m;
+                                                                                                        }
+                                                                                                        e = r[b + i | 0];
+                                                                                                        o[a + 372 | 0] = e;
+                                                                                                        f = o[e + 4288 | 0];
+                                                                                                        q[a + 376 >> 2] = f;
+                                                                                                        if ((e | 1) == 65) {
+                                                                                                         g = b + 1 | 0;
+                                                                                                         if ((g | 0) >= (c | 0)) {
+                                                                                                          break m;
+                                                                                                         }
+                                                                                                         f = 2 - w(r[g + i | 0], f) | 0;
+                                                                                                         q[a + 376 >> 2] = f;
+                                                                                                        }
+                                                                                                        if ((b + f | 0) > (c | 0)) {
+                                                                                                         break m;
+                                                                                                        }
+                                                                                                        e = e + -88 | 0;
+                                                                                                        if (e >>> 0 <= 1) {
+                                                                                                         if (e - 1) {
+                                                                                                          d = d + 1 | 0;
+                                                                                                          if (d) {
+                                                                                                           continue;
+                                                                                                          }
+                                                                                                          break t;
+                                                                                                         }
+                                                                                                         d = d + -1 | 0;
+                                                                                                        }
+                                                                                                        if (d) {
+                                                                                                         continue;
+                                                                                                        }
+                                                                                                        break;
+                                                                                                       }
+                                                                                                       break t;
+                                                                                                      case 22:
+                                                                                                       c = b;
+                                                                                                       b = q[d >> 2];
+                                                                                                       if (!(c | b)) {
+                                                                                                        break g;
+                                                                                                       }
+                                                                                                       b = b + q[y >> 2] | 0;
+                                                                                                       q[y >> 2] = b;
+                                                                                                       if ((b | 0) < 0) {
+                                                                                                        break g;
+                                                                                                       }
+                                                                                                       c = q[a + 432 >> 2];
+                                                                                                       if ((b | 0) > q[q[(q[a + 440 >> 2] + (c << 4) | 0) + -4 >> 2] + 8 >> 2] ? (c | 0) >= 1 : 0) {
+                                                                                                        break g;
+                                                                                                       }
+                                                                                                       o[a + 380 | 0] = 0;
+                                                                                                       if (q[d >> 2] > -1) {
+                                                                                                        break t;
+                                                                                                       }
+                                                                                                       b = q[a + 628 >> 2] + 1 | 0;
+                                                                                                       q[a + 628 >> 2] = b;
+                                                                                                       if (b >>> 0 <= t[a + 632 >> 2]) {
+                                                                                                        break t;
+                                                                                                       }
+                                                                                                       break h;
+                                                                                                      case 23:
+                                                                                                       q[a + 324 >> 2] = q[d >> 2];
+                                                                                                       break t;
+                                                                                                      case 24:
+                                                                                                       q[a + 328 >> 2] = q[d >> 2];
+                                                                                                       break t;
+                                                                                                      case 25:
+                                                                                                       N = a, O = Ee(q[d >> 2], q[a + 264 >> 2]), q[N + 332 >> 2] = O;
+                                                                                                       break t;
+                                                                                                      case 26:
+                                                                                                       q[d + 4 >> 2] = q[d >> 2];
+                                                                                                       break t;
+                                                                                                      case 29:
+                                                                                                       b = q[d + 4 >> 2];
+                                                                                                       q[d + 4 >> 2] = q[d >> 2];
+                                                                                                       q[d >> 2] = b;
+                                                                                                       break t;
+                                                                                                      case 30:
+                                                                                                       q[d >> 2] = q[a + 16 >> 2];
+                                                                                                       break t;
+                                                                                                      case 31:
+                                                                                                       c = d;
+                                                                                                       e = q[d >> 2];
+                                                                                                       ib : {
+                                                                                                        if (!((b | 0) >= (e | 0) ? (e | 0) >= 1 : 0)) {
+                                                                                                         b = 0;
+                                                                                                         if (!r[m | 0]) {
+                                                                                                          break ib;
+                                                                                                         }
+                                                                                                         q[l >> 2] = 134;
+                                                                                                         q[d >> 2] = 0;
+                                                                                                         break t;
+                                                                                                        }
+                                                                                                        b = q[(b - e << 2) + g >> 2];
+                                                                                                       }
+                                                                                                       q[c >> 2] = b;
+                                                                                                       break t;
+                                                                                                      case 32:
+                                                                                                       c = q[d >> 2];
+                                                                                                       if (!((b | 0) >= (c | 0) ? (c | 0) >= 1 : 0)) {
+                                                                                                        if (!r[m | 0]) {
+                                                                                                         break t;
+                                                                                                        }
+                                                                                                        break f;
+                                                                                                       }
+                                                                                                       b = (b - c << 2) + g | 0;
+                                                                                                       d = q[b >> 2];
+                                                                                                       _$(b, b + 4 | 0, (c << 2) + -4 | 0);
+                                                                                                       q[(q[a + 24 >> 2] + (q[a + 28 >> 2] << 2) | 0) + -4 >> 2] = d;
+                                                                                                       break t;
+                                                                                                      case 33:
+                                                                                                       jb : {
+                                                                                                        b = s[d >> 1];
+                                                                                                        if (b >>> 0 < s[a + 80 >> 1]) {
+                                                                                                         c = s[d + 4 >> 1];
+                                                                                                         if (c >>> 0 < s[a + 44 >> 1]) {
+                                                                                                          break jb;
+                                                                                                         }
+                                                                                                        }
+                                                                                                        if (!r[m | 0]) {
+                                                                                                         break t;
+                                                                                                        }
+                                                                                                        break f;
+                                                                                                       }
+                                                                                                       f = b;
+                                                                                                       d = q[a + 52 >> 2] + (c << 3) | 0;
+                                                                                                       b = q[a + 88 >> 2] + (b << 3) | 0;
+                                                                                                       b = (n[q[a + 576 >> 2]](a, q[d >> 2] - q[b >> 2] | 0, q[d + 4 >> 2] - q[b + 4 >> 2] | 0) | 0) / 2 | 0;
+                                                                                                       n[q[a + 588 >> 2]](a, v, f, b);
+                                                                                                       n[q[a + 588 >> 2]](a, A, c, 0 - b | 0);
+                                                                                                       break t;
+                                                                                                      case 34:
+                                                                                                       b = q[a + 420 >> 2];
+                                                                                                       kb : {
+                                                                                                        if (!b) {
+                                                                                                         break kb;
+                                                                                                        }
+                                                                                                        c = q[a + 412 >> 2];
+                                                                                                        if ((c | 0) < 1) {
+                                                                                                         break kb;
+                                                                                                        }
+                                                                                                        d = w(c, 24) + b | 0;
+                                                                                                        c = b;
+                                                                                                        while (1) {
+                                                                                                         if (!(!r[c + 16 | 0] | r[c + 12 | 0] != 40)) {
+                                                                                                          b = q[a + 432 >> 2];
+                                                                                                          if ((b | 0) >= q[a + 436 >> 2]) {
+                                                                                                           break e;
+                                                                                                          }
+                                                                                                          q[a + 432 >> 2] = b + 1;
+                                                                                                          b = q[a + 440 >> 2] + (b << 4) | 0;
+                                                                                                          q[b >> 2] = q[a + 356 >> 2];
+                                                                                                          d = q[a + 364 >> 2];
+                                                                                                          q[b + 12 >> 2] = c;
+                                                                                                          q[b + 8 >> 2] = 1;
+                                                                                                          q[b + 4 >> 2] = d + 1;
+                                                                                                          d = q[c >> 2];
+                                                                                                          b = d + -1 | 0;
+                                                                                                          lb : {
+                                                                                                           if (b >>> 0 >= 3) {
+                                                                                                            q[l >> 2] = 132;
+                                                                                                            break lb;
+                                                                                                           }
+                                                                                                           e = q[((b << 3) + a | 0) + 448 >> 2];
+                                                                                                           if (!e) {
+                                                                                                            q[l >> 2] = 138;
+                                                                                                            break lb;
+                                                                                                           }
+                                                                                                           b = q[((b << 3) + a | 0) + 452 >> 2];
+                                                                                                           c = q[c + 4 >> 2];
+                                                                                                           if ((b | 0) < (c | 0)) {
+                                                                                                            q[l >> 2] = 131;
+                                                                                                            break lb;
+                                                                                                           }
+                                                                                                           q[a + 368 >> 2] = b;
+                                                                                                           q[a + 360 >> 2] = e;
+                                                                                                           q[a + 364 >> 2] = c;
+                                                                                                           q[a + 356 >> 2] = d;
+                                                                                                          }
+                                                                                                          o[a + 380 | 0] = 0;
+                                                                                                          break t;
+                                                                                                         }
+                                                                                                         c = c + 24 | 0;
+                                                                                                         if (c >>> 0 < d >>> 0) {
+                                                                                                          continue;
+                                                                                                         }
+                                                                                                         break;
+                                                                                                        }
+                                                                                                       }
+                                                                                                       q[l >> 2] = 128;
+                                                                                                       break s;
+                                                                                                      case 35:
+                                                                                                       b = s[d >> 1];
+                                                                                                       if (b >>> 0 >= s[a + 44 >> 1]) {
+                                                                                                        if (!r[m | 0]) {
+                                                                                                         break t;
+                                                                                                        }
+                                                                                                        break f;
+                                                                                                       }
+                                                                                                       b = b + q[a + 60 >> 2] | 0;
+                                                                                                       c = b;
+                                                                                                       d = r[b | 0];
+                                                                                                       b = s[a + 302 >> 1] ? -9 : -1;
+                                                                                                       o[c | 0] = d & (s[a + 304 >> 1] ? b & 239 : b);
+                                                                                                       break t;
+                                                                                                      case 36:
+                                                                                                       e = q[d + 4 >> 2];
+                                                                                                       b = q[a + 424 >> 2] + 1 | 0;
+                                                                                                       if (e >>> 0 >= b >>> 0) {
+                                                                                                        break f;
+                                                                                                       }
+                                                                                                       c = q[a + 408 >> 2];
+                                                                                                       g = q[a + 400 >> 2];
+                                                                                                       mb : {
+                                                                                                        if ((g | 0) == (b | 0)) {
+                                                                                                         b = c ? c + w(e, 24) | 0 : 0;
+                                                                                                         if ((e | 0) == q[b + 12 >> 2]) {
+                                                                                                          break mb;
+                                                                                                         }
+                                                                                                        }
+                                                                                                        b = c;
+                                                                                                        c = b ? b + w(g, 24) | 0 : 0;
+                                                                                                        nb : {
+                                                                                                         if (b >>> 0 >= c >>> 0) {
+                                                                                                          break nb;
+                                                                                                         }
+                                                                                                         while (1) {
+                                                                                                          if ((e | 0) == q[b + 12 >> 2]) {
+                                                                                                           break nb;
+                                                                                                          }
+                                                                                                          b = b + 24 | 0;
+                                                                                                          if (b >>> 0 < c >>> 0) {
+                                                                                                           continue;
+                                                                                                          }
+                                                                                                          break;
+                                                                                                         }
+                                                                                                        }
+                                                                                                        if ((b | 0) == (c | 0)) {
+                                                                                                         break f;
+                                                                                                        }
+                                                                                                       }
+                                                                                                       if (!r[b + 16 | 0]) {
+                                                                                                        break f;
+                                                                                                       }
+                                                                                                       e = q[a + 432 >> 2];
+                                                                                                       if ((e | 0) >= q[a + 436 >> 2]) {
+                                                                                                        break e;
+                                                                                                       }
+                                                                                                       if (q[d >> 2] < 1) {
+                                                                                                        break t;
+                                                                                                       }
+                                                                                                       c = q[a + 440 >> 2] + (e << 4) | 0;
+                                                                                                       q[c >> 2] = q[a + 356 >> 2];
+                                                                                                       q[c + 4 >> 2] = q[a + 364 >> 2] + 1;
+                                                                                                       g = q[d >> 2];
+                                                                                                       q[c + 12 >> 2] = b;
+                                                                                                       q[c + 8 >> 2] = g;
+                                                                                                       q[a + 432 >> 2] = e + 1;
+                                                                                                       e = q[b >> 2];
+                                                                                                       c = e + -1 | 0;
+                                                                                                       ob : {
+                                                                                                        if (c >>> 0 >= 3) {
+                                                                                                         q[l >> 2] = 132;
+                                                                                                         break ob;
+                                                                                                        }
+                                                                                                        g = q[((c << 3) + a | 0) + 448 >> 2];
+                                                                                                        if (!g) {
+                                                                                                         q[l >> 2] = 138;
+                                                                                                         break ob;
+                                                                                                        }
+                                                                                                        c = q[((c << 3) + a | 0) + 452 >> 2];
+                                                                                                        b = q[b + 4 >> 2];
+                                                                                                        if ((c | 0) < (b | 0)) {
+                                                                                                         q[l >> 2] = 131;
+                                                                                                         break ob;
+                                                                                                        }
+                                                                                                        q[a + 368 >> 2] = c;
+                                                                                                        q[a + 360 >> 2] = g;
+                                                                                                        q[a + 364 >> 2] = b;
+                                                                                                        q[a + 356 >> 2] = e;
+                                                                                                       }
+                                                                                                       o[a + 380 | 0] = 0;
+                                                                                                       b = q[a + 620 >> 2] + q[d >> 2] | 0;
+                                                                                                       q[a + 620 >> 2] = b;
+                                                                                                       if (b >>> 0 <= t[a + 624 >> 2]) {
+                                                                                                        break t;
+                                                                                                       }
+                                                                                                       break h;
+                                                                                                      case 37:
+                                                                                                       d = q[d >> 2];
+                                                                                                       b = q[a + 424 >> 2] + 1 | 0;
+                                                                                                       if (d >>> 0 >= b >>> 0) {
+                                                                                                        break f;
+                                                                                                       }
+                                                                                                       c = q[a + 408 >> 2];
+                                                                                                       if (!c) {
+                                                                                                        break f;
+                                                                                                       }
+                                                                                                       e = q[a + 400 >> 2];
+                                                                                                       pb : {
+                                                                                                        if ((e | 0) == (b | 0)) {
+                                                                                                         b = c + w(d, 24) | 0;
+                                                                                                         if ((d | 0) == q[b + 12 >> 2]) {
+                                                                                                          break pb;
+                                                                                                         }
+                                                                                                        }
+                                                                                                        g = c + w(e, 24) | 0;
+                                                                                                        b = c;
+                                                                                                        qb : {
+                                                                                                         if ((e | 0) < 1) {
+                                                                                                          break qb;
+                                                                                                         }
+                                                                                                         while (1) {
+                                                                                                          if ((d | 0) == q[b + 12 >> 2]) {
+                                                                                                           break qb;
+                                                                                                          }
+                                                                                                          b = b + 24 | 0;
+                                                                                                          if (b >>> 0 < g >>> 0) {
+                                                                                                           continue;
+                                                                                                          }
+                                                                                                          break;
+                                                                                                         }
+                                                                                                        }
+                                                                                                        if ((b | 0) == (g | 0)) {
+                                                                                                         break f;
+                                                                                                        }
+                                                                                                       }
+                                                                                                       if (!r[b + 16 | 0]) {
+                                                                                                        break f;
+                                                                                                       }
+                                                                                                       d = q[a + 432 >> 2];
+                                                                                                       if ((d | 0) >= q[a + 436 >> 2]) {
+                                                                                                        break e;
+                                                                                                       }
+                                                                                                       c = q[a + 440 >> 2] + (d << 4) | 0;
+                                                                                                       q[c >> 2] = q[a + 356 >> 2];
+                                                                                                       e = q[a + 364 >> 2];
+                                                                                                       q[c + 12 >> 2] = b;
+                                                                                                       q[c + 8 >> 2] = 1;
+                                                                                                       q[c + 4 >> 2] = e + 1;
+                                                                                                       q[a + 432 >> 2] = d + 1;
+                                                                                                       d = q[b >> 2];
+                                                                                                       c = d + -1 | 0;
+                                                                                                       rb : {
+                                                                                                        if (c >>> 0 >= 3) {
+                                                                                                         q[l >> 2] = 132;
+                                                                                                         break rb;
+                                                                                                        }
+                                                                                                        e = q[((c << 3) + a | 0) + 448 >> 2];
+                                                                                                        if (!e) {
+                                                                                                         q[l >> 2] = 138;
+                                                                                                         break rb;
+                                                                                                        }
+                                                                                                        c = q[((c << 3) + a | 0) + 452 >> 2];
+                                                                                                        b = q[b + 4 >> 2];
+                                                                                                        if ((c | 0) < (b | 0)) {
+                                                                                                         q[l >> 2] = 131;
+                                                                                                         break rb;
+                                                                                                        }
+                                                                                                        q[a + 368 >> 2] = c;
+                                                                                                        q[a + 360 >> 2] = e;
+                                                                                                        q[a + 364 >> 2] = b;
+                                                                                                        q[a + 356 >> 2] = d;
+                                                                                                       }
+                                                                                                       o[a + 380 | 0] = 0;
+                                                                                                       break t;
+                                                                                                      case 38:
+                                                                                                       h = q[a + 356 >> 2];
+                                                                                                       if ((h | 0) == 3) {
+                                                                                                        break i;
+                                                                                                       }
+                                                                                                       e = q[a + 408 >> 2];
+                                                                                                       sb : {
+                                                                                                        tb : {
+                                                                                                         if (!e) {
+                                                                                                          g = q[a + 400 >> 2];
+                                                                                                          c = q[d >> 2];
+                                                                                                          b = 0;
+                                                                                                          break tb;
+                                                                                                         }
+                                                                                                         g = q[a + 400 >> 2];
+                                                                                                         b = w(g, 24) + e | 0;
+                                                                                                         c = q[d >> 2];
+                                                                                                         ub : {
+                                                                                                          if ((g | 0) < 1) {
+                                                                                                           break ub;
+                                                                                                          }
+                                                                                                          while (1) {
+                                                                                                           if (q[e + 12 >> 2] == (c | 0)) {
+                                                                                                            break ub;
+                                                                                                           }
+                                                                                                           e = e + 24 | 0;
+                                                                                                           if (e >>> 0 < b >>> 0) {
+                                                                                                            continue;
+                                                                                                           }
+                                                                                                           break;
+                                                                                                          }
+                                                                                                         }
+                                                                                                         if ((b | 0) != (e | 0)) {
+                                                                                                          break sb;
+                                                                                                         }
+                                                                                                        }
+                                                                                                        if (g >>> 0 >= t[a + 404 >> 2]) {
+                                                                                                         break j;
+                                                                                                        }
+                                                                                                        q[a + 400 >> 2] = g + 1;
+                                                                                                        e = b;
+                                                                                                       }
+                                                                                                       if (c >>> 0 >= 65536) {
+                                                                                                        break j;
+                                                                                                       }
+                                                                                                       q[e + 12 >> 2] = c;
+                                                                                                       q[e >> 2] = h;
+                                                                                                       b = q[a + 364 >> 2];
+                                                                                                       q[e + 20 >> 2] = 0;
+                                                                                                       p[e + 16 >> 1] = 1;
+                                                                                                       q[e + 4 >> 2] = b + 1;
+                                                                                                       if (c >>> 0 > t[a + 424 >> 2]) {
+                                                                                                        q[a + 424 >> 2] = c;
+                                                                                                       }
+                                                                                                       d = q[a + 368 >> 2];
+                                                                                                       while (1) {
+                                                                                                        b = b + f | 0;
+                                                                                                        q[y >> 2] = b;
+                                                                                                        if ((b | 0) >= (d | 0)) {
+                                                                                                         break m;
+                                                                                                        }
+                                                                                                        c = r[b + i | 0];
+                                                                                                        o[a + 372 | 0] = c;
+                                                                                                        f = o[c + 4288 | 0];
+                                                                                                        q[a + 376 >> 2] = f;
+                                                                                                        if ((c | 1) == 65) {
+                                                                                                         g = b + 1 | 0;
+                                                                                                         if ((g | 0) >= (d | 0)) {
+                                                                                                          break m;
+                                                                                                         }
+                                                                                                         f = 2 - w(r[g + i | 0], f) | 0;
+                                                                                                         q[a + 376 >> 2] = f;
+                                                                                                        }
+                                                                                                        if ((b + f | 0) > (d | 0)) {
+                                                                                                         break m;
+                                                                                                        }
+                                                                                                        g = c + -44 | 0;
+                                                                                                        if (g >>> 0 <= 1) {
+                                                                                                         break Xa;
+                                                                                                        }
+                                                                                                        if ((c | 0) != 137) {
+                                                                                                         continue;
+                                                                                                        }
+                                                                                                        break;
+                                                                                                       }
+                                                                                                       break k;
+                                                                                                      case 39:
+                                                                                                       c = q[a + 432 >> 2];
+                                                                                                       b = 136;
+                                                                                                       if ((c | 0) <= 0) {
+                                                                                                        break d;
+                                                                                                       }
+                                                                                                       b = c + -1 | 0;
+                                                                                                       q[a + 432 >> 2] = b;
+                                                                                                       b = q[a + 440 >> 2] + (b << 4) | 0;
+                                                                                                       d = q[b + 8 >> 2];
+                                                                                                       q[b + 8 >> 2] = d + -1;
+                                                                                                       o[a + 380 | 0] = 0;
+                                                                                                       if ((d | 0) >= 2) {
+                                                                                                        q[a + 432 >> 2] = c;
+                                                                                                        q[a + 364 >> 2] = q[q[b + 12 >> 2] + 4 >> 2];
+                                                                                                        break t;
+                                                                                                       }
+                                                                                                       d = q[b >> 2];
+                                                                                                       c = d + -1 | 0;
+                                                                                                       if (c >>> 0 >= 3) {
+                                                                                                        break g;
+                                                                                                       }
+                                                                                                       e = q[((c << 3) + a | 0) + 448 >> 2];
+                                                                                                       if (!e) {
+                                                                                                        break l;
+                                                                                                       }
+                                                                                                       c = q[((c << 3) + a | 0) + 452 >> 2];
+                                                                                                       b = q[b + 4 >> 2];
+                                                                                                       if ((c | 0) < (b | 0)) {
+                                                                                                        break m;
+                                                                                                       }
+                                                                                                       q[a + 368 >> 2] = c;
+                                                                                                       q[a + 360 >> 2] = e;
+                                                                                                       q[a + 364 >> 2] = b;
+                                                                                                       q[a + 356 >> 2] = d;
+                                                                                                       break t;
+                                                                                                      case 40:
+                                                                                                      case 41:
+                                                                                                       b = s[d >> 1];
+                                                                                                       if (b >>> 0 >= s[a + 44 >> 1]) {
+                                                                                                        if (!r[m | 0]) {
+                                                                                                         break t;
+                                                                                                        }
+                                                                                                        break f;
+                                                                                                       }
+                                                                                                       c = a;
+                                                                                                       d = A;
+                                                                                                       f = b;
+                                                                                                       if (h & 1) {
+                                                                                                        g = q[a + 52 >> 2] + (b << 3) | 0;
+                                                                                                        g = n[q[a + 576 >> 2]](a, q[g >> 2], q[g + 4 >> 2]) | 0;
+                                                                                                        e = (n[q[a + 572 >> 2]](a, g, q[a + 268 >> 2]) | 0) - g | 0;
+                                                                                                       } else {
+                                                                                                        e = 0;
+                                                                                                       }
+                                                                                                       n[q[a + 588 >> 2]](c, d, f, e);
+                                                                                                       p[a + 290 >> 1] = b;
+                                                                                                       p[a + 288 >> 1] = b;
+                                                                                                       break t;
+                                                                                                      case 139:
+                                                                                                       break Oa;
+                                                                                                      case 140:
+                                                                                                       break Pa;
+                                                                                                      case 6:
+                                                                                                       break Ra;
+                                                                                                      case 27:
+                                                                                                      case 83:
+                                                                                                      case 120:
+                                                                                                      case 121:
+                                                                                                       break Sa;
+                                                                                                      case 28:
+                                                                                                       break Ta;
+                                                                                                      case 42:
+                                                                                                      case 43:
+                                                                                                       break Ya;
+                                                                                                      case 44:
+                                                                                                      case 45:
+                                                                                                       break v;
+                                                                                                      case 46:
+                                                                                                      case 47:
+                                                                                                       break w;
+                                                                                                      case 48:
+                                                                                                      case 49:
+                                                                                                       break x;
+                                                                                                      case 50:
+                                                                                                       break y;
+                                                                                                      case 51:
+                                                                                                       break z;
+                                                                                                      case 52:
+                                                                                                      case 53:
+                                                                                                       break A;
+                                                                                                      case 54:
+                                                                                                       break B;
+                                                                                                      case 55:
+                                                                                                       break C;
+                                                                                                      case 56:
+                                                                                                      case 57:
+                                                                                                       break D;
+                                                                                                      case 58:
+                                                                                                       break E;
+                                                                                                      case 59:
+                                                                                                       break F;
+                                                                                                      case 60:
+                                                                                                       break G;
+                                                                                                      case 61:
+                                                                                                       break H;
+                                                                                                      case 62:
+                                                                                                       break I;
+                                                                                                      case 63:
+                                                                                                       break J;
+                                                                                                      case 64:
+                                                                                                      case 65:
+                                                                                                       break K;
+                                                                                                      case 66:
+                                                                                                       break L;
+                                                                                                      case 67:
+                                                                                                      case 68:
+                                                                                                       break M;
+                                                                                                      case 69:
+                                                                                                       break N;
+                                                                                                      case 70:
+                                                                                                       break O;
+                                                                                                      case 71:
+                                                                                                       break P;
+                                                                                                      case 72:
+                                                                                                       break Q;
+                                                                                                      case 73:
+                                                                                                       break R;
+                                                                                                      case 74:
+                                                                                                       break S;
+                                                                                                      case 75:
+                                                                                                       break T;
+                                                                                                      case 76:
+                                                                                                       break U;
+                                                                                                      case 77:
+                                                                                                       break V;
+                                                                                                      case 78:
+                                                                                                       break W;
+                                                                                                      case 79:
+                                                                                                       break X;
+                                                                                                      case 80:
+                                                                                                       break Y;
+                                                                                                      case 81:
+                                                                                                       break Z;
+                                                                                                      case 82:
+                                                                                                       break _;
+                                                                                                      case 84:
+                                                                                                       break $;
+                                                                                                      case 85:
+                                                                                                       break aa;
+                                                                                                      case 86:
+                                                                                                       break ba;
+                                                                                                      case 87:
+                                                                                                       break ca;
+                                                                                                      case 88:
+                                                                                                       break da;
+                                                                                                      case 89:
+                                                                                                       break ea;
+                                                                                                      case 90:
+                                                                                                       break fa;
+                                                                                                      case 91:
+                                                                                                       break ga;
+                                                                                                      case 92:
+                                                                                                       break ha;
+                                                                                                      case 93:
+                                                                                                       break ia;
+                                                                                                      case 94:
+                                                                                                       break ja;
+                                                                                                      case 95:
+                                                                                                       break ka;
+                                                                                                      case 96:
+                                                                                                       break la;
+                                                                                                      case 97:
+                                                                                                       break ma;
+                                                                                                      case 98:
+                                                                                                      case 99:
+                                                                                                      case 100:
+                                                                                                      case 101:
+                                                                                                       break na;
+                                                                                                      case 102:
+                                                                                                      case 103:
+                                                                                                      case 104:
+                                                                                                      case 105:
+                                                                                                       break oa;
+                                                                                                      case 106:
+                                                                                                       break pa;
+                                                                                                      case 107:
+                                                                                                      case 108:
+                                                                                                       break qa;
+                                                                                                      case 109:
+                                                                                                      case 110:
+                                                                                                      case 111:
+                                                                                                       break ra;
+                                                                                                      case 112:
+                                                                                                       break sa;
+                                                                                                      case 113:
+                                                                                                       break ta;
+                                                                                                      case 114:
+                                                                                                       break ua;
+                                                                                                      case 115:
+                                                                                                       break va;
+                                                                                                      case 116:
+                                                                                                       break wa;
+                                                                                                      case 117:
+                                                                                                       break xa;
+                                                                                                      case 118:
+                                                                                                       break ya;
+                                                                                                      case 119:
+                                                                                                       break za;
+                                                                                                      case 122:
+                                                                                                       break Aa;
+                                                                                                      case 123:
+                                                                                                       break Ba;
+                                                                                                      case 124:
+                                                                                                       break Ca;
+                                                                                                      case 125:
+                                                                                                      case 126:
+                                                                                                       break Da;
+                                                                                                      case 127:
+                                                                                                       break Ea;
+                                                                                                      case 128:
+                                                                                                      case 129:
+                                                                                                       break Fa;
+                                                                                                      case 130:
+                                                                                                       break Ga;
+                                                                                                      case 131:
+                                                                                                       break Ha;
+                                                                                                      case 132:
+                                                                                                       break Ia;
+                                                                                                      case 133:
+                                                                                                       break Ja;
+                                                                                                      case 134:
+                                                                                                       break Ka;
+                                                                                                      case 135:
+                                                                                                       break La;
+                                                                                                      case 136:
+                                                                                                       break Ma;
+                                                                                                      case 137:
+                                                                                                      case 138:
+                                                                                                       break Na;
+                                                                                                      }
+                                                                                                     }
+                                                                                                     vb : {
+                                                                                                      if (!r[a + 615 | 0] | q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] != 40) {
+                                                                                                       break vb;
+                                                                                                      }
+                                                                                                      if (r[a + 617 | 0] ? r[a + 616 | 0] : 0) {
+                                                                                                       break t;
+                                                                                                      }
+                                                                                                      if (h & 1) {
+                                                                                                       o[a + 616 | 0] = 1;
+                                                                                                       break vb;
+                                                                                                      }
+                                                                                                      o[a + 617 | 0] = 1;
+                                                                                                     }
+                                                                                                     if (!s[a + 154 >> 1]) {
+                                                                                                      break t;
+                                                                                                     }
+                                                                                                     wb : {
+                                                                                                      if (h & 1) {
+                                                                                                       C = q[a + 156 >> 2];
+                                                                                                       q[k + 24 >> 2] = C;
+                                                                                                       x = q[a + 160 >> 2];
+                                                                                                       q[k + 28 >> 2] = x;
+                                                                                                       q[k + 32 >> 2] = q[a + 164 >> 2];
+                                                                                                       j = 8;
+                                                                                                       break wb;
+                                                                                                      }
+                                                                                                      C = q[a + 156 >> 2] + 4 | 0;
+                                                                                                      q[k + 24 >> 2] = C;
+                                                                                                      x = q[a + 160 >> 2] + 4 | 0;
+                                                                                                      q[k + 28 >> 2] = x;
+                                                                                                      q[k + 32 >> 2] = q[a + 164 >> 2] + 4;
+                                                                                                      j = 16;
+                                                                                                     }
+                                                                                                     c = s[a + 152 >> 1];
+                                                                                                     q[k + 36 >> 2] = c;
+                                                                                                     B = 0;
+                                                                                                     g = 0;
+                                                                                                     while (1) {
+                                                                                                      b = s[q[a + 172 >> 2] + (B << 1) >> 1] - s[a + 176 >> 1] | 0;
+                                                                                                      c = c & 65535;
+                                                                                                      u = b >>> 0 < c >>> 0 ? b : c + -1 | 0;
+                                                                                                      xb : {
+                                                                                                       if (g >>> 0 > u >>> 0) {
+                                                                                                        b = g;
+                                                                                                        break xb;
+                                                                                                       }
+                                                                                                       e = q[a + 168 >> 2];
+                                                                                                       c = g;
+                                                                                                       yb : {
+                                                                                                        zb : {
+                                                                                                         while (1) {
+                                                                                                          Ab : {
+                                                                                                           b = c + 1 | 0;
+                                                                                                           if (j & r[c + e | 0]) {
+                                                                                                            f = b;
+                                                                                                            h = c;
+                                                                                                            i = c;
+                                                                                                            Bb : {
+                                                                                                             E = b >>> 0 > u >>> 0;
+                                                                                                             if (!E) {
+                                                                                                              while (1) {
+                                                                                                               d = f;
+                                                                                                               if (j & r[d + e | 0]) {
+                                                                                                                di(k + 24 | 0, i + 1 | 0, h, i, d);
+                                                                                                                i = d;
+                                                                                                               }
+                                                                                                               f = d + 1 | 0;
+                                                                                                               if (f >>> 0 <= u >>> 0) {
+                                                                                                                e = q[a + 168 >> 2];
+                                                                                                                h = d;
+                                                                                                                continue;
+                                                                                                               }
+                                                                                                               break;
+                                                                                                              }
+                                                                                                              if ((c | 0) != (i | 0)) {
+                                                                                                               break Bb;
+                                                                                                              }
+                                                                                                             }
+                                                                                                             d = c << 3;
+                                                                                                             d = q[d + x >> 2] - q[d + C >> 2] | 0;
+                                                                                                             if (!d) {
+                                                                                                              break yb;
+                                                                                                             }
+                                                                                                             if (g >>> 0 < c >>> 0) {
+                                                                                                              break Ab;
+                                                                                                             }
+                                                                                                             break zb;
+                                                                                                            }
+                                                                                                            di(k + 24 | 0, i + 1 & 65535, u, i, c);
+                                                                                                            if (!c) {
+                                                                                                             break yb;
+                                                                                                            }
+                                                                                                            di(k + 24 | 0, g, c + -1 | 0, i, c);
+                                                                                                            break yb;
+                                                                                                           }
+                                                                                                           c = b;
+                                                                                                           if (b >>> 0 <= u >>> 0) {
+                                                                                                            continue;
+                                                                                                           }
+                                                                                                           break xb;
+                                                                                                          }
+                                                                                                          break;
+                                                                                                         }
+                                                                                                         while (1) {
+                                                                                                          e = (g << 3) + x | 0;
+                                                                                                          q[e >> 2] = d + q[e >> 2];
+                                                                                                          g = g + 1 | 0;
+                                                                                                          if ((g | 0) != (c | 0)) {
+                                                                                                           continue;
+                                                                                                          }
+                                                                                                          break;
+                                                                                                         }
+                                                                                                        }
+                                                                                                        if (E) {
+                                                                                                         break yb;
+                                                                                                        }
+                                                                                                        while (1) {
+                                                                                                         c = (b << 3) + x | 0;
+                                                                                                         q[c >> 2] = d + q[c >> 2];
+                                                                                                         b = b + 1 | 0;
+                                                                                                         if (b >>> 0 <= u >>> 0) {
+                                                                                                          continue;
+                                                                                                         }
+                                                                                                         break;
+                                                                                                        }
+                                                                                                       }
+                                                                                                       b = f;
+                                                                                                      }
+                                                                                                      B = B + 1 | 0;
+                                                                                                      if ((B | 0) >= p[a + 154 >> 1]) {
+                                                                                                       break t;
+                                                                                                      }
+                                                                                                      c = s[a + 152 >> 1];
+                                                                                                      g = b;
+                                                                                                      continue;
+                                                                                                     }
+                                                                                                    }
+                                                                                                    if (g - 1) {
+                                                                                                     break k;
+                                                                                                    }
+                                                                                                    break u;
+                                                                                                   }
+                                                                                                   b = 129;
+                                                                                                   break d;
+                                                                                                  }
+                                                                                                  q[a + 32 >> 2] = 0;
+                                                                                                  break r;
+                                                                                                 }
+                                                                                                 q[a + 16 >> 2] = e;
+                                                                                                 break q;
+                                                                                                }
+                                                                                                q[d >> 2] = p[a + 298 >> 1];
+                                                                                                q[d + 4 >> 2] = p[a + 300 >> 1];
+                                                                                                break t;
+                                                                                               }
+                                                                                               if (h >>> 0 >= 224) {
+                                                                                                Cb : {
+                                                                                                 Db : {
+                                                                                                  e = s[d >> 1];
+                                                                                                  Eb : {
+                                                                                                   if (e >>> 0 >= s[a + 80 >> 1]) {
+                                                                                                    break Eb;
+                                                                                                   }
+                                                                                                   b = q[d + 4 >> 2];
+                                                                                                   c = b + 1 | 0;
+                                                                                                   if (c >>> 0 >= q[a + 384 >> 2] + 1 >>> 0) {
+                                                                                                    break Eb;
+                                                                                                   }
+                                                                                                   if (s[a + 288 >> 1] < s[a + 44 >> 1]) {
+                                                                                                    break Db;
+                                                                                                   }
+                                                                                                  }
+                                                                                                  if (!r[m | 0]) {
+                                                                                                   break Cb;
+                                                                                                  }
+                                                                                                  q[l >> 2] = 134;
+                                                                                                  break Cb;
+                                                                                                 }
+                                                                                                 i = q[a + 324 >> 2];
+                                                                                                 h = q[a + 312 >> 2];
+                                                                                                 if (c) {
+                                                                                                  b = n[q[a + 600 >> 2]](a, b) | 0;
+                                                                                                 } else {
+                                                                                                  b = 0;
+                                                                                                 }
+                                                                                                 c = q[a + 332 >> 2];
+                                                                                                 g = b - c | 0;
+                                                                                                 d = g >> 31;
+                                                                                                 b = (d ^ d + g) < q[a + 328 >> 2] ? (b | 0) > -1 ? c : 0 - c | 0 : b;
+                                                                                                 if (!s[a + 350 >> 1]) {
+                                                                                                  d = p[a + 302 >> 1];
+                                                                                                  c = d >> 31;
+                                                                                                  f = c ^ c + d;
+                                                                                                  c = b >> 31;
+                                                                                                  j = c + b ^ c;
+                                                                                                  u = j >>> 16 | 0;
+                                                                                                  x = w(f, u);
+                                                                                                  g = x << 16 | 8192;
+                                                                                                  B = e << 3;
+                                                                                                  c = B + q[a + 84 >> 2] | 0;
+                                                                                                  D = f;
+                                                                                                  f = j & 65535;
+                                                                                                  j = g + w(D, f) | 0;
+                                                                                                  g = (x >>> 16 | 0) + (j >>> 0 < g >>> 0) << 18 | j >>> 14;
+                                                                                                  j = q[a + 48 >> 2] + (s[a + 288 >> 1] << 3) | 0;
+                                                                                                  q[c >> 2] = ((b ^ d) > -1 ? g : 0 - g | 0) + q[j >> 2];
+                                                                                                  d = p[a + 304 >> 1];
+                                                                                                  g = d >> 31;
+                                                                                                  D = u;
+                                                                                                  u = g ^ d + g;
+                                                                                                  x = w(D, u);
+                                                                                                  g = x << 16 | 8192;
+                                                                                                  f = g + w(f, u) | 0;
+                                                                                                  g = (x >>> 16 | 0) + (f >>> 0 < g >>> 0) << 18 | f >>> 14;
+                                                                                                  q[c + 4 >> 2] = q[j + 4 >> 2] + ((b ^ d) > -1 ? g : 0 - g | 0);
+                                                                                                  g = q[c + 4 >> 2];
+                                                                                                  d = B + q[a + 88 >> 2] | 0;
+                                                                                                  q[d >> 2] = q[c >> 2];
+                                                                                                  q[d + 4 >> 2] = g;
+                                                                                                 }
+                                                                                                 c = e << 3;
+                                                                                                 d = c + q[a + 84 >> 2] | 0;
+                                                                                                 g = q[a + 48 >> 2] + (s[a + 288 >> 1] << 3) | 0;
+                                                                                                 g = n[q[a + 580 >> 2]](a, q[d >> 2] - q[g >> 2] | 0, q[d + 4 >> 2] - q[g + 4 >> 2] | 0) | 0;
+                                                                                                 c = c + q[a + 88 >> 2] | 0;
+                                                                                                 d = q[a + 52 >> 2] + (s[a + 288 >> 1] << 3) | 0;
+                                                                                                 j = n[q[a + 576 >> 2]](a, q[c >> 2] - q[d >> 2] | 0, q[c + 4 >> 2] - q[d + 4 >> 2] | 0) | 0;
+                                                                                                 b = (b ^ g) < 0 ? r[a + 320 | 0] ? 0 - b | 0 : b : b;
+                                                                                                 c = r[a + 372 | 0];
+                                                                                                 Fb : {
+                                                                                                  if (c & 4) {
+                                                                                                   d = a;
+                                                                                                   if (s[a + 348 >> 1] == s[a + 350 >> 1]) {
+                                                                                                    u = b - g | 0;
+                                                                                                    f = u >> 31;
+                                                                                                    b = (f ^ f + u) > (i | 0) ? g : b;
+                                                                                                   }
+                                                                                                   f = n[q[a + 572 >> 2]](d, b, q[(((c & 3) << 2) + a | 0) + 268 >> 2]) | 0;
+                                                                                                   c = r[a + 372 | 0];
+                                                                                                   break Fb;
+                                                                                                  }
+                                                                                                  d = q[(((c & 3) << 2) + a | 0) + 268 >> 2];
+                                                                                                  if ((b | 0) >= 0) {
+                                                                                                   b = b + d | 0;
+                                                                                                   f = (b | 0) > 0 ? b : 0;
+                                                                                                   break Fb;
+                                                                                                  }
+                                                                                                  b = b - d | 0;
+                                                                                                  f = b >> 31 & b;
+                                                                                                 }
+                                                                                                 Gb : {
+                                                                                                  if (!(c & 8)) {
+                                                                                                   break Gb;
+                                                                                                  }
+                                                                                                  if ((g | 0) >= 0) {
+                                                                                                   f = (f | 0) < (h | 0) ? h : f;
+                                                                                                   break Gb;
+                                                                                                  }
+                                                                                                  b = 0 - h | 0;
+                                                                                                  f = (f | 0) > (b | 0) ? b : f;
+                                                                                                 }
+                                                                                                 n[q[a + 588 >> 2]](a, v, e, f - j | 0);
+                                                                                                }
+                                                                                                p[a + 290 >> 1] = s[a + 288 >> 1];
+                                                                                                if (r[a + 372 | 0] & 16) {
+                                                                                                 p[a + 288 >> 1] = e;
+                                                                                                }
+                                                                                                p[a + 292 >> 1] = e;
+                                                                                                break t;
+                                                                                               }
+                                                                                               if (h >>> 0 >= 192) {
+                                                                                                Hb : {
+                                                                                                 Ib : {
+                                                                                                  b = s[d >> 1];
+                                                                                                  if (b >>> 0 < s[a + 80 >> 1]) {
+                                                                                                   c = s[a + 288 >> 1];
+                                                                                                   if (c >>> 0 < s[a + 44 >> 1]) {
+                                                                                                    break Ib;
+                                                                                                   }
+                                                                                                  }
+                                                                                                  if (!r[m | 0]) {
+                                                                                                   break Hb;
+                                                                                                  }
+                                                                                                  q[l >> 2] = 134;
+                                                                                                  break Hb;
+                                                                                                 }
+                                                                                                 g = q[a + 312 >> 2];
+                                                                                                 Jb : {
+                                                                                                  if (!(s[a + 350 >> 1] ? s[a + 348 >> 1] : 0)) {
+                                                                                                   d = q[a + 84 >> 2] + (b << 3) | 0;
+                                                                                                   c = q[a + 48 >> 2] + (c << 3) | 0;
+                                                                                                   c = n[q[a + 580 >> 2]](a, q[d >> 2] - q[c >> 2] | 0, q[d + 4 >> 2] - q[c + 4 >> 2] | 0) | 0;
+                                                                                                   break Jb;
+                                                                                                  }
+                                                                                                  c = q[a + 56 >> 2] + (c << 3) | 0;
+                                                                                                  d = q[a + 92 >> 2] + (b << 3) | 0;
+                                                                                                  e = q[a + 224 >> 2];
+                                                                                                  if ((e | 0) == q[a + 228 >> 2]) {
+                                                                                                   c = Ee(n[q[a + 580 >> 2]](a, q[d >> 2] - q[c >> 2] | 0, q[d + 4 >> 2] - q[c + 4 >> 2] | 0) | 0, q[a + 224 >> 2]);
+                                                                                                   break Jb;
+                                                                                                  }
+                                                                                                  c = (O = a, P = Ee(q[d >> 2] - q[c >> 2] | 0, e), Q = Ee(q[d + 4 >> 2] - q[c + 4 >> 2] | 0, q[a + 228 >> 2]), N = q[a + 580 >> 2], n[N](O | 0, P | 0, Q | 0) | 0);
+                                                                                                 }
+                                                                                                 e = q[a + 328 >> 2];
+                                                                                                 Kb : {
+                                                                                                  if ((e | 0) < 1) {
+                                                                                                   break Kb;
+                                                                                                  }
+                                                                                                  d = q[a + 332 >> 2];
+                                                                                                  if ((c | 0) >= (d + e | 0) | (c | 0) <= (d - e | 0)) {
+                                                                                                   break Kb;
+                                                                                                  }
+                                                                                                  c = (c | 0) > -1 ? d : 0 - d | 0;
+                                                                                                 }
+                                                                                                 f = r[a + 372 | 0];
+                                                                                                 Lb : {
+                                                                                                  if (f & 4) {
+                                                                                                   e = n[q[a + 572 >> 2]](a, c, q[(((f & 3) << 2) + a | 0) + 268 >> 2]) | 0;
+                                                                                                   f = r[a + 372 | 0];
+                                                                                                   break Lb;
+                                                                                                  }
+                                                                                                  d = q[(((f & 3) << 2) + a | 0) + 268 >> 2];
+                                                                                                  if ((c | 0) >= 0) {
+                                                                                                   d = c + d | 0;
+                                                                                                   e = (d | 0) > 0 ? d : 0;
+                                                                                                   break Lb;
+                                                                                                  }
+                                                                                                  d = c - d | 0;
+                                                                                                  e = d >> 31 & d;
+                                                                                                 }
+                                                                                                 Mb : {
+                                                                                                  if (!(f & 8)) {
+                                                                                                   break Mb;
+                                                                                                  }
+                                                                                                  if ((c | 0) >= 0) {
+                                                                                                   e = (e | 0) < (g | 0) ? g : e;
+                                                                                                   break Mb;
+                                                                                                  }
+                                                                                                  c = 0 - g | 0;
+                                                                                                  e = (e | 0) > (c | 0) ? c : e;
+                                                                                                 }
+                                                                                                 c = q[a + 88 >> 2] + (b << 3) | 0;
+                                                                                                 d = q[a + 52 >> 2] + (s[a + 288 >> 1] << 3) | 0;
+                                                                                                 Q = a, P = v, O = b, R = e - (n[q[a + 576 >> 2]](a, q[c >> 2] - q[d >> 2] | 0, q[c + 4 >> 2] - q[d + 4 >> 2] | 0) | 0) | 0, N = q[a + 588 >> 2], n[N](Q | 0, P | 0, O | 0, R | 0);
+                                                                                                }
+                                                                                                p[a + 292 >> 1] = b;
+                                                                                                p[a + 290 >> 1] = s[a + 288 >> 1];
+                                                                                                if (!(r[a + 372 | 0] & 16)) {
+                                                                                                 break t;
+                                                                                                }
+                                                                                                p[a + 288 >> 1] = b;
+                                                                                                break t;
+                                                                                               }
+                                                                                               if (h >>> 0 >= 184) {
+                                                                                                e = h + 65353 & 65535;
+                                                                                                if (e >>> 0 >= (c - q[a + 16 >> 2] | 0) + 1 >>> 0) {
+                                                                                                 break e;
+                                                                                                }
+                                                                                                b = q[y >> 2];
+                                                                                                c = b + 1 | 0;
+                                                                                                q[y >> 2] = c;
+                                                                                                Nb : {
+                                                                                                 if (!e) {
+                                                                                                  break Nb;
+                                                                                                 }
+                                                                                                 q[y >> 2] = b + 3;
+                                                                                                 q[d >> 2] = (r[(b + i | 0) + 2 | 0] | r[c + i | 0] << 8) << 16 >> 16;
+                                                                                                 b = 1;
+                                                                                                 c = 1;
+                                                                                                 if ((e | 0) == 1) {
+                                                                                                  break Nb;
+                                                                                                 }
+                                                                                                 while (1) {
+                                                                                                  g = q[y >> 2];
+                                                                                                  q[y >> 2] = g + 2;
+                                                                                                  f = d + (b << 2) | 0;
+                                                                                                  b = g + i | 0;
+                                                                                                  b = r[b | 0] | r[b + 1 | 0] << 8;
+                                                                                                  q[f >> 2] = (b << 24 | b << 8 & 16711680) >> 16;
+                                                                                                  c = c + 1 | 0;
+                                                                                                  b = c & 65535;
+                                                                                                  if (e >>> 0 > b >>> 0) {
+                                                                                                   continue;
+                                                                                                  }
+                                                                                                  break;
+                                                                                                 }
+                                                                                                }
+                                                                                                o[a + 380 | 0] = 0;
+                                                                                                break t;
+                                                                                               }
+                                                                                               if (h >>> 0 >= 176) {
+                                                                                                e = h + 65361 & 65535;
+                                                                                                if (e >>> 0 >= (c - q[a + 16 >> 2] | 0) + 1 >>> 0) {
+                                                                                                 break e;
+                                                                                                }
+                                                                                                b = 1;
+                                                                                                c = 1;
+                                                                                                if (!e) {
+                                                                                                 break t;
+                                                                                                }
+                                                                                                while (1) {
+                                                                                                 q[(d + (b << 2) | 0) + -4 >> 2] = r[i + (q[y >> 2] + b | 0) | 0];
+                                                                                                 c = c + 1 | 0;
+                                                                                                 b = c & 65535;
+                                                                                                 if (e >>> 0 >= b >>> 0) {
+                                                                                                  continue;
+                                                                                                 }
+                                                                                                 break;
+                                                                                                }
+                                                                                                break t;
+                                                                                               }
+                                                                                               b = q[a + 420 >> 2];
+                                                                                               Ob : {
+                                                                                                if (!b) {
+                                                                                                 break Ob;
+                                                                                                }
+                                                                                                c = q[a + 412 >> 2];
+                                                                                                if ((c | 0) < 1) {
+                                                                                                 break Ob;
+                                                                                                }
+                                                                                                c = w(c, 24) + b | 0;
+                                                                                                f = b;
+                                                                                                while (1) {
+                                                                                                 if (!(!r[f + 16 | 0] | (h | 0) != r[f + 12 | 0])) {
+                                                                                                  b = q[a + 432 >> 2];
+                                                                                                  if ((b | 0) >= q[a + 436 >> 2]) {
+                                                                                                   break e;
+                                                                                                  }
+                                                                                                  q[a + 432 >> 2] = b + 1;
+                                                                                                  b = q[a + 440 >> 2] + (b << 4) | 0;
+                                                                                                  q[b >> 2] = q[a + 356 >> 2];
+                                                                                                  c = q[a + 364 >> 2];
+                                                                                                  q[b + 12 >> 2] = f;
+                                                                                                  q[b + 8 >> 2] = 1;
+                                                                                                  q[b + 4 >> 2] = c + 1;
+                                                                                                  b = q[f >> 2];
+                                                                                                  c = b + -1 | 0;
+                                                                                                  if (c >>> 0 >= 3) {
+                                                                                                   q[l >> 2] = 132;
+                                                                                                   o[a + 380 | 0] = 0;
+                                                                                                   break t;
+                                                                                                  }
+                                                                                                  c = (c << 3) + a | 0;
+                                                                                                  d = q[c + 448 >> 2];
+                                                                                                  if (!d) {
+                                                                                                   q[l >> 2] = 138;
+                                                                                                   o[a + 380 | 0] = 0;
+                                                                                                   break t;
+                                                                                                  }
+                                                                                                  c = q[c + 452 >> 2];
+                                                                                                  e = q[f + 4 >> 2];
+                                                                                                  if ((c | 0) < (e | 0)) {
+                                                                                                   q[l >> 2] = 131;
+                                                                                                   o[a + 380 | 0] = 0;
+                                                                                                   break t;
+                                                                                                  }
+                                                                                                  q[a + 368 >> 2] = c;
+                                                                                                  q[a + 360 >> 2] = d;
+                                                                                                  q[a + 364 >> 2] = e;
+                                                                                                  q[a + 356 >> 2] = b;
+                                                                                                  o[a + 380 | 0] = 0;
+                                                                                                  break t;
+                                                                                                 }
+                                                                                                 f = f + 24 | 0;
+                                                                                                 if (f >>> 0 < c >>> 0) {
+                                                                                                  continue;
+                                                                                                 }
+                                                                                                 break;
+                                                                                                }
+                                                                                               }
+                                                                                               q[l >> 2] = 128;
+                                                                                               break s;
+                                                                                              }
+                                                                                              if (q[q[a >> 2] + 736 >> 2]) {
+                                                                                               q[d >> 2] = 17;
+                                                                                               break t;
+                                                                                              }
+                                                                                              b = q[a + 420 >> 2];
+                                                                                              Pb : {
+                                                                                               if (!b) {
+                                                                                                break Pb;
+                                                                                               }
+                                                                                               c = q[a + 412 >> 2];
+                                                                                               if ((c | 0) < 1) {
+                                                                                                break Pb;
+                                                                                               }
+                                                                                               d = w(c, 24) + b | 0;
+                                                                                               c = b;
+                                                                                               while (1) {
+                                                                                                if (!(!r[c + 16 | 0] | r[c + 12 | 0] != 146)) {
+                                                                                                 b = q[a + 432 >> 2];
+                                                                                                 if ((b | 0) >= q[a + 436 >> 2]) {
+                                                                                                  break e;
+                                                                                                 }
+                                                                                                 q[a + 432 >> 2] = b + 1;
+                                                                                                 b = q[a + 440 >> 2] + (b << 4) | 0;
+                                                                                                 q[b >> 2] = q[a + 356 >> 2];
+                                                                                                 d = q[a + 364 >> 2];
+                                                                                                 q[b + 12 >> 2] = c;
+                                                                                                 q[b + 8 >> 2] = 1;
+                                                                                                 q[b + 4 >> 2] = d + 1;
+                                                                                                 d = q[c >> 2];
+                                                                                                 b = d + -1 | 0;
+                                                                                                 Qb : {
+                                                                                                  if (b >>> 0 >= 3) {
+                                                                                                   q[l >> 2] = 132;
+                                                                                                   break Qb;
+                                                                                                  }
+                                                                                                  e = q[((b << 3) + a | 0) + 448 >> 2];
+                                                                                                  if (!e) {
+                                                                                                   q[l >> 2] = 138;
+                                                                                                   break Qb;
+                                                                                                  }
+                                                                                                  b = q[((b << 3) + a | 0) + 452 >> 2];
+                                                                                                  c = q[c + 4 >> 2];
+                                                                                                  if ((b | 0) < (c | 0)) {
+                                                                                                   q[l >> 2] = 131;
+                                                                                                   break Qb;
+                                                                                                  }
+                                                                                                  q[a + 368 >> 2] = b;
+                                                                                                  q[a + 360 >> 2] = e;
+                                                                                                  q[a + 364 >> 2] = c;
+                                                                                                  q[a + 356 >> 2] = d;
+                                                                                                 }
+                                                                                                 o[a + 380 | 0] = 0;
+                                                                                                 break t;
+                                                                                                }
+                                                                                                c = c + 24 | 0;
+                                                                                                if (c >>> 0 < d >>> 0) {
+                                                                                                 continue;
+                                                                                                }
+                                                                                                break;
+                                                                                               }
+                                                                                              }
+                                                                                              q[l >> 2] = 128;
+                                                                                              break s;
+                                                                                             }
+                                                                                             b = q[q[a >> 2] + 736 >> 2];
+                                                                                             if (b) {
+                                                                                              e = q[b >> 2];
+                                                                                              if (e >>> 0 >= (c - q[a + 16 >> 2] | 0) + 1 >>> 0) {
+                                                                                               break e;
+                                                                                              }
+                                                                                              c = q[b + 8 >> 2];
+                                                                                              if (c) {
+                                                                                               b = 0;
+                                                                                               if (!e) {
+                                                                                                break t;
+                                                                                               }
+                                                                                               while (1) {
+                                                                                                g = b << 2;
+                                                                                                q[g + d >> 2] = q[c + g >> 2] >> 2;
+                                                                                                b = b + 1 | 0;
+                                                                                                if ((e | 0) != (b | 0)) {
+                                                                                                 continue;
+                                                                                                }
+                                                                                                break;
+                                                                                               }
+                                                                                               break t;
+                                                                                              }
+                                                                                              if (!e) {
+                                                                                               break t;
+                                                                                              }
+                                                                                              Z$(d, 0, e << 2);
+                                                                                              break t;
+                                                                                             }
+                                                                                             b = q[a + 420 >> 2];
+                                                                                             Rb : {
+                                                                                              if (!b) {
+                                                                                               break Rb;
+                                                                                              }
+                                                                                              c = q[a + 412 >> 2];
+                                                                                              if ((c | 0) < 1) {
+                                                                                               break Rb;
+                                                                                              }
+                                                                                              d = w(c, 24) + b | 0;
+                                                                                              c = b;
+                                                                                              while (1) {
+                                                                                               if (!(!r[c + 16 | 0] | r[c + 12 | 0] != 145)) {
+                                                                                                b = q[a + 432 >> 2];
+                                                                                                if ((b | 0) >= q[a + 436 >> 2]) {
+                                                                                                 break e;
+                                                                                                }
+                                                                                                q[a + 432 >> 2] = b + 1;
+                                                                                                b = q[a + 440 >> 2] + (b << 4) | 0;
+                                                                                                q[b >> 2] = q[a + 356 >> 2];
+                                                                                                d = q[a + 364 >> 2];
+                                                                                                q[b + 12 >> 2] = c;
+                                                                                                q[b + 8 >> 2] = 1;
+                                                                                                q[b + 4 >> 2] = d + 1;
+                                                                                                d = q[c >> 2];
+                                                                                                b = d + -1 | 0;
+                                                                                                Sb : {
+                                                                                                 if (b >>> 0 >= 3) {
+                                                                                                  q[l >> 2] = 132;
+                                                                                                  break Sb;
+                                                                                                 }
+                                                                                                 e = q[((b << 3) + a | 0) + 448 >> 2];
+                                                                                                 if (!e) {
+                                                                                                  q[l >> 2] = 138;
+                                                                                                  break Sb;
+                                                                                                 }
+                                                                                                 b = q[((b << 3) + a | 0) + 452 >> 2];
+                                                                                                 c = q[c + 4 >> 2];
+                                                                                                 if ((b | 0) < (c | 0)) {
+                                                                                                  q[l >> 2] = 131;
+                                                                                                  break Sb;
+                                                                                                 }
+                                                                                                 q[a + 368 >> 2] = b;
+                                                                                                 q[a + 360 >> 2] = e;
+                                                                                                 q[a + 364 >> 2] = c;
+                                                                                                 q[a + 356 >> 2] = d;
+                                                                                                }
+                                                                                                o[a + 380 | 0] = 0;
+                                                                                                break t;
+                                                                                               }
+                                                                                               c = c + 24 | 0;
+                                                                                               if (c >>> 0 < d >>> 0) {
+                                                                                                continue;
+                                                                                               }
+                                                                                               break;
+                                                                                              }
+                                                                                             }
+                                                                                             q[l >> 2] = 128;
+                                                                                             break s;
+                                                                                            }
+                                                                                            b = q[a + 420 >> 2];
+                                                                                            Tb : {
+                                                                                             if (!b) {
+                                                                                              break Tb;
+                                                                                             }
+                                                                                             c = q[a + 412 >> 2];
+                                                                                             if ((c | 0) < 1) {
+                                                                                              break Tb;
+                                                                                             }
+                                                                                             c = w(c, 24) + b | 0;
+                                                                                             f = b;
+                                                                                             while (1) {
+                                                                                              if (!(!r[f + 16 | 0] | (h | 0) != r[f + 12 | 0])) {
+                                                                                               b = q[a + 432 >> 2];
+                                                                                               if ((b | 0) >= q[a + 436 >> 2]) {
+                                                                                                break e;
+                                                                                               }
+                                                                                               q[a + 432 >> 2] = b + 1;
+                                                                                               b = q[a + 440 >> 2] + (b << 4) | 0;
+                                                                                               q[b >> 2] = q[a + 356 >> 2];
+                                                                                               c = q[a + 364 >> 2];
+                                                                                               q[b + 12 >> 2] = f;
+                                                                                               q[b + 8 >> 2] = 1;
+                                                                                               q[b + 4 >> 2] = c + 1;
+                                                                                               c = q[f >> 2];
+                                                                                               b = c + -1 | 0;
+                                                                                               Ub : {
+                                                                                                if (b >>> 0 >= 3) {
+                                                                                                 q[l >> 2] = 132;
+                                                                                                 break Ub;
+                                                                                                }
+                                                                                                d = q[((b << 3) + a | 0) + 448 >> 2];
+                                                                                                if (!d) {
+                                                                                                 q[l >> 2] = 138;
+                                                                                                 break Ub;
+                                                                                                }
+                                                                                                b = q[((b << 3) + a | 0) + 452 >> 2];
+                                                                                                e = q[f + 4 >> 2];
+                                                                                                if ((b | 0) < (e | 0)) {
+                                                                                                 q[l >> 2] = 131;
+                                                                                                 break Ub;
+                                                                                                }
+                                                                                                q[a + 368 >> 2] = b;
+                                                                                                q[a + 360 >> 2] = d;
+                                                                                                q[a + 364 >> 2] = e;
+                                                                                                q[a + 356 >> 2] = c;
+                                                                                               }
+                                                                                               o[a + 380 | 0] = 0;
+                                                                                               break t;
+                                                                                              }
+                                                                                              f = f + 24 | 0;
+                                                                                              if (f >>> 0 < c >>> 0) {
+                                                                                               continue;
+                                                                                              }
+                                                                                              break;
+                                                                                             }
+                                                                                            }
+                                                                                            q[l >> 2] = 128;
+                                                                                            break s;
+                                                                                           }
+                                                                                           e = q[d + 4 >> 2];
+                                                                                           b = e + -1 | 0;
+                                                                                           if (b >>> 0 >= 3) {
+                                                                                            if (!r[m | 0]) {
+                                                                                             break t;
+                                                                                            }
+                                                                                            break f;
+                                                                                           }
+                                                                                           c = 1 << b;
+                                                                                           b = q[d >> 2];
+                                                                                           if (!(!b | (b | 0) == (c | 0))) {
+                                                                                            if (!r[m | 0]) {
+                                                                                             break t;
+                                                                                            }
+                                                                                            break f;
+                                                                                           }
+                                                                                           o[a + 340 | 0] = b | r[a + 340 | 0] & (c ^ -1);
+                                                                                           if ((e | 0) != 3 | q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] != 40) {
+                                                                                            break t;
+                                                                                           }
+                                                                                           o[a + 615 | 0] = (b | 0) != 4;
+                                                                                           break t;
+                                                                                          }
+                                                                                          b = q[d >> 2];
+                                                                                          if ((b | 0) < 0) {
+                                                                                           break t;
+                                                                                          }
+                                                                                          q[a + 344 >> 2] = b & 65535;
+                                                                                          break t;
+                                                                                         }
+                                                                                         b = q[d + 4 >> 2];
+                                                                                         if ((b | 0) >= q[d >> 2]) {
+                                                                                          break t;
+                                                                                         }
+                                                                                         q[d >> 2] = b;
+                                                                                         break t;
+                                                                                        }
+                                                                                        b = q[d + 4 >> 2];
+                                                                                        if ((b | 0) <= q[d >> 2]) {
+                                                                                         break t;
+                                                                                        }
+                                                                                        q[d >> 2] = b;
+                                                                                        break t;
+                                                                                       }
+                                                                                       b = q[d + 4 >> 2];
+                                                                                       c = q[d + 8 >> 2];
+                                                                                       q[d + 8 >> 2] = q[d >> 2];
+                                                                                       q[d >> 2] = b;
+                                                                                       q[d + 4 >> 2] = c;
+                                                                                       break t;
+                                                                                      }
+                                                                                      g = q[a + 356 >> 2];
+                                                                                      if ((g | 0) == 3) {
+                                                                                       break i;
+                                                                                      }
+                                                                                      c = q[a + 412 >> 2];
+                                                                                      Vb : {
+                                                                                       e = q[a + 420 >> 2];
+                                                                                       Wb : {
+                                                                                        Xb : {
+                                                                                         if (!e) {
+                                                                                          b = 0;
+                                                                                          break Xb;
+                                                                                         }
+                                                                                         b = w(c, 24) + e | 0;
+                                                                                         Yb : {
+                                                                                          if ((c | 0) < 1) {
+                                                                                           break Yb;
+                                                                                          }
+                                                                                          h = q[d >> 2];
+                                                                                          while (1) {
+                                                                                           if ((h | 0) == q[e + 12 >> 2]) {
+                                                                                            break Yb;
+                                                                                           }
+                                                                                           e = e + 24 | 0;
+                                                                                           if (e >>> 0 < b >>> 0) {
+                                                                                            continue;
+                                                                                           }
+                                                                                           break;
+                                                                                          }
+                                                                                         }
+                                                                                         if ((b | 0) != (e | 0)) {
+                                                                                          break Wb;
+                                                                                         }
+                                                                                        }
+                                                                                        if (c >>> 0 >= t[a + 416 >> 2]) {
+                                                                                         break Vb;
+                                                                                        }
+                                                                                        q[a + 412 >> 2] = c + 1;
+                                                                                        e = b;
+                                                                                       }
+                                                                                       b = q[d >> 2];
+                                                                                       if (b >>> 0 >= 256) {
+                                                                                        break Vb;
+                                                                                       }
+                                                                                       q[e + 12 >> 2] = b;
+                                                                                       b = q[a + 364 >> 2];
+                                                                                       o[e + 16 | 0] = 1;
+                                                                                       q[e >> 2] = g;
+                                                                                       q[e + 4 >> 2] = b + 1;
+                                                                                       c = q[d >> 2];
+                                                                                       if (c >>> 0 > t[a + 428 >> 2]) {
+                                                                                        q[a + 428 >> 2] = c & 255;
+                                                                                       }
+                                                                                       d = q[a + 368 >> 2];
+                                                                                       while (1) {
+                                                                                        b = b + f | 0;
+                                                                                        q[y >> 2] = b;
+                                                                                        if ((b | 0) >= (d | 0)) {
+                                                                                         break m;
+                                                                                        }
+                                                                                        c = r[b + i | 0];
+                                                                                        o[a + 372 | 0] = c;
+                                                                                        f = o[c + 4288 | 0];
+                                                                                        q[a + 376 >> 2] = f;
+                                                                                        if ((c | 1) == 65) {
+                                                                                         g = b + 1 | 0;
+                                                                                         if ((g | 0) >= (d | 0)) {
+                                                                                          break m;
+                                                                                         }
+                                                                                         f = 2 - w(r[g + i | 0], f) | 0;
+                                                                                         q[a + 376 >> 2] = f;
+                                                                                        }
+                                                                                        if ((b + f | 0) > (d | 0)) {
+                                                                                         break m;
+                                                                                        }
+                                                                                        g = c + -44 | 0;
+                                                                                        if (g >>> 0 > 1) {
+                                                                                         if ((c | 0) == 137) {
+                                                                                          break k;
+                                                                                         }
+                                                                                         continue;
+                                                                                        }
+                                                                                        break;
+                                                                                       }
+                                                                                       if (g - 1) {
+                                                                                        break k;
+                                                                                       }
+                                                                                       q[e + 8 >> 2] = b;
+                                                                                       break t;
+                                                                                      }
+                                                                                      b = 141;
+                                                                                      break d;
+                                                                                     }
+                                                                                     b = 0;
+                                                                                     c = q[d >> 2];
+                                                                                     if (c & 1) {
+                                                                                      b = q[q[q[a >> 2] + 96 >> 2] + 64 >> 2];
+                                                                                     }
+                                                                                     b = c & 2 ? r[a + 285 | 0] ? b | 256 : b : b;
+                                                                                     b = c & 4 ? r[a + 286 | 0] ? b | 512 : b : b;
+                                                                                     b = c & 8 ? q[q[a >> 2] + 736 >> 2] ? b | 1024 : b : b;
+                                                                                     f = d;
+                                                                                     b = c & 32 ? r[a + 612 | 0] ? b | 4096 : b : b;
+                                                                                     d = b;
+                                                                                     Zb : {
+                                                                                      if (!r[a + 613 | 0] | q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] != 40) {
+                                                                                       break Zb;
+                                                                                      }
+                                                                                      e = c << 7;
+                                                                                      b = e & 8192 | b;
+                                                                                      if (c & 256) {
+                                                                                       b = r[a + 614 | 0] ? b | 32768 : b;
+                                                                                      }
+                                                                                      b = e & 393216 | b;
+                                                                                      d = b;
+                                                                                      if (!(c & 4096)) {
+                                                                                       break Zb;
+                                                                                      }
+                                                                                      d = r[a + 618 | 0] ? b | 524288 : b;
+                                                                                     }
+                                                                                     q[f >> 2] = d;
+                                                                                     break t;
+                                                                                    }
+                                                                                    _b : {
+                                                                                     b = s[d >> 1];
+                                                                                     if (b >>> 0 < s[a + 80 >> 1]) {
+                                                                                      c = s[d + 4 >> 1];
+                                                                                      if (c >>> 0 < s[a + 116 >> 1]) {
+                                                                                       break _b;
+                                                                                      }
+                                                                                     }
+                                                                                     if (!r[m | 0]) {
+                                                                                      break t;
+                                                                                     }
+                                                                                     break f;
+                                                                                    }
+                                                                                    d = b << 3;
+                                                                                    e = d + q[a + 84 >> 2] | 0;
+                                                                                    g = c << 3;
+                                                                                    c = g + q[a + 120 >> 2] | 0;
+                                                                                    b = q[e + 4 >> 2] - q[c + 4 >> 2] | 0;
+                                                                                    e = q[e >> 2] - q[c >> 2] | 0;
+                                                                                    c = b | e;
+                                                                                    e = c ? e : 16384;
+                                                                                    c = !(h & 1) | !c;
+                                                                                    f = c ? b : e;
+                                                                                    b = c ? e : 0 - b | 0;
+                                                                                    if (f | b) {
+                                                                                     q[k + 28 >> 2] = f;
+                                                                                     q[k + 24 >> 2] = b;
+                                                                                     Ke(k + 24 | 0);
+                                                                                     p[a + 294 >> 1] = q[k + 24 >> 2] / 4;
+                                                                                     p[a + 296 >> 1] = q[k + 28 >> 2] / 4;
+                                                                                    }
+                                                                                    d = d + q[a + 88 >> 2] | 0;
+                                                                                    e = g + q[a + 124 >> 2] | 0;
+                                                                                    b = q[d + 4 >> 2] - q[e + 4 >> 2] | 0;
+                                                                                    e = q[d >> 2] - q[e >> 2] | 0;
+                                                                                    d = b | e;
+                                                                                    e = d ? e : 16384;
+                                                                                    c = c | !d;
+                                                                                    d = c ? b : e;
+                                                                                    b = c ? e : 0 - b | 0;
+                                                                                    if (d | b) {
+                                                                                     q[k + 28 >> 2] = d;
+                                                                                     q[k + 24 >> 2] = b;
+                                                                                     Ke(k + 24 | 0);
+                                                                                     p[a + 298 >> 1] = q[k + 24 >> 2] / 4;
+                                                                                     p[a + 300 >> 1] = q[k + 28 >> 2] / 4;
+                                                                                    }
+                                                                                    $h(a);
+                                                                                    break t;
+                                                                                   }
+                                                                                   $b : {
+                                                                                    b = q[d >> 2];
+                                                                                    c = b & 255;
+                                                                                    if (c) {
+                                                                                     if ((c | 0) != 255) {
+                                                                                      break $b;
+                                                                                     }
+                                                                                     o[a + 341 | 0] = 1;
+                                                                                     break t;
+                                                                                    }
+                                                                                    o[a + 341 | 0] = 0;
+                                                                                    break t;
+                                                                                   }
+                                                                                   if (!(!(b & 256) | c >>> 0 < s[a + 256 >> 1])) {
+                                                                                    o[a + 341 | 0] = 1;
+                                                                                   }
+                                                                                   if (!(!(b & 512) | !r[a + 285 | 0])) {
+                                                                                    o[a + 341 | 0] = 1;
+                                                                                   }
+                                                                                   if (!(!(b & 1024) | !r[a + 286 | 0])) {
+                                                                                    o[a + 341 | 0] = 1;
+                                                                                   }
+                                                                                   if (!(!(b & 2048) | c >>> 0 >= s[a + 256 >> 1])) {
+                                                                                    o[a + 341 | 0] = 0;
+                                                                                   }
+                                                                                   if (!(!(b & 4096) | !r[a + 285 | 0])) {
+                                                                                    o[a + 341 | 0] = 0;
+                                                                                   }
+                                                                                   if (!(b & 8192) | !r[a + 286 | 0]) {
+                                                                                    break t;
+                                                                                   }
+                                                                                   o[a + 341 | 0] = 0;
+                                                                                   break t;
+                                                                                  }
+                                                                                  b = q[a + 420 >> 2];
+                                                                                  ac : {
+                                                                                   if (!b) {
+                                                                                    break ac;
+                                                                                   }
+                                                                                   c = q[a + 412 >> 2];
+                                                                                   if ((c | 0) < 1) {
+                                                                                    break ac;
+                                                                                   }
+                                                                                   c = w(c, 24) + b | 0;
+                                                                                   f = b;
+                                                                                   while (1) {
+                                                                                    if (!(!r[f + 16 | 0] | (h | 0) != r[f + 12 | 0])) {
+                                                                                     b = q[a + 432 >> 2];
+                                                                                     if ((b | 0) >= q[a + 436 >> 2]) {
+                                                                                      break e;
+                                                                                     }
+                                                                                     q[a + 432 >> 2] = b + 1;
+                                                                                     b = q[a + 440 >> 2] + (b << 4) | 0;
+                                                                                     q[b >> 2] = q[a + 356 >> 2];
+                                                                                     c = q[a + 364 >> 2];
+                                                                                     q[b + 12 >> 2] = f;
+                                                                                     q[b + 8 >> 2] = 1;
+                                                                                     q[b + 4 >> 2] = c + 1;
+                                                                                     c = q[f >> 2];
+                                                                                     b = c + -1 | 0;
+                                                                                     bc : {
+                                                                                      if (b >>> 0 >= 3) {
+                                                                                       q[l >> 2] = 132;
+                                                                                       break bc;
+                                                                                      }
+                                                                                      d = q[((b << 3) + a | 0) + 448 >> 2];
+                                                                                      if (!d) {
+                                                                                       q[l >> 2] = 138;
+                                                                                       break bc;
+                                                                                      }
+                                                                                      b = q[((b << 3) + a | 0) + 452 >> 2];
+                                                                                      e = q[f + 4 >> 2];
+                                                                                      if ((b | 0) < (e | 0)) {
+                                                                                       q[l >> 2] = 131;
+                                                                                       break bc;
+                                                                                      }
+                                                                                      q[a + 368 >> 2] = b;
+                                                                                      q[a + 360 >> 2] = d;
+                                                                                      q[a + 364 >> 2] = e;
+                                                                                      q[a + 356 >> 2] = c;
+                                                                                     }
+                                                                                     o[a + 380 | 0] = 0;
+                                                                                     break t;
+                                                                                    }
+                                                                                    f = f + 24 | 0;
+                                                                                    if (f >>> 0 < c >>> 0) {
+                                                                                     continue;
+                                                                                    }
+                                                                                    break;
+                                                                                   }
+                                                                                  }
+                                                                                  q[l >> 2] = 128;
+                                                                                  break s;
+                                                                                 }
+                                                                                 if (!(!r[a + 616 | 0] | (!r[a + 615 | 0] | q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] != 40))) {
+                                                                                  if (r[a + 617 | 0]) {
+                                                                                   break t;
+                                                                                  }
+                                                                                 }
+                                                                                 cc : {
+                                                                                  e = s[d + 4 >> 1];
+                                                                                  c = s[a + 152 >> 1];
+                                                                                  if (e >>> 0 >= c >>> 0) {
+                                                                                   break cc;
+                                                                                  }
+                                                                                  b = s[d >> 1];
+                                                                                  if (b >>> 0 >= c >>> 0) {
+                                                                                   break cc;
+                                                                                  }
+                                                                                  if (e >>> 0 < b >>> 0) {
+                                                                                   break t;
+                                                                                  }
+                                                                                  c = b;
+                                                                                  while (1) {
+                                                                                   b = q[a + 168 >> 2] + b | 0;
+                                                                                   o[b | 0] = r[b | 0] & 254;
+                                                                                   c = c + 1 | 0;
+                                                                                   b = c & 65535;
+                                                                                   if (e >>> 0 >= b >>> 0) {
+                                                                                    continue;
+                                                                                   }
+                                                                                   break;
+                                                                                  }
+                                                                                  break t;
+                                                                                 }
+                                                                                 if (!r[m | 0]) {
+                                                                                  break t;
+                                                                                 }
+                                                                                 break f;
+                                                                                }
+                                                                                if (!(!r[a + 616 | 0] | (!r[a + 615 | 0] | q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] != 40))) {
+                                                                                 if (r[a + 617 | 0]) {
+                                                                                  break t;
+                                                                                 }
+                                                                                }
+                                                                                dc : {
+                                                                                 e = s[d + 4 >> 1];
+                                                                                 c = s[a + 152 >> 1];
+                                                                                 if (e >>> 0 >= c >>> 0) {
+                                                                                  break dc;
+                                                                                 }
+                                                                                 b = s[d >> 1];
+                                                                                 if (b >>> 0 >= c >>> 0) {
+                                                                                  break dc;
+                                                                                 }
+                                                                                 if (e >>> 0 < b >>> 0) {
+                                                                                  break t;
+                                                                                 }
+                                                                                 c = b;
+                                                                                 while (1) {
+                                                                                  b = q[a + 168 >> 2] + b | 0;
+                                                                                  o[b | 0] = r[b | 0] | 1;
+                                                                                  c = c + 1 | 0;
+                                                                                  b = c & 65535;
+                                                                                  if (e >>> 0 >= b >>> 0) {
+                                                                                   continue;
+                                                                                  }
+                                                                                  break;
+                                                                                 }
+                                                                                 break t;
+                                                                                }
+                                                                                if (!r[m | 0]) {
+                                                                                 break t;
+                                                                                }
+                                                                                break f;
+                                                                               }
+                                                                               ec : {
+                                                                                if (!(!r[a + 616 | 0] | (!r[a + 615 | 0] | q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] != 40))) {
+                                                                                 if (r[a + 617 | 0]) {
+                                                                                  break ec;
+                                                                                 }
+                                                                                }
+                                                                                fc : {
+                                                                                 c = q[a + 308 >> 2];
+                                                                                 if (q[a + 16 >> 2] >= (c | 0)) {
+                                                                                  if ((c | 0) > 0) {
+                                                                                   break fc;
+                                                                                  }
+                                                                                  break ec;
+                                                                                 }
+                                                                                 if (!r[m | 0]) {
+                                                                                  break ec;
+                                                                                 }
+                                                                                 q[l >> 2] = 129;
+                                                                                 break ec;
+                                                                                }
+                                                                                while (1) {
+                                                                                 b = b + -1 | 0;
+                                                                                 q[a + 28 >> 2] = b;
+                                                                                 b = s[(b << 2) + g >> 1];
+                                                                                 gc : {
+                                                                                  if (b >>> 0 >= s[a + 152 >> 1]) {
+                                                                                   if (r[m | 0]) {
+                                                                                    break f;
+                                                                                   }
+                                                                                   break gc;
+                                                                                  }
+                                                                                  b = b + q[a + 168 >> 2] | 0;
+                                                                                  o[b | 0] = r[b | 0] ^ 1;
+                                                                                  c = q[a + 308 >> 2];
+                                                                                 }
+                                                                                 d = c + -1 | 0;
+                                                                                 q[a + 308 >> 2] = d;
+                                                                                 b = q[a + 28 >> 2];
+                                                                                 if ((c | 0) < 2) {
+                                                                                  break ec;
+                                                                                 }
+                                                                                 g = q[a + 24 >> 2];
+                                                                                 c = d;
+                                                                                 continue;
+                                                                                }
+                                                                               }
+                                                                               q[a + 32 >> 2] = b;
+                                                                               q[a + 308 >> 2] = 1;
+                                                                               break t;
+                                                                              }
+                                                                              q[a + 572 >> 2] = 40;
+                                                                              q[a + 316 >> 2] = 3;
+                                                                              break t;
+                                                                             }
+                                                                             q[a + 572 >> 2] = 41;
+                                                                             q[a + 316 >> 2] = 4;
+                                                                             break t;
+                                                                            }
+                                                                            b = q[a + 420 >> 2];
+                                                                            hc : {
+                                                                             if (!b) {
+                                                                              break hc;
+                                                                             }
+                                                                             c = q[a + 412 >> 2];
+                                                                             if ((c | 0) < 1) {
+                                                                              break hc;
+                                                                             }
+                                                                             d = w(c, 24) + b | 0;
+                                                                             c = b;
+                                                                             while (1) {
+                                                                              if (!(!r[c + 16 | 0] | r[c + 12 | 0] != 123)) {
+                                                                               b = q[a + 432 >> 2];
+                                                                               if ((b | 0) >= q[a + 436 >> 2]) {
+                                                                                break e;
+                                                                               }
+                                                                               q[a + 432 >> 2] = b + 1;
+                                                                               b = q[a + 440 >> 2] + (b << 4) | 0;
+                                                                               q[b >> 2] = q[a + 356 >> 2];
+                                                                               d = q[a + 364 >> 2];
+                                                                               q[b + 12 >> 2] = c;
+                                                                               q[b + 8 >> 2] = 1;
+                                                                               q[b + 4 >> 2] = d + 1;
+                                                                               d = q[c >> 2];
+                                                                               b = d + -1 | 0;
+                                                                               ic : {
+                                                                                if (b >>> 0 >= 3) {
+                                                                                 q[l >> 2] = 132;
+                                                                                 break ic;
+                                                                                }
+                                                                                e = q[((b << 3) + a | 0) + 448 >> 2];
+                                                                                if (!e) {
+                                                                                 q[l >> 2] = 138;
+                                                                                 break ic;
+                                                                                }
+                                                                                b = q[((b << 3) + a | 0) + 452 >> 2];
+                                                                                c = q[c + 4 >> 2];
+                                                                                if ((b | 0) < (c | 0)) {
+                                                                                 q[l >> 2] = 131;
+                                                                                 break ic;
+                                                                                }
+                                                                                q[a + 368 >> 2] = b;
+                                                                                q[a + 360 >> 2] = e;
+                                                                                q[a + 364 >> 2] = c;
+                                                                                q[a + 356 >> 2] = d;
+                                                                               }
+                                                                               o[a + 380 | 0] = 0;
+                                                                               break t;
+                                                                              }
+                                                                              c = c + 24 | 0;
+                                                                              if (c >>> 0 < d >>> 0) {
+                                                                               continue;
+                                                                              }
+                                                                              break;
+                                                                             }
+                                                                            }
+                                                                            q[l >> 2] = 128;
+                                                                            break s;
+                                                                           }
+                                                                           q[a + 572 >> 2] = 42;
+                                                                           q[a + 316 >> 2] = 5;
+                                                                           break t;
+                                                                          }
+                                                                          if (q[d + 4 >> 2]) {
+                                                                           break t;
+                                                                          }
+                                                                          c = b;
+                                                                          b = q[d >> 2];
+                                                                          if (!(c | b)) {
+                                                                           break g;
+                                                                          }
+                                                                          b = b + q[y >> 2] | 0;
+                                                                          q[y >> 2] = b;
+                                                                          if ((b | 0) < 0) {
+                                                                           break g;
+                                                                          }
+                                                                          c = q[a + 432 >> 2];
+                                                                          if ((b | 0) > q[q[(q[a + 440 >> 2] + (c << 4) | 0) + -4 >> 2] + 8 >> 2] ? (c | 0) >= 1 : 0) {
+                                                                           break g;
+                                                                          }
+                                                                          o[a + 380 | 0] = 0;
+                                                                          if (q[d >> 2] > -1) {
+                                                                           break t;
+                                                                          }
+                                                                          b = q[a + 628 >> 2] + 1 | 0;
+                                                                          q[a + 628 >> 2] = b;
+                                                                          if (b >>> 0 <= t[a + 632 >> 2]) {
+                                                                           break t;
+                                                                          }
+                                                                          break h;
+                                                                         }
+                                                                         if (!q[d + 4 >> 2]) {
+                                                                          break t;
+                                                                         }
+                                                                         c = b;
+                                                                         b = q[d >> 2];
+                                                                         if (!(c | b)) {
+                                                                          break g;
+                                                                         }
+                                                                         b = b + q[y >> 2] | 0;
+                                                                         q[y >> 2] = b;
+                                                                         if ((b | 0) < 0) {
+                                                                          break g;
+                                                                         }
+                                                                         c = q[a + 432 >> 2];
+                                                                         if ((b | 0) > q[q[(q[a + 440 >> 2] + (c << 4) | 0) + -4 >> 2] + 8 >> 2] ? (c | 0) >= 1 : 0) {
+                                                                          break g;
+                                                                         }
+                                                                         o[a + 380 | 0] = 0;
+                                                                         if (q[d >> 2] > -1) {
+                                                                          break t;
+                                                                         }
+                                                                         b = q[a + 628 >> 2] + 1 | 0;
+                                                                         q[a + 628 >> 2] = b;
+                                                                         if (b >>> 0 <= t[a + 632 >> 2]) {
+                                                                          break t;
+                                                                         }
+                                                                         break h;
+                                                                        }
+                                                                        e = q[d >> 2];
+                                                                        c = e >>> 4 | 0;
+                                                                        b = q[(c & 12) + 6520 >> 2];
+                                                                        q[a + 480 >> 2] = b;
+                                                                        jc : {
+                                                                         kc : {
+                                                                          lc : {
+                                                                           mc : {
+                                                                            c = c & 3;
+                                                                            switch (c - 1 | 0) {
+                                                                            case 2:
+                                                                             break kc;
+                                                                            case 1:
+                                                                             break lc;
+                                                                            case 0:
+                                                                             break mc;
+                                                                            default:
+                                                                             break jc;
+                                                                            }
+                                                                           }
+                                                                           c = b >>> 2 | 0;
+                                                                           break jc;
+                                                                          }
+                                                                          c = b >>> 1 | 0;
+                                                                          break jc;
+                                                                         }
+                                                                         c = w(b, 3) >>> 2 | 0;
+                                                                        }
+                                                                        q[a + 484 >> 2] = c;
+                                                                        q[a + 572 >> 2] = 43;
+                                                                        q[a + 316 >> 2] = 7;
+                                                                        d = a;
+                                                                        e = e & 15;
+                                                                        f = b + -1 | 0;
+                                                                        nc : {
+                                                                         if (!e) {
+                                                                          break nc;
+                                                                         }
+                                                                         f = (w(b, e + -4 | 0) | 0) / 8 | 0;
+                                                                        }
+                                                                        q[d + 488 >> 2] = f >> 8;
+                                                                        q[a + 484 >> 2] = c >>> 8;
+                                                                        q[a + 480 >> 2] = b >>> 8;
+                                                                        break t;
+                                                                       }
+                                                                       e = q[d >> 2];
+                                                                       c = e >>> 4 | 0;
+                                                                       b = q[(c & 12) + 6504 >> 2];
+                                                                       q[a + 480 >> 2] = b;
+                                                                       oc : {
+                                                                        pc : {
+                                                                         qc : {
+                                                                          rc : {
+                                                                           c = c & 3;
+                                                                           switch (c - 1 | 0) {
+                                                                           case 2:
+                                                                            break pc;
+                                                                           case 1:
+                                                                            break qc;
+                                                                           case 0:
+                                                                            break rc;
+                                                                           default:
+                                                                            break oc;
+                                                                           }
+                                                                          }
+                                                                          c = b >>> 2 | 0;
+                                                                          break oc;
+                                                                         }
+                                                                         c = b >>> 1 | 0;
+                                                                         break oc;
+                                                                        }
+                                                                        c = w(b, 3) >>> 2 | 0;
+                                                                       }
+                                                                       q[a + 484 >> 2] = c;
+                                                                       q[a + 572 >> 2] = 44;
+                                                                       q[a + 316 >> 2] = 6;
+                                                                       d = a;
+                                                                       e = e & 15;
+                                                                       f = b + -1 | 0;
+                                                                       sc : {
+                                                                        if (!e) {
+                                                                         break sc;
+                                                                        }
+                                                                        f = (w(b, e + -4 | 0) | 0) / 8 | 0;
+                                                                       }
+                                                                       q[d + 488 >> 2] = f >> 8;
+                                                                       q[a + 484 >> 2] = c >>> 8;
+                                                                       q[a + 480 >> 2] = b >>> 8;
+                                                                       break t;
+                                                                      }
+                                                                      e = n[q[a + 596 >> 2]](a) | 0;
+                                                                      c = 1;
+                                                                      d = q[d >> 2];
+                                                                      tc : {
+                                                                       if (!d) {
+                                                                        break tc;
+                                                                       }
+                                                                       while (1) {
+                                                                        b = q[a + 28 >> 2];
+                                                                        if ((b | 0) <= 1) {
+                                                                         if (r[m | 0]) {
+                                                                          q[l >> 2] = 129;
+                                                                         }
+                                                                         q[a + 28 >> 2] = 0;
+                                                                         break tc;
+                                                                        }
+                                                                        g = b + -2 | 0;
+                                                                        q[a + 28 >> 2] = g;
+                                                                        f = b << 2;
+                                                                        b = q[a + 24 >> 2];
+                                                                        f = q[(f + b | 0) + -4 >> 2];
+                                                                        uc : {
+                                                                         if (f >>> 0 >= t[a + 384 >> 2]) {
+                                                                          if (r[m | 0]) {
+                                                                           break f;
+                                                                          }
+                                                                          break uc;
+                                                                         }
+                                                                         i = e;
+                                                                         g = q[b + (g << 2) >> 2];
+                                                                         b = g >>> 4 & 15;
+                                                                         h = r[a + 372 | 0] + -116 | 0;
+                                                                         j = b;
+                                                                         vc : {
+                                                                          if (h >>> 0 > 1) {
+                                                                           break vc;
+                                                                          }
+                                                                          j = b | 16;
+                                                                          if (h - 1) {
+                                                                           break vc;
+                                                                          }
+                                                                          j = b | 32;
+                                                                         }
+                                                                         if ((i | 0) != (j + s[a + 336 >> 1] | 0)) {
+                                                                          break uc;
+                                                                         }
+                                                                         b = g & 15;
+                                                                         n[q[a + 608 >> 2]](a, f, (b >>> 0 > 7 ? -7 : -8) + b << 6 - s[a + 338 >> 1]);
+                                                                        }
+                                                                        c = c + 1 | 0;
+                                                                        if (c >>> 0 <= d >>> 0) {
+                                                                         continue;
+                                                                        }
+                                                                        break;
+                                                                       }
+                                                                      }
+                                                                      q[a + 32 >> 2] = q[a + 28 >> 2];
+                                                                      break t;
+                                                                     }
+                                                                     ji(a, d);
+                                                                     break t;
+                                                                    }
+                                                                    b = q[d >> 2];
+                                                                    if (b >>> 0 >= t[a + 384 >> 2]) {
+                                                                     if (!r[m | 0]) {
+                                                                      break t;
+                                                                     }
+                                                                     break f;
+                                                                    }
+                                                                    c = Ee(q[d + 4 >> 2], q[a + 264 >> 2]);
+                                                                    q[q[a + 388 >> 2] + (b << 2) >> 2] = c;
+                                                                    break t;
+                                                                   }
+                                                                   b = q[((h << 2) + a | 0) + -164 >> 2];
+                                                                   c = q[d >> 2];
+                                                                   if ((c | 0) >= 0) {
+                                                                    b = b + c | 0;
+                                                                    q[d >> 2] = (b | 0) > 0 ? b : 0;
+                                                                    break t;
+                                                                   }
+                                                                   b = c - b | 0;
+                                                                   q[d >> 2] = b >> 31 & b;
+                                                                   break t;
+                                                                  }
+                                                                  N = d, R = n[q[a + 572 >> 2]](a, q[d >> 2], q[((h << 2) + a | 0) + -148 >> 2]) | 0, q[N >> 2] = R;
+                                                                  break t;
+                                                                 }
+                                                                 q[d >> 2] = q[d >> 2] + 63 & -64;
+                                                                 break t;
+                                                                }
+                                                                q[d >> 2] = q[d >> 2] & -64;
+                                                                break t;
+                                                               }
+                                                               q[d >> 2] = 0 - q[d >> 2];
+                                                               break t;
+                                                              }
+                                                              b = q[d >> 2];
+                                                              if ((b | 0) > -1) {
+                                                               break t;
+                                                              }
+                                                              q[d >> 2] = 0 - b;
+                                                              break t;
+                                                             }
+                                                             N = d, R = ue(q[d >> 2], q[d + 4 >> 2], 64), q[N >> 2] = R;
+                                                             break t;
+                                                            }
+                                                            c = q[d + 4 >> 2];
+                                                            b = 133;
+                                                            if (!c) {
+                                                             break d;
+                                                            }
+                                                            N = d, R = De(q[d >> 2], 64, c), q[N >> 2] = R;
+                                                            break t;
+                                                           }
+                                                           q[d >> 2] = q[d >> 2] - q[d + 4 >> 2];
+                                                           break t;
+                                                          }
+                                                          q[d >> 2] = q[d + 4 >> 2] + q[d >> 2];
+                                                          break t;
+                                                         }
+                                                         b = q[d >> 2];
+                                                         if (b >>> 0 >= 7) {
+                                                          break g;
+                                                         }
+                                                         p[a + 338 >> 1] = b;
+                                                         break t;
+                                                        }
+                                                        p[a + 336 >> 1] = q[d >> 2];
+                                                        break t;
+                                                       }
+                                                       ji(a, d);
+                                                       break t;
+                                                      }
+                                                      q[d >> 2] = !q[d >> 2];
+                                                      break t;
+                                                     }
+                                                     b = d;
+                                                     q[b >> 2] = q[b >> 2] ? 1 : q[b + 4 >> 2] != 0;
+                                                     break t;
+                                                    }
+                                                    if (!q[d >> 2]) {
+                                                     q[d >> 2] = 0;
+                                                     break t;
+                                                    }
+                                                    q[d >> 2] = q[d + 4 >> 2] != 0;
+                                                    break t;
+                                                   }
+                                                   if (q[d >> 2]) {
+                                                    break t;
+                                                   }
+                                                   b = q[a + 364 >> 2];
+                                                   e = q[a + 368 >> 2];
+                                                   d = 1;
+                                                   while (1) {
+                                                    b = b + f | 0;
+                                                    q[y >> 2] = b;
+                                                    if ((b | 0) >= (e | 0)) {
+                                                     break m;
+                                                    }
+                                                    c = r[b + i | 0];
+                                                    o[a + 372 | 0] = c;
+                                                    f = o[c + 4288 | 0];
+                                                    q[a + 376 >> 2] = f;
+                                                    if ((c | 1) == 65) {
+                                                     g = b + 1 | 0;
+                                                     if ((g | 0) >= (e | 0)) {
+                                                      break m;
+                                                     }
+                                                     f = 2 - w(r[g + i | 0], f) | 0;
+                                                     q[a + 376 >> 2] = f;
+                                                    }
+                                                    if ((b + f | 0) > (e | 0)) {
+                                                     break m;
+                                                    }
+                                                    wc : {
+                                                     if ((c | 0) != 27) {
+                                                      c = c + -88 | 0;
+                                                      if (c >>> 0 > 1) {
+                                                       continue;
+                                                      }
+                                                      if (!(c - 1)) {
+                                                       break wc;
+                                                      }
+                                                      d = d + 1 | 0;
+                                                      continue;
+                                                     }
+                                                     if ((d | 0) != 1) {
+                                                      continue;
+                                                     }
+                                                     break t;
+                                                    }
+                                                    d = d + -1 | 0;
+                                                    if (d) {
+                                                     continue;
+                                                    }
+                                                    break;
+                                                   }
+                                                   break t;
+                                                  }
+                                                  N = d, R = !(n[q[a + 572 >> 2]](a, q[d >> 2], 0) & 127), q[N >> 2] = R;
+                                                  break t;
+                                                 }
+                                                 N = d, R = (n[q[a + 572 >> 2]](a, q[d >> 2], 0) & 127) == 64, q[N >> 2] = R;
+                                                 break t;
+                                                }
+                                                q[d >> 2] = q[d >> 2] != q[d + 4 >> 2];
+                                                break t;
+                                               }
+                                               q[d >> 2] = q[d >> 2] == q[d + 4 >> 2];
+                                               break t;
+                                              }
+                                              q[d >> 2] = q[d >> 2] >= q[d + 4 >> 2];
+                                              break t;
+                                             }
+                                             q[d >> 2] = q[d >> 2] > q[d + 4 >> 2];
+                                             break t;
+                                            }
+                                            q[d >> 2] = q[d >> 2] <= q[d + 4 >> 2];
+                                            break t;
+                                           }
+                                           q[d >> 2] = q[d >> 2] < q[d + 4 >> 2];
+                                           break t;
+                                          }
+                                          b = 135;
+                                          break d;
+                                         }
+                                         o[a + 320 | 0] = 0;
+                                         break r;
+                                        }
+                                        o[a + 320 | 0] = 1;
+                                        break r;
+                                       }
+                                       if (q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] == 35) {
+                                        N = d, R = n[q[a + 596 >> 2]](a) | 0, q[N >> 2] = R;
+                                        break t;
+                                       }
+                                       q[d >> 2] = q[a + 216 >> 2];
+                                       break t;
+                                      }
+                                      N = d, R = n[q[a + 596 >> 2]](a) | 0, q[N >> 2] = R;
+                                      break t;
+                                     }
+                                     xc : {
+                                      yc : {
+                                       b = d;
+                                       e = s[b >> 1];
+                                       if (e >>> 0 < s[a + 44 >> 1]) {
+                                        c = s[d + 4 >> 1];
+                                        if (c >>> 0 < s[a + 80 >> 1]) {
+                                         break yc;
+                                        }
+                                       }
+                                       c = 0;
+                                       if (!r[m | 0]) {
+                                        break xc;
+                                       }
+                                       q[l >> 2] = 134;
+                                       q[d >> 2] = 0;
+                                       break t;
+                                      }
+                                      if (h & 1) {
+                                       b = q[a + 52 >> 2] + (e << 3) | 0;
+                                       c = q[a + 88 >> 2] + (c << 3) | 0;
+                                       N = d, R = n[q[a + 576 >> 2]](a, q[b >> 2] - q[c >> 2] | 0, q[b + 4 >> 2] - q[c + 4 >> 2] | 0) | 0, q[N >> 2] = R;
+                                       break t;
+                                      }
+                                      if (!(s[a + 350 >> 1] ? s[a + 348 >> 1] : 0)) {
+                                       b = q[a + 48 >> 2] + (e << 3) | 0;
+                                       c = q[a + 84 >> 2] + (c << 3) | 0;
+                                       N = d, R = n[q[a + 580 >> 2]](a, q[b >> 2] - q[c >> 2] | 0, q[b + 4 >> 2] - q[c + 4 >> 2] | 0) | 0, q[N >> 2] = R;
+                                       break t;
+                                      }
+                                      c = q[a + 92 >> 2] + (c << 3) | 0;
+                                      e = q[a + 56 >> 2] + (e << 3) | 0;
+                                      g = q[a + 224 >> 2];
+                                      if ((g | 0) == q[a + 228 >> 2]) {
+                                       N = d, R = Ee(n[q[a + 580 >> 2]](a, q[e >> 2] - q[c >> 2] | 0, q[e + 4 >> 2] - q[c + 4 >> 2] | 0) | 0, q[a + 224 >> 2]), q[N >> 2] = R;
+                                       break t;
+                                      }
+                                      c = (R = a, O = Ee(q[e >> 2] - q[c >> 2] | 0, g), P = Ee(q[e + 4 >> 2] - q[c + 4 >> 2] | 0, q[a + 228 >> 2]), N = q[a + 580 >> 2], n[N](R | 0, O | 0, P | 0) | 0);
+                                     }
+                                     q[b >> 2] = c;
+                                     break t;
+                                    }
+                                    b = s[d >> 1];
+                                    if (b >>> 0 >= s[a + 116 >> 1]) {
+                                     if (!r[m | 0]) {
+                                      break t;
+                                     }
+                                     break f;
+                                    }
+                                    c = b << 3;
+                                    e = c + q[a + 124 >> 2] | 0;
+                                    e = n[q[a + 576 >> 2]](a, q[e >> 2], q[e + 4 >> 2]) | 0;
+                                    n[q[a + 588 >> 2]](a, z, b, q[d + 4 >> 2] - e | 0);
+                                    if (s[a + 352 >> 1]) {
+                                     break t;
+                                    }
+                                    b = c + q[a + 120 >> 2] | 0;
+                                    c = c + q[a + 124 >> 2] | 0;
+                                    d = q[c + 4 >> 2];
+                                    q[b >> 2] = q[c >> 2];
+                                    q[b + 4 >> 2] = d;
+                                    break t;
+                                   }
+                                   b = d;
+                                   c = q[b >> 2];
+                                   zc : {
+                                    if (c >>> 0 >= s[a + 116 >> 1]) {
+                                     c = 0;
+                                     if (!r[m | 0]) {
+                                      break zc;
+                                     }
+                                     q[l >> 2] = 134;
+                                     q[d >> 2] = 0;
+                                     break t;
+                                    }
+                                    if (h & 1) {
+                                     b = q[a + 120 >> 2] + (c << 3) | 0;
+                                     N = d, P = n[q[a + 580 >> 2]](a, q[b >> 2], q[b + 4 >> 2]) | 0, q[N >> 2] = P;
+                                     break t;
+                                    }
+                                    c = q[a + 124 >> 2] + (c << 3) | 0;
+                                    c = n[q[a + 576 >> 2]](a, q[c >> 2], q[c + 4 >> 2]) | 0;
+                                   }
+                                   q[b >> 2] = c;
+                                   break t;
+                                  }
+                                  b = q[d >> 2];
+                                  Ac : {
+                                   if (b >>> 0 >= t[a + 384 >> 2]) {
+                                    b = 0;
+                                    if (r[m | 0]) {
+                                     break f;
+                                    }
+                                    break Ac;
+                                   }
+                                   b = n[q[a + 600 >> 2]](a, b) | 0;
+                                  }
+                                  q[d >> 2] = b;
+                                  break t;
+                                 }
+                                 b = q[d >> 2];
+                                 if (b >>> 0 >= t[a + 384 >> 2]) {
+                                  if (!r[m | 0]) {
+                                   break t;
+                                  }
+                                  break f;
+                                 }
+                                 n[q[a + 604 >> 2]](a, b, q[d + 4 >> 2]);
+                                 break t;
+                                }
+                                b = q[d >> 2];
+                                Bc : {
+                                 if (b >>> 0 >= s[a + 472 >> 1]) {
+                                  b = 0;
+                                  if (r[m | 0]) {
+                                   break f;
+                                  }
+                                  break Bc;
+                                 }
+                                 b = q[q[a + 476 >> 2] + (b << 2) >> 2];
+                                }
+                                q[d >> 2] = b;
+                                break t;
+                               }
+                               b = q[d >> 2];
+                               if (b >>> 0 >= s[a + 472 >> 1]) {
+                                if (!r[m | 0]) {
+                                 break t;
+                                }
+                                break f;
+                               }
+                               q[q[a + 476 >> 2] + (b << 2) >> 2] = q[d + 4 >> 2];
+                               break t;
+                              }
+                              f = (c - q[a + 16 >> 2] | 0) + 1 | 0;
+                              b = q[a + 364 >> 2];
+                              c = b + i | 0;
+                              e = r[c + 1 | 0];
+                              if (f >>> 0 <= e >>> 0) {
+                               break e;
+                              }
+                              g = b + 2 | 0;
+                              q[y >> 2] = g;
+                              Cc : {
+                               if (!e) {
+                                break Cc;
+                               }
+                               q[y >> 2] = b + 4;
+                               q[d >> 2] = (r[c + 3 | 0] | r[g + i | 0] << 8) << 16 >> 16;
+                               b = 1;
+                               c = 1;
+                               if ((e | 0) == 1) {
+                                break Cc;
+                               }
+                               while (1) {
+                                g = q[y >> 2];
+                                q[y >> 2] = g + 2;
+                                f = d + (b << 2) | 0;
+                                b = g + i | 0;
+                                b = r[b | 0] | r[b + 1 | 0] << 8;
+                                q[f >> 2] = (b << 24 | b << 8 & 16711680) >> 16;
+                                c = c + 1 | 0;
+                                b = c & 65535;
+                                if (b >>> 0 < e >>> 0) {
+                                 continue;
+                                }
+                                break;
+                               }
+                              }
+                              o[a + 380 | 0] = 0;
+                              q[a + 32 >> 2] = e + q[a + 32 >> 2];
+                              break t;
+                             }
+                             b = i + q[a + 364 >> 2] | 0;
+                             e = r[b + 1 | 0];
+                             if ((c - q[a + 16 >> 2] | 0) + 1 >>> 0 <= e >>> 0) {
+                              break e;
+                             }
+                             Dc : {
+                              if (!e) {
+                               break Dc;
+                              }
+                              q[d >> 2] = r[b + 2 | 0];
+                              b = 2;
+                              c = 2;
+                              if ((e | 0) == 1) {
+                               break Dc;
+                              }
+                              while (1) {
+                               q[(d + (b << 2) | 0) + -4 >> 2] = r[(i + (q[y >> 2] + b | 0) | 0) + 1 | 0];
+                               c = c + 1 | 0;
+                               b = c & 65535;
+                               if (b >>> 0 <= e >>> 0) {
+                                continue;
+                               }
+                               break;
+                              }
+                             }
+                             q[a + 32 >> 2] = e + q[a + 32 >> 2];
+                             break t;
+                            }
+                            Ec : {
+                             Fc : {
+                              c = s[d >> 1];
+                              if (c >>> 0 < s[a + 44 >> 1]) {
+                               b = q[d + 4 >> 2];
+                               if (b >>> 0 < t[a + 384 >> 2]) {
+                                break Fc;
+                               }
+                              }
+                              if (!r[m | 0]) {
+                               break Ec;
+                              }
+                              q[l >> 2] = 134;
+                              break Ec;
+                             }
+                             i = q[a + 324 >> 2];
+                             b = n[q[a + 600 >> 2]](a, b) | 0;
+                             if (!s[a + 348 >> 1]) {
+                              e = p[a + 302 >> 1];
+                              d = e >> 31;
+                              f = d ^ d + e;
+                              d = b >> 31;
+                              h = d + b ^ d;
+                              j = h >>> 16 | 0;
+                              u = w(f, j);
+                              g = u << 16 | 8192;
+                              x = c << 3;
+                              d = x + q[a + 48 >> 2] | 0;
+                              D = f;
+                              f = h & 65535;
+                              h = g + w(D, f) | 0;
+                              g = (u >>> 16 | 0) + (h >>> 0 < g >>> 0) << 18 | h >>> 14;
+                              q[d >> 2] = (b ^ e) > -1 ? g : 0 - g | 0;
+                              e = p[a + 304 >> 1];
+                              g = e >> 31;
+                              h = g ^ e + g;
+                              j = w(h, j);
+                              g = j << 16 | 8192;
+                              f = g + w(f, h) | 0;
+                              g = (j >>> 16 | 0) + (f >>> 0 < g >>> 0) << 18 | f >>> 14;
+                              q[d + 4 >> 2] = (b ^ e) > -1 ? g : 0 - g | 0;
+                              g = q[d + 4 >> 2];
+                              e = x + q[a + 52 >> 2] | 0;
+                              q[e >> 2] = q[d >> 2];
+                              q[e + 4 >> 2] = g;
+                             }
+                             d = q[a + 52 >> 2] + (c << 3) | 0;
+                             f = n[q[a + 576 >> 2]](a, q[d >> 2], q[d + 4 >> 2]) | 0;
+                             d = a;
+                             e = A;
+                             g = c;
+                             if (o[a + 372 | 0] & 1) {
+                              j = b - f | 0;
+                              h = j >> 31;
+                              b = n[q[a + 572 >> 2]](a, (h ^ h + j) > (i | 0) ? f : b, q[a + 268 >> 2]) | 0;
+                             }
+                             n[q[a + 588 >> 2]](d, e, g, b - f | 0);
+                            }
+                            p[a + 290 >> 1] = c;
+                            p[a + 288 >> 1] = c;
+                            break t;
+                           }
+                           q[a + 572 >> 2] = 45;
+                           q[a + 316 >> 2] = 2;
+                           break t;
+                          }
+                          Gc : {
+                           c = q[a + 308 >> 2];
+                           if (!(s[a + 288 >> 1] < s[a + 44 >> 1] ? q[a + 16 >> 2] >= (c | 0) : 0)) {
+                            if (!r[m | 0]) {
+                             break Gc;
+                            }
+                            q[l >> 2] = 134;
+                            break Gc;
+                           }
+                           if ((c | 0) < 1) {
+                            break Gc;
+                           }
+                           while (1) {
+                            b = b + -1 | 0;
+                            q[a + 28 >> 2] = b;
+                            b = s[(b << 2) + g >> 1];
+                            Hc : {
+                             if (b >>> 0 >= s[a + 80 >> 1]) {
+                              if (r[m | 0]) {
+                               break f;
+                              }
+                              break Hc;
+                             }
+                             d = b;
+                             b = q[a + 88 >> 2] + (b << 3) | 0;
+                             c = q[a + 52 >> 2] + (s[a + 288 >> 1] << 3) | 0;
+                             P = a, O = v, R = d, Q = 0 - (n[q[a + 576 >> 2]](a, q[b >> 2] - q[c >> 2] | 0, q[b + 4 >> 2] - q[c + 4 >> 2] | 0) | 0) | 0, N = q[a + 588 >> 2], n[N](P | 0, O | 0, R | 0, Q | 0);
+                             c = q[a + 308 >> 2];
+                            }
+                            d = c + -1 | 0;
+                            q[a + 308 >> 2] = d;
+                            b = q[a + 28 >> 2];
+                            if ((c | 0) < 2) {
+                             break Gc;
+                            }
+                            g = q[a + 24 >> 2];
+                            c = d;
+                            continue;
+                           }
+                          }
+                          q[a + 32 >> 2] = b;
+                          q[a + 308 >> 2] = 1;
+                          break t;
+                         }
+                         Ic : {
+                          b = s[d >> 1];
+                          if (b >>> 0 < s[a + 80 >> 1]) {
+                           c = s[a + 288 >> 1];
+                           if (c >>> 0 < s[a + 44 >> 1]) {
+                            break Ic;
+                           }
+                          }
+                          if (!r[m | 0]) {
+                           break t;
+                          }
+                          break f;
+                         }
+                         if (!s[a + 350 >> 1]) {
+                          c = q[a + 48 >> 2] + (c << 3) | 0;
+                          f = q[c + 4 >> 2];
+                          e = b << 3;
+                          g = e + q[a + 84 >> 2] | 0;
+                          q[g >> 2] = q[c >> 2];
+                          q[g + 4 >> 2] = f;
+                          n[q[a + 592 >> 2]](a, v, b, q[d + 4 >> 2]);
+                          c = e + q[a + 88 >> 2] | 0;
+                          e = e + q[a + 84 >> 2] | 0;
+                          g = q[e + 4 >> 2];
+                          q[c >> 2] = q[e >> 2];
+                          q[c + 4 >> 2] = g;
+                          c = s[a + 288 >> 1];
+                         }
+                         e = q[a + 88 >> 2] + (b << 3) | 0;
+                         c = q[a + 52 >> 2] + (c << 3) | 0;
+                         c = n[q[a + 576 >> 2]](a, q[e >> 2] - q[c >> 2] | 0, q[e + 4 >> 2] - q[c + 4 >> 2] | 0) | 0;
+                         n[q[a + 588 >> 2]](a, v, b, q[d + 4 >> 2] - c | 0);
+                         p[a + 292 >> 1] = b;
+                         p[a + 290 >> 1] = s[a + 288 >> 1];
+                         if (!(o[a + 372 | 0] & 1)) {
+                          break t;
+                         }
+                         p[a + 288 >> 1] = b;
+                         break t;
+                        }
+                        c = q[a + 308 >> 2];
+                        Jc : {
+                         if (q[a + 16 >> 2] < (c | 0)) {
+                          if (!r[m | 0]) {
+                           break Jc;
+                          }
+                          q[l >> 2] = 134;
+                          break Jc;
+                         }
+                         d = 1;
+                         d = !s[a + 348 >> 1] | !s[a + 350 >> 1] ? d : !s[a + 352 >> 1];
+                         b = s[a + 290 >> 1];
+                         if (b >>> 0 >= s[a + 44 >> 1]) {
+                          if (!r[m | 0]) {
+                           break Jc;
+                          }
+                          q[l >> 2] = 134;
+                          break Jc;
+                         }
+                         f = q[(d ? 48 : 56) + a >> 2];
+                         e = b << 3;
+                         g = f + e | 0;
+                         j = q[a + 52 >> 2];
+                         u = j + e | 0;
+                         h = 0;
+                         e = 0;
+                         i = s[a + 292 >> 1];
+                         if (i >>> 0 < s[a + 80 >> 1]) {
+                          Kc : {
+                           if (d) {
+                            c = q[a + 84 >> 2] + (i << 3) | 0;
+                            e = n[q[a + 580 >> 2]](a, q[c >> 2] - q[g >> 2] | 0, q[c + 4 >> 2] - q[(f + (b << 3) | 0) + 4 >> 2] | 0) | 0;
+                            break Kc;
+                           }
+                           c = q[a + 224 >> 2];
+                           if ((c | 0) == q[a + 228 >> 2]) {
+                            c = q[a + 92 >> 2] + (i << 3) | 0;
+                            e = n[q[a + 580 >> 2]](a, q[c >> 2] - q[g >> 2] | 0, q[c + 4 >> 2] - q[(f + (b << 3) | 0) + 4 >> 2] | 0) | 0;
+                            break Kc;
+                           }
+                           e = (Q = a, R = Ee(q[q[a + 92 >> 2] + (i << 3) >> 2] - q[g >> 2] | 0, c), O = Ee(q[(q[a + 92 >> 2] + (s[a + 292 >> 1] << 3) | 0) + 4 >> 2] - q[(f + (b << 3) | 0) + 4 >> 2] | 0, q[a + 228 >> 2]), N = q[a + 580 >> 2], n[N](Q | 0, R | 0, O | 0) | 0);
+                          }
+                          c = q[a + 88 >> 2] + (s[a + 292 >> 1] << 3) | 0;
+                          h = n[q[a + 576 >> 2]](a, q[c >> 2] - q[u >> 2] | 0, q[c + 4 >> 2] - q[(j + (b << 3) | 0) + 4 >> 2] | 0) | 0;
+                          c = q[a + 308 >> 2];
+                         }
+                         if ((c | 0) < 1) {
+                          break Jc;
+                         }
+                         b = b << 3;
+                         i = (b + j | 0) + 4 | 0;
+                         f = (b + f | 0) + 4 | 0;
+                         while (1) {
+                          b = q[a + 28 >> 2] + -1 | 0;
+                          q[a + 28 >> 2] = b;
+                          b = q[q[a + 24 >> 2] + (b << 2) >> 2];
+                          Lc : {
+                           if (b >>> 0 >= s[a + 116 >> 1]) {
+                            b = c;
+                            if (r[m | 0]) {
+                             break f;
+                            }
+                            break Lc;
+                           }
+                           Mc : {
+                            if (d) {
+                             c = q[a + 120 >> 2] + (b << 3) | 0;
+                             c = n[q[a + 580 >> 2]](a, q[c >> 2] - q[g >> 2] | 0, q[c + 4 >> 2] - q[f >> 2] | 0) | 0;
+                             break Mc;
+                            }
+                            c = q[a + 224 >> 2];
+                            if ((c | 0) == q[a + 228 >> 2]) {
+                             c = q[a + 128 >> 2] + (b << 3) | 0;
+                             c = n[q[a + 580 >> 2]](a, q[c >> 2] - q[g >> 2] | 0, q[c + 4 >> 2] - q[f >> 2] | 0) | 0;
+                             break Mc;
+                            }
+                            j = b << 3;
+                            c = (O = a, R = Ee(q[j + q[a + 128 >> 2] >> 2] - q[g >> 2] | 0, c), Q = Ee(q[(j + q[a + 128 >> 2] | 0) + 4 >> 2] - q[f >> 2] | 0, q[a + 228 >> 2]), N = q[a + 580 >> 2], n[N](O | 0, R | 0, Q | 0) | 0);
+                           }
+                           j = q[a + 124 >> 2] + (b << 3) | 0;
+                           j = n[q[a + 576 >> 2]](a, q[j >> 2] - q[u >> 2] | 0, q[j + 4 >> 2] - q[i >> 2] | 0) | 0;
+                           D = a;
+                           x = z;
+                           b = b & 65535;
+                           if (!(!e | !c)) {
+                            c = ue(c, h, e);
+                           }
+                           n[q[a + 588 >> 2]](D, x, b, c - j | 0);
+                           b = q[a + 308 >> 2];
+                          }
+                          c = b + -1 | 0;
+                          q[a + 308 >> 2] = c;
+                          if ((b | 0) > 1) {
+                           continue;
+                          }
+                          break;
+                         }
+                        }
+                        q[a + 308 >> 2] = 1;
+                        q[a + 32 >> 2] = q[a + 28 >> 2];
+                        break t;
+                       }
+                       f = 1;
+                       f = !s[a + 348 >> 1] | !s[a + 350 >> 1] ? f : !s[a + 352 >> 1];
+                       Nc : {
+                        c = q[a + 308 >> 2];
+                        if (q[a + 16 >> 2] <= (c | 0)) {
+                         if (!r[m | 0]) {
+                          break Nc;
+                         }
+                         q[l >> 2] = 134;
+                         break Nc;
+                        }
+                        if ((c | 0) < 1) {
+                         break Nc;
+                        }
+                        e = p[a + 304 >> 1];
+                        h = e >> 31;
+                        c = q[d >> 2];
+                        d = c >> 31;
+                        h = h ^ e + h;
+                        i = d ^ c + d;
+                        j = i >>> 16 | 0;
+                        u = w(h, j);
+                        d = u << 16 | 8192;
+                        i = i & 65535;
+                        h = d + w(i, h) | 0;
+                        d = (u >>> 16 | 0) + (h >>> 0 < d >>> 0) << 18 | h >>> 14;
+                        d = (c ^ e) > -1 ? d : 0 - d | 0;
+                        e = p[a + 302 >> 1];
+                        h = e >> 31;
+                        u = j;
+                        j = h ^ e + h;
+                        u = w(u, j);
+                        h = u << 16 | 8192;
+                        i = h + w(i, j) | 0;
+                        h = (u >>> 16 | 0) + (i >>> 0 < h >>> 0) << 18 | i >>> 14;
+                        c = (c ^ e) > -1 ? h : 0 - h | 0;
+                        while (1) {
+                         b = b + -1 | 0;
+                         q[a + 28 >> 2] = b;
+                         b = s[(b << 2) + g >> 1];
+                         Oc : {
+                          if (b >>> 0 >= s[a + 116 >> 1]) {
+                           if (r[m | 0]) {
+                            break f;
+                           }
+                           break Oc;
+                          }
+                          Pc : {
+                           Qc : {
+                            if (q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] == 40) {
+                             if (r[a + 615 | 0]) {
+                              Rc : {
+                               if (f) {
+                                break Rc;
+                               }
+                               if (r[a + 617 | 0] ? r[a + 616 | 0] : 0) {
+                                break Oc;
+                               }
+                               if (s[a + 304 >> 1] ? r[a + 564 | 0] : 0) {
+                                break Rc;
+                               }
+                               if (!(r[b + q[a + 132 >> 2] | 0] & 16)) {
+                                break Oc;
+                               }
+                              }
+                              if (s[a + 302 >> 1]) {
+                               e = b + q[a + 132 >> 2] | 0;
+                               o[e | 0] = r[e | 0] | 8;
+                              }
+                              if (!s[a + 304 >> 1]) {
+                               break Oc;
+                              }
+                              Sc : {
+                               if (!(!r[a + 616 | 0] | (!r[a + 615 | 0] | q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] != 40))) {
+                                if (r[a + 617 | 0]) {
+                                 break Sc;
+                                }
+                               }
+                               e = q[a + 124 >> 2] + (b << 3) | 0;
+                               q[e + 4 >> 2] = d + q[e + 4 >> 2];
+                              }
+                              b = b + q[a + 132 >> 2] | 0;
+                              o[b | 0] = r[b | 0] | 16;
+                              break Oc;
+                             }
+                             if (s[a + 302 >> 1]) {
+                              break Qc;
+                             }
+                             break Pc;
+                            }
+                            if (!s[a + 302 >> 1]) {
+                             break Pc;
+                            }
+                           }
+                           e = q[a + 124 >> 2] + (b << 3) | 0;
+                           q[e >> 2] = c + q[e >> 2];
+                           e = b + q[a + 132 >> 2] | 0;
+                           o[e | 0] = r[e | 0] | 8;
+                          }
+                          if (!s[a + 304 >> 1]) {
+                           break Oc;
+                          }
+                          Tc : {
+                           if (!(!r[a + 616 | 0] | (!r[a + 615 | 0] | q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] != 40))) {
+                            if (r[a + 617 | 0]) {
+                             break Tc;
+                            }
+                           }
+                           e = q[a + 124 >> 2] + (b << 3) | 0;
+                           q[e + 4 >> 2] = d + q[e + 4 >> 2];
+                          }
+                          b = b + q[a + 132 >> 2] | 0;
+                          o[b | 0] = r[b | 0] | 16;
+                         }
+                         e = q[a + 308 >> 2];
+                         q[a + 308 >> 2] = e + -1;
+                         b = q[a + 28 >> 2];
+                         if ((e | 0) < 2) {
+                          break Nc;
+                         }
+                         g = q[a + 24 >> 2];
+                         continue;
+                        }
+                       }
+                       q[a + 32 >> 2] = b;
+                       q[a + 308 >> 2] = 1;
+                       break t;
+                      }
+                      if (t[d >> 2] >= 2) {
+                       if (!r[m | 0]) {
+                        break t;
+                       }
+                       q[l >> 2] = 134;
+                       break t;
+                      }
+                      if (li(a, k + 16 | 0, k + 12 | 0, k + 24 | 0, k + 22 | 0)) {
+                       break t;
+                      }
+                      b = s[a + 352 >> 1];
+                      if (b >>> 0 > 1) {
+                       break t;
+                      }
+                      if (b - 1) {
+                       b = s[a + 116 >> 1];
+                      } else {
+                       b = p[a + 118 >> 1];
+                       if ((b | 0) < 1) {
+                        break t;
+                       }
+                       b = s[(q[a + 136 >> 2] + ((b & 65535) << 1) | 0) + -2 >> 1] + 1 | 0;
+                      }
+                      d = b & 65535;
+                      if (!d) {
+                       break t;
+                      }
+                      c = q[a + 124 >> 2];
+                      b = 0;
+                      e = s[k + 22 >> 1];
+                      g = q[k + 12 >> 2];
+                      f = q[k + 16 >> 2];
+                      h = q[k + 40 >> 2];
+                      while (1) {
+                       Uc : {
+                        if ((b | 0) == (e | 0) ? (c | 0) == (h | 0) : 0) {
+                         break Uc;
+                        }
+                        if (!(!s[a + 302 >> 1] | (r[a + 615 | 0] ? q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] == 40 : 0))) {
+                         i = c + (b << 3) | 0;
+                         q[i >> 2] = f + q[i >> 2];
+                        }
+                        if (!s[a + 304 >> 1]) {
+                         break Uc;
+                        }
+                        if (!(!r[a + 616 | 0] | (!r[a + 615 | 0] | q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] != 40))) {
+                         if (r[a + 617 | 0]) {
+                          break Uc;
+                         }
+                        }
+                        i = c + (b << 3) | 0;
+                        q[i + 4 >> 2] = g + q[i + 4 >> 2];
+                       }
+                       b = b + 1 | 0;
+                       if ((d | 0) != (b | 0)) {
+                        continue;
+                       }
+                       break;
+                      }
+                      break t;
+                     }
+                     d = q[d >> 2] << 16;
+                     c = d >> 16;
+                     b = c;
+                     if (s[a + 352 >> 1]) {
+                      f = p[a + 118 >> 1];
+                     } else {
+                      f = 1;
+                     }
+                     if (b >>> 0 >= f >>> 0) {
+                      if (!r[m | 0]) {
+                       break t;
+                      }
+                      q[l >> 2] = 134;
+                      break t;
+                     }
+                     if (li(a, k + 16 | 0, k + 12 | 0, k + 24 | 0, k + 22 | 0)) {
+                      break t;
+                     }
+                     b = (d ? (s[(q[a + 136 >> 2] + (c << 1) | 0) + -2 >> 1] - s[a + 140 >> 1] | 0) + 1 | 0 : 0) & 65535;
+                     d = b;
+                     if (s[a + 352 >> 1]) {
+                      c = (s[q[a + 136 >> 2] + (c << 1) >> 1] - s[a + 140 >> 1] | 0) + 1 | 0;
+                     } else {
+                      c = s[a + 116 >> 1];
+                     }
+                     c = c & 65535;
+                     if (d >>> 0 >= c >>> 0) {
+                      break t;
+                     }
+                     d = s[k + 22 >> 1];
+                     e = q[k + 12 >> 2];
+                     g = q[k + 16 >> 2];
+                     f = q[k + 40 >> 2];
+                     while (1) {
+                      h = q[a + 124 >> 2];
+                      Vc : {
+                       if ((h | 0) == (f | 0) ? (b | 0) == (d | 0) : 0) {
+                        break Vc;
+                       }
+                       if (s[a + 302 >> 1]) {
+                        if (!(r[a + 615 | 0] ? q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] == 40 : 0)) {
+                         h = h + (b << 3) | 0;
+                         q[h >> 2] = g + q[h >> 2];
+                        }
+                        h = q[a + 132 >> 2] + b | 0;
+                        o[h | 0] = r[h | 0] | 8;
+                       }
+                       if (!s[a + 304 >> 1]) {
+                        break Vc;
+                       }
+                       Wc : {
+                        if (!(!r[a + 616 | 0] | (!r[a + 615 | 0] | q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] != 40))) {
+                         if (r[a + 617 | 0]) {
+                          break Wc;
+                         }
+                        }
+                        h = q[a + 124 >> 2] + (b << 3) | 0;
+                        q[h + 4 >> 2] = e + q[h + 4 >> 2];
+                       }
+                       h = q[a + 132 >> 2] + b | 0;
+                       o[h | 0] = r[h | 0] | 16;
+                      }
+                      b = b + 1 | 0;
+                      if ((c | 0) != (b | 0)) {
+                       continue;
+                      }
+                      break;
+                     }
+                     break t;
+                    }
+                    Xc : {
+                     if (q[a + 16 >> 2] < q[a + 308 >> 2]) {
+                      if (!r[m | 0]) {
+                       break Xc;
+                      }
+                      q[l >> 2] = 134;
+                      break Xc;
+                     }
+                     if (li(a, k + 16 | 0, k + 12 | 0, k + 24 | 0, k + 22 | 0)) {
+                      break t;
+                     }
+                     if (q[a + 308 >> 2] < 1) {
+                      break Xc;
+                     }
+                     c = q[k + 12 >> 2];
+                     d = q[k + 16 >> 2];
+                     while (1) {
+                      b = q[a + 28 >> 2] + -1 | 0;
+                      q[a + 28 >> 2] = b;
+                      b = s[q[a + 24 >> 2] + (b << 2) >> 1];
+                      Yc : {
+                       if (b >>> 0 >= s[a + 116 >> 1]) {
+                        if (!r[m | 0]) {
+                         break Yc;
+                        }
+                        q[l >> 2] = 134;
+                        break t;
+                       }
+                       if (s[a + 302 >> 1]) {
+                        if (!(r[a + 615 | 0] ? q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] == 40 : 0)) {
+                         e = q[a + 124 >> 2] + (b << 3) | 0;
+                         q[e >> 2] = d + q[e >> 2];
+                        }
+                        e = b + q[a + 132 >> 2] | 0;
+                        o[e | 0] = r[e | 0] | 8;
+                       }
+                       if (!s[a + 304 >> 1]) {
+                        break Yc;
+                       }
+                       Zc : {
+                        if (!(!r[a + 616 | 0] | (!r[a + 615 | 0] | q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] != 40))) {
+                         if (r[a + 617 | 0]) {
+                          break Zc;
+                         }
+                        }
+                        e = q[a + 124 >> 2] + (b << 3) | 0;
+                        q[e + 4 >> 2] = c + q[e + 4 >> 2];
+                       }
+                       b = b + q[a + 132 >> 2] | 0;
+                       o[b | 0] = r[b | 0] | 16;
+                      }
+                      b = q[a + 308 >> 2];
+                      q[a + 308 >> 2] = b + -1;
+                      if ((b | 0) > 1) {
+                       continue;
+                      }
+                      break;
+                     }
+                    }
+                    q[a + 308 >> 2] = 1;
+                    q[a + 32 >> 2] = q[a + 28 >> 2];
+                    break t;
+                   }
+                   q[e + 8 >> 2] = b;
+                  }
+                  b = q[l >> 2];
+                  if (!b) {
+                   break r;
+                  }
+                  if ((b | 0) != 128) {
+                   break c;
+                  }
+                  b = q[a + 420 >> 2];
+                 }
+                 c = b ? w(q[a + 412 >> 2], 24) + b | 0 : 0;
+                 if (b >>> 0 < c >>> 0) {
+                  while (1) {
+                   if (!(!r[b + 16 | 0] | r[a + 372 | 0] != r[b + 12 | 0])) {
+                    c = q[a + 432 >> 2];
+                    if ((c | 0) >= q[a + 436 >> 2]) {
+                     break f;
+                    }
+                    c = q[a + 440 >> 2] + (c << 4) | 0;
+                    q[c >> 2] = q[a + 356 >> 2];
+                    d = q[a + 364 >> 2];
+                    q[c + 12 >> 2] = b;
+                    q[c + 8 >> 2] = 1;
+                    q[c + 4 >> 2] = d + 1;
+                    c = q[b >> 2];
+                    d = c + -1 | 0;
+                    if (d >>> 0 >= 3) {
+                     break g;
+                    }
+                    d = (d << 3) + a | 0;
+                    e = q[d + 448 >> 2];
+                    if (!e) {
+                     break l;
+                    }
+                    d = q[d + 452 >> 2];
+                    b = q[b + 4 >> 2];
+                    if ((d | 0) < (b | 0)) {
+                     break m;
+                    }
+                    q[a + 368 >> 2] = d;
+                    q[a + 360 >> 2] = e;
+                    q[a + 364 >> 2] = b;
+                    q[a + 356 >> 2] = c;
+                    break o;
+                   }
+                   b = b + 24 | 0;
+                   if (b >>> 0 < c >>> 0) {
+                    continue;
+                   }
+                   break;
+                  }
+                 }
+                 b = 128;
+                 break d;
+                }
+                q[a + 16 >> 2] = q[a + 32 >> 2];
+                if (!r[a + 380 | 0]) {
+                 break p;
+                }
+               }
+               q[a + 364 >> 2] = q[a + 364 >> 2] + q[a + 376 >> 2];
+              }
+              J = J + 1 | 0;
+              if (J >>> 0 <= 1e6) {
+               break o;
+              }
+              b = 139;
+              break c;
+             }
+             b = q[a + 364 >> 2];
+             if ((b | 0) >= q[a + 368 >> 2]) {
+              if (q[a + 432 >> 2] >= 1) {
+               break m;
+              }
+              b = 0;
+              break c;
+             }
+             if (!r[a + 492 | 0]) {
+              continue;
+             }
+             break;
+            }
+            b = 0;
+            break c;
+           }
+           b = 131;
+           break d;
+          }
+          b = 138;
+          break d;
+         }
+         b = 137;
+         break d;
+        }
+        b = 140;
+        break d;
+       }
+       b = 156;
+       break d;
+      }
+      b = 139;
+      break d;
+     }
+     b = 132;
+     break d;
+    }
+    b = 134;
+    break d;
+   }
+   b = 130;
+  }
+  q[M >> 2] = b;
+ }
+ Ca = k - -64 | 0;
+ return b | 0;
+}
+function eK(a, b, c, d, e, f, g, h) {
+ var i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ba = 0, ca = 0, da = 0, ea = 0, fa = 0;
+ l = Ca - 16032 | 0;
+ Ca = l;
+ q[l + 16020 >> 2] = g;
+ q[l + 16024 >> 2] = f;
+ z = q[a + 176 >> 2];
+ k = q[q[z + 536 >> 2] + 544 >> 2];
+ W = q[a + 52 >> 2];
+ T = q[a >> 2];
+ Z$(l + 15872 | 0, 0, 128);
+ q[l + 16016 >> 2] = 0;
+ f = l + 15856 | 0;
+ q[f >> 2] = 0;
+ q[f + 4 >> 2] = 0;
+ f = l + 15748 | 0;
+ q[f >> 2] = 0;
+ q[f + 4 >> 2] = 0;
+ f = l + 15756 | 0;
+ q[f >> 2] = 0;
+ q[f + 4 >> 2] = 0;
+ q[l + 16008 >> 2] = 0;
+ q[l + 16012 >> 2] = 0;
+ q[l + 15840 >> 2] = 0;
+ q[l + 15844 >> 2] = 0;
+ q[l + 15848 >> 2] = 0;
+ q[l + 15852 >> 2] = 0;
+ q[l + 15824 >> 2] = 0;
+ q[l + 15828 >> 2] = 0;
+ q[l + 15816 >> 2] = 10;
+ q[l + 15820 >> 2] = 0;
+ q[l + 15808 >> 2] = 20;
+ q[l + 15812 >> 2] = 0;
+ N = a + 4 | 0;
+ q[l + 15804 >> 2] = N;
+ q[l + 15800 >> 2] = T;
+ q[l + 15792 >> 2] = 0;
+ q[l + 15796 >> 2] = 0;
+ q[l + 15784 >> 2] = 10;
+ q[l + 15788 >> 2] = 0;
+ q[l + 15776 >> 2] = 20;
+ q[l + 15780 >> 2] = 0;
+ q[l + 15772 >> 2] = N;
+ q[l + 15768 >> 2] = T;
+ q[l + 15740 >> 2] = 0;
+ q[l + 15744 >> 2] = 0;
+ q[l + 15736 >> 2] = N;
+ Z$(l + 15616 | 0, 0, 120);
+ f = l + 15588 | 0;
+ q[f >> 2] = 0;
+ q[f + 4 >> 2] = 0;
+ f = l + 15580 | 0;
+ q[f >> 2] = 10;
+ q[f + 4 >> 2] = 0;
+ f = l + 15572 | 0;
+ q[f >> 2] = 8;
+ q[f + 4 >> 2] = 0;
+ q[l + 15568 >> 2] = N;
+ q[l + 15564 >> 2] = T;
+ q[l + 3956 >> 2] = c;
+ q[l + 3952 >> 2] = a;
+ Z$(l + 11708 | 0, 0, 3856);
+ f = r[a + 184 | 0];
+ q[l + 11712 >> 2] = W;
+ o[l + 11709 | 0] = f;
+ Y = l + 15564 | 0;
+ q[l + 11704 >> 2] = Y;
+ Z = l + 11696 | 0;
+ q[l + 11700 >> 2] = Z;
+ q[l + 11696 >> 2] = a;
+ Z$(l + 7840 | 0, 0, 3856);
+ q[l + 7844 >> 2] = W;
+ o[l + 7841 | 0] = f;
+ q[l + 7836 >> 2] = Y;
+ q[l + 7832 >> 2] = Z;
+ q[l + 7828 >> 2] = a;
+ Z$(l + 3972 | 0, 0, 3856);
+ q[l + 3976 >> 2] = W;
+ o[l + 3973 | 0] = f;
+ q[l + 3968 >> 2] = Y;
+ q[l + 3964 >> 2] = Z;
+ q[l + 3960 >> 2] = a;
+ q[l + 15596 >> 2] = q[a + 40 >> 2];
+ X = 48;
+ f = q[a + 48 >> 2];
+ q[l + 15604 >> 2] = W;
+ q[l + 15600 >> 2] = f;
+ j = q[d + 4 >> 2];
+ f = q[d >> 2];
+ q[l + 15636 >> 2] = a + 240;
+ q[l + 15632 >> 2] = g;
+ q[l + 15608 >> 2] = f;
+ q[l + 15612 >> 2] = j;
+ q[l + 15628 >> 2] = l + 15736;
+ q[l + 15624 >> 2] = l + 15768;
+ q[l + 15620 >> 2] = l + 15800;
+ o[l + 15618 | 0] = r[a + 185 | 0];
+ f = q[a + 228 >> 2];
+ q[l + 15640 >> 2] = f;
+ j = q[a + 232 >> 2];
+ q[l + 15652 >> 2] = 6554;
+ q[l + 15644 >> 2] = j;
+ o[l + 15696 | 0] = 0;
+ p[l + 15616 >> 1] = 0;
+ o[l + 15619 | 0] = 1;
+ g = f;
+ f = f >> 31;
+ g = g + f ^ f;
+ f = j >> 31;
+ f = f + j ^ f;
+ q[l + 15648 >> 2] = ((g | 0) > (f | 0) ? g : f) << 1;
+ f = r[a + 9 | 0];
+ o[l + 15839 | 0] = (f | 0) != 0;
+ q[h >> 2] = q[q[z + 536 >> 2] + 540 >> 2] << 16;
+ X = f ? q[q[z + 532 >> 2] + 1556 >> 2] : X;
+ q[l + 80 >> 2] = 0;
+ g = Oe(T, 20, l + 80 | 0);
+ if (!q[l + 80 >> 2]) {
+  q[g + 4 >> 2] = N;
+  q[g >> 2] = T;
+ }
+ f = Te(T, 8, 0, X, 0, l + 80 | 0);
+ q[g + 8 >> 2] = f;
+ a : {
+  b : {
+   if (q[l + 80 >> 2]) {
+    Qe(T, g);
+    m = 64;
+    i = 1;
+    g = 0;
+    break b;
+   }
+   q[g + 12 >> 2] = f;
+   q[g + 16 >> 2] = X;
+   q[l + 80 >> 2] = 0;
+   U = Te(T, 1, 0, 272, 0, l + 80 | 0);
+   f = q[N >> 2];
+   if (q[l + 80 >> 2]) {
+    if (f) {
+     break a;
+    }
+    q[N >> 2] = 64;
+    break a;
+   }
+   if (f) {
+    break a;
+   }
+   _ = k << 16;
+   K = l + 15736 | 4;
+   A = g + 8 | 0;
+   v = g + 12 | 0;
+   I = g + 16 | 0;
+   f = q[b + 4 >> 2];
+   q[U >> 2] = q[b >> 2];
+   q[U + 4 >> 2] = f;
+   f = q[b + 12 >> 2];
+   q[U + 8 >> 2] = q[b + 8 >> 2];
+   q[U + 12 >> 2] = f;
+   ba = a + 92 | 0;
+   x = g + 4 | 0;
+   ca = l + 48 | 4;
+   da = l + 92 | 0;
+   $ = l + 7828 | 0;
+   R = l + 15664 | 0;
+   V = l + 15656 | 0;
+   O = l + 3960 | 0;
+   aa = 2e7;
+   C = U;
+   c : while (1) {
+    M = 0;
+    while (1) {
+     f = i;
+     i = q[C + 12 >> 2];
+     u = q[C + 8 >> 2];
+     d : {
+      if (i >>> 0 >= u >>> 0) {
+       b = P ? 11 : 14;
+       m = i;
+       break d;
+      }
+      m = i + 1 | 0;
+      q[C + 12 >> 2] = m;
+      b = r[i | 0];
+      i = b + -11 | 0;
+      if (i >>> 0 > 3) {
+       break d;
+      }
+      e : {
+       switch (i - 1 | 0) {
+       case 0:
+       case 1:
+        break d;
+       default:
+        break e;
+       }
+      }
+      b = r[a + 9 | 0] ? 0 : b;
+     }
+     y = r[a + 8 | 0];
+     if (y) {
+      k = b | 1;
+      f : {
+       j = b >>> 0 > 31;
+       if (j) {
+        break f;
+       }
+       i = b | 2;
+       if ((i | 0) == 14 | (k | 0) == 11 | (f & 255 | (b | 0) == 13)) {
+        break f;
+       }
+       if ((i | 0) == 3) {
+        break f;
+       }
+       q[v >> 2] = q[A >> 2];
+       i = 0;
+       continue;
+      }
+      i = (b | 0) == 12;
+      Q = i ? Q : Q & 255 ? j ? Q : 0 : Q;
+      D = j ? D : i ? D : (D | 0) < 1 ? D : (k | 0) == 11 ? D : 0;
+     }
+     if (q[N >> 2]) {
+      i = 0;
+      break a;
+     }
+     aa = aa + -1 | 0;
+     if (!aa) {
+      i = 0;
+      q[N >> 2] = 18;
+      break a;
+     }
+     g : {
+      h : {
+       i : {
+        j : {
+         k : {
+          l : {
+           m : {
+            n : {
+             o : {
+              p : {
+               q : {
+                r : {
+                 s : {
+                  t : {
+                   u : {
+                    v : {
+                     w : {
+                      x : {
+                       y : {
+                        z : {
+                         if (b >>> 0 <= 31) {
+                          i = f;
+                          A : {
+                           switch (b - 1 | 0) {
+                           case 14:
+                            if (!r[a + 9 | 0]) {
+                             break i;
+                            }
+                            if (r[a + 93 | 0]) {
+                             break g;
+                            }
+                            b = q[v >> 2];
+                            if ((b | 0) == q[A >> 2]) {
+                             b = 0;
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break j;
+                             }
+                             q[i >> 2] = 161;
+                             q[a + 120 >> 2] = 0;
+                             break i;
+                            }
+                            if (q[b + -4 >> 2] != 2) {
+                             b = 0;
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break j;
+                             }
+                             q[i >> 2] = 160;
+                             break j;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            b = q[b >> 2];
+                            if ((b | 0) >= 0) {
+                             break j;
+                            }
+                            break i;
+                           case 15:
+                            if (!r[a + 9 | 0]) {
+                             break i;
+                            }
+                            m = 18;
+                            i = 0;
+                            if (!q[a + 96 >> 2]) {
+                             break b;
+                            }
+                            B : {
+                             if (!n[q[q[a + 548 >> 2] + 12 >> 2]](ba, q[a + 120 >> 2], q[a + 124 >> 2], q[a + 128 >> 2])) {
+                              break B;
+                             }
+                             b = n[q[q[a + 548 >> 2] + 16 >> 2]](ba, q[a + 120 >> 2], q[a + 124 >> 2], q[a + 128 >> 2]) | 0;
+                             if (!b) {
+                              break B;
+                             }
+                             m = b;
+                             break b;
+                            }
+                            C : {
+                             D : {
+                              E : {
+                               F : {
+                                j = q[A >> 2];
+                                k = q[v >> 2];
+                                G : {
+                                 if ((j | 0) == (k | 0)) {
+                                  b = q[x >> 2];
+                                  if (!b | q[b >> 2]) {
+                                   break G;
+                                  }
+                                  q[b >> 2] = 161;
+                                  break G;
+                                 }
+                                 if (q[k + -4 >> 2] == 2) {
+                                  break F;
+                                 }
+                                 b = q[x >> 2];
+                                 if (!b | q[b >> 2]) {
+                                  break G;
+                                 }
+                                 q[b >> 2] = 160;
+                                }
+                                b = k - j >> 3;
+                                break E;
+                               }
+                               k = k + -8 | 0;
+                               q[g + 12 >> 2] = k;
+                               J = q[k >> 2];
+                               if (J >>> 0 > X >>> 0) {
+                                break b;
+                               }
+                               b = k - j >> 3;
+                               if (J) {
+                                break D;
+                               }
+                              }
+                              G = 0;
+                              J = 0;
+                              break C;
+                             }
+                             G = w(q[a + 112 >> 2], J);
+                             E = b - G | 0;
+                             b = E + J | 0;
+                             u = 0;
+                             while (1) {
+                              i = q[a + 116 >> 2];
+                              y = k - j >> 3;
+                              B = u + E | 0;
+                              H : {
+                               if (y >>> 0 <= B >>> 0) {
+                                m = 0;
+                                L = q[x >> 2];
+                                if (!L | q[L >> 2]) {
+                                 break H;
+                                }
+                                q[L >> 2] = 130;
+                                break H;
+                               }
+                               L = (B << 3) + j | 0;
+                               m = q[L + 4 >> 2] + -1 | 0;
+                               if (m >>> 0 <= 1) {
+                                if (!(m - 1)) {
+                                 m = q[L >> 2] << 16;
+                                 break H;
+                                }
+                                m = q[L >> 2];
+                                m = ((m >> 31) + m | 0) - -8192 >> 14;
+                                break H;
+                               }
+                               m = q[L >> 2];
+                              }
+                              F = 1;
+                              if (t[a + 112 >> 2] >= 2) {
+                               while (1) {
+                                y = q[i + 4 >> 2];
+                                I : {
+                                 if (k - j >> 3 >>> 0 <= b >>> 0) {
+                                  j = 0;
+                                  k = q[x >> 2];
+                                  if (!k | q[k >> 2]) {
+                                   break I;
+                                  }
+                                  q[k >> 2] = 130;
+                                  break I;
+                                 }
+                                 k = (b << 3) + j | 0;
+                                 j = q[k + 4 >> 2] + -1 | 0;
+                                 if (j >>> 0 <= 1) {
+                                  if (!(j - 1)) {
+                                   j = q[k >> 2] << 16;
+                                   break I;
+                                  }
+                                  j = q[k >> 2];
+                                  j = ((j >> 31) + j | 0) - -8192 >> 14;
+                                  break I;
+                                 }
+                                 j = q[k >> 2];
+                                }
+                                b = b + 1 | 0;
+                                i = i + 4 | 0;
+                                m = Ee(y, j) + m | 0;
+                                j = q[A >> 2];
+                                k = q[v >> 2];
+                                F = F + 1 | 0;
+                                if (F >>> 0 < t[a + 112 >> 2]) {
+                                 continue;
+                                }
+                                break;
+                               }
+                               y = k - j >> 3;
+                              }
+                              J : {
+                               if (y >>> 0 < B >>> 0) {
+                                i = q[x >> 2];
+                                if (!i | q[i >> 2]) {
+                                 break J;
+                                }
+                                q[i >> 2] = 130;
+                                break J;
+                               }
+                               i = B << 3;
+                               q[i + j >> 2] = m;
+                               j = q[A >> 2];
+                               q[(i + j | 0) + 4 >> 2] = 0;
+                               k = q[v >> 2];
+                              }
+                              u = u + 1 | 0;
+                              if ((J | 0) != (u | 0)) {
+                               continue;
+                              }
+                              break;
+                             }
+                             b = k - j >> 3;
+                            }
+                            i = b;
+                            b = G - J | 0;
+                            K : {
+                             if (i >>> 0 < b >>> 0) {
+                              b = q[x >> 2];
+                              if (!b | q[b >> 2]) {
+                               break K;
+                              }
+                              q[b >> 2] = 161;
+                              break K;
+                             }
+                             q[v >> 2] = k - (b << 3);
+                            }
+                            o[a + 93 | 0] = 1;
+                            i = f;
+                            continue;
+                           case 0:
+                           case 17:
+                            b = a;
+                            j = g;
+                            m = l + 15800 | 0;
+                            k = h;
+                            u = l + 15839 | 0;
+                            L : {
+                             if (!y) {
+                              if (r[l + 15740 | 0]) {
+                               break i;
+                              }
+                              f = 0;
+                              break L;
+                             }
+                             f = q[q[z + 32 >> 2] + 4 >> 2];
+                            }
+                            KK(b, j, m, k, u, f);
+                            if (!r[z + 548 | 0]) {
+                             break h;
+                            }
+                            break k;
+                           case 2:
+                           case 22:
+                            b = a;
+                            j = g;
+                            m = l + 15768 | 0;
+                            k = h;
+                            u = l + 15839 | 0;
+                            M : {
+                             if (!y) {
+                              if (r[l + 15740 | 0]) {
+                               break i;
+                              }
+                              f = 0;
+                              break M;
+                             }
+                             f = q[q[z + 32 >> 2] >> 2];
+                            }
+                            KK(b, j, m, k, u, f);
+                            if (r[z + 548 | 0]) {
+                             break k;
+                            }
+                            break h;
+                           case 3:
+                            j = q[v >> 2];
+                            k = q[A >> 2];
+                            if (!(r[l + 15839 | 0] | j - k >> 3 >>> 0 < 2)) {
+                             b = h;
+                             i = q[k + 4 >> 2] + -1 | 0;
+                             N : {
+                              if (i >>> 0 <= 1) {
+                               m = q[k >> 2] << 16;
+                               if (!(i - 1)) {
+                                break N;
+                               }
+                               i = q[k >> 2];
+                               m = ((i >> 31) + i | 0) - -8192 >> 14;
+                               break N;
+                              }
+                              m = q[k >> 2];
+                             }
+                             q[b >> 2] = m + _;
+                            }
+                            o[l + 15839 | 0] = 1;
+                            if (r[z + 548 | 0]) {
+                             break k;
+                            }
+                            i = q[l + 16020 >> 2];
+                            O : {
+                             if ((j | 0) == (k | 0)) {
+                              b = 0;
+                              j = q[x >> 2];
+                              if (!j | q[j >> 2]) {
+                               break O;
+                              }
+                              q[j >> 2] = 161;
+                              break O;
+                             }
+                             j = j + -8 | 0;
+                             q[v >> 2] = j;
+                             b = q[j + 4 >> 2] + -1 | 0;
+                             if (b >>> 0 <= 1) {
+                              if (!(b - 1)) {
+                               b = q[j >> 2] << 16;
+                               break O;
+                              }
+                              b = q[j >> 2];
+                              b = ((b >> 31) + b | 0) - -8192 >> 14;
+                              break O;
+                             }
+                             b = q[j >> 2];
+                            }
+                            j = b + i | 0;
+                            q[l + 16020 >> 2] = j;
+                            if (q[z + 468 >> 2]) {
+                             break i;
+                            }
+                            i = q[l + 16024 >> 2];
+                            if (r[l + 15616 | 0]) {
+                             o[l + 15617 | 0] = 1;
+                             LK(l + 3952 | 0, q[l + 15688 >> 2], q[l + 15692 >> 2]);
+                             if (r[l + 15696 | 0]) {
+                              b = q[R + 4 >> 2];
+                              q[l >> 2] = q[R >> 2];
+                              q[l + 4 >> 2] = b;
+                              MK(l + 3952 | 0, O, V, l, 1);
+                             }
+                             o[l + 15696 | 0] = 0;
+                             p[l + 15616 >> 1] = 0;
+                             o[l + 15619 | 0] = 1;
+                            }
+                            q[l + 15692 >> 2] = j;
+                            q[l + 15672 >> 2] = i;
+                            q[l + 15688 >> 2] = i;
+                            q[l + 15676 >> 2] = j;
+                            o[l + 15619 | 0] = 1;
+                            b = q[l + 15628 >> 2];
+                            if (!(r[b + 5 | 0] ? 0 : r[l + 3972 | 0])) {
+                             NK(O, q[l + 15620 >> 2], q[l + 15624 >> 2], b, q[l + 15632 >> 2], 0);
+                            }
+                            Y$($, O, 3868);
+                            break i;
+                           case 4:
+                            k = v;
+                            j = q[k >> 2];
+                            i = q[A >> 2];
+                            b = j - i | 0;
+                            if (b) {
+                             y = b >> 3;
+                             b = 0;
+                             while (1) {
+                              u = q[l + 16024 >> 2];
+                              m = j - i >> 3;
+                              P : {
+                               if (m >>> 0 <= b >>> 0) {
+                                j = 0;
+                                E = q[x >> 2];
+                                if (!E | q[E >> 2]) {
+                                 break P;
+                                }
+                                q[E >> 2] = 130;
+                                break P;
+                               }
+                               E = (b << 3) + i | 0;
+                               j = q[E + 4 >> 2] + -1 | 0;
+                               if (j >>> 0 <= 1) {
+                                if (!(j - 1)) {
+                                 j = q[E >> 2] << 16;
+                                 break P;
+                                }
+                                j = q[E >> 2];
+                                j = ((j >> 31) + j | 0) - -8192 >> 14;
+                                break P;
+                               }
+                               j = q[E >> 2];
+                              }
+                              j = j + u | 0;
+                              q[l + 16024 >> 2] = j;
+                              u = q[l + 16020 >> 2];
+                              E = m;
+                              m = b | 1;
+                              Q : {
+                               if (E >>> 0 <= m >>> 0) {
+                                i = 0;
+                                m = q[x >> 2];
+                                if (!m | q[m >> 2]) {
+                                 break Q;
+                                }
+                                q[m >> 2] = 130;
+                                j = q[l + 16024 >> 2];
+                                break Q;
+                               }
+                               m = (m << 3) + i | 0;
+                               i = q[m + 4 >> 2] + -1 | 0;
+                               if (i >>> 0 <= 1) {
+                                if (!(i - 1)) {
+                                 i = q[m >> 2] << 16;
+                                 break Q;
+                                }
+                                i = q[m >> 2];
+                                i = ((i >> 31) + i | 0) - -8192 >> 14;
+                                break Q;
+                               }
+                               i = q[m >> 2];
+                              }
+                              i = i + u | 0;
+                              q[l + 16020 >> 2] = i;
+                              LK(l + 3952 | 0, j, i);
+                              b = b + 2 | 0;
+                              if (b >>> 0 < y >>> 0) {
+                               i = q[A >> 2];
+                               j = q[v >> 2];
+                               continue;
+                              }
+                              break;
+                             }
+                             i = q[A >> 2];
+                            }
+                            q[k >> 2] = i;
+                            i = f;
+                            continue;
+                           case 5:
+                           case 6:
+                            m = v;
+                            k = q[v >> 2];
+                            j = q[A >> 2];
+                            i = k - j | 0;
+                            if (i) {
+                             i = i >> 3;
+                             u = i >>> 0 > 1 ? i : 1;
+                             i = (b | 0) == 6;
+                             b = 0;
+                             while (1) {
+                              R : {
+                               if (k - j >> 3 >>> 0 <= b >>> 0) {
+                                j = 0;
+                                k = q[x >> 2];
+                                if (!k | q[k >> 2]) {
+                                 break R;
+                                }
+                                q[k >> 2] = 130;
+                                break R;
+                               }
+                               k = (b << 3) + j | 0;
+                               j = q[k + 4 >> 2] + -1 | 0;
+                               if (j >>> 0 <= 1) {
+                                if (!(j - 1)) {
+                                 j = q[k >> 2] << 16;
+                                 break R;
+                                }
+                                j = q[k >> 2];
+                                j = ((j >> 31) + j | 0) - -8192 >> 14;
+                                break R;
+                               }
+                               j = q[k >> 2];
+                              }
+                              S : {
+                               if (i & 1) {
+                                q[l + 16024 >> 2] = q[l + 16024 >> 2] + j;
+                                break S;
+                               }
+                               q[l + 16020 >> 2] = q[l + 16020 >> 2] + j;
+                              }
+                              LK(l + 3952 | 0, q[l + 16024 >> 2], q[l + 16020 >> 2]);
+                              b = b + 1 | 0;
+                              if ((u | 0) != (b | 0)) {
+                               i = i ^ 1;
+                               j = q[A >> 2];
+                               k = q[v >> 2];
+                               continue;
+                              }
+                              break;
+                             }
+                             j = q[A >> 2];
+                            }
+                            q[m >> 2] = j;
+                            i = f;
+                            continue;
+                           case 8:
+                            break m;
+                           case 9:
+                           case 28:
+                            break n;
+                           case 10:
+                            break o;
+                           case 11:
+                            break p;
+                           case 12:
+                            break q;
+                           case 13:
+                            break r;
+                           case 18:
+                           case 19:
+                            break s;
+                           case 20:
+                            break t;
+                           case 21:
+                            break u;
+                           case 24:
+                            break v;
+                           case 25:
+                            break w;
+                           case 26:
+                            break x;
+                           case 29:
+                           case 30:
+                            break y;
+                           case 27:
+                            break z;
+                           case 7:
+                           case 23:
+                            break A;
+                           default:
+                            break h;
+                           }
+                          }
+                          j = 6;
+                          i = 0;
+                          m = q[v >> 2];
+                          k = q[A >> 2];
+                          L = m - k >> 3;
+                          if (L >>> 0 < 6) {
+                           break l;
+                          }
+                          while (1) {
+                           u = j;
+                           J = m - k >> 3;
+                           T : {
+                            if (J >>> 0 <= i >>> 0) {
+                             m = 0;
+                             j = q[x >> 2];
+                             if (!j | q[j >> 2]) {
+                              break T;
+                             }
+                             q[j >> 2] = 130;
+                             break T;
+                            }
+                            m = (i << 3) + k | 0;
+                            j = q[m + 4 >> 2] + -1 | 0;
+                            if (j >>> 0 <= 1) {
+                             if (!(j - 1)) {
+                              m = q[m >> 2] << 16;
+                              break T;
+                             }
+                             j = q[m >> 2];
+                             m = ((j >> 31) + j | 0) - -8192 >> 14;
+                             break T;
+                            }
+                            m = q[m >> 2];
+                           }
+                           E = q[l + 16024 >> 2];
+                           j = i | 1;
+                           U : {
+                            if (J >>> 0 <= j >>> 0) {
+                             H = 0;
+                             j = q[x >> 2];
+                             if (!j | q[j >> 2]) {
+                              break U;
+                             }
+                             q[j >> 2] = 130;
+                             break U;
+                            }
+                            y = (j << 3) + k | 0;
+                            j = q[y + 4 >> 2] + -1 | 0;
+                            if (j >>> 0 <= 1) {
+                             if (!(j - 1)) {
+                              H = q[y >> 2] << 16;
+                              break U;
+                             }
+                             j = q[y >> 2];
+                             H = ((j >> 31) + j | 0) - -8192 >> 14;
+                             break U;
+                            }
+                            H = q[y >> 2];
+                           }
+                           y = q[l + 16020 >> 2];
+                           j = i + 2 | 0;
+                           V : {
+                            if (J >>> 0 <= j >>> 0) {
+                             F = 0;
+                             j = q[x >> 2];
+                             if (!j | q[j >> 2]) {
+                              break V;
+                             }
+                             q[j >> 2] = 130;
+                             break V;
+                            }
+                            G = (j << 3) + k | 0;
+                            j = q[G + 4 >> 2] + -1 | 0;
+                            if (j >>> 0 <= 1) {
+                             if (!(j - 1)) {
+                              F = q[G >> 2] << 16;
+                              break V;
+                             }
+                             j = q[G >> 2];
+                             F = ((j >> 31) + j | 0) - -8192 >> 14;
+                             break V;
+                            }
+                            F = q[G >> 2];
+                           }
+                           B = m + E | 0;
+                           j = i + 3 | 0;
+                           W : {
+                            if (J >>> 0 <= j >>> 0) {
+                             S = 0;
+                             j = q[x >> 2];
+                             if (!j | q[j >> 2]) {
+                              break W;
+                             }
+                             q[j >> 2] = 130;
+                             break W;
+                            }
+                            m = (j << 3) + k | 0;
+                            j = q[m + 4 >> 2] + -1 | 0;
+                            if (j >>> 0 <= 1) {
+                             if (!(j - 1)) {
+                              S = q[m >> 2] << 16;
+                              break W;
+                             }
+                             j = q[m >> 2];
+                             S = ((j >> 31) + j | 0) - -8192 >> 14;
+                             break W;
+                            }
+                            S = q[m >> 2];
+                           }
+                           G = y + H | 0;
+                           E = B + F | 0;
+                           j = i + 4 | 0;
+                           X : {
+                            if (J >>> 0 <= j >>> 0) {
+                             F = 0;
+                             j = q[x >> 2];
+                             if (!j | q[j >> 2]) {
+                              break X;
+                             }
+                             q[j >> 2] = 130;
+                             break X;
+                            }
+                            m = (j << 3) + k | 0;
+                            j = q[m + 4 >> 2] + -1 | 0;
+                            if (j >>> 0 <= 1) {
+                             if (!(j - 1)) {
+                              F = q[m >> 2] << 16;
+                              break X;
+                             }
+                             j = q[m >> 2];
+                             F = ((j >> 31) + j | 0) - -8192 >> 14;
+                             break X;
+                            }
+                            F = q[m >> 2];
+                           }
+                           y = G + S | 0;
+                           m = F + E | 0;
+                           i = i + 5 | 0;
+                           Y : {
+                            if (J >>> 0 <= i >>> 0) {
+                             i = 0;
+                             j = q[x >> 2];
+                             if (!j | q[j >> 2]) {
+                              break Y;
+                             }
+                             q[j >> 2] = 130;
+                             break Y;
+                            }
+                            j = (i << 3) + k | 0;
+                            i = q[j + 4 >> 2] + -1 | 0;
+                            if (i >>> 0 <= 1) {
+                             if (!(i - 1)) {
+                              i = q[j >> 2] << 16;
+                              break Y;
+                             }
+                             i = q[j >> 2];
+                             i = ((i >> 31) + i | 0) - -8192 >> 14;
+                             break Y;
+                            }
+                            i = q[j >> 2];
+                           }
+                           i = i + y | 0;
+                           OK(l + 3952 | 0, B, G, E, y, m, i);
+                           q[l + 16020 >> 2] = i;
+                           q[l + 16024 >> 2] = m;
+                           j = u + 6 | 0;
+                           if (j >>> 0 > L >>> 0) {
+                            i = u;
+                            break l;
+                           } else {
+                            k = q[A >> 2];
+                            m = q[v >> 2];
+                            i = u;
+                            continue;
+                           }
+                          }
+                         }
+                         if (b >>> 0 <= 246) {
+                          i = q[v >> 2];
+                          if ((i | 0) == (q[A >> 2] + (q[I >> 2] << 3) | 0)) {
+                           i = f;
+                           b = q[x >> 2];
+                           if (!b | q[b >> 2]) {
+                            continue;
+                           }
+                           q[b >> 2] = 130;
+                           continue;
+                          }
+                          q[i >> 2] = b + -139;
+                          b = q[v >> 2];
+                          q[b + 4 >> 2] = 2;
+                          q[v >> 2] = b + 8;
+                          i = f;
+                          continue;
+                         }
+                         if (b >>> 0 <= 250) {
+                          Z : {
+                           if (m >>> 0 < u >>> 0) {
+                            q[C + 12 >> 2] = m + 1;
+                            j = r[m | 0];
+                            break Z;
+                           }
+                           j = 0;
+                           i = q[C >> 2];
+                           if (!i | q[i >> 2]) {
+                            break Z;
+                           }
+                           q[i >> 2] = 85;
+                          }
+                          i = q[v >> 2];
+                          if ((i | 0) == (q[A >> 2] + (q[I >> 2] << 3) | 0)) {
+                           i = f;
+                           b = q[x >> 2];
+                           if (!b | q[b >> 2]) {
+                            continue;
+                           }
+                           q[b >> 2] = 130;
+                           continue;
+                          }
+                          q[i >> 2] = ((b << 8) + -63232 | j) + 108;
+                          b = q[v >> 2];
+                          q[b + 4 >> 2] = 2;
+                          q[v >> 2] = b + 8;
+                          i = f;
+                          continue;
+                         }
+                         if ((b | 0) != 255) {
+                          _ : {
+                           if (m >>> 0 < u >>> 0) {
+                            q[C + 12 >> 2] = m + 1;
+                            i = r[m | 0];
+                            break _;
+                           }
+                           i = 0;
+                           j = q[C >> 2];
+                           if (!j | q[j >> 2]) {
+                            break _;
+                           }
+                           q[j >> 2] = 85;
+                          }
+                          j = q[v >> 2];
+                          if ((j | 0) == (q[A >> 2] + (q[I >> 2] << 3) | 0)) {
+                           i = f;
+                           b = q[x >> 2];
+                           if (!b | q[b >> 2]) {
+                            continue;
+                           }
+                           q[b >> 2] = 130;
+                           continue;
+                          }
+                          q[j >> 2] = -108 - ((b << 8) + -64256 | i);
+                          b = q[v >> 2];
+                          q[b + 4 >> 2] = 2;
+                          q[v >> 2] = b + 8;
+                          i = f;
+                          continue;
+                         }
+                         $ : {
+                          if (m >>> 0 < u >>> 0) {
+                           b = m + 1 | 0;
+                           q[C + 12 >> 2] = b;
+                           j = r[m | 0];
+                           break $;
+                          }
+                          j = 0;
+                          b = q[C >> 2];
+                          if (!(!b | q[b >> 2])) {
+                           q[b >> 2] = 85;
+                          }
+                          b = m;
+                         }
+                         aa : {
+                          if (b >>> 0 < u >>> 0) {
+                           i = b + 1 | 0;
+                           q[C + 12 >> 2] = i;
+                           m = r[b | 0];
+                           break aa;
+                          }
+                          m = 0;
+                          i = q[C >> 2];
+                          if (!(!i | q[i >> 2])) {
+                           q[i >> 2] = 85;
+                          }
+                          i = b;
+                         }
+                         ba : {
+                          if (i >>> 0 < u >>> 0) {
+                           b = i + 1 | 0;
+                           q[C + 12 >> 2] = b;
+                           H = r[i | 0];
+                           break ba;
+                          }
+                          H = 0;
+                          b = q[C >> 2];
+                          if (!(!b | q[b >> 2])) {
+                           q[b >> 2] = 85;
+                          }
+                          b = i;
+                         }
+                         ca : {
+                          if (b >>> 0 < u >>> 0) {
+                           q[C + 12 >> 2] = b + 1;
+                           b = r[b | 0];
+                           break ca;
+                          }
+                          b = 0;
+                          i = q[C >> 2];
+                          if (!i | q[i >> 2]) {
+                           break ca;
+                          }
+                          q[i >> 2] = 85;
+                         }
+                         i = m << 16 | j << 24 | H << 8 | b;
+                         if (y) {
+                          Q = Q & 255 ? Q : i + 32e3 >>> 0 < 64001 ? Q : 1;
+                          b = q[v >> 2];
+                          if ((b | 0) == (q[A >> 2] + (q[I >> 2] << 3) | 0)) {
+                           i = f;
+                           b = q[x >> 2];
+                           if (!b | q[b >> 2]) {
+                            continue;
+                           }
+                           q[b >> 2] = 130;
+                           continue;
+                          }
+                          q[b >> 2] = i;
+                          b = q[v >> 2];
+                          q[b + 4 >> 2] = 2;
+                          q[v >> 2] = b + 8;
+                          i = f;
+                          continue;
+                         }
+                         b = q[v >> 2];
+                         if ((b | 0) == (q[A >> 2] + (q[I >> 2] << 3) | 0)) {
+                          i = f;
+                          b = q[x >> 2];
+                          if (!b | q[b >> 2]) {
+                           continue;
+                          }
+                          q[b >> 2] = 130;
+                          continue;
+                         }
+                         q[b >> 2] = i;
+                         b = q[v >> 2];
+                         q[b + 4 >> 2] = 0;
+                         q[v >> 2] = b + 8;
+                         i = f;
+                         continue;
+                        }
+                        da : {
+                         if (m >>> 0 < u >>> 0) {
+                          b = m + 1 | 0;
+                          q[C + 12 >> 2] = b;
+                          i = r[m | 0];
+                          break da;
+                         }
+                         i = 0;
+                         b = q[C >> 2];
+                         if (!(!b | q[b >> 2])) {
+                          q[b >> 2] = 85;
+                         }
+                         b = m;
+                        }
+                        ea : {
+                         if (b >>> 0 < u >>> 0) {
+                          q[C + 12 >> 2] = b + 1;
+                          b = r[b | 0];
+                          break ea;
+                         }
+                         b = 0;
+                         j = q[C >> 2];
+                         if (!j | q[j >> 2]) {
+                          break ea;
+                         }
+                         q[j >> 2] = 85;
+                        }
+                        j = q[v >> 2];
+                        if ((j | 0) == (q[A >> 2] + (q[I >> 2] << 3) | 0)) {
+                         i = f;
+                         b = q[x >> 2];
+                         if (!b | q[b >> 2]) {
+                          continue;
+                         }
+                         q[b >> 2] = 130;
+                         continue;
+                        }
+                        q[j >> 2] = (b << 16 | i << 24) >> 16;
+                        b = q[v >> 2];
+                        q[b + 4 >> 2] = 2;
+                        q[v >> 2] = b + 8;
+                        i = f;
+                        continue;
+                       }
+                       y = v;
+                       j = q[A >> 2];
+                       i = q[v >> 2] - j >> 3;
+                       L = i & -3;
+                       i = i & 2;
+                       if (L >>> 0 > i >>> 0) {
+                        J = (b | 0) == 31;
+                        while (1) {
+                         fa : {
+                          if (J & 255) {
+                           B = q[A >> 2];
+                           G = q[v >> 2] - B >> 3;
+                           ga : {
+                            if (G >>> 0 <= i >>> 0) {
+                             j = 0;
+                             b = q[x >> 2];
+                             if (!b | q[b >> 2]) {
+                              break ga;
+                             }
+                             q[b >> 2] = 130;
+                             break ga;
+                            }
+                            j = B + (i << 3) | 0;
+                            b = q[j + 4 >> 2] + -1 | 0;
+                            if (b >>> 0 <= 1) {
+                             if (!(b - 1)) {
+                              j = q[j >> 2] << 16;
+                              break ga;
+                             }
+                             b = q[j >> 2];
+                             j = ((b >> 31) + b | 0) - -8192 >> 14;
+                             break ga;
+                            }
+                            j = q[j >> 2];
+                           }
+                           m = q[l + 16024 >> 2];
+                           F = q[l + 16020 >> 2];
+                           b = i + 1 | 0;
+                           ha : {
+                            if (G >>> 0 <= b >>> 0) {
+                             u = 0;
+                             k = q[x >> 2];
+                             if (!k | q[k >> 2]) {
+                              break ha;
+                             }
+                             q[k >> 2] = 130;
+                             break ha;
+                            }
+                            u = B + (b << 3) | 0;
+                            k = q[u + 4 >> 2] + -1 | 0;
+                            if (k >>> 0 <= 1) {
+                             if (!(k - 1)) {
+                              u = q[u >> 2] << 16;
+                              break ha;
+                             }
+                             k = q[u >> 2];
+                             u = ((k >> 31) + k | 0) - -8192 >> 14;
+                             break ha;
+                            }
+                            u = q[u >> 2];
+                           }
+                           k = i + 2 | 0;
+                           ia : {
+                            if (G >>> 0 <= k >>> 0) {
+                             J = 0;
+                             k = q[x >> 2];
+                             if (!k | q[k >> 2]) {
+                              break ia;
+                             }
+                             q[k >> 2] = 130;
+                             break ia;
+                            }
+                            E = B + (k << 3) | 0;
+                            k = q[E + 4 >> 2] + -1 | 0;
+                            if (k >>> 0 <= 1) {
+                             if (!(k - 1)) {
+                              J = q[E >> 2] << 16;
+                              break ia;
+                             }
+                             k = q[E >> 2];
+                             J = ((k >> 31) + k | 0) - -8192 >> 14;
+                             break ia;
+                            }
+                            J = q[E >> 2];
+                           }
+                           H = j + m | 0;
+                           j = F + J | 0;
+                           k = i + 3 | 0;
+                           ja : {
+                            if (G >>> 0 <= k >>> 0) {
+                             k = 0;
+                             m = q[x >> 2];
+                             if (!m | q[m >> 2]) {
+                              break ja;
+                             }
+                             q[m >> 2] = 130;
+                             break ja;
+                            }
+                            m = B + (k << 3) | 0;
+                            k = q[m + 4 >> 2] + -1 | 0;
+                            if (k >>> 0 <= 1) {
+                             if (!(k - 1)) {
+                              k = q[m >> 2] << 16;
+                              break ja;
+                             }
+                             k = q[m >> 2];
+                             k = ((k >> 31) + k | 0) - -8192 >> 14;
+                             break ja;
+                            }
+                            k = q[m >> 2];
+                           }
+                           u = u + H | 0;
+                           k = j + k | 0;
+                           J = 0;
+                           if ((L - i | 0) != 5) {
+                            b = i;
+                            m = u;
+                            break fa;
+                           }
+                           i = i + 4 | 0;
+                           ka : {
+                            if (G >>> 0 <= i >>> 0) {
+                             m = q[x >> 2];
+                             i = 0;
+                             if (!m | q[m >> 2]) {
+                              break ka;
+                             }
+                             q[m >> 2] = 130;
+                             m = u;
+                             break fa;
+                            }
+                            m = B + (i << 3) | 0;
+                            i = q[m + 4 >> 2] + -1 | 0;
+                            if (i >>> 0 <= 1) {
+                             if (!(i - 1)) {
+                              m = (q[m >> 2] << 16) + u | 0;
+                              break fa;
+                             }
+                             i = q[m >> 2];
+                             m = (((i >> 31) + i | 0) - -8192 >> 14) + u | 0;
+                             break fa;
+                            }
+                            i = q[m >> 2];
+                           }
+                           m = i + u | 0;
+                           break fa;
+                          }
+                          H = q[l + 16024 >> 2];
+                          B = q[A >> 2];
+                          G = q[v >> 2] - B >> 3;
+                          la : {
+                           if (G >>> 0 <= i >>> 0) {
+                            m = 0;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             break la;
+                            }
+                            q[b >> 2] = 130;
+                            break la;
+                           }
+                           j = B + (i << 3) | 0;
+                           b = q[j + 4 >> 2] + -1 | 0;
+                           if (b >>> 0 <= 1) {
+                            if (!(b - 1)) {
+                             m = q[j >> 2] << 16;
+                             break la;
+                            }
+                            b = q[j >> 2];
+                            m = ((b >> 31) + b | 0) - -8192 >> 14;
+                            break la;
+                           }
+                           m = q[j >> 2];
+                          }
+                          k = q[l + 16020 >> 2];
+                          b = i + 1 | 0;
+                          ma : {
+                           if (G >>> 0 <= b >>> 0) {
+                            u = 0;
+                            j = q[x >> 2];
+                            if (!j | q[j >> 2]) {
+                             break ma;
+                            }
+                            q[j >> 2] = 130;
+                            break ma;
+                           }
+                           u = B + (b << 3) | 0;
+                           j = q[u + 4 >> 2] + -1 | 0;
+                           if (j >>> 0 <= 1) {
+                            if (!(j - 1)) {
+                             u = q[u >> 2] << 16;
+                             break ma;
+                            }
+                            j = q[u >> 2];
+                            u = ((j >> 31) + j | 0) - -8192 >> 14;
+                            break ma;
+                           }
+                           u = q[u >> 2];
+                          }
+                          j = i + 2 | 0;
+                          na : {
+                           if (G >>> 0 <= j >>> 0) {
+                            J = 0;
+                            j = q[x >> 2];
+                            if (!j | q[j >> 2]) {
+                             break na;
+                            }
+                            q[j >> 2] = 130;
+                            break na;
+                           }
+                           E = B + (j << 3) | 0;
+                           j = q[E + 4 >> 2] + -1 | 0;
+                           if (j >>> 0 <= 1) {
+                            if (!(j - 1)) {
+                             J = q[E >> 2] << 16;
+                             break na;
+                            }
+                            j = q[E >> 2];
+                            J = ((j >> 31) + j | 0) - -8192 >> 14;
+                            break na;
+                           }
+                           J = q[E >> 2];
+                          }
+                          F = k + m | 0;
+                          u = u + H | 0;
+                          j = i + 3 | 0;
+                          oa : {
+                           if (G >>> 0 <= j >>> 0) {
+                            m = 0;
+                            j = q[x >> 2];
+                            if (!j | q[j >> 2]) {
+                             break oa;
+                            }
+                            q[j >> 2] = 130;
+                            break oa;
+                           }
+                           k = B + (j << 3) | 0;
+                           j = q[k + 4 >> 2] + -1 | 0;
+                           if (j >>> 0 <= 1) {
+                            if (!(j - 1)) {
+                             m = q[k >> 2] << 16;
+                             break oa;
+                            }
+                            j = q[k >> 2];
+                            m = ((j >> 31) + j | 0) - -8192 >> 14;
+                            break oa;
+                           }
+                           m = q[k >> 2];
+                          }
+                          j = F + J | 0;
+                          m = m + u | 0;
+                          J = 1;
+                          if ((L - i | 0) != 5) {
+                           b = i;
+                           k = j;
+                           break fa;
+                          }
+                          i = i + 4 | 0;
+                          pa : {
+                           if (G >>> 0 <= i >>> 0) {
+                            i = 0;
+                            k = q[x >> 2];
+                            if (!k | q[k >> 2]) {
+                             break pa;
+                            }
+                            q[k >> 2] = 130;
+                            break pa;
+                           }
+                           k = B + (i << 3) | 0;
+                           i = q[k + 4 >> 2] + -1 | 0;
+                           if (i >>> 0 <= 1) {
+                            if (!(i - 1)) {
+                             i = q[k >> 2] << 16;
+                             break pa;
+                            }
+                            i = q[k >> 2];
+                            i = ((i >> 31) + i | 0) - -8192 >> 14;
+                            break pa;
+                           }
+                           i = q[k >> 2];
+                          }
+                          k = i + j | 0;
+                         }
+                         OK(l + 3952 | 0, H, F, u, j, m, k);
+                         q[l + 16020 >> 2] = k;
+                         q[l + 16024 >> 2] = m;
+                         i = b + 4 | 0;
+                         if (L >>> 0 > i >>> 0) {
+                          continue;
+                         }
+                         break;
+                        }
+                        j = q[A >> 2];
+                       }
+                       q[y >> 2] = j;
+                       i = f;
+                       continue;
+                      }
+                      m = v;
+                      i = q[A >> 2];
+                      G = q[v >> 2] - i >> 3;
+                      L = G & -3;
+                      b = G & 2;
+                      if (L >>> 0 > b >>> 0) {
+                       while (1) {
+                        qa : {
+                         if (G - b & 1) {
+                          k = q[A >> 2];
+                          i = q[v >> 2] - k >> 3;
+                          ra : {
+                           if (i >>> 0 <= b >>> 0) {
+                            j = 0;
+                            u = q[x >> 2];
+                            if (!u | q[u >> 2]) {
+                             break ra;
+                            }
+                            q[u >> 2] = 130;
+                            break ra;
+                           }
+                           u = (b << 3) + k | 0;
+                           j = q[u + 4 >> 2] + -1 | 0;
+                           if (j >>> 0 <= 1) {
+                            if (!(j - 1)) {
+                             j = q[u >> 2] << 16;
+                             break ra;
+                            }
+                            j = q[u >> 2];
+                            j = ((j >> 31) + j | 0) - -8192 >> 14;
+                            break ra;
+                           }
+                           j = q[u >> 2];
+                          }
+                          b = b + 1 | 0;
+                          u = q[l + 16020 >> 2] + j | 0;
+                          break qa;
+                         }
+                         k = q[A >> 2];
+                         i = q[v >> 2] - k >> 3;
+                         u = q[l + 16020 >> 2];
+                        }
+                        sa : {
+                         if (i >>> 0 <= b >>> 0) {
+                          j = 0;
+                          y = q[x >> 2];
+                          if (!y | q[y >> 2]) {
+                           break sa;
+                          }
+                          q[y >> 2] = 130;
+                          break sa;
+                         }
+                         y = (b << 3) + k | 0;
+                         j = q[y + 4 >> 2] + -1 | 0;
+                         if (j >>> 0 <= 1) {
+                          if (!(j - 1)) {
+                           j = q[y >> 2] << 16;
+                           break sa;
+                          }
+                          j = q[y >> 2];
+                          j = ((j >> 31) + j | 0) - -8192 >> 14;
+                          break sa;
+                         }
+                         j = q[y >> 2];
+                        }
+                        E = q[l + 16024 >> 2];
+                        y = b + 1 | 0;
+                        ta : {
+                         if (i >>> 0 <= y >>> 0) {
+                          H = 0;
+                          y = q[x >> 2];
+                          if (!y | q[y >> 2]) {
+                           break ta;
+                          }
+                          q[y >> 2] = 130;
+                          break ta;
+                         }
+                         B = (y << 3) + k | 0;
+                         y = q[B + 4 >> 2] + -1 | 0;
+                         if (y >>> 0 <= 1) {
+                          if (!(y - 1)) {
+                           H = q[B >> 2] << 16;
+                           break ta;
+                          }
+                          y = q[B >> 2];
+                          H = ((y >> 31) + y | 0) - -8192 >> 14;
+                          break ta;
+                         }
+                         H = q[B >> 2];
+                        }
+                        E = j + E | 0;
+                        j = b + 2 | 0;
+                        ua : {
+                         if (i >>> 0 <= j >>> 0) {
+                          j = 0;
+                          y = q[x >> 2];
+                          if (!y | q[y >> 2]) {
+                           break ua;
+                          }
+                          q[y >> 2] = 130;
+                          break ua;
+                         }
+                         y = (j << 3) + k | 0;
+                         j = q[y + 4 >> 2] + -1 | 0;
+                         if (j >>> 0 <= 1) {
+                          if (!(j - 1)) {
+                           j = q[y >> 2] << 16;
+                           break ua;
+                          }
+                          j = q[y >> 2];
+                          j = ((j >> 31) + j | 0) - -8192 >> 14;
+                          break ua;
+                         }
+                         j = q[y >> 2];
+                        }
+                        y = E + H | 0;
+                        B = j + u | 0;
+                        j = i;
+                        i = b + 3 | 0;
+                        va : {
+                         if (j >>> 0 <= i >>> 0) {
+                          i = 0;
+                          j = q[x >> 2];
+                          if (!j | q[j >> 2]) {
+                           break va;
+                          }
+                          q[j >> 2] = 130;
+                          break va;
+                         }
+                         j = (i << 3) + k | 0;
+                         i = q[j + 4 >> 2] + -1 | 0;
+                         if (i >>> 0 <= 1) {
+                          if (!(i - 1)) {
+                           i = q[j >> 2] << 16;
+                           break va;
+                          }
+                          i = q[j >> 2];
+                          i = ((i >> 31) + i | 0) - -8192 >> 14;
+                          break va;
+                         }
+                         i = q[j >> 2];
+                        }
+                        i = i + y | 0;
+                        OK(l + 3952 | 0, E, u, y, B, i, B);
+                        q[l + 16020 >> 2] = B;
+                        q[l + 16024 >> 2] = i;
+                        b = b + 4 | 0;
+                        if (L >>> 0 > b >>> 0) {
+                         continue;
+                        }
+                        break;
+                       }
+                       i = q[A >> 2];
+                      }
+                      q[m >> 2] = i;
+                      i = f;
+                      continue;
+                     }
+                     m = v;
+                     i = q[A >> 2];
+                     G = q[v >> 2] - i >> 3;
+                     L = G & -3;
+                     b = G & 2;
+                     if (L >>> 0 > b >>> 0) {
+                      while (1) {
+                       wa : {
+                        if (G - b & 1) {
+                         k = q[A >> 2];
+                         i = q[v >> 2] - k >> 3;
+                         xa : {
+                          if (i >>> 0 <= b >>> 0) {
+                           j = 0;
+                           u = q[x >> 2];
+                           if (!u | q[u >> 2]) {
+                            break xa;
+                           }
+                           q[u >> 2] = 130;
+                           break xa;
+                          }
+                          u = (b << 3) + k | 0;
+                          j = q[u + 4 >> 2] + -1 | 0;
+                          if (j >>> 0 <= 1) {
+                           if (!(j - 1)) {
+                            j = q[u >> 2] << 16;
+                            break xa;
+                           }
+                           j = q[u >> 2];
+                           j = ((j >> 31) + j | 0) - -8192 >> 14;
+                           break xa;
+                          }
+                          j = q[u >> 2];
+                         }
+                         b = b + 1 | 0;
+                         y = q[l + 16024 >> 2] + j | 0;
+                         break wa;
+                        }
+                        k = q[A >> 2];
+                        i = q[v >> 2] - k >> 3;
+                        y = q[l + 16024 >> 2];
+                       }
+                       ya : {
+                        if (i >>> 0 <= b >>> 0) {
+                         j = 0;
+                         u = q[x >> 2];
+                         if (!u | q[u >> 2]) {
+                          break ya;
+                         }
+                         q[u >> 2] = 130;
+                         break ya;
+                        }
+                        u = (b << 3) + k | 0;
+                        j = q[u + 4 >> 2] + -1 | 0;
+                        if (j >>> 0 <= 1) {
+                         if (!(j - 1)) {
+                          j = q[u >> 2] << 16;
+                          break ya;
+                         }
+                         j = q[u >> 2];
+                         j = ((j >> 31) + j | 0) - -8192 >> 14;
+                         break ya;
+                        }
+                        j = q[u >> 2];
+                       }
+                       E = q[l + 16020 >> 2];
+                       u = b + 1 | 0;
+                       za : {
+                        if (i >>> 0 <= u >>> 0) {
+                         H = 0;
+                         u = q[x >> 2];
+                         if (!u | q[u >> 2]) {
+                          break za;
+                         }
+                         q[u >> 2] = 130;
+                         break za;
+                        }
+                        B = (u << 3) + k | 0;
+                        u = q[B + 4 >> 2] + -1 | 0;
+                        if (u >>> 0 <= 1) {
+                         if (!(u - 1)) {
+                          H = q[B >> 2] << 16;
+                          break za;
+                         }
+                         u = q[B >> 2];
+                         H = ((u >> 31) + u | 0) - -8192 >> 14;
+                         break za;
+                        }
+                        H = q[B >> 2];
+                       }
+                       E = j + E | 0;
+                       j = b + 2 | 0;
+                       Aa : {
+                        if (i >>> 0 <= j >>> 0) {
+                         u = 0;
+                         j = q[x >> 2];
+                         if (!j | q[j >> 2]) {
+                          break Aa;
+                         }
+                         q[j >> 2] = 130;
+                         break Aa;
+                        }
+                        u = (j << 3) + k | 0;
+                        j = q[u + 4 >> 2] + -1 | 0;
+                        if (j >>> 0 <= 1) {
+                         if (!(j - 1)) {
+                          u = q[u >> 2] << 16;
+                          break Aa;
+                         }
+                         j = q[u >> 2];
+                         u = ((j >> 31) + j | 0) - -8192 >> 14;
+                         break Aa;
+                        }
+                        u = q[u >> 2];
+                       }
+                       B = y + H | 0;
+                       u = u + E | 0;
+                       j = i;
+                       i = b + 3 | 0;
+                       Ba : {
+                        if (j >>> 0 <= i >>> 0) {
+                         i = 0;
+                         j = q[x >> 2];
+                         if (!j | q[j >> 2]) {
+                          break Ba;
+                         }
+                         q[j >> 2] = 130;
+                         break Ba;
+                        }
+                        j = (i << 3) + k | 0;
+                        i = q[j + 4 >> 2] + -1 | 0;
+                        if (i >>> 0 <= 1) {
+                         if (!(i - 1)) {
+                          i = q[j >> 2] << 16;
+                          break Ba;
+                         }
+                         i = q[j >> 2];
+                         i = ((i >> 31) + i | 0) - -8192 >> 14;
+                         break Ba;
+                        }
+                        i = q[j >> 2];
+                       }
+                       i = i + u | 0;
+                       OK(l + 3952 | 0, y, E, B, u, B, i);
+                       q[l + 16020 >> 2] = i;
+                       q[l + 16024 >> 2] = B;
+                       b = b + 4 | 0;
+                       if (L >>> 0 > b >>> 0) {
+                        continue;
+                       }
+                       break;
+                      }
+                      i = q[A >> 2];
+                     }
+                     q[m >> 2] = i;
+                     i = f;
+                     continue;
+                    }
+                    b = 0;
+                    j = q[v >> 2];
+                    i = q[A >> 2];
+                    G = j - i >> 3;
+                    if (G >>> 0 > 6) {
+                     while (1) {
+                      m = q[l + 16024 >> 2];
+                      k = j - i >> 3;
+                      Ca : {
+                       if (k >>> 0 <= b >>> 0) {
+                        j = 0;
+                        u = q[x >> 2];
+                        if (!u | q[u >> 2]) {
+                         break Ca;
+                        }
+                        q[u >> 2] = 130;
+                        break Ca;
+                       }
+                       u = (b << 3) + i | 0;
+                       j = q[u + 4 >> 2] + -1 | 0;
+                       if (j >>> 0 <= 1) {
+                        if (!(j - 1)) {
+                         j = q[u >> 2] << 16;
+                         break Ca;
+                        }
+                        j = q[u >> 2];
+                        j = ((j >> 31) + j | 0) - -8192 >> 14;
+                        break Ca;
+                       }
+                       j = q[u >> 2];
+                      }
+                      j = j + m | 0;
+                      q[l + 16024 >> 2] = j;
+                      m = q[l + 16020 >> 2];
+                      u = k;
+                      k = b | 1;
+                      Da : {
+                       if (u >>> 0 <= k >>> 0) {
+                        i = 0;
+                        k = q[x >> 2];
+                        if (!k | q[k >> 2]) {
+                         break Da;
+                        }
+                        q[k >> 2] = 130;
+                        j = q[l + 16024 >> 2];
+                        break Da;
+                       }
+                       k = (k << 3) + i | 0;
+                       i = q[k + 4 >> 2] + -1 | 0;
+                       if (i >>> 0 <= 1) {
+                        if (!(i - 1)) {
+                         i = q[k >> 2] << 16;
+                         break Da;
+                        }
+                        i = q[k >> 2];
+                        i = ((i >> 31) + i | 0) - -8192 >> 14;
+                        break Da;
+                       }
+                       i = q[k >> 2];
+                      }
+                      i = i + m | 0;
+                      q[l + 16020 >> 2] = i;
+                      LK(l + 3952 | 0, j, i);
+                      k = b + 2 | 0;
+                      if (b + 8 >>> 0 < G >>> 0) {
+                       i = q[A >> 2];
+                       j = q[v >> 2];
+                       b = k;
+                       continue;
+                      }
+                      break;
+                     }
+                     b = k;
+                    }
+                    if (b >>> 0 < G >>> 0) {
+                     while (1) {
+                      S = q[A >> 2];
+                      B = q[v >> 2] - S >> 3;
+                      Ea : {
+                       if (B >>> 0 <= b >>> 0) {
+                        k = 0;
+                        i = q[x >> 2];
+                        if (!i | q[i >> 2]) {
+                         break Ea;
+                        }
+                        q[i >> 2] = 130;
+                        break Ea;
+                       }
+                       j = S + (b << 3) | 0;
+                       i = q[j + 4 >> 2] + -1 | 0;
+                       if (i >>> 0 <= 1) {
+                        if (!(i - 1)) {
+                         k = q[j >> 2] << 16;
+                         break Ea;
+                        }
+                        i = q[j >> 2];
+                        k = ((i >> 31) + i | 0) - -8192 >> 14;
+                        break Ea;
+                       }
+                       k = q[j >> 2];
+                      }
+                      m = q[l + 16024 >> 2];
+                      i = b | 1;
+                      Fa : {
+                       if (B >>> 0 <= i >>> 0) {
+                        F = 0;
+                        i = q[x >> 2];
+                        if (!i | q[i >> 2]) {
+                         break Fa;
+                        }
+                        q[i >> 2] = 130;
+                        break Fa;
+                       }
+                       j = S + (i << 3) | 0;
+                       i = q[j + 4 >> 2] + -1 | 0;
+                       if (i >>> 0 <= 1) {
+                        if (!(i - 1)) {
+                         F = q[j >> 2] << 16;
+                         break Fa;
+                        }
+                        i = q[j >> 2];
+                        F = ((i >> 31) + i | 0) - -8192 >> 14;
+                        break Fa;
+                       }
+                       F = q[j >> 2];
+                      }
+                      j = q[l + 16020 >> 2];
+                      i = b + 2 | 0;
+                      Ga : {
+                       if (B >>> 0 <= i >>> 0) {
+                        u = 0;
+                        i = q[x >> 2];
+                        if (!i | q[i >> 2]) {
+                         break Ga;
+                        }
+                        q[i >> 2] = 130;
+                        break Ga;
+                       }
+                       u = S + (i << 3) | 0;
+                       i = q[u + 4 >> 2] + -1 | 0;
+                       if (i >>> 0 <= 1) {
+                        if (!(i - 1)) {
+                         u = q[u >> 2] << 16;
+                         break Ga;
+                        }
+                        i = q[u >> 2];
+                        u = ((i >> 31) + i | 0) - -8192 >> 14;
+                        break Ga;
+                       }
+                       u = q[u >> 2];
+                      }
+                      L = k + m | 0;
+                      i = b + 3 | 0;
+                      Ha : {
+                       if (B >>> 0 <= i >>> 0) {
+                        J = 0;
+                        i = q[x >> 2];
+                        if (!i | q[i >> 2]) {
+                         break Ha;
+                        }
+                        q[i >> 2] = 130;
+                        break Ha;
+                       }
+                       k = S + (i << 3) | 0;
+                       i = q[k + 4 >> 2] + -1 | 0;
+                       if (i >>> 0 <= 1) {
+                        if (!(i - 1)) {
+                         J = q[k >> 2] << 16;
+                         break Ha;
+                        }
+                        i = q[k >> 2];
+                        J = ((i >> 31) + i | 0) - -8192 >> 14;
+                        break Ha;
+                       }
+                       J = q[k >> 2];
+                      }
+                      E = j + F | 0;
+                      y = u + L | 0;
+                      i = b + 4 | 0;
+                      Ia : {
+                       if (B >>> 0 <= i >>> 0) {
+                        u = 0;
+                        i = q[x >> 2];
+                        if (!i | q[i >> 2]) {
+                         break Ia;
+                        }
+                        q[i >> 2] = 130;
+                        break Ia;
+                       }
+                       j = S + (i << 3) | 0;
+                       i = q[j + 4 >> 2] + -1 | 0;
+                       if (i >>> 0 <= 1) {
+                        if (!(i - 1)) {
+                         u = q[j >> 2] << 16;
+                         break Ia;
+                        }
+                        i = q[j >> 2];
+                        u = ((i >> 31) + i | 0) - -8192 >> 14;
+                        break Ia;
+                       }
+                       u = q[j >> 2];
+                      }
+                      m = E + J | 0;
+                      k = u + y | 0;
+                      i = b + 5 | 0;
+                      Ja : {
+                       if (B >>> 0 <= i >>> 0) {
+                        i = 0;
+                        j = q[x >> 2];
+                        if (!j | q[j >> 2]) {
+                         break Ja;
+                        }
+                        q[j >> 2] = 130;
+                        break Ja;
+                       }
+                       j = S + (i << 3) | 0;
+                       i = q[j + 4 >> 2] + -1 | 0;
+                       if (i >>> 0 <= 1) {
+                        if (!(i - 1)) {
+                         i = q[j >> 2] << 16;
+                         break Ja;
+                        }
+                        i = q[j >> 2];
+                        i = ((i >> 31) + i | 0) - -8192 >> 14;
+                        break Ja;
+                       }
+                       i = q[j >> 2];
+                      }
+                      i = i + m | 0;
+                      OK(l + 3952 | 0, L, E, y, m, k, i);
+                      q[l + 16020 >> 2] = i;
+                      q[l + 16024 >> 2] = k;
+                      b = b + 6 | 0;
+                      if (b >>> 0 < G >>> 0) {
+                       continue;
+                      }
+                      break;
+                     }
+                    }
+                    q[v >> 2] = q[A >> 2];
+                    i = f;
+                    continue;
+                   }
+                   j = q[v >> 2];
+                   k = q[A >> 2];
+                   if (!(r[l + 15839 | 0] | j - k >> 3 >>> 0 < 2)) {
+                    b = h;
+                    i = q[k + 4 >> 2] + -1 | 0;
+                    Ka : {
+                     if (i >>> 0 <= 1) {
+                      m = q[k >> 2] << 16;
+                      if (!(i - 1)) {
+                       break Ka;
+                      }
+                      i = q[k >> 2];
+                      m = ((i >> 31) + i | 0) - -8192 >> 14;
+                      break Ka;
+                     }
+                     m = q[k >> 2];
+                    }
+                    q[b >> 2] = m + _;
+                   }
+                   o[l + 15839 | 0] = 1;
+                   if (r[z + 548 | 0]) {
+                    break k;
+                   }
+                   i = q[l + 16024 >> 2];
+                   La : {
+                    if ((j | 0) == (k | 0)) {
+                     b = 0;
+                     j = q[x >> 2];
+                     if (!j | q[j >> 2]) {
+                      break La;
+                     }
+                     q[j >> 2] = 161;
+                     break La;
+                    }
+                    j = j + -8 | 0;
+                    q[v >> 2] = j;
+                    b = q[j + 4 >> 2] + -1 | 0;
+                    if (b >>> 0 <= 1) {
+                     if (!(b - 1)) {
+                      b = q[j >> 2] << 16;
+                      break La;
+                     }
+                     b = q[j >> 2];
+                     b = ((b >> 31) + b | 0) - -8192 >> 14;
+                     break La;
+                    }
+                    b = q[j >> 2];
+                   }
+                   j = b + i | 0;
+                   q[l + 16024 >> 2] = j;
+                   if (q[z + 468 >> 2]) {
+                    break i;
+                   }
+                   i = q[l + 16020 >> 2];
+                   if (r[l + 15616 | 0]) {
+                    o[l + 15617 | 0] = 1;
+                    LK(l + 3952 | 0, q[l + 15688 >> 2], q[l + 15692 >> 2]);
+                    if (r[l + 15696 | 0]) {
+                     b = q[R + 4 >> 2];
+                     q[l + 40 >> 2] = q[R >> 2];
+                     q[l + 44 >> 2] = b;
+                     MK(l + 3952 | 0, O, V, l + 40 | 0, 1);
+                    }
+                    o[l + 15696 | 0] = 0;
+                    p[l + 15616 >> 1] = 0;
+                    o[l + 15619 | 0] = 1;
+                   }
+                   q[l + 15692 >> 2] = i;
+                   q[l + 15672 >> 2] = j;
+                   q[l + 15688 >> 2] = j;
+                   q[l + 15676 >> 2] = i;
+                   o[l + 15619 | 0] = 1;
+                   b = q[l + 15628 >> 2];
+                   if (!(r[b + 5 | 0] ? 0 : r[l + 3972 | 0])) {
+                    NK(O, q[l + 15620 >> 2], q[l + 15624 >> 2], b, q[l + 15632 >> 2], 0);
+                   }
+                   Y$($, O, 3868);
+                   break i;
+                  }
+                  b = q[v >> 2];
+                  m = q[A >> 2];
+                  if (!(r[l + 15839 | 0] | b - m >> 3 >>> 0 < 3)) {
+                   i = h;
+                   j = q[m + 4 >> 2] + -1 | 0;
+                   Ma : {
+                    if (j >>> 0 <= 1) {
+                     k = q[m >> 2] << 16;
+                     if (!(j - 1)) {
+                      break Ma;
+                     }
+                     j = q[m >> 2];
+                     k = ((j >> 31) + j | 0) - -8192 >> 14;
+                     break Ma;
+                    }
+                    k = q[m >> 2];
+                   }
+                   q[i >> 2] = k + _;
+                  }
+                  o[l + 15839 | 0] = 1;
+                  if (r[z + 548 | 0]) {
+                   break k;
+                  }
+                  j = q[l + 16020 >> 2];
+                  Na : {
+                   if ((b | 0) == (m | 0)) {
+                    k = 0;
+                    i = q[x >> 2];
+                    if (!i | q[i >> 2]) {
+                     break Na;
+                    }
+                    q[i >> 2] = 161;
+                    break Na;
+                   }
+                   b = b + -8 | 0;
+                   q[v >> 2] = b;
+                   i = q[b + 4 >> 2] + -1 | 0;
+                   if (i >>> 0 <= 1) {
+                    if (!(i - 1)) {
+                     k = q[b >> 2] << 16;
+                     break Na;
+                    }
+                    i = q[b >> 2];
+                    k = ((i >> 31) + i | 0) - -8192 >> 14;
+                    break Na;
+                   }
+                   k = q[b >> 2];
+                  }
+                  q[l + 16020 >> 2] = j + k;
+                  i = q[l + 16024 >> 2];
+                  Oa : {
+                   if ((b | 0) == (m | 0)) {
+                    b = 0;
+                    j = q[x >> 2];
+                    if (!j | q[j >> 2]) {
+                     break Oa;
+                    }
+                    q[j >> 2] = 161;
+                    break Oa;
+                   }
+                   j = b + -8 | 0;
+                   q[v >> 2] = j;
+                   b = q[j + 4 >> 2] + -1 | 0;
+                   if (b >>> 0 <= 1) {
+                    if (!(b - 1)) {
+                     b = q[j >> 2] << 16;
+                     break Oa;
+                    }
+                    b = q[j >> 2];
+                    b = ((b >> 31) + b | 0) - -8192 >> 14;
+                    break Oa;
+                   }
+                   b = q[j >> 2];
+                  }
+                  j = b + i | 0;
+                  q[l + 16024 >> 2] = j;
+                  if (q[z + 468 >> 2]) {
+                   break i;
+                  }
+                  i = q[l + 16020 >> 2];
+                  if (r[l + 15616 | 0]) {
+                   o[l + 15617 | 0] = 1;
+                   LK(l + 3952 | 0, q[l + 15688 >> 2], q[l + 15692 >> 2]);
+                   if (r[l + 15696 | 0]) {
+                    b = q[R + 4 >> 2];
+                    q[l + 32 >> 2] = q[R >> 2];
+                    q[l + 36 >> 2] = b;
+                    MK(l + 3952 | 0, O, V, l + 32 | 0, 1);
+                   }
+                   o[l + 15696 | 0] = 0;
+                   p[l + 15616 >> 1] = 0;
+                   o[l + 15619 | 0] = 1;
+                  }
+                  q[l + 15692 >> 2] = i;
+                  q[l + 15672 >> 2] = j;
+                  q[l + 15688 >> 2] = j;
+                  q[l + 15676 >> 2] = i;
+                  o[l + 15619 | 0] = 1;
+                  b = q[l + 15628 >> 2];
+                  if (!(r[b + 5 | 0] ? 0 : r[l + 3972 | 0])) {
+                   NK(O, q[l + 15620 >> 2], q[l + 15624 >> 2], b, q[l + 15632 >> 2], 0);
+                  }
+                  Y$($, O, 3868);
+                  break i;
+                 }
+                 if (q[v >> 2] - q[A >> 2] >> 3 >>> 0 > 1 ? r[l + 15740 | 0] : 0) {
+                  break i;
+                 }
+                 i = 0;
+                 KK(a, g, l + 15768 | 0, h, l + 15839 | 0, 0);
+                 if (r[z + 548 | 0]) {
+                  m = 0;
+                  break b;
+                 }
+                 if ((b | 0) == 19) {
+                  i = q[l + 15788 >> 2] + q[l + 15820 >> 2] | 0;
+                  if (i >>> 0 >= 97) {
+                   b = q[l + 15736 >> 2];
+                   if (!b | q[b >> 2]) {
+                    break i;
+                   }
+                   q[b >> 2] = 18;
+                   break i;
+                  }
+                  q[l + 15744 >> 2] = i;
+                  p[l + 15740 >> 1] = 257;
+                  b = i + 7 >>> 3 | 0;
+                  q[l + 15748 >> 2] = b;
+                  if (!i | !b) {
+                   break i;
+                  }
+                  b = 0;
+                  while (1) {
+                   i = q[C + 12 >> 2];
+                   Pa : {
+                    if (i >>> 0 < t[C + 8 >> 2]) {
+                     q[C + 12 >> 2] = i + 1;
+                     i = r[i | 0];
+                     break Pa;
+                    }
+                    i = 0;
+                    j = q[C >> 2];
+                    if (!j | q[j >> 2]) {
+                     break Pa;
+                    }
+                    q[j >> 2] = 85;
+                   }
+                   o[(b + l | 0) + 15752 | 0] = i;
+                   b = b + 1 | 0;
+                   if (b >>> 0 < t[l + 15748 >> 2]) {
+                    continue;
+                   }
+                   break;
+                  }
+                  break i;
+                 }
+                 Z$(da, 0, 3856);
+                 b = r[a + 184 | 0];
+                 q[l + 96 >> 2] = W;
+                 o[l + 93 | 0] = b;
+                 q[l + 88 >> 2] = Y;
+                 q[l + 84 >> 2] = Z;
+                 q[l + 80 >> 2] = a;
+                 b = ca;
+                 q[b + 16 >> 2] = 0;
+                 q[b + 20 >> 2] = 0;
+                 q[b + 8 >> 2] = 0;
+                 q[b + 12 >> 2] = 0;
+                 q[b >> 2] = 0;
+                 q[b + 4 >> 2] = 0;
+                 q[l + 48 >> 2] = N;
+                 i = q[l + 15788 >> 2] + q[l + 15820 >> 2] | 0;
+                 Qa : {
+                  if (i >>> 0 >= 97) {
+                   if (q[N >> 2]) {
+                    break Qa;
+                   }
+                   q[N >> 2] = 18;
+                   break Qa;
+                  }
+                  q[l + 56 >> 2] = i;
+                  p[l + 52 >> 1] = 257;
+                  b = i + 7 >>> 3 | 0;
+                  q[l + 60 >> 2] = b;
+                  if (!i | !b) {
+                   break Qa;
+                  }
+                  b = 0;
+                  while (1) {
+                   i = q[C + 12 >> 2];
+                   Ra : {
+                    if (i >>> 0 < t[C + 8 >> 2]) {
+                     q[C + 12 >> 2] = i + 1;
+                     i = r[i | 0];
+                     break Ra;
+                    }
+                    i = 0;
+                    j = q[C >> 2];
+                    if (!j | q[j >> 2]) {
+                     break Ra;
+                    }
+                    q[j >> 2] = 85;
+                   }
+                   o[(b + l | 0) - -64 | 0] = i;
+                   b = b + 1 | 0;
+                   if (b >>> 0 < t[l + 60 >> 2]) {
+                    continue;
+                   }
+                   break;
+                  }
+                 }
+                 NK(l + 80 | 0, l + 15800 | 0, l + 15768 | 0, l + 48 | 0, 0, 0);
+                 break i;
+                }
+                if (!(!y | f & 255)) {
+                 i = q[l + 16020 >> 2];
+                 f = q[l + 16024 >> 2];
+                 if (r[l + 15616 | 0]) {
+                  o[l + 15617 | 0] = 1;
+                  LK(l + 3952 | 0, q[l + 15688 >> 2], q[l + 15692 >> 2]);
+                  if (r[l + 15696 | 0]) {
+                   b = q[R + 4 >> 2];
+                   q[l + 24 >> 2] = q[R >> 2];
+                   q[l + 28 >> 2] = b;
+                   MK(l + 3952 | 0, O, V, l + 24 | 0, 1);
+                  }
+                  o[l + 15696 | 0] = 0;
+                  p[l + 15616 >> 1] = 0;
+                  o[l + 15619 | 0] = 1;
+                 }
+                 q[l + 15692 >> 2] = i;
+                 q[l + 15672 >> 2] = f;
+                 q[l + 15688 >> 2] = f;
+                 q[l + 15676 >> 2] = i;
+                 o[l + 15619 | 0] = 1;
+                 b = q[l + 15628 >> 2];
+                 if (!(r[b + 5 | 0] ? 0 : r[l + 3972 | 0])) {
+                  NK(O, q[l + 15620 >> 2], q[l + 15624 >> 2], b, q[l + 15632 >> 2], 0);
+                 }
+                 Y$($, O, 3868);
+                 q[l + 15820 >> 2] = 0;
+                 q[l + 15788 >> 2] = 0;
+                 b = K;
+                 q[b + 16 >> 2] = 0;
+                 q[b + 20 >> 2] = 0;
+                 q[b + 8 >> 2] = 0;
+                 q[b + 12 >> 2] = 0;
+                 q[b >> 2] = 0;
+                 q[b + 4 >> 2] = 0;
+                 p[l + 15740 >> 1] = 256;
+                 q[l + 15736 >> 2] = N;
+                 if ((P | 0) >= 1) {
+                  while (1) {
+                   b = P;
+                   P = b + -1 | 0;
+                   i = P;
+                   Sa : {
+                    if (i >>> 0 < 17) {
+                     break Sa;
+                    }
+                    i = 0;
+                    if (q[N >> 2]) {
+                     break Sa;
+                    }
+                    q[N >> 2] = 130;
+                   }
+                   if ((b | 0) > 1) {
+                    continue;
+                   }
+                   break;
+                  }
+                  C = (i << 4) + U | 0;
+                  P = 0;
+                 }
+                 q[C + 12 >> 2] = q[C + 4 >> 2];
+                 i = 1;
+                 break h;
+                }
+                f = q[A >> 2];
+                b = (q[v >> 2] - f >> 3) + -1 | 0;
+                Ta : {
+                 if (b >>> 0 > 4) {
+                  break Ta;
+                 }
+                 Ua : {
+                  switch (b - 1 | 0) {
+                  case 0:
+                  case 1:
+                  case 2:
+                   break Ta;
+                  default:
+                   break Ua;
+                  }
+                 }
+                 if (r[l + 15839 | 0]) {
+                  break Ta;
+                 }
+                 b = q[f + 4 >> 2] + -1 | 0;
+                 Va : {
+                  if (b >>> 0 <= 1) {
+                   i = q[f >> 2] << 16;
+                   if (!(b - 1)) {
+                    break Va;
+                   }
+                   b = q[f >> 2];
+                   i = ((b >> 31) + b | 0) - -8192 >> 14;
+                   break Va;
+                  }
+                  i = q[f >> 2];
+                 }
+                 q[h >> 2] = i + _;
+                }
+                o[l + 15839 | 0] = 1;
+                if (r[z + 548 | 0]) {
+                 break k;
+                }
+                if (r[l + 15616 | 0]) {
+                 o[l + 15617 | 0] = 1;
+                 LK(l + 3952 | 0, q[l + 15688 >> 2], q[l + 15692 >> 2]);
+                 if (r[l + 15696 | 0]) {
+                  b = q[R + 4 >> 2];
+                  q[l + 16 >> 2] = q[R >> 2];
+                  q[l + 20 >> 2] = b;
+                  MK(l + 3952 | 0, O, V, l + 16 | 0, 1);
+                 }
+                 o[l + 15696 | 0] = 0;
+                 p[l + 15616 >> 1] = 0;
+                 o[l + 15619 | 0] = 1;
+                }
+                if (r[a + 9 | 0] | r[a + 8 | 0]) {
+                 break k;
+                }
+                h = q[g + 12 >> 2];
+                f = q[g + 8 >> 2];
+                if (h - f >> 3 >>> 0 < 2) {
+                 break k;
+                }
+                m = 18;
+                Wa : {
+                 if (e) {
+                  break Wa;
+                 }
+                 Xa : {
+                  if ((f | 0) == (h | 0)) {
+                   K = 0;
+                   b = q[x >> 2];
+                   if (!b | q[b >> 2]) {
+                    break Xa;
+                   }
+                   q[b >> 2] = 161;
+                   break Xa;
+                  }
+                  if (q[h + -4 >> 2] != 2) {
+                   K = 0;
+                   b = q[x >> 2];
+                   if (!b | q[b >> 2]) {
+                    break Xa;
+                   }
+                   q[b >> 2] = 160;
+                   break Xa;
+                  }
+                  h = h + -8 | 0;
+                  q[v >> 2] = h;
+                  K = q[h >> 2];
+                 }
+                 Ya : {
+                  if ((f | 0) == (h | 0)) {
+                   i = 0;
+                   b = q[x >> 2];
+                   if (!b | q[b >> 2]) {
+                    break Ya;
+                   }
+                   q[b >> 2] = 161;
+                   break Ya;
+                  }
+                  if (q[h + -4 >> 2] != 2) {
+                   i = 0;
+                   b = q[x >> 2];
+                   if (!b | q[b >> 2]) {
+                    break Ya;
+                   }
+                   q[b >> 2] = 160;
+                   break Ya;
+                  }
+                  h = h + -8 | 0;
+                  q[v >> 2] = h;
+                  i = q[h >> 2];
+                 }
+                 Za : {
+                  if ((f | 0) == (h | 0)) {
+                   j = 0;
+                   b = q[x >> 2];
+                   if (!b | q[b >> 2]) {
+                    break Za;
+                   }
+                   q[b >> 2] = 161;
+                   break Za;
+                  }
+                  h = h + -8 | 0;
+                  q[v >> 2] = h;
+                  b = q[h + 4 >> 2] + -1 | 0;
+                  if (b >>> 0 <= 1) {
+                   if (!(b - 1)) {
+                    j = q[h >> 2] << 16;
+                    break Za;
+                   }
+                   b = q[h >> 2];
+                   j = ((b >> 31) + b | 0) - -8192 >> 14;
+                   break Za;
+                  }
+                  j = q[h >> 2];
+                 }
+                 q[l + 16020 >> 2] = j;
+                 _a : {
+                  if ((f | 0) == (h | 0)) {
+                   v = 0;
+                   b = q[x >> 2];
+                   if (!b | q[b >> 2]) {
+                    break _a;
+                   }
+                   q[b >> 2] = 161;
+                   break _a;
+                  }
+                  e = h + -8 | 0;
+                  q[v >> 2] = e;
+                  b = q[e + 4 >> 2] + -1 | 0;
+                  if (b >>> 0 <= 1) {
+                   if (!(b - 1)) {
+                    v = q[e >> 2] << 16;
+                    break _a;
+                   }
+                   b = q[e >> 2];
+                   v = ((b >> 31) + b | 0) - -8192 >> 14;
+                   break _a;
+                  }
+                  v = q[e >> 2];
+                 }
+                 q[l + 88 >> 2] = 0;
+                 q[l + 92 >> 2] = 0;
+                 q[l + 16024 >> 2] = v;
+                 q[l + 80 >> 2] = 0;
+                 q[l + 84 >> 2] = 0;
+                 b = q[z + 4 >> 2];
+                 if (!q[q[b + 128 >> 2] + 52 >> 2]) {
+                  if (K >>> 0 > 255) {
+                   break Wa;
+                  }
+                  b = q[z + 532 >> 2];
+                  if (!q[b + 1188 >> 2]) {
+                   break Wa;
+                  }
+                  f = n[q[q[b + 3088 >> 2] >> 2]](K) | 0;
+                  e = q[b + 20 >> 2];
+                  if (!e) {
+                   break Wa;
+                  }
+                  b = q[b + 1188 >> 2];
+                  K = 0;
+                  while (1) {
+                   if ((f | 0) != s[b + (K << 1) >> 1]) {
+                    K = K + 1 | 0;
+                    if ((e | 0) != (K | 0)) {
+                     continue;
+                    }
+                    break Wa;
+                   }
+                   break;
+                  }
+                  if ((K | 0) < 0) {
+                   break Wa;
+                  }
+                  b = q[z + 4 >> 2];
+                 }
+                 m = n[q[z + 596 >> 2]](b, K, l + 48 | 0, l + 16028 | 0) | 0;
+                 if (m) {
+                  break Wa;
+                 }
+                 e = q[l + 48 >> 2];
+                 q[l + 84 >> 2] = e;
+                 q[l + 92 >> 2] = e;
+                 b = e ? e + q[l + 16028 >> 2] | 0 : 0;
+                 q[l + 88 >> 2] = b;
+                 eK(a, l + 80 | 0, c, d, 1, q[l + 16024 >> 2], q[l + 16020 >> 2], l + 3948 | 0);
+                 h = l + 80 | 4;
+                 n[q[z + 600 >> 2]](q[z + 4 >> 2], h, b - e | 0);
+                 q[l + 80 >> 2] = 0;
+                 q[l + 84 >> 2] = 0;
+                 q[l + 88 >> 2] = 0;
+                 q[l + 92 >> 2] = 0;
+                 b = q[z + 4 >> 2];
+                 if (!q[q[b + 128 >> 2] + 52 >> 2]) {
+                  m = 18;
+                  if (i >>> 0 > 255) {
+                   break Wa;
+                  }
+                  b = q[z + 532 >> 2];
+                  if (!q[b + 1188 >> 2]) {
+                   break Wa;
+                  }
+                  f = n[q[q[b + 3088 >> 2] >> 2]](i) | 0;
+                  e = q[b + 20 >> 2];
+                  if (!e) {
+                   break Wa;
+                  }
+                  b = q[b + 1188 >> 2];
+                  i = 0;
+                  while (1) {
+                   if ((f | 0) != s[b + (i << 1) >> 1]) {
+                    i = i + 1 | 0;
+                    if ((e | 0) != (i | 0)) {
+                     continue;
+                    }
+                    break Wa;
+                   }
+                   break;
+                  }
+                  if ((i | 0) < 0) {
+                   break Wa;
+                  }
+                  b = q[z + 4 >> 2];
+                 }
+                 m = n[q[z + 596 >> 2]](b, i, l + 48 | 0, l + 16028 | 0) | 0;
+                 if (m) {
+                  break Wa;
+                 }
+                 b = q[l + 48 >> 2];
+                 q[l + 84 >> 2] = b;
+                 q[l + 92 >> 2] = b;
+                 m = 0;
+                 q[l + 88 >> 2] = b ? b + q[l + 16028 >> 2] | 0 : 0;
+                 eK(a, l + 80 | 0, c, d, 1, 0, 0, l + 3948 | 0);
+                 n[q[z + 600 >> 2]](q[z + 4 >> 2], h, q[l + 88 >> 2] - q[l + 84 >> 2] | 0);
+                }
+                i = 0;
+                break b;
+               }
+               if (!y) {
+                break i;
+               }
+               b = q[v >> 2];
+               j = q[A >> 2];
+               $a : {
+                if ((b | 0) == (j | 0)) {
+                 k = 0;
+                 i = q[x >> 2];
+                 if (!i | q[i >> 2]) {
+                  break $a;
+                 }
+                 q[i >> 2] = 161;
+                 break $a;
+                }
+                b = b + -8 | 0;
+                q[v >> 2] = b;
+                i = q[b + 4 >> 2] + -1 | 0;
+                if (i >>> 0 <= 1) {
+                 if (!(i - 1)) {
+                  k = q[b >> 2] << 16;
+                  break $a;
+                 }
+                 i = q[b >> 2];
+                 k = ((i >> 31) + i | 0) - -8192 >> 14;
+                 break $a;
+                }
+                k = q[b >> 2];
+               }
+               i = q[z + 36 >> 2];
+               q[i + 4 >> 2] = 0;
+               q[i >> 2] = k;
+               ab : {
+                if ((b | 0) == (j | 0)) {
+                 b = 0;
+                 i = q[x >> 2];
+                 if (!i | q[i >> 2]) {
+                  break ab;
+                 }
+                 q[i >> 2] = 161;
+                 break ab;
+                }
+                i = b + -8 | 0;
+                q[v >> 2] = i;
+                b = q[i + 4 >> 2] + -1 | 0;
+                if (b >>> 0 <= 1) {
+                 if (!(b - 1)) {
+                  b = q[i >> 2] << 16;
+                  break ab;
+                 }
+                 b = q[i >> 2];
+                 b = ((b >> 31) + b | 0) - -8192 >> 14;
+                 break ab;
+                }
+                b = q[i >> 2];
+               }
+               i = q[z + 32 >> 2];
+               q[i >> 2] = q[i >> 2] + b;
+               o[l + 15839 | 0] = 1;
+               if (r[z + 47 | 0]) {
+                break k;
+               }
+               if (!(f & 255)) {
+                i = 0;
+                break h;
+               }
+               q[l + 16024 >> 2] = q[l + 16024 >> 2] + b;
+               break i;
+              }
+              bb : {
+               if (m >>> 0 >= u >>> 0) {
+                i = q[C >> 2];
+                if (i) {
+                 b = 0;
+                 if (q[i >> 2]) {
+                  break bb;
+                 }
+                 q[i >> 2] = 85;
+                }
+                b = 0;
+                break bb;
+               }
+               q[C + 12 >> 2] = m + 1;
+               b = r[m | 0];
+               j = b + -8 | 0;
+               if (j >>> 0 > 29) {
+                break bb;
+               }
+               cb : {
+                switch (j - 1 | 0) {
+                case 25:
+                 PK(g, l + 16024 | 0, l + 16020 | 0, l + 3952 | 0, 291597, 0);
+                 continue;
+                case 27:
+                 PK(g, l + 16024 | 0, l + 16020 | 0, l + 3952 | 0, 291621, 0);
+                 continue;
+                case 28:
+                 PK(g, l + 16024 | 0, l + 16020 | 0, l + 3952 | 0, 291633, 1);
+                 continue;
+                case 0:
+                case 1:
+                case 2:
+                case 3:
+                case 5:
+                case 6:
+                case 7:
+                case 8:
+                case 9:
+                case 11:
+                case 12:
+                case 13:
+                case 14:
+                case 15:
+                case 17:
+                case 18:
+                case 19:
+                case 20:
+                case 21:
+                case 24:
+                 break bb;
+                case 26:
+                 break cb;
+                default:
+                 break h;
+                }
+               }
+               PK(g, l + 16024 | 0, l + 16020 | 0, l + 3952 | 0, 291609, 0);
+               break i;
+              }
+              if (r[a + 9 | 0] | b >>> 0 > 37) {
+               break i;
+              }
+              if (!(!y | (b | 0) == 17 | (D | 0) <= 0)) {
+               D = 0;
+               break i;
+              }
+              j = b + -1 | 0;
+              if (j >>> 0 > 32) {
+               break i;
+              }
+              i = f;
+              db : {
+               eb : {
+                fb : {
+                 gb : {
+                  hb : {
+                   ib : {
+                    jb : {
+                     kb : {
+                      lb : {
+                       mb : {
+                        nb : {
+                         ob : {
+                          switch (j - 2 | 0) {
+                          default:
+                           if (!y) {
+                            break i;
+                           }
+                           u = q[A >> 2];
+                           i = q[v >> 2] - u | 0;
+                           j = i >> 3;
+                           pb : {
+                            qb : {
+                             rb : {
+                              sb : {
+                               tb : {
+                                ub : {
+                                 if (!i) {
+                                  i = q[x >> 2];
+                                  if (!i | q[i >> 2]) {
+                                   break pb;
+                                  }
+                                  q[i >> 2] = 130;
+                                  m = 0;
+                                  break ub;
+                                 }
+                                 i = q[u + 4 >> 2] + -1 | 0;
+                                 vb : {
+                                  if (i >>> 0 <= 1) {
+                                   m = q[u >> 2] << 16;
+                                   if (!(i - 1)) {
+                                    break vb;
+                                   }
+                                   i = q[u >> 2];
+                                   m = ((i >> 31) + i | 0) - -8192 >> 14;
+                                   break vb;
+                                  }
+                                  m = q[u >> 2];
+                                 }
+                                 if (j >>> 0 > 2) {
+                                  break tb;
+                                 }
+                                }
+                                k = 0;
+                                i = q[x >> 2];
+                                if (!i) {
+                                 F = 0;
+                                 break qb;
+                                }
+                                if (q[i >> 2]) {
+                                 F = 0;
+                                 break qb;
+                                }
+                                q[i >> 2] = 130;
+                                break sb;
+                               }
+                               i = q[u + 20 >> 2] + -1 | 0;
+                               wb : {
+                                if (i >>> 0 <= 1) {
+                                 k = q[u + 16 >> 2] << 16;
+                                 if (!(i - 1)) {
+                                  break wb;
+                                 }
+                                 i = q[u + 16 >> 2];
+                                 k = ((i >> 31) + i | 0) - -8192 >> 14;
+                                 break wb;
+                                }
+                                k = q[u + 16 >> 2];
+                               }
+                               if (j >>> 0 > 4) {
+                                break rb;
+                               }
+                              }
+                              F = 0;
+                              i = q[x >> 2];
+                              if (!i | q[i >> 2]) {
+                               break qb;
+                              }
+                              q[i >> 2] = 130;
+                              break qb;
+                             }
+                             i = q[u + 36 >> 2] + -1 | 0;
+                             if (i >>> 0 <= 1) {
+                              if (!(i - 1)) {
+                               F = q[u + 32 >> 2] << 16;
+                               break qb;
+                              }
+                              i = q[u + 32 >> 2];
+                              F = ((i >> 31) + i | 0) - -8192 >> 14;
+                              break qb;
+                             }
+                             F = q[u + 32 >> 2];
+                            }
+                            xb : {
+                             yb : {
+                              zb : {
+                               Ab : {
+                                if (j >>> 0 <= 1) {
+                                 i = q[x >> 2];
+                                 if (!i | q[i >> 2]) {
+                                  break pb;
+                                 }
+                                 q[i >> 2] = 130;
+                                 break Ab;
+                                }
+                                i = q[u + 12 >> 2] + -1 | 0;
+                                Bb : {
+                                 if (i >>> 0 <= 1) {
+                                  y = q[u + 8 >> 2] << 16;
+                                  if (!(i - 1)) {
+                                   break Bb;
+                                  }
+                                  i = q[u + 8 >> 2];
+                                  y = ((i >> 31) + i | 0) - -8192 >> 14;
+                                  break Bb;
+                                 }
+                                 y = q[u + 8 >> 2];
+                                }
+                                i = y;
+                                if (j >>> 0 > 1) {
+                                 break zb;
+                                }
+                               }
+                               i = q[x >> 2];
+                               if (!i | q[i >> 2]) {
+                                break pb;
+                               }
+                               q[i >> 2] = 130;
+                               break yb;
+                              }
+                              q[u + 16 >> 2] = (k - m | 0) - i;
+                              m = q[A >> 2];
+                              q[m + 20 >> 2] = 0;
+                              j = q[v >> 2] - m >> 3;
+                              if (j >>> 0 > 3) {
+                               break xb;
+                              }
+                             }
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break pb;
+                             }
+                             q[i >> 2] = 130;
+                             break pb;
+                            }
+                            i = q[m + 28 >> 2] + -1 | 0;
+                            Cb : {
+                             if (i >>> 0 <= 1) {
+                              u = q[m + 24 >> 2] << 16;
+                              if (!(i - 1)) {
+                               break Cb;
+                              }
+                              i = q[m + 24 >> 2];
+                              u = ((i >> 31) + i | 0) - -8192 >> 14;
+                              break Cb;
+                             }
+                             u = q[m + 24 >> 2];
+                            }
+                            i = u;
+                            if (j >>> 0 <= 3) {
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break pb;
+                             }
+                             q[i >> 2] = 130;
+                             break pb;
+                            }
+                            q[m + 32 >> 2] = (F - k | 0) - i;
+                            q[q[A >> 2] + 36 >> 2] = 0;
+                           }
+                           KK(a, g, (b | 0) == 1 ? l + 15768 | 0 : l + 15800 | 0, h, l + 15839 | 0, q[q[z + 32 >> 2] + (((b | 0) != 1) << 2) >> 2]);
+                           i = f;
+                           if (r[z + 548 | 0]) {
+                            break k;
+                           }
+                           break h;
+                          case 0:
+                           b = q[v >> 2];
+                           i = q[A >> 2];
+                           Db : {
+                            if ((b | 0) == (i | 0)) {
+                             j = 0;
+                             k = q[x >> 2];
+                             if (!k | q[k >> 2]) {
+                              break Db;
+                             }
+                             q[k >> 2] = 161;
+                             break Db;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            j = q[b + 4 >> 2] + -1 | 0;
+                            if (j >>> 0 <= 1) {
+                             if (!(j - 1)) {
+                              j = q[b >> 2] << 16;
+                              break Db;
+                             }
+                             j = q[b >> 2];
+                             j = ((j >> 31) + j | 0) - -8192 >> 14;
+                             break Db;
+                            }
+                            j = q[b >> 2];
+                           }
+                           Eb : {
+                            if ((b | 0) == (i | 0)) {
+                             k = 0;
+                             b = q[x >> 2];
+                             if (!b) {
+                              b = i;
+                              break Eb;
+                             }
+                             if (q[b >> 2]) {
+                              b = i;
+                              break Eb;
+                             }
+                             q[b >> 2] = 161;
+                             b = i;
+                             break Eb;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            k = q[b + 4 >> 2] + -1 | 0;
+                            if (k >>> 0 <= 1) {
+                             if (!(k - 1)) {
+                              k = q[b >> 2] << 16;
+                              break Eb;
+                             }
+                             k = q[b >> 2];
+                             k = ((k >> 31) + k | 0) - -8192 >> 14;
+                             break Eb;
+                            }
+                            k = q[b >> 2];
+                           }
+                           if ((i + (q[I >> 2] << 3) | 0) == (b | 0)) {
+                            i = f;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 130;
+                            continue;
+                           }
+                           q[b >> 2] = (j | 0) != 0 & (k | 0) != 0;
+                           b = q[v >> 2];
+                           q[b + 4 >> 2] = 2;
+                           q[v >> 2] = b + 8;
+                           i = f;
+                           continue;
+                          case 1:
+                           b = q[v >> 2];
+                           i = q[A >> 2];
+                           Fb : {
+                            if ((b | 0) == (i | 0)) {
+                             j = 0;
+                             k = q[x >> 2];
+                             if (!k | q[k >> 2]) {
+                              break Fb;
+                             }
+                             q[k >> 2] = 161;
+                             break Fb;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            j = q[b + 4 >> 2] + -1 | 0;
+                            if (j >>> 0 <= 1) {
+                             if (!(j - 1)) {
+                              j = q[b >> 2] << 16;
+                              break Fb;
+                             }
+                             j = q[b >> 2];
+                             j = ((j >> 31) + j | 0) - -8192 >> 14;
+                             break Fb;
+                            }
+                            j = q[b >> 2];
+                           }
+                           Gb : {
+                            if ((b | 0) == (i | 0)) {
+                             k = 0;
+                             b = q[x >> 2];
+                             if (!b) {
+                              b = i;
+                              break Gb;
+                             }
+                             if (q[b >> 2]) {
+                              b = i;
+                              break Gb;
+                             }
+                             q[b >> 2] = 161;
+                             b = i;
+                             break Gb;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            k = q[b + 4 >> 2] + -1 | 0;
+                            if (k >>> 0 <= 1) {
+                             if (!(k - 1)) {
+                              k = q[b >> 2] << 16;
+                              break Gb;
+                             }
+                             k = q[b >> 2];
+                             k = ((k >> 31) + k | 0) - -8192 >> 14;
+                             break Gb;
+                            }
+                            k = q[b >> 2];
+                           }
+                           if ((i + (q[I >> 2] << 3) | 0) == (b | 0)) {
+                            i = f;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 130;
+                            continue;
+                           }
+                           q[b >> 2] = (j | k) != 0;
+                           b = q[v >> 2];
+                           q[b + 4 >> 2] = 2;
+                           q[v >> 2] = b + 8;
+                           i = f;
+                           continue;
+                          case 2:
+                           b = q[v >> 2];
+                           k = q[A >> 2];
+                           Hb : {
+                            if ((b | 0) == (k | 0)) {
+                             j = 0;
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break Hb;
+                             }
+                             q[i >> 2] = 161;
+                             break Hb;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            i = q[b + 4 >> 2] + -1 | 0;
+                            if (i >>> 0 <= 1) {
+                             if (!(i - 1)) {
+                              j = q[b >> 2] << 16;
+                              break Hb;
+                             }
+                             i = q[b >> 2];
+                             j = ((i >> 31) + i | 0) - -8192 >> 14;
+                             break Hb;
+                            }
+                            j = q[b >> 2];
+                           }
+                           if ((k + (q[I >> 2] << 3) | 0) == (b | 0)) {
+                            i = f;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 130;
+                            continue;
+                           }
+                           q[b >> 2] = !j;
+                           b = q[v >> 2];
+                           q[b + 4 >> 2] = 2;
+                           q[v >> 2] = b + 8;
+                           i = f;
+                           continue;
+                          case 3:
+                           if (!y) {
+                            break h;
+                           }
+                           h = q[z + 4 >> 2];
+                           b = q[v >> 2];
+                           m = q[A >> 2];
+                           Ib : {
+                            if ((b | 0) == (m | 0)) {
+                             K = 0;
+                             f = q[x >> 2];
+                             if (!f | q[f >> 2]) {
+                              break Ib;
+                             }
+                             q[f >> 2] = 161;
+                             break Ib;
+                            }
+                            if (q[b + -4 >> 2] != 2) {
+                             K = 0;
+                             f = q[x >> 2];
+                             if (!f | q[f >> 2]) {
+                              break Ib;
+                             }
+                             q[f >> 2] = 160;
+                             break Ib;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            K = q[b >> 2];
+                           }
+                           Jb : {
+                            Kb : {
+                             Lb : {
+                              Mb : {
+                               Nb : {
+                                Ob : {
+                                 if ((b | 0) == (m | 0)) {
+                                  i = 0;
+                                  b = q[x >> 2];
+                                  if (!b) {
+                                   j = 0;
+                                   break eb;
+                                  }
+                                  j = 0;
+                                  k = 0;
+                                  v = 0;
+                                  if (q[b >> 2]) {
+                                   break db;
+                                  }
+                                  q[b >> 2] = 161;
+                                  break Ob;
+                                 }
+                                 Pb : {
+                                  if (q[b + -4 >> 2] != 2) {
+                                   j = 0;
+                                   f = q[x >> 2];
+                                   if (!f | q[f >> 2]) {
+                                    break Pb;
+                                   }
+                                   q[f >> 2] = 160;
+                                   break Pb;
+                                  }
+                                  b = b + -8 | 0;
+                                  q[v >> 2] = b;
+                                  j = q[b >> 2];
+                                 }
+                                 if ((b | 0) != (m | 0)) {
+                                  break Nb;
+                                 }
+                                }
+                                i = 0;
+                                b = q[x >> 2];
+                                if (!b | q[b >> 2]) {
+                                 break eb;
+                                }
+                                q[b >> 2] = 161;
+                                k = 0;
+                                break Mb;
+                               }
+                               i = b + -8 | 0;
+                               q[v >> 2] = i;
+                               f = q[i + 4 >> 2] + -1 | 0;
+                               Qb : {
+                                if (f >>> 0 <= 1) {
+                                 k = q[i >> 2] << 16;
+                                 if (!(f - 1)) {
+                                  break Qb;
+                                 }
+                                 f = q[i >> 2];
+                                 k = ((f >> 31) + f | 0) - -8192 >> 14;
+                                 break Qb;
+                                }
+                                k = q[i >> 2];
+                               }
+                               if ((i | 0) != (m | 0)) {
+                                break Lb;
+                               }
+                              }
+                              i = 0;
+                              b = q[x >> 2];
+                              if (!b) {
+                               v = 0;
+                               break db;
+                              }
+                              if (q[b >> 2]) {
+                               v = 0;
+                               break db;
+                              }
+                              q[b >> 2] = 161;
+                              break Kb;
+                             }
+                             u = b + -16 | 0;
+                             q[v >> 2] = u;
+                             f = q[u + 4 >> 2] + -1 | 0;
+                             Rb : {
+                              if (f >>> 0 <= 1) {
+                               i = q[u >> 2] << 16;
+                               if (!(f - 1)) {
+                                break Rb;
+                               }
+                               f = q[u >> 2];
+                               i = ((f >> 31) + f | 0) - -8192 >> 14;
+                               break Rb;
+                              }
+                              i = q[u >> 2];
+                             }
+                             if ((m | 0) != (u | 0)) {
+                              break Jb;
+                             }
+                            }
+                            v = 0;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             break db;
+                            }
+                            q[b >> 2] = 161;
+                            break db;
+                           }
+                           f = b + -24 | 0;
+                           q[v >> 2] = f;
+                           b = q[f + 4 >> 2] + -1 | 0;
+                           if (b >>> 0 <= 1) {
+                            if (!(b - 1)) {
+                             v = q[f >> 2] << 16;
+                             break db;
+                            }
+                            b = q[f >> 2];
+                            v = ((b >> 31) + b | 0) - -8192 >> 14;
+                            break db;
+                           }
+                           v = q[f >> 2];
+                           break db;
+                          case 4:
+                           if (!y) {
+                            break i;
+                           }
+                           b = q[v >> 2];
+                           k = q[A >> 2];
+                           Sb : {
+                            if ((b | 0) == (k | 0)) {
+                             j = 0;
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break Sb;
+                             }
+                             q[i >> 2] = 161;
+                             break Sb;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            i = q[b + 4 >> 2] + -1 | 0;
+                            if (i >>> 0 <= 1) {
+                             if (!(i - 1)) {
+                              j = q[b >> 2] << 16;
+                              break Sb;
+                             }
+                             i = q[b >> 2];
+                             j = ((i >> 31) + i | 0) - -8192 >> 14;
+                             break Sb;
+                            }
+                            j = q[b >> 2];
+                           }
+                           i = q[z + 36 >> 2];
+                           q[i + 4 >> 2] = j;
+                           Tb : {
+                            Ub : {
+                             Vb : {
+                              Wb : {
+                               Xb : {
+                                if ((b | 0) == (k | 0)) {
+                                 b = q[x >> 2];
+                                 if (!(!b | q[b >> 2])) {
+                                  q[b >> 2] = 161;
+                                 }
+                                 q[i >> 2] = 0;
+                                 break Xb;
+                                }
+                                m = b + -8 | 0;
+                                q[v >> 2] = m;
+                                Yb : {
+                                 Zb : {
+                                  j = q[m + 4 >> 2] + -1 | 0;
+                                  if (j >>> 0 <= 1) {
+                                   if (!(j - 1)) {
+                                    break Zb;
+                                   }
+                                   j = q[m >> 2];
+                                   j = ((j >> 31) + j | 0) - -8192 >> 14;
+                                   break Yb;
+                                  }
+                                  j = q[m >> 2];
+                                  break Yb;
+                                 }
+                                 j = q[m >> 2] << 16;
+                                }
+                                q[i >> 2] = j;
+                                if ((k | 0) != (m | 0)) {
+                                 break Wb;
+                                }
+                               }
+                               j = 0;
+                               b = q[x >> 2];
+                               if (!b) {
+                                i = 0;
+                                break Tb;
+                               }
+                               i = 0;
+                               if (q[b >> 2]) {
+                                break Tb;
+                               }
+                               q[b >> 2] = 161;
+                               break Vb;
+                              }
+                              m = b + -16 | 0;
+                              q[v >> 2] = m;
+                              i = q[m + 4 >> 2] + -1 | 0;
+                              _b : {
+                               if (i >>> 0 <= 1) {
+                                j = q[m >> 2] << 16;
+                                if (!(i - 1)) {
+                                 break _b;
+                                }
+                                i = q[m >> 2];
+                                j = ((i >> 31) + i | 0) - -8192 >> 14;
+                                break _b;
+                               }
+                               j = q[m >> 2];
+                              }
+                              if ((k | 0) != (m | 0)) {
+                               break Ub;
+                              }
+                             }
+                             i = 0;
+                             b = q[x >> 2];
+                             if (!b | q[b >> 2]) {
+                              break Tb;
+                             }
+                             q[b >> 2] = 161;
+                             break Tb;
+                            }
+                            i = b + -24 | 0;
+                            q[v >> 2] = i;
+                            b = q[i + 4 >> 2] + -1 | 0;
+                            if (b >>> 0 <= 1) {
+                             if (!(b - 1)) {
+                              i = q[i >> 2] << 16;
+                              break Tb;
+                             }
+                             b = q[i >> 2];
+                             i = ((b >> 31) + b | 0) - -8192 >> 14;
+                             break Tb;
+                            }
+                            i = q[i >> 2];
+                           }
+                           b = q[z + 32 >> 2];
+                           q[b >> 2] = q[b >> 2] + i;
+                           q[b + 4 >> 2] = q[b + 4 >> 2] + j;
+                           o[l + 15839 | 0] = 1;
+                           if (r[z + 47 | 0]) {
+                            break k;
+                           }
+                           if (!(f & 255)) {
+                            i = 0;
+                            break h;
+                           }
+                           q[l + 16024 >> 2] = q[l + 16024 >> 2] + i;
+                           q[l + 16020 >> 2] = q[l + 16020 >> 2] + j;
+                           break i;
+                          case 6:
+                           b = q[v >> 2];
+                           k = q[A >> 2];
+                           $b : {
+                            if ((b | 0) == (k | 0)) {
+                             j = 0;
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break $b;
+                             }
+                             q[i >> 2] = 161;
+                             break $b;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            ac : {
+                             bc : {
+                              i = q[b + 4 >> 2] + -1 | 0;
+                              cc : {
+                               if (i >>> 0 <= 1) {
+                                if (i - 1) {
+                                 break bc;
+                                }
+                                j = q[b >> 2] << 16;
+                                break cc;
+                               }
+                               j = q[b >> 2];
+                              }
+                              if ((j | 0) != -2147483648) {
+                               break ac;
+                              }
+                              if ((k + (q[I >> 2] << 3) | 0) == (b | 0)) {
+                               i = f;
+                               b = q[x >> 2];
+                               if (!b | q[b >> 2]) {
+                                continue;
+                               }
+                               q[b >> 2] = 130;
+                               continue;
+                              }
+                              q[b >> 2] = 2147483647;
+                              b = q[v >> 2];
+                              q[b + 4 >> 2] = 0;
+                              q[v >> 2] = b + 8;
+                              i = f;
+                              continue;
+                             }
+                             i = q[b >> 2];
+                             j = ((i >> 31) + i | 0) - -8192 >> 14;
+                            }
+                            i = j >> 31;
+                            j = i + j ^ i;
+                           }
+                           if ((k + (q[I >> 2] << 3) | 0) == (b | 0)) {
+                            i = f;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 130;
+                            continue;
+                           }
+                           q[b >> 2] = j;
+                           b = q[v >> 2];
+                           q[b + 4 >> 2] = 0;
+                           q[v >> 2] = b + 8;
+                           i = f;
+                           continue;
+                          case 7:
+                           b = q[v >> 2];
+                           i = q[A >> 2];
+                           dc : {
+                            if ((b | 0) == (i | 0)) {
+                             j = 0;
+                             k = q[x >> 2];
+                             if (!k | q[k >> 2]) {
+                              break dc;
+                             }
+                             q[k >> 2] = 161;
+                             break dc;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            j = q[b + 4 >> 2] + -1 | 0;
+                            if (j >>> 0 <= 1) {
+                             if (!(j - 1)) {
+                              j = q[b >> 2] << 16;
+                              break dc;
+                             }
+                             j = q[b >> 2];
+                             j = ((j >> 31) + j | 0) - -8192 >> 14;
+                             break dc;
+                            }
+                            j = q[b >> 2];
+                           }
+                           ec : {
+                            if ((b | 0) == (i | 0)) {
+                             k = 0;
+                             b = q[x >> 2];
+                             if (!b) {
+                              b = i;
+                              break ec;
+                             }
+                             if (q[b >> 2]) {
+                              b = i;
+                              break ec;
+                             }
+                             q[b >> 2] = 161;
+                             b = i;
+                             break ec;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            k = q[b + 4 >> 2] + -1 | 0;
+                            if (k >>> 0 <= 1) {
+                             if (!(k - 1)) {
+                              k = q[b >> 2] << 16;
+                              break ec;
+                             }
+                             k = q[b >> 2];
+                             k = ((k >> 31) + k | 0) - -8192 >> 14;
+                             break ec;
+                            }
+                            k = q[b >> 2];
+                           }
+                           if ((i + (q[I >> 2] << 3) | 0) == (b | 0)) {
+                            i = f;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 130;
+                            continue;
+                           }
+                           q[b >> 2] = j + k;
+                           b = q[v >> 2];
+                           q[b + 4 >> 2] = 0;
+                           q[v >> 2] = b + 8;
+                           i = f;
+                           continue;
+                          case 8:
+                           b = q[v >> 2];
+                           i = q[A >> 2];
+                           fc : {
+                            if ((b | 0) == (i | 0)) {
+                             j = 0;
+                             k = q[x >> 2];
+                             if (!k | q[k >> 2]) {
+                              break fc;
+                             }
+                             q[k >> 2] = 161;
+                             break fc;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            j = q[b + 4 >> 2] + -1 | 0;
+                            if (j >>> 0 <= 1) {
+                             if (!(j - 1)) {
+                              j = q[b >> 2] << 16;
+                              break fc;
+                             }
+                             j = q[b >> 2];
+                             j = ((j >> 31) + j | 0) - -8192 >> 14;
+                             break fc;
+                            }
+                            j = q[b >> 2];
+                           }
+                           gc : {
+                            if ((b | 0) == (i | 0)) {
+                             k = 0;
+                             b = q[x >> 2];
+                             if (!b) {
+                              b = i;
+                              break gc;
+                             }
+                             if (q[b >> 2]) {
+                              b = i;
+                              break gc;
+                             }
+                             q[b >> 2] = 161;
+                             b = i;
+                             break gc;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            k = q[b + 4 >> 2] + -1 | 0;
+                            if (k >>> 0 <= 1) {
+                             if (!(k - 1)) {
+                              k = q[b >> 2] << 16;
+                              break gc;
+                             }
+                             k = q[b >> 2];
+                             k = ((k >> 31) + k | 0) - -8192 >> 14;
+                             break gc;
+                            }
+                            k = q[b >> 2];
+                           }
+                           if ((i + (q[I >> 2] << 3) | 0) == (b | 0)) {
+                            i = f;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 130;
+                            continue;
+                           }
+                           q[b >> 2] = k - j;
+                           b = q[v >> 2];
+                           q[b + 4 >> 2] = 0;
+                           q[v >> 2] = b + 8;
+                           i = f;
+                           continue;
+                          case 9:
+                           k = q[A >> 2];
+                           b = q[v >> 2];
+                           if (!(!y | !(Q & 255))) {
+                            hc : {
+                             if ((b | 0) == (k | 0)) {
+                              j = 0;
+                              i = q[x >> 2];
+                              if (!i | q[i >> 2]) {
+                               break hc;
+                              }
+                              q[i >> 2] = 161;
+                              break hc;
+                             }
+                             if (q[b + -4 >> 2] != 2) {
+                              j = 0;
+                              i = q[x >> 2];
+                              if (!i | q[i >> 2]) {
+                               break hc;
+                              }
+                              q[i >> 2] = 160;
+                              break hc;
+                             }
+                             b = b + -8 | 0;
+                             q[v >> 2] = b;
+                             j = q[b >> 2];
+                            }
+                            if ((b | 0) == (k | 0)) {
+                             i = q[x >> 2];
+                             if (!i) {
+                              break gb;
+                             }
+                             b = 0;
+                             if (q[i >> 2]) {
+                              Q = 0;
+                              break fb;
+                             }
+                             q[i >> 2] = 161;
+                             break gb;
+                            }
+                            if (q[b + -4 >> 2] != 2) {
+                             i = q[x >> 2];
+                             if (!i) {
+                              break gb;
+                             }
+                             b = 0;
+                             if (q[i >> 2]) {
+                              Q = 0;
+                              break fb;
+                             }
+                             q[i >> 2] = 160;
+                             break gb;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            b = q[b >> 2];
+                            Q = 0;
+                            break fb;
+                           }
+                           ic : {
+                            if ((b | 0) == (k | 0)) {
+                             j = 0;
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break ic;
+                             }
+                             q[i >> 2] = 161;
+                             break ic;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            i = q[b + 4 >> 2] + -1 | 0;
+                            if (i >>> 0 <= 1) {
+                             if (!(i - 1)) {
+                              j = q[b >> 2] << 16;
+                              break ic;
+                             }
+                             i = q[b >> 2];
+                             j = ((i >> 31) + i | 0) - -8192 >> 14;
+                             break ic;
+                            }
+                            j = q[b >> 2];
+                           }
+                           if ((b | 0) == (k | 0)) {
+                            b = 0;
+                            i = q[x >> 2];
+                            if (!i | q[i >> 2]) {
+                             break fb;
+                            }
+                            q[i >> 2] = 161;
+                            break fb;
+                           }
+                           i = b + -8 | 0;
+                           q[v >> 2] = i;
+                           b = q[i + 4 >> 2] + -1 | 0;
+                           if (b >>> 0 <= 1) {
+                            if (!(b - 1)) {
+                             b = q[i >> 2] << 16;
+                             break fb;
+                            }
+                            b = q[i >> 2];
+                            b = ((b >> 31) + b | 0) - -8192 >> 14;
+                            break fb;
+                           }
+                           b = q[i >> 2];
+                           break fb;
+                          case 11:
+                           b = q[v >> 2];
+                           k = q[A >> 2];
+                           jc : {
+                            if ((b | 0) == (k | 0)) {
+                             j = 0;
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break jc;
+                             }
+                             q[i >> 2] = 161;
+                             break jc;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            kc : {
+                             i = q[b + 4 >> 2] + -1 | 0;
+                             lc : {
+                              if (i >>> 0 <= 1) {
+                               if (i - 1) {
+                                break kc;
+                               }
+                               j = q[b >> 2] << 16;
+                               break lc;
+                              }
+                              j = q[b >> 2];
+                             }
+                             if ((j | 0) != -2147483648) {
+                              break jc;
+                             }
+                             if ((k + (q[I >> 2] << 3) | 0) == (b | 0)) {
+                              i = f;
+                              b = q[x >> 2];
+                              if (!b | q[b >> 2]) {
+                               continue;
+                              }
+                              q[b >> 2] = 130;
+                              continue;
+                             }
+                             q[b >> 2] = 2147483647;
+                             b = q[v >> 2];
+                             q[b + 4 >> 2] = 0;
+                             q[v >> 2] = b + 8;
+                             i = f;
+                             continue;
+                            }
+                            i = q[b >> 2];
+                            j = ((i >> 31) + i | 0) - -8192 >> 14;
+                           }
+                           if ((k + (q[I >> 2] << 3) | 0) == (b | 0)) {
+                            i = f;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 130;
+                            continue;
+                           }
+                           q[b >> 2] = 0 - j;
+                           b = q[v >> 2];
+                           q[b + 4 >> 2] = 0;
+                           q[v >> 2] = b + 8;
+                           i = f;
+                           continue;
+                          case 12:
+                           b = q[v >> 2];
+                           i = q[A >> 2];
+                           mc : {
+                            if ((b | 0) == (i | 0)) {
+                             j = 0;
+                             k = q[x >> 2];
+                             if (!k | q[k >> 2]) {
+                              break mc;
+                             }
+                             q[k >> 2] = 161;
+                             break mc;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            j = q[b + 4 >> 2] + -1 | 0;
+                            if (j >>> 0 <= 1) {
+                             if (!(j - 1)) {
+                              j = q[b >> 2] << 16;
+                              break mc;
+                             }
+                             j = q[b >> 2];
+                             j = ((j >> 31) + j | 0) - -8192 >> 14;
+                             break mc;
+                            }
+                            j = q[b >> 2];
+                           }
+                           nc : {
+                            if ((b | 0) == (i | 0)) {
+                             k = 0;
+                             b = q[x >> 2];
+                             if (!b) {
+                              b = i;
+                              break nc;
+                             }
+                             if (q[b >> 2]) {
+                              b = i;
+                              break nc;
+                             }
+                             q[b >> 2] = 161;
+                             b = i;
+                             break nc;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            k = q[b + 4 >> 2] + -1 | 0;
+                            if (k >>> 0 <= 1) {
+                             if (!(k - 1)) {
+                              k = q[b >> 2] << 16;
+                              break nc;
+                             }
+                             k = q[b >> 2];
+                             k = ((k >> 31) + k | 0) - -8192 >> 14;
+                             break nc;
+                            }
+                            k = q[b >> 2];
+                           }
+                           if ((i + (q[I >> 2] << 3) | 0) == (b | 0)) {
+                            i = f;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 130;
+                            continue;
+                           }
+                           q[b >> 2] = (j | 0) == (k | 0);
+                           b = q[v >> 2];
+                           q[b + 4 >> 2] = 2;
+                           q[v >> 2] = b + 8;
+                           i = f;
+                           continue;
+                          case 13:
+                           if (!y) {
+                            continue;
+                           }
+                           j = q[A >> 2];
+                           k = q[v >> 2];
+                           oc : {
+                            if ((j | 0) == (k | 0)) {
+                             H = 0;
+                             b = q[x >> 2];
+                             if (!b | q[b >> 2]) {
+                              break oc;
+                             }
+                             q[b >> 2] = 161;
+                             break oc;
+                            }
+                            if (q[k + -4 >> 2] != 2) {
+                             H = 0;
+                             b = q[x >> 2];
+                             if (!b | q[b >> 2]) {
+                              break oc;
+                             }
+                             q[b >> 2] = 160;
+                             break oc;
+                            }
+                            k = k + -8 | 0;
+                            q[v >> 2] = k;
+                            H = q[k >> 2];
+                           }
+                           pc : {
+                            if ((j | 0) == (k | 0)) {
+                             D = 0;
+                             i = q[x >> 2];
+                             b = j;
+                             if (!i) {
+                              break pc;
+                             }
+                             b = j;
+                             if (q[i >> 2]) {
+                              break pc;
+                             }
+                             q[i >> 2] = 161;
+                             b = j;
+                             break pc;
+                            }
+                            qc : {
+                             if (q[k + -4 >> 2] != 2) {
+                              D = 0;
+                              b = q[x >> 2];
+                              if (!b | q[b >> 2]) {
+                               break qc;
+                              }
+                              q[b >> 2] = 160;
+                              break qc;
+                             }
+                             k = k + -8 | 0;
+                             q[v >> 2] = k;
+                             D = q[k >> 2];
+                            }
+                            b = k;
+                           }
+                           rc : {
+                            if (H >>> 0 > 28) {
+                             break rc;
+                            }
+                            sc : {
+                             switch (H - 1 | 0) {
+                             default:
+                              m = 18;
+                              i = 0;
+                              if ((D | 0) != 3 | (!q[z + 468 >> 2] | q[z + 472 >> 2] != 7 ? f & 255 : 0)) {
+                               break b;
+                              }
+                              tc : {
+                               if (((q[I >> 2] << 3) + j | 0) == (b | 0)) {
+                                i = q[x >> 2];
+                                if (!i | q[i >> 2]) {
+                                 break tc;
+                                }
+                                q[i >> 2] = 130;
+                                break tc;
+                               }
+                               q[b >> 2] = q[l + 16024 >> 2];
+                               b = q[v >> 2];
+                               q[b + 4 >> 2] = 0;
+                               b = b + 8 | 0;
+                               q[v >> 2] = b;
+                               j = q[A >> 2];
+                              }
+                              if (((q[I >> 2] << 3) + j | 0) == (b | 0)) {
+                               M = 2;
+                               D = 0;
+                               i = f;
+                               b = q[x >> 2];
+                               if (!b | q[b >> 2]) {
+                                continue;
+                               }
+                               q[b >> 2] = 130;
+                               continue;
+                              }
+                              q[b >> 2] = q[l + 16020 >> 2];
+                              D = 0;
+                              b = q[v >> 2];
+                              q[b + 4 >> 2] = 0;
+                              q[v >> 2] = b + 8;
+                              M = 2;
+                              i = f;
+                              continue;
+                             case 0:
+                              if (D) {
+                               break g;
+                              }
+                              D = 0;
+                              i = 0;
+                              M = 0;
+                              if (!(f & 255)) {
+                               continue;
+                              }
+                              uc : {
+                               b = q[z + 12 >> 2];
+                               if ((p[b + 22 >> 1] + p[b + 58 >> 1] | 0) + 6 >>> 0 <= t[b + 4 >> 2]) {
+                                break uc;
+                               }
+                               if (!Ue(b, 6, 0)) {
+                                break uc;
+                               }
+                               m = 0;
+                               break b;
+                              }
+                              q[z + 468 >> 2] = 1;
+                              q[z + 472 >> 2] = 0;
+                              break hb;
+                             case 1:
+                              m = 18;
+                              if (D) {
+                               i = 0;
+                               break b;
+                              }
+                              D = 0;
+                              i = 0;
+                              M = 0;
+                              if (!(f & 255)) {
+                               continue;
+                              }
+                              if (!q[z + 468 >> 2]) {
+                               break b;
+                              }
+                              j = q[z + 472 >> 2];
+                              q[z + 472 >> 2] = j + 1;
+                              i = f;
+                              if (j + -1 >>> 0 > 5) {
+                               continue;
+                              }
+                              b = q[z + 12 >> 2];
+                              if ((p[b + 22 >> 1] + p[b + 58 >> 1] | 0) + 1 >>> 0 > t[b + 4 >> 2]) {
+                               i = 0;
+                               if (Ue(b, 1, 0)) {
+                                break b;
+                               }
+                              }
+                              b = j << 1;
+                              b = (l + 15840 | 0) + (((j | 0) > 3 ? b + -6 | 0 : b) << 2) | 0;
+                              q[b + -8 >> 2] = q[l + 16024 >> 2];
+                              q[b + -4 >> 2] = q[l + 16020 >> 2];
+                              i = f;
+                              b = j + -3 | 0;
+                              if (b >>> 0 > 3) {
+                               continue;
+                              }
+                              vc : {
+                               switch (b - 1 | 0) {
+                               case 0:
+                               case 1:
+                                continue;
+                               default:
+                                break vc;
+                               }
+                              }
+                              OK(l + 3952 | 0, q[l + 15840 >> 2], q[l + 15844 >> 2], q[l + 15848 >> 2], q[l + 15852 >> 2], q[l + 15856 >> 2], q[l + 15860 >> 2]);
+                              continue c;
+                             case 2:
+                              M = 1;
+                              if ((D | 0) != 1) {
+                               break g;
+                              }
+                              D = 0;
+                              i = 0;
+                              if (!(f & 255)) {
+                               continue;
+                              }
+                              q[l + 15820 >> 2] = 0;
+                              q[l + 15788 >> 2] = 0;
+                              b = K;
+                              q[b + 16 >> 2] = 0;
+                              q[b + 20 >> 2] = 0;
+                              q[b + 8 >> 2] = 0;
+                              q[b + 12 >> 2] = 0;
+                              q[b >> 2] = 0;
+                              q[b + 4 >> 2] = 0;
+                              p[l + 15740 >> 1] = 256;
+                              q[l + 15736 >> 2] = N;
+                              i = f;
+                              continue;
+                             case 11:
+                             case 12:
+                              q[v >> 2] = j;
+                              break hb;
+                             case 13:
+                             case 14:
+                             case 15:
+                             case 16:
+                             case 17:
+                              i = 0;
+                              m = 18;
+                              y = q[z + 644 >> 2];
+                              if (!y) {
+                               break b;
+                              }
+                              M = (((H | 0) == 18) + H | 0) + -13 | 0;
+                              if ((w(M, q[y >> 2]) | 0) != (D | 0)) {
+                               break b;
+                              }
+                              H = (k - j >> 3) - D | 0;
+                              b = M + H | 0;
+                              u = 0;
+                              while (1) {
+                               wc : {
+                                if (k - j >> 3 >>> 0 <= H >>> 0) {
+                                 m = 0;
+                                 i = q[x >> 2];
+                                 if (!i | q[i >> 2]) {
+                                  break wc;
+                                 }
+                                 q[i >> 2] = 130;
+                                 break wc;
+                                }
+                                m = (H << 3) + j | 0;
+                                i = q[m + 4 >> 2] + -1 | 0;
+                                if (i >>> 0 <= 1) {
+                                 if (!(i - 1)) {
+                                  m = q[m >> 2] << 16;
+                                  break wc;
+                                 }
+                                 i = q[m >> 2];
+                                 m = ((i >> 31) + i | 0) - -8192 >> 14;
+                                 break wc;
+                                }
+                                m = q[m >> 2];
+                               }
+                               i = 1;
+                               if (t[y >> 2] >= 2) {
+                                while (1) {
+                                 xc : {
+                                  if (k - j >> 3 >>> 0 <= b >>> 0) {
+                                   j = 0;
+                                   k = q[x >> 2];
+                                   if (!k | q[k >> 2]) {
+                                    break xc;
+                                   }
+                                   q[k >> 2] = 130;
+                                   break xc;
+                                  }
+                                  k = (b << 3) + j | 0;
+                                  j = q[k + 4 >> 2] + -1 | 0;
+                                  if (j >>> 0 <= 1) {
+                                   if (!(j - 1)) {
+                                    j = q[k >> 2] << 16;
+                                    break xc;
+                                   }
+                                   j = q[k >> 2];
+                                   j = ((j >> 31) + j | 0) - -8192 >> 14;
+                                   break xc;
+                                  }
+                                  j = q[k >> 2];
+                                 }
+                                 b = b + 1 | 0;
+                                 m = Ee(j, q[q[y + 136 >> 2] + (i << 2) >> 2]) + m | 0;
+                                 j = q[A >> 2];
+                                 k = q[v >> 2];
+                                 i = i + 1 | 0;
+                                 if (i >>> 0 < t[y >> 2]) {
+                                  continue;
+                                 }
+                                 break;
+                                }
+                               }
+                               yc : {
+                                if (k - j >> 3 >>> 0 < H >>> 0) {
+                                 i = q[x >> 2];
+                                 if (!i | q[i >> 2]) {
+                                  break yc;
+                                 }
+                                 q[i >> 2] = 130;
+                                 break yc;
+                                }
+                                i = H << 3;
+                                q[i + j >> 2] = m;
+                                j = q[A >> 2];
+                                q[(i + j | 0) + 4 >> 2] = 0;
+                               }
+                               H = H + 1 | 0;
+                               k = q[v >> 2];
+                               u = u + 1 | 0;
+                               if ((M | 0) != (u | 0)) {
+                                continue;
+                               }
+                               break;
+                              }
+                              b = D - M | 0;
+                              if (k - j >> 3 >>> 0 < b >>> 0) {
+                               D = 0;
+                               i = f;
+                               b = q[x >> 2];
+                               if (!b | q[b >> 2]) {
+                                continue;
+                               }
+                               q[b >> 2] = 161;
+                               continue;
+                              }
+                              q[v >> 2] = k - (b << 3);
+                              D = 0;
+                              i = f;
+                              continue;
+                             case 18:
+                              m = 18;
+                              i = 0;
+                              if ((D | 0) != 1) {
+                               break b;
+                              }
+                              k = q[z + 644 >> 2];
+                              if (!k) {
+                               break b;
+                              }
+                              zc : {
+                               if ((b | 0) == (j | 0)) {
+                                b = 0;
+                                i = q[x >> 2];
+                                if (!i | q[i >> 2]) {
+                                 break zc;
+                                }
+                                q[i >> 2] = 161;
+                                break zc;
+                               }
+                               if (q[b + -4 >> 2] != 2) {
+                                b = 0;
+                                i = q[x >> 2];
+                                if (!i | q[i >> 2]) {
+                                 break zc;
+                                }
+                                q[i >> 2] = 160;
+                                break zc;
+                               }
+                               b = b + -8 | 0;
+                               q[g + 12 >> 2] = b;
+                               b = q[b >> 2];
+                               if ((b | 0) < 0) {
+                                break b;
+                               }
+                              }
+                              i = q[k >> 2];
+                              if (i + b >>> 0 > t[z + 652 >> 2]) {
+                               i = 0;
+                               break b;
+                              }
+                              Y$(q[z + 648 >> 2] + (b << 2) | 0, q[k + 136 >> 2], i << 2);
+                              break hb;
+                             case 19:
+                              if ((D | 0) != 2) {
+                               break g;
+                              }
+                              Ac : {
+                               Bc : {
+                                Cc : {
+                                 if ((b | 0) == (j | 0)) {
+                                  k = 0;
+                                  m = q[x >> 2];
+                                  if (!m) {
+                                   b = j;
+                                   i = 0;
+                                   break Ac;
+                                  }
+                                  b = j;
+                                  i = 0;
+                                  if (q[m >> 2]) {
+                                   break Ac;
+                                  }
+                                  q[m >> 2] = 161;
+                                  break Cc;
+                                 }
+                                 m = b + -8 | 0;
+                                 q[v >> 2] = m;
+                                 i = q[m + 4 >> 2] + -1 | 0;
+                                 Dc : {
+                                  if (i >>> 0 <= 1) {
+                                   k = q[m >> 2] << 16;
+                                   if (!(i - 1)) {
+                                    break Dc;
+                                   }
+                                   i = q[m >> 2];
+                                   k = ((i >> 31) + i | 0) - -8192 >> 14;
+                                   break Dc;
+                                  }
+                                  k = q[m >> 2];
+                                 }
+                                 if ((j | 0) != (m | 0)) {
+                                  break Bc;
+                                 }
+                                }
+                                i = 0;
+                                b = q[x >> 2];
+                                if (!b) {
+                                 b = j;
+                                 break Ac;
+                                }
+                                if (q[b >> 2]) {
+                                 b = j;
+                                 break Ac;
+                                }
+                                q[b >> 2] = 161;
+                                b = j;
+                                break Ac;
+                               }
+                               b = b + -16 | 0;
+                               q[v >> 2] = b;
+                               i = q[b + 4 >> 2] + -1 | 0;
+                               if (i >>> 0 <= 1) {
+                                if (!(i - 1)) {
+                                 i = q[b >> 2] << 16;
+                                 break Ac;
+                                }
+                                i = q[b >> 2];
+                                i = ((i >> 31) + i | 0) - -8192 >> 14;
+                                break Ac;
+                               }
+                               i = q[b >> 2];
+                              }
+                              if (((q[I >> 2] << 3) + j | 0) == (b | 0)) {
+                               M = 1;
+                               D = 0;
+                               i = f;
+                               b = q[x >> 2];
+                               if (!b | q[b >> 2]) {
+                                continue;
+                               }
+                               q[b >> 2] = 130;
+                               continue;
+                              }
+                              q[b >> 2] = i + k;
+                              break ib;
+                             case 20:
+                              if ((D | 0) != 2) {
+                               break g;
+                              }
+                              Ec : {
+                               Fc : {
+                                Gc : {
+                                 if ((b | 0) == (j | 0)) {
+                                  k = 0;
+                                  m = q[x >> 2];
+                                  if (!m) {
+                                   b = j;
+                                   i = 0;
+                                   break Ec;
+                                  }
+                                  b = j;
+                                  i = 0;
+                                  if (q[m >> 2]) {
+                                   break Ec;
+                                  }
+                                  q[m >> 2] = 161;
+                                  break Gc;
+                                 }
+                                 m = b + -8 | 0;
+                                 q[v >> 2] = m;
+                                 i = q[m + 4 >> 2] + -1 | 0;
+                                 Hc : {
+                                  if (i >>> 0 <= 1) {
+                                   k = q[m >> 2] << 16;
+                                   if (!(i - 1)) {
+                                    break Hc;
+                                   }
+                                   i = q[m >> 2];
+                                   k = ((i >> 31) + i | 0) - -8192 >> 14;
+                                   break Hc;
+                                  }
+                                  k = q[m >> 2];
+                                 }
+                                 if ((j | 0) != (m | 0)) {
+                                  break Fc;
+                                 }
+                                }
+                                i = 0;
+                                b = q[x >> 2];
+                                if (!b) {
+                                 b = j;
+                                 break Ec;
+                                }
+                                if (q[b >> 2]) {
+                                 b = j;
+                                 break Ec;
+                                }
+                                q[b >> 2] = 161;
+                                b = j;
+                                break Ec;
+                               }
+                               b = b + -16 | 0;
+                               q[v >> 2] = b;
+                               i = q[b + 4 >> 2] + -1 | 0;
+                               if (i >>> 0 <= 1) {
+                                if (!(i - 1)) {
+                                 i = q[b >> 2] << 16;
+                                 break Ec;
+                                }
+                                i = q[b >> 2];
+                                i = ((i >> 31) + i | 0) - -8192 >> 14;
+                                break Ec;
+                               }
+                               i = q[b >> 2];
+                              }
+                              if (((q[I >> 2] << 3) + j | 0) == (b | 0)) {
+                               M = 1;
+                               D = 0;
+                               i = f;
+                               b = q[x >> 2];
+                               if (!b | q[b >> 2]) {
+                                continue;
+                               }
+                               q[b >> 2] = 130;
+                               continue;
+                              }
+                              q[b >> 2] = i - k;
+                              break ib;
+                             case 21:
+                              if ((D | 0) != 2) {
+                               break g;
+                              }
+                              Ic : {
+                               Jc : {
+                                Kc : {
+                                 if ((b | 0) == (j | 0)) {
+                                  k = 0;
+                                  i = q[x >> 2];
+                                  if (!i) {
+                                   b = 0;
+                                   break Ic;
+                                  }
+                                  b = 0;
+                                  if (q[i >> 2]) {
+                                   break Ic;
+                                  }
+                                  q[i >> 2] = 161;
+                                  break Kc;
+                                 }
+                                 m = b + -8 | 0;
+                                 q[v >> 2] = m;
+                                 i = q[m + 4 >> 2] + -1 | 0;
+                                 Lc : {
+                                  if (i >>> 0 <= 1) {
+                                   k = q[m >> 2] << 16;
+                                   if (!(i - 1)) {
+                                    break Lc;
+                                   }
+                                   i = q[m >> 2];
+                                   k = ((i >> 31) + i | 0) - -8192 >> 14;
+                                   break Lc;
+                                  }
+                                  k = q[m >> 2];
+                                 }
+                                 if ((j | 0) != (m | 0)) {
+                                  break Jc;
+                                 }
+                                }
+                                b = 0;
+                                i = q[x >> 2];
+                                if (!i | q[i >> 2]) {
+                                 break Ic;
+                                }
+                                q[i >> 2] = 161;
+                                break Ic;
+                               }
+                               i = b + -16 | 0;
+                               q[v >> 2] = i;
+                               b = q[i + 4 >> 2] + -1 | 0;
+                               if (b >>> 0 <= 1) {
+                                if (!(b - 1)) {
+                                 b = q[i >> 2] << 16;
+                                 break Ic;
+                                }
+                                b = q[i >> 2];
+                                b = ((b >> 31) + b | 0) - -8192 >> 14;
+                                break Ic;
+                               }
+                               b = q[i >> 2];
+                              }
+                              i = Ee(b, k);
+                              b = q[v >> 2];
+                              if ((b | 0) == (q[A >> 2] + (q[I >> 2] << 3) | 0)) {
+                               M = 1;
+                               D = 0;
+                               i = f;
+                               b = q[x >> 2];
+                               if (!b | q[b >> 2]) {
+                                continue;
+                               }
+                               q[b >> 2] = 130;
+                               continue;
+                              }
+                              q[b >> 2] = i;
+                              break ib;
+                             case 22:
+                              m = 18;
+                              i = 0;
+                              if ((D | 0) != 2) {
+                               break b;
+                              }
+                              Mc : {
+                               Nc : {
+                                Oc : {
+                                 if ((b | 0) == (j | 0)) {
+                                  b = q[g + 4 >> 2];
+                                  if (!b | q[b >> 2]) {
+                                   break b;
+                                  }
+                                  q[b >> 2] = 161;
+                                  k = 0;
+                                  break Oc;
+                                 }
+                                 u = b + -8 | 0;
+                                 q[v >> 2] = u;
+                                 k = q[u + 4 >> 2] + -1 | 0;
+                                 Pc : {
+                                  if (k >>> 0 <= 1) {
+                                   y = q[u >> 2] << 16;
+                                   if (!(k - 1)) {
+                                    break Pc;
+                                   }
+                                   k = q[u >> 2];
+                                   y = ((k >> 31) + k | 0) - -8192 >> 14;
+                                   break Pc;
+                                  }
+                                  y = q[u >> 2];
+                                 }
+                                 k = y;
+                                 if ((j | 0) != (u | 0)) {
+                                  break Nc;
+                                 }
+                                }
+                                b = 0;
+                                j = q[x >> 2];
+                                if (!j | q[j >> 2]) {
+                                 break Mc;
+                                }
+                                q[j >> 2] = 161;
+                                break Mc;
+                               }
+                               j = b + -16 | 0;
+                               q[v >> 2] = j;
+                               b = q[j + 4 >> 2] + -1 | 0;
+                               if (b >>> 0 <= 1) {
+                                if (!(b - 1)) {
+                                 b = q[j >> 2] << 16;
+                                 break Mc;
+                                }
+                                b = q[j >> 2];
+                                b = ((b >> 31) + b | 0) - -8192 >> 14;
+                                break Mc;
+                               }
+                               b = q[j >> 2];
+                              }
+                              if (!k) {
+                               break b;
+                              }
+                              i = Fe(b, k);
+                              b = q[v >> 2];
+                              if ((b | 0) == (q[A >> 2] + (q[I >> 2] << 3) | 0)) {
+                               M = 1;
+                               D = 0;
+                               i = f;
+                               b = q[x >> 2];
+                               if (!b | q[b >> 2]) {
+                                continue;
+                               }
+                               q[b >> 2] = 130;
+                               continue;
+                              }
+                              q[b >> 2] = i;
+                              break ib;
+                             case 23:
+                              m = 18;
+                              i = 0;
+                              if (!q[z + 644 >> 2] | (D | 0) != 2) {
+                               break b;
+                              }
+                              Qc : {
+                               if ((b | 0) == (j | 0)) {
+                                k = 0;
+                                b = q[x >> 2];
+                                if (!(!b | q[b >> 2])) {
+                                 q[b >> 2] = 161;
+                                }
+                                b = j;
+                                break Qc;
+                               }
+                               if (q[b + -4 >> 2] != 2) {
+                                k = 0;
+                                i = q[x >> 2];
+                                if (!i | q[i >> 2]) {
+                                 break Qc;
+                                }
+                                q[i >> 2] = 160;
+                                break Qc;
+                               }
+                               b = b + -8 | 0;
+                               q[g + 12 >> 2] = b;
+                               k = q[b >> 2];
+                               if ((k | 0) < 0) {
+                                break b;
+                               }
+                              }
+                              if (k >>> 0 >= t[z + 652 >> 2]) {
+                               i = 0;
+                               break b;
+                              }
+                              Rc : {
+                               if ((b | 0) == (j | 0)) {
+                                b = 0;
+                                i = q[x >> 2];
+                                if (!i | q[i >> 2]) {
+                                 break Rc;
+                                }
+                                q[i >> 2] = 161;
+                                break Rc;
+                               }
+                               i = b + -8 | 0;
+                               q[v >> 2] = i;
+                               b = q[i + 4 >> 2] + -1 | 0;
+                               if (b >>> 0 <= 1) {
+                                if (!(b - 1)) {
+                                 b = q[i >> 2] << 16;
+                                 break Rc;
+                                }
+                                b = q[i >> 2];
+                                b = ((b >> 31) + b | 0) - -8192 >> 14;
+                                break Rc;
+                               }
+                               b = q[i >> 2];
+                              }
+                              q[q[z + 648 >> 2] + (k << 2) >> 2] = b;
+                              break hb;
+                             case 24:
+                              m = 18;
+                              i = 0;
+                              if (!q[z + 644 >> 2] | (D | 0) != 1) {
+                               break b;
+                              }
+                              Sc : {
+                               if ((b | 0) == (j | 0)) {
+                                k = 0;
+                                b = q[x >> 2];
+                                if (!(!b | q[b >> 2])) {
+                                 q[b >> 2] = 161;
+                                }
+                                b = j;
+                                break Sc;
+                               }
+                               if (q[b + -4 >> 2] != 2) {
+                                k = 0;
+                                i = q[x >> 2];
+                                if (!i | q[i >> 2]) {
+                                 break Sc;
+                                }
+                                q[i >> 2] = 160;
+                                break Sc;
+                               }
+                               b = b + -8 | 0;
+                               q[g + 12 >> 2] = b;
+                               k = q[b >> 2];
+                               if ((k | 0) < 0) {
+                                break b;
+                               }
+                              }
+                              if (k >>> 0 >= t[z + 652 >> 2]) {
+                               i = 0;
+                               break b;
+                              }
+                              if (((q[I >> 2] << 3) + j | 0) == (b | 0)) {
+                               M = 1;
+                               D = 0;
+                               i = f;
+                               b = q[x >> 2];
+                               if (!b | q[b >> 2]) {
+                                continue;
+                               }
+                               q[b >> 2] = 130;
+                               continue;
+                              }
+                              q[b >> 2] = q[q[z + 648 >> 2] + (k << 2) >> 2];
+                              break ib;
+                             case 26:
+                              if ((D | 0) != 4) {
+                               break g;
+                              }
+                              Tc : {
+                               Uc : {
+                                Vc : {
+                                 Wc : {
+                                  Xc : {
+                                   Yc : {
+                                    if ((b | 0) == (j | 0)) {
+                                     i = 0;
+                                     u = q[x >> 2];
+                                     if (!u) {
+                                      k = 0;
+                                      m = 0;
+                                      break kb;
+                                     }
+                                     k = 0;
+                                     m = 0;
+                                     b = j;
+                                     F = 0;
+                                     if (q[u >> 2]) {
+                                      break jb;
+                                     }
+                                     q[u >> 2] = 161;
+                                     break Yc;
+                                    }
+                                    m = b + -8 | 0;
+                                    q[v >> 2] = m;
+                                    i = q[m + 4 >> 2] + -1 | 0;
+                                    Zc : {
+                                     if (i >>> 0 <= 1) {
+                                      k = q[m >> 2] << 16;
+                                      if (!(i - 1)) {
+                                       break Zc;
+                                      }
+                                      i = q[m >> 2];
+                                      k = ((i >> 31) + i | 0) - -8192 >> 14;
+                                      break Zc;
+                                     }
+                                     k = q[m >> 2];
+                                    }
+                                    if ((j | 0) != (m | 0)) {
+                                     break Xc;
+                                    }
+                                   }
+                                   i = 0;
+                                   b = q[x >> 2];
+                                   if (!b | q[b >> 2]) {
+                                    break lb;
+                                   }
+                                   q[b >> 2] = 161;
+                                   m = 0;
+                                   break Wc;
+                                  }
+                                  u = b + -16 | 0;
+                                  q[v >> 2] = u;
+                                  i = q[u + 4 >> 2] + -1 | 0;
+                                  _c : {
+                                   if (i >>> 0 <= 1) {
+                                    m = q[u >> 2] << 16;
+                                    if (!(i - 1)) {
+                                     break _c;
+                                    }
+                                    i = q[u >> 2];
+                                    m = ((i >> 31) + i | 0) - -8192 >> 14;
+                                    break _c;
+                                   }
+                                   m = q[u >> 2];
+                                  }
+                                  if ((j | 0) != (u | 0)) {
+                                   break Vc;
+                                  }
+                                 }
+                                 i = 0;
+                                 b = q[x >> 2];
+                                 if (!b | q[b >> 2]) {
+                                  break kb;
+                                 }
+                                 q[b >> 2] = 161;
+                                 break Uc;
+                                }
+                                u = b + -24 | 0;
+                                q[v >> 2] = u;
+                                i = q[u + 4 >> 2] + -1 | 0;
+                                $c : {
+                                 if (i >>> 0 <= 1) {
+                                  y = q[u >> 2] << 16;
+                                  if (!(i - 1)) {
+                                   break $c;
+                                  }
+                                  i = q[u >> 2];
+                                  y = ((i >> 31) + i | 0) - -8192 >> 14;
+                                  break $c;
+                                 }
+                                 y = q[u >> 2];
+                                }
+                                i = y;
+                                if ((j | 0) != (u | 0)) {
+                                 break Tc;
+                                }
+                               }
+                               F = 0;
+                               b = q[x >> 2];
+                               if (!b) {
+                                b = j;
+                                break jb;
+                               }
+                               if (q[b >> 2]) {
+                                b = j;
+                                break jb;
+                               }
+                               q[b >> 2] = 161;
+                               b = j;
+                               break jb;
+                              }
+                              b = b + -32 | 0;
+                              q[v >> 2] = b;
+                              u = q[b + 4 >> 2] + -1 | 0;
+                              if (u >>> 0 <= 1) {
+                               if (!(u - 1)) {
+                                F = q[b >> 2] << 16;
+                                break jb;
+                               }
+                               u = q[b >> 2];
+                               F = ((u >> 31) + u | 0) - -8192 >> 14;
+                               break jb;
+                              }
+                              F = q[b >> 2];
+                              break jb;
+                             case 3:
+                             case 4:
+                             case 5:
+                             case 6:
+                             case 7:
+                             case 8:
+                             case 9:
+                             case 10:
+                             case 25:
+                              break rc;
+                             case 27:
+                              break sc;
+                             }
+                            }
+                            if (D) {
+                             break g;
+                            }
+                            k = q[z + 536 >> 2];
+                            m = q[k + 648 >> 2];
+                            i = m << 13 ^ m;
+                            i = i >>> 17 ^ i;
+                            q[k + 648 >> 2] = i ^ i << 5;
+                            if (((q[I >> 2] << 3) + j | 0) == (b | 0)) {
+                             M = 1;
+                             D = 0;
+                             i = f;
+                             b = q[x >> 2];
+                             if (!b | q[b >> 2]) {
+                              continue;
+                             }
+                             q[b >> 2] = 130;
+                             continue;
+                            }
+                            M = 1;
+                            q[b >> 2] = (m & 65535) + 1;
+                            D = 0;
+                            b = q[v >> 2];
+                            q[b + 4 >> 2] = 0;
+                            q[v >> 2] = b + 8;
+                            i = f;
+                            continue;
+                           }
+                           i = 0;
+                           if ((D | H) < 0) {
+                            m = 18;
+                            break b;
+                           }
+                           m = 1;
+                           M = 0;
+                           i = f;
+                           k = (D | 0) < 3 ? D : 3;
+                           if ((k | 0) < 1) {
+                            continue;
+                           }
+                           while (1) {
+                            i = m;
+                            ad : {
+                             if ((b | 0) == (j | 0)) {
+                              m = 0;
+                              b = q[x >> 2];
+                              if (!b) {
+                               b = j;
+                               break ad;
+                              }
+                              if (q[b >> 2]) {
+                               b = j;
+                               break ad;
+                              }
+                              q[b >> 2] = 161;
+                              b = j;
+                              break ad;
+                             }
+                             b = b + -8 | 0;
+                             q[v >> 2] = b;
+                             m = q[b + 4 >> 2] + -1 | 0;
+                             if (m >>> 0 <= 1) {
+                              if (!(m - 1)) {
+                               m = q[b >> 2] << 16;
+                               break ad;
+                              }
+                              m = q[b >> 2];
+                              m = ((m >> 31) + m | 0) - -8192 >> 14;
+                              break ad;
+                             }
+                             m = q[b >> 2];
+                            }
+                            q[(l + 16008 | 0) + (k - i << 2) >> 2] = m;
+                            m = i + 1 | 0;
+                            if ((i | 0) != (k | 0)) {
+                             continue;
+                            }
+                            break;
+                           }
+                           D = k;
+                           i = f;
+                           continue;
+                          case 14:
+                           if (!y) {
+                            continue;
+                           }
+                           if ((M | 0) >= 1) {
+                            M = M + -1 | 0;
+                            continue;
+                           }
+                           if (!D) {
+                            break g;
+                           }
+                           D = D + -1 | 0;
+                           b = q[v >> 2];
+                           if ((b | 0) == (q[A >> 2] + (q[I >> 2] << 3) | 0)) {
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 130;
+                            continue;
+                           }
+                           q[b >> 2] = q[(l + 16008 | 0) + (D << 2) >> 2];
+                           b = q[v >> 2];
+                           q[b + 4 >> 2] = 0;
+                           q[v >> 2] = b + 8;
+                           continue;
+                          case 15:
+                           b = q[v >> 2];
+                           if ((b | 0) == q[A >> 2]) {
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 161;
+                            continue;
+                           }
+                           q[v >> 2] = b + -8;
+                           continue;
+                          case 17:
+                           b = q[v >> 2];
+                           i = q[A >> 2];
+                           bd : {
+                            if ((b | 0) == (i | 0)) {
+                             j = 0;
+                             k = q[x >> 2];
+                             if (!k | q[k >> 2]) {
+                              break bd;
+                             }
+                             q[k >> 2] = 161;
+                             break bd;
+                            }
+                            if (q[b + -4 >> 2] != 2) {
+                             j = 0;
+                             k = q[x >> 2];
+                             if (!k | q[k >> 2]) {
+                              break bd;
+                             }
+                             q[k >> 2] = 160;
+                             break bd;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            j = q[b >> 2];
+                           }
+                           cd : {
+                            if ((b | 0) == (i | 0)) {
+                             b = 0;
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break cd;
+                             }
+                             q[i >> 2] = 161;
+                             break cd;
+                            }
+                            i = b + -8 | 0;
+                            q[v >> 2] = i;
+                            b = q[i + 4 >> 2] + -1 | 0;
+                            if (b >>> 0 <= 1) {
+                             if (!(b - 1)) {
+                              b = q[i >> 2] << 16;
+                              break cd;
+                             }
+                             b = q[i >> 2];
+                             b = ((b >> 31) + b | 0) - -8192 >> 14;
+                             break cd;
+                            }
+                            b = q[i >> 2];
+                           }
+                           i = f;
+                           if (j >>> 0 > 31) {
+                            continue;
+                           }
+                           q[(l + 15872 | 0) + (j << 2) >> 2] = b;
+                           continue;
+                          case 18:
+                           b = q[v >> 2];
+                           j = q[A >> 2];
+                           dd : {
+                            if ((b | 0) == (j | 0)) {
+                             k = 0;
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break dd;
+                             }
+                             q[i >> 2] = 161;
+                             break dd;
+                            }
+                            if (q[b + -4 >> 2] != 2) {
+                             k = 0;
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break dd;
+                             }
+                             q[i >> 2] = 160;
+                             break dd;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            k = q[b >> 2];
+                            if (k >>> 0 > 31) {
+                             continue;
+                            }
+                           }
+                           if ((j + (q[I >> 2] << 3) | 0) == (b | 0)) {
+                            i = f;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 130;
+                            continue;
+                           }
+                           q[b >> 2] = q[(l + 15872 | 0) + (k << 2) >> 2];
+                           b = q[v >> 2];
+                           q[b + 4 >> 2] = 0;
+                           q[v >> 2] = b + 8;
+                           i = f;
+                           continue;
+                          case 19:
+                           b = q[v >> 2];
+                           i = q[A >> 2];
+                           ed : {
+                            if ((b | 0) == (i | 0)) {
+                             F = 0;
+                             j = q[x >> 2];
+                             if (!j | q[j >> 2]) {
+                              break ed;
+                             }
+                             q[j >> 2] = 161;
+                             break ed;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            j = q[b + 4 >> 2] + -1 | 0;
+                            if (j >>> 0 <= 1) {
+                             if (!(j - 1)) {
+                              F = q[b >> 2] << 16;
+                              break ed;
+                             }
+                             j = q[b >> 2];
+                             F = ((j >> 31) + j | 0) - -8192 >> 14;
+                             break ed;
+                            }
+                            F = q[b >> 2];
+                           }
+                           fd : {
+                            gd : {
+                             hd : {
+                              id : {
+                               if ((b | 0) == (i | 0)) {
+                                j = 0;
+                                u = q[x >> 2];
+                                if (!u) {
+                                 k = 0;
+                                 break nb;
+                                }
+                                k = 0;
+                                b = i;
+                                m = 0;
+                                if (q[u >> 2]) {
+                                 break mb;
+                                }
+                                q[u >> 2] = 161;
+                                break id;
+                               }
+                               m = b + -8 | 0;
+                               q[v >> 2] = m;
+                               j = q[m + 4 >> 2] + -1 | 0;
+                               jd : {
+                                if (j >>> 0 <= 1) {
+                                 k = q[m >> 2] << 16;
+                                 if (!(j - 1)) {
+                                  break jd;
+                                 }
+                                 j = q[m >> 2];
+                                 k = ((j >> 31) + j | 0) - -8192 >> 14;
+                                 break jd;
+                                }
+                                k = q[m >> 2];
+                               }
+                               if ((i | 0) != (m | 0)) {
+                                break hd;
+                               }
+                              }
+                              j = 0;
+                              b = q[x >> 2];
+                              if (!b | q[b >> 2]) {
+                               break nb;
+                              }
+                              q[b >> 2] = 161;
+                              break gd;
+                             }
+                             m = b + -16 | 0;
+                             q[v >> 2] = m;
+                             j = q[m + 4 >> 2] + -1 | 0;
+                             kd : {
+                              if (j >>> 0 <= 1) {
+                               u = q[m >> 2] << 16;
+                               if (!(j - 1)) {
+                                break kd;
+                               }
+                               j = q[m >> 2];
+                               u = ((j >> 31) + j | 0) - -8192 >> 14;
+                               break kd;
+                              }
+                              u = q[m >> 2];
+                             }
+                             j = u;
+                             if ((i | 0) != (m | 0)) {
+                              break fd;
+                             }
+                            }
+                            m = 0;
+                            b = q[x >> 2];
+                            if (!b) {
+                             b = i;
+                             break mb;
+                            }
+                            if (q[b >> 2]) {
+                             b = i;
+                             break mb;
+                            }
+                            q[b >> 2] = 161;
+                            b = i;
+                            break mb;
+                           }
+                           b = b + -24 | 0;
+                           q[v >> 2] = b;
+                           m = q[b + 4 >> 2] + -1 | 0;
+                           if (m >>> 0 <= 1) {
+                            if (!(m - 1)) {
+                             m = q[b >> 2] << 16;
+                             break mb;
+                            }
+                            m = q[b >> 2];
+                            m = ((m >> 31) + m | 0) - -8192 >> 14;
+                            break mb;
+                           }
+                           m = q[b >> 2];
+                           break mb;
+                          case 20:
+                           i = q[z + 536 >> 2];
+                           j = q[i + 648 >> 2];
+                           b = j << 13 ^ j;
+                           b = b >>> 17 ^ b;
+                           q[i + 648 >> 2] = b ^ b << 5;
+                           b = q[v >> 2];
+                           if ((b | 0) == (q[A >> 2] + (q[I >> 2] << 3) | 0)) {
+                            i = f;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 130;
+                            continue;
+                           }
+                           q[b >> 2] = (j & 65535) + 1;
+                           b = q[v >> 2];
+                           q[b + 4 >> 2] = 0;
+                           q[v >> 2] = b + 8;
+                           i = f;
+                           continue;
+                          case 21:
+                           b = q[v >> 2];
+                           k = q[A >> 2];
+                           ld : {
+                            if ((b | 0) == (k | 0)) {
+                             j = 0;
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break ld;
+                             }
+                             q[i >> 2] = 161;
+                             break ld;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            i = q[b + 4 >> 2] + -1 | 0;
+                            if (i >>> 0 <= 1) {
+                             if (!(i - 1)) {
+                              j = q[b >> 2] << 16;
+                              break ld;
+                             }
+                             i = q[b >> 2];
+                             j = ((i >> 31) + i | 0) - -8192 >> 14;
+                             break ld;
+                            }
+                            j = q[b >> 2];
+                           }
+                           md : {
+                            if ((b | 0) == (k | 0)) {
+                             b = 0;
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break md;
+                             }
+                             q[i >> 2] = 161;
+                             break md;
+                            }
+                            i = b + -8 | 0;
+                            q[v >> 2] = i;
+                            b = q[i + 4 >> 2] + -1 | 0;
+                            if (b >>> 0 <= 1) {
+                             if (!(b - 1)) {
+                              b = q[i >> 2] << 16;
+                              break md;
+                             }
+                             b = q[i >> 2];
+                             b = ((b >> 31) + b | 0) - -8192 >> 14;
+                             break md;
+                            }
+                            b = q[i >> 2];
+                           }
+                           i = Ee(b, j);
+                           b = q[v >> 2];
+                           if ((b | 0) == (q[A >> 2] + (q[I >> 2] << 3) | 0)) {
+                            i = f;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 130;
+                            continue;
+                           }
+                           q[b >> 2] = i;
+                           b = q[v >> 2];
+                           q[b + 4 >> 2] = 0;
+                           q[v >> 2] = b + 8;
+                           i = f;
+                           continue;
+                          case 23:
+                           j = q[v >> 2];
+                           k = q[A >> 2];
+                           nd : {
+                            if ((j | 0) == (k | 0)) {
+                             b = 0;
+                             i = q[x >> 2];
+                             if (!i) {
+                              i = j;
+                              break nd;
+                             }
+                             if (q[i >> 2]) {
+                              i = j;
+                              break nd;
+                             }
+                             q[i >> 2] = 161;
+                             i = j;
+                             break nd;
+                            }
+                            i = j + -8 | 0;
+                            q[v >> 2] = i;
+                            b = q[i + 4 >> 2] + -1 | 0;
+                            od : {
+                             if (b >>> 0 <= 1) {
+                              j = q[i >> 2] << 16;
+                              if (!(b - 1)) {
+                               break od;
+                              }
+                              b = q[i >> 2];
+                              j = ((b >> 31) + b | 0) - -8192 >> 14;
+                              break od;
+                             }
+                             j = q[i >> 2];
+                            }
+                            if ((j | 0) < 1) {
+                             b = 0;
+                             j = k;
+                             break nd;
+                            }
+                            i = j >>> ((j | 0) > 9) | 0;
+                            while (1) {
+                             b = i;
+                             i = (b + Fe(j, b) | 0) + 1 >> 1;
+                             if ((b | 0) != (i | 0)) {
+                              continue;
+                             }
+                             break;
+                            }
+                            j = q[A >> 2];
+                            i = q[v >> 2];
+                           }
+                           if (((q[I >> 2] << 3) + j | 0) == (i | 0)) {
+                            i = f;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 130;
+                            continue;
+                           }
+                           q[i >> 2] = b;
+                           b = q[v >> 2];
+                           q[b + 4 >> 2] = 0;
+                           q[v >> 2] = b + 8;
+                           i = f;
+                           continue;
+                          case 24:
+                           b = q[v >> 2];
+                           i = q[A >> 2];
+                           pd : {
+                            if ((b | 0) == (i | 0)) {
+                             j = 0;
+                             k = q[x >> 2];
+                             if (!k | q[k >> 2]) {
+                              break pd;
+                             }
+                             q[k >> 2] = 161;
+                             break pd;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            j = q[b + 4 >> 2] + -1 | 0;
+                            if (j >>> 0 <= 1) {
+                             if (!(j - 1)) {
+                              j = q[b >> 2] << 16;
+                              break pd;
+                             }
+                             j = q[b >> 2];
+                             j = ((j >> 31) + j | 0) - -8192 >> 14;
+                             break pd;
+                            }
+                            j = q[b >> 2];
+                           }
+                           qd : {
+                            if (((q[I >> 2] << 3) + i | 0) == (b | 0)) {
+                             k = q[x >> 2];
+                             if (!k | q[k >> 2]) {
+                              break qd;
+                             }
+                             q[k >> 2] = 130;
+                             break qd;
+                            }
+                            q[b >> 2] = j;
+                            b = q[v >> 2];
+                            q[b + 4 >> 2] = 0;
+                            b = b + 8 | 0;
+                            q[v >> 2] = b;
+                            i = q[A >> 2];
+                           }
+                           if (((q[I >> 2] << 3) + i | 0) == (b | 0)) {
+                            i = f;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 130;
+                            continue;
+                           }
+                           q[b >> 2] = j;
+                           b = q[v >> 2];
+                           q[b + 4 >> 2] = 0;
+                           q[v >> 2] = b + 8;
+                           i = f;
+                           continue;
+                          case 25:
+                           b = q[v >> 2];
+                           i = q[A >> 2];
+                           rd : {
+                            if ((b | 0) == (i | 0)) {
+                             j = 0;
+                             k = q[x >> 2];
+                             if (!k | q[k >> 2]) {
+                              break rd;
+                             }
+                             q[k >> 2] = 161;
+                             break rd;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            j = q[b + 4 >> 2] + -1 | 0;
+                            if (j >>> 0 <= 1) {
+                             if (!(j - 1)) {
+                              j = q[b >> 2] << 16;
+                              break rd;
+                             }
+                             j = q[b >> 2];
+                             j = ((j >> 31) + j | 0) - -8192 >> 14;
+                             break rd;
+                            }
+                            j = q[b >> 2];
+                           }
+                           sd : {
+                            if ((b | 0) == (i | 0)) {
+                             k = 0;
+                             b = q[x >> 2];
+                             if (!b) {
+                              b = i;
+                              break sd;
+                             }
+                             if (q[b >> 2]) {
+                              b = i;
+                              break sd;
+                             }
+                             q[b >> 2] = 161;
+                             b = i;
+                             break sd;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            k = q[b + 4 >> 2] + -1 | 0;
+                            if (k >>> 0 <= 1) {
+                             if (!(k - 1)) {
+                              k = q[b >> 2] << 16;
+                              break sd;
+                             }
+                             k = q[b >> 2];
+                             k = ((k >> 31) + k | 0) - -8192 >> 14;
+                             break sd;
+                            }
+                            k = q[b >> 2];
+                           }
+                           td : {
+                            if (((q[I >> 2] << 3) + i | 0) == (b | 0)) {
+                             j = q[x >> 2];
+                             if (!j | q[j >> 2]) {
+                              break td;
+                             }
+                             q[j >> 2] = 130;
+                             break td;
+                            }
+                            q[b >> 2] = j;
+                            b = q[v >> 2];
+                            q[b + 4 >> 2] = 0;
+                            b = b + 8 | 0;
+                            q[v >> 2] = b;
+                            i = q[A >> 2];
+                           }
+                           if (((q[I >> 2] << 3) + i | 0) == (b | 0)) {
+                            i = f;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 130;
+                            continue;
+                           }
+                           q[b >> 2] = k;
+                           b = q[v >> 2];
+                           q[b + 4 >> 2] = 0;
+                           q[v >> 2] = b + 8;
+                           i = f;
+                           continue;
+                          case 26:
+                           b = q[v >> 2];
+                           u = q[A >> 2];
+                           ud : {
+                            if ((b | 0) == (u | 0)) {
+                             k = 0;
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break ud;
+                             }
+                             q[i >> 2] = 161;
+                             break ud;
+                            }
+                            if (q[b + -4 >> 2] != 2) {
+                             k = 0;
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break ud;
+                             }
+                             q[i >> 2] = 160;
+                             break ud;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            k = q[b >> 2];
+                           }
+                           i = f;
+                           j = b - u | 0;
+                           if (!j) {
+                            continue;
+                           }
+                           m = j >> 3;
+                           j = m;
+                           i = m + -1 | 0;
+                           vd : {
+                            if ((k | 0) <= -1) {
+                             break vd;
+                            }
+                            i = 0;
+                            if (k >>> 0 >= m >>> 0) {
+                             break vd;
+                            }
+                            i = m + (k ^ -1) | 0;
+                           }
+                           wd : {
+                            if (j >>> 0 <= i >>> 0) {
+                             i = 0;
+                             j = q[x >> 2];
+                             if (!j | q[j >> 2]) {
+                              break wd;
+                             }
+                             q[j >> 2] = 130;
+                             break wd;
+                            }
+                            j = u + (i << 3) | 0;
+                            i = q[j + 4 >> 2] + -1 | 0;
+                            if (i >>> 0 <= 1) {
+                             if (!(i - 1)) {
+                              i = q[j >> 2] << 16;
+                              break wd;
+                             }
+                             i = q[j >> 2];
+                             i = ((i >> 31) + i | 0) - -8192 >> 14;
+                             break wd;
+                            }
+                            i = q[j >> 2];
+                           }
+                           if ((u + (q[I >> 2] << 3) | 0) == (b | 0)) {
+                            i = f;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 130;
+                            continue;
+                           }
+                           q[b >> 2] = i;
+                           b = q[v >> 2];
+                           q[b + 4 >> 2] = 0;
+                           q[v >> 2] = b + 8;
+                           i = f;
+                           continue;
+                          case 27:
+                           b = q[v >> 2];
+                           j = q[A >> 2];
+                           xd : {
+                            if ((b | 0) == (j | 0)) {
+                             m = 0;
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break xd;
+                             }
+                             q[i >> 2] = 161;
+                             break xd;
+                            }
+                            if (q[b + -4 >> 2] != 2) {
+                             m = 0;
+                             i = q[x >> 2];
+                             if (!i | q[i >> 2]) {
+                              break xd;
+                             }
+                             q[i >> 2] = 160;
+                             break xd;
+                            }
+                            b = b + -8 | 0;
+                            q[v >> 2] = b;
+                            m = q[b >> 2];
+                           }
+                           if ((b | 0) == (j | 0)) {
+                            i = f;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 161;
+                            continue;
+                           }
+                           if (q[b + -4 >> 2] != 2) {
+                            i = f;
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 160;
+                            continue;
+                           }
+                           b = b + -8 | 0;
+                           q[v >> 2] = b;
+                           i = f;
+                           B = q[b >> 2];
+                           if ((B | 0) < 2) {
+                            continue;
+                           }
+                           if (b - j >> 3 >>> 0 < B >>> 0) {
+                            b = q[x >> 2];
+                            if (!b | q[b >> 2]) {
+                             continue;
+                            }
+                            q[b >> 2] = 130;
+                            continue;
+                           }
+                           G = (m | 0) % (B | 0) | 0;
+                           if (!G) {
+                            continue;
+                           }
+                           i = 0;
+                           L = 0 - B | 0;
+                           E = 0;
+                           y = 2;
+                           b = -1;
+                           k = -1;
+                           while (1) {
+                            yd : {
+                             if ((b | 0) != (k | 0)) {
+                              m = q[A >> 2];
+                              u = E;
+                              j = y;
+                              break yd;
+                             }
+                             m = q[A >> 2];
+                             k = b + 1 | 0;
+                             b = m + (k << 3) | 0;
+                             u = q[b >> 2];
+                             j = q[b + 4 >> 2];
+                             b = k;
+                            }
+                            b = b + G | 0;
+                            b = ((b | 0) < (B | 0) ? B & b >> 31 : L) + b | 0;
+                            m = (b << 3) + m | 0;
+                            E = q[m >> 2];
+                            y = q[m + 4 >> 2];
+                            q[m >> 2] = u;
+                            q[m + 4 >> 2] = j;
+                            i = i + 1 | 0;
+                            if ((B | 0) != (i | 0)) {
+                             continue;
+                            }
+                            break;
+                           }
+                           i = f;
+                           continue;
+                          case 5:
+                          case 10:
+                          case 16:
+                          case 22:
+                          case 28:
+                          case 29:
+                           break h;
+                          case 30:
+                           break ob;
+                          }
+                         }
+                         if (!(f & 255) | !y) {
+                          break i;
+                         }
+                         b = q[v >> 2];
+                         k = q[A >> 2];
+                         zd : {
+                          if ((b | 0) == (k | 0)) {
+                           j = 0;
+                           i = q[x >> 2];
+                           if (!i | q[i >> 2]) {
+                            break zd;
+                           }
+                           q[i >> 2] = 161;
+                           break zd;
+                          }
+                          b = b + -8 | 0;
+                          q[v >> 2] = b;
+                          i = q[b + 4 >> 2] + -1 | 0;
+                          if (i >>> 0 <= 1) {
+                           if (!(i - 1)) {
+                            j = q[b >> 2] << 16;
+                            break zd;
+                           }
+                           i = q[b >> 2];
+                           j = ((i >> 31) + i | 0) - -8192 >> 14;
+                           break zd;
+                          }
+                          j = q[b >> 2];
+                         }
+                         q[l + 16020 >> 2] = j;
+                         Ad : {
+                          if ((b | 0) == (k | 0)) {
+                           b = 0;
+                           i = q[x >> 2];
+                           if (!i | q[i >> 2]) {
+                            break Ad;
+                           }
+                           q[i >> 2] = 161;
+                           break Ad;
+                          }
+                          i = b + -8 | 0;
+                          q[v >> 2] = i;
+                          b = q[i + 4 >> 2] + -1 | 0;
+                          if (b >>> 0 <= 1) {
+                           if (!(b - 1)) {
+                            b = q[i >> 2] << 16;
+                            break Ad;
+                           }
+                           b = q[i >> 2];
+                           b = ((b >> 31) + b | 0) - -8192 >> 14;
+                           break Ad;
+                          }
+                          b = q[i >> 2];
+                         }
+                         q[l + 16024 >> 2] = b;
+                         q[z + 468 >> 2] = 0;
+                         break i;
+                        }
+                        b = i;
+                        m = 0;
+                       }
+                       if ((i + (q[I >> 2] << 3) | 0) == (b | 0)) {
+                        i = f;
+                        b = q[x >> 2];
+                        if (!b | q[b >> 2]) {
+                         continue;
+                        }
+                        q[b >> 2] = 130;
+                        continue;
+                       }
+                       q[b >> 2] = (k | 0) > (F | 0) ? j : m;
+                       b = q[v >> 2];
+                       q[b + 4 >> 2] = 0;
+                       q[v >> 2] = b + 8;
+                       i = f;
+                       continue;
+                      }
+                      m = 0;
+                     }
+                     b = j;
+                     F = 0;
+                    }
+                    if (((q[I >> 2] << 3) + j | 0) == (b | 0)) {
+                     M = 1;
+                     D = 0;
+                     i = f;
+                     b = q[x >> 2];
+                     if (!b | q[b >> 2]) {
+                      continue;
+                     }
+                     q[b >> 2] = 130;
+                     continue;
+                    }
+                    q[b >> 2] = (m | 0) > (k | 0) ? i : F;
+                   }
+                   b = q[v >> 2];
+                   q[b + 4 >> 2] = 0;
+                   q[v >> 2] = b + 8;
+                   D = 0;
+                   M = 1;
+                   i = f;
+                   continue;
+                  }
+                  D = 0;
+                  i = f;
+                  continue c;
+                 }
+                 b = 0;
+                 Q = 0;
+                }
+                i = Fe(b, j);
+                b = q[v >> 2];
+                if ((b | 0) == (q[A >> 2] + (q[I >> 2] << 3) | 0)) {
+                 i = f;
+                 b = q[x >> 2];
+                 if (!b | q[b >> 2]) {
+                  continue;
+                 }
+                 q[b >> 2] = 130;
+                 continue;
+                }
+                q[b >> 2] = i;
+                b = q[v >> 2];
+                q[b + 4 >> 2] = 0;
+                q[v >> 2] = b + 8;
+                i = f;
+                continue;
+               }
+               k = 0;
+               v = 0;
+              }
+              m = 18;
+              Bd : {
+               if (r[z + 47 | 0] | e) {
+                break Bd;
+               }
+               b = q[q[h + 128 >> 2] + 52 >> 2];
+               Cd : {
+                if (!q[z + 580 >> 2]) {
+                 if (!b) {
+                  break Bd;
+                 }
+                 C = q[q[z + 32 >> 2] >> 2] + i | 0;
+                 break Cd;
+                }
+                C = q[q[z + 32 >> 2] >> 2] + i | 0;
+                if (b) {
+                 break Cd;
+                }
+                b = -1;
+                Dd : {
+                 if (j >>> 0 > 255) {
+                  break Dd;
+                 }
+                 b = q[z + 604 >> 2];
+                 i = n[q[b + 20 >> 2]](s[q[b + 24 >> 2] + (j << 1) >> 1]) | 0;
+                 b = -1;
+                 f = q[z + 584 >> 2];
+                 if (!f) {
+                  break Dd;
+                 }
+                 e = q[z + 580 >> 2];
+                 b = 0;
+                 while (1) {
+                  h = q[e + (b << 2) >> 2];
+                  if (!(!h | r[h | 0] != r[i | 0])) {
+                   if (!iZ(h, i)) {
+                    break Dd;
+                   }
+                  }
+                  b = b + 1 | 0;
+                  if ((f | 0) != (b | 0)) {
+                   continue;
+                  }
+                  break;
+                 }
+                 b = -1;
+                }
+                Ed : {
+                 Fd : {
+                  if (K >>> 0 > 255) {
+                   break Fd;
+                  }
+                  e = q[z + 604 >> 2];
+                  i = n[q[e + 20 >> 2]](s[q[e + 24 >> 2] + (K << 1) >> 1]) | 0;
+                  f = q[z + 584 >> 2];
+                  if (!f) {
+                   break Fd;
+                  }
+                  e = q[z + 580 >> 2];
+                  K = 0;
+                  while (1) {
+                   h = q[e + (K << 2) >> 2];
+                   if (!(!h | r[h | 0] != r[i | 0])) {
+                    if (!iZ(h, i)) {
+                     break Ed;
+                    }
+                   }
+                   K = K + 1 | 0;
+                   if ((f | 0) != (K | 0)) {
+                    continue;
+                   }
+                   break;
+                  }
+                 }
+                 K = -1;
+                }
+                j = b;
+               }
+               if ((j | K) < 0) {
+                break Bd;
+               }
+               if (r[z + 46 | 0]) {
+                c = q[z + 8 >> 2];
+                b = q[q[c + 156 >> 2] >> 2];
+                m = Ve(b, 2);
+                if (m) {
+                 break Bd;
+                }
+                a = q[b + 88 >> 2];
+                q[a + 32 >> 2] = K;
+                q[a + 8 >> 2] = 0;
+                q[a + 12 >> 2] = 0;
+                p[a + 4 >> 1] = 514;
+                q[a >> 2] = j;
+                p[a + 36 >> 1] = 2;
+                ea = a, fa = Ae(C - v | 0) >> 16, q[ea + 40 >> 2] = fa;
+                ea = a, fa = Ae(k) >> 16, q[ea + 44 >> 2] = fa;
+                q[c + 128 >> 2] = 2;
+                a = q[b + 52 >> 2];
+                q[c + 72 >> 2] = 1668246896;
+                q[c + 132 >> 2] = a;
+                q[b + 84 >> 2] = 2;
+                m = 0;
+                i = 0;
+                break b;
+               }
+               We(q[z + 12 >> 2]);
+               f = q[z + 4 >> 2];
+               b = q[q[f + 128 >> 2] + 52 >> 2];
+               Gd : {
+                if (!b) {
+                 e = j << 2;
+                 b = q[e + q[f + 428 >> 2] >> 2];
+                 q[l + 48 >> 2] = b;
+                 h = q[e + q[f + 432 >> 2] >> 2];
+                 q[l + 52 >> 2] = h;
+                 break Gd;
+                }
+                m = n[q[q[b >> 2] >> 2]](q[b + 4 >> 2], j, l + 48 | 0) | 0;
+                if (m) {
+                 break Bd;
+                }
+                h = q[l + 52 >> 2];
+                b = q[l + 48 >> 2];
+               }
+               q[l + 92 >> 2] = b;
+               q[l + 80 >> 2] = 0;
+               q[l + 84 >> 2] = b;
+               q[l + 88 >> 2] = b + h;
+               e = q[z + 36 >> 2];
+               u = q[e >> 2];
+               j = q[e + 4 >> 2];
+               e = q[z + 32 >> 2];
+               E = q[e >> 2];
+               y = q[e + 4 >> 2];
+               eK(a, l + 80 | 0, c, d, 1, 0, 0, l + 16028 | 0);
+               e = q[z + 4 >> 2];
+               q[l + 52 >> 2] = h;
+               q[l + 48 >> 2] = b;
+               b = q[q[e + 128 >> 2] + 52 >> 2];
+               if (b) {
+                n[q[q[b >> 2] + 4 >> 2]](q[b + 4 >> 2], l + 48 | 0);
+               }
+               Hd : {
+                if (r[l + 15839 | 0]) {
+                 b = q[z + 32 >> 2];
+                 break Hd;
+                }
+                b = q[z + 36 >> 2];
+                u = q[b >> 2];
+                j = q[b + 4 >> 2];
+                b = q[z + 32 >> 2];
+                E = q[b >> 2];
+                y = q[b + 4 >> 2];
+               }
+               q[b >> 2] = 0;
+               q[b + 4 >> 2] = 0;
+               f = q[z + 4 >> 2];
+               b = q[q[f + 128 >> 2] + 52 >> 2];
+               Id : {
+                if (!b) {
+                 e = K << 2;
+                 b = q[e + q[f + 428 >> 2] >> 2];
+                 q[l + 48 >> 2] = b;
+                 h = q[e + q[f + 432 >> 2] >> 2];
+                 q[l + 52 >> 2] = h;
+                 break Id;
+                }
+                m = n[q[q[b >> 2] >> 2]](q[b + 4 >> 2], K, l + 48 | 0) | 0;
+                if (m) {
+                 break Bd;
+                }
+                h = q[l + 52 >> 2];
+                b = q[l + 48 >> 2];
+               }
+               q[l + 92 >> 2] = b;
+               m = 0;
+               q[l + 80 >> 2] = 0;
+               q[l + 84 >> 2] = b;
+               q[l + 88 >> 2] = b + h;
+               eK(a, l + 80 | 0, c, d, 1, C - v | 0, k, l + 16028 | 0);
+               a = q[z + 4 >> 2];
+               q[l + 52 >> 2] = h;
+               q[l + 48 >> 2] = b;
+               a = q[q[a + 128 >> 2] + 52 >> 2];
+               if (a) {
+                n[q[q[a >> 2] + 4 >> 2]](q[a + 4 >> 2], l + 48 | 0);
+               }
+               a = q[z + 32 >> 2];
+               q[a >> 2] = E;
+               q[a + 4 >> 2] = y;
+               a = q[z + 36 >> 2];
+               q[a >> 2] = u;
+               q[a + 4 >> 2] = j;
+              }
+              i = 0;
+              break b;
+             }
+             if ((P | 0) < 1) {
+              break g;
+             }
+             f = U;
+             P = P + -1 | 0;
+             b = P;
+             if (b >>> 0 >= 17) {
+              q[N >> 2] = 130;
+              b = 0;
+             }
+             C = (b << 4) + f | 0;
+             continue;
+            }
+            m = 18;
+            i = 0;
+            if ((P | 0) > 16) {
+             break b;
+            }
+            P = P + 1 | 0;
+            j = P;
+            if (j >>> 0 >= 17) {
+             q[N >> 2] = 130;
+             j = 0;
+            }
+            k = j << 4;
+            j = q[v >> 2];
+            Jd : {
+             if ((j | 0) == q[A >> 2]) {
+              j = 0;
+              u = q[x >> 2];
+              if (!u | q[u >> 2]) {
+               break Jd;
+              }
+              q[u >> 2] = 161;
+              break Jd;
+             }
+             if (q[j + -4 >> 2] != 2) {
+              j = 0;
+              u = q[x >> 2];
+              if (!u | q[u >> 2]) {
+               break Jd;
+              }
+              q[u >> 2] = 160;
+              break Jd;
+             }
+             j = j + -8 | 0;
+             q[v >> 2] = j;
+             j = q[j >> 2];
+            }
+            C = k + U | 0;
+            Kd : {
+             if (!y) {
+              break Kd;
+             }
+             k = q[z + 616 >> 2];
+             if (!k) {
+              break Kd;
+             }
+             j = ff(j, k);
+             if (!j) {
+              j = -1;
+              break Kd;
+             }
+             j = q[j >> 2];
+            }
+            q[C >> 2] = 0;
+            q[C + 4 >> 2] = 0;
+            q[C + 8 >> 2] = 0;
+            q[C + 12 >> 2] = 0;
+            if ((b | 0) == 29) {
+             b = q[z + 568 >> 2] + j | 0;
+             if (b >>> 0 >= t[z + 560 >> 2]) {
+              break b;
+             }
+             i = q[z + 576 >> 2] + (b << 2) | 0;
+             b = q[i >> 2];
+             q[C + 4 >> 2] = b;
+             q[C + 12 >> 2] = b;
+             q[C + 8 >> 2] = q[i + 4 >> 2];
+             i = f;
+             continue;
+            }
+            b = q[z + 564 >> 2] + j | 0;
+            if (b >>> 0 >= t[z + 556 >> 2]) {
+             break b;
+            }
+            j = b << 2;
+            k = j + q[z + 572 >> 2] | 0;
+            b = q[k >> 2];
+            q[C + 4 >> 2] = b;
+            Ld : {
+             if (r[z + 48 | 0]) {
+              i = q[z + 612 >> 2];
+              if (i) {
+               if (!b) {
+                q[C + 8 >> 2] = 0;
+                break Ld;
+               }
+               q[C + 8 >> 2] = q[i + j >> 2] + b;
+               break Ld;
+              }
+              i = b;
+              b = q[z + 608 >> 2];
+              b = i + ((b | 0) > 0 ? b : 0) | 0;
+              q[C + 4 >> 2] = b;
+              q[C + 8 >> 2] = q[k + 4 >> 2];
+              break Ld;
+             }
+             q[C + 8 >> 2] = q[k + 4 >> 2];
+            }
+            q[C + 12 >> 2] = b;
+            i = f;
+            continue;
+           }
+           if (!y) {
+            break i;
+           }
+           if (r[l + 15616 | 0]) {
+            o[l + 15617 | 0] = 1;
+            LK(l + 3952 | 0, q[l + 15688 >> 2], q[l + 15692 >> 2]);
+            if (r[l + 15696 | 0]) {
+             b = q[R + 4 >> 2];
+             q[l + 8 >> 2] = q[R >> 2];
+             q[l + 12 >> 2] = b;
+             MK(l + 3952 | 0, O, V, l + 8 | 0, 1);
+            }
+            o[l + 15696 | 0] = 0;
+            p[l + 15616 >> 1] = 0;
+            o[l + 15619 | 0] = 1;
+           }
+           o[l + 15839 | 0] = 1;
+           break i;
+          }
+          if ((b | 0) == 24) {
+           j = q[l + 16024 >> 2];
+           u = q[A >> 2];
+           k = q[v >> 2] - u >> 3;
+           Md : {
+            if (k >>> 0 <= i >>> 0) {
+             m = 0;
+             b = q[x >> 2];
+             if (!b | q[b >> 2]) {
+              break Md;
+             }
+             q[b >> 2] = 130;
+             break Md;
+            }
+            m = u + (i << 3) | 0;
+            b = q[m + 4 >> 2] + -1 | 0;
+            if (b >>> 0 <= 1) {
+             if (!(b - 1)) {
+              m = q[m >> 2] << 16;
+              break Md;
+             }
+             b = q[m >> 2];
+             m = ((b >> 31) + b | 0) - -8192 >> 14;
+             break Md;
+            }
+            m = q[m >> 2];
+           }
+           b = j + m | 0;
+           q[l + 16024 >> 2] = b;
+           j = q[l + 16020 >> 2];
+           i = i | 1;
+           Nd : {
+            if (k >>> 0 <= i >>> 0) {
+             i = 0;
+             k = q[x >> 2];
+             if (!k | q[k >> 2]) {
+              break Nd;
+             }
+             q[k >> 2] = 130;
+             b = q[l + 16024 >> 2];
+             break Nd;
+            }
+            k = u + (i << 3) | 0;
+            i = q[k + 4 >> 2] + -1 | 0;
+            if (i >>> 0 <= 1) {
+             if (!(i - 1)) {
+              i = q[k >> 2] << 16;
+              break Nd;
+             }
+             i = q[k >> 2];
+             i = ((i >> 31) + i | 0) - -8192 >> 14;
+             break Nd;
+            }
+            i = q[k >> 2];
+           }
+           i = i + j | 0;
+           q[l + 16020 >> 2] = i;
+           LK(l + 3952 | 0, b, i);
+          }
+          q[v >> 2] = q[A >> 2];
+          i = f;
+          continue;
+         }
+         i = 0;
+         m = 0;
+         break b;
+        }
+        q[a + 120 >> 2] = b;
+       }
+       i = f;
+      }
+      q[v >> 2] = q[A >> 2];
+      continue;
+     }
+     break;
+    }
+    break;
+   }
+   m = 18;
+   i = 0;
+  }
+  if (q[N >> 2]) {
+   break a;
+  }
+  q[N >> 2] = m;
+ }
+ q[l + 15584 >> 2] = 0;
+ q[l + 15588 >> 2] = 0;
+ q[l + 15576 >> 2] = 0;
+ Qe(q[l + 15564 >> 2], q[l + 15592 >> 2]);
+ q[l + 15592 >> 2] = 0;
+ q[l + 15788 >> 2] = 0;
+ q[l + 15792 >> 2] = 0;
+ q[l + 15780 >> 2] = 0;
+ Qe(q[l + 15768 >> 2], q[l + 15796 >> 2]);
+ q[l + 15796 >> 2] = 0;
+ q[l + 15820 >> 2] = 0;
+ q[l + 15824 >> 2] = 0;
+ q[l + 15812 >> 2] = 0;
+ Qe(q[l + 15800 >> 2], q[l + 15828 >> 2]);
+ q[l + 15828 >> 2] = 0;
+ Qe(T, U);
+ if (!i) {
+  a = q[g >> 2];
+  Qe(a, q[g + 8 >> 2]);
+  q[g + 8 >> 2] = 0;
+  Qe(a, g);
+ }
+ Ca = l + 16032 | 0;
+}
+function lW(a, b, c, d, e, f, g, h, i) {
+ var j = 0, k = 0, l = 0, m = 0, s = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, G = 0, H = 0, I = 0, K = 0, L = 0, M = 0;
+ m = Ca - 16 | 0;
+ Ca = m;
+ q[m + 4 >> 2] = f;
+ l = q[a + 352 >> 2];
+ a : {
+  if (q[a + 144 >> 2] == (b | 0)) {
+   E = a + 284 | 0;
+   B = a + 288 | 0;
+   break a;
+  }
+  E = q[a + 296 >> 2];
+  B = E + 4 | 0;
+ }
+ x = a + 424 | 0;
+ v = a + 412 | 0;
+ I = a + 288 | 0;
+ K = a + 284 | 0;
+ G = l + 132 | 0;
+ y = l + 96 | 0;
+ u = l + 92 | 0;
+ z = l + 80 | 0;
+ H = a + 252 | 0;
+ b : {
+  c : {
+   d : {
+    e : {
+     while (1) {
+      f : {
+       q[E >> 2] = c;
+       j = q[m + 4 >> 2];
+       q[B >> 2] = j;
+       g : {
+        if ((e | 0) > 0) {
+         f = e;
+         break g;
+        }
+        if (e ? h : 0) {
+         break c;
+        }
+        f = 15;
+        h : {
+         A = e + 15 | 0;
+         if (A >>> 0 > 15) {
+          break h;
+         }
+         k = 6;
+         s = 5;
+         i : {
+          switch (A - 1 | 0) {
+          case 14:
+           q[E >> 2] = j;
+           k = 4;
+           break b;
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 11:
+           break h;
+          case 10:
+           break i;
+          case 12:
+           break b;
+          case 13:
+           break f;
+          default:
+           break g;
+          }
+         }
+         if (q[a + 144 >> 2] != (b | 0)) {
+          if (!r[q[a + 296 >> 2] + 20 | 0]) {
+           break c;
+          }
+          break d;
+         }
+         if (r[a + 484 | 0]) {
+          break d;
+         }
+         k = 3;
+         break b;
+        }
+        q[m + 4 >> 2] = d;
+        f = 0 - e | 0;
+        j = d;
+       }
+       k = 1;
+       C = n[q[H >> 2]](H, f, c, j, b) | 0;
+       e = C + 1 | 0;
+       j : {
+        k : {
+         if (e >>> 0 > 61) {
+          break k;
+         }
+         j = 0;
+         l : {
+          m : {
+           n : {
+            o : {
+             p : {
+              q : {
+               r : {
+                s : {
+                 t : {
+                  u : {
+                   v : {
+                    w : {
+                     x : {
+                      y : {
+                       z : {
+                        A : {
+                         B : {
+                          C : {
+                           D : {
+                            E : {
+                             F : {
+                              G : {
+                               H : {
+                                I : {
+                                 J : {
+                                  K : {
+                                   L : {
+                                    M : {
+                                     N : {
+                                      O : {
+                                       P : {
+                                        Q : {
+                                         R : {
+                                          S : {
+                                           T : {
+                                            U : {
+                                             V : {
+                                              W : {
+                                               X : {
+                                                Y : {
+                                                 Z : {
+                                                  _ : {
+                                                   $ : {
+                                                    aa : {
+                                                     ba : {
+                                                      ca : {
+                                                       da : {
+                                                        ea : {
+                                                         fa : {
+                                                          ga : {
+                                                           ha : {
+                                                            ia : {
+                                                             ja : {
+                                                              ka : {
+                                                               la : {
+                                                                ma : {
+                                                                 na : {
+                                                                  oa : {
+                                                                   pa : {
+                                                                    qa : {
+                                                                     ra : {
+                                                                      sa : {
+                                                                       ta : {
+                                                                        ua : {
+                                                                         va : {
+                                                                          wa : {
+                                                                           switch (e - 1 | 0) {
+                                                                           case 1:
+                                                                            s = mW(a, 0, c, q[m + 4 >> 2]);
+                                                                            if (s) {
+                                                                             break f;
+                                                                            }
+                                                                            b = q[a + 144 >> 2];
+                                                                            break j;
+                                                                           case 4:
+                                                                            xa : {
+                                                                             if (!q[a + 84 >> 2]) {
+                                                                              e = 1;
+                                                                              break xa;
+                                                                             }
+                                                                             e = q[m + 4 >> 2];
+                                                                             q[m + 12 >> 2] = c;
+                                                                             if (!q[x >> 2]) {
+                                                                              if (!_V(v)) {
+                                                                               break e;
+                                                                              }
+                                                                             }
+                                                                             while (1) {
+                                                                              if (n[q[b + 56 >> 2]](b, m + 12 | 0, e, x, q[a + 420 >> 2]) >>> 0 >= 2) {
+                                                                               if (_V(v)) {
+                                                                                continue;
+                                                                               }
+                                                                               break e;
+                                                                              }
+                                                                              break;
+                                                                             }
+                                                                             if (!q[a + 428 >> 2]) {
+                                                                              break e;
+                                                                             }
+                                                                             f = q[a + 424 >> 2];
+                                                                             if ((f | 0) == q[a + 420 >> 2]) {
+                                                                              if (!_V(v)) {
+                                                                               break e;
+                                                                              }
+                                                                              f = q[x >> 2];
+                                                                             }
+                                                                             s = 1;
+                                                                             q[a + 424 >> 2] = f + 1;
+                                                                             e = 0;
+                                                                             o[f | 0] = 0;
+                                                                             f = q[a + 428 >> 2];
+                                                                             q[a + 316 >> 2] = f;
+                                                                             if (!f) {
+                                                                              break f;
+                                                                             }
+                                                                             q[a + 324 >> 2] = 0;
+                                                                             q[a + 428 >> 2] = q[a + 424 >> 2];
+                                                                            }
+                                                                            q[a + 320 >> 2] = 0;
+                                                                            if (e) {
+                                                                             break k;
+                                                                            }
+                                                                            break j;
+                                                                           case 7:
+                                                                            e = q[a + 84 >> 2];
+                                                                            if (!e) {
+                                                                             break k;
+                                                                            }
+                                                                            n[e](q[a + 4 >> 2], q[a + 316 >> 2], q[a + 320 >> 2], q[a + 324 >> 2], 1);
+                                                                            q[a + 316 >> 2] = 0;
+                                                                            f = q[a + 416 >> 2];
+                                                                            ya : {
+                                                                             if (!f) {
+                                                                              q[a + 416 >> 2] = q[a + 412 >> 2];
+                                                                              break ya;
+                                                                             }
+                                                                             c = q[v >> 2];
+                                                                             if (!c) {
+                                                                              break ya;
+                                                                             }
+                                                                             while (1) {
+                                                                              e = q[c >> 2];
+                                                                              q[c >> 2] = f;
+                                                                              q[a + 416 >> 2] = c;
+                                                                              f = c;
+                                                                              c = e;
+                                                                              if (e) {
+                                                                               continue;
+                                                                              }
+                                                                              break;
+                                                                             }
+                                                                            }
+                                                                            q[a + 428 >> 2] = 0;
+                                                                            q[a + 412 >> 2] = 0;
+                                                                            q[a + 420 >> 2] = 0;
+                                                                            q[a + 424 >> 2] = 0;
+                                                                            break j;
+                                                                           case 57:
+                                                                            s = mW(a, 1, c, q[m + 4 >> 2]);
+                                                                            if (s) {
+                                                                             break f;
+                                                                            }
+                                                                            b = q[a + 144 >> 2];
+                                                                            break j;
+                                                                           case 39:
+                                                                            break x;
+                                                                           case 33:
+                                                                            break y;
+                                                                           case 17:
+                                                                            break z;
+                                                                           case 11:
+                                                                            break A;
+                                                                           case 3:
+                                                                            break B;
+                                                                           case 0:
+                                                                            break C;
+                                                                           case 56:
+                                                                            break D;
+                                                                           case 55:
+                                                                            break E;
+                                                                           case 45:
+                                                                            break F;
+                                                                           case 48:
+                                                                            break G;
+                                                                           case 46:
+                                                                            break H;
+                                                                           case 47:
+                                                                            break I;
+                                                                           case 51:
+                                                                            break K;
+                                                                           case 53:
+                                                                            break L;
+                                                                           case 54:
+                                                                            break M;
+                                                                           case 52:
+                                                                            break N;
+                                                                           case 43:
+                                                                            break O;
+                                                                           case 41:
+                                                                           case 42:
+                                                                            break P;
+                                                                           case 40:
+                                                                            break Q;
+                                                                           case 59:
+                                                                           case 60:
+                                                                            break R;
+                                                                           case 49:
+                                                                            break S;
+                                                                           case 50:
+                                                                            break T;
+                                                                           case 44:
+                                                                            break U;
+                                                                           case 58:
+                                                                            break V;
+                                                                           case 20:
+                                                                            break X;
+                                                                           case 19:
+                                                                            break Y;
+                                                                           case 21:
+                                                                            break Z;
+                                                                           case 18:
+                                                                            break _;
+                                                                           case 10:
+                                                                            break $;
+                                                                           case 9:
+                                                                            break aa;
+                                                                           case 16:
+                                                                            break ba;
+                                                                           case 15:
+                                                                            break ca;
+                                                                           case 13:
+                                                                            break da;
+                                                                           case 5:
+                                                                            break ea;
+                                                                           case 12:
+                                                                            break fa;
+                                                                           case 37:
+                                                                           case 38:
+                                                                            break ga;
+                                                                           case 35:
+                                                                           case 36:
+                                                                            break ha;
+                                                                           case 31:
+                                                                           case 32:
+                                                                            break ia;
+                                                                           case 30:
+                                                                            break ja;
+                                                                           case 29:
+                                                                            break ka;
+                                                                           case 28:
+                                                                            break la;
+                                                                           case 27:
+                                                                            break ma;
+                                                                           case 26:
+                                                                            break na;
+                                                                           case 25:
+                                                                            break oa;
+                                                                           case 24:
+                                                                            break pa;
+                                                                           case 23:
+                                                                            break qa;
+                                                                           case 22:
+                                                                            break ra;
+                                                                           case 34:
+                                                                            break sa;
+                                                                           case 2:
+                                                                            break ta;
+                                                                           case 8:
+                                                                            break ua;
+                                                                           case 14:
+                                                                            break va;
+                                                                           case 6:
+                                                                            break wa;
+                                                                           default:
+                                                                            break W;
+                                                                           }
+                                                                          }
+                                                                          o[a + 485 | 0] = 0;
+                                                                          e = $V(a, G, 497838, 36);
+                                                                          q[a + 312 >> 2] = e;
+                                                                          if (!e) {
+                                                                           break b;
+                                                                          }
+                                                                          o[l + 129 | 0] = 1;
+                                                                          if (!q[a + 84 >> 2]) {
+                                                                           break va;
+                                                                          }
+                                                                          if (!n[q[b + 52 >> 2]](b, c, q[m + 4 >> 2], E)) {
+                                                                           k = 32;
+                                                                           break b;
+                                                                          }
+                                                                          e = q[m + 4 >> 2];
+                                                                          f = q[b + 64 >> 2];
+                                                                          q[m + 12 >> 2] = f + c;
+                                                                          if (!q[x >> 2]) {
+                                                                           if (!_V(v)) {
+                                                                            break b;
+                                                                           }
+                                                                          }
+                                                                          e = e - f | 0;
+                                                                          za : {
+                                                                           while (1) {
+                                                                            if (n[q[b + 56 >> 2]](b, m + 12 | 0, e, x, q[a + 420 >> 2]) >>> 0 < 2) {
+                                                                             break za;
+                                                                            }
+                                                                            if (_V(v)) {
+                                                                             continue;
+                                                                            }
+                                                                            break;
+                                                                           }
+                                                                           break b;
+                                                                          }
+                                                                          s = 1;
+                                                                          if (!q[a + 428 >> 2]) {
+                                                                           break f;
+                                                                          }
+                                                                          e = q[a + 424 >> 2];
+                                                                          if ((e | 0) == q[a + 420 >> 2]) {
+                                                                           if (!_V(v)) {
+                                                                            break f;
+                                                                           }
+                                                                           e = q[x >> 2];
+                                                                          }
+                                                                          q[a + 424 >> 2] = e + 1;
+                                                                          o[e | 0] = 0;
+                                                                          f = q[a + 428 >> 2];
+                                                                          if (!f) {
+                                                                           break f;
+                                                                          }
+                                                                          s = f;
+                                                                          j = f;
+                                                                          e = f;
+                                                                          k = r[e | 0];
+                                                                          Aa : {
+                                                                           if (!k) {
+                                                                            break Aa;
+                                                                           }
+                                                                           while (1) {
+                                                                            e = j;
+                                                                            A = s;
+                                                                            j = (k << 24 >> 24) + -10 | 0;
+                                                                            Ba : {
+                                                                             if (!(j >>> 0 > 22 | !(1 << j & 4194313))) {
+                                                                              j = f;
+                                                                              if ((e | 0) == (f | 0)) {
+                                                                               break Ba;
+                                                                              }
+                                                                              if (r[e + -1 | 0] == 32) {
+                                                                               j = e;
+                                                                               break Ba;
+                                                                              }
+                                                                              o[e | 0] = 32;
+                                                                              j = e + 1 | 0;
+                                                                              break Ba;
+                                                                             }
+                                                                             o[e | 0] = k;
+                                                                             j = e + 1 | 0;
+                                                                            }
+                                                                            s = A + 1 | 0;
+                                                                            k = r[A + 1 | 0];
+                                                                            if (k) {
+                                                                             continue;
+                                                                            }
+                                                                            break;
+                                                                           }
+                                                                           e = f;
+                                                                           if ((j | 0) == (e | 0)) {
+                                                                            break Aa;
+                                                                           }
+                                                                           e = j + -1 | 0;
+                                                                           e = r[e | 0] == 32 ? e : j;
+                                                                          }
+                                                                          k = 0;
+                                                                          o[e | 0] = 0;
+                                                                          q[a + 324 >> 2] = f;
+                                                                          q[a + 428 >> 2] = q[a + 424 >> 2];
+                                                                          break m;
+                                                                         }
+                                                                         if (n[q[b + 52 >> 2]](b, c, q[m + 4 >> 2], E)) {
+                                                                          break m;
+                                                                         }
+                                                                         k = 32;
+                                                                         break b;
+                                                                        }
+                                                                        if ((i | 0) != 1) {
+                                                                         k = 4;
+                                                                         break b;
+                                                                        }
+                                                                        e = q[a + 316 >> 2];
+                                                                        if (e) {
+                                                                         n[q[a + 84 >> 2]](q[a + 4 >> 2], e, q[a + 320 >> 2], q[a + 324 >> 2], 0);
+                                                                         j = q[a + 416 >> 2];
+                                                                         Ca : {
+                                                                          if (!j) {
+                                                                           q[a + 416 >> 2] = q[a + 412 >> 2];
+                                                                           break Ca;
+                                                                          }
+                                                                          e = q[v >> 2];
+                                                                          if (!e) {
+                                                                           break Ca;
+                                                                          }
+                                                                          while (1) {
+                                                                           f = q[e >> 2];
+                                                                           q[e >> 2] = j;
+                                                                           q[a + 416 >> 2] = e;
+                                                                           j = e;
+                                                                           e = f;
+                                                                           if (e) {
+                                                                            continue;
+                                                                           }
+                                                                           break;
+                                                                          }
+                                                                         }
+                                                                         q[a + 428 >> 2] = 0;
+                                                                         q[a + 412 >> 2] = 0;
+                                                                         q[a + 420 >> 2] = 0;
+                                                                         q[a + 424 >> 2] = 0;
+                                                                         k = 0;
+                                                                        }
+                                                                        if (!(r[a + 485 | 0] ? 0 : !q[a + 320 >> 2])) {
+                                                                         f = r[l + 129 | 0];
+                                                                         o[l + 129 | 0] = 1;
+                                                                         Da : {
+                                                                          if (!q[a + 488 >> 2] | !q[a + 112 >> 2]) {
+                                                                           break Da;
+                                                                          }
+                                                                          e = $V(a, G, 497838, 36);
+                                                                          if (!e) {
+                                                                           k = 1;
+                                                                           break b;
+                                                                          }
+                                                                          if (r[a + 485 | 0]) {
+                                                                           q[e + 20 >> 2] = q[a + 356 >> 2];
+                                                                          }
+                                                                          o[l + 131 | 0] = 0;
+                                                                          if (!n[q[a + 112 >> 2]](q[a + 116 >> 2], 0, q[e + 20 >> 2], q[e + 16 >> 2], q[e + 24 >> 2])) {
+                                                                           k = 21;
+                                                                           break b;
+                                                                          }
+                                                                          if (r[l + 131 | 0]) {
+                                                                           if (r[l + 130 | 0]) {
+                                                                            break Da;
+                                                                           }
+                                                                           e = q[a + 108 >> 2];
+                                                                           if (!e) {
+                                                                            break Da;
+                                                                           }
+                                                                           if (n[e](q[a + 4 >> 2])) {
+                                                                            break Da;
+                                                                           }
+                                                                           k = 22;
+                                                                           break b;
+                                                                          }
+                                                                          if (q[a + 320 >> 2]) {
+                                                                           break Da;
+                                                                          }
+                                                                          o[l + 129 | 0] = f;
+                                                                         }
+                                                                         o[a + 485 | 0] = 0;
+                                                                        }
+                                                                        e = q[a + 88 >> 2];
+                                                                        if (!e) {
+                                                                         break l;
+                                                                        }
+                                                                        n[e](q[a + 4 >> 2]);
+                                                                        break j;
+                                                                       }
+                                                                       Ea : {
+                                                                        if (!r[a + 485 | 0]) {
+                                                                         break Ea;
+                                                                        }
+                                                                        e = r[l + 129 | 0];
+                                                                        o[l + 129 | 0] = 1;
+                                                                        if (!q[a + 488 >> 2] | !q[a + 112 >> 2]) {
+                                                                         break Ea;
+                                                                        }
+                                                                        b = $V(a, G, 497838, 36);
+                                                                        if (!b) {
+                                                                         break b;
+                                                                        }
+                                                                        q[b + 20 >> 2] = q[a + 356 >> 2];
+                                                                        o[l + 131 | 0] = 0;
+                                                                        if (!n[q[a + 112 >> 2]](q[a + 116 >> 2], 0, q[b + 20 >> 2], q[b + 16 >> 2], q[b + 24 >> 2])) {
+                                                                         k = 21;
+                                                                         break b;
+                                                                        }
+                                                                        if (r[l + 131 | 0]) {
+                                                                         if (r[l + 130 | 0]) {
+                                                                          break Ea;
+                                                                         }
+                                                                         b = q[a + 108 >> 2];
+                                                                         if (!b) {
+                                                                          break Ea;
+                                                                         }
+                                                                         if (n[b](q[a + 4 >> 2])) {
+                                                                          break Ea;
+                                                                         }
+                                                                         k = 22;
+                                                                         break b;
+                                                                        }
+                                                                        o[l + 129 | 0] = e;
+                                                                       }
+                                                                       q[a + 276 >> 2] = 969;
+                                                                       k = oW(a, 0, q[a + 144 >> 2], c, d, g, !r[a + 480 | 0]);
+                                                                       if (k) {
+                                                                        break b;
+                                                                       }
+                                                                       b = q[a + 360 >> 2];
+                                                                       if (!b) {
+                                                                        k = 0;
+                                                                        break b;
+                                                                       }
+                                                                       while (1) {
+                                                                        f = q[b + 4 >> 2];
+                                                                        c = q[b + 36 >> 2];
+                                                                        d = q[b + 24 >> 2] + 1 | 0;
+                                                                        j = c + d | 0;
+                                                                        if ((f | 0) == (j | 0)) {
+                                                                         k = 0;
+                                                                         break b;
+                                                                        }
+                                                                        k = q[b + 8 >> 2];
+                                                                        e = d + k | 0;
+                                                                        if ((e | 0) > (q[b + 40 >> 2] - c | 0)) {
+                                                                         c = n[q[a + 16 >> 2]](c, e) | 0;
+                                                                         if (!c) {
+                                                                          k = 1;
+                                                                          break b;
+                                                                         }
+                                                                         f = q[b + 36 >> 2];
+                                                                         if ((f | 0) == q[b + 12 >> 2]) {
+                                                                          q[b + 12 >> 2] = c;
+                                                                         }
+                                                                         g = q[b + 16 >> 2];
+                                                                         if (g) {
+                                                                          q[b + 16 >> 2] = c + (g - f | 0);
+                                                                         }
+                                                                         q[b + 36 >> 2] = c;
+                                                                         q[b + 40 >> 2] = c + e;
+                                                                         j = c + d | 0;
+                                                                         k = q[b + 8 >> 2];
+                                                                         f = q[b + 4 >> 2];
+                                                                        }
+                                                                        L = b, M = Y$(j, f, k), q[L + 4 >> 2] = M;
+                                                                        b = q[b >> 2];
+                                                                        if (b) {
+                                                                         continue;
+                                                                        }
+                                                                        break;
+                                                                       }
+                                                                       k = 0;
+                                                                       break b;
+                                                                      }
+                                                                      e = q[a + 352 >> 2];
+                                                                      k = q[m + 4 >> 2];
+                                                                      q[m + 12 >> 2] = c;
+                                                                      f = e + 80 | 0;
+                                                                      j = e + 92 | 0;
+                                                                      Fa : {
+                                                                       if (!q[j >> 2]) {
+                                                                        if (!_V(f)) {
+                                                                         break Fa;
+                                                                        }
+                                                                       }
+                                                                       while (1) {
+                                                                        if (n[q[b + 56 >> 2]](b, m + 12 | 0, k, j, q[e + 88 >> 2]) >>> 0 >= 2) {
+                                                                         if (_V(f)) {
+                                                                          continue;
+                                                                         }
+                                                                         break Fa;
+                                                                        }
+                                                                        break;
+                                                                       }
+                                                                       if (!q[e + 96 >> 2]) {
+                                                                        break Fa;
+                                                                       }
+                                                                       k = q[e + 92 >> 2];
+                                                                       if ((k | 0) == q[e + 88 >> 2]) {
+                                                                        if (!_V(f)) {
+                                                                         break Fa;
+                                                                        }
+                                                                        k = q[j >> 2];
+                                                                       }
+                                                                       q[e + 92 >> 2] = k + 1;
+                                                                       o[k | 0] = 0;
+                                                                       j = q[e + 96 >> 2];
+                                                                       if (!j) {
+                                                                        break Fa;
+                                                                       }
+                                                                       f = $V(a, e + 20 | 0, j, 24);
+                                                                       if (!f) {
+                                                                        break Fa;
+                                                                       }
+                                                                       if ((j | 0) != q[f >> 2]) {
+                                                                        q[e + 92 >> 2] = q[e + 96 >> 2];
+                                                                        break o;
+                                                                       }
+                                                                       q[e + 96 >> 2] = q[e + 92 >> 2];
+                                                                       if (pW(a, f)) {
+                                                                        break o;
+                                                                       }
+                                                                      }
+                                                                      q[a + 340 >> 2] = 0;
+                                                                      k = 1;
+                                                                      break b;
+                                                                     }
+                                                                     e = qW(a, b, c, q[m + 4 >> 2]);
+                                                                     q[a + 344 >> 2] = e;
+                                                                     if (!e) {
+                                                                      break b;
+                                                                     }
+                                                                     q[a + 328 >> 2] = 0;
+                                                                     p[a + 348 >> 1] = 0;
+                                                                     break n;
+                                                                    }
+                                                                    q[a + 328 >> 2] = 497840;
+                                                                    o[a + 348 | 0] = 1;
+                                                                    break n;
+                                                                   }
+                                                                   q[a + 328 >> 2] = 497846;
+                                                                   o[a + 349 | 0] = 1;
+                                                                   break n;
+                                                                  }
+                                                                  q[a + 328 >> 2] = 497849;
+                                                                  break n;
+                                                                 }
+                                                                 q[a + 328 >> 2] = 497855;
+                                                                 break n;
+                                                                }
+                                                                q[a + 328 >> 2] = 497862;
+                                                                break n;
+                                                               }
+                                                               q[a + 328 >> 2] = 497869;
+                                                               break n;
+                                                              }
+                                                              q[a + 328 >> 2] = 497878;
+                                                              break n;
+                                                             }
+                                                             q[a + 328 >> 2] = 497886;
+                                                             break n;
+                                                            }
+                                                            if (!r[l + 128 | 0] | !q[a + 132 >> 2]) {
+                                                             break k;
+                                                            }
+                                                            e = q[a + 328 >> 2] ? 497905 : (C | 0) == 32 ? 497895 : 497907;
+                                                            f = r[e | 0];
+                                                            if (f) {
+                                                             while (1) {
+                                                              j = q[a + 424 >> 2];
+                                                              if ((j | 0) == q[a + 420 >> 2]) {
+                                                               if (!_V(v)) {
+                                                                break b;
+                                                               }
+                                                               j = q[x >> 2];
+                                                               f = r[e | 0];
+                                                              }
+                                                              q[x >> 2] = j + 1;
+                                                              o[j | 0] = f;
+                                                              f = r[e + 1 | 0];
+                                                              e = e + 1 | 0;
+                                                              if (f) {
+                                                               continue;
+                                                              }
+                                                              break;
+                                                             }
+                                                            }
+                                                            s = 1;
+                                                            if (!q[a + 428 >> 2]) {
+                                                             break f;
+                                                            }
+                                                            e = q[m + 4 >> 2];
+                                                            q[m + 12 >> 2] = c;
+                                                            if (!q[x >> 2]) {
+                                                             if (!_V(v)) {
+                                                              break b;
+                                                             }
+                                                            }
+                                                            Ga : {
+                                                             while (1) {
+                                                              if (n[q[b + 56 >> 2]](b, m + 12 | 0, e, x, q[a + 420 >> 2]) >>> 0 < 2) {
+                                                               break Ga;
+                                                              }
+                                                              if (_V(v)) {
+                                                               continue;
+                                                              }
+                                                              break;
+                                                             }
+                                                             break b;
+                                                            }
+                                                            c = q[a + 428 >> 2];
+                                                            if (!c) {
+                                                             break f;
+                                                            }
+                                                            q[a + 328 >> 2] = c;
+                                                            break j;
+                                                           }
+                                                           if (!r[l + 128 | 0]) {
+                                                            break k;
+                                                           }
+                                                           s = r[a + 348 | 0];
+                                                           k = q[a + 344 >> 2];
+                                                           f = q[a + 340 >> 2];
+                                                           j = q[f + 12 >> 2];
+                                                           Ha : {
+                                                            Ia : {
+                                                             if (!r[a + 349 | 0]) {
+                                                              break Ia;
+                                                             }
+                                                             if ((j | 0) >= 1) {
+                                                              A = q[f + 20 >> 2];
+                                                              e = 0;
+                                                              while (1) {
+                                                               if ((k | 0) == q[A + w(e, 12) >> 2]) {
+                                                                break Ha;
+                                                               }
+                                                               e = e + 1 | 0;
+                                                               if ((j | 0) != (e | 0)) {
+                                                                continue;
+                                                               }
+                                                               break;
+                                                              }
+                                                             }
+                                                             if (q[f + 8 >> 2] | r[k + 9 | 0]) {
+                                                              break Ia;
+                                                             }
+                                                             q[f + 8 >> 2] = k;
+                                                            }
+                                                            Ja : {
+                                                             if ((j | 0) != q[f + 16 >> 2]) {
+                                                              e = q[f + 20 >> 2];
+                                                              break Ja;
+                                                             }
+                                                             if (!j) {
+                                                              q[f + 16 >> 2] = 8;
+                                                              e = n[q[a + 12 >> 2]](96) | 0;
+                                                              q[f + 20 >> 2] = e;
+                                                              if (e) {
+                                                               break Ja;
+                                                              }
+                                                              q[f + 16 >> 2] = 0;
+                                                              k = 1;
+                                                              break b;
+                                                             }
+                                                             e = n[q[a + 16 >> 2]](q[f + 20 >> 2], w(j, 24)) | 0;
+                                                             if (!e) {
+                                                              k = 1;
+                                                              break b;
+                                                             }
+                                                             q[f + 20 >> 2] = e;
+                                                             q[f + 16 >> 2] = j << 1;
+                                                            }
+                                                            e = w(q[f + 12 >> 2], 12) + e | 0;
+                                                            q[e + 8 >> 2] = 0;
+                                                            q[e >> 2] = k;
+                                                            o[e + 4 | 0] = s;
+                                                            if (!s) {
+                                                             o[k + 8 | 0] = 1;
+                                                            }
+                                                            q[f + 12 >> 2] = q[f + 12 >> 2] + 1;
+                                                           }
+                                                           if (!q[a + 132 >> 2]) {
+                                                            break k;
+                                                           }
+                                                           e = q[a + 328 >> 2];
+                                                           if (!e) {
+                                                            break k;
+                                                           }
+                                                           f = r[e | 0];
+                                                           if (!((f | 0) != 78 | r[e + 1 | 0] != 79 ? (f | 0) != 40 : 0)) {
+                                                            e = q[a + 424 >> 2];
+                                                            if ((e | 0) == q[a + 420 >> 2]) {
+                                                             if (!_V(v)) {
+                                                              k = 1;
+                                                              break b;
+                                                             }
+                                                             e = q[x >> 2];
+                                                            }
+                                                            s = 1;
+                                                            q[a + 424 >> 2] = e + 1;
+                                                            o[e | 0] = 41;
+                                                            e = q[a + 424 >> 2];
+                                                            if ((e | 0) == q[a + 420 >> 2]) {
+                                                             if (!_V(v)) {
+                                                              break f;
+                                                             }
+                                                             e = q[x >> 2];
+                                                            }
+                                                            q[a + 424 >> 2] = e + 1;
+                                                            o[e | 0] = 0;
+                                                            q[a + 328 >> 2] = q[a + 428 >> 2];
+                                                            q[a + 428 >> 2] = q[a + 424 >> 2];
+                                                           }
+                                                           q[B >> 2] = c;
+                                                           n[q[a + 132 >> 2]](q[a + 4 >> 2], q[q[a + 340 >> 2] >> 2], q[q[a + 344 >> 2] >> 2], q[a + 328 >> 2], 0, (C | 0) == 36);
+                                                           f = q[a + 416 >> 2];
+                                                           Ka : {
+                                                            if (!f) {
+                                                             q[a + 416 >> 2] = q[a + 412 >> 2];
+                                                             break Ka;
+                                                            }
+                                                            c = q[v >> 2];
+                                                            if (!c) {
+                                                             break Ka;
+                                                            }
+                                                            while (1) {
+                                                             e = q[c >> 2];
+                                                             q[c >> 2] = f;
+                                                             q[a + 416 >> 2] = c;
+                                                             f = c;
+                                                             c = e;
+                                                             if (e) {
+                                                              continue;
+                                                             }
+                                                             break;
+                                                            }
+                                                           }
+                                                           q[a + 428 >> 2] = 0;
+                                                           q[a + 412 >> 2] = 0;
+                                                           q[a + 420 >> 2] = 0;
+                                                           q[a + 424 >> 2] = 0;
+                                                           break j;
+                                                          }
+                                                          if (!r[l + 128 | 0]) {
+                                                           break k;
+                                                          }
+                                                          f = r[a + 348 | 0];
+                                                          e = q[b + 64 >> 2];
+                                                          s = rW(a, b, f, e + c | 0, q[m + 4 >> 2] - e | 0, z);
+                                                          if (s) {
+                                                           break f;
+                                                          }
+                                                          e = q[u >> 2];
+                                                          La : {
+                                                           if ((e | 0) == q[y >> 2] | f) {
+                                                            break La;
+                                                           }
+                                                           f = e + -1 | 0;
+                                                           if (r[f | 0] != 32) {
+                                                            break La;
+                                                           }
+                                                           q[u >> 2] = f;
+                                                           e = f;
+                                                          }
+                                                          if (q[l + 88 >> 2] == (e | 0)) {
+                                                           if (!_V(z)) {
+                                                            break b;
+                                                           }
+                                                           e = q[u >> 2];
+                                                          }
+                                                          q[u >> 2] = e + 1;
+                                                          o[e | 0] = 0;
+                                                          k = q[y >> 2];
+                                                          q[y >> 2] = q[u >> 2];
+                                                          A = r[a + 348 | 0];
+                                                          s = q[a + 344 >> 2];
+                                                          f = q[a + 340 >> 2];
+                                                          j = q[f + 12 >> 2];
+                                                          Ma : {
+                                                           if (!(!k | (j | 0) < 1)) {
+                                                            D = q[f + 20 >> 2];
+                                                            e = 0;
+                                                            while (1) {
+                                                             if ((s | 0) == q[D + w(e, 12) >> 2]) {
+                                                              break Ma;
+                                                             }
+                                                             e = e + 1 | 0;
+                                                             if ((j | 0) != (e | 0)) {
+                                                              continue;
+                                                             }
+                                                             break;
+                                                            }
+                                                           }
+                                                           Na : {
+                                                            if ((j | 0) != q[f + 16 >> 2]) {
+                                                             e = q[f + 20 >> 2];
+                                                             break Na;
+                                                            }
+                                                            if (!j) {
+                                                             q[f + 16 >> 2] = 8;
+                                                             e = n[q[a + 12 >> 2]](96) | 0;
+                                                             q[f + 20 >> 2] = e;
+                                                             if (e) {
+                                                              break Na;
+                                                             }
+                                                             q[f + 16 >> 2] = 0;
+                                                             k = 1;
+                                                             break b;
+                                                            }
+                                                            e = n[q[a + 16 >> 2]](q[f + 20 >> 2], w(j, 24)) | 0;
+                                                            if (!e) {
+                                                             k = 1;
+                                                             break b;
+                                                            }
+                                                            q[f + 20 >> 2] = e;
+                                                            q[f + 16 >> 2] = j << 1;
+                                                           }
+                                                           e = w(q[f + 12 >> 2], 12) + e | 0;
+                                                           q[e + 8 >> 2] = k;
+                                                           q[e >> 2] = s;
+                                                           o[e + 4 | 0] = A;
+                                                           if (!A) {
+                                                            o[s + 8 | 0] = 1;
+                                                           }
+                                                           q[f + 12 >> 2] = q[f + 12 >> 2] + 1;
+                                                          }
+                                                          if (!q[a + 132 >> 2]) {
+                                                           break k;
+                                                          }
+                                                          e = q[a + 328 >> 2];
+                                                          if (!e) {
+                                                           break k;
+                                                          }
+                                                          f = r[e | 0];
+                                                          if (!((f | 0) != 78 | r[e + 1 | 0] != 79 ? (f | 0) != 40 : 0)) {
+                                                           e = q[a + 424 >> 2];
+                                                           if ((e | 0) == q[a + 420 >> 2]) {
+                                                            if (!_V(v)) {
+                                                             k = 1;
+                                                             break b;
+                                                            }
+                                                            e = q[x >> 2];
+                                                           }
+                                                           s = 1;
+                                                           q[a + 424 >> 2] = e + 1;
+                                                           o[e | 0] = 41;
+                                                           e = q[a + 424 >> 2];
+                                                           if ((e | 0) == q[a + 420 >> 2]) {
+                                                            if (!_V(v)) {
+                                                             break f;
+                                                            }
+                                                            e = q[x >> 2];
+                                                           }
+                                                           q[a + 424 >> 2] = e + 1;
+                                                           o[e | 0] = 0;
+                                                           q[a + 328 >> 2] = q[a + 428 >> 2];
+                                                           q[a + 428 >> 2] = q[a + 424 >> 2];
+                                                          }
+                                                          q[B >> 2] = c;
+                                                          n[q[a + 132 >> 2]](q[a + 4 >> 2], q[q[a + 340 >> 2] >> 2], q[q[a + 344 >> 2] >> 2], q[a + 328 >> 2], k, (C | 0) == 38);
+                                                          f = q[a + 416 >> 2];
+                                                          Oa : {
+                                                           if (!f) {
+                                                            q[a + 416 >> 2] = q[a + 412 >> 2];
+                                                            break Oa;
+                                                           }
+                                                           c = q[v >> 2];
+                                                           if (!c) {
+                                                            break Oa;
+                                                           }
+                                                           while (1) {
+                                                            e = q[c >> 2];
+                                                            q[c >> 2] = f;
+                                                            q[a + 416 >> 2] = c;
+                                                            f = c;
+                                                            c = e;
+                                                            if (e) {
+                                                             continue;
+                                                            }
+                                                            break;
+                                                           }
+                                                          }
+                                                          q[a + 428 >> 2] = 0;
+                                                          q[a + 412 >> 2] = 0;
+                                                          q[a + 420 >> 2] = 0;
+                                                          q[a + 424 >> 2] = 0;
+                                                          break j;
+                                                         }
+                                                         if (!r[l + 128 | 0]) {
+                                                          break k;
+                                                         }
+                                                         e = q[b + 64 >> 2];
+                                                         s = sW(a, b, e + c | 0, q[m + 4 >> 2] - e | 0);
+                                                         e = q[l + 120 >> 2];
+                                                         f = q[a + 312 >> 2];
+                                                         Pa : {
+                                                          if (f) {
+                                                           q[f + 4 >> 2] = e;
+                                                           q[q[a + 312 >> 2] + 8 >> 2] = q[l + 116 >> 2] - q[l + 120 >> 2];
+                                                           q[l + 120 >> 2] = q[l + 116 >> 2];
+                                                           if (!q[a + 136 >> 2]) {
+                                                            break Pa;
+                                                           }
+                                                           q[B >> 2] = c;
+                                                           k = 0;
+                                                           e = q[a + 312 >> 2];
+                                                           n[q[a + 136 >> 2]](q[a + 4 >> 2], q[e >> 2], r[e + 33 | 0], q[e + 4 >> 2], q[e + 8 >> 2], q[a + 356 >> 2], 0, 0, 0);
+                                                           if (s) {
+                                                            break f;
+                                                           }
+                                                           break l;
+                                                          }
+                                                          q[l + 116 >> 2] = e;
+                                                         }
+                                                         if (s) {
+                                                          break f;
+                                                         }
+                                                         break l;
+                                                        }
+                                                        o[a + 485 | 0] = 0;
+                                                        o[l + 129 | 0] = 1;
+                                                        Qa : {
+                                                         if (q[a + 84 >> 2]) {
+                                                          e = q[m + 4 >> 2];
+                                                          f = q[b + 64 >> 2];
+                                                          q[m + 12 >> 2] = f + c;
+                                                          if (!q[x >> 2]) {
+                                                           if (!_V(v)) {
+                                                            break p;
+                                                           }
+                                                          }
+                                                          e = e - f | 0;
+                                                          while (1) {
+                                                           if (n[q[b + 56 >> 2]](b, m + 12 | 0, e, x, q[a + 420 >> 2]) >>> 0 >= 2) {
+                                                            if (_V(v)) {
+                                                             continue;
+                                                            }
+                                                            break p;
+                                                           }
+                                                           break;
+                                                          }
+                                                          if (!q[a + 428 >> 2]) {
+                                                           break p;
+                                                          }
+                                                          e = q[a + 424 >> 2];
+                                                          if ((e | 0) == q[a + 420 >> 2]) {
+                                                           if (!_V(v)) {
+                                                            break p;
+                                                           }
+                                                           e = q[x >> 2];
+                                                          }
+                                                          s = 1;
+                                                          q[a + 424 >> 2] = e + 1;
+                                                          k = 0;
+                                                          o[e | 0] = 0;
+                                                          e = q[a + 428 >> 2];
+                                                          q[a + 320 >> 2] = e;
+                                                          if (!e) {
+                                                           break f;
+                                                          }
+                                                          q[a + 428 >> 2] = q[a + 424 >> 2];
+                                                          break Qa;
+                                                         }
+                                                         q[a + 320 >> 2] = 497838;
+                                                        }
+                                                        Ra : {
+                                                         if (r[l + 130 | 0] | q[a + 488 >> 2]) {
+                                                          break Ra;
+                                                         }
+                                                         e = q[a + 108 >> 2];
+                                                         if (!e) {
+                                                          break Ra;
+                                                         }
+                                                         if (n[e](q[a + 4 >> 2])) {
+                                                          break Ra;
+                                                         }
+                                                         k = 22;
+                                                         break b;
+                                                        }
+                                                        if (q[a + 312 >> 2]) {
+                                                         break da;
+                                                        }
+                                                        e = $V(a, G, 497838, 36);
+                                                        q[a + 312 >> 2] = e;
+                                                        if (!e) {
+                                                         k = 1;
+                                                         break b;
+                                                        }
+                                                        q[e + 24 >> 2] = 0;
+                                                       }
+                                                       if (!r[l + 128 | 0] | !q[a + 312 >> 2]) {
+                                                        break l;
+                                                       }
+                                                       e = q[m + 4 >> 2];
+                                                       f = q[b + 64 >> 2];
+                                                       q[m + 12 >> 2] = f + c;
+                                                       Sa : {
+                                                        Ta : {
+                                                         Ua : {
+                                                          if (!q[u >> 2]) {
+                                                           if (!_V(z)) {
+                                                            break Ua;
+                                                           }
+                                                          }
+                                                          e = e - f | 0;
+                                                          while (1) {
+                                                           if (n[q[b + 56 >> 2]](b, m + 12 | 0, e, u, q[l + 88 >> 2]) >>> 0 < 2) {
+                                                            break Ta;
+                                                           }
+                                                           if (_V(z)) {
+                                                            continue;
+                                                           }
+                                                           break;
+                                                          }
+                                                         }
+                                                         e = 0;
+                                                         break Sa;
+                                                        }
+                                                        e = 0;
+                                                        if (!q[y >> 2]) {
+                                                         break Sa;
+                                                        }
+                                                        f = q[l + 92 >> 2];
+                                                        if ((f | 0) == q[l + 88 >> 2]) {
+                                                         if (!_V(z)) {
+                                                          break Sa;
+                                                         }
+                                                         f = q[u >> 2];
+                                                        }
+                                                        q[u >> 2] = f + 1;
+                                                        o[f | 0] = 0;
+                                                        e = q[y >> 2];
+                                                       }
+                                                       q[q[a + 312 >> 2] + 16 >> 2] = e;
+                                                       e = q[a + 312 >> 2];
+                                                       if (!q[e + 16 >> 2]) {
+                                                        k = 1;
+                                                        break b;
+                                                       }
+                                                       q[e + 20 >> 2] = q[a + 356 >> 2];
+                                                       q[y >> 2] = q[u >> 2];
+                                                       if (!q[a + 136 >> 2] | (C | 0) != 13) {
+                                                        break l;
+                                                       }
+                                                       break j;
+                                                      }
+                                                      if (!q[a + 136 >> 2] | (!r[l + 128 | 0] | !q[a + 312 >> 2])) {
+                                                       break k;
+                                                      }
+                                                      q[B >> 2] = c;
+                                                      c = q[a + 312 >> 2];
+                                                      n[q[a + 136 >> 2]](q[a + 4 >> 2], q[c >> 2], r[c + 33 | 0], 0, 0, q[c + 20 >> 2], q[c + 16 >> 2], q[c + 24 >> 2], 0);
+                                                      break j;
+                                                     }
+                                                     if (!r[l + 128 | 0] | !q[a + 312 >> 2]) {
+                                                      break k;
+                                                     }
+                                                     e = q[m + 4 >> 2];
+                                                     q[m + 12 >> 2] = c;
+                                                     Va : {
+                                                      Wa : {
+                                                       Xa : {
+                                                        if (!q[u >> 2]) {
+                                                         if (!_V(z)) {
+                                                          break Xa;
+                                                         }
+                                                        }
+                                                        while (1) {
+                                                         if (n[q[b + 56 >> 2]](b, m + 12 | 0, e, u, q[l + 88 >> 2]) >>> 0 < 2) {
+                                                          break Wa;
+                                                         }
+                                                         if (_V(z)) {
+                                                          continue;
+                                                         }
+                                                         break;
+                                                        }
+                                                       }
+                                                       e = 0;
+                                                       break Va;
+                                                      }
+                                                      e = 0;
+                                                      if (!q[y >> 2]) {
+                                                       break Va;
+                                                      }
+                                                      f = q[l + 92 >> 2];
+                                                      if ((f | 0) == q[l + 88 >> 2]) {
+                                                       if (!_V(z)) {
+                                                        break Va;
+                                                       }
+                                                       f = q[u >> 2];
+                                                      }
+                                                      q[u >> 2] = f + 1;
+                                                      o[f | 0] = 0;
+                                                      e = q[y >> 2];
+                                                     }
+                                                     q[q[a + 312 >> 2] + 28 >> 2] = e;
+                                                     if (!q[q[a + 312 >> 2] + 28 >> 2]) {
+                                                      break b;
+                                                     }
+                                                     q[y >> 2] = q[u >> 2];
+                                                     if (q[a + 92 >> 2]) {
+                                                      q[B >> 2] = c;
+                                                      c = q[a + 312 >> 2];
+                                                      n[q[a + 92 >> 2]](q[a + 4 >> 2], q[c >> 2], q[c + 20 >> 2], q[c + 16 >> 2], q[c + 24 >> 2], q[c + 28 >> 2]);
+                                                      break j;
+                                                     }
+                                                     if (!q[a + 136 >> 2]) {
+                                                      break k;
+                                                     }
+                                                     q[B >> 2] = c;
+                                                     c = q[a + 312 >> 2];
+                                                     n[q[a + 136 >> 2]](q[a + 4 >> 2], q[c >> 2], 0, 0, 0, q[c + 20 >> 2], q[c + 16 >> 2], q[c + 24 >> 2], q[c + 28 >> 2]);
+                                                     break j;
+                                                    }
+                                                    if (n[q[b + 44 >> 2]](b, c, q[m + 4 >> 2])) {
+                                                     q[a + 312 >> 2] = 0;
+                                                     break k;
+                                                    }
+                                                    if (!r[l + 128 | 0]) {
+                                                     break w;
+                                                    }
+                                                    e = q[m + 4 >> 2];
+                                                    q[m + 12 >> 2] = c;
+                                                    if (!q[u >> 2]) {
+                                                     if (!_V(z)) {
+                                                      break b;
+                                                     }
+                                                    }
+                                                    Ya : {
+                                                     while (1) {
+                                                      if (n[q[b + 56 >> 2]](b, m + 12 | 0, e, u, q[l + 88 >> 2]) >>> 0 < 2) {
+                                                       break Ya;
+                                                      }
+                                                      if (_V(z)) {
+                                                       continue;
+                                                      }
+                                                      break;
+                                                     }
+                                                     break b;
+                                                    }
+                                                    s = 1;
+                                                    if (!q[y >> 2]) {
+                                                     break f;
+                                                    }
+                                                    e = q[l + 92 >> 2];
+                                                    if ((e | 0) == q[l + 88 >> 2]) {
+                                                     if (!_V(z)) {
+                                                      break f;
+                                                     }
+                                                     e = q[u >> 2];
+                                                    }
+                                                    q[u >> 2] = e + 1;
+                                                    o[e | 0] = 0;
+                                                    e = q[y >> 2];
+                                                    if (!e) {
+                                                     break f;
+                                                    }
+                                                    f = $V(a, l, e, 36);
+                                                    q[a + 312 >> 2] = f;
+                                                    if (!f) {
+                                                     break f;
+                                                    }
+                                                    if ((e | 0) != q[f >> 2]) {
+                                                     q[u >> 2] = q[y >> 2];
+                                                     q[a + 312 >> 2] = 0;
+                                                     break k;
+                                                    }
+                                                    q[y >> 2] = q[u >> 2];
+                                                    q[q[a + 312 >> 2] + 24 >> 2] = 0;
+                                                    o[q[a + 312 >> 2] + 33 | 0] = 0;
+                                                    o[q[a + 312 >> 2] + 34 | 0] = (q[a + 472 >> 2] ? 1 : q[a + 296 >> 2] != 0) ^ 1;
+                                                    if (!q[a + 136 >> 2]) {
+                                                     break k;
+                                                    }
+                                                    break j;
+                                                   }
+                                                   if (r[l + 128 | 0]) {
+                                                    e = q[m + 4 >> 2];
+                                                    q[m + 12 >> 2] = c;
+                                                    if (!q[u >> 2]) {
+                                                     if (!_V(z)) {
+                                                      break b;
+                                                     }
+                                                    }
+                                                    Za : {
+                                                     while (1) {
+                                                      if (n[q[b + 56 >> 2]](b, m + 12 | 0, e, u, q[l + 88 >> 2]) >>> 0 < 2) {
+                                                       break Za;
+                                                      }
+                                                      if (_V(z)) {
+                                                       continue;
+                                                      }
+                                                      break;
+                                                     }
+                                                     break b;
+                                                    }
+                                                    s = 1;
+                                                    if (!q[y >> 2]) {
+                                                     break f;
+                                                    }
+                                                    e = q[l + 92 >> 2];
+                                                    if ((e | 0) == q[l + 88 >> 2]) {
+                                                     if (!_V(z)) {
+                                                      break f;
+                                                     }
+                                                     e = q[u >> 2];
+                                                    }
+                                                    q[u >> 2] = e + 1;
+                                                    o[e | 0] = 0;
+                                                    e = q[y >> 2];
+                                                    if (!e) {
+                                                     break f;
+                                                    }
+                                                    f = $V(a, G, e, 36);
+                                                    q[a + 312 >> 2] = f;
+                                                    if (!f) {
+                                                     break f;
+                                                    }
+                                                    if ((e | 0) != q[f >> 2]) {
+                                                     q[u >> 2] = q[y >> 2];
+                                                     q[a + 312 >> 2] = 0;
+                                                     break k;
+                                                    }
+                                                    q[y >> 2] = q[u >> 2];
+                                                    q[q[a + 312 >> 2] + 24 >> 2] = 0;
+                                                    o[q[a + 312 >> 2] + 33 | 0] = 1;
+                                                    o[q[a + 312 >> 2] + 34 | 0] = (q[a + 472 >> 2] ? 1 : q[a + 296 >> 2] != 0) ^ 1;
+                                                    if (!q[a + 136 >> 2]) {
+                                                     break k;
+                                                    }
+                                                    break j;
+                                                   }
+                                                   q[u >> 2] = q[y >> 2];
+                                                   q[a + 312 >> 2] = 0;
+                                                   break k;
+                                                  }
+                                                  q[a + 332 >> 2] = 0;
+                                                  q[a + 336 >> 2] = 0;
+                                                  if (!q[a + 96 >> 2]) {
+                                                   break k;
+                                                  }
+                                                  e = q[m + 4 >> 2];
+                                                  q[m + 12 >> 2] = c;
+                                                  if (!q[x >> 2]) {
+                                                   if (!_V(v)) {
+                                                    break q;
+                                                   }
+                                                  }
+                                                  while (1) {
+                                                   if (n[q[b + 56 >> 2]](b, m + 12 | 0, e, x, q[a + 420 >> 2]) >>> 0 >= 2) {
+                                                    if (_V(v)) {
+                                                     continue;
+                                                    }
+                                                    break q;
+                                                   }
+                                                   break;
+                                                  }
+                                                  if (!q[a + 428 >> 2]) {
+                                                   break q;
+                                                  }
+                                                  c = q[a + 424 >> 2];
+                                                  if ((c | 0) == q[a + 420 >> 2]) {
+                                                   if (!_V(v)) {
+                                                    break q;
+                                                   }
+                                                   c = q[x >> 2];
+                                                  }
+                                                  s = 1;
+                                                  q[a + 424 >> 2] = c + 1;
+                                                  o[c | 0] = 0;
+                                                  c = q[a + 428 >> 2];
+                                                  q[a + 332 >> 2] = c;
+                                                  if (!c) {
+                                                   break f;
+                                                  }
+                                                  q[a + 428 >> 2] = q[a + 424 >> 2];
+                                                  break j;
+                                                 }
+                                                 if (!n[q[b + 52 >> 2]](b, c, q[m + 4 >> 2], E)) {
+                                                  k = 32;
+                                                  break b;
+                                                 }
+                                                 if (!q[a + 332 >> 2]) {
+                                                  break k;
+                                                 }
+                                                 e = q[m + 4 >> 2];
+                                                 f = c;
+                                                 c = q[b + 64 >> 2];
+                                                 q[m + 12 >> 2] = f + c;
+                                                 if (!q[x >> 2]) {
+                                                  if (!_V(v)) {
+                                                   break b;
+                                                  }
+                                                 }
+                                                 c = e - c | 0;
+                                                 _a : {
+                                                  while (1) {
+                                                   if (n[q[b + 56 >> 2]](b, m + 12 | 0, c, x, q[a + 420 >> 2]) >>> 0 < 2) {
+                                                    break _a;
+                                                   }
+                                                   if (_V(v)) {
+                                                    continue;
+                                                   }
+                                                   break;
+                                                  }
+                                                  break b;
+                                                 }
+                                                 s = 1;
+                                                 if (!q[a + 428 >> 2]) {
+                                                  break f;
+                                                 }
+                                                 c = q[a + 424 >> 2];
+                                                 if ((c | 0) == q[a + 420 >> 2]) {
+                                                  if (!_V(v)) {
+                                                   break f;
+                                                  }
+                                                  c = q[x >> 2];
+                                                 }
+                                                 q[a + 424 >> 2] = c + 1;
+                                                 o[c | 0] = 0;
+                                                 e = q[a + 428 >> 2];
+                                                 if (!e) {
+                                                  break f;
+                                                 }
+                                                 k = e;
+                                                 f = e;
+                                                 c = e;
+                                                 j = r[e | 0];
+                                                 $a : {
+                                                  if (!j) {
+                                                   break $a;
+                                                  }
+                                                  while (1) {
+                                                   c = f;
+                                                   s = k;
+                                                   f = (j << 24 >> 24) + -10 | 0;
+                                                   ab : {
+                                                    if (!(f >>> 0 > 22 | !(1 << f & 4194313))) {
+                                                     f = e;
+                                                     if ((c | 0) == (e | 0)) {
+                                                      break ab;
+                                                     }
+                                                     if (r[c + -1 | 0] == 32) {
+                                                      f = c;
+                                                      break ab;
+                                                     }
+                                                     o[c | 0] = 32;
+                                                     f = c + 1 | 0;
+                                                     break ab;
+                                                    }
+                                                    o[c | 0] = j;
+                                                    f = c + 1 | 0;
+                                                   }
+                                                   k = s + 1 | 0;
+                                                   j = r[s + 1 | 0];
+                                                   if (j) {
+                                                    continue;
+                                                   }
+                                                   break;
+                                                  }
+                                                  c = e;
+                                                  if ((f | 0) == (e | 0)) {
+                                                   break $a;
+                                                  }
+                                                  c = f + -1 | 0;
+                                                  c = r[c | 0] == 32 ? c : f;
+                                                 }
+                                                 o[c | 0] = 0;
+                                                 q[a + 336 >> 2] = e;
+                                                 q[a + 428 >> 2] = q[a + 424 >> 2];
+                                                 break j;
+                                                }
+                                                if (!(!q[a + 332 >> 2] | !q[a + 96 >> 2])) {
+                                                 e = q[m + 4 >> 2];
+                                                 f = q[b + 64 >> 2];
+                                                 q[m + 12 >> 2] = f + c;
+                                                 if (!q[x >> 2]) {
+                                                  if (!_V(v)) {
+                                                   break b;
+                                                  }
+                                                 }
+                                                 e = e - f | 0;
+                                                 bb : {
+                                                  while (1) {
+                                                   if (n[q[b + 56 >> 2]](b, m + 12 | 0, e, x, q[a + 420 >> 2]) >>> 0 < 2) {
+                                                    break bb;
+                                                   }
+                                                   if (_V(v)) {
+                                                    continue;
+                                                   }
+                                                   break;
+                                                  }
+                                                  break b;
+                                                 }
+                                                 s = 1;
+                                                 if (!q[a + 428 >> 2]) {
+                                                  break f;
+                                                 }
+                                                 e = q[a + 424 >> 2];
+                                                 if ((e | 0) == q[a + 420 >> 2]) {
+                                                  if (!_V(v)) {
+                                                   break f;
+                                                  }
+                                                  e = q[x >> 2];
+                                                 }
+                                                 q[a + 424 >> 2] = e + 1;
+                                                 k = 0;
+                                                 o[e | 0] = 0;
+                                                 e = q[a + 428 >> 2];
+                                                 if (!e) {
+                                                  break f;
+                                                 }
+                                                 q[B >> 2] = c;
+                                                 n[q[a + 96 >> 2]](q[a + 4 >> 2], q[a + 332 >> 2], q[a + 356 >> 2], e, q[a + 336 >> 2]);
+                                                }
+                                                j = q[a + 416 >> 2];
+                                                cb : {
+                                                 if (!j) {
+                                                  q[a + 416 >> 2] = q[a + 412 >> 2];
+                                                  break cb;
+                                                 }
+                                                 e = q[v >> 2];
+                                                 if (!e) {
+                                                  break cb;
+                                                 }
+                                                 while (1) {
+                                                  f = q[e >> 2];
+                                                  q[e >> 2] = j;
+                                                  q[a + 416 >> 2] = e;
+                                                  j = e;
+                                                  e = f;
+                                                  if (e) {
+                                                   continue;
+                                                  }
+                                                  break;
+                                                 }
+                                                }
+                                                q[a + 428 >> 2] = 0;
+                                                q[a + 412 >> 2] = 0;
+                                                q[a + 420 >> 2] = 0;
+                                                q[a + 424 >> 2] = 0;
+                                                if (k) {
+                                                 break k;
+                                                }
+                                                break j;
+                                               }
+                                               if (!(!q[a + 336 >> 2] | !q[a + 96 >> 2])) {
+                                                q[B >> 2] = c;
+                                                n[q[a + 96 >> 2]](q[a + 4 >> 2], q[a + 332 >> 2], q[a + 356 >> 2], 0, q[a + 336 >> 2]);
+                                                k = 0;
+                                               }
+                                               j = q[a + 416 >> 2];
+                                               db : {
+                                                if (!j) {
+                                                 q[a + 416 >> 2] = q[a + 412 >> 2];
+                                                 break db;
+                                                }
+                                                e = q[v >> 2];
+                                                if (!e) {
+                                                 break db;
+                                                }
+                                                while (1) {
+                                                 f = q[e >> 2];
+                                                 q[e >> 2] = j;
+                                                 q[a + 416 >> 2] = e;
+                                                 j = e;
+                                                 e = f;
+                                                 if (e) {
+                                                  continue;
+                                                 }
+                                                 break;
+                                                }
+                                               }
+                                               q[a + 428 >> 2] = 0;
+                                               q[a + 412 >> 2] = 0;
+                                               q[a + 420 >> 2] = 0;
+                                               q[a + 424 >> 2] = 0;
+                                               if (k) {
+                                                break k;
+                                               }
+                                               break j;
+                                              }
+                                              k = (f | 0) == 28 ? 10 : (f | 0) == 12 ? 17 : 2;
+                                              break b;
+                                             }
+                                             f = q[a + 80 >> 2];
+                                             eb : {
+                                              if (!f) {
+                                               break eb;
+                                              }
+                                              e = q[m + 4 >> 2];
+                                              q[m + 12 >> 2] = c;
+                                              if (!r[b + 68 | 0]) {
+                                               j = K;
+                                               k = I;
+                                               if (q[a + 144 >> 2] != (b | 0)) {
+                                                j = q[a + 296 >> 2];
+                                                k = j + 4 | 0;
+                                               }
+                                               while (1) {
+                                                q[m + 8 >> 2] = q[a + 44 >> 2];
+                                                c = n[q[b + 56 >> 2]](b, m + 12 | 0, e, m + 8 | 0, q[a + 48 >> 2]) | 0;
+                                                q[k >> 2] = q[m + 12 >> 2];
+                                                f = q[a + 44 >> 2];
+                                                n[q[a + 80 >> 2]](q[a + 4 >> 2], f, q[m + 8 >> 2] - f | 0);
+                                                q[j >> 2] = q[m + 12 >> 2];
+                                                if (c >>> 0 > 1) {
+                                                 continue;
+                                                }
+                                                break;
+                                               }
+                                               break eb;
+                                              }
+                                              n[f](q[a + 4 >> 2], c, e - c | 0);
+                                             }
+                                             s = tW(a, b, m + 4 | 0, d, g, h);
+                                             if (s) {
+                                              break f;
+                                             }
+                                             if (q[m + 4 >> 2]) {
+                                              break j;
+                                             }
+                                             q[a + 276 >> 2] = 970;
+                                             k = 0;
+                                             break b;
+                                            }
+                                            e = q[a + 464 >> 2];
+                                            fb : {
+                                             if (t[a + 256 >> 2] < e >>> 0) {
+                                              break fb;
+                                             }
+                                             gb : {
+                                              if (e) {
+                                               e = e << 1;
+                                               q[a + 464 >> 2] = e;
+                                               e = n[q[a + 16 >> 2]](q[a + 460 >> 2], e) | 0;
+                                               if (!e) {
+                                                q[a + 464 >> 2] = q[a + 464 >> 2] >>> 1;
+                                                break b;
+                                               }
+                                               q[a + 460 >> 2] = e;
+                                               e = q[l + 184 >> 2];
+                                               if (!e) {
+                                                break fb;
+                                               }
+                                               e = n[q[a + 16 >> 2]](e, q[a + 464 >> 2] << 2) | 0;
+                                               if (e) {
+                                                break gb;
+                                               }
+                                               break b;
+                                              }
+                                              q[a + 464 >> 2] = 32;
+                                              e = n[q[a + 12 >> 2]](32) | 0;
+                                              q[a + 460 >> 2] = e;
+                                              if (e) {
+                                               break fb;
+                                              }
+                                              q[a + 464 >> 2] = 0;
+                                              break b;
+                                             }
+                                             q[l + 184 >> 2] = e;
+                                            }
+                                            o[q[a + 460 >> 2] + q[a + 256 >> 2] | 0] = 0;
+                                            if (!r[l + 160 | 0]) {
+                                             break k;
+                                            }
+                                            e = vW(a);
+                                            if ((e | 0) < 0) {
+                                             break b;
+                                            }
+                                            f = q[l + 184 >> 2];
+                                            if (!f) {
+                                             break v;
+                                            }
+                                            q[f + (q[l + 180 >> 2] << 2) >> 2] = e;
+                                            q[l + 180 >> 2] = q[l + 180 >> 2] + 1;
+                                            q[q[l + 164 >> 2] + w(e, 28) >> 2] = 6;
+                                            if (!q[a + 128 >> 2]) {
+                                             break k;
+                                            }
+                                            break j;
+                                           }
+                                           e = q[a + 460 >> 2] + q[a + 256 >> 2] | 0;
+                                           if (r[e | 0] == 124) {
+                                            k = 2;
+                                            break b;
+                                           }
+                                           o[e | 0] = 44;
+                                           if (!r[l + 160 | 0] | !q[a + 128 >> 2]) {
+                                            break k;
+                                           }
+                                           break j;
+                                          }
+                                          e = q[a + 460 >> 2];
+                                          f = q[a + 256 >> 2];
+                                          k = r[e + f | 0];
+                                          if ((k | 0) == 44) {
+                                           k = 2;
+                                           break b;
+                                          }
+                                          j = 1;
+                                          hb : {
+                                           if (!r[l + 160 | 0] | k) {
+                                            break hb;
+                                           }
+                                           k = q[l + 164 >> 2] + w(q[(q[l + 184 >> 2] + (q[l + 180 >> 2] << 2) | 0) + -4 >> 2], 28) | 0;
+                                           if (q[k >> 2] == 3) {
+                                            break hb;
+                                           }
+                                           q[k >> 2] = 5;
+                                           f = q[a + 256 >> 2];
+                                           e = q[a + 460 >> 2];
+                                           j = !q[a + 128 >> 2];
+                                          }
+                                          o[e + f | 0] = 124;
+                                          if (j) {
+                                           break k;
+                                          }
+                                          break j;
+                                         }
+                                         o[l + 129 | 0] = 1;
+                                         if (!q[a + 488 >> 2]) {
+                                          e = r[l + 130 | 0];
+                                          o[l + 128 | 0] = e;
+                                          break r;
+                                         }
+                                         e = q[m + 4 >> 2];
+                                         f = q[b + 64 >> 2];
+                                         q[m + 12 >> 2] = f + c;
+                                         if (!q[u >> 2]) {
+                                          if (!_V(z)) {
+                                           break b;
+                                          }
+                                         }
+                                         e = e - f | 0;
+                                         ib : {
+                                          while (1) {
+                                           if (n[q[b + 56 >> 2]](b, m + 12 | 0, e, u, q[l + 88 >> 2]) >>> 0 < 2) {
+                                            break ib;
+                                           }
+                                           if (_V(z)) {
+                                            continue;
+                                           }
+                                           break;
+                                          }
+                                          break b;
+                                         }
+                                         s = 1;
+                                         if (!q[y >> 2]) {
+                                          break f;
+                                         }
+                                         e = q[l + 92 >> 2];
+                                         if ((e | 0) == q[l + 88 >> 2]) {
+                                          if (!_V(z)) {
+                                           break f;
+                                          }
+                                          e = q[u >> 2];
+                                         }
+                                         q[u >> 2] = e + 1;
+                                         o[e | 0] = 0;
+                                         f = q[y >> 2];
+                                         if (!f) {
+                                          break f;
+                                         }
+                                         e = $V(a, G, f, 0);
+                                         q[u >> 2] = q[y >> 2];
+                                         if (!q[a + 268 >> 2]) {
+                                          break t;
+                                         }
+                                         jb : {
+                                          if (r[l + 130 | 0]) {
+                                           if (!q[a + 296 >> 2]) {
+                                            break jb;
+                                           }
+                                           break t;
+                                          }
+                                          if (r[l + 129 | 0]) {
+                                           break t;
+                                          }
+                                         }
+                                         if (!e) {
+                                          k = 11;
+                                          break b;
+                                         }
+                                         if (r[e + 34 | 0]) {
+                                          break s;
+                                         }
+                                         k = 24;
+                                         break b;
+                                        }
+                                        if (!q[a + 128 >> 2]) {
+                                         break k;
+                                        }
+                                        e = q[a + 352 >> 2];
+                                        j = q[m + 4 >> 2];
+                                        q[m + 12 >> 2] = c;
+                                        c = e + 80 | 0;
+                                        f = e + 92 | 0;
+                                        kb : {
+                                         if (!q[f >> 2]) {
+                                          if (!_V(c)) {
+                                           break kb;
+                                          }
+                                         }
+                                         while (1) {
+                                          if (n[q[b + 56 >> 2]](b, m + 12 | 0, j, f, q[e + 88 >> 2]) >>> 0 >= 2) {
+                                           if (_V(c)) {
+                                            continue;
+                                           }
+                                           break kb;
+                                          }
+                                          break;
+                                         }
+                                         if (!q[e + 96 >> 2]) {
+                                          break kb;
+                                         }
+                                         j = q[e + 92 >> 2];
+                                         if ((j | 0) == q[e + 88 >> 2]) {
+                                          if (!_V(c)) {
+                                           break kb;
+                                          }
+                                          j = q[f >> 2];
+                                         }
+                                         q[e + 92 >> 2] = j + 1;
+                                         o[j | 0] = 0;
+                                         f = q[e + 96 >> 2];
+                                         if (!f) {
+                                          break kb;
+                                         }
+                                         c = $V(a, e + 20 | 0, f, 24);
+                                         if (!c) {
+                                          break kb;
+                                         }
+                                         if ((f | 0) != q[c >> 2]) {
+                                          q[e + 92 >> 2] = q[e + 96 >> 2];
+                                          break u;
+                                         }
+                                         q[e + 96 >> 2] = q[e + 92 >> 2];
+                                         if (pW(a, c)) {
+                                          break u;
+                                         }
+                                        }
+                                        q[a + 340 >> 2] = 0;
+                                        break b;
+                                       }
+                                       if (!r[l + 160 | 0]) {
+                                        break k;
+                                       }
+                                       if (q[a + 128 >> 2]) {
+                                        e = n[q[a + 12 >> 2]](20) | 0;
+                                        if (!e) {
+                                         break b;
+                                        }
+                                        q[e + 4 >> 2] = 0;
+                                        q[e + 8 >> 2] = 0;
+                                        q[e + 12 >> 2] = 0;
+                                        q[e + 16 >> 2] = 0;
+                                        q[e >> 2] = (C | 0) == 41 ? 2 : 1;
+                                        q[B >> 2] = c;
+                                        n[q[a + 128 >> 2]](q[a + 4 >> 2], q[q[a + 340 >> 2] >> 2], e);
+                                        e = 0;
+                                       } else {
+                                        e = 1;
+                                       }
+                                       o[l + 160 | 0] = 0;
+                                       if (e) {
+                                        break k;
+                                       }
+                                       break j;
+                                      }
+                                      if (!r[l + 160 | 0]) {
+                                       break k;
+                                      }
+                                      q[q[l + 164 >> 2] + w(q[(q[l + 184 >> 2] + (q[l + 180 >> 2] << 2) | 0) + -4 >> 2], 28) >> 2] = 3;
+                                      if (!q[a + 128 >> 2]) {
+                                       break k;
+                                      }
+                                      break j;
+                                     }
+                                     k = 2;
+                                     break L;
+                                    }
+                                    k = 3;
+                                   }
+                                   if (!r[l + 160 | 0]) {
+                                    break k;
+                                   }
+                                   e = q[m + 4 >> 2] - q[b + 64 >> 2] | 0;
+                                   break J;
+                                  }
+                                  if (!r[l + 160 | 0]) {
+                                   break k;
+                                  }
+                                  k = 0;
+                                  e = q[m + 4 >> 2];
+                                 }
+                                 s = 1;
+                                 A = vW(a);
+                                 if ((A | 0) < 0) {
+                                  break f;
+                                 }
+                                 f = w(A, 28);
+                                 q[f + q[l + 164 >> 2] >> 2] = 4;
+                                 q[(f + q[l + 164 >> 2] | 0) + 4 >> 2] = k;
+                                 f = q[a + 352 >> 2];
+                                 q[m + 12 >> 2] = c;
+                                 j = f + 80 | 0;
+                                 lb : {
+                                  D = f + 92 | 0;
+                                  mb : {
+                                   if (!q[D >> 2]) {
+                                    if (!_V(j)) {
+                                     break mb;
+                                    }
+                                   }
+                                   while (1) {
+                                    if (n[q[b + 56 >> 2]](b, m + 12 | 0, e, D, q[f + 88 >> 2]) >>> 0 < 2) {
+                                     break lb;
+                                    }
+                                    if (_V(j)) {
+                                     continue;
+                                    }
+                                    break;
+                                   }
+                                  }
+                                  k = 1;
+                                  break b;
+                                 }
+                                 if (!q[f + 96 >> 2]) {
+                                  break f;
+                                 }
+                                 k = q[f + 92 >> 2];
+                                 if ((k | 0) == q[f + 88 >> 2]) {
+                                  if (!_V(j)) {
+                                   break f;
+                                  }
+                                  k = q[D >> 2];
+                                 }
+                                 q[f + 92 >> 2] = k + 1;
+                                 o[k | 0] = 0;
+                                 j = q[f + 96 >> 2];
+                                 if (!j) {
+                                  break f;
+                                 }
+                                 e = $V(a, f + 20 | 0, j, 24);
+                                 if (!e) {
+                                  break f;
+                                 }
+                                 nb : {
+                                  if ((j | 0) != q[e >> 2]) {
+                                   q[f + 92 >> 2] = q[f + 96 >> 2];
+                                   break nb;
+                                  }
+                                  q[f + 96 >> 2] = q[f + 92 >> 2];
+                                  if (!pW(a, e)) {
+                                   break f;
+                                  }
+                                 }
+                                 f = q[e >> 2];
+                                 q[(q[l + 164 >> 2] + w(A, 28) | 0) + 8 >> 2] = f;
+                                 e = 0;
+                                 while (1) {
+                                  j = e + f | 0;
+                                  k = e + 1 | 0;
+                                  e = k;
+                                  if (r[j | 0]) {
+                                   continue;
+                                  }
+                                  break;
+                                 }
+                                 q[l + 168 >> 2] = k + q[l + 168 >> 2];
+                                 if (!q[a + 128 >> 2]) {
+                                  break k;
+                                 }
+                                 break j;
+                                }
+                                j = 1;
+                                break F;
+                               }
+                               j = 2;
+                               break F;
+                              }
+                              j = 3;
+                             }
+                             if (!r[l + 160 | 0]) {
+                              break k;
+                             }
+                             e = q[a + 128 >> 2];
+                             f = q[l + 180 >> 2] + -1 | 0;
+                             q[l + 180 >> 2] = f;
+                             q[(q[l + 164 >> 2] + w(q[q[l + 184 >> 2] + (f << 2) >> 2], 28) | 0) + 4 >> 2] = j;
+                             k = !e;
+                             if (q[l + 180 >> 2]) {
+                              break l;
+                             }
+                             if (e) {
+                              f = q[a + 352 >> 2];
+                              e = n[q[a + 12 >> 2]](w(q[f + 176 >> 2], 20) + q[f + 168 >> 2] | 0) | 0;
+                              if (!e) {
+                               k = 1;
+                               break b;
+                              }
+                              f = q[f + 176 >> 2];
+                              q[m + 12 >> 2] = e + 20;
+                              q[m + 8 >> 2] = e + w(f, 20);
+                              wW(a, 0, e, m + 12 | 0, m + 8 | 0);
+                              q[B >> 2] = c;
+                              n[q[a + 128 >> 2]](q[a + 4 >> 2], q[q[a + 340 >> 2] >> 2], e);
+                             }
+                             q[l + 168 >> 2] = 0;
+                             o[l + 160 | 0] = 0;
+                             break l;
+                            }
+                            if (xW(a, b, c, q[m + 4 >> 2])) {
+                             break j;
+                            }
+                            break b;
+                           }
+                           if (yW(a, b, c, q[m + 4 >> 2])) {
+                            break j;
+                           }
+                           break b;
+                          }
+                          if ((f | 0) != 14) {
+                           break k;
+                          }
+                          break j;
+                         }
+                         if (!q[a + 84 >> 2]) {
+                          break k;
+                         }
+                         break j;
+                        }
+                        if (!r[l + 128 | 0] | !q[a + 136 >> 2]) {
+                         break k;
+                        }
+                        break j;
+                       }
+                       if (!q[a + 96 >> 2]) {
+                        break k;
+                       }
+                       break j;
+                      }
+                      if (!r[l + 128 | 0] | !q[a + 132 >> 2]) {
+                       break k;
+                      }
+                      break j;
+                     }
+                     if (!q[a + 128 >> 2]) {
+                      break k;
+                     }
+                     break j;
+                    }
+                    q[u >> 2] = q[y >> 2];
+                    q[a + 312 >> 2] = 0;
+                    break k;
+                   }
+                   J(497909, 496515, 4809, 497933);
+                   F();
+                  }
+                  q[a + 340 >> 2] = c;
+                  q[l + 176 >> 2] = 0;
+                  q[l + 180 >> 2] = 0;
+                  o[l + 160 | 0] = 1;
+                  break j;
+                 }
+                 if (e) {
+                  break s;
+                 }
+                 o[l + 128 | 0] = r[l + 130 | 0];
+                 if ((C | 0) != 60) {
+                  break k;
+                 }
+                 e = q[a + 120 >> 2];
+                 if (!e) {
+                  break k;
+                 }
+                 n[e](q[a + 4 >> 2], f, 1);
+                 break j;
+                }
+                if (r[e + 32 | 0]) {
+                 k = 12;
+                 break b;
+                }
+                if (q[e + 4 >> 2]) {
+                 s = zW(a, e, (C | 0) == 60);
+                 if (!s) {
+                  break j;
+                 }
+                 break f;
+                }
+                if (q[a + 112 >> 2]) {
+                 k = 0;
+                 o[l + 131 | 0] = 0;
+                 o[e + 32 | 0] = 1;
+                 f = n[q[a + 112 >> 2]](q[a + 116 >> 2], 0, q[e + 20 >> 2], q[e + 16 >> 2], q[e + 24 >> 2]) | 0;
+                 o[e + 32 | 0] = 0;
+                 if (!f) {
+                  k = 21;
+                  break b;
+                 }
+                 e = r[l + 130 | 0];
+                 if (r[l + 131 | 0]) {
+                  break r;
+                 }
+                 o[l + 128 | 0] = e;
+                 break j;
+                }
+                o[l + 128 | 0] = r[l + 130 | 0];
+                break k;
+               }
+               if (e & 255) {
+                break l;
+               }
+               e = q[a + 108 >> 2];
+               if (!e) {
+                break l;
+               }
+               if (n[e](q[a + 4 >> 2])) {
+                break l;
+               }
+               k = 22;
+               break b;
+              }
+              q[a + 332 >> 2] = 0;
+              break b;
+             }
+             q[a + 320 >> 2] = 0;
+             break b;
+            }
+            q[a + 340 >> 2] = f;
+           }
+           if (!r[l + 128 | 0] | !q[a + 132 >> 2]) {
+            break k;
+           }
+           break j;
+          }
+          if (!r[l + 128 | 0] | !q[a + 312 >> 2]) {
+           break l;
+          }
+          e = q[m + 4 >> 2];
+          f = q[b + 64 >> 2];
+          q[m + 12 >> 2] = f + c;
+          ob : {
+           pb : {
+            if (!q[u >> 2]) {
+             if (!_V(z)) {
+              break pb;
+             }
+            }
+            e = e - f | 0;
+            while (1) {
+             if (n[q[b + 56 >> 2]](b, m + 12 | 0, e, u, q[l + 88 >> 2]) >>> 0 < 2) {
+              break ob;
+             }
+             if (_V(z)) {
+              continue;
+             }
+             break;
+            }
+           }
+           k = 1;
+           break b;
+          }
+          s = 1;
+          if (!q[y >> 2]) {
+           break f;
+          }
+          e = q[l + 92 >> 2];
+          if ((e | 0) == q[l + 88 >> 2]) {
+           if (!_V(z)) {
+            break f;
+           }
+           e = q[u >> 2];
+          }
+          q[u >> 2] = e + 1;
+          o[e | 0] = 0;
+          f = q[y >> 2];
+          if (!f) {
+           break f;
+          }
+          A = f;
+          j = f;
+          e = f;
+          s = r[e | 0];
+          qb : {
+           if (!s) {
+            break qb;
+           }
+           while (1) {
+            e = j;
+            D = A;
+            j = (s << 24 >> 24) + -10 | 0;
+            rb : {
+             if (!(j >>> 0 > 22 | !(1 << j & 4194313))) {
+              j = f;
+              if ((e | 0) == (f | 0)) {
+               break rb;
+              }
+              if (r[e + -1 | 0] == 32) {
+               j = e;
+               break rb;
+              }
+              o[e | 0] = 32;
+              j = e + 1 | 0;
+              break rb;
+             }
+             o[e | 0] = s;
+             j = e + 1 | 0;
+            }
+            A = D + 1 | 0;
+            s = r[D + 1 | 0];
+            if (s) {
+             continue;
+            }
+            break;
+           }
+           e = f;
+           if ((j | 0) == (e | 0)) {
+            break qb;
+           }
+           e = j + -1 | 0;
+           e = r[e | 0] == 32 ? e : j;
+          }
+          o[e | 0] = 0;
+          q[q[a + 312 >> 2] + 24 >> 2] = f;
+          q[y >> 2] = q[u >> 2];
+          if ((C | 0) != 14) {
+           break l;
+          }
+          if (q[a + 136 >> 2]) {
+           break j;
+          }
+         }
+         if (!k) {
+          break j;
+         }
+        }
+        f = q[a + 80 >> 2];
+        if (!f) {
+         break j;
+        }
+        e = q[m + 4 >> 2];
+        q[m + 12 >> 2] = c;
+        if (!r[b + 68 | 0]) {
+         j = K;
+         k = I;
+         if (q[a + 144 >> 2] != (b | 0)) {
+          j = q[a + 296 >> 2];
+          k = j + 4 | 0;
+         }
+         while (1) {
+          q[m + 8 >> 2] = q[a + 44 >> 2];
+          c = n[q[b + 56 >> 2]](b, m + 12 | 0, e, m + 8 | 0, q[a + 48 >> 2]) | 0;
+          q[k >> 2] = q[m + 12 >> 2];
+          f = q[a + 44 >> 2];
+          n[q[a + 80 >> 2]](q[a + 4 >> 2], f, q[m + 8 >> 2] - f | 0);
+          q[j >> 2] = q[m + 12 >> 2];
+          if (c >>> 0 > 1) {
+           continue;
+          }
+          break;
+         }
+         break j;
+        }
+        n[f](q[a + 4 >> 2], c, e - c | 0);
+       }
+       c = q[a + 476 >> 2] + -2 | 0;
+       if (c >>> 0 <= 1) {
+        s = 35;
+        if (c - 1) {
+         break f;
+        }
+        q[g >> 2] = q[m + 4 >> 2];
+        k = 0;
+        break b;
+       } else {
+        c = q[m + 4 >> 2];
+        e = n[q[b >> 2]](b, c, d, m + 4 | 0) | 0;
+        continue;
+       }
+      }
+      break;
+     }
+     k = s;
+     break b;
+    }
+    q[a + 316 >> 2] = 0;
+    break b;
+   }
+   if ((n[q[H >> 2]](H, -4, d, d, b) | 0) != -1) {
+    break c;
+   }
+   k = 29;
+   break b;
+  }
+  q[g >> 2] = c;
+  k = 0;
+ }
+ Ca = m + 16 | 0;
+ return k;
+}
+function aX(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0;
+ f = Ca - 576 | 0;
+ Ca = f;
+ b = q[a >> 2];
+ if (b) {
+  d = q[b + 4 >> 2];
+  c = d + -2 | 0;
+  a : {
+   if (c >>> 0 > 52) {
+    break a;
+   }
+   b : {
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         h : {
+          i : {
+           j : {
+            k : {
+             l : {
+              m : {
+               n : {
+                o : {
+                 p : {
+                  q : {
+                   r : {
+                    s : {
+                     t : {
+                      u : {
+                       v : {
+                        w : {
+                         x : {
+                          y : {
+                           z : {
+                            A : {
+                             B : {
+                              C : {
+                               D : {
+                                E : {
+                                 F : {
+                                  G : {
+                                   H : {
+                                    I : {
+                                     J : {
+                                      K : {
+                                       L : {
+                                        M : {
+                                         N : {
+                                          O : {
+                                           P : {
+                                            Q : {
+                                             R : {
+                                              S : {
+                                               T : {
+                                                U : {
+                                                 V : {
+                                                  W : {
+                                                   X : {
+                                                    Y : {
+                                                     Z : {
+                                                      _ : {
+                                                       $ : {
+                                                        switch (c - 1 | 0) {
+                                                        default:
+                                                         d = oQ(b + 12 | 0);
+                                                         if (!d) {
+                                                          VW(a, 2, 498895, 0);
+                                                          break a;
+                                                         }
+                                                         if (!r[d | 0]) {
+                                                          VW(a, 1, 499997, 0);
+                                                          break a;
+                                                         }
+                                                         h = q[a >> 2];
+                                                         aa : {
+                                                          if (!h) {
+                                                           break aa;
+                                                          }
+                                                          c = q[h + 8 >> 2];
+                                                          if (!c) {
+                                                           break aa;
+                                                          }
+                                                          b = q[c >> 2];
+                                                          if (!b) {
+                                                           break aa;
+                                                          }
+                                                          ba : {
+                                                           while (1) {
+                                                            if (!iZ(b, 500031)) {
+                                                             o[b | 0] = 0;
+                                                             h = q[a >> 2];
+                                                             e = q[c + 4 >> 2];
+                                                             break ba;
+                                                            }
+                                                            b = q[c + 8 >> 2];
+                                                            c = c + 8 | 0;
+                                                            if (b) {
+                                                             continue;
+                                                            }
+                                                            break;
+                                                           }
+                                                           e = 0;
+                                                          }
+                                                          if (!h) {
+                                                           break aa;
+                                                          }
+                                                          c = q[h + 8 >> 2];
+                                                          if (!c) {
+                                                           break aa;
+                                                          }
+                                                          b = q[c >> 2];
+                                                          if (!b) {
+                                                           break aa;
+                                                          }
+                                                          while (1) {
+                                                           if (!iZ(b, 500038)) {
+                                                            o[b | 0] = 0;
+                                                            j = q[c + 4 >> 2];
+                                                            break aa;
+                                                           }
+                                                           b = q[c + 8 >> 2];
+                                                           c = c + 8 | 0;
+                                                           if (b) {
+                                                            continue;
+                                                           }
+                                                           break;
+                                                          }
+                                                         }
+                                                         b = dX(a, d, e);
+                                                         if (b) {
+                                                          ca : {
+                                                           if (q[a + 2856 >> 2] | !r[b | 0]) {
+                                                            break ca;
+                                                           }
+                                                           if (sQ(b)) {
+                                                            if (!NX()) {
+                                                             break ca;
+                                                            }
+                                                           }
+                                                           if (AX(q[a + 16 >> 2], b, 0, j)) {
+                                                            break ca;
+                                                           }
+                                                           q[f >> 2] = b;
+                                                           VW(a, 2, 500043, f);
+                                                          }
+                                                          mQ(q[a >> 2] + 12 | 0);
+                                                          M$(b);
+                                                          break a;
+                                                         }
+                                                         mQ(q[a >> 2] + 12 | 0);
+                                                         break a;
+                                                        case 0:
+                                                         d = 0;
+                                                         c = q[b + 8 >> 2];
+                                                         da : {
+                                                          if (!c) {
+                                                           break da;
+                                                          }
+                                                          b = q[c >> 2];
+                                                          if (!b) {
+                                                           break da;
+                                                          }
+                                                          while (1) {
+                                                           if (iZ(b, 500031)) {
+                                                            b = q[c + 8 >> 2];
+                                                            c = c + 8 | 0;
+                                                            if (b) {
+                                                             continue;
+                                                            }
+                                                            break da;
+                                                           }
+                                                           break;
+                                                          }
+                                                          o[b | 0] = 0;
+                                                          b = q[c + 4 >> 2];
+                                                          if (!b) {
+                                                           break da;
+                                                          }
+                                                          if (bQ(b, 500082)) {
+                                                           break da;
+                                                          }
+                                                          d = OX();
+                                                          if (!d) {
+                                                           break a;
+                                                          }
+                                                         }
+                                                         c = nQ(q[a >> 2] + 12 | 0);
+                                                         if (c) {
+                                                          if (!r[c | 0]) {
+                                                           VW(a, 1, 500202, 0);
+                                                           break a;
+                                                          }
+                                                          if (d) {
+                                                           e = g0(d);
+                                                           g = e + 1 | 0;
+                                                           h = g0(c);
+                                                           i = g + h | 0;
+                                                           b = O$(d, i + 1 | 0);
+                                                           if (!b) {
+                                                            VW(a, 2, 498895, 0);
+                                                            M$(d);
+                                                            M$(c);
+                                                            break a;
+                                                           }
+                                                           o[b + e | 0] = 47;
+                                                           Y$(b + g | 0, c, h);
+                                                           o[b + i | 0] = 0;
+                                                           M$(c);
+                                                           if (!r[b | 0]) {
+                                                            break _;
+                                                           }
+                                                           c = b;
+                                                          }
+                                                          if (q[a + 2856 >> 2]) {
+                                                           break b;
+                                                          }
+                                                          if (sQ(c)) {
+                                                           if (!NX()) {
+                                                            break b;
+                                                           }
+                                                          }
+                                                          if (DX(q[a + 16 >> 2], c)) {
+                                                           break b;
+                                                          }
+                                                          q[f + 16 >> 2] = c;
+                                                          VW(a, 2, 500237, f + 16 | 0);
+                                                          break b;
+                                                         }
+                                                         VW(a, 2, 498895, 0);
+                                                         if (!d) {
+                                                          break a;
+                                                         }
+                                                         M$(d);
+                                                         break a;
+                                                        case 1:
+                                                         if (!oQ(b + 12 | 0)) {
+                                                          VW(a, 2, 498895, 0);
+                                                          break a;
+                                                         }
+                                                         mQ(q[a >> 2] + 12 | 0);
+                                                         break a;
+                                                        case 2:
+                                                         d = oQ(b + 12 | 0);
+                                                         if (!d) {
+                                                          VW(a, 2, 498895, 0);
+                                                          break a;
+                                                         }
+                                                         b = q[a >> 2];
+                                                         if (!b) {
+                                                          h = 1;
+                                                          break d;
+                                                         }
+                                                         h = 1;
+                                                         c = q[b + 8 >> 2];
+                                                         ea : {
+                                                          if (!c) {
+                                                           break ea;
+                                                          }
+                                                          b = q[c >> 2];
+                                                          if (!b) {
+                                                           break ea;
+                                                          }
+                                                          while (1) {
+                                                           if (iZ(b, 500282)) {
+                                                            b = q[c + 8 >> 2];
+                                                            c = c + 8 | 0;
+                                                            if (b) {
+                                                             continue;
+                                                            }
+                                                            break ea;
+                                                           }
+                                                           break;
+                                                          }
+                                                          o[b | 0] = 0;
+                                                          b = q[c + 4 >> 2];
+                                                          if (!b) {
+                                                           break ea;
+                                                          }
+                                                          q[f + 432 >> 2] = 0;
+                                                          if (!hR(b, f + 432 | 0)) {
+                                                           q[f + 80 >> 2] = b;
+                                                           VW(a, 1, 500391, f + 80 | 0);
+                                                          }
+                                                          h = q[f + 432 >> 2] != 1;
+                                                         }
+                                                         b = q[a >> 2];
+                                                         if (!b) {
+                                                          break d;
+                                                         }
+                                                         c = q[b + 8 >> 2];
+                                                         g = 0;
+                                                         fa : {
+                                                          if (!c) {
+                                                           break fa;
+                                                          }
+                                                          b = q[c >> 2];
+                                                          g = 0;
+                                                          if (!b) {
+                                                           break fa;
+                                                          }
+                                                          ga : {
+                                                           while (1) {
+                                                            if (!iZ(b, 500297)) {
+                                                             break ga;
+                                                            }
+                                                            b = q[c + 8 >> 2];
+                                                            c = c + 8 | 0;
+                                                            if (b) {
+                                                             continue;
+                                                            }
+                                                            break;
+                                                           }
+                                                           g = 0;
+                                                           break fa;
+                                                          }
+                                                          o[b | 0] = 0;
+                                                          b = q[c + 4 >> 2];
+                                                          g = 0;
+                                                          if (!b) {
+                                                           break fa;
+                                                          }
+                                                          q[f + 432 >> 2] = 0;
+                                                          if (!hR(b, f + 432 | 0)) {
+                                                           q[f + 64 >> 2] = b;
+                                                           VW(a, 1, 500391, f - -64 | 0);
+                                                          }
+                                                          g = q[f + 432 >> 2] == 1;
+                                                         }
+                                                         b = q[a >> 2];
+                                                         if (!b) {
+                                                          break d;
+                                                         }
+                                                         c = q[b + 8 >> 2];
+                                                         if (!c) {
+                                                          break d;
+                                                         }
+                                                         b = q[c >> 2];
+                                                         if (!b) {
+                                                          break d;
+                                                         }
+                                                         while (1) {
+                                                          if (iZ(b, 500031)) {
+                                                           b = q[c + 8 >> 2];
+                                                           c = c + 8 | 0;
+                                                           if (b) {
+                                                            continue;
+                                                           }
+                                                           break d;
+                                                          }
+                                                          break;
+                                                         }
+                                                         o[b | 0] = 0;
+                                                         b = q[c + 4 >> 2];
+                                                         if (!b) {
+                                                          break d;
+                                                         }
+                                                         if (bQ(b, 500082)) {
+                                                          break d;
+                                                         }
+                                                         c = PX();
+                                                         if (!c) {
+                                                          break a;
+                                                         }
+                                                         e = g0(c);
+                                                         i = e + 1 | 0;
+                                                         j = g0(d);
+                                                         l = i + j | 0;
+                                                         b = O$(c, l + 1 | 0);
+                                                         if (b) {
+                                                          o[b + e | 0] = 47;
+                                                          Y$(b + i | 0, d, j);
+                                                          i = 0;
+                                                          o[b + l | 0] = 0;
+                                                          if (dT(b)) {
+                                                           break f;
+                                                          }
+                                                          if (fT(b)) {
+                                                           break g;
+                                                          }
+                                                          if (hQ(b)) {
+                                                           break f;
+                                                          }
+                                                          break g;
+                                                         }
+                                                         VW(a, 2, 498895, 0);
+                                                         M$(c);
+                                                         break a;
+                                                        case 6:
+                                                         break i;
+                                                        case 7:
+                                                         break j;
+                                                        case 8:
+                                                         break k;
+                                                        case 9:
+                                                         break l;
+                                                        case 10:
+                                                         break m;
+                                                        case 11:
+                                                         break n;
+                                                        case 12:
+                                                         break o;
+                                                        case 13:
+                                                         break p;
+                                                        case 20:
+                                                         break q;
+                                                        case 21:
+                                                         break r;
+                                                        case 3:
+                                                        case 14:
+                                                         break a;
+                                                        case 22:
+                                                         break s;
+                                                        case 23:
+                                                         break t;
+                                                        case 24:
+                                                         break u;
+                                                        case 25:
+                                                         break v;
+                                                        case 26:
+                                                         break w;
+                                                        case 27:
+                                                         break x;
+                                                        case 28:
+                                                         break y;
+                                                        case 29:
+                                                         break z;
+                                                        case 15:
+                                                        case 16:
+                                                         break A;
+                                                        case 17:
+                                                         break B;
+                                                        case 18:
+                                                         break C;
+                                                        case 19:
+                                                         break D;
+                                                        case 30:
+                                                         break E;
+                                                        case 31:
+                                                         break F;
+                                                        case 32:
+                                                         break G;
+                                                        case 33:
+                                                         break H;
+                                                        case 34:
+                                                         break I;
+                                                        case 35:
+                                                         break J;
+                                                        case 36:
+                                                         break K;
+                                                        case 37:
+                                                         break L;
+                                                        case 38:
+                                                         break M;
+                                                        case 39:
+                                                         break N;
+                                                        case 40:
+                                                         break O;
+                                                        case 41:
+                                                         break P;
+                                                        case 42:
+                                                         break Q;
+                                                        case 43:
+                                                         break R;
+                                                        case 44:
+                                                         break S;
+                                                        case 45:
+                                                         break T;
+                                                        case 46:
+                                                         break U;
+                                                        case 47:
+                                                         break V;
+                                                        case 48:
+                                                         break W;
+                                                        case 49:
+                                                         break X;
+                                                        case 50:
+                                                         break Y;
+                                                        case 51:
+                                                         break Z;
+                                                        case 4:
+                                                         break $;
+                                                        case 5:
+                                                         break h;
+                                                        }
+                                                       }
+                                                       ha : {
+                                                        c = q[b + 8 >> 2];
+                                                        ia : {
+                                                         if (!c) {
+                                                          break ia;
+                                                         }
+                                                         b = q[c >> 2];
+                                                         if (!b) {
+                                                          break ia;
+                                                         }
+                                                         while (1) {
+                                                          if (iZ(b, 500417)) {
+                                                           b = q[c + 8 >> 2];
+                                                           c = c + 8 | 0;
+                                                           if (b) {
+                                                            continue;
+                                                           }
+                                                           break ia;
+                                                          }
+                                                          break;
+                                                         }
+                                                         o[b | 0] = 0;
+                                                         b = q[c + 4 >> 2];
+                                                         if (!b) {
+                                                          break ia;
+                                                         }
+                                                         if (!iZ(b, 500424)) {
+                                                          break ia;
+                                                         }
+                                                         if (!iZ(b, 500432)) {
+                                                          e = 1;
+                                                          break ia;
+                                                         }
+                                                         if (iZ(b, 498510)) {
+                                                          break ha;
+                                                         }
+                                                         e = 2;
+                                                        }
+                                                        ja : {
+                                                         c = q[a + 4 >> 2];
+                                                         if (c) {
+                                                          b = 0;
+                                                          while (1) {
+                                                           if (q[c + 4 >> 2] == q[a >> 2]) {
+                                                            ka : {
+                                                             la : {
+                                                              ma : {
+                                                               d = q[c + 8 >> 2] + -17 | 0;
+                                                               if (d >>> 0 > 2) {
+                                                                break ma;
+                                                               }
+                                                               na : {
+                                                                switch (d - 1 | 0) {
+                                                                default:
+                                                                 g = q[c + 16 >> 2];
+                                                                 d = L$(12);
+                                                                 oa : {
+                                                                  if (!d) {
+                                                                   d = 0;
+                                                                   break oa;
+                                                                  }
+                                                                  q[d + 8 >> 2] = g;
+                                                                  q[d >> 2] = 0;
+                                                                  q[d + 4 >> 2] = 1;
+                                                                 }
+                                                                 if (b) {
+                                                                  q[d >> 2] = b;
+                                                                 }
+                                                                 q[c + 8 >> 2] = 0;
+                                                                 b = d;
+                                                                 break ka;
+                                                                case 0:
+                                                                 break ma;
+                                                                case 1:
+                                                                 break na;
+                                                                }
+                                                               }
+                                                               if ((e | 0) != 2) {
+                                                                h = q[c + 16 >> 2];
+                                                                break la;
+                                                               }
+                                                               h = q[c + 16 >> 2];
+                                                               d = q[h >> 2];
+                                                               if ((d | 0) <= 51) {
+                                                                break la;
+                                                               }
+                                                               n = f, p = eR(d), q[n + 96 >> 2] = p;
+                                                               VW(a, 2, 500463, f + 96 | 0);
+                                                               if (!b) {
+                                                                break a;
+                                                               }
+                                                               TW(b);
+                                                               break a;
+                                                              }
+                                                              VW(a, 1, 500522, 0);
+                                                              break ka;
+                                                             }
+                                                             d = L$(12);
+                                                             pa : {
+                                                              if (!d) {
+                                                               d = 0;
+                                                               break pa;
+                                                              }
+                                                              q[d + 8 >> 2] = h;
+                                                              q[d >> 2] = 0;
+                                                              q[d + 4 >> 2] = 2;
+                                                             }
+                                                             if (b) {
+                                                              q[d >> 2] = b;
+                                                             }
+                                                             q[c + 8 >> 2] = 0;
+                                                             b = d;
+                                                            }
+                                                            eX(a);
+                                                            c = q[a + 4 >> 2];
+                                                            if (c) {
+                                                             continue;
+                                                            }
+                                                           }
+                                                           break;
+                                                          }
+                                                          if (b) {
+                                                           break ja;
+                                                          }
+                                                         }
+                                                         VW(a, 1, 500544, 0);
+                                                         break a;
+                                                        }
+                                                        c = ZX(q[a + 20 >> 2], b, e);
+                                                        if ((c | 0) == -1) {
+                                                         VW(a, 2, 498895, 0);
+                                                         TW(b);
+                                                         break a;
+                                                        }
+                                                        b = q[a + 16 >> 2];
+                                                        if (q[b + 32 >> 2] >= (c | 0)) {
+                                                         break a;
+                                                        }
+                                                        q[b + 32 >> 2] = c;
+                                                        break a;
+                                                       }
+                                                       q[f + 112 >> 2] = b;
+                                                       VW(a, 1, 500437, f + 112 | 0);
+                                                       break a;
+                                                      }
+                                                      VW(a, 1, 500202, 0);
+                                                      c = b;
+                                                      break b;
+                                                     }
+                                                     fX(a, 40);
+                                                     break a;
+                                                    }
+                                                    fX(a, 39);
+                                                    break a;
+                                                   }
+                                                   fX(a, 38);
+                                                   break a;
+                                                  }
+                                                  fX(a, 37);
+                                                  break a;
+                                                 }
+                                                 e = gX(a, 19);
+                                                 if (!e) {
+                                                  break a;
+                                                 }
+                                                 b = q[a + 1312 >> 2];
+                                                 qa : {
+                                                  if (b >>> 0 <= 63) {
+                                                   q[a + 1312 >> 2] = b + 1;
+                                                   c = (w(b, 24) + a | 0) + 1320 | 0;
+                                                   break qa;
+                                                  }
+                                                  c = L$(24);
+                                                  if (!c) {
+                                                   break a;
+                                                  }
+                                                 }
+                                                 q[c + 8 >> 2] = 0;
+                                                 q[c >> 2] = q[a + 4 >> 2];
+                                                 b = c;
+                                                 d = q[a >> 2];
+                                                 if (d) {
+                                                  d = q[d >> 2];
+                                                 } else {
+                                                  d = 0;
+                                                 }
+                                                 q[b + 4 >> 2] = d;
+                                                 q[a + 4 >> 2] = c;
+                                                 if (!c) {
+                                                  break a;
+                                                 }
+                                                 q[c + 8 >> 2] = 18;
+                                                 q[c + 16 >> 2] = e;
+                                                 break a;
+                                                }
+                                                fX(a, 35);
+                                                break a;
+                                               }
+                                               e = gX(a, 34);
+                                               if (!e) {
+                                                break a;
+                                               }
+                                               b = q[a + 1312 >> 2];
+                                               ra : {
+                                                if (b >>> 0 <= 63) {
+                                                 q[a + 1312 >> 2] = b + 1;
+                                                 c = (w(b, 24) + a | 0) + 1320 | 0;
+                                                 break ra;
+                                                }
+                                                c = L$(24);
+                                                if (!c) {
+                                                 break a;
+                                                }
+                                               }
+                                               q[c + 8 >> 2] = 0;
+                                               q[c >> 2] = q[a + 4 >> 2];
+                                               b = c;
+                                               d = q[a >> 2];
+                                               if (d) {
+                                                d = q[d >> 2];
+                                               } else {
+                                                d = 0;
+                                               }
+                                               q[b + 4 >> 2] = d;
+                                               q[a + 4 >> 2] = c;
+                                               if (!c) {
+                                                break a;
+                                               }
+                                               q[c + 8 >> 2] = 18;
+                                               q[c + 16 >> 2] = e;
+                                               break a;
+                                              }
+                                              e = gX(a, 33);
+                                              if (!e) {
+                                               break a;
+                                              }
+                                              b = q[a + 1312 >> 2];
+                                              sa : {
+                                               if (b >>> 0 <= 63) {
+                                                q[a + 1312 >> 2] = b + 1;
+                                                c = (w(b, 24) + a | 0) + 1320 | 0;
+                                                break sa;
+                                               }
+                                               c = L$(24);
+                                               if (!c) {
+                                                break a;
+                                               }
+                                              }
+                                              q[c + 8 >> 2] = 0;
+                                              q[c >> 2] = q[a + 4 >> 2];
+                                              b = c;
+                                              d = q[a >> 2];
+                                              if (d) {
+                                               d = q[d >> 2];
+                                              } else {
+                                               d = 0;
+                                              }
+                                              q[b + 4 >> 2] = d;
+                                              q[a + 4 >> 2] = c;
+                                              if (!c) {
+                                               break a;
+                                              }
+                                              q[c + 8 >> 2] = 18;
+                                              q[c + 16 >> 2] = e;
+                                              break a;
+                                             }
+                                             e = gX(a, 32);
+                                             if (!e) {
+                                              break a;
+                                             }
+                                             b = q[a + 1312 >> 2];
+                                             ta : {
+                                              if (b >>> 0 <= 63) {
+                                               q[a + 1312 >> 2] = b + 1;
+                                               c = (w(b, 24) + a | 0) + 1320 | 0;
+                                               break ta;
+                                              }
+                                              c = L$(24);
+                                              if (!c) {
+                                               break a;
+                                              }
+                                             }
+                                             q[c + 8 >> 2] = 0;
+                                             q[c >> 2] = q[a + 4 >> 2];
+                                             b = c;
+                                             d = q[a >> 2];
+                                             if (d) {
+                                              d = q[d >> 2];
+                                             } else {
+                                              d = 0;
+                                             }
+                                             q[b + 4 >> 2] = d;
+                                             q[a + 4 >> 2] = c;
+                                             if (!c) {
+                                              break a;
+                                             }
+                                             q[c + 8 >> 2] = 18;
+                                             q[c + 16 >> 2] = e;
+                                             break a;
+                                            }
+                                            e = gX(a, 31);
+                                            if (!e) {
+                                             break a;
+                                            }
+                                            b = q[a + 1312 >> 2];
+                                            ua : {
+                                             if (b >>> 0 <= 63) {
+                                              q[a + 1312 >> 2] = b + 1;
+                                              c = (w(b, 24) + a | 0) + 1320 | 0;
+                                              break ua;
+                                             }
+                                             c = L$(24);
+                                             if (!c) {
+                                              break a;
+                                             }
+                                            }
+                                            q[c + 8 >> 2] = 0;
+                                            q[c >> 2] = q[a + 4 >> 2];
+                                            b = c;
+                                            d = q[a >> 2];
+                                            if (d) {
+                                             d = q[d >> 2];
+                                            } else {
+                                             d = 0;
+                                            }
+                                            q[b + 4 >> 2] = d;
+                                            q[a + 4 >> 2] = c;
+                                            if (!c) {
+                                             break a;
+                                            }
+                                            q[c + 8 >> 2] = 18;
+                                            q[c + 16 >> 2] = e;
+                                            break a;
+                                           }
+                                           e = gX(a, 26);
+                                           if (!e) {
+                                            break a;
+                                           }
+                                           b = q[a + 1312 >> 2];
+                                           va : {
+                                            if (b >>> 0 <= 63) {
+                                             q[a + 1312 >> 2] = b + 1;
+                                             c = (w(b, 24) + a | 0) + 1320 | 0;
+                                             break va;
+                                            }
+                                            c = L$(24);
+                                            if (!c) {
+                                             break a;
+                                            }
+                                           }
+                                           q[c + 8 >> 2] = 0;
+                                           q[c >> 2] = q[a + 4 >> 2];
+                                           b = c;
+                                           d = q[a >> 2];
+                                           if (d) {
+                                            d = q[d >> 2];
+                                           } else {
+                                            d = 0;
+                                           }
+                                           q[b + 4 >> 2] = d;
+                                           q[a + 4 >> 2] = c;
+                                           if (!c) {
+                                            break a;
+                                           }
+                                           q[c + 8 >> 2] = 18;
+                                           q[c + 16 >> 2] = e;
+                                           break a;
+                                          }
+                                          e = gX(a, 24);
+                                          if (!e) {
+                                           break a;
+                                          }
+                                          b = q[a + 1312 >> 2];
+                                          wa : {
+                                           if (b >>> 0 <= 63) {
+                                            q[a + 1312 >> 2] = b + 1;
+                                            c = (w(b, 24) + a | 0) + 1320 | 0;
+                                            break wa;
+                                           }
+                                           c = L$(24);
+                                           if (!c) {
+                                            break a;
+                                           }
+                                          }
+                                          q[c + 8 >> 2] = 0;
+                                          q[c >> 2] = q[a + 4 >> 2];
+                                          b = c;
+                                          d = q[a >> 2];
+                                          if (d) {
+                                           d = q[d >> 2];
+                                          } else {
+                                           d = 0;
+                                          }
+                                          q[b + 4 >> 2] = d;
+                                          q[a + 4 >> 2] = c;
+                                          if (!c) {
+                                           break a;
+                                          }
+                                          q[c + 8 >> 2] = 18;
+                                          q[c + 16 >> 2] = e;
+                                          break a;
+                                         }
+                                         e = gX(a, 30);
+                                         if (!e) {
+                                          break a;
+                                         }
+                                         b = q[a + 1312 >> 2];
+                                         xa : {
+                                          if (b >>> 0 <= 63) {
+                                           q[a + 1312 >> 2] = b + 1;
+                                           c = (w(b, 24) + a | 0) + 1320 | 0;
+                                           break xa;
+                                          }
+                                          c = L$(24);
+                                          if (!c) {
+                                           break a;
+                                          }
+                                         }
+                                         q[c + 8 >> 2] = 0;
+                                         q[c >> 2] = q[a + 4 >> 2];
+                                         b = c;
+                                         d = q[a >> 2];
+                                         if (d) {
+                                          d = q[d >> 2];
+                                         } else {
+                                          d = 0;
+                                         }
+                                         q[b + 4 >> 2] = d;
+                                         q[a + 4 >> 2] = c;
+                                         if (!c) {
+                                          break a;
+                                         }
+                                         q[c + 8 >> 2] = 18;
+                                         q[c + 16 >> 2] = e;
+                                         break a;
+                                        }
+                                        e = gX(a, 29);
+                                        if (!e) {
+                                         break a;
+                                        }
+                                        b = q[a + 1312 >> 2];
+                                        ya : {
+                                         if (b >>> 0 <= 63) {
+                                          q[a + 1312 >> 2] = b + 1;
+                                          c = (w(b, 24) + a | 0) + 1320 | 0;
+                                          break ya;
+                                         }
+                                         c = L$(24);
+                                         if (!c) {
+                                          break a;
+                                         }
+                                        }
+                                        q[c + 8 >> 2] = 0;
+                                        q[c >> 2] = q[a + 4 >> 2];
+                                        b = c;
+                                        d = q[a >> 2];
+                                        if (d) {
+                                         d = q[d >> 2];
+                                        } else {
+                                         d = 0;
+                                        }
+                                        q[b + 4 >> 2] = d;
+                                        q[a + 4 >> 2] = c;
+                                        if (!c) {
+                                         break a;
+                                        }
+                                        q[c + 8 >> 2] = 18;
+                                        q[c + 16 >> 2] = e;
+                                        break a;
+                                       }
+                                       e = gX(a, 28);
+                                       if (!e) {
+                                        break a;
+                                       }
+                                       b = q[a + 1312 >> 2];
+                                       za : {
+                                        if (b >>> 0 <= 63) {
+                                         q[a + 1312 >> 2] = b + 1;
+                                         c = (w(b, 24) + a | 0) + 1320 | 0;
+                                         break za;
+                                        }
+                                        c = L$(24);
+                                        if (!c) {
+                                         break a;
+                                        }
+                                       }
+                                       q[c + 8 >> 2] = 0;
+                                       q[c >> 2] = q[a + 4 >> 2];
+                                       b = c;
+                                       d = q[a >> 2];
+                                       if (d) {
+                                        d = q[d >> 2];
+                                       } else {
+                                        d = 0;
+                                       }
+                                       q[b + 4 >> 2] = d;
+                                       q[a + 4 >> 2] = c;
+                                       if (!c) {
+                                        break a;
+                                       }
+                                       q[c + 8 >> 2] = 18;
+                                       q[c + 16 >> 2] = e;
+                                       break a;
+                                      }
+                                      e = gX(a, 27);
+                                      if (!e) {
+                                       break a;
+                                      }
+                                      b = q[a + 1312 >> 2];
+                                      Aa : {
+                                       if (b >>> 0 <= 63) {
+                                        q[a + 1312 >> 2] = b + 1;
+                                        c = (w(b, 24) + a | 0) + 1320 | 0;
+                                        break Aa;
+                                       }
+                                       c = L$(24);
+                                       if (!c) {
+                                        break a;
+                                       }
+                                      }
+                                      q[c + 8 >> 2] = 0;
+                                      q[c >> 2] = q[a + 4 >> 2];
+                                      b = c;
+                                      d = q[a >> 2];
+                                      if (d) {
+                                       d = q[d >> 2];
+                                      } else {
+                                       d = 0;
+                                      }
+                                      q[b + 4 >> 2] = d;
+                                      q[a + 4 >> 2] = c;
+                                      if (!c) {
+                                       break a;
+                                      }
+                                      q[c + 8 >> 2] = 18;
+                                      q[c + 16 >> 2] = e;
+                                      break a;
+                                     }
+                                     e = gX(a, 23);
+                                     if (!e) {
+                                      break a;
+                                     }
+                                     b = q[a + 1312 >> 2];
+                                     Ba : {
+                                      if (b >>> 0 <= 63) {
+                                       q[a + 1312 >> 2] = b + 1;
+                                       c = (w(b, 24) + a | 0) + 1320 | 0;
+                                       break Ba;
+                                      }
+                                      c = L$(24);
+                                      if (!c) {
+                                       break a;
+                                      }
+                                     }
+                                     q[c + 8 >> 2] = 0;
+                                     q[c >> 2] = q[a + 4 >> 2];
+                                     b = c;
+                                     d = q[a >> 2];
+                                     if (d) {
+                                      d = q[d >> 2];
+                                     } else {
+                                      d = 0;
+                                     }
+                                     q[b + 4 >> 2] = d;
+                                     q[a + 4 >> 2] = c;
+                                     if (!c) {
+                                      break a;
+                                     }
+                                     q[c + 8 >> 2] = 18;
+                                     q[c + 16 >> 2] = e;
+                                     break a;
+                                    }
+                                    e = gX(a, 22);
+                                    if (!e) {
+                                     break a;
+                                    }
+                                    b = q[a + 1312 >> 2];
+                                    Ca : {
+                                     if (b >>> 0 <= 63) {
+                                      q[a + 1312 >> 2] = b + 1;
+                                      c = (w(b, 24) + a | 0) + 1320 | 0;
+                                      break Ca;
+                                     }
+                                     c = L$(24);
+                                     if (!c) {
+                                      break a;
+                                     }
+                                    }
+                                    q[c + 8 >> 2] = 0;
+                                    q[c >> 2] = q[a + 4 >> 2];
+                                    b = c;
+                                    d = q[a >> 2];
+                                    if (d) {
+                                     d = q[d >> 2];
+                                    } else {
+                                     d = 0;
+                                    }
+                                    q[b + 4 >> 2] = d;
+                                    q[a + 4 >> 2] = c;
+                                    if (!c) {
+                                     break a;
+                                    }
+                                    q[c + 8 >> 2] = 18;
+                                    q[c + 16 >> 2] = e;
+                                    break a;
+                                   }
+                                   e = gX(a, 21);
+                                   if (!e) {
+                                    break a;
+                                   }
+                                   b = q[a + 1312 >> 2];
+                                   Da : {
+                                    if (b >>> 0 <= 63) {
+                                     q[a + 1312 >> 2] = b + 1;
+                                     c = (w(b, 24) + a | 0) + 1320 | 0;
+                                     break Da;
+                                    }
+                                    c = L$(24);
+                                    if (!c) {
+                                     break a;
+                                    }
+                                   }
+                                   q[c + 8 >> 2] = 0;
+                                   q[c >> 2] = q[a + 4 >> 2];
+                                   b = c;
+                                   d = q[a >> 2];
+                                   if (d) {
+                                    d = q[d >> 2];
+                                   } else {
+                                    d = 0;
+                                   }
+                                   q[b + 4 >> 2] = d;
+                                   q[a + 4 >> 2] = c;
+                                   if (!c) {
+                                    break a;
+                                   }
+                                   q[c + 8 >> 2] = 18;
+                                   q[c + 16 >> 2] = e;
+                                   break a;
+                                  }
+                                  e = gX(a, 20);
+                                  if (!e) {
+                                   break a;
+                                  }
+                                  b = q[a + 1312 >> 2];
+                                  Ea : {
+                                   if (b >>> 0 <= 63) {
+                                    q[a + 1312 >> 2] = b + 1;
+                                    c = (w(b, 24) + a | 0) + 1320 | 0;
+                                    break Ea;
+                                   }
+                                   c = L$(24);
+                                   if (!c) {
+                                    break a;
+                                   }
+                                  }
+                                  q[c + 8 >> 2] = 0;
+                                  q[c >> 2] = q[a + 4 >> 2];
+                                  b = c;
+                                  d = q[a >> 2];
+                                  if (d) {
+                                   d = q[d >> 2];
+                                  } else {
+                                   d = 0;
+                                  }
+                                  q[b + 4 >> 2] = d;
+                                  q[a + 4 >> 2] = c;
+                                  if (!c) {
+                                   break a;
+                                  }
+                                  q[c + 8 >> 2] = 18;
+                                  q[c + 16 >> 2] = e;
+                                  break a;
+                                 }
+                                 hX(a, 3);
+                                 break a;
+                                }
+                                Fa : {
+                                 c = q[b + 8 >> 2];
+                                 if (!c) {
+                                  d = -1;
+                                  break Fa;
+                                 }
+                                 b = q[c >> 2];
+                                 if (!b) {
+                                  d = -1;
+                                  break Fa;
+                                 }
+                                 Ga : {
+                                  while (1) {
+                                   if (!iZ(b, 500417)) {
+                                    break Ga;
+                                   }
+                                   b = q[c + 8 >> 2];
+                                   c = c + 8 | 0;
+                                   if (b) {
+                                    continue;
+                                   }
+                                   break;
+                                  }
+                                  d = -1;
+                                  break Fa;
+                                 }
+                                 d = 0;
+                                 o[b | 0] = 0;
+                                 b = q[c + 4 >> 2];
+                                 if (!b) {
+                                  d = -1;
+                                  break Fa;
+                                 }
+                                 if (!iZ(b, 500424)) {
+                                  break Fa;
+                                 }
+                                 if (!iZ(b, 500432)) {
+                                  d = 1;
+                                  break Fa;
+                                 }
+                                 d = -1;
+                                 if (!iZ(b, 500086)) {
+                                  break Fa;
+                                 }
+                                 q[f + 416 >> 2] = b;
+                                 VW(a, 1, 502156, f + 416 | 0);
+                                 break a;
+                                }
+                                b = q[a >> 2];
+                                if (!b) {
+                                 break a;
+                                }
+                                e = nQ(b + 12 | 0);
+                                if (!e) {
+                                 VW(a, 2, 498895, 0);
+                                 break a;
+                                }
+                                h = WQ(e);
+                                b = q[a + 1312 >> 2];
+                                Ha : {
+                                 Ia : {
+                                  if (b >>> 0 <= 63) {
+                                   q[a + 1312 >> 2] = b + 1;
+                                   c = (w(b, 24) + a | 0) + 1320 | 0;
+                                   break Ia;
+                                  }
+                                  c = L$(24);
+                                  if (!c) {
+                                   break Ha;
+                                  }
+                                 }
+                                 q[c + 8 >> 2] = 0;
+                                 q[c >> 2] = q[a + 4 >> 2];
+                                 b = c;
+                                 g = q[a >> 2];
+                                 if (g) {
+                                  g = q[g >> 2];
+                                 } else {
+                                  g = 0;
+                                 }
+                                 q[b + 4 >> 2] = g;
+                                 q[a + 4 >> 2] = c;
+                                 if (!c) {
+                                  break Ha;
+                                 }
+                                 q[c + 16 >> 2] = h;
+                                 q[c + 8 >> 2] = 5;
+                                 q[c + 20 >> 2] = d;
+                                }
+                                M$(e);
+                                break a;
+                               }
+                               d = aS();
+                               if (!d) {
+                                VW(a, 2, 498895, 0);
+                                break a;
+                               }
+                               Ja : {
+                                b = q[a >> 2];
+                                if (!b) {
+                                 break Ja;
+                                }
+                                c = q[b + 8 >> 2];
+                                if (!c) {
+                                 break Ja;
+                                }
+                                b = q[c >> 2];
+                                if (!b) {
+                                 break Ja;
+                                }
+                                while (1) {
+                                 if (iZ(b, 501136)) {
+                                  b = q[c + 8 >> 2];
+                                  c = c + 8 | 0;
+                                  if (b) {
+                                   continue;
+                                  }
+                                  break Ja;
+                                 }
+                                 break;
+                                }
+                                o[b | 0] = 0;
+                                e = q[c + 4 >> 2];
+                                if (!e) {
+                                 break Ja;
+                                }
+                                c = f + 568 | 0;
+                                while (1) {
+                                 b = q[a + 4 >> 2];
+                                 Ka : {
+                                  if (!(q[b + 4 >> 2] == q[a >> 2] ? b : 0)) {
+                                   q[f + 560 >> 2] = 0;
+                                   break Ka;
+                                  }
+                                  q[f + 560 >> 2] = 0;
+                                  La : {
+                                   Ma : {
+                                    g = q[b + 8 >> 2];
+                                    h = g + -1 | 0;
+                                    if (h >>> 0 > 15) {
+                                     break Ma;
+                                    }
+                                    Na : {
+                                     switch (h - 1 | 0) {
+                                     default:
+                                      b = mZ(q[b + 16 >> 2]);
+                                      q[f + 568 >> 2] = b;
+                                      if (!b) {
+                                       break La;
+                                      }
+                                      q[f + 560 >> 2] = 3;
+                                      break La;
+                                     case 1:
+                                      if (!gR(q[b + 16 >> 2], c)) {
+                                       break La;
+                                      }
+                                      q[f + 560 >> 2] = 1;
+                                      break La;
+                                     case 8:
+                                      b = q[b + 16 >> 2];
+                                      q[f + 560 >> 2] = 1;
+                                      q[f + 568 >> 2] = b;
+                                      break La;
+                                     case 9:
+                                      g = q[b + 20 >> 2];
+                                      b = q[b + 16 >> 2];
+                                      q[f + 560 >> 2] = 2;
+                                      q[f + 568 >> 2] = b;
+                                      q[f + 572 >> 2] = g;
+                                      break La;
+                                     case 12:
+                                      b = q[b + 16 >> 2];
+                                      q[f + 560 >> 2] = 4;
+                                      q[f + 568 >> 2] = b;
+                                      break La;
+                                     case 13:
+                                      b = MR(q[b + 16 >> 2]);
+                                      q[f + 568 >> 2] = b;
+                                      if (!b) {
+                                       break La;
+                                      }
+                                      q[f + 560 >> 2] = 6;
+                                      break La;
+                                     case 14:
+                                      b = LP(q[b + 16 >> 2]);
+                                      q[f + 568 >> 2] = b;
+                                      if (!b) {
+                                       break La;
+                                      }
+                                      q[f + 560 >> 2] = 8;
+                                      break La;
+                                     case 0:
+                                     case 2:
+                                     case 3:
+                                     case 4:
+                                     case 5:
+                                     case 6:
+                                     case 7:
+                                     case 10:
+                                      break Ma;
+                                     case 11:
+                                      break Na;
+                                     }
+                                    }
+                                    b = gP(q[b + 16 >> 2]);
+                                    q[f + 568 >> 2] = b;
+                                    if (!b) {
+                                     break La;
+                                    }
+                                    q[f + 560 >> 2] = 9;
+                                    break La;
+                                   }
+                                   q[f + 400 >> 2] = g;
+                                   VW(a, 1, 502129, f + 400 | 0);
+                                  }
+                                  eX(a);
+                                 }
+                                 g = q[c + 4 >> 2];
+                                 b = f + 440 | 0;
+                                 q[b >> 2] = q[c >> 2];
+                                 q[b + 4 >> 2] = g;
+                                 g = q[f + 564 >> 2];
+                                 h = q[f + 560 >> 2];
+                                 q[f + 432 >> 2] = h;
+                                 q[f + 436 >> 2] = g;
+                                 Oa : {
+                                  if (h) {
+                                   g = q[b + 4 >> 2];
+                                   q[f + 392 >> 2] = q[b >> 2];
+                                   q[f + 396 >> 2] = g;
+                                   g = q[f + 436 >> 2];
+                                   q[f + 384 >> 2] = q[f + 432 >> 2];
+                                   q[f + 388 >> 2] = g;
+                                   if (nS(d, e, f + 384 | 0)) {
+                                    break Oa;
+                                   }
+                                   VW(a, 2, 498895, 0);
+                                   b = q[f + 444 >> 2];
+                                   q[f + 360 >> 2] = q[f + 440 >> 2];
+                                   q[f + 364 >> 2] = b;
+                                   b = q[f + 436 >> 2];
+                                   q[f + 352 >> 2] = q[f + 432 >> 2];
+                                   q[f + 356 >> 2] = b;
+                                   bS(f + 352 | 0);
+                                  }
+                                  b = q[a + 1312 >> 2];
+                                  Pa : {
+                                   if (b >>> 0 <= 63) {
+                                    q[a + 1312 >> 2] = b + 1;
+                                    c = (w(b, 24) + a | 0) + 1320 | 0;
+                                    break Pa;
+                                   }
+                                   c = L$(24);
+                                   if (!c) {
+                                    break a;
+                                   }
+                                  }
+                                  q[c + 8 >> 2] = 0;
+                                  q[c >> 2] = q[a + 4 >> 2];
+                                  b = c;
+                                  e = q[a >> 2];
+                                  if (e) {
+                                   e = q[e >> 2];
+                                  } else {
+                                   e = 0;
+                                  }
+                                  q[b + 4 >> 2] = e;
+                                  q[a + 4 >> 2] = c;
+                                  if (!c) {
+                                   break a;
+                                  }
+                                  q[c + 8 >> 2] = 6;
+                                  q[c + 16 >> 2] = d;
+                                  break a;
+                                 }
+                                 g = q[b + 4 >> 2];
+                                 q[f + 376 >> 2] = q[b >> 2];
+                                 q[f + 380 >> 2] = g;
+                                 b = q[f + 436 >> 2];
+                                 q[f + 368 >> 2] = q[f + 432 >> 2];
+                                 q[f + 372 >> 2] = b;
+                                 bS(f + 368 | 0);
+                                 continue;
+                                }
+                               }
+                               VW(a, 1, 502100, 0);
+                               gS(d);
+                               break a;
+                              }
+                              d = aS();
+                              if (d) {
+                               c = q[a + 4 >> 2];
+                               Qa : {
+                                if (!c) {
+                                 break Qa;
+                                }
+                                while (1) {
+                                 if (q[c + 4 >> 2] != q[a >> 2]) {
+                                  break Qa;
+                                 }
+                                 Ra : {
+                                  if (q[c + 8 >> 2] == 6) {
+                                   if (KS(d, q[c + 16 >> 2])) {
+                                    break Ra;
+                                   }
+                                   VW(a, 2, 498895, 0);
+                                   gS(d);
+                                   break a;
+                                  }
+                                  VW(a, 1, 502076, 0);
+                                 }
+                                 eX(a);
+                                 c = q[a + 4 >> 2];
+                                 if (c) {
+                                  continue;
+                                 }
+                                 break;
+                                }
+                               }
+                               b = q[a + 1312 >> 2];
+                               Sa : {
+                                if (b >>> 0 <= 63) {
+                                 q[a + 1312 >> 2] = b + 1;
+                                 c = (w(b, 24) + a | 0) + 1320 | 0;
+                                 break Sa;
+                                }
+                                c = L$(24);
+                                if (!c) {
+                                 break a;
+                                }
+                               }
+                               q[c + 8 >> 2] = 0;
+                               q[c >> 2] = q[a + 4 >> 2];
+                               b = c;
+                               e = q[a >> 2];
+                               if (e) {
+                                e = q[e >> 2];
+                               } else {
+                                e = 0;
+                               }
+                               q[b + 4 >> 2] = e;
+                               q[a + 4 >> 2] = c;
+                               if (!c) {
+                                break a;
+                               }
+                               q[c + 8 >> 2] = 6;
+                               q[c + 16 >> 2] = d;
+                               break a;
+                              }
+                              VW(a, 2, 498895, 0);
+                              break a;
+                             }
+                             hX(a, 4);
+                             break a;
+                            }
+                            c = q[a + 4 >> 2];
+                            if (!c | q[c + 4 >> 2] != (b | 0)) {
+                             break a;
+                            }
+                            b = (d | 0) == 18;
+                            while (1) {
+                             Ta : {
+                              Ua : {
+                               d = q[c + 8 >> 2] + -4 | 0;
+                               if (d >>> 0 > 2) {
+                                break Ua;
+                               }
+                               Va : {
+                                switch (d - 1 | 0) {
+                                default:
+                                 if (!q[a + 2856 >> 2]) {
+                                  if (!xQ(q[q[a + 16 >> 2] + (b ? 36 : 40) >> 2], q[c + 16 >> 2])) {
+                                   VW(a, 2, 498895, 0);
+                                   break Ta;
+                                  }
+                                  if (!q[a + 2856 >> 2]) {
+                                   break Ta;
+                                  }
+                                 }
+                                 d = q[c + 16 >> 2];
+                                 if (!d) {
+                                  break Ta;
+                                 }
+                                 M$(d);
+                                 q[c + 8 >> 2] = 0;
+                                 break Ta;
+                                case 0:
+                                 break Ua;
+                                case 1:
+                                 break Va;
+                                }
+                               }
+                               Wa : {
+                                if (!q[a + 2856 >> 2]) {
+                                 if (!sP(q[q[a + 16 >> 2] + (b ? 44 : 48) >> 2], q[c + 16 >> 2])) {
+                                  VW(a, 2, 498895, 0);
+                                  break Ta;
+                                 }
+                                 if (!q[a + 2856 >> 2]) {
+                                  break Wa;
+                                 }
+                                }
+                                d = q[c + 16 >> 2];
+                                if (!d) {
+                                 break Wa;
+                                }
+                                gS(d);
+                               }
+                               q[c + 8 >> 2] = 0;
+                               break Ta;
+                              }
+                              VW(a, 1, 502058, 0);
+                             }
+                             eX(a);
+                             c = q[a + 4 >> 2];
+                             if (!c) {
+                              break a;
+                             }
+                             if (q[c + 4 >> 2] == q[a >> 2]) {
+                              continue;
+                             }
+                             break;
+                            }
+                            break a;
+                           }
+                           d = HP();
+                           Xa : {
+                            c = q[a + 4 >> 2];
+                            if (!c) {
+                             break Xa;
+                            }
+                            b = 0;
+                            while (1) {
+                             if (q[c + 4 >> 2] == q[a >> 2]) {
+                              Ya : {
+                               if (q[c + 8 >> 2] == 1) {
+                                if (!MP(d, q[c + 16 >> 2])) {
+                                 q[f + 336 >> 2] = q[c + 16 >> 2];
+                                 VW(a, 1, 502011, f + 336 | 0);
+                                 break Ya;
+                                }
+                                b = b + 1 | 0;
+                                break Ya;
+                               }
+                               VW(a, 2, 502031, 0);
+                              }
+                              eX(a);
+                              c = q[a + 4 >> 2];
+                              if (c) {
+                               continue;
+                              }
+                             }
+                             break;
+                            }
+                            if ((b | 0) < 1) {
+                             break Xa;
+                            }
+                            if (!d) {
+                             break a;
+                            }
+                            b = q[a + 1312 >> 2];
+                            Za : {
+                             if (b >>> 0 <= 63) {
+                              q[a + 1312 >> 2] = b + 1;
+                              c = (w(b, 24) + a | 0) + 1320 | 0;
+                              break Za;
+                             }
+                             c = L$(24);
+                             if (!c) {
+                              break a;
+                             }
+                            }
+                            q[c + 8 >> 2] = 0;
+                            q[c >> 2] = q[a + 4 >> 2];
+                            b = c;
+                            e = q[a >> 2];
+                            if (e) {
+                             e = q[e >> 2];
+                            } else {
+                             e = 0;
+                            }
+                            q[b + 4 >> 2] = e;
+                            q[a + 4 >> 2] = c;
+                            if (!c) {
+                             break a;
+                            }
+                            q[c + 8 >> 2] = 16;
+                            q[c + 16 >> 2] = d;
+                            break a;
+                           }
+                           KP(d);
+                           break a;
+                          }
+                          e = GR();
+                          _a : {
+                           c = q[a + 4 >> 2];
+                           if (!c) {
+                            break _a;
+                           }
+                           b = 0;
+                           while (1) {
+                            if (q[c + 4 >> 2] == q[a >> 2]) {
+                             $a : {
+                              ab : {
+                               d = q[c + 8 >> 2] + -10 | 0;
+                               if (d >>> 0 > 3) {
+                                break ab;
+                               }
+                               bb : {
+                                switch (d - 1 | 0) {
+                                default:
+                                 if (!LR(e, q[c + 16 >> 2])) {
+                                  q[f + 304 >> 2] = q[c + 16 >> 2];
+                                  VW(a, 1, 501958, f + 304 | 0);
+                                  break $a;
+                                 }
+                                 b = b + 1 | 0;
+                                 break $a;
+                                case 0:
+                                case 1:
+                                 break ab;
+                                case 2:
+                                 break bb;
+                                }
+                               }
+                               g = q[c + 16 >> 2];
+                               k = v[g + 8 >> 3];
+                               cb : {
+                                if (k < 4294967296 & k >= 0) {
+                                 d = ~~k >>> 0;
+                                 break cb;
+                                }
+                                d = 0;
+                               }
+                               k = v[g >> 3];
+                               db : {
+                                if (k < 4294967296 & k >= 0) {
+                                 c = ~~k >>> 0;
+                                 break db;
+                                }
+                                c = 0;
+                               }
+                               if (c >>> 0 > d >>> 0) {
+                                break $a;
+                               }
+                               while (1) {
+                                eb : {
+                                 if (!LR(e, c)) {
+                                  q[f + 320 >> 2] = c;
+                                  VW(a, 1, 501958, f + 320 | 0);
+                                  break eb;
+                                 }
+                                 b = b + 1 | 0;
+                                }
+                                c = c + 1 | 0;
+                                if (c >>> 0 <= d >>> 0) {
+                                 continue;
+                                }
+                                break;
+                               }
+                               break $a;
+                              }
+                              VW(a, 2, 501984, 0);
+                             }
+                             eX(a);
+                             c = q[a + 4 >> 2];
+                             if (c) {
+                              continue;
+                             }
+                            }
+                            break;
+                           }
+                           if ((b | 0) < 1) {
+                            break _a;
+                           }
+                           if (!e) {
+                            break a;
+                           }
+                           b = q[a + 1312 >> 2];
+                           fb : {
+                            if (b >>> 0 <= 63) {
+                             q[a + 1312 >> 2] = b + 1;
+                             c = (w(b, 24) + a | 0) + 1320 | 0;
+                             break fb;
+                            }
+                            c = L$(24);
+                            if (!c) {
+                             break a;
+                            }
+                           }
+                           q[c + 8 >> 2] = 0;
+                           q[c >> 2] = q[a + 4 >> 2];
+                           b = c;
+                           d = q[a >> 2];
+                           if (d) {
+                            d = q[d >> 2];
+                           } else {
+                            d = 0;
+                           }
+                           q[b + 4 >> 2] = d;
+                           q[a + 4 >> 2] = c;
+                           if (!c) {
+                            break a;
+                           }
+                           q[c + 8 >> 2] = 15;
+                           q[c + 16 >> 2] = e;
+                           break a;
+                          }
+                          IR(e);
+                          break a;
+                         }
+                         b = oQ(b + 12 | 0);
+                         if (!b) {
+                          VW(a, 2, 498895, 0);
+                          break a;
+                         }
+                         q[f + 432 >> 2] = 0;
+                         if (!hR(b, f + 432 | 0)) {
+                          q[f + 288 >> 2] = b;
+                          VW(a, 1, 500391, f + 288 | 0);
+                         }
+                         e = q[f + 432 >> 2];
+                         b = q[a + 1312 >> 2];
+                         gb : {
+                          hb : {
+                           if (b >>> 0 <= 63) {
+                            q[a + 1312 >> 2] = b + 1;
+                            c = (w(b, 24) + a | 0) + 1320 | 0;
+                            break hb;
+                           }
+                           c = L$(24);
+                           if (!c) {
+                            break gb;
+                           }
+                          }
+                          q[c + 8 >> 2] = 0;
+                          q[c >> 2] = q[a + 4 >> 2];
+                          b = c;
+                          d = q[a >> 2];
+                          if (d) {
+                           d = q[d >> 2];
+                          } else {
+                           d = 0;
+                          }
+                          q[b + 4 >> 2] = d;
+                          q[a + 4 >> 2] = c;
+                          if (!c) {
+                           break gb;
+                          }
+                          q[c + 8 >> 2] = 14;
+                          q[c + 16 >> 2] = e;
+                         }
+                         mQ(q[a >> 2] + 12 | 0);
+                         break a;
+                        }
+                        q[f + 560 >> 2] = 0;
+                        q[f + 564 >> 2] = 0;
+                        q[f + 440 >> 2] = 0;
+                        q[f + 444 >> 2] = 0;
+                        q[f + 432 >> 2] = 0;
+                        q[f + 436 >> 2] = 0;
+                        ib : {
+                         c = q[a + 4 >> 2];
+                         if (c) {
+                          d = 1;
+                          if (q[c + 4 >> 2] == (b | 0)) {
+                           while (1) {
+                            b = d;
+                            if ((b | 0) <= -1) {
+                             VW(a, 2, 501892, 0);
+                             break a;
+                            }
+                            d = q[c + 8 >> 2] + -10 | 0;
+                            jb : {
+                             if (d >>> 0 <= 1) {
+                              if (d - 1) {
+                               c = q[c + 16 >> 2];
+                               if (h) {
+                                v[(f + 432 | 0) + (b << 3) >> 3] = c | 0;
+                                break jb;
+                               }
+                               q[(f + 560 | 0) + (b << 2) >> 2] = c;
+                               h = 0;
+                               break jb;
+                              }
+                              if (!(b | h)) {
+                               v[f + 440 >> 3] = t[f + 564 >> 2];
+                              }
+                              e = q[c + 20 >> 2];
+                              d = (f + 432 | 0) + (b << 3) | 0;
+                              q[d >> 2] = q[c + 16 >> 2];
+                              q[d + 4 >> 2] = e;
+                              h = 1;
+                              break jb;
+                             }
+                             VW(a, 2, 501919, 0);
+                             if (h) {
+                              c = (f + 432 | 0) + (b << 3) | 0;
+                              q[c >> 2] = 0;
+                              q[c + 4 >> 2] = 0;
+                              break jb;
+                             }
+                             h = 0;
+                             q[(f + 560 | 0) + (b << 2) >> 2] = 0;
+                            }
+                            eX(a);
+                            c = q[a + 4 >> 2];
+                            if (c) {
+                             d = b + -1 | 0;
+                             if (q[c + 4 >> 2] == q[a >> 2]) {
+                              continue;
+                             }
+                            }
+                            break;
+                           }
+                           b = (b | 0) > 0;
+                          } else {
+                           b = 1;
+                          }
+                          if (!b) {
+                           break ib;
+                          }
+                         }
+                         VW(a, 2, 501944, 0);
+                         break a;
+                        }
+                        kb : {
+                         if (h) {
+                          k = v[f + 432 >> 3];
+                          m = v[f + 440 >> 3];
+                          if (!!(k > m)) {
+                           VW(a, 2, 501944, 0);
+                           break a;
+                          }
+                          b = fP(k, m);
+                          break kb;
+                         }
+                         c = q[f + 560 >> 2];
+                         d = q[f + 564 >> 2];
+                         if (c >>> 0 > d >>> 0) {
+                          VW(a, 2, 501944, 0);
+                          break a;
+                         }
+                         b = L$(16);
+                         if (b) {
+                          v[b + 8 >> 3] = d >>> 0;
+                          v[b >> 3] = c >>> 0;
+                         }
+                        }
+                        c = q[a + 1312 >> 2];
+                        lb : {
+                         if (c >>> 0 <= 63) {
+                          q[a + 1312 >> 2] = c + 1;
+                          c = (w(c, 24) + a | 0) + 1320 | 0;
+                          break lb;
+                         }
+                         c = L$(24);
+                         if (!c) {
+                          break a;
+                         }
+                        }
+                        q[c + 8 >> 2] = 0;
+                        q[c >> 2] = q[a + 4 >> 2];
+                        d = c;
+                        e = q[a >> 2];
+                        if (e) {
+                         e = q[e >> 2];
+                        } else {
+                         e = 0;
+                        }
+                        q[d + 4 >> 2] = e;
+                        q[a + 4 >> 2] = c;
+                        if (!c) {
+                         break a;
+                        }
+                        q[c + 8 >> 2] = 13;
+                        q[c + 16 >> 2] = b;
+                        break a;
+                       }
+                       c = iX(a);
+                       d = iX(a);
+                       g = iX(a);
+                       h = iX(a);
+                       mb : {
+                        if (!(!g | (!c | !d))) {
+                         if (h) {
+                          break mb;
+                         }
+                        }
+                        VW(a, 1, 501827, 0);
+                        break a;
+                       }
+                       if (iX(a)) {
+                        VW(a, 2, 501860, 0);
+                        break a;
+                       }
+                       b = q[a + 1312 >> 2];
+                       nb : {
+                        if (b >>> 0 <= 63) {
+                         q[a + 1312 >> 2] = b + 1;
+                         e = (w(b, 24) + a | 0) + 1320 | 0;
+                         break nb;
+                        }
+                        e = L$(24);
+                        if (!e) {
+                         break a;
+                        }
+                       }
+                       q[e + 8 >> 2] = 0;
+                       q[e >> 2] = q[a + 4 >> 2];
+                       b = e;
+                       i = q[a >> 2];
+                       if (i) {
+                        i = q[i >> 2];
+                       } else {
+                        i = 0;
+                       }
+                       q[b + 4 >> 2] = i;
+                       q[a + 4 >> 2] = e;
+                       if (!e) {
+                        break a;
+                       }
+                       b = L$(16);
+                       if (b) {
+                        q[b + 12 >> 2] = c;
+                        q[b + 8 >> 2] = d;
+                        q[b + 4 >> 2] = g;
+                        q[b >> 2] = h;
+                       }
+                       q[e + 8 >> 2] = 12;
+                       q[e + 16 >> 2] = b;
+                       break a;
+                      }
+                      hX(a, 1);
+                      break a;
+                     }
+                     c = oQ(b + 12 | 0);
+                     if (!c) {
+                      VW(a, 2, 498895, 0);
+                      break a;
+                     }
+                     q[f + 428 >> 2] = 0;
+                     b = q[127062];
+                     d = g0(b);
+                     e = eZ(c, 46);
+                     ob : {
+                      if (!(!e | (r[b + 1 | 0] ? 0 : r[b | 0] == 46))) {
+                       if ((g0(c) + d | 0) >= 129) {
+                        q[f + 428 >> 2] = c;
+                        b = c;
+                        break ob;
+                       }
+                       g = e - c | 0;
+                       h = lZ(f + 432 | 0, c, g);
+                       gZ(gZ(g + (f + 432 | 0) | 0, b) + d | 0, e + 1 | 0);
+                       q[f + 560 >> 2] = 0;
+                       k = V_(h, f + 560 | 0);
+                       b = q[f + 560 >> 2];
+                       pb : {
+                        if (!b) {
+                         break pb;
+                        }
+                        b = c + (b - (f + 432 | 0) | 0) | 0;
+                        q[f + 560 >> 2] = b;
+                        if (b >>> 0 <= e >>> 0) {
+                         break pb;
+                        }
+                        b = (b - d | 0) + 1 | 0;
+                        q[f + 560 >> 2] = b;
+                       }
+                       q[f + 428 >> 2] = b;
+                       break ob;
+                      }
+                      k = V_(c, f + 428 | 0);
+                      b = q[f + 428 >> 2];
+                     }
+                     qb : {
+                      if ((g0(c) + c | 0) != (b | 0)) {
+                       q[f + 272 >> 2] = c;
+                       VW(a, 2, 501802, f + 272 | 0);
+                       break qb;
+                      }
+                      b = q[a + 1312 >> 2];
+                      rb : {
+                       if (b >>> 0 <= 63) {
+                        q[a + 1312 >> 2] = b + 1;
+                        c = (w(b, 24) + a | 0) + 1320 | 0;
+                        break rb;
+                       }
+                       c = L$(24);
+                       if (!c) {
+                        break qb;
+                       }
+                      }
+                      q[c + 8 >> 2] = 0;
+                      q[c >> 2] = q[a + 4 >> 2];
+                      b = c;
+                      d = q[a >> 2];
+                      if (d) {
+                       d = q[d >> 2];
+                      } else {
+                       d = 0;
+                      }
+                      q[b + 4 >> 2] = d;
+                      q[a + 4 >> 2] = c;
+                      if (!c) {
+                       break qb;
+                      }
+                      q[c + 8 >> 2] = 11;
+                      v[c + 16 >> 3] = k;
+                     }
+                     mQ(q[a >> 2] + 12 | 0);
+                     break a;
+                    }
+                    b = oQ(b + 12 | 0);
+                    if (!b) {
+                     VW(a, 2, 498895, 0);
+                     break a;
+                    }
+                    q[f + 432 >> 2] = 0;
+                    e = L_(b, f + 432 | 0, 0);
+                    sb : {
+                     if (q[f + 432 >> 2] != (g0(b) + b | 0)) {
+                      q[f + 256 >> 2] = b;
+                      VW(a, 2, 501776, f + 256 | 0);
+                      break sb;
+                     }
+                     b = q[a + 1312 >> 2];
+                     tb : {
+                      if (b >>> 0 <= 63) {
+                       q[a + 1312 >> 2] = b + 1;
+                       c = (w(b, 24) + a | 0) + 1320 | 0;
+                       break tb;
+                      }
+                      c = L$(24);
+                      if (!c) {
+                       break sb;
+                      }
+                     }
+                     q[c + 8 >> 2] = 0;
+                     q[c >> 2] = q[a + 4 >> 2];
+                     b = c;
+                     d = q[a >> 2];
+                     if (d) {
+                      d = q[d >> 2];
+                     } else {
+                      d = 0;
+                     }
+                     q[b + 4 >> 2] = d;
+                     q[a + 4 >> 2] = c;
+                     if (!c) {
+                      break sb;
+                     }
+                     q[c + 8 >> 2] = 10;
+                     q[c + 16 >> 2] = e;
+                    }
+                    mQ(q[a >> 2] + 12 | 0);
+                    break a;
+                   }
+                   ub : {
+                    c = q[b + 8 >> 2];
+                    vb : {
+                     if (!c) {
+                      break vb;
+                     }
+                     b = q[c >> 2];
+                     if (!b) {
+                      break vb;
+                     }
+                     while (1) {
+                      if (iZ(b, 501136)) {
+                       b = q[c + 8 >> 2];
+                       c = c + 8 | 0;
+                       if (b) {
+                        continue;
+                       }
+                       break vb;
+                      }
+                      break;
+                     }
+                     o[b | 0] = 0;
+                     g = q[c + 4 >> 2];
+                     if (g) {
+                      break ub;
+                     }
+                    }
+                    VW(a, 1, 501504, 0);
+                    break a;
+                   }
+                   wb : {
+                    xb : {
+                     b = q[a >> 2];
+                     yb : {
+                      if (!b) {
+                       d = 11;
+                       break yb;
+                      }
+                      d = 11;
+                      zb : {
+                       c = q[b + 8 >> 2];
+                       if (!c) {
+                        break zb;
+                       }
+                       b = q[c >> 2];
+                       if (!b) {
+                        break zb;
+                       }
+                       while (1) {
+                        if (iZ(b, 501522)) {
+                         b = q[c + 8 >> 2];
+                         c = c + 8 | 0;
+                         if (b) {
+                          continue;
+                         }
+                         break zb;
+                        }
+                        break;
+                       }
+                       o[b | 0] = 0;
+                       b = q[c + 4 >> 2];
+                       if (!b) {
+                        break zb;
+                       }
+                       d = jX(b, 501616);
+                       if ((d | 0) != 41) {
+                        break zb;
+                       }
+                       q[f + 240 >> 2] = b;
+                       VW(a, 1, 501527, f + 240 | 0);
+                       break a;
+                      }
+                      b = q[a >> 2];
+                      if (!b) {
+                       break yb;
+                      }
+                      c = q[b + 8 >> 2];
+                      if (!c) {
+                       break yb;
+                      }
+                      b = q[c >> 2];
+                      if (!b) {
+                       break yb;
+                      }
+                      while (1) {
+                       if (iZ(b, 500585)) {
+                        b = q[c + 8 >> 2];
+                        c = c + 8 | 0;
+                        if (b) {
+                         continue;
+                        }
+                        break yb;
+                       }
+                       break;
+                      }
+                      o[b | 0] = 0;
+                      b = q[c + 4 >> 2];
+                      if (!b) {
+                       break yb;
+                      }
+                      if (!iZ(b, 500715)) {
+                       break yb;
+                      }
+                      if (!iZ(b, 500720)) {
+                       e = 1;
+                       break yb;
+                      }
+                      if (iZ(b, 500727)) {
+                       break xb;
+                      }
+                      e = 2;
+                     }
+                     c = gX(a, 36);
+                     b = c;
+                     Ab : {
+                      if (d + -17 >>> 0 > 1) {
+                       break Ab;
+                      }
+                      b = c;
+                      if (!c) {
+                       break Ab;
+                      }
+                      VW(a, 1, 501550, 0);
+                      SW(c);
+                      b = 0;
+                     }
+                     c = WQ(g);
+                     g = L$(16);
+                     if (!g) {
+                      break wb;
+                     }
+                     q[g + 12 >> 2] = e;
+                     q[g + 8 >> 2] = b;
+                     q[g + 4 >> 2] = d;
+                     q[g >> 2] = c;
+                     c = cR(eR(c));
+                     if (c) {
+                      kX(a, b, q[c + 4 >> 2]);
+                     }
+                     Bb : {
+                      b = q[a + 1312 >> 2];
+                      Cb : {
+                       if (b >>> 0 <= 63) {
+                        q[a + 1312 >> 2] = b + 1;
+                        b = (w(b, 24) + a | 0) + 1320 | 0;
+                        break Cb;
+                       }
+                       b = L$(24);
+                       if (!b) {
+                        break Bb;
+                       }
+                      }
+                      q[b + 8 >> 2] = 0;
+                      q[b >> 2] = q[a + 4 >> 2];
+                      c = b;
+                      d = q[a >> 2];
+                      if (d) {
+                       d = q[d >> 2];
+                      } else {
+                       d = 0;
+                      }
+                      q[c + 4 >> 2] = d;
+                      q[a + 4 >> 2] = b;
+                      if (!b) {
+                       break Bb;
+                      }
+                      q[b + 8 >> 2] = 19;
+                      q[b + 16 >> 2] = g;
+                      break a;
+                     }
+                     b = q[g + 8 >> 2];
+                     if (b) {
+                      SW(b);
+                     }
+                     M$(g);
+                     break a;
+                    }
+                    q[f + 224 >> 2] = b;
+                    VW(a, 1, 500732, f + 224 | 0);
+                    break a;
+                   }
+                   VW(a, 2, 498895, 0);
+                   SW(b);
+                   break a;
+                  }
+                  Db : {
+                   c = q[b + 8 >> 2];
+                   if (!c) {
+                    d = -1;
+                    break Db;
+                   }
+                   b = q[c >> 2];
+                   if (!b) {
+                    d = -1;
+                    break Db;
+                   }
+                   Eb : {
+                    while (1) {
+                     if (!iZ(b, 500417)) {
+                      break Eb;
+                     }
+                     b = q[c + 8 >> 2];
+                     c = c + 8 | 0;
+                     if (b) {
+                      continue;
+                     }
+                     break;
+                    }
+                    d = -1;
+                    break Db;
+                   }
+                   d = 0;
+                   o[b | 0] = 0;
+                   b = q[c + 4 >> 2];
+                   if (!b) {
+                    d = -1;
+                    break Db;
+                   }
+                   if (!iZ(b, 500424)) {
+                    break Db;
+                   }
+                   if (!iZ(b, 500432)) {
+                    d = 1;
+                    break Db;
+                   }
+                   if (!iZ(b, 498510)) {
+                    d = 2;
+                    break Db;
+                   }
+                   d = -1;
+                   if (!iZ(b, 500086)) {
+                    break Db;
+                   }
+                   q[f + 208 >> 2] = b;
+                   VW(a, 1, 501059, f + 208 | 0);
+                   break a;
+                  }
+                  Fb : {
+                   Gb : {
+                    Hb : {
+                     Ib : {
+                      b = q[a >> 2];
+                      Jb : {
+                       if (!b) {
+                        break Jb;
+                       }
+                       c = q[b + 8 >> 2];
+                       Kb : {
+                        if (!c) {
+                         break Kb;
+                        }
+                        b = q[c >> 2];
+                        if (!b) {
+                         break Kb;
+                        }
+                        while (1) {
+                         if (iZ(b, 501084)) {
+                          b = q[c + 8 >> 2];
+                          c = c + 8 | 0;
+                          if (b) {
+                           continue;
+                          }
+                          break Kb;
+                         }
+                         break;
+                        }
+                        o[b | 0] = 0;
+                        b = q[c + 4 >> 2];
+                        if (!b) {
+                         break Kb;
+                        }
+                        if (!iZ(b, 501089)) {
+                         break Kb;
+                        }
+                        if (!iZ(b, 501093)) {
+                         h = 1;
+                         break Kb;
+                        }
+                        if (!iZ(b, 501097)) {
+                         h = 2;
+                         break Kb;
+                        }
+                        if (iZ(b, 501103)) {
+                         break Hb;
+                        }
+                        h = 3;
+                       }
+                       b = q[a >> 2];
+                       if (!b) {
+                        break Jb;
+                       }
+                       c = q[b + 8 >> 2];
+                       if (!c) {
+                        break Jb;
+                       }
+                       b = q[c >> 2];
+                       if (!b) {
+                        break Jb;
+                       }
+                       while (1) {
+                        if (iZ(b, 501136)) {
+                         b = q[c + 8 >> 2];
+                         c = c + 8 | 0;
+                         if (b) {
+                          continue;
+                         }
+                         break Jb;
+                        }
+                        break;
+                       }
+                       o[b | 0] = 0;
+                       j = q[c + 4 >> 2];
+                       if (j) {
+                        break Ib;
+                       }
+                      }
+                      VW(a, 1, 501141, 0);
+                      break a;
+                     }
+                     b = q[a >> 2];
+                     if (!b) {
+                      g = 22;
+                      break Fb;
+                     }
+                     g = 22;
+                     c = q[b + 8 >> 2];
+                     if (!c) {
+                      break Gb;
+                     }
+                     b = q[c >> 2];
+                     if (!b) {
+                      break Gb;
+                     }
+                     while (1) {
+                      if (iZ(b, 501159)) {
+                       b = q[c + 8 >> 2];
+                       c = c + 8 | 0;
+                       if (b) {
+                        continue;
+                       }
+                       break Gb;
+                      }
+                      break;
+                     }
+                     o[b | 0] = 0;
+                     b = q[c + 4 >> 2];
+                     if (!b) {
+                      break Gb;
+                     }
+                     g = jX(b, 501344);
+                     if ((g | 0) != 41) {
+                      break Gb;
+                     }
+                     q[f + 176 >> 2] = b;
+                     VW(a, 1, 501167, f + 176 | 0);
+                     break a;
+                    }
+                    q[f + 192 >> 2] = b;
+                    VW(a, 1, 501113, f + 192 | 0);
+                    break a;
+                   }
+                   b = q[a >> 2];
+                   if (!b) {
+                    break Fb;
+                   }
+                   c = q[b + 8 >> 2];
+                   if (!c) {
+                    break Fb;
+                   }
+                   b = q[c >> 2];
+                   if (!b) {
+                    break Fb;
+                   }
+                   while (1) {
+                    if (iZ(b, 501193)) {
+                     b = q[c + 8 >> 2];
+                     c = c + 8 | 0;
+                     if (b) {
+                      continue;
+                     }
+                     break Fb;
+                    }
+                    break;
+                   }
+                   o[b | 0] = 0;
+                   b = q[c + 4 >> 2];
+                   if (!b) {
+                    break Fb;
+                   }
+                   q[f + 432 >> 2] = 0;
+                   if (!hR(b, f + 432 | 0)) {
+                    q[f + 160 >> 2] = b;
+                    VW(a, 1, 501207, f + 160 | 0);
+                   }
+                   e = (q[f + 432 >> 2] != 0) << 16;
+                  }
+                  b = gX(a, 36);
+                  if (!b) {
+                   VW(a, 1, 501239, 0);
+                   break a;
+                  }
+                  if (q[b >> 2] == 36) {
+                   VW(a, 1, 501263, 0);
+                  }
+                  i = L$(20);
+                  if (i) {
+                   q[i + 4 >> 2] = h;
+                   q[i >> 2] = d;
+                   c = WQ(j);
+                   q[i + 16 >> 2] = b;
+                   q[i + 12 >> 2] = g & 65535 | e;
+                   q[i + 8 >> 2] = c;
+                   c = cR(eR(c));
+                   if (c) {
+                    kX(a, b, q[c + 4 >> 2]);
+                   }
+                   b = q[a + 1312 >> 2];
+                   Lb : {
+                    if (b >>> 0 <= 63) {
+                     q[a + 1312 >> 2] = b + 1;
+                     b = (w(b, 24) + a | 0) + 1320 | 0;
+                     break Lb;
+                    }
+                    b = L$(24);
+                    if (!b) {
+                     break a;
+                    }
+                   }
+                   q[b + 8 >> 2] = 0;
+                   q[b >> 2] = q[a + 4 >> 2];
+                   c = b;
+                   d = q[a >> 2];
+                   if (d) {
+                    d = q[d >> 2];
+                   } else {
+                    d = 0;
+                   }
+                   q[c + 4 >> 2] = d;
+                   q[a + 4 >> 2] = b;
+                   if (!b) {
+                    break a;
+                   }
+                   q[b + 8 >> 2] = 17;
+                   q[b + 16 >> 2] = i;
+                   break a;
+                  }
+                  VW(a, 2, 498895, 0);
+                  break a;
+                 }
+                 b = oQ(b + 12 | 0);
+                 if (!b) {
+                  VW(a, 2, 498895, 0);
+                  break a;
+                 }
+                 d = vX(q[a + 16 >> 2]);
+                 if (!d) {
+                  mQ(q[a >> 2] + 12 | 0);
+                  break a;
+                 }
+                 q[d >> 2] = 2;
+                 n = d, p = mZ(b), q[n + 8 >> 2] = p;
+                 mQ(q[a >> 2] + 12 | 0);
+                 b = q[a + 1312 >> 2];
+                 Mb : {
+                  if (b >>> 0 <= 63) {
+                   q[a + 1312 >> 2] = b + 1;
+                   c = (w(b, 24) + a | 0) + 1320 | 0;
+                   break Mb;
+                  }
+                  c = L$(24);
+                  if (!c) {
+                   break a;
+                  }
+                 }
+                 q[c + 8 >> 2] = 0;
+                 q[c >> 2] = q[a + 4 >> 2];
+                 b = c;
+                 e = q[a >> 2];
+                 if (e) {
+                  e = q[e >> 2];
+                 } else {
+                  e = 0;
+                 }
+                 q[b + 4 >> 2] = e;
+                 q[a + 4 >> 2] = c;
+                 if (!c) {
+                  break a;
+                 }
+                 q[c + 8 >> 2] = 2;
+                 q[c + 16 >> 2] = d;
+                 break a;
+                }
+                lX(a, 9);
+                break a;
+               }
+               lX(a, 8);
+               break a;
+              }
+              lX(a, 7);
+              break a;
+             }
+             c = q[a + 4 >> 2];
+             if (!c) {
+              break a;
+             }
+             d = 0;
+             h = c;
+             Nb : {
+              while (1) {
+               if (q[h + 4 >> 2] == (b | 0)) {
+                d = d + 1 | 0;
+                h = q[h >> 2];
+                if (h) {
+                 continue;
+                }
+                break Nb;
+               }
+               break;
+              }
+              if (!d) {
+               break a;
+              }
+             }
+             while (1) {
+              e = d + -1 | 0;
+              Ob : {
+               if (!c) {
+                break Ob;
+               }
+               b = e;
+               if ((d | 0) == 1) {
+                break Ob;
+               }
+               while (1) {
+                c = q[c >> 2];
+                if ((b | 0) < 2) {
+                 break Ob;
+                }
+                b = b + -1 | 0;
+                if (c) {
+                 continue;
+                }
+                break;
+               }
+              }
+              Pb : {
+               if (q[c + 8 >> 2] != 10) {
+                VW(a, 1, 501029, 0);
+                break Pb;
+               }
+               q[q[a + 16 >> 2] + 64 >> 2] = q[c + 16 >> 2];
+              }
+              if ((d | 0) < 2) {
+               break a;
+              }
+              c = q[a + 4 >> 2];
+              d = e;
+              continue;
+             }
+            }
+            if (q[a + 2856 >> 2]) {
+             break a;
+            }
+            b = q[a + 16 >> 2];
+            if (r[643388] & 16) {
+             f0(503664);
+            }
+            if (PQ(q[b + 8 >> 2])) {
+             break a;
+            }
+            VW(a, 2, 501002, 0);
+            break a;
+           }
+           d = oQ(b + 12 | 0);
+           if (!d) {
+            VW(a, 2, 498895, 0);
+            break a;
+           }
+           if (!r[d | 0]) {
+            VW(a, 1, 500868, 0);
+            break a;
+           }
+           Qb : {
+            b = q[a >> 2];
+            Rb : {
+             if (!b) {
+              break Rb;
+             }
+             c = q[b + 8 >> 2];
+             if (!c) {
+              break Rb;
+             }
+             b = q[c >> 2];
+             if (!b) {
+              break Rb;
+             }
+             while (1) {
+              if (iZ(b, 500912)) {
+               b = q[c + 8 >> 2];
+               c = c + 8 | 0;
+               if (b) {
+                continue;
+               }
+               break Rb;
+              }
+              break;
+             }
+             o[b | 0] = 0;
+             i = q[c + 4 >> 2];
+             if (i) {
+              break Qb;
+             }
+            }
+            VW(a, 1, 500920, 0);
+            break a;
+           }
+           h = q[a >> 2];
+           Sb : {
+            if (!h) {
+             break Sb;
+            }
+            c = q[h + 8 >> 2];
+            if (!c) {
+             break Sb;
+            }
+            b = q[c >> 2];
+            if (!b) {
+             break Sb;
+            }
+            Tb : {
+             while (1) {
+              if (!iZ(b, 500031)) {
+               o[b | 0] = 0;
+               h = q[a >> 2];
+               e = q[c + 4 >> 2];
+               break Tb;
+              }
+              b = q[c + 8 >> 2];
+              c = c + 8 | 0;
+              if (b) {
+               continue;
+              }
+              break;
+             }
+             e = 0;
+            }
+            if (!h) {
+             break Sb;
+            }
+            c = q[h + 8 >> 2];
+            if (!c) {
+             break Sb;
+            }
+            b = q[c >> 2];
+            if (!b) {
+             break Sb;
+            }
+            while (1) {
+             if (!iZ(b, 500038)) {
+              o[b | 0] = 0;
+              g = q[c + 4 >> 2];
+              break Sb;
+             }
+             b = q[c + 8 >> 2];
+             c = c + 8 | 0;
+             if (b) {
+              continue;
+             }
+             break;
+            }
+           }
+           b = dX(a, d, e);
+           if (b) {
+            Ub : {
+             if (q[a + 2856 >> 2] | !r[b | 0]) {
+              break Ub;
+             }
+             if (sQ(b)) {
+              if (!NX()) {
+               break Ub;
+              }
+             }
+             if (AX(q[a + 16 >> 2], b, i, g)) {
+              break Ub;
+             }
+             q[f + 148 >> 2] = i;
+             q[f + 144 >> 2] = b;
+             VW(a, 2, 500949, f + 144 | 0);
+            }
+            mQ(q[a >> 2] + 12 | 0);
+            M$(b);
+            break a;
+           }
+           mQ(q[a >> 2] + 12 | 0);
+           break a;
+          }
+          c = q[b + 8 >> 2];
+          Vb : {
+           if (!c) {
+            break Vb;
+           }
+           d = q[c >> 2];
+           if (!d) {
+            break Vb;
+           }
+           while (1) {
+            if (!iZ(d, 500861)) {
+             o[d | 0] = 0;
+             b = q[a >> 2];
+             h = q[c + 4 >> 2];
+             break Vb;
+            }
+            d = q[c + 8 >> 2];
+            c = c + 8 | 0;
+            if (d) {
+             continue;
+            }
+            break;
+           }
+          }
+          b = nQ(b + 12 | 0);
+          if (!b) {
+           VW(a, 2, 498895, 0);
+           break a;
+          }
+          YX(q[a + 20 >> 2], h, b);
+          M$(b);
+          break a;
+         }
+         Wb : {
+          Xb : {
+           c = q[b + 8 >> 2];
+           Yb : {
+            if (!c) {
+             break Yb;
+            }
+            b = q[c >> 2];
+            if (!b) {
+             break Yb;
+            }
+            while (1) {
+             if (iZ(b, 500585)) {
+              b = q[c + 8 >> 2];
+              c = c + 8 | 0;
+              if (b) {
+               continue;
+              }
+              break Yb;
+             }
+             break;
+            }
+            o[b | 0] = 0;
+            b = q[c + 4 >> 2];
+            if (!b) {
+             break Yb;
+            }
+            if (!iZ(b, 500715)) {
+             break Yb;
+            }
+            if (!iZ(b, 500720)) {
+             l = 1;
+             break Yb;
+            }
+            if (iZ(b, 500727)) {
+             break Xb;
+            }
+            l = 2;
+           }
+           c = q[a + 4 >> 2];
+           if (!c) {
+            VW(a, 2, 500684, 0);
+            break a;
+           }
+           d = 0;
+           while (1) {
+            if (q[c + 4 >> 2] == q[a >> 2]) {
+             Zb : {
+              _b : {
+               $b : {
+                b = q[c + 8 >> 2] + -2 | 0;
+                if (b >>> 0 > 15) {
+                 break $b;
+                }
+                ac : {
+                 switch (b - 1 | 0) {
+                 default:
+                  if (g) {
+                   VW(a, 1, 500593, 0);
+                   i = q[c + 16 >> 2];
+                   b = vX(q[a + 16 >> 2]);
+                   if (b) {
+                    q[b + 8 >> 2] = i;
+                    q[b >> 2] = 36;
+                    q[b + 12 >> 2] = g;
+                    g = b;
+                    break _b;
+                   }
+                   VW(a, 2, 498895, 0);
+                   break Zb;
+                  }
+                  g = q[c + 16 >> 2];
+                  if (g) {
+                   break _b;
+                  }
+                  g = 0;
+                  break Zb;
+                 case 4:
+                  if (e) {
+                   SW(e);
+                  }
+                  q[c + 8 >> 2] = 0;
+                  e = q[c + 16 >> 2];
+                  break Zb;
+                 case 5:
+                  if (j) {
+                   SW(j);
+                  }
+                  q[c + 8 >> 2] = 0;
+                  j = q[c + 16 >> 2];
+                  break Zb;
+                 case 6:
+                  if (h) {
+                   SW(h);
+                  }
+                  q[c + 8 >> 2] = 0;
+                  h = q[c + 16 >> 2];
+                  break Zb;
+                 case 0:
+                 case 1:
+                 case 2:
+                 case 3:
+                 case 7:
+                 case 8:
+                 case 9:
+                 case 10:
+                 case 11:
+                 case 12:
+                 case 13:
+                  break $b;
+                 case 14:
+                  break ac;
+                 }
+                }
+                i = q[c + 16 >> 2];
+                b = L$(12);
+                bc : {
+                 if (!b) {
+                  b = 0;
+                  break bc;
+                 }
+                 q[b + 8 >> 2] = i;
+                 q[b >> 2] = 0;
+                 q[b + 4 >> 2] = 1;
+                }
+                if (d) {
+                 q[b >> 2] = d;
+                }
+                q[c + 8 >> 2] = 0;
+                d = b;
+                break Zb;
+               }
+               VW(a, 1, 500674, 0);
+               break Zb;
+              }
+              q[c + 8 >> 2] = 0;
+             }
+             eX(a);
+             c = q[a + 4 >> 2];
+             if (c) {
+              continue;
+             }
+            }
+            break;
+           }
+           if (!g) {
+            VW(a, 2, 500684, 0);
+            if (e) {
+             SW(e);
+            }
+            if (j) {
+             SW(j);
+            }
+            if (h) {
+             SW(h);
+            }
+            if (!d) {
+             break a;
+            }
+            TW(d);
+            break a;
+           }
+           if (!(j | (e | h))) {
+            SW(g);
+            if (!d) {
+             break a;
+            }
+            TW(d);
+            break a;
+           }
+           i = L$(20);
+           cc : {
+            if (!i) {
+             break cc;
+            }
+            b = i;
+            q[b >> 2] = 0;
+            q[b + 4 >> 2] = 0;
+            c = WQ(500708);
+            q[b + 16 >> 2] = g;
+            q[b + 12 >> 2] = 65558;
+            q[b + 8 >> 2] = c;
+            b = cR(eR(c));
+            if (!b) {
+             break cc;
+            }
+            kX(a, g, q[b + 4 >> 2]);
+           }
+           dc : {
+            if (d) {
+             c = d;
+             while (1) {
+              b = c;
+              c = q[c >> 2];
+              if (c) {
+               continue;
+              }
+              break;
+             }
+             c = L$(12);
+             if (!c) {
+              c = 0;
+              q[b >> 2] = 0;
+              break dc;
+             }
+             q[c + 8 >> 2] = i;
+             q[c >> 2] = 0;
+             q[c + 4 >> 2] = 1;
+             q[b >> 2] = c;
+             break dc;
+            }
+            d = L$(12);
+            if (!d) {
+             d = 0;
+             c = 0;
+             break dc;
+            }
+            q[d + 8 >> 2] = i;
+            q[d >> 2] = 0;
+            q[d + 4 >> 2] = 1;
+            c = d;
+           }
+           if (!e) {
+            b = c;
+            break Wb;
+           }
+           g = L$(16);
+           if (g) {
+            q[g + 12 >> 2] = l;
+            q[g + 8 >> 2] = e;
+            q[g >> 2] = 1;
+            q[g + 4 >> 2] = 14;
+            b = cR(eR(1));
+            if (b) {
+             kX(a, e, q[b + 4 >> 2]);
+            }
+            b = L$(12);
+            ec : {
+             if (!b) {
+              b = 0;
+              break ec;
+             }
+             q[b + 8 >> 2] = g;
+             q[b >> 2] = 0;
+             q[b + 4 >> 2] = 2;
+            }
+            q[c >> 2] = b;
+            break Wb;
+           }
+           SW(e);
+           b = c;
+           break Wb;
+          }
+          q[f + 128 >> 2] = b;
+          VW(a, 1, 500732, f + 128 | 0);
+          break a;
+         }
+         fc : {
+          if (!j) {
+           c = b;
+           break fc;
+          }
+          e = L$(16);
+          if (e) {
+           q[e + 12 >> 2] = l;
+           q[e + 8 >> 2] = j;
+           q[e >> 2] = 1;
+           q[e + 4 >> 2] = 15;
+           c = cR(eR(1));
+           if (c) {
+            kX(a, j, q[c + 4 >> 2]);
+           }
+           c = L$(12);
+           gc : {
+            if (!c) {
+             c = 0;
+             break gc;
+            }
+            q[c + 8 >> 2] = e;
+            q[c >> 2] = 0;
+            q[c + 4 >> 2] = 2;
+           }
+           q[b >> 2] = c;
+           break fc;
+          }
+          SW(j);
+          c = b;
+         }
+         hc : {
+          if (!h) {
+           break hc;
+          }
+          b = L$(16);
+          if (b) {
+           q[b + 12 >> 2] = l;
+           q[b + 8 >> 2] = h;
+           q[b >> 2] = 1;
+           q[b + 4 >> 2] = 16;
+           e = cR(eR(1));
+           if (e) {
+            kX(a, h, q[e + 4 >> 2]);
+           }
+           h = L$(12);
+           ic : {
+            if (!h) {
+             h = 0;
+             break ic;
+            }
+            q[h + 8 >> 2] = b;
+            q[h >> 2] = 0;
+            q[h + 4 >> 2] = 2;
+           }
+           q[c >> 2] = h;
+           break hc;
+          }
+          SW(h);
+         }
+         b = ZX(q[a + 20 >> 2], d, 0);
+         if ((b | 0) == -1) {
+          TW(d);
+          break a;
+         }
+         c = q[a + 16 >> 2];
+         if (q[c + 32 >> 2] >= (b | 0)) {
+          break a;
+         }
+         q[c + 32 >> 2] = b;
+         break a;
+        }
+        while (1) {
+         j = 0;
+         i = q[160849];
+         if (i) {
+          break e;
+         }
+         i = mZ(b);
+         c = q[160849];
+         q[160849] = c ? c : i;
+         if (!c) {
+          break e;
+         }
+         M$(i);
+         continue;
+        }
+       }
+       while (1) {
+        j = q[160848];
+        if (j) {
+         break e;
+        }
+        j = mZ(b);
+        c = q[160848];
+        q[160848] = c ? c : j;
+        if (!c) {
+         break e;
+        }
+        M$(j);
+        continue;
+       }
+      }
+      d = b;
+      break c;
+     }
+     b = 0;
+    }
+    c = q[a + 20 >> 2];
+    e = UX(q[c + 4 >> 2]);
+    q[a + 20 >> 2] = e;
+    XX(e, q[c + 16 >> 2]);
+    YX(q[a + 20 >> 2], q[c + 12 >> 2], q[c + 8 >> 2]);
+    MW(q[c + 20 >> 2], f + 432 | 0);
+    if (OW(q[c + 20 >> 2], f + 432 | 0)) {
+     PW(q[q[a + 16 >> 2] + 20 >> 2], f + 432 | 0);
+     WX(c);
+     RW(q[q[a + 16 >> 2] + 20 >> 2], f + 432 | 0, c);
+    }
+    e = c + 24 | 0;
+    MW(q[e >> 2], f + 432 | 0);
+    if (OW(q[e >> 2], f + 432 | 0)) {
+     PW(q[q[a + 16 >> 2] + 24 >> 2], f + 432 | 0);
+     WX(c);
+     RW(q[q[a + 16 >> 2] + 24 >> 2], f + 432 | 0, c);
+    }
+    e = c + 28 | 0;
+    MW(q[e >> 2], f + 432 | 0);
+    if (OW(q[e >> 2], f + 432 | 0)) {
+     PW(q[q[a + 16 >> 2] + 28 >> 2], f + 432 | 0);
+     WX(c);
+     RW(q[q[a + 16 >> 2] + 28 >> 2], f + 432 | 0, c);
+    }
+    sX(c);
+    jc : {
+     if (!UW(q[a + 16 >> 2], d, h, !q[a + 2856 >> 2])) {
+      q[a + 8 >> 2] = 1;
+      break jc;
+     }
+     c = EX(q[a + 16 >> 2], d);
+     kc : {
+      if (!c | (!j | !g)) {
+       break kc;
+      }
+      if (eT(c)) {
+       break kc;
+      }
+      if (dT(c)) {
+       e = FQ(j);
+       if (!dT(e)) {
+        UQ(e);
+       }
+       M$(e);
+       lc : {
+        if (dT(j)) {
+         break lc;
+        }
+        if (F_(c, j)) {
+         break lc;
+        }
+        if (!QY(j, c)) {
+         break kc;
+        }
+       }
+       if (r[643404]) {
+        break kc;
+       }
+       q[f + 52 >> 2] = j;
+       q[f + 48 >> 2] = d;
+       VW(a, 1, 500315, f + 48 | 0);
+       o[643404] = 1;
+       break kc;
+      }
+      e = FQ(i);
+      if (!dT(e)) {
+       UQ(e);
+      }
+      M$(e);
+      mc : {
+       if (fT(i)) {
+        break mc;
+       }
+       if (F_(c, i)) {
+        break mc;
+       }
+       if (!QY(i, c)) {
+        break kc;
+       }
+      }
+      if (r[643400]) {
+       break kc;
+      }
+      q[f + 36 >> 2] = i;
+      q[f + 32 >> 2] = d;
+      VW(a, 1, 500315, f + 32 | 0);
+      o[643400] = 1;
+     }
+     if (!c) {
+      break jc;
+     }
+     M$(c);
+    }
+    mQ(q[a >> 2] + 12 | 0);
+    if (!b) {
+     break a;
+    }
+    M$(b);
+    break a;
+   }
+   mQ(q[a >> 2] + 12 | 0);
+   M$(c);
+  }
+  cX(a);
+ }
+ Ca = f + 576 | 0;
+}
+function TD(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  if (r[a + 16 | 0] & 16) {
+   break a;
+  }
+  sG(a);
+  h = q[a + 76 >> 2];
+  b : {
+   c : {
+    d : {
+     d = q[a + 52 >> 2];
+     if ((d | 0) <= 1332902240) {
+      if ((d | 0) > 1198879348) {
+       break d;
+      }
+      if ((d | 0) > 1147500128) {
+       break c;
+      }
+      if ((d | 0) != 1113943655) {
+       if ((d | 0) != 1114792296) {
+        break a;
+       }
+       q[a + 72 >> 2] = 0;
+       if (h >>> 0 < 2) {
+        break b;
+       }
+       e = 1;
+       while (1) {
+        if (!r[a + 68 | 0]) {
+         break b;
+        }
+        e : {
+         f : {
+          g = q[a + 88 >> 2];
+          c = q[g + w(b, 20) >> 2] + -69637 | 0;
+          if (c >>> 0 > 10) {
+           break f;
+          }
+          d = 69688;
+          g : {
+           h : {
+            switch (c - 1 | 0) {
+            case 5:
+             d = 69694;
+             break g;
+            case 9:
+             break h;
+            case 0:
+            case 1:
+            case 2:
+            case 3:
+            case 4:
+            case 6:
+            case 7:
+            case 8:
+             break f;
+            default:
+             break g;
+            }
+           }
+           d = 69698;
+          }
+          f = q[g + w(e, 20) >> 2];
+          i : {
+           if (r[a + 69 | 0]) {
+            j : {
+             if ((g | 0) == q[a + 92 >> 2]) {
+              e = b;
+              c = b;
+              if (q[a + 80 >> 2] == (b | 0)) {
+               break j;
+              }
+             }
+             if (!pG(a, 1, 1)) {
+              break i;
+             }
+             c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+             b = q[c + 4 >> 2];
+             e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+             q[e >> 2] = q[c >> 2];
+             q[e + 4 >> 2] = b;
+             q[e + 16 >> 2] = q[c + 16 >> 2];
+             b = q[c + 12 >> 2];
+             q[e + 8 >> 2] = q[c + 8 >> 2];
+             q[e + 12 >> 2] = b;
+             e = q[a + 80 >> 2];
+             c = q[a + 72 >> 2];
+            }
+            b = c;
+            q[a + 80 >> 2] = e + 1;
+           }
+           q[a + 72 >> 2] = b + 1;
+          }
+          if ((d | 0) != (f | 0)) {
+           break e;
+          }
+          k : {
+           if (!pG(a, 0, 1)) {
+            q[160660] = q[67764];
+            b = q[67763];
+            q[160658] = q[67762];
+            q[160659] = b;
+            b = q[67761];
+            q[160656] = q[67760];
+            q[160657] = b;
+            b = 642624;
+            break k;
+           }
+           c = q[a + 72 >> 2];
+           b = q[a + 76 >> 2];
+           if (!(q[a + 80 >> 2] | (c | 0) != (b | 0))) {
+            q[160660] = q[67764];
+            b = q[67763];
+            q[160658] = q[67762];
+            q[160659] = b;
+            b = q[67761];
+            q[160656] = q[67760];
+            q[160657] = b;
+            b = 642624;
+            break k;
+           }
+           l : {
+            if (c >>> 0 < b >>> 0) {
+             b = q[a + 80 >> 2];
+             d = q[a + 92 >> 2];
+             c = q[a + 88 >> 2] + w(c, 20) | 0;
+             break l;
+            }
+            d = q[a + 92 >> 2];
+            b = q[a + 80 >> 2];
+            c = (d + w(b, 20) | 0) + -20 | 0;
+           }
+           e = w(b, 20) + d | 0;
+           d = e;
+           b = q[c + 4 >> 2];
+           q[d >> 2] = q[c >> 2];
+           q[d + 4 >> 2] = b;
+           q[d + 16 >> 2] = q[c + 16 >> 2];
+           b = q[c + 12 >> 2];
+           q[d + 8 >> 2] = q[c + 8 >> 2];
+           q[d + 12 >> 2] = b;
+           d = q[a + 80 >> 2];
+           b = q[a + 92 >> 2] + w(d, 20) | 0;
+           q[b >> 2] = 9676;
+           q[a + 80 >> 2] = d + 1;
+          }
+          p[b + 16 >> 1] = s[b + 16 >> 1] & 65407;
+          if (r[a + 69 | 0]) {
+           m : {
+            if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+             b = q[a + 80 >> 2];
+             if ((b | 0) == q[a + 72 >> 2]) {
+              break m;
+             }
+            }
+            if (!pG(a, 1, 1)) {
+             break e;
+            }
+            d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+            b = q[d + 4 >> 2];
+            c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+            q[c >> 2] = q[d >> 2];
+            q[c + 4 >> 2] = b;
+            q[c + 16 >> 2] = q[d + 16 >> 2];
+            b = q[d + 12 >> 2];
+            q[c + 8 >> 2] = q[d + 8 >> 2];
+            q[c + 12 >> 2] = b;
+            b = q[a + 80 >> 2];
+           }
+           q[a + 80 >> 2] = b + 1;
+          }
+          q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+          break e;
+         }
+         if (r[a + 69 | 0]) {
+          n : {
+           if ((g | 0) == q[a + 92 >> 2]) {
+            c = b;
+            d = b;
+            if (q[a + 80 >> 2] == (b | 0)) {
+             break n;
+            }
+           }
+           if (!pG(a, 1, 1)) {
+            break e;
+           }
+           d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+           b = q[d + 4 >> 2];
+           c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+           q[c >> 2] = q[d >> 2];
+           q[c + 4 >> 2] = b;
+           q[c + 16 >> 2] = q[d + 16 >> 2];
+           b = q[d + 12 >> 2];
+           q[c + 8 >> 2] = q[d + 8 >> 2];
+           q[c + 12 >> 2] = b;
+           c = q[a + 72 >> 2];
+           d = q[a + 80 >> 2];
+          }
+          b = c;
+          q[a + 80 >> 2] = d + 1;
+         }
+         q[a + 72 >> 2] = b + 1;
+        }
+        b = q[a + 72 >> 2];
+        e = b + 1 | 0;
+        if (e >>> 0 < h >>> 0) {
+         continue;
+        }
+        break;
+       }
+       break b;
+      }
+      q[a + 72 >> 2] = 0;
+      if (h >>> 0 < 2) {
+       break b;
+      }
+      e = 1;
+      while (1) {
+       if (!r[a + 68 | 0]) {
+        break b;
+       }
+       o : {
+        p : {
+         g = q[a + 88 >> 2];
+         c = q[g + w(b, 20) >> 2] + -2437 | 0;
+         if (c >>> 0 > 7) {
+          break p;
+         }
+         d = 2494;
+         q : {
+          r : {
+           switch (c - 1 | 0) {
+           case 5:
+            d = 2499;
+            break q;
+           case 0:
+           case 1:
+           case 2:
+           case 3:
+           case 4:
+            break p;
+           case 6:
+            break r;
+           default:
+            break q;
+           }
+          }
+          d = 2530;
+         }
+         f = q[g + w(e, 20) >> 2];
+         s : {
+          if (r[a + 69 | 0]) {
+           c = a;
+           t : {
+            if ((g | 0) == q[a + 92 >> 2]) {
+             e = b;
+             if (q[a + 80 >> 2] == (b | 0)) {
+              break t;
+             }
+            }
+            if (!pG(a, 1, 1)) {
+             break s;
+            }
+            e = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+            b = q[e + 4 >> 2];
+            g = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+            q[g >> 2] = q[e >> 2];
+            q[g + 4 >> 2] = b;
+            q[g + 16 >> 2] = q[e + 16 >> 2];
+            b = q[e + 12 >> 2];
+            q[g + 8 >> 2] = q[e + 8 >> 2];
+            q[g + 12 >> 2] = b;
+            b = q[a + 72 >> 2];
+            e = q[a + 80 >> 2];
+           }
+           q[c + 80 >> 2] = e + 1;
+          }
+          q[a + 72 >> 2] = b + 1;
+         }
+         if ((d | 0) != (f | 0)) {
+          break o;
+         }
+         u : {
+          if (!pG(a, 0, 1)) {
+           q[160660] = q[67764];
+           b = q[67763];
+           q[160658] = q[67762];
+           q[160659] = b;
+           b = q[67761];
+           q[160656] = q[67760];
+           q[160657] = b;
+           b = 642624;
+           break u;
+          }
+          c = q[a + 72 >> 2];
+          b = q[a + 76 >> 2];
+          if (!(q[a + 80 >> 2] | (c | 0) != (b | 0))) {
+           q[160660] = q[67764];
+           b = q[67763];
+           q[160658] = q[67762];
+           q[160659] = b;
+           b = q[67761];
+           q[160656] = q[67760];
+           q[160657] = b;
+           b = 642624;
+           break u;
+          }
+          v : {
+           if (c >>> 0 < b >>> 0) {
+            b = q[a + 80 >> 2];
+            d = q[a + 92 >> 2];
+            c = q[a + 88 >> 2] + w(c, 20) | 0;
+            break v;
+           }
+           d = q[a + 92 >> 2];
+           b = q[a + 80 >> 2];
+           c = (d + w(b, 20) | 0) + -20 | 0;
+          }
+          e = w(b, 20) + d | 0;
+          d = e;
+          b = q[c + 4 >> 2];
+          q[d >> 2] = q[c >> 2];
+          q[d + 4 >> 2] = b;
+          q[d + 16 >> 2] = q[c + 16 >> 2];
+          b = q[c + 12 >> 2];
+          q[d + 8 >> 2] = q[c + 8 >> 2];
+          q[d + 12 >> 2] = b;
+          d = q[a + 80 >> 2];
+          b = q[a + 92 >> 2] + w(d, 20) | 0;
+          q[b >> 2] = 9676;
+          q[a + 80 >> 2] = d + 1;
+         }
+         p[b + 16 >> 1] = s[b + 16 >> 1] & 65407;
+         if (r[a + 69 | 0]) {
+          w : {
+           if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+            b = q[a + 80 >> 2];
+            if ((b | 0) == q[a + 72 >> 2]) {
+             break w;
+            }
+           }
+           if (!pG(a, 1, 1)) {
+            break o;
+           }
+           d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+           b = q[d + 4 >> 2];
+           c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+           q[c >> 2] = q[d >> 2];
+           q[c + 4 >> 2] = b;
+           q[c + 16 >> 2] = q[d + 16 >> 2];
+           b = q[d + 12 >> 2];
+           q[c + 8 >> 2] = q[d + 8 >> 2];
+           q[c + 12 >> 2] = b;
+           b = q[a + 80 >> 2];
+          }
+          q[a + 80 >> 2] = b + 1;
+         }
+         q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+         break o;
+        }
+        if (r[a + 69 | 0]) {
+         d = a;
+         x : {
+          if ((g | 0) == q[a + 92 >> 2]) {
+           c = b;
+           if (q[a + 80 >> 2] == (b | 0)) {
+            break x;
+           }
+          }
+          if (!pG(a, 1, 1)) {
+           break o;
+          }
+          c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+          b = q[c + 4 >> 2];
+          e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+          q[e >> 2] = q[c >> 2];
+          q[e + 4 >> 2] = b;
+          q[e + 16 >> 2] = q[c + 16 >> 2];
+          b = q[c + 12 >> 2];
+          q[e + 8 >> 2] = q[c + 8 >> 2];
+          q[e + 12 >> 2] = b;
+          b = q[a + 72 >> 2];
+          c = q[a + 80 >> 2];
+         }
+         q[d + 80 >> 2] = c + 1;
+        }
+        q[a + 72 >> 2] = b + 1;
+       }
+       b = q[a + 72 >> 2];
+       e = b + 1 | 0;
+       if (e >>> 0 < h >>> 0) {
+        continue;
+       }
+       break;
+      }
+      break b;
+     }
+     if ((d | 0) <= 1415671147) {
+      y : {
+       b = d + -1399418468 | 0;
+       if (b >>> 0 > 4) {
+        if ((d | 0) == 1332902241) {
+         break y;
+        }
+        if ((d | 0) != 1415670642) {
+         break a;
+        }
+        q[a + 72 >> 2] = 0;
+        b = 0;
+        if (h >>> 0 < 2) {
+         break b;
+        }
+        d = 1;
+        while (1) {
+         if (!r[a + 68 | 0]) {
+          break b;
+         }
+         z : {
+          A : {
+           B : {
+            f = q[a + 88 >> 2];
+            c = q[f + w(b, 20) >> 2] + -71296 | 0;
+            if (c >>> 0 > 6) {
+             break B;
+            }
+            C : {
+             D : {
+              E : {
+               F : {
+                switch (c - 1 | 0) {
+                default:
+                 d = q[f + w(d, 20) >> 2] + -71341 | 0;
+                 if (d >>> 0 > 8 | !(1 << d & 385)) {
+                  break A;
+                 }
+                 if (r[a + 69 | 0]) {
+                  break E;
+                 }
+                 break D;
+                case 0:
+                case 1:
+                case 2:
+                case 3:
+                case 4:
+                 break B;
+                case 5:
+                 break F;
+                }
+               }
+               e = q[f + w(d, 20) >> 2];
+               G : {
+                if (r[a + 69 | 0]) {
+                 H : {
+                  if ((f | 0) == q[a + 92 >> 2]) {
+                   c = b;
+                   d = b;
+                   if (q[a + 80 >> 2] == (b | 0)) {
+                    break H;
+                   }
+                  }
+                  if (!pG(a, 1, 1)) {
+                   break G;
+                  }
+                  d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+                  b = q[d + 4 >> 2];
+                  c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+                  q[c >> 2] = q[d >> 2];
+                  q[c + 4 >> 2] = b;
+                  q[c + 16 >> 2] = q[d + 16 >> 2];
+                  b = q[d + 12 >> 2];
+                  q[c + 8 >> 2] = q[d + 8 >> 2];
+                  q[c + 12 >> 2] = b;
+                  c = q[a + 72 >> 2];
+                  d = q[a + 80 >> 2];
+                 }
+                 b = c;
+                 q[a + 80 >> 2] = d + 1;
+                }
+                q[a + 72 >> 2] = b + 1;
+               }
+               if ((e | 0) == 71346) {
+                break C;
+               }
+               break z;
+              }
+              I : {
+               if ((f | 0) == q[a + 92 >> 2]) {
+                c = b;
+                d = b;
+                if (q[a + 80 >> 2] == (b | 0)) {
+                 break I;
+                }
+               }
+               if (!pG(a, 1, 1)) {
+                break C;
+               }
+               d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+               b = q[d + 4 >> 2];
+               c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+               q[c >> 2] = q[d >> 2];
+               q[c + 4 >> 2] = b;
+               q[c + 16 >> 2] = q[d + 16 >> 2];
+               b = q[d + 12 >> 2];
+               q[c + 8 >> 2] = q[d + 8 >> 2];
+               q[c + 12 >> 2] = b;
+               c = q[a + 72 >> 2];
+               d = q[a + 80 >> 2];
+              }
+              b = c;
+              q[a + 80 >> 2] = d + 1;
+             }
+             q[a + 72 >> 2] = b + 1;
+            }
+            J : {
+             if (!pG(a, 0, 1)) {
+              q[160660] = q[67764];
+              b = q[67763];
+              q[160658] = q[67762];
+              q[160659] = b;
+              b = q[67761];
+              q[160656] = q[67760];
+              q[160657] = b;
+              b = 642624;
+              break J;
+             }
+             c = q[a + 72 >> 2];
+             b = q[a + 76 >> 2];
+             if (!(q[a + 80 >> 2] | (c | 0) != (b | 0))) {
+              q[160660] = q[67764];
+              b = q[67763];
+              q[160658] = q[67762];
+              q[160659] = b;
+              b = q[67761];
+              q[160656] = q[67760];
+              q[160657] = b;
+              b = 642624;
+              break J;
+             }
+             K : {
+              if (c >>> 0 < b >>> 0) {
+               b = q[a + 80 >> 2];
+               d = q[a + 92 >> 2];
+               c = q[a + 88 >> 2] + w(c, 20) | 0;
+               break K;
+              }
+              d = q[a + 92 >> 2];
+              b = q[a + 80 >> 2];
+              c = (d + w(b, 20) | 0) + -20 | 0;
+             }
+             e = w(b, 20) + d | 0;
+             d = e;
+             b = q[c + 4 >> 2];
+             q[d >> 2] = q[c >> 2];
+             q[d + 4 >> 2] = b;
+             q[d + 16 >> 2] = q[c + 16 >> 2];
+             b = q[c + 12 >> 2];
+             q[d + 8 >> 2] = q[c + 8 >> 2];
+             q[d + 12 >> 2] = b;
+             d = q[a + 80 >> 2];
+             b = q[a + 92 >> 2] + w(d, 20) | 0;
+             q[b >> 2] = 9676;
+             q[a + 80 >> 2] = d + 1;
+            }
+            p[b + 16 >> 1] = s[b + 16 >> 1] & 65407;
+            if (r[a + 69 | 0]) {
+             L : {
+              if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+               b = q[a + 80 >> 2];
+               if ((b | 0) == q[a + 72 >> 2]) {
+                break L;
+               }
+              }
+              if (!pG(a, 1, 1)) {
+               break z;
+              }
+              d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+              b = q[d + 4 >> 2];
+              c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+              q[c >> 2] = q[d >> 2];
+              q[c + 4 >> 2] = b;
+              q[c + 16 >> 2] = q[d + 16 >> 2];
+              b = q[d + 12 >> 2];
+              q[c + 8 >> 2] = q[d + 8 >> 2];
+              q[c + 12 >> 2] = b;
+              b = q[a + 80 >> 2];
+             }
+             q[a + 80 >> 2] = b + 1;
+            }
+            q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+            break z;
+           }
+           if (r[a + 69 | 0]) {
+            M : {
+             if ((f | 0) == q[a + 92 >> 2]) {
+              c = b;
+              d = b;
+              if (q[a + 80 >> 2] == (b | 0)) {
+               break M;
+              }
+             }
+             if (!pG(a, 1, 1)) {
+              break z;
+             }
+             d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+             b = q[d + 4 >> 2];
+             c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+             q[c >> 2] = q[d >> 2];
+             q[c + 4 >> 2] = b;
+             q[c + 16 >> 2] = q[d + 16 >> 2];
+             b = q[d + 12 >> 2];
+             q[c + 8 >> 2] = q[d + 8 >> 2];
+             q[c + 12 >> 2] = b;
+             c = q[a + 72 >> 2];
+             d = q[a + 80 >> 2];
+            }
+            b = c;
+            q[a + 80 >> 2] = d + 1;
+           }
+           q[a + 72 >> 2] = b + 1;
+           break z;
+          }
+          if (r[a + 69 | 0]) {
+           N : {
+            if ((f | 0) == q[a + 92 >> 2]) {
+             c = b;
+             d = b;
+             if (q[a + 80 >> 2] == (b | 0)) {
+              break N;
+             }
+            }
+            if (!pG(a, 1, 1)) {
+             break z;
+            }
+            d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+            b = q[d + 4 >> 2];
+            c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+            q[c >> 2] = q[d >> 2];
+            q[c + 4 >> 2] = b;
+            q[c + 16 >> 2] = q[d + 16 >> 2];
+            b = q[d + 12 >> 2];
+            q[c + 8 >> 2] = q[d + 8 >> 2];
+            q[c + 12 >> 2] = b;
+            c = q[a + 72 >> 2];
+            d = q[a + 80 >> 2];
+           }
+           b = c;
+           q[a + 80 >> 2] = d + 1;
+          }
+          q[a + 72 >> 2] = b + 1;
+         }
+         b = q[a + 72 >> 2];
+         d = b + 1 | 0;
+         if (d >>> 0 < h >>> 0) {
+          continue;
+         }
+         break;
+        }
+        break b;
+       }
+       O : {
+        switch (b - 1 | 0) {
+        default:
+         q[a + 72 >> 2] = 0;
+         b = 0;
+         if (h >>> 0 < 2) {
+          break b;
+         }
+         d = 1;
+         while (1) {
+          if (!r[a + 68 | 0]) {
+           break b;
+          }
+          P : {
+           Q : {
+            R : {
+             S : {
+              T : {
+               c = q[a + 88 >> 2];
+               if (q[c + w(b, 20) >> 2] == 70320) {
+                d = q[c + w(d, 20) >> 2];
+                if ((d | 0) != 70368 ? d + -70373 >>> 0 >= 4 : 0) {
+                 break Q;
+                }
+                if (r[a + 69 | 0]) {
+                 break T;
+                }
+                break S;
+               }
+               if (r[a + 69 | 0]) {
+                U : {
+                 if ((c | 0) == q[a + 92 >> 2]) {
+                  c = b;
+                  d = b;
+                  if (q[a + 80 >> 2] == (b | 0)) {
+                   break U;
+                  }
+                 }
+                 if (!pG(a, 1, 1)) {
+                  break P;
+                 }
+                 d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+                 b = q[d + 4 >> 2];
+                 c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+                 q[c >> 2] = q[d >> 2];
+                 q[c + 4 >> 2] = b;
+                 q[c + 16 >> 2] = q[d + 16 >> 2];
+                 b = q[d + 12 >> 2];
+                 q[c + 8 >> 2] = q[d + 8 >> 2];
+                 q[c + 12 >> 2] = b;
+                 c = q[a + 72 >> 2];
+                 d = q[a + 80 >> 2];
+                }
+                b = c;
+                q[a + 80 >> 2] = d + 1;
+               }
+               q[a + 72 >> 2] = b + 1;
+               break P;
+              }
+              V : {
+               if ((c | 0) == q[a + 92 >> 2]) {
+                c = b;
+                d = b;
+                if (q[a + 80 >> 2] == (b | 0)) {
+                 break V;
+                }
+               }
+               if (!pG(a, 1, 1)) {
+                break R;
+               }
+               d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+               b = q[d + 4 >> 2];
+               c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+               q[c >> 2] = q[d >> 2];
+               q[c + 4 >> 2] = b;
+               q[c + 16 >> 2] = q[d + 16 >> 2];
+               b = q[d + 12 >> 2];
+               q[c + 8 >> 2] = q[d + 8 >> 2];
+               q[c + 12 >> 2] = b;
+               c = q[a + 72 >> 2];
+               d = q[a + 80 >> 2];
+              }
+              b = c;
+              q[a + 80 >> 2] = d + 1;
+             }
+             q[a + 72 >> 2] = b + 1;
+            }
+            W : {
+             if (!pG(a, 0, 1)) {
+              q[160660] = q[67764];
+              b = q[67763];
+              q[160658] = q[67762];
+              q[160659] = b;
+              b = q[67761];
+              q[160656] = q[67760];
+              q[160657] = b;
+              b = 642624;
+              break W;
+             }
+             c = q[a + 72 >> 2];
+             b = q[a + 76 >> 2];
+             if (!(q[a + 80 >> 2] | (c | 0) != (b | 0))) {
+              q[160660] = q[67764];
+              b = q[67763];
+              q[160658] = q[67762];
+              q[160659] = b;
+              b = q[67761];
+              q[160656] = q[67760];
+              q[160657] = b;
+              b = 642624;
+              break W;
+             }
+             X : {
+              if (c >>> 0 < b >>> 0) {
+               b = q[a + 80 >> 2];
+               d = q[a + 92 >> 2];
+               c = q[a + 88 >> 2] + w(c, 20) | 0;
+               break X;
+              }
+              d = q[a + 92 >> 2];
+              b = q[a + 80 >> 2];
+              c = (d + w(b, 20) | 0) + -20 | 0;
+             }
+             e = w(b, 20) + d | 0;
+             d = e;
+             b = q[c + 4 >> 2];
+             q[d >> 2] = q[c >> 2];
+             q[d + 4 >> 2] = b;
+             q[d + 16 >> 2] = q[c + 16 >> 2];
+             b = q[c + 12 >> 2];
+             q[d + 8 >> 2] = q[c + 8 >> 2];
+             q[d + 12 >> 2] = b;
+             d = q[a + 80 >> 2];
+             b = q[a + 92 >> 2] + w(d, 20) | 0;
+             q[b >> 2] = 9676;
+             q[a + 80 >> 2] = d + 1;
+            }
+            p[b + 16 >> 1] = s[b + 16 >> 1] & 65407;
+            if (r[a + 69 | 0]) {
+             Y : {
+              if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+               b = q[a + 80 >> 2];
+               if ((b | 0) == q[a + 72 >> 2]) {
+                break Y;
+               }
+              }
+              if (!pG(a, 1, 1)) {
+               break P;
+              }
+              d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+              b = q[d + 4 >> 2];
+              c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+              q[c >> 2] = q[d >> 2];
+              q[c + 4 >> 2] = b;
+              q[c + 16 >> 2] = q[d + 16 >> 2];
+              b = q[d + 12 >> 2];
+              q[c + 8 >> 2] = q[d + 8 >> 2];
+              q[c + 12 >> 2] = b;
+              b = q[a + 80 >> 2];
+             }
+             q[a + 80 >> 2] = b + 1;
+            }
+            q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+            break P;
+           }
+           if (r[a + 69 | 0]) {
+            Z : {
+             if ((c | 0) == q[a + 92 >> 2]) {
+              c = b;
+              d = b;
+              if (q[a + 80 >> 2] == (b | 0)) {
+               break Z;
+              }
+             }
+             if (!pG(a, 1, 1)) {
+              break P;
+             }
+             d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+             b = q[d + 4 >> 2];
+             c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+             q[c >> 2] = q[d >> 2];
+             q[c + 4 >> 2] = b;
+             q[c + 16 >> 2] = q[d + 16 >> 2];
+             b = q[d + 12 >> 2];
+             q[c + 8 >> 2] = q[d + 8 >> 2];
+             q[c + 12 >> 2] = b;
+             c = q[a + 72 >> 2];
+             d = q[a + 80 >> 2];
+            }
+            b = c;
+            q[a + 80 >> 2] = d + 1;
+           }
+           q[a + 72 >> 2] = b + 1;
+          }
+          b = q[a + 72 >> 2];
+          d = b + 1 | 0;
+          if (d >>> 0 < h >>> 0) {
+           continue;
+          }
+          break;
+         }
+         break b;
+        case 0:
+        case 1:
+        case 2:
+         break a;
+        case 3:
+         break O;
+        }
+       }
+       q[a + 72 >> 2] = 0;
+       b = 0;
+       if (h >>> 0 < 2) {
+        break b;
+       }
+       d = 1;
+       while (1) {
+        if (!r[a + 68 | 0]) {
+         break b;
+        }
+        _ : {
+         $ : {
+          aa : {
+           f = q[a + 88 >> 2];
+           c = q[f + w(b, 20) >> 2] + -3461 | 0;
+           if (c >>> 0 > 15) {
+            break aa;
+           }
+           ba : {
+            ca : {
+             da : {
+              ea : {
+               fa : {
+                switch (c - 1 | 0) {
+                case 5:
+                case 9:
+                case 14:
+                 e = q[f + w(d, 20) >> 2] == 3551;
+                 break ea;
+                case 7:
+                 e = q[f + w(d, 20) >> 2] == 3544;
+                 break ea;
+                case 11:
+                 d = q[f + w(d, 20) >> 2] + -3530 | 0;
+                 if (d >>> 0 > 19 | !(1 << d & 884737)) {
+                  break $;
+                 }
+                 if (r[a + 69 | 0]) {
+                  break da;
+                 }
+                 break ca;
+                case 0:
+                case 1:
+                case 2:
+                case 3:
+                case 4:
+                case 6:
+                case 8:
+                case 10:
+                case 12:
+                case 13:
+                 break aa;
+                default:
+                 break fa;
+                }
+               }
+               e = q[f + w(d, 20) >> 2] + -3535 >>> 0 < 3;
+              }
+              ga : {
+               if (r[a + 69 | 0]) {
+                ha : {
+                 if ((f | 0) == q[a + 92 >> 2]) {
+                  c = b;
+                  d = b;
+                  if (q[a + 80 >> 2] == (b | 0)) {
+                   break ha;
+                  }
+                 }
+                 if (!pG(a, 1, 1)) {
+                  break ga;
+                 }
+                 d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+                 b = q[d + 4 >> 2];
+                 c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+                 q[c >> 2] = q[d >> 2];
+                 q[c + 4 >> 2] = b;
+                 q[c + 16 >> 2] = q[d + 16 >> 2];
+                 b = q[d + 12 >> 2];
+                 q[c + 8 >> 2] = q[d + 8 >> 2];
+                 q[c + 12 >> 2] = b;
+                 c = q[a + 72 >> 2];
+                 d = q[a + 80 >> 2];
+                }
+                b = c;
+                q[a + 80 >> 2] = d + 1;
+               }
+               q[a + 72 >> 2] = b + 1;
+              }
+              if (e) {
+               break ba;
+              }
+              break _;
+             }
+             ia : {
+              if ((f | 0) == q[a + 92 >> 2]) {
+               c = b;
+               d = b;
+               if (q[a + 80 >> 2] == (b | 0)) {
+                break ia;
+               }
+              }
+              if (!pG(a, 1, 1)) {
+               break ba;
+              }
+              d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+              b = q[d + 4 >> 2];
+              c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+              q[c >> 2] = q[d >> 2];
+              q[c + 4 >> 2] = b;
+              q[c + 16 >> 2] = q[d + 16 >> 2];
+              b = q[d + 12 >> 2];
+              q[c + 8 >> 2] = q[d + 8 >> 2];
+              q[c + 12 >> 2] = b;
+              c = q[a + 72 >> 2];
+              d = q[a + 80 >> 2];
+             }
+             b = c;
+             q[a + 80 >> 2] = d + 1;
+            }
+            q[a + 72 >> 2] = b + 1;
+           }
+           ja : {
+            if (!pG(a, 0, 1)) {
+             q[160660] = q[67764];
+             b = q[67763];
+             q[160658] = q[67762];
+             q[160659] = b;
+             b = q[67761];
+             q[160656] = q[67760];
+             q[160657] = b;
+             b = 642624;
+             break ja;
+            }
+            c = q[a + 72 >> 2];
+            b = q[a + 76 >> 2];
+            if (!(q[a + 80 >> 2] | (c | 0) != (b | 0))) {
+             q[160660] = q[67764];
+             b = q[67763];
+             q[160658] = q[67762];
+             q[160659] = b;
+             b = q[67761];
+             q[160656] = q[67760];
+             q[160657] = b;
+             b = 642624;
+             break ja;
+            }
+            ka : {
+             if (c >>> 0 < b >>> 0) {
+              b = q[a + 80 >> 2];
+              d = q[a + 92 >> 2];
+              c = q[a + 88 >> 2] + w(c, 20) | 0;
+              break ka;
+             }
+             d = q[a + 92 >> 2];
+             b = q[a + 80 >> 2];
+             c = (d + w(b, 20) | 0) + -20 | 0;
+            }
+            e = w(b, 20) + d | 0;
+            d = e;
+            b = q[c + 4 >> 2];
+            q[d >> 2] = q[c >> 2];
+            q[d + 4 >> 2] = b;
+            q[d + 16 >> 2] = q[c + 16 >> 2];
+            b = q[c + 12 >> 2];
+            q[d + 8 >> 2] = q[c + 8 >> 2];
+            q[d + 12 >> 2] = b;
+            d = q[a + 80 >> 2];
+            b = q[a + 92 >> 2] + w(d, 20) | 0;
+            q[b >> 2] = 9676;
+            q[a + 80 >> 2] = d + 1;
+           }
+           p[b + 16 >> 1] = s[b + 16 >> 1] & 65407;
+           if (r[a + 69 | 0]) {
+            la : {
+             if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+              b = q[a + 80 >> 2];
+              if ((b | 0) == q[a + 72 >> 2]) {
+               break la;
+              }
+             }
+             if (!pG(a, 1, 1)) {
+              break _;
+             }
+             d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+             b = q[d + 4 >> 2];
+             c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+             q[c >> 2] = q[d >> 2];
+             q[c + 4 >> 2] = b;
+             q[c + 16 >> 2] = q[d + 16 >> 2];
+             b = q[d + 12 >> 2];
+             q[c + 8 >> 2] = q[d + 8 >> 2];
+             q[c + 12 >> 2] = b;
+             b = q[a + 80 >> 2];
+            }
+            q[a + 80 >> 2] = b + 1;
+           }
+           q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+           break _;
+          }
+          if (r[a + 69 | 0]) {
+           ma : {
+            if ((f | 0) == q[a + 92 >> 2]) {
+             c = b;
+             d = b;
+             if (q[a + 80 >> 2] == (b | 0)) {
+              break ma;
+             }
+            }
+            if (!pG(a, 1, 1)) {
+             break _;
+            }
+            d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+            b = q[d + 4 >> 2];
+            c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+            q[c >> 2] = q[d >> 2];
+            q[c + 4 >> 2] = b;
+            q[c + 16 >> 2] = q[d + 16 >> 2];
+            b = q[d + 12 >> 2];
+            q[c + 8 >> 2] = q[d + 8 >> 2];
+            q[c + 12 >> 2] = b;
+            c = q[a + 72 >> 2];
+            d = q[a + 80 >> 2];
+           }
+           b = c;
+           q[a + 80 >> 2] = d + 1;
+          }
+          q[a + 72 >> 2] = b + 1;
+          break _;
+         }
+         if (r[a + 69 | 0]) {
+          na : {
+           if ((f | 0) == q[a + 92 >> 2]) {
+            c = b;
+            d = b;
+            if (q[a + 80 >> 2] == (b | 0)) {
+             break na;
+            }
+           }
+           if (!pG(a, 1, 1)) {
+            break _;
+           }
+           d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+           b = q[d + 4 >> 2];
+           c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+           q[c >> 2] = q[d >> 2];
+           q[c + 4 >> 2] = b;
+           q[c + 16 >> 2] = q[d + 16 >> 2];
+           b = q[d + 12 >> 2];
+           q[c + 8 >> 2] = q[d + 8 >> 2];
+           q[c + 12 >> 2] = b;
+           c = q[a + 72 >> 2];
+           d = q[a + 80 >> 2];
+          }
+          b = c;
+          q[a + 80 >> 2] = d + 1;
+         }
+         q[a + 72 >> 2] = b + 1;
+        }
+        b = q[a + 72 >> 2];
+        d = b + 1 | 0;
+        if (d >>> 0 < h >>> 0) {
+         continue;
+        }
+        break;
+       }
+       break b;
+      }
+      q[a + 72 >> 2] = 0;
+      b = 0;
+      if (h >>> 0 < 2) {
+       break b;
+      }
+      e = 1;
+      while (1) {
+       if (!r[a + 68 | 0]) {
+        break b;
+       }
+       oa : {
+        pa : {
+         g = q[a + 88 >> 2];
+         c = q[g + w(b, 20) >> 2] + -2821 | 0;
+         if (c >>> 0 > 14) {
+          break pa;
+         }
+         d = 2878;
+         qa : {
+          switch (c - 1 | 0) {
+          case 9:
+          case 13:
+           d = 2903;
+           break;
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 10:
+          case 11:
+          case 12:
+           break pa;
+          default:
+           break qa;
+          }
+         }
+         f = q[g + w(e, 20) >> 2];
+         ra : {
+          if (r[a + 69 | 0]) {
+           c = a;
+           sa : {
+            if ((g | 0) == q[a + 92 >> 2]) {
+             e = b;
+             if (q[a + 80 >> 2] == (b | 0)) {
+              break sa;
+             }
+            }
+            if (!pG(a, 1, 1)) {
+             break ra;
+            }
+            e = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+            b = q[e + 4 >> 2];
+            g = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+            q[g >> 2] = q[e >> 2];
+            q[g + 4 >> 2] = b;
+            q[g + 16 >> 2] = q[e + 16 >> 2];
+            b = q[e + 12 >> 2];
+            q[g + 8 >> 2] = q[e + 8 >> 2];
+            q[g + 12 >> 2] = b;
+            b = q[a + 72 >> 2];
+            e = q[a + 80 >> 2];
+           }
+           q[c + 80 >> 2] = e + 1;
+          }
+          q[a + 72 >> 2] = b + 1;
+         }
+         if ((d | 0) != (f | 0)) {
+          break oa;
+         }
+         ta : {
+          if (!pG(a, 0, 1)) {
+           q[160660] = q[67764];
+           b = q[67763];
+           q[160658] = q[67762];
+           q[160659] = b;
+           b = q[67761];
+           q[160656] = q[67760];
+           q[160657] = b;
+           b = 642624;
+           break ta;
+          }
+          c = q[a + 72 >> 2];
+          b = q[a + 76 >> 2];
+          if (!(q[a + 80 >> 2] | (c | 0) != (b | 0))) {
+           q[160660] = q[67764];
+           b = q[67763];
+           q[160658] = q[67762];
+           q[160659] = b;
+           b = q[67761];
+           q[160656] = q[67760];
+           q[160657] = b;
+           b = 642624;
+           break ta;
+          }
+          ua : {
+           if (c >>> 0 < b >>> 0) {
+            b = q[a + 80 >> 2];
+            d = q[a + 92 >> 2];
+            c = q[a + 88 >> 2] + w(c, 20) | 0;
+            break ua;
+           }
+           d = q[a + 92 >> 2];
+           b = q[a + 80 >> 2];
+           c = (d + w(b, 20) | 0) + -20 | 0;
+          }
+          e = w(b, 20) + d | 0;
+          d = e;
+          b = q[c + 4 >> 2];
+          q[d >> 2] = q[c >> 2];
+          q[d + 4 >> 2] = b;
+          q[d + 16 >> 2] = q[c + 16 >> 2];
+          b = q[c + 12 >> 2];
+          q[d + 8 >> 2] = q[c + 8 >> 2];
+          q[d + 12 >> 2] = b;
+          d = q[a + 80 >> 2];
+          b = q[a + 92 >> 2] + w(d, 20) | 0;
+          q[b >> 2] = 9676;
+          q[a + 80 >> 2] = d + 1;
+         }
+         p[b + 16 >> 1] = s[b + 16 >> 1] & 65407;
+         if (r[a + 69 | 0]) {
+          va : {
+           if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+            b = q[a + 80 >> 2];
+            if ((b | 0) == q[a + 72 >> 2]) {
+             break va;
+            }
+           }
+           if (!pG(a, 1, 1)) {
+            break oa;
+           }
+           d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+           b = q[d + 4 >> 2];
+           c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+           q[c >> 2] = q[d >> 2];
+           q[c + 4 >> 2] = b;
+           q[c + 16 >> 2] = q[d + 16 >> 2];
+           b = q[d + 12 >> 2];
+           q[c + 8 >> 2] = q[d + 8 >> 2];
+           q[c + 12 >> 2] = b;
+           b = q[a + 80 >> 2];
+          }
+          q[a + 80 >> 2] = b + 1;
+         }
+         q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+         break oa;
+        }
+        if (r[a + 69 | 0]) {
+         d = a;
+         wa : {
+          if ((g | 0) == q[a + 92 >> 2]) {
+           c = b;
+           if (q[a + 80 >> 2] == (b | 0)) {
+            break wa;
+           }
+          }
+          if (!pG(a, 1, 1)) {
+           break oa;
+          }
+          c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+          b = q[c + 4 >> 2];
+          e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+          q[e >> 2] = q[c >> 2];
+          q[e + 4 >> 2] = b;
+          q[e + 16 >> 2] = q[c + 16 >> 2];
+          b = q[c + 12 >> 2];
+          q[e + 8 >> 2] = q[c + 8 >> 2];
+          q[e + 12 >> 2] = b;
+          b = q[a + 72 >> 2];
+          c = q[a + 80 >> 2];
+         }
+         q[d + 80 >> 2] = c + 1;
+        }
+        q[a + 72 >> 2] = b + 1;
+       }
+       b = q[a + 72 >> 2];
+       e = b + 1 | 0;
+       if (e >>> 0 < h >>> 0) {
+        continue;
+       }
+       break;
+      }
+      break b;
+     }
+     if ((d | 0) != 1415671148) {
+      if ((d | 0) != 1415933045) {
+       if ((d | 0) != 1416196712) {
+        break a;
+       }
+       q[a + 72 >> 2] = 0;
+       if (h >>> 0 < 2) {
+        break b;
+       }
+       d = 1;
+       while (1) {
+        if (!r[a + 68 | 0]) {
+         break b;
+        }
+        xa : {
+         ya : {
+          f = q[a + 88 >> 2];
+          e = q[f + w(b, 20) >> 2];
+          c = e + -70785 | 0;
+          za : {
+           if (c >>> 0 > 12) {
+            if ((e | 0) != 70826) {
+             break ya;
+            }
+            e = q[f + w(d, 20) >> 2] + -70837 >>> 0 < 2;
+            break za;
+           }
+           Aa : {
+            switch (c - 1 | 0) {
+            default:
+             e = q[f + w(d, 20) >> 2] == 70832;
+             break za;
+            case 0:
+            case 1:
+            case 2:
+            case 3:
+            case 4:
+            case 5:
+            case 6:
+            case 7:
+            case 8:
+            case 10:
+             break ya;
+            case 9:
+            case 11:
+             break Aa;
+            }
+           }
+           e = q[f + w(d, 20) >> 2] == 70842;
+          }
+          Ba : {
+           if (r[a + 69 | 0]) {
+            Ca : {
+             if ((f | 0) == q[a + 92 >> 2]) {
+              c = b;
+              d = b;
+              if (q[a + 80 >> 2] == (b | 0)) {
+               break Ca;
+              }
+             }
+             if (!pG(a, 1, 1)) {
+              break Ba;
+             }
+             d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+             b = q[d + 4 >> 2];
+             c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+             q[c >> 2] = q[d >> 2];
+             q[c + 4 >> 2] = b;
+             q[c + 16 >> 2] = q[d + 16 >> 2];
+             b = q[d + 12 >> 2];
+             q[c + 8 >> 2] = q[d + 8 >> 2];
+             q[c + 12 >> 2] = b;
+             c = q[a + 72 >> 2];
+             d = q[a + 80 >> 2];
+            }
+            b = c;
+            q[a + 80 >> 2] = d + 1;
+           }
+           q[a + 72 >> 2] = b + 1;
+          }
+          if (!e) {
+           break xa;
+          }
+          Da : {
+           if (!pG(a, 0, 1)) {
+            q[160660] = q[67764];
+            b = q[67763];
+            q[160658] = q[67762];
+            q[160659] = b;
+            b = q[67761];
+            q[160656] = q[67760];
+            q[160657] = b;
+            b = 642624;
+            break Da;
+           }
+           c = q[a + 72 >> 2];
+           b = q[a + 76 >> 2];
+           if (!(q[a + 80 >> 2] | (c | 0) != (b | 0))) {
+            q[160660] = q[67764];
+            b = q[67763];
+            q[160658] = q[67762];
+            q[160659] = b;
+            b = q[67761];
+            q[160656] = q[67760];
+            q[160657] = b;
+            b = 642624;
+            break Da;
+           }
+           Ea : {
+            if (c >>> 0 < b >>> 0) {
+             b = q[a + 80 >> 2];
+             d = q[a + 92 >> 2];
+             c = q[a + 88 >> 2] + w(c, 20) | 0;
+             break Ea;
+            }
+            d = q[a + 92 >> 2];
+            b = q[a + 80 >> 2];
+            c = (d + w(b, 20) | 0) + -20 | 0;
+           }
+           e = w(b, 20) + d | 0;
+           d = e;
+           b = q[c + 4 >> 2];
+           q[d >> 2] = q[c >> 2];
+           q[d + 4 >> 2] = b;
+           q[d + 16 >> 2] = q[c + 16 >> 2];
+           b = q[c + 12 >> 2];
+           q[d + 8 >> 2] = q[c + 8 >> 2];
+           q[d + 12 >> 2] = b;
+           d = q[a + 80 >> 2];
+           b = q[a + 92 >> 2] + w(d, 20) | 0;
+           q[b >> 2] = 9676;
+           q[a + 80 >> 2] = d + 1;
+          }
+          p[b + 16 >> 1] = s[b + 16 >> 1] & 65407;
+          if (r[a + 69 | 0]) {
+           Fa : {
+            if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+             b = q[a + 80 >> 2];
+             if ((b | 0) == q[a + 72 >> 2]) {
+              break Fa;
+             }
+            }
+            if (!pG(a, 1, 1)) {
+             break xa;
+            }
+            d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+            b = q[d + 4 >> 2];
+            c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+            q[c >> 2] = q[d >> 2];
+            q[c + 4 >> 2] = b;
+            q[c + 16 >> 2] = q[d + 16 >> 2];
+            b = q[d + 12 >> 2];
+            q[c + 8 >> 2] = q[d + 8 >> 2];
+            q[c + 12 >> 2] = b;
+            b = q[a + 80 >> 2];
+           }
+           q[a + 80 >> 2] = b + 1;
+          }
+          q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+          break xa;
+         }
+         if (r[a + 69 | 0]) {
+          Ga : {
+           if ((f | 0) == q[a + 92 >> 2]) {
+            c = b;
+            d = b;
+            if (q[a + 80 >> 2] == (b | 0)) {
+             break Ga;
+            }
+           }
+           if (!pG(a, 1, 1)) {
+            break xa;
+           }
+           d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+           b = q[d + 4 >> 2];
+           c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+           q[c >> 2] = q[d >> 2];
+           q[c + 4 >> 2] = b;
+           q[c + 16 >> 2] = q[d + 16 >> 2];
+           b = q[d + 12 >> 2];
+           q[c + 8 >> 2] = q[d + 8 >> 2];
+           q[c + 12 >> 2] = b;
+           c = q[a + 72 >> 2];
+           d = q[a + 80 >> 2];
+          }
+          b = c;
+          q[a + 80 >> 2] = d + 1;
+         }
+         q[a + 72 >> 2] = b + 1;
+        }
+        b = q[a + 72 >> 2];
+        d = b + 1 | 0;
+        if (d >>> 0 < h >>> 0) {
+         continue;
+        }
+        break;
+       }
+       break b;
+      }
+      q[a + 72 >> 2] = 0;
+      if (h >>> 0 < 2) {
+       break b;
+      }
+      d = 1;
+      while (1) {
+       if (!r[a + 68 | 0]) {
+        break b;
+       }
+       Ha : {
+        Ia : {
+         Ja : {
+          f = q[a + 88 >> 2];
+          e = q[f + w(b, 20) >> 2];
+          c = e + -3135 | 0;
+          Ka : {
+           if (!(c >>> 0 > 11 | !(1 << c & 2177))) {
+            e = q[f + w(d, 20) >> 2];
+            La : {
+             if (r[a + 69 | 0]) {
+              d = a;
+              Ma : {
+               if ((f | 0) == q[a + 92 >> 2]) {
+                c = b;
+                if (q[a + 80 >> 2] == (b | 0)) {
+                 break Ma;
+                }
+               }
+               if (!pG(a, 1, 1)) {
+                break La;
+               }
+               c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+               b = q[c + 4 >> 2];
+               f = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+               q[f >> 2] = q[c >> 2];
+               q[f + 4 >> 2] = b;
+               q[f + 16 >> 2] = q[c + 16 >> 2];
+               b = q[c + 12 >> 2];
+               q[f + 8 >> 2] = q[c + 8 >> 2];
+               q[f + 12 >> 2] = b;
+               b = q[a + 72 >> 2];
+               c = q[a + 80 >> 2];
+              }
+              q[d + 80 >> 2] = c + 1;
+             }
+             q[a + 72 >> 2] = b + 1;
+            }
+            if ((e | 0) == 3157) {
+             break Ka;
+            }
+            break Ha;
+           }
+           if ((e | 0) != 3090) {
+            break Ja;
+           }
+           d = q[f + w(d, 20) >> 2] + -3148 | 0;
+           if (d >>> 0 > 9) {
+            break Ia;
+           }
+           Na : {
+            switch (d - 1 | 0) {
+            case 0:
+            case 1:
+            case 2:
+            case 3:
+            case 4:
+            case 5:
+            case 6:
+            case 7:
+             break Ia;
+            default:
+             break Na;
+            }
+           }
+           if (r[a + 69 | 0]) {
+            d = a;
+            Oa : {
+             if ((f | 0) == q[a + 92 >> 2]) {
+              c = b;
+              if (q[a + 80 >> 2] == (b | 0)) {
+               break Oa;
+              }
+             }
+             if (!pG(a, 1, 1)) {
+              break Ka;
+             }
+             c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+             b = q[c + 4 >> 2];
+             e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+             q[e >> 2] = q[c >> 2];
+             q[e + 4 >> 2] = b;
+             q[e + 16 >> 2] = q[c + 16 >> 2];
+             b = q[c + 12 >> 2];
+             q[e + 8 >> 2] = q[c + 8 >> 2];
+             q[e + 12 >> 2] = b;
+             b = q[a + 72 >> 2];
+             c = q[a + 80 >> 2];
+            }
+            q[d + 80 >> 2] = c + 1;
+           }
+           q[a + 72 >> 2] = b + 1;
+          }
+          Pa : {
+           if (!pG(a, 0, 1)) {
+            q[160660] = q[67764];
+            b = q[67763];
+            q[160658] = q[67762];
+            q[160659] = b;
+            b = q[67761];
+            q[160656] = q[67760];
+            q[160657] = b;
+            b = 642624;
+            break Pa;
+           }
+           c = q[a + 72 >> 2];
+           b = q[a + 76 >> 2];
+           if (!(q[a + 80 >> 2] | (c | 0) != (b | 0))) {
+            q[160660] = q[67764];
+            b = q[67763];
+            q[160658] = q[67762];
+            q[160659] = b;
+            b = q[67761];
+            q[160656] = q[67760];
+            q[160657] = b;
+            b = 642624;
+            break Pa;
+           }
+           Qa : {
+            if (c >>> 0 < b >>> 0) {
+             b = q[a + 80 >> 2];
+             d = q[a + 92 >> 2];
+             c = q[a + 88 >> 2] + w(c, 20) | 0;
+             break Qa;
+            }
+            d = q[a + 92 >> 2];
+            b = q[a + 80 >> 2];
+            c = (d + w(b, 20) | 0) + -20 | 0;
+           }
+           e = w(b, 20) + d | 0;
+           d = e;
+           b = q[c + 4 >> 2];
+           q[d >> 2] = q[c >> 2];
+           q[d + 4 >> 2] = b;
+           q[d + 16 >> 2] = q[c + 16 >> 2];
+           b = q[c + 12 >> 2];
+           q[d + 8 >> 2] = q[c + 8 >> 2];
+           q[d + 12 >> 2] = b;
+           d = q[a + 80 >> 2];
+           b = q[a + 92 >> 2] + w(d, 20) | 0;
+           q[b >> 2] = 9676;
+           q[a + 80 >> 2] = d + 1;
+          }
+          p[b + 16 >> 1] = s[b + 16 >> 1] & 65407;
+          if (r[a + 69 | 0]) {
+           Ra : {
+            if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+             b = q[a + 80 >> 2];
+             if ((b | 0) == q[a + 72 >> 2]) {
+              break Ra;
+             }
+            }
+            if (!pG(a, 1, 1)) {
+             break Ha;
+            }
+            d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+            b = q[d + 4 >> 2];
+            c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+            q[c >> 2] = q[d >> 2];
+            q[c + 4 >> 2] = b;
+            q[c + 16 >> 2] = q[d + 16 >> 2];
+            b = q[d + 12 >> 2];
+            q[c + 8 >> 2] = q[d + 8 >> 2];
+            q[c + 12 >> 2] = b;
+            b = q[a + 80 >> 2];
+           }
+           q[a + 80 >> 2] = b + 1;
+          }
+          q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+          break Ha;
+         }
+         if (r[a + 69 | 0]) {
+          d = a;
+          Sa : {
+           if ((f | 0) == q[a + 92 >> 2]) {
+            c = b;
+            if (q[a + 80 >> 2] == (b | 0)) {
+             break Sa;
+            }
+           }
+           if (!pG(a, 1, 1)) {
+            break Ha;
+           }
+           c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+           b = q[c + 4 >> 2];
+           e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+           q[e >> 2] = q[c >> 2];
+           q[e + 4 >> 2] = b;
+           q[e + 16 >> 2] = q[c + 16 >> 2];
+           b = q[c + 12 >> 2];
+           q[e + 8 >> 2] = q[c + 8 >> 2];
+           q[e + 12 >> 2] = b;
+           b = q[a + 72 >> 2];
+           c = q[a + 80 >> 2];
+          }
+          q[d + 80 >> 2] = c + 1;
+         }
+         q[a + 72 >> 2] = b + 1;
+         break Ha;
+        }
+        if (r[a + 69 | 0]) {
+         d = a;
+         Ta : {
+          if ((f | 0) == q[a + 92 >> 2]) {
+           c = b;
+           if (q[a + 80 >> 2] == (b | 0)) {
+            break Ta;
+           }
+          }
+          if (!pG(a, 1, 1)) {
+           break Ha;
+          }
+          c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+          b = q[c + 4 >> 2];
+          e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+          q[e >> 2] = q[c >> 2];
+          q[e + 4 >> 2] = b;
+          q[e + 16 >> 2] = q[c + 16 >> 2];
+          b = q[c + 12 >> 2];
+          q[e + 8 >> 2] = q[c + 8 >> 2];
+          q[e + 12 >> 2] = b;
+          b = q[a + 72 >> 2];
+          c = q[a + 80 >> 2];
+         }
+         q[d + 80 >> 2] = c + 1;
+        }
+        q[a + 72 >> 2] = b + 1;
+       }
+       b = q[a + 72 >> 2];
+       d = b + 1 | 0;
+       if (d >>> 0 < h >>> 0) {
+        continue;
+       }
+       break;
+      }
+      break b;
+     }
+     q[a + 72 >> 2] = 0;
+     if (h >>> 0 < 2) {
+      break b;
+     }
+     d = 1;
+     while (1) {
+      if (!r[a + 68 | 0]) {
+       break b;
+      }
+      c = q[a + 88 >> 2];
+      if (!(q[c + w(b, 20) >> 2] != 2949 | q[c + w(d, 20) >> 2] != 3010)) {
+       Ua : {
+        if (r[a + 69 | 0]) {
+         d = a;
+         Va : {
+          if ((c | 0) == q[a + 92 >> 2]) {
+           c = b;
+           if (q[a + 80 >> 2] == (b | 0)) {
+            break Va;
+           }
+          }
+          if (!pG(a, 1, 1)) {
+           break Ua;
+          }
+          c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+          b = q[c + 4 >> 2];
+          e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+          q[e >> 2] = q[c >> 2];
+          q[e + 4 >> 2] = b;
+          q[e + 16 >> 2] = q[c + 16 >> 2];
+          b = q[c + 12 >> 2];
+          q[e + 8 >> 2] = q[c + 8 >> 2];
+          q[e + 12 >> 2] = b;
+          b = q[a + 72 >> 2];
+          c = q[a + 80 >> 2];
+         }
+         q[d + 80 >> 2] = c + 1;
+        }
+        q[a + 72 >> 2] = b + 1;
+       }
+       Wa : {
+        if (!pG(a, 0, 1)) {
+         q[160660] = q[67764];
+         b = q[67763];
+         q[160658] = q[67762];
+         q[160659] = b;
+         b = q[67761];
+         q[160656] = q[67760];
+         q[160657] = b;
+         b = 642624;
+         break Wa;
+        }
+        c = q[a + 72 >> 2];
+        b = q[a + 76 >> 2];
+        if (!(q[a + 80 >> 2] | (c | 0) != (b | 0))) {
+         q[160660] = q[67764];
+         b = q[67763];
+         q[160658] = q[67762];
+         q[160659] = b;
+         b = q[67761];
+         q[160656] = q[67760];
+         q[160657] = b;
+         b = 642624;
+         break Wa;
+        }
+        Xa : {
+         if (c >>> 0 < b >>> 0) {
+          b = q[a + 80 >> 2];
+          d = q[a + 92 >> 2];
+          c = q[a + 88 >> 2] + w(c, 20) | 0;
+          break Xa;
+         }
+         d = q[a + 92 >> 2];
+         b = q[a + 80 >> 2];
+         c = (d + w(b, 20) | 0) + -20 | 0;
+        }
+        e = w(b, 20) + d | 0;
+        d = e;
+        b = q[c + 4 >> 2];
+        q[d >> 2] = q[c >> 2];
+        q[d + 4 >> 2] = b;
+        q[d + 16 >> 2] = q[c + 16 >> 2];
+        b = q[c + 12 >> 2];
+        q[d + 8 >> 2] = q[c + 8 >> 2];
+        q[d + 12 >> 2] = b;
+        d = q[a + 80 >> 2];
+        b = q[a + 92 >> 2] + w(d, 20) | 0;
+        q[b >> 2] = 9676;
+        q[a + 80 >> 2] = d + 1;
+       }
+       p[b + 16 >> 1] = s[b + 16 >> 1] & 65407;
+      }
+      Ya : {
+       if (r[a + 69 | 0]) {
+        Za : {
+         if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+          b = q[a + 80 >> 2];
+          if ((b | 0) == q[a + 72 >> 2]) {
+           break Za;
+          }
+         }
+         if (!pG(a, 1, 1)) {
+          b = q[a + 72 >> 2];
+          break Ya;
+         }
+         d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+         b = q[d + 4 >> 2];
+         c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+         q[c >> 2] = q[d >> 2];
+         q[c + 4 >> 2] = b;
+         q[c + 16 >> 2] = q[d + 16 >> 2];
+         b = q[d + 12 >> 2];
+         q[c + 8 >> 2] = q[d + 8 >> 2];
+         q[c + 12 >> 2] = b;
+         b = q[a + 80 >> 2];
+        }
+        q[a + 80 >> 2] = b + 1;
+       }
+       b = q[a + 72 >> 2] + 1 | 0;
+       q[a + 72 >> 2] = b;
+      }
+      d = b + 1 | 0;
+      if (d >>> 0 < h >>> 0) {
+       continue;
+      }
+      break;
+     }
+     break b;
+    }
+    if ((d | 0) <= 1298954604) {
+     if ((d | 0) != 1198879349) {
+      if ((d | 0) != 1265525857) {
+       break a;
+      }
+      q[a + 72 >> 2] = 0;
+      if (h >>> 0 < 2) {
+       break b;
+      }
+      e = 1;
+      while (1) {
+       if (!r[a + 68 | 0]) {
+        break b;
+       }
+       _a : {
+        $a : {
+         g = q[a + 88 >> 2];
+         c = q[g + w(b, 20) >> 2] + -3209 | 0;
+         if (c >>> 0 > 9) {
+          break $a;
+         }
+         d = 3262;
+         ab : {
+          switch (c - 1 | 0) {
+          case 8:
+           d = 3276;
+           break;
+          case 0:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+           break $a;
+          default:
+           break ab;
+          }
+         }
+         f = q[g + w(e, 20) >> 2];
+         bb : {
+          if (r[a + 69 | 0]) {
+           c = a;
+           cb : {
+            if ((g | 0) == q[a + 92 >> 2]) {
+             e = b;
+             if (q[a + 80 >> 2] == (b | 0)) {
+              break cb;
+             }
+            }
+            if (!pG(a, 1, 1)) {
+             break bb;
+            }
+            e = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+            b = q[e + 4 >> 2];
+            g = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+            q[g >> 2] = q[e >> 2];
+            q[g + 4 >> 2] = b;
+            q[g + 16 >> 2] = q[e + 16 >> 2];
+            b = q[e + 12 >> 2];
+            q[g + 8 >> 2] = q[e + 8 >> 2];
+            q[g + 12 >> 2] = b;
+            b = q[a + 72 >> 2];
+            e = q[a + 80 >> 2];
+           }
+           q[c + 80 >> 2] = e + 1;
+          }
+          q[a + 72 >> 2] = b + 1;
+         }
+         if ((d | 0) != (f | 0)) {
+          break _a;
+         }
+         db : {
+          if (!pG(a, 0, 1)) {
+           q[160660] = q[67764];
+           b = q[67763];
+           q[160658] = q[67762];
+           q[160659] = b;
+           b = q[67761];
+           q[160656] = q[67760];
+           q[160657] = b;
+           b = 642624;
+           break db;
+          }
+          c = q[a + 72 >> 2];
+          b = q[a + 76 >> 2];
+          if (!(q[a + 80 >> 2] | (c | 0) != (b | 0))) {
+           q[160660] = q[67764];
+           b = q[67763];
+           q[160658] = q[67762];
+           q[160659] = b;
+           b = q[67761];
+           q[160656] = q[67760];
+           q[160657] = b;
+           b = 642624;
+           break db;
+          }
+          eb : {
+           if (c >>> 0 < b >>> 0) {
+            b = q[a + 80 >> 2];
+            d = q[a + 92 >> 2];
+            c = q[a + 88 >> 2] + w(c, 20) | 0;
+            break eb;
+           }
+           d = q[a + 92 >> 2];
+           b = q[a + 80 >> 2];
+           c = (d + w(b, 20) | 0) + -20 | 0;
+          }
+          e = w(b, 20) + d | 0;
+          d = e;
+          b = q[c + 4 >> 2];
+          q[d >> 2] = q[c >> 2];
+          q[d + 4 >> 2] = b;
+          q[d + 16 >> 2] = q[c + 16 >> 2];
+          b = q[c + 12 >> 2];
+          q[d + 8 >> 2] = q[c + 8 >> 2];
+          q[d + 12 >> 2] = b;
+          d = q[a + 80 >> 2];
+          b = q[a + 92 >> 2] + w(d, 20) | 0;
+          q[b >> 2] = 9676;
+          q[a + 80 >> 2] = d + 1;
+         }
+         p[b + 16 >> 1] = s[b + 16 >> 1] & 65407;
+         if (r[a + 69 | 0]) {
+          fb : {
+           if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+            b = q[a + 80 >> 2];
+            if ((b | 0) == q[a + 72 >> 2]) {
+             break fb;
+            }
+           }
+           if (!pG(a, 1, 1)) {
+            break _a;
+           }
+           d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+           b = q[d + 4 >> 2];
+           c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+           q[c >> 2] = q[d >> 2];
+           q[c + 4 >> 2] = b;
+           q[c + 16 >> 2] = q[d + 16 >> 2];
+           b = q[d + 12 >> 2];
+           q[c + 8 >> 2] = q[d + 8 >> 2];
+           q[c + 12 >> 2] = b;
+           b = q[a + 80 >> 2];
+          }
+          q[a + 80 >> 2] = b + 1;
+         }
+         q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+         break _a;
+        }
+        if (r[a + 69 | 0]) {
+         d = a;
+         gb : {
+          if ((g | 0) == q[a + 92 >> 2]) {
+           c = b;
+           if (q[a + 80 >> 2] == (b | 0)) {
+            break gb;
+           }
+          }
+          if (!pG(a, 1, 1)) {
+           break _a;
+          }
+          c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+          b = q[c + 4 >> 2];
+          e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+          q[e >> 2] = q[c >> 2];
+          q[e + 4 >> 2] = b;
+          q[e + 16 >> 2] = q[c + 16 >> 2];
+          b = q[c + 12 >> 2];
+          q[e + 8 >> 2] = q[c + 8 >> 2];
+          q[e + 12 >> 2] = b;
+          b = q[a + 72 >> 2];
+          c = q[a + 80 >> 2];
+         }
+         q[d + 80 >> 2] = c + 1;
+        }
+        q[a + 72 >> 2] = b + 1;
+       }
+       b = q[a + 72 >> 2];
+       e = b + 1 | 0;
+       if (e >>> 0 < h >>> 0) {
+        continue;
+       }
+       break;
+      }
+      break b;
+     }
+     q[a + 72 >> 2] = 0;
+     if (h >>> 0 < 2) {
+      break b;
+     }
+     d = 1;
+     while (1) {
+      if (!r[a + 68 | 0]) {
+       break b;
+      }
+      hb : {
+       ib : {
+        f = q[a + 88 >> 2];
+        e = q[f + w(b, 20) >> 2];
+        c = e + -2674 | 0;
+        jb : {
+         if (c >>> 0 > 1) {
+          kb : {
+           if ((e | 0) == 2565) {
+            d = q[f + w(d, 20) >> 2] + -2622 | 0;
+            if (d >>> 0 > 14 | !(1 << d & 17409)) {
+             break kb;
+            }
+            if (r[a + 69 | 0]) {
+             d = a;
+             lb : {
+              if ((f | 0) == q[a + 92 >> 2]) {
+               c = b;
+               if (q[a + 80 >> 2] == (b | 0)) {
+                break lb;
+               }
+              }
+              if (!pG(a, 1, 1)) {
+               break jb;
+              }
+              c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+              b = q[c + 4 >> 2];
+              e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+              q[e >> 2] = q[c >> 2];
+              q[e + 4 >> 2] = b;
+              q[e + 16 >> 2] = q[c + 16 >> 2];
+              b = q[c + 12 >> 2];
+              q[e + 8 >> 2] = q[c + 8 >> 2];
+              q[e + 12 >> 2] = b;
+              b = q[a + 72 >> 2];
+              c = q[a + 80 >> 2];
+             }
+             q[d + 80 >> 2] = c + 1;
+            }
+            q[a + 72 >> 2] = b + 1;
+            break jb;
+           }
+           if (r[a + 69 | 0]) {
+            d = a;
+            mb : {
+             if ((f | 0) == q[a + 92 >> 2]) {
+              c = b;
+              if (q[a + 80 >> 2] == (b | 0)) {
+               break mb;
+              }
+             }
+             if (!pG(a, 1, 1)) {
+              break hb;
+             }
+             c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+             b = q[c + 4 >> 2];
+             e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+             q[e >> 2] = q[c >> 2];
+             q[e + 4 >> 2] = b;
+             q[e + 16 >> 2] = q[c + 16 >> 2];
+             b = q[c + 12 >> 2];
+             q[e + 8 >> 2] = q[c + 8 >> 2];
+             q[e + 12 >> 2] = b;
+             b = q[a + 72 >> 2];
+             c = q[a + 80 >> 2];
+            }
+            q[d + 80 >> 2] = c + 1;
+           }
+           q[a + 72 >> 2] = b + 1;
+           break hb;
+          }
+          if (r[a + 69 | 0]) {
+           d = a;
+           nb : {
+            if ((f | 0) == q[a + 92 >> 2]) {
+             c = b;
+             if (q[a + 80 >> 2] == (b | 0)) {
+              break nb;
+             }
+            }
+            if (!pG(a, 1, 1)) {
+             break hb;
+            }
+            c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+            b = q[c + 4 >> 2];
+            e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+            q[e >> 2] = q[c >> 2];
+            q[e + 4 >> 2] = b;
+            q[e + 16 >> 2] = q[c + 16 >> 2];
+            b = q[c + 12 >> 2];
+            q[e + 8 >> 2] = q[c + 8 >> 2];
+            q[e + 12 >> 2] = b;
+            b = q[a + 72 >> 2];
+            c = q[a + 80 >> 2];
+           }
+           q[d + 80 >> 2] = c + 1;
+          }
+          q[a + 72 >> 2] = b + 1;
+          break hb;
+         }
+         if (!(c - 1)) {
+          d = q[f + w(d, 20) >> 2] + -2625 | 0;
+          if (!(d >>> 0 > 10 | !(1 << d & 1027))) {
+           if (r[a + 69 | 0]) {
+            d = a;
+            ob : {
+             if ((f | 0) == q[a + 92 >> 2]) {
+              c = b;
+              if (q[a + 80 >> 2] == (b | 0)) {
+               break ob;
+              }
+             }
+             if (!pG(a, 1, 1)) {
+              break jb;
+             }
+             c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+             b = q[c + 4 >> 2];
+             e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+             q[e >> 2] = q[c >> 2];
+             q[e + 4 >> 2] = b;
+             q[e + 16 >> 2] = q[c + 16 >> 2];
+             b = q[c + 12 >> 2];
+             q[e + 8 >> 2] = q[c + 8 >> 2];
+             q[e + 12 >> 2] = b;
+             b = q[a + 72 >> 2];
+             c = q[a + 80 >> 2];
+            }
+            q[d + 80 >> 2] = c + 1;
+           }
+           q[a + 72 >> 2] = b + 1;
+           break jb;
+          }
+          if (r[a + 69 | 0]) {
+           d = a;
+           pb : {
+            if ((f | 0) == q[a + 92 >> 2]) {
+             c = b;
+             if (q[a + 80 >> 2] == (b | 0)) {
+              break pb;
+             }
+            }
+            if (!pG(a, 1, 1)) {
+             break hb;
+            }
+            c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+            b = q[c + 4 >> 2];
+            e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+            q[e >> 2] = q[c >> 2];
+            q[e + 4 >> 2] = b;
+            q[e + 16 >> 2] = q[c + 16 >> 2];
+            b = q[c + 12 >> 2];
+            q[e + 8 >> 2] = q[c + 8 >> 2];
+            q[e + 12 >> 2] = b;
+            b = q[a + 72 >> 2];
+            c = q[a + 80 >> 2];
+           }
+           q[d + 80 >> 2] = c + 1;
+          }
+          q[a + 72 >> 2] = b + 1;
+          break hb;
+         }
+         d = q[f + w(d, 20) >> 2] + -2623 | 0;
+         if (d >>> 0 > 8 | !(1 << d & 259)) {
+          break ib;
+         }
+         if (r[a + 69 | 0]) {
+          d = a;
+          qb : {
+           if ((f | 0) == q[a + 92 >> 2]) {
+            c = b;
+            if (q[a + 80 >> 2] == (b | 0)) {
+             break qb;
+            }
+           }
+           if (!pG(a, 1, 1)) {
+            break jb;
+           }
+           c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+           b = q[c + 4 >> 2];
+           e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+           q[e >> 2] = q[c >> 2];
+           q[e + 4 >> 2] = b;
+           q[e + 16 >> 2] = q[c + 16 >> 2];
+           b = q[c + 12 >> 2];
+           q[e + 8 >> 2] = q[c + 8 >> 2];
+           q[e + 12 >> 2] = b;
+           b = q[a + 72 >> 2];
+           c = q[a + 80 >> 2];
+          }
+          q[d + 80 >> 2] = c + 1;
+         }
+         q[a + 72 >> 2] = b + 1;
+        }
+        rb : {
+         if (!pG(a, 0, 1)) {
+          q[160660] = q[67764];
+          b = q[67763];
+          q[160658] = q[67762];
+          q[160659] = b;
+          b = q[67761];
+          q[160656] = q[67760];
+          q[160657] = b;
+          b = 642624;
+          break rb;
+         }
+         c = q[a + 72 >> 2];
+         b = q[a + 76 >> 2];
+         if (!(q[a + 80 >> 2] | (c | 0) != (b | 0))) {
+          q[160660] = q[67764];
+          b = q[67763];
+          q[160658] = q[67762];
+          q[160659] = b;
+          b = q[67761];
+          q[160656] = q[67760];
+          q[160657] = b;
+          b = 642624;
+          break rb;
+         }
+         sb : {
+          if (c >>> 0 < b >>> 0) {
+           b = q[a + 80 >> 2];
+           d = q[a + 92 >> 2];
+           c = q[a + 88 >> 2] + w(c, 20) | 0;
+           break sb;
+          }
+          d = q[a + 92 >> 2];
+          b = q[a + 80 >> 2];
+          c = (d + w(b, 20) | 0) + -20 | 0;
+         }
+         e = w(b, 20) + d | 0;
+         d = e;
+         b = q[c + 4 >> 2];
+         q[d >> 2] = q[c >> 2];
+         q[d + 4 >> 2] = b;
+         q[d + 16 >> 2] = q[c + 16 >> 2];
+         b = q[c + 12 >> 2];
+         q[d + 8 >> 2] = q[c + 8 >> 2];
+         q[d + 12 >> 2] = b;
+         d = q[a + 80 >> 2];
+         b = q[a + 92 >> 2] + w(d, 20) | 0;
+         q[b >> 2] = 9676;
+         q[a + 80 >> 2] = d + 1;
+        }
+        p[b + 16 >> 1] = s[b + 16 >> 1] & 65407;
+        if (r[a + 69 | 0]) {
+         tb : {
+          if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+           b = q[a + 80 >> 2];
+           if ((b | 0) == q[a + 72 >> 2]) {
+            break tb;
+           }
+          }
+          if (!pG(a, 1, 1)) {
+           break hb;
+          }
+          d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+          b = q[d + 4 >> 2];
+          c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+          q[c >> 2] = q[d >> 2];
+          q[c + 4 >> 2] = b;
+          q[c + 16 >> 2] = q[d + 16 >> 2];
+          b = q[d + 12 >> 2];
+          q[c + 8 >> 2] = q[d + 8 >> 2];
+          q[c + 12 >> 2] = b;
+          b = q[a + 80 >> 2];
+         }
+         q[a + 80 >> 2] = b + 1;
+        }
+        q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+        break hb;
+       }
+       if (r[a + 69 | 0]) {
+        d = a;
+        ub : {
+         if ((f | 0) == q[a + 92 >> 2]) {
+          c = b;
+          if (q[a + 80 >> 2] == (b | 0)) {
+           break ub;
+          }
+         }
+         if (!pG(a, 1, 1)) {
+          break hb;
+         }
+         c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+         b = q[c + 4 >> 2];
+         e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+         q[e >> 2] = q[c >> 2];
+         q[e + 4 >> 2] = b;
+         q[e + 16 >> 2] = q[c + 16 >> 2];
+         b = q[c + 12 >> 2];
+         q[e + 8 >> 2] = q[c + 8 >> 2];
+         q[e + 12 >> 2] = b;
+         b = q[a + 72 >> 2];
+         c = q[a + 80 >> 2];
+        }
+        q[d + 80 >> 2] = c + 1;
+       }
+       q[a + 72 >> 2] = b + 1;
+      }
+      b = q[a + 72 >> 2];
+      d = b + 1 | 0;
+      if (d >>> 0 < h >>> 0) {
+       continue;
+      }
+      break;
+     }
+     break b;
+    }
+    if ((d | 0) != 1298954605) {
+     if ((d | 0) != 1299145833) {
+      break a;
+     }
+     q[a + 72 >> 2] = 0;
+     if (h >>> 0 < 2) {
+      break b;
+     }
+     d = 1;
+     while (1) {
+      if (!r[a + 68 | 0]) {
+       break b;
+      }
+      c = q[a + 88 >> 2];
+      vb : {
+       if ((q[c + w(b, 20) >> 2] & -2) == 71168) {
+        e = q[c + w(d, 20) >> 2] + -71225 | 0;
+        wb : {
+         if (r[a + 69 | 0]) {
+          xb : {
+           if ((c | 0) == q[a + 92 >> 2]) {
+            c = b;
+            d = b;
+            if (q[a + 80 >> 2] == (b | 0)) {
+             break xb;
+            }
+           }
+           if (!pG(a, 1, 1)) {
+            break wb;
+           }
+           d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+           b = q[d + 4 >> 2];
+           c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+           q[c >> 2] = q[d >> 2];
+           q[c + 4 >> 2] = b;
+           q[c + 16 >> 2] = q[d + 16 >> 2];
+           b = q[d + 12 >> 2];
+           q[c + 8 >> 2] = q[d + 8 >> 2];
+           q[c + 12 >> 2] = b;
+           c = q[a + 72 >> 2];
+           d = q[a + 80 >> 2];
+          }
+          b = c;
+          q[a + 80 >> 2] = d + 1;
+         }
+         q[a + 72 >> 2] = b + 1;
+        }
+        if (e >>> 0 > 1) {
+         break vb;
+        }
+        yb : {
+         if (!pG(a, 0, 1)) {
+          q[160660] = q[67764];
+          b = q[67763];
+          q[160658] = q[67762];
+          q[160659] = b;
+          b = q[67761];
+          q[160656] = q[67760];
+          q[160657] = b;
+          b = 642624;
+          break yb;
+         }
+         c = q[a + 72 >> 2];
+         b = q[a + 76 >> 2];
+         if (!(q[a + 80 >> 2] | (c | 0) != (b | 0))) {
+          q[160660] = q[67764];
+          b = q[67763];
+          q[160658] = q[67762];
+          q[160659] = b;
+          b = q[67761];
+          q[160656] = q[67760];
+          q[160657] = b;
+          b = 642624;
+          break yb;
+         }
+         zb : {
+          if (c >>> 0 < b >>> 0) {
+           b = q[a + 80 >> 2];
+           d = q[a + 92 >> 2];
+           c = q[a + 88 >> 2] + w(c, 20) | 0;
+           break zb;
+          }
+          d = q[a + 92 >> 2];
+          b = q[a + 80 >> 2];
+          c = (d + w(b, 20) | 0) + -20 | 0;
+         }
+         e = w(b, 20) + d | 0;
+         d = e;
+         b = q[c + 4 >> 2];
+         q[d >> 2] = q[c >> 2];
+         q[d + 4 >> 2] = b;
+         q[d + 16 >> 2] = q[c + 16 >> 2];
+         b = q[c + 12 >> 2];
+         q[d + 8 >> 2] = q[c + 8 >> 2];
+         q[d + 12 >> 2] = b;
+         d = q[a + 80 >> 2];
+         b = q[a + 92 >> 2] + w(d, 20) | 0;
+         q[b >> 2] = 9676;
+         q[a + 80 >> 2] = d + 1;
+        }
+        p[b + 16 >> 1] = s[b + 16 >> 1] & 65407;
+        if (r[a + 69 | 0]) {
+         Ab : {
+          if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+           b = q[a + 80 >> 2];
+           if ((b | 0) == q[a + 72 >> 2]) {
+            break Ab;
+           }
+          }
+          if (!pG(a, 1, 1)) {
+           break vb;
+          }
+          d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+          b = q[d + 4 >> 2];
+          c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+          q[c >> 2] = q[d >> 2];
+          q[c + 4 >> 2] = b;
+          q[c + 16 >> 2] = q[d + 16 >> 2];
+          b = q[d + 12 >> 2];
+          q[c + 8 >> 2] = q[d + 8 >> 2];
+          q[c + 12 >> 2] = b;
+          b = q[a + 80 >> 2];
+         }
+         q[a + 80 >> 2] = b + 1;
+        }
+        q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+        break vb;
+       }
+       if (r[a + 69 | 0]) {
+        Bb : {
+         if ((c | 0) == q[a + 92 >> 2]) {
+          c = b;
+          d = b;
+          if (q[a + 80 >> 2] == (b | 0)) {
+           break Bb;
+          }
+         }
+         if (!pG(a, 1, 1)) {
+          break vb;
+         }
+         d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+         b = q[d + 4 >> 2];
+         c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+         q[c >> 2] = q[d >> 2];
+         q[c + 4 >> 2] = b;
+         q[c + 16 >> 2] = q[d + 16 >> 2];
+         b = q[d + 12 >> 2];
+         q[c + 8 >> 2] = q[d + 8 >> 2];
+         q[c + 12 >> 2] = b;
+         c = q[a + 72 >> 2];
+         d = q[a + 80 >> 2];
+        }
+        b = c;
+        q[a + 80 >> 2] = d + 1;
+       }
+       q[a + 72 >> 2] = b + 1;
+      }
+      b = q[a + 72 >> 2];
+      d = b + 1 | 0;
+      if (d >>> 0 < h >>> 0) {
+       continue;
+      }
+      break;
+     }
+     break b;
+    }
+    q[a + 72 >> 2] = 0;
+    if (h >>> 0 < 2) {
+     break b;
+    }
+    d = 1;
+    while (1) {
+     if (!r[a + 68 | 0]) {
+      break b;
+     }
+     Cb : {
+      Db : {
+       Eb : {
+        g = q[a + 88 >> 2];
+        c = q[g + w(b, 20) >> 2] + -3335 | 0;
+        if (c >>> 0 > 11) {
+         break Eb;
+        }
+        e = 3415;
+        Fb : {
+         Gb : {
+          Hb : {
+           Ib : {
+            switch (c - 1 | 0) {
+            case 10:
+             d = q[g + w(d, 20) >> 2];
+             if ((d | 0) != 3415 ? (d | 0) != 3390 : 0) {
+              break Db;
+             }
+             if (r[a + 69 | 0]) {
+              break Hb;
+             }
+             break Gb;
+            case 6:
+             e = 3398;
+             break;
+            case 0:
+            case 2:
+            case 3:
+            case 4:
+            case 5:
+            case 7:
+            case 8:
+            case 9:
+             break Eb;
+            default:
+             break Ib;
+            }
+           }
+           f = q[g + w(d, 20) >> 2];
+           Jb : {
+            if (r[a + 69 | 0]) {
+             d = a;
+             Kb : {
+              if ((g | 0) == q[a + 92 >> 2]) {
+               c = b;
+               if (q[a + 80 >> 2] == (b | 0)) {
+                break Kb;
+               }
+              }
+              if (!pG(a, 1, 1)) {
+               break Jb;
+              }
+              c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+              b = q[c + 4 >> 2];
+              g = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+              q[g >> 2] = q[c >> 2];
+              q[g + 4 >> 2] = b;
+              q[g + 16 >> 2] = q[c + 16 >> 2];
+              b = q[c + 12 >> 2];
+              q[g + 8 >> 2] = q[c + 8 >> 2];
+              q[g + 12 >> 2] = b;
+              b = q[a + 72 >> 2];
+              c = q[a + 80 >> 2];
+             }
+             q[d + 80 >> 2] = c + 1;
+            }
+            q[a + 72 >> 2] = b + 1;
+           }
+           if ((e | 0) == (f | 0)) {
+            break Fb;
+           }
+           break Cb;
+          }
+          Lb : {
+           if ((g | 0) == q[a + 92 >> 2]) {
+            c = b;
+            d = b;
+            if (q[a + 80 >> 2] == (b | 0)) {
+             break Lb;
+            }
+           }
+           if (!pG(a, 1, 1)) {
+            break Fb;
+           }
+           d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+           b = q[d + 4 >> 2];
+           c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+           q[c >> 2] = q[d >> 2];
+           q[c + 4 >> 2] = b;
+           q[c + 16 >> 2] = q[d + 16 >> 2];
+           b = q[d + 12 >> 2];
+           q[c + 8 >> 2] = q[d + 8 >> 2];
+           q[c + 12 >> 2] = b;
+           c = q[a + 72 >> 2];
+           d = q[a + 80 >> 2];
+          }
+          b = c;
+          q[a + 80 >> 2] = d + 1;
+         }
+         q[a + 72 >> 2] = b + 1;
+        }
+        Mb : {
+         if (!pG(a, 0, 1)) {
+          q[160660] = q[67764];
+          b = q[67763];
+          q[160658] = q[67762];
+          q[160659] = b;
+          b = q[67761];
+          q[160656] = q[67760];
+          q[160657] = b;
+          b = 642624;
+          break Mb;
+         }
+         c = q[a + 72 >> 2];
+         b = q[a + 76 >> 2];
+         if (!(q[a + 80 >> 2] | (c | 0) != (b | 0))) {
+          q[160660] = q[67764];
+          b = q[67763];
+          q[160658] = q[67762];
+          q[160659] = b;
+          b = q[67761];
+          q[160656] = q[67760];
+          q[160657] = b;
+          b = 642624;
+          break Mb;
+         }
+         Nb : {
+          if (c >>> 0 < b >>> 0) {
+           b = q[a + 80 >> 2];
+           d = q[a + 92 >> 2];
+           c = q[a + 88 >> 2] + w(c, 20) | 0;
+           break Nb;
+          }
+          d = q[a + 92 >> 2];
+          b = q[a + 80 >> 2];
+          c = (d + w(b, 20) | 0) + -20 | 0;
+         }
+         e = w(b, 20) + d | 0;
+         d = e;
+         b = q[c + 4 >> 2];
+         q[d >> 2] = q[c >> 2];
+         q[d + 4 >> 2] = b;
+         q[d + 16 >> 2] = q[c + 16 >> 2];
+         b = q[c + 12 >> 2];
+         q[d + 8 >> 2] = q[c + 8 >> 2];
+         q[d + 12 >> 2] = b;
+         d = q[a + 80 >> 2];
+         b = q[a + 92 >> 2] + w(d, 20) | 0;
+         q[b >> 2] = 9676;
+         q[a + 80 >> 2] = d + 1;
+        }
+        p[b + 16 >> 1] = s[b + 16 >> 1] & 65407;
+        if (r[a + 69 | 0]) {
+         Ob : {
+          if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+           b = q[a + 80 >> 2];
+           if ((b | 0) == q[a + 72 >> 2]) {
+            break Ob;
+           }
+          }
+          if (!pG(a, 1, 1)) {
+           break Cb;
+          }
+          d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+          b = q[d + 4 >> 2];
+          c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+          q[c >> 2] = q[d >> 2];
+          q[c + 4 >> 2] = b;
+          q[c + 16 >> 2] = q[d + 16 >> 2];
+          b = q[d + 12 >> 2];
+          q[c + 8 >> 2] = q[d + 8 >> 2];
+          q[c + 12 >> 2] = b;
+          b = q[a + 80 >> 2];
+         }
+         q[a + 80 >> 2] = b + 1;
+        }
+        q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+        break Cb;
+       }
+       if (r[a + 69 | 0]) {
+        Pb : {
+         if ((g | 0) == q[a + 92 >> 2]) {
+          c = b;
+          d = b;
+          if (q[a + 80 >> 2] == (b | 0)) {
+           break Pb;
+          }
+         }
+         if (!pG(a, 1, 1)) {
+          break Cb;
+         }
+         d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+         b = q[d + 4 >> 2];
+         c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+         q[c >> 2] = q[d >> 2];
+         q[c + 4 >> 2] = b;
+         q[c + 16 >> 2] = q[d + 16 >> 2];
+         b = q[d + 12 >> 2];
+         q[c + 8 >> 2] = q[d + 8 >> 2];
+         q[c + 12 >> 2] = b;
+         c = q[a + 72 >> 2];
+         d = q[a + 80 >> 2];
+        }
+        b = c;
+        q[a + 80 >> 2] = d + 1;
+       }
+       q[a + 72 >> 2] = b + 1;
+       break Cb;
+      }
+      if (r[a + 69 | 0]) {
+       Qb : {
+        if ((g | 0) == q[a + 92 >> 2]) {
+         c = b;
+         d = b;
+         if (q[a + 80 >> 2] == (b | 0)) {
+          break Qb;
+         }
+        }
+        if (!pG(a, 1, 1)) {
+         break Cb;
+        }
+        d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+        b = q[d + 4 >> 2];
+        c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+        q[c >> 2] = q[d >> 2];
+        q[c + 4 >> 2] = b;
+        q[c + 16 >> 2] = q[d + 16 >> 2];
+        b = q[d + 12 >> 2];
+        q[c + 8 >> 2] = q[d + 8 >> 2];
+        q[c + 12 >> 2] = b;
+        c = q[a + 72 >> 2];
+        d = q[a + 80 >> 2];
+       }
+       b = c;
+       q[a + 80 >> 2] = d + 1;
+      }
+      q[a + 72 >> 2] = b + 1;
+     }
+     b = q[a + 72 >> 2];
+     d = b + 1 | 0;
+     if (d >>> 0 < h >>> 0) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   }
+   if ((d | 0) != 1147500129) {
+    if ((d | 0) != 1198877298) {
+     break a;
+    }
+    q[a + 72 >> 2] = 0;
+    if (h >>> 0 < 2) {
+     break b;
+    }
+    d = 1;
+    while (1) {
+     if (!r[a + 68 | 0]) {
+      break b;
+     }
+     Rb : {
+      Sb : {
+       Tb : {
+        f = q[a + 88 >> 2];
+        c = q[f + w(b, 20) >> 2];
+        Ub : {
+         if ((c | 0) != 2757) {
+          if ((c | 0) != 2693) {
+           break Tb;
+          }
+          d = q[f + w(d, 20) >> 2] + -2750 | 0;
+          if (d >>> 0 > 14 | !(1 << d & 28289)) {
+           break Sb;
+          }
+          if (r[a + 69 | 0]) {
+           d = a;
+           Vb : {
+            if ((f | 0) == q[a + 92 >> 2]) {
+             c = b;
+             if (q[a + 80 >> 2] == (b | 0)) {
+              break Vb;
+             }
+            }
+            if (!pG(a, 1, 1)) {
+             break Ub;
+            }
+            c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+            b = q[c + 4 >> 2];
+            e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+            q[e >> 2] = q[c >> 2];
+            q[e + 4 >> 2] = b;
+            q[e + 16 >> 2] = q[c + 16 >> 2];
+            b = q[c + 12 >> 2];
+            q[e + 8 >> 2] = q[c + 8 >> 2];
+            q[e + 12 >> 2] = b;
+            b = q[a + 72 >> 2];
+            c = q[a + 80 >> 2];
+           }
+           q[d + 80 >> 2] = c + 1;
+          }
+          q[a + 72 >> 2] = b + 1;
+          break Ub;
+         }
+         e = q[f + w(d, 20) >> 2];
+         Wb : {
+          if (r[a + 69 | 0]) {
+           d = a;
+           Xb : {
+            if ((f | 0) == q[a + 92 >> 2]) {
+             c = b;
+             if (q[a + 80 >> 2] == (b | 0)) {
+              break Xb;
+             }
+            }
+            if (!pG(a, 1, 1)) {
+             break Wb;
+            }
+            c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+            b = q[c + 4 >> 2];
+            f = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+            q[f >> 2] = q[c >> 2];
+            q[f + 4 >> 2] = b;
+            q[f + 16 >> 2] = q[c + 16 >> 2];
+            b = q[c + 12 >> 2];
+            q[f + 8 >> 2] = q[c + 8 >> 2];
+            q[f + 12 >> 2] = b;
+            b = q[a + 72 >> 2];
+            c = q[a + 80 >> 2];
+           }
+           q[d + 80 >> 2] = c + 1;
+          }
+          q[a + 72 >> 2] = b + 1;
+         }
+         if ((e | 0) != 2750) {
+          break Rb;
+         }
+        }
+        Yb : {
+         if (!pG(a, 0, 1)) {
+          q[160660] = q[67764];
+          b = q[67763];
+          q[160658] = q[67762];
+          q[160659] = b;
+          b = q[67761];
+          q[160656] = q[67760];
+          q[160657] = b;
+          b = 642624;
+          break Yb;
+         }
+         c = q[a + 72 >> 2];
+         b = q[a + 76 >> 2];
+         if (!(q[a + 80 >> 2] | (c | 0) != (b | 0))) {
+          q[160660] = q[67764];
+          b = q[67763];
+          q[160658] = q[67762];
+          q[160659] = b;
+          b = q[67761];
+          q[160656] = q[67760];
+          q[160657] = b;
+          b = 642624;
+          break Yb;
+         }
+         Zb : {
+          if (c >>> 0 < b >>> 0) {
+           b = q[a + 80 >> 2];
+           d = q[a + 92 >> 2];
+           c = q[a + 88 >> 2] + w(c, 20) | 0;
+           break Zb;
+          }
+          d = q[a + 92 >> 2];
+          b = q[a + 80 >> 2];
+          c = (d + w(b, 20) | 0) + -20 | 0;
+         }
+         e = w(b, 20) + d | 0;
+         d = e;
+         b = q[c + 4 >> 2];
+         q[d >> 2] = q[c >> 2];
+         q[d + 4 >> 2] = b;
+         q[d + 16 >> 2] = q[c + 16 >> 2];
+         b = q[c + 12 >> 2];
+         q[d + 8 >> 2] = q[c + 8 >> 2];
+         q[d + 12 >> 2] = b;
+         d = q[a + 80 >> 2];
+         b = q[a + 92 >> 2] + w(d, 20) | 0;
+         q[b >> 2] = 9676;
+         q[a + 80 >> 2] = d + 1;
+        }
+        p[b + 16 >> 1] = s[b + 16 >> 1] & 65407;
+        if (r[a + 69 | 0]) {
+         _b : {
+          if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+           b = q[a + 80 >> 2];
+           if ((b | 0) == q[a + 72 >> 2]) {
+            break _b;
+           }
+          }
+          if (!pG(a, 1, 1)) {
+           break Rb;
+          }
+          d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+          b = q[d + 4 >> 2];
+          c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+          q[c >> 2] = q[d >> 2];
+          q[c + 4 >> 2] = b;
+          q[c + 16 >> 2] = q[d + 16 >> 2];
+          b = q[d + 12 >> 2];
+          q[c + 8 >> 2] = q[d + 8 >> 2];
+          q[c + 12 >> 2] = b;
+          b = q[a + 80 >> 2];
+         }
+         q[a + 80 >> 2] = b + 1;
+        }
+        q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+        break Rb;
+       }
+       if (r[a + 69 | 0]) {
+        d = a;
+        $b : {
+         if ((f | 0) == q[a + 92 >> 2]) {
+          c = b;
+          if (q[a + 80 >> 2] == (b | 0)) {
+           break $b;
+          }
+         }
+         if (!pG(a, 1, 1)) {
+          break Rb;
+         }
+         c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+         b = q[c + 4 >> 2];
+         e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+         q[e >> 2] = q[c >> 2];
+         q[e + 4 >> 2] = b;
+         q[e + 16 >> 2] = q[c + 16 >> 2];
+         b = q[c + 12 >> 2];
+         q[e + 8 >> 2] = q[c + 8 >> 2];
+         q[e + 12 >> 2] = b;
+         b = q[a + 72 >> 2];
+         c = q[a + 80 >> 2];
+        }
+        q[d + 80 >> 2] = c + 1;
+       }
+       q[a + 72 >> 2] = b + 1;
+       break Rb;
+      }
+      if (r[a + 69 | 0]) {
+       d = a;
+       ac : {
+        if ((f | 0) == q[a + 92 >> 2]) {
+         c = b;
+         if (q[a + 80 >> 2] == (b | 0)) {
+          break ac;
+         }
+        }
+        if (!pG(a, 1, 1)) {
+         break Rb;
+        }
+        c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+        b = q[c + 4 >> 2];
+        e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+        q[e >> 2] = q[c >> 2];
+        q[e + 4 >> 2] = b;
+        q[e + 16 >> 2] = q[c + 16 >> 2];
+        b = q[c + 12 >> 2];
+        q[e + 8 >> 2] = q[c + 8 >> 2];
+        q[e + 12 >> 2] = b;
+        b = q[a + 72 >> 2];
+        c = q[a + 80 >> 2];
+       }
+       q[d + 80 >> 2] = c + 1;
+      }
+      q[a + 72 >> 2] = b + 1;
+     }
+     b = q[a + 72 >> 2];
+     d = b + 1 | 0;
+     if (d >>> 0 < h >>> 0) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   }
+   q[a + 72 >> 2] = 0;
+   if (h >>> 0 < 2) {
+    break b;
+   }
+   c = a + 80 | 0;
+   d = 1;
+   while (1) {
+    if (!r[a + 68 | 0]) {
+     break b;
+    }
+    bc : {
+     cc : {
+      dc : {
+       ec : {
+        fc : {
+         gc : {
+          g = q[a + 88 >> 2];
+          e = q[g + w(b, 20) >> 2] + -2309 | 0;
+          if (e >>> 0 > 43) {
+           break gc;
+          }
+          hc : {
+           ic : {
+            jc : {
+             switch (e - 1 | 0) {
+             default:
+              d = q[g + w(d, 20) >> 2] + -2362 | 0;
+              if (d >>> 0 > 29 | !(1 << d & 807901203)) {
+               break cc;
+              }
+              if (r[a + 69 | 0]) {
+               d = c;
+               kc : {
+                if ((g | 0) == q[a + 92 >> 2]) {
+                 e = b;
+                 if (q[c >> 2] == (b | 0)) {
+                  break kc;
+                 }
+                }
+                if (!pG(a, 1, 1)) {
+                 break hc;
+                }
+                e = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+                b = q[e + 4 >> 2];
+                f = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+                q[f >> 2] = q[e >> 2];
+                q[f + 4 >> 2] = b;
+                q[f + 16 >> 2] = q[e + 16 >> 2];
+                b = q[e + 12 >> 2];
+                q[f + 8 >> 2] = q[e + 8 >> 2];
+                q[f + 12 >> 2] = b;
+                b = q[a + 72 >> 2];
+                e = q[a + 80 >> 2];
+               }
+               q[d >> 2] = e + 1;
+              }
+              q[a + 72 >> 2] = b + 1;
+              break hc;
+             case 0:
+              d = q[g + w(d, 20) >> 2];
+              if ((d | 0) != 2362 ? d + -2373 >>> 0 >= 4 : 0) {
+               break dc;
+              }
+              if (r[a + 69 | 0]) {
+               d = c;
+               lc : {
+                if ((g | 0) == q[a + 92 >> 2]) {
+                 e = b;
+                 if (q[c >> 2] == (b | 0)) {
+                  break lc;
+                 }
+                }
+                if (!pG(a, 1, 1)) {
+                 break hc;
+                }
+                e = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+                b = q[e + 4 >> 2];
+                f = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+                q[f >> 2] = q[e >> 2];
+                q[f + 4 >> 2] = b;
+                q[f + 16 >> 2] = q[e + 16 >> 2];
+                b = q[e + 12 >> 2];
+                q[f + 8 >> 2] = q[e + 8 >> 2];
+                q[f + 12 >> 2] = b;
+                b = q[a + 72 >> 2];
+                e = q[a + 80 >> 2];
+               }
+               q[d >> 2] = e + 1;
+              }
+              q[a + 72 >> 2] = b + 1;
+              break hc;
+             case 9:
+              e = q[g + w(d, 20) >> 2] + -2373 >>> 0 < 3;
+              break ic;
+             case 42:
+              if (q[g + w(d, 20) >> 2] != 2381) {
+               break ec;
+              }
+              d = b + 2 | 0;
+              if (d >>> 0 >= h >>> 0) {
+               break fc;
+              }
+              f = q[g + w(d, 20) >> 2];
+              mc : {
+               if (r[a + 69 | 0]) {
+                d = c;
+                nc : {
+                 if ((g | 0) == q[a + 92 >> 2]) {
+                  e = b;
+                  if (q[c >> 2] == (b | 0)) {
+                   break nc;
+                  }
+                 }
+                 if (!pG(a, 1, 1)) {
+                  break mc;
+                 }
+                 e = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+                 b = q[e + 4 >> 2];
+                 g = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+                 q[g >> 2] = q[e >> 2];
+                 q[g + 4 >> 2] = b;
+                 q[g + 16 >> 2] = q[e + 16 >> 2];
+                 b = q[e + 12 >> 2];
+                 q[g + 8 >> 2] = q[e + 8 >> 2];
+                 q[g + 12 >> 2] = b;
+                 b = q[a + 72 >> 2];
+                 e = q[a + 80 >> 2];
+                }
+                q[d >> 2] = e + 1;
+               }
+               q[a + 72 >> 2] = b + 1;
+              }
+              if ((f | 0) != 2311) {
+               break bc;
+              }
+              oc : {
+               if (r[a + 69 | 0]) {
+                pc : {
+                 if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+                  b = q[a + 80 >> 2];
+                  if ((b | 0) == q[a + 72 >> 2]) {
+                   break pc;
+                  }
+                 }
+                 if (!pG(a, 1, 1)) {
+                  break oc;
+                 }
+                 d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+                 b = q[d + 4 >> 2];
+                 e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+                 q[e >> 2] = q[d >> 2];
+                 q[e + 4 >> 2] = b;
+                 q[e + 16 >> 2] = q[d + 16 >> 2];
+                 b = q[d + 12 >> 2];
+                 q[e + 8 >> 2] = q[d + 8 >> 2];
+                 q[e + 12 >> 2] = b;
+                 b = q[a + 80 >> 2];
+                }
+                q[c >> 2] = b + 1;
+               }
+               q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+              }
+              qc : {
+               if (!pG(a, 0, 1)) {
+                q[160660] = q[67764];
+                b = q[67763];
+                q[160658] = q[67762];
+                q[160659] = b;
+                b = q[67761];
+                q[160656] = q[67760];
+                q[160657] = b;
+                b = 642624;
+                break qc;
+               }
+               e = q[a + 72 >> 2];
+               b = q[a + 76 >> 2];
+               if (!(q[c >> 2] | (e | 0) != (b | 0))) {
+                q[160660] = q[67764];
+                b = q[67763];
+                q[160658] = q[67762];
+                q[160659] = b;
+                b = q[67761];
+                q[160656] = q[67760];
+                q[160657] = b;
+                b = 642624;
+                break qc;
+               }
+               rc : {
+                if (e >>> 0 < b >>> 0) {
+                 b = q[a + 80 >> 2];
+                 d = q[a + 92 >> 2];
+                 e = q[a + 88 >> 2] + w(e, 20) | 0;
+                 break rc;
+                }
+                d = q[a + 92 >> 2];
+                b = q[a + 80 >> 2];
+                e = (d + w(b, 20) | 0) + -20 | 0;
+               }
+               f = w(b, 20) + d | 0;
+               d = f;
+               b = q[e + 4 >> 2];
+               q[d >> 2] = q[e >> 2];
+               q[d + 4 >> 2] = b;
+               q[d + 16 >> 2] = q[e + 16 >> 2];
+               b = q[e + 12 >> 2];
+               q[d + 8 >> 2] = q[e + 8 >> 2];
+               q[d + 12 >> 2] = b;
+               d = q[a + 80 >> 2];
+               b = q[a + 92 >> 2] + w(d, 20) | 0;
+               q[b >> 2] = 9676;
+               q[a + 80 >> 2] = d + 1;
+              }
+              p[b + 16 >> 1] = s[b + 16 >> 1] & 65407;
+              if (r[a + 69 | 0]) {
+               sc : {
+                if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+                 b = q[a + 80 >> 2];
+                 if ((b | 0) == q[a + 72 >> 2]) {
+                  break sc;
+                 }
+                }
+                if (!pG(a, 1, 1)) {
+                 break bc;
+                }
+                d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+                b = q[d + 4 >> 2];
+                e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+                q[e >> 2] = q[d >> 2];
+                q[e + 4 >> 2] = b;
+                q[e + 16 >> 2] = q[d + 16 >> 2];
+                b = q[d + 12 >> 2];
+                q[e + 8 >> 2] = q[d + 8 >> 2];
+                q[e + 12 >> 2] = b;
+                b = q[a + 80 >> 2];
+               }
+               q[c >> 2] = b + 1;
+              }
+              q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+              break bc;
+             case 1:
+             case 2:
+             case 4:
+             case 5:
+             case 6:
+             case 7:
+             case 8:
+             case 10:
+             case 11:
+             case 12:
+             case 13:
+             case 14:
+             case 15:
+             case 16:
+             case 17:
+             case 18:
+             case 19:
+             case 20:
+             case 21:
+             case 22:
+             case 23:
+             case 24:
+             case 25:
+             case 26:
+             case 27:
+             case 28:
+             case 29:
+             case 30:
+             case 31:
+             case 32:
+             case 33:
+             case 34:
+             case 35:
+             case 36:
+             case 37:
+             case 38:
+             case 39:
+             case 40:
+             case 41:
+              break gc;
+             case 3:
+              break jc;
+             }
+            }
+            e = q[g + w(d, 20) >> 2] == 2369;
+           }
+           tc : {
+            if (r[a + 69 | 0]) {
+             d = c;
+             uc : {
+              if ((g | 0) == q[a + 92 >> 2]) {
+               f = b;
+               if (q[c >> 2] == (b | 0)) {
+                break uc;
+               }
+              }
+              if (!pG(a, 1, 1)) {
+               break tc;
+              }
+              f = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+              b = q[f + 4 >> 2];
+              g = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+              q[g >> 2] = q[f >> 2];
+              q[g + 4 >> 2] = b;
+              q[g + 16 >> 2] = q[f + 16 >> 2];
+              b = q[f + 12 >> 2];
+              q[g + 8 >> 2] = q[f + 8 >> 2];
+              q[g + 12 >> 2] = b;
+              b = q[a + 72 >> 2];
+              f = q[a + 80 >> 2];
+             }
+             q[d >> 2] = f + 1;
+            }
+            q[a + 72 >> 2] = b + 1;
+           }
+           if (!e) {
+            break bc;
+           }
+          }
+          vc : {
+           if (!pG(a, 0, 1)) {
+            q[160660] = q[67764];
+            b = q[67763];
+            q[160658] = q[67762];
+            q[160659] = b;
+            b = q[67761];
+            q[160656] = q[67760];
+            q[160657] = b;
+            b = 642624;
+            break vc;
+           }
+           e = q[a + 72 >> 2];
+           b = q[a + 76 >> 2];
+           if (!(q[c >> 2] | (e | 0) != (b | 0))) {
+            q[160660] = q[67764];
+            b = q[67763];
+            q[160658] = q[67762];
+            q[160659] = b;
+            b = q[67761];
+            q[160656] = q[67760];
+            q[160657] = b;
+            b = 642624;
+            break vc;
+           }
+           wc : {
+            if (e >>> 0 < b >>> 0) {
+             b = q[a + 80 >> 2];
+             d = q[a + 92 >> 2];
+             e = q[a + 88 >> 2] + w(e, 20) | 0;
+             break wc;
+            }
+            d = q[a + 92 >> 2];
+            b = q[a + 80 >> 2];
+            e = (d + w(b, 20) | 0) + -20 | 0;
+           }
+           f = w(b, 20) + d | 0;
+           d = f;
+           b = q[e + 4 >> 2];
+           q[d >> 2] = q[e >> 2];
+           q[d + 4 >> 2] = b;
+           q[d + 16 >> 2] = q[e + 16 >> 2];
+           b = q[e + 12 >> 2];
+           q[d + 8 >> 2] = q[e + 8 >> 2];
+           q[d + 12 >> 2] = b;
+           d = q[a + 80 >> 2];
+           b = q[a + 92 >> 2] + w(d, 20) | 0;
+           q[b >> 2] = 9676;
+           q[a + 80 >> 2] = d + 1;
+          }
+          p[b + 16 >> 1] = s[b + 16 >> 1] & 65407;
+          if (r[a + 69 | 0]) {
+           xc : {
+            if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+             b = q[a + 80 >> 2];
+             if ((b | 0) == q[a + 72 >> 2]) {
+              break xc;
+             }
+            }
+            if (!pG(a, 1, 1)) {
+             break bc;
+            }
+            d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+            b = q[d + 4 >> 2];
+            e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+            q[e >> 2] = q[d >> 2];
+            q[e + 4 >> 2] = b;
+            q[e + 16 >> 2] = q[d + 16 >> 2];
+            b = q[d + 12 >> 2];
+            q[e + 8 >> 2] = q[d + 8 >> 2];
+            q[e + 12 >> 2] = b;
+            b = q[a + 80 >> 2];
+           }
+           q[c >> 2] = b + 1;
+          }
+          q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+          break bc;
+         }
+         if (r[a + 69 | 0]) {
+          d = c;
+          yc : {
+           if ((g | 0) == q[a + 92 >> 2]) {
+            e = b;
+            if (q[c >> 2] == (b | 0)) {
+             break yc;
+            }
+           }
+           if (!pG(a, 1, 1)) {
+            break bc;
+           }
+           e = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+           b = q[e + 4 >> 2];
+           f = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+           q[f >> 2] = q[e >> 2];
+           q[f + 4 >> 2] = b;
+           q[f + 16 >> 2] = q[e + 16 >> 2];
+           b = q[e + 12 >> 2];
+           q[f + 8 >> 2] = q[e + 8 >> 2];
+           q[f + 12 >> 2] = b;
+           b = q[a + 72 >> 2];
+           e = q[a + 80 >> 2];
+          }
+          q[d >> 2] = e + 1;
+         }
+         q[a + 72 >> 2] = b + 1;
+         break bc;
+        }
+        if (r[a + 69 | 0]) {
+         d = c;
+         zc : {
+          if ((g | 0) == q[a + 92 >> 2]) {
+           e = b;
+           if (q[c >> 2] == (b | 0)) {
+            break zc;
+           }
+          }
+          if (!pG(a, 1, 1)) {
+           break bc;
+          }
+          e = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+          b = q[e + 4 >> 2];
+          f = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+          q[f >> 2] = q[e >> 2];
+          q[f + 4 >> 2] = b;
+          q[f + 16 >> 2] = q[e + 16 >> 2];
+          b = q[e + 12 >> 2];
+          q[f + 8 >> 2] = q[e + 8 >> 2];
+          q[f + 12 >> 2] = b;
+          b = q[a + 72 >> 2];
+          e = q[a + 80 >> 2];
+         }
+         q[d >> 2] = e + 1;
+        }
+        q[a + 72 >> 2] = b + 1;
+        break bc;
+       }
+       if (r[a + 69 | 0]) {
+        d = c;
+        Ac : {
+         if ((g | 0) == q[a + 92 >> 2]) {
+          e = b;
+          if (q[c >> 2] == (b | 0)) {
+           break Ac;
+          }
+         }
+         if (!pG(a, 1, 1)) {
+          break bc;
+         }
+         e = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+         b = q[e + 4 >> 2];
+         f = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+         q[f >> 2] = q[e >> 2];
+         q[f + 4 >> 2] = b;
+         q[f + 16 >> 2] = q[e + 16 >> 2];
+         b = q[e + 12 >> 2];
+         q[f + 8 >> 2] = q[e + 8 >> 2];
+         q[f + 12 >> 2] = b;
+         b = q[a + 72 >> 2];
+         e = q[a + 80 >> 2];
+        }
+        q[d >> 2] = e + 1;
+       }
+       q[a + 72 >> 2] = b + 1;
+       break bc;
+      }
+      if (r[a + 69 | 0]) {
+       d = c;
+       Bc : {
+        if ((g | 0) == q[a + 92 >> 2]) {
+         e = b;
+         if (q[c >> 2] == (b | 0)) {
+          break Bc;
+         }
+        }
+        if (!pG(a, 1, 1)) {
+         break bc;
+        }
+        e = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+        b = q[e + 4 >> 2];
+        f = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+        q[f >> 2] = q[e >> 2];
+        q[f + 4 >> 2] = b;
+        q[f + 16 >> 2] = q[e + 16 >> 2];
+        b = q[e + 12 >> 2];
+        q[f + 8 >> 2] = q[e + 8 >> 2];
+        q[f + 12 >> 2] = b;
+        b = q[a + 72 >> 2];
+        e = q[a + 80 >> 2];
+       }
+       q[d >> 2] = e + 1;
+      }
+      q[a + 72 >> 2] = b + 1;
+      break bc;
+     }
+     if (r[a + 69 | 0]) {
+      d = c;
+      Cc : {
+       if ((g | 0) == q[a + 92 >> 2]) {
+        e = b;
+        if (q[c >> 2] == (b | 0)) {
+         break Cc;
+        }
+       }
+       if (!pG(a, 1, 1)) {
+        break bc;
+       }
+       e = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+       b = q[e + 4 >> 2];
+       f = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+       q[f >> 2] = q[e >> 2];
+       q[f + 4 >> 2] = b;
+       q[f + 16 >> 2] = q[e + 16 >> 2];
+       b = q[e + 12 >> 2];
+       q[f + 8 >> 2] = q[e + 8 >> 2];
+       q[f + 12 >> 2] = b;
+       b = q[a + 72 >> 2];
+       e = q[a + 80 >> 2];
+      }
+      q[d >> 2] = e + 1;
+     }
+     q[a + 72 >> 2] = b + 1;
+    }
+    b = q[a + 72 >> 2];
+    d = b + 1 | 0;
+    if (d >>> 0 < h >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  Dc : {
+   if (b >>> 0 >= h >>> 0) {
+    break Dc;
+   }
+   if (r[a + 69 | 0]) {
+    d = a;
+    Ec : {
+     if (q[a + 92 >> 2] == q[a + 88 >> 2]) {
+      c = b;
+      if (q[a + 80 >> 2] == (b | 0)) {
+       break Ec;
+      }
+     }
+     if (!pG(a, 1, 1)) {
+      break Dc;
+     }
+     c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+     b = q[c + 4 >> 2];
+     e = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+     q[e >> 2] = q[c >> 2];
+     q[e + 4 >> 2] = b;
+     q[e + 16 >> 2] = q[c + 16 >> 2];
+     b = q[c + 12 >> 2];
+     q[e + 8 >> 2] = q[c + 8 >> 2];
+     q[e + 12 >> 2] = b;
+     b = q[a + 72 >> 2];
+     c = q[a + 80 >> 2];
+    }
+    q[d + 80 >> 2] = c + 1;
+   }
+   q[a + 72 >> 2] = b + 1;
+  }
+  uG(a);
+ }
+}
+function gp(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, u = 0, v = 0, x = 0, y = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ba = 0, ca = 0, da = 0, ea = 0, fa = 0, ga = 0, ha = 0, ia = 0, ja = 0, ka = 0, la = 0, ma = 0, na = 0;
+ f = Ca - 96 | 0;
+ Ca = f;
+ x = q[a + 28 >> 2];
+ q[f + 76 >> 2] = 0;
+ I = q[c >> 2];
+ C = Xg(a, 161968, f + 8 | 0);
+ q[f + 76 >> 2] = C;
+ a : {
+  if (C) {
+   break a;
+  }
+  C = 8;
+  if (q[f + 12 >> 2] == 2001684018) {
+   break a;
+  }
+  i = q[f + 16 >> 2];
+  if ((i | 0) != q[a + 4 >> 2]) {
+   break a;
+  }
+  g = s[f + 20 >> 1];
+  if (!g | w(g, 20) + 48 >>> 0 >= i >>> 0) {
+   break a;
+  }
+  n = q[f + 36 >> 2];
+  e = q[f + 32 >> 2];
+  b : {
+   if (!e) {
+    if (q[f + 40 >> 2] | n) {
+     break a;
+    }
+    n = 0;
+    if (i >>> 0 > e >>> 0) {
+     break b;
+    }
+    break a;
+   }
+   if (n) {
+    if (i >>> 0 <= e >>> 0) {
+     break a;
+    }
+    if (q[f + 40 >> 2]) {
+     break b;
+    }
+    break a;
+   }
+   n = 0;
+   if (i >>> 0 <= e >>> 0) {
+    break a;
+   }
+  }
+  if (i - e >>> 0 < n >>> 0) {
+   break a;
+  }
+  e = q[f + 44 >> 2];
+  c : {
+   if (!e) {
+    if (!q[f + 48 >> 2]) {
+     break c;
+    }
+    break a;
+   }
+   if (i - e >>> 0 < t[f + 48 >> 2] | i >>> 0 <= e >>> 0) {
+    break a;
+   }
+  }
+  q[f + 72 >> 2] = 0;
+  ha = Te(x, 32, 0, g, 0, f + 76 | 0);
+  d : {
+   if (q[f + 76 >> 2]) {
+    C = 0;
+    break d;
+   }
+   R = Te(x, 4, 0, s[f + 20 >> 1], 0, f + 76 | 0);
+   e : {
+    f : {
+     if (q[f + 76 >> 2]) {
+      break f;
+     }
+     C = 0;
+     g : {
+      if (s[f + 20 >> 1]) {
+       while (1) {
+        m = ha + (k << 5) | 0;
+        G = Tg(a, f + 76 | 0);
+        o[m | 0] = G;
+        if (q[f + 76 >> 2]) {
+         break f;
+        }
+        e = G & 63;
+        h : {
+         if ((e | 0) == 63) {
+          i = Eg(a, f + 76 | 0);
+          q[m + 4 >> 2] = i;
+          if (q[f + 76 >> 2]) {
+           break g;
+          }
+          G = r[m | 0];
+          break h;
+         }
+         i = q[(e << 2) + 162032 >> 2];
+         q[m + 4 >> 2] = i;
+        }
+        h = (G & 192) >>> 6 | 0;
+        e = ((i | 0) != 1735162214 ? (i | 0) != 1819239265 : 0) ? ((h | 0) != 0) << 8 : !h << 8;
+        n = m + 8 | 0;
+        g = Wp(a, n);
+        q[f + 76 >> 2] = g;
+        if (g) {
+         break g;
+        }
+        G = q[n >> 2];
+        q[m + 12 >> 2] = G;
+        i : {
+         j : {
+          if (e) {
+           n = m + 12 | 0;
+           g = Wp(a, n);
+           q[f + 76 >> 2] = g;
+           if (g) {
+            break g;
+           }
+           g = q[n >> 2];
+           if (q[m + 4 >> 2] == 1819239265) {
+            break j;
+           }
+           G = g;
+          }
+          if (G >>> 0 <= (j ^ -1) >>> 0) {
+           break i;
+          }
+          q[f + 76 >> 2] = 8;
+          break f;
+         }
+         G = 0;
+         if (!g) {
+          break i;
+         }
+         q[f + 76 >> 2] = 8;
+         break f;
+        }
+        q[m + 24 >> 2] = G;
+        q[m + 20 >> 2] = j;
+        q[m + 16 >> 2] = e | h;
+        q[(k << 2) + R >> 2] = m;
+        j = j + G | 0;
+        k = k + 1 | 0;
+        C = s[f + 20 >> 1];
+        if (k >>> 0 < C >>> 0) {
+         continue;
+        }
+        break;
+       }
+      }
+      e = q[((C << 2) + R | 0) + -4 >> 2];
+      g = q[e + 24 >> 2];
+      e = g + q[e + 20 >> 2] | 0;
+      q[f + 52 >> 2] = e;
+      if (e >>> 0 < g >>> 0) {
+       q[f + 76 >> 2] = 8;
+       break f;
+      }
+      q[f + 60 >> 2] = 0;
+      p[f + 64 >> 1] = 1;
+      k : {
+       if (q[f + 12 >> 2] == 1953784678) {
+        e = Eg(a, f + 76 | 0);
+        q[f + 60 >> 2] = e;
+        if (q[f + 76 >> 2]) {
+         break f;
+        }
+        if (!((e | 0) == 65536 | (e | 0) == 131072)) {
+         q[f + 76 >> 2] = 8;
+         break f;
+        }
+        e = Xp(a, f - -64 | 0);
+        q[f + 76 >> 2] = e;
+        if (e) {
+         break g;
+        }
+        e = s[f + 64 >> 1];
+        if (!e) {
+         q[f + 76 >> 2] = 8;
+         break f;
+        }
+        j = Te(x, 12, 0, e, 0, f + 76 | 0);
+        q[f + 72 >> 2] = j;
+        if (q[f + 76 >> 2]) {
+         break f;
+        }
+        if (!s[f + 64 >> 1]) {
+         break k;
+        }
+        g = j + 4 | 0;
+        e = Xp(a, g);
+        q[f + 76 >> 2] = e;
+        if (e) {
+         break f;
+        }
+        while (1) {
+         e = w(F, 12) + j | 0;
+         ma = e, na = Eg(a, f + 76 | 0), q[ma >> 2] = na;
+         if (q[f + 76 >> 2]) {
+          break g;
+         }
+         ma = e, na = Te(x, 2, 0, s[g >> 1], 0, f + 76 | 0), q[ma + 8 >> 2] = na;
+         if (q[f + 76 >> 2]) {
+          break f;
+         }
+         k = 0;
+         l : {
+          if (!s[g >> 1]) {
+           G = 0;
+           break l;
+          }
+          n = e + 8 | 0;
+          G = 0;
+          while (1) {
+           e = Xp(a, f + 92 | 0);
+           q[f + 76 >> 2] = e;
+           if (e) {
+            break g;
+           }
+           i = s[f + 92 >> 1];
+           if (i >>> 0 >= s[f + 20 >> 1]) {
+            q[f + 76 >> 2] = 8;
+            H = 0;
+            break f;
+           }
+           p[q[n >> 2] + (H << 1) >> 1] = i;
+           e = q[q[(i << 2) + R >> 2] + 4 >> 2];
+           G = (e | 0) == 1735162214 ? i : G;
+           k = (e | 0) == 1819239265 ? i : k;
+           H = H + 1 | 0;
+           if (H >>> 0 < s[g >> 1]) {
+            continue;
+           }
+           break;
+          }
+         }
+         if (!(!(k | G) | ((k - G | 0) == 1 ? k >>> 0 >= G >>> 0 : 0))) {
+          q[f + 76 >> 2] = 8;
+          H = 0;
+          break f;
+         }
+         F = F + 1 | 0;
+         if (F >>> 0 >= s[f + 64 >> 1]) {
+          break k;
+         }
+         j = q[f + 72 >> 2];
+         g = (j + w(F, 12) | 0) + 4 | 0;
+         e = Xp(a, g);
+         q[f + 76 >> 2] = e;
+         H = 0;
+         k = 0;
+         G = 0;
+         C = 0;
+         if (!e) {
+          continue;
+         }
+         break;
+        }
+        break d;
+       }
+       q[f + 72 >> 2] = 0;
+      }
+      e = q[a + 8 >> 2];
+      q[f + 56 >> 2] = e;
+      n = (e + q[f + 28 >> 2] | 0) + 3 | 0;
+      C = n & -4;
+      g = q[f + 16 >> 2];
+      if (C >>> 0 > g >>> 0) {
+       q[f + 76 >> 2] = 8;
+       H = 0;
+       break f;
+      }
+      e = q[f + 32 >> 2];
+      if (e) {
+       if ((e | 0) != (C | 0)) {
+        q[f + 76 >> 2] = 8;
+        H = 0;
+        break f;
+       }
+       C = q[f + 36 >> 2] + (n | 3) & -4;
+      }
+      e = q[f + 44 >> 2];
+      if (e) {
+       if ((e | 0) != (C | 0)) {
+        q[f + 76 >> 2] = 8;
+        H = 0;
+        break f;
+       }
+       C = q[f + 48 >> 2] + (C | 3) & -4;
+      }
+      if ((g + 3 & -4) != (C | 0)) {
+       q[f + 76 >> 2] = 8;
+       H = 0;
+       break f;
+      }
+      e = s[f + 64 >> 1];
+      q[d >> 2] = e;
+      m : {
+       d = I >> 31;
+       g = (d + I ^ d) & 65535;
+       d = q[c >> 2];
+       G = g + (d >> 31) | 0;
+       if ((G | 0) < (e | 0)) {
+        break m;
+       }
+       G = 0;
+       if ((d | 0) < 0) {
+        break m;
+       }
+       q[f + 76 >> 2] = 6;
+       H = 0;
+       break f;
+      }
+      n : {
+       if (!q[f + 60 >> 2]) {
+        C = s[f + 20 >> 1];
+        break n;
+       }
+       H = 0;
+       n = q[f + 72 >> 2];
+       d = n + w(G, 12) | 0;
+       i = Te(x, 4, 0, s[d + 4 >> 1], 0, f + 76 | 0);
+       if (q[f + 76 >> 2]) {
+        break f;
+       }
+       g = d + 4 | 0;
+       k = s[g >> 1];
+       if (k) {
+        e = k >>> 0 > 1 ? k : 1;
+        d = (n + w(G, 12) | 0) + 8 | 0;
+        C = 0;
+        while (1) {
+         q[i + (C << 2) >> 2] = q[(s[q[d >> 2] + (C << 1) >> 1] << 2) + R >> 2];
+         C = C + 1 | 0;
+         if ((e | 0) != (C | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       R = Te(x, 4, s[f + 20 >> 1], k, R, f + 76 | 0);
+       if (q[f + 76 >> 2]) {
+        break g;
+       }
+       d = s[g >> 1];
+       if (d) {
+        e = d >>> 0 > 1 ? d : 1;
+        C = 0;
+        while (1) {
+         d = C << 2;
+         q[d + R >> 2] = q[d + i >> 2];
+         C = C + 1 | 0;
+         if ((e | 0) != (C | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       Qe(x, i);
+       q[f + 12 >> 2] = q[n + w(G, 12) >> 2];
+       C = s[g >> 1];
+       p[f + 20 >> 1] = C;
+      }
+      d = x;
+      g = q[f + 24 >> 2];
+      n = (C & 65535) << 4 | 12;
+      if (g >>> 0 > n >>> 0) {
+       e = q[f + 16 >> 2];
+       e = g >>> 6 >>> 0 > e >>> 0 ? e << 6 : g;
+       n = e >>> 0 < 67108864 ? e : 67108864;
+      }
+      k = Oe(d, n, f + 76 | 0);
+      if (q[f + 76 >> 2]) {
+       H = 0;
+       break e;
+      }
+      G = Oe(x, 40, f + 76 | 0);
+      o : {
+       if (q[f + 76 >> 2]) {
+        break o;
+       }
+       M = q[f + 12 >> 2];
+       o[k | 0] = M >>> 24;
+       K = q[f + 12 >> 2];
+       o[k + 1 | 0] = K >>> 16;
+       A = q[f + 12 >> 2];
+       o[k + 2 | 0] = A >>> 8;
+       B = q[f + 12 >> 2];
+       o[k + 3 | 0] = B;
+       I = R;
+       e = s[f + 20 >> 1];
+       p : {
+        if (!e) {
+         g = r[k + 11 | 0];
+         m = r[k + 10 | 0];
+         d = r[k + 9 | 0];
+         aa = r[k + 8 | 0];
+         j = r[k + 7 | 0];
+         e = r[k + 6 | 0];
+         i = r[k + 5 | 0];
+         h = r[k + 4 | 0];
+         J = 0;
+         break p;
+        }
+        h = e >>> 8 | 0;
+        o[k + 4 | 0] = h;
+        i = r[f + 20 | 0];
+        d = 32 - z(e >>> 1 | 0) | 0;
+        o[k + 9 | 0] = d;
+        o[k + 5 | 0] = i;
+        o[k + 8 | 0] = d >>> 8;
+        j = 16 << d;
+        o[k + 7 | 0] = j;
+        g = (e << 4) - j | 0;
+        o[k + 11 | 0] = g;
+        e = j >>> 8 | 0;
+        o[k + 6 | 0] = e;
+        m = g >>> 8 | 0;
+        o[k + 10 | 0] = m;
+        J = s[f + 20 >> 1];
+       }
+       M_(I, J, 4, 313);
+       I = q[f + 52 >> 2];
+       if (!I) {
+        q[f + 76 >> 2] = 8;
+        break o;
+       }
+       if (I >>> 0 > n >>> 0) {
+        q[f + 76 >> 2] = 8;
+        break o;
+       }
+       H = 0;
+       C = Oe(x, I, f + 76 | 0);
+       if (q[f + 76 >> 2]) {
+        break d;
+       }
+       I = Kg(a, q[f + 28 >> 2]);
+       q[f + 76 >> 2] = I;
+       if (I) {
+        break d;
+       }
+       F = q[a + 32 >> 2];
+       I = q[f + 28 >> 2];
+       J = q[f + 52 >> 2];
+       q[f + 92 >> 2] = J;
+       I = Fn(I, F, f + 92 | 0, C);
+       q[f + 76 >> 2] = (I | 0) == 1 ? ((J | 0) != q[f + 92 >> 2]) << 3 : 8;
+       Ng(a);
+       if (q[f + 76 >> 2]) {
+        break d;
+       }
+       ia = q[f + 52 >> 2];
+       q[f + 80 >> 2] = 0;
+       q : {
+        V = s[f + 20 >> 1];
+        r : {
+         if (!V) {
+          break r;
+         }
+         s : {
+          while (1) {
+           O = q[(H << 2) + R >> 2];
+           if (q[O + 4 >> 2] == 1735162214) {
+            break s;
+           }
+           H = H + 1 | 0;
+           if ((V | 0) != (H | 0)) {
+            continue;
+           }
+           break;
+          }
+          O = 0;
+         }
+         H = 0;
+         t : {
+          u : {
+           while (1) {
+            W = q[(H << 2) + R >> 2];
+            if (q[W + 4 >> 2] != 1819239265) {
+             H = H + 1 | 0;
+             if ((V | 0) != (H | 0)) {
+              continue;
+             }
+             break u;
+            }
+            break;
+           }
+           if (!O ^ !W) {
+            break q;
+           }
+           if (O) {
+            break t;
+           }
+           O = 0;
+           break r;
+          }
+          if (O) {
+           break q;
+          }
+          O = 0;
+          W = 0;
+          break r;
+         }
+         if ((q[W + 16 >> 2] ^ q[O + 16 >> 2]) & 256) {
+          break q;
+         }
+        }
+        H = 0;
+        E = Te(x, 1, 0, 16, 0, f + 80 | 0);
+        v : {
+         if (q[f + 80 >> 2]) {
+          break v;
+         }
+         u = Oe(x, 40, f + 80 | 0);
+         if (q[f + 80 >> 2]) {
+          break v;
+         }
+         mf(u, C, ia);
+         w : {
+          x : {
+           if (!V) {
+            break x;
+           }
+           ea = ((j & 255 | ((i & 255) << 16 | h << 24 | (e & 255) << 8)) + (B & 255 | (A & 65280 | (K & 16711680 | M & -16777216))) | 0) + (g & 255 | ((d & 255) << 16 | aa << 24 | (m & 255) << 8)) | 0;
+           I = V << 4 | 12;
+           la = C + 8 | 0;
+           aa = 0;
+           fa = 12;
+           y : {
+            z : {
+             while (1) {
+              d = q[(aa << 2) + R >> 2];
+              e = q[d + 28 >> 2];
+              g = q[d + 16 >> 2];
+              ca = q[d + 8 >> 2];
+              X = q[d + 4 >> 2];
+              j = q[d + 24 >> 2];
+              i = q[d + 20 >> 2];
+              d = yg(u, i);
+              q[f + 80 >> 2] = d;
+              if (d | j + i >>> 0 > ia >>> 0) {
+               break w;
+              }
+              A : {
+               B : {
+                C : {
+                 D : {
+                  E : {
+                   F : {
+                    G : {
+                     H : {
+                      I : {
+                       J : {
+                        K : {
+                         L : {
+                          M : {
+                           N : {
+                            O : {
+                             P : {
+                              Q : {
+                               if ((X | 0) == 1751672161) {
+                                d = Ag(u, 34);
+                                q[f + 92 >> 2] = d;
+                                if (d) {
+                                 break x;
+                                }
+                                ga = Bg(u, f + 92 | 0);
+                                if (q[f + 92 >> 2]) {
+                                 break x;
+                                }
+                                if (!(g & 256)) {
+                                 break Q;
+                                }
+                                break x;
+                               }
+                               if (g & 256) {
+                                break P;
+                               }
+                               if ((X | 0) != 1751474532) {
+                                break Q;
+                               }
+                               if (j >>> 0 < 12) {
+                                break x;
+                               }
+                               d = i + la | 0;
+                               o[d | 0] = 0;
+                               o[d + 1 | 0] = 0;
+                               o[d + 2 | 0] = 0;
+                               o[d + 3 | 0] = 0;
+                              }
+                              e = i + C | 0;
+                              d = 0;
+                              i = 0;
+                              g = j & -4;
+                              if (g) {
+                               while (1) {
+                                i = (r[e + (d | 3) | 0] | (r[e + (d | 1) | 0] << 16 | r[d + e | 0] << 24 | r[e + (d | 2) | 0] << 8)) + i | 0;
+                                d = d + 4 | 0;
+                                if (d >>> 0 < g >>> 0) {
+                                 continue;
+                                }
+                                break;
+                               }
+                              }
+                              if ((g | 0) != (j | 0)) {
+                               d = 0;
+                               if (g >>> 0 < j >>> 0) {
+                                while (1) {
+                                 d = r[e + g | 0] << ((g << 3 ^ -1) & 24) | d;
+                                 g = g + 1 | 0;
+                                 if ((j | 0) != (g | 0)) {
+                                  continue;
+                                 }
+                                 break;
+                                }
+                               }
+                               i = d + i | 0;
+                              }
+                              q[f + 92 >> 2] = 0;
+                              d = j + I | 0;
+                              if (d >>> 0 > 31457280) {
+                               break x;
+                              }
+                              R : {
+                               if (d >>> 0 <= n >>> 0) {
+                                m = n;
+                                g = k;
+                                break R;
+                               }
+                               g = Te(x, 1, n, d, k, f + 92 | 0);
+                               m = d;
+                               if (q[f + 92 >> 2]) {
+                                break x;
+                               }
+                              }
+                              Y$(g + I | 0, e, j);
+                              if (q[f + 92 >> 2]) {
+                               break O;
+                              }
+                              n = m;
+                              k = g;
+                              break A;
+                             }
+                             if ((X | 0) == 1819239265) {
+                              d = I;
+                              i = T;
+                              I = e;
+                              break A;
+                             }
+                             if ((X | 0) == 1752003704) {
+                              break N;
+                             }
+                             if ((X | 0) != 1735162214) {
+                              break x;
+                             }
+                             j = 0;
+                             q[f + 84 >> 2] = 0;
+                             D = q[u + 8 >> 2];
+                             v = Te(x, 12, 0, 7, 0, f + 84 | 0);
+                             if (q[f + 84 >> 2]) {
+                              break D;
+                             }
+                             d = Ag(u, 4);
+                             q[f + 84 >> 2] = d;
+                             if (d) {
+                              break D;
+                             }
+                             J = Bg(u, f + 84 | 0);
+                             if (q[f + 84 >> 2]) {
+                              break D;
+                             }
+                             ja = Bg(u, f + 84 | 0);
+                             if (q[f + 84 >> 2]) {
+                              break D;
+                             }
+                             i = 0;
+                             e = J + 1 | 0;
+                             Z = w(e, ja ? 4 : 2);
+                             if ((Z | 0) != q[W + 8 >> 2] | t[O + 12 >> 2] < 36) {
+                              break G;
+                             }
+                             g = Eg(u, f + 84 | 0);
+                             if (q[f + 84 >> 2]) {
+                              break I;
+                             }
+                             if (g >>> 0 > q[O + 12 >> 2] + -36 >>> 0) {
+                              break G;
+                             }
+                             q[v + 8 >> 2] = g;
+                             d = D + 36 | 0;
+                             q[v + 4 >> 2] = d;
+                             q[v >> 2] = d;
+                             l = Eg(u, f + 84 | 0);
+                             if (q[f + 84 >> 2]) {
+                              break I;
+                             }
+                             g = g + 36 | 0;
+                             if (l >>> 0 > q[O + 12 >> 2] - g >>> 0) {
+                              break G;
+                             }
+                             q[v + 20 >> 2] = l;
+                             d = g + D | 0;
+                             q[v + 16 >> 2] = d;
+                             q[v + 12 >> 2] = d;
+                             h = Eg(u, f + 84 | 0);
+                             if (q[f + 84 >> 2]) {
+                              break I;
+                             }
+                             g = g + l | 0;
+                             if (h >>> 0 > q[O + 12 >> 2] - g >>> 0) {
+                              break G;
+                             }
+                             q[v + 32 >> 2] = h;
+                             d = g + D | 0;
+                             q[v + 28 >> 2] = d;
+                             q[v + 24 >> 2] = d;
+                             l = Eg(u, f + 84 | 0);
+                             if (q[f + 84 >> 2]) {
+                              break I;
+                             }
+                             g = g + h | 0;
+                             if (l >>> 0 > q[O + 12 >> 2] - g >>> 0) {
+                              break G;
+                             }
+                             q[v + 44 >> 2] = l;
+                             d = g + D | 0;
+                             q[v + 40 >> 2] = d;
+                             q[v + 36 >> 2] = d;
+                             h = Eg(u, f + 84 | 0);
+                             if (q[f + 84 >> 2]) {
+                              break I;
+                             }
+                             g = g + l | 0;
+                             if (h >>> 0 > q[O + 12 >> 2] - g >>> 0) {
+                              break G;
+                             }
+                             q[v + 56 >> 2] = h;
+                             d = g + D | 0;
+                             q[v + 52 >> 2] = d;
+                             q[v + 48 >> 2] = d;
+                             l = Eg(u, f + 84 | 0);
+                             if (q[f + 84 >> 2]) {
+                              break I;
+                             }
+                             h = g + h | 0;
+                             if (l >>> 0 > q[O + 12 >> 2] - h >>> 0) {
+                              break G;
+                             }
+                             q[v + 68 >> 2] = l;
+                             d = h + D | 0;
+                             q[v + 64 >> 2] = d;
+                             q[v + 60 >> 2] = d;
+                             g = Eg(u, f + 84 | 0);
+                             if (q[f + 84 >> 2]) {
+                              break I;
+                             }
+                             d = h + l | 0;
+                             if (g >>> 0 > q[O + 12 >> 2] - d >>> 0) {
+                              break G;
+                             }
+                             q[v + 80 >> 2] = g;
+                             d = d + D | 0;
+                             q[v + 76 >> 2] = d;
+                             q[v + 72 >> 2] = d;
+                             j = Te(x, 4, 0, e, 0, f + 84 | 0);
+                             if (q[f + 84 >> 2]) {
+                              break I;
+                             }
+                             ka = q[v + 64 >> 2];
+                             q[v + 64 >> 2] = ka + (J + 31 >>> 3 & 16380);
+                             F = 0;
+                             m = Te(x, 1, 0, 5120, 0, f + 84 | 0);
+                             if (q[f + 84 >> 2]) {
+                              break H;
+                             }
+                             H = Te(x, 2, 0, J, 0, f + 84 | 0);
+                             if (q[f + 84 >> 2]) {
+                              break H;
+                             }
+                             l = 5120;
+                             _ = 0;
+                             d = I;
+                             g = 0;
+                             if (J) {
+                              while (1) {
+                               e = yg(u, (_ >>> 3 | 0) + ka | 0);
+                               q[f + 84 >> 2] = e;
+                               if (e) {
+                                break J;
+                               }
+                               g = Tg(u, f + 84 | 0);
+                               if (q[f + 84 >> 2]) {
+                                break J;
+                               }
+                               e = yg(u, q[v + 4 >> 2]);
+                               q[f + 84 >> 2] = e;
+                               if (e) {
+                                break J;
+                               }
+                               Y = Bg(u, f + 84 | 0);
+                               if (q[f + 84 >> 2]) {
+                                break J;
+                               }
+                               $ = g & 128 >>> (_ & 7);
+                               q[v + 4 >> 2] = q[v + 4 >> 2] + 2;
+                               S : {
+                                T : {
+                                 U : {
+                                  V : {
+                                   if (Y) {
+                                    if ((Y | 0) == 65535) {
+                                     p[f + 88 >> 1] = 0;
+                                     if (!$) {
+                                      break T;
+                                     }
+                                     B = q[v + 52 >> 2];
+                                     e = yg(u, B);
+                                     q[f + 92 >> 2] = e;
+                                     if (e) {
+                                      break T;
+                                     }
+                                     e = 32;
+                                     D = 0;
+                                     while (1) {
+                                      if (e & 32) {
+                                       e = Bg(u, f + 92 | 0);
+                                       if (q[f + 92 >> 2]) {
+                                        break T;
+                                       }
+                                       D = e >>> 8 & 1 | D;
+                                       h = f;
+                                       g = u;
+                                       A = e & 1 ? 6 : 4;
+                                       y = A + 2 | 0;
+                                       W : {
+                                        if (e & 8) {
+                                         break W;
+                                        }
+                                        y = A + 4 | 0;
+                                        if (e & 64) {
+                                         break W;
+                                        }
+                                        y = A | e >>> 4 & 8;
+                                       }
+                                       g = Ag(g, y);
+                                       q[h + 92 >> 2] = g;
+                                       if (!g) {
+                                        continue;
+                                       }
+                                       break T;
+                                      }
+                                      break;
+                                     }
+                                     if (q[f + 92 >> 2]) {
+                                      break T;
+                                     }
+                                     h = q[u + 8 >> 2];
+                                     y = l;
+                                     g = D & 255;
+                                     e = 0;
+                                     X : {
+                                      if (!g) {
+                                       break X;
+                                      }
+                                      e = yg(u, q[v + 40 >> 2]);
+                                      q[f + 84 >> 2] = e;
+                                      if (e) {
+                                       break T;
+                                      }
+                                      e = Xp(u, f + 88 | 0);
+                                      q[f + 84 >> 2] = e;
+                                      if (e) {
+                                       break T;
+                                      }
+                                      q[v + 40 >> 2] = q[u + 8 >> 2];
+                                      e = s[f + 88 >> 1];
+                                     }
+                                     B = h - B | 0;
+                                     h = B + 12 | 0;
+                                     D = (e & 65535) + h | 0;
+                                     Y : {
+                                      if (y >>> 0 >= D >>> 0) {
+                                       D = l;
+                                       break Y;
+                                      }
+                                      m = Te(x, 1, l, D, m, f + 84 | 0);
+                                      if (q[f + 84 >> 2]) {
+                                       break T;
+                                      }
+                                     }
+                                     o[m | 0] = 65535;
+                                     o[m + 1 | 0] = 255;
+                                     e = yg(u, q[v + 64 >> 2]);
+                                     q[f + 84 >> 2] = e;
+                                     if (e) {
+                                      break T;
+                                     }
+                                     N = Bg(u, f + 84 | 0);
+                                     if (q[f + 84 >> 2]) {
+                                      break T;
+                                     }
+                                     e = yg(u, q[v + 64 >> 2]);
+                                     q[f + 84 >> 2] = e;
+                                     if (e) {
+                                      break T;
+                                     }
+                                     e = zg(u, m + 2 | 0, 8);
+                                     q[f + 84 >> 2] = e;
+                                     if (e) {
+                                      break T;
+                                     }
+                                     q[v + 64 >> 2] = q[v + 64 >> 2] + 8;
+                                     e = yg(u, q[v + 52 >> 2]);
+                                     q[f + 84 >> 2] = e;
+                                     if (e) {
+                                      break T;
+                                     }
+                                     e = zg(u, m + 10 | 0, B);
+                                     q[f + 84 >> 2] = e;
+                                     if (e) {
+                                      break T;
+                                     }
+                                     q[v + 52 >> 2] = B + q[v + 52 >> 2];
+                                     e = B + 10 | 0;
+                                     if (g) {
+                                      g = e + m | 0;
+                                      e = s[f + 88 >> 1];
+                                      e = (e << 24 | e << 8 & 16711680) >>> 16 | 0;
+                                      o[g | 0] = e;
+                                      o[g + 1 | 0] = e >>> 8;
+                                      e = yg(u, q[v + 76 >> 2]);
+                                      q[f + 84 >> 2] = e;
+                                      if (e) {
+                                       break T;
+                                      }
+                                      g = s[f + 88 >> 1];
+                                      e = zg(u, h + m | 0, g);
+                                      q[f + 84 >> 2] = e;
+                                      if (e) {
+                                       break T;
+                                      }
+                                      q[v + 76 >> 2] = g + q[v + 76 >> 2];
+                                      e = g + h | 0;
+                                     }
+                                     l = D;
+                                     break U;
+                                    }
+                                    e = 0;
+                                    D = Te(x, 2, 0, Y, 0, f + 84 | 0);
+                                    if (q[f + 84 >> 2]) {
+                                     break F;
+                                    }
+                                    h = yg(u, q[v + 16 >> 2]);
+                                    q[f + 84 >> 2] = h;
+                                    g = 0;
+                                    y = 0;
+                                    if (h) {
+                                     break F;
+                                    }
+                                    while (1) {
+                                     h = Xp(u, f + 92 | 0);
+                                     q[f + 84 >> 2] = h;
+                                     if (h) {
+                                      break F;
+                                     }
+                                     h = s[f + 92 >> 1];
+                                     p[(g << 1) + D >> 1] = h;
+                                     P = h + y | 0;
+                                     if (P >>> 0 < y >>> 0) {
+                                      break F;
+                                     }
+                                     y = P;
+                                     g = g + 1 | 0;
+                                     if ((Y | 0) != (g | 0)) {
+                                      continue;
+                                     }
+                                     break;
+                                    }
+                                    q[v + 16 >> 2] = q[u + 8 >> 2];
+                                    if (P >>> 0 > t[v + 32 >> 2]) {
+                                     break F;
+                                    }
+                                    A = q[v + 44 >> 2];
+                                    B = q[v + 40 >> 2];
+                                    h = B - q[v + 36 >> 2] | 0;
+                                    if (A >>> 0 < h >>> 0) {
+                                     break F;
+                                    }
+                                    K = q[u >> 2];
+                                    e = q[v + 28 >> 2];
+                                    g = Te(x, 12, 0, P, 0, f + 84 | 0);
+                                    if (q[f + 84 >> 2]) {
+                                     e = g;
+                                     break F;
+                                    }
+                                    ba = A - h | 0;
+                                    if (P >>> 0 > ba >>> 0) {
+                                     e = g;
+                                     break F;
+                                    }
+                                    U = 0;
+                                    Z : {
+                                     if (!P) {
+                                      B = 0;
+                                      break Z;
+                                     }
+                                     Q = B + K | 0;
+                                     da = e + K | 0;
+                                     N = 0;
+                                     K = 0;
+                                     h = 0;
+                                     while (1) {
+                                      L = r[U + da | 0];
+                                      A = L & 127;
+                                      e = 1;
+                                      _ : {
+                                       if (A >>> 0 < 84) {
+                                        break _;
+                                       }
+                                       e = 2;
+                                       if (A >>> 0 < 120) {
+                                        break _;
+                                       }
+                                       e = A >>> 0 < 124 ? 3 : 4;
+                                      }
+                                      B = e + N | 0;
+                                      if (B >>> 0 > ba >>> 0) {
+                                       e = g;
+                                       break F;
+                                      }
+                                      if (B >>> 0 < e >>> 0) {
+                                       e = g;
+                                       break F;
+                                      }
+                                      $ : {
+                                       if (A >>> 0 <= 9) {
+                                        M = 0;
+                                        e = r[N + Q | 0] | A << 7 & 1792;
+                                        e = L & 1 ? e : 0 - e | 0;
+                                        break $;
+                                       }
+                                       if (A >>> 0 <= 19) {
+                                        e = r[N + Q | 0] | (A << 7) + 768 & 1792;
+                                        M = L & 1 ? e : 0 - e | 0;
+                                        e = 0;
+                                        break $;
+                                       }
+                                       if (A >>> 0 <= 83) {
+                                        y = A + -20 | 0;
+                                        A = r[N + Q | 0];
+                                        e = (y & 48 | 1) + (A >>> 4 | 0) | 0;
+                                        M = L & 1 ? e : 0 - e | 0;
+                                        e = (A & 15) + (y << 2 & 48 | 1) | 0;
+                                        e = L & 2 ? e : 0 - e | 0;
+                                        break $;
+                                       }
+                                       if (A >>> 0 <= 119) {
+                                        S = N + Q | 0;
+                                        y = A + -84 | 0;
+                                        A = (y | 0) / 12 | 0;
+                                        e = r[S | 0] + (A << 8 | 1) | 0;
+                                        M = L & 1 ? e : 0 - e | 0;
+                                        e = r[S + 1 | 0] + (y - w(A, 12) << 6 & -256 | 1) | 0;
+                                        e = L & 2 ? e : 0 - e | 0;
+                                        break $;
+                                       }
+                                       if (A >>> 0 <= 123) {
+                                        y = N + Q | 0;
+                                        A = r[y + 1 | 0];
+                                        e = r[y | 0] << 4 | A >>> 4;
+                                        M = L & 1 ? e : 0 - e | 0;
+                                        e = r[y + 2 | 0] | A << 8 & 3840;
+                                        e = L & 2 ? e : 0 - e | 0;
+                                        break $;
+                                       }
+                                       A = N + Q | 0;
+                                       e = r[A | 0] << 8 | r[A + 1 | 0];
+                                       M = L & 1 ? e : 0 - e | 0;
+                                       e = r[A + 3 | 0] | r[A + 2 | 0] << 8;
+                                       e = L & 2 ? e : 0 - e | 0;
+                                      }
+                                      if (!((h | 0) < 1 | (2147483647 - h | 0) >= (M | 0))) {
+                                       e = g;
+                                       break F;
+                                      }
+                                      if (!((-2147483648 - h | 0) <= (M | 0) | (h | 0) > -1)) {
+                                       e = g;
+                                       break F;
+                                      }
+                                      if (!((K | 0) < 1 | (2147483647 - K | 0) >= (e | 0))) {
+                                       e = g;
+                                       break F;
+                                      }
+                                      if (!((-2147483648 - K | 0) <= (e | 0) | (K | 0) > -1)) {
+                                       e = g;
+                                       break F;
+                                      }
+                                      A = g + w(U, 12) | 0;
+                                      o[A + 8 | 0] = ((L ^ -1) & 128) >>> 7;
+                                      K = e + K | 0;
+                                      q[A + 4 >> 2] = K;
+                                      h = h + M | 0;
+                                      q[A >> 2] = h;
+                                      N = B;
+                                      U = U + 1 | 0;
+                                      if ((P | 0) != (U | 0)) {
+                                       continue;
+                                      }
+                                      break;
+                                     }
+                                    }
+                                    q[v + 28 >> 2] = P + q[v + 28 >> 2];
+                                    e = q[v + 40 >> 2] + B | 0;
+                                    q[v + 40 >> 2] = e;
+                                    e = yg(u, e);
+                                    q[f + 84 >> 2] = e;
+                                    if (e) {
+                                     e = g;
+                                     break F;
+                                    }
+                                    e = Xp(u, f + 88 | 0);
+                                    q[f + 84 >> 2] = e;
+                                    if (e) {
+                                     e = g;
+                                     break F;
+                                    }
+                                    q[v + 40 >> 2] = q[u + 8 >> 2];
+                                    if (P >>> 0 > 134217727) {
+                                     e = g;
+                                     break F;
+                                    }
+                                    B = Y << 1;
+                                    A = B + 12 | 0;
+                                    M = s[f + 88 >> 1] + (A + w(P, 5) | 0) | 0;
+                                    if (l >>> 0 >= M >>> 0) {
+                                     M = l;
+                                     break V;
+                                    }
+                                    m = Te(x, 1, l, M, m, f + 84 | 0);
+                                    if (!q[f + 84 >> 2]) {
+                                     break V;
+                                    }
+                                    e = g;
+                                    break F;
+                                   }
+                                   e = 0;
+                                   if (!$) {
+                                    N = 0;
+                                    break U;
+                                   }
+                                   D = 0;
+                                   break F;
+                                  }
+                                  e = (Y << 24 | Y << 8) >>> 16 | 0;
+                                  o[m | 0] = e;
+                                  o[m + 1 | 0] = e >>> 8;
+                                  aa : {
+                                   if ($) {
+                                    e = yg(u, q[v + 64 >> 2]);
+                                    q[f + 84 >> 2] = e;
+                                    if (e) {
+                                     e = g;
+                                     break F;
+                                    }
+                                    N = Bg(u, f + 84 | 0);
+                                    if (q[f + 84 >> 2]) {
+                                     e = g;
+                                     break F;
+                                    }
+                                    e = yg(u, q[v + 64 >> 2]);
+                                    q[f + 84 >> 2] = e;
+                                    if (e) {
+                                     e = g;
+                                     break F;
+                                    }
+                                    e = zg(u, m + 2 | 0, 8);
+                                    q[f + 84 >> 2] = e;
+                                    if (e) {
+                                     e = g;
+                                     break F;
+                                    }
+                                    q[v + 64 >> 2] = q[v + 64 >> 2] + 8;
+                                    break aa;
+                                   }
+                                   ba : {
+                                    if (!P) {
+                                     e = 0;
+                                     y = 0;
+                                     l = 0;
+                                     N = 0;
+                                     break ba;
+                                    }
+                                    L = 1;
+                                    N = q[g >> 2];
+                                    y = N;
+                                    l = q[g + 4 >> 2];
+                                    e = l;
+                                    if ((P | 0) == 1) {
+                                     break ba;
+                                    }
+                                    while (1) {
+                                     h = g + w(L, 12) | 0;
+                                     K = q[h + 4 >> 2];
+                                     e = (K | 0) > (e | 0) ? K : e;
+                                     h = q[h >> 2];
+                                     y = (h | 0) > (y | 0) ? h : y;
+                                     l = (K | 0) < (l | 0) ? K : l;
+                                     N = (h | 0) < (N | 0) ? h : N;
+                                     L = L + 1 | 0;
+                                     if ((P | 0) != (L | 0)) {
+                                      continue;
+                                     }
+                                     break;
+                                    }
+                                   }
+                                   o[m + 9 | 0] = e;
+                                   o[m + 7 | 0] = y;
+                                   o[m + 5 | 0] = l;
+                                   o[m + 3 | 0] = N;
+                                   o[m + 8 | 0] = e >>> 8;
+                                   o[m + 6 | 0] = y >>> 8;
+                                   o[m + 4 | 0] = l >>> 8;
+                                   o[m + 2 | 0] = N >>> 8;
+                                  }
+                                  y = m + 10 | 0;
+                                  B = B + y | 0;
+                                  e = -1;
+                                  l = 0;
+                                  while (1) {
+                                   e = s[(l << 1) + D >> 1] + e | 0;
+                                   if ((e | 0) > 65535) {
+                                    e = g;
+                                    break F;
+                                   }
+                                   h = (e << 8 & 16711680 | e << 24) >>> 16 | 0;
+                                   o[y | 0] = h;
+                                   o[y + 1 | 0] = h >>> 8;
+                                   y = y + 2 | 0;
+                                   l = l + 1 | 0;
+                                   if ((Y | 0) != (l | 0)) {
+                                    continue;
+                                   }
+                                   break;
+                                  }
+                                  e = s[f + 88 >> 1];
+                                  e = (e << 24 | e << 8 & 16711680) >>> 16 | 0;
+                                  o[B | 0] = e;
+                                  o[B + 1 | 0] = e >>> 8;
+                                  e = yg(u, q[v + 76 >> 2]);
+                                  q[f + 84 >> 2] = e;
+                                  if (e) {
+                                   e = g;
+                                   break F;
+                                  }
+                                  h = s[f + 88 >> 1];
+                                  e = zg(u, m + A | 0, h);
+                                  q[f + 84 >> 2] = e;
+                                  if (e) {
+                                   e = g;
+                                   break F;
+                                  }
+                                  q[v + 76 >> 2] = h + q[v + 76 >> 2];
+                                  e = h + A | 0;
+                                  h = 0;
+                                  S = -1;
+                                  ca : {
+                                   da : {
+                                    if (P) {
+                                     y = e;
+                                     e = 0;
+                                     l = 0;
+                                     U = 0;
+                                     L = 0;
+                                     ea : {
+                                      fa : while (1) {
+                                       ba = m + y | 0;
+                                       da = ba + -1 | 0;
+                                       Q = 0;
+                                       K = U;
+                                       while (1) {
+                                        B = g + w(K, 12) | 0;
+                                        A = q[B + 4 >> 2];
+                                        $ = A - e | 0;
+                                        e = r[B + 8 | 0] != 0;
+                                        B = q[B >> 2];
+                                        h = B - h | 0;
+                                        ga : {
+                                         if (!h) {
+                                          e = e | 16;
+                                          break ga;
+                                         }
+                                         if (h + 255 >>> 0 <= 510) {
+                                          l = l + 1 | 0;
+                                          e = ((h | 0) > 0 ? 18 : 2) | e;
+                                          break ga;
+                                         }
+                                         l = l + 2 | 0;
+                                        }
+                                        ha : {
+                                         if (!$) {
+                                          e = e | 32;
+                                          break ha;
+                                         }
+                                         if ($ + 255 >>> 0 <= 510) {
+                                          L = L + 1 | 0;
+                                          e = (($ | 0) > 0 ? 36 : 4) | e;
+                                          break ha;
+                                         }
+                                         L = L + 2 | 0;
+                                        }
+                                        if (!((e | 0) == (S | 0) ? (Q | 0) != 255 : 0)) {
+                                         if (Q) {
+                                          if (y >>> 0 >= M >>> 0) {
+                                           e = g;
+                                           break F;
+                                          }
+                                          o[ba | 0] = Q;
+                                          y = y + 1 | 0;
+                                         }
+                                         if (y >>> 0 >= M >>> 0) {
+                                          e = g;
+                                          break F;
+                                         }
+                                         o[m + y | 0] = e;
+                                         y = y + 1 | 0;
+                                         S = e;
+                                         h = B;
+                                         e = A;
+                                         U = K + 1 | 0;
+                                         if ((P | 0) != (U | 0)) {
+                                          continue fa;
+                                         }
+                                         break ea;
+                                        }
+                                        o[da | 0] = r[da | 0] | 8;
+                                        Q = Q + 1 | 0;
+                                        h = B;
+                                        e = A;
+                                        K = K + 1 | 0;
+                                        if ((P | 0) != (K | 0)) {
+                                         continue;
+                                        }
+                                        break;
+                                       }
+                                       break;
+                                      }
+                                      if (y >>> 0 >= M >>> 0) {
+                                       e = g;
+                                       break F;
+                                      }
+                                      o[ba | 0] = P - U;
+                                      y = y + 1 | 0;
+                                     }
+                                     e = l + L | 0;
+                                     if (e >>> 0 < L >>> 0) {
+                                      e = g;
+                                      break F;
+                                     }
+                                     e = e + y | 0;
+                                     if (e >>> 0 < y >>> 0) {
+                                      e = g;
+                                      break F;
+                                     }
+                                     if (e >>> 0 <= M >>> 0) {
+                                      break da;
+                                     }
+                                     e = g;
+                                     break F;
+                                    }
+                                    if (e >>> 0 <= M >>> 0) {
+                                     break ca;
+                                    }
+                                    e = g;
+                                    break F;
+                                   }
+                                   e = l + y | 0;
+                                   K = 0;
+                                   h = 0;
+                                   Q = 0;
+                                   while (1) {
+                                    B = h;
+                                    l = K;
+                                    A = g + w(Q, 12) | 0;
+                                    h = q[A + 4 >> 2];
+                                    S = h - B | 0;
+                                    K = q[A >> 2];
+                                    l = K - l | 0;
+                                    ia : {
+                                     if (!l) {
+                                      break ia;
+                                     }
+                                     if (l + 255 >>> 0 <= 510) {
+                                      B = l;
+                                      l = l >> 31;
+                                      o[m + y | 0] = B + l ^ l;
+                                      y = y + 1 | 0;
+                                      break ia;
+                                     }
+                                     B = m + y | 0;
+                                     l = (l << 8 & 16711680 | l << 24) >>> 16 | 0;
+                                     o[B | 0] = l;
+                                     o[B + 1 | 0] = l >>> 8;
+                                     y = y + 2 | 0;
+                                    }
+                                    ja : {
+                                     if (!S) {
+                                      break ja;
+                                     }
+                                     if (S + 255 >>> 0 <= 510) {
+                                      l = S >> 31;
+                                      o[e + m | 0] = l + S ^ l;
+                                      e = e + 1 | 0;
+                                      break ja;
+                                     }
+                                     B = e + m | 0;
+                                     l = (S << 8 & 16711680 | S << 24) >>> 16 | 0;
+                                     o[B | 0] = l;
+                                     o[B + 1 | 0] = l >>> 8;
+                                     e = e + 2 | 0;
+                                    }
+                                    Q = Q + 1 | 0;
+                                    if ((P | 0) != (Q | 0)) {
+                                     continue;
+                                    }
+                                    break;
+                                   }
+                                  }
+                                  Qe(x, g);
+                                  Qe(x, D);
+                                  l = M;
+                                 }
+                                 q[(_ << 2) + j >> 2] = d - I;
+                                 q[f + 92 >> 2] = 0;
+                                 D = d + e | 0;
+                                 if (D >>> 0 > 31457280) {
+                                  break T;
+                                 }
+                                 if (D >>> 0 <= n >>> 0) {
+                                  g = n;
+                                  h = k;
+                                  break S;
+                                 }
+                                 h = Te(x, 1, n, D, k, f + 92 | 0);
+                                 g = D;
+                                 if (!q[f + 92 >> 2]) {
+                                  break S;
+                                 }
+                                }
+                                D = 0;
+                                break K;
+                               }
+                               Y$(d + h | 0, m, e);
+                               ka : {
+                                la : {
+                                 if (!q[f + 92 >> 2]) {
+                                  o[f + 90 | 0] = 0;
+                                  p[f + 88 >> 1] = 0;
+                                  d = D + 3 & -4;
+                                  B = d - D | 0;
+                                  if (!B) {
+                                   n = g;
+                                   k = h;
+                                   d = D;
+                                   break ka;
+                                  }
+                                  q[f + 92 >> 2] = 0;
+                                  if (d >>> 0 <= 31457280) {
+                                   if (d >>> 0 <= g >>> 0) {
+                                    n = g;
+                                    k = h;
+                                    break la;
+                                   }
+                                   k = Te(x, 1, g, d, h, f + 92 | 0);
+                                   n = d;
+                                   if (!q[f + 92 >> 2]) {
+                                    break la;
+                                   }
+                                  }
+                                  n = g;
+                                  break L;
+                                 }
+                                 n = g;
+                                 break L;
+                                }
+                                Y$(k + D | 0, f + 88 | 0, B);
+                                if (q[f + 92 >> 2]) {
+                                 break L;
+                                }
+                               }
+                               D = 0;
+                               h = 0;
+                               g = e & -4;
+                               if (g) {
+                                while (1) {
+                                 h = (r[(D | 3) + m | 0] | (r[(D | 1) + m | 0] << 16 | r[m + D | 0] << 24 | r[(D | 2) + m | 0] << 8)) + h | 0;
+                                 D = D + 4 | 0;
+                                 if (D >>> 0 < g >>> 0) {
+                                  continue;
+                                 }
+                                 break;
+                                }
+                               }
+                               if ((e | 0) != (g | 0)) {
+                                D = 0;
+                                if (g >>> 0 < e >>> 0) {
+                                 while (1) {
+                                  D = r[g + m | 0] << ((g << 3 ^ -1) & 24) | D;
+                                  g = g + 1 | 0;
+                                  if ((g | 0) != (e | 0)) {
+                                   continue;
+                                  }
+                                  break;
+                                 }
+                                }
+                                h = h + D | 0;
+                               }
+                               if (Y) {
+                                p[(_ << 1) + H >> 1] = N;
+                               }
+                               i = h + i | 0;
+                               _ = _ + 1 | 0;
+                               if ((J | 0) != (_ | 0)) {
+                                continue;
+                               }
+                               break;
+                              }
+                              g = i;
+                             }
+                             e = d - q[O + 28 >> 2] | 0;
+                             q[O + 8 >> 2] = e;
+                             q[W + 28 >> 2] = d;
+                             q[(J << 2) + j >> 2] = e;
+                             q[f + 88 >> 2] = 0;
+                             l = Te(x, 1, 0, Z, 0, f + 88 | 0);
+                             i = l;
+                             ma : {
+                              na : {
+                               if (q[f + 88 >> 2]) {
+                                break na;
+                               }
+                               while (1) {
+                                h = q[(F << 2) + j >> 2];
+                                e = i;
+                                oa : {
+                                 if (ja) {
+                                  o[i + 3 | 0] = h;
+                                  o[i + 2 | 0] = h >>> 8;
+                                  o[i | 0] = h >>> 24;
+                                  T = i + 4 | 0;
+                                  h = h >>> 16 | 0;
+                                  break oa;
+                                 }
+                                 o[i | 0] = h >>> 9;
+                                 T = i + 2 | 0;
+                                 h = h >>> 1 | 0;
+                                }
+                                o[e + 1 | 0] = h;
+                                e = (F | 0) != (J | 0);
+                                i = T;
+                                F = F + 1 | 0;
+                                if (e) {
+                                 continue;
+                                }
+                                break;
+                               }
+                               e = 0;
+                               i = 0;
+                               T = 0;
+                               h = 0;
+                               F = Z & 1048572;
+                               pa : {
+                                qa : {
+                                 if (F) {
+                                  while (1) {
+                                   T = (r[l + (i | 3) | 0] | (r[l + (i | 1) | 0] << 16 | r[i + l | 0] << 24 | r[l + (i | 2) | 0] << 8)) + T | 0;
+                                   i = i + 4 | 0;
+                                   if (i >>> 0 < F >>> 0) {
+                                    continue;
+                                   }
+                                   break;
+                                  }
+                                  if ((F | 0) == (Z | 0)) {
+                                   break pa;
+                                  }
+                                  h = T;
+                                  i = 0;
+                                  if (F >>> 0 >= Z >>> 0) {
+                                   break qa;
+                                  }
+                                 }
+                                 while (1) {
+                                  e = r[l + F | 0] << ((F << 3 ^ -1) & 24) | e;
+                                  F = F + 1 | 0;
+                                  if ((Z | 0) != (F | 0)) {
+                                   continue;
+                                  }
+                                  break;
+                                 }
+                                 T = h;
+                                 i = e;
+                                }
+                                T = i + T | 0;
+                               }
+                               q[f + 92 >> 2] = 0;
+                               h = d + Z | 0;
+                               ra : {
+                                if (h >>> 0 > 31457280) {
+                                 break ra;
+                                }
+                                sa : {
+                                 if (h >>> 0 <= n >>> 0) {
+                                  i = n;
+                                  e = k;
+                                  break sa;
+                                 }
+                                 e = Te(x, 1, n, h, k, f + 92 | 0);
+                                 i = h;
+                                 if (q[f + 92 >> 2]) {
+                                  break ra;
+                                 }
+                                }
+                                Y$(d + e | 0, l, Z);
+                                if (!q[f + 92 >> 2]) {
+                                 break ma;
+                                }
+                                n = i;
+                               }
+                               if (q[f + 88 >> 2]) {
+                                break na;
+                               }
+                               q[f + 88 >> 2] = 8;
+                              }
+                              i = n;
+                              Qe(x, l);
+                              break M;
+                             }
+                             Qe(x, l);
+                             k = e;
+                             d = h;
+                             break M;
+                            }
+                            n = m;
+                            k = g;
+                            break x;
+                           }
+                           ta : {
+                            if (D & 255) {
+                             break ta;
+                            }
+                            d = 0;
+                            q[f + 92 >> 2] = 0;
+                            ua : {
+                             while (1) {
+                              j = q[(d << 2) + R >> 2];
+                              if (q[j + 4 >> 2] == 1835104368) {
+                               break ua;
+                              }
+                              d = d + 1 | 0;
+                              if ((V | 0) != (d | 0)) {
+                               continue;
+                              }
+                              break;
+                             }
+                             j = 0;
+                            }
+                            d = 0;
+                            while (1) {
+                             e = q[(d << 2) + R >> 2];
+                             if (q[e + 4 >> 2] != 1751474532) {
+                              d = d + 1 | 0;
+                              if ((V | 0) != (d | 0)) {
+                               continue;
+                              }
+                              break x;
+                             }
+                             break;
+                            }
+                            if (!j | !e) {
+                             break x;
+                            }
+                            d = yg(u, q[j + 20 >> 2]);
+                            q[f + 92 >> 2] = d;
+                            if (d) {
+                             d = Ag(u, 8);
+                             q[f + 92 >> 2] = d;
+                             if (d) {
+                              break x;
+                             }
+                            }
+                            l = Bg(u, f + 92 | 0);
+                            if (q[f + 92 >> 2]) {
+                             break x;
+                            }
+                            d = yg(u, q[e + 20 >> 2]);
+                            q[f + 92 >> 2] = d;
+                            if (d) {
+                             d = Ag(u, 50);
+                             q[f + 92 >> 2] = d;
+                             if (d) {
+                              break x;
+                             }
+                            }
+                            h = Bg(u, f + 92 | 0);
+                            if (q[f + 92 >> 2]) {
+                             break x;
+                            }
+                            H = Te(x, 2, 0, l, 0, f + 92 | 0);
+                            if (q[f + 92 >> 2]) {
+                             break x;
+                            }
+                            if (!l) {
+                             break ta;
+                            }
+                            i = h ? 4 : 2;
+                            d = q[W + 20 >> 2];
+                            j = 0;
+                            while (1) {
+                             e = yg(u, d);
+                             q[f + 92 >> 2] = e;
+                             if (e) {
+                              break x;
+                             }
+                             va : {
+                              if (h) {
+                               g = Eg(u, f + 92 | 0);
+                               if (!q[f + 92 >> 2]) {
+                                break va;
+                               }
+                               break x;
+                              }
+                              e = Bg(u, f + 92 | 0);
+                              if (q[f + 92 >> 2]) {
+                               break x;
+                              }
+                              g = e << 1;
+                             }
+                             e = yg(u, q[O + 20 >> 2] + g | 0);
+                             q[f + 92 >> 2] = e;
+                             if (e) {
+                              e = Ag(u, 2);
+                              q[f + 92 >> 2] = e;
+                              if (e) {
+                               break x;
+                              }
+                             }
+                             ma = (j << 1) + H | 0, na = Bg(u, f + 92 | 0), p[ma >> 1] = na;
+                             if (q[f + 92 >> 2]) {
+                              break x;
+                             }
+                             d = d + i | 0;
+                             j = j + 1 | 0;
+                             if ((l | 0) != (j | 0)) {
+                              continue;
+                             }
+                             break;
+                            }
+                           }
+                           e = 0;
+                           q[f + 88 >> 2] = 0;
+                           wa : {
+                            xa : {
+                             d = Tg(u, f + 88 | 0);
+                             if ((d & 255) >>> 0 > 3 | q[f + 88 >> 2] | !d) {
+                              break xa;
+                             }
+                             J = l & 65535;
+                             if ((ga + -1 & 65535) >>> 0 >= J >>> 0) {
+                              break xa;
+                             }
+                             m = 0;
+                             i = ga & 65535;
+                             e = Te(x, 2, 0, i, 0, f + 88 | 0);
+                             if (q[f + 88 >> 2]) {
+                              F = 0;
+                              break wa;
+                             }
+                             F = 0;
+                             m = Te(x, 2, 0, J, 0, f + 88 | 0);
+                             if (q[f + 88 >> 2]) {
+                              break wa;
+                             }
+                             h = d & 2;
+                             j = d & 1;
+                             d = 0;
+                             while (1) {
+                              g = Bg(u, f + 88 | 0);
+                              if (q[f + 88 >> 2]) {
+                               break wa;
+                              }
+                              p[(d << 1) + e >> 1] = g;
+                              d = d + 1 | 0;
+                              if ((i | 0) != (d | 0)) {
+                               continue;
+                              }
+                              break;
+                             }
+                             d = 0;
+                             while (1) {
+                              ya : {
+                               if (!j) {
+                                g = Bg(u, f + 88 | 0);
+                                if (!q[f + 88 >> 2]) {
+                                 break ya;
+                                }
+                                break wa;
+                               }
+                               g = s[(d << 1) + H >> 1];
+                              }
+                              p[(d << 1) + m >> 1] = g;
+                              d = d + 1 | 0;
+                              if ((i | 0) != (d | 0)) {
+                               continue;
+                              }
+                              break;
+                             }
+                             d = i;
+                             if ((ga & 65535) >>> 0 < J >>> 0) {
+                              while (1) {
+                               za : {
+                                if (!h) {
+                                 g = Bg(u, f + 88 | 0);
+                                 if (!q[f + 88 >> 2]) {
+                                  break za;
+                                 }
+                                 break wa;
+                                }
+                                g = s[(d << 1) + H >> 1];
+                               }
+                               p[(d << 1) + m >> 1] = g;
+                               d = d + 1 | 0;
+                               if ((J | 0) != (d | 0)) {
+                                continue;
+                               }
+                               break;
+                              }
+                             }
+                             h = i + J << 1;
+                             F = Te(x, 1, 0, h, 0, f + 88 | 0);
+                             if (q[f + 88 >> 2]) {
+                              break wa;
+                             }
+                             g = 0;
+                             d = F;
+                             if (J) {
+                              while (1) {
+                               if (g >>> 0 < i >>> 0) {
+                                j = (g << 1) + e | 0;
+                                o[d | 0] = r[j + 1 | 0];
+                                o[d + 1 | 0] = r[j | 0];
+                                d = d + 2 | 0;
+                               }
+                               j = (g << 1) + m | 0;
+                               o[d | 0] = r[j + 1 | 0];
+                               o[d + 1 | 0] = r[j | 0];
+                               d = d + 2 | 0;
+                               g = g + 1 | 0;
+                               if ((J | 0) != (g | 0)) {
+                                continue;
+                               }
+                               break;
+                              }
+                             }
+                             d = 0;
+                             i = 0;
+                             j = h & 262140;
+                             if (j) {
+                              while (1) {
+                               i = (r[(d | 3) + F | 0] | (r[(d | 1) + F | 0] << 16 | r[d + F | 0] << 24 | r[(d | 2) + F | 0] << 8)) + i | 0;
+                               d = d + 4 | 0;
+                               if (d >>> 0 < j >>> 0) {
+                                continue;
+                               }
+                               break;
+                              }
+                             }
+                             if ((h | 0) != (j | 0)) {
+                              d = 0;
+                              if (j >>> 0 < h >>> 0) {
+                               while (1) {
+                                d = r[j + F | 0] << ((j << 3 ^ -1) & 24) | d;
+                                j = j + 1 | 0;
+                                if ((h | 0) != (j | 0)) {
+                                 continue;
+                                }
+                                break;
+                               }
+                              }
+                              i = d + i | 0;
+                             }
+                             q[f + 92 >> 2] = 0;
+                             d = h + I | 0;
+                             if (d >>> 0 > 31457280) {
+                              break wa;
+                             }
+                             Aa : {
+                              if (d >>> 0 <= n >>> 0) {
+                               g = n;
+                               j = k;
+                               break Aa;
+                              }
+                              j = Te(x, 1, n, d, k, f + 92 | 0);
+                              g = d;
+                              if (q[f + 92 >> 2]) {
+                               break wa;
+                              }
+                             }
+                             Y$(j + I | 0, F, h);
+                             if (q[f + 92 >> 2]) {
+                              n = g;
+                              break wa;
+                             }
+                             Qe(x, e);
+                             Qe(x, m);
+                             Qe(x, F);
+                             if (!q[f + 88 >> 2]) {
+                              n = g;
+                              k = j;
+                              break A;
+                             }
+                             n = g;
+                             k = j;
+                             break x;
+                            }
+                            m = 0;
+                            F = 0;
+                           }
+                           Qe(x, e);
+                           Qe(x, m);
+                           Qe(x, F);
+                           if (q[f + 88 >> 2]) {
+                            break x;
+                           }
+                           q[f + 88 >> 2] = 8;
+                           break x;
+                          }
+                          if (q[f + 88 >> 2]) {
+                           n = i;
+                           i = g;
+                           D = 0;
+                           break K;
+                          }
+                          q[W + 8 >> 2] = d - q[W + 28 >> 2];
+                          F = 0;
+                          e = 0;
+                          l = J;
+                          n = i;
+                          i = g;
+                          break B;
+                         }
+                         k = h;
+                         D = 0;
+                        }
+                        e = 0;
+                        break F;
+                       }
+                       e = 0;
+                       break E;
+                      }
+                      F = 0;
+                      m = 0;
+                     }
+                     l = J;
+                     break C;
+                    }
+                    D = 0;
+                    m = 0;
+                    e = 0;
+                   }
+                   if (q[f + 84 >> 2]) {
+                    F = D;
+                    break E;
+                   }
+                   q[f + 84 >> 2] = 8;
+                   F = D;
+                  }
+                  l = J;
+                  d = I;
+                  break B;
+                 }
+                 F = 0;
+                 m = 0;
+                }
+                e = 0;
+                d = I;
+                i = 0;
+               }
+               Qe(x, v);
+               Qe(x, j);
+               Qe(x, F);
+               Qe(x, m);
+               Qe(x, e);
+               D = 1;
+               if (q[f + 84 >> 2]) {
+                break x;
+               }
+              }
+              o[E + 15 | 0] = ca;
+              o[E + 11 | 0] = I;
+              o[E + 7 | 0] = i;
+              o[E + 3 | 0] = X;
+              o[E + 14 | 0] = ca >>> 8;
+              o[E + 13 | 0] = ca >>> 16;
+              o[E + 12 | 0] = ca >>> 24;
+              o[E + 10 | 0] = I >>> 8;
+              o[E + 9 | 0] = I >>> 16;
+              o[E + 8 | 0] = I >>> 24;
+              o[E + 6 | 0] = i >>> 8;
+              o[E + 5 | 0] = i >>> 16;
+              o[E + 4 | 0] = i >>> 24;
+              o[E + 2 | 0] = X >>> 8;
+              o[E + 1 | 0] = X >>> 16;
+              o[E | 0] = X >>> 24;
+              q[f + 92 >> 2] = 0;
+              Ba : {
+               Ca : {
+                g = fa + 16 | 0;
+                if (g >>> 0 > 31457280) {
+                 break Ca;
+                }
+                Da : {
+                 if (g >>> 0 <= n >>> 0) {
+                  e = n;
+                  h = k;
+                  break Da;
+                 }
+                 h = Te(x, 1, n, g, k, f + 92 | 0);
+                 e = g;
+                 if (q[f + 92 >> 2]) {
+                  break Ca;
+                 }
+                }
+                k = r[E + 4 | 0] | r[E + 5 | 0] << 8 | (r[E + 6 | 0] << 16 | r[E + 7 | 0] << 24);
+                j = h + fa | 0;
+                n = r[E | 0] | r[E + 1 | 0] << 8 | (r[E + 2 | 0] << 16 | r[E + 3 | 0] << 24);
+                o[j | 0] = n;
+                o[j + 1 | 0] = n >>> 8;
+                o[j + 2 | 0] = n >>> 16;
+                o[j + 3 | 0] = n >>> 24;
+                o[j + 4 | 0] = k;
+                o[j + 5 | 0] = k >>> 8;
+                o[j + 6 | 0] = k >>> 16;
+                o[j + 7 | 0] = k >>> 24;
+                n = r[E + 12 | 0] | r[E + 13 | 0] << 8 | (r[E + 14 | 0] << 16 | r[E + 15 | 0] << 24);
+                k = r[E + 8 | 0] | r[E + 9 | 0] << 8 | (r[E + 10 | 0] << 16 | r[E + 11 | 0] << 24);
+                o[j + 8 | 0] = k;
+                o[j + 9 | 0] = k >>> 8;
+                o[j + 10 | 0] = k >>> 16;
+                o[j + 11 | 0] = k >>> 24;
+                o[j + 12 | 0] = n;
+                o[j + 13 | 0] = n >>> 8;
+                o[j + 14 | 0] = n >>> 16;
+                o[j + 15 | 0] = n >>> 24;
+                fa = g;
+                break Ba;
+               }
+               e = n;
+               h = k;
+              }
+              B = r[E + 12 | 0] | r[E + 13 | 0] << 8 | (r[E + 14 | 0] << 16 | r[E + 15 | 0] << 24);
+              F = r[E + 8 | 0] | r[E + 9 | 0] << 8 | (r[E + 10 | 0] << 16 | r[E + 11 | 0] << 24);
+              J = r[E | 0] | r[E + 1 | 0] << 8 | (r[E + 2 | 0] << 16 | r[E + 3 | 0] << 24);
+              m = r[E + 4 | 0] | r[E + 5 | 0] << 8 | (r[E + 6 | 0] << 16 | r[E + 7 | 0] << 24);
+              o[f + 90 | 0] = 0;
+              p[f + 88 >> 1] = 0;
+              Ea : {
+               Fa : {
+                Ga : {
+                 if (d >>> 0 > 4294967292) {
+                  break Ga;
+                 }
+                 j = d + 3 & -4;
+                 g = j - d | 0;
+                 if (!g) {
+                  n = e;
+                  k = h;
+                  j = d;
+                  break Ea;
+                 }
+                 q[f + 92 >> 2] = 0;
+                 if (j >>> 0 > 31457280) {
+                  break Ga;
+                 }
+                 if (j >>> 0 <= e >>> 0) {
+                  n = e;
+                  k = h;
+                  break Fa;
+                 }
+                 k = Te(x, 1, e, j, h, f + 92 | 0);
+                 n = j;
+                 if (!q[f + 92 >> 2]) {
+                  break Fa;
+                 }
+                }
+                n = e;
+                break z;
+               }
+               Y$(d + k | 0, f + 88 | 0, g);
+               if (q[f + 92 >> 2]) {
+                break z;
+               }
+              }
+              if (I + ca >>> 0 > j >>> 0) {
+               break x;
+              }
+              ea = ((((i + ea | 0) + (J << 8 & 16711680 | J << 24 | (J >>> 8 & 65280 | J >>> 24)) | 0) + (m << 8 & 16711680 | m << 24 | (m >>> 8 & 65280 | m >>> 24)) | 0) + (F << 8 & 16711680 | F << 24 | (F >>> 8 & 65280 | F >>> 24)) | 0) + (B << 8 & 16711680 | B << 24 | (B >>> 8 & 65280 | B >>> 24)) | 0;
+              I = j;
+              aa = aa + 1 | 0;
+              if ((V | 0) != (aa | 0)) {
+               continue;
+              }
+              break;
+             }
+             d = 0;
+             break y;
+            }
+            k = h;
+            break x;
+           }
+           while (1) {
+            e = q[(d << 2) + R >> 2];
+            if (q[e + 4 >> 2] != 1751474532) {
+             d = d + 1 | 0;
+             if ((V | 0) != (d | 0)) {
+              continue;
+             }
+             break x;
+            }
+            break;
+           }
+           if (!e | t[e + 8 >> 2] < 12) {
+            break x;
+           }
+           e = q[e + 28 >> 2] + k | 0;
+           d = -1313820742 - ea | 0;
+           d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+           o[e + 8 | 0] = d;
+           o[e + 9 | 0] = d >>> 8;
+           o[e + 10 | 0] = d >>> 16;
+           o[e + 11 | 0] = d >>> 24;
+           q[f + 68 >> 2] = j;
+           break v;
+          }
+          d = q[f + 80 >> 2];
+         }
+         if (d) {
+          break v;
+         }
+         q[f + 80 >> 2] = 8;
+        }
+        Qe(x, E);
+        of(u);
+        Qe(x, u);
+        d = q[f + 80 >> 2];
+        q[f + 76 >> 2] = d;
+        if (d) {
+         break d;
+        }
+        d = q[f + 68 >> 2];
+        if (d >>> 0 < n >>> 0) {
+         k = Te(x, 1, n, d, k, f + 76 | 0);
+         if (q[f + 76 >> 2]) {
+          break d;
+         }
+         d = q[f + 68 >> 2];
+        }
+        mf(G, k, d);
+        a = q[a + 28 >> 2];
+        q[G + 24 >> 2] = 314;
+        q[G + 28 >> 2] = a;
+        nf(q[b + 104 >> 2], q[b + 8 >> 2] >>> 10 & 1);
+        q[b + 104 >> 2] = G;
+        q[b + 8 >> 2] = q[b + 8 >> 2] & -1025;
+        if (q[c >> 2] >= 0) {
+         q[c >> 2] = 0;
+         break d;
+        }
+        q[c >> 2] = -1;
+        break d;
+       }
+       q[f + 76 >> 2] = 8;
+       H = 0;
+       break d;
+      }
+      H = 0;
+      C = 0;
+      break d;
+     }
+     H = 0;
+    }
+    k = 0;
+   }
+   G = 0;
+   C = 0;
+  }
+  Qe(x, ha);
+  Qe(x, R);
+  Qe(x, C);
+  Qe(x, H);
+  C = q[f + 72 >> 2];
+  if (C) {
+   b = x;
+   if (s[f + 64 >> 1]) {
+    a = 0;
+    while (1) {
+     Qe(x, q[C + 8 >> 2]);
+     q[C + 8 >> 2] = 0;
+     C = C + 12 | 0;
+     a = a + 1 | 0;
+     if (a >>> 0 < s[f + 64 >> 1]) {
+      continue;
+     }
+     break;
+    }
+    C = q[f + 72 >> 2];
+   }
+   Qe(b, C);
+   q[f + 72 >> 2] = 0;
+  }
+  Ha : {
+   if (!q[f + 76 >> 2]) {
+    break Ha;
+   }
+   Qe(x, k);
+   if (!G) {
+    break Ha;
+   }
+   of(G);
+   Qe(x, G);
+  }
+  C = q[f + 76 >> 2];
+ }
+ Ca = f + 96 | 0;
+ return C;
+}
+function ym(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, s = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0;
+ v = Ca - 32 | 0;
+ Ca = v;
+ e = -2;
+ a : {
+  if (!a) {
+   break a;
+  }
+  c = q[a + 28 >> 2];
+  if (!c | !q[a >> 2]) {
+   break a;
+  }
+  j = -5;
+  y = (b | 0) == 4 ? -5 : 0;
+  while (1) {
+   b = q[c >> 2];
+   if (b >>> 0 > 13) {
+    e = -2;
+    break a;
+   }
+   e = 1;
+   x = -3;
+   b : {
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         h : {
+          i : {
+           j : {
+            k : {
+             l : {
+              m : {
+               n : {
+                o : {
+                 switch (b - 1 | 0) {
+                 default:
+                  e = j;
+                  b = q[a + 4 >> 2];
+                  if (!b) {
+                   break a;
+                  }
+                  q[a + 4 >> 2] = b + -1;
+                  q[a + 8 >> 2] = q[a + 8 >> 2] + 1;
+                  b = q[a >> 2];
+                  q[a >> 2] = b + 1;
+                  b = r[b | 0];
+                  q[c + 4 >> 2] = b;
+                  c = q[a + 28 >> 2];
+                  if ((b & 15) != 8) {
+                   q[c >> 2] = 13;
+                   q[a + 24 >> 2] = 19384;
+                   break c;
+                  }
+                  if ((q[c + 4 >> 2] >>> 4 | 0) + 8 >>> 0 > t[c + 16 >> 2]) {
+                   q[c >> 2] = 13;
+                   q[a + 24 >> 2] = 19411;
+                   break c;
+                  }
+                  q[c >> 2] = 1;
+                  j = y;
+                 case 0:
+                  e = j;
+                  b = q[a + 4 >> 2];
+                  if (!b) {
+                   break a;
+                  }
+                  b = b + -1 | 0;
+                  q[a + 4 >> 2] = b;
+                  q[a + 8 >> 2] = q[a + 8 >> 2] + 1;
+                  e = q[a >> 2];
+                  q[a >> 2] = e + 1;
+                  e = r[e | 0];
+                  if (((e | q[c + 4 >> 2] << 8) >>> 0) % 31) {
+                   q[c >> 2] = 13;
+                   q[a + 24 >> 2] = 19431;
+                   break c;
+                  }
+                  if (!(e & 32)) {
+                   q[c >> 2] = 7;
+                   break b;
+                  }
+                  q[c >> 2] = 2;
+                  e = y;
+                  break n;
+                 case 11:
+                  break a;
+                 case 7:
+                  break h;
+                 case 6:
+                  break i;
+                 case 5:
+                  break j;
+                 case 4:
+                  break k;
+                 case 3:
+                  break l;
+                 case 2:
+                  break m;
+                 case 1:
+                  break o;
+                 case 12:
+                  break d;
+                 case 10:
+                  break e;
+                 case 9:
+                  break f;
+                 case 8:
+                  break g;
+                 }
+                }
+                b = q[a + 4 >> 2];
+                e = j;
+               }
+               if (!b) {
+                break a;
+               }
+               q[a + 4 >> 2] = b + -1;
+               q[a + 8 >> 2] = q[a + 8 >> 2] + 1;
+               b = q[a >> 2];
+               q[a >> 2] = b + 1;
+               q[c + 8 >> 2] = r[b | 0] << 24;
+               c = q[a + 28 >> 2];
+               q[c >> 2] = 3;
+               j = y;
+              }
+              e = j;
+              b = q[a + 4 >> 2];
+              if (!b) {
+               break a;
+              }
+              q[a + 4 >> 2] = b + -1;
+              q[a + 8 >> 2] = q[a + 8 >> 2] + 1;
+              b = q[a >> 2];
+              q[a >> 2] = b + 1;
+              c = c + 8 | 0;
+              q[c >> 2] = q[c >> 2] + (r[b | 0] << 16);
+              c = q[a + 28 >> 2];
+              q[c >> 2] = 4;
+              j = y;
+             }
+             e = j;
+             b = q[a + 4 >> 2];
+             if (!b) {
+              break a;
+             }
+             q[a + 4 >> 2] = b + -1;
+             q[a + 8 >> 2] = q[a + 8 >> 2] + 1;
+             b = q[a >> 2];
+             q[a >> 2] = b + 1;
+             c = c + 8 | 0;
+             q[c >> 2] = q[c >> 2] + (r[b | 0] << 8);
+             c = q[a + 28 >> 2];
+             q[c >> 2] = 5;
+             j = y;
+            }
+            e = j;
+            b = q[a + 4 >> 2];
+            if (!b) {
+             break a;
+            }
+            q[a + 4 >> 2] = b + -1;
+            q[a + 8 >> 2] = q[a + 8 >> 2] + 1;
+            b = q[a >> 2];
+            q[a >> 2] = b + 1;
+            c = c + 8 | 0;
+            q[c >> 2] = q[c >> 2] + r[b | 0];
+            b = a;
+            a = q[a + 28 >> 2];
+            q[b + 48 >> 2] = q[a + 8 >> 2];
+            q[a >> 2] = 6;
+            e = 2;
+            break a;
+           }
+           q[c >> 2] = 13;
+           q[a + 24 >> 2] = 19454;
+           q[c + 4 >> 2] = 0;
+           e = -2;
+           break a;
+          }
+          b = q[a + 4 >> 2];
+          f = q[a >> 2];
+          d = q[c + 20 >> 2];
+          i = q[d + 28 >> 2];
+          g = q[d + 32 >> 2];
+          l = q[d + 52 >> 2];
+          c = q[d + 48 >> 2];
+          p : {
+           if (l >>> 0 < c >>> 0) {
+            e = c + (l ^ -1) | 0;
+            break p;
+           }
+           e = q[d + 44 >> 2] - l | 0;
+          }
+          B = d + 20 | 0;
+          A = d + 16 | 0;
+          q : {
+           while (1) {
+            r : {
+             s : {
+              t : {
+               u : {
+                v : {
+                 w : {
+                  x : {
+                   y : {
+                    z : {
+                     A : {
+                      B : {
+                       C : {
+                        D : {
+                         E : {
+                          F : {
+                           G : {
+                            H : {
+                             I : {
+                              J : {
+                               K : {
+                                L : {
+                                 s = d;
+                                 M : {
+                                  N : {
+                                   O : {
+                                    P : {
+                                     Q : {
+                                      c = q[d >> 2];
+                                      if ((c | 0) != 2) {
+                                       if (c >>> 0 > 9) {
+                                        break L;
+                                       }
+                                       R : {
+                                        S : {
+                                         switch (c - 1 | 0) {
+                                         case 4:
+                                          e = q[d + 8 >> 2];
+                                          break C;
+                                         case 2:
+                                          if (i >>> 0 <= 13) {
+                                           break Q;
+                                          }
+                                          h = i;
+                                          c = f;
+                                          break J;
+                                         case 0:
+                                          if (i >>> 0 <= 31) {
+                                           break R;
+                                          }
+                                          h = i;
+                                          c = f;
+                                          break w;
+                                         case 7:
+                                          break z;
+                                         case 6:
+                                          break A;
+                                         case 5:
+                                          break B;
+                                         case 1:
+                                          break L;
+                                         case 8:
+                                          break O;
+                                         case 3:
+                                          break P;
+                                         default:
+                                          break S;
+                                         }
+                                        }
+                                        T : {
+                                         U : {
+                                          V : {
+                                           W : {
+                                            if (!(i >>> 0 > 2)) {
+                                             if (!b) {
+                                              break W;
+                                             }
+                                             b = b + -1 | 0;
+                                             g = r[f | 0] << i | g;
+                                             j = 0;
+                                             f = f + 1 | 0;
+                                             i = i + 8 | 0;
+                                            }
+                                            h = i;
+                                            q[d + 24 >> 2] = g & 1;
+                                            switch ((g >>> 1 & 3) - 1 | 0) {
+                                            case 2:
+                                             break T;
+                                            case 1:
+                                             break U;
+                                            case 0:
+                                             break V;
+                                            default:
+                                             break N;
+                                            }
+                                           }
+                                           q[d + 28 >> 2] = i;
+                                           q[d + 32 >> 2] = g;
+                                           q[a + 4 >> 2] = 0;
+                                           b = q[a >> 2];
+                                           q[a >> 2] = f;
+                                           q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                                           break r;
+                                          }
+                                          c = n[q[a + 32 >> 2]](q[a + 40 >> 2], 1, 28) | 0;
+                                          if (c) {
+                                           q[c + 24 >> 2] = 23856;
+                                           q[c + 20 >> 2] = 19760;
+                                           p[c + 16 >> 1] = 1289;
+                                           q[c >> 2] = 0;
+                                           q[d + 4 >> 2] = c;
+                                           i = h + -3 | 0;
+                                           g = g >>> 3 | 0;
+                                           c = 6;
+                                           break M;
+                                          }
+                                          q[d + 32 >> 2] = g;
+                                          q[d + 4 >> 2] = 0;
+                                          q[d + 28 >> 2] = h;
+                                          q[a + 4 >> 2] = b;
+                                          b = q[a >> 2];
+                                          q[a >> 2] = f;
+                                          q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                                          break G;
+                                         }
+                                         i = h + -3 | 0;
+                                         g = g >>> 3 | 0;
+                                         c = 3;
+                                         break M;
+                                        }
+                                        q[d >> 2] = 9;
+                                        q[a + 24 >> 2] = 19491;
+                                        q[d + 28 >> 2] = h + -3;
+                                        q[d + 32 >> 2] = g >>> 3;
+                                        q[a + 4 >> 2] = b;
+                                        b = q[a >> 2];
+                                        q[a >> 2] = f;
+                                        q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                                        break t;
+                                       }
+                                       if (b) {
+                                        break x;
+                                       }
+                                       break v;
+                                      }
+                                      if (!b) {
+                                       q[d + 28 >> 2] = i;
+                                       q[d + 32 >> 2] = g;
+                                       q[a + 4 >> 2] = 0;
+                                       b = q[a >> 2];
+                                       q[a >> 2] = f;
+                                       q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                                       break r;
+                                      }
+                                      if (e) {
+                                       c = l;
+                                       break y;
+                                      }
+                                      X : {
+                                       if (q[d + 44 >> 2] != (l | 0)) {
+                                        c = l;
+                                        break X;
+                                       }
+                                       c = q[d + 40 >> 2];
+                                       e = q[d + 48 >> 2];
+                                       if ((c | 0) == (e | 0)) {
+                                        c = l;
+                                        break X;
+                                       }
+                                       e = c >>> 0 < e >>> 0 ? e + (c ^ -1) | 0 : l - c | 0;
+                                       if (e) {
+                                        break y;
+                                       }
+                                      }
+                                      q[d + 52 >> 2] = c;
+                                      m = Am(d, a, j);
+                                      j = q[d + 52 >> 2];
+                                      h = q[d + 48 >> 2];
+                                      Y : {
+                                       if (j >>> 0 < h >>> 0) {
+                                        c = q[d + 44 >> 2];
+                                        e = h + (j ^ -1) | 0;
+                                        break Y;
+                                       }
+                                       c = q[d + 44 >> 2];
+                                       e = c - j | 0;
+                                      }
+                                      Z : {
+                                       if ((c | 0) != (j | 0)) {
+                                        c = j;
+                                        break Z;
+                                       }
+                                       c = q[d + 40 >> 2];
+                                       if ((h | 0) == (c | 0)) {
+                                        c = j;
+                                        break Z;
+                                       }
+                                       e = c >>> 0 < h >>> 0 ? h + (c ^ -1) | 0 : j - c | 0;
+                                      }
+                                      if (e) {
+                                       break y;
+                                      }
+                                      q[d + 28 >> 2] = i;
+                                      q[d + 32 >> 2] = g;
+                                      q[a + 4 >> 2] = b;
+                                      b = q[a >> 2];
+                                      q[a >> 2] = f;
+                                      q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                                      q[d + 52 >> 2] = c;
+                                      x = Am(d, a, m);
+                                      break q;
+                                     }
+                                     if (b) {
+                                      break K;
+                                     }
+                                     break I;
+                                    }
+                                    e = q[d + 8 >> 2];
+                                    if (e >>> 0 < (q[d + 4 >> 2] >>> 10 | 0) + 4 >>> 0) {
+                                     break E;
+                                    }
+                                    break D;
+                                   }
+                                   q[d + 28 >> 2] = i;
+                                   q[d + 32 >> 2] = g;
+                                   q[a + 4 >> 2] = b;
+                                   b = q[a >> 2];
+                                   q[a >> 2] = f;
+                                   q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                                   break t;
+                                  }
+                                  c = h + -3 | 0;
+                                  g = g >>> 3 >>> (c & 7) | 0;
+                                  i = c & -8;
+                                  c = 1;
+                                 }
+                                 q[s >> 2] = c;
+                                 continue;
+                                }
+                                q[d + 28 >> 2] = i;
+                                q[d + 32 >> 2] = g;
+                                q[a + 4 >> 2] = b;
+                                b = q[a >> 2];
+                                q[a >> 2] = f;
+                                q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                                q[d + 52 >> 2] = l;
+                                x = Am(d, a, -2);
+                                break q;
+                               }
+                               _ : {
+                                while (1) {
+                                 h = i + 8 | 0;
+                                 c = f + 1 | 0;
+                                 b = b + -1 | 0;
+                                 g = r[f | 0] << i | g;
+                                 if (i >>> 0 >= 6) {
+                                  break _;
+                                 }
+                                 i = h;
+                                 f = c;
+                                 if (b) {
+                                  continue;
+                                 }
+                                 break;
+                                }
+                                j = 0;
+                                break I;
+                               }
+                               j = 0;
+                              }
+                              q[d + 4 >> 2] = g & 16383;
+                              e = g & 31;
+                              if (e >>> 0 <= 29) {
+                               f = g >>> 5 & 31;
+                               if (f >>> 0 < 30) {
+                                break H;
+                               }
+                              }
+                              q[d >> 2] = 9;
+                              q[a + 24 >> 2] = 19539;
+                              q[d + 28 >> 2] = h;
+                              q[d + 32 >> 2] = g;
+                              q[a + 4 >> 2] = b;
+                              b = q[a >> 2];
+                              q[a >> 2] = c;
+                              q[a + 8 >> 2] = q[a + 8 >> 2] + (c - b | 0);
+                              break t;
+                             }
+                             q[d + 28 >> 2] = i;
+                             q[d + 32 >> 2] = g;
+                             q[a + 4 >> 2] = 0;
+                             b = q[a >> 2];
+                             q[a >> 2] = f;
+                             q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                             break r;
+                            }
+                            e = n[q[a + 32 >> 2]](q[a + 40 >> 2], (e + f | 0) + 258 | 0, 4) | 0;
+                            q[d + 12 >> 2] = e;
+                            if (e) {
+                             break F;
+                            }
+                            q[d + 28 >> 2] = h;
+                            q[d + 32 >> 2] = g;
+                            q[a + 4 >> 2] = b;
+                            b = q[a >> 2];
+                            q[a >> 2] = c;
+                            q[a + 8 >> 2] = q[a + 8 >> 2] + (c - b | 0);
+                           }
+                           q[d + 52 >> 2] = l;
+                           x = Am(d, a, -4);
+                           break q;
+                          }
+                          q[d >> 2] = 4;
+                          e = 0;
+                          q[d + 8 >> 2] = 0;
+                          i = h + -14 | 0;
+                          g = g >>> 14 | 0;
+                          f = c;
+                         }
+                         while (1) {
+                          $ : {
+                           if (i >>> 0 <= 2) {
+                            if (!b) {
+                             break $;
+                            }
+                            b = b + -1 | 0;
+                            g = r[f | 0] << i | g;
+                            j = 0;
+                            f = f + 1 | 0;
+                            i = i + 8 | 0;
+                           }
+                           q[d + 8 >> 2] = e + 1;
+                           q[q[d + 12 >> 2] + (q[(e << 2) + 19584 >> 2] << 2) >> 2] = g & 7;
+                           i = i + -3 | 0;
+                           g = g >>> 3 | 0;
+                           e = q[d + 8 >> 2];
+                           if (e >>> 0 < (q[d + 4 >> 2] >>> 10 | 0) + 4 >>> 0) {
+                            continue;
+                           }
+                           break D;
+                          }
+                          break;
+                         }
+                         q[d + 28 >> 2] = i;
+                         q[d + 32 >> 2] = g;
+                         q[a + 4 >> 2] = 0;
+                         b = q[a >> 2];
+                         q[a >> 2] = f;
+                         q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                         break r;
+                        }
+                        if (e >>> 0 < 19) {
+                         while (1) {
+                          q[d + 8 >> 2] = e + 1;
+                          q[q[d + 12 >> 2] + (q[(e << 2) + 19584 >> 2] << 2) >> 2] = 0;
+                          e = q[d + 8 >> 2];
+                          if (e >>> 0 < 19) {
+                           continue;
+                          }
+                          break;
+                         }
+                        }
+                        q[d + 16 >> 2] = 7;
+                        c = q[d + 12 >> 2];
+                        h = q[d + 36 >> 2];
+                        q[v + 28 >> 2] = 0;
+                        aa : {
+                         e = n[q[a + 32 >> 2]](q[a + 40 >> 2], 19, 4) | 0;
+                         ba : {
+                          if (!e) {
+                           c = -4;
+                           break ba;
+                          }
+                          ca : {
+                           da : {
+                            ea : {
+                             fa : {
+                              ga : {
+                               c = Bm(c, 19, 19, 0, 0, B, A, h, v + 28 | 0, e);
+                               h = c + 5 | 0;
+                               if (h >>> 0 > 2) {
+                                break ga;
+                               }
+                               s = 24112;
+                               switch (h - 1 | 0) {
+                               case 1:
+                                break ea;
+                               case 0:
+                                break ga;
+                               default:
+                                break fa;
+                               }
+                              }
+                              if (q[A >> 2]) {
+                               break da;
+                              }
+                             }
+                             s = 24152;
+                            }
+                            q[a + 24 >> 2] = s;
+                            n[q[a + 36 >> 2]](q[a + 40 >> 2], e);
+                            break ca;
+                           }
+                           n[q[a + 36 >> 2]](q[a + 40 >> 2], e);
+                           if (!c) {
+                            break aa;
+                           }
+                           if ((c | 0) != -3) {
+                            break ba;
+                           }
+                          }
+                          n[q[a + 36 >> 2]](q[a + 40 >> 2], q[d + 12 >> 2]);
+                          q[d >> 2] = 9;
+                          c = -3;
+                         }
+                         q[d + 28 >> 2] = i;
+                         q[d + 32 >> 2] = g;
+                         q[a + 4 >> 2] = b;
+                         b = q[a >> 2];
+                         q[a >> 2] = f;
+                         q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                         q[d + 52 >> 2] = l;
+                         x = Am(d, a, c);
+                         break q;
+                        }
+                        q[d >> 2] = 5;
+                        q[d + 8 >> 2] = 0;
+                        e = 0;
+                       }
+                       h = q[d + 4 >> 2];
+                       c = h & 31;
+                       h = h >>> 5 & 31;
+                       z = (c + h | 0) + 258 | 0;
+                       if (e >>> 0 < z >>> 0) {
+                        while (1) {
+                         ha : {
+                          ia : {
+                           ja : {
+                            k = q[A >> 2];
+                            ka : {
+                             if (i >>> 0 >= k >>> 0) {
+                              c = i;
+                              m = f;
+                              h = b;
+                              break ka;
+                             }
+                             c = i;
+                             s = f;
+                             h = b;
+                             if (!b) {
+                              break ja;
+                             }
+                             la : {
+                              while (1) {
+                               m = s + 1 | 0;
+                               h = h + -1 | 0;
+                               g = r[s | 0] << c | g;
+                               c = c + 8 | 0;
+                               if (c >>> 0 >= k >>> 0) {
+                                break la;
+                               }
+                               s = m;
+                               if (h) {
+                                continue;
+                               }
+                               break;
+                              }
+                              j = 0;
+                              break ja;
+                             }
+                             j = 0;
+                            }
+                            b = q[B >> 2] + ((q[(k << 2) + 19664 >> 2] & g) << 3) | 0;
+                            k = r[b + 1 | 0];
+                            u = q[b + 4 >> 2];
+                            if (u >>> 0 > 15) {
+                             break ia;
+                            }
+                            q[d + 8 >> 2] = e + 1;
+                            q[q[d + 12 >> 2] + (e << 2) >> 2] = u;
+                            i = c - k | 0;
+                            g = g >>> k | 0;
+                            f = m;
+                            b = h;
+                            e = q[d + 8 >> 2];
+                            break ha;
+                           }
+                           q[d + 32 >> 2] = g;
+                           q[d + 28 >> 2] = (b << 3) + i;
+                           q[a + 4 >> 2] = 0;
+                           c = q[a >> 2];
+                           b = b + f | 0;
+                           q[a >> 2] = b;
+                           q[a + 8 >> 2] = q[a + 8 >> 2] + (b - c | 0);
+                           break r;
+                          }
+                          ma : {
+                           na : {
+                            C = (u | 0) == 18;
+                            w = C ? 7 : u + -14 | 0;
+                            D = k + w | 0;
+                            oa : {
+                             if (c >>> 0 >= D >>> 0) {
+                              i = c;
+                              f = m;
+                              b = h;
+                              break oa;
+                             }
+                             i = c;
+                             s = m;
+                             b = h;
+                             if (!b) {
+                              break na;
+                             }
+                             pa : {
+                              while (1) {
+                               f = s + 1 | 0;
+                               b = b + -1 | 0;
+                               g = r[s | 0] << i | g;
+                               i = i + 8 | 0;
+                               if (i >>> 0 >= D >>> 0) {
+                                break pa;
+                               }
+                               s = f;
+                               if (b) {
+                                continue;
+                               }
+                               break;
+                              }
+                              j = 0;
+                              break na;
+                             }
+                             j = 0;
+                            }
+                            i = (i - k | 0) - w | 0;
+                            c = g >>> k | 0;
+                            g = c >>> w | 0;
+                            c = (c & q[(w << 2) + 19664 >> 2]) + (C ? 11 : 3) | 0;
+                            m = c + e | 0;
+                            if ((u | 0) != 16 | e ? m >>> 0 <= z >>> 0 : 0) {
+                             break ma;
+                            }
+                            n[q[a + 36 >> 2]](q[a + 40 >> 2], q[d + 12 >> 2]);
+                            q[d >> 2] = 9;
+                            q[a + 24 >> 2] = 19732;
+                            q[d + 28 >> 2] = i;
+                            q[d + 32 >> 2] = g;
+                            q[a + 4 >> 2] = b;
+                            b = q[a >> 2];
+                            q[a >> 2] = f;
+                            q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                            break t;
+                           }
+                           q[d + 32 >> 2] = g;
+                           q[d + 28 >> 2] = (h << 3) + c;
+                           q[a + 4 >> 2] = 0;
+                           b = q[a >> 2];
+                           c = h + m | 0;
+                           q[a >> 2] = c;
+                           q[a + 8 >> 2] = q[a + 8 >> 2] + (c - b | 0);
+                           break r;
+                          }
+                          h = 0;
+                          h = (u | 0) == 16 ? q[(q[d + 12 >> 2] + (e << 2) | 0) + -4 >> 2] : h;
+                          while (1) {
+                           q[q[d + 12 >> 2] + (e << 2) >> 2] = h;
+                           e = e + 1 | 0;
+                           c = c + -1 | 0;
+                           if (c) {
+                            continue;
+                           }
+                           break;
+                          }
+                          q[d + 8 >> 2] = m;
+                          e = m;
+                         }
+                         h = q[d + 4 >> 2];
+                         c = h & 31;
+                         h = h >>> 5 & 31;
+                         z = (c + h | 0) + 258 | 0;
+                         if (e >>> 0 < z >>> 0) {
+                          continue;
+                         }
+                         break;
+                        }
+                       }
+                       q[d + 20 >> 2] = 0;
+                       q[v + 24 >> 2] = 9;
+                       q[v + 20 >> 2] = 6;
+                       m = q[d + 36 >> 2];
+                       k = q[d + 12 >> 2];
+                       q[v + 28 >> 2] = 0;
+                       qa : {
+                        ra : {
+                         sa : {
+                          e = n[q[a + 32 >> 2]](q[a + 40 >> 2], 288, 4) | 0;
+                          ta : {
+                           if (!e) {
+                            e = -4;
+                            break ta;
+                           }
+                           ua : {
+                            va : {
+                             w = c + 257 | 0;
+                             s = Bm(k, w, 257, 24192, 24320, v + 16 | 0, v + 24 | 0, m, v + 28 | 0, e);
+                             z = s + 4 | 0;
+                             wa : {
+                              xa : {
+                               if (z >>> 0 > 4) {
+                                break xa;
+                               }
+                               u = 24444;
+                               ya : {
+                                switch (z - 1 | 0) {
+                                case 0:
+                                 break wa;
+                                case 1:
+                                case 2:
+                                 break xa;
+                                case 3:
+                                 break ya;
+                                default:
+                                 break ua;
+                                }
+                               }
+                               u = q[v + 24 >> 2];
+                               if (u) {
+                                break va;
+                               }
+                              }
+                              u = 24479;
+                             }
+                             q[a + 24 >> 2] = u;
+                             s = -3;
+                             break ua;
+                            }
+                            za : {
+                             Aa : {
+                              Ba : {
+                               Ca : {
+                                s = Bm(k + (w << 2) | 0, h + 1 | 0, 0, 24512, 24640, v + 12 | 0, v + 20 | 0, m, v + 28 | 0, e);
+                                m = s + 5 | 0;
+                                Da : {
+                                 if (m >>> 0 > 5) {
+                                  break Da;
+                                 }
+                                 h = 24760;
+                                 Ea : {
+                                  switch (m - 1 | 0) {
+                                  case 0:
+                                   break za;
+                                  case 1:
+                                   break Aa;
+                                  case 2:
+                                  case 3:
+                                   break Da;
+                                  case 4:
+                                   break Ea;
+                                  default:
+                                   break Ba;
+                                  }
+                                 }
+                                 h = q[v + 20 >> 2];
+                                 if (h | !c) {
+                                  break Ca;
+                                 }
+                                }
+                                h = 24814;
+                                break Aa;
+                               }
+                               n[q[a + 36 >> 2]](q[a + 40 >> 2], e);
+                               break sa;
+                              }
+                              h = 24789;
+                             }
+                             q[a + 24 >> 2] = h;
+                             s = -3;
+                            }
+                           }
+                           n[q[a + 36 >> 2]](q[a + 40 >> 2], e);
+                           e = -4;
+                           c = s + 3 | 0;
+                           if (c >>> 0 > 3) {
+                            break ta;
+                           }
+                           Fa : {
+                            switch (c - 1 | 0) {
+                            case 2:
+                             h = q[v + 20 >> 2];
+                             u = q[v + 24 >> 2];
+                             break sa;
+                            case 0:
+                            case 1:
+                             break ta;
+                            default:
+                             break Fa;
+                            }
+                           }
+                           n[q[a + 36 >> 2]](q[a + 40 >> 2], q[d + 12 >> 2]);
+                           q[d >> 2] = 9;
+                           e = -3;
+                          }
+                          q[d + 28 >> 2] = i;
+                          q[d + 32 >> 2] = g;
+                          q[a + 4 >> 2] = b;
+                          c = q[a >> 2];
+                          q[a >> 2] = f;
+                          q[a + 8 >> 2] = q[a + 8 >> 2] + (f - c | 0);
+                          q[d + 52 >> 2] = l;
+                          break ra;
+                         }
+                         e = q[v + 12 >> 2];
+                         m = q[v + 16 >> 2];
+                         c = n[q[a + 32 >> 2]](q[a + 40 >> 2], 1, 28) | 0;
+                         if (c) {
+                          q[c + 24 >> 2] = e;
+                          q[c + 20 >> 2] = m;
+                          o[c + 17 | 0] = h;
+                          o[c + 16 | 0] = u;
+                          q[c >> 2] = 0;
+                          q[d + 4 >> 2] = c;
+                          e = j;
+                          c = 1;
+                          break qa;
+                         }
+                         q[d + 28 >> 2] = i;
+                         q[d + 32 >> 2] = g;
+                         q[a + 4 >> 2] = b;
+                         c = q[a >> 2];
+                         q[a >> 2] = f;
+                         q[a + 8 >> 2] = q[a + 8 >> 2] + (f - c | 0);
+                         q[d + 52 >> 2] = l;
+                         e = -4;
+                        }
+                        x = Am(d, a, e);
+                        c = 0;
+                       }
+                       if (!c) {
+                        break q;
+                       }
+                       n[q[a + 36 >> 2]](q[a + 40 >> 2], q[d + 12 >> 2]);
+                       q[d >> 2] = 6;
+                       j = e;
+                      }
+                      q[d + 28 >> 2] = i;
+                      q[d + 32 >> 2] = g;
+                      q[a + 4 >> 2] = b;
+                      c = q[a >> 2];
+                      q[a >> 2] = f;
+                      q[a + 8 >> 2] = q[a + 8 >> 2] + (f - c | 0);
+                      q[d + 52 >> 2] = l;
+                      k = q[d + 4 >> 2];
+                      c = q[d + 48 >> 2];
+                      Ga : {
+                       if (l >>> 0 < c >>> 0) {
+                        h = c + (l ^ -1) | 0;
+                        break Ga;
+                       }
+                       h = q[d + 44 >> 2] - l | 0;
+                      }
+                      e = q[k >> 2];
+                      Ha : {
+                       while (1) {
+                        Ia : {
+                         Ja : {
+                          Ka : {
+                           La : {
+                            Ma : {
+                             Na : {
+                              Oa : {
+                               Pa : {
+                                Qa : {
+                                 Ra : {
+                                  Sa : {
+                                   Ta : {
+                                    Ua : {
+                                     Va : {
+                                      Wa : {
+                                       if (e >>> 0 <= 9) {
+                                        Xa : {
+                                         Ya : {
+                                          Za : {
+                                           _a : {
+                                            $a : {
+                                             ab : {
+                                              bb : {
+                                               cb : {
+                                                switch (e - 1 | 0) {
+                                                case 0:
+                                                 u = q[k + 12 >> 2];
+                                                 break bb;
+                                                case 2:
+                                                 u = q[k + 12 >> 2];
+                                                 break La;
+                                                case 4:
+                                                 c = q[k + 12 >> 2];
+                                                 break Ma;
+                                                case 8:
+                                                 break Xa;
+                                                case 7:
+                                                 break Ya;
+                                                case 6:
+                                                 break Za;
+                                                case 5:
+                                                 break _a;
+                                                case 3:
+                                                 break $a;
+                                                case 1:
+                                                 break ab;
+                                                default:
+                                                 break cb;
+                                                }
+                                               }
+                                               q[k >> 2] = 1;
+                                               u = r[k + 16 | 0];
+                                               q[k + 12 >> 2] = u;
+                                               q[k + 8 >> 2] = q[k + 20 >> 2];
+                                              }
+                                              if (i >>> 0 >= u >>> 0) {
+                                               e = i;
+                                               s = f;
+                                               c = b;
+                                               break Qa;
+                                              }
+                                              e = i;
+                                              m = f;
+                                              c = b;
+                                              if (c) {
+                                               break Ra;
+                                              }
+                                              break Ia;
+                                             }
+                                             w = q[k + 8 >> 2];
+                                             if (i >>> 0 >= w >>> 0) {
+                                              e = i;
+                                              break Sa;
+                                             }
+                                             e = i;
+                                             m = f;
+                                             c = b;
+                                             if (c) {
+                                              break Ta;
+                                             }
+                                             break Ia;
+                                            }
+                                            u = q[k + 8 >> 2];
+                                            if (i >>> 0 >= u >>> 0) {
+                                             e = i;
+                                             break Ua;
+                                            }
+                                            e = i;
+                                            m = f;
+                                            c = b;
+                                            if (c) {
+                                             break Va;
+                                            }
+                                            break Ia;
+                                           }
+                                           if (h) {
+                                            c = l;
+                                            break Wa;
+                                           }
+                                           db : {
+                                            if (q[d + 44 >> 2] != (l | 0)) {
+                                             c = l;
+                                             break db;
+                                            }
+                                            c = q[d + 40 >> 2];
+                                            e = q[d + 48 >> 2];
+                                            if ((c | 0) == (e | 0)) {
+                                             c = l;
+                                             break db;
+                                            }
+                                            h = c >>> 0 < e >>> 0 ? e + (c ^ -1) | 0 : l - c | 0;
+                                            if (h) {
+                                             break Wa;
+                                            }
+                                           }
+                                           q[d + 52 >> 2] = c;
+                                           m = Am(d, a, j);
+                                           e = q[d + 52 >> 2];
+                                           j = q[d + 48 >> 2];
+                                           eb : {
+                                            if (e >>> 0 < j >>> 0) {
+                                             c = q[d + 44 >> 2];
+                                             h = j + (e ^ -1) | 0;
+                                             break eb;
+                                            }
+                                            c = q[d + 44 >> 2];
+                                            h = c - e | 0;
+                                           }
+                                           fb : {
+                                            if ((c | 0) != (e | 0)) {
+                                             c = e;
+                                             break fb;
+                                            }
+                                            c = q[d + 40 >> 2];
+                                            if ((j | 0) == (c | 0)) {
+                                             c = e;
+                                             break fb;
+                                            }
+                                            h = c >>> 0 < j >>> 0 ? j + (c ^ -1) | 0 : e - c | 0;
+                                           }
+                                           if (h) {
+                                            break Wa;
+                                           }
+                                           q[d + 28 >> 2] = i;
+                                           q[d + 32 >> 2] = g;
+                                           q[a + 4 >> 2] = b;
+                                           b = q[a >> 2];
+                                           q[a >> 2] = f;
+                                           q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                                           q[d + 52 >> 2] = c;
+                                           b = Am(d, a, m);
+                                           break Ha;
+                                          }
+                                          q[d + 52 >> 2] = l;
+                                          c = i >>> 0 > 7;
+                                          f = c ? f + -1 | 0 : f;
+                                          i = c ? i + -8 | 0 : i;
+                                          b = b + c | 0;
+                                          c = Am(d, a, j);
+                                          l = q[d + 52 >> 2];
+                                          if ((l | 0) != q[d + 48 >> 2]) {
+                                           q[d + 28 >> 2] = i;
+                                           q[d + 32 >> 2] = g;
+                                           q[a + 4 >> 2] = b;
+                                           b = q[a >> 2];
+                                           q[a >> 2] = f;
+                                           q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                                           b = Am(d, a, c);
+                                           break Ha;
+                                          }
+                                          q[k >> 2] = 8;
+                                         }
+                                         q[d + 28 >> 2] = i;
+                                         q[d + 32 >> 2] = g;
+                                         q[a + 4 >> 2] = b;
+                                         b = q[a >> 2];
+                                         q[a >> 2] = f;
+                                         q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                                         q[d + 52 >> 2] = l;
+                                         b = Am(d, a, 1);
+                                         break Ha;
+                                        }
+                                        q[d + 28 >> 2] = i;
+                                        q[d + 32 >> 2] = g;
+                                        q[a + 4 >> 2] = b;
+                                        b = q[a >> 2];
+                                        q[a >> 2] = f;
+                                        q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                                        break Ka;
+                                       }
+                                       q[d + 28 >> 2] = i;
+                                       q[d + 32 >> 2] = g;
+                                       q[a + 4 >> 2] = b;
+                                       b = q[a >> 2];
+                                       q[a >> 2] = f;
+                                       q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                                       q[d + 52 >> 2] = l;
+                                       b = Am(d, a, -2);
+                                       break Ha;
+                                      }
+                                      o[c | 0] = q[k + 8 >> 2];
+                                      e = 0;
+                                      q[k >> 2] = 0;
+                                      h = h + -1 | 0;
+                                      l = c + 1 | 0;
+                                      j = 0;
+                                      continue;
+                                     }
+                                     gb : {
+                                      while (1) {
+                                       s = m + 1 | 0;
+                                       c = c + -1 | 0;
+                                       g = r[m | 0] << e | g;
+                                       e = e + 8 | 0;
+                                       if (e >>> 0 >= u >>> 0) {
+                                        break gb;
+                                       }
+                                       m = s;
+                                       if (c) {
+                                        continue;
+                                       }
+                                       break;
+                                      }
+                                      j = 0;
+                                      break Ia;
+                                     }
+                                     j = 0;
+                                     f = s;
+                                     b = c;
+                                    }
+                                    q[k >> 2] = 5;
+                                    c = q[k + 12 >> 2] + (q[(u << 2) + 19664 >> 2] & g) | 0;
+                                    q[k + 12 >> 2] = c;
+                                    i = e - u | 0;
+                                    g = g >>> u | 0;
+                                    break Ma;
+                                   }
+                                   hb : {
+                                    while (1) {
+                                     s = m + 1 | 0;
+                                     c = c + -1 | 0;
+                                     g = r[m | 0] << e | g;
+                                     e = e + 8 | 0;
+                                     if (e >>> 0 >= w >>> 0) {
+                                      break hb;
+                                     }
+                                     m = s;
+                                     if (c) {
+                                      continue;
+                                     }
+                                     break;
+                                    }
+                                    j = 0;
+                                    break Ia;
+                                   }
+                                   j = 0;
+                                   f = s;
+                                   b = c;
+                                  }
+                                  q[k >> 2] = 3;
+                                  u = r[k + 17 | 0];
+                                  q[k + 12 >> 2] = u;
+                                  q[k + 8 >> 2] = q[k + 24 >> 2];
+                                  q[k + 4 >> 2] = q[k + 4 >> 2] + (q[(w << 2) + 19664 >> 2] & g);
+                                  i = e - w | 0;
+                                  g = g >>> w | 0;
+                                  break La;
+                                 }
+                                 ib : {
+                                  while (1) {
+                                   s = m + 1 | 0;
+                                   c = c + -1 | 0;
+                                   g = r[m | 0] << e | g;
+                                   e = e + 8 | 0;
+                                   if (e >>> 0 >= u >>> 0) {
+                                    break ib;
+                                   }
+                                   m = s;
+                                   if (c) {
+                                    continue;
+                                   }
+                                   break;
+                                  }
+                                  j = 0;
+                                  break Ia;
+                                 }
+                                 j = 0;
+                                }
+                                f = e;
+                                b = q[k + 8 >> 2] + ((q[(u << 2) + 19664 >> 2] & g) << 3) | 0;
+                                e = r[b + 1 | 0];
+                                i = f - e | 0;
+                                g = g >>> e | 0;
+                                e = r[b | 0];
+                                if (e) {
+                                 break Pa;
+                                }
+                                b = q[b + 4 >> 2];
+                                q[k >> 2] = 6;
+                                q[k + 8 >> 2] = b;
+                                e = 6;
+                                break Oa;
+                               }
+                               if (e & 16) {
+                                q[k + 8 >> 2] = e & 15;
+                                b = q[b + 4 >> 2];
+                                q[k >> 2] = 2;
+                                q[k + 4 >> 2] = b;
+                                e = 2;
+                                break Oa;
+                               }
+                               if (!(e & 64)) {
+                                q[k + 12 >> 2] = e;
+                                q[k + 8 >> 2] = b + (q[b + 4 >> 2] << 3);
+                                e = 1;
+                                break Oa;
+                               }
+                               if (!(e & 32)) {
+                                break Na;
+                               }
+                               q[k >> 2] = 7;
+                               e = 7;
+                              }
+                              f = s;
+                              b = c;
+                              continue;
+                             }
+                             q[k >> 2] = 9;
+                             q[a + 24 >> 2] = 24847;
+                             q[d + 28 >> 2] = i;
+                             q[d + 32 >> 2] = g;
+                             q[a + 4 >> 2] = c;
+                             b = q[a >> 2];
+                             q[a >> 2] = s;
+                             q[a + 8 >> 2] = q[a + 8 >> 2] + (s - b | 0);
+                             break Ka;
+                            }
+                            e = l - c | 0;
+                            c = q[d + 40 >> 2];
+                            if (e >>> 0 < c >>> 0) {
+                             m = q[d + 44 >> 2] - c | 0;
+                             while (1) {
+                              e = e + m | 0;
+                              if (e >>> 0 < c >>> 0) {
+                               continue;
+                              }
+                              break;
+                             }
+                            }
+                            if (q[k + 4 >> 2]) {
+                             while (1) {
+                              jb : {
+                               if (h) {
+                                c = l;
+                                break jb;
+                               }
+                               kb : {
+                                if (q[d + 44 >> 2] != (l | 0)) {
+                                 c = l;
+                                 break kb;
+                                }
+                                c = q[d + 40 >> 2];
+                                h = q[d + 48 >> 2];
+                                if ((c | 0) == (h | 0)) {
+                                 c = l;
+                                 break kb;
+                                }
+                                h = c >>> 0 < h >>> 0 ? h + (c ^ -1) | 0 : l - c | 0;
+                                if (h) {
+                                 break jb;
+                                }
+                               }
+                               q[d + 52 >> 2] = c;
+                               l = Am(d, a, j);
+                               j = q[d + 52 >> 2];
+                               m = q[d + 48 >> 2];
+                               lb : {
+                                if (j >>> 0 < m >>> 0) {
+                                 c = q[d + 44 >> 2];
+                                 h = m + (j ^ -1) | 0;
+                                 break lb;
+                                }
+                                c = q[d + 44 >> 2];
+                                h = c - j | 0;
+                               }
+                               mb : {
+                                if ((c | 0) != (j | 0)) {
+                                 c = j;
+                                 break mb;
+                                }
+                                c = q[d + 40 >> 2];
+                                if ((m | 0) == (c | 0)) {
+                                 c = j;
+                                 break mb;
+                                }
+                                h = c >>> 0 < m >>> 0 ? m + (c ^ -1) | 0 : j - c | 0;
+                               }
+                               if (h) {
+                                break jb;
+                               }
+                               q[d + 28 >> 2] = i;
+                               q[d + 32 >> 2] = g;
+                               q[a + 4 >> 2] = b;
+                               b = q[a >> 2];
+                               q[a >> 2] = f;
+                               q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                               q[d + 52 >> 2] = c;
+                               b = Am(d, a, l);
+                               break Ha;
+                              }
+                              o[c | 0] = r[e | 0];
+                              e = e + 1 | 0;
+                              if ((e | 0) == q[d + 44 >> 2]) {
+                               e = q[d + 40 >> 2];
+                              }
+                              h = h + -1 | 0;
+                              l = c + 1 | 0;
+                              c = q[k + 4 >> 2] + -1 | 0;
+                              q[k + 4 >> 2] = c;
+                              j = 0;
+                              if (c) {
+                               continue;
+                              }
+                              break;
+                             }
+                            }
+                            e = 0;
+                            q[k >> 2] = 0;
+                            continue;
+                           }
+                           nb : {
+                            ob : {
+                             if (i >>> 0 >= u >>> 0) {
+                              e = i;
+                              s = f;
+                              c = b;
+                              break ob;
+                             }
+                             e = i;
+                             m = f;
+                             c = b;
+                             if (!c) {
+                              break Ia;
+                             }
+                             pb : {
+                              while (1) {
+                               s = m + 1 | 0;
+                               c = c + -1 | 0;
+                               g = r[m | 0] << e | g;
+                               e = e + 8 | 0;
+                               if (e >>> 0 >= u >>> 0) {
+                                break pb;
+                               }
+                               m = s;
+                               if (c) {
+                                continue;
+                               }
+                               break;
+                              }
+                              j = 0;
+                              break Ia;
+                             }
+                             j = 0;
+                            }
+                            i = e;
+                            m = q[k + 8 >> 2];
+                            f = q[(u << 2) + 19664 >> 2] & g;
+                            b = m + (f << 3) | 0;
+                            e = r[b + 1 | 0];
+                            i = i - e | 0;
+                            g = g >>> e | 0;
+                            e = r[b | 0];
+                            if (!(e & 16)) {
+                             break nb;
+                            }
+                            q[k + 8 >> 2] = e & 15;
+                            b = q[b + 4 >> 2];
+                            e = 4;
+                            q[k >> 2] = 4;
+                            q[k + 12 >> 2] = b;
+                            break Ja;
+                           }
+                           if (!(e & 64)) {
+                            q[k + 12 >> 2] = e;
+                            e = 3;
+                            q[k + 8 >> 2] = b + (q[(m + (f << 3) | 0) + 4 >> 2] << 3);
+                            break Ja;
+                           }
+                           q[k >> 2] = 9;
+                           q[a + 24 >> 2] = 24875;
+                           q[d + 28 >> 2] = i;
+                           q[d + 32 >> 2] = g;
+                           q[a + 4 >> 2] = c;
+                           b = q[a >> 2];
+                           q[a >> 2] = s;
+                           q[a + 8 >> 2] = q[a + 8 >> 2] + (s - b | 0);
+                          }
+                          q[d + 52 >> 2] = l;
+                          b = Am(d, a, -3);
+                          break Ha;
+                         }
+                         f = s;
+                         b = c;
+                         continue;
+                        }
+                        break;
+                       }
+                       q[d + 32 >> 2] = g;
+                       q[d + 28 >> 2] = (b << 3) + i;
+                       q[a + 4 >> 2] = 0;
+                       c = q[a >> 2];
+                       b = b + f | 0;
+                       q[a >> 2] = b;
+                       q[a + 8 >> 2] = q[a + 8 >> 2] + (b - c | 0);
+                       q[d + 52 >> 2] = l;
+                       b = Am(d, a, j);
+                      }
+                      if ((b | 0) != 1) {
+                       x = Am(d, a, b);
+                       break q;
+                      }
+                      n[q[a + 36 >> 2]](q[a + 40 >> 2], q[d + 4 >> 2]);
+                      i = q[d + 28 >> 2];
+                      g = q[d + 32 >> 2];
+                      b = q[a + 4 >> 2];
+                      f = q[a >> 2];
+                      l = q[d + 52 >> 2];
+                      c = q[d + 48 >> 2];
+                      qb : {
+                       if (l >>> 0 < c >>> 0) {
+                        e = c + (l ^ -1) | 0;
+                        break qb;
+                       }
+                       e = q[d + 44 >> 2] - l | 0;
+                      }
+                      if (!q[d + 24 >> 2]) {
+                       j = 0;
+                       q[d >> 2] = 0;
+                       continue;
+                      }
+                      q[d >> 2] = 7;
+                      j = 0;
+                     }
+                     q[d + 52 >> 2] = l;
+                     c = Am(d, a, j);
+                     l = q[d + 52 >> 2];
+                     if ((l | 0) != q[d + 48 >> 2]) {
+                      q[d + 28 >> 2] = i;
+                      q[d + 32 >> 2] = g;
+                      q[a + 4 >> 2] = b;
+                      b = q[a >> 2];
+                      q[a >> 2] = f;
+                      q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                      x = Am(d, a, c);
+                      break q;
+                     }
+                     q[d >> 2] = 8;
+                    }
+                    q[d + 28 >> 2] = i;
+                    q[d + 32 >> 2] = g;
+                    q[a + 4 >> 2] = b;
+                    b = q[a >> 2];
+                    q[a >> 2] = f;
+                    q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                    q[d + 52 >> 2] = l;
+                    x = Am(d, a, 1);
+                    break q;
+                   }
+                   j = c;
+                   c = q[d + 4 >> 2];
+                   c = c >>> 0 > b >>> 0 ? b : c;
+                   c = c >>> 0 > e >>> 0 ? e : c;
+                   j = Y$(j, f, c);
+                   h = q[d + 4 >> 2] - c | 0;
+                   q[d + 4 >> 2] = h;
+                   e = e - c | 0;
+                   l = c + j | 0;
+                   b = b - c | 0;
+                   f = c + f | 0;
+                   j = 0;
+                   if (h) {
+                    continue;
+                   }
+                   q[d >> 2] = q[d + 24 >> 2] ? 7 : 0;
+                   continue;
+                  }
+                  rb : {
+                   while (1) {
+                    h = i + 8 | 0;
+                    c = f + 1 | 0;
+                    b = b + -1 | 0;
+                    g = r[f | 0] << i | g;
+                    if (i >>> 0 >= 24) {
+                     break rb;
+                    }
+                    i = h;
+                    f = c;
+                    if (b) {
+                     continue;
+                    }
+                    break;
+                   }
+                   j = 0;
+                   break v;
+                  }
+                  j = 0;
+                 }
+                 f = (g ^ -1) >>> 16 | 0;
+                 if ((f | 0) == (g & 65535)) {
+                  break u;
+                 }
+                 q[d >> 2] = 9;
+                 q[a + 24 >> 2] = 19510;
+                 q[d + 28 >> 2] = h;
+                 q[d + 32 >> 2] = g;
+                 q[a + 4 >> 2] = b;
+                 b = q[a >> 2];
+                 q[a >> 2] = c;
+                 q[a + 8 >> 2] = q[a + 8 >> 2] + (c - b | 0);
+                 break t;
+                }
+                q[d + 28 >> 2] = i;
+                q[d + 32 >> 2] = g;
+                q[a + 4 >> 2] = 0;
+                b = q[a >> 2];
+                q[a >> 2] = f;
+                q[a + 8 >> 2] = q[a + 8 >> 2] + (f - b | 0);
+                break r;
+               }
+               q[d + 4 >> 2] = f;
+               if (f) {
+                g = 0;
+                h = 2;
+                break s;
+               }
+               g = 0;
+               h = q[d + 24 >> 2] ? 7 : 0;
+               break s;
+              }
+              q[d + 52 >> 2] = l;
+              x = Am(d, a, -3);
+              break q;
+             }
+             i = 0;
+             f = c;
+             q[d >> 2] = h;
+             continue;
+            }
+            break;
+           }
+           q[d + 52 >> 2] = l;
+           x = Am(d, a, j);
+          }
+          b = x + 3 | 0;
+          if (b >>> 0 > 4) {
+           break d;
+          }
+          e = y;
+          sb : {
+           switch (b - 1 | 0) {
+           default:
+            b = q[a + 28 >> 2];
+            q[b >> 2] = 13;
+            q[b + 4 >> 2] = 0;
+            j = -3;
+            c = q[a + 28 >> 2];
+            continue;
+           case 2:
+            break a;
+           case 3:
+            break sb;
+           case 0:
+           case 1:
+            break d;
+           }
+          }
+          b = q[a + 28 >> 2];
+          c = q[b + 20 >> 2];
+          q[b + 4 >> 2] = q[c + 60 >> 2];
+          b = q[c >> 2];
+          if ((b & -2) == 4) {
+           n[q[a + 36 >> 2]](q[a + 40 >> 2], q[c + 12 >> 2]);
+           b = q[c >> 2];
+          }
+          if ((b | 0) == 6) {
+           n[q[a + 36 >> 2]](q[a + 40 >> 2], q[c + 4 >> 2]);
+          }
+          q[c + 28 >> 2] = 0;
+          q[c + 32 >> 2] = 0;
+          q[c >> 2] = 0;
+          b = q[c + 40 >> 2];
+          q[c + 52 >> 2] = b;
+          q[c + 48 >> 2] = b;
+          b = q[c + 56 >> 2];
+          if (b) {
+           b = n[b](0, 0, 0) | 0;
+           q[c + 60 >> 2] = b;
+           q[a + 48 >> 2] = b;
+          }
+          c = q[a + 28 >> 2];
+          if (q[c + 12 >> 2]) {
+           q[c >> 2] = 12;
+           break b;
+          }
+          q[c >> 2] = 8;
+          j = y;
+         }
+         e = j;
+         b = q[a + 4 >> 2];
+         if (!b) {
+          break a;
+         }
+         q[a + 4 >> 2] = b + -1;
+         q[a + 8 >> 2] = q[a + 8 >> 2] + 1;
+         b = q[a >> 2];
+         q[a >> 2] = b + 1;
+         q[c + 8 >> 2] = r[b | 0] << 24;
+         c = q[a + 28 >> 2];
+         q[c >> 2] = 9;
+         j = y;
+        }
+        e = j;
+        b = q[a + 4 >> 2];
+        if (!b) {
+         break a;
+        }
+        q[a + 4 >> 2] = b + -1;
+        q[a + 8 >> 2] = q[a + 8 >> 2] + 1;
+        b = q[a >> 2];
+        q[a >> 2] = b + 1;
+        c = c + 8 | 0;
+        q[c >> 2] = q[c >> 2] + (r[b | 0] << 16);
+        c = q[a + 28 >> 2];
+        q[c >> 2] = 10;
+        j = y;
+       }
+       e = j;
+       b = q[a + 4 >> 2];
+       if (!b) {
+        break a;
+       }
+       q[a + 4 >> 2] = b + -1;
+       q[a + 8 >> 2] = q[a + 8 >> 2] + 1;
+       b = q[a >> 2];
+       q[a >> 2] = b + 1;
+       c = c + 8 | 0;
+       q[c >> 2] = q[c >> 2] + (r[b | 0] << 8);
+       c = q[a + 28 >> 2];
+       q[c >> 2] = 11;
+       j = y;
+      }
+      e = j;
+      b = q[a + 4 >> 2];
+      if (!b) {
+       break a;
+      }
+      q[a + 4 >> 2] = b + -1;
+      q[a + 8 >> 2] = q[a + 8 >> 2] + 1;
+      b = q[a >> 2];
+      q[a >> 2] = b + 1;
+      c = c + 8 | 0;
+      q[c >> 2] = q[c >> 2] + r[b | 0];
+      b = q[a + 28 >> 2];
+      if (q[b + 4 >> 2] != q[b + 8 >> 2]) {
+       q[b >> 2] = 13;
+       q[a + 24 >> 2] = 19470;
+       q[b + 4 >> 2] = 5;
+       break b;
+      }
+      q[b >> 2] = 12;
+      e = 1;
+      break a;
+     }
+     e = x;
+     break a;
+    }
+    q[c + 4 >> 2] = 5;
+   }
+   c = q[a + 28 >> 2];
+   j = y;
+   continue;
+  }
+ }
+ Ca = v + 32 | 0;
+ return e;
+}
+function GM(a, b, c) {
+ var d = 0, e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, s = 0, t = 0, u = 0, x = 0, z = 0, A = 0, C = 0, D = 0, E = 0, G = 0, H = 0, I = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ba = 0, ca = 0, da = 0, ea = 0, fa = 0, ga = 0, ha = 0, ia = 0, ja = 0, ka = 0, la = 0, ma = 0, na = 0, oa = 0, pa = 0, qa = 0, ra = 0, sa = 0, ta = 0, ua = 0, va = 0, wa = 0, xa = 0, ya = 0, za = 0, Aa = 0;
+ k = Ca - 224 | 0;
+ Ca = k;
+ a : {
+  if (q[b + 24 >> 2] >= q[q[a + 160 >> 2] >> 2]) {
+   Yd(q[a >> 2], 2, 355507, 0);
+   break a;
+  }
+  if (!q[b + 48 >> 2]) {
+   Yd(q[a >> 2], 2, 355522, 0);
+   break a;
+  }
+  e = a + 220 | 0;
+  bM(q[e >> 2]);
+  i = a + 504 | 0;
+  M$(q[i >> 2]);
+  d = a + 472 | 0;
+  M$(q[d >> 2]);
+  q[i >> 2] = 0;
+  q[e >> 2] = 0;
+  q[d >> 2] = 0;
+  if (q[a + 692 >> 2] >= 1) {
+   d = 0;
+   while (1) {
+    M$(q[(q[a + 688 >> 2] + w(d, 336) | 0) + 32 >> 2]);
+    d = d + 1 | 0;
+    if ((d | 0) < q[a + 692 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[a + 208 >> 2] = b;
+  q[a + 692 >> 2] = 0;
+  i = a + 288 | 0;
+  q[i >> 2] = 0;
+  q[a + 216 >> 2] = 0;
+  d = q[a + 160 >> 2];
+  q[a + 520 >> 2] = q[d + 56 >> 2];
+  q[a + 400 >> 2] = 0;
+  q[a + 404 >> 2] = 0;
+  q[a + 296 >> 2] = 0;
+  q[a + 300 >> 2] = 0;
+  q[a + 304 >> 2] = 0;
+  q[a + 308 >> 2] = 0;
+  q[a + 312 >> 2] = 0;
+  q[a + 316 >> 2] = 0;
+  q[a + 320 >> 2] = 0;
+  q[a + 324 >> 2] = 0;
+  o[a + 328 | 0] = 0;
+  q[a + 408 >> 2] = q[d + 36 >> 2];
+  q[a + 412 >> 2] = q[d + 40 >> 2];
+  q[a + 420 >> 2] = 0;
+  q[a + 456 >> 2] = 0;
+  q[a + 492 >> 2] = 0;
+  q[a + 484 >> 2] = 0;
+  q[a + 488 >> 2] = 0;
+  q[a + 464 >> 2] = 0;
+  q[a + 468 >> 2] = 0;
+  p[a + 416 >> 1] = 256;
+  aN(a, b);
+  e = a;
+  if (q[i >> 2]) {
+   d = 1;
+  } else {
+   d = (dN(q[b + 48 >> 2]) | 0) != 0;
+  }
+  q[e + 536 >> 2] = d;
+  BM(a, 0);
+  d = q[a + 212 >> 2];
+  q[a + 236 >> 2] = q[d + 104 >> 2];
+  q[a + 240 >> 2] = q[d + 136 >> 2];
+  j = q[b + 48 >> 2];
+  q[k + 64 >> 2] = j;
+  ka = a + 688 | 0;
+  while (1) {
+   b : {
+    d = r[j | 0];
+    i = (d | 0) == 123;
+    c : {
+     if (!i) {
+      if (!d) {
+       break b;
+      }
+      break c;
+     }
+     d = eZ(j, 125);
+     if (!d) {
+      break c;
+     }
+     d = $M(a, j, d, 1, 0);
+     q[k + 64 >> 2] = d;
+     if (r[d | 0] == 125) {
+      j = d + 1 | 0;
+      q[k + 64 >> 2] = j;
+      continue;
+     }
+     J(355593, 355425, 1866, 355603);
+     F();
+    }
+    d : {
+     if (q[a + 456 >> 2]) {
+      d = i ? j + 1 | 0 : j;
+      while (1) {
+       i = r[d | 0];
+       if (!(!i | (i | 0) == 123)) {
+        d = d + 1 | 0;
+        continue;
+       }
+       break;
+      }
+      i = bZ(j, d - j | 0);
+      q[k + 64 >> 2] = d;
+      t = 65532;
+      break d;
+     }
+     i = 0;
+     t = cN(a, k - -64 | 0);
+     if (!t) {
+      break b;
+     }
+    }
+    if (!q[a + 220 >> 2]) {
+     j = 0;
+     bM(0);
+     M$(q[a + 504 >> 2]);
+     M$(q[a + 472 >> 2]);
+     q[a + 504 >> 2] = 0;
+     q[a + 220 >> 2] = 0;
+     q[a + 472 >> 2] = 0;
+     if (q[a + 692 >> 2] >= 1) {
+      d = 0;
+      while (1) {
+       M$(q[(q[a + 688 >> 2] + w(d, 336) | 0) + 32 >> 2]);
+       d = d + 1 | 0;
+       if ((d | 0) < q[a + 692 >> 2]) {
+        continue;
+       }
+       break;
+      }
+     }
+     q[a + 692 >> 2] = 0;
+     M$(i);
+     break a;
+    }
+    d = q[a + 692 >> 2];
+    e = q[a + 720 >> 2];
+    e : {
+     if ((d | 0) < (e | 0)) {
+      j = q[ka >> 2];
+      break e;
+     }
+     q[a + 720 >> 2] = e << 1;
+     j = O$(q[a + 688 >> 2], w(e, 672));
+     q[a + 688 >> 2] = j;
+     d = q[a + 692 >> 2];
+    }
+    d = Z$(w(d, 336) + j | 0, 0, 336);
+    f : {
+     if (i) {
+      q[d + 32 >> 2] = i;
+      q[d + 36 >> 2] = q[a + 456 >> 2];
+      e = d;
+      h = v[a + 464 >> 3];
+      g : {
+       if (y(h) < 2147483648) {
+        j = ~~h;
+        break g;
+       }
+       j = -2147483648;
+      }
+      q[e + 40 >> 2] = j;
+      q[d >> 2] = t;
+      q[d + 8 >> 2] = q[a + 220 >> 2];
+      break f;
+     }
+     q[d >> 2] = t;
+     e = q[a + 220 >> 2];
+     q[d + 8 >> 2] = e;
+     qM(e);
+    }
+    C = d + 8 | 0;
+    j = q[a + 384 >> 2];
+    q[k + 176 >> 2] = j;
+    e = d;
+    s = q[a + 420 >> 2];
+    if ((s | 0) >= 1) {
+     ZM(k + 176 | 0, _M(j & 255, s));
+     j = q[k + 176 >> 2];
+    }
+    q[e + 116 >> 2] = j;
+    j = q[a + 388 >> 2];
+    q[k + 176 >> 2] = j;
+    s = q[a + 420 >> 2];
+    if ((s | 0) > 0) {
+     ZM(k + 176 | 0, _M(j & 255, s));
+     j = q[k + 176 >> 2];
+    }
+    q[e + 120 >> 2] = j;
+    j = q[a + 392 >> 2];
+    q[k + 176 >> 2] = j;
+    s = q[a + 420 >> 2];
+    if ((s | 0) >= 1) {
+     ZM(k + 176 | 0, _M(j & 255, s));
+     j = q[k + 176 >> 2];
+    }
+    q[e + 124 >> 2] = j;
+    j = q[a + 396 >> 2];
+    q[k + 176 >> 2] = j;
+    s = q[a + 420 >> 2];
+    if ((s | 0) >= 1) {
+     ZM(k + 176 | 0, _M(j & 255, s));
+     j = q[k + 176 >> 2];
+    }
+    q[e + 128 >> 2] = j;
+    q[d + 152 >> 2] = q[a + 484 >> 2];
+    q[d + 156 >> 2] = q[a + 488 >> 2];
+    q[d + 160 >> 2] = q[a + 492 >> 2];
+    u = v[a + 176 >> 3];
+    l = v[a + 224 >> 3] * u;
+    v[d + 24 >> 3] = l;
+    q[d + 172 >> 2] = o[a + 424 | 0];
+    e = q[a + 436 >> 2];
+    q[d + 176 >> 2] = q[a + 432 >> 2];
+    q[d + 180 >> 2] = e;
+    e = q[a + 444 >> 2];
+    q[d + 184 >> 2] = q[a + 440 >> 2];
+    q[d + 188 >> 2] = e;
+    e = q[a + 452 >> 2];
+    q[d + 192 >> 2] = q[a + 448 >> 2];
+    q[d + 196 >> 2] = e;
+    M = q[a + 340 >> 2];
+    s = q[a + 336 >> 2];
+    q[d + 240 >> 2] = s;
+    q[d + 244 >> 2] = M;
+    e = q[a + 348 >> 2];
+    A = e;
+    x = q[a + 344 >> 2];
+    q[d + 248 >> 2] = x;
+    q[d + 252 >> 2] = e;
+    q[d + 264 >> 2] = q[a + 360 >> 2];
+    e = q[a + 372 >> 2];
+    q[d + 272 >> 2] = q[a + 368 >> 2];
+    q[d + 276 >> 2] = e;
+    e = q[a + 380 >> 2];
+    q[d + 280 >> 2] = q[a + 376 >> 2];
+    q[d + 284 >> 2] = e;
+    I = q[a + 356 >> 2];
+    j = q[a + 352 >> 2];
+    q[d + 288 >> 2] = j;
+    q[d + 292 >> 2] = I;
+    q[d + 304 >> 2] = q[a + 508 >> 2];
+    q[d + 300 >> 2] = q[a + 512 >> 2];
+    e = q[a + 232 >> 2];
+    q[d + 308 >> 2] = e;
+    f(0, s | 0);
+    f(1, M | 0);
+    m = +g();
+    f(0, j | 0);
+    f(1, I | 0);
+    h = +g();
+    if (!(!q[q[C >> 2] + 12 >> 2] | t >>> 0 < 753)) {
+     q[d + 308 >> 2] = e | 4;
+    }
+    e = q[a + 252 >> 2];
+    q[d + 200 >> 2] = q[a + 248 >> 2];
+    q[d + 204 >> 2] = e;
+    e = q[a + 260 >> 2];
+    q[d + 208 >> 2] = q[a + 256 >> 2];
+    q[d + 212 >> 2] = e;
+    e = q[a + 268 >> 2];
+    q[d + 216 >> 2] = q[a + 264 >> 2];
+    q[d + 220 >> 2] = e;
+    e = q[a + 276 >> 2];
+    q[d + 224 >> 2] = q[a + 272 >> 2];
+    q[d + 228 >> 2] = e;
+    s = q[a + 280 >> 2];
+    j = q[a + 284 >> 2];
+    e = d;
+    h = u * h * m * 64;
+    h : {
+     if (y(h) < 2147483648) {
+      t = ~~h;
+      break h;
+     }
+     t = -2147483648;
+    }
+    q[e + 296 >> 2] = t;
+    q[d + 232 >> 2] = s;
+    q[d + 236 >> 2] = j;
+    q[d + 256 >> 2] = 0;
+    q[d + 260 >> 2] = 1072693248;
+    if (!i) {
+     f(0, x | 0);
+     f(1, A | 0);
+     u = +g();
+     h = q[a + 88 >> 2] ? l * u : 256;
+     l = l / h;
+     v[d + 256 >> 3] = 1 / l;
+     v[d + 240 >> 3] = l * m;
+     v[d + 248 >> 3] = l * u;
+     v[d + 24 >> 3] = h;
+    }
+    q[a + 492 >> 2] = 0;
+    q[a + 484 >> 2] = 0;
+    q[a + 488 >> 2] = 0;
+    q[a + 692 >> 2] = q[a + 692 >> 2] + 1;
+    j = q[k + 64 >> 2];
+    continue;
+   }
+   break;
+  }
+  if (!q[a + 692 >> 2]) {
+   bM(q[a + 220 >> 2]);
+   M$(q[a + 504 >> 2]);
+   M$(q[a + 472 >> 2]);
+   j = 0;
+   q[a + 504 >> 2] = 0;
+   q[a + 220 >> 2] = 0;
+   q[a + 472 >> 2] = 0;
+   if (q[a + 692 >> 2] >= 1) {
+    d = 0;
+    while (1) {
+     M$(q[(q[a + 688 >> 2] + w(d, 336) | 0) + 32 >> 2]);
+     d = d + 1 | 0;
+     if ((d | 0) < q[a + 692 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[a + 692 >> 2] = 0;
+   break a;
+  }
+  Va(q[a + 116 >> 2], q[a + 524 >> 2] == -1 ? 64 : 272);
+  zN(a, q[a + 688 >> 2], q[a + 692 >> 2]);
+  if ((AN(q[a + 116 >> 2], ka) | 0) <= -1) {
+   j = 0;
+   Yd(q[a >> 2], 1, 355534, 0);
+   bM(q[a + 220 >> 2]);
+   M$(q[a + 504 >> 2]);
+   M$(q[a + 472 >> 2]);
+   q[a + 504 >> 2] = 0;
+   q[a + 220 >> 2] = 0;
+   q[a + 472 >> 2] = 0;
+   if (q[a + 692 >> 2] >= 1) {
+    d = 0;
+    while (1) {
+     M$(q[(q[a + 688 >> 2] + w(d, 336) | 0) + 32 >> 2]);
+     d = d + 1 | 0;
+     if ((d | 0) < q[a + 692 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[a + 692 >> 2] = 0;
+   break a;
+  }
+  i : {
+   if (q[a + 692 >> 2] < 1) {
+    break i;
+   }
+   x = q[a + 688 >> 2];
+   e = 0;
+   while (1) {
+    if (x) {
+     d = x + w(e, 336) | 0;
+     while (1) {
+      s = d;
+      j : {
+       k : {
+        l : {
+         i = q[d + 32 >> 2];
+         if (i) {
+          q[k + 72 >> 2] = i;
+          q[k + 64 >> 2] = 1;
+          i = pM(q[a + 740 >> 2], k - -64 | 0, a);
+          if (r[i | 0] ? i : 0) {
+           break l;
+          }
+          bM(i);
+          break j;
+         }
+         q[k + 64 >> 2] = 0;
+         q[k + 72 >> 2] = q[d + 8 >> 2];
+         i = q[d + 28 >> 2];
+         q[k + 80 >> 2] = q[d + 24 >> 2];
+         q[k + 84 >> 2] = i;
+         q[k + 88 >> 2] = q[d + 12 >> 2];
+         q[k + 92 >> 2] = q[d + 16 >> 2];
+         q[k + 96 >> 2] = q[d + 304 >> 2];
+         q[k + 100 >> 2] = q[d + 300 >> 2];
+         q[k + 104 >> 2] = q[d + 308 >> 2];
+         i = pM(q[a + 740 >> 2], k - -64 | 0, a);
+         if (!(!i | !r[i | 0])) {
+          j = q[i + 76 >> 2];
+          t = q[i + 72 >> 2];
+          m = v[d + 248 >> 3];
+          E = 0;
+          h = v[d + 240 >> 3];
+          break k;
+         }
+         bM(i);
+         break j;
+        }
+        h = v[a + 176 >> 3] / +(1 << q[d + 36 >> 2] + -1);
+        m = v[d + 248 >> 3] * h;
+        j = q[d + 40 >> 2] << 6;
+        t = q[i + 72 >> 2] - j | 0;
+        E = m * +(0 - t | 0);
+        h = v[d + 240 >> 3] * h;
+       }
+       v[s + 48 >> 3] = h;
+       q[d + 44 >> 2] = i;
+       v[d + 72 >> 3] = E;
+       s = d - -64 | 0;
+       q[s >> 2] = 0;
+       q[s + 4 >> 2] = 0;
+       v[d + 56 >> 3] = m;
+       ta = d, ua = oZ(h * +q[i + 52 >> 2] + 0), q[ta + 80 >> 2] = ua;
+       ta = d, ua = oZ(E + m * +q[i + 56 >> 2]), q[ta + 84 >> 2] = ua;
+       ta = d, ua = oZ(h * +q[i + 60 >> 2] + 0), q[ta + 88 >> 2] = ua;
+       ta = d, ua = oZ(E + m * +q[i + 64 >> 2]), q[ta + 92 >> 2] = ua;
+       if (!(q[a + 92 >> 2] ? !q[d + 32 >> 2] : 0)) {
+        i = q[i + 68 >> 2];
+        q[d + 144 >> 2] = 0;
+        q[d + 136 >> 2] = 0;
+        i = oZ(h * +(i | 0));
+        q[d + 140 >> 2] = i;
+        q[d + 132 >> 2] = i;
+       }
+       ta = d, ua = oZ(m * +(j | 0)), q[ta + 168 >> 2] = ua;
+       ta = d, ua = oZ(m * +(t | 0)), q[ta + 164 >> 2] = ua;
+      }
+      d = q[d + 332 >> 2];
+      if (d) {
+       continue;
+      }
+      break;
+     }
+    }
+    m : {
+     if (!e) {
+      break m;
+     }
+     d = e + -1 | 0;
+     if (q[(x + w(e, 336) | 0) + 300 >> 2] | !q[(x + w(d, 336) | 0) + 300 >> 2]) {
+      break m;
+     }
+     j = 0;
+     n : {
+      if (!d) {
+       break n;
+      }
+      while (1) {
+       i = x + w(d, 336) | 0;
+       if (q[i + 88 >> 2] != q[i + 80 >> 2]) {
+        j = d;
+        break n;
+       }
+       if (!q[i + 300 >> 2]) {
+        j = d;
+        break n;
+       }
+       d = d + -1 | 0;
+       if (d) {
+        continue;
+       }
+       break;
+      }
+     }
+     i = x + w(j, 336) | 0;
+     d = q[i + 88 >> 2];
+     if ((d | 0) <= q[i + 140 >> 2]) {
+      break m;
+     }
+     q[i + 140 >> 2] = d;
+    }
+    i = x + w(e, 336) | 0;
+    d = q[i + 140 >> 2] + q[i + 296 >> 2] | 0;
+    q[i + 140 >> 2] = d;
+    h = v[i + 232 >> 3] / v[i + 240 >> 3] * v[i + 248 >> 3] * +(d | 0);
+    d = i + 144 | 0;
+    h = h + +q[d >> 2];
+    o : {
+     if (y(h) < 2147483648) {
+      i = ~~h;
+      break o;
+     }
+     i = -2147483648;
+    }
+    q[d >> 2] = i;
+    e = e + 1 | 0;
+    s = q[a + 692 >> 2];
+    if ((e | 0) < (s | 0)) {
+     continue;
+    }
+    break;
+   }
+   if ((s | 0) < 1) {
+    break i;
+   }
+   e = q[a + 688 >> 2];
+   t = 0;
+   C = 0;
+   while (1) {
+    if (e) {
+     d = e + w(t, 336) | 0;
+     i = z;
+     j = C;
+     while (1) {
+      q[d + 96 >> 2] = i;
+      q[d + 100 >> 2] = j;
+      i = q[d + 132 >> 2] + i | 0;
+      j = q[d + 136 >> 2] + j | 0;
+      d = q[d + 332 >> 2];
+      if (d) {
+       continue;
+      }
+      break;
+     }
+    }
+    d = e + w(t, 336) | 0;
+    z = q[d + 140 >> 2] + z | 0;
+    C = q[d + 144 >> 2] + C | 0;
+    t = t + 1 | 0;
+    if ((s | 0) != (t | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  bN(a);
+  M = q[a + 236 >> 2];
+  d = q[b + 32 >> 2];
+  if (!d) {
+   d = q[q[a + 212 >> 2] + 108 >> 2];
+  }
+  i = q[b + 36 >> 2];
+  if (!i) {
+   i = q[q[a + 212 >> 2] + 112 >> 2];
+  }
+  O = q[b + 40 >> 2];
+  if (!O) {
+   O = q[q[a + 212 >> 2] + 116 >> 2];
+  }
+  e = q[q[a + 160 >> 2] + 36 >> 2];
+  h = +(e - i | 0);
+  p : {
+   if (q[a + 536 >> 2]) {
+    u = h;
+    h = +q[a + 148 >> 2];
+    m = v[a + 184 >> 3];
+    l = +(e | 0);
+    E = +q[a - -64 >> 2];
+    N = u * h / m / l + E;
+    G = +(d | 0);
+    h = G * h;
+    break p;
+   }
+   u = h;
+   h = +q[a + 156 >> 2];
+   m = v[a + 184 >> 3];
+   l = +(e | 0);
+   i = q[a - -64 >> 2];
+   E = +(((i | 0) > 0 ? i : 0) | 0);
+   N = u * h / m / l + E;
+   G = +(d | 0);
+   h = G * h;
+  }
+  H = N - (h / m / l + E);
+  q : {
+   r : {
+    s : {
+     t : {
+      u : {
+       if (q[a + 288 >> 2] != 2) {
+        q[a + 700 >> 2] = 1;
+        C = q[a + 692 >> 2];
+        if ((C | 0) < 1) {
+         break u;
+        }
+        e = -1;
+        d = 0;
+        i = q[a + 688 >> 2];
+        t = i;
+        while (1) {
+         j = w(d, 336) + i | 0;
+         i = q[j >> 2];
+         v : {
+          if ((i | 0) == 32) {
+           e = d;
+           break v;
+          }
+          w : {
+           x : {
+            if ((i | 0) == 10) {
+             i = q[a >> 2];
+             q[k + 16 >> 2] = d;
+             Yd(i, 7, 355616, k + 16 | 0);
+             z = 2;
+             i = d;
+             break x;
+            }
+            if (+(q[j + 96 >> 2] + q[j + 88 >> 2] | 0) * .015625 - +(q[t + 96 >> 2] + q[t + 80 >> 2] | 0) * .015625 >= H ^ 1 | q[a + 520 >> 2] == 2) {
+             break v;
+            }
+            if ((e | 0) >= 0) {
+             i = q[a >> 2];
+             q[k >> 2] = e;
+             Yd(i, 7, 355640, k);
+             z = 1;
+             i = e;
+             break x;
+            }
+            z = 1;
+            i = e;
+            if ((e | 0) == -1) {
+             break w;
+            }
+           }
+           j = i + 1 | 0;
+           i = q[a + 724 >> 2];
+           if (q[a + 700 >> 2] >= (i | 0)) {
+            q[a + 724 >> 2] = i << 1;
+            ta = a, ua = O$(q[a + 696 >> 2], w(i, 48)), q[ta + 696 >> 2] = ua;
+           }
+           C = q[a + 692 >> 2];
+           if ((j | 0) >= (C | 0)) {
+            break v;
+           }
+           t = q[a + 688 >> 2] + w(j, 336) | 0;
+           o[t + 112 | 0] = z;
+           q[a + 700 >> 2] = q[a + 700 >> 2] + 1;
+          }
+          e = -1;
+         }
+         d = d + 1 | 0;
+         if ((d | 0) >= (C | 0)) {
+          break u;
+         }
+         i = q[a + 688 >> 2];
+         continue;
+        }
+       }
+       d = q[a + 696 >> 2];
+       q[d + 16 >> 2] = 0;
+       q[d + 20 >> 2] = q[a + 692 >> 2];
+       q[a + 700 >> 2] = 1;
+       JM(a);
+       break t;
+      }
+      y : {
+       if (q[a + 520 >> 2] == 1) {
+        break y;
+       }
+       t = 0;
+       if ((C | 0) < 0) {
+        break y;
+       }
+       z = 1;
+       i = 0;
+       A = q[a + 688 >> 2];
+       e = A;
+       while (1) {
+        z : {
+         I = (t | 0) == (C | 0);
+         d = w(t, 336);
+         if (!(r[(d + A | 0) + 112 | 0] ? 0 : !I)) {
+          x = d + A | 0;
+          A : {
+           if (!i) {
+            s = z;
+            break A;
+           }
+           d = e;
+           if (r[d + 112 | 0] != 1) {
+            s = z;
+            break A;
+           }
+           B : {
+            while (1) {
+             d = d + -336 | 0;
+             if (d >>> 0 <= i >>> 0) {
+              break B;
+             }
+             if (q[d >> 2] == 32) {
+              continue;
+             }
+             break;
+            }
+            while (1) {
+             d = d + -336 | 0;
+             if (d >>> 0 <= i >>> 0) {
+              break B;
+             }
+             if (q[d >> 2] != 32) {
+              continue;
+             }
+             break;
+            }
+           }
+           j = d;
+           C : {
+            if (d >>> 0 <= i >>> 0) {
+             break C;
+            }
+            while (1) {
+             if (q[j >> 2] != 32) {
+              break C;
+             }
+             j = j + -336 | 0;
+             if (j >>> 0 > i >>> 0) {
+              continue;
+             }
+             break;
+            }
+           }
+           s = z;
+           z = q[x + -240 >> 2] + q[x + -248 >> 2] | 0;
+           D = q[d >> 2] == 32 ? d + 336 | 0 : d;
+           u = +((z - q[D + 80 >> 2] | 0) - q[D + 96 >> 2] | 0) * .015625;
+           d = q[i + 96 >> 2] + q[i + 80 >> 2] | 0;
+           h = +(q[j + 96 >> 2] + (q[j + 88 >> 2] - d | 0) | 0) * .015625;
+           l = h < u ? u - h : h - u;
+           u = +((z - q[e + 80 >> 2] | 0) - q[e + 96 >> 2] | 0) * .015625;
+           h = +((q[e + -240 >> 2] + q[e + -248 >> 2] | 0) - d | 0) * .015625;
+           if (!(l < (h < u ? u - h : h - u))) {
+            break A;
+           }
+           d = (A | 0) == (D | 0);
+           if (!(r[D + 112 | 0] ? 0 : !d)) {
+            q[a + 700 >> 2] = q[a + 700 >> 2] + -1;
+           }
+           if (!d) {
+            o[D + 112 | 0] = 1;
+           }
+           s = 0;
+           o[e + 112 | 0] = 0;
+          }
+          if (I) {
+           break z;
+          }
+          i = e;
+          z = s;
+          e = x;
+         }
+         t = t + 1 | 0;
+         continue;
+        }
+        z = 1;
+        t = 0;
+        i = 0;
+        e = A;
+        if (!s) {
+         continue;
+        }
+        break;
+       }
+      }
+      if (q[a + 700 >> 2] <= 0) {
+       break s;
+      }
+      JM(a);
+      z = q[a + 688 >> 2];
+      s = q[a + 692 >> 2];
+      i = s + -1 | 0;
+      D : {
+       if (i) {
+        while (1) {
+         e = z + w(i, 336) | 0;
+         d = q[e >> 2];
+         if (!(((d | 0) != 10 ? (d | 0) != 32 : 0) | r[e + 112 | 0])) {
+          q[e + 4 >> 2] = q[e + 4 >> 2] + 1;
+          i = i + -1 | 0;
+          if (i) {
+           continue;
+          }
+         }
+         break;
+        }
+        C = 1;
+        if ((s | 0) < 1) {
+         break D;
+        }
+       }
+       i = 0;
+       d = z;
+       while (1) {
+        e = q[d >> 2];
+        if (!(r[d + 112 | 0] | ((e | 0) != 10 ? (e | 0) != 32 : 0))) {
+         q[d + 4 >> 2] = q[d + 4 >> 2] + 1;
+         i = i + 1 | 0;
+         d = z + w(i, 336) | 0;
+         if ((i | 0) != (s | 0)) {
+          continue;
+         }
+        }
+        break;
+       }
+       C = 0;
+       while (1) {
+        j = z + w(C, 336) | 0;
+        E : {
+         if (!r[j + 112 | 0]) {
+          break E;
+         }
+         i = C + -1 | 0;
+         F : {
+          if (!i) {
+           break F;
+          }
+          while (1) {
+           e = z + w(i, 336) | 0;
+           d = q[e >> 2];
+           if (((d | 0) != 10 ? (d | 0) != 32 : 0) | r[e + 112 | 0]) {
+            break F;
+           }
+           q[e + 4 >> 2] = q[e + 4 >> 2] + 1;
+           i = i + -1 | 0;
+           if (i) {
+            continue;
+           }
+           break;
+          }
+         }
+         d = q[j >> 2];
+         if ((d | 0) != 10 ? (d | 0) != 32 : 0) {
+          break E;
+         }
+         q[j + 4 >> 2] = q[j + 4 >> 2] + 1;
+         i = C + 1 | 0;
+         G : {
+          if ((i | 0) >= (s | 0)) {
+           break G;
+          }
+          while (1) {
+           e = z + w(i, 336) | 0;
+           d = q[e >> 2];
+           if (((d | 0) != 10 ? (d | 0) != 32 : 0) | r[e + 112 | 0]) {
+            break G;
+           }
+           q[e + 4 >> 2] = q[e + 4 >> 2] + 1;
+           i = i + 1 | 0;
+           if ((s | 0) != (i | 0)) {
+            continue;
+           }
+           break;
+          }
+          i = s;
+         }
+         C = i + -1 | 0;
+        }
+        C = C + 1 | 0;
+        if ((C | 0) < (s | 0)) {
+         continue;
+        }
+        break;
+       }
+       C = 1;
+       if ((s | 0) < 1) {
+        break D;
+       }
+       j = z + w(s, 336) | 0;
+       d = 0;
+       i = z;
+       H : {
+        while (1) {
+         if (!q[i + 4 >> 2]) {
+          break H;
+         }
+         d = d + 1 | 0;
+         i = z + w(d, 336) | 0;
+         if ((d | 0) != (s | 0)) {
+          continue;
+         }
+         break;
+        }
+        i = j;
+       }
+       l = +(0 - q[i + 96 >> 2] | 0) * .015625;
+       m = 0;
+       d = 0;
+       while (1) {
+        e = w(d, 336);
+        i = e + z | 0;
+        I : {
+         if (!r[i + 112 | 0]) {
+          e = q[(e + z | 0) + 96 >> 2];
+          break I;
+         }
+         J : {
+          if ((d | 0) >= (s | 0)) {
+           break J;
+          }
+          while (1) {
+           if (!q[i + 4 >> 2] | q[i >> 2] == 10) {
+            break J;
+           }
+           d = d + 1 | 0;
+           i = z + w(d, 336) | 0;
+           if ((d | 0) != (s | 0)) {
+            continue;
+           }
+           break;
+          }
+          i = j;
+          d = s;
+         }
+         e = q[a + 696 >> 2] + w(C, 24) | 0;
+         q[e + -4 >> 2] = d - q[e + -8 >> 2];
+         q[e + 16 >> 2] = d;
+         m = m + (v[e + -16 >> 3] + v[e >> 3] + v[a + 40 >> 3]);
+         C = C + 1 | 0;
+         e = q[i + 96 >> 2];
+         l = +(0 - e | 0) * .015625;
+        }
+        A = i;
+        h = l * 64;
+        K : {
+         if (y(h) < 2147483648) {
+          x = ~~h;
+          break K;
+         }
+         x = -2147483648;
+        }
+        q[A + 96 >> 2] = x + e;
+        e = i + 100 | 0;
+        i = e;
+        h = m * 64;
+        L : {
+         if (y(h) < 2147483648) {
+          A = ~~h;
+          break L;
+         }
+         A = -2147483648;
+        }
+        q[i >> 2] = A + q[e >> 2];
+        d = d + 1 | 0;
+        if ((d | 0) < (s | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      d = q[a + 696 >> 2] + w(C, 24) | 0;
+      q[d + -4 >> 2] = s - q[d + -8 >> 2];
+     }
+     A = MN(q[a + 116 >> 2], ka);
+     if (!A) {
+      break r;
+     }
+     C = q[a + 692 >> 2];
+     if ((C | 0) < 1) {
+      break q;
+     }
+     D = q[a + 688 >> 2];
+     m = 0;
+     t = 0;
+     l = 0;
+     s = 1;
+     z = 0;
+     e = 0;
+     while (1) {
+      x = A + (t << 2) | 0;
+      I = w(q[x >> 2], 336);
+      M : {
+       if (r[(D + w(t, 336) | 0) + 112 | 0]) {
+        j = D + I | 0;
+        h = +(z | 0) - (+(e | 0) - l) * (m / v[j + 240 >> 3] * v[j + 248 >> 3]);
+        N : {
+         if (y(h) < 2147483648) {
+          e = ~~h;
+          break N;
+         }
+         e = -2147483648;
+        }
+        i = q[a + 696 >> 2] + w(s, 24) | 0;
+        h = v[i + -16 >> 3] * 64;
+        O : {
+         if (y(h) < 2147483648) {
+          d = ~~h;
+          break O;
+         }
+         d = -2147483648;
+        }
+        d = e + d | 0;
+        h = v[i >> 3] * 64;
+        P : {
+         if (y(h) < 2147483648) {
+          e = ~~h;
+          break P;
+         }
+         e = -2147483648;
+        }
+        d = d + e | 0;
+        h = v[a + 40 >> 3] * 64;
+        Q : {
+         if (y(h) < 2147483648) {
+          e = ~~h;
+          break Q;
+         }
+         e = -2147483648;
+        }
+        z = d + e | 0;
+        s = s + 1 | 0;
+        l = 0;
+        e = 0;
+        h = v[j + 232 >> 3];
+        break M;
+       }
+       d = D + I | 0;
+       h = v[d + 232 >> 3];
+       if (m == h) {
+        break M;
+       }
+       u = +(e | 0);
+       l = +(z | 0) - (u - l) * (m / v[d + 240 >> 3] * v[d + 248 >> 3]);
+       R : {
+        if (y(l) < 2147483648) {
+         z = ~~l;
+         break R;
+        }
+        z = -2147483648;
+       }
+       l = u;
+      }
+      m = h;
+      if (!q[(D + I | 0) + 4 >> 2]) {
+       d = D + I | 0;
+       i = e;
+       j = z;
+       while (1) {
+        q[d + 96 >> 2] = q[d + 104 >> 2] + i;
+        q[d + 100 >> 2] = q[d + 108 >> 2] + j;
+        i = q[d + 132 >> 2] + i | 0;
+        j = q[d + 136 >> 2] + j | 0;
+        d = q[d + 332 >> 2];
+        if (d) {
+         continue;
+        }
+        break;
+       }
+       d = D + w(q[x >> 2], 336) | 0;
+       e = q[d + 140 >> 2] + e | 0;
+       z = q[d + 144 >> 2] + z | 0;
+      }
+      t = t + 1 | 0;
+      if ((C | 0) != (t | 0)) {
+       continue;
+      }
+      break;
+     }
+     break q;
+    }
+    J(355657, 355425, 1701, 355681);
+    F();
+   }
+   d = 0;
+   Yd(q[a >> 2], 1, 355746, 0);
+   LN(ka);
+   bM(q[a + 220 >> 2]);
+   M$(q[a + 504 >> 2]);
+   M$(q[a + 472 >> 2]);
+   q[a + 504 >> 2] = 0;
+   q[a + 220 >> 2] = 0;
+   q[a + 472 >> 2] = 0;
+   if (q[a + 692 >> 2] >= 1) {
+    while (1) {
+     M$(q[(q[a + 688 >> 2] + w(d, 336) | 0) + 32 >> 2]);
+     d = d + 1 | 0;
+     if ((d | 0) < q[a + 692 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   C = 0;
+   q[a + 692 >> 2] = 0;
+  }
+  D = q[a + 688 >> 2];
+  S : {
+   T : {
+    s = q[a + 288 >> 2];
+    if ((s | 0) != 2) {
+     d = 0;
+     N = 0;
+     C = q[a + 692 >> 2];
+     if ((C | 0) < 0) {
+      break T;
+     }
+     j = q[a + 236 >> 2] & 3;
+     I = q[a + 240 >> 2];
+     m = 0;
+     while (1) {
+      e = (d | 0) == (C | 0);
+      if (!(r[(D + w(d, 336) | 0) + 112 | 0] ? 0 : !e)) {
+       N = N > m ? N : m;
+       m = 0;
+      }
+      U : {
+       if ((d | 0) >= (C | 0)) {
+        break U;
+       }
+       z = D + w(d, 336) | 0;
+       if (q[z + 4 >> 2]) {
+        break U;
+       }
+       V : {
+        i = q[z >> 2];
+        if (i >>> 0 > 10) {
+         break V;
+        }
+        switch (i - 1 | 0) {
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+         break V;
+        default:
+         break U;
+        }
+       }
+       m = m + +q[z + 140 >> 2] * .015625;
+      }
+      d = d + 1 | 0;
+      if (!e) {
+       continue;
+      }
+      break;
+     }
+     u = H - N;
+     h = u * .5;
+     L = N + h;
+     d = 0;
+     x = j + -1 | 0;
+     z = x >>> 0 > 2;
+     A = I + -2 | 0;
+     i = -1;
+     while (1) {
+      e = d;
+      if (!(r[(D + w(d, 336) | 0) + 112 | 0] ? 0 : (d | 0) != (C | 0))) {
+       l = 0;
+       W : {
+        if (z) {
+         break W;
+        }
+        X : {
+         switch (x - 1 | 0) {
+         default:
+          if (A >>> 0 > 1) {
+           break W;
+          }
+          if (!(A - 1)) {
+           l = N - m;
+           break W;
+          }
+          l = (N - m) * .5;
+          break W;
+         case 1:
+          d = I + -1 | 0;
+          if (d >>> 0 <= 1) {
+           l = u;
+           if (d - 1) {
+            break W;
+           }
+           l = u + (N - m) * .5;
+           break W;
+          }
+          l = H - m;
+          break W;
+         case 0:
+          break X;
+         }
+        }
+        Y : {
+         d = I + -1 | 0;
+         if (d >>> 0 > 2) {
+          break Y;
+         }
+         l = h;
+         Z : {
+          switch (d - 1 | 0) {
+          case 0:
+           break Y;
+          case 1:
+           break Z;
+          default:
+           break W;
+          }
+         }
+         l = L - m;
+         break W;
+        }
+        l = (H - m) * .5;
+       }
+       j = i + 1 | 0;
+       if ((j | 0) < (e | 0)) {
+        l = l * 64;
+        _ : {
+         if (y(l) < 2147483648) {
+          i = ~~l;
+          break _;
+         }
+         i = -2147483648;
+        }
+        while (1) {
+         if (D) {
+          d = D + w(j, 336) | 0;
+          while (1) {
+           q[d + 96 >> 2] = i + q[d + 96 >> 2];
+           d = q[d + 332 >> 2];
+           if (d) {
+            continue;
+           }
+           break;
+          }
+         }
+         j = j + 1 | 0;
+         if ((e | 0) != (j | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       i = e + -1 | 0;
+       m = 0;
+      }
+      $ : {
+       if ((e | 0) >= (C | 0)) {
+        break $;
+       }
+       j = D + w(e, 336) | 0;
+       if (q[j + 4 >> 2]) {
+        break $;
+       }
+       aa : {
+        d = q[j >> 2];
+        if (d >>> 0 > 10) {
+         break aa;
+        }
+        switch (d - 1 | 0) {
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+         break aa;
+        default:
+         break $;
+        }
+       }
+       m = m + +q[j + 140 >> 2] * .015625;
+      }
+      d = e + 1 | 0;
+      if ((e | 0) != (C | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    if ((C | 0) < 1) {
+     N = 0;
+     break T;
+    }
+    m = v[a + 712 >> 3];
+    l = v[q[a + 696 >> 2] >> 3];
+    u = +q[D + 100 >> 2];
+    d = 0;
+    Z = -32e3;
+    N = 32e3;
+    while (1) {
+     i = D + w(d, 336) | 0;
+     if (!q[i + 4 >> 2]) {
+      L = +q[i + 96 >> 2] * .015625;
+      h = L + +q[i + 140 >> 2] * .015625;
+      Z = Z > h ? Z : h;
+      N = N > L ? L : N;
+     }
+     d = d + 1 | 0;
+     if ((C | 0) != (d | 0)) {
+      continue;
+     }
+     break;
+    }
+    L = u * .015625 - l;
+    u = L + m;
+    break S;
+   }
+   L = 0;
+   u = 0;
+  }
+  S = M & 12;
+  ba : {
+   ca : {
+    da : {
+     ea : {
+      fa : {
+       ga : {
+        ha : {
+         ia : {
+          i = s >>> 0 > 3;
+          ja : {
+           if (i) {
+            break ja;
+           }
+           ka : {
+            la : {
+             switch (s - 1 | 0) {
+             default:
+              if (!q[a + 536 >> 2]) {
+               break ka;
+              }
+              _ = G * +q[a + 148 >> 2] / v[a + 184 >> 3] / +q[q[a + 160 >> 2] + 36 >> 2] + +q[a - -64 >> 2];
+              break ja;
+             case 0:
+              break ja;
+             case 1:
+              break la;
+             }
+            }
+            d = q[a + 496 >> 2];
+            if (d >>> 0 > 1) {
+             break ha;
+            }
+            if (!(d - 1)) {
+             d = q[q[a + 160 >> 2] + 36 >> 2];
+             h = +(d - q[a + 500 >> 2] | 0);
+             if (!q[a + 536 >> 2]) {
+              break ia;
+             }
+             _ = h * +q[a + 148 >> 2] / v[a + 184 >> 3] / +(d | 0) + +q[a - -64 >> 2];
+             break ha;
+            }
+            h = +q[a + 500 >> 2];
+            ma : {
+             if (q[a + 536 >> 2]) {
+              m = h * +q[a + 148 >> 2] / v[a + 184 >> 3] / +q[q[a + 160 >> 2] + 36 >> 2];
+              d = q[a - -64 >> 2];
+              break ma;
+             }
+             m = h * +q[a + 156 >> 2] / v[a + 184 >> 3] / +q[q[a + 160 >> 2] + 36 >> 2];
+             d = q[a - -64 >> 2];
+             d = (d | 0) > 0 ? d : 0;
+            }
+            _ = m + +(d | 0) - (Z - N);
+            break ha;
+           }
+           d = q[a - -64 >> 2];
+           _ = G * +q[a + 156 >> 2] / v[a + 184 >> 3] / +q[q[a + 160 >> 2] + 36 >> 2] + +(((d | 0) > 0 ? d : 0) | 0);
+          }
+          if (i) {
+           break da;
+          }
+          switch (s - 1 | 0) {
+          case 0:
+           break da;
+          case 2:
+           break ga;
+          default:
+           break ha;
+          }
+         }
+         h = h * +q[a + 156 >> 2] / v[a + 184 >> 3] / +(d | 0);
+         d = q[a - -64 >> 2];
+         _ = h + +(((d | 0) > 0 ? d : 0) | 0);
+        }
+        na : {
+         d = S + -4 | 0;
+         if (d >>> 0 > 4) {
+          break na;
+         }
+         oa : {
+          switch (d - 1 | 0) {
+          default:
+           h = +(O | 0);
+           l = h * +q[a + 144 >> 2] / +q[q[a + 160 >> 2] + 40 >> 2] + +q[a + 56 >> 2];
+           pa : {
+            if (q[a + 536 >> 2]) {
+             break pa;
+            }
+            h = h * +q[a + 152 >> 2] / +q[q[a + 160 >> 2] + 40 >> 2];
+            l = h;
+            if (q[a + 72 >> 2]) {
+             break pa;
+            }
+            d = q[a + 56 >> 2];
+            l = h + +(((d | 0) > 0 ? d : 0) | 0);
+           }
+           W = l + v[q[a + 696 >> 2] >> 3];
+           break da;
+          case 0:
+          case 1:
+          case 2:
+           break na;
+          case 3:
+           break oa;
+          }
+         }
+         l = +q[q[a + 160 >> 2] + 40 >> 2];
+         h = l * .5;
+         qa : {
+          if (q[a + 536 >> 2]) {
+           i = q[a + 56 >> 2];
+           e = a + 144 | 0;
+           break qa;
+          }
+          d = q[a + 56 >> 2];
+          i = (d | 0) > 0 ? d : 0;
+          e = a + 152 | 0;
+         }
+         W = h * +q[e >> 2] / l + +(i | 0) + (L + u) * -.5;
+         break da;
+        }
+        l = 0;
+        d = q[a + 536 >> 2];
+        if (!d) {
+         l = v[a + 48 >> 3];
+        }
+        if (S) {
+         Yd(q[a >> 2], 6, 355555, 0);
+         d = q[a + 536 >> 2];
+        }
+        i = q[q[a + 160 >> 2] + 40 >> 2];
+        H = +(i - O | 0);
+        if (d) {
+         break fa;
+        }
+        m = H;
+        H = +q[a + 152 >> 2];
+        G = +(i | 0);
+        d = q[a + 56 >> 2];
+        h = +(((d | 0) > 0 ? d : 0) | 0);
+        m = m * H / G + h;
+        if (q[a + 72 >> 2]) {
+         d = q[a + 60 >> 2];
+         m = m + +(((d | 0) > 0 ? d : 0) | 0);
+         E = H * 0 / G;
+         break ea;
+        }
+        E = H * 0 / G + h;
+        break ea;
+       }
+       d = q[a + 496 >> 2] + -2 | 0;
+       if (d >>> 0 > 1) {
+        break ca;
+       }
+       if (d - 1) {
+        h = +(q[a + 500 >> 2] + q[a + 404 >> 2] | 0);
+        ra : {
+         if (q[a + 536 >> 2]) {
+          m = h * +q[a + 144 >> 2] / +q[q[a + 160 >> 2] + 40 >> 2];
+          d = q[a + 56 >> 2];
+          break ra;
+         }
+         m = h * +q[a + 152 >> 2] / +q[q[a + 160 >> 2] + 40 >> 2];
+         d = q[a + 56 >> 2];
+         d = (d | 0) > 0 ? d : 0;
+        }
+        W = m + +(d | 0) - (u - L);
+        break ca;
+       }
+       h = +(q[a + 412 >> 2] - q[a + 500 >> 2] | 0);
+       if (q[a + 536 >> 2]) {
+        W = h * +q[a + 144 >> 2] / +q[q[a + 160 >> 2] + 40 >> 2] + +q[a + 56 >> 2];
+        break ca;
+       }
+       d = q[a + 56 >> 2];
+       W = h * +q[a + 152 >> 2] / +q[q[a + 160 >> 2] + 40 >> 2] + +(((d | 0) > 0 ? d : 0) | 0);
+       break ca;
+      }
+      G = +q[a + 144 >> 2];
+      m = +(i | 0);
+      h = +q[a + 56 >> 2];
+      E = G * 0 / m + h;
+      m = H * G / m + h;
+     }
+     G = v[q[a + 696 >> 2] >> 3];
+     h = E + G;
+     m = G + (m + l * (E - m) / 100 - v[a + 712 >> 3]);
+     W = l > 0 ? m < h ? h : m : m;
+     s = q[a + 288 >> 2];
+    }
+    if (s >>> 0 > 3) {
+     break ba;
+    }
+    if (s - 1) {
+     break ca;
+    }
+    d = q[a + 236 >> 2];
+    i = d & 12;
+    d = (d & 3) + -1 | 0;
+    h = 0;
+    sa : {
+     if (d >>> 0 > 2) {
+      break sa;
+     }
+     ta : {
+      switch (d - 1 | 0) {
+      default:
+       h = N;
+       break sa;
+      case 0:
+       h = (N + Z) * .5;
+       break sa;
+      case 1:
+       break ta;
+      }
+     }
+     h = Z;
+    }
+    ua : {
+     if (i >>> 0 > 8) {
+      break ua;
+     }
+     va : {
+      switch (i - 1 | 0) {
+      case 3:
+       K = L;
+       break ua;
+      case 7:
+       K = (L + u) * .5;
+       break ua;
+      case 0:
+      case 1:
+      case 2:
+      case 4:
+      case 5:
+      case 6:
+       break ua;
+      default:
+       break va;
+      }
+     }
+     K = u;
+    }
+    $ = +q[a + 148 >> 2];
+    d = q[a + 160 >> 2];
+    Q = +q[d + 36 >> 2];
+    E = +q[a - -64 >> 2];
+    l = +q[a + 400 >> 2] * $ / Q + E;
+    wa : {
+     if (y(l) < 2147483648) {
+      e = ~~l;
+      break wa;
+     }
+     e = -2147483648;
+    }
+    i = q[d + 40 >> 2];
+    q[a + 400 >> 2] = e;
+    e = a;
+    l = $ * +q[a + 408 >> 2] / Q + E;
+    xa : {
+     if (y(l) < 2147483648) {
+      d = ~~l;
+      break xa;
+     }
+     d = -2147483648;
+    }
+    q[e + 408 >> 2] = d;
+    e = a;
+    H = +q[a + 144 >> 2];
+    G = +(i | 0);
+    m = +q[a + 56 >> 2];
+    l = +q[a + 404 >> 2] * H / G + m;
+    ya : {
+     if (y(l) < 2147483648) {
+      d = ~~l;
+      break ya;
+     }
+     d = -2147483648;
+    }
+    q[e + 404 >> 2] = d;
+    e = a;
+    l = H * +q[a + 412 >> 2] / G + m;
+    za : {
+     if (y(l) < 2147483648) {
+      d = ~~l;
+      break za;
+     }
+     d = -2147483648;
+    }
+    q[e + 412 >> 2] = d;
+    W = v[a + 304 >> 3] * H / G + m - K;
+    _ = v[a + 296 >> 3] * $ / v[a + 184 >> 3] / Q + E - h;
+    break ba;
+   }
+   h = +q[a + 400 >> 2];
+   d = a;
+   e = q[a + 536 >> 2];
+   Aa : {
+    if (e) {
+     l = +q[a + 148 >> 2];
+     j = q[a + 160 >> 2];
+     E = +q[j + 36 >> 2];
+     m = +q[a - -64 >> 2];
+     h = h * l / E + m;
+     break Aa;
+    }
+    l = +q[a + 156 >> 2];
+    j = q[a + 160 >> 2];
+    E = +q[j + 36 >> 2];
+    i = q[a - -64 >> 2];
+    m = +(((i | 0) > 0 ? i : 0) | 0);
+    h = h * l / E + m;
+   }
+   Ba : {
+    if (y(h) < 2147483648) {
+     i = ~~h;
+     break Ba;
+    }
+    i = -2147483648;
+   }
+   q[d + 400 >> 2] = i;
+   d = a;
+   h = l * +q[a + 408 >> 2] / E + m;
+   Ca : {
+    if (y(h) < 2147483648) {
+     i = ~~h;
+     break Ca;
+    }
+    i = -2147483648;
+   }
+   q[d + 408 >> 2] = i;
+   if (S >>> 0 > 8) {
+    break ba;
+   }
+   Da : {
+    switch (S - 1 | 0) {
+    case 3:
+     h = +q[a + 404 >> 2];
+     d = a;
+     Ea : {
+      Fa : {
+       Ga : {
+        Ha : {
+         if (!e) {
+          K = +q[a + 152 >> 2];
+          m = +q[j + 40 >> 2];
+          h = h * K / m;
+          if (!q[a + 72 >> 2]) {
+           break Fa;
+          }
+          if (!(y(h) < 2147483648)) {
+           break Ha;
+          }
+          i = ~~h;
+          break Ga;
+         }
+         e = a;
+         K = +q[a + 144 >> 2];
+         m = +q[j + 40 >> 2];
+         l = +q[a + 56 >> 2];
+         h = h * K / m + l;
+         Ia : {
+          if (y(h) < 2147483648) {
+           d = ~~h;
+           break Ia;
+          }
+          d = -2147483648;
+         }
+         q[e + 404 >> 2] = d;
+         h = +q[a + 412 >> 2] * K / m + l;
+         break Ea;
+        }
+        i = -2147483648;
+       }
+       q[d + 404 >> 2] = i;
+       h = +q[a + 412 >> 2] * K / m;
+       break Ea;
+      }
+      e = a;
+      i = q[a + 56 >> 2];
+      l = +(((i | 0) > 0 ? i : 0) | 0);
+      h = h + l;
+      Ja : {
+       if (y(h) < 2147483648) {
+        d = ~~h;
+        break Ja;
+       }
+       d = -2147483648;
+      }
+      q[e + 404 >> 2] = d;
+      h = +q[a + 412 >> 2] * K / m + l;
+     }
+     if (y(h) < 2147483648) {
+      q[a + 412 >> 2] = ~~h;
+      break ba;
+     }
+     q[a + 412 >> 2] = -2147483648;
+     break ba;
+    case 7:
+     h = +q[a + 404 >> 2];
+     d = a;
+     Ka : {
+      if (e) {
+       l = +q[a + 144 >> 2];
+       E = +q[j + 40 >> 2];
+       m = +q[a + 56 >> 2];
+       h = h * l / E + m;
+       break Ka;
+      }
+      l = +q[a + 152 >> 2];
+      E = +q[j + 40 >> 2];
+      i = q[a + 56 >> 2];
+      m = +(((i | 0) > 0 ? i : 0) | 0);
+      h = h * l / E + m;
+     }
+     La : {
+      if (y(h) < 2147483648) {
+       e = ~~h;
+       break La;
+      }
+      e = -2147483648;
+     }
+     q[d + 404 >> 2] = e;
+     h = l * +q[a + 412 >> 2] / E + m;
+     if (y(h) < 2147483648) {
+      q[a + 412 >> 2] = ~~h;
+      break ba;
+     }
+     q[a + 412 >> 2] = -2147483648;
+     break ba;
+    case 0:
+    case 1:
+    case 2:
+    case 4:
+    case 5:
+    case 6:
+     break ba;
+    default:
+     break Da;
+    }
+   }
+   h = +q[a + 404 >> 2];
+   i = a;
+   d = a;
+   Ma : {
+    Na : {
+     Oa : {
+      if (!e) {
+       K = +q[a + 152 >> 2];
+       l = +q[j + 40 >> 2];
+       m = h * K / l;
+       e = q[a + 56 >> 2];
+       h = +(((e | 0) > 0 ? e : 0) | 0);
+       m = m + h;
+       j = q[a + 72 >> 2];
+       if (j) {
+        e = q[a + 60 >> 2];
+        m = m + +(((e | 0) > 0 ? e : 0) | 0);
+       }
+       if (!(y(m) < 2147483648)) {
+        break Oa;
+       }
+       e = ~~m;
+       break Na;
+      }
+      e = a;
+      K = +q[a + 144 >> 2];
+      m = +q[j + 40 >> 2];
+      l = +q[a + 56 >> 2];
+      h = h * K / m + l;
+      Pa : {
+       if (y(h) < 2147483648) {
+        d = ~~h;
+        break Pa;
+       }
+       d = -2147483648;
+      }
+      q[e + 404 >> 2] = d;
+      h = +q[a + 412 >> 2] * K / m + l;
+      break Ma;
+     }
+     e = -2147483648;
+    }
+    q[d + 404 >> 2] = e;
+    l = +q[a + 412 >> 2] * K / l + h;
+    h = l;
+    if (!j) {
+     break Ma;
+    }
+    d = q[a + 60 >> 2];
+    h = l + +(((d | 0) > 0 ? d : 0) | 0);
+   }
+   Qa : {
+    if (y(h) < 2147483648) {
+     e = ~~h;
+     break Qa;
+    }
+    e = -2147483648;
+   }
+   q[i + 412 >> 2] = e;
+  }
+  Ra : {
+   Sa : {
+    if (!q[a + 536 >> 2]) {
+     if (!r[a + 328 | 0]) {
+      break Sa;
+     }
+     i = q[a + 160 >> 2];
+     d = q[a + 56 >> 2];
+     l = v[a + 320 >> 3] * +q[a + 152 >> 2] / +q[i + 40 >> 2] + +(((d | 0) > 0 ? d : 0) | 0);
+     d = q[a - -64 >> 2];
+     h = v[a + 312 >> 3] * +q[a + 156 >> 2] / v[a + 184 >> 3] / +q[i + 36 >> 2] + +(((d | 0) > 0 ? d : 0) | 0);
+     break Ra;
+    }
+    H = +q[a + 148 >> 2];
+    d = q[a + 160 >> 2];
+    Q = +q[d + 36 >> 2];
+    G = +q[a - -64 >> 2];
+    l = H * 0 / Q + G;
+    h = +q[a + 400 >> 2];
+    h = l > h ? l : h;
+    Ta : {
+     if (y(h) < 2147483648) {
+      e = ~~h;
+      break Ta;
+     }
+     e = -2147483648;
+    }
+    i = q[d + 40 >> 2];
+    q[a + 400 >> 2] = e;
+    e = a;
+    K = +q[a + 144 >> 2];
+    E = +(i | 0);
+    m = +q[a + 56 >> 2];
+    l = K * 0 / E + m;
+    h = +q[a + 404 >> 2];
+    h = l > h ? l : h;
+    Ua : {
+     if (y(h) < 2147483648) {
+      d = ~~h;
+      break Ua;
+     }
+     d = -2147483648;
+    }
+    q[e + 404 >> 2] = d;
+    e = a;
+    l = H * Q / Q + G;
+    h = +q[a + 408 >> 2];
+    h = l < h ? l : h;
+    Va : {
+     if (y(h) < 2147483648) {
+      d = ~~h;
+      break Va;
+     }
+     d = -2147483648;
+    }
+    q[e + 408 >> 2] = d;
+    e = a;
+    l = K * E / E + m;
+    h = +q[a + 412 >> 2];
+    h = l < h ? l : h;
+    Wa : {
+     if (y(h) < 2147483648) {
+      d = ~~h;
+      break Wa;
+     }
+     d = -2147483648;
+    }
+    q[e + 412 >> 2] = d;
+    if (!r[a + 328 | 0]) {
+     break Sa;
+    }
+    l = v[a + 320 >> 3] * K / E + m;
+    h = v[a + 312 >> 3] * H / v[a + 184 >> 3] / Q + G;
+    break Ra;
+   }
+   d = q[a + 236 >> 2];
+   i = d & 12;
+   m = 0;
+   d = (d & 3) + -1 | 0;
+   h = 0;
+   Xa : {
+    if (d >>> 0 > 2) {
+     break Xa;
+    }
+    Ya : {
+     switch (d - 1 | 0) {
+     default:
+      h = N;
+      break Xa;
+     case 0:
+      h = (N + Z) * .5;
+      break Xa;
+     case 1:
+      break Ya;
+     }
+    }
+    h = Z;
+   }
+   Za : {
+    if (i >>> 0 > 8) {
+     break Za;
+    }
+    _a : {
+     switch (i - 1 | 0) {
+     case 3:
+      m = L;
+      break Za;
+     case 7:
+      m = (L + u) * .5;
+      break Za;
+     case 0:
+     case 1:
+     case 2:
+     case 4:
+     case 5:
+     case 6:
+      break Za;
+     default:
+      break _a;
+     }
+    }
+    m = u;
+   }
+   l = W + m;
+   h = _ + h;
+  }
+  z = q[a + 692 >> 2];
+  j = (z | 0) < 1;
+  if (!j) {
+   u = (W - l) * 64;
+   $a : {
+    if (y(u) < 2147483648) {
+     e = ~~u;
+     break $a;
+    }
+    e = -2147483648;
+   }
+   h = (_ - h) * 64;
+   ab : {
+    if (y(h) < 2147483648) {
+     i = ~~h;
+     break ab;
+    }
+    i = -2147483648;
+   }
+   s = q[a + 688 >> 2];
+   t = 0;
+   while (1) {
+    if (s) {
+     d = s + w(t, 336) | 0;
+     while (1) {
+      q[d + 316 >> 2] = i + q[d + 96 >> 2];
+      q[d + 320 >> 2] = e + q[d + 100 >> 2];
+      d = q[d + 332 >> 2];
+      if (d) {
+       continue;
+      }
+      break;
+     }
+    }
+    t = t + 1 | 0;
+    if ((z | 0) != (t | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  C = 0;
+  bb : {
+   if (j) {
+    break bb;
+   }
+   l = +q[a - -64 >> 2];
+   u = v[a + 184 >> 3] * (_ - l);
+   s = q[a + 704 >> 2];
+   h = W * 64;
+   cb : {
+    if (y(h) < 2147483648) {
+     z = ~~h;
+     break cb;
+    }
+    z = -2147483648;
+   }
+   sa = u + l;
+   U = k + 192 | 0;
+   D = k + 188 | 0;
+   t = 0;
+   i = 0;
+   e = 0;
+   O = 0;
+   while (1) {
+    j = q[a + 688 >> 2];
+    d = j + w(O, 336) | 0;
+    t = r[d + 112 | 0] ? 1 : t;
+    db : {
+     if (q[d + 4 >> 2]) {
+      if (!j) {
+       break db;
+      }
+      while (1) {
+       bM(q[d + 44 >> 2]);
+       d = q[d + 332 >> 2];
+       if (d) {
+        continue;
+       }
+       break;
+      }
+      break db;
+     }
+     if (!j) {
+      break db;
+     }
+     while (1) {
+      I = q[d + 264 >> 2];
+      j = (I | 0) == 3;
+      u = v[d + 272 >> 3];
+      if (!(v[d + 280 >> 3] == 0 ? u == 0 : 0)) {
+       j = j | 2;
+      }
+      h = v[d + 184 >> 3];
+      eb : {
+       if (v[d + 192 >> 3] == 0 ? h == 0 : 0) {
+        break eb;
+       }
+       j = j | 4;
+       if ((j | 0) != 4) {
+        break eb;
+       }
+       j = (r[d + 116 | 0] != 255) << 2;
+      }
+      fb : {
+       gb : {
+        hb : {
+         ib : {
+          jb : {
+           kb : {
+            lb : {
+             mb : {
+              if (!e | t & 255 | (r[d + 148 | 0] | q[d + 32 >> 2])) {
+               break mb;
+              }
+              if (q[e + 32 >> 2]) {
+               break mb;
+              }
+              A = q[e + 8 >> 2];
+              x = q[d + 8 >> 2];
+              if (iZ(q[A >> 2], q[x >> 2]) | q[A + 12 >> 2] != q[x + 12 >> 2] | (q[e + 12 >> 2] != q[d + 12 >> 2] | v[e + 24 >> 3] != v[d + 24 >> 3])) {
+               break mb;
+              }
+              if (q[e + 116 >> 2] != q[d + 116 >> 2] | q[e + 120 >> 2] != q[d + 120 >> 2] | (q[e + 124 >> 2] != q[d + 124 >> 2] | q[e + 128 >> 2] != q[d + 128 >> 2])) {
+               break mb;
+              }
+              if (q[e + 172 >> 2] != q[d + 172 >> 2] | v[e + 176 >> 3] != v[d + 176 >> 3] | (v[e + 184 >> 3] != h | v[e + 192 >> 3] != v[d + 192 >> 3])) {
+               break mb;
+              }
+              if (v[e + 200 >> 3] != v[d + 200 >> 3] | v[e + 208 >> 3] != v[d + 208 >> 3] | (v[e + 216 >> 3] != v[d + 216 >> 3] | v[e + 224 >> 3] != v[d + 224 >> 3])) {
+               break mb;
+              }
+              if (v[e + 232 >> 3] != v[d + 232 >> 3] | v[e + 240 >> 3] != v[d + 240 >> 3] | ((I | 0) != q[e + 264 >> 2] | v[e + 248 >> 3] != v[d + 248 >> 3])) {
+               break mb;
+              }
+              if (v[e + 272 >> 3] != u | v[e + 280 >> 3] != v[d + 280 >> 3] | (q[e + 300 >> 2] != q[d + 300 >> 2] | v[e + 288 >> 3] != v[d + 288 >> 3])) {
+               break mb;
+              }
+              if (q[e + 304 >> 2] != q[d + 304 >> 2]) {
+               break mb;
+              }
+              if (!((q[d + 308 >> 2] ^ q[e + 308 >> 2]) & -5)) {
+               break lb;
+              }
+             }
+             e = q[a + 728 >> 2];
+             if (C >>> 0 >= e >>> 0) {
+              q[160854] = 0;
+              e = e << 1;
+              ta = a, ua = Md(q[a + 704 >> 2], e, 84), q[ta + 704 >> 2] = ua;
+              if (q[160854]) {
+               break jb;
+              }
+              q[a + 728 >> 2] = e;
+              s = q[a + 704 >> 2];
+             }
+             e = q[d + 120 >> 2];
+             A = w(C, 84);
+             i = A + s | 0;
+             q[i + 20 >> 2] = q[d + 116 >> 2];
+             q[i + 24 >> 2] = e;
+             e = q[d + 128 >> 2];
+             q[i + 28 >> 2] = q[d + 124 >> 2];
+             q[i + 32 >> 2] = e;
+             q[i + 36 >> 2] = q[d + 152 >> 2];
+             q[i + 40 >> 2] = q[d + 156 >> 2];
+             e = q[d + 88 >> 2];
+             q[i >> 2] = j;
+             q[i + 44 >> 2] = e >> 6;
+             q[i + 4 >> 2] = q[d + 172 >> 2];
+             h = v[d + 176 >> 3] * (v[a + 200 >> 3] * .8493218002880191) * .03125;
+             pZ((h + 1) * 4, k - -64 | 0);
+             x = q[k + 64 >> 2];
+             ta = i, ua = oZ(rZ(h) * 256), q[ta + 8 >> 2] = ua;
+             e = 0;
+             t = s + A | 0;
+             A = t;
+             if (j & 4) {
+              x = -1 << x;
+              M = x >> 1 ^ -1;
+              u = v[a + 192 >> 3];
+              h = u * v[d + 192 >> 3] * 64;
+              nb : {
+               if (y(h) < 2147483648) {
+                e = ~~h;
+                break nb;
+               }
+               e = -2147483648;
+              }
+              e = e + M & x;
+              h = v[d + 184 >> 3] * u * 64;
+              ob : {
+               if (y(h) < 2147483648) {
+                aa = ~~h;
+                break ob;
+               }
+               aa = -2147483648;
+              }
+              x = x & aa + M;
+             } else {
+              x = 0;
+             }
+             q[A + 12 >> 2] = x;
+             q[t + 60 >> 2] = 2147483647;
+             q[t + 64 >> 2] = 2147483647;
+             q[t + 68 >> 2] = 0;
+             q[t + 72 >> 2] = 0;
+             q[t + 48 >> 2] = 0;
+             q[t + 52 >> 2] = 0;
+             q[t + 16 >> 2] = e;
+             q[t + 76 >> 2] = 0;
+             q[t + 80 >> 2] = 0;
+             e = L$(1536);
+             q[t + 56 >> 2] = e;
+             if (e) {
+              q[t + 52 >> 2] = 64;
+              C = C + 1 | 0;
+              break kb;
+             }
+             bM(q[d + 44 >> 2]);
+             e = 0;
+             break fb;
+            }
+            if (!i) {
+             break ib;
+            }
+           }
+           V = v[a + 184 >> 3];
+           e = d + 100 | 0;
+           t = z + q[e >> 2] | 0;
+           q[e >> 2] = t;
+           A = d;
+           h = (sa + V * (+q[d + 96 >> 2] * .015625)) * 64;
+           pb : {
+            if (y(h) < 2147483648) {
+             e = ~~h;
+             break pb;
+            }
+            e = -2147483648;
+           }
+           q[A + 96 >> 2] = e;
+           qb : {
+            A = q[d + 44 >> 2];
+            rb : {
+             if (!A) {
+              break rb;
+             }
+             I = q[i + 48 >> 2];
+             sb : {
+              x = q[d >> 2];
+              if (x >>> 0 > 10) {
+               break sb;
+              }
+              switch (x - 1 | 0) {
+              case 0:
+              case 1:
+              case 2:
+              case 3:
+              case 4:
+              case 5:
+              case 6:
+              case 7:
+              case 8:
+               break sb;
+              default:
+               break rb;
+              }
+             }
+             if (!q[d + 4 >> 2]) {
+              break qb;
+             }
+            }
+            bM(A);
+            break gb;
+           }
+           $ = v[d + 240 >> 3];
+           l = v[d + 224 >> 3];
+           Q = v[d + 248 >> 3];
+           h = v[d + 216 >> 3];
+           fa = G$(h);
+           X = H$(h);
+           h = v[d + 208 >> 3];
+           ga = H$(h);
+           H = v[d + 200 >> 3];
+           u = H$(H);
+           ha = G$(h);
+           ma = v[d - -64 >> 3];
+           na = v[d + 72 >> 3];
+           M = q[d + 320 >> 2];
+           A = q[d + 164 >> 2];
+           x = q[d + 316 >> 2];
+           G = v[a + 200 >> 3];
+           T = v[d + 48 >> 3];
+           h = v[d + 232 >> 3];
+           ea = l * $ / Q;
+           L = X + fa * ea;
+           K = fa - X * ea;
+           P = -u;
+           m = K * P;
+           ia = ga * L + ha * m;
+           E = v[d + 56 >> 3];
+           oa = ia * E;
+           v[k + 120 >> 3] = oa;
+           h = Q * h / $;
+           l = fa + X * h;
+           h = fa * h - X;
+           u = h * P;
+           ja = ga * l + ha * u;
+           pa = T * ja;
+           v[k + 112 >> 3] = pa;
+           H = G$(H);
+           la = G * 2e4;
+           G = +(t - M | 0);
+           ca = H * K * la + ia * G;
+           qa = E * ca;
+           v[k + 96 >> 3] = qa;
+           da = la * (H * h) + ja * G;
+           ra = T * da;
+           v[k + 88 >> 3] = ra;
+           h = +(x | 0);
+           K = +(e | 0) - V * h;
+           L = ha * L - ga * m;
+           m = V * la;
+           V = K * ia + L * m;
+           $ = E * V;
+           v[k + 72 >> 3] = $;
+           L = T;
+           T = m * (ha * l - ga * u) + K * ja;
+           Q = L * T;
+           v[k + 64 >> 3] = Q;
+           u = +(M | 0);
+           h = ea * +(A | 0) + h;
+           l = X * u + fa * h;
+           u = fa * u - X * h;
+           h = u * P;
+           P = la + (ga * l + ha * h);
+           X = ja * ma + ia * na + P;
+           v[k + 128 >> 3] = X;
+           G = la * (H * u) + P * G;
+           E = ca * na + ma * da + G;
+           v[k + 104 >> 3] = E;
+           L = m * (ha * l - ga * h) + K * P;
+           H = V * na + ma * T + L;
+           v[k + 80 >> 3] = H;
+           q[k + 136 >> 2] = q[d + 44 >> 2];
+           if (!KM(k - -64 | 0, k + 40 | 0, k + 48 | 0, !I, k + 136 | 0)) {
+            bM(q[d + 44 >> 2]);
+            break gb;
+           }
+           e = pM(q[a + 744 >> 2], k + 136 | 0, a);
+           q[d + 324 >> 2] = e;
+           if (!(q[e + 20 >> 2] ? e : 0)) {
+            bM(e);
+            q[d + 324 >> 2] = 0;
+           }
+           e = q[k + 44 >> 2];
+           M = e;
+           I = q[k + 40 >> 2];
+           q[k + 32 >> 2] = I;
+           q[k + 36 >> 2] = e;
+           tb : {
+            if (j & 1) {
+             if (!(j & 6)) {
+              break gb;
+             }
+             q[k + 176 >> 2] = 3;
+             K = v[d + 272 >> 3];
+             x = q[d + 132 >> 2];
+             j = q[d + 296 >> 2];
+             m = v[d + 240 >> 3];
+             l = v[a + 192 >> 3] * 64;
+             u = v[d + 256 >> 3];
+             h = u * v[d + 248 >> 3];
+             E = B(l * v[d + 280 >> 3] * h, 64);
+             e = q[d + 164 >> 2];
+             H = (h * +(e + q[d + 168 >> 2] | 0) + (E + E)) * .015625;
+             v[k + 120 >> 3] = ia * H;
+             h = m * u;
+             u = B(K * l * h, 64);
+             h = (h * +(j + x | 0) + (u + u)) * .015625;
+             v[k + 112 >> 3] = ja * h;
+             v[k + 96 >> 3] = ca * H;
+             v[k + 88 >> 3] = da * h;
+             v[k + 72 >> 3] = V * H;
+             v[k + 64 >> 3] = T * h;
+             h = -E - +(e | 0);
+             v[k + 104 >> 3] = G + (ca * h - da * u);
+             v[k + 80 >> 3] = L + (V * h - T * u);
+             X = P + (ia * h - ja * u);
+             break tb;
+            }
+            if (!(j & 2)) {
+             break gb;
+            }
+            q[k + 176 >> 2] = 2;
+            e = q[d + 44 >> 2];
+            q[k + 184 >> 2] = e;
+            G = v[k + 128 >> 3];
+            h = v[a + 192 >> 3] * 64;
+            L = h * v[d + 272 >> 3] / v[d + 48 >> 3];
+            P = L + 64 + +(q[e + 60 >> 2] - q[e + 52 >> 2] | 0) * .5;
+            K = y(v[k + 112 >> 3]);
+            m = h * v[d + 280 >> 3] / v[d + 56 >> 3];
+            ca = m + 64 + +(q[e - -64 >> 2] - q[e + 56 >> 2] | 0) * .5;
+            l = y(v[k + 120 >> 3]);
+            u = G - P * K - ca * l;
+            h = G * .0625;
+            da = 1 / (u > h ? u : h);
+            V = da + da;
+            T = y(v[k + 64 >> 3]);
+            ea = y(v[k + 72 >> 3]);
+            u = T * P + ea * ca;
+            h = P;
+            P = y(v[k + 88 >> 3]);
+            G = y(v[k + 96 >> 3]);
+            h = h * P + ca * G;
+            h = (u > h ? u : h) * da;
+            pZ(V * ((T > P ? T : P) + K * h), D);
+            pZ(V * ((ea > G ? ea : G) + l * h), U);
+            A = q[k + 188 >> 2];
+            x = oZ(sZ(L, A) * .0625);
+            q[k + 196 >> 2] = x;
+            j = q[k + 192 >> 2];
+            e = oZ(sZ(m, j) * .0625);
+            q[k + 200 >> 2] = e;
+            if (!(e | x)) {
+             break hb;
+            }
+            x = 0 - A | 0;
+            ta = k, va = sZ(Q, x), v[ta + 64 >> 3] = va;
+            v[k + 80 >> 3] = H;
+            e = 0 - j | 0;
+            ta = k, va = sZ($, e), v[ta + 72 >> 3] = va;
+            ta = k, va = sZ(ra, x), v[ta + 88 >> 3] = va;
+            v[k + 104 >> 3] = E;
+            ta = k, va = sZ(qa, e), v[ta + 96 >> 3] = va;
+            ta = k, va = sZ(pa, x), v[ta + 112 >> 3] = va;
+            ta = k, va = sZ(oa, e), v[ta + 120 >> 3] = va;
+           }
+           v[k + 128 >> 3] = X;
+           e = pM(q[a + 740 >> 2], k + 176 | 0, a);
+           q[k + 136 >> 2] = e;
+           if (!e) {
+            bM(0);
+            break gb;
+           }
+           ub : {
+            if (r[e | 0]) {
+             if (KM(k - -64 | 0, k + 32 | 0, k + 48 | 0, 0, k + 136 | 0)) {
+              break ub;
+             }
+             e = q[k + 136 >> 2];
+            }
+            bM(e);
+            break gb;
+           }
+           e = pM(q[a + 744 >> 2], k + 136 | 0, a);
+           q[d + 328 >> 2] = e;
+           if (!(q[e + 20 >> 2] ? e : 0)) {
+            bM(e);
+            q[d + 328 >> 2] = 0;
+            q[k + 32 >> 2] = I;
+            q[k + 36 >> 2] = M;
+            break gb;
+           }
+           if (q[d + 324 >> 2]) {
+            break gb;
+           }
+           e = q[k + 36 >> 2];
+           q[k + 40 >> 2] = q[k + 32 >> 2];
+           q[k + 44 >> 2] = e;
+           break gb;
+          }
+          bM(q[d + 44 >> 2]);
+          e = 0;
+          break fb;
+         }
+         J(355769, 355425, 2299, 355782);
+         F();
+        }
+        qM(q[d + 324 >> 2]);
+        q[d + 328 >> 2] = q[d + 324 >> 2];
+       }
+       t = q[d + 324 >> 2];
+       vb : {
+        if (!(t | q[d + 328 >> 2])) {
+         bM(0);
+         bM(q[d + 328 >> 2]);
+         break vb;
+        }
+        j = q[i + 48 >> 2];
+        e = q[i + 52 >> 2];
+        if (j >>> 0 >= e >>> 0) {
+         q[160854] = 0;
+         e = e << 1;
+         ta = i, ua = Md(q[i + 56 >> 2], e, 24), q[ta + 56 >> 2] = ua;
+         if (q[160854]) {
+          bM(q[d + 324 >> 2]);
+          bM(q[d + 328 >> 2]);
+          break vb;
+         }
+         q[i + 52 >> 2] = e;
+         t = q[d + 324 >> 2];
+         j = q[i + 48 >> 2];
+        }
+        x = q[i + 56 >> 2] + w(j, 24) | 0;
+        q[x >> 2] = t;
+        q[x + 4 >> 2] = q[d + 328 >> 2];
+        j = q[k + 44 >> 2];
+        e = q[k + 40 >> 2];
+        q[x + 8 >> 2] = e;
+        q[x + 12 >> 2] = j;
+        j = q[k + 36 >> 2];
+        x = q[i + 56 >> 2] + w(q[i + 48 >> 2], 24) | 0;
+        q[x + 16 >> 2] = q[k + 32 >> 2];
+        q[x + 20 >> 2] = j;
+        q[i + 48 >> 2] = q[i + 48 >> 2] + 1;
+        j = q[i + 60 >> 2];
+        q[i + 60 >> 2] = (j | 0) > (e | 0) ? e : j;
+        j = q[k + 44 >> 2];
+        e = q[i + 64 >> 2];
+        q[i + 64 >> 2] = (e | 0) > (j | 0) ? j : e;
+       }
+       e = d;
+      }
+      t = 0;
+      d = q[d + 332 >> 2];
+      if (d) {
+       continue;
+      }
+      break;
+     }
+    }
+    O = O + 1 | 0;
+    if ((O | 0) < q[a + 692 >> 2]) {
+     continue;
+    }
+    break;
+   }
+   if (!C) {
+    C = 0;
+    break bb;
+   }
+   z = 0;
+   while (1) {
+    D = w(z, 84) + s | 0;
+    x = D + 48 | 0;
+    j = q[D + 48 >> 2];
+    if (j) {
+     I = q[D + 64 >> 2];
+     e = q[D + 56 >> 2];
+     A = q[D + 60 >> 2];
+     i = 0;
+     while (1) {
+      M = e + w(i, 24) | 0;
+      q[M + 8 >> 2] = q[M + 8 >> 2] - A;
+      q[M + 16 >> 2] = q[M + 16 >> 2] - A;
+      d = M + 12 | 0;
+      q[d >> 2] = q[d >> 2] - I;
+      d = M + 20 | 0;
+      q[d >> 2] = q[d >> 2] - I;
+      i = i + 1 | 0;
+      if ((j | 0) != (i | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    q[k + 80 >> 2] = q[D + 16 >> 2];
+    d = q[D + 12 >> 2];
+    q[k + 72 >> 2] = q[D + 8 >> 2];
+    q[k + 76 >> 2] = d;
+    d = q[D + 4 >> 2];
+    q[k + 64 >> 2] = q[D >> 2];
+    q[k + 68 >> 2] = d;
+    q[k + 84 >> 2] = q[x >> 2];
+    q[k + 88 >> 2] = q[D + 56 >> 2];
+    d = pM(q[a + 748 >> 2], k - -64 | 0, a);
+    if (d) {
+     if (q[d + 20 >> 2]) {
+      q[D + 68 >> 2] = d;
+     }
+     if (q[d + 44 >> 2]) {
+      q[D + 72 >> 2] = d + 24;
+     }
+     if (q[d + 68 >> 2]) {
+      q[D + 76 >> 2] = d + 48;
+     }
+     q[D + 80 >> 2] = d;
+    }
+    z = z + 1 | 0;
+    if ((z | 0) != (C | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  i = a + 708 | 0;
+  q[i >> 2] = C;
+  q[c >> 2] = 0;
+  e = c;
+  h = W - v[q[a + 696 >> 2] >> 3];
+  wb : {
+   if (y(h) < 2147483648) {
+    d = ~~h;
+    break wb;
+   }
+   d = -2147483648;
+  }
+  q[e + 4 >> 2] = d;
+  e = c;
+  h = v[a + 712 >> 3];
+  xb : {
+   if (y(h) < 2147483648) {
+    d = ~~h;
+    break xb;
+   }
+   d = -2147483648;
+  }
+  q[e + 8 >> 2] = d;
+  e = c;
+  u = v[a + 184 >> 3];
+  h = (Z - N) * u + .5;
+  yb : {
+   if (y(h) < 2147483648) {
+    d = ~~h;
+    break yb;
+   }
+   d = -2147483648;
+  }
+  q[e + 16 >> 2] = d;
+  e = c;
+  h = _ + N * u + .5;
+  zb : {
+   if (y(h) < 2147483648) {
+    d = ~~h;
+    break zb;
+   }
+   d = -2147483648;
+  }
+  q[e + 12 >> 2] = d;
+  d = o[a + 417 | 0];
+  q[c + 28 >> 2] = b;
+  q[c + 24 >> 2] = (S | 0) == 4 ? 1 : -1;
+  q[c + 20 >> 2] = d;
+  e = k + 40 | 0;
+  x = q[i >> 2];
+  if (x) {
+   s = q[a + 704 >> 2];
+   while (1) {
+    d = s + w(R, 84) | 0;
+    b = q[d + 76 >> 2];
+    if (!(!b | q[a + 360 >> 2] == 4)) {
+     e = LM(a, b, q[d + 60 >> 2], q[d + 64 >> 2], q[d + 32 >> 2], 0, 1e6, e, 2, q[d + 80 >> 2]);
+    }
+    R = R + 1 | 0;
+    if ((x | 0) != (R | 0)) {
+     continue;
+    }
+    break;
+   }
+   t = 0;
+   while (1) {
+    d = s + w(t, 84) | 0;
+    b = q[d + 72 >> 2];
+    if (!(!b | (q[d + 40 >> 2] <= q[d + 44 >> 2] ? q[d + 36 >> 2] == 3 : 0))) {
+     e = LM(a, b, q[d + 60 >> 2], q[d + 64 >> 2], q[d + 28 >> 2], 0, 1e6, e, 1, q[d + 80 >> 2]);
+    }
+    t = t + 1 | 0;
+    if ((x | 0) != (t | 0)) {
+     continue;
+    }
+    break;
+   }
+   t = 0;
+   while (1) {
+    A = s + w(t, 84) | 0;
+    z = q[A + 68 >> 2];
+    Ab : {
+     if (!z) {
+      break Ab;
+     }
+     d = q[A + 36 >> 2];
+     b = d + -1 | 0;
+     if (!(b >>> 0 > 2 | !(b - 1))) {
+      d = q[A + 64 >> 2];
+      b = q[A + 60 >> 2];
+      if (q[A + 40 >> 2] > q[A + 44 >> 2]) {
+       e = LM(a, z, b, d, q[A + 20 >> 2], 0, 1e6, e, 0, q[A + 80 >> 2]);
+       break Ab;
+      }
+      e = LM(a, z, b, d, q[A + 24 >> 2], 0, 1e6, e, 0, q[A + 80 >> 2]);
+      break Ab;
+     }
+     j = q[A + 20 >> 2];
+     i = q[A + 64 >> 2];
+     b = q[A + 60 >> 2];
+     if ((d | 0) == 2) {
+      e = LM(a, z, b, i, j, q[A + 24 >> 2], q[A + 40 >> 2], e, 0, q[A + 80 >> 2]);
+      break Ab;
+     }
+     e = LM(a, z, b, i, j, 0, 1e6, e, 0, q[A + 80 >> 2]);
+    }
+    t = t + 1 | 0;
+    if ((x | 0) != (t | 0)) {
+     continue;
+    }
+    break;
+   }
+   d = 0;
+   while (1) {
+    bM(q[(s + w(d, 84) | 0) + 80 >> 2]);
+    d = d + 1 | 0;
+    if ((x | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  j = 0;
+  q[e >> 2] = 0;
+  d = q[k + 40 >> 2];
+  i = c;
+  b = q[a + 472 >> 2];
+  if (b) {
+   q[k + 184 >> 2] = b;
+   q[k + 176 >> 2] = 1;
+   q[k + 120 >> 2] = 0;
+   q[k + 124 >> 2] = 0;
+   q[k + 112 >> 2] = 0;
+   q[k + 116 >> 2] = 0;
+   s = k + 104 | 0;
+   q[s >> 2] = 0;
+   q[s + 4 >> 2] = 0;
+   z = k + 96 | 0;
+   q[z >> 2] = 0;
+   q[z + 4 >> 2] = 0;
+   q[k + 88 >> 2] = 0;
+   q[k + 92 >> 2] = 0;
+   e = k + 80 | 0;
+   q[e >> 2] = 0;
+   q[e + 4 >> 2] = 0;
+   q[k + 72 >> 2] = 0;
+   q[k + 76 >> 2] = 0;
+   q[k + 64 >> 2] = 0;
+   q[k + 68 >> 2] = 0;
+   b = q[a + 476 >> 2];
+   u = v[a + 184 >> 3];
+   h = v[a + 176 >> 3];
+   q[k + 128 >> 2] = 0;
+   q[k + 132 >> 2] = 1072693248;
+   h = h / +(1 << b + -1);
+   v[z >> 3] = h;
+   v[k + 64 >> 3] = u * h;
+   v[e >> 3] = q[a + 64 >> 2] << 6;
+   v[s >> 3] = q[a + 56 >> 2] << 6;
+   b = pM(q[a + 740 >> 2], k + 176 | 0, a);
+   q[k + 136 >> 2] = b;
+   Bb : {
+    Cb : {
+     Db : {
+      if (!b) {
+       break Db;
+      }
+      j = b;
+      if (!r[j | 0]) {
+       break Db;
+      }
+      if (KM(k - -64 | 0, k + 48 | 0, 0, 1, k + 136 | 0)) {
+       break Cb;
+      }
+      j = q[k + 136 >> 2];
+     }
+     bM(j);
+     break Bb;
+    }
+    Eb : {
+     ba = pM(q[a + 744 >> 2], k + 136 | 0, a);
+     if (!ba) {
+      break Eb;
+     }
+     b = q[ba + 20 >> 2];
+     if (!b | !d) {
+      break Eb;
+     }
+     z = q[k + 52 >> 2];
+     j = q[k + 48 >> 2];
+     while (1) {
+      U = q[ba >> 2] + j | 0;
+      I = U + q[ba + 8 >> 2] | 0;
+      e = q[d >> 2];
+      R = q[d + 20 >> 2];
+      A = e + R | 0;
+      M = q[d + 4 >> 2];
+      S = q[d + 24 >> 2];
+      s = M + S | 0;
+      D = z + q[ba + 4 >> 2] | 0;
+      C = (A | 0) < (U | 0) | (s | 0) < (D | 0) | (R | 0) > (I | 0);
+      t = D + q[ba + 12 >> 2] | 0;
+      x = (S | 0) > (D | 0) ? S : D;
+      aa = ((s | 0) < (t | 0) ? s : t) - x | 0;
+      s = (R | 0) > (U | 0) ? R : U;
+      Y = ((A | 0) < (I | 0) ? A : I) - s | 0;
+      I = x - D | 0;
+      A = s - U | 0;
+      U = x - S | 0;
+      D = s - R | 0;
+      R = q[ba + 16 >> 2];
+      O = q[d + 8 >> 2];
+      x = q[d + 12 >> 2];
+      Fb : {
+       Gb : {
+        if (q[a + 480 >> 2]) {
+         if (!Y | C | (!aa | (S | 0) > (t | 0))) {
+          break Fb;
+         }
+         C = Jd(32, w(M, O), 0);
+         if (!C) {
+          break Eb;
+         }
+         ua = D + (Y$(C, x, e + w(O, M + -1 | 0) | 0) + w(O, U) | 0) | 0, wa = O, xa = A + (w(I, R) + b | 0) | 0, ya = R, za = aa, Aa = Y, ta = q[q[a + 764 >> 2] + 24 >> 2], n[ta](ua | 0, wa | 0, xa | 0, ya | 0, za | 0, Aa | 0);
+         break Gb;
+        }
+        Hb : {
+         if (!(!Y | C | (S | 0) > (t | 0))) {
+          if (aa) {
+           break Hb;
+          }
+         }
+         q[d + 8 >> 2] = 0;
+         q[d >> 2] = 0;
+         q[d + 4 >> 2] = 0;
+         break Fb;
+        }
+        s = (Y | 0) < 16 ? (Y | 0) < 8 ? 1 : 8 : 16;
+        e = 0 - s | 0;
+        e = Y >>> 0 > e >>> 0 ? Y : e & (s + Y | 0) + -1;
+        C = Jd(s, w(e, aa), 0);
+        if (!C) {
+         break Eb;
+        }
+        n[q[q[a + 764 >> 2] + 28 >> 2]](C, e, D + (x + w(O, U) | 0) | 0, O, A + (w(I, R) + b | 0) | 0, R, Y, aa);
+        q[d + 8 >> 2] = e;
+        q[d + 4 >> 2] = aa;
+        q[d >> 2] = Y;
+        q[d + 20 >> 2] = D + q[d + 20 >> 2];
+        q[d + 24 >> 2] = U + q[d + 24 >> 2];
+       }
+       q[d + 12 >> 2] = C;
+       q[d + 40 >> 2] = C;
+       bM(q[d + 36 >> 2]);
+       q[d + 36 >> 2] = 0;
+      }
+      d = q[d + 28 >> 2];
+      if (!d) {
+       break Eb;
+      }
+      b = q[ba + 20 >> 2];
+      continue;
+     }
+    }
+    bM(ba);
+   }
+   d = q[k + 40 >> 2];
+  }
+  q[i >> 2] = d;
+  Ib : {
+   if (q[a + 360 >> 2] != 4) {
+    break Ib;
+   }
+   m = 0;
+   l = 0;
+   h = v[a + 440 >> 3];
+   if (!!(h > 0)) {
+    l = h * v[a + 192 >> 3];
+   }
+   h = v[a + 448 >> 3];
+   if (!!(h > 0)) {
+    m = h * v[a + 192 >> 3];
+   }
+   b = q[c + 4 >> 2];
+   h = +(b | 0) - m;
+   Jb : {
+    if (y(h) < 2147483648) {
+     x = ~~h;
+     break Jb;
+    }
+    x = -2147483648;
+   }
+   h = m + +(b + q[c + 8 >> 2] | 0);
+   Kb : {
+    if (y(h) < 2147483648) {
+     s = ~~h;
+     break Kb;
+    }
+    s = -2147483648;
+   }
+   d = q[a + 136 >> 2];
+   z = d;
+   i = q[c + 12 >> 2];
+   h = +(i | 0) - l;
+   Lb : {
+    if (y(h) < 2147483648) {
+     e = ~~h;
+     break Lb;
+    }
+    e = -2147483648;
+   }
+   b = (e | 0) > 0 ? e : 0;
+   j = (b | 0) > (d | 0) ? z : b;
+   e = d;
+   h = l + +(i + q[c + 16 >> 2] | 0);
+   Mb : {
+    if (y(h) < 2147483648) {
+     i = ~~h;
+     break Mb;
+    }
+    i = -2147483648;
+   }
+   b = (i | 0) > 0 ? i : 0;
+   z = ((b | 0) > (d | 0) ? e : b) - j | 0;
+   if ((z | 0) < 1) {
+    break Ib;
+   }
+   d = q[a + 140 >> 2];
+   b = (x | 0) > 0 ? x : 0;
+   e = (b | 0) > (d | 0) ? d : b;
+   b = (s | 0) > 0 ? s : 0;
+   i = ((b | 0) > (d | 0) ? d : b) - e | 0;
+   if ((i | 0) < 1) {
+    break Ib;
+   }
+   d = w(i, z);
+   b = Jd(1, d, 0);
+   if (!b) {
+    break Ib;
+   }
+   d = Z$(b, 255, d);
+   b = q[a + 396 >> 2];
+   s = L$(48);
+   if (!s) {
+    Kd(d);
+    break Ib;
+   }
+   q[s + 36 >> 2] = 0;
+   q[s + 24 >> 2] = e;
+   q[s + 20 >> 2] = j;
+   q[s + 16 >> 2] = b;
+   q[s + 12 >> 2] = d;
+   q[s + 8 >> 2] = z;
+   q[s + 4 >> 2] = i;
+   q[s >> 2] = z;
+   qM(0);
+   q[s + 44 >> 2] = 0;
+   q[s + 40 >> 2] = d;
+   q[s + 28 >> 2] = q[c >> 2];
+   q[c >> 2] = s;
+  }
+  LN(ka);
+  bM(q[a + 220 >> 2]);
+  M$(q[a + 504 >> 2]);
+  M$(q[a + 472 >> 2]);
+  d = 0;
+  q[a + 504 >> 2] = 0;
+  q[a + 220 >> 2] = 0;
+  q[a + 472 >> 2] = 0;
+  j = 1;
+  if (q[a + 692 >> 2] >= 1) {
+   while (1) {
+    M$(q[(q[a + 688 >> 2] + w(d, 336) | 0) + 32 >> 2]);
+    d = d + 1 | 0;
+    if ((d | 0) < q[a + 692 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[a + 692 >> 2] = 0;
+ }
+ Ca = k + 224 | 0;
+ return j;
+}
+function LU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ k = Ca - 16 | 0;
+ Ca = k;
+ g = -4;
+ a : {
+  if (b >>> 0 >= c >>> 0) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            l : {
+             m : {
+              n : {
+               o : {
+                p : {
+                 q : {
+                  r : {
+                   s : {
+                    e = c - b | 0;
+                    if (e & 1) {
+                     c = e & -2;
+                     if (!c) {
+                      break s;
+                     }
+                     c = b + c | 0;
+                    }
+                    t : {
+                     u : {
+                      v : {
+                       w : {
+                        x : {
+                         y : {
+                          z : {
+                           A : {
+                            B : {
+                             C : {
+                              D : {
+                               E : {
+                                e = r[b | 0];
+                                f = e + -216 | 0;
+                                if (f >>> 0 > 39) {
+                                 if (e) {
+                                  break u;
+                                 }
+                                 l = a + 72 | 0;
+                                 e = r[l + r[b + 1 | 0] | 0];
+                                 if (e >>> 0 > 10) {
+                                  break u;
+                                 }
+                                 switch (e - 2 | 0) {
+                                 case 5:
+                                  break x;
+                                 case 4:
+                                  break y;
+                                 case 3:
+                                  break z;
+                                 case 2:
+                                  break A;
+                                 case 8:
+                                  break B;
+                                 case 7:
+                                  break C;
+                                 case 1:
+                                  break D;
+                                 case 0:
+                                  break E;
+                                 default:
+                                  break v;
+                                 }
+                                }
+                                switch (f - 4 | 0) {
+                                case 4:
+                                case 5:
+                                case 6:
+                                case 7:
+                                case 8:
+                                case 9:
+                                case 10:
+                                case 11:
+                                case 12:
+                                case 13:
+                                case 14:
+                                case 15:
+                                case 16:
+                                case 17:
+                                case 18:
+                                case 19:
+                                case 20:
+                                case 21:
+                                case 22:
+                                case 23:
+                                case 24:
+                                case 25:
+                                case 26:
+                                case 27:
+                                case 28:
+                                case 29:
+                                case 30:
+                                case 31:
+                                case 32:
+                                case 33:
+                                case 34:
+                                 break u;
+                                case 0:
+                                case 1:
+                                case 2:
+                                case 3:
+                                 break v;
+                                case 35:
+                                 break w;
+                                default:
+                                 break x;
+                                }
+                               }
+                               g = -1;
+                               e = b + 2 | 0;
+                               f = c - e | 0;
+                               if ((f | 0) < 2) {
+                                break a;
+                               }
+                               i = r[e | 0];
+                               h = i + -216 | 0;
+                               if (h >>> 0 <= 39) {
+                                break r;
+                               }
+                               if (i) {
+                                break e;
+                               }
+                               h = r[b + 3 | 0];
+                               m = r[l + h | 0] + -5 | 0;
+                               if (m >>> 0 > 24) {
+                                break c;
+                               }
+                               F : {
+                                switch (m - 1 | 0) {
+                                case 0:
+                                 g = -2;
+                                 if ((f | 0) >= 3) {
+                                  break c;
+                                 }
+                                 break a;
+                                case 10:
+                                 e = b + 4 | 0;
+                                 if ((c - e | 0) < 2) {
+                                  break a;
+                                 }
+                                 G : {
+                                  if (r[e | 0]) {
+                                   break G;
+                                  }
+                                  f = r[l + r[b + 5 | 0] | 0] + -20 | 0;
+                                  if (f >>> 0 > 7) {
+                                   break G;
+                                  }
+                                  H : {
+                                   switch (f - 1 | 0) {
+                                   case 6:
+                                    g = IU(a, b + 6 | 0, c, d);
+                                    break a;
+                                   case 0:
+                                   case 1:
+                                   case 2:
+                                   case 3:
+                                   case 4:
+                                   case 5:
+                                    break G;
+                                   default:
+                                    break H;
+                                   }
+                                  }
+                                  e = b + 6 | 0;
+                                  if ((c - e | 0) < 12) {
+                                   break a;
+                                  }
+                                  if (r[b + 6 | 0] | r[b + 7 | 0] != 67) {
+                                   break g;
+                                  }
+                                  e = b + 8 | 0;
+                                  if (r[b + 8 | 0] | r[b + 9 | 0] != 68) {
+                                   break g;
+                                  }
+                                  e = b + 10 | 0;
+                                  if (r[b + 10 | 0] | r[b + 11 | 0] != 65) {
+                                   break g;
+                                  }
+                                  e = b + 12 | 0;
+                                  if (r[b + 12 | 0] | r[b + 13 | 0] != 84) {
+                                   break g;
+                                  }
+                                  e = b + 14 | 0;
+                                  if (r[b + 14 | 0] | r[b + 15 | 0] != 65) {
+                                   break g;
+                                  }
+                                  e = b + 16 | 0;
+                                  if (r[b + 16 | 0] | r[b + 17 | 0] != 91) {
+                                   break g;
+                                  }
+                                  q[d >> 2] = b + 18;
+                                  g = 8;
+                                  break a;
+                                 }
+                                 q[d >> 2] = e;
+                                 g = 0;
+                                 break a;
+                                case 9:
+                                 g = JU(a, b + 4 | 0, c, d);
+                                 break a;
+                                case 16:
+                                case 18:
+                                 break b;
+                                case 11:
+                                 break F;
+                                case 23:
+                                 break d;
+                                case 1:
+                                 break f;
+                                default:
+                                 break c;
+                                }
+                               }
+                               e = b + 4 | 0;
+                               a = c - e | 0;
+                               if ((a | 0) < 2) {
+                                break a;
+                               }
+                               h = r[e | 0];
+                               f = h + -216 | 0;
+                               if (f >>> 0 <= 39) {
+                                break q;
+                               }
+                               if (h) {
+                                break k;
+                               }
+                               f = r[b + 5 | 0];
+                               i = r[l + f | 0] + -5 | 0;
+                               if (i >>> 0 > 24) {
+                                break i;
+                               }
+                               I : {
+                                switch (i - 1 | 0) {
+                                case 23:
+                                 break j;
+                                case 1:
+                                 break l;
+                                case 0:
+                                 break I;
+                                case 16:
+                                case 18:
+                                 break h;
+                                default:
+                                 break i;
+                                }
+                               }
+                               g = -2;
+                               if ((a | 0) >= 3) {
+                                break i;
+                               }
+                               break a;
+                              }
+                              g = MU(a, b + 2 | 0, c, d);
+                              break a;
+                             }
+                             g = -3;
+                             a = b + 2 | 0;
+                             if ((c - a | 0) < 2) {
+                              break a;
+                             }
+                             if (!r[a | 0]) {
+                              a = r[l + r[b + 3 | 0] | 0] == 10 ? b + 4 | 0 : a;
+                             }
+                             q[d >> 2] = a;
+                             g = 7;
+                             break a;
+                            }
+                            q[d >> 2] = b + 2;
+                            g = 7;
+                            break a;
+                           }
+                           g = -5;
+                           e = b + 2 | 0;
+                           if ((c - e | 0) < 2) {
+                            break a;
+                           }
+                           if (r[e | 0] | r[b + 3 | 0] != 93) {
+                            break t;
+                           }
+                           f = b + 4 | 0;
+                           if ((c - f | 0) < 2) {
+                            break a;
+                           }
+                           if (r[f | 0] | r[b + 5 | 0] != 62) {
+                            break t;
+                           }
+                           q[d >> 2] = f;
+                           g = 0;
+                           break a;
+                          }
+                          g = -2;
+                          if ((c - b | 0) < 2) {
+                           break a;
+                          }
+                          e = b + 2 | 0;
+                          break t;
+                         }
+                         g = -2;
+                         if ((c - b | 0) < 3) {
+                          break a;
+                         }
+                         e = b + 3 | 0;
+                         break t;
+                        }
+                        g = -2;
+                        if ((c - b | 0) < 4) {
+                         break a;
+                        }
+                        e = b + 4 | 0;
+                        break t;
+                       }
+                       if (r[b + 1 | 0] <= 253) {
+                        break u;
+                       }
+                      }
+                      q[d >> 2] = b;
+                      g = 0;
+                      break a;
+                     }
+                     e = b + 2 | 0;
+                    }
+                    g = c - e | 0;
+                    if ((g | 0) >= 2) {
+                     b = a + 72 | 0;
+                     while (1) {
+                      J : {
+                       K : {
+                        L : {
+                         M : {
+                          N : {
+                           O : {
+                            a = e;
+                            e = r[e | 0];
+                            f = e + -216 | 0;
+                            if (f >>> 0 > 39) {
+                             if (e) {
+                              break K;
+                             }
+                             e = r[b + r[a + 1 | 0] | 0];
+                             if (e >>> 0 > 10) {
+                              break K;
+                             }
+                             switch (e - 4 | 0) {
+                             case 1:
+                              break K;
+                             case 0:
+                              break M;
+                             case 3:
+                              break N;
+                             case 2:
+                              break O;
+                             default:
+                              break p;
+                             }
+                            }
+                            switch (f - 4 | 0) {
+                            case 0:
+                            case 1:
+                            case 2:
+                            case 3:
+                             break p;
+                            case 4:
+                            case 5:
+                            case 6:
+                            case 7:
+                            case 8:
+                            case 9:
+                            case 10:
+                            case 11:
+                            case 12:
+                            case 13:
+                            case 14:
+                            case 15:
+                            case 16:
+                            case 17:
+                            case 18:
+                            case 19:
+                            case 20:
+                            case 21:
+                            case 22:
+                            case 23:
+                            case 24:
+                            case 25:
+                            case 26:
+                            case 27:
+                            case 28:
+                            case 29:
+                            case 30:
+                            case 31:
+                            case 32:
+                            case 33:
+                            case 34:
+                             break K;
+                            case 35:
+                             break L;
+                            default:
+                             break N;
+                            }
+                           }
+                           if ((g | 0) <= 2) {
+                            break p;
+                           }
+                           e = a + 3 | 0;
+                           break J;
+                          }
+                          if ((g | 0) <= 3) {
+                           break p;
+                          }
+                          e = a + 4 | 0;
+                          break J;
+                         }
+                         if ((g | 0) < 4) {
+                          break p;
+                         }
+                         e = a + 2 | 0;
+                         if (r[a + 2 | 0] | r[a + 3 | 0] != 93) {
+                          break J;
+                         }
+                         if ((g | 0) < 6) {
+                          break p;
+                         }
+                         if (r[a + 4 | 0] | r[a + 5 | 0] != 62) {
+                          break J;
+                         }
+                         q[d >> 2] = a + 4;
+                         g = 0;
+                         break a;
+                        }
+                        if (r[a + 1 | 0] > 253) {
+                         break p;
+                        }
+                       }
+                       e = a + 2 | 0;
+                      }
+                      g = c - e | 0;
+                      if ((g | 0) > 1) {
+                       continue;
+                      }
+                      break;
+                     }
+                    }
+                    q[d >> 2] = e;
+                    break o;
+                   }
+                   g = -1;
+                   break a;
+                  }
+                  switch (h - 4 | 0) {
+                  case 35:
+                   break n;
+                  case 0:
+                  case 1:
+                  case 2:
+                  case 3:
+                   break c;
+                  case 4:
+                  case 5:
+                  case 6:
+                  case 7:
+                  case 8:
+                  case 9:
+                  case 10:
+                  case 11:
+                  case 12:
+                  case 13:
+                  case 14:
+                  case 15:
+                  case 16:
+                  case 17:
+                  case 18:
+                  case 19:
+                  case 20:
+                  case 21:
+                  case 22:
+                  case 23:
+                  case 24:
+                  case 25:
+                  case 26:
+                  case 27:
+                  case 28:
+                  case 29:
+                  case 30:
+                  case 31:
+                  case 32:
+                  case 33:
+                  case 34:
+                   break e;
+                  default:
+                   break f;
+                  }
+                 }
+                 switch (f - 4 | 0) {
+                 case 4:
+                 case 5:
+                 case 6:
+                 case 7:
+                 case 8:
+                 case 9:
+                 case 10:
+                 case 11:
+                 case 12:
+                 case 13:
+                 case 14:
+                 case 15:
+                 case 16:
+                 case 17:
+                 case 18:
+                 case 19:
+                 case 20:
+                 case 21:
+                 case 22:
+                 case 23:
+                 case 24:
+                 case 25:
+                 case 26:
+                 case 27:
+                 case 28:
+                 case 29:
+                 case 30:
+                 case 31:
+                 case 32:
+                 case 33:
+                 case 34:
+                  break k;
+                 case 35:
+                  break m;
+                 case 0:
+                 case 1:
+                 case 2:
+                 case 3:
+                  break i;
+                 default:
+                  break l;
+                 }
+                }
+                q[d >> 2] = a;
+               }
+               g = 6;
+               break a;
+              }
+              h = r[b + 3 | 0];
+              if (h >>> 0 <= 253) {
+               break d;
+              }
+              break c;
+             }
+             f = r[b + 5 | 0];
+             if (f >>> 0 <= 253) {
+              break j;
+             }
+             break i;
+            }
+            g = -2;
+            if ((a | 0) >= 4) {
+             break i;
+            }
+            break a;
+           }
+           f = r[b + 5 | 0];
+          }
+          if (q[(f >>> 3 & 28 | r[h + 492208 | 0] << 5) + 490192 >> 2] >>> (f & 31) & 1) {
+           break h;
+          }
+         }
+         q[d >> 2] = e;
+         g = 0;
+         break a;
+        }
+        b = b + 6 | 0;
+        h = c - b | 0;
+        if ((h | 0) <= 1) {
+         break a;
+        }
+        while (1) {
+         P : {
+          Q : {
+           R : {
+            S : {
+             T : {
+              f = r[b | 0];
+              a = f + -216 | 0;
+              if (a >>> 0 > 39) {
+               if (f) {
+                break S;
+               }
+               a = r[e + 3 | 0];
+               i = r[l + a | 0];
+               if (i + -22 >>> 0 < 6) {
+                break P;
+               }
+               i = i + -5 | 0;
+               if (i >>> 0 > 24) {
+                break Q;
+               }
+               U : {
+                switch (i - 1 | 0) {
+                case 0:
+                 g = -2;
+                 if ((h | 0) >= 3) {
+                  break Q;
+                 }
+                 break a;
+                case 3:
+                case 4:
+                case 15:
+                 b = e + 4 | 0;
+                 if ((c - b | 0) < 2) {
+                  break a;
+                 }
+                 while (1) {
+                  V : {
+                   W : {
+                    if (r[b | 0]) {
+                     break W;
+                    }
+                    a = r[l + r[b + 1 | 0] | 0] + -9 | 0;
+                    if (a >>> 0 > 12) {
+                     break W;
+                    }
+                    X : {
+                     switch (a - 2 | 0) {
+                     case 1:
+                     case 2:
+                     case 3:
+                     case 4:
+                     case 5:
+                     case 6:
+                     case 7:
+                     case 8:
+                     case 9:
+                      break W;
+                     case 0:
+                      break X;
+                     default:
+                      break V;
+                     }
+                    }
+                    q[d >> 2] = b + 2;
+                    g = 5;
+                    break a;
+                   }
+                   q[d >> 2] = b;
+                   g = 0;
+                   break a;
+                  }
+                  b = b + 2 | 0;
+                  if ((c - b | 0) > 1) {
+                   continue;
+                  }
+                  break;
+                 }
+                 break a;
+                case 23:
+                 break R;
+                case 1:
+                 break T;
+                case 5:
+                 break U;
+                default:
+                 break Q;
+                }
+               }
+               q[d >> 2] = e + 4;
+               g = 5;
+               break a;
+              }
+              Y : {
+               switch (a - 4 | 0) {
+               case 0:
+               case 1:
+               case 2:
+               case 3:
+                break Q;
+               case 4:
+               case 5:
+               case 6:
+               case 7:
+               case 8:
+               case 9:
+               case 10:
+               case 11:
+               case 12:
+               case 13:
+               case 14:
+               case 15:
+               case 16:
+               case 17:
+               case 18:
+               case 19:
+               case 20:
+               case 21:
+               case 22:
+               case 23:
+               case 24:
+               case 25:
+               case 26:
+               case 27:
+               case 28:
+               case 29:
+               case 30:
+               case 31:
+               case 32:
+               case 33:
+               case 34:
+                break S;
+               case 35:
+                break Y;
+               default:
+                break T;
+               }
+              }
+              a = r[e + 3 | 0];
+              if (a >>> 0 <= 253) {
+               break R;
+              }
+              break Q;
+             }
+             g = -2;
+             if ((h | 0) >= 4) {
+              break Q;
+             }
+             break a;
+            }
+            a = r[e + 3 | 0];
+           }
+           if (q[(a >>> 3 & 28 | r[f + 492464 | 0] << 5) + 490192 >> 2] >>> (a & 31) & 1) {
+            break P;
+           }
+          }
+          q[d >> 2] = b;
+          g = 0;
+          break a;
+         }
+         e = b;
+         b = b + 2 | 0;
+         h = c - b | 0;
+         if ((h | 0) > 1) {
+          continue;
+         }
+         break;
+        }
+        break a;
+       }
+       q[d >> 2] = e;
+       g = 0;
+       break a;
+      }
+      g = -2;
+      if ((f | 0) >= 4) {
+       break c;
+      }
+      break a;
+     }
+     h = r[b + 3 | 0];
+    }
+    if (q[(h >>> 3 & 28 | r[i + 492208 | 0] << 5) + 490192 >> 2] >>> (h & 31) & 1) {
+     break b;
+    }
+   }
+   q[d >> 2] = e;
+   g = 0;
+   break a;
+  }
+  b = b + 4 | 0;
+  i = c - b | 0;
+  if ((i | 0) <= 1) {
+   break a;
+  }
+  while (1) {
+   Z : {
+    _ : {
+     $ : {
+      aa : {
+       ba : {
+        ca : {
+         da : {
+          ea : {
+           fa : {
+            ga : {
+             ha : {
+              ia : {
+               ja : {
+                ka : {
+                 f = r[b | 0];
+                 e = f + -216 | 0;
+                 if (e >>> 0 > 39) {
+                  if (f) {
+                   break aa;
+                  }
+                  e = r[b + 1 | 0];
+                  m = r[l + e | 0] + -5 | 0;
+                  if (m >>> 0 > 24) {
+                   break _;
+                  }
+                  h = 2;
+                  la : {
+                   ma : {
+                    na : {
+                     switch (m - 1 | 0) {
+                     case 0:
+                      g = -2;
+                      if ((i | 0) >= 3) {
+                       break _;
+                      }
+                      break a;
+                     case 17:
+                      if (j) {
+                       break _;
+                      }
+                      f = b + 2 | 0;
+                      i = c - f | 0;
+                      if ((i | 0) < 2) {
+                       break a;
+                      }
+                      m = r[f | 0];
+                      e = m + -216 | 0;
+                      if (e >>> 0 <= 39) {
+                       break ka;
+                      }
+                      if (m) {
+                       break ea;
+                      }
+                      e = r[b + 3 | 0];
+                      n = r[l + e | 0] + -5 | 0;
+                      if (n >>> 0 > 24) {
+                       break ca;
+                      }
+                      j = 1;
+                      h = 4;
+                      oa : {
+                       switch (n - 1 | 0) {
+                       case 16:
+                       case 18:
+                        break Z;
+                       case 23:
+                        break da;
+                       case 1:
+                        break fa;
+                       case 0:
+                        break oa;
+                       default:
+                        break ca;
+                       }
+                      }
+                      g = -2;
+                      if ((i | 0) >= 3) {
+                       break ca;
+                      }
+                      break a;
+                     case 16:
+                     case 18:
+                     case 19:
+                     case 20:
+                     case 21:
+                      break Z;
+                     case 23:
+                      break $;
+                     case 1:
+                      break ba;
+                     case 11:
+                      break la;
+                     case 5:
+                      break ma;
+                     case 3:
+                     case 4:
+                     case 15:
+                      break na;
+                     default:
+                      break _;
+                     }
+                    }
+                    f = b + 2 | 0;
+                    h = c - f | 0;
+                    if ((h | 0) < 2) {
+                     break a;
+                    }
+                    e = b;
+                    while (1) {
+                     pa : {
+                      b = f;
+                      qa : {
+                       ra : {
+                        sa : {
+                         ta : {
+                          i = r[e + 2 | 0];
+                          if (i) {
+                           f = i + -216 | 0;
+                           if (f >>> 0 > 39) {
+                            break ta;
+                           }
+                           switch (f - 4 | 0) {
+                           case 0:
+                           case 1:
+                           case 2:
+                           case 3:
+                            break _;
+                           case 35:
+                            break pa;
+                           case 4:
+                           case 5:
+                           case 6:
+                           case 7:
+                           case 8:
+                           case 9:
+                           case 10:
+                           case 11:
+                           case 12:
+                           case 13:
+                           case 14:
+                           case 15:
+                           case 16:
+                           case 17:
+                           case 18:
+                           case 19:
+                           case 20:
+                           case 21:
+                           case 22:
+                           case 23:
+                           case 24:
+                           case 25:
+                           case 26:
+                           case 27:
+                           case 28:
+                           case 29:
+                           case 30:
+                           case 31:
+                           case 32:
+                           case 33:
+                           case 34:
+                            break ta;
+                           default:
+                            break ra;
+                           }
+                          }
+                          f = r[e + 3 | 0];
+                          j = r[l + f | 0] + -5 | 0;
+                          if (j >>> 0 > 24) {
+                           break _;
+                          }
+                          switch (j - 1 | 0) {
+                          case 16:
+                          case 18:
+                           break ha;
+                          case 23:
+                           break ia;
+                          case 11:
+                           break la;
+                          case 5:
+                           break ma;
+                          case 3:
+                          case 4:
+                          case 15:
+                           break qa;
+                          case 1:
+                           break ra;
+                          case 0:
+                           break sa;
+                          default:
+                           break _;
+                          }
+                         }
+                         f = r[e + 3 | 0];
+                         break ia;
+                        }
+                        g = -2;
+                        if ((h | 0) >= 3) {
+                         break _;
+                        }
+                        break a;
+                       }
+                       g = -2;
+                       if ((h | 0) >= 4) {
+                        break _;
+                       }
+                       break a;
+                      }
+                      e = b;
+                      f = b + 2 | 0;
+                      h = c - f | 0;
+                      if ((h | 0) > 1) {
+                       continue;
+                      }
+                      break a;
+                     }
+                     break;
+                    }
+                    f = r[e + 3 | 0];
+                    if (f >>> 0 > 253) {
+                     break _;
+                    }
+                    break ia;
+                   }
+                   g = 2;
+                   q[d >> 2] = b + 2;
+                   break a;
+                  }
+                  a = b + 2 | 0;
+                  if ((c - a | 0) < 2) {
+                   break a;
+                  }
+                  if (!(r[b + 3 | 0] == 62 ? !r[a | 0] : 0)) {
+                   q[d >> 2] = a;
+                   g = 0;
+                   break a;
+                  }
+                  q[d >> 2] = b + 4;
+                  g = 4;
+                  break a;
+                 }
+                 switch (e - 4 | 0) {
+                 case 0:
+                 case 1:
+                 case 2:
+                 case 3:
+                  break _;
+                 case 4:
+                 case 5:
+                 case 6:
+                 case 7:
+                 case 8:
+                 case 9:
+                 case 10:
+                 case 11:
+                 case 12:
+                 case 13:
+                 case 14:
+                 case 15:
+                 case 16:
+                 case 17:
+                 case 18:
+                 case 19:
+                 case 20:
+                 case 21:
+                 case 22:
+                 case 23:
+                 case 24:
+                 case 25:
+                 case 26:
+                 case 27:
+                 case 28:
+                 case 29:
+                 case 30:
+                 case 31:
+                 case 32:
+                 case 33:
+                 case 34:
+                  break aa;
+                 case 35:
+                  break ja;
+                 default:
+                  break ba;
+                 }
+                }
+                switch (e - 4 | 0) {
+                case 0:
+                case 1:
+                case 2:
+                case 3:
+                 break ca;
+                case 4:
+                case 5:
+                case 6:
+                case 7:
+                case 8:
+                case 9:
+                case 10:
+                case 11:
+                case 12:
+                case 13:
+                case 14:
+                case 15:
+                case 16:
+                case 17:
+                case 18:
+                case 19:
+                case 20:
+                case 21:
+                case 22:
+                case 23:
+                case 24:
+                case 25:
+                case 26:
+                case 27:
+                case 28:
+                case 29:
+                case 30:
+                case 31:
+                case 32:
+                case 33:
+                case 34:
+                 break ea;
+                case 35:
+                 break ga;
+                default:
+                 break fa;
+                }
+               }
+               e = r[b + 1 | 0];
+               if (e >>> 0 <= 253) {
+                break $;
+               }
+               break _;
+              }
+              if (!(q[(f >>> 3 & 28 | r[i + 492208 | 0] << 5) + 490192 >> 2] >>> (f & 31) & 1)) {
+               break _;
+              }
+             }
+             b = e + 4 | 0;
+             q[k + 12 >> 2] = b;
+             h = c - b | 0;
+             if ((h | 0) < 2) {
+              break a;
+             }
+             f = 0;
+             while (1) {
+              ua : {
+               va : {
+                wa : {
+                 xa : {
+                  ya : {
+                   za : {
+                    Aa : {
+                     Ba : {
+                      Ca : {
+                       Da : {
+                        Ea : {
+                         Fa : {
+                          Ga : {
+                           Ha : {
+                            Ia : {
+                             i = r[b | 0];
+                             e = i + -216 | 0;
+                             if (e >>> 0 > 39) {
+                              if (i) {
+                               break ya;
+                              }
+                              e = r[b + 1 | 0];
+                              j = r[l + e | 0] + -5 | 0;
+                              if (j >>> 0 > 24) {
+                               break wa;
+                              }
+                              Ja : {
+                               Ka : {
+                                La : {
+                                 switch (j - 1 | 0) {
+                                 case 0:
+                                  g = -2;
+                                  if ((h | 0) >= 3) {
+                                   break wa;
+                                  }
+                                  break a;
+                                 case 17:
+                                  if (f) {
+                                   break wa;
+                                  }
+                                  e = b + 2 | 0;
+                                  q[k + 12 >> 2] = e;
+                                  h = c - e | 0;
+                                  if ((h | 0) < 2) {
+                                   break a;
+                                  }
+                                  i = r[e | 0];
+                                  f = i + -216 | 0;
+                                  if (f >>> 0 <= 39) {
+                                   break Ja;
+                                  }
+                                  if (i) {
+                                   break Da;
+                                  }
+                                  f = r[b + 3 | 0];
+                                  j = r[l + f | 0] + -5 | 0;
+                                  if (j >>> 0 > 24) {
+                                   break Ba;
+                                  }
+                                  Ma : {
+                                   switch (j - 1 | 0) {
+                                   case 16:
+                                   case 18:
+                                    break Aa;
+                                   case 23:
+                                    break Ca;
+                                   case 1:
+                                    break Ea;
+                                   case 0:
+                                    break Ma;
+                                   default:
+                                    break Ba;
+                                   }
+                                  }
+                                  g = -2;
+                                  if ((h | 0) >= 3) {
+                                   break Ba;
+                                  }
+                                  break a;
+                                 case 16:
+                                 case 18:
+                                 case 19:
+                                 case 20:
+                                 case 21:
+                                  break va;
+                                 case 23:
+                                  break xa;
+                                 case 1:
+                                  break za;
+                                 case 8:
+                                  break Ka;
+                                 case 3:
+                                 case 4:
+                                 case 15:
+                                  break La;
+                                 default:
+                                  break wa;
+                                 }
+                                }
+                                e = b + 2 | 0;
+                                q[k + 12 >> 2] = e;
+                                if ((c - e | 0) < 2) {
+                                 break a;
+                                }
+                                Na : {
+                                 if (r[e | 0]) {
+                                  break Na;
+                                 }
+                                 f = b;
+                                 b = e;
+                                 while (1) {
+                                  f = r[l + r[f + 3 | 0] | 0] + -9 | 0;
+                                  if (f >>> 0 > 12) {
+                                   break Na;
+                                  }
+                                  Oa : {
+                                   switch (f - 2 | 0) {
+                                   case 3:
+                                    break Ka;
+                                   case 0:
+                                   case 1:
+                                   case 2:
+                                   case 4:
+                                   case 5:
+                                   case 6:
+                                   case 7:
+                                   case 8:
+                                   case 9:
+                                    break Na;
+                                   default:
+                                    break Oa;
+                                   }
+                                  }
+                                  e = b + 2 | 0;
+                                  q[k + 12 >> 2] = e;
+                                  if ((c - e | 0) <= 1) {
+                                   break a;
+                                  }
+                                  f = b;
+                                  b = e;
+                                  if (!r[b | 0]) {
+                                   continue;
+                                  }
+                                  break;
+                                 }
+                                }
+                                q[d >> 2] = e;
+                                g = 0;
+                                break a;
+                               }
+                               f = b + 2 | 0;
+                               q[k + 12 >> 2] = f;
+                               if ((c - f | 0) < 2) {
+                                break a;
+                               }
+                               Pa : {
+                                Qa : {
+                                 if (!r[f | 0]) {
+                                  e = f;
+                                  while (1) {
+                                   h = r[l + r[b + 3 | 0] | 0];
+                                   if ((h | 1) == 13) {
+                                    break Pa;
+                                   }
+                                   if (!(1 << h & 2098688) | h >>> 0 > 21) {
+                                    break Qa;
+                                   }
+                                   e = f + 2 | 0;
+                                   q[k + 12 >> 2] = e;
+                                   if ((c - e | 0) <= 1) {
+                                    break a;
+                                   }
+                                   b = f;
+                                   f = e;
+                                   if (!r[e | 0]) {
+                                    continue;
+                                   }
+                                   break;
+                                  }
+                                  break Qa;
+                                 }
+                                 e = f;
+                                }
+                                q[d >> 2] = e;
+                                g = 0;
+                                break a;
+                               }
+                               b = b + 4 | 0;
+                               q[k + 12 >> 2] = b;
+                               i = c - b | 0;
+                               if ((i | 0) < 2) {
+                                break a;
+                               }
+                               while (1) {
+                                Ra : {
+                                 Sa : {
+                                  e = r[b | 0];
+                                  f = e + -216 | 0;
+                                  Ta : {
+                                   if (f >>> 0 > 39) {
+                                    if (e) {
+                                     break Ta;
+                                    }
+                                    e = r[l + r[b + 1 | 0] | 0];
+                                    break Ra;
+                                   }
+                                   e = 7;
+                                   Ua : {
+                                    switch (f - 4 | 0) {
+                                    case 0:
+                                    case 1:
+                                    case 2:
+                                    case 3:
+                                     break Sa;
+                                    case 4:
+                                    case 5:
+                                    case 6:
+                                    case 7:
+                                    case 8:
+                                    case 9:
+                                    case 10:
+                                    case 11:
+                                    case 12:
+                                    case 13:
+                                    case 14:
+                                    case 15:
+                                    case 16:
+                                    case 17:
+                                    case 18:
+                                    case 19:
+                                    case 20:
+                                    case 21:
+                                    case 22:
+                                    case 23:
+                                    case 24:
+                                    case 25:
+                                    case 26:
+                                    case 27:
+                                    case 28:
+                                    case 29:
+                                    case 30:
+                                    case 31:
+                                    case 32:
+                                    case 33:
+                                    case 34:
+                                     break Ta;
+                                    case 35:
+                                     break Ua;
+                                    default:
+                                     break Ra;
+                                    }
+                                   }
+                                   e = 0;
+                                   if (r[b + 1 | 0] > 253) {
+                                    break Ra;
+                                   }
+                                  }
+                                  e = 29;
+                                  break Ra;
+                                 }
+                                 e = 8;
+                                }
+                                if ((e | 0) != (h | 0)) {
+                                 f = k;
+                                 Va : {
+                                  Wa : {
+                                   Xa : {
+                                    if (e >>> 0 > 8) {
+                                     break Xa;
+                                    }
+                                    Ya : {
+                                     switch (e - 3 | 0) {
+                                     case 3:
+                                      if ((i | 0) < 3) {
+                                       g = -2;
+                                       break a;
+                                      }
+                                      b = b + 3 | 0;
+                                      break Wa;
+                                     case 4:
+                                      if ((i | 0) < 4) {
+                                       g = -2;
+                                       break a;
+                                      }
+                                      b = b + 4 | 0;
+                                      break Wa;
+                                     case 0:
+                                      b = MU(a, b + 2 | 0, c, k + 12 | 0);
+                                      if ((b | 0) >= 1) {
+                                       b = q[k + 12 >> 2];
+                                       break Va;
+                                      }
+                                      g = b;
+                                      if (b) {
+                                       break a;
+                                      }
+                                      q[d >> 2] = q[k + 12 >> 2];
+                                      g = 0;
+                                      break a;
+                                     case 1:
+                                     case 2:
+                                      break Xa;
+                                     default:
+                                      break Ya;
+                                     }
+                                    }
+                                    q[d >> 2] = b;
+                                    g = 0;
+                                    break a;
+                                   }
+                                   b = b + 2 | 0;
+                                  }
+                                  q[f + 12 >> 2] = b;
+                                 }
+                                 i = c - b | 0;
+                                 if ((i | 0) > 1) {
+                                  continue;
+                                 }
+                                 break a;
+                                }
+                                break;
+                               }
+                               e = b + 2 | 0;
+                               q[k + 12 >> 2] = e;
+                               if ((c - e | 0) < 2) {
+                                break a;
+                               }
+                               if (r[e | 0]) {
+                                break Ga;
+                               }
+                               f = r[l + r[b + 3 | 0] | 0] + -9 | 0;
+                               if (f >>> 0 > 12) {
+                                break Ga;
+                               }
+                               Za : {
+                                _a : {
+                                 $a : {
+                                  ab : {
+                                   bb : {
+                                    switch (f - 2 | 0) {
+                                    case 1:
+                                    case 2:
+                                    case 3:
+                                    case 4:
+                                    case 5:
+                                    case 7:
+                                    case 8:
+                                    case 9:
+                                     break Ga;
+                                    case 6:
+                                     break $a;
+                                    case 0:
+                                     break ab;
+                                    default:
+                                     break bb;
+                                    }
+                                   }
+                                   b = b + 4 | 0;
+                                   q[k + 12 >> 2] = b;
+                                   f = e;
+                                   i = c - b | 0;
+                                   if ((i | 0) < 2) {
+                                    break a;
+                                   }
+                                   while (1) {
+                                    e = b;
+                                    cb : {
+                                     db : {
+                                      eb : {
+                                       fb : {
+                                        h = r[b | 0];
+                                        if (h) {
+                                         j = h + -216 | 0;
+                                         if (j >>> 0 > 39) {
+                                          break fb;
+                                         }
+                                         switch (j - 4 | 0) {
+                                         case 0:
+                                         case 1:
+                                         case 2:
+                                         case 3:
+                                          break Za;
+                                         case 35:
+                                          break _a;
+                                         case 4:
+                                         case 5:
+                                         case 6:
+                                         case 7:
+                                         case 8:
+                                         case 9:
+                                         case 10:
+                                         case 11:
+                                         case 12:
+                                         case 13:
+                                         case 14:
+                                         case 15:
+                                         case 16:
+                                         case 17:
+                                         case 18:
+                                         case 19:
+                                         case 20:
+                                         case 21:
+                                         case 22:
+                                         case 23:
+                                         case 24:
+                                         case 25:
+                                         case 26:
+                                         case 27:
+                                         case 28:
+                                         case 29:
+                                         case 30:
+                                         case 31:
+                                         case 32:
+                                         case 33:
+                                         case 34:
+                                          break fb;
+                                         default:
+                                          break db;
+                                         }
+                                        }
+                                        j = r[f + 3 | 0];
+                                        m = r[l + j | 0] + -5 | 0;
+                                        if (m >>> 0 > 24) {
+                                         break Za;
+                                        }
+                                        switch (m - 1 | 0) {
+                                        case 16:
+                                        case 18:
+                                         break Ha;
+                                        case 23:
+                                         break Ia;
+                                        case 2:
+                                        case 6:
+                                        case 7:
+                                        case 8:
+                                        case 9:
+                                        case 10:
+                                        case 12:
+                                        case 13:
+                                        case 14:
+                                        case 17:
+                                        case 19:
+                                        case 20:
+                                        case 21:
+                                        case 22:
+                                         break Za;
+                                        case 11:
+                                         break $a;
+                                        case 5:
+                                         break ab;
+                                        case 3:
+                                        case 4:
+                                        case 15:
+                                         break cb;
+                                        case 1:
+                                         break db;
+                                        case 0:
+                                         break eb;
+                                        default:
+                                         break Ga;
+                                        }
+                                       }
+                                       j = r[f + 3 | 0];
+                                       break Ia;
+                                      }
+                                      g = -2;
+                                      if ((i | 0) >= 3) {
+                                       break Ga;
+                                      }
+                                      break a;
+                                     }
+                                     g = -2;
+                                     if ((i | 0) < 4) {
+                                      break a;
+                                     }
+                                     break Ga;
+                                    }
+                                    b = e + 2 | 0;
+                                    q[k + 12 >> 2] = b;
+                                    f = e;
+                                    i = c - b | 0;
+                                    if ((i | 0) > 1) {
+                                     continue;
+                                    }
+                                    break;
+                                   }
+                                   break a;
+                                  }
+                                  q[d >> 2] = e + 2;
+                                  g = 1;
+                                  break a;
+                                 }
+                                 a = e + 2 | 0;
+                                 q[k + 12 >> 2] = a;
+                                 if ((c - a | 0) < 2) {
+                                  break a;
+                                 }
+                                 if (!(r[e + 3 | 0] == 62 ? !r[a | 0] : 0)) {
+                                  q[d >> 2] = a;
+                                  g = 0;
+                                  break a;
+                                 }
+                                 q[d >> 2] = e + 4;
+                                 g = 3;
+                                 break a;
+                                }
+                                j = r[f + 3 | 0];
+                                if (j >>> 0 <= 253) {
+                                 break Ia;
+                                }
+                               }
+                               q[d >> 2] = b;
+                               g = 0;
+                               break a;
+                              }
+                              switch (f - 4 | 0) {
+                              case 0:
+                              case 1:
+                              case 2:
+                              case 3:
+                               break Ba;
+                              case 4:
+                              case 5:
+                              case 6:
+                              case 7:
+                              case 8:
+                              case 9:
+                              case 10:
+                              case 11:
+                              case 12:
+                              case 13:
+                              case 14:
+                              case 15:
+                              case 16:
+                              case 17:
+                              case 18:
+                              case 19:
+                              case 20:
+                              case 21:
+                              case 22:
+                              case 23:
+                              case 24:
+                              case 25:
+                              case 26:
+                              case 27:
+                              case 28:
+                              case 29:
+                              case 30:
+                              case 31:
+                              case 32:
+                              case 33:
+                              case 34:
+                               break Da;
+                              case 35:
+                               break Fa;
+                              default:
+                               break Ea;
+                              }
+                             }
+                             gb : {
+                              switch (e - 4 | 0) {
+                              case 0:
+                              case 1:
+                              case 2:
+                              case 3:
+                               break wa;
+                              case 4:
+                              case 5:
+                              case 6:
+                              case 7:
+                              case 8:
+                              case 9:
+                              case 10:
+                              case 11:
+                              case 12:
+                              case 13:
+                              case 14:
+                              case 15:
+                              case 16:
+                              case 17:
+                              case 18:
+                              case 19:
+                              case 20:
+                              case 21:
+                              case 22:
+                              case 23:
+                              case 24:
+                              case 25:
+                              case 26:
+                              case 27:
+                              case 28:
+                              case 29:
+                              case 30:
+                              case 31:
+                              case 32:
+                              case 33:
+                              case 34:
+                               break ya;
+                              case 35:
+                               break gb;
+                              default:
+                               break za;
+                              }
+                             }
+                             e = r[b + 1 | 0];
+                             if (e >>> 0 <= 253) {
+                              break xa;
+                             }
+                             break wa;
+                            }
+                            if (!(q[(j >>> 3 & 28 | r[h + 492208 | 0] << 5) + 490192 >> 2] >>> (j & 31) & 1)) {
+                             break Ga;
+                            }
+                           }
+                           b = f + 4 | 0;
+                           q[k + 12 >> 2] = b;
+                           f = 0;
+                           break ua;
+                          }
+                          q[d >> 2] = e;
+                          g = 0;
+                          break a;
+                         }
+                         f = r[b + 3 | 0];
+                         if (f >>> 0 <= 253) {
+                          break Ca;
+                         }
+                         break Ba;
+                        }
+                        g = -2;
+                        if ((h | 0) >= 4) {
+                         break Ba;
+                        }
+                        break a;
+                       }
+                       f = r[b + 3 | 0];
+                      }
+                      if (q[(f >>> 3 & 28 | r[i + 492208 | 0] << 5) + 490192 >> 2] >>> (f & 31) & 1) {
+                       break Aa;
+                      }
+                     }
+                     q[d >> 2] = e;
+                     g = 0;
+                     break a;
+                    }
+                    b = b + 4 | 0;
+                    q[k + 12 >> 2] = b;
+                    f = 1;
+                    break ua;
+                   }
+                   g = -2;
+                   if ((h | 0) >= 4) {
+                    break wa;
+                   }
+                   break a;
+                  }
+                  e = r[b + 1 | 0];
+                 }
+                 if (q[(e >>> 3 & 28 | r[i + 492464 | 0] << 5) + 490192 >> 2] >>> (e & 31) & 1) {
+                  break va;
+                 }
+                }
+                q[d >> 2] = b;
+                g = 0;
+                break a;
+               }
+               b = b + 2 | 0;
+               q[k + 12 >> 2] = b;
+              }
+              h = c - b | 0;
+              if ((h | 0) > 1) {
+               continue;
+              }
+              break;
+             }
+             break a;
+            }
+            e = r[b + 3 | 0];
+            if (e >>> 0 <= 253) {
+             break da;
+            }
+            break ca;
+           }
+           g = -2;
+           if ((i | 0) >= 4) {
+            break ca;
+           }
+           break a;
+          }
+          e = r[b + 3 | 0];
+         }
+         j = 1;
+         h = 4;
+         if (q[(e >>> 3 & 28 | r[m + 492208 | 0] << 5) + 490192 >> 2] >>> (e & 31) & 1) {
+          break Z;
+         }
+        }
+        q[d >> 2] = f;
+        g = 0;
+        break a;
+       }
+       g = -2;
+       if ((i | 0) >= 4) {
+        break _;
+       }
+       break a;
+      }
+      e = r[b + 1 | 0];
+     }
+     h = 2;
+     if (q[(e >>> 3 & 28 | r[f + 492464 | 0] << 5) + 490192 >> 2] >>> (e & 31) & 1) {
+      break Z;
+     }
+    }
+    q[d >> 2] = b;
+    g = 0;
+    break a;
+   }
+   b = b + h | 0;
+   i = c - b | 0;
+   if ((i | 0) > 1) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = k + 16 | 0;
+ return g | 0;
+}
+function pU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ k = Ca - 16 | 0;
+ Ca = k;
+ g = -4;
+ a : {
+  if (b >>> 0 >= c >>> 0) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            l : {
+             m : {
+              n : {
+               o : {
+                p : {
+                 q : {
+                  e = c - b | 0;
+                  if (e & 1) {
+                   c = e & -2;
+                   if (!c) {
+                    break q;
+                   }
+                   c = b + c | 0;
+                  }
+                  r : {
+                   s : {
+                    t : {
+                     u : {
+                      v : {
+                       w : {
+                        x : {
+                         y : {
+                          z : {
+                           A : {
+                            B : {
+                             C : {
+                              e = r[b + 1 | 0];
+                              f = e + -216 | 0;
+                              if (f >>> 0 > 39) {
+                               if (e) {
+                                break s;
+                               }
+                               l = a + 72 | 0;
+                               e = r[l + r[b | 0] | 0];
+                               if (e >>> 0 > 10) {
+                                break s;
+                               }
+                               switch (e - 2 | 0) {
+                               case 5:
+                                break v;
+                               case 4:
+                                break w;
+                               case 3:
+                                break x;
+                               case 2:
+                                break y;
+                               case 8:
+                                break z;
+                               case 7:
+                                break A;
+                               case 1:
+                                break B;
+                               case 0:
+                                break C;
+                               default:
+                                break t;
+                               }
+                              }
+                              switch (f - 4 | 0) {
+                              case 4:
+                              case 5:
+                              case 6:
+                              case 7:
+                              case 8:
+                              case 9:
+                              case 10:
+                              case 11:
+                              case 12:
+                              case 13:
+                              case 14:
+                              case 15:
+                              case 16:
+                              case 17:
+                              case 18:
+                              case 19:
+                              case 20:
+                              case 21:
+                              case 22:
+                              case 23:
+                              case 24:
+                              case 25:
+                              case 26:
+                              case 27:
+                              case 28:
+                              case 29:
+                              case 30:
+                              case 31:
+                              case 32:
+                              case 33:
+                              case 34:
+                               break s;
+                              case 0:
+                              case 1:
+                              case 2:
+                              case 3:
+                               break t;
+                              case 35:
+                               break u;
+                              default:
+                               break v;
+                              }
+                             }
+                             g = -1;
+                             e = b + 2 | 0;
+                             f = c - e | 0;
+                             if ((f | 0) < 2) {
+                              break a;
+                             }
+                             i = r[b + 3 | 0];
+                             h = i + -216 | 0;
+                             if (h >>> 0 <= 39) {
+                              break p;
+                             }
+                             if (i) {
+                              break e;
+                             }
+                             h = r[e | 0];
+                             m = r[l + h | 0] + -5 | 0;
+                             if (m >>> 0 > 24) {
+                              break c;
+                             }
+                             D : {
+                              switch (m - 1 | 0) {
+                              case 0:
+                               g = -2;
+                               if ((f | 0) >= 3) {
+                                break c;
+                               }
+                               break a;
+                              case 10:
+                               e = b + 4 | 0;
+                               if ((c - e | 0) < 2) {
+                                break a;
+                               }
+                               E : {
+                                if (r[b + 5 | 0]) {
+                                 break E;
+                                }
+                                f = r[l + r[e | 0] | 0] + -20 | 0;
+                                if (f >>> 0 > 7) {
+                                 break E;
+                                }
+                                F : {
+                                 switch (f - 1 | 0) {
+                                 case 6:
+                                  g = mU(a, b + 6 | 0, c, d);
+                                  break a;
+                                 case 0:
+                                 case 1:
+                                 case 2:
+                                 case 3:
+                                 case 4:
+                                 case 5:
+                                  break E;
+                                 default:
+                                  break F;
+                                 }
+                                }
+                                e = b + 6 | 0;
+                                if ((c - e | 0) < 12) {
+                                 break a;
+                                }
+                                if (r[b + 7 | 0] | r[e | 0] != 67) {
+                                 break g;
+                                }
+                                e = b + 8 | 0;
+                                if (r[b + 9 | 0] | r[e | 0] != 68) {
+                                 break g;
+                                }
+                                e = b + 10 | 0;
+                                if (r[b + 11 | 0] | r[e | 0] != 65) {
+                                 break g;
+                                }
+                                e = b + 12 | 0;
+                                if (r[b + 13 | 0] | r[e | 0] != 84) {
+                                 break g;
+                                }
+                                e = b + 14 | 0;
+                                if (r[b + 15 | 0] | r[e | 0] != 65) {
+                                 break g;
+                                }
+                                e = b + 16 | 0;
+                                if (r[b + 17 | 0] | r[e | 0] != 91) {
+                                 break g;
+                                }
+                                q[d >> 2] = b + 18;
+                                g = 8;
+                                break a;
+                               }
+                               q[d >> 2] = e;
+                               g = 0;
+                               break a;
+                              case 9:
+                               g = nU(a, b + 4 | 0, c, d);
+                               break a;
+                              case 16:
+                              case 18:
+                               break b;
+                              case 11:
+                               break D;
+                              case 23:
+                               break d;
+                              case 1:
+                               break f;
+                              default:
+                               break c;
+                              }
+                             }
+                             e = b + 4 | 0;
+                             a = c - e | 0;
+                             if ((a | 0) < 2) {
+                              break a;
+                             }
+                             h = r[b + 5 | 0];
+                             f = h + -216 | 0;
+                             if (f >>> 0 <= 39) {
+                              break o;
+                             }
+                             if (h) {
+                              break k;
+                             }
+                             f = r[e | 0];
+                             i = r[l + f | 0] + -5 | 0;
+                             if (i >>> 0 > 24) {
+                              break i;
+                             }
+                             G : {
+                              switch (i - 1 | 0) {
+                              case 23:
+                               break j;
+                              case 1:
+                               break l;
+                              case 0:
+                               break G;
+                              case 16:
+                              case 18:
+                               break h;
+                              default:
+                               break i;
+                              }
+                             }
+                             g = -2;
+                             if ((a | 0) >= 3) {
+                              break i;
+                             }
+                             break a;
+                            }
+                            g = qU(a, b + 2 | 0, c, d);
+                            break a;
+                           }
+                           g = -3;
+                           a = b + 2 | 0;
+                           if ((c - a | 0) < 2) {
+                            break a;
+                           }
+                           if (!r[b + 3 | 0]) {
+                            a = r[l + r[b + 2 | 0] | 0] == 10 ? b + 4 | 0 : a;
+                           }
+                           q[d >> 2] = a;
+                           g = 7;
+                           break a;
+                          }
+                          q[d >> 2] = b + 2;
+                          g = 7;
+                          break a;
+                         }
+                         g = -5;
+                         e = b + 2 | 0;
+                         if ((c - e | 0) < 2) {
+                          break a;
+                         }
+                         if (r[b + 3 | 0] | r[e | 0] != 93) {
+                          break r;
+                         }
+                         f = b + 4 | 0;
+                         if ((c - f | 0) < 2) {
+                          break a;
+                         }
+                         if (r[b + 5 | 0] | r[f | 0] != 62) {
+                          break r;
+                         }
+                         q[d >> 2] = f;
+                         g = 0;
+                         break a;
+                        }
+                        g = -2;
+                        if ((c - b | 0) < 2) {
+                         break a;
+                        }
+                        e = b + 2 | 0;
+                        break r;
+                       }
+                       g = -2;
+                       if ((c - b | 0) < 3) {
+                        break a;
+                       }
+                       e = b + 3 | 0;
+                       break r;
+                      }
+                      g = -2;
+                      if ((c - b | 0) < 4) {
+                       break a;
+                      }
+                      e = b + 4 | 0;
+                      break r;
+                     }
+                     if (r[b | 0] <= 253) {
+                      break s;
+                     }
+                    }
+                    q[d >> 2] = b;
+                    g = 0;
+                    break a;
+                   }
+                   e = b + 2 | 0;
+                  }
+                  g = c - e | 0;
+                  H : {
+                   if ((g | 0) < 2) {
+                    break H;
+                   }
+                   h = a + 72 | 0;
+                   while (1) {
+                    f = c;
+                    I : {
+                     J : {
+                      K : {
+                       L : {
+                        M : {
+                         N : {
+                          a = r[e + 1 | 0];
+                          b = a + -216 | 0;
+                          if (b >>> 0 > 39) {
+                           if (a) {
+                            break J;
+                           }
+                           a = r[h + r[e | 0] | 0];
+                           if (a >>> 0 > 10) {
+                            break J;
+                           }
+                           switch (a - 4 | 0) {
+                           case 1:
+                            break J;
+                           case 0:
+                            break L;
+                           case 3:
+                            break M;
+                           case 2:
+                            break N;
+                           default:
+                            break H;
+                           }
+                          }
+                          switch (b - 4 | 0) {
+                          case 0:
+                          case 1:
+                          case 2:
+                          case 3:
+                           break H;
+                          case 4:
+                          case 5:
+                          case 6:
+                          case 7:
+                          case 8:
+                          case 9:
+                          case 10:
+                          case 11:
+                          case 12:
+                          case 13:
+                          case 14:
+                          case 15:
+                          case 16:
+                          case 17:
+                          case 18:
+                          case 19:
+                          case 20:
+                          case 21:
+                          case 22:
+                          case 23:
+                          case 24:
+                          case 25:
+                          case 26:
+                          case 27:
+                          case 28:
+                          case 29:
+                          case 30:
+                          case 31:
+                          case 32:
+                          case 33:
+                          case 34:
+                           break J;
+                          case 35:
+                           break K;
+                          default:
+                           break M;
+                          }
+                         }
+                         if ((g | 0) <= 2) {
+                          break H;
+                         }
+                         a = e + 3 | 0;
+                         break I;
+                        }
+                        if ((g | 0) <= 3) {
+                         break H;
+                        }
+                        a = e + 4 | 0;
+                        break I;
+                       }
+                       if ((g | 0) < 4) {
+                        break H;
+                       }
+                       b = e + 2 | 0;
+                       a = b;
+                       if (r[e + 3 | 0]) {
+                        break I;
+                       }
+                       a = b;
+                       if (r[b | 0] != 93) {
+                        break I;
+                       }
+                       if ((g | 0) < 6) {
+                        break H;
+                       }
+                       if (r[e + 5 | 0]) {
+                        break I;
+                       }
+                       b = e + 4 | 0;
+                       if (r[b | 0] != 62) {
+                        break I;
+                       }
+                       q[d >> 2] = b;
+                       g = 0;
+                       break a;
+                      }
+                      if (r[e | 0] > 253) {
+                       break H;
+                      }
+                     }
+                     a = e + 2 | 0;
+                    }
+                    e = a;
+                    g = f - e | 0;
+                    if ((g | 0) > 1) {
+                     continue;
+                    }
+                    break;
+                   }
+                  }
+                  q[d >> 2] = e;
+                  g = 6;
+                  break a;
+                 }
+                 g = -1;
+                 break a;
+                }
+                switch (h - 4 | 0) {
+                case 35:
+                 break n;
+                case 0:
+                case 1:
+                case 2:
+                case 3:
+                 break c;
+                case 4:
+                case 5:
+                case 6:
+                case 7:
+                case 8:
+                case 9:
+                case 10:
+                case 11:
+                case 12:
+                case 13:
+                case 14:
+                case 15:
+                case 16:
+                case 17:
+                case 18:
+                case 19:
+                case 20:
+                case 21:
+                case 22:
+                case 23:
+                case 24:
+                case 25:
+                case 26:
+                case 27:
+                case 28:
+                case 29:
+                case 30:
+                case 31:
+                case 32:
+                case 33:
+                case 34:
+                 break e;
+                default:
+                 break f;
+                }
+               }
+               switch (f - 4 | 0) {
+               case 4:
+               case 5:
+               case 6:
+               case 7:
+               case 8:
+               case 9:
+               case 10:
+               case 11:
+               case 12:
+               case 13:
+               case 14:
+               case 15:
+               case 16:
+               case 17:
+               case 18:
+               case 19:
+               case 20:
+               case 21:
+               case 22:
+               case 23:
+               case 24:
+               case 25:
+               case 26:
+               case 27:
+               case 28:
+               case 29:
+               case 30:
+               case 31:
+               case 32:
+               case 33:
+               case 34:
+                break k;
+               case 35:
+                break m;
+               case 0:
+               case 1:
+               case 2:
+               case 3:
+                break i;
+               default:
+                break l;
+               }
+              }
+              h = r[e | 0];
+              if (h >>> 0 <= 253) {
+               break d;
+              }
+              break c;
+             }
+             f = r[e | 0];
+             if (f >>> 0 <= 253) {
+              break j;
+             }
+             break i;
+            }
+            g = -2;
+            if ((a | 0) >= 4) {
+             break i;
+            }
+            break a;
+           }
+           f = r[e | 0];
+          }
+          if (q[(f >>> 3 & 28 | r[h + 492208 | 0] << 5) + 490192 >> 2] >>> (f & 31) & 1) {
+           break h;
+          }
+         }
+         q[d >> 2] = e;
+         g = 0;
+         break a;
+        }
+        b = b + 6 | 0;
+        h = c - b | 0;
+        if ((h | 0) <= 1) {
+         break a;
+        }
+        while (1) {
+         O : {
+          P : {
+           Q : {
+            R : {
+             S : {
+              f = r[e + 3 | 0];
+              a = f + -216 | 0;
+              if (a >>> 0 > 39) {
+               if (f) {
+                break R;
+               }
+               a = r[b | 0];
+               i = r[l + a | 0];
+               if (i + -22 >>> 0 < 6) {
+                break O;
+               }
+               i = i + -5 | 0;
+               if (i >>> 0 > 24) {
+                break P;
+               }
+               T : {
+                switch (i - 1 | 0) {
+                case 0:
+                 g = -2;
+                 if ((h | 0) >= 3) {
+                  break P;
+                 }
+                 break a;
+                case 3:
+                case 4:
+                case 15:
+                 e = e + 4 | 0;
+                 if ((c - e | 0) < 2) {
+                  break a;
+                 }
+                 while (1) {
+                  U : {
+                   V : {
+                    if (r[e + 1 | 0]) {
+                     break V;
+                    }
+                    a = r[l + r[e | 0] | 0] + -9 | 0;
+                    if (a >>> 0 > 12) {
+                     break V;
+                    }
+                    W : {
+                     switch (a - 2 | 0) {
+                     case 1:
+                     case 2:
+                     case 3:
+                     case 4:
+                     case 5:
+                     case 6:
+                     case 7:
+                     case 8:
+                     case 9:
+                      break V;
+                     case 0:
+                      break W;
+                     default:
+                      break U;
+                     }
+                    }
+                    q[d >> 2] = e + 2;
+                    g = 5;
+                    break a;
+                   }
+                   q[d >> 2] = e;
+                   g = 0;
+                   break a;
+                  }
+                  e = e + 2 | 0;
+                  if ((c - e | 0) > 1) {
+                   continue;
+                  }
+                  break;
+                 }
+                 break a;
+                case 23:
+                 break Q;
+                case 1:
+                 break S;
+                case 5:
+                 break T;
+                default:
+                 break P;
+                }
+               }
+               q[d >> 2] = e + 4;
+               g = 5;
+               break a;
+              }
+              X : {
+               switch (a - 4 | 0) {
+               case 0:
+               case 1:
+               case 2:
+               case 3:
+                break P;
+               case 4:
+               case 5:
+               case 6:
+               case 7:
+               case 8:
+               case 9:
+               case 10:
+               case 11:
+               case 12:
+               case 13:
+               case 14:
+               case 15:
+               case 16:
+               case 17:
+               case 18:
+               case 19:
+               case 20:
+               case 21:
+               case 22:
+               case 23:
+               case 24:
+               case 25:
+               case 26:
+               case 27:
+               case 28:
+               case 29:
+               case 30:
+               case 31:
+               case 32:
+               case 33:
+               case 34:
+                break R;
+               case 35:
+                break X;
+               default:
+                break S;
+               }
+              }
+              a = r[b | 0];
+              if (a >>> 0 <= 253) {
+               break Q;
+              }
+              break P;
+             }
+             g = -2;
+             if ((h | 0) >= 4) {
+              break P;
+             }
+             break a;
+            }
+            a = r[b | 0];
+           }
+           if (q[(a >>> 3 & 28 | r[f + 492464 | 0] << 5) + 490192 >> 2] >>> (a & 31) & 1) {
+            break O;
+           }
+          }
+          q[d >> 2] = b;
+          g = 0;
+          break a;
+         }
+         e = b;
+         b = b + 2 | 0;
+         h = c - b | 0;
+         if ((h | 0) > 1) {
+          continue;
+         }
+         break;
+        }
+        break a;
+       }
+       q[d >> 2] = e;
+       g = 0;
+       break a;
+      }
+      g = -2;
+      if ((f | 0) >= 4) {
+       break c;
+      }
+      break a;
+     }
+     h = r[e | 0];
+    }
+    if (q[(h >>> 3 & 28 | r[i + 492208 | 0] << 5) + 490192 >> 2] >>> (h & 31) & 1) {
+     break b;
+    }
+   }
+   q[d >> 2] = e;
+   g = 0;
+   break a;
+  }
+  e = b + 4 | 0;
+  i = c - e | 0;
+  if ((i | 0) <= 1) {
+   break a;
+  }
+  while (1) {
+   Y : {
+    Z : {
+     _ : {
+      $ : {
+       aa : {
+        ba : {
+         ca : {
+          da : {
+           ea : {
+            fa : {
+             ga : {
+              ha : {
+               ia : {
+                ja : {
+                 f = r[e + 1 | 0];
+                 b = f + -216 | 0;
+                 if (b >>> 0 > 39) {
+                  if (f) {
+                   break $;
+                  }
+                  b = r[e | 0];
+                  m = r[l + b | 0] + -5 | 0;
+                  if (m >>> 0 > 24) {
+                   break Z;
+                  }
+                  h = 2;
+                  ka : {
+                   la : {
+                    ma : {
+                     switch (m - 1 | 0) {
+                     case 0:
+                      g = -2;
+                      if ((i | 0) >= 3) {
+                       break Z;
+                      }
+                      break a;
+                     case 17:
+                      if (j) {
+                       break Z;
+                      }
+                      f = e + 2 | 0;
+                      i = c - f | 0;
+                      if ((i | 0) < 2) {
+                       break a;
+                      }
+                      m = r[e + 3 | 0];
+                      b = m + -216 | 0;
+                      if (b >>> 0 <= 39) {
+                       break ja;
+                      }
+                      if (m) {
+                       break da;
+                      }
+                      b = r[f | 0];
+                      n = r[l + b | 0] + -5 | 0;
+                      if (n >>> 0 > 24) {
+                       break ba;
+                      }
+                      j = 1;
+                      h = 4;
+                      na : {
+                       switch (n - 1 | 0) {
+                       case 16:
+                       case 18:
+                        break Y;
+                       case 23:
+                        break ca;
+                       case 1:
+                        break ea;
+                       case 0:
+                        break na;
+                       default:
+                        break ba;
+                       }
+                      }
+                      g = -2;
+                      if ((i | 0) >= 3) {
+                       break ba;
+                      }
+                      break a;
+                     case 16:
+                     case 18:
+                     case 19:
+                     case 20:
+                     case 21:
+                      break Y;
+                     case 23:
+                      break _;
+                     case 1:
+                      break aa;
+                     case 11:
+                      break ka;
+                     case 5:
+                      break la;
+                     case 3:
+                     case 4:
+                     case 15:
+                      break ma;
+                     default:
+                      break Z;
+                     }
+                    }
+                    b = e + 2 | 0;
+                    h = c - b | 0;
+                    if ((h | 0) < 2) {
+                     break a;
+                    }
+                    f = e;
+                    while (1) {
+                     oa : {
+                      e = b;
+                      pa : {
+                       qa : {
+                        ra : {
+                         sa : {
+                          b = r[f + 3 | 0];
+                          if (b) {
+                           i = b + -216 | 0;
+                           if (i >>> 0 > 39) {
+                            break sa;
+                           }
+                           switch (i - 4 | 0) {
+                           case 0:
+                           case 1:
+                           case 2:
+                           case 3:
+                            break Z;
+                           case 35:
+                            break oa;
+                           case 4:
+                           case 5:
+                           case 6:
+                           case 7:
+                           case 8:
+                           case 9:
+                           case 10:
+                           case 11:
+                           case 12:
+                           case 13:
+                           case 14:
+                           case 15:
+                           case 16:
+                           case 17:
+                           case 18:
+                           case 19:
+                           case 20:
+                           case 21:
+                           case 22:
+                           case 23:
+                           case 24:
+                           case 25:
+                           case 26:
+                           case 27:
+                           case 28:
+                           case 29:
+                           case 30:
+                           case 31:
+                           case 32:
+                           case 33:
+                           case 34:
+                            break sa;
+                           default:
+                            break qa;
+                           }
+                          }
+                          i = r[e | 0];
+                          j = r[l + i | 0] + -5 | 0;
+                          if (j >>> 0 > 24) {
+                           break Z;
+                          }
+                          switch (j - 1 | 0) {
+                          case 16:
+                          case 18:
+                           break ga;
+                          case 23:
+                           break ha;
+                          case 11:
+                           break ka;
+                          case 5:
+                           break la;
+                          case 3:
+                          case 4:
+                          case 15:
+                           break pa;
+                          case 1:
+                           break qa;
+                          case 0:
+                           break ra;
+                          default:
+                           break Z;
+                          }
+                         }
+                         i = r[e | 0];
+                         break ha;
+                        }
+                        g = -2;
+                        if ((h | 0) >= 3) {
+                         break Z;
+                        }
+                        break a;
+                       }
+                       g = -2;
+                       if ((h | 0) >= 4) {
+                        break Z;
+                       }
+                       break a;
+                      }
+                      f = e;
+                      b = e + 2 | 0;
+                      h = c - b | 0;
+                      if ((h | 0) > 1) {
+                       continue;
+                      }
+                      break a;
+                     }
+                     break;
+                    }
+                    i = r[e | 0];
+                    if (i >>> 0 > 253) {
+                     break Z;
+                    }
+                    break ha;
+                   }
+                   g = 2;
+                   q[d >> 2] = e + 2;
+                   break a;
+                  }
+                  a = e + 2 | 0;
+                  if ((c - a | 0) < 2) {
+                   break a;
+                  }
+                  if (!(r[a | 0] == 62 ? !r[e + 3 | 0] : 0)) {
+                   q[d >> 2] = a;
+                   g = 0;
+                   break a;
+                  }
+                  q[d >> 2] = e + 4;
+                  g = 4;
+                  break a;
+                 }
+                 switch (b - 4 | 0) {
+                 case 0:
+                 case 1:
+                 case 2:
+                 case 3:
+                  break Z;
+                 case 4:
+                 case 5:
+                 case 6:
+                 case 7:
+                 case 8:
+                 case 9:
+                 case 10:
+                 case 11:
+                 case 12:
+                 case 13:
+                 case 14:
+                 case 15:
+                 case 16:
+                 case 17:
+                 case 18:
+                 case 19:
+                 case 20:
+                 case 21:
+                 case 22:
+                 case 23:
+                 case 24:
+                 case 25:
+                 case 26:
+                 case 27:
+                 case 28:
+                 case 29:
+                 case 30:
+                 case 31:
+                 case 32:
+                 case 33:
+                 case 34:
+                  break $;
+                 case 35:
+                  break ia;
+                 default:
+                  break aa;
+                 }
+                }
+                switch (b - 4 | 0) {
+                case 0:
+                case 1:
+                case 2:
+                case 3:
+                 break ba;
+                case 4:
+                case 5:
+                case 6:
+                case 7:
+                case 8:
+                case 9:
+                case 10:
+                case 11:
+                case 12:
+                case 13:
+                case 14:
+                case 15:
+                case 16:
+                case 17:
+                case 18:
+                case 19:
+                case 20:
+                case 21:
+                case 22:
+                case 23:
+                case 24:
+                case 25:
+                case 26:
+                case 27:
+                case 28:
+                case 29:
+                case 30:
+                case 31:
+                case 32:
+                case 33:
+                case 34:
+                 break da;
+                case 35:
+                 break fa;
+                default:
+                 break ea;
+                }
+               }
+               b = r[e | 0];
+               if (b >>> 0 <= 253) {
+                break _;
+               }
+               break Z;
+              }
+              if (!(q[(i >>> 3 & 28 | r[b + 492208 | 0] << 5) + 490192 >> 2] >>> (i & 31) & 1)) {
+               break Z;
+              }
+             }
+             e = f + 4 | 0;
+             q[k + 12 >> 2] = e;
+             h = c - e | 0;
+             if ((h | 0) < 2) {
+              break a;
+             }
+             i = 0;
+             while (1) {
+              ta : {
+               ua : {
+                va : {
+                 wa : {
+                  xa : {
+                   ya : {
+                    za : {
+                     Aa : {
+                      Ba : {
+                       Ca : {
+                        Da : {
+                         Ea : {
+                          Fa : {
+                           Ga : {
+                            Ha : {
+                             f = r[e + 1 | 0];
+                             b = f + -216 | 0;
+                             if (b >>> 0 > 39) {
+                              if (f) {
+                               break xa;
+                              }
+                              b = r[e | 0];
+                              j = r[l + b | 0] + -5 | 0;
+                              if (j >>> 0 > 24) {
+                               break va;
+                              }
+                              Ia : {
+                               Ja : {
+                                switch (j - 1 | 0) {
+                                case 0:
+                                 g = -2;
+                                 if ((h | 0) >= 3) {
+                                  break va;
+                                 }
+                                 break a;
+                                case 17:
+                                 if (i) {
+                                  break va;
+                                 }
+                                 b = e + 2 | 0;
+                                 q[k + 12 >> 2] = b;
+                                 h = c - b | 0;
+                                 if ((h | 0) < 2) {
+                                  break a;
+                                 }
+                                 i = r[e + 3 | 0];
+                                 f = i + -216 | 0;
+                                 if (f >>> 0 <= 39) {
+                                  break Ha;
+                                 }
+                                 if (i) {
+                                  break Ca;
+                                 }
+                                 f = r[b | 0];
+                                 j = r[l + f | 0] + -5 | 0;
+                                 if (j >>> 0 > 24) {
+                                  break Aa;
+                                 }
+                                 Ka : {
+                                  switch (j - 1 | 0) {
+                                  case 16:
+                                  case 18:
+                                   break za;
+                                  case 23:
+                                   break Ba;
+                                  case 1:
+                                   break Da;
+                                  case 0:
+                                   break Ka;
+                                  default:
+                                   break Aa;
+                                  }
+                                 }
+                                 g = -2;
+                                 if ((h | 0) >= 3) {
+                                  break Aa;
+                                 }
+                                 break a;
+                                case 23:
+                                 break wa;
+                                case 1:
+                                 break ya;
+                                case 8:
+                                 break Ia;
+                                case 3:
+                                case 4:
+                                case 15:
+                                 break Ja;
+                                case 16:
+                                case 18:
+                                case 19:
+                                case 20:
+                                case 21:
+                                 break ua;
+                                default:
+                                 break va;
+                                }
+                               }
+                               b = e + 2 | 0;
+                               q[k + 12 >> 2] = b;
+                               if ((c - b | 0) < 2) {
+                                break a;
+                               }
+                               La : {
+                                if (r[e + 3 | 0]) {
+                                 break La;
+                                }
+                                e = b;
+                                while (1) {
+                                 f = r[l + r[e | 0] | 0] + -9 | 0;
+                                 if (f >>> 0 > 12) {
+                                  break La;
+                                 }
+                                 Ma : {
+                                  switch (f - 2 | 0) {
+                                  case 3:
+                                   break Ia;
+                                  case 0:
+                                  case 1:
+                                  case 2:
+                                  case 4:
+                                  case 5:
+                                  case 6:
+                                  case 7:
+                                  case 8:
+                                  case 9:
+                                   break La;
+                                  default:
+                                   break Ma;
+                                  }
+                                 }
+                                 b = e + 2 | 0;
+                                 q[k + 12 >> 2] = b;
+                                 if ((c - b | 0) <= 1) {
+                                  break a;
+                                 }
+                                 f = r[e + 3 | 0];
+                                 e = b;
+                                 if (!f) {
+                                  continue;
+                                 }
+                                 break;
+                                }
+                               }
+                               q[d >> 2] = b;
+                               g = 0;
+                               break a;
+                              }
+                              b = e + 2 | 0;
+                              q[k + 12 >> 2] = b;
+                              if ((c - b | 0) < 2) {
+                               break a;
+                              }
+                              Na : {
+                               if (r[e + 3 | 0]) {
+                                break Na;
+                               }
+                               f = r[l + r[b | 0] | 0];
+                               if ((f | 1) == 13) {
+                                break Fa;
+                               }
+                               while (1) {
+                                e = b;
+                                f = f & 255;
+                                if (f >>> 0 > 21 | !(1 << f & 2098688)) {
+                                 break Na;
+                                }
+                                b = e + 2 | 0;
+                                q[k + 12 >> 2] = b;
+                                if ((c - b | 0) <= 1) {
+                                 break a;
+                                }
+                                if (r[e + 3 | 0]) {
+                                 break Na;
+                                }
+                                f = r[l + r[b | 0] | 0];
+                                if ((f | 1) != 13) {
+                                 continue;
+                                }
+                                break;
+                               }
+                               break Fa;
+                              }
+                              q[d >> 2] = b;
+                              g = 0;
+                              break a;
+                             }
+                             switch (b - 4 | 0) {
+                             case 0:
+                             case 1:
+                             case 2:
+                             case 3:
+                              break va;
+                             case 4:
+                             case 5:
+                             case 6:
+                             case 7:
+                             case 8:
+                             case 9:
+                             case 10:
+                             case 11:
+                             case 12:
+                             case 13:
+                             case 14:
+                             case 15:
+                             case 16:
+                             case 17:
+                             case 18:
+                             case 19:
+                             case 20:
+                             case 21:
+                             case 22:
+                             case 23:
+                             case 24:
+                             case 25:
+                             case 26:
+                             case 27:
+                             case 28:
+                             case 29:
+                             case 30:
+                             case 31:
+                             case 32:
+                             case 33:
+                             case 34:
+                              break xa;
+                             case 35:
+                              break Ga;
+                             default:
+                              break ya;
+                             }
+                            }
+                            switch (f - 4 | 0) {
+                            case 0:
+                            case 1:
+                            case 2:
+                            case 3:
+                             break Aa;
+                            case 4:
+                            case 5:
+                            case 6:
+                            case 7:
+                            case 8:
+                            case 9:
+                            case 10:
+                            case 11:
+                            case 12:
+                            case 13:
+                            case 14:
+                            case 15:
+                            case 16:
+                            case 17:
+                            case 18:
+                            case 19:
+                            case 20:
+                            case 21:
+                            case 22:
+                            case 23:
+                            case 24:
+                            case 25:
+                            case 26:
+                            case 27:
+                            case 28:
+                            case 29:
+                            case 30:
+                            case 31:
+                            case 32:
+                            case 33:
+                            case 34:
+                             break Ca;
+                            case 35:
+                             break Ea;
+                            default:
+                             break Da;
+                            }
+                           }
+                           b = r[e | 0];
+                           if (b >>> 0 <= 253) {
+                            break wa;
+                           }
+                           break va;
+                          }
+                          e = e + 4 | 0;
+                          q[k + 12 >> 2] = e;
+                          h = c - e | 0;
+                          if ((h | 0) < 2) {
+                           break a;
+                          }
+                          i = f & 255;
+                          while (1) {
+                           Oa : {
+                            Pa : {
+                             b = r[e + 1 | 0];
+                             f = b + -216 | 0;
+                             Qa : {
+                              if (f >>> 0 > 39) {
+                               if (b) {
+                                break Qa;
+                               }
+                               b = r[l + r[e | 0] | 0];
+                               break Oa;
+                              }
+                              b = 7;
+                              Ra : {
+                               switch (f - 4 | 0) {
+                               case 0:
+                               case 1:
+                               case 2:
+                               case 3:
+                                break Pa;
+                               case 4:
+                               case 5:
+                               case 6:
+                               case 7:
+                               case 8:
+                               case 9:
+                               case 10:
+                               case 11:
+                               case 12:
+                               case 13:
+                               case 14:
+                               case 15:
+                               case 16:
+                               case 17:
+                               case 18:
+                               case 19:
+                               case 20:
+                               case 21:
+                               case 22:
+                               case 23:
+                               case 24:
+                               case 25:
+                               case 26:
+                               case 27:
+                               case 28:
+                               case 29:
+                               case 30:
+                               case 31:
+                               case 32:
+                               case 33:
+                               case 34:
+                                break Qa;
+                               case 35:
+                                break Ra;
+                               default:
+                                break Oa;
+                               }
+                              }
+                              b = 0;
+                              if (r[e | 0] > 253) {
+                               break Oa;
+                              }
+                             }
+                             b = 29;
+                             break Oa;
+                            }
+                            b = 8;
+                           }
+                           if ((b | 0) != (i | 0)) {
+                            f = k;
+                            Sa : {
+                             Ta : {
+                              Ua : {
+                               if (b >>> 0 > 8) {
+                                break Ua;
+                               }
+                               Va : {
+                                switch (b - 3 | 0) {
+                                case 3:
+                                 if ((h | 0) < 3) {
+                                  g = -2;
+                                  break a;
+                                 }
+                                 e = e + 3 | 0;
+                                 break Ta;
+                                case 4:
+                                 if ((h | 0) < 4) {
+                                  g = -2;
+                                  break a;
+                                 }
+                                 e = e + 4 | 0;
+                                 break Ta;
+                                case 0:
+                                 b = qU(a, e + 2 | 0, c, k + 12 | 0);
+                                 if ((b | 0) >= 1) {
+                                  e = q[k + 12 >> 2];
+                                  break Sa;
+                                 }
+                                 g = b;
+                                 if (b) {
+                                  break a;
+                                 }
+                                 q[d >> 2] = q[k + 12 >> 2];
+                                 g = 0;
+                                 break a;
+                                case 1:
+                                case 2:
+                                 break Ua;
+                                default:
+                                 break Va;
+                                }
+                               }
+                               q[d >> 2] = e;
+                               g = 0;
+                               break a;
+                              }
+                              e = e + 2 | 0;
+                             }
+                             q[f + 12 >> 2] = e;
+                            }
+                            h = c - e | 0;
+                            if ((h | 0) > 1) {
+                             continue;
+                            }
+                            break a;
+                           }
+                           break;
+                          }
+                          b = e + 2 | 0;
+                          q[k + 12 >> 2] = b;
+                          if ((c - b | 0) < 2) {
+                           break a;
+                          }
+                          Wa : {
+                           if (r[e + 3 | 0]) {
+                            break Wa;
+                           }
+                           f = r[l + r[b | 0] | 0] + -9 | 0;
+                           if (f >>> 0 > 12) {
+                            break Wa;
+                           }
+                           Xa : {
+                            Ya : {
+                             Za : {
+                              _a : {
+                               $a : {
+                                ab : {
+                                 bb : {
+                                  switch (f - 2 | 0) {
+                                  case 1:
+                                  case 2:
+                                  case 3:
+                                  case 4:
+                                  case 5:
+                                  case 7:
+                                  case 8:
+                                  case 9:
+                                   break Wa;
+                                  case 6:
+                                   break $a;
+                                  case 0:
+                                   break ab;
+                                  default:
+                                   break bb;
+                                  }
+                                 }
+                                 e = e + 4 | 0;
+                                 q[k + 12 >> 2] = e;
+                                 f = b;
+                                 i = c - e | 0;
+                                 if ((i | 0) < 2) {
+                                  break a;
+                                 }
+                                 while (1) {
+                                  b = e;
+                                  cb : {
+                                   db : {
+                                    eb : {
+                                     fb : {
+                                      h = r[f + 3 | 0];
+                                      if (h) {
+                                       j = h + -216 | 0;
+                                       if (j >>> 0 > 39) {
+                                        break fb;
+                                       }
+                                       switch (j - 4 | 0) {
+                                       case 0:
+                                       case 1:
+                                       case 2:
+                                       case 3:
+                                        break Za;
+                                       case 35:
+                                        break _a;
+                                       case 4:
+                                       case 5:
+                                       case 6:
+                                       case 7:
+                                       case 8:
+                                       case 9:
+                                       case 10:
+                                       case 11:
+                                       case 12:
+                                       case 13:
+                                       case 14:
+                                       case 15:
+                                       case 16:
+                                       case 17:
+                                       case 18:
+                                       case 19:
+                                       case 20:
+                                       case 21:
+                                       case 22:
+                                       case 23:
+                                       case 24:
+                                       case 25:
+                                       case 26:
+                                       case 27:
+                                       case 28:
+                                       case 29:
+                                       case 30:
+                                       case 31:
+                                       case 32:
+                                       case 33:
+                                       case 34:
+                                        break fb;
+                                       default:
+                                        break db;
+                                       }
+                                      }
+                                      j = r[b | 0];
+                                      m = r[l + j | 0] + -5 | 0;
+                                      if (m >>> 0 > 24) {
+                                       break Za;
+                                      }
+                                      switch (m - 1 | 0) {
+                                      case 16:
+                                      case 18:
+                                       break Xa;
+                                      case 23:
+                                       break Ya;
+                                      case 2:
+                                      case 6:
+                                      case 7:
+                                      case 8:
+                                      case 9:
+                                      case 10:
+                                      case 12:
+                                      case 13:
+                                      case 14:
+                                      case 17:
+                                      case 19:
+                                      case 20:
+                                      case 21:
+                                      case 22:
+                                       break Za;
+                                      case 11:
+                                       break $a;
+                                      case 5:
+                                       break ab;
+                                      case 3:
+                                      case 4:
+                                      case 15:
+                                       break cb;
+                                      case 1:
+                                       break db;
+                                      case 0:
+                                       break eb;
+                                      default:
+                                       break Wa;
+                                      }
+                                     }
+                                     j = r[b | 0];
+                                     break Ya;
+                                    }
+                                    g = -2;
+                                    if ((i | 0) >= 3) {
+                                     break Wa;
+                                    }
+                                    break a;
+                                   }
+                                   g = -2;
+                                   if ((i | 0) < 4) {
+                                    break a;
+                                   }
+                                   break Wa;
+                                  }
+                                  e = b + 2 | 0;
+                                  q[k + 12 >> 2] = e;
+                                  f = b;
+                                  i = c - e | 0;
+                                  if ((i | 0) > 1) {
+                                   continue;
+                                  }
+                                  break;
+                                 }
+                                 break a;
+                                }
+                                q[d >> 2] = b + 2;
+                                g = 1;
+                                break a;
+                               }
+                               a = b + 2 | 0;
+                               q[k + 12 >> 2] = a;
+                               if ((c - a | 0) < 2) {
+                                break a;
+                               }
+                               if (!(r[a | 0] == 62 ? !r[b + 3 | 0] : 0)) {
+                                q[d >> 2] = a;
+                                g = 0;
+                                break a;
+                               }
+                               q[d >> 2] = b + 4;
+                               g = 3;
+                               break a;
+                              }
+                              j = r[b | 0];
+                              if (j >>> 0 <= 253) {
+                               break Ya;
+                              }
+                             }
+                             q[d >> 2] = e;
+                             g = 0;
+                             break a;
+                            }
+                            if (!(q[(j >>> 3 & 28 | r[h + 492208 | 0] << 5) + 490192 >> 2] >>> (j & 31) & 1)) {
+                             break Wa;
+                            }
+                           }
+                           e = f + 4 | 0;
+                           q[k + 12 >> 2] = e;
+                           i = 0;
+                           break ta;
+                          }
+                          q[d >> 2] = b;
+                          g = 0;
+                          break a;
+                         }
+                         f = r[b | 0];
+                         if (f >>> 0 <= 253) {
+                          break Ba;
+                         }
+                         break Aa;
+                        }
+                        g = -2;
+                        if ((h | 0) >= 4) {
+                         break Aa;
+                        }
+                        break a;
+                       }
+                       f = r[b | 0];
+                      }
+                      if (q[(f >>> 3 & 28 | r[i + 492208 | 0] << 5) + 490192 >> 2] >>> (f & 31) & 1) {
+                       break za;
+                      }
+                     }
+                     q[d >> 2] = b;
+                     g = 0;
+                     break a;
+                    }
+                    e = e + 4 | 0;
+                    q[k + 12 >> 2] = e;
+                    i = 1;
+                    break ta;
+                   }
+                   g = -2;
+                   if ((h | 0) >= 4) {
+                    break va;
+                   }
+                   break a;
+                  }
+                  b = r[e | 0];
+                 }
+                 if (q[(b >>> 3 & 28 | r[f + 492464 | 0] << 5) + 490192 >> 2] >>> (b & 31) & 1) {
+                  break ua;
+                 }
+                }
+                q[d >> 2] = e;
+                g = 0;
+                break a;
+               }
+               e = e + 2 | 0;
+               q[k + 12 >> 2] = e;
+              }
+              h = c - e | 0;
+              if ((h | 0) > 1) {
+               continue;
+              }
+              break;
+             }
+             break a;
+            }
+            b = r[f | 0];
+            if (b >>> 0 <= 253) {
+             break ca;
+            }
+            break ba;
+           }
+           g = -2;
+           if ((i | 0) >= 4) {
+            break ba;
+           }
+           break a;
+          }
+          b = r[f | 0];
+         }
+         j = 1;
+         h = 4;
+         if (q[(b >>> 3 & 28 | r[m + 492208 | 0] << 5) + 490192 >> 2] >>> (b & 31) & 1) {
+          break Y;
+         }
+        }
+        q[d >> 2] = f;
+        g = 0;
+        break a;
+       }
+       g = -2;
+       if ((i | 0) >= 4) {
+        break Z;
+       }
+       break a;
+      }
+      b = r[e | 0];
+     }
+     h = 2;
+     if (q[(b >>> 3 & 28 | r[f + 492464 | 0] << 5) + 490192 >> 2] >>> (b & 31) & 1) {
+      break Y;
+     }
+    }
+    q[d >> 2] = e;
+    g = 0;
+    break a;
+   }
+   e = e + h | 0;
+   i = c - e | 0;
+   if ((i | 0) > 1) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = k + 16 | 0;
+ return g | 0;
+}
+function $M(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0, u = 0, w = 0, x = 0, z = 0, C = 0, D = 0, E = 0, G = 0, H = 0, I = 0, K = 0;
+ f = Ca - 96 | 0;
+ Ca = f;
+ q[f + 76 >> 2] = b;
+ a : {
+  b : {
+   c : {
+    if (b >>> 0 >= c >>> 0) {
+     break c;
+    }
+    b = q[f + 76 >> 2];
+    while (1) {
+     g = r[b | 0];
+     m = (g | 0) != 92;
+     d : {
+      if ((b | 0) == (c | 0)) {
+       h = b;
+       break d;
+      }
+      h = b;
+      if ((g | 0) == 92) {
+       break d;
+      }
+      while (1) {
+       h = b + 1 | 0;
+       q[f + 76 >> 2] = h;
+       g = r[b + 1 | 0];
+       m = (g | 0) != 92;
+       if ((c | 0) == (h | 0)) {
+        break d;
+       }
+       b = h;
+       if ((g | 0) != 92) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (m) {
+      b = h;
+      break c;
+     }
+     b = h + 1 | 0;
+     q[f + 76 >> 2] = b;
+     if ((b | 0) == (c | 0)) {
+      j = c;
+     } else {
+      Nd(f + 76 | 0);
+      b = q[f + 76 >> 2];
+      j = b;
+     }
+     e : {
+      while (1) {
+       f : {
+        q[f + 72 >> 2] = b;
+        g : {
+         h = r[b | 0];
+         i = b;
+         h : {
+          if ((h | 0) == 40) {
+           break h;
+          }
+          i = b;
+          if ((h | 0) == 92) {
+           break h;
+          }
+          if ((b | 0) != (c | 0)) {
+           break g;
+          }
+          i = c;
+         }
+         if ((i | 0) == (j | 0)) {
+          break e;
+         }
+         q[f + 12 >> 2] = 355833;
+         q[f >> 2] = 355833;
+         q[f + 4 >> 2] = 355833;
+         q[f + 20 >> 2] = 355833;
+         q[f + 8 >> 2] = 355833;
+         q[f + 28 >> 2] = 355833;
+         q[f + 16 >> 2] = 355833;
+         q[f + 36 >> 2] = 355833;
+         q[f + 24 >> 2] = 355833;
+         q[f + 44 >> 2] = 355833;
+         q[f + 32 >> 2] = 355833;
+         q[f + 52 >> 2] = 355833;
+         q[f + 40 >> 2] = 355833;
+         q[f + 60 >> 2] = 355833;
+         q[f + 48 >> 2] = 355833;
+         q[f + 56 >> 2] = 355833;
+         g = 0;
+         b = i;
+         if (r[b | 0] != 40) {
+          break f;
+         }
+         while (1) {
+          b = b + 1 | 0;
+          q[f + 72 >> 2] = b;
+          m = c;
+          if ((b | 0) != (m | 0)) {
+           Nd(f + 72 | 0);
+           m = q[f + 72 >> 2];
+          }
+          b = m;
+          i : {
+           j : {
+            while (1) {
+             k : {
+              h = r[b | 0];
+              j = h + -41 | 0;
+              if (j >>> 0 > 3) {
+               if ((h | 0) == 92) {
+                break j;
+               }
+               break k;
+              }
+              switch (j - 1 | 0) {
+              case 2:
+               break i;
+              case 0:
+              case 1:
+               break k;
+              default:
+               break j;
+              }
+             }
+             if ((b | 0) != (c | 0)) {
+              b = b + 1 | 0;
+              continue;
+             }
+             break;
+            }
+            b = c;
+            if ((h | 0) == 44) {
+             break i;
+            }
+           }
+           while (1) {
+            l : {
+             h = b;
+             b = b + 1 | 0;
+             if ((c | 0) == (h | 0)) {
+              break l;
+             }
+             if (r[h | 0] != 41) {
+              continue;
+             }
+            }
+            break;
+           }
+           q[f + 88 >> 2] = h;
+           m : {
+            if ((g | 0) > 7) {
+             break m;
+            }
+            Od(f + 88 | 0, m);
+            j = q[f + 88 >> 2];
+            if (j >>> 0 <= m >>> 0) {
+             break m;
+            }
+            n = (g << 3) + f | 0;
+            q[n + 4 >> 2] = j;
+            q[n >> 2] = m;
+            g = g + 1 | 0;
+           }
+           q[f + 72 >> 2] = (c | 0) != (h | 0) ? b : h;
+           j = q[f + 76 >> 2];
+           break f;
+          }
+          q[f + 88 >> 2] = b;
+          if ((g | 0) > 7) {
+           continue;
+          }
+          Od(f + 88 | 0, m);
+          h = q[f + 88 >> 2];
+          if (h >>> 0 <= m >>> 0) {
+           continue;
+          }
+          j = (g << 3) + f | 0;
+          q[j + 4 >> 2] = h;
+          q[j >> 2] = m;
+          g = g + 1 | 0;
+          continue;
+         }
+        }
+        b = b + 1 | 0;
+        continue;
+       }
+       break;
+      }
+      n : {
+       if (!jZ(j, 355834, 5)) {
+        b = j + 5 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        o : {
+         if ((g | 0) < 8) {
+          Od(f + 88 | 0, b);
+          h = q[f + 88 >> 2];
+          if (h >>> 0 > b >>> 0) {
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          if (!g) {
+           break o;
+          }
+         }
+         b = q[f + 4 >> 2];
+         q[f + 80 >> 2] = q[f >> 2];
+         q[f + 84 >> 2] = b;
+         Rd(f + 80 | 0, f + 88 | 0);
+         v[a + 368 >> 3] = B(d * v[f + 88 >> 3] + (1 - d) * v[a + 368 >> 3], 0);
+         break n;
+        }
+        v[a + 368 >> 3] = v[q[a + 212 >> 2] + 88 >> 3];
+        break n;
+       }
+       if (!jZ(j, 355840, 5)) {
+        b = j + 5 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        p : {
+         if ((g | 0) < 8) {
+          Od(f + 88 | 0, b);
+          h = q[f + 88 >> 2];
+          if (h >>> 0 > b >>> 0) {
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          if (!g) {
+           break p;
+          }
+         }
+         b = q[f + 4 >> 2];
+         q[f + 80 >> 2] = q[f >> 2];
+         q[f + 84 >> 2] = b;
+         Rd(f + 80 | 0, f + 88 | 0);
+         v[a + 376 >> 3] = B(d * v[f + 88 >> 3] + (1 - d) * v[a + 376 >> 3], 0);
+         break n;
+        }
+        v[a + 376 >> 3] = v[q[a + 212 >> 2] + 88 >> 3];
+        break n;
+       }
+       if (!jZ(j, 355846, 5)) {
+        b = j + 5 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        q : {
+         if ((g | 0) < 8) {
+          Od(f + 88 | 0, b);
+          h = q[f + 88 >> 2];
+          if (h >>> 0 > b >>> 0) {
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          if (!g) {
+           break q;
+          }
+         }
+         b = q[f + 4 >> 2];
+         q[f + 80 >> 2] = q[f >> 2];
+         q[f + 84 >> 2] = b;
+         Rd(f + 80 | 0, f + 88 | 0);
+         v[a + 440 >> 3] = d * v[f + 88 >> 3] + (1 - d) * v[a + 440 >> 3];
+         break n;
+        }
+        v[a + 440 >> 3] = v[q[a + 212 >> 2] + 96 >> 3];
+        break n;
+       }
+       if (!jZ(j, 355852, 5)) {
+        b = j + 5 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        r : {
+         if ((g | 0) < 8) {
+          Od(f + 88 | 0, b);
+          h = q[f + 88 >> 2];
+          if (h >>> 0 > b >>> 0) {
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          if (!g) {
+           break r;
+          }
+         }
+         b = q[f + 4 >> 2];
+         q[f + 80 >> 2] = q[f >> 2];
+         q[f + 84 >> 2] = b;
+         Rd(f + 80 | 0, f + 88 | 0);
+         v[a + 448 >> 3] = d * v[f + 88 >> 3] + (1 - d) * v[a + 448 >> 3];
+         break n;
+        }
+        v[a + 448 >> 3] = v[q[a + 212 >> 2] + 96 >> 3];
+        break n;
+       }
+       if (!jZ(j, 355858, 3)) {
+        b = j + 3 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        s : {
+         if ((g | 0) < 8) {
+          Od(f + 88 | 0, b);
+          h = q[f + 88 >> 2];
+          if (h >>> 0 > b >>> 0) {
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          if (!g) {
+           break s;
+          }
+         }
+         b = q[f + 4 >> 2];
+         q[f + 80 >> 2] = q[f >> 2];
+         q[f + 84 >> 2] = b;
+         Rd(f + 80 | 0, f + 88 | 0);
+         v[a + 272 >> 3] = d * v[f + 88 >> 3] + (1 - d) * v[a + 272 >> 3];
+         break n;
+        }
+        q[a + 272 >> 2] = 0;
+        q[a + 276 >> 2] = 0;
+        break n;
+       }
+       if (!jZ(j, 355862, 3)) {
+        b = j + 3 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        t : {
+         if ((g | 0) < 8) {
+          Od(f + 88 | 0, b);
+          h = q[f + 88 >> 2];
+          if (h >>> 0 > b >>> 0) {
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          if (!g) {
+           break t;
+          }
+         }
+         b = q[f + 4 >> 2];
+         q[f + 80 >> 2] = q[f >> 2];
+         q[f + 84 >> 2] = b;
+         Rd(f + 80 | 0, f + 88 | 0);
+         v[a + 280 >> 3] = d * v[f + 88 >> 3] + (1 - d) * v[a + 280 >> 3];
+         break n;
+        }
+        q[a + 280 >> 2] = 0;
+        q[a + 284 >> 2] = 0;
+        break n;
+       }
+       if (!jZ(j, 355866, 5)) {
+        q[f + 76 >> 2] = j + 5;
+        if ((g | 0) == 4) {
+         b = q[f + 4 >> 2];
+         q[f + 88 >> 2] = q[f >> 2];
+         q[f + 92 >> 2] = b;
+         Pd(f + 88 | 0, f + 80 | 0);
+         g = q[f + 80 >> 2];
+         b = q[f + 12 >> 2];
+         q[f + 88 >> 2] = q[f + 8 >> 2];
+         q[f + 92 >> 2] = b;
+         Pd(f + 88 | 0, f + 80 | 0);
+         h = q[f + 80 >> 2];
+         b = q[f + 20 >> 2];
+         q[f + 88 >> 2] = q[f + 16 >> 2];
+         q[f + 92 >> 2] = b;
+         Pd(f + 88 | 0, f + 80 | 0);
+         i = q[f + 80 >> 2];
+         b = q[f + 28 >> 2];
+         q[f + 88 >> 2] = q[f + 24 >> 2];
+         q[f + 92 >> 2] = b;
+         Pd(f + 88 | 0, f + 80 | 0);
+         m = q[f + 80 >> 2];
+         o[a + 416 | 0] = 1;
+         b = a;
+         j = b;
+         k = 1 - d;
+         l = d * +(g | 0) + k * +q[b + 400 >> 2];
+         u : {
+          if (y(l) < 2147483648) {
+           g = ~~l;
+           break u;
+          }
+          g = -2147483648;
+         }
+         q[j + 400 >> 2] = g;
+         g = a;
+         l = d * +(i | 0) + k * +q[b + 408 >> 2];
+         v : {
+          if (y(l) < 2147483648) {
+           i = ~~l;
+           break v;
+          }
+          i = -2147483648;
+         }
+         q[g + 408 >> 2] = i;
+         g = a;
+         l = d * +(h | 0) + k * +q[b + 404 >> 2];
+         w : {
+          if (y(l) < 2147483648) {
+           b = ~~l;
+           break w;
+          }
+          b = -2147483648;
+         }
+         q[g + 404 >> 2] = b;
+         k = d * +(m | 0) + k * +q[a + 412 >> 2];
+         if (y(k) < 2147483648) {
+          q[a + 412 >> 2] = ~~k;
+          break n;
+         }
+         q[a + 412 >> 2] = -2147483648;
+         break n;
+        }
+        if (q[a + 472 >> 2]) {
+         break n;
+        }
+        b = g + -1 | 0;
+        if (b >>> 0 > 1) {
+         break n;
+        }
+        h = 1;
+        if ((g | 0) == 2) {
+         g = q[f + 4 >> 2];
+         q[f + 88 >> 2] = q[f >> 2];
+         q[f + 92 >> 2] = g;
+         Pd(f + 88 | 0, f + 80 | 0);
+         h = q[f + 80 >> 2];
+        }
+        b = (b << 3) + f | 0;
+        g = q[b >> 2];
+        b = bZ(g, q[b + 4 >> 2] - g | 0);
+        q[a + 480 >> 2] = 1;
+        q[a + 476 >> 2] = h;
+        q[a + 472 >> 2] = b;
+        break n;
+       }
+       if (!jZ(j, 355872, 4)) {
+        b = j + 4 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        x : {
+         if ((g | 0) < 8) {
+          Od(f + 88 | 0, b);
+          h = q[f + 88 >> 2];
+          if (h >>> 0 > b >>> 0) {
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          if (!g) {
+           break x;
+          }
+         }
+         b = q[f + 4 >> 2];
+         q[f + 80 >> 2] = q[f >> 2];
+         q[f + 84 >> 2] = b;
+         Rd(f + 80 | 0, f + 88 | 0);
+         v[a + 432 >> 3] = A(B(d * v[f + 88 >> 3] + (1 - d) * v[a + 432 >> 3], 0), 100);
+         break n;
+        }
+        q[a + 432 >> 2] = 0;
+        q[a + 436 >> 2] = 0;
+        break n;
+       }
+       if (!jZ(j, 355877, 4)) {
+        b = j + 4 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        y : {
+         if ((g | 0) < 8) {
+          Od(f + 88 | 0, b);
+          h = q[f + 88 >> 2];
+          if (h >>> 0 > b >>> 0) {
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          if (!g) {
+           break y;
+          }
+         }
+         b = q[f + 4 >> 2];
+         q[f + 80 >> 2] = q[f >> 2];
+         q[f + 84 >> 2] = b;
+         Rd(f + 80 | 0, f + 88 | 0);
+         v[a + 336 >> 3] = B(d * (v[f + 88 >> 3] / 100) + (1 - d) * v[a + 336 >> 3], 0);
+         break n;
+        }
+        v[a + 336 >> 3] = v[q[a + 212 >> 2] + 48 >> 3];
+        break n;
+       }
+       if (!jZ(j, 355882, 4)) {
+        b = j + 4 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        z : {
+         if ((g | 0) < 8) {
+          Od(f + 88 | 0, b);
+          h = q[f + 88 >> 2];
+          if (h >>> 0 > b >>> 0) {
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          if (!g) {
+           break z;
+          }
+         }
+         b = q[f + 4 >> 2];
+         q[f + 80 >> 2] = q[f >> 2];
+         q[f + 84 >> 2] = b;
+         Rd(f + 80 | 0, f + 88 | 0);
+         v[a + 344 >> 3] = B(d * (v[f + 88 >> 3] / 100) + (1 - d) * v[a + 344 >> 3], 0);
+         break n;
+        }
+        v[a + 344 >> 3] = v[q[a + 212 >> 2] + 56 >> 3];
+        break n;
+       }
+       if (!jZ(j, 355887, 3)) {
+        b = j + 3 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        A : {
+         if ((g | 0) > 7) {
+          break A;
+         }
+         Od(f + 88 | 0, b);
+         h = q[f + 88 >> 2];
+         if (h >>> 0 <= b >>> 0) {
+          break A;
+         }
+         g = (g << 3) + f | 0;
+         q[g + 4 >> 2] = h;
+         q[g >> 2] = b;
+        }
+        b = q[a + 212 >> 2];
+        g = q[b + 52 >> 2];
+        q[a + 336 >> 2] = q[b + 48 >> 2];
+        q[a + 340 >> 2] = g;
+        g = q[b + 60 >> 2];
+        q[a + 344 >> 2] = q[b + 56 >> 2];
+        q[a + 348 >> 2] = g;
+        break n;
+       }
+       if (!jZ(j, 355891, 3)) {
+        b = j + 3 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        B : {
+         if ((g | 0) < 8) {
+          Od(f + 88 | 0, b);
+          h = q[f + 88 >> 2];
+          if (h >>> 0 > b >>> 0) {
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          if (!g) {
+           break B;
+          }
+         }
+         b = q[f + 4 >> 2];
+         q[f + 80 >> 2] = q[f >> 2];
+         q[f + 84 >> 2] = b;
+         Rd(f + 80 | 0, f + 88 | 0);
+         v[a + 352 >> 3] = d * v[f + 88 >> 3] + (1 - d) * v[a + 352 >> 3];
+         break n;
+        }
+        b = q[a + 212 >> 2];
+        g = q[b + 68 >> 2];
+        q[a + 352 >> 2] = q[b + 64 >> 2];
+        q[a + 356 >> 2] = g;
+        break n;
+       }
+       if (!jZ(j, 355895, 2)) {
+        b = j + 2 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        C : {
+         D : {
+          if ((g | 0) < 8) {
+           Od(f + 88 | 0, b);
+           h = q[f + 88 >> 2];
+           if (h >>> 0 > b >>> 0) {
+            i = (g << 3) + f | 0;
+            q[i + 4 >> 2] = h;
+            q[i >> 2] = b;
+            g = g + 1 | 0;
+           }
+           if (!g) {
+            break D;
+           }
+          }
+          b = q[f + 4 >> 2];
+          q[f + 80 >> 2] = q[f >> 2];
+          q[f + 84 >> 2] = b;
+          Rd(f + 80 | 0, f + 88 | 0);
+          k = v[f + 88 >> 3];
+          b = r[q[f >> 2]] + -43 | 0;
+          l = (d * k / 10 + 1) * v[a + 224 >> 3];
+          E : {
+           if (!(b >>> 0 > 2 | !(b - 1))) {
+            break E;
+           }
+           l = d * k + (1 - d) * v[a + 224 >> 3];
+          }
+          if (!(l <= 0)) {
+           break C;
+          }
+         }
+         l = v[q[a + 212 >> 2] + 8 >> 3];
+        }
+        v[a + 224 >> 3] = l;
+        break n;
+       }
+       if (!jZ(j, 355898, 4)) {
+        b = j + 4 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        F : {
+         G : {
+          if ((g | 0) < 8) {
+           Od(f + 88 | 0, b);
+           h = q[f + 88 >> 2];
+           if (h >>> 0 > b >>> 0) {
+            i = (g << 3) + f | 0;
+            q[i + 4 >> 2] = h;
+            q[i >> 2] = b;
+            g = g + 1 | 0;
+           }
+           if (!g) {
+            break G;
+           }
+          }
+          b = q[f + 4 >> 2];
+          q[f + 80 >> 2] = q[f >> 2];
+          q[f + 84 >> 2] = b;
+          Rd(f + 80 | 0, f + 88 | 0);
+          k = d * v[f + 88 >> 3];
+          t = 1 - d;
+          l = B(k + t * v[a + 376 >> 3], 0);
+          k = B(k + t * v[a + 368 >> 3], 0);
+          break F;
+         }
+         l = v[q[a + 212 >> 2] + 88 >> 3];
+         k = l;
+        }
+        v[a + 376 >> 3] = l;
+        v[a + 368 >> 3] = k;
+        break n;
+       }
+       if (!jZ(j, 355903, 4)) {
+        q[f + 76 >> 2] = j + 4;
+        if ((g | 2) != 6) {
+         break n;
+        }
+        b = q[f + 4 >> 2];
+        q[f + 80 >> 2] = q[f >> 2];
+        q[f + 84 >> 2] = b;
+        Rd(f + 80 | 0, f + 88 | 0);
+        l = v[f + 88 >> 3];
+        b = q[f + 12 >> 2];
+        q[f + 80 >> 2] = q[f + 8 >> 2];
+        q[f + 84 >> 2] = b;
+        Rd(f + 80 | 0, f + 88 | 0);
+        t = v[f + 88 >> 3];
+        b = q[f + 20 >> 2];
+        q[f + 80 >> 2] = q[f + 16 >> 2];
+        q[f + 84 >> 2] = b;
+        Rd(f + 80 | 0, f + 88 | 0);
+        G = v[f + 88 >> 3];
+        b = q[f + 28 >> 2];
+        q[f + 80 >> 2] = q[f + 24 >> 2];
+        q[f + 84 >> 2] = b;
+        Rd(f + 80 | 0, f + 88 | 0);
+        H = v[f + 88 >> 3];
+        i = 0;
+        s = 0;
+        h = 0;
+        p = 0;
+        if ((g | 0) == 6) {
+         b = q[f + 36 >> 2];
+         q[f + 80 >> 2] = q[f + 32 >> 2];
+         q[f + 84 >> 2] = b;
+         Qd(f + 80 | 0, f + 88 | 0);
+         i = q[f + 88 >> 2];
+         b = q[f + 92 >> 2];
+         g = q[f + 44 >> 2];
+         q[f + 80 >> 2] = q[f + 40 >> 2];
+         q[f + 84 >> 2] = g;
+         Qd(f + 80 | 0, f + 88 | 0);
+         m = q[f + 88 >> 2];
+         j = q[f + 92 >> 2];
+         g = j;
+         g = (b | 0) > (g | 0) ? 1 : (b | 0) >= (g | 0) ? i >>> 0 <= m >>> 0 ? 0 : 1 : 0;
+         h = g ? m : i;
+         p = g ? j : b;
+         s = g ? b : j;
+         i = g ? i : m;
+        }
+        m = q[a + 168 >> 2];
+        g = q[a + 208 >> 2];
+        j = q[g >> 2];
+        b = m - j | 0;
+        n = b;
+        if (!(((s | 0) > 0 ? 1 : (s | 0) >= 0 ? i >>> 0 <= 0 ? 0 : 1 : 0) | ((p | 0) > 0 ? 1 : (p | 0) >= 0 ? h >>> 0 <= 0 ? 0 : 1 : 0))) {
+         i = q[g + 8 >> 2];
+         s = q[g + 12 >> 2];
+         p = 0;
+         h = 0;
+        }
+        m = q[a + 172 >> 2] - (q[g + 4 >> 2] + (m >>> 0 < j >>> 0) | 0) | 0;
+        g = m;
+        k = 0;
+        H : {
+         if ((g | 0) < (p | 0) ? 1 : (g | 0) <= (p | 0) ? n >>> 0 > h >>> 0 ? 0 : 1 : 0) {
+          break H;
+         }
+         k = 1;
+         if ((m | 0) > (s | 0) ? 1 : (m | 0) >= (s | 0) ? b >>> 0 < i >>> 0 ? 0 : 1 : 0) {
+          break H;
+         }
+         g = h;
+         k = (+(b - g >>> 0) + 4294967296 * +(m - ((b >>> 0 < g >>> 0) + p | 0) | 0)) / (+(i - g >>> 0) + 4294967296 * +(s - ((i >>> 0 < g >>> 0) + p | 0) | 0));
+        }
+        if (q[a + 288 >> 2] == 1) {
+         break n;
+        }
+        o[a + 417 | 0] = 0;
+        q[a + 288 >> 2] = 1;
+        v[a + 304 >> 3] = t + (H - t) * k;
+        v[a + 296 >> 3] = l + (G - l) * k;
+        break n;
+       }
+       if (!jZ(j, 355908, 3)) {
+        b = j + 3 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        I : {
+         if ((g | 0) < 8) {
+          Od(f + 88 | 0, b);
+          h = q[f + 88 >> 2];
+          if (h >>> 0 > b >>> 0) {
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          if (!g) {
+           break I;
+          }
+         }
+         b = q[f + 4 >> 2];
+         q[f + 80 >> 2] = q[f >> 2];
+         q[f + 84 >> 2] = b;
+         Rd(f + 80 | 0, f + 88 | 0);
+         v[a + 248 >> 3] = d * (v[f + 88 >> 3] * .017453292519943295) + (1 - d) * v[a + 248 >> 3];
+         break n;
+        }
+        q[a + 248 >> 2] = 0;
+        q[a + 252 >> 2] = 0;
+        break n;
+       }
+       if (!jZ(j, 355912, 3)) {
+        b = j + 3 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        J : {
+         if ((g | 0) < 8) {
+          Od(f + 88 | 0, b);
+          h = q[f + 88 >> 2];
+          if (h >>> 0 > b >>> 0) {
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          if (!g) {
+           break J;
+          }
+         }
+         b = q[f + 4 >> 2];
+         q[f + 80 >> 2] = q[f >> 2];
+         q[f + 84 >> 2] = b;
+         Rd(f + 80 | 0, f + 88 | 0);
+         v[a + 256 >> 3] = d * (v[f + 88 >> 3] * .017453292519943295) + (1 - d) * v[a + 256 >> 3];
+         break n;
+        }
+        q[a + 256 >> 2] = 0;
+        q[a + 260 >> 2] = 0;
+        break n;
+       }
+       K : {
+        L : {
+         if (!jZ(j, 355916, 3)) {
+          b = j + 3 | 0;
+          q[f + 76 >> 2] = b;
+          break L;
+         }
+         if (jZ(j, 355920, 2)) {
+          break K;
+         }
+         b = j + 2 | 0;
+         q[f + 76 >> 2] = b;
+        }
+        q[f + 88 >> 2] = i;
+        M : {
+         if ((g | 0) > 7) {
+          break M;
+         }
+         Od(f + 88 | 0, b);
+         h = q[f + 88 >> 2];
+         if (h >>> 0 <= b >>> 0) {
+          break M;
+         }
+         i = (g << 3) + f | 0;
+         q[i + 4 >> 2] = h;
+         q[i >> 2] = b;
+         g = g + 1 | 0;
+        }
+        if (g) {
+         b = q[f + 4 >> 2];
+         q[f + 80 >> 2] = q[f >> 2];
+         q[f + 84 >> 2] = b;
+         Rd(f + 80 | 0, f + 88 | 0);
+         v[a + 264 >> 3] = d * (v[f + 88 >> 3] * .017453292519943295) + (1 - d) * v[a + 264 >> 3];
+         break n;
+        }
+        v[a + 264 >> 3] = v[q[a + 212 >> 2] + 72 >> 3] * 3.141592653589793 / 180;
+        break n;
+       }
+       if (!jZ(j, 355923, 2)) {
+        b = j + 2 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        N : {
+         if ((g | 0) > 7) {
+          break N;
+         }
+         Od(f + 88 | 0, b);
+         h = q[f + 88 >> 2];
+         if (h >>> 0 <= b >>> 0) {
+          break N;
+         }
+         i = (g << 3) + f | 0;
+         q[i + 4 >> 2] = h;
+         q[i >> 2] = b;
+         g = g + 1 | 0;
+        }
+        b = q[f >> 2];
+        q[f + 88 >> 2] = b;
+        O : {
+         P : {
+          if (!g) {
+           break P;
+          }
+          if (!jZ(b, 355926, q[f + 4 >> 2] - b | 0)) {
+           break P;
+          }
+          Nd(f + 88 | 0);
+          b = q[f + 88 >> 2];
+          b = bZ(b, q[f + 4 >> 2] - b | 0);
+          break O;
+         }
+         b = mZ(q[q[a + 212 >> 2] + 4 >> 2]);
+        }
+        M$(q[a + 504 >> 2]);
+        q[a + 504 >> 2] = b;
+        YM(a);
+        break n;
+       }
+       if (!jZ(j, 355928, 5)) {
+        b = j + 5 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        Q : {
+         if ((g | 0) < 8) {
+          Od(f + 88 | 0, b);
+          h = q[f + 88 >> 2];
+          if (h >>> 0 > b >>> 0) {
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          if (!g) {
+           break Q;
+          }
+         }
+         b = a;
+         h = b;
+         k = d * +(Sd(q[f >> 2]) | 0);
+         l = 1 - d;
+         t = k + l * +r[b + 384 | 0];
+         R : {
+          if (t < 4294967296 & t >= 0) {
+           g = ~~t >>> 0;
+           break R;
+          }
+          g = 0;
+         }
+         o[h + 384 | 0] = g;
+         h = a;
+         t = k + l * +r[b + 388 | 0];
+         S : {
+          if (t < 4294967296 & t >= 0) {
+           g = ~~t >>> 0;
+           break S;
+          }
+          g = 0;
+         }
+         o[h + 388 | 0] = g;
+         h = a;
+         t = k + l * +r[b + 392 | 0];
+         T : {
+          if (t < 4294967296 & t >= 0) {
+           b = ~~t >>> 0;
+           break T;
+          }
+          b = 0;
+         }
+         o[h + 392 | 0] = b;
+         k = k + l * +r[a + 396 | 0];
+         if (k < 4294967296 & k >= 0) {
+          o[a + 396 | 0] = ~~k >>> 0;
+          break n;
+         }
+         o[a + 396 | 0] = 0;
+         break n;
+        }
+        b = q[a + 212 >> 2];
+        o[a + 384 | 0] = q[b + 16 >> 2];
+        o[a + 388 | 0] = q[b + 20 >> 2];
+        o[a + 392 | 0] = q[b + 24 >> 2];
+        o[a + 396 | 0] = q[b + 28 >> 2];
+        break n;
+       }
+       if (!jZ(j, 355934, 2)) {
+        b = j + 2 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        U : {
+         if ((g | 0) > 7) {
+          break U;
+         }
+         Od(f + 88 | 0, b);
+         h = q[f + 88 >> 2];
+         if (h >>> 0 <= b >>> 0) {
+          break U;
+         }
+         g = (g << 3) + f | 0;
+         q[g + 4 >> 2] = h;
+         q[g >> 2] = b;
+        }
+        b = q[f + 4 >> 2];
+        q[f + 88 >> 2] = q[f >> 2];
+        q[f + 92 >> 2] = b;
+        Pd(f + 88 | 0, f + 80 | 0);
+        b = q[a + 216 >> 2];
+        if (b & 2) {
+         break n;
+        }
+        g = q[f + 80 >> 2];
+        V : {
+         if (g + -1 >>> 0 <= 8) {
+          I = a, K = Xd(g), q[I + 236 >> 2] = K;
+          b = q[a + 216 >> 2];
+          break V;
+         }
+         q[a + 236 >> 2] = q[q[a + 212 >> 2] + 104 >> 2];
+        }
+        q[a + 216 >> 2] = b | 2;
+        break n;
+       }
+       b = r[j | 0];
+       if ((b | 0) == 97) {
+        b = j + 1 | 0;
+        q[f + 76 >> 2] = b;
+        q[f + 88 >> 2] = i;
+        W : {
+         if ((g | 0) > 7) {
+          break W;
+         }
+         Od(f + 88 | 0, b);
+         h = q[f + 88 >> 2];
+         if (h >>> 0 <= b >>> 0) {
+          break W;
+         }
+         g = (g << 3) + f | 0;
+         q[g + 4 >> 2] = h;
+         q[g >> 2] = b;
+        }
+        b = q[f + 4 >> 2];
+        q[f + 88 >> 2] = q[f >> 2];
+        q[f + 92 >> 2] = b;
+        Pd(f + 88 | 0, f + 80 | 0);
+        h = q[a + 216 >> 2];
+        if (h & 2) {
+         break n;
+        }
+        b = a;
+        g = q[f + 80 >> 2];
+        X : {
+         if (g + -1 >>> 0 <= 10) {
+          g = g & 3 ? g : 5;
+          break X;
+         }
+         g = q[q[a + 212 >> 2] + 104 >> 2];
+        }
+        q[b + 236 >> 2] = g;
+        q[a + 216 >> 2] = h | 2;
+        break n;
+       }
+       if (!jZ(j, 355937, 3)) {
+        q[f + 76 >> 2] = j + 3;
+        if ((g | 0) != 2) {
+         break n;
+        }
+        b = q[f + 4 >> 2];
+        q[f + 80 >> 2] = q[f >> 2];
+        q[f + 84 >> 2] = b;
+        Rd(f + 80 | 0, f + 88 | 0);
+        b = q[f + 88 >> 2];
+        g = q[f + 92 >> 2];
+        h = q[f + 12 >> 2];
+        q[f + 80 >> 2] = q[f + 8 >> 2];
+        q[f + 84 >> 2] = h;
+        Rd(f + 80 | 0, f + 88 | 0);
+        if (q[a + 288 >> 2] == 1) {
+         Yd(q[a >> 2], 6, 355941, 0);
+         break n;
+        }
+        h = q[f + 88 >> 2];
+        i = q[f + 92 >> 2];
+        o[a + 417 | 0] = 0;
+        q[a + 288 >> 2] = 1;
+        q[a + 304 >> 2] = h;
+        q[a + 308 >> 2] = i;
+        q[a + 296 >> 2] = b;
+        q[a + 300 >> 2] = g;
+        break n;
+       }
+       h = 4;
+       Y : {
+        if (jZ(j, 355995, 4)) {
+         h = 3;
+         if (jZ(j, 356e3, 3)) {
+          break Y;
+         }
+        }
+        q[f + 76 >> 2] = h + j;
+        b = g + -2 | 0;
+        if (b >>> 0 > 5) {
+         break n;
+        }
+        Z : {
+         _ : {
+          switch (b - 1 | 0) {
+          default:
+           b = q[f + 4 >> 2];
+           q[f + 80 >> 2] = q[f >> 2];
+           q[f + 84 >> 2] = b;
+           Qd(f + 80 | 0, f + 88 | 0);
+           x = q[f + 88 >> 2];
+           z = q[f + 92 >> 2];
+           b = q[f + 12 >> 2];
+           q[f + 80 >> 2] = q[f + 8 >> 2];
+           q[f + 84 >> 2] = b;
+           Qd(f + 80 | 0, f + 88 | 0);
+           g = q[f + 88 >> 2];
+           w = q[f + 92 >> 2];
+           j = 0;
+           m = 255;
+           h = -1;
+           p = -1;
+           b = 255;
+           s = -1;
+           i = -1;
+           break Z;
+          case 4:
+           break _;
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+           break n;
+          }
+         }
+         b = q[f + 4 >> 2];
+         q[f + 88 >> 2] = q[f >> 2];
+         q[f + 92 >> 2] = b;
+         Pd(f + 88 | 0, f + 80 | 0);
+         b = q[f + 80 >> 2];
+         g = q[f + 12 >> 2];
+         q[f + 88 >> 2] = q[f + 8 >> 2];
+         q[f + 92 >> 2] = g;
+         Pd(f + 88 | 0, f + 80 | 0);
+         j = q[f + 80 >> 2];
+         g = q[f + 20 >> 2];
+         q[f + 88 >> 2] = q[f + 16 >> 2];
+         q[f + 92 >> 2] = g;
+         Pd(f + 88 | 0, f + 80 | 0);
+         m = q[f + 80 >> 2];
+         g = q[f + 28 >> 2];
+         q[f + 80 >> 2] = q[f + 24 >> 2];
+         q[f + 84 >> 2] = g;
+         Qd(f + 80 | 0, f + 88 | 0);
+         h = q[f + 88 >> 2];
+         p = q[f + 92 >> 2];
+         g = q[f + 36 >> 2];
+         q[f + 80 >> 2] = q[f + 32 >> 2];
+         q[f + 84 >> 2] = g;
+         Qd(f + 80 | 0, f + 88 | 0);
+         x = q[f + 88 >> 2];
+         z = q[f + 92 >> 2];
+         g = q[f + 44 >> 2];
+         q[f + 80 >> 2] = q[f + 40 >> 2];
+         q[f + 84 >> 2] = g;
+         Qd(f + 80 | 0, f + 88 | 0);
+         g = q[f + 88 >> 2];
+         w = q[f + 92 >> 2];
+         i = q[f + 52 >> 2];
+         q[f + 80 >> 2] = q[f + 48 >> 2];
+         q[f + 84 >> 2] = i;
+         Qd(f + 80 | 0, f + 88 | 0);
+         s = q[f + 92 >> 2];
+         i = q[f + 88 >> 2];
+        }
+        if ((i & h) == -1 & (p & s) == -1) {
+         n = q[a + 208 >> 2];
+         i = q[n + 8 >> 2];
+         h = g;
+         g = i - g | 0;
+         s = q[n + 12 >> 2];
+         w = s - ((i >>> 0 < h >>> 0) + w | 0) | 0;
+         p = 0;
+         h = 0;
+        }
+        C = q[a + 216 >> 2];
+        if (C & 1) {
+         break n;
+        }
+        u = q[a + 168 >> 2];
+        D = q[a + 208 >> 2];
+        E = q[D >> 2];
+        n = u - E | 0;
+        u = q[a + 172 >> 2] - (q[D + 4 >> 2] + (u >>> 0 < E >>> 0) | 0) | 0;
+        $ : {
+         if ((u | 0) < (p | 0) ? 1 : (u | 0) <= (p | 0) ? n >>> 0 >= h >>> 0 ? 0 : 1 : 0) {
+          break $;
+         }
+         aa : {
+          if ((u | 0) < (z | 0) ? 1 : (u | 0) <= (z | 0) ? n >>> 0 >= x >>> 0 ? 0 : 1 : 0) {
+           g = h;
+           k = (+(n - g >>> 0) + 4294967296 * +(u - ((n >>> 0 < g >>> 0) + p | 0) | 0)) / (+(x - g >>> 0) + 4294967296 * +(z - ((x >>> 0 < g >>> 0) + p | 0) | 0));
+           k = k * +(j | 0) + (1 - k) * +(b | 0);
+           if (!(y(k) < 2147483648)) {
+            break aa;
+           }
+           b = ~~k;
+           break $;
+          }
+          if ((u | 0) < (w | 0) ? 1 : (u | 0) <= (w | 0) ? n >>> 0 >= g >>> 0 ? 0 : 1 : 0) {
+           b = j;
+           break $;
+          }
+          if ((u | 0) > (s | 0) ? 1 : (u | 0) >= (s | 0) ? n >>> 0 < i >>> 0 ? 0 : 1 : 0) {
+           b = m;
+           break $;
+          }
+          b = g;
+          k = (+(n - b >>> 0) + 4294967296 * +(u - ((n >>> 0 < b >>> 0) + w | 0) | 0)) / (+(i - b >>> 0) + 4294967296 * +(s - ((i >>> 0 < b >>> 0) + w | 0) | 0));
+          k = k * +(m | 0) + (1 - k) * +(j | 0);
+          if (!(y(k) < 2147483648)) {
+           break aa;
+          }
+          b = ~~k;
+          break $;
+         }
+         b = -2147483648;
+        }
+        q[a + 420 >> 2] = b;
+        q[a + 216 >> 2] = C | 1;
+        break n;
+       }
+       if (!jZ(j, 356004, 3)) {
+        q[f + 76 >> 2] = j + 3;
+        if ((g | 0) != 2) {
+         break n;
+        }
+        b = q[f + 4 >> 2];
+        q[f + 80 >> 2] = q[f >> 2];
+        q[f + 84 >> 2] = b;
+        Rd(f + 80 | 0, f + 88 | 0);
+        b = q[f + 88 >> 2];
+        g = q[f + 92 >> 2];
+        h = q[f + 12 >> 2];
+        q[f + 80 >> 2] = q[f + 8 >> 2];
+        q[f + 84 >> 2] = h;
+        Rd(f + 80 | 0, f + 88 | 0);
+        if (r[a + 328 | 0]) {
+         break n;
+        }
+        h = q[f + 88 >> 2];
+        i = q[f + 92 >> 2];
+        o[a + 417 | 0] = 0;
+        o[a + 328 | 0] = 1;
+        q[a + 320 >> 2] = h;
+        q[a + 324 >> 2] = i;
+        q[a + 312 >> 2] = b;
+        q[a + 316 >> 2] = g;
+        break n;
+       }
+       ba : {
+        ca : {
+         if ((b | 0) == 116) {
+          q[f + 76 >> 2] = j + 1;
+          da : {
+           ea : {
+            b = g + -2 | 0;
+            k = 1;
+            fa : {
+             if (b >>> 0 > 2) {
+              break fa;
+             }
+             ga : {
+              switch (b - 1 | 0) {
+              case 0:
+               b = q[f + 4 >> 2];
+               q[f + 80 >> 2] = q[f >> 2];
+               q[f + 84 >> 2] = b;
+               Qd(f + 80 | 0, f + 88 | 0);
+               h = q[f + 88 >> 2];
+               p = q[f + 92 >> 2];
+               b = q[f + 12 >> 2];
+               q[f + 80 >> 2] = q[f + 8 >> 2];
+               q[f + 84 >> 2] = b;
+               Qd(f + 80 | 0, f + 88 | 0);
+               i = q[f + 88 >> 2];
+               s = q[f + 92 >> 2];
+               k = 1;
+               break da;
+              case 1:
+               break ea;
+              default:
+               break ga;
+              }
+             }
+             b = q[f + 4 >> 2];
+             q[f + 80 >> 2] = q[f >> 2];
+             q[f + 84 >> 2] = b;
+             Rd(f + 80 | 0, f + 88 | 0);
+             k = v[f + 88 >> 3];
+            }
+            o[a + 417 | 0] = 0;
+            h = 0;
+            p = 0;
+            break ca;
+           }
+           b = q[f + 4 >> 2];
+           q[f + 80 >> 2] = q[f >> 2];
+           q[f + 84 >> 2] = b;
+           Qd(f + 80 | 0, f + 88 | 0);
+           h = q[f + 88 >> 2];
+           p = q[f + 92 >> 2];
+           b = q[f + 12 >> 2];
+           q[f + 80 >> 2] = q[f + 8 >> 2];
+           q[f + 84 >> 2] = b;
+           Qd(f + 80 | 0, f + 88 | 0);
+           i = q[f + 88 >> 2];
+           s = q[f + 92 >> 2];
+           b = q[f + 20 >> 2];
+           q[f + 80 >> 2] = q[f + 16 >> 2];
+           q[f + 84 >> 2] = b;
+           Rd(f + 80 | 0, f + 88 | 0);
+           k = v[f + 88 >> 3];
+          }
+          o[a + 417 | 0] = 0;
+          if (!(i | s)) {
+           break ca;
+          }
+          b = q[a + 208 >> 2];
+          break ba;
+         }
+         if (!jZ(j, 356054, 4)) {
+          q[f + 76 >> 2] = j + 4;
+          if ((g | 0) == 4) {
+           b = q[f + 4 >> 2];
+           q[f + 88 >> 2] = q[f >> 2];
+           q[f + 92 >> 2] = b;
+           Pd(f + 88 | 0, f + 80 | 0);
+           g = q[f + 80 >> 2];
+           b = q[f + 12 >> 2];
+           q[f + 88 >> 2] = q[f + 8 >> 2];
+           q[f + 92 >> 2] = b;
+           Pd(f + 88 | 0, f + 80 | 0);
+           h = q[f + 80 >> 2];
+           b = q[f + 20 >> 2];
+           q[f + 88 >> 2] = q[f + 16 >> 2];
+           q[f + 92 >> 2] = b;
+           Pd(f + 88 | 0, f + 80 | 0);
+           i = q[f + 80 >> 2];
+           b = q[f + 28 >> 2];
+           q[f + 88 >> 2] = q[f + 24 >> 2];
+           q[f + 92 >> 2] = b;
+           Pd(f + 88 | 0, f + 80 | 0);
+           m = q[f + 80 >> 2];
+           o[a + 416 | 0] = 0;
+           b = a;
+           j = b;
+           k = 1 - d;
+           l = d * +(g | 0) + k * +q[b + 400 >> 2];
+           ha : {
+            if (y(l) < 2147483648) {
+             g = ~~l;
+             break ha;
+            }
+            g = -2147483648;
+           }
+           q[j + 400 >> 2] = g;
+           g = a;
+           l = d * +(i | 0) + k * +q[b + 408 >> 2];
+           ia : {
+            if (y(l) < 2147483648) {
+             i = ~~l;
+             break ia;
+            }
+            i = -2147483648;
+           }
+           q[g + 408 >> 2] = i;
+           g = a;
+           l = d * +(h | 0) + k * +q[b + 404 >> 2];
+           ja : {
+            if (y(l) < 2147483648) {
+             b = ~~l;
+             break ja;
+            }
+            b = -2147483648;
+           }
+           q[g + 404 >> 2] = b;
+           k = d * +(m | 0) + k * +q[a + 412 >> 2];
+           if (y(k) < 2147483648) {
+            q[a + 412 >> 2] = ~~k;
+            break n;
+           }
+           q[a + 412 >> 2] = -2147483648;
+           break n;
+          }
+          if (q[a + 472 >> 2]) {
+           break n;
+          }
+          b = g + -1 | 0;
+          if (b >>> 0 > 1) {
+           break n;
+          }
+          h = 1;
+          if ((g | 0) == 2) {
+           g = q[f + 4 >> 2];
+           q[f + 88 >> 2] = q[f >> 2];
+           q[f + 92 >> 2] = g;
+           Pd(f + 88 | 0, f + 80 | 0);
+           h = q[f + 80 >> 2];
+          }
+          b = (b << 3) + f | 0;
+          g = q[b >> 2];
+          b = bZ(g, q[b + 4 >> 2] - g | 0);
+          q[a + 480 >> 2] = 0;
+          q[a + 476 >> 2] = h;
+          q[a + 472 >> 2] = b;
+          break n;
+         }
+         ka : {
+          la : {
+           if ((b | 0) == 99) {
+            b = j + 1 | 0;
+            q[f + 76 >> 2] = b;
+            break la;
+           }
+           if (jZ(j, 356059, 2)) {
+            break ka;
+           }
+           b = j + 2 | 0;
+           q[f + 76 >> 2] = b;
+          }
+          q[f + 88 >> 2] = i;
+          ma : {
+           if ((g | 0) > 7) {
+            break ma;
+           }
+           Od(f + 88 | 0, b);
+           h = q[f + 88 >> 2];
+           if (h >>> 0 <= b >>> 0) {
+            break ma;
+           }
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          if (g) {
+           h = Td(q[f >> 2]);
+           k = 1 - d;
+           g = q[a + 384 >> 2];
+           l = d * +((h >>> 16 & 255) >>> 0) + k * +((g >>> 16 & 255) >>> 0);
+           na : {
+            if (l < 4294967296 & l >= 0) {
+             b = ~~l >>> 0;
+             break na;
+            }
+            b = 0;
+           }
+           m = b << 16;
+           b = a;
+           i = g & 255;
+           l = d * +(h >>> 24 >>> 0) + k * +(g >>> 24 >>> 0);
+           oa : {
+            if (l < 4294967296 & l >= 0) {
+             j = ~~l >>> 0;
+             break oa;
+            }
+            j = 0;
+           }
+           i = i | j << 24 | m;
+           k = d * +((h >>> 8 & 255) >>> 0) + k * +((g >>> 8 & 255) >>> 0);
+           pa : {
+            if (k < 4294967296 & k >= 0) {
+             h = ~~k >>> 0;
+             break pa;
+            }
+            h = 0;
+           }
+           q[b + 384 >> 2] = i | h << 8;
+           break n;
+          }
+          b = q[q[a + 212 >> 2] + 16 >> 2];
+          q[a + 384 >> 2] = r[a + 384 | 0] | b & -16777216 | b & 16711680 | b & 65280;
+          break n;
+         }
+         if (!jZ(j, 356062, 2)) {
+          b = j + 2 | 0;
+          q[f + 76 >> 2] = b;
+          q[f + 88 >> 2] = i;
+          qa : {
+           if ((g | 0) < 8) {
+            Od(f + 88 | 0, b);
+            h = q[f + 88 >> 2];
+            if (h >>> 0 > b >>> 0) {
+             i = (g << 3) + f | 0;
+             q[i + 4 >> 2] = h;
+             q[i >> 2] = b;
+             g = g + 1 | 0;
+            }
+            if (!g) {
+             break qa;
+            }
+           }
+           h = Td(q[f >> 2]);
+           k = 1 - d;
+           g = q[a + 388 >> 2];
+           l = d * +((h >>> 16 & 255) >>> 0) + k * +((g >>> 16 & 255) >>> 0);
+           ra : {
+            if (l < 4294967296 & l >= 0) {
+             b = ~~l >>> 0;
+             break ra;
+            }
+            b = 0;
+           }
+           m = b << 16;
+           b = a;
+           i = g & 255;
+           l = d * +(h >>> 24 >>> 0) + k * +(g >>> 24 >>> 0);
+           sa : {
+            if (l < 4294967296 & l >= 0) {
+             j = ~~l >>> 0;
+             break sa;
+            }
+            j = 0;
+           }
+           i = i | j << 24 | m;
+           k = d * +((h >>> 8 & 255) >>> 0) + k * +((g >>> 8 & 255) >>> 0);
+           ta : {
+            if (k < 4294967296 & k >= 0) {
+             h = ~~k >>> 0;
+             break ta;
+            }
+            h = 0;
+           }
+           q[b + 388 >> 2] = i | h << 8;
+           break n;
+          }
+          b = q[q[a + 212 >> 2] + 20 >> 2];
+          q[a + 388 >> 2] = r[a + 388 | 0] | b & -16777216 | b & 16711680 | b & 65280;
+          break n;
+         }
+         if (!jZ(j, 356065, 2)) {
+          b = j + 2 | 0;
+          q[f + 76 >> 2] = b;
+          q[f + 88 >> 2] = i;
+          ua : {
+           if ((g | 0) < 8) {
+            Od(f + 88 | 0, b);
+            h = q[f + 88 >> 2];
+            if (h >>> 0 > b >>> 0) {
+             i = (g << 3) + f | 0;
+             q[i + 4 >> 2] = h;
+             q[i >> 2] = b;
+             g = g + 1 | 0;
+            }
+            if (!g) {
+             break ua;
+            }
+           }
+           h = Td(q[f >> 2]);
+           k = 1 - d;
+           g = q[a + 392 >> 2];
+           l = d * +((h >>> 16 & 255) >>> 0) + k * +((g >>> 16 & 255) >>> 0);
+           va : {
+            if (l < 4294967296 & l >= 0) {
+             b = ~~l >>> 0;
+             break va;
+            }
+            b = 0;
+           }
+           m = b << 16;
+           b = a;
+           i = g & 255;
+           l = d * +(h >>> 24 >>> 0) + k * +(g >>> 24 >>> 0);
+           wa : {
+            if (l < 4294967296 & l >= 0) {
+             j = ~~l >>> 0;
+             break wa;
+            }
+            j = 0;
+           }
+           i = i | j << 24 | m;
+           k = d * +((h >>> 8 & 255) >>> 0) + k * +((g >>> 8 & 255) >>> 0);
+           xa : {
+            if (k < 4294967296 & k >= 0) {
+             h = ~~k >>> 0;
+             break xa;
+            }
+            h = 0;
+           }
+           q[b + 392 >> 2] = i | h << 8;
+           break n;
+          }
+          b = q[q[a + 212 >> 2] + 24 >> 2];
+          q[a + 392 >> 2] = r[a + 392 | 0] | b & -16777216 | b & 16711680 | b & 65280;
+          break n;
+         }
+         if (!jZ(j, 356068, 2)) {
+          b = j + 2 | 0;
+          q[f + 76 >> 2] = b;
+          q[f + 88 >> 2] = i;
+          ya : {
+           if ((g | 0) < 8) {
+            Od(f + 88 | 0, b);
+            h = q[f + 88 >> 2];
+            if (h >>> 0 > b >>> 0) {
+             i = (g << 3) + f | 0;
+             q[i + 4 >> 2] = h;
+             q[i >> 2] = b;
+             g = g + 1 | 0;
+            }
+            if (!g) {
+             break ya;
+            }
+           }
+           h = Td(q[f >> 2]);
+           k = 1 - d;
+           g = q[a + 396 >> 2];
+           l = d * +((h >>> 16 & 255) >>> 0) + k * +((g >>> 16 & 255) >>> 0);
+           za : {
+            if (l < 4294967296 & l >= 0) {
+             b = ~~l >>> 0;
+             break za;
+            }
+            b = 0;
+           }
+           m = b << 16;
+           b = a;
+           i = g & 255;
+           l = d * +(h >>> 24 >>> 0) + k * +(g >>> 24 >>> 0);
+           Aa : {
+            if (l < 4294967296 & l >= 0) {
+             j = ~~l >>> 0;
+             break Aa;
+            }
+            j = 0;
+           }
+           i = i | j << 24 | m;
+           k = d * +((h >>> 8 & 255) >>> 0) + k * +((g >>> 8 & 255) >>> 0);
+           Ba : {
+            if (k < 4294967296 & k >= 0) {
+             h = ~~k >>> 0;
+             break Ba;
+            }
+            h = 0;
+           }
+           q[b + 396 >> 2] = i | h << 8;
+           break n;
+          }
+          b = q[q[a + 212 >> 2] + 28 >> 2];
+          q[a + 396 >> 2] = r[a + 396 | 0] | b & -16777216 | b & 16711680 | b & 65280;
+          break n;
+         }
+         if (!jZ(j, 356071, 2)) {
+          b = j + 2 | 0;
+          q[f + 76 >> 2] = b;
+          q[f + 88 >> 2] = i;
+          Ca : {
+           if ((g | 0) < 8) {
+            Od(f + 88 | 0, b);
+            h = q[f + 88 >> 2];
+            if (h >>> 0 > b >>> 0) {
+             i = (g << 3) + f | 0;
+             q[i + 4 >> 2] = h;
+             q[i >> 2] = b;
+             g = g + 1 | 0;
+            }
+            if (!g) {
+             break Ca;
+            }
+           }
+           k = d * +(Sd(q[f >> 2]) | 0) + (1 - d) * +r[a + 384 | 0];
+           if (k < 4294967296 & k >= 0) {
+            o[a + 384 | 0] = ~~k >>> 0;
+            break n;
+           }
+           o[a + 384 | 0] = 0;
+           break n;
+          }
+          o[a + 384 | 0] = q[q[a + 212 >> 2] + 16 >> 2];
+          break n;
+         }
+         if (!jZ(j, 356074, 2)) {
+          b = j + 2 | 0;
+          q[f + 76 >> 2] = b;
+          q[f + 88 >> 2] = i;
+          Da : {
+           if ((g | 0) < 8) {
+            Od(f + 88 | 0, b);
+            h = q[f + 88 >> 2];
+            if (h >>> 0 > b >>> 0) {
+             i = (g << 3) + f | 0;
+             q[i + 4 >> 2] = h;
+             q[i >> 2] = b;
+             g = g + 1 | 0;
+            }
+            if (!g) {
+             break Da;
+            }
+           }
+           k = d * +(Sd(q[f >> 2]) | 0) + (1 - d) * +r[a + 388 | 0];
+           if (k < 4294967296 & k >= 0) {
+            o[a + 388 | 0] = ~~k >>> 0;
+            break n;
+           }
+           o[a + 388 | 0] = 0;
+           break n;
+          }
+          o[a + 388 | 0] = q[q[a + 212 >> 2] + 20 >> 2];
+          break n;
+         }
+         if (!jZ(j, 356077, 2)) {
+          b = j + 2 | 0;
+          q[f + 76 >> 2] = b;
+          q[f + 88 >> 2] = i;
+          Ea : {
+           if ((g | 0) < 8) {
+            Od(f + 88 | 0, b);
+            h = q[f + 88 >> 2];
+            if (h >>> 0 > b >>> 0) {
+             i = (g << 3) + f | 0;
+             q[i + 4 >> 2] = h;
+             q[i >> 2] = b;
+             g = g + 1 | 0;
+            }
+            if (!g) {
+             break Ea;
+            }
+           }
+           k = d * +(Sd(q[f >> 2]) | 0) + (1 - d) * +r[a + 392 | 0];
+           if (k < 4294967296 & k >= 0) {
+            o[a + 392 | 0] = ~~k >>> 0;
+            break n;
+           }
+           o[a + 392 | 0] = 0;
+           break n;
+          }
+          o[a + 392 | 0] = q[q[a + 212 >> 2] + 24 >> 2];
+          break n;
+         }
+         if (!jZ(j, 356080, 2)) {
+          b = j + 2 | 0;
+          q[f + 76 >> 2] = b;
+          q[f + 88 >> 2] = i;
+          Fa : {
+           if ((g | 0) < 8) {
+            Od(f + 88 | 0, b);
+            h = q[f + 88 >> 2];
+            if (h >>> 0 > b >>> 0) {
+             i = (g << 3) + f | 0;
+             q[i + 4 >> 2] = h;
+             q[i >> 2] = b;
+             g = g + 1 | 0;
+            }
+            if (!g) {
+             break Fa;
+            }
+           }
+           k = d * +(Sd(q[f >> 2]) | 0) + (1 - d) * +r[a + 396 | 0];
+           if (k < 4294967296 & k >= 0) {
+            o[a + 396 | 0] = ~~k >>> 0;
+            break n;
+           }
+           o[a + 396 | 0] = 0;
+           break n;
+          }
+          o[a + 396 | 0] = q[q[a + 212 >> 2] + 28 >> 2];
+          break n;
+         }
+         if ((b | 0) == 114) {
+          b = j + 1 | 0;
+          q[f + 76 >> 2] = b;
+          q[f + 88 >> 2] = i;
+          Ga : {
+           if ((g | 0) < 8) {
+            Od(f + 88 | 0, b);
+            h = q[f + 88 >> 2];
+            if (h >>> 0 > b >>> 0) {
+             i = (g << 3) + f | 0;
+             q[i + 4 >> 2] = h;
+             q[i >> 2] = b;
+             g = g + 1 | 0;
+            }
+            if (!g) {
+             break Ga;
+            }
+           }
+           b = q[f >> 2];
+           BM(a, ae(q[a + 160 >> 2], b, q[f + 4 >> 2] - b | 0));
+           break n;
+          }
+          BM(a, 0);
+          break n;
+         }
+         if (!jZ(j, 356083, 2)) {
+          b = j + 2 | 0;
+          q[f + 76 >> 2] = b;
+          q[f + 88 >> 2] = i;
+          Ha : {
+           if ((g | 0) < 8) {
+            Od(f + 88 | 0, b);
+            h = q[f + 88 >> 2];
+            if (h >>> 0 > b >>> 0) {
+             i = (g << 3) + f | 0;
+             q[i + 4 >> 2] = h;
+             q[i >> 2] = b;
+             g = g + 1 | 0;
+            }
+            if (!g) {
+             break Ha;
+            }
+           }
+           b = q[f + 4 >> 2];
+           q[f + 80 >> 2] = q[f >> 2];
+           q[f + 84 >> 2] = b;
+           Rd(f + 80 | 0, f + 88 | 0);
+           b = a;
+           h = b;
+           k = d * v[f + 88 >> 3] + (1 - d) * +o[b + 424 | 0] + .5;
+           Ia : {
+            if (y(k) < 2147483648) {
+             g = ~~k;
+             break Ia;
+            }
+            g = -2147483648;
+           }
+           b = (g | 0) > 0 ? g : 0;
+           o[h + 424 | 0] = (b | 0) < 127 ? b : 127;
+           break n;
+          }
+          o[a + 424 | 0] = 0;
+          break n;
+         }
+         Ja : {
+          h = b + -98 | 0;
+          if (h >>> 0 > 7) {
+           break Ja;
+          }
+          Ka : {
+           switch (h - 1 | 0) {
+           default:
+            b = j + 1 | 0;
+            q[f + 76 >> 2] = b;
+            q[f + 88 >> 2] = i;
+            La : {
+             if ((g | 0) > 7) {
+              break La;
+             }
+             Od(f + 88 | 0, b);
+             h = q[f + 88 >> 2];
+             if (h >>> 0 <= b >>> 0) {
+              break La;
+             }
+             i = (g << 3) + f | 0;
+             q[i + 4 >> 2] = h;
+             q[i >> 2] = b;
+             g = g + 1 | 0;
+            }
+            b = q[f + 4 >> 2];
+            q[f + 88 >> 2] = q[f >> 2];
+            q[f + 92 >> 2] = b;
+            Pd(f + 88 | 0, f + 80 | 0);
+            Ma : {
+             if (g) {
+              b = q[f + 80 >> 2];
+              if (b >>> 0 < 2 | (b | 0) > 99) {
+               break Ma;
+              }
+             }
+             b = q[q[a + 212 >> 2] + 32 >> 2];
+            }
+            q[a + 508 >> 2] = b;
+            YM(a);
+            break n;
+           case 0:
+           case 1:
+           case 2:
+           case 3:
+           case 4:
+           case 5:
+            break Ja;
+           case 6:
+            break Ka;
+           }
+          }
+          b = j + 1 | 0;
+          q[f + 76 >> 2] = b;
+          q[f + 88 >> 2] = i;
+          Na : {
+           if ((g | 0) > 7) {
+            break Na;
+           }
+           Od(f + 88 | 0, b);
+           h = q[f + 88 >> 2];
+           if (h >>> 0 <= b >>> 0) {
+            break Na;
+           }
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          b = q[f + 4 >> 2];
+          q[f + 88 >> 2] = q[f >> 2];
+          q[f + 92 >> 2] = b;
+          Pd(f + 88 | 0, f + 80 | 0);
+          Oa : {
+           if (g) {
+            b = q[f + 80 >> 2];
+            if (b >>> 0 < 2) {
+             break Oa;
+            }
+           }
+           b = q[q[a + 212 >> 2] + 36 >> 2];
+          }
+          q[a + 512 >> 2] = b;
+          YM(a);
+          break n;
+         }
+         Pa : {
+          Qa : {
+           if (!jZ(j, 356086, 2)) {
+            b = j + 2 | 0;
+            q[f + 76 >> 2] = b;
+            break Qa;
+           }
+           if ((b | 0) != 75) {
+            break Pa;
+           }
+           b = j + 1 | 0;
+           q[f + 76 >> 2] = b;
+          }
+          q[f + 88 >> 2] = i;
+          Ra : {
+           if ((g | 0) > 7) {
+            break Ra;
+           }
+           Od(f + 88 | 0, b);
+           h = q[f + 88 >> 2];
+           if (h >>> 0 <= b >>> 0) {
+            break Ra;
+           }
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          if (g) {
+           b = q[f + 4 >> 2];
+           q[f + 80 >> 2] = q[f >> 2];
+           q[f + 84 >> 2] = b;
+           Rd(f + 80 | 0, f + 88 | 0);
+           k = v[f + 88 >> 3];
+          } else {
+           k = 100;
+          }
+          q[a + 484 >> 2] = 2;
+          b = q[a + 488 >> 2];
+          if (b) {
+           q[a + 492 >> 2] = b + q[a + 492 >> 2];
+          }
+          k = k * 10;
+          if (y(k) < 2147483648) {
+           q[a + 488 >> 2] = ~~k;
+           break n;
+          }
+          q[a + 488 >> 2] = -2147483648;
+          break n;
+         }
+         if (!jZ(j, 356089, 2)) {
+          b = j + 2 | 0;
+          q[f + 76 >> 2] = b;
+          q[f + 88 >> 2] = i;
+          Sa : {
+           Ta : {
+            if ((g | 0) >= 8) {
+             break Ta;
+            }
+            Od(f + 88 | 0, b);
+            h = q[f + 88 >> 2];
+            if (h >>> 0 > b >>> 0) {
+             i = (g << 3) + f | 0;
+             q[i + 4 >> 2] = h;
+             q[i >> 2] = b;
+             g = g + 1 | 0;
+            }
+            if (g) {
+             break Ta;
+            }
+            k = 100;
+            break Sa;
+           }
+           b = q[f + 4 >> 2];
+           q[f + 80 >> 2] = q[f >> 2];
+           q[f + 84 >> 2] = b;
+           Rd(f + 80 | 0, f + 88 | 0);
+           k = v[f + 88 >> 3];
+          }
+          q[a + 484 >> 2] = 3;
+          b = q[a + 488 >> 2];
+          if (b) {
+           q[a + 492 >> 2] = b + q[a + 492 >> 2];
+          }
+          k = k * 10;
+          if (y(k) < 2147483648) {
+           q[a + 488 >> 2] = ~~k;
+           break n;
+          }
+          q[a + 488 >> 2] = -2147483648;
+          break n;
+         }
+         if ((b | 0) == 107) {
+          b = j + 1 | 0;
+          q[f + 76 >> 2] = b;
+          q[f + 88 >> 2] = i;
+          Ua : {
+           Va : {
+            if ((g | 0) >= 8) {
+             break Va;
+            }
+            Od(f + 88 | 0, b);
+            h = q[f + 88 >> 2];
+            if (h >>> 0 > b >>> 0) {
+             i = (g << 3) + f | 0;
+             q[i + 4 >> 2] = h;
+             q[i >> 2] = b;
+             g = g + 1 | 0;
+            }
+            if (g) {
+             break Va;
+            }
+            k = 100;
+            break Ua;
+           }
+           b = q[f + 4 >> 2];
+           q[f + 80 >> 2] = q[f >> 2];
+           q[f + 84 >> 2] = b;
+           Rd(f + 80 | 0, f + 88 | 0);
+           k = v[f + 88 >> 3];
+          }
+          q[a + 484 >> 2] = 1;
+          b = q[a + 488 >> 2];
+          if (b) {
+           q[a + 492 >> 2] = b + q[a + 492 >> 2];
+          }
+          k = k * 10;
+          if (y(k) < 2147483648) {
+           q[a + 488 >> 2] = ~~k;
+           break n;
+          }
+          q[a + 488 >> 2] = -2147483648;
+          break n;
+         }
+         if (!jZ(j, 356092, 4)) {
+          b = j + 4 | 0;
+          q[f + 76 >> 2] = b;
+          q[f + 88 >> 2] = i;
+          Wa : {
+           Xa : {
+            if ((g | 0) < 8) {
+             Od(f + 88 | 0, b);
+             h = q[f + 88 >> 2];
+             if (h >>> 0 > b >>> 0) {
+              i = (g << 3) + f | 0;
+              q[i + 4 >> 2] = h;
+              q[i >> 2] = b;
+              g = g + 1 | 0;
+             }
+             if (!g) {
+              break Xa;
+             }
+            }
+            b = q[f + 4 >> 2];
+            q[f + 80 >> 2] = q[f >> 2];
+            q[f + 84 >> 2] = b;
+            Rd(f + 80 | 0, f + 88 | 0);
+            k = d * v[f + 88 >> 3];
+            t = 1 - d;
+            l = B(k + t * v[a + 448 >> 3], 0);
+            k = B(k + t * v[a + 440 >> 3], 0);
+            break Wa;
+           }
+           k = v[q[a + 212 >> 2] + 96 >> 3];
+           l = k;
+          }
+          v[a + 448 >> 3] = l;
+          v[a + 440 >> 3] = k;
+          break n;
+         }
+         Ya : {
+          h = b + -115 | 0;
+          if (h >>> 0 > 2) {
+           break Ya;
+          }
+          Za : {
+           switch (h - 1 | 0) {
+           default:
+            b = j + 1 | 0;
+            q[f + 76 >> 2] = b;
+            q[f + 88 >> 2] = i;
+            _a : {
+             if ((g | 0) > 7) {
+              break _a;
+             }
+             Od(f + 88 | 0, b);
+             h = q[f + 88 >> 2];
+             if (h >>> 0 <= b >>> 0) {
+              break _a;
+             }
+             i = (g << 3) + f | 0;
+             q[i + 4 >> 2] = h;
+             q[i >> 2] = b;
+             g = g + 1 | 0;
+            }
+            b = q[f + 4 >> 2];
+            q[f + 88 >> 2] = q[f >> 2];
+            q[f + 92 >> 2] = b;
+            Pd(f + 88 | 0, f + 80 | 0);
+            $a : {
+             if (g) {
+              b = q[f + 80 >> 2];
+              if (b >>> 0 < 2) {
+               break $a;
+              }
+             }
+             b = q[q[a + 212 >> 2] + 44 >> 2];
+            }
+            g = q[a + 232 >> 2];
+            q[a + 232 >> 2] = b ? g | 2 : g & -3;
+            break n;
+           case 0:
+            break Ya;
+           case 1:
+            break Za;
+           }
+          }
+          b = j + 1 | 0;
+          q[f + 76 >> 2] = b;
+          q[f + 88 >> 2] = i;
+          ab : {
+           if ((g | 0) > 7) {
+            break ab;
+           }
+           Od(f + 88 | 0, b);
+           h = q[f + 88 >> 2];
+           if (h >>> 0 <= b >>> 0) {
+            break ab;
+           }
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          b = q[f + 4 >> 2];
+          q[f + 88 >> 2] = q[f >> 2];
+          q[f + 92 >> 2] = b;
+          Pd(f + 88 | 0, f + 80 | 0);
+          bb : {
+           if (g) {
+            b = q[f + 80 >> 2];
+            if (b >>> 0 < 2) {
+             break bb;
+            }
+           }
+           b = q[q[a + 212 >> 2] + 40 >> 2];
+          }
+          g = q[a + 232 >> 2];
+          q[a + 232 >> 2] = b ? g | 1 : g & -2;
+          break n;
+         }
+         if (!jZ(j, 356097, 3)) {
+          b = j + 3 | 0;
+          q[f + 76 >> 2] = b;
+          q[f + 88 >> 2] = i;
+          cb : {
+           if ((g | 0) > 7) {
+            break cb;
+           }
+           Od(f + 88 | 0, b);
+           h = q[f + 88 >> 2];
+           if (h >>> 0 <= b >>> 0) {
+            break cb;
+           }
+           g = (g << 3) + f | 0;
+           q[g + 4 >> 2] = h;
+           q[g >> 2] = b;
+          }
+          b = q[f + 4 >> 2];
+          q[f + 80 >> 2] = q[f >> 2];
+          q[f + 84 >> 2] = b;
+          Rd(f + 80 | 0, f + 88 | 0);
+          b = q[f + 92 >> 2];
+          q[a + 464 >> 2] = q[f + 88 >> 2];
+          q[a + 468 >> 2] = b;
+          break n;
+         }
+         b = b + -112 | 0;
+         if (b >>> 0 <= 1) {
+          if (b - 1) {
+           b = j + 1 | 0;
+           q[f + 76 >> 2] = b;
+           q[f + 88 >> 2] = i;
+           db : {
+            if ((g | 0) > 7) {
+             break db;
+            }
+            Od(f + 88 | 0, b);
+            h = q[f + 88 >> 2];
+            if (h >>> 0 <= b >>> 0) {
+             break db;
+            }
+            g = (g << 3) + f | 0;
+            q[g + 4 >> 2] = h;
+            q[g >> 2] = b;
+           }
+           b = q[f + 4 >> 2];
+           q[f + 88 >> 2] = q[f >> 2];
+           q[f + 92 >> 2] = b;
+           Pd(f + 88 | 0, f + 80 | 0);
+           b = q[f + 80 >> 2];
+           q[a + 456 >> 2] = (b | 0) > 0 ? b : 0;
+           break n;
+          }
+          b = j + 1 | 0;
+          q[f + 76 >> 2] = b;
+          q[f + 88 >> 2] = i;
+          eb : {
+           if ((g | 0) > 7) {
+            break eb;
+           }
+           Od(f + 88 | 0, b);
+           h = q[f + 88 >> 2];
+           if (h >>> 0 <= b >>> 0) {
+            break eb;
+           }
+           i = (g << 3) + f | 0;
+           q[i + 4 >> 2] = h;
+           q[i >> 2] = b;
+           g = g + 1 | 0;
+          }
+          b = q[f + 4 >> 2];
+          q[f + 88 >> 2] = q[f >> 2];
+          q[f + 92 >> 2] = b;
+          Pd(f + 88 | 0, f + 80 | 0);
+          fb : {
+           if (g) {
+            b = q[f + 80 >> 2];
+            if (b >>> 0 < 4) {
+             break fb;
+            }
+           }
+           b = q[q[a + 160 >> 2] + 56 >> 2];
+          }
+          q[a + 520 >> 2] = b;
+          break n;
+         }
+         if (jZ(j, 356101, 2)) {
+          break n;
+         }
+         h = j + 2 | 0;
+         q[f + 76 >> 2] = h;
+         q[f + 88 >> 2] = i;
+         b = a;
+         gb : {
+          hb : {
+           if ((g | 0) < 8) {
+            Od(f + 88 | 0, h);
+            i = q[f + 88 >> 2];
+            if (i >>> 0 > h >>> 0) {
+             m = (g << 3) + f | 0;
+             q[m + 4 >> 2] = i;
+             q[m >> 2] = h;
+             g = g + 1 | 0;
+            }
+            if (!g) {
+             break hb;
+            }
+           }
+           g = q[f + 4 >> 2];
+           q[f + 88 >> 2] = q[f >> 2];
+           q[f + 92 >> 2] = g;
+           Pd(f + 88 | 0, f + 80 | 0);
+           h = q[f + 80 >> 2];
+           break gb;
+          }
+          h = q[q[a + 212 >> 2] + 120 >> 2];
+         }
+         q[b + 524 >> 2] = h;
+         break n;
+        }
+        b = q[a + 208 >> 2];
+        i = q[b + 8 >> 2];
+        s = q[b + 12 >> 2];
+       }
+       j = q[a + 168 >> 2];
+       n = q[b >> 2];
+       m = j - n | 0;
+       n = q[a + 172 >> 2] - (q[b + 4 >> 2] + (j >>> 0 < n >>> 0) | 0) | 0;
+       b = n;
+       l = 0;
+       ib : {
+        if ((b | 0) < (p | 0) ? 1 : (b | 0) <= (p | 0) ? m >>> 0 >= h >>> 0 ? 0 : 1 : 0) {
+         break ib;
+        }
+        l = 1;
+        if ((n | 0) > (s | 0) ? 1 : (n | 0) >= (s | 0) ? m >>> 0 < i >>> 0 ? 0 : 1 : 0) {
+         break ib;
+        }
+        b = s - ((i >>> 0 < h >>> 0) + p | 0) | 0;
+        j = i - h | 0;
+        i = b;
+        if (!(b | j)) {
+         break b;
+        }
+        l = J$((+(m - h >>> 0) + 4294967296 * +(n - ((m >>> 0 < h >>> 0) + p | 0) | 0)) / (+(j >>> 0) + 4294967296 * +(i | 0)), k);
+       }
+       k = l;
+       d = e & 1 ? k : d;
+       b = g + -1 | 0;
+       if (b >>> 0 > 3) {
+        break n;
+       }
+       g = (b << 3) + f | 0;
+       b = q[g >> 2];
+       q[f + 76 >> 2] = b;
+       g = q[g + 4 >> 2];
+       if (g >>> 0 < c >>> 0) {
+        I = f, K = $M(a, b, g, k, 1), q[I + 76 >> 2] = K;
+        break n;
+       }
+       if (q[f + 72 >> 2] != (c | 0)) {
+        break a;
+       }
+       q[f + 72 >> 2] = b;
+       e = 1;
+       d = k;
+      }
+      b = q[f + 72 >> 2];
+     }
+     q[f + 76 >> 2] = b;
+     if (b >>> 0 < c >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   Ca = f + 96 | 0;
+   return b;
+  }
+  J(356008, 356022, 628, 356034);
+  F();
+ }
+ J(356045, 356022, 639, 356034);
+ F();
+}
+function ry(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, u = 0, v = 0;
+ l = Ca - 32 | 0;
+ Ca = l;
+ a : {
+  if (!b) {
+   k = 1;
+   if (!q[e >> 2] | (!e | !f)) {
+    break a;
+   }
+   q[e >> 2] = 0;
+   break a;
+  }
+  i = b;
+  j = i + 1 | 0;
+  n = r[i + 1 | 0];
+  h = r[i | 0];
+  b : {
+   if ((h | 0) == 120) {
+    m = i;
+    g = 0;
+    if ((n | 0) == 45) {
+     break b;
+    }
+   }
+   m = 0;
+   c : {
+    if (!n) {
+     b = j;
+     break c;
+    }
+    g = j;
+    k = i;
+    while (1) {
+     b = g;
+     d : {
+      if ((h & 255) != 45 | r[k + 2 | 0] != 45) {
+       break d;
+      }
+      p = p ? p : k;
+      if ((n | 0) != 120) {
+       break d;
+      }
+      m = b;
+      break c;
+     }
+     g = b + 1 | 0;
+     n = r[b + 1 | 0];
+     if (n) {
+      h = r[b | 0];
+      k = b;
+      continue;
+     } else {
+      b = g;
+     }
+     break;
+    }
+   }
+   g = p ? p : b;
+  }
+  h = 0;
+  b = 0;
+  e : {
+   if (!d) {
+    break e;
+   }
+   b = 0;
+   if (!c) {
+    break e;
+   }
+   b = 0;
+   if (!m) {
+    break e;
+   }
+   b = 0;
+   if (!q[c >> 2]) {
+    break e;
+   }
+   k = UY(m, 228904);
+   b = 0;
+   if (!k) {
+    break e;
+   }
+   n = r[k + 5 | 0];
+   if ((n + -48 & 255) >>> 0 >= 10) {
+    b = 0;
+    if (((n & -33) + -65 & 255) >>> 0 > 25) {
+     break e;
+    }
+   }
+   p = (n + -65 & 255) >>> 0 < 26 ? n + 32 | 0 : n;
+   o[l + 8 | 0] = p;
+   f : {
+    g : {
+     b = r[k + 6 | 0];
+     if ((b + -48 & 255) >>> 0 >= 10) {
+      n = 1;
+      if (((b & -33) + -65 & 255) >>> 0 >= 26) {
+       break g;
+      }
+     }
+     b = (b + -65 & 255) >>> 0 < 26 ? b + 32 | 0 : b;
+     o[l + 9 | 0] = b;
+     s = r[k + 7 | 0];
+     if ((s + -48 & 255) >>> 0 >= 10) {
+      n = 2;
+      if (((s & -33) + -65 & 255) >>> 0 > 25) {
+       break g;
+      }
+     }
+     s = (s + -65 & 255) >>> 0 < 26 ? s + 32 | 0 : s;
+     o[l + 10 | 0] = s;
+     k = r[k + 8 | 0];
+     if ((k + -48 & 255) >>> 0 >= 10) {
+      n = 3;
+      if (((k & -33) + -65 & 255) >>> 0 >= 26) {
+       break g;
+      }
+     }
+     k = (k + -65 & 255) >>> 0 < 26 ? k + 32 | 0 : k;
+     o[l + 11 | 0] = k;
+     break f;
+    }
+    Z$((l + 8 | 0) + n | 0, 32, 4 - n | 0);
+    k = r[l + 11 | 0];
+    s = r[l + 10 | 0];
+    b = r[l + 9 | 0];
+    p = r[l + 8 | 0];
+   }
+   b = k & 255 | (s & 255) << 8 | (b & 255) << 16 | p << 24;
+   q[d >> 2] = (b & -538976289) == 1145457748 ? b ^ 538976288 : b;
+   q[c >> 2] = 1;
+   b = 1;
+  }
+  h : {
+   if (!f | !e | (!m | !q[e >> 2])) {
+    break h;
+   }
+   k = UY(m, 228910);
+   if (!k) {
+    break h;
+   }
+   m = r[k + 5 | 0];
+   if (((m & -33) + -65 & 255) >>> 0 > 25 ? (m + -48 & 255) >>> 0 >= 10 : 0) {
+    break h;
+   }
+   p = (m + -97 & 255) >>> 0 < 26 ? m + -32 | 0 : m;
+   o[l + 8 | 0] = p;
+   i : {
+    j : {
+     h = r[k + 6 | 0];
+     if ((h + -48 & 255) >>> 0 >= 10) {
+      n = 1;
+      if (((h & -33) + -65 & 255) >>> 0 >= 26) {
+       break j;
+      }
+     }
+     h = (h + -97 & 255) >>> 0 < 26 ? h + -32 | 0 : h;
+     o[l + 9 | 0] = h;
+     m = r[k + 7 | 0];
+     if ((m + -48 & 255) >>> 0 >= 10) {
+      n = 2;
+      if (((m & -33) + -65 & 255) >>> 0 > 25) {
+       break j;
+      }
+     }
+     m = (m + -97 & 255) >>> 0 < 26 ? m + -32 | 0 : m;
+     o[l + 10 | 0] = m;
+     k = r[k + 8 | 0];
+     if ((k + -48 & 255) >>> 0 >= 10) {
+      n = 3;
+      if (((k & -33) + -65 & 255) >>> 0 >= 26) {
+       break j;
+      }
+     }
+     k = (k + -97 & 255) >>> 0 < 26 ? k + -32 | 0 : k;
+     o[l + 11 | 0] = k;
+     break i;
+    }
+    Z$((l + 8 | 0) + n | 0, 32, 4 - n | 0);
+    k = r[l + 11 | 0];
+    m = r[l + 10 | 0];
+    h = r[l + 9 | 0];
+    p = r[l + 8 | 0];
+   }
+   h = k & 255 | (m & 255) << 8 | (h & 255) << 16 | p << 24;
+   q[f >> 2] = (h & -538976289) == 1145457748 ? h ^ 538976288 : h;
+   h = 1;
+   q[e >> 2] = 1;
+  }
+  k = b ^ 1;
+  if (!f | !e | (!q[e >> 2] | h)) {
+   break a;
+  }
+  b = g;
+  q[l + 24 >> 2] = i;
+  h = i;
+  k : {
+   l : {
+    m : {
+     while (1) {
+      g = UY(h, 235488);
+      if (!g | g >>> 0 >= b >>> 0) {
+       break m;
+      }
+      h = g + 8 | 0;
+      g = r[g + 8 | 0];
+      if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+       continue;
+      }
+      break;
+     }
+     q[f >> 2] = 1095782472;
+     break l;
+    }
+    h = i;
+    n : {
+     while (1) {
+      g = UY(h, 235497);
+      if (!g | g >>> 0 >= b >>> 0) {
+       break n;
+      }
+      h = g + 8 | 0;
+      g = r[g + 8 | 0];
+      if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+       continue;
+      }
+      break;
+     }
+     q[f >> 2] = 1346851360;
+     break l;
+    }
+    h = i;
+    o : {
+     while (1) {
+      g = UY(h, 235506);
+      if (!g | g >>> 0 >= b >>> 0) {
+       break o;
+      }
+      h = g + 8 | 0;
+      g = r[g + 8 | 0];
+      if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+       continue;
+      }
+      break;
+     }
+     q[f >> 2] = 1347571488;
+     break l;
+    }
+    h = i;
+    p : {
+     while (1) {
+      g = UY(h, 235515);
+      if (!g | g >>> 0 >= b >>> 0) {
+       break p;
+      }
+      h = g + 7 | 0;
+      g = r[g + 7 | 0];
+      if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+       continue;
+      }
+      break;
+     }
+     q[f >> 2] = 1230000200;
+     break l;
+    }
+    h = i;
+    q : {
+     while (1) {
+      g = UY(h, 235523);
+      if (!g | g >>> 0 >= b >>> 0) {
+       break q;
+      }
+      h = g + 5 | 0;
+      g = r[g + 5 | 0];
+      if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+       continue;
+      }
+      break;
+     }
+     q[f >> 2] = 1262961952;
+     break l;
+    }
+    h = i;
+    r : {
+     while (1) {
+      g = UY(h, 235529);
+      if (!g | g >>> 0 >= b >>> 0) {
+       break r;
+      }
+      h = g + 5 | 0;
+      g = r[g + 5 | 0];
+      if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+       continue;
+      }
+      break;
+     }
+     q[f >> 2] = 1398362693;
+     break l;
+    }
+    h = i;
+    s : {
+     while (1) {
+      g = UY(h, 235535);
+      if (!g | g >>> 0 >= b >>> 0) {
+       break s;
+      }
+      h = g + 5 | 0;
+      g = r[g + 5 | 0];
+      if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+       continue;
+      }
+      break;
+     }
+     q[f >> 2] = 1398362698;
+     break l;
+    }
+    h = i;
+    t : {
+     while (1) {
+      g = UY(h, 235541);
+      if (!g | g >>> 0 >= b >>> 0) {
+       break t;
+      }
+      h = g + 5 | 0;
+      g = r[g + 5 | 0];
+      if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+       continue;
+      }
+      break;
+     }
+     q[f >> 2] = 1398362702;
+     break l;
+    }
+    u : {
+     h = o[i | 0] + -97 | 0;
+     if (h >>> 0 > 25) {
+      break u;
+     }
+     v : {
+      w : {
+       x : {
+        y : {
+         z : {
+          A : {
+           B : {
+            C : {
+             D : {
+              E : {
+               switch (h - 1 | 0) {
+               default:
+                if (iZ(j, 235547)) {
+                 break u;
+                }
+                q[f >> 2] = 1245859616;
+                break l;
+               case 1:
+                F : {
+                 if (jZ(j, 235557, 10)) {
+                  break F;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break F;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                G : {
+                 if (jZ(j, 235568, 10)) {
+                  break G;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break G;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                H : {
+                 if (jZ(j, 235579, 10)) {
+                  break H;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break H;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                I : {
+                 if (jZ(j, 235590, 10)) {
+                  break I;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break I;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                J : {
+                 if (jZ(j, 235601, 10)) {
+                  break J;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break J;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                K : {
+                 if (jZ(j, 235612, 10)) {
+                  break K;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break K;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                L : {
+                 if (jZ(j, 235623, 10)) {
+                  break L;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break L;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                M : {
+                 if (jZ(j, 235634, 10)) {
+                  break M;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break M;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                N : {
+                 if (jZ(j, 235645, 10)) {
+                  break N;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break N;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                O : {
+                 if (jZ(j, 235656, 10)) {
+                  break O;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break O;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                P : {
+                 if (jZ(j, 235667, 10)) {
+                  break P;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break P;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                Q : {
+                 if (jZ(j, 235678, 10)) {
+                  break Q;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break Q;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                R : {
+                 if (jZ(j, 235689, 7)) {
+                  break R;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break R;
+                 }
+                 q[f >> 2] = 1514689312;
+                 break l;
+                }
+                S : {
+                 if (jZ(j, 235697, 7)) {
+                  break S;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break S;
+                 }
+                 q[f >> 2] = 1514689568;
+                 break l;
+                }
+                T : {
+                 if (jZ(j, 235705, 7)) {
+                  break T;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break T;
+                 }
+                 q[f >> 2] = 1514689312;
+                 break l;
+                }
+                U : {
+                 if (jZ(j, 235713, 7)) {
+                  break U;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break U;
+                 }
+                 q[f >> 2] = 1514689568;
+                 break l;
+                }
+                V : {
+                 if (jZ(j, 235721, 7)) {
+                  break V;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break V;
+                 }
+                 q[f >> 2] = 1514689312;
+                 break l;
+                }
+                W : {
+                 if (jZ(j, 235729, 7)) {
+                  break W;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break W;
+                 }
+                 q[f >> 2] = 1514689568;
+                 break l;
+                }
+                X : {
+                 if (jZ(j, 235737, 7)) {
+                  break X;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break X;
+                 }
+                 q[f >> 2] = 1514689312;
+                 break l;
+                }
+                Y : {
+                 if (jZ(j, 235745, 7)) {
+                  break Y;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break Y;
+                 }
+                 q[f >> 2] = 1514689568;
+                 break l;
+                }
+                Z : {
+                 if (jZ(j, 235753, 7)) {
+                  break Z;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break Z;
+                 }
+                 q[f >> 2] = 1514689312;
+                 break l;
+                }
+                _ : {
+                 if (jZ(j, 235761, 7)) {
+                  break _;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break _;
+                 }
+                 q[f >> 2] = 1514689568;
+                 break l;
+                }
+                $ : {
+                 if (jZ(j, 235769, 7)) {
+                  break $;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break $;
+                 }
+                 q[f >> 2] = 1514689312;
+                 break l;
+                }
+                aa : {
+                 if (jZ(j, 235777, 7)) {
+                  break aa;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break aa;
+                 }
+                 q[f >> 2] = 1514689568;
+                 break l;
+                }
+                if (jZ(j, 235785, 3)) {
+                 break v;
+                }
+                h = i;
+                while (1) {
+                 g = UY(h, 235789);
+                 if (!g | g >>> 0 >= b >>> 0) {
+                  break w;
+                 }
+                 h = g + 3 | 0;
+                 g = r[g + 3 | 0];
+                 if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+                  continue;
+                 }
+                 break;
+                }
+                q[f >> 2] = 1514686496;
+                break l;
+               case 5:
+                ba : {
+                 if (jZ(j, 235821, 10)) {
+                  break ba;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break ba;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                ca : {
+                 if (jZ(j, 235832, 10)) {
+                  break ca;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break ca;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                da : {
+                 if (jZ(j, 235843, 7)) {
+                  break da;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break da;
+                 }
+                 q[f >> 2] = 1514689312;
+                 break l;
+                }
+                ea : {
+                 if (jZ(j, 235851, 7)) {
+                  break ea;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break ea;
+                 }
+                 q[f >> 2] = 1514689568;
+                 break l;
+                }
+                fa : {
+                 if (jZ(j, 235859, 6)) {
+                  break fa;
+                 }
+                 h = r[i + 7 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break fa;
+                 }
+                 q[f >> 2] = 1230132256;
+                 break l;
+                }
+                if (jZ(j, 235866, 3)) {
+                 break u;
+                }
+                h = i;
+                while (1) {
+                 g = UY(h, 235789);
+                 if (!g | g >>> 0 >= b >>> 0) {
+                  break x;
+                 }
+                 h = g + 3 | 0;
+                 g = r[g + 3 | 0];
+                 if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+                  continue;
+                 }
+                 break;
+                }
+                q[f >> 2] = 1514686496;
+                break l;
+               case 6:
+                ga : {
+                 if (jZ(j, 235870, 10)) {
+                  break ga;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break ga;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                ha : {
+                 if (jZ(j, 235881, 10)) {
+                  break ha;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break ha;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                ia : {
+                 if (jZ(j, 235892, 10)) {
+                  break ia;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break ia;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                ja : {
+                 if (jZ(j, 235903, 10)) {
+                  break ja;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break ja;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                ka : {
+                 if (jZ(j, 235914, 7)) {
+                  break ka;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break ka;
+                 }
+                 q[f >> 2] = 1514689312;
+                 break l;
+                }
+                la : {
+                 if (jZ(j, 235922, 7)) {
+                  break la;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break la;
+                 }
+                 q[f >> 2] = 1514689568;
+                 break l;
+                }
+                ma : {
+                 if (jZ(j, 235930, 7)) {
+                  break ma;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break ma;
+                 }
+                 q[f >> 2] = 1514689312;
+                 break l;
+                }
+                na : {
+                 if (jZ(j, 235938, 7)) {
+                  break na;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break na;
+                 }
+                 q[f >> 2] = 1514689568;
+                 break l;
+                }
+                if (jZ(j, 235946, 3)) {
+                 break y;
+                }
+                h = i;
+                while (1) {
+                 g = UY(h, 235789);
+                 if (!g | g >>> 0 >= b >>> 0) {
+                  break z;
+                 }
+                 h = g + 3 | 0;
+                 g = r[g + 3 | 0];
+                 if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+                  continue;
+                 }
+                 break;
+                }
+                q[f >> 2] = 1514686496;
+                break l;
+               case 7:
+                if (!iZ(j, 235954)) {
+                 q[f >> 2] = 1312904736;
+                 b = 1;
+                 if (t[e >> 2] <= 1) {
+                  break k;
+                 }
+                 q[f + 4 >> 2] = 1096042528;
+                 b = 2;
+                 break k;
+                }
+                if (!iZ(j, 235962)) {
+                 q[f >> 2] = 1514689312;
+                 break l;
+                }
+                if (iZ(j, 235967)) {
+                 break u;
+                }
+                q[f >> 2] = 1280596512;
+                break l;
+               case 10:
+                if (jZ(j, 235753, 7)) {
+                 break u;
+                }
+                h = r[i + 8 | 0];
+                if (h ? (h | 0) != 45 : 0) {
+                 break u;
+                }
+                q[f >> 2] = 1514689312;
+                break l;
+               case 11:
+                oa : {
+                 if (jZ(j, 235972, 10)) {
+                  break oa;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break oa;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                pa : {
+                 if (jZ(j, 235983, 10)) {
+                  break pa;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break pa;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                qa : {
+                 if (jZ(j, 235994, 7)) {
+                  break qa;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break qa;
+                 }
+                 q[f >> 2] = 1514689312;
+                 break l;
+                }
+                ra : {
+                 if (jZ(j, 236002, 7)) {
+                  break ra;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break ra;
+                 }
+                 q[f >> 2] = 1514689568;
+                 break l;
+                }
+                if (jZ(j, 236010, 3)) {
+                 break u;
+                }
+                h = i;
+                while (1) {
+                 g = UY(h, 235789);
+                 if (!g | g >>> 0 >= b >>> 0) {
+                  break A;
+                 }
+                 h = g + 3 | 0;
+                 g = r[g + 3 | 0];
+                 if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+                  continue;
+                 }
+                 break;
+                }
+                q[f >> 2] = 1514686496;
+                break l;
+               case 12:
+                sa : {
+                 if (jZ(j, 235821, 10)) {
+                  break sa;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break sa;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                ta : {
+                 if (jZ(j, 235832, 10)) {
+                  break ta;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break ta;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                ua : {
+                 if (jZ(j, 235843, 7)) {
+                  break ua;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break ua;
+                 }
+                 q[f >> 2] = 1514689312;
+                 break l;
+                }
+                va : {
+                 if (jZ(j, 235851, 7)) {
+                  break va;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break va;
+                 }
+                 q[f >> 2] = 1514689568;
+                 break l;
+                }
+                if (jZ(j, 235866, 3)) {
+                 break B;
+                }
+                h = i;
+                while (1) {
+                 g = UY(h, 235789);
+                 if (!g | g >>> 0 >= b >>> 0) {
+                  break C;
+                 }
+                 h = g + 3 | 0;
+                 g = r[g + 3 | 0];
+                 if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+                  continue;
+                 }
+                 break;
+                }
+                q[f >> 2] = 1514686496;
+                break l;
+               case 16:
+                if (jZ(j, 236026, 2)) {
+                 break u;
+                }
+                h = i;
+                while (1) {
+                 g = UY(h, 236029);
+                 if (!g | g >>> 0 >= b >>> 0) {
+                  break u;
+                 }
+                 h = g + 3 | 0;
+                 g = r[g + 3 | 0];
+                 if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+                  continue;
+                 }
+                 break;
+                }
+                q[f >> 2] = 1297042464;
+                break l;
+               case 21:
+                wa : {
+                 if (jZ(j, 236033, 10)) {
+                  break wa;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break wa;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                xa : {
+                 if (jZ(j, 236044, 10)) {
+                  break xa;
+                 }
+                 h = r[i + 11 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break xa;
+                 }
+                 q[f >> 2] = 1514686496;
+                 break l;
+                }
+                ya : {
+                 if (jZ(j, 236055, 7)) {
+                  break ya;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break ya;
+                 }
+                 q[f >> 2] = 1514689312;
+                 break l;
+                }
+                za : {
+                 if (jZ(j, 236063, 7)) {
+                  break za;
+                 }
+                 h = r[i + 8 | 0];
+                 if (h ? (h | 0) != 45 : 0) {
+                  break za;
+                 }
+                 q[f >> 2] = 1514689568;
+                 break l;
+                }
+                if (jZ(j, 236071, 3)) {
+                 break u;
+                }
+                h = i;
+                while (1) {
+                 g = UY(h, 235789);
+                 if (!g | g >>> 0 >= b >>> 0) {
+                  break D;
+                 }
+                 h = g + 3 | 0;
+                 g = r[g + 3 | 0];
+                 if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+                  continue;
+                 }
+                 break;
+                }
+                q[f >> 2] = 1514686496;
+                break l;
+               case 23:
+                if (jZ(j, 236075, 7)) {
+                 break u;
+                }
+                h = r[i + 8 | 0];
+                if (h ? (h | 0) != 45 : 0) {
+                 break u;
+                }
+                q[f >> 2] = 1514689312;
+                break l;
+               case 0:
+               case 2:
+               case 3:
+               case 4:
+               case 8:
+               case 9:
+               case 13:
+               case 14:
+               case 15:
+               case 17:
+               case 18:
+               case 19:
+               case 20:
+               case 22:
+                break u;
+               case 24:
+                break E;
+               }
+              }
+              Aa : {
+               if (jZ(j, 236083, 9)) {
+                break Aa;
+               }
+               h = r[i + 10 | 0];
+               if (h ? (h | 0) != 45 : 0) {
+                break Aa;
+               }
+               q[f >> 2] = 1514686496;
+               break l;
+              }
+              Ba : {
+               if (jZ(j, 236093, 9)) {
+                break Ba;
+               }
+               h = r[i + 10 | 0];
+               if (h ? (h | 0) != 45 : 0) {
+                break Ba;
+               }
+               q[f >> 2] = 1514686496;
+               break l;
+              }
+              if (!iZ(j, 236103)) {
+               q[f >> 2] = 1514689312;
+               break l;
+              }
+              Ca : {
+               if (jZ(j, 236113, 6)) {
+                break Ca;
+               }
+               h = r[i + 7 | 0];
+               if (h ? (h | 0) != 45 : 0) {
+                break Ca;
+               }
+               q[f >> 2] = 1514689312;
+               break l;
+              }
+              Da : {
+               if (jZ(j, 236120, 6)) {
+                break Da;
+               }
+               h = r[i + 7 | 0];
+               if (h ? (h | 0) != 45 : 0) {
+                break Da;
+               }
+               q[f >> 2] = 1514689568;
+               break l;
+              }
+              if (!iZ(j, 236127)) {
+               q[f >> 2] = 1514689312;
+               break l;
+              }
+              if (jZ(j, 236133, 2)) {
+               break u;
+              }
+              h = i;
+              Ea : {
+               while (1) {
+                g = UY(h, 235789);
+                if (!g | g >>> 0 >= b >>> 0) {
+                 break Ea;
+                }
+                h = g + 3 | 0;
+                g = r[g + 3 | 0];
+                if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+                 continue;
+                }
+                break;
+               }
+               q[f >> 2] = 1514686496;
+               break l;
+              }
+              h = i;
+              Fa : {
+               while (1) {
+                g = UY(h, 235793);
+                if (!g | g >>> 0 >= b >>> 0) {
+                 break Fa;
+                }
+                h = g + 3 | 0;
+                g = r[g + 3 | 0];
+                if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+                 continue;
+                }
+                break;
+               }
+               q[f >> 2] = 1514686496;
+               break l;
+              }
+              h = i;
+              while (1) {
+               g = UY(h, 235797);
+               if (!g | g >>> 0 >= b >>> 0) {
+                break u;
+               }
+               h = g + 3 | 0;
+               g = r[g + 3 | 0];
+               if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+                continue;
+               }
+               break;
+              }
+              q[f >> 2] = 1514689568;
+              break l;
+             }
+             h = i;
+             Ga : {
+              while (1) {
+               g = UY(h, 235793);
+               if (!g | g >>> 0 >= b >>> 0) {
+                break Ga;
+               }
+               h = g + 3 | 0;
+               g = r[g + 3 | 0];
+               if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+                continue;
+               }
+               break;
+              }
+              q[f >> 2] = 1514686496;
+              break l;
+             }
+             h = i;
+             while (1) {
+              g = UY(h, 235797);
+              if (!g | g >>> 0 >= b >>> 0) {
+               break u;
+              }
+              h = g + 3 | 0;
+              g = r[g + 3 | 0];
+              if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+               continue;
+              }
+              break;
+             }
+             q[f >> 2] = 1514689568;
+             break l;
+            }
+            h = i;
+            Ha : {
+             while (1) {
+              g = UY(h, 235793);
+              if (!g | g >>> 0 >= b >>> 0) {
+               break Ha;
+              }
+              h = g + 3 | 0;
+              g = r[g + 3 | 0];
+              if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+               continue;
+              }
+              break;
+             }
+             q[f >> 2] = 1514686496;
+             break l;
+            }
+            h = i;
+            while (1) {
+             g = UY(h, 235797);
+             if (!g | g >>> 0 >= b >>> 0) {
+              break B;
+             }
+             h = g + 3 | 0;
+             g = r[g + 3 | 0];
+             if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+              continue;
+             }
+             break;
+            }
+            q[f >> 2] = 1514689568;
+            break l;
+           }
+           if (!iZ(j, 236014)) {
+            q[f >> 2] = 1313821216;
+            break l;
+           }
+           if (iZ(j, 236020)) {
+            break u;
+           }
+           q[f >> 2] = 1314475552;
+           break l;
+          }
+          h = i;
+          Ia : {
+           while (1) {
+            g = UY(h, 235793);
+            if (!g | g >>> 0 >= b >>> 0) {
+             break Ia;
+            }
+            h = g + 3 | 0;
+            g = r[g + 3 | 0];
+            if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+             continue;
+            }
+            break;
+           }
+           q[f >> 2] = 1514686496;
+           break l;
+          }
+          h = i;
+          while (1) {
+           g = UY(h, 235797);
+           if (!g | g >>> 0 >= b >>> 0) {
+            break u;
+           }
+           h = g + 3 | 0;
+           g = r[g + 3 | 0];
+           if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+            continue;
+           }
+           break;
+          }
+          q[f >> 2] = 1514689568;
+          break l;
+         }
+         h = i;
+         Ja : {
+          while (1) {
+           g = UY(h, 235793);
+           if (!g | g >>> 0 >= b >>> 0) {
+            break Ja;
+           }
+           h = g + 3 | 0;
+           g = r[g + 3 | 0];
+           if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+            continue;
+           }
+           break;
+          }
+          q[f >> 2] = 1514686496;
+          break l;
+         }
+         h = i;
+         while (1) {
+          g = UY(h, 235797);
+          if (!g | g >>> 0 >= b >>> 0) {
+           break y;
+          }
+          h = g + 3 | 0;
+          g = r[g + 3 | 0];
+          if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+           continue;
+          }
+          break;
+         }
+         q[f >> 2] = 1514689568;
+         break l;
+        }
+        if (jZ(j, 235950, 3)) {
+         break u;
+        }
+        h = i;
+        Ka : {
+         while (1) {
+          g = UY(h, 235789);
+          if (!g | g >>> 0 >= b >>> 0) {
+           break Ka;
+          }
+          h = g + 3 | 0;
+          g = r[g + 3 | 0];
+          if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+           continue;
+          }
+          break;
+         }
+         q[f >> 2] = 1514686496;
+         break l;
+        }
+        h = i;
+        La : {
+         while (1) {
+          g = UY(h, 235793);
+          if (!g | g >>> 0 >= b >>> 0) {
+           break La;
+          }
+          h = g + 3 | 0;
+          g = r[g + 3 | 0];
+          if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+           continue;
+          }
+          break;
+         }
+         q[f >> 2] = 1514686496;
+         break l;
+        }
+        h = i;
+        while (1) {
+         g = UY(h, 235797);
+         if (!g | g >>> 0 >= b >>> 0) {
+          break u;
+         }
+         h = g + 3 | 0;
+         g = r[g + 3 | 0];
+         if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+          continue;
+         }
+         break;
+        }
+        q[f >> 2] = 1514689568;
+        break l;
+       }
+       h = i;
+       Ma : {
+        while (1) {
+         g = UY(h, 235793);
+         if (!g | g >>> 0 >= b >>> 0) {
+          break Ma;
+         }
+         h = g + 3 | 0;
+         g = r[g + 3 | 0];
+         if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+          continue;
+         }
+         break;
+        }
+        q[f >> 2] = 1514686496;
+        break l;
+       }
+       h = i;
+       while (1) {
+        g = UY(h, 235797);
+        if (!g | g >>> 0 >= b >>> 0) {
+         break u;
+        }
+        h = g + 3 | 0;
+        g = r[g + 3 | 0];
+        if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+         continue;
+        }
+        break;
+       }
+       q[f >> 2] = 1514689568;
+       break l;
+      }
+      h = i;
+      Na : {
+       while (1) {
+        g = UY(h, 235793);
+        if (!g | g >>> 0 >= b >>> 0) {
+         break Na;
+        }
+        h = g + 3 | 0;
+        g = r[g + 3 | 0];
+        if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+         continue;
+        }
+        break;
+       }
+       q[f >> 2] = 1514686496;
+       break l;
+      }
+      h = i;
+      while (1) {
+       g = UY(h, 235797);
+       if (!g | g >>> 0 >= b >>> 0) {
+        break v;
+       }
+       h = g + 3 | 0;
+       g = r[g + 3 | 0];
+       if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+        continue;
+       }
+       break;
+      }
+      q[f >> 2] = 1514689568;
+      break l;
+     }
+     Oa : {
+      if (jZ(j, 235801, 3)) {
+       break Oa;
+      }
+      h = i;
+      Pa : {
+       while (1) {
+        g = UY(h, 235789);
+        if (!g | g >>> 0 >= b >>> 0) {
+         break Pa;
+        }
+        h = g + 3 | 0;
+        g = r[g + 3 | 0];
+        if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+         continue;
+        }
+        break;
+       }
+       q[f >> 2] = 1514686496;
+       break l;
+      }
+      h = i;
+      Qa : {
+       while (1) {
+        g = UY(h, 235793);
+        if (!g | g >>> 0 >= b >>> 0) {
+         break Qa;
+        }
+        h = g + 3 | 0;
+        g = r[g + 3 | 0];
+        if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+         continue;
+        }
+        break;
+       }
+       q[f >> 2] = 1514686496;
+       break l;
+      }
+      h = i;
+      while (1) {
+       g = UY(h, 235797);
+       if (!g | g >>> 0 >= b >>> 0) {
+        break Oa;
+       }
+       h = g + 3 | 0;
+       g = r[g + 3 | 0];
+       if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+        continue;
+       }
+       break;
+      }
+      q[f >> 2] = 1514689568;
+      break l;
+     }
+     Ra : {
+      if (jZ(j, 235805, 3)) {
+       break Ra;
+      }
+      h = i;
+      Sa : {
+       while (1) {
+        g = UY(h, 235789);
+        if (!g | g >>> 0 >= b >>> 0) {
+         break Sa;
+        }
+        h = g + 3 | 0;
+        g = r[g + 3 | 0];
+        if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+         continue;
+        }
+        break;
+       }
+       q[f >> 2] = 1514686496;
+       break l;
+      }
+      h = i;
+      Ta : {
+       while (1) {
+        g = UY(h, 235793);
+        if (!g | g >>> 0 >= b >>> 0) {
+         break Ta;
+        }
+        h = g + 3 | 0;
+        g = r[g + 3 | 0];
+        if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+         continue;
+        }
+        break;
+       }
+       q[f >> 2] = 1514686496;
+       break l;
+      }
+      h = i;
+      while (1) {
+       g = UY(h, 235797);
+       if (!g | g >>> 0 >= b >>> 0) {
+        break Ra;
+       }
+       h = g + 3 | 0;
+       g = r[g + 3 | 0];
+       if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+        continue;
+       }
+       break;
+      }
+      q[f >> 2] = 1514689568;
+      break l;
+     }
+     Ua : {
+      if (jZ(j, 235809, 3)) {
+       break Ua;
+      }
+      h = i;
+      Va : {
+       while (1) {
+        g = UY(h, 235789);
+        if (!g | g >>> 0 >= b >>> 0) {
+         break Va;
+        }
+        h = g + 3 | 0;
+        g = r[g + 3 | 0];
+        if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+         continue;
+        }
+        break;
+       }
+       q[f >> 2] = 1514686496;
+       break l;
+      }
+      h = i;
+      Wa : {
+       while (1) {
+        g = UY(h, 235793);
+        if (!g | g >>> 0 >= b >>> 0) {
+         break Wa;
+        }
+        h = g + 3 | 0;
+        g = r[g + 3 | 0];
+        if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+         continue;
+        }
+        break;
+       }
+       q[f >> 2] = 1514686496;
+       break l;
+      }
+      h = i;
+      while (1) {
+       g = UY(h, 235797);
+       if (!g | g >>> 0 >= b >>> 0) {
+        break Ua;
+       }
+       h = g + 3 | 0;
+       g = r[g + 3 | 0];
+       if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+        continue;
+       }
+       break;
+      }
+      q[f >> 2] = 1514689568;
+      break l;
+     }
+     Xa : {
+      if (jZ(j, 235813, 3)) {
+       break Xa;
+      }
+      h = i;
+      Ya : {
+       while (1) {
+        g = UY(h, 235789);
+        if (!g | g >>> 0 >= b >>> 0) {
+         break Ya;
+        }
+        h = g + 3 | 0;
+        g = r[g + 3 | 0];
+        if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+         continue;
+        }
+        break;
+       }
+       q[f >> 2] = 1514686496;
+       break l;
+      }
+      h = i;
+      Za : {
+       while (1) {
+        g = UY(h, 235793);
+        if (!g | g >>> 0 >= b >>> 0) {
+         break Za;
+        }
+        h = g + 3 | 0;
+        g = r[g + 3 | 0];
+        if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+         continue;
+        }
+        break;
+       }
+       q[f >> 2] = 1514686496;
+       break l;
+      }
+      h = i;
+      while (1) {
+       g = UY(h, 235797);
+       if (!g | g >>> 0 >= b >>> 0) {
+        break Xa;
+       }
+       h = g + 3 | 0;
+       g = r[g + 3 | 0];
+       if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+        continue;
+       }
+       break;
+      }
+      q[f >> 2] = 1514689568;
+      break l;
+     }
+     if (jZ(j, 235817, 3)) {
+      break u;
+     }
+     h = i;
+     _a : {
+      while (1) {
+       g = UY(h, 235789);
+       if (!g | g >>> 0 >= b >>> 0) {
+        break _a;
+       }
+       h = g + 3 | 0;
+       g = r[g + 3 | 0];
+       if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+        continue;
+       }
+       break;
+      }
+      q[f >> 2] = 1514686496;
+      break l;
+     }
+     h = i;
+     $a : {
+      while (1) {
+       g = UY(h, 235793);
+       if (!g | g >>> 0 >= b >>> 0) {
+        break $a;
+       }
+       h = g + 3 | 0;
+       g = r[g + 3 | 0];
+       if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+        continue;
+       }
+       break;
+      }
+      q[f >> 2] = 1514686496;
+      break l;
+     }
+     h = i;
+     while (1) {
+      g = UY(h, 235797);
+      if (!g | g >>> 0 >= b >>> 0) {
+       break u;
+      }
+      h = g + 3 | 0;
+      g = r[g + 3 | 0];
+      if ((g + -48 & 255) >>> 0 < 10 | ((g & -33) + -65 & 255) >>> 0 < 26) {
+       continue;
+      }
+      break;
+     }
+     q[f >> 2] = 1514689568;
+     break l;
+    }
+    h = eZ(i, 45);
+    ab : {
+     if (!h | (b - i | 0) < 6) {
+      break ab;
+     }
+     b = h + 1 | 0;
+     i = eZ(b, 45);
+     bb : {
+      if (i) {
+       i = i + (h ^ -1) | 0;
+       break bb;
+      }
+      i = g0(b);
+     }
+     if ((i | 0) != 3 | ((r[b | 0] & 223) + -65 & 255) >>> 0 > 25) {
+      break ab;
+     }
+     q[l + 24 >> 2] = b;
+    }
+    q[l + 12 >> 2] = 820;
+    q[l + 16 >> 2] = 0;
+    q[l + 8 >> 2] = 228928;
+    if (sy(l + 8 | 0, l + 24 | 0, l + 28 | 0)) {
+     b = q[l + 28 >> 2];
+     while (1) {
+      i = b;
+      if (i) {
+       b = i + -1 | 0;
+       if (!iZ((i << 3) + 228928 | 0, (b << 3) + 228928 | 0)) {
+        continue;
+       }
+      }
+      break;
+     }
+     if (!q[e >> 2]) {
+      b = 0;
+      break k;
+     }
+     b = 820 - i | 0;
+     h = b >>> 0 > 820 ? 0 : b;
+     g = (i << 3) + 228928 | 0;
+     b = 0;
+     while (1) {
+      if ((b | 0) == (h | 0)) {
+       b = h;
+       break k;
+      }
+      j = b + i << 3;
+      if (iZ(j + 228928 | 0, g)) {
+       break k;
+      }
+      q[(b << 2) + f >> 2] = q[j + 228932 >> 2];
+      b = b + 1 | 0;
+      if (b >>> 0 < t[e >> 2]) {
+       continue;
+      }
+      break;
+     }
+     break k;
+    }
+    i = q[l + 24 >> 2];
+    b = 0;
+    if (!h) {
+     h = g0(i) + i | 0;
+    }
+    if ((h - i | 0) != 3) {
+     break k;
+    }
+    u = f, v = wq(i) & -538976257, q[u >> 2] = v;
+   }
+   b = 1;
+  }
+  q[e >> 2] = b;
+ }
+ if (!(!d | !c | (!k | !q[c >> 2]))) {
+  b = 0;
+  e = d;
+  cb : {
+   db : {
+    eb : {
+     fb : {
+      gb : {
+       hb : {
+        ib : {
+         jb : {
+          kb : {
+           if ((a | 0) <= 1298954604) {
+            if ((a | 0) <= 1198877297) {
+             h = 1651402546;
+             if ((a | 0) == 1113943655) {
+              break fb;
+             }
+             if ((a | 0) != 1147500129) {
+              break db;
+             }
+             h = 1684370994;
+             break fb;
+            }
+            if ((a | 0) == 1198877298) {
+             break kb;
+            }
+            if ((a | 0) == 1198879349) {
+             break jb;
+            }
+            if ((a | 0) != 1265525857) {
+             break db;
+            }
+            h = 1802396722;
+            break fb;
+           }
+           if ((a | 0) <= 1332902240) {
+            if ((a | 0) == 1298954605) {
+             break ib;
+            }
+            h = 1836674354;
+            if ((a | 0) == 1299803506) {
+             break eb;
+            }
+            break db;
+           }
+           if ((a | 0) == 1332902241) {
+            break hb;
+           }
+           if ((a | 0) == 1415671148) {
+            break gb;
+           }
+           if ((a | 0) != 1415933045) {
+            break db;
+           }
+           h = 1952803890;
+           break fb;
+          }
+          h = 1735029298;
+          break fb;
+         }
+         h = 1735750194;
+         break fb;
+        }
+        h = 1835822386;
+        break fb;
+       }
+       h = 1869773106;
+       break fb;
+      }
+      h = 1953328178;
+     }
+     q[e >> 2] = h | 51;
+     b = 1;
+     if (t[c >> 2] < 2) {
+      break cb;
+     }
+    }
+    q[(b << 2) + d >> 2] = h;
+    b = b + 1 | 0;
+    if (t[c >> 2] <= b >>> 0) {
+     break cb;
+    }
+   }
+   d = (b << 2) + d | 0;
+   lb : {
+    mb : {
+     nb : {
+      ob : {
+       pb : {
+        if ((a | 0) <= 1315663726) {
+         if (!a) {
+          break cb;
+         }
+         if ((a | 0) != 1214870113) {
+          break pb;
+         }
+         a = 1801547361;
+         break lb;
+        }
+        if ((a | 0) == 1315663727) {
+         break ob;
+        }
+        if ((a | 0) == 1449224553) {
+         break nb;
+        }
+        if ((a | 0) != 1500080489) {
+         break mb;
+        }
+        a = 2036932640;
+        break lb;
+       }
+       if ((a | 0) != 1281453935) {
+        break mb;
+       }
+       a = 1818324768;
+       break lb;
+      }
+      a = 1852534560;
+      break lb;
+     }
+     a = 1986095392;
+     break lb;
+    }
+    a = a | 536870912;
+   }
+   q[d >> 2] = a;
+   b = b + 1 | 0;
+  }
+  q[c >> 2] = b;
+ }
+ Ca = l + 32 | 0;
+}
+function NT(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ e = -4;
+ a : {
+  if (b >>> 0 >= c >>> 0) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            l : {
+             m : {
+              n : {
+               o : {
+                j = a + 72 | 0;
+                f = r[j + r[b | 0] | 0];
+                if (f >>> 0 <= 10) {
+                 p : {
+                  switch (f - 2 | 0) {
+                  case 2:
+                   break j;
+                  case 3:
+                   break m;
+                  case 4:
+                   break n;
+                  case 5:
+                   break o;
+                  case 0:
+                   break p;
+                  case 1:
+                   break f;
+                  case 7:
+                   break g;
+                  case 8:
+                   break h;
+                  default:
+                   break l;
+                  }
+                 }
+                 f = b + 1 | 0;
+                 g = c - f | 0;
+                 if ((g | 0) < 1) {
+                  e = -1;
+                  break a;
+                 }
+                 e = r[r[f | 0] + j | 0] + -5 | 0;
+                 if (e >>> 0 > 24) {
+                  break b;
+                 }
+                 h = 2;
+                 q : {
+                  r : {
+                   s : {
+                    t : {
+                     u : {
+                      v : {
+                       switch (e - 1 | 0) {
+                       default:
+                        e = -2;
+                        if ((g | 0) < 2) {
+                         break a;
+                        }
+                        h = 3;
+                        if (n[q[a + 340 >> 2]](a, f)) {
+                         break u;
+                        }
+                        break b;
+                       case 0:
+                        e = -2;
+                        if ((g | 0) < 3) {
+                         break a;
+                        }
+                        h = 4;
+                        if (!n[q[a + 344 >> 2]](a, f)) {
+                         break b;
+                        }
+                        break u;
+                       case 2:
+                       case 3:
+                       case 4:
+                       case 5:
+                       case 6:
+                       case 7:
+                       case 8:
+                       case 12:
+                       case 13:
+                       case 14:
+                       case 15:
+                       case 17:
+                       case 19:
+                       case 20:
+                       case 21:
+                       case 22:
+                       case 23:
+                        break b;
+                       case 11:
+                        break r;
+                       case 9:
+                        break s;
+                       case 10:
+                        break t;
+                       case 16:
+                       case 18:
+                        break u;
+                       case 1:
+                        break v;
+                       }
+                      }
+                      e = -2;
+                      if ((g | 0) < 4) {
+                       break a;
+                      }
+                      h = 5;
+                      if (!n[q[a + 348 >> 2]](a, f)) {
+                       break b;
+                      }
+                     }
+                     b = b + h | 0;
+                     g = c - b | 0;
+                     if ((g | 0) >= 1) {
+                      break q;
+                     }
+                     e = -1;
+                     break a;
+                    }
+                    f = b + 2 | 0;
+                    if ((c - f | 0) < 1) {
+                     e = -1;
+                     break a;
+                    }
+                    w : {
+                     e = r[r[f | 0] + j | 0] + -20 | 0;
+                     if (e >>> 0 > 7) {
+                      break w;
+                     }
+                     x : {
+                      switch (e - 1 | 0) {
+                      case 6:
+                       e = KT(a, b + 3 | 0, c, d);
+                       break a;
+                      case 0:
+                      case 1:
+                      case 2:
+                      case 3:
+                      case 4:
+                      case 5:
+                       break w;
+                      default:
+                       break x;
+                      }
+                     }
+                     e = -1;
+                     a = b + 3 | 0;
+                     if ((c - a | 0) < 6) {
+                      break a;
+                     }
+                     if (r[b + 3 | 0] != 67) {
+                      break c;
+                     }
+                     if (r[b + 4 | 0] != 68) {
+                      a = b + 4 | 0;
+                      break c;
+                     }
+                     if (r[b + 5 | 0] != 65) {
+                      a = b + 5 | 0;
+                      break c;
+                     }
+                     if (r[b + 6 | 0] != 84) {
+                      a = b + 6 | 0;
+                      break c;
+                     }
+                     if (r[b + 7 | 0] != 65) {
+                      a = b + 7 | 0;
+                      break c;
+                     }
+                     e = 8;
+                     if (r[b + 8 | 0] != 91) {
+                      a = b + 8 | 0;
+                      break c;
+                     }
+                     q[d >> 2] = b + 9;
+                     break a;
+                    }
+                    q[d >> 2] = f;
+                    e = 0;
+                    break a;
+                   }
+                   e = LT(a, b + 2 | 0, c, d);
+                   break a;
+                  }
+                  f = b + 2 | 0;
+                  g = c - f | 0;
+                  if ((g | 0) < 1) {
+                   e = -1;
+                   break a;
+                  }
+                  e = r[r[f | 0] + j | 0] + -5 | 0;
+                  y : {
+                   if (e >>> 0 > 24) {
+                    break y;
+                   }
+                   h = 3;
+                   z : {
+                    switch (e - 1 | 0) {
+                    default:
+                     e = -2;
+                     if ((g | 0) < 2) {
+                      break a;
+                     }
+                     h = 4;
+                     if (n[q[a + 340 >> 2]](a, f)) {
+                      break d;
+                     }
+                     break y;
+                    case 0:
+                     e = -2;
+                     if ((g | 0) < 3) {
+                      break a;
+                     }
+                     h = 5;
+                     if (!n[q[a + 344 >> 2]](a, f)) {
+                      break y;
+                     }
+                     break d;
+                    case 2:
+                    case 3:
+                    case 4:
+                    case 5:
+                    case 6:
+                    case 7:
+                    case 8:
+                    case 9:
+                    case 10:
+                    case 11:
+                    case 12:
+                    case 13:
+                    case 14:
+                    case 15:
+                    case 17:
+                    case 19:
+                    case 20:
+                    case 21:
+                    case 22:
+                    case 23:
+                     break y;
+                    case 1:
+                     break z;
+                    case 16:
+                    case 18:
+                     break d;
+                    }
+                   }
+                   e = -2;
+                   if ((g | 0) < 4) {
+                    break a;
+                   }
+                   h = 6;
+                   if (n[q[a + 348 >> 2]](a, f)) {
+                    break d;
+                   }
+                  }
+                  q[d >> 2] = f;
+                  e = 0;
+                  break a;
+                 }
+                 h = 0;
+                 while (1) {
+                  f = r[r[b | 0] + j | 0] + -5 | 0;
+                  if (f >>> 0 > 24) {
+                   break e;
+                  }
+                  e = 1;
+                  A : {
+                   B : {
+                    C : {
+                     D : {
+                      switch (f - 1 | 0) {
+                      default:
+                       if ((g | 0) < 2) {
+                        e = -2;
+                        break a;
+                       }
+                       e = 2;
+                       if (n[q[a + 328 >> 2]](a, b)) {
+                        break A;
+                       }
+                       break e;
+                      case 0:
+                       if ((g | 0) < 3) {
+                        e = -2;
+                        break a;
+                       }
+                       e = 3;
+                       if (!n[q[a + 332 >> 2]](a, b)) {
+                        break e;
+                       }
+                       break A;
+                      case 1:
+                       if ((g | 0) < 4) {
+                        e = -2;
+                        break a;
+                       }
+                       e = 4;
+                       if (!n[q[a + 336 >> 2]](a, b)) {
+                        break e;
+                       }
+                       break A;
+                      case 17:
+                       if (h) {
+                        break e;
+                       }
+                       f = b + 1 | 0;
+                       g = c - f | 0;
+                       if ((g | 0) < 1) {
+                        e = -1;
+                        break a;
+                       }
+                       k = r[r[f | 0] + j | 0] + -5 | 0;
+                       E : {
+                        if (k >>> 0 > 24) {
+                         break E;
+                        }
+                        h = 1;
+                        e = 2;
+                        F : {
+                         switch (k - 1 | 0) {
+                         default:
+                          if ((g | 0) < 2) {
+                           e = -2;
+                           break a;
+                          }
+                          e = 3;
+                          if (n[q[a + 340 >> 2]](a, f)) {
+                           break A;
+                          }
+                          break E;
+                         case 0:
+                          if ((g | 0) < 3) {
+                           e = -2;
+                           break a;
+                          }
+                          e = 4;
+                          if (!n[q[a + 344 >> 2]](a, f)) {
+                           break E;
+                          }
+                          break A;
+                         case 16:
+                         case 18:
+                          break A;
+                         case 2:
+                         case 3:
+                         case 4:
+                         case 5:
+                         case 6:
+                         case 7:
+                         case 8:
+                         case 9:
+                         case 10:
+                         case 11:
+                         case 12:
+                         case 13:
+                         case 14:
+                         case 15:
+                         case 17:
+                         case 19:
+                         case 20:
+                         case 21:
+                         case 22:
+                         case 23:
+                          break E;
+                         case 1:
+                          break F;
+                         }
+                        }
+                        if ((g | 0) < 4) {
+                         e = -2;
+                         break a;
+                        }
+                        e = 5;
+                        if (n[q[a + 348 >> 2]](a, f)) {
+                         break A;
+                        }
+                       }
+                       q[d >> 2] = f;
+                       e = 0;
+                       break a;
+                      case 16:
+                      case 18:
+                      case 19:
+                      case 20:
+                      case 21:
+                       break A;
+                      case 5:
+                       break B;
+                      case 11:
+                       break C;
+                      case 3:
+                      case 4:
+                      case 15:
+                       break D;
+                      case 2:
+                      case 6:
+                      case 7:
+                      case 8:
+                      case 9:
+                      case 10:
+                      case 12:
+                      case 13:
+                      case 14:
+                      case 22:
+                      case 23:
+                       break e;
+                      }
+                     }
+                     e = b + 1 | 0;
+                     g = c - e | 0;
+                     if ((g | 0) < 1) {
+                      e = -1;
+                      break a;
+                     }
+                     f = b;
+                     while (1) {
+                      b = e;
+                      e = r[r[f + 1 | 0] + j | 0] + -5 | 0;
+                      if (e >>> 0 > 24) {
+                       break e;
+                      }
+                      h = 2;
+                      G : {
+                       H : {
+                        I : {
+                         switch (e - 1 | 0) {
+                         default:
+                          e = -2;
+                          if ((g | 0) < 2) {
+                           break a;
+                          }
+                          h = 3;
+                          if (!n[q[a + 340 >> 2]](a, b)) {
+                           break e;
+                          }
+                          break H;
+                         case 0:
+                          e = -2;
+                          if ((g | 0) < 3) {
+                           break a;
+                          }
+                          h = 4;
+                          if (!n[q[a + 344 >> 2]](a, b)) {
+                           break e;
+                          }
+                          break H;
+                         case 5:
+                          break B;
+                         case 11:
+                          break C;
+                         case 2:
+                         case 6:
+                         case 7:
+                         case 8:
+                         case 9:
+                         case 10:
+                         case 12:
+                         case 13:
+                         case 14:
+                         case 17:
+                         case 19:
+                         case 20:
+                         case 21:
+                         case 22:
+                         case 23:
+                          break e;
+                         case 3:
+                         case 4:
+                         case 15:
+                          break G;
+                         case 16:
+                         case 18:
+                          break H;
+                         case 1:
+                          break I;
+                         }
+                        }
+                        e = -2;
+                        if ((g | 0) < 4) {
+                         break a;
+                        }
+                        h = 5;
+                        if (!n[q[a + 348 >> 2]](a, b)) {
+                         break e;
+                        }
+                       }
+                       b = f + h | 0;
+                       q[i + 12 >> 2] = b;
+                       e = -1;
+                       g = c - b | 0;
+                       if ((g | 0) < 1) {
+                        break a;
+                       }
+                       h = 0;
+                       while (1) {
+                        f = i;
+                        J : {
+                         K : {
+                          L : {
+                           M : {
+                            N : {
+                             O : {
+                              k = r[r[b | 0] + j | 0] + -5 | 0;
+                              if (k >>> 0 > 24) {
+                               break O;
+                              }
+                              P : {
+                               Q : {
+                                switch (k - 1 | 0) {
+                                default:
+                                 if ((g | 0) < 2) {
+                                  e = -2;
+                                  break a;
+                                 }
+                                 if (!n[q[a + 328 >> 2]](a, b)) {
+                                  break O;
+                                 }
+                                 b = b + 2 | 0;
+                                 break M;
+                                case 0:
+                                 if ((g | 0) < 3) {
+                                  e = -2;
+                                  break a;
+                                 }
+                                 if (!n[q[a + 332 >> 2]](a, b)) {
+                                  break O;
+                                 }
+                                 b = b + 3 | 0;
+                                 break M;
+                                case 1:
+                                 if ((g | 0) < 4) {
+                                  e = -2;
+                                  break a;
+                                 }
+                                 if (!n[q[a + 336 >> 2]](a, b)) {
+                                  break O;
+                                 }
+                                 b = b + 4 | 0;
+                                 break M;
+                                case 17:
+                                 if (h) {
+                                  break O;
+                                 }
+                                 f = b + 1 | 0;
+                                 q[i + 12 >> 2] = f;
+                                 h = c - f | 0;
+                                 if ((h | 0) < 1) {
+                                  break a;
+                                 }
+                                 R : {
+                                  g = r[r[f | 0] + j | 0] + -5 | 0;
+                                  if (g >>> 0 > 24) {
+                                   break R;
+                                  }
+                                  S : {
+                                   switch (g - 1 | 0) {
+                                   case 16:
+                                   case 18:
+                                    b = b + 2 | 0;
+                                    break K;
+                                   default:
+                                    if ((h | 0) < 2) {
+                                     e = -2;
+                                     break a;
+                                    }
+                                    if (!n[q[a + 340 >> 2]](a, f)) {
+                                     break R;
+                                    }
+                                    b = b + 3 | 0;
+                                    break K;
+                                   case 0:
+                                    if ((h | 0) < 3) {
+                                     e = -2;
+                                     break a;
+                                    }
+                                    if (!n[q[a + 344 >> 2]](a, f)) {
+                                     break R;
+                                    }
+                                    b = b + 4 | 0;
+                                    break K;
+                                   case 2:
+                                   case 3:
+                                   case 4:
+                                   case 5:
+                                   case 6:
+                                   case 7:
+                                   case 8:
+                                   case 9:
+                                   case 10:
+                                   case 11:
+                                   case 12:
+                                   case 13:
+                                   case 14:
+                                   case 15:
+                                   case 17:
+                                   case 19:
+                                   case 20:
+                                   case 21:
+                                   case 22:
+                                   case 23:
+                                    break R;
+                                   case 1:
+                                    break S;
+                                   }
+                                  }
+                                  if ((h | 0) < 4) {
+                                   e = -2;
+                                   break a;
+                                  }
+                                  if (!n[q[a + 348 >> 2]](a, f)) {
+                                   break R;
+                                  }
+                                  b = b + 5 | 0;
+                                  break K;
+                                 }
+                                 q[d >> 2] = f;
+                                 e = 0;
+                                 break a;
+                                case 16:
+                                case 18:
+                                case 19:
+                                case 20:
+                                case 21:
+                                 break N;
+                                case 2:
+                                case 5:
+                                case 6:
+                                case 7:
+                                case 9:
+                                case 10:
+                                case 11:
+                                case 12:
+                                case 13:
+                                case 14:
+                                case 22:
+                                case 23:
+                                 break O;
+                                case 8:
+                                 break P;
+                                case 3:
+                                case 4:
+                                case 15:
+                                 break Q;
+                                }
+                               }
+                               b = b + 1 | 0;
+                               q[i + 12 >> 2] = b;
+                               if ((c - b | 0) < 1) {
+                                break a;
+                               }
+                               while (1) {
+                                f = r[r[b | 0] + j | 0] + -9 | 0;
+                                if (f >>> 0 > 12) {
+                                 break O;
+                                }
+                                T : {
+                                 switch (f - 2 | 0) {
+                                 case 0:
+                                 case 1:
+                                 case 2:
+                                 case 4:
+                                 case 5:
+                                 case 6:
+                                 case 7:
+                                 case 8:
+                                 case 9:
+                                  break O;
+                                 case 3:
+                                  break P;
+                                 default:
+                                  break T;
+                                 }
+                                }
+                                b = b + 1 | 0;
+                                q[i + 12 >> 2] = b;
+                                if ((c - b | 0) > 0) {
+                                 continue;
+                                }
+                                break;
+                               }
+                               break a;
+                              }
+                              f = b + 1 | 0;
+                              q[i + 12 >> 2] = f;
+                              if ((c - f | 0) < 1) {
+                               break a;
+                              }
+                              g = r[r[f | 0] + j | 0];
+                              if ((g | 1) == 13) {
+                               break L;
+                              }
+                              while (1) {
+                               b = f;
+                               f = g & 255;
+                               if (f >>> 0 > 21 | !(1 << f & 2098688)) {
+                                break O;
+                               }
+                               f = b + 1 | 0;
+                               q[i + 12 >> 2] = f;
+                               if ((c - f | 0) <= 0) {
+                                break a;
+                               }
+                               g = r[r[f | 0] + j | 0];
+                               if ((g | 1) != 13) {
+                                continue;
+                               }
+                               break;
+                              }
+                              break L;
+                             }
+                             q[d >> 2] = b;
+                             e = 0;
+                             break a;
+                            }
+                            b = b + 1 | 0;
+                           }
+                           q[f + 12 >> 2] = b;
+                           break J;
+                          }
+                          b = b + 2 | 0;
+                          q[i + 12 >> 2] = b;
+                          h = c - b | 0;
+                          if ((h | 0) < 1) {
+                           break a;
+                          }
+                          U : {
+                           while (1) {
+                            k = r[r[b | 0] + j | 0];
+                            if ((k | 0) != (g & 255)) {
+                             f = i;
+                             V : {
+                              W : {
+                               X : {
+                                if (k >>> 0 > 8) {
+                                 break X;
+                                }
+                                Y : {
+                                 switch (k - 3 | 0) {
+                                 case 2:
+                                  if ((h | 0) < 2) {
+                                   e = -2;
+                                   break a;
+                                  }
+                                  if (n[q[a + 352 >> 2]](a, b)) {
+                                   break U;
+                                  }
+                                  b = b + 2 | 0;
+                                  break W;
+                                 case 3:
+                                  if ((h | 0) < 3) {
+                                   e = -2;
+                                   break a;
+                                  }
+                                  if (n[q[a + 356 >> 2]](a, b)) {
+                                   break U;
+                                  }
+                                  b = b + 3 | 0;
+                                  break W;
+                                 case 4:
+                                  if ((h | 0) < 4) {
+                                   e = -2;
+                                   break a;
+                                  }
+                                  if (n[q[a + 360 >> 2]](a, b)) {
+                                   break U;
+                                  }
+                                  b = b + 4 | 0;
+                                  break W;
+                                 case 1:
+                                  break X;
+                                 case 0:
+                                  break Y;
+                                 default:
+                                  break U;
+                                 }
+                                }
+                                b = OT(a, b + 1 | 0, c, i + 12 | 0);
+                                if ((b | 0) >= 1) {
+                                 b = q[i + 12 >> 2];
+                                 break V;
+                                }
+                                e = b;
+                                if (b) {
+                                 break a;
+                                }
+                                q[d >> 2] = q[i + 12 >> 2];
+                                e = 0;
+                                break a;
+                               }
+                               b = b + 1 | 0;
+                              }
+                              q[f + 12 >> 2] = b;
+                             }
+                             h = c - b | 0;
+                             if ((h | 0) > 0) {
+                              continue;
+                             }
+                             break a;
+                            }
+                            break;
+                           }
+                           f = b + 1 | 0;
+                           q[i + 12 >> 2] = f;
+                           if ((c - f | 0) < 1) {
+                            break a;
+                           }
+                           Z : {
+                            _ : {
+                             h = r[r[f | 0] + j | 0] + -9 | 0;
+                             if (h >>> 0 > 12) {
+                              break _;
+                             }
+                             $ : {
+                              aa : {
+                               ba : {
+                                switch (h - 2 | 0) {
+                                case 1:
+                                case 2:
+                                case 3:
+                                case 4:
+                                case 5:
+                                case 7:
+                                case 8:
+                                case 9:
+                                 break _;
+                                case 6:
+                                 break $;
+                                case 0:
+                                 break aa;
+                                default:
+                                 break ba;
+                                }
+                               }
+                               b = b + 2 | 0;
+                               q[i + 12 >> 2] = b;
+                               h = f;
+                               g = c - b | 0;
+                               if ((g | 0) < 1) {
+                                break a;
+                               }
+                               while (1) {
+                                f = b;
+                                b = r[r[b | 0] + j | 0] + -5 | 0;
+                                if (b >>> 0 > 24) {
+                                 break _;
+                                }
+                                ca : {
+                                 switch (b - 1 | 0) {
+                                 case 16:
+                                 case 18:
+                                  b = h + 2 | 0;
+                                  break Z;
+                                 default:
+                                  if ((g | 0) < 2) {
+                                   e = -2;
+                                   break a;
+                                  }
+                                  if (!n[q[a + 340 >> 2]](a, f)) {
+                                   break _;
+                                  }
+                                  b = f + 2 | 0;
+                                  break Z;
+                                 case 0:
+                                  if ((g | 0) < 3) {
+                                   e = -2;
+                                   break a;
+                                  }
+                                  if (!n[q[a + 344 >> 2]](a, f)) {
+                                   break _;
+                                  }
+                                  b = f + 3 | 0;
+                                  break Z;
+                                 case 1:
+                                  if ((g | 0) < 4) {
+                                   e = -2;
+                                   break a;
+                                  }
+                                  if (!n[q[a + 348 >> 2]](a, f)) {
+                                   break _;
+                                  }
+                                  b = f + 4 | 0;
+                                  break Z;
+                                 case 2:
+                                 case 6:
+                                 case 7:
+                                 case 8:
+                                 case 9:
+                                 case 10:
+                                 case 12:
+                                 case 13:
+                                 case 14:
+                                 case 17:
+                                 case 19:
+                                 case 20:
+                                 case 21:
+                                 case 22:
+                                 case 23:
+                                  break _;
+                                 case 11:
+                                  break $;
+                                 case 5:
+                                  break aa;
+                                 case 3:
+                                 case 4:
+                                 case 15:
+                                  break ca;
+                                 }
+                                }
+                                b = f + 1 | 0;
+                                q[i + 12 >> 2] = b;
+                                h = f;
+                                g = c - b | 0;
+                                if ((g | 0) > 0) {
+                                 continue;
+                                }
+                                break;
+                               }
+                               break a;
+                              }
+                              e = 1;
+                              q[d >> 2] = f + 1;
+                              break a;
+                             }
+                             a = f + 1 | 0;
+                             q[i + 12 >> 2] = a;
+                             if ((c - a | 0) < 1) {
+                              break a;
+                             }
+                             if (r[a | 0] != 62) {
+                              q[d >> 2] = a;
+                              e = 0;
+                              break a;
+                             }
+                             q[d >> 2] = f + 2;
+                             e = 3;
+                             break a;
+                            }
+                            q[d >> 2] = f;
+                            e = 0;
+                            break a;
+                           }
+                           q[i + 12 >> 2] = b;
+                           h = 0;
+                           break J;
+                          }
+                          q[d >> 2] = b;
+                          e = 0;
+                          break a;
+                         }
+                         q[i + 12 >> 2] = b;
+                         h = 1;
+                        }
+                        g = c - b | 0;
+                        if ((g | 0) > 0) {
+                         continue;
+                        }
+                        break;
+                       }
+                       break a;
+                      }
+                      f = b;
+                      e = b + 1 | 0;
+                      g = c - e | 0;
+                      if ((g | 0) > 0) {
+                       continue;
+                      }
+                      break;
+                     }
+                     e = -1;
+                     break a;
+                    }
+                    e = -1;
+                    a = b + 1 | 0;
+                    if ((c - a | 0) < 1) {
+                     break a;
+                    }
+                    if (r[a | 0] != 62) {
+                     q[d >> 2] = a;
+                     e = 0;
+                     break a;
+                    }
+                    q[d >> 2] = b + 2;
+                    e = 4;
+                    break a;
+                   }
+                   q[d >> 2] = b + 1;
+                   e = 2;
+                   break a;
+                  }
+                  b = b + e | 0;
+                  g = c - b | 0;
+                  if ((g | 0) > 0) {
+                   continue;
+                  }
+                  break;
+                 }
+                 e = -1;
+                 break a;
+                }
+                f = b + 1 | 0;
+                break i;
+               }
+               e = -2;
+               if ((c - b | 0) < 4) {
+                break a;
+               }
+               if (n[q[a + 360 >> 2]](a, b)) {
+                break l;
+               }
+               f = b + 4 | 0;
+               break i;
+              }
+              e = -2;
+              if ((c - b | 0) < 3) {
+               break a;
+              }
+              if (n[q[a + 356 >> 2]](a, b)) {
+               break l;
+              }
+              f = b + 3 | 0;
+              break i;
+             }
+             e = -2;
+             if ((c - b | 0) < 2) {
+              break a;
+             }
+             if (!n[q[a + 352 >> 2]](a, b)) {
+              break k;
+             }
+            }
+            q[d >> 2] = b;
+            e = 0;
+            break a;
+           }
+           f = b + 2 | 0;
+           break i;
+          }
+          e = -5;
+          f = b + 1 | 0;
+          if ((c - f | 0) < 1) {
+           break a;
+          }
+          if (r[f | 0] != 93) {
+           break i;
+          }
+          b = b + 2 | 0;
+          if ((c - b | 0) < 1) {
+           break a;
+          }
+          if (r[b | 0] != 62) {
+           break i;
+          }
+          q[d >> 2] = b;
+          e = 0;
+          break a;
+         }
+         da : {
+          ea : {
+           e = c - f | 0;
+           if ((e | 0) >= 1) {
+            while (1) {
+             b = f;
+             f = r[r[b | 0] + j | 0];
+             fa : {
+              if (f >>> 0 <= 10) {
+               ga : {
+                switch (f - 4 | 0) {
+                case 1:
+                 if ((e | 0) < 2) {
+                  break ea;
+                 }
+                 if (n[q[a + 352 >> 2]](a, b)) {
+                  break ea;
+                 }
+                 f = b + 2 | 0;
+                 break fa;
+                case 2:
+                 if ((e | 0) < 3) {
+                  break ea;
+                 }
+                 if (n[q[a + 356 >> 2]](a, b)) {
+                  break ea;
+                 }
+                 f = b + 3 | 0;
+                 break fa;
+                case 3:
+                 if ((e | 0) < 4) {
+                  break ea;
+                 }
+                 if (n[q[a + 360 >> 2]](a, b)) {
+                  break ea;
+                 }
+                 f = b + 4 | 0;
+                 break fa;
+                case 0:
+                 break ga;
+                default:
+                 break ea;
+                }
+               }
+               if ((e | 0) < 2) {
+                break ea;
+               }
+               f = b + 1 | 0;
+               if (r[b + 1 | 0] != 93) {
+                break fa;
+               }
+               if ((e | 0) < 3) {
+                break ea;
+               }
+               if (r[b + 2 | 0] != 62) {
+                break fa;
+               }
+               q[d >> 2] = b + 2;
+               e = 0;
+               break a;
+              }
+              f = b + 1 | 0;
+             }
+             e = c - f | 0;
+             if ((e | 0) > 0) {
+              continue;
+             }
+             break;
+            }
+           }
+           q[d >> 2] = f;
+           break da;
+          }
+          q[d >> 2] = b;
+         }
+         e = 6;
+         break a;
+        }
+        q[d >> 2] = b + 1;
+        e = 7;
+        break a;
+       }
+       a = b + 1 | 0;
+       if ((c - a | 0) < 1) {
+        e = -3;
+        break a;
+       }
+       q[d >> 2] = r[r[b + 1 | 0] + j | 0] == 10 ? b + 2 | 0 : a;
+       e = 7;
+       break a;
+      }
+      e = OT(a, b + 1 | 0, c, d);
+      break a;
+     }
+     q[d >> 2] = b;
+     e = 0;
+     break a;
+    }
+    b = b + h | 0;
+    g = c - b | 0;
+    if ((g | 0) < 1) {
+     e = -1;
+     break a;
+    }
+    ha : {
+     ia : {
+      ja : {
+       while (1) {
+        f = r[r[b | 0] + j | 0] + -5 | 0;
+        if (f >>> 0 > 24) {
+         break ha;
+        }
+        e = 1;
+        ka : {
+         la : {
+          switch (f - 1 | 0) {
+          default:
+           if ((g | 0) < 2) {
+            e = -2;
+            break a;
+           }
+           e = 2;
+           if (n[q[a + 328 >> 2]](a, b)) {
+            break ka;
+           }
+           break ha;
+          case 0:
+           if ((g | 0) < 3) {
+            e = -2;
+            break a;
+           }
+           e = 3;
+           if (!n[q[a + 332 >> 2]](a, b)) {
+            break ha;
+           }
+           break ka;
+          case 2:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+          case 22:
+          case 23:
+           break ha;
+          case 5:
+           break ia;
+          case 3:
+          case 4:
+          case 15:
+           break ja;
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+           break ka;
+          case 1:
+           break la;
+          }
+         }
+         if ((g | 0) < 4) {
+          e = -2;
+          break a;
+         }
+         e = 4;
+         if (!n[q[a + 336 >> 2]](a, b)) {
+          break ha;
+         }
+        }
+        b = b + e | 0;
+        g = c - b | 0;
+        if ((g | 0) > 0) {
+         continue;
+        }
+        break;
+       }
+       e = -1;
+       break a;
+      }
+      e = b + 1 | 0;
+      if ((c - e | 0) < 1) {
+       e = -1;
+       break a;
+      }
+      while (1) {
+       ma : {
+        na : {
+         a = r[r[b + 1 | 0] + j | 0] + -9 | 0;
+         if (a >>> 0 > 12) {
+          break na;
+         }
+         oa : {
+          switch (a - 2 | 0) {
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+           break na;
+          case 0:
+           break oa;
+          default:
+           break ma;
+          }
+         }
+         q[d >> 2] = b + 2;
+         e = 5;
+         break a;
+        }
+        q[d >> 2] = e;
+        e = 0;
+        break a;
+       }
+       b = e;
+       e = b + 1 | 0;
+       if ((c - e | 0) > 0) {
+        continue;
+       }
+       break;
+      }
+      e = -1;
+      break a;
+     }
+     q[d >> 2] = b + 1;
+     e = 5;
+     break a;
+    }
+    q[d >> 2] = b;
+    e = 0;
+    break a;
+   }
+   q[d >> 2] = a;
+   e = 0;
+   break a;
+  }
+  q[d >> 2] = f;
+  e = 0;
+ }
+ Ca = i + 16 | 0;
+ return e | 0;
+}
+function ck(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0;
+ g = Ca - 96 | 0;
+ Ca = g;
+ a : {
+  b : {
+   i = q[q[b + 96 >> 2] + 4 >> 2];
+   h = jg(i, 9576);
+   if (!h) {
+    break b;
+   }
+   D = kg(q[b + 96 >> 2], 9892, 1);
+   E = jg(i, 12632);
+   f = jg(i, 12641);
+   if (!f) {
+    break b;
+   }
+   q[b + 556 >> 2] = f;
+   F = kg(q[b + 96 >> 2], 9848, 1);
+   f = yg(a, 0);
+   q[g + 4 >> 2] = f;
+   if (f) {
+    break a;
+   }
+   f = n[q[h + 4 >> 2]](a, b, c, d, e) | 0;
+   q[g + 4 >> 2] = f;
+   c : {
+    if (!f) {
+     if (q[b + 148 >> 2] != 1330926671) {
+      f = 2;
+      q[g + 4 >> 2] = 2;
+      break a;
+     }
+     f = 0;
+     if ((c | 0) < 0) {
+      break a;
+     }
+     f = n[q[b + 516 >> 2]](b, 1751474532, a, 0) | 0;
+     q[g + 4 >> 2] = f;
+     d : {
+      if (!f) {
+       f = n[q[h + 8 >> 2]](a, b, c, d, e) | 0;
+       q[g + 4 >> 2] = f;
+       if (!f) {
+        break d;
+       }
+       break a;
+      }
+      f = n[q[h + 32 >> 2]](b, a) | 0;
+      q[g + 4 >> 2] = f;
+      if (f) {
+       break a;
+      }
+      y = 1;
+     }
+     f = n[q[b + 516 >> 2]](b, 1128678962, a, 0) | 0;
+     q[g + 4 >> 2] = f;
+     if (!f) {
+      d = 1;
+      o[b + 732 | 0] = 1;
+      e = 1;
+      break c;
+     }
+     if ((f & 255) != 142) {
+      break a;
+     }
+     e = 0;
+     f = n[q[b + 516 >> 2]](b, 1128678944, a, 0) | 0;
+     q[g + 4 >> 2] = f;
+     if (f) {
+      break a;
+     }
+     d = 1;
+     break c;
+    }
+    d = 0;
+    f = yg(a, 0);
+    q[g + 4 >> 2] = f;
+    if (f) {
+     break a;
+    }
+    q[g + 4 >> 2] = 0;
+    y = 1;
+    e = 0;
+   }
+   B = q[b + 100 >> 2];
+   h = Oe(B, 3136, g + 4 | 0);
+   f = q[g + 4 >> 2];
+   if (f) {
+    break a;
+   }
+   q[b + 712 >> 2] = h;
+   A = q[a + 28 >> 2];
+   h = Z$(h, 0, 3136);
+   q[g + 80 >> 2] = 0;
+   q[g + 72 >> 2] = 0;
+   q[g + 76 >> 2] = 0;
+   f = g - -64 | 0;
+   q[f >> 2] = 0;
+   q[f + 4 >> 2] = 0;
+   q[g + 56 >> 2] = 0;
+   q[g + 60 >> 2] = 0;
+   q[g + 48 >> 2] = 0;
+   q[g + 52 >> 2] = 0;
+   v = q[a + 8 >> 2];
+   o[h + 32 | 0] = e;
+   q[h + 8 >> 2] = A;
+   q[h + 4 >> 2] = a;
+   q[h >> 2] = i;
+   q[h + 12 >> 2] = v;
+   f = Xg(a, 12672, h);
+   q[g + 84 >> 2] = f;
+   e : {
+    if (f) {
+     break e;
+    }
+    f : {
+     if (e) {
+      if (!(r[h + 26 | 0] > 4 ? r[h + 24 | 0] == 2 : 0)) {
+       q[g + 84 >> 2] = 2;
+       break e;
+      }
+      I = h, J = Bg(a, g + 84 | 0), q[I + 28 >> 2] = J;
+      if (q[g + 84 >> 2]) {
+       break e;
+      }
+      m = r[h + 26 | 0];
+      break f;
+     }
+     f = Tg(a, g + 84 | 0);
+     if (q[g + 84 >> 2]) {
+      break e;
+     }
+     if (!(r[h + 24 | 0] != 1 | (f & 255) >>> 0 > 4)) {
+      m = r[h + 26 | 0];
+      if (m >>> 0 > 3) {
+       break f;
+      }
+     }
+     q[g + 84 >> 2] = 2;
+     break e;
+    }
+    f = yg(a, v + (m & 255) | 0);
+    q[g + 84 >> 2] = f;
+    if (f) {
+     if (!y) {
+      break e;
+     }
+     q[g + 84 >> 2] = 2;
+     break e;
+    }
+    g : {
+     if (e) {
+      q[h + 1264 >> 2] = 0;
+      q[h + 1268 >> 2] = 0;
+      q[h + 1240 >> 2] = 0;
+      q[h + 1244 >> 2] = 0;
+      q[h + 1272 >> 2] = 0;
+      f = h + 1256 | 0;
+      q[f >> 2] = 0;
+      q[f + 4 >> 2] = 0;
+      f = h + 1248 | 0;
+      q[f >> 2] = 0;
+      q[f + 4 >> 2] = 0;
+      q[h + 1260 >> 2] = q[a + 8 >> 2];
+      f = q[h + 28 >> 2];
+      q[h + 1264 >> 2] = f;
+      f = Ag(a, f);
+      q[g + 84 >> 2] = f;
+      if (f) {
+       break e;
+      }
+      f = dk(h + 108 | 0, a, 1, e);
+      q[g + 84 >> 2] = f;
+      if (f) {
+       break e;
+      }
+      break g;
+     }
+     f = dk(h + 36 | 0, a, 0, 0);
+     q[g + 84 >> 2] = f;
+     if (f) {
+      if (!y) {
+       break e;
+      }
+      q[g + 84 >> 2] = 2;
+      break e;
+     }
+     f = q[h + 48 >> 2];
+     if (!(f >>> 0 < 2 | t[h + 60 >> 2] >= f >>> 0)) {
+      q[g + 84 >> 2] = y ? 2 : 3;
+      break e;
+     }
+     f = dk(h + 1240 | 0, a, 0, 0);
+     q[g + 84 >> 2] = f;
+     if (f) {
+      break e;
+     }
+     f = dk(g + 48 | 0, a, 1, 0);
+     q[g + 84 >> 2] = f;
+     if (f) {
+      break e;
+     }
+     f = dk(h + 108 | 0, a, 1, 0);
+     q[g + 84 >> 2] = f;
+     if (f) {
+      break e;
+     }
+     f = ek(g + 48 | 0, h + 1360 | 0, h + 1364 | 0, h + 1368 | 0);
+     q[g + 84 >> 2] = f;
+     if (f) {
+      break e;
+     }
+     if (t[h + 48 >> 2] <= t[h + 1252 >> 2]) {
+      break g;
+     }
+     q[g + 84 >> 2] = 3;
+     break e;
+    }
+    q[h + 1356 >> 2] = q[g + 60 >> 2];
+    h : {
+     i : {
+      if (y) {
+       m = c & 65535;
+       f = q[h + 48 >> 2];
+       if ((c | 0) < 1 | m >>> 0 < f >>> 0) {
+        break i;
+       }
+       q[g + 84 >> 2] = 6;
+       break e;
+      }
+      m = 0;
+      if (t[h + 48 >> 2] < 2) {
+       break h;
+      }
+      q[g + 84 >> 2] = 3;
+      break e;
+     }
+     q[h + 16 >> 2] = f;
+    }
+    if ((c | 0) < 0) {
+     break e;
+    }
+    f = fk(h + 1372 | 0, h + 1240 | 0, m, a, v, e ? 12288 : 4096, h, b);
+    q[g + 84 >> 2] = f;
+    if (f) {
+     break e;
+    }
+    f = yg(a, v + q[h + 1484 >> 2] | 0);
+    q[g + 84 >> 2] = f;
+    if (f) {
+     break e;
+    }
+    f = dk(h + 1204 | 0, a, 0, e);
+    q[g + 84 >> 2] = f;
+    if (f) {
+     break e;
+    }
+    j : {
+     if (!(q[h + 1504 >> 2] == 65535 ? !e : 0)) {
+      f = q[a + 28 >> 2];
+      i = q[h + 1552 >> 2];
+      q[g + 92 >> 2] = 3;
+      l = h + 3112 | 0;
+      k : {
+       l : {
+        if (!i) {
+         break l;
+        }
+        i = yg(a, i + v | 0);
+        q[g + 92 >> 2] = i;
+        if (i) {
+         break k;
+        }
+        i = Ag(a, 2);
+        q[g + 92 >> 2] = i;
+        if (i) {
+         break k;
+        }
+        x = q[a + 8 >> 2];
+        i = Bg(a, g + 92 | 0);
+        if (q[g + 92 >> 2]) {
+         break k;
+        }
+        if ((i | 0) != 1) {
+         q[g + 92 >> 2] = 3;
+         break k;
+        }
+        i = Eg(a, g + 92 | 0);
+        if (q[g + 92 >> 2]) {
+         break k;
+        }
+        u = Bg(a, g + 92 | 0);
+        q[l >> 2] = u;
+        if (q[g + 92 >> 2]) {
+         break k;
+        }
+        j = Te(f, 4, 0, u, 0, g + 92 | 0);
+        if (q[g + 92 >> 2]) {
+         break k;
+        }
+        if (q[l >> 2]) {
+         while (1) {
+          I = (k << 2) + j | 0, J = Eg(a, g + 92 | 0), q[I >> 2] = J;
+          if (q[g + 92 >> 2]) {
+           break k;
+          }
+          k = k + 1 | 0;
+          if (k >>> 0 < t[l >> 2]) {
+           continue;
+          }
+          break;
+         }
+        }
+        i = yg(a, i + x | 0);
+        q[g + 92 >> 2] = i;
+        if (i) {
+         break k;
+        }
+        I = h, J = Bg(a, g + 92 | 0), p[I + 3120 >> 1] = J;
+        if (q[g + 92 >> 2]) {
+         break k;
+        }
+        i = Bg(a, g + 92 | 0);
+        q[h + 3124 >> 2] = i;
+        if (q[g + 92 >> 2]) {
+         break k;
+        }
+        u = Te(f, 4, 0, i, 0, g + 92 | 0);
+        q[h + 3128 >> 2] = u;
+        if (q[g + 92 >> 2]) {
+         break k;
+        }
+        m : {
+         if (!q[h + 3124 >> 2]) {
+          break m;
+         }
+         i = Te(f, 12, 0, s[h + 3120 >> 1], 0, g + 92 | 0);
+         q[u >> 2] = i;
+         if (q[g + 92 >> 2]) {
+          break k;
+         }
+         while (1) {
+          n : {
+           if (!s[h + 3120 >> 1]) {
+            i = 0;
+            break n;
+           }
+           z = Bg(a, g + 92 | 0);
+           if (q[g + 92 >> 2]) {
+            break k;
+           }
+           k = 0;
+           while (1) {
+            G = Bg(a, g + 92 | 0);
+            if (q[g + 92 >> 2]) {
+             break k;
+            }
+            H = Bg(a, g + 92 | 0);
+            if (q[g + 92 >> 2]) {
+             break k;
+            }
+            i = w(k, 12) + i | 0;
+            q[i + 8 >> 2] = H << 16 >> 16 << 2;
+            q[i + 4 >> 2] = G << 16 >> 16 << 2;
+            q[i >> 2] = z << 16 >> 16 << 2;
+            k = k + 1 | 0;
+            i = s[h + 3120 >> 1];
+            if (k >>> 0 >= i >>> 0) {
+             break n;
+            }
+            i = q[u >> 2];
+            z = Bg(a, g + 92 | 0);
+            if (!q[g + 92 >> 2]) {
+             continue;
+            }
+            break;
+           }
+           break k;
+          }
+          C = C + 1 | 0;
+          if (C >>> 0 >= t[h + 3124 >> 2]) {
+           break m;
+          }
+          u = q[h + 3128 >> 2] + (C << 2) | 0;
+          i = Te(f, 12, 0, i, 0, g + 92 | 0);
+          q[u >> 2] = i;
+          if (!q[g + 92 >> 2]) {
+           continue;
+          }
+          break;
+         }
+         break k;
+        }
+        k = Te(f, 8, 0, q[h + 3112 >> 2], 0, g + 92 | 0);
+        q[h + 3116 >> 2] = k;
+        if (q[g + 92 >> 2]) {
+         break k;
+        }
+        if (!q[l >> 2]) {
+         break l;
+        }
+        i = yg(a, x + q[j >> 2] | 0);
+        q[g + 92 >> 2] = i;
+        if (i) {
+         break k;
+        }
+        i = 0;
+        while (1) {
+         u = Ag(a, 4);
+         q[g + 92 >> 2] = u;
+         if (u) {
+          break k;
+         }
+         u = (i << 3) + k | 0;
+         k = Bg(a, g + 92 | 0);
+         q[u >> 2] = k;
+         if (q[g + 92 >> 2]) {
+          break k;
+         }
+         I = u, J = Te(f, 4, 0, k, 0, g + 92 | 0), q[I + 4 >> 2] = J;
+         if (q[g + 92 >> 2]) {
+          break k;
+         }
+         if (q[u >> 2]) {
+          z = u + 4 | 0;
+          k = 0;
+          while (1) {
+           C = Bg(a, g + 92 | 0);
+           q[q[z >> 2] + (k << 2) >> 2] = C;
+           if (q[g + 92 >> 2]) {
+            break k;
+           }
+           k = k + 1 | 0;
+           if (k >>> 0 < t[u >> 2]) {
+            continue;
+           }
+           break;
+          }
+         }
+         i = i + 1 | 0;
+         if (i >>> 0 >= t[l >> 2]) {
+          break l;
+         }
+         k = q[h + 3116 >> 2];
+         u = yg(a, x + q[(i << 2) + j >> 2] | 0);
+         q[g + 92 >> 2] = u;
+         if (!u) {
+          continue;
+         }
+         break;
+        }
+        break k;
+       }
+       q[g + 92 >> 2] = 0;
+      }
+      Qe(f, j);
+      o : {
+       if (!q[g + 92 >> 2]) {
+        q[g + 84 >> 2] = 0;
+        break o;
+       }
+       gk(l, f);
+       f = q[g + 92 >> 2];
+       q[g + 84 >> 2] = f;
+       if (f) {
+        break e;
+       }
+      }
+      f = yg(a, v + q[h + 1536 >> 2] | 0);
+      q[g + 84 >> 2] = f;
+      if (f) {
+       break e;
+      }
+      i = 0;
+      f = dk(g + 8 | 0, a, 0, e);
+      q[g + 84 >> 2] = f;
+      if (f) {
+       break e;
+      }
+      f = q[g + 20 >> 2];
+      p : {
+       if (f >>> 0 > 256) {
+        break p;
+       }
+       q[h + 2024 >> 2] = f;
+       j = 0;
+       f = Te(A, 652, 0, f, 0, g + 84 | 0);
+       i = q[g + 84 >> 2];
+       if (i) {
+        break p;
+       }
+       i = q[g + 20 >> 2];
+       if (i) {
+        while (1) {
+         q[(h + (j << 2) | 0) + 2028 >> 2] = f + w(j, 652);
+         j = j + 1 | 0;
+         if ((i | 0) != (j | 0)) {
+          continue;
+         }
+         break;
+        }
+        l = e ? 16384 : 4096;
+        f = 0;
+        while (1) {
+         i = fk(q[(h + (f << 2) | 0) + 2028 >> 2], g + 8 | 0, f, a, v, l, h, b);
+         q[g + 84 >> 2] = i;
+         if (i) {
+          break p;
+         }
+         f = f + 1 | 0;
+         j = q[g + 20 >> 2];
+         if (f >>> 0 < j >>> 0) {
+          continue;
+         }
+         break;
+        }
+       }
+       if (j >>> 0 <= 1) {
+        i = 0;
+        if (e) {
+         break p;
+        }
+       }
+       f = q[h + 1216 >> 2];
+       i = yg(a, v + q[h + 1540 >> 2] | 0);
+       q[g + 92 >> 2] = i;
+       q : {
+        if (i) {
+         break q;
+        }
+        j = Tg(a, g + 92 | 0);
+        i = q[g + 92 >> 2];
+        if (i) {
+         break q;
+        }
+        q[h + 3072 >> 2] = 0;
+        o[h + 3052 | 0] = j;
+        i = 3;
+        j = j & 255;
+        r : {
+         if (j >>> 0 > 3) {
+          break r;
+         }
+         s : {
+          switch (j - 1 | 0) {
+          case 2:
+           f = Bg(a, g + 92 | 0);
+           i = q[g + 92 >> 2];
+           if (i) {
+            break q;
+           }
+           if (!f) {
+            i = 3;
+            break r;
+           }
+           f = w(f, 3) + 2 | 0;
+           break;
+          case 0:
+          case 1:
+           break r;
+          default:
+           break s;
+          }
+         }
+         q[h + 3064 >> 2] = f;
+         i = Jg(a, f, h + 3060 | 0);
+        }
+        q[g + 92 >> 2] = i;
+       }
+       q[g + 84 >> 2] = i;
+      }
+      f = q[g + 8 >> 2];
+      if (f) {
+       i = g + 40 | 0;
+       j = q[f + 28 >> 2];
+       if (q[g + 40 >> 2]) {
+        Lg(f, i);
+       }
+       Qe(j, q[g + 36 >> 2]);
+       q[i >> 2] = 0;
+       q[g + 32 >> 2] = 0;
+       q[g + 36 >> 2] = 0;
+       q[g + 24 >> 2] = 0;
+       q[g + 28 >> 2] = 0;
+       q[g + 16 >> 2] = 0;
+       q[g + 20 >> 2] = 0;
+       q[g + 8 >> 2] = 0;
+       q[g + 12 >> 2] = 0;
+       i = q[g + 84 >> 2];
+      }
+      if (!i) {
+       break j;
+      }
+      break e;
+     }
+     q[h + 2024 >> 2] = 0;
+    }
+    if (!q[h + 1484 >> 2]) {
+     q[g + 84 >> 2] = 3;
+     break e;
+    }
+    q[h + 20 >> 2] = q[h + 1216 >> 2];
+    f = ek(h + 108 | 0, h + 1352 | 0, 0, 0);
+    q[g + 84 >> 2] = f;
+    if (f) {
+     break e;
+    }
+    t : {
+     if (e) {
+      break t;
+     }
+     j = q[h + 20 >> 2];
+     if (!j) {
+      break t;
+     }
+     l = q[a + 28 >> 2];
+     x = q[h + 1504 >> 2];
+     f = q[h + 1476 >> 2];
+     q[g + 92 >> 2] = 0;
+     u = h + 1180 | 0;
+     u : {
+      v : {
+       w : {
+        x : {
+         if (f >>> 0 >= 3) {
+          f = f + v | 0;
+          q[h + 1184 >> 2] = f;
+          f = yg(a, f);
+          q[g + 92 >> 2] = f;
+          if (f) {
+           break v;
+          }
+          I = u, J = Tg(a, g + 92 | 0) & 255, q[I >> 2] = J;
+          if (q[g + 92 >> 2]) {
+           break v;
+          }
+          f = Te(l, 2, 0, j, 0, g + 92 | 0);
+          q[h + 1188 >> 2] = f;
+          if (q[g + 92 >> 2]) {
+           break v;
+          }
+          p[f >> 1] = 0;
+          f = q[u >> 2];
+          if (f >>> 0 <= 2) {
+           y : {
+            switch (f - 1 | 0) {
+            default:
+             f = 1;
+             i = Kg(a, (j << 1) + -2 | 0);
+             q[g + 92 >> 2] = i;
+             if (i) {
+              break v;
+             }
+             if (j >>> 0 >= 2) {
+              while (1) {
+               i = Pg(a);
+               p[q[h + 1188 >> 2] + (f << 1) >> 1] = i;
+               f = f + 1 | 0;
+               if ((j | 0) != (f | 0)) {
+                continue;
+               }
+               break;
+              }
+             }
+             Ng(a);
+             break x;
+            case 0:
+            case 1:
+             break y;
+            }
+           }
+           f = 1;
+           if (j >>> 0 <= 1) {
+            break x;
+           }
+           while (1) {
+            i = Bg(a, g + 92 | 0);
+            if (q[g + 92 >> 2]) {
+             break v;
+            }
+            z : {
+             if (q[u >> 2] == 2) {
+              k = Bg(a, g + 92 | 0);
+              if (!q[g + 92 >> 2]) {
+               break z;
+              }
+              break v;
+             }
+             k = Tg(a, g + 92 | 0);
+             if (q[g + 92 >> 2]) {
+              break v;
+             }
+             k = k & 255;
+            }
+            A : {
+             if (f >>> 0 >= j >>> 0) {
+              break A;
+             }
+             A = (k ^ 65535) >>> 0 < i >>> 0 ? i ^ 65535 : k;
+             z = q[h + 1188 >> 2];
+             k = 0;
+             while (1) {
+              p[z + (f << 1) >> 1] = i;
+              f = f + 1 | 0;
+              if (k >>> 0 >= A >>> 0) {
+               break A;
+              }
+              i = i + 1 | 0;
+              k = k + 1 | 0;
+              if (f >>> 0 < j >>> 0) {
+               continue;
+              }
+              break;
+             }
+            }
+            if (f >>> 0 < j >>> 0) {
+             continue;
+            }
+            break;
+           }
+           break x;
+          }
+          q[g + 92 >> 2] = 3;
+          break v;
+         }
+         q[h + 1184 >> 2] = f;
+         if (f >>> 0 > 2) {
+          break w;
+         }
+         B : {
+          switch (f - 1 | 0) {
+          default:
+           if (j >>> 0 >= 230) {
+            q[g + 92 >> 2] = 3;
+            break v;
+           }
+           f = Te(l, 2, 0, j, 0, g + 92 | 0);
+           q[h + 1188 >> 2] = f;
+           if (q[g + 92 >> 2]) {
+            break v;
+           }
+           Y$(f, 12704, j << 1);
+           break x;
+          case 0:
+           if (j >>> 0 >= 167) {
+            q[g + 92 >> 2] = 3;
+            break v;
+           }
+           f = Te(l, 2, 0, j, 0, g + 92 | 0);
+           q[h + 1188 >> 2] = f;
+           if (q[g + 92 >> 2]) {
+            break v;
+           }
+           Y$(f, 13168, j << 1);
+           break x;
+          case 1:
+           break B;
+          }
+         }
+         if (j >>> 0 >= 88) {
+          q[g + 92 >> 2] = 3;
+          break v;
+         }
+         f = Te(l, 2, 0, j, 0, g + 92 | 0);
+         q[h + 1188 >> 2] = f;
+         if (q[g + 92 >> 2]) {
+          break v;
+         }
+         Y$(f, 13504, j << 1);
+        }
+        C : {
+         if (!((x | 0) != 65535 ? y : 0)) {
+          f = q[g + 92 >> 2];
+          break C;
+         }
+         f = 0;
+         q[g + 8 >> 2] = 0;
+         D : {
+          if (q[h + 1196 >> 2]) {
+           break D;
+          }
+          k = q[h + 1188 >> 2];
+          i = 0;
+          while (1) {
+           x = s[k + (i << 1) >> 1];
+           f = x >>> 0 > (f & 65535) >>> 0 ? x : f;
+           i = i + 1 | 0;
+           if ((j | 0) != (i | 0)) {
+            continue;
+           }
+           break;
+          }
+          k = f & 65535;
+          x = Te(l, 2, 0, k + 1 | 0, 0, g + 8 | 0);
+          q[h + 1192 >> 2] = x;
+          f = q[g + 8 >> 2];
+          if (f) {
+           break D;
+          }
+          if ((j | 0) >= 1) {
+           A = q[h + 1188 >> 2];
+           f = j;
+           while (1) {
+            i = f + -1 | 0;
+            p[x + (s[A + (i << 1) >> 1] << 1) >> 1] = i;
+            z = (f | 0) > 1;
+            f = i;
+            if (z) {
+             continue;
+            }
+            break;
+           }
+          }
+          q[h + 1200 >> 2] = j;
+          q[h + 1196 >> 2] = k;
+          f = 0;
+         }
+         q[g + 92 >> 2] = f;
+        }
+        if (f) {
+         break v;
+        }
+        q[g + 84 >> 2] = 0;
+        break u;
+       }
+       q[g + 92 >> 2] = 3;
+      }
+      Qe(l, q[h + 1188 >> 2]);
+      q[h + 1188 >> 2] = 0;
+      Qe(l, q[h + 1192 >> 2]);
+      q[u + 8 >> 2] = 0;
+      q[u + 12 >> 2] = 0;
+      q[u >> 2] = 0;
+      q[u + 4 >> 2] = 0;
+      f = q[g + 92 >> 2];
+      q[g + 84 >> 2] = f;
+      if (f) {
+       break e;
+      }
+     }
+     if (q[h + 1504 >> 2] != 65535) {
+      break t;
+     }
+     f = q[h + 1480 >> 2];
+     l = q[h + 20 >> 2];
+     q[g + 92 >> 2] = 0;
+     E : {
+      F : {
+       G : {
+        H : {
+         k = q[h + 1188 >> 2];
+         if (!k) {
+          break H;
+         }
+         i = Z$(h + 156 | 0, 0, 1024);
+         j = f >>> 0 > 1;
+         I : {
+          if (j) {
+           f = f + v | 0;
+           q[h + 148 >> 2] = f;
+           f = yg(a, f);
+           q[g + 92 >> 2] = f;
+           if (f) {
+            break F;
+           }
+           I = h, J = Tg(a, g + 92 | 0) & 255, q[I + 144 >> 2] = J;
+           f = q[g + 92 >> 2];
+           if (f) {
+            break F;
+           }
+           i = Tg(a, g + 92 | 0);
+           f = q[g + 92 >> 2];
+           if (f) {
+            break F;
+           }
+           f = q[h + 144 >> 2] & 127;
+           if (f >>> 0 > 1) {
+            break H;
+           }
+           v = i & 255;
+           J : {
+            if (f - 1) {
+             q[h + 152 >> 2] = v + 1;
+             f = Kg(a, v);
+             q[g + 92 >> 2] = f;
+             if (f) {
+              break F;
+             }
+             if (i) {
+              j = q[a + 32 >> 2];
+              f = 1;
+              while (1) {
+               if (f >>> 0 < l >>> 0) {
+                i = h + (r[j | 0] << 1) | 0;
+                p[i + 668 >> 1] = f;
+                p[i + 156 >> 1] = s[q[h + 1188 >> 2] + (f << 1) >> 1];
+               }
+               j = j + 1 | 0;
+               i = (f | 0) != (v | 0);
+               f = f + 1 | 0;
+               if (i) {
+                continue;
+               }
+               break;
+              }
+             }
+             Ng(a);
+             break J;
+            }
+            u = 0;
+            q[h + 152 >> 2] = 0;
+            if (!i) {
+             break J;
+            }
+            j = 1;
+            while (1) {
+             x = Tg(a, g + 92 | 0);
+             f = q[g + 92 >> 2];
+             if (f) {
+              break F;
+             }
+             i = Tg(a, g + 92 | 0);
+             f = q[g + 92 >> 2];
+             if (f) {
+              break F;
+             }
+             k = i & 255;
+             f = k + 1 | 0;
+             i = q[h + 152 >> 2];
+             if (i >>> 0 <= k >>> 0) {
+              q[h + 152 >> 2] = f;
+              i = f;
+             }
+             k = f + j | 0;
+             if (j >>> 0 < k >>> 0) {
+              f = x & 255;
+              while (1) {
+               if (!(f >>> 0 > 255 | j >>> 0 >= l >>> 0)) {
+                x = h + (f << 1) | 0;
+                p[x + 668 >> 1] = j;
+                p[x + 156 >> 1] = s[q[h + 1188 >> 2] + (j << 1) >> 1];
+               }
+               f = f + 1 | 0;
+               j = j + 1 | 0;
+               if ((k | 0) != (j | 0)) {
+                continue;
+               }
+               break;
+              }
+             }
+             j = k;
+             u = u + 1 | 0;
+             if ((v | 0) != (u | 0)) {
+              continue;
+             }
+             break;
+            }
+            if (i >>> 0 < 257) {
+             break J;
+            }
+            q[h + 152 >> 2] = 256;
+           }
+           if (!(r[h + 144 | 0] & 128)) {
+            f = q[g + 92 >> 2];
+            break E;
+           }
+           i = Tg(a, g + 92 | 0);
+           f = q[g + 92 >> 2];
+           if (!i | f) {
+            break E;
+           }
+           j = i & 255;
+           k = 0;
+           while (1) {
+            v = Tg(a, g + 92 | 0);
+            f = q[g + 92 >> 2];
+            if (f) {
+             break F;
+            }
+            i = Bg(a, g + 92 | 0);
+            f = q[g + 92 >> 2];
+            if (f) {
+             break F;
+            }
+            v = h + ((v & 255) << 1) | 0;
+            p[v + 156 >> 1] = i;
+            K : {
+             if (!l) {
+              break K;
+             }
+             u = q[h + 1188 >> 2];
+             f = 0;
+             while (1) {
+              if ((i | 0) == s[u + (f << 1) >> 1]) {
+               p[v + 668 >> 1] = f;
+               break K;
+              }
+              f = f + 1 | 0;
+              if ((l | 0) != (f | 0)) {
+               continue;
+              }
+              break;
+             }
+            }
+            k = k + 1 | 0;
+            if ((j | 0) != (k | 0)) {
+             continue;
+            }
+            break;
+           }
+           break I;
+          }
+          if (j) {
+           break H;
+          }
+          L : {
+           if (f - 1) {
+            Y$(i, 9920, 512);
+            break L;
+           }
+           Y$(i, 13680, 512);
+          }
+          q[h + 152 >> 2] = 0;
+          a = q[a + 28 >> 2];
+          q[g + 8 >> 2] = 0;
+          i = q[h + 1196 >> 2];
+          if (!i) {
+           i = 0;
+           u = h;
+           if (l) {
+            f = 0;
+            while (1) {
+             v = s[k + (f << 1) >> 1];
+             i = v >>> 0 > (i & 65535) >>> 0 ? v : i;
+             f = f + 1 | 0;
+             if ((l | 0) != (f | 0)) {
+              continue;
+             }
+             break;
+            }
+            i = i & 65535;
+           }
+           j = Te(a, 2, 0, i + 1 | 0, 0, g + 8 | 0);
+           q[u + 1192 >> 2] = j;
+           f = q[g + 8 >> 2];
+           if (f) {
+            break G;
+           }
+           if ((l | 0) >= 1) {
+            k = q[h + 1188 >> 2];
+            f = l;
+            while (1) {
+             a = f + -1 | 0;
+             p[j + (s[k + (a << 1) >> 1] << 1) >> 1] = a;
+             v = (f | 0) > 1;
+             f = a;
+             if (v) {
+              continue;
+             }
+             break;
+            }
+           }
+           q[h + 1200 >> 2] = l;
+           q[h + 1196 >> 2] = i;
+          }
+          q[g + 92 >> 2] = 0;
+          f = 0;
+          while (1) {
+           M : {
+            N : {
+             a = h + (f << 1) | 0;
+             l = a + 156 | 0;
+             j = s[l >> 1];
+             if (!j | i >>> 0 < j >>> 0) {
+              break N;
+             }
+             j = s[q[h + 1192 >> 2] + (j << 1) >> 1];
+             if (!j) {
+              break N;
+             }
+             p[a + 668 >> 1] = j;
+             f = f + 1 | 0;
+             q[h + 152 >> 2] = f;
+             break M;
+            }
+            p[a + 668 >> 1] = 0;
+            p[l >> 1] = 0;
+            f = f + 1 | 0;
+           }
+           if ((f | 0) != 256) {
+            continue;
+           }
+           break;
+          }
+         }
+         q[g + 84 >> 2] = 0;
+         break t;
+        }
+        f = 3;
+       }
+       q[g + 92 >> 2] = f;
+      }
+      q[g + 84 >> 2] = f;
+      break e;
+     }
+     q[g + 84 >> 2] = f;
+     if (f) {
+      break e;
+     }
+    }
+    f = 0;
+    a = q[h + 36 >> 2];
+    O : {
+     if (!a) {
+      break O;
+     }
+     a = q[a + 28 >> 2];
+     i = h + 36 | 0;
+     j = hk(i, m, g + 8 | 0, g + 92 | 0);
+     q[g + 88 >> 2] = j;
+     if (j) {
+      break O;
+     }
+     f = a;
+     a = q[g + 92 >> 2];
+     f = Oe(f, a + 1 | 0, g + 88 | 0);
+     if (!q[g + 88 >> 2]) {
+      if (a) {
+       Y$(f, q[g + 8 >> 2], a);
+      }
+      o[a + f | 0] = 0;
+     }
+     if (q[h + 68 >> 2]) {
+      break O;
+     }
+     Lg(q[i >> 2], g + 8 | 0);
+    }
+    q[h + 1348 >> 2] = f;
+   }
+   a = q[g + 48 >> 2];
+   if (a) {
+    f = g + 80 | 0;
+    i = q[a + 28 >> 2];
+    if (q[g + 80 >> 2]) {
+     Lg(a, f);
+    }
+    Qe(i, q[g + 76 >> 2]);
+    q[f >> 2] = 0;
+    q[g + 72 >> 2] = 0;
+    q[g + 76 >> 2] = 0;
+    a = g - -64 | 0;
+    q[a >> 2] = 0;
+    q[a + 4 >> 2] = 0;
+    q[g + 56 >> 2] = 0;
+    q[g + 60 >> 2] = 0;
+    q[g + 48 >> 2] = 0;
+    q[g + 52 >> 2] = 0;
+   }
+   f = q[g + 84 >> 2];
+   q[g + 4 >> 2] = f;
+   if (f) {
+    break a;
+   }
+   if ((c | 0) <= -1) {
+    q[b >> 2] = q[h + 16 >> 2];
+    f = 0;
+    break a;
+   }
+   q[h + 3088 >> 2] = F;
+   q[h + 3084 >> 2] = D;
+   q[h + 3080 >> 2] = E;
+   k = c & 65535;
+   q[b + 4 >> 2] = k;
+   q[b + 16 >> 2] = q[h + 20 >> 2];
+   if (q[h + 1504 >> 2] == 65535 ? !D : 0) {
+    break b;
+   }
+   c = c >>> 16 | 0;
+   P : {
+    if (!c) {
+     break P;
+    }
+    f = q[b + 548 >> 2];
+    if (!f | !(q[b + 8 >> 2] & 256)) {
+     break P;
+    }
+    a = q[b + 552 >> 2];
+    f = n[q[f + 28 >> 2]](b, c) | 0;
+    q[g + 4 >> 2] = f;
+    if (f) {
+     break a;
+    }
+    if (!a) {
+     break P;
+    }
+    n[q[a + 28 >> 2]](b);
+   }
+   if (!r[h + 1436 | 0]) {
+    q[h + 1440 >> 2] = y ? 1e3 : s[b + 68 >> 1];
+   }
+   f = q[h + 1432 >> 2];
+   if (!f) {
+    f = q[h + 1428 >> 2];
+   }
+   a = f >> 31;
+   a = a + f ^ a;
+   Q : {
+    if ((a | 0) == 65536) {
+     f = q[h + 1448 >> 2];
+     break Q;
+    }
+    I = h, J = Fe(q[h + 1440 >> 2], a), q[I + 1440 >> 2] = J;
+    I = h, J = Fe(q[h + 1420 >> 2], a), q[I + 1420 >> 2] = J;
+    I = h, J = Fe(q[h + 1428 >> 2], a), q[I + 1428 >> 2] = J;
+    I = h, J = Fe(q[h + 1424 >> 2], a), q[I + 1424 >> 2] = J;
+    I = h, J = Fe(q[h + 1432 >> 2], a), q[I + 1432 >> 2] = J;
+    I = h, J = Fe(q[h + 1444 >> 2], a), q[I + 1444 >> 2] = J;
+    f = Fe(q[h + 1448 >> 2], a);
+    q[h + 1448 >> 2] = f;
+   }
+   q[h + 1448 >> 2] = f >> 16;
+   q[h + 1444 >> 2] = q[h + 1444 >> 2] >> 16;
+   a = q[h + 2024 >> 2];
+   if (a) {
+    v = h + 2028 | 0;
+    i = h + 1420 | 0;
+    j = i + 8 | 0;
+    while (1) {
+     a = a + -1 | 0;
+     c = q[v + (a << 2) >> 2];
+     R : {
+      if (r[c + 64 | 0]) {
+       if (!r[h + 1436 | 0]) {
+        break R;
+       }
+       m = 1;
+       f = q[h + 1440 >> 2];
+       S : {
+        if (f >>> 0 < 2) {
+         break S;
+        }
+        l = q[c + 68 >> 2];
+        if (l >>> 0 < 2) {
+         break S;
+        }
+        m = f >>> 0 < l >>> 0 ? f : l;
+       }
+       He(i, c + 48 | 0, m);
+       Je(c + 72 | 0, i, m);
+       I = c, J = ue(q[c + 68 >> 2], q[h + 1440 >> 2], m), q[I + 68 >> 2] = J;
+       break R;
+      }
+      f = q[i + 4 >> 2];
+      q[c + 48 >> 2] = q[i >> 2];
+      q[c + 52 >> 2] = f;
+      f = q[j + 4 >> 2];
+      q[c + 56 >> 2] = q[j >> 2];
+      q[c + 60 >> 2] = f;
+      f = q[h + 1448 >> 2];
+      q[c + 72 >> 2] = q[h + 1444 >> 2];
+      q[c + 76 >> 2] = f;
+      q[c + 68 >> 2] = q[h + 1440 >> 2];
+     }
+     m = q[c + 60 >> 2];
+     if (!m) {
+      m = q[c + 56 >> 2];
+     }
+     f = m >> 31;
+     f = f + m ^ f;
+     T : {
+      if ((f | 0) == 65536) {
+       m = q[c + 76 >> 2];
+       break T;
+      }
+      I = c, J = Fe(q[c + 68 >> 2], f), q[I + 68 >> 2] = J;
+      I = c, J = Fe(q[c + 48 >> 2], f), q[I + 48 >> 2] = J;
+      l = c + 56 | 0;
+      I = l, J = Fe(q[l >> 2], f), q[I >> 2] = J;
+      l = c + 52 | 0;
+      I = l, J = Fe(q[l >> 2], f), q[I >> 2] = J;
+      I = c, J = Fe(q[c + 60 >> 2], f), q[I + 60 >> 2] = J;
+      I = c, J = Fe(q[c + 72 >> 2], f), q[I + 72 >> 2] = J;
+      l = c + 76 | 0;
+      m = Fe(q[l >> 2], f);
+      q[l >> 2] = m;
+     }
+     q[c + 76 >> 2] = m >> 16;
+     q[c + 72 >> 2] = q[c + 72 >> 2] >> 16;
+     if (a) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (y) {
+    q[b >> 2] = q[h + 16 >> 2];
+    a = b;
+    if (q[h + 1504 >> 2] != 65535) {
+     c = q[h + 1196 >> 2] + 1 | 0;
+    } else {
+     c = q[h + 1216 >> 2];
+    }
+    q[a + 16 >> 2] = c;
+    q[b + 52 >> 2] = q[h + 1456 >> 2] >> 16;
+    a = q[h + 1460 >> 2] >> 16;
+    q[b + 56 >> 2] = a;
+    q[b + 60 >> 2] = q[h + 1464 >> 2] + 65535 >> 16;
+    c = q[h + 1468 >> 2] + 65535 >> 16;
+    q[b - -64 >> 2] = c;
+    f = q[h + 1440 >> 2];
+    p[b + 72 >> 1] = a;
+    p[b + 70 >> 1] = c;
+    p[b + 68 >> 1] = f;
+    a = c - a | 0;
+    c = (w(f & 65535, 12) >>> 0) / 10 | 0;
+    p[b + 74 >> 1] = c << 16 >> 16 < (a | 0) ? a : c;
+    p[b + 80 >> 1] = s[h + 1406 >> 1];
+    p[b + 82 >> 1] = s[h + 1410 >> 1];
+    a = q[h + 1388 >> 2];
+    U : {
+     if (!a | (a | 0) == 65535) {
+      break U;
+     }
+     V : {
+      if (a >>> 0 >= 391) {
+       a = a + -391 | 0;
+       if (t[h + 1356 >> 2] <= a >>> 0) {
+        break U;
+       }
+       a = q[q[h + 1360 >> 2] + (a << 2) >> 2];
+       break V;
+      }
+      c = q[h + 3084 >> 2];
+      if (!c) {
+       break U;
+      }
+      a = n[q[c + 20 >> 2]](a) | 0;
+     }
+     if (!a) {
+      break U;
+     }
+     I = b, J = Zg(B, a, g + 48 | 0), q[I + 20 >> 2] = J;
+    }
+    W : {
+     X : {
+      Y : {
+       a = q[b + 20 >> 2];
+       Z : {
+        if (a) {
+         break Z;
+        }
+        a = 0;
+        c = q[h + 36 >> 2];
+        _ : {
+         if (!c) {
+          break _;
+         }
+         c = q[c + 28 >> 2];
+         f = h + 36 | 0;
+         i = hk(f, k, g + 48 | 0, g + 8 | 0);
+         q[g + 92 >> 2] = i;
+         if (i) {
+          break _;
+         }
+         a = c;
+         c = q[g + 8 >> 2];
+         a = Oe(a, c + 1 | 0, g + 92 | 0);
+         if (!q[g + 92 >> 2]) {
+          if (c) {
+           Y$(a, q[g + 48 >> 2], c);
+          }
+          o[a + c | 0] = 0;
+         }
+         if (q[h + 68 >> 2]) {
+          break _;
+         }
+         Lg(q[f >> 2], g + 48 | 0);
+        }
+        q[b + 20 >> 2] = a;
+        if (!a) {
+         break Y;
+        }
+        c = g0(a);
+        if ((c | 0) < 6) {
+         break Z;
+        }
+        c = c + 1 | 0;
+        while (1) {
+         $ : {
+          if (r[a + 6 | 0] != 43 | (r[a + 5 | 0] + -65 & 255) >>> 0 > 25 | ((r[a + 4 | 0] + -65 & 255) >>> 0 > 25 | (r[a + 3 | 0] + -65 & 255) >>> 0 > 25)) {
+           break $;
+          }
+          if ((r[a + 2 | 0] + -65 & 255) >>> 0 > 25 | (r[a | 0] + -65 & 255) >>> 0 > 25 | (r[a + 1 | 0] + -65 & 255) >>> 0 > 25) {
+           break $;
+          }
+          f = 7;
+          if ((c | 0) < 8) {
+           break $;
+          }
+          while (1) {
+           i = a + f | 0;
+           o[i + -7 | 0] = r[i | 0];
+           f = f + 1 | 0;
+           if ((f | 0) != (c | 0)) {
+            continue;
+           }
+           break;
+          }
+          f = (c | 0) > 13;
+          c = c + -7 | 0;
+          if (f) {
+           continue;
+          }
+         }
+         break;
+        }
+        a = q[b + 20 >> 2];
+        if (!a) {
+         break Y;
+        }
+       }
+       c = q[h + 1384 >> 2];
+       if ((c | 0) == 65535) {
+        break X;
+       }
+       aa : {
+        if (c >>> 0 >= 391) {
+         c = c + -391 | 0;
+         if (t[h + 1356 >> 2] <= c >>> 0) {
+          break X;
+         }
+         f = q[q[h + 1360 >> 2] + (c << 2) >> 2];
+         break aa;
+        }
+        a = q[h + 3084 >> 2];
+        if (!a) {
+         break X;
+        }
+        f = n[q[a + 20 >> 2]](c) | 0;
+        a = q[b + 20 >> 2];
+       }
+       if (!f | !a) {
+        break X;
+       }
+       i = r[f | 0];
+       if (!i) {
+        break X;
+       }
+       while (1) {
+        c = f;
+        ba : {
+         ca : {
+          da : {
+           while (1) {
+            f = i;
+            j = r[a | 0];
+            if ((f | 0) == (j | 0)) {
+             a = a + 1 | 0;
+             break ba;
+            }
+            ea : {
+             l = f + -32 | 0;
+             if (l >>> 0 > 13) {
+              break ea;
+             }
+             switch (l - 1 | 0) {
+             case 0:
+             case 1:
+             case 2:
+             case 3:
+             case 4:
+             case 5:
+             case 6:
+             case 7:
+             case 8:
+             case 9:
+             case 10:
+             case 11:
+              break ea;
+             default:
+              break ba;
+             }
+            }
+            fa : {
+             l = j + -32 | 0;
+             if (l >>> 0 > 13) {
+              if (j) {
+               break X;
+              }
+              f = Zg(B, c, g + 48 | 0);
+              c = q[b + 20 >> 2];
+              i = g0(c);
+              a = g0(f);
+              if ((i | 0) <= (a | 0)) {
+               break ca;
+              }
+              m = 1;
+              if ((a | 0) < 1) {
+               break da;
+              }
+              break fa;
+             }
+             ga : {
+              switch (l - 1 | 0) {
+              case 0:
+              case 1:
+              case 2:
+              case 3:
+              case 4:
+              case 5:
+              case 6:
+              case 7:
+              case 8:
+              case 9:
+              case 10:
+              case 11:
+               break X;
+              default:
+               break ga;
+              }
+             }
+             a = a + 1 | 0;
+             if (f) {
+              continue;
+             }
+             break X;
+            }
+            break;
+           }
+           while (1) {
+            if (r[c + (i - m | 0) | 0] != r[(a - m | 0) + f | 0]) {
+             break W;
+            }
+            j = (a | 0) == (m | 0);
+            m = m + 1 | 0;
+            if (!j) {
+             continue;
+            }
+            break;
+           }
+          }
+          m = i + (a ^ -1) | 0;
+          if ((m | 0) < 1) {
+           break ca;
+          }
+          while (1) {
+           a = c + m | 0;
+           i = r[a | 0];
+           j = i + -32 | 0;
+           if (!((1 << j & 10241 ? j >>> 0 <= 13 : 0) | (i | 0) == 95)) {
+            o[a + 1 | 0] = 0;
+            if (!f) {
+             break X;
+            }
+            break W;
+           }
+           a = (m | 0) > 1;
+           m = m + -1 | 0;
+           if (a) {
+            continue;
+           }
+           break;
+          }
+         }
+         if (!f) {
+          break X;
+         }
+         break W;
+        }
+        f = c + 1 | 0;
+        i = r[c + 1 | 0];
+        if (i) {
+         continue;
+        }
+        break;
+       }
+       break X;
+      }
+      a = q[h + 1544 >> 2];
+      if ((a | 0) == 65535) {
+       break X;
+      }
+      ha : {
+       if (a >>> 0 >= 391) {
+        a = a + -391 | 0;
+        if (t[h + 1356 >> 2] <= a >>> 0) {
+         break X;
+        }
+        a = q[q[h + 1360 >> 2] + (a << 2) >> 2];
+        break ha;
+       }
+       c = q[h + 3084 >> 2];
+       if (!c) {
+        break X;
+       }
+       a = n[q[c + 20 >> 2]](a) | 0;
+      }
+      if (!a) {
+       break X;
+      }
+      I = b, J = Zg(B, a, g + 48 | 0), q[I + 20 >> 2] = J;
+     }
+     f = Zg(B, 12647, g + 48 | 0);
+    }
+    q[b + 24 >> 2] = f;
+    a = d ? 2073 : 2065;
+    q[b + 8 >> 2] = q[b + 8 >> 2] | (r[h + 1396 | 0] ? a | 4 : a);
+    f = q[h + 1400 >> 2] != 0;
+    a = q[h + 1392 >> 2];
+    ia : {
+     if ((a | 0) == 65535) {
+      break ia;
+     }
+     ja : {
+      if (a >>> 0 >= 391) {
+       a = a + -391 | 0;
+       if (t[h + 1356 >> 2] <= a >>> 0) {
+        break ia;
+       }
+       a = q[q[h + 1360 >> 2] + (a << 2) >> 2];
+       break ja;
+      }
+      c = q[h + 3084 >> 2];
+      if (!c) {
+       break ia;
+      }
+      a = n[q[c + 20 >> 2]](a) | 0;
+     }
+     if (!a) {
+      break ia;
+     }
+     if (iZ(a, 12655)) {
+      if (iZ(a, 12660)) {
+       break ia;
+      }
+     }
+     f = f | 2;
+    }
+    ka : {
+     if (f & 2) {
+      break ka;
+     }
+     a = q[b + 24 >> 2];
+     if (!a) {
+      break ka;
+     }
+     if (jZ(a, 12655, 4)) {
+      if (jZ(a, 12660, 5)) {
+       break ka;
+      }
+     }
+     f = f | 2;
+    }
+    q[b + 12 >> 2] = f;
+   }
+   a = q[h + 1504 >> 2];
+   la : {
+    ma : {
+     if (!e) {
+      m = 512;
+      if ((a | 0) == 65535) {
+       break ma;
+      }
+     }
+     if (!y) {
+      break la;
+     }
+     m = 4096;
+     if ((a | 0) == 65535) {
+      break la;
+     }
+    }
+    q[b + 8 >> 2] = q[b + 8 >> 2] | m;
+   }
+   a = q[b + 36 >> 2];
+   na : {
+    oa : {
+     if (a) {
+      c = q[b + 40 >> 2];
+      f = 0;
+      while (1) {
+       d = q[c + (f << 2) >> 2];
+       e = s[d + 8 >> 1];
+       pa : {
+        if (e >>> 0 > 3) {
+         break pa;
+        }
+        qa : {
+         switch (e - 1 | 0) {
+         case 0:
+         case 1:
+          break pa;
+         case 2:
+          break qa;
+         default:
+          break oa;
+         }
+        }
+        if (s[d + 10 >> 1] == 1) {
+         break oa;
+        }
+       }
+       f = f + 1 | 0;
+       if (f >>> 0 < a >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (q[h + 1504 >> 2] != 65535 ? y : 0) {
+      break na;
+     }
+     q[g + 48 >> 2] = b;
+     q[g + 52 >> 2] = 1970170211;
+     q[g + 56 >> 2] = 65539;
+     c = Xf(9340, 0, g + 48 | 0, 0);
+     q[g + 4 >> 2] = c;
+     ra : {
+      if (!c) {
+       break ra;
+      }
+      c = c & 255;
+      if ((c | 0) == 163) {
+       break ra;
+      }
+      if ((c | 0) != 7) {
+       break na;
+      }
+     }
+     q[g + 4 >> 2] = 0;
+     if (q[b + 92 >> 2] | (a | 0) == q[b + 36 >> 2]) {
+      break oa;
+     }
+     q[b + 92 >> 2] = q[q[b + 40 >> 2] + (a << 2) >> 2];
+    }
+    if (!q[h + 152 >> 2]) {
+     break na;
+    }
+    p[g + 56 >> 1] = 7;
+    q[g + 48 >> 2] = b;
+    a = g;
+    b = q[h + 148 >> 2];
+    sa : {
+     if (!b) {
+      p[g + 58 >> 1] = 0;
+      b = 1094995778;
+      break sa;
+     }
+     if ((b | 0) == 1) {
+      p[g + 58 >> 1] = 1;
+      b = 1094992453;
+      break sa;
+     }
+     p[g + 58 >> 1] = 2;
+     b = 1094992451;
+    }
+    q[a + 52 >> 2] = b;
+    I = g, J = Xf(9300, 0, g + 48 | 0, 0), q[I + 4 >> 2] = J;
+   }
+   f = q[g + 4 >> 2];
+   break a;
+  }
+  f = 11;
+  q[g + 4 >> 2] = 11;
+ }
+ Ca = g + 96 | 0;
+ return f | 0;
+}
+function oW(a, b, c, d, e, f, g) {
+ var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, s = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0;
+ h = Ca - 48 | 0;
+ Ca = h;
+ q[h + 36 >> 2] = d;
+ x = q[a + 352 >> 2];
+ a : {
+  if (q[a + 144 >> 2] == (c | 0)) {
+   z = a + 284 | 0;
+   i = a + 288 | 0;
+   break a;
+  }
+  z = q[a + 296 >> 2];
+  i = z + 4 | 0;
+ }
+ C = i;
+ q[z >> 2] = d;
+ D = x + 92 | 0;
+ E = x + 80 | 0;
+ u = a + 424 | 0;
+ w = a + 412 | 0;
+ v = a + 288 | 0;
+ p = a + 284 | 0;
+ m = a + 4 | 0;
+ b : {
+  c : {
+   d : {
+    while (1) {
+     d = q[h + 36 >> 2];
+     q[h + 32 >> 2] = d;
+     i = n[q[c + 4 >> 2]](c, d, e, h + 32 | 0) | 0;
+     d = q[h + 32 >> 2];
+     q[C >> 2] = d;
+     e : {
+      f : {
+       g : {
+        h : {
+         i = i + 5 | 0;
+         if (i >>> 0 <= 18) {
+          k = 17;
+          i : {
+           switch (i - 1 | 0) {
+           case 1:
+            if (g) {
+             q[f >> 2] = q[h + 36 >> 2];
+             k = 0;
+             break b;
+            }
+            q[C >> 2] = e;
+            d = q[a + 60 >> 2];
+            j : {
+             if (d) {
+              o[h | 0] = 10;
+              n[d](q[m >> 2], h, 1);
+              break j;
+             }
+             g = q[a + 80 >> 2];
+             if (!g) {
+              break j;
+             }
+             d = q[h + 36 >> 2];
+             q[h >> 2] = d;
+             if (!r[c + 68 | 0]) {
+              if (q[a + 144 >> 2] != (c | 0)) {
+               p = q[a + 296 >> 2];
+               v = p + 4 | 0;
+              }
+              while (1) {
+               q[h + 44 >> 2] = q[a + 44 >> 2];
+               d = n[q[c + 56 >> 2]](c, h, e, h + 44 | 0, q[a + 48 >> 2]) | 0;
+               q[v >> 2] = q[h >> 2];
+               g = q[a + 44 >> 2];
+               n[q[a + 80 >> 2]](q[a + 4 >> 2], g, q[h + 44 >> 2] - g | 0);
+               q[p >> 2] = q[h >> 2];
+               if (d >>> 0 > 1) {
+                continue;
+               }
+               break;
+              }
+              break j;
+             }
+             n[g](q[m >> 2], d, e - d | 0);
+            }
+            if (!b) {
+             k = 3;
+             break b;
+            }
+            k = 13;
+            if (q[a + 308 >> 2] != (b | 0)) {
+             break b;
+            }
+            break c;
+           case 0:
+            if (g) {
+             q[f >> 2] = q[h + 36 >> 2];
+             k = 0;
+             break b;
+            }
+            if ((b | 0) < 1) {
+             k = 3;
+             break b;
+            }
+            k = 13;
+            if (q[a + 308 >> 2] != (b | 0)) {
+             break b;
+            }
+            q[f >> 2] = q[h + 36 >> 2];
+            k = 0;
+            break b;
+           case 3:
+            if (!g) {
+             k = 5;
+             break b;
+            }
+            q[f >> 2] = q[h + 36 >> 2];
+            k = 0;
+            break b;
+           case 2:
+            if (!g) {
+             k = 6;
+             break b;
+            }
+            q[f >> 2] = q[h + 36 >> 2];
+            k = 0;
+            break b;
+           case 13:
+            i = q[c + 64 >> 2];
+            d = n[q[c + 44 >> 2]](c, i + q[h + 36 >> 2] | 0, d - i | 0) | 0;
+            o[h + 40 | 0] = d;
+            if (d & 255) {
+             d = q[a + 60 >> 2];
+             if (d) {
+              n[d](q[m >> 2], h + 40 | 0, 1);
+              break e;
+             }
+             j = q[a + 80 >> 2];
+             if (!j) {
+              break e;
+             }
+             d = q[h + 32 >> 2];
+             i = q[h + 36 >> 2];
+             q[h >> 2] = i;
+             if (!r[c + 68 | 0]) {
+              j = p;
+              i = v;
+              if (q[a + 144 >> 2] != (c | 0)) {
+               j = q[a + 296 >> 2];
+               i = j + 4 | 0;
+              }
+              while (1) {
+               q[h + 44 >> 2] = q[a + 44 >> 2];
+               k = n[q[c + 56 >> 2]](c, h, d, h + 44 | 0, q[a + 48 >> 2]) | 0;
+               q[i >> 2] = q[h >> 2];
+               l = q[a + 44 >> 2];
+               n[q[a + 80 >> 2]](q[a + 4 >> 2], l, q[h + 44 >> 2] - l | 0);
+               q[j >> 2] = q[h >> 2];
+               if (k >>> 0 > 1) {
+                continue;
+               }
+               break;
+              }
+              break e;
+             }
+             n[j](q[m >> 2], i, d - i | 0);
+             break e;
+            }
+            d = q[h + 32 >> 2];
+            i = q[c + 64 >> 2];
+            q[h >> 2] = i + q[h + 36 >> 2];
+            k : {
+             l : {
+              if (!q[D >> 2]) {
+               if (!_V(E)) {
+                break l;
+               }
+              }
+              d = d - i | 0;
+              while (1) {
+               if (n[q[c + 56 >> 2]](c, h, d, D, q[x + 88 >> 2]) >>> 0 < 2) {
+                break k;
+               }
+               if (_V(E)) {
+                continue;
+               }
+               break;
+              }
+             }
+             k = 1;
+             break b;
+            }
+            k = 1;
+            if (!q[x + 96 >> 2]) {
+             break b;
+            }
+            d = q[x + 92 >> 2];
+            if ((d | 0) == q[x + 88 >> 2]) {
+             if (!_V(E)) {
+              break b;
+             }
+             d = q[D >> 2];
+            }
+            q[x + 92 >> 2] = d + 1;
+            o[d | 0] = 0;
+            d = q[x + 96 >> 2];
+            if (!d) {
+             break b;
+            }
+            j = $V(a, x, d, 0);
+            q[x + 92 >> 2] = q[x + 96 >> 2];
+            m : {
+             if (!(r[x + 130 | 0] ? 0 : r[x + 129 | 0])) {
+              if (!j) {
+               k = 11;
+               break b;
+              }
+              if (r[j + 34 | 0]) {
+               break m;
+              }
+              k = 24;
+              break b;
+             }
+             if (j) {
+              break m;
+             }
+             i = q[a + 120 >> 2];
+             if (i) {
+              n[i](q[m >> 2], d, 0);
+              break e;
+             }
+             j = q[a + 80 >> 2];
+             if (!j) {
+              break e;
+             }
+             d = q[h + 32 >> 2];
+             i = q[h + 36 >> 2];
+             q[h >> 2] = i;
+             if (!r[c + 68 | 0]) {
+              j = p;
+              i = v;
+              if (q[a + 144 >> 2] != (c | 0)) {
+               j = q[a + 296 >> 2];
+               i = j + 4 | 0;
+              }
+              while (1) {
+               q[h + 44 >> 2] = q[a + 44 >> 2];
+               k = n[q[c + 56 >> 2]](c, h, d, h + 44 | 0, q[a + 48 >> 2]) | 0;
+               q[i >> 2] = q[h >> 2];
+               l = q[a + 44 >> 2];
+               n[q[a + 80 >> 2]](q[a + 4 >> 2], l, q[h + 44 >> 2] - l | 0);
+               q[j >> 2] = q[h >> 2];
+               if (k >>> 0 > 1) {
+                continue;
+               }
+               break;
+              }
+              break e;
+             }
+             n[j](q[m >> 2], i, d - i | 0);
+             break e;
+            }
+            if (r[j + 32 | 0]) {
+             k = 12;
+             break b;
+            }
+            if (q[j + 28 >> 2]) {
+             k = 15;
+             break b;
+            }
+            n : {
+             if (q[j + 4 >> 2]) {
+              if (r[a + 304 | 0]) {
+               break n;
+              }
+              d = q[a + 120 >> 2];
+              if (d) {
+               n[d](q[m >> 2], q[j >> 2], 0);
+               break e;
+              }
+              j = q[a + 80 >> 2];
+              if (!j) {
+               break e;
+              }
+              d = q[h + 32 >> 2];
+              i = q[h + 36 >> 2];
+              q[h >> 2] = i;
+              if (!r[c + 68 | 0]) {
+               j = p;
+               i = v;
+               if (q[a + 144 >> 2] != (c | 0)) {
+                j = q[a + 296 >> 2];
+                i = j + 4 | 0;
+               }
+               while (1) {
+                q[h + 44 >> 2] = q[a + 44 >> 2];
+                k = n[q[c + 56 >> 2]](c, h, d, h + 44 | 0, q[a + 48 >> 2]) | 0;
+                q[i >> 2] = q[h >> 2];
+                l = q[a + 44 >> 2];
+                n[q[a + 80 >> 2]](q[a + 4 >> 2], l, q[h + 44 >> 2] - l | 0);
+                q[j >> 2] = q[h >> 2];
+                if (k >>> 0 > 1) {
+                 continue;
+                }
+                break;
+               }
+               break e;
+              }
+              n[j](q[m >> 2], i, d - i | 0);
+              break e;
+             }
+             o : {
+              if (q[a + 112 >> 2]) {
+               o[j + 32 | 0] = 1;
+               y = q[a + 352 >> 2];
+               p : {
+                if (!q[y + 156 >> 2]) {
+                 s = 0;
+                 break p;
+                }
+                d = q[a + 424 >> 2];
+                if ((d | 0) == q[a + 420 >> 2]) {
+                 if (!_V(w)) {
+                  break o;
+                 }
+                 d = q[u >> 2];
+                }
+                s = 1;
+                q[a + 424 >> 2] = d + 1;
+                o[d | 0] = 61;
+                l = 0;
+                i = q[q[y + 156 >> 2] + 20 >> 2] - (r[a + 468 | 0] != 0) | 0;
+                if ((i | 0) < 1) {
+                 break p;
+                }
+                while (1) {
+                 d = q[a + 424 >> 2];
+                 if ((d | 0) == q[a + 420 >> 2]) {
+                  if (!_V(w)) {
+                   break o;
+                  }
+                  d = q[u >> 2];
+                 }
+                 A = r[q[q[y + 156 >> 2] + 16 >> 2] + l | 0];
+                 q[u >> 2] = d + 1;
+                 o[d | 0] = A;
+                 l = l + 1 | 0;
+                 if ((i | 0) != (l | 0)) {
+                  continue;
+                 }
+                 break;
+                }
+               }
+               d = q[y + 60 >> 2];
+               F = d + (q[y + 68 >> 2] << 2) | 0;
+               while (1) {
+                if ((d | 0) != (F | 0)) {
+                 A = q[d >> 2];
+                 i = d + 4 | 0;
+                 d = i;
+                 if (!A) {
+                  continue;
+                 }
+                 d = i;
+                 if (!q[A + 4 >> 2]) {
+                  continue;
+                 }
+                 if (s & 255) {
+                  d = q[a + 424 >> 2];
+                  if ((d | 0) == q[a + 420 >> 2]) {
+                   if (!_V(w)) {
+                    break o;
+                   }
+                   d = q[u >> 2];
+                  }
+                  q[u >> 2] = d + 1;
+                  o[d | 0] = 12;
+                 }
+                 d = q[a + 424 >> 2];
+                 B = (d | 0) == q[a + 420 >> 2];
+                 s = q[A >> 2];
+                 l = r[s | 0];
+                 if (l) {
+                  while (1) {
+                   if (B) {
+                    if (!_V(w)) {
+                     break o;
+                    }
+                    l = r[s | 0];
+                    d = q[u >> 2];
+                   }
+                   q[a + 424 >> 2] = d + 1;
+                   o[d | 0] = l;
+                   d = q[a + 424 >> 2];
+                   B = (d | 0) == q[a + 420 >> 2];
+                   l = r[s + 1 | 0];
+                   s = s + 1 | 0;
+                   if (l) {
+                    continue;
+                   }
+                   break;
+                  }
+                 }
+                 if (B) {
+                  if (!_V(w)) {
+                   break o;
+                  }
+                  d = q[u >> 2];
+                 }
+                 s = 1;
+                 q[a + 424 >> 2] = d + 1;
+                 o[d | 0] = 61;
+                 l = 0;
+                 d = i;
+                 B = q[q[A + 4 >> 2] + 20 >> 2] - (r[a + 468 | 0] != 0) | 0;
+                 if ((B | 0) < 1) {
+                  continue;
+                 }
+                 while (1) {
+                  d = q[a + 424 >> 2];
+                  if ((d | 0) == q[a + 420 >> 2]) {
+                   if (!_V(w)) {
+                    break o;
+                   }
+                   d = q[u >> 2];
+                  }
+                  G = r[q[q[A + 4 >> 2] + 16 >> 2] + l | 0];
+                  q[u >> 2] = d + 1;
+                  o[d | 0] = G;
+                  l = l + 1 | 0;
+                  if ((B | 0) != (l | 0)) {
+                   continue;
+                  }
+                  break;
+                 }
+                 d = i;
+                 continue;
+                }
+                break;
+               }
+               d = q[y >> 2];
+               A = d + (q[y + 8 >> 2] << 2) | 0;
+               while (1) {
+                if ((d | 0) != (A | 0)) {
+                 l = q[d >> 2];
+                 i = d + 4 | 0;
+                 d = i;
+                 if (!l) {
+                  continue;
+                 }
+                 d = i;
+                 if (!r[l + 32 | 0]) {
+                  continue;
+                 }
+                 if (s & 255) {
+                  d = q[a + 424 >> 2];
+                  if ((d | 0) == q[a + 420 >> 2]) {
+                   if (!_V(w)) {
+                    break o;
+                   }
+                   d = q[u >> 2];
+                  }
+                  q[u >> 2] = d + 1;
+                  o[d | 0] = 12;
+                 }
+                 s = 1;
+                 d = i;
+                 l = q[l >> 2];
+                 y = r[l | 0];
+                 if (!y) {
+                  continue;
+                 }
+                 while (1) {
+                  d = q[a + 424 >> 2];
+                  if ((d | 0) == q[a + 420 >> 2]) {
+                   if (!_V(w)) {
+                    break o;
+                   }
+                   y = r[l | 0];
+                   d = q[u >> 2];
+                  }
+                  q[u >> 2] = d + 1;
+                  o[d | 0] = y;
+                  y = r[l + 1 | 0];
+                  l = l + 1 | 0;
+                  if (y) {
+                   continue;
+                  }
+                  break;
+                 }
+                 d = i;
+                 continue;
+                }
+                break;
+               }
+               d = q[a + 424 >> 2];
+               if ((d | 0) == q[a + 420 >> 2]) {
+                if (!_V(w)) {
+                 break o;
+                }
+                d = q[u >> 2];
+               }
+               q[a + 424 >> 2] = d + 1;
+               o[d | 0] = 0;
+               d = q[a + 428 >> 2];
+               o[j + 32 | 0] = 0;
+               if (!d) {
+                break b;
+               }
+               if (!n[q[a + 112 >> 2]](q[a + 116 >> 2], d, q[j + 20 >> 2], q[j + 16 >> 2], q[j + 24 >> 2])) {
+                k = 21;
+                break b;
+               }
+               q[a + 424 >> 2] = q[a + 428 >> 2];
+               break e;
+              }
+              j = q[a + 80 >> 2];
+              if (!j) {
+               break e;
+              }
+              d = q[h + 32 >> 2];
+              i = q[h + 36 >> 2];
+              q[h >> 2] = i;
+              if (!r[c + 68 | 0]) {
+               j = p;
+               i = v;
+               if (q[a + 144 >> 2] != (c | 0)) {
+                j = q[a + 296 >> 2];
+                i = j + 4 | 0;
+               }
+               while (1) {
+                q[h + 44 >> 2] = q[a + 44 >> 2];
+                k = n[q[c + 56 >> 2]](c, h, d, h + 44 | 0, q[a + 48 >> 2]) | 0;
+                q[i >> 2] = q[h >> 2];
+                l = q[a + 44 >> 2];
+                n[q[a + 80 >> 2]](q[a + 4 >> 2], l, q[h + 44 >> 2] - l | 0);
+                q[j >> 2] = q[h >> 2];
+                if (k >>> 0 > 1) {
+                 continue;
+                }
+                break;
+               }
+               break e;
+              }
+              n[j](q[m >> 2], i, d - i | 0);
+              break e;
+             }
+             o[j + 32 | 0] = 0;
+             break b;
+            }
+            k = zW(a, j, 0);
+            if (!k) {
+             break e;
+            }
+            break b;
+           case 5:
+           case 6:
+            d = q[a + 364 >> 2];
+            q : {
+             if (d) {
+              q[a + 364 >> 2] = q[d >> 2];
+              break q;
+             }
+             k = 1;
+             d = n[q[a + 12 >> 2]](48) | 0;
+             if (!d) {
+              break b;
+             }
+             i = n[q[a + 12 >> 2]](32) | 0;
+             q[d + 36 >> 2] = i;
+             if (!i) {
+              n[q[a + 20 >> 2]](d);
+              break b;
+             }
+             q[d + 40 >> 2] = i + 32;
+            }
+            q[d + 44 >> 2] = 0;
+            q[d >> 2] = q[a + 360 >> 2];
+            q[a + 360 >> 2] = d;
+            q[d + 16 >> 2] = 0;
+            q[d + 20 >> 2] = 0;
+            i = q[h + 36 >> 2] + q[c + 64 >> 2] | 0;
+            q[d + 4 >> 2] = i;
+            H = d, I = n[q[c + 28 >> 2]](c, i) | 0, q[H + 8 >> 2] = I;
+            q[a + 308 >> 2] = q[a + 308 >> 2] + 1;
+            i = q[d + 8 >> 2];
+            j = q[d + 4 >> 2];
+            q[h >> 2] = j;
+            q[h + 40 >> 2] = q[d + 36 >> 2];
+            i = i + j | 0;
+            s = n[q[c + 56 >> 2]](c, h, i, h + 40 | 0, q[d + 40 >> 2] + -1 | 0) | 0;
+            j = q[h + 40 >> 2];
+            l = q[d + 36 >> 2];
+            k = j - l | 0;
+            r : {
+             s : {
+              if ((s | 0) == 1 | t[h >> 2] >= i >>> 0) {
+               break s;
+              }
+              while (1) {
+               j = l;
+               l = q[d + 40 >> 2] - l << 1;
+               j = n[q[a + 16 >> 2]](j, l) | 0;
+               if (!j) {
+                break r;
+               }
+               q[d + 36 >> 2] = j;
+               l = j + l | 0;
+               q[d + 40 >> 2] = l;
+               q[h + 40 >> 2] = j + k;
+               s = n[q[c + 56 >> 2]](c, h, i, h + 40 | 0, l + -1 | 0) | 0;
+               j = q[h + 40 >> 2];
+               l = q[d + 36 >> 2];
+               k = j - l | 0;
+               if ((s | 0) == 1) {
+                break s;
+               }
+               if (t[h >> 2] < i >>> 0) {
+                continue;
+               }
+               break;
+              }
+             }
+             q[d + 24 >> 2] = k;
+             q[d + 12 >> 2] = l;
+             o[j | 0] = 0;
+             i = d + 12 | 0;
+             k = FW(a, c, q[h + 36 >> 2], i, d + 44 | 0);
+             if (k) {
+              break b;
+             }
+             d = q[a + 52 >> 2];
+             t : {
+              if (d) {
+               n[d](q[a + 4 >> 2], q[i >> 2], q[a + 388 >> 2]);
+               break t;
+              }
+              j = q[a + 80 >> 2];
+              if (!j) {
+               break t;
+              }
+              d = q[h + 32 >> 2];
+              i = q[h + 36 >> 2];
+              q[h >> 2] = i;
+              if (!r[c + 68 | 0]) {
+               j = p;
+               i = v;
+               if (q[a + 144 >> 2] != (c | 0)) {
+                j = q[a + 296 >> 2];
+                i = j + 4 | 0;
+               }
+               while (1) {
+                q[h + 44 >> 2] = q[a + 44 >> 2];
+                k = n[q[c + 56 >> 2]](c, h, d, h + 44 | 0, q[a + 48 >> 2]) | 0;
+                q[i >> 2] = q[h >> 2];
+                l = q[a + 44 >> 2];
+                n[q[a + 80 >> 2]](q[a + 4 >> 2], l, q[h + 44 >> 2] - l | 0);
+                q[j >> 2] = q[h >> 2];
+                if (k >>> 0 > 1) {
+                 continue;
+                }
+                break;
+               }
+               break t;
+              }
+              n[j](q[m >> 2], i, d - i | 0);
+             }
+             k = q[a + 416 >> 2];
+             u : {
+              if (!k) {
+               q[a + 416 >> 2] = q[a + 412 >> 2];
+               break u;
+              }
+              d = q[w >> 2];
+              if (!d) {
+               break u;
+              }
+              while (1) {
+               i = q[d >> 2];
+               q[d >> 2] = k;
+               q[a + 416 >> 2] = d;
+               k = d;
+               d = i;
+               if (d) {
+                continue;
+               }
+               break;
+              }
+             }
+             q[a + 428 >> 2] = 0;
+             q[a + 412 >> 2] = 0;
+             q[a + 420 >> 2] = 0;
+             q[a + 424 >> 2] = 0;
+             break e;
+            }
+            k = 1;
+            break b;
+           case 7:
+           case 8:
+            d = q[c + 64 >> 2];
+            i = q[h + 36 >> 2];
+            q[h + 28 >> 2] = 0;
+            d = d + i | 0;
+            i = n[q[c + 28 >> 2]](c, d) | 0;
+            q[h + 44 >> 2] = d;
+            if (!q[u >> 2]) {
+             if (!_V(w)) {
+              break d;
+             }
+            }
+            d = d + i | 0;
+            while (1) {
+             if (n[q[c + 56 >> 2]](c, h + 44 | 0, d, u, q[a + 420 >> 2]) >>> 0 >= 2) {
+              if (_V(w)) {
+               continue;
+              }
+              break d;
+             }
+             break;
+            }
+            if (!q[a + 428 >> 2]) {
+             break d;
+            }
+            d = q[a + 424 >> 2];
+            if ((d | 0) == q[a + 420 >> 2]) {
+             if (!_V(w)) {
+              break d;
+             }
+             d = q[u >> 2];
+            }
+            k = 1;
+            q[a + 424 >> 2] = d + 1;
+            o[d | 0] = 0;
+            d = q[a + 428 >> 2];
+            q[h >> 2] = d;
+            if (!d) {
+             break b;
+            }
+            q[a + 428 >> 2] = q[a + 424 >> 2];
+            k = FW(a, c, q[h + 36 >> 2], h, h + 28 | 0);
+            if (k) {
+             c = q[h + 28 >> 2];
+             if (!c) {
+              break b;
+             }
+             while (1) {
+              b = q[a + 104 >> 2];
+              if (b) {
+               n[b](q[m >> 2], q[q[c >> 2] >> 2]);
+              }
+              b = q[c + 4 >> 2];
+              q[c + 4 >> 2] = q[a + 372 >> 2];
+              q[a + 372 >> 2] = c;
+              q[q[c >> 2] + 4 >> 2] = q[c + 8 >> 2];
+              c = b;
+              if (c) {
+               continue;
+              }
+              break;
+             }
+             break b;
+            }
+            q[a + 428 >> 2] = q[a + 424 >> 2];
+            d = q[a + 52 >> 2];
+            if (d) {
+             n[d](q[a + 4 >> 2], q[h >> 2], q[a + 388 >> 2]);
+             d = q[a + 56 >> 2];
+             if (!d) {
+              break f;
+             }
+             if (!q[a + 52 >> 2]) {
+              break g;
+             }
+             q[z >> 2] = q[C >> 2];
+             d = q[a + 56 >> 2];
+             break g;
+            }
+            d = q[a + 56 >> 2];
+            if (d) {
+             break g;
+            }
+            j = q[a + 80 >> 2];
+            if (!j) {
+             break f;
+            }
+            d = q[h + 32 >> 2];
+            i = q[h + 36 >> 2];
+            q[h + 44 >> 2] = i;
+            if (!r[c + 68 | 0]) {
+             j = p;
+             i = v;
+             if (q[a + 144 >> 2] != (c | 0)) {
+              j = q[a + 296 >> 2];
+              i = j + 4 | 0;
+             }
+             while (1) {
+              q[h + 40 >> 2] = q[a + 44 >> 2];
+              k = n[q[c + 56 >> 2]](c, h + 44 | 0, d, h + 40 | 0, q[a + 48 >> 2]) | 0;
+              q[i >> 2] = q[h + 44 >> 2];
+              l = q[a + 44 >> 2];
+              n[q[a + 80 >> 2]](q[a + 4 >> 2], l, q[h + 40 >> 2] - l | 0);
+              q[j >> 2] = q[h + 44 >> 2];
+              if (k >>> 0 > 1) {
+               continue;
+              }
+              break;
+             }
+             break f;
+            }
+            n[j](q[m >> 2], i, d - i | 0);
+            break f;
+           case 9:
+            if (q[a + 308 >> 2] == (b | 0)) {
+             k = 13;
+             break b;
+            }
+            l = q[a + 360 >> 2];
+            q[a + 360 >> 2] = q[l >> 2];
+            q[l >> 2] = q[a + 364 >> 2];
+            q[a + 364 >> 2] = l;
+            d = q[h + 36 >> 2] + (q[c + 64 >> 2] << 1) | 0;
+            i = n[q[c + 28 >> 2]](c, d) | 0;
+            v : {
+             if ((i | 0) == q[l + 8 >> 2]) {
+              if (!ZY(q[l + 4 >> 2], d, i)) {
+               break v;
+              }
+             }
+             q[z >> 2] = d;
+             k = 7;
+             break b;
+            }
+            q[a + 308 >> 2] = q[a + 308 >> 2] + -1;
+            d = q[a + 56 >> 2];
+            w : {
+             if (d) {
+              k = q[l + 16 >> 2];
+              if (!(!k | !r[a + 232 | 0])) {
+               d = q[l + 12 >> 2] + q[l + 28 >> 2] | 0;
+               j = r[k | 0];
+               if (j) {
+                while (1) {
+                 o[d | 0] = j;
+                 d = d + 1 | 0;
+                 j = r[k + 1 | 0];
+                 k = k + 1 | 0;
+                 if (j) {
+                  continue;
+                 }
+                 break;
+                }
+               }
+               k = q[l + 20 >> 2];
+               x : {
+                if (!k | !r[a + 233 | 0]) {
+                 break x;
+                }
+                o[d | 0] = r[a + 468 | 0];
+                d = d + 1 | 0;
+                j = r[k | 0];
+                if (!j) {
+                 break x;
+                }
+                while (1) {
+                 o[d | 0] = j;
+                 d = d + 1 | 0;
+                 j = r[k + 1 | 0];
+                 k = k + 1 | 0;
+                 if (j) {
+                  continue;
+                 }
+                 break;
+                }
+               }
+               o[d | 0] = 0;
+               d = q[a + 56 >> 2];
+              }
+              n[d](q[m >> 2], q[l + 12 >> 2]);
+              break w;
+             }
+             j = q[a + 80 >> 2];
+             if (!j) {
+              break w;
+             }
+             d = q[h + 32 >> 2];
+             i = q[h + 36 >> 2];
+             q[h >> 2] = i;
+             if (!r[c + 68 | 0]) {
+              i = p;
+              j = v;
+              if (q[a + 144 >> 2] != (c | 0)) {
+               i = q[a + 296 >> 2];
+               j = i + 4 | 0;
+              }
+              while (1) {
+               q[h + 44 >> 2] = q[a + 44 >> 2];
+               k = n[q[c + 56 >> 2]](c, h, d, h + 44 | 0, q[a + 48 >> 2]) | 0;
+               q[j >> 2] = q[h >> 2];
+               s = q[a + 44 >> 2];
+               n[q[a + 80 >> 2]](q[a + 4 >> 2], s, q[h + 44 >> 2] - s | 0);
+               q[i >> 2] = q[h >> 2];
+               if (k >>> 0 > 1) {
+                continue;
+               }
+               break;
+              }
+              break w;
+             }
+             n[j](q[m >> 2], i, d - i | 0);
+            }
+            while (1) {
+             i = q[l + 44 >> 2];
+             if (i) {
+              d = i;
+              j = l;
+              k = q[a + 104 >> 2];
+              if (k) {
+               n[k](q[m >> 2], q[q[i >> 2] >> 2]);
+               d = q[l + 44 >> 2];
+              }
+              q[j + 44 >> 2] = q[d + 4 >> 2];
+              q[i + 4 >> 2] = q[a + 372 >> 2];
+              q[a + 372 >> 2] = i;
+              q[q[i >> 2] + 4 >> 2] = q[i + 8 >> 2];
+              continue;
+             }
+             break;
+            }
+            if (q[a + 308 >> 2]) {
+             break e;
+            }
+            d = q[a + 476 >> 2] + -2 | 0;
+            if (d >>> 0 <= 1) {
+             if (d - 1) {
+              break e;
+             }
+             q[a + 276 >> 2] = 973;
+             break e;
+            }
+            k = GW(a, q[h + 32 >> 2], e, f);
+            break b;
+           case 14:
+            d = n[q[c + 40 >> 2]](c, q[h + 36 >> 2]) | 0;
+            if ((d | 0) < 0) {
+             k = 14;
+             break b;
+            }
+            i = q[a + 60 >> 2];
+            if (i) {
+             n[i](q[m >> 2], h, lT(d, h));
+             break e;
+            }
+            j = q[a + 80 >> 2];
+            if (!j) {
+             break e;
+            }
+            d = q[h + 32 >> 2];
+            i = q[h + 36 >> 2];
+            q[h >> 2] = i;
+            if (!r[c + 68 | 0]) {
+             j = p;
+             i = v;
+             if (q[a + 144 >> 2] != (c | 0)) {
+              j = q[a + 296 >> 2];
+              i = j + 4 | 0;
+             }
+             while (1) {
+              q[h + 44 >> 2] = q[a + 44 >> 2];
+              k = n[q[c + 56 >> 2]](c, h, d, h + 44 | 0, q[a + 48 >> 2]) | 0;
+              q[i >> 2] = q[h >> 2];
+              l = q[a + 44 >> 2];
+              n[q[a + 80 >> 2]](q[a + 4 >> 2], l, q[h + 44 >> 2] - l | 0);
+              q[j >> 2] = q[h >> 2];
+              if (k >>> 0 > 1) {
+               continue;
+              }
+              break;
+             }
+             break e;
+            }
+            n[j](q[m >> 2], i, d - i | 0);
+            break e;
+           case 11:
+            i = q[a + 60 >> 2];
+            if (i) {
+             o[h | 0] = 10;
+             n[i](q[m >> 2], h, 1);
+             break e;
+            }
+            j = q[a + 80 >> 2];
+            if (!j) {
+             break e;
+            }
+            i = q[h + 36 >> 2];
+            q[h >> 2] = i;
+            if (!r[c + 68 | 0]) {
+             j = p;
+             i = v;
+             if (q[a + 144 >> 2] != (c | 0)) {
+              j = q[a + 296 >> 2];
+              i = j + 4 | 0;
+             }
+             while (1) {
+              q[h + 44 >> 2] = q[a + 44 >> 2];
+              k = n[q[c + 56 >> 2]](c, h, d, h + 44 | 0, q[a + 48 >> 2]) | 0;
+              q[i >> 2] = q[h >> 2];
+              l = q[a + 44 >> 2];
+              n[q[a + 80 >> 2]](q[a + 4 >> 2], l, q[h + 44 >> 2] - l | 0);
+              q[j >> 2] = q[h >> 2];
+              if (k >>> 0 > 1) {
+               continue;
+              }
+              break;
+             }
+             break e;
+            }
+            n[j](q[m >> 2], i, d - i | 0);
+            break e;
+           case 12:
+            i = q[a + 72 >> 2];
+            y : {
+             if (i) {
+              n[i](q[m >> 2]);
+              break y;
+             }
+             j = q[a + 80 >> 2];
+             if (!j) {
+              break y;
+             }
+             i = q[h + 36 >> 2];
+             q[h >> 2] = i;
+             if (!r[c + 68 | 0]) {
+              j = p;
+              i = v;
+              if (q[a + 144 >> 2] != (c | 0)) {
+               j = q[a + 296 >> 2];
+               i = j + 4 | 0;
+              }
+              while (1) {
+               q[h + 44 >> 2] = q[a + 44 >> 2];
+               k = n[q[c + 56 >> 2]](c, h, d, h + 44 | 0, q[a + 48 >> 2]) | 0;
+               q[i >> 2] = q[h >> 2];
+               l = q[a + 44 >> 2];
+               n[q[a + 80 >> 2]](q[a + 4 >> 2], l, q[h + 44 >> 2] - l | 0);
+               q[j >> 2] = q[h >> 2];
+               if (k >>> 0 > 1) {
+                continue;
+               }
+               break;
+              }
+              break y;
+             }
+             n[j](q[m >> 2], i, d - i | 0);
+            }
+            k = HW(a, c, h + 32 | 0, e, f, g);
+            if (k) {
+             break b;
+            }
+            if (q[h + 32 >> 2]) {
+             break e;
+            }
+            q[a + 276 >> 2] = 974;
+            k = 0;
+            break b;
+           default:
+            if (g) {
+             q[f >> 2] = q[h + 36 >> 2];
+             k = 0;
+             break b;
+            }
+            d = q[a + 60 >> 2];
+            z : {
+             if (d) {
+              if (!r[c + 68 | 0]) {
+               q[h >> 2] = q[a + 44 >> 2];
+               n[q[c + 56 >> 2]](c, h + 36 | 0, e, h, q[a + 48 >> 2]) | 0;
+               c = q[a + 44 >> 2];
+               n[q[a + 60 >> 2]](q[a + 4 >> 2], c, q[h >> 2] - c | 0);
+               break z;
+              }
+              c = q[h + 36 >> 2];
+              n[d](q[m >> 2], c, e - c | 0);
+              break z;
+             }
+             g = q[a + 80 >> 2];
+             if (!g) {
+              break z;
+             }
+             d = q[h + 36 >> 2];
+             q[h >> 2] = d;
+             if (!r[c + 68 | 0]) {
+              if (q[a + 144 >> 2] != (c | 0)) {
+               p = q[a + 296 >> 2];
+               v = p + 4 | 0;
+              }
+              while (1) {
+               q[h + 44 >> 2] = q[a + 44 >> 2];
+               d = n[q[c + 56 >> 2]](c, h, e, h + 44 | 0, q[a + 48 >> 2]) | 0;
+               q[v >> 2] = q[h >> 2];
+               g = q[a + 44 >> 2];
+               n[q[a + 80 >> 2]](q[a + 4 >> 2], g, q[h + 44 >> 2] - g | 0);
+               q[p >> 2] = q[h >> 2];
+               if (d >>> 0 > 1) {
+                continue;
+               }
+               break;
+              }
+              break z;
+             }
+             n[g](q[m >> 2], d, e - d | 0);
+            }
+            if (!b) {
+             q[z >> 2] = e;
+             k = 3;
+             break b;
+            }
+            if (q[a + 308 >> 2] == (b | 0)) {
+             break c;
+            }
+            q[z >> 2] = e;
+            k = 13;
+            break b;
+           case 10:
+            i = q[a + 60 >> 2];
+            if (i) {
+             if (!r[c + 68 | 0]) {
+              while (1) {
+               q[h >> 2] = q[a + 44 >> 2];
+               d = n[q[c + 56 >> 2]](c, h + 36 | 0, d, h, q[a + 48 >> 2]) | 0;
+               q[C >> 2] = q[h + 36 >> 2];
+               j = q[a + 44 >> 2];
+               n[i](q[a + 4 >> 2], j, q[h >> 2] - j | 0);
+               if (d >>> 0 < 2) {
+                break e;
+               }
+               q[z >> 2] = q[h + 36 >> 2];
+               d = q[h + 32 >> 2];
+               continue;
+              }
+             }
+             j = q[h + 36 >> 2];
+             n[i](q[m >> 2], j, d - j | 0);
+             break e;
+            }
+            j = q[a + 80 >> 2];
+            if (!j) {
+             break e;
+            }
+            i = q[h + 36 >> 2];
+            q[h >> 2] = i;
+            if (!r[c + 68 | 0]) {
+             j = p;
+             i = v;
+             if (q[a + 144 >> 2] != (c | 0)) {
+              j = q[a + 296 >> 2];
+              i = j + 4 | 0;
+             }
+             while (1) {
+              q[h + 44 >> 2] = q[a + 44 >> 2];
+              k = n[q[c + 56 >> 2]](c, h, d, h + 44 | 0, q[a + 48 >> 2]) | 0;
+              q[i >> 2] = q[h >> 2];
+              l = q[a + 44 >> 2];
+              n[q[a + 80 >> 2]](q[a + 4 >> 2], l, q[h + 44 >> 2] - l | 0);
+              q[j >> 2] = q[h >> 2];
+              if (k >>> 0 > 1) {
+               continue;
+              }
+              break;
+             }
+             break e;
+            }
+            n[j](q[m >> 2], i, d - i | 0);
+            break e;
+           case 15:
+            if (xW(a, c, q[h + 36 >> 2], d)) {
+             break e;
+            }
+            k = 1;
+            break b;
+           case 4:
+            break h;
+           case 17:
+            break i;
+           case 16:
+            break b;
+           }
+          }
+          if (yW(a, c, q[h + 36 >> 2], d)) {
+           break e;
+          }
+          k = 1;
+          break b;
+         }
+         j = q[a + 80 >> 2];
+         if (!j) {
+          break e;
+         }
+         i = q[h + 36 >> 2];
+         q[h >> 2] = i;
+         if (!r[c + 68 | 0]) {
+          j = p;
+          i = v;
+          if (q[a + 144 >> 2] != (c | 0)) {
+           j = q[a + 296 >> 2];
+           i = j + 4 | 0;
+          }
+          while (1) {
+           q[h + 44 >> 2] = q[a + 44 >> 2];
+           k = n[q[c + 56 >> 2]](c, h, d, h + 44 | 0, q[a + 48 >> 2]) | 0;
+           q[i >> 2] = q[h >> 2];
+           l = q[a + 44 >> 2];
+           n[q[a + 80 >> 2]](q[a + 4 >> 2], l, q[h + 44 >> 2] - l | 0);
+           q[j >> 2] = q[h >> 2];
+           if (k >>> 0 > 1) {
+            continue;
+           }
+           break;
+          }
+          break e;
+         }
+         n[j](q[m >> 2], i, d - i | 0);
+         break e;
+        }
+        q[z >> 2] = d;
+        k = 4;
+        break b;
+       }
+       n[d](q[m >> 2], q[h >> 2]);
+      }
+      k = q[a + 416 >> 2];
+      A : {
+       if (!k) {
+        q[a + 416 >> 2] = q[a + 412 >> 2];
+        break A;
+       }
+       d = q[w >> 2];
+       if (!d) {
+        break A;
+       }
+       while (1) {
+        i = q[d >> 2];
+        q[d >> 2] = k;
+        q[a + 416 >> 2] = d;
+        k = d;
+        d = i;
+        if (d) {
+         continue;
+        }
+        break;
+       }
+      }
+      q[a + 428 >> 2] = 0;
+      q[a + 412 >> 2] = 0;
+      q[a + 420 >> 2] = 0;
+      q[a + 424 >> 2] = 0;
+      d = q[h + 28 >> 2];
+      if (d) {
+       while (1) {
+        i = q[a + 104 >> 2];
+        if (i) {
+         n[i](q[m >> 2], q[q[d >> 2] >> 2]);
+        }
+        i = q[d + 4 >> 2];
+        q[d + 4 >> 2] = q[a + 372 >> 2];
+        q[a + 372 >> 2] = d;
+        q[q[d >> 2] + 4 >> 2] = q[d + 8 >> 2];
+        d = i;
+        if (d) {
+         continue;
+        }
+        break;
+       }
+      }
+      if (q[a + 308 >> 2]) {
+       break e;
+      }
+      d = q[a + 476 >> 2] + -2 | 0;
+      if (d >>> 0 <= 1) {
+       if (d - 1) {
+        break e;
+       }
+       q[a + 276 >> 2] = 973;
+       break e;
+      }
+      k = GW(a, q[h + 32 >> 2], e, f);
+      break b;
+     }
+     d = q[h + 32 >> 2];
+     q[h + 36 >> 2] = d;
+     q[z >> 2] = d;
+     d = q[a + 476 >> 2] + -2 | 0;
+     if (d >>> 0 > 1) {
+      continue;
+     }
+     break;
+    }
+    k = 35;
+    if (d - 1) {
+     break b;
+    }
+    q[f >> 2] = q[h + 32 >> 2];
+    k = 0;
+    break b;
+   }
+   q[h >> 2] = 0;
+   k = 1;
+   break b;
+  }
+  q[f >> 2] = e;
+  k = 0;
+ }
+ Ca = h + 48 | 0;
+ return k;
+}
+function GU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = -4;
+ a : {
+  b : {
+   c : {
+    d : {
+     if (b >>> 0 >= c >>> 0) {
+      break d;
+     }
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            l : {
+             m : {
+              n : {
+               o : {
+                p : {
+                 q : {
+                  r : {
+                   s : {
+                    e = c - b | 0;
+                    if (e & 1) {
+                     c = e & -2;
+                     if (!c) {
+                      break s;
+                     }
+                     c = b + c | 0;
+                    }
+                    f = r[b | 0];
+                    e = f + -216 | 0;
+                    if (e >>> 0 <= 39) {
+                     break r;
+                    }
+                    if (f) {
+                     break g;
+                    }
+                    g = r[b + 1 | 0];
+                    i = a + 72 | 0;
+                    h = r[g + i | 0] + -2 | 0;
+                    if (h >>> 0 > 34) {
+                     break c;
+                    }
+                    e = 18;
+                    t : {
+                     u : {
+                      v : {
+                       w : {
+                        x : {
+                         y : {
+                          z : {
+                           A : {
+                            B : {
+                             C : {
+                              D : {
+                               E : {
+                                F : {
+                                 G : {
+                                  switch (h - 1 | 0) {
+                                  case 9:
+                                   return HU(12, a, b + 2 | 0, c, d) | 0;
+                                  case 10:
+                                   return HU(13, a, b + 2 | 0, c, d) | 0;
+                                  default:
+                                   e = -1;
+                                   g = b + 2 | 0;
+                                   if ((c - g | 0) < 2) {
+                                    break d;
+                                   }
+                                   H : {
+                                    I : {
+                                     J : {
+                                      K : {
+                                       L : {
+                                        M : {
+                                         f = r[g | 0];
+                                         h = f + -220 | 0;
+                                         if (h >>> 0 > 35) {
+                                          if (f) {
+                                           break h;
+                                          }
+                                          f = r[i + r[b + 3 | 0] | 0];
+                                          if (f >>> 0 > 29) {
+                                           break H;
+                                          }
+                                          if (1 << f & 557842656) {
+                                           break h;
+                                          }
+                                          if ((f | 0) == 15) {
+                                           break J;
+                                          }
+                                          if ((f | 0) != 16) {
+                                           break H;
+                                          }
+                                          f = b + 4 | 0;
+                                          if ((c - f | 0) < 2) {
+                                           break d;
+                                          }
+                                          if (r[f | 0]) {
+                                           break q;
+                                          }
+                                          g = r[i + r[b + 5 | 0] | 0] + -20 | 0;
+                                          if (g >>> 0 > 7) {
+                                           break q;
+                                          }
+                                          switch (g - 1 | 0) {
+                                          case 0:
+                                          case 2:
+                                          case 4:
+                                          case 5:
+                                           break q;
+                                          case 1:
+                                          case 3:
+                                           break K;
+                                          case 6:
+                                           break M;
+                                          default:
+                                           break L;
+                                          }
+                                         }
+                                         switch (h - 4 | 0) {
+                                         case 31:
+                                          break I;
+                                         case 0:
+                                         case 1:
+                                         case 2:
+                                         case 3:
+                                         case 4:
+                                         case 5:
+                                         case 6:
+                                         case 7:
+                                         case 8:
+                                         case 9:
+                                         case 10:
+                                         case 11:
+                                         case 12:
+                                         case 13:
+                                         case 14:
+                                         case 15:
+                                         case 16:
+                                         case 17:
+                                         case 18:
+                                         case 19:
+                                         case 20:
+                                         case 21:
+                                         case 22:
+                                         case 23:
+                                         case 24:
+                                         case 25:
+                                         case 26:
+                                         case 27:
+                                         case 28:
+                                         case 29:
+                                         case 30:
+                                          break h;
+                                         default:
+                                          break H;
+                                         }
+                                        }
+                                        return IU(a, b + 6 | 0, c, d) | 0;
+                                       }
+                                       q[d >> 2] = b + 6;
+                                       return 33;
+                                      }
+                                      b = b + 6 | 0;
+                                      g = c - b | 0;
+                                      if ((g | 0) <= 1) {
+                                       break d;
+                                      }
+                                      while (1) {
+                                       if (r[b | 0]) {
+                                        break b;
+                                       }
+                                       a = r[i + r[f + 3 | 0] | 0];
+                                       if (a >>> 0 > 30) {
+                                        break b;
+                                       }
+                                       N : {
+                                        if (1 << a & 20971520) {
+                                         break N;
+                                        }
+                                        O : {
+                                         if (1 << a & 2098688) {
+                                          break O;
+                                         }
+                                         if ((a | 0) != 30) {
+                                          break b;
+                                         }
+                                         if ((g | 0) < 4) {
+                                          break d;
+                                         }
+                                         if (r[f + 4 | 0]) {
+                                          break O;
+                                         }
+                                         a = r[i + r[f + 5 | 0] | 0];
+                                         if (a >>> 0 > 30 | !(1 << a & 1075840512)) {
+                                          break O;
+                                         }
+                                         break b;
+                                        }
+                                        q[d >> 2] = b;
+                                        return 16;
+                                       }
+                                       f = b;
+                                       b = b + 2 | 0;
+                                       g = c - b | 0;
+                                       if ((g | 0) > 1) {
+                                        continue;
+                                       }
+                                       break;
+                                      }
+                                      break d;
+                                     }
+                                     return JU(a, b + 4 | 0, c, d) | 0;
+                                    }
+                                    if (r[b + 3 | 0] <= 253) {
+                                     break h;
+                                    }
+                                   }
+                                   q[d >> 2] = g;
+                                   return 0;
+                                  case 0:
+                                  case 5:
+                                  case 11:
+                                  case 12:
+                                  case 13:
+                                  case 14:
+                                  case 15:
+                                  case 25:
+                                  case 30:
+                                  case 31:
+                                   break c;
+                                  case 4:
+                                   break n;
+                                  case 20:
+                                  case 22:
+                                  case 23:
+                                  case 24:
+                                   break t;
+                                  case 3:
+                                   break u;
+                                  case 2:
+                                   break v;
+                                  case 16:
+                                   break w;
+                                  case 8:
+                                   break x;
+                                  case 33:
+                                   break y;
+                                  case 29:
+                                   break z;
+                                  case 28:
+                                   break A;
+                                  case 1:
+                                   break B;
+                                  case 17:
+                                   break C;
+                                  case 19:
+                                  case 21:
+                                   break e;
+                                  case 32:
+                                   break D;
+                                  case 27:
+                                   break E;
+                                  case 7:
+                                  case 18:
+                                   break F;
+                                  case 6:
+                                   break G;
+                                  case 26:
+                                   break f;
+                                  }
+                                 }
+                                 if ((b + 2 | 0) != (c | 0)) {
+                                  break F;
+                                 }
+                                 q[d >> 2] = c;
+                                 return -15;
+                                }
+                                e = b + 2 | 0;
+                                if ((c - e | 0) >= 2) {
+                                 while (1) {
+                                  P : {
+                                   Q : {
+                                    if (r[b + 2 | 0]) {
+                                     break Q;
+                                    }
+                                    a = r[i + r[b + 3 | 0] | 0] + -9 | 0;
+                                    if (a >>> 0 > 12) {
+                                     break Q;
+                                    }
+                                    R : {
+                                     switch (a - 1 | 0) {
+                                     case 0:
+                                     case 11:
+                                      break P;
+                                     case 1:
+                                     case 2:
+                                     case 3:
+                                     case 4:
+                                     case 5:
+                                     case 6:
+                                     case 7:
+                                     case 8:
+                                     case 9:
+                                     case 10:
+                                      break Q;
+                                     default:
+                                      break R;
+                                     }
+                                    }
+                                    if ((b + 4 | 0) != (c | 0)) {
+                                     break P;
+                                    }
+                                   }
+                                   q[d >> 2] = e;
+                                   return 15;
+                                  }
+                                  b = e;
+                                  e = b + 2 | 0;
+                                  if ((c - e | 0) > 1) {
+                                   continue;
+                                  }
+                                  break;
+                                 }
+                                }
+                                q[d >> 2] = e;
+                                return 15;
+                               }
+                               return KU(a, b + 2 | 0, c, d) | 0;
+                              }
+                              q[d >> 2] = b + 2;
+                              return 38;
+                             }
+                             q[d >> 2] = b + 2;
+                             return 25;
+                            }
+                            e = -26;
+                            a = b + 2 | 0;
+                            c = c - a | 0;
+                            if ((c | 0) < 2) {
+                             break d;
+                            }
+                            S : {
+                             if (r[a | 0] | r[b + 3 | 0] != 93) {
+                              break S;
+                             }
+                             e = -1;
+                             if ((c | 0) < 4) {
+                              break d;
+                             }
+                             if (r[b + 4 | 0] | r[b + 5 | 0] != 62) {
+                              break S;
+                             }
+                             q[d >> 2] = b + 6;
+                             return 34;
+                            }
+                            q[d >> 2] = a;
+                            return 26;
+                           }
+                           q[d >> 2] = b + 2;
+                           return 23;
+                          }
+                          e = -24;
+                          a = b + 2 | 0;
+                          if ((c - a | 0) < 2) {
+                           break d;
+                          }
+                          T : {
+                           if (r[a | 0]) {
+                            break T;
+                           }
+                           c = r[i + r[b + 3 | 0] | 0] + -9 | 0;
+                           if (c >>> 0 > 27) {
+                            break T;
+                           }
+                           U : {
+                            switch (c - 3 | 0) {
+                            case 21:
+                             q[d >> 2] = b + 4;
+                             return 36;
+                            case 3:
+                             q[d >> 2] = b + 4;
+                             return 35;
+                            case 22:
+                             q[d >> 2] = b + 4;
+                             return 37;
+                            case 0:
+                            case 1:
+                            case 2:
+                            case 4:
+                            case 5:
+                            case 6:
+                            case 7:
+                            case 8:
+                            case 10:
+                            case 11:
+                            case 12:
+                            case 13:
+                            case 14:
+                            case 15:
+                            case 16:
+                            case 17:
+                            case 18:
+                            case 19:
+                             break T;
+                            default:
+                             break U;
+                            }
+                           }
+                           q[d >> 2] = a;
+                           return 24;
+                          }
+                          break a;
+                         }
+                         q[d >> 2] = b + 2;
+                         return 21;
+                        }
+                        q[d >> 2] = b + 2;
+                        return 17;
+                       }
+                       e = -1;
+                       a = b + 2 | 0;
+                       f = c - a | 0;
+                       if ((f | 0) < 2) {
+                        break d;
+                       }
+                       g = r[a | 0];
+                       e = g + -216 | 0;
+                       if (e >>> 0 <= 39) {
+                        break p;
+                       }
+                       if (g) {
+                        break k;
+                       }
+                       e = r[b + 3 | 0];
+                       h = r[i + e | 0] + -5 | 0;
+                       if (h >>> 0 > 24) {
+                        break a;
+                       }
+                       V : {
+                        switch (h - 1 | 0) {
+                        case 1:
+                         break l;
+                        case 0:
+                         break V;
+                        case 16:
+                        case 18:
+                         break i;
+                        case 23:
+                         break j;
+                        default:
+                         break a;
+                        }
+                       }
+                       e = -2;
+                       if ((f | 0) >= 3) {
+                        break a;
+                       }
+                       break d;
+                      }
+                      e = -2;
+                      if ((c - b | 0) < 2) {
+                       break d;
+                      }
+                      break c;
+                     }
+                     e = -2;
+                     if ((c - b | 0) >= 3) {
+                      break c;
+                     }
+                     break d;
+                    }
+                    e = 19;
+                    break e;
+                   }
+                   return -1;
+                  }
+                  switch (e - 4 | 0) {
+                  case 0:
+                  case 1:
+                  case 2:
+                  case 3:
+                   break c;
+                  case 35:
+                   break o;
+                  case 4:
+                  case 5:
+                  case 6:
+                  case 7:
+                  case 8:
+                  case 9:
+                  case 10:
+                  case 11:
+                  case 12:
+                  case 13:
+                  case 14:
+                  case 15:
+                  case 16:
+                  case 17:
+                  case 18:
+                  case 19:
+                  case 20:
+                  case 21:
+                  case 22:
+                  case 23:
+                  case 24:
+                  case 25:
+                  case 26:
+                  case 27:
+                  case 28:
+                  case 29:
+                  case 30:
+                  case 31:
+                  case 32:
+                  case 33:
+                  case 34:
+                   break g;
+                  default:
+                   break n;
+                  }
+                 }
+                 q[d >> 2] = f;
+                 return 0;
+                }
+                switch (e - 4 | 0) {
+                case 0:
+                case 1:
+                case 2:
+                case 3:
+                 break a;
+                case 4:
+                case 5:
+                case 6:
+                case 7:
+                case 8:
+                case 9:
+                case 10:
+                case 11:
+                case 12:
+                case 13:
+                case 14:
+                case 15:
+                case 16:
+                case 17:
+                case 18:
+                case 19:
+                case 20:
+                case 21:
+                case 22:
+                case 23:
+                case 24:
+                case 25:
+                case 26:
+                case 27:
+                case 28:
+                case 29:
+                case 30:
+                case 31:
+                case 32:
+                case 33:
+                case 34:
+                 break k;
+                case 35:
+                 break m;
+                default:
+                 break l;
+                }
+               }
+               g = r[b + 1 | 0];
+               if (g >>> 0 > 253) {
+                break c;
+               }
+               break f;
+              }
+              e = -2;
+              if ((c - b | 0) >= 4) {
+               break c;
+              }
+              break d;
+             }
+             e = r[b + 3 | 0];
+             if (e >>> 0 <= 253) {
+              break j;
+             }
+             break a;
+            }
+            e = -2;
+            if ((f | 0) >= 4) {
+             break a;
+            }
+            break d;
+           }
+           e = r[b + 3 | 0];
+          }
+          if (q[(e >>> 3 & 28 | r[g + 492208 | 0] << 5) + 490192 >> 2] >>> (e & 31) & 1) {
+           break i;
+          }
+          break a;
+         }
+         e = -20;
+         b = b + 4 | 0;
+         f = c - b | 0;
+         if ((f | 0) <= 1) {
+          break d;
+         }
+         while (1) {
+          W : {
+           X : {
+            Y : {
+             Z : {
+              g = r[b | 0];
+              h = g + -216 | 0;
+              if (h >>> 0 > 39) {
+               if (g) {
+                break Y;
+               }
+               a = r[a + 3 | 0];
+               h = r[i + a | 0] + -5 | 0;
+               if (h >>> 0 > 31) {
+                break b;
+               }
+               _ : {
+                switch (h - 1 | 0) {
+                case 0:
+                 e = -2;
+                 if ((f | 0) >= 3) {
+                  break b;
+                 }
+                 break d;
+                case 16:
+                case 18:
+                case 19:
+                case 20:
+                case 21:
+                 break W;
+                case 23:
+                 break X;
+                case 1:
+                 break Z;
+                case 3:
+                case 4:
+                case 5:
+                case 15:
+                case 24:
+                case 26:
+                case 30:
+                 break _;
+                default:
+                 break b;
+                }
+               }
+               q[d >> 2] = b;
+               return 20;
+              }
+              $ : {
+               switch (h - 4 | 0) {
+               case 0:
+               case 1:
+               case 2:
+               case 3:
+                break b;
+               case 4:
+               case 5:
+               case 6:
+               case 7:
+               case 8:
+               case 9:
+               case 10:
+               case 11:
+               case 12:
+               case 13:
+               case 14:
+               case 15:
+               case 16:
+               case 17:
+               case 18:
+               case 19:
+               case 20:
+               case 21:
+               case 22:
+               case 23:
+               case 24:
+               case 25:
+               case 26:
+               case 27:
+               case 28:
+               case 29:
+               case 30:
+               case 31:
+               case 32:
+               case 33:
+               case 34:
+                break Y;
+               case 35:
+                break $;
+               default:
+                break Z;
+               }
+              }
+              a = r[a + 3 | 0];
+              if (a >>> 0 <= 253) {
+               break X;
+              }
+              break b;
+             }
+             e = -2;
+             if ((f | 0) >= 4) {
+              break b;
+             }
+             break d;
+            }
+            a = r[a + 3 | 0];
+           }
+           if (q[(a >>> 3 & 28 | r[g + 492464 | 0] << 5) + 490192 >> 2] >>> (a & 31) & 1) {
+            break W;
+           }
+           break b;
+          }
+          a = b;
+          b = b + 2 | 0;
+          f = c - b | 0;
+          if ((f | 0) > 1) {
+           continue;
+          }
+          break;
+         }
+         break d;
+        }
+        q[d >> 2] = b;
+        return 29;
+       }
+       g = r[b + 1 | 0];
+      }
+      e = 18;
+      i = (g >>> 5 & 7) << 2;
+      g = 1 << (g & 31);
+      if (q[(i | r[f + 492208 | 0] << 5) + 490192 >> 2] & g) {
+       break e;
+      }
+      e = 19;
+      if (!(g & q[(i | r[f + 492464 | 0] << 5) + 490192 >> 2])) {
+       break c;
+      }
+     }
+     b = b + 2 | 0;
+     g = c - b | 0;
+     if ((g | 0) >= 2) {
+      i = a + 72 | 0;
+      while (1) {
+       a = b;
+       aa : {
+        ba : {
+         ca : {
+          da : {
+           ea : {
+            fa : {
+             ga : {
+              ha : {
+               ia : {
+                ja : {
+                 ka : {
+                  la : {
+                   f = r[b | 0];
+                   b = f + -216 | 0;
+                   if (b >>> 0 > 39) {
+                    if (f) {
+                     break da;
+                    }
+                    b = r[a + 1 | 0];
+                    h = r[i + b | 0] + -5 | 0;
+                    if (h >>> 0 > 31) {
+                     break a;
+                    }
+                    ma : {
+                     switch (h - 1 | 0) {
+                     case 0:
+                      e = -2;
+                      if ((g | 0) >= 3) {
+                       break a;
+                      }
+                      break d;
+                     case 3:
+                     case 4:
+                     case 5:
+                     case 14:
+                     case 15:
+                     case 24:
+                     case 26:
+                     case 29:
+                     case 30:
+                      q[d >> 2] = a;
+                      return e | 0;
+                     case 17:
+                      b = a + 2 | 0;
+                      if ((e | 0) != 41) {
+                       if ((e | 0) != 18) {
+                        break aa;
+                       }
+                       g = c - b | 0;
+                       if ((g | 0) < 2) {
+                        return -1;
+                       }
+                       e = 19;
+                       h = r[b | 0];
+                       f = h + -216 | 0;
+                       if (f >>> 0 <= 39) {
+                        break la;
+                       }
+                       if (h) {
+                        break ha;
+                       }
+                       f = r[a + 3 | 0];
+                       j = r[i + f | 0] + -5 | 0;
+                       if (j >>> 0 > 24) {
+                        break aa;
+                       }
+                       na : {
+                        switch (j - 1 | 0) {
+                        case 2:
+                        case 3:
+                        case 4:
+                        case 5:
+                        case 6:
+                        case 7:
+                        case 8:
+                        case 9:
+                        case 10:
+                        case 11:
+                        case 12:
+                        case 13:
+                        case 14:
+                        case 15:
+                        case 17:
+                        case 22:
+                         break aa;
+                        case 16:
+                        case 18:
+                        case 19:
+                        case 20:
+                        case 21:
+                         break fa;
+                        case 23:
+                         break ga;
+                        case 1:
+                         break ja;
+                        case 0:
+                         break na;
+                        default:
+                         break b;
+                        }
+                       }
+                       e = -2;
+                       if ((g | 0) >= 3) {
+                        break b;
+                       }
+                       break d;
+                      }
+                      e = 19;
+                      break aa;
+                     case 28:
+                      if ((e | 0) == 19) {
+                       break a;
+                      }
+                      q[d >> 2] = a + 2;
+                      return 32;
+                     case 27:
+                      if ((e | 0) == 19) {
+                       break a;
+                      }
+                      q[d >> 2] = a + 2;
+                      return 31;
+                     case 16:
+                     case 18:
+                     case 19:
+                     case 20:
+                     case 21:
+                      break ba;
+                     case 23:
+                      break ca;
+                     case 1:
+                      break ea;
+                     case 9:
+                      break ma;
+                     default:
+                      break a;
+                     }
+                    }
+                    if ((e | 0) == 19) {
+                     break a;
+                    }
+                    q[d >> 2] = a + 2;
+                    return 30;
+                   }
+                   switch (b - 4 | 0) {
+                   case 0:
+                   case 1:
+                   case 2:
+                   case 3:
+                    break a;
+                   case 4:
+                   case 5:
+                   case 6:
+                   case 7:
+                   case 8:
+                   case 9:
+                   case 10:
+                   case 11:
+                   case 12:
+                   case 13:
+                   case 14:
+                   case 15:
+                   case 16:
+                   case 17:
+                   case 18:
+                   case 19:
+                   case 20:
+                   case 21:
+                   case 22:
+                   case 23:
+                   case 24:
+                   case 25:
+                   case 26:
+                   case 27:
+                   case 28:
+                   case 29:
+                   case 30:
+                   case 31:
+                   case 32:
+                   case 33:
+                   case 34:
+                    break da;
+                   case 35:
+                    break ka;
+                   default:
+                    break ea;
+                   }
+                  }
+                  switch (f - 4 | 0) {
+                  case 0:
+                  case 1:
+                  case 2:
+                  case 3:
+                   break aa;
+                  case 4:
+                  case 5:
+                  case 6:
+                  case 7:
+                  case 8:
+                  case 9:
+                  case 10:
+                  case 11:
+                  case 12:
+                  case 13:
+                  case 14:
+                  case 15:
+                  case 16:
+                  case 17:
+                  case 18:
+                  case 19:
+                  case 20:
+                  case 21:
+                  case 22:
+                  case 23:
+                  case 24:
+                  case 25:
+                  case 26:
+                  case 27:
+                  case 28:
+                  case 29:
+                  case 30:
+                  case 31:
+                  case 32:
+                  case 33:
+                  case 34:
+                   break ha;
+                  case 35:
+                   break ia;
+                  default:
+                   break ja;
+                  }
+                 }
+                 b = r[a + 1 | 0];
+                 if (b >>> 0 <= 253) {
+                  break ca;
+                 }
+                 break a;
+                }
+                e = -2;
+                if ((g | 0) >= 4) {
+                 break b;
+                }
+                break d;
+               }
+               f = r[a + 3 | 0];
+               if (f >>> 0 > 253) {
+                break aa;
+               }
+               break ga;
+              }
+              f = r[a + 3 | 0];
+             }
+             if (q[(f >>> 3 & 28 | r[h + 492464 | 0] << 5) + 490192 >> 2] >>> (f & 31) & 1) {
+              break fa;
+             }
+             break b;
+            }
+            b = a + 4 | 0;
+            e = 41;
+            break aa;
+           }
+           e = -2;
+           if ((g | 0) >= 4) {
+            break a;
+           }
+           break d;
+          }
+          b = r[a + 1 | 0];
+         }
+         if (q[(b >>> 3 & 28 | r[f + 492464 | 0] << 5) + 490192 >> 2] >>> (b & 31) & 1) {
+          break ba;
+         }
+         break a;
+        }
+        b = a + 2 | 0;
+       }
+       g = c - b | 0;
+       if ((g | 0) > 1) {
+        continue;
+       }
+       break;
+      }
+     }
+     e = 0 - e | 0;
+    }
+    return e | 0;
+   }
+   q[d >> 2] = b;
+   return 0;
+  }
+  q[d >> 2] = b;
+  return 0;
+ }
+ q[d >> 2] = a;
+ return 0;
+}
+function kU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = -4;
+ a : {
+  b : {
+   c : {
+    d : {
+     if (b >>> 0 >= c >>> 0) {
+      break d;
+     }
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            l : {
+             m : {
+              n : {
+               o : {
+                p : {
+                 q : {
+                  r : {
+                   s : {
+                    e = c - b | 0;
+                    if (e & 1) {
+                     c = e & -2;
+                     if (!c) {
+                      break s;
+                     }
+                     c = b + c | 0;
+                    }
+                    g = r[b + 1 | 0];
+                    e = g + -216 | 0;
+                    if (e >>> 0 <= 39) {
+                     break r;
+                    }
+                    if (g) {
+                     break g;
+                    }
+                    f = r[b | 0];
+                    i = a + 72 | 0;
+                    h = r[f + i | 0] + -2 | 0;
+                    if (h >>> 0 > 34) {
+                     break c;
+                    }
+                    e = 18;
+                    t : {
+                     u : {
+                      v : {
+                       w : {
+                        x : {
+                         y : {
+                          z : {
+                           A : {
+                            B : {
+                             C : {
+                              D : {
+                               E : {
+                                F : {
+                                 G : {
+                                  switch (h - 1 | 0) {
+                                  case 9:
+                                   return lU(12, a, b + 2 | 0, c, d) | 0;
+                                  case 10:
+                                   return lU(13, a, b + 2 | 0, c, d) | 0;
+                                  default:
+                                   e = -1;
+                                   g = b + 2 | 0;
+                                   if ((c - g | 0) < 2) {
+                                    break d;
+                                   }
+                                   H : {
+                                    I : {
+                                     J : {
+                                      K : {
+                                       L : {
+                                        M : {
+                                         f = r[b + 3 | 0];
+                                         h = f + -220 | 0;
+                                         if (h >>> 0 > 35) {
+                                          if (f) {
+                                           break h;
+                                          }
+                                          f = r[i + r[g | 0] | 0];
+                                          if (f >>> 0 > 29) {
+                                           break H;
+                                          }
+                                          if (1 << f & 557842656) {
+                                           break h;
+                                          }
+                                          if ((f | 0) == 15) {
+                                           break J;
+                                          }
+                                          if ((f | 0) != 16) {
+                                           break H;
+                                          }
+                                          g = b + 4 | 0;
+                                          if ((c - g | 0) < 2) {
+                                           break d;
+                                          }
+                                          if (r[b + 5 | 0]) {
+                                           break q;
+                                          }
+                                          f = r[i + r[g | 0] | 0] + -20 | 0;
+                                          if (f >>> 0 > 7) {
+                                           break q;
+                                          }
+                                          switch (f - 1 | 0) {
+                                          case 0:
+                                          case 2:
+                                          case 4:
+                                          case 5:
+                                           break q;
+                                          case 1:
+                                          case 3:
+                                           break K;
+                                          case 6:
+                                           break M;
+                                          default:
+                                           break L;
+                                          }
+                                         }
+                                         switch (h - 4 | 0) {
+                                         case 31:
+                                          break I;
+                                         case 0:
+                                         case 1:
+                                         case 2:
+                                         case 3:
+                                         case 4:
+                                         case 5:
+                                         case 6:
+                                         case 7:
+                                         case 8:
+                                         case 9:
+                                         case 10:
+                                         case 11:
+                                         case 12:
+                                         case 13:
+                                         case 14:
+                                         case 15:
+                                         case 16:
+                                         case 17:
+                                         case 18:
+                                         case 19:
+                                         case 20:
+                                         case 21:
+                                         case 22:
+                                         case 23:
+                                         case 24:
+                                         case 25:
+                                         case 26:
+                                         case 27:
+                                         case 28:
+                                         case 29:
+                                         case 30:
+                                          break h;
+                                         default:
+                                          break H;
+                                         }
+                                        }
+                                        return mU(a, b + 6 | 0, c, d) | 0;
+                                       }
+                                       q[d >> 2] = b + 6;
+                                       return 33;
+                                      }
+                                      b = b + 6 | 0;
+                                      f = c - b | 0;
+                                      if ((f | 0) <= 1) {
+                                       break d;
+                                      }
+                                      while (1) {
+                                       if (r[g + 3 | 0]) {
+                                        break b;
+                                       }
+                                       a = r[i + r[b | 0] | 0];
+                                       if (a >>> 0 > 30) {
+                                        break b;
+                                       }
+                                       N : {
+                                        if (1 << a & 20971520) {
+                                         break N;
+                                        }
+                                        O : {
+                                         if (1 << a & 2098688) {
+                                          break O;
+                                         }
+                                         if ((a | 0) != 30) {
+                                          break b;
+                                         }
+                                         if ((f | 0) < 4) {
+                                          break d;
+                                         }
+                                         if (r[g + 5 | 0]) {
+                                          break O;
+                                         }
+                                         a = r[i + r[g + 4 | 0] | 0];
+                                         if (a >>> 0 > 30 | !(1 << a & 1075840512)) {
+                                          break O;
+                                         }
+                                         break b;
+                                        }
+                                        q[d >> 2] = b;
+                                        return 16;
+                                       }
+                                       g = b;
+                                       b = b + 2 | 0;
+                                       f = c - b | 0;
+                                       if ((f | 0) > 1) {
+                                        continue;
+                                       }
+                                       break;
+                                      }
+                                      break d;
+                                     }
+                                     return nU(a, b + 4 | 0, c, d) | 0;
+                                    }
+                                    if (r[g | 0] <= 253) {
+                                     break h;
+                                    }
+                                   }
+                                   q[d >> 2] = g;
+                                   return 0;
+                                  case 0:
+                                  case 5:
+                                  case 11:
+                                  case 12:
+                                  case 13:
+                                  case 14:
+                                  case 15:
+                                  case 25:
+                                  case 30:
+                                  case 31:
+                                   break c;
+                                  case 4:
+                                   break n;
+                                  case 20:
+                                  case 22:
+                                  case 23:
+                                  case 24:
+                                   break t;
+                                  case 3:
+                                   break u;
+                                  case 2:
+                                   break v;
+                                  case 16:
+                                   break w;
+                                  case 8:
+                                   break x;
+                                  case 33:
+                                   break y;
+                                  case 29:
+                                   break z;
+                                  case 28:
+                                   break A;
+                                  case 1:
+                                   break B;
+                                  case 17:
+                                   break C;
+                                  case 19:
+                                  case 21:
+                                   break e;
+                                  case 32:
+                                   break D;
+                                  case 27:
+                                   break E;
+                                  case 7:
+                                  case 18:
+                                   break F;
+                                  case 6:
+                                   break G;
+                                  case 26:
+                                   break f;
+                                  }
+                                 }
+                                 if ((b + 2 | 0) != (c | 0)) {
+                                  break F;
+                                 }
+                                 q[d >> 2] = c;
+                                 return -15;
+                                }
+                                e = b + 2 | 0;
+                                if ((c - e | 0) >= 2) {
+                                 while (1) {
+                                  P : {
+                                   Q : {
+                                    if (r[b + 3 | 0]) {
+                                     break Q;
+                                    }
+                                    a = r[i + r[e | 0] | 0] + -9 | 0;
+                                    if (a >>> 0 > 12) {
+                                     break Q;
+                                    }
+                                    R : {
+                                     switch (a - 1 | 0) {
+                                     case 0:
+                                     case 11:
+                                      break P;
+                                     case 1:
+                                     case 2:
+                                     case 3:
+                                     case 4:
+                                     case 5:
+                                     case 6:
+                                     case 7:
+                                     case 8:
+                                     case 9:
+                                     case 10:
+                                      break Q;
+                                     default:
+                                      break R;
+                                     }
+                                    }
+                                    if ((b + 4 | 0) != (c | 0)) {
+                                     break P;
+                                    }
+                                   }
+                                   q[d >> 2] = e;
+                                   return 15;
+                                  }
+                                  b = e;
+                                  e = b + 2 | 0;
+                                  if ((c - e | 0) > 1) {
+                                   continue;
+                                  }
+                                  break;
+                                 }
+                                }
+                                q[d >> 2] = e;
+                                return 15;
+                               }
+                               return oU(a, b + 2 | 0, c, d) | 0;
+                              }
+                              q[d >> 2] = b + 2;
+                              return 38;
+                             }
+                             q[d >> 2] = b + 2;
+                             return 25;
+                            }
+                            e = -26;
+                            a = b + 2 | 0;
+                            c = c - a | 0;
+                            if ((c | 0) < 2) {
+                             break d;
+                            }
+                            S : {
+                             if (r[b + 3 | 0] | r[a | 0] != 93) {
+                              break S;
+                             }
+                             e = -1;
+                             if ((c | 0) < 4) {
+                              break d;
+                             }
+                             if (r[b + 5 | 0] | r[b + 4 | 0] != 62) {
+                              break S;
+                             }
+                             q[d >> 2] = b + 6;
+                             return 34;
+                            }
+                            q[d >> 2] = a;
+                            return 26;
+                           }
+                           q[d >> 2] = b + 2;
+                           return 23;
+                          }
+                          e = -24;
+                          a = b + 2 | 0;
+                          if ((c - a | 0) < 2) {
+                           break d;
+                          }
+                          T : {
+                           if (r[b + 3 | 0]) {
+                            break T;
+                           }
+                           c = r[i + r[a | 0] | 0] + -9 | 0;
+                           if (c >>> 0 > 27) {
+                            break T;
+                           }
+                           U : {
+                            switch (c - 3 | 0) {
+                            case 21:
+                             q[d >> 2] = b + 4;
+                             return 36;
+                            case 3:
+                             q[d >> 2] = b + 4;
+                             return 35;
+                            case 22:
+                             q[d >> 2] = b + 4;
+                             return 37;
+                            case 0:
+                            case 1:
+                            case 2:
+                            case 4:
+                            case 5:
+                            case 6:
+                            case 7:
+                            case 8:
+                            case 10:
+                            case 11:
+                            case 12:
+                            case 13:
+                            case 14:
+                            case 15:
+                            case 16:
+                            case 17:
+                            case 18:
+                            case 19:
+                             break T;
+                            default:
+                             break U;
+                            }
+                           }
+                           q[d >> 2] = a;
+                           return 24;
+                          }
+                          break a;
+                         }
+                         q[d >> 2] = b + 2;
+                         return 21;
+                        }
+                        q[d >> 2] = b + 2;
+                        return 17;
+                       }
+                       e = -1;
+                       a = b + 2 | 0;
+                       g = c - a | 0;
+                       if ((g | 0) < 2) {
+                        break d;
+                       }
+                       f = r[b + 3 | 0];
+                       e = f + -216 | 0;
+                       if (e >>> 0 <= 39) {
+                        break p;
+                       }
+                       if (f) {
+                        break k;
+                       }
+                       e = r[a | 0];
+                       h = r[i + e | 0] + -5 | 0;
+                       if (h >>> 0 > 24) {
+                        break a;
+                       }
+                       V : {
+                        switch (h - 1 | 0) {
+                        case 1:
+                         break l;
+                        case 0:
+                         break V;
+                        case 16:
+                        case 18:
+                         break i;
+                        case 23:
+                         break j;
+                        default:
+                         break a;
+                        }
+                       }
+                       e = -2;
+                       if ((g | 0) >= 3) {
+                        break a;
+                       }
+                       break d;
+                      }
+                      e = -2;
+                      if ((c - b | 0) < 2) {
+                       break d;
+                      }
+                      break c;
+                     }
+                     e = -2;
+                     if ((c - b | 0) >= 3) {
+                      break c;
+                     }
+                     break d;
+                    }
+                    e = 19;
+                    break e;
+                   }
+                   return -1;
+                  }
+                  switch (e - 4 | 0) {
+                  case 0:
+                  case 1:
+                  case 2:
+                  case 3:
+                   break c;
+                  case 35:
+                   break o;
+                  case 4:
+                  case 5:
+                  case 6:
+                  case 7:
+                  case 8:
+                  case 9:
+                  case 10:
+                  case 11:
+                  case 12:
+                  case 13:
+                  case 14:
+                  case 15:
+                  case 16:
+                  case 17:
+                  case 18:
+                  case 19:
+                  case 20:
+                  case 21:
+                  case 22:
+                  case 23:
+                  case 24:
+                  case 25:
+                  case 26:
+                  case 27:
+                  case 28:
+                  case 29:
+                  case 30:
+                  case 31:
+                  case 32:
+                  case 33:
+                  case 34:
+                   break g;
+                  default:
+                   break n;
+                  }
+                 }
+                 q[d >> 2] = g;
+                 return 0;
+                }
+                switch (e - 4 | 0) {
+                case 0:
+                case 1:
+                case 2:
+                case 3:
+                 break a;
+                case 4:
+                case 5:
+                case 6:
+                case 7:
+                case 8:
+                case 9:
+                case 10:
+                case 11:
+                case 12:
+                case 13:
+                case 14:
+                case 15:
+                case 16:
+                case 17:
+                case 18:
+                case 19:
+                case 20:
+                case 21:
+                case 22:
+                case 23:
+                case 24:
+                case 25:
+                case 26:
+                case 27:
+                case 28:
+                case 29:
+                case 30:
+                case 31:
+                case 32:
+                case 33:
+                case 34:
+                 break k;
+                case 35:
+                 break m;
+                default:
+                 break l;
+                }
+               }
+               f = r[b | 0];
+               if (f >>> 0 > 253) {
+                break c;
+               }
+               break f;
+              }
+              e = -2;
+              if ((c - b | 0) >= 4) {
+               break c;
+              }
+              break d;
+             }
+             e = r[a | 0];
+             if (e >>> 0 <= 253) {
+              break j;
+             }
+             break a;
+            }
+            e = -2;
+            if ((g | 0) >= 4) {
+             break a;
+            }
+            break d;
+           }
+           e = r[a | 0];
+          }
+          if (q[(e >>> 3 & 28 | r[f + 492208 | 0] << 5) + 490192 >> 2] >>> (e & 31) & 1) {
+           break i;
+          }
+          break a;
+         }
+         e = -20;
+         b = b + 4 | 0;
+         f = c - b | 0;
+         if ((f | 0) <= 1) {
+          break d;
+         }
+         while (1) {
+          W : {
+           X : {
+            Y : {
+             Z : {
+              g = r[a + 3 | 0];
+              a = g + -216 | 0;
+              if (a >>> 0 > 39) {
+               if (g) {
+                break Y;
+               }
+               a = r[b | 0];
+               h = r[i + a | 0] + -5 | 0;
+               if (h >>> 0 > 31) {
+                break b;
+               }
+               _ : {
+                switch (h - 1 | 0) {
+                case 0:
+                 e = -2;
+                 if ((f | 0) >= 3) {
+                  break b;
+                 }
+                 break d;
+                case 16:
+                case 18:
+                case 19:
+                case 20:
+                case 21:
+                 break W;
+                case 23:
+                 break X;
+                case 1:
+                 break Z;
+                case 3:
+                case 4:
+                case 5:
+                case 15:
+                case 24:
+                case 26:
+                case 30:
+                 break _;
+                default:
+                 break b;
+                }
+               }
+               q[d >> 2] = b;
+               return 20;
+              }
+              $ : {
+               switch (a - 4 | 0) {
+               case 0:
+               case 1:
+               case 2:
+               case 3:
+                break b;
+               case 4:
+               case 5:
+               case 6:
+               case 7:
+               case 8:
+               case 9:
+               case 10:
+               case 11:
+               case 12:
+               case 13:
+               case 14:
+               case 15:
+               case 16:
+               case 17:
+               case 18:
+               case 19:
+               case 20:
+               case 21:
+               case 22:
+               case 23:
+               case 24:
+               case 25:
+               case 26:
+               case 27:
+               case 28:
+               case 29:
+               case 30:
+               case 31:
+               case 32:
+               case 33:
+               case 34:
+                break Y;
+               case 35:
+                break $;
+               default:
+                break Z;
+               }
+              }
+              a = r[b | 0];
+              if (a >>> 0 <= 253) {
+               break X;
+              }
+              break b;
+             }
+             e = -2;
+             if ((f | 0) >= 4) {
+              break b;
+             }
+             break d;
+            }
+            a = r[b | 0];
+           }
+           if (q[(a >>> 3 & 28 | r[g + 492464 | 0] << 5) + 490192 >> 2] >>> (a & 31) & 1) {
+            break W;
+           }
+           break b;
+          }
+          a = b;
+          b = b + 2 | 0;
+          f = c - b | 0;
+          if ((f | 0) > 1) {
+           continue;
+          }
+          break;
+         }
+         break d;
+        }
+        q[d >> 2] = b;
+        return 29;
+       }
+       f = r[b | 0];
+      }
+      e = 18;
+      i = (f >>> 5 & 7) << 2;
+      f = 1 << (f & 31);
+      if (q[(i | r[g + 492208 | 0] << 5) + 490192 >> 2] & f) {
+       break e;
+      }
+      e = 19;
+      if (!(f & q[(i | r[g + 492464 | 0] << 5) + 490192 >> 2])) {
+       break c;
+      }
+     }
+     b = b + 2 | 0;
+     f = c - b | 0;
+     if ((f | 0) >= 2) {
+      i = a + 72 | 0;
+      while (1) {
+       a = b;
+       aa : {
+        ba : {
+         ca : {
+          da : {
+           ea : {
+            fa : {
+             ga : {
+              ha : {
+               ia : {
+                ja : {
+                 ka : {
+                  la : {
+                   g = r[b + 1 | 0];
+                   b = g + -216 | 0;
+                   if (b >>> 0 > 39) {
+                    if (g) {
+                     break da;
+                    }
+                    b = r[a | 0];
+                    h = r[i + b | 0] + -5 | 0;
+                    if (h >>> 0 > 31) {
+                     break a;
+                    }
+                    ma : {
+                     switch (h - 1 | 0) {
+                     case 0:
+                      e = -2;
+                      if ((f | 0) >= 3) {
+                       break a;
+                      }
+                      break d;
+                     case 3:
+                     case 4:
+                     case 5:
+                     case 14:
+                     case 15:
+                     case 24:
+                     case 26:
+                     case 29:
+                     case 30:
+                      q[d >> 2] = a;
+                      return e | 0;
+                     case 17:
+                      b = a + 2 | 0;
+                      if ((e | 0) != 41) {
+                       if ((e | 0) != 18) {
+                        break aa;
+                       }
+                       f = c - b | 0;
+                       if ((f | 0) < 2) {
+                        return -1;
+                       }
+                       e = 19;
+                       h = r[a + 3 | 0];
+                       g = h + -216 | 0;
+                       if (g >>> 0 <= 39) {
+                        break la;
+                       }
+                       if (h) {
+                        break ha;
+                       }
+                       g = r[b | 0];
+                       j = r[i + g | 0] + -5 | 0;
+                       if (j >>> 0 > 24) {
+                        break aa;
+                       }
+                       na : {
+                        switch (j - 1 | 0) {
+                        case 2:
+                        case 3:
+                        case 4:
+                        case 5:
+                        case 6:
+                        case 7:
+                        case 8:
+                        case 9:
+                        case 10:
+                        case 11:
+                        case 12:
+                        case 13:
+                        case 14:
+                        case 15:
+                        case 17:
+                        case 22:
+                         break aa;
+                        case 16:
+                        case 18:
+                        case 19:
+                        case 20:
+                        case 21:
+                         break fa;
+                        case 23:
+                         break ga;
+                        case 1:
+                         break ja;
+                        case 0:
+                         break na;
+                        default:
+                         break b;
+                        }
+                       }
+                       e = -2;
+                       if ((f | 0) >= 3) {
+                        break b;
+                       }
+                       break d;
+                      }
+                      e = 19;
+                      break aa;
+                     case 28:
+                      if ((e | 0) == 19) {
+                       break a;
+                      }
+                      q[d >> 2] = a + 2;
+                      return 32;
+                     case 27:
+                      if ((e | 0) == 19) {
+                       break a;
+                      }
+                      q[d >> 2] = a + 2;
+                      return 31;
+                     case 16:
+                     case 18:
+                     case 19:
+                     case 20:
+                     case 21:
+                      break ba;
+                     case 23:
+                      break ca;
+                     case 1:
+                      break ea;
+                     case 9:
+                      break ma;
+                     default:
+                      break a;
+                     }
+                    }
+                    if ((e | 0) == 19) {
+                     break a;
+                    }
+                    q[d >> 2] = a + 2;
+                    return 30;
+                   }
+                   switch (b - 4 | 0) {
+                   case 0:
+                   case 1:
+                   case 2:
+                   case 3:
+                    break a;
+                   case 4:
+                   case 5:
+                   case 6:
+                   case 7:
+                   case 8:
+                   case 9:
+                   case 10:
+                   case 11:
+                   case 12:
+                   case 13:
+                   case 14:
+                   case 15:
+                   case 16:
+                   case 17:
+                   case 18:
+                   case 19:
+                   case 20:
+                   case 21:
+                   case 22:
+                   case 23:
+                   case 24:
+                   case 25:
+                   case 26:
+                   case 27:
+                   case 28:
+                   case 29:
+                   case 30:
+                   case 31:
+                   case 32:
+                   case 33:
+                   case 34:
+                    break da;
+                   case 35:
+                    break ka;
+                   default:
+                    break ea;
+                   }
+                  }
+                  switch (g - 4 | 0) {
+                  case 0:
+                  case 1:
+                  case 2:
+                  case 3:
+                   break aa;
+                  case 4:
+                  case 5:
+                  case 6:
+                  case 7:
+                  case 8:
+                  case 9:
+                  case 10:
+                  case 11:
+                  case 12:
+                  case 13:
+                  case 14:
+                  case 15:
+                  case 16:
+                  case 17:
+                  case 18:
+                  case 19:
+                  case 20:
+                  case 21:
+                  case 22:
+                  case 23:
+                  case 24:
+                  case 25:
+                  case 26:
+                  case 27:
+                  case 28:
+                  case 29:
+                  case 30:
+                  case 31:
+                  case 32:
+                  case 33:
+                  case 34:
+                   break ha;
+                  case 35:
+                   break ia;
+                  default:
+                   break ja;
+                  }
+                 }
+                 b = r[a | 0];
+                 if (b >>> 0 <= 253) {
+                  break ca;
+                 }
+                 break a;
+                }
+                e = -2;
+                if ((f | 0) >= 4) {
+                 break b;
+                }
+                break d;
+               }
+               g = r[b | 0];
+               if (g >>> 0 > 253) {
+                break aa;
+               }
+               break ga;
+              }
+              g = r[b | 0];
+             }
+             if (q[(g >>> 3 & 28 | r[h + 492464 | 0] << 5) + 490192 >> 2] >>> (g & 31) & 1) {
+              break fa;
+             }
+             break b;
+            }
+            b = a + 4 | 0;
+            e = 41;
+            break aa;
+           }
+           e = -2;
+           if ((f | 0) >= 4) {
+            break a;
+           }
+           break d;
+          }
+          b = r[a | 0];
+         }
+         if (q[(b >>> 3 & 28 | r[g + 492464 | 0] << 5) + 490192 >> 2] >>> (b & 31) & 1) {
+          break ba;
+         }
+         break a;
+        }
+        b = a + 2 | 0;
+       }
+       f = c - b | 0;
+       if ((f | 0) > 1) {
+        continue;
+       }
+       break;
+      }
+     }
+     e = 0 - e | 0;
+    }
+    return e | 0;
+   }
+   q[d >> 2] = b;
+   return 0;
+  }
+  q[d >> 2] = b;
+  return 0;
+ }
+ q[d >> 2] = a;
+ return 0;
+}
+function jn(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, u = 0, v = 0, x = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ q[i + 8 >> 2] = 0;
+ g = q[e + 32 >> 2];
+ l = q[g + 100 >> 2];
+ a : {
+  b : {
+   c : {
+    d : {
+     if (jZ(a, 26088, 7)) {
+      break d;
+     }
+     c = r[a + 7 | 0];
+     if (c >>> 0 > 32) {
+      break d;
+     }
+     e : {
+      switch (c - 1 | 0) {
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 10:
+      case 11:
+      case 13:
+      case 14:
+      case 15:
+      case 16:
+      case 17:
+      case 18:
+      case 19:
+      case 20:
+      case 21:
+      case 22:
+      case 23:
+      case 24:
+      case 25:
+      case 26:
+      case 27:
+      case 28:
+      case 29:
+      case 30:
+       break d;
+      default:
+       break e;
+      }
+     }
+     q[i + 12 >> 2] = 0;
+     d = q[g + 88 >> 2];
+     m = d;
+     d = (c ? -8 : -7) + b | 0;
+     f = d + 1 | 0;
+     j = Te(l, 1, m, m + f | 0, q[g + 84 >> 2], i + 12 | 0);
+     q[g + 84 >> 2] = j;
+     b = q[i + 12 >> 2];
+     if (!b) {
+      v = Y$(j + q[g + 88 >> 2] | 0, c ? a + 8 | 0 : a + 7 | 0, d) + d | 0, x = 10, o[v | 0] = x;
+      q[g + 88 >> 2] = f + q[g + 88 >> 2];
+      b = q[i + 12 >> 2];
+     }
+     q[i + 8 >> 2] = b;
+     break c;
+    }
+    h = i;
+    f : {
+     g : {
+      c = q[e >> 2];
+      h : {
+       if (!(c & 32)) {
+        i : {
+         j : {
+          if (jZ(a, 27485, 5)) {
+           break j;
+          }
+          c = r[a + 5 | 0];
+          if (c >>> 0 > 32) {
+           break j;
+          }
+          switch (c - 1 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 10:
+          case 11:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 28:
+          case 29:
+          case 30:
+           break j;
+          default:
+           break i;
+          }
+         }
+         b = 180;
+         break h;
+        }
+        c = e + 40 | 0;
+        b = fn(c, 27456, a, b);
+        q[i + 8 >> 2] = b;
+        if (b) {
+         break b;
+        }
+        a = 0;
+        c = q[q[c >> 2] + 4 >> 2];
+        k : {
+         if (!c) {
+          break k;
+         }
+         b = o[c | 0];
+         d = b & 255;
+         if (!d | !(r[(d >>> 3 | 0) + 28592 | 0] >>> (b & 7) & 1)) {
+          break k;
+         }
+         while (1) {
+          if (a >>> 0 > 429496727) {
+           a = -1;
+           break k;
+          }
+          a = r[b + 28624 | 0] + w(a, 10) | 0;
+          b = o[c + 1 | 0];
+          c = c + 1 | 0;
+          if (r[((b & 248) >>> 3 | 0) + 28592 | 0] >>> (b & 7) & 1) {
+           continue;
+          }
+          break;
+         }
+        }
+        q[g + 48 >> 2] = a;
+        q[e + 4 >> 2] = a;
+        b = t[e + 60 >> 2] / 20 | 0;
+        if (a >>> 0 > b >>> 0) {
+         q[g + 48 >> 2] = b;
+         q[e + 4 >> 2] = b;
+         a = b;
+        }
+        if (!a) {
+         a = 64;
+         q[g + 48 >> 2] = 64;
+         break g;
+        }
+        if (a >>> 0 < 1114112) {
+         break g;
+        }
+        b = 6;
+        break h;
+       }
+       l : {
+        m : {
+         n : {
+          o : {
+           p : {
+            q : {
+             r : {
+              s : {
+               if (jZ(a, 28790, 7)) {
+                break s;
+               }
+               f = r[a + 7 | 0];
+               if (f >>> 0 > 32) {
+                break s;
+               }
+               t : {
+                switch (f - 1 | 0) {
+                case 0:
+                case 1:
+                case 2:
+                case 3:
+                case 4:
+                case 5:
+                case 6:
+                case 7:
+                case 10:
+                case 11:
+                case 13:
+                case 14:
+                case 15:
+                case 16:
+                case 17:
+                case 18:
+                case 19:
+                case 20:
+                case 21:
+                case 22:
+                case 23:
+                case 24:
+                case 25:
+                case 26:
+                case 27:
+                case 28:
+                case 29:
+                case 30:
+                 break s;
+                default:
+                 break t;
+                }
+               }
+               if (!(c & 4032)) {
+                break r;
+               }
+               b = 186;
+               break h;
+              }
+              u : {
+               if (jZ(a, 28798, 7)) {
+                break u;
+               }
+               d = r[a + 7 | 0];
+               if (d >>> 0 > 32) {
+                break u;
+               }
+               v : {
+                switch (d - 1 | 0) {
+                case 0:
+                case 1:
+                case 2:
+                case 3:
+                case 4:
+                case 5:
+                case 6:
+                case 7:
+                case 10:
+                case 11:
+                case 13:
+                case 14:
+                case 15:
+                case 16:
+                case 17:
+                case 18:
+                case 19:
+                case 20:
+                case 21:
+                case 22:
+                case 23:
+                case 24:
+                case 25:
+                case 26:
+                case 27:
+                case 28:
+                case 29:
+                case 30:
+                 break u;
+                default:
+                 break v;
+                }
+               }
+               q[e + 28 >> 2] = 0;
+               q[e >> 2] = c & -4033;
+               break f;
+              }
+              d = c & 64;
+              if (q[q[e + 36 >> 2] + 4 >> 2] ? 0 : !(!d | q[e + 28 >> 2] != -1)) {
+               break f;
+              }
+              w : {
+               if (jZ(a, 28806, 9)) {
+                break w;
+               }
+               f = r[a + 9 | 0];
+               if (f >>> 0 > 32) {
+                break w;
+               }
+               x : {
+                switch (f - 1 | 0) {
+                case 0:
+                case 1:
+                case 2:
+                case 3:
+                case 4:
+                case 5:
+                case 6:
+                case 7:
+                case 10:
+                case 11:
+                case 13:
+                case 14:
+                case 15:
+                case 16:
+                case 17:
+                case 18:
+                case 19:
+                case 20:
+                case 21:
+                case 22:
+                case 23:
+                case 24:
+                case 25:
+                case 26:
+                case 27:
+                case 28:
+                case 29:
+                case 30:
+                 break w;
+                default:
+                 break x;
+                }
+               }
+               if (c & 4032) {
+                break l;
+               }
+               Qe(l, q[e + 24 >> 2]);
+               q[e + 24 >> 2] = 0;
+               g = e + 40 | 0;
+               b = fn(g, 27456, a, b);
+               q[i + 8 >> 2] = b;
+               if (b) {
+                break b;
+               }
+               a = q[e + 48 >> 2];
+               if (a >>> 0 <= 1) {
+                if (a - 1) {
+                 break m;
+                }
+                q[e + 48 >> 2] = 0;
+                b = 3;
+                break h;
+               }
+               d = a + -1 | 0;
+               a = 0;
+               b = 1;
+               while (1) {
+                c = q[g >> 2];
+                q[c + (a << 2) >> 2] = q[c + (b << 2) >> 2];
+                b = b + 1 | 0;
+                a = a + 1 | 0;
+                if ((d | 0) != (a | 0)) {
+                 continue;
+                }
+                break;
+               }
+               q[e + 48 >> 2] = d;
+               if (!d) {
+                break m;
+               }
+               b = 0;
+               c = q[q[g >> 2] >> 2];
+               a = c;
+               while (1) {
+                f = r[a | 0];
+                if (f) {
+                 while (1) {
+                  o[b + c | 0] = f;
+                  b = b + 1 | 0;
+                  f = r[a + 1 | 0];
+                  a = a + 1 | 0;
+                  if (f) {
+                   continue;
+                  }
+                  break;
+                 }
+                 d = q[e + 48 >> 2];
+                }
+                j = j + 1 | 0;
+                if (j >>> 0 < d >>> 0) {
+                 o[b + c | 0] = 32;
+                 d = q[e + 48 >> 2];
+                 b = b + 1 | 0;
+                }
+                if (j >>> 0 < d >>> 0) {
+                 a = q[q[g >> 2] + (j << 2) >> 2];
+                 continue;
+                }
+                break;
+               }
+               if ((c | 0) != 28577) {
+                o[b + c | 0] = 0;
+                if (!c) {
+                 break m;
+                }
+               }
+               a = b + 1 | 0;
+               d = Te(l, 1, 0, a, 0, i + 8 | 0);
+               q[e + 24 >> 2] = d;
+               b = q[i + 8 >> 2];
+               if (b) {
+                break b;
+               }
+               Y$(d, c, a);
+               q[e >> 2] = q[e >> 2] | 64;
+               break f;
+              }
+              y : {
+               if (jZ(a, 28816, 8)) {
+                break y;
+               }
+               f = r[a + 8 | 0];
+               if (f >>> 0 > 32) {
+                break y;
+               }
+               z : {
+                switch (f - 1 | 0) {
+                case 0:
+                case 1:
+                case 2:
+                case 3:
+                case 4:
+                case 5:
+                case 6:
+                case 7:
+                case 10:
+                case 11:
+                case 13:
+                case 14:
+                case 15:
+                case 16:
+                case 17:
+                case 18:
+                case 19:
+                case 20:
+                case 21:
+                case 22:
+                case 23:
+                case 24:
+                case 25:
+                case 26:
+                case 27:
+                case 28:
+                case 29:
+                case 30:
+                 break y;
+                default:
+                 break z;
+                }
+               }
+               if (!d) {
+                break l;
+               }
+               c = e + 40 | 0;
+               b = fn(c, 27456, a, b);
+               q[i + 8 >> 2] = b;
+               if (b) {
+                break b;
+               }
+               h = q[c >> 2];
+               c = q[h + 4 >> 2];
+               if (!c) {
+                break p;
+               }
+               d = r[c | 0];
+               if (!d) {
+                break p;
+               }
+               if ((d | 0) == 45) {
+                m = 1;
+                d = r[c + 1 | 0];
+                c = c + 1 | 0;
+               }
+               b = 0;
+               a = d << 24 >> 24;
+               A : {
+                if (!(r[((d & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1)) {
+                 break A;
+                }
+                while (1) {
+                 if ((b | 0) > 214748362) {
+                  b = 2147483647;
+                  break A;
+                 }
+                 b = r[a + 28624 | 0] + w(b, 10) | 0;
+                 a = o[c + 1 | 0];
+                 c = c + 1 | 0;
+                 if (r[((a & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1) {
+                  continue;
+                 }
+                 break;
+                }
+               }
+               j = e + 28 | 0;
+               a = m ? 0 - b | 0 : b;
+               B : {
+                C : {
+                 if ((a | 0) <= -2) {
+                  q[j >> 2] = -1;
+                  break C;
+                 }
+                 q[j >> 2] = a;
+                 if ((a | 0) != -1) {
+                  break B;
+                 }
+                }
+                if (t[e + 48 >> 2] < 3) {
+                 break q;
+                }
+                f = j;
+                d = q[h + 8 >> 2];
+                b = 0;
+                D : {
+                 if (!d) {
+                  break D;
+                 }
+                 a = 0;
+                 h = r[d | 0];
+                 b = 0;
+                 if (!h) {
+                  break D;
+                 }
+                 if ((h | 0) == 45) {
+                  a = 1;
+                  h = r[d + 1 | 0];
+                  d = d + 1 | 0;
+                 }
+                 c = 0;
+                 b = h << 24 >> 24;
+                 E : {
+                  if (!(r[((h & 248) >>> 3 | 0) + 28592 | 0] >>> (b & 7) & 1)) {
+                   break E;
+                  }
+                  while (1) {
+                   if ((c | 0) > 214748362) {
+                    c = 2147483647;
+                    break E;
+                   }
+                   c = r[b + 28624 | 0] + w(c, 10) | 0;
+                   b = o[d + 1 | 0];
+                   d = d + 1 | 0;
+                   if (r[((b & 248) >>> 3 | 0) + 28592 | 0] >>> (b & 7) & 1) {
+                    continue;
+                   }
+                   break;
+                  }
+                 }
+                 b = a ? 0 - c | 0 : c;
+                }
+                a = b;
+                q[f >> 2] = a;
+               }
+               if (a + 1 >>> 0 >= 1114113) {
+                q[j >> 2] = -1;
+                break q;
+               }
+               if ((a | 0) < 0) {
+                break q;
+               }
+               break o;
+              }
+              if (c & 128) {
+               d = q[e + 28 >> 2] == -1;
+               j = q[g + (d ? 64 : 52) >> 2] + -1 | 0;
+               k = q[g + (d ? 68 : 56) >> 2];
+               if (c & 2048) {
+                d = q[e + 8 >> 2];
+                b = k + w(j, 36) | 0;
+                if (d >>> 0 >= s[b + 14 >> 1]) {
+                 if ((c | 0) < 0) {
+                  break f;
+                 }
+                 q[e >> 2] = c | -2147483648;
+                 break f;
+                }
+                c = q[b + 28 >> 2];
+                b = q[b + 24 >> 2] + w(c, d) | 0;
+                f = 0;
+                d = c << 1;
+                F : {
+                 if (!d) {
+                  c = 0;
+                  break F;
+                 }
+                 G : {
+                  while (1) {
+                   c = f;
+                   h = r[c + a | 0];
+                   f = h << 24 >> 24;
+                   if (!(r[(h >>> 3 | 0) + 28864 | 0] >>> (f & 7) & 1)) {
+                    break G;
+                   }
+                   o[b | 0] = r[f + 28624 | 0] + (r[b | 0] << 4);
+                   f = c + 1 | 0;
+                   if (!(!(c & 1) | f >>> 0 >= d >>> 0)) {
+                    o[b + 1 | 0] = 0;
+                    b = b + 1 | 0;
+                   }
+                   if ((d | 0) != (f | 0)) {
+                    continue;
+                   }
+                   break;
+                  }
+                  c = d;
+                  break F;
+                 }
+                 f = q[e >> 2];
+                 if (f & 1073741824) {
+                  break F;
+                 }
+                 q[e >> 2] = f | 1073741824;
+                }
+                f = s[(k + w(j, 36) | 0) + 12 >> 1];
+                if (f) {
+                 o[b | 0] = r[b | 0] & r[(w(f, s[q[e + 32 >> 2] + 96 >> 1]) & 7) + 28825 | 0];
+                }
+                H : {
+                 if ((c | 0) != (d | 0)) {
+                  break H;
+                 }
+                 a = r[a + d | 0];
+                 if (!(r[(a >>> 3 | 0) + 28864 | 0] >>> (a & 7) & 1)) {
+                  break H;
+                 }
+                 a = q[e >> 2];
+                 if (a & 1073741824) {
+                  break H;
+                 }
+                 q[e >> 2] = a | 1073741824;
+                }
+                q[e + 8 >> 2] = q[e + 8 >> 2] + 1;
+                break f;
+               }
+               I : {
+                if (jZ(a, 28833, 6)) {
+                 break I;
+                }
+                d = r[a + 6 | 0];
+                if (d >>> 0 > 32) {
+                 break I;
+                }
+                J : {
+                 switch (d - 1 | 0) {
+                 case 0:
+                 case 1:
+                 case 2:
+                 case 3:
+                 case 4:
+                 case 5:
+                 case 6:
+                 case 7:
+                 case 10:
+                 case 11:
+                 case 13:
+                 case 14:
+                 case 15:
+                 case 16:
+                 case 17:
+                 case 18:
+                 case 19:
+                 case 20:
+                 case 21:
+                 case 22:
+                 case 23:
+                 case 24:
+                 case 25:
+                 case 26:
+                 case 27:
+                 case 28:
+                 case 29:
+                 case 30:
+                  break I;
+                 default:
+                  break J;
+                 }
+                }
+                c = e + 40 | 0;
+                b = fn(c, 27456, a, b);
+                q[i + 8 >> 2] = b;
+                if (b) {
+                 break b;
+                }
+                b = 0;
+                f = q[q[c >> 2] + 4 >> 2];
+                K : {
+                 if (!f) {
+                  break K;
+                 }
+                 a = o[f | 0];
+                 c = a & 255;
+                 if (!c | !(r[(c >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1)) {
+                  break K;
+                 }
+                 while (1) {
+                  if (b >>> 0 > 429496727) {
+                   b = -1;
+                   break K;
+                  }
+                  b = r[a + 28624 | 0] + w(b, 10) | 0;
+                  a = o[f + 1 | 0];
+                  f = f + 1 | 0;
+                  if (r[((a & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1) {
+                   continue;
+                  }
+                  break;
+                 }
+                }
+                p[(k + w(j, 36) | 0) + 8 >> 1] = b;
+                q[e >> 2] = q[e >> 2] | 256;
+                break f;
+               }
+               L : {
+                if (jZ(a, 28840, 6)) {
+                 break L;
+                }
+                d = r[a + 6 | 0];
+                if (d >>> 0 > 32) {
+                 break L;
+                }
+                M : {
+                 switch (d - 1 | 0) {
+                 case 0:
+                 case 1:
+                 case 2:
+                 case 3:
+                 case 4:
+                 case 5:
+                 case 6:
+                 case 7:
+                 case 10:
+                 case 11:
+                 case 13:
+                 case 14:
+                 case 15:
+                 case 16:
+                 case 17:
+                 case 18:
+                 case 19:
+                 case 20:
+                 case 21:
+                 case 22:
+                 case 23:
+                 case 24:
+                 case 25:
+                 case 26:
+                 case 27:
+                 case 28:
+                 case 29:
+                 case 30:
+                  break L;
+                 default:
+                  break M;
+                 }
+                }
+                c = e + 40 | 0;
+                b = fn(c, 27456, a, b);
+                q[i + 8 >> 2] = b;
+                if (b) {
+                 break b;
+                }
+                b = 0;
+                c = q[q[c >> 2] + 4 >> 2];
+                N : {
+                 if (!c) {
+                  break N;
+                 }
+                 a = o[c | 0];
+                 d = a & 255;
+                 if (!d | !(r[(d >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1)) {
+                  break N;
+                 }
+                 while (1) {
+                  if (b >>> 0 > 429496727) {
+                   b = -1;
+                   break N;
+                  }
+                  b = r[a + 28624 | 0] + w(b, 10) | 0;
+                  a = o[c + 1 | 0];
+                  c = c + 1 | 0;
+                  if (r[((a & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1) {
+                   continue;
+                  }
+                  break;
+                 }
+                }
+                d = k + w(j, 36) | 0;
+                p[d + 10 >> 1] = b;
+                c = e;
+                a = q[c >> 2];
+                if (!(a & 256)) {
+                 v = d, x = ue(b & 65535, 72e3, w(q[g + 20 >> 2], q[g + 16 >> 2])), p[v + 8 >> 1] = x;
+                 a = q[e >> 2];
+                }
+                q[c >> 2] = a | 512;
+                break f;
+               }
+               O : {
+                if (jZ(a, 28847, 3)) {
+                 break O;
+                }
+                d = r[a + 3 | 0];
+                if (d >>> 0 > 32) {
+                 break O;
+                }
+                P : {
+                 switch (d - 1 | 0) {
+                 case 0:
+                 case 1:
+                 case 2:
+                 case 3:
+                 case 4:
+                 case 5:
+                 case 6:
+                 case 7:
+                 case 10:
+                 case 11:
+                 case 13:
+                 case 14:
+                 case 15:
+                 case 16:
+                 case 17:
+                 case 18:
+                 case 19:
+                 case 20:
+                 case 21:
+                 case 22:
+                 case 23:
+                 case 24:
+                 case 25:
+                 case 26:
+                 case 27:
+                 case 28:
+                 case 29:
+                 case 30:
+                  break O;
+                 default:
+                  break P;
+                 }
+                }
+                c = e + 40 | 0;
+                b = fn(c, 27456, a, b);
+                q[i + 8 >> 2] = b;
+                if (b) {
+                 break b;
+                }
+                d = 0;
+                n = q[c >> 2];
+                b = q[n + 4 >> 2];
+                Q : {
+                 if (!b) {
+                  break Q;
+                 }
+                 a = o[b | 0];
+                 f = a & 255;
+                 if (!f) {
+                  break Q;
+                 }
+                 c = 0;
+                 if (!(r[(f >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1)) {
+                  break Q;
+                 }
+                 while (1) {
+                  d = 65535;
+                  if ((c & 65535) >>> 0 > 6551) {
+                   break Q;
+                  }
+                  d = a + 28624 | 0;
+                  a = o[b + 1 | 0];
+                  b = b + 1 | 0;
+                  c = r[d | 0] + w(c, 10) | 0;
+                  d = c;
+                  if (r[((a & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1) {
+                   continue;
+                  }
+                  break;
+                 }
+                }
+                f = k + w(j, 36) | 0;
+                p[f + 12 >> 1] = d;
+                b = q[n + 8 >> 2];
+                R : {
+                 if (!b) {
+                  break R;
+                 }
+                 a = o[b | 0];
+                 h = a & 255;
+                 if (!h) {
+                  break R;
+                 }
+                 c = 0;
+                 if (!(r[(h >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1)) {
+                  break R;
+                 }
+                 while (1) {
+                  m = 65535;
+                  if ((c & 65535) >>> 0 > 6551) {
+                   break R;
+                  }
+                  h = a + 28624 | 0;
+                  a = o[b + 1 | 0];
+                  b = b + 1 | 0;
+                  c = r[h | 0] + w(c, 10) | 0;
+                  m = c;
+                  if (r[((a & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1) {
+                   continue;
+                  }
+                  break;
+                 }
+                }
+                p[f + 14 >> 1] = m;
+                h = 0;
+                c = q[n + 12 >> 2];
+                f = 0;
+                S : {
+                 if (!c) {
+                  break S;
+                 }
+                 a = r[c | 0];
+                 f = 0;
+                 if (!a) {
+                  break S;
+                 }
+                 if ((a | 0) == 45) {
+                  u = 1;
+                  a = r[c + 1 | 0];
+                  c = c + 1 | 0;
+                 }
+                 b = 0;
+                 f = r[((a & 248) >>> 3 | 0) + 28592 | 0];
+                 a = a << 24 >> 24;
+                 T : {
+                  if (!(f >>> (a & 7) & 1)) {
+                   break T;
+                  }
+                  while (1) {
+                   if (b << 16 >> 16 > 3274) {
+                    b = 32767;
+                    break T;
+                   }
+                   b = r[a + 28624 | 0] + w(b, 10) | 0;
+                   a = o[c + 1 | 0];
+                   c = c + 1 | 0;
+                   if (r[((a & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1) {
+                    continue;
+                   }
+                   break;
+                  }
+                 }
+                 f = u ? 0 - b | 0 : b;
+                }
+                u = k + w(j, 36) | 0;
+                p[u + 16 >> 1] = f;
+                c = q[n + 16 >> 2];
+                U : {
+                 if (!c) {
+                  break U;
+                 }
+                 a = r[c | 0];
+                 if (!a) {
+                  break U;
+                 }
+                 if ((a | 0) == 45) {
+                  h = 1;
+                  a = r[c + 1 | 0];
+                  c = c + 1 | 0;
+                 }
+                 b = 0;
+                 n = r[((a & 248) >>> 3 | 0) + 28592 | 0];
+                 a = a << 24 >> 24;
+                 V : {
+                  if (!(n >>> (a & 7) & 1)) {
+                   break V;
+                  }
+                  while (1) {
+                   if (b << 16 >> 16 > 3274) {
+                    b = 32767;
+                    break V;
+                   }
+                   b = r[a + 28624 | 0] + w(b, 10) | 0;
+                   a = o[c + 1 | 0];
+                   c = c + 1 | 0;
+                   if (r[((a & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1) {
+                    continue;
+                   }
+                   break;
+                  }
+                 }
+                 h = h ? 0 - b | 0 : b;
+                }
+                a = 0 - h | 0;
+                p[u + 22 >> 1] = a;
+                b = h + m | 0;
+                p[u + 20 >> 1] = b;
+                p[u + 18 >> 1] = h;
+                c = d + f | 0;
+                p[e + 22 >> 1] = c;
+                h = p[e + 18 >> 1];
+                p[e + 18 >> 1] = b << 16 >> 16 > (h | 0) ? b : h;
+                b = p[e + 20 >> 1];
+                p[e + 20 >> 1] = (b | 0) < a << 16 >> 16 ? a : b;
+                a = p[e + 16 >> 1];
+                p[e + 16 >> 1] = c << 16 >> 16 > (a | 0) ? c : a;
+                a = p[e + 12 >> 1];
+                b = f << 16 >> 16;
+                p[e + 12 >> 1] = (b | 0) < (a | 0) ? f : a;
+                a = p[e + 14 >> 1];
+                p[e + 14 >> 1] = (b | 0) > (a | 0) ? f : a;
+                a = q[e >> 2];
+                if (!(a & 512)) {
+                 p[(k + w(j, 36) | 0) + 10 >> 1] = d;
+                }
+                W : {
+                 if (!q[q[e + 36 >> 2] >> 2]) {
+                  break W;
+                 }
+                 a = k + w(j, 36) | 0;
+                 b = ue(s[a + 10 >> 1], 72e3, w(q[g + 20 >> 2], q[g + 16 >> 2]));
+                 if (s[a + 8 >> 1] == (b & 65535)) {
+                  a = q[e >> 2];
+                  break W;
+                 }
+                 p[a + 8 >> 1] = b;
+                 a = q[e >> 2] | 4096;
+                 q[e >> 2] = a;
+                }
+                q[e >> 2] = a | 1024;
+                break f;
+               }
+               if (jZ(a, 28851, 6)) {
+                break m;
+               }
+               a = r[a + 6 | 0];
+               if (a >>> 0 > 32) {
+                break m;
+               }
+               X : {
+                switch (a - 1 | 0) {
+                case 0:
+                case 1:
+                case 2:
+                case 3:
+                case 4:
+                case 5:
+                case 6:
+                case 7:
+                case 10:
+                case 11:
+                case 13:
+                case 14:
+                case 15:
+                case 16:
+                case 17:
+                case 18:
+                case 19:
+                case 20:
+                case 21:
+                case 22:
+                case 23:
+                case 24:
+                case 25:
+                case 26:
+                case 27:
+                case 28:
+                case 29:
+                case 30:
+                 break m;
+                default:
+                 break X;
+                }
+               }
+               b = 183;
+               if (!(c & 1024)) {
+                break h;
+               }
+               a = k + w(j, 36) | 0;
+               c = w(s[g + 96 >> 1], s[a + 12 >> 1]);
+               b = c + 7 >>> 3 | 0;
+               q[a + 28 >> 2] = b;
+               Y : {
+                if (c >>> 0 <= 524280) {
+                 a = w(b, s[a + 14 >> 1]);
+                 if (a >>> 0 < 65536) {
+                  break Y;
+                 }
+                }
+                b = 184;
+                break h;
+               }
+               b = k + w(j, 36) | 0;
+               p[b + 32 >> 1] = a;
+               v = b, x = Te(l, 1, 0, a, 0, i + 8 | 0), q[v + 24 >> 2] = x;
+               b = q[i + 8 >> 2];
+               if (b) {
+                break b;
+               }
+               q[e + 8 >> 2] = 0;
+               q[e >> 2] = q[e >> 2] | 2048;
+               break f;
+              }
+              b = 182;
+              break h;
+             }
+             M_(q[g + 56 >> 2], q[g + 52 >> 2], 36, 294);
+             q[e >> 2] = q[e >> 2] & -2;
+             q[d >> 2] = 295;
+             break f;
+            }
+            Z : {
+             if (q[q[e + 36 >> 2] + 4 >> 2]) {
+              a = q[g + 64 >> 2];
+              _ : {
+               if ((a | 0) != q[g + 60 >> 2]) {
+                c = q[g + 68 >> 2];
+                break _;
+               }
+               c = Te(l, 36, a, a + 4 | 0, q[g + 68 >> 2], i + 8 | 0);
+               q[g + 68 >> 2] = c;
+               b = q[i + 8 >> 2];
+               if (b) {
+                break b;
+               }
+               q[g + 60 >> 2] = q[g + 60 >> 2] + 4;
+               a = q[g + 64 >> 2];
+              }
+              b = w(a, 36) + c | 0;
+              q[b >> 2] = q[e + 24 >> 2];
+              q[g + 64 >> 2] = a + 1;
+              q[b + 4 >> 2] = a;
+              a = e + 24 | 0;
+              break Z;
+             }
+             Qe(l, q[e + 24 >> 2]);
+             a = e + 24 | 0;
+            }
+            q[a >> 2] = 0;
+            break n;
+           }
+           a = 0;
+           q[e + 28 >> 2] = 0;
+           j = e + 28 | 0;
+          }
+          b = q[g + 52 >> 2];
+          $ : {
+           if ((b | 0) != q[g + 48 >> 2]) {
+            c = q[g + 56 >> 2];
+            break $;
+           }
+           c = Te(l, 36, b, b - -64 | 0, q[g + 56 >> 2], i + 8 | 0);
+           q[g + 56 >> 2] = c;
+           b = q[i + 8 >> 2];
+           if (b) {
+            break b;
+           }
+           q[g + 48 >> 2] = q[g + 48 >> 2] - -64;
+           b = q[g + 52 >> 2];
+           a = q[j >> 2];
+          }
+          q[g + 52 >> 2] = b + 1;
+          d = q[e + 24 >> 2];
+          b = w(b, 36) + c | 0;
+          q[b + 4 >> 2] = a;
+          q[b >> 2] = d;
+         }
+         q[e + 24 >> 2] = 0;
+         q[e >> 2] = q[e >> 2] & 1073741695 | 128;
+         break f;
+        }
+        b = 3;
+        break h;
+       }
+       b = 181;
+      }
+      q[h + 8 >> 2] = b;
+      break b;
+     }
+     v = g, x = Te(l, 36, 0, a, 0, i + 8 | 0), q[v + 56 >> 2] = x;
+     b = q[i + 8 >> 2];
+     if (b) {
+      break b;
+     }
+     q[e >> 2] = q[e >> 2] | 32;
+    }
+    b = q[i + 8 >> 2];
+   }
+   if (b) {
+    break b;
+   }
+   b = 0;
+   break a;
+  }
+  if (!(r[e | 0] & 64)) {
+   break a;
+  }
+  Qe(l, q[e + 24 >> 2]);
+  q[e + 24 >> 2] = 0;
+  b = q[i + 8 >> 2];
+ }
+ Ca = i + 16 | 0;
+ return b | 0;
+}
+function wP(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, u = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0;
+ h = Ca - 656 | 0;
+ Ca = h;
+ q[h + 644 >> 2] = 0;
+ q[h + 640 >> 2] = 0;
+ q[h + 636 >> 2] = 0;
+ q[h + 632 >> 2] = 0;
+ q[h + 628 >> 2] = 0;
+ q[h + 624 >> 2] = 0;
+ q[h + 620 >> 2] = 0;
+ q[h + 616 >> 2] = 0;
+ cT();
+ j = aS();
+ a : {
+  if (!j) {
+   break a;
+  }
+  b : {
+   c : {
+    g = q[a + 8 >> 2] & 1;
+    if (!tS(j, 24, g)) {
+     break c;
+    }
+    i = q[a + 8 >> 2] & 16384;
+    if (!tS(j, 47, i >>> 14 | 0)) {
+     break c;
+    }
+    if (!tS(j, 25, (g | i) != 0)) {
+     break b;
+    }
+    A = -1;
+    H = 1;
+    k = j;
+    g = c >>> 16 | 0;
+    d : {
+     e : {
+      if (!g) {
+       C = 1;
+       break e;
+      }
+      if (TG(a, h + 644 | 0)) {
+       break b;
+      }
+      if ((g | 0) == 32768) {
+       m = q[h + 644 >> 2];
+       if (!q[m >> 2]) {
+        break b;
+       }
+       y = -1;
+       i = 0;
+       while (1) {
+        l = q[m + 12 >> 2] + w(i, 24) | 0;
+        x = +q[l + 4 >> 2] * 152587890625e-16;
+        C = +q[l + 12 >> 2] * 152587890625e-16;
+        f : {
+         if (x == C) {
+          break f;
+         }
+         R = +q[l + 8 >> 2] * 152587890625e-16;
+         if (x > R | R > C) {
+          break f;
+         }
+         u = j;
+         l = q[l + 16 >> 2];
+         g : {
+          if ((l | 0) != 1869640570) {
+           if ((l | 0) == 2003072104) {
+            A = 0;
+            T = 1;
+            n = 9;
+            break g;
+           }
+           if ((l | 0) != 2003265652) {
+            break f;
+           }
+           y = 0;
+           U = 1;
+           x = _O(x);
+           C = _O(C);
+           n = 8;
+           break g;
+          }
+          V = 1;
+          n = 10;
+         }
+         g = fP(x, C);
+         n = xS(u, n, g);
+         M$(g);
+         if (!n) {
+          break c;
+         }
+         n = 1;
+         m = q[h + 644 >> 2];
+        }
+        i = i + 1 | 0;
+        if (i >>> 0 < t[m >> 2]) {
+         continue;
+        }
+        break;
+       }
+       if (!n) {
+        break c;
+       }
+       c = c & 65535;
+       C = 1;
+       break d;
+      }
+      g = g + -1 | 0;
+      i = q[h + 644 >> 2];
+      if (g >>> 0 >= t[i + 8 >> 2]) {
+       break b;
+      }
+      O = q[i + 16 >> 2] + w(g, 12) | 0;
+      if (!q[i >> 2]) {
+       C = 1;
+       break e;
+      }
+      g = 0;
+      C = 1;
+      while (1) {
+       x = +q[q[O >> 2] + (g << 2) >> 2] * 152587890625e-16;
+       l = q[i + 12 >> 2] + w(g, 24) | 0;
+       n = q[l + 16 >> 2];
+       h : {
+        if ((n | 0) != 1869640570) {
+         y = x;
+         x = +q[l + 8 >> 2] * 152587890625e-16;
+         x = x != 0 ? y / x : 1;
+         if ((n | 0) == 2003072104) {
+          H = x;
+          break h;
+         }
+         if ((n | 0) != 2003265652) {
+          break h;
+         }
+         C = x;
+         break h;
+        }
+        if (!qS(j, 10, x)) {
+         break c;
+        }
+        i = q[h + 644 >> 2];
+       }
+       g = g + 1 | 0;
+       if (g >>> 0 < t[i >> 2]) {
+        continue;
+       }
+       break;
+      }
+     }
+     y = -1;
+     n = 0;
+    }
+    E = n;
+    if (!tS(k, 50, n)) {
+     break c;
+    }
+    n = 0;
+    B = cg(a, 2);
+    i : {
+     if (!B) {
+      break i;
+     }
+     g = s[B >> 1];
+     if (!r[B + 60 | 0] | (!g | (g | 0) == 65535)) {
+      break i;
+     }
+     n = L$(5);
+     g = q[B + 60 >> 2];
+     o[n + 4 | 0] = 0;
+     o[n | 0] = g;
+     o[n + 1 | 0] = g >>> 8;
+     o[n + 2 | 0] = g >>> 16;
+     o[n + 3 | 0] = g >>> 24;
+    }
+    if (o[643389] & 1) {
+     OZ(10);
+    }
+    F = Fg(a);
+    j : {
+     if (f) {
+      D = q[f >> 2];
+      if (D) {
+       break j;
+      }
+     }
+     i = 0;
+     D = L$(w(F, 20));
+     F = D ? F : 0;
+     if ((F | 0) >= 1) {
+      while (1) {
+       m = -1;
+       k = -1;
+       z = -1;
+       u = -1;
+       p = -1;
+       if (!Gg(a, i, h + 336 | 0)) {
+        u = s[h + 340 >> 1];
+        z = s[h + 338 >> 1];
+        p = i;
+        m = s[h + 336 >> 1];
+        k = s[h + 342 >> 1];
+       }
+       g = w(i, 20) + D | 0;
+       q[g + 16 >> 2] = p;
+       q[g + 12 >> 2] = u;
+       q[g + 8 >> 2] = z;
+       q[g + 4 >> 2] = k;
+       q[g >> 2] = m;
+       i = i + 1 | 0;
+       if ((F | 0) != (i | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     M_(D, F, 20, 831);
+     if (!f) {
+      break j;
+     }
+     q[f >> 2] = D;
+    }
+    W = F + -1 | 0;
+    G = n;
+    while (1) {
+     K = s[(P << 1) + 438204 >> 1];
+     L = 0;
+     while (1) {
+      Q = s[(L << 1) + 438224 >> 1];
+      k = Q;
+      k : {
+       l : {
+        if (!O) {
+         break l;
+        }
+        g = L + -4 | 0;
+        k = Q;
+        if (g >>> 0 > 3) {
+         break l;
+        }
+        if (g - 3) {
+         break k;
+        }
+        k = q[O + 4 >> 2];
+       }
+       g = W;
+       i = 0;
+       if ((F | 0) < 1) {
+        break k;
+       }
+       u = k;
+       while (1) {
+        m : {
+         n : {
+          k = g + i | 0;
+          p = (k | 0) / 2 | 0;
+          o : {
+           if (Gg(a, q[(w(p, 20) + D | 0) + 16 >> 2], h + 600 | 0)) {
+            p = 0;
+            break o;
+           }
+           p : {
+            q : {
+             r : {
+              l = s[h + 600 >> 1];
+              s : {
+               if (l >>> 0 > K >>> 0) {
+                break s;
+               }
+               if ((l | 0) != (K | 0)) {
+                break q;
+               }
+               l = s[h + 606 >> 1];
+               if (u >>> 0 < l >>> 0) {
+                break s;
+               }
+               if ((l | 0) != (u | 0) | k + 1 >>> 0 < 3) {
+                break r;
+               }
+               z = w(p + -1 | 0, 20) + D | 0;
+               if (q[z >> 2] != (K | 0) | (u | 0) != q[z + 4 >> 2]) {
+                break r;
+               }
+              }
+              g = p + -1 | 0;
+              break m;
+             }
+             if (u >>> 0 <= l >>> 0) {
+              break p;
+             }
+             break n;
+            }
+            if (l >>> 0 < K >>> 0) {
+             break n;
+            }
+           }
+           if (k + 3 >>> 0 < 2) {
+            break k;
+           }
+          }
+          I = 0;
+          l = 0;
+          J = 0;
+          M = 0;
+          while (1) {
+           t : {
+            u : {
+             g = Q + -1 | 0;
+             v : {
+              if (g >>> 0 > 21) {
+               break v;
+              }
+              w : {
+               switch (g - 1 | 0) {
+               default:
+                J = 1;
+                I = h + 640 | 0;
+                l = h + 636 | 0;
+                M = 2;
+                if (!(o[643389] & 1)) {
+                 break u;
+                }
+                q[h + 288 >> 2] = s[h + 606 >> 1];
+                q[h + 292 >> 2] = s[h + 600 >> 1];
+                q[h + 296 >> 2] = s[h + 602 >> 1];
+                q[h + 300 >> 2] = s[h + 604 >> 1];
+                d0(438244, h + 288 | 0);
+                break u;
+               case 2:
+               case 16:
+                if (E) {
+                 break v;
+                }
+                I = h + 624 | 0;
+                l = h + 620 | 0;
+                J = 5;
+                M = 6;
+                if (!(o[643389] & 1)) {
+                 break u;
+                }
+                q[h + 304 >> 2] = s[h + 606 >> 1];
+                q[h + 308 >> 2] = s[h + 600 >> 1];
+                q[h + 312 >> 2] = s[h + 602 >> 1];
+                q[h + 316 >> 2] = s[h + 604 >> 1];
+                d0(438284, h + 304 | 0);
+                break u;
+               case 0:
+               case 15:
+               case 20:
+                if (E) {
+                 break v;
+                }
+                I = h + 632 | 0;
+                l = h + 628 | 0;
+                J = 3;
+                M = 4;
+                if (!(o[643389] & 1)) {
+                 break u;
+                }
+                q[h + 320 >> 2] = s[h + 606 >> 1];
+                q[h + 324 >> 2] = s[h + 600 >> 1];
+                q[h + 328 >> 2] = s[h + 602 >> 1];
+                q[h + 332 >> 2] = s[h + 604 >> 1];
+                d0(438324, h + 320 | 0);
+                break u;
+               case 1:
+               case 3:
+               case 4:
+               case 7:
+               case 8:
+               case 9:
+               case 10:
+               case 11:
+               case 12:
+               case 13:
+               case 17:
+               case 18:
+                break v;
+               case 5:
+               case 6:
+                break w;
+               }
+              }
+              if (G) {
+               break v;
+              }
+              g = yP(h + 600 | 0);
+              G = zP(g);
+              M$(g);
+             }
+             if (J) {
+              break u;
+             }
+             J = 0;
+             break t;
+            }
+            z = yP(h + 600 | 0);
+            i = s[h + 604 >> 1];
+            S = s[h + 600 >> 1];
+            if (!(s[h + 602 >> 1] | (S | 0) != 1)) {
+             X = i;
+             g = q[h + 612 >> 2];
+             x : {
+              if ((g | 0) < 1) {
+               m = 0;
+               g = 0;
+               break x;
+              }
+              m = 0;
+              i = q[h + 608 >> 2];
+              k = 0;
+              while (1) {
+               N = r[i | 0] >>> 7 | 0;
+               k = N + k | 0;
+               m = (N ^ 1) + m | 0;
+               N = (g | 0) > 1;
+               g = g + -1 | 0;
+               i = i + 1 | 0;
+               if (N) {
+                continue;
+               }
+               break;
+              }
+              g = k << 1;
+             }
+             i = (g | 0) > (m | 0) ? 11 : X;
+            }
+            g = 0;
+            y : {
+             while (1) {
+              z : {
+               A : {
+                k = w(g, 12);
+                if ((S | 0) != s[k + 440224 >> 1]) {
+                 break A;
+                }
+                if (!g) {
+                 break z;
+                }
+                if (s[k + 440226 >> 1] != (i & 65535)) {
+                 break A;
+                }
+                g = k + 440228 | 0;
+                break y;
+               }
+               g = g + 1 | 0;
+               if ((g | 0) != 335) {
+                continue;
+               }
+              }
+              break;
+             }
+             g = 0;
+            }
+            if (o[643389] & 1) {
+             f0(z ? z : 438365);
+            }
+            i = z;
+            if (!i) {
+             break t;
+            }
+            k = g;
+            while (1) {
+             g = i;
+             i = g + 1 | 0;
+             if (r[g | 0] == 32) {
+              continue;
+             }
+             break;
+            }
+            i = g;
+            g = g0(g);
+            m = _$(z, i, g + 1 | 0);
+            g = g + m | 0;
+            z = m >>> 0 < g >>> 0 ? m : g;
+            while (1) {
+             B : {
+              i = g;
+              if (g >>> 0 <= m >>> 0) {
+               i = z;
+               break B;
+              }
+              g = i + -1 | 0;
+              if (r[g | 0] == 32) {
+               continue;
+              }
+             }
+             break;
+            }
+            o[i | 0] = 0;
+            jS(j, h + 648 | 0);
+            C : {
+             D : {
+              if (!LS(j, h + 648 | 0, J)) {
+               break D;
+              }
+              g = IS(h + 648 | 0);
+              if (!g) {
+               break D;
+              }
+              while (1) {
+               cS(h + 336 | 0, g + 8 | 0);
+               if (q[h + 336 >> 2] != 3) {
+                break D;
+               }
+               if (!aQ(q[h + 344 >> 2], m)) {
+                break C;
+               }
+               i = g;
+               g = q[g >> 2];
+               g = g & 1 ? i + (g & -2) | 0 : g;
+               if (g) {
+                continue;
+               }
+               break;
+              }
+             }
+             g = rS(j, J, m);
+             M$(m);
+             if (!g) {
+              break b;
+             }
+             if (k) {
+              if (q[l >> 2] < q[I >> 2]) {
+               while (1) {
+                if (!rS(j, M, 438372)) {
+                 break b;
+                }
+                g = q[l >> 2] + 1 | 0;
+                q[l >> 2] = g;
+                if ((g | 0) < q[I >> 2]) {
+                 continue;
+                }
+                break;
+               }
+              }
+              if (!rS(j, M, k)) {
+               break b;
+              }
+              q[l >> 2] = q[l >> 2] + 1;
+             }
+             q[I >> 2] = q[I >> 2] + 1;
+             break t;
+            }
+            M$(m);
+           }
+           p = p + 1 | 0;
+           if ((p | 0) >= (F | 0)) {
+            break k;
+           }
+           if (Gg(a, q[(w(p, 20) + D | 0) + 16 >> 2], h + 600 | 0) | s[h + 600 >> 1] != (K | 0)) {
+            break k;
+           }
+           if ((u | 0) == s[h + 606 >> 1]) {
+            continue;
+           }
+           break;
+          }
+          break k;
+         }
+         i = p + 1 | 0;
+        }
+        if ((i | 0) <= (g | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      L = L + 1 | 0;
+      if ((L | 0) != 10) {
+       continue;
+      }
+      break;
+     }
+     P = P + 1 | 0;
+     if ((P | 0) != 4) {
+      continue;
+     }
+     break;
+    }
+    if (!f) {
+     M$(D);
+    }
+    g = q[h + 640 >> 2];
+    E : {
+     if (g) {
+      break E;
+     }
+     g = 0;
+     i = q[a + 20 >> 2];
+     if (!i) {
+      break E;
+     }
+     if (!aQ(i, 438376)) {
+      break E;
+     }
+     if (o[643389] & 1) {
+      q[h + 272 >> 2] = q[a + 20 >> 2];
+      d0(438377, h + 272 | 0);
+     }
+     if (!rS(j, 1, q[a + 20 >> 2])) {
+      break b;
+     }
+     if (!rS(j, 2, 438405)) {
+      break b;
+     }
+     g = 1;
+     q[h + 640 >> 2] = 1;
+    }
+    i = q[h + 632 >> 2];
+    F : {
+     if (i | E) {
+      break F;
+     }
+     k = q[a + 24 >> 2];
+     if (!k) {
+      break F;
+     }
+     if (!aQ(k, 438376)) {
+      break F;
+     }
+     if (o[643389] & 1) {
+      q[h + 256 >> 2] = q[a + 24 >> 2];
+      d0(438408, h + 256 | 0);
+     }
+     if (!rS(j, 3, q[a + 24 >> 2])) {
+      break b;
+     }
+     if (!rS(j, 4, 438405)) {
+      break b;
+     }
+     q[h + 632 >> 2] = i + 1;
+    }
+    if (!(!r[b | 0] | (g | !b))) {
+     g = $Y(b, 47);
+     i = g ? g + 1 | 0 : b;
+     g = $Y(i, 46);
+     if (!g) {
+      g = g0(i) + i | 0;
+     }
+     k = g - i | 0;
+     g = lZ(L$(k + 1 | 0), i, k);
+     o[g + k | 0] = 0;
+     if (o[643389] & 1) {
+      q[h + 240 >> 2] = g;
+      d0(438435, h + 240 | 0);
+     }
+     i = rS(j, 1, g);
+     M$(g);
+     if (!i) {
+      break b;
+     }
+     q[h + 640 >> 2] = 1;
+    }
+    p = q[h + 624 >> 2];
+    if (!(p | E)) {
+     g = 0;
+     G : {
+      if (DS(j, 2, 0, h + 596 | 0)) {
+       break G;
+      }
+      while (1) {
+       if (!bQ(q[h + 596 >> 2], 438405)) {
+        break G;
+       }
+       q[h + 596 >> 2] = 0;
+       g = g + 1 | 0;
+       if (!DS(j, 2, g, h + 596 | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     i = q[h + 596 >> 2] ? g : 0;
+     if (DS(j, 1, i, h + 600 | 0)) {
+      break b;
+     }
+     l = q[h + 600 >> 2];
+     g = g0(l);
+     k = 0;
+     H : {
+      if (!g) {
+       break H;
+      }
+      while (1) {
+       k = g;
+       if (!vY(r[g + l | 0])) {
+        break H;
+       }
+       g = g + -1 | 0;
+       if (g) {
+        continue;
+       }
+       break;
+      }
+      k = 0;
+     }
+     o[k + l | 0] = 0;
+     I : {
+      if (DS(j, 4, i, h + 596 | 0)) {
+       break I;
+      }
+      while (1) {
+       if (!bQ(q[h + 596 >> 2], 438405)) {
+        break I;
+       }
+       q[h + 596 >> 2] = 0;
+       i = i + 1 | 0;
+       if (!DS(j, 4, i, h + 596 | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (DS(j, 3, q[h + 596 >> 2] ? i : 0, h + 648 | 0)) {
+      break b;
+     }
+     lQ(h + 336 | 0, 0, 0);
+     qQ(h + 336 | 0, q[h + 600 >> 2]);
+     pQ(h + 336 | 0, 32);
+     qQ(h + 336 | 0, q[h + 648 >> 2]);
+     g = rS(j, 5, oQ(h + 336 | 0));
+     mQ(h + 336 | 0);
+     if (!g) {
+      break b;
+     }
+     if (!rS(j, 6, 438405)) {
+      break b;
+     }
+     q[h + 624 >> 2] = p + 1;
+    }
+    if (!E) {
+     g = bg(a);
+     J : {
+      if (!g) {
+       q[h + 648 >> 2] = 0;
+       g = 0;
+       K : {
+        if (DS(j, 2, 0, h + 648 | 0)) {
+         break K;
+        }
+        while (1) {
+         if (!bQ(q[h + 648 >> 2], 438405)) {
+          break K;
+         }
+         q[h + 648 >> 2] = 0;
+         g = g + 1 | 0;
+         if (!DS(j, 2, g, h + 648 | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       if (DS(j, 1, q[h + 648 >> 2] ? g : 0, h + 600 | 0)) {
+        break b;
+       }
+       m = 0;
+       i = q[h + 600 >> 2];
+       g = g0(i);
+       if (g) {
+        m = g + -1 >>> 0 < 254 ? g : 255;
+        g = 0;
+        while (1) {
+         k = r[g + i | 0];
+         Y = (h + 336 | 0) + g | 0, Z = aZ(438480, k, 16) ? 45 : k, o[Y | 0] = Z;
+         g = g + 1 | 0;
+         if ((m | 0) != (g | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       o[(h + 336 | 0) + m | 0] = 0;
+       break J;
+      }
+      lZ(h + 336 | 0, g, 255);
+      o[h + 591 | 0] = 0;
+     }
+     if (!rS(j, 46, h + 336 | 0)) {
+      break b;
+     }
+    }
+    if (!(!b | !r[b | 0])) {
+     if (!rS(j, 21, b)) {
+      break b;
+     }
+    }
+    if (!pS(j, 22, c)) {
+     break b;
+    }
+    b = cg(a, 0);
+    L : {
+     if (b) {
+      if (pS(j, 35, q[b + 4 >> 2])) {
+       break L;
+      }
+      break b;
+     }
+     if (!pS(j, 35, 0)) {
+      break b;
+     }
+    }
+    M : {
+     if (!B) {
+      l = 0;
+      break M;
+     }
+     l = 0;
+     b = s[B >> 1];
+     N : {
+      O : {
+       if (!b) {
+        break O;
+       }
+       if ((b | 0) == 65535) {
+        break N;
+       }
+       c = q[B + 80 >> 2];
+       l = c & 262144 ? c & 131072 ? 0 : 438184 : c << 14 >> 31 & 438177;
+       if ((c & 393216) == 393216) {
+        break O;
+       }
+       g = c & 524288;
+       b = g ? l ? 0 : 438191 : l;
+       if (!(!l | !g)) {
+        l = b;
+        break O;
+       }
+       l = c & 1048576 ? b ? 0 : 438198 : b;
+      }
+      y = _O(C * +s[B + 4 >> 1]);
+      if (!(y == -1 | !(q[160847] & 256))) {
+       b = s[B + 4 >> 1];
+       v[h + 224 >> 3] = y;
+       v[h + 216 >> 3] = C;
+       q[h + 208 >> 2] = b;
+       e0(438496, h + 208 | 0);
+      }
+      x = H;
+      b = s[B + 6 >> 1];
+      c = b + -1 | 0;
+      if ((c & 65535) >>> 0 <= 8) {
+       A = v[(c << 16 >> 16 << 3) + 444672 >> 3];
+      }
+      A = x * A;
+      if (!(q[160847] & 256) | A == -1) {
+       break N;
+      }
+      v[h + 192 >> 3] = A;
+      v[h + 184 >> 3] = H;
+      q[h + 176 >> 2] = b;
+      e0(438550, h + 176 | 0);
+     }
+     q[h + 336 >> 2] = 0;
+     q[h + 600 >> 2] = 0;
+     q[h + 648 >> 2] = 0;
+     g = dg(a, 1399417958, 0, h + 336 | 0);
+     c = AP(a, 1196445523, h + 648 | 0);
+     i = AP(a, 1196643650, h + 600 | 0);
+     u = c | i;
+     b = 0;
+     P : {
+      if (u & 65535 ? 0 : g) {
+       break P;
+      }
+      k = i & 65535;
+      p = c & 65535;
+      c = L$(w(k + p | 0, 14) + (g ? 0 : 13) | 0);
+      b = 0;
+      if (!c) {
+       break P;
+      }
+      o[c | 0] = 0;
+      if (!g) {
+       b = r[444253] | r[444254] << 8 | (r[444255] << 16 | r[444256] << 24);
+       g = r[444249] | r[444250] << 8 | (r[444251] << 16 | r[444252] << 24);
+       o[c + 5 | 0] = g;
+       o[c + 6 | 0] = g >>> 8;
+       o[c + 7 | 0] = g >>> 16;
+       o[c + 8 | 0] = g >>> 24;
+       o[c + 9 | 0] = b;
+       o[c + 10 | 0] = b >>> 8;
+       o[c + 11 | 0] = b >>> 16;
+       o[c + 12 | 0] = b >>> 24;
+       b = r[444248] | r[444249] << 8 | (r[444250] << 16 | r[444251] << 24);
+       g = r[444244] | r[444245] << 8 | (r[444246] << 16 | r[444247] << 24);
+       o[c | 0] = g;
+       o[c + 1 | 0] = g >>> 8;
+       o[c + 2 | 0] = g >>> 16;
+       o[c + 3 | 0] = g >>> 24;
+       o[c + 4 | 0] = b;
+       o[c + 5 | 0] = b >>> 8;
+       o[c + 6 | 0] = b >>> 16;
+       o[c + 7 | 0] = b >>> 24;
+      }
+      if (u & 65535) {
+       i = 0;
+       u = q[h + 648 >> 2];
+       z = q[h + 600 >> 2];
+       g = 0;
+       while (1) {
+        Q : {
+         if ((g | 0) == (k | 0)) {
+          BP(c, q[u + (i << 2) >> 2]);
+          i = i + 1 | 0;
+          g = k;
+          break Q;
+         }
+         b = q[z + (g << 2) >> 2];
+         R : {
+          if ((i | 0) != (p | 0)) {
+           E = q[u + (i << 2) >> 2];
+           if (b >>> 0 >= E >>> 0) {
+            break R;
+           }
+          }
+          BP(c, b);
+          g = g + 1 | 0;
+          break Q;
+         }
+         if ((b | 0) == (E | 0)) {
+          BP(c, b);
+          i = i + 1 | 0;
+          g = g + 1 | 0;
+          break Q;
+         }
+         BP(c, E);
+         i = i + 1 | 0;
+        }
+        if ((g | 0) < (k | 0) | (i | 0) < (p | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      if (o[643389] & 1) {
+       q[h + 160 >> 2] = c;
+       d0(444257, h + 160 | 0);
+      }
+      b = c;
+     }
+     M$(q[h + 600 >> 2]);
+     M$(q[h + 648 >> 2]);
+     if (!b) {
+      break M;
+     }
+     c = rS(j, 36, b);
+     M$(b);
+     if (!c) {
+      break b;
+     }
+    }
+    b = j;
+    c = q[a + 104 >> 2];
+    if (c) {
+     c = !oP(a, 1886545264, c);
+    } else {
+     c = 0;
+    }
+    if (!tS(b, 51, c)) {
+     break b;
+    }
+    S : {
+     if (!B | V) {
+      break S;
+     }
+     b = s[B >> 1];
+     if (b >>> 0 < 5 | (b | 0) == 65535) {
+      break S;
+     }
+     u$(h + 144 | 0, s[B + 98 >> 1]);
+     q$(h + 128 | 0, q[h + 144 >> 2], q[h + 148 >> 2], q[h + 152 >> 2], q[h + 156 >> 2], 0, 0, 0, 1073954816);
+     u$(h + 112 | 0, s[B + 100 >> 1]);
+     q$(h + 96 | 0, q[h + 112 >> 2], q[h + 116 >> 2], q[h + 120 >> 2], q[h + 124 >> 2], 0, 0, 0, 1073954816);
+     b = q[h + 104 >> 2];
+     c = q[h + 108 >> 2];
+     g = q[h + 96 >> 2];
+     i = q[h + 100 >> 2];
+     H = z$(q[h + 128 >> 2], q[h + 132 >> 2], q[h + 136 >> 2], q[h + 140 >> 2]);
+     x = z$(g, i, b, c);
+     if (H == x) {
+      if (qS(j, 10, H)) {
+       break S;
+      }
+      break b;
+     }
+     b = fP(H, x);
+     c = xS(j, 10, b);
+     M$(b);
+     if (!c) {
+      break b;
+     }
+    }
+    T : {
+     if (!gL(a, h + 336 | 0)) {
+      U : {
+       if (y != -1) {
+        break U;
+       }
+       y = -1;
+       b = q[h + 352 >> 2];
+       if (!b) {
+        break U;
+       }
+       g = 0;
+       V : {
+        while (1) {
+         if (!aQ(b, q[(g << 3) + 438608 >> 2])) {
+          b = q[(g << 3) + 438612 >> 2];
+          break V;
+         }
+         g = g + 1 | 0;
+         if ((g | 0) != 23) {
+          continue;
+         }
+         break;
+        }
+        b = -1;
+       }
+       y = +(b | 0);
+       if (!(o[643389] & 1)) {
+        break U;
+       }
+       q[h + 80 >> 2] = q[h + 352 >> 2];
+       v[h + 88 >> 3] = y;
+       e0(438792, h + 80 | 0);
+      }
+      if (G) {
+       break T;
+      }
+      G = zP(q[h + 340 >> 2]);
+     }
+     if (G) {
+      break T;
+     }
+     G = 0;
+     if (pP(a, 438821, h + 648 | 0) | q[h + 648 >> 2] != 1) {
+      break T;
+     }
+     G = q[h + 652 >> 2];
+    }
+    W : {
+     if (A != -1) {
+      break W;
+     }
+     X : {
+      Y : {
+       Z : {
+        _ : {
+         if (!(pP(a, 438829, h + 648 | 0) | (q[h + 648 >> 2] & -2) != 2)) {
+          b = ((q[h + 652 >> 2] + 5 | 0) / 10 | 0) + -1 | 0;
+          if (b >>> 0 < 9) {
+           break _;
+          }
+         }
+         A = -1;
+         if (pP(a, 438847, h + 648 | 0) | q[h + 648 >> 2] != 1) {
+          break W;
+         }
+         b = q[h + 652 >> 2];
+         if (!b) {
+          break W;
+         }
+         c = 0;
+         if (!aQ(b, 444493)) {
+          break Y;
+         }
+         if (aQ(b, 444508)) {
+          break Z;
+         }
+         c = 1;
+         break Y;
+        }
+        A = v[(b << 3) + 444672 >> 3];
+        break W;
+       }
+       c = 2;
+       if (!aQ(b, 444523)) {
+        break Y;
+       }
+       c = 3;
+       if (!aQ(b, 444537)) {
+        break Y;
+       }
+       c = 4;
+       if (!aQ(b, 444369)) {
+        break Y;
+       }
+       c = 5;
+       if (!aQ(b, 444547)) {
+        break Y;
+       }
+       c = 6;
+       if (!aQ(b, 444560)) {
+        break Y;
+       }
+       c = 7;
+       if (!aQ(b, 444574)) {
+        break Y;
+       }
+       c = 8;
+       if (!aQ(b, 444588)) {
+        break Y;
+       }
+       c = -1;
+       if (aQ(b, 444597)) {
+        break X;
+       }
+       c = 9;
+      }
+      c = q[(c << 3) + 438868 >> 2];
+     }
+     A = +(c | 0);
+     if (!(o[643389] & 1)) {
+      break W;
+     }
+     q[h + 64 >> 2] = q[h + 652 >> 2];
+     v[h + 72 >> 3] = A;
+     e0(438944, h - -64 | 0);
+    }
+    $ : {
+     aa : {
+      if (ES(j, 438969, 0, h + 616 | 0)) {
+       p = 0;
+       break aa;
+      }
+      u = -1;
+      p = 0;
+      z = 0;
+      while (1) {
+       ba : {
+        if (y != -1) {
+         break ba;
+        }
+        g = 0;
+        b = q[h + 616 >> 2];
+        ca : {
+         da : {
+          while (1) {
+           i = g << 3;
+           c = q[i + 438608 >> 2];
+           ea : {
+            if (r[c | 0] == 60) {
+             if (!dQ(b, c + 1 | 0)) {
+              break ea;
+             }
+             break da;
+            }
+            if (cQ(b, c)) {
+             break da;
+            }
+           }
+           g = g + 1 | 0;
+           if ((g | 0) != 23) {
+            continue;
+           }
+           break;
+          }
+          b = -1;
+          break ca;
+         }
+         b = q[i + 438612 >> 2];
+        }
+        y = +(b | 0);
+        if (!(o[643389] & 1)) {
+         break ba;
+        }
+        q[h + 48 >> 2] = q[h + 616 >> 2];
+        v[h + 56 >> 3] = y;
+        e0(438975, h + 48 | 0);
+       }
+       fa : {
+        if (A != -1) {
+         break fa;
+        }
+        g = 0;
+        b = q[h + 616 >> 2];
+        ga : {
+         ha : {
+          while (1) {
+           i = g << 3;
+           c = q[i + 438864 >> 2];
+           ia : {
+            if (r[c | 0] == 60) {
+             if (!dQ(b, c + 1 | 0)) {
+              break ia;
+             }
+             break ha;
+            }
+            if (cQ(b, c)) {
+             break ha;
+            }
+           }
+           g = g + 1 | 0;
+           if ((g | 0) != 10) {
+            continue;
+           }
+           break;
+          }
+          b = -1;
+          break ga;
+         }
+         b = q[i + 438868 >> 2];
+        }
+        A = +(b | 0);
+        if (!(o[643389] & 1)) {
+         break fa;
+        }
+        q[h + 32 >> 2] = q[h + 616 >> 2];
+        v[h + 40 >> 3] = A;
+        e0(439004, h + 32 | 0);
+       }
+       ja : {
+        if ((u | 0) != -1) {
+         break ja;
+        }
+        g = 0;
+        ka : {
+         la : {
+          b = q[h + 616 >> 2];
+          if (cQ(b, 444606)) {
+           break la;
+          }
+          g = 1;
+          if (cQ(b, 444613)) {
+           break la;
+          }
+          g = 2;
+          if (cQ(b, 444620)) {
+           break la;
+          }
+          u = -1;
+          break ka;
+         }
+         u = q[(g << 3) + 439044 >> 2];
+        }
+        if (!(o[643389] & 1)) {
+         break ja;
+        }
+        q[h + 16 >> 2] = q[h + 616 >> 2];
+        q[h + 20 >> 2] = u;
+        d0(439064, h + 16 | 0);
+       }
+       ma : {
+        if (p) {
+         break ma;
+        }
+        g = 0;
+        na : {
+         oa : {
+          b = q[h + 616 >> 2];
+          if (cQ(b, 444628)) {
+           break oa;
+          }
+          g = 1;
+          if (cQ(b, 444635)) {
+           break oa;
+          }
+          g = 2;
+          if (cQ(b, 444640)) {
+           break oa;
+          }
+          g = 3;
+          if (cQ(b, 444648)) {
+           break oa;
+          }
+          g = 4;
+          if (cQ(b, 444656)) {
+           break oa;
+          }
+          g = 5;
+          if (cQ(b, 444664)) {
+           break oa;
+          }
+          b = -1;
+          break na;
+         }
+         b = q[(g << 3) + 439108 >> 2];
+        }
+        p = (b | 0) > 0;
+        if (!(o[643389] & 1)) {
+         break ma;
+        }
+        q[h >> 2] = q[h + 616 >> 2];
+        q[h + 4 >> 2] = p;
+        d0(439152, h);
+       }
+       z = z + 1 | 0;
+       if (!ES(j, 438969, z, h + 616 | 0)) {
+        continue;
+       }
+       break;
+      }
+      if ((u | 0) != -1) {
+       break $;
+      }
+     }
+     u = 0 - (q[a + 12 >> 2] & 1) & 100;
+    }
+    y = y == -1 ? r[a + 12 | 0] & 2 ? 200 : 100 : y;
+    if (!pS(j, 7, u)) {
+     break b;
+    }
+    if (!U) {
+     if (!qS(j, 8, y)) {
+      break b;
+     }
+    }
+    if (!T) {
+     if (!qS(j, 9, A == -1 ? 100 : A)) {
+      break b;
+     }
+    }
+    if (!rS(j, 14, G ? G : 439185)) {
+     break b;
+    }
+    if (!tS(j, 40, p)) {
+     break b;
+    }
+    pa : {
+     qa : {
+      if (d) {
+       b = q[d >> 2];
+       if (!b) {
+        break qa;
+       }
+       g = MR(b);
+       break pa;
+      }
+      g = CP(a);
+      break pa;
+     }
+     g = CP(a);
+     Y = d, Z = MR(g), q[Y >> 2] = Z;
+    }
+    if (!g) {
+     break b;
+    }
+    b = j;
+    d = q[a + 92 >> 2];
+    c = 0;
+    ra : {
+     if (!d) {
+      break ra;
+     }
+     c = q[d + 4 >> 2] == 1937337698;
+    }
+    if (!tS(b, 48, c)) {
+     break b;
+    }
+    b = DP(a);
+    sa : {
+     if (pP(a, 439193, h + 648 | 0)) {
+      k = b;
+      break sa;
+     }
+     if (q[h + 648 >> 2] != 1) {
+      k = b;
+      break sa;
+     }
+     d = q[h + 652 >> 2];
+     if (!d) {
+      k = b;
+      break sa;
+     }
+     k = 110;
+     if (!iZ(d, 439201)) {
+      break sa;
+     }
+     if (!iZ(d, 439203)) {
+      break sa;
+     }
+     k = 100;
+     if (!iZ(d, 439205)) {
+      break sa;
+     }
+     if (!iZ(d, 439207)) {
+      break sa;
+     }
+     if (iZ(d, 439209)) {
+      k = b;
+      if (iZ(d, 439211)) {
+       break sa;
+      }
+     }
+     k = 0;
+    }
+    ta : {
+     if (!VR(g)) {
+      if (!pP(a, 439213, h + 648 | 0)) {
+       break ta;
+      }
+     }
+     if (!vS(j, g)) {
+      break ta;
+     }
+     ua : {
+      va : {
+       if (!c) {
+        if (!e) {
+         break va;
+        }
+        b = q[e >> 2];
+        if (b) {
+         i = LP(b);
+         if (i) {
+          break ua;
+         }
+         break ta;
+        }
+        i = FP(g, l);
+        Y = e, Z = LP(i), q[Y >> 2] = Z;
+        if (i) {
+         break ua;
+        }
+        break ta;
+       }
+       i = HP();
+       break ua;
+      }
+      i = FP(g, l);
+      if (!i) {
+       break ta;
+      }
+     }
+     b = wS(j, i);
+     KP(i);
+     if (!b) {
+      break ta;
+     }
+     if (k) {
+      if (!pS(j, 13, k)) {
+       break ta;
+      }
+     }
+     if (!(o[a + 8 | 0] & 1)) {
+      m = q[a + 28 >> 2];
+      if ((m | 0) >= 1) {
+       i = 0;
+       while (1) {
+        b = j;
+        wa : {
+         xa : {
+          if ((m | 0) != 1) {
+           break xa;
+          }
+          if (pP(a, 439213, h + 600 | 0) | q[h + 600 >> 2] != 2) {
+           break xa;
+          }
+          x = +q[h + 604 >> 2];
+          break wa;
+         }
+         x = +q[(q[a + 32 >> 2] + (i << 4) | 0) + 12 >> 2] * .015625;
+        }
+        if (!qS(b, 12, x)) {
+         break ta;
+        }
+        i = i + 1 | 0;
+        m = q[a + 28 >> 2];
+        if ((i | 0) < (m | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      if (!tS(j, 15, 0)) {
+       break ta;
+      }
+     }
+     b = Ne(a);
+     if (b) {
+      if (!rS(j, 37, b)) {
+       break ta;
+      }
+     }
+     IR(g);
+     if (n) {
+      M$(n);
+     }
+     b = q[h + 644 >> 2];
+     if (!b) {
+      g = j;
+      break a;
+     }
+     a = q[a + 84 >> 2];
+     if (!a) {
+      g = j;
+      break a;
+     }
+     UG(q[a >> 2], b);
+     g = j;
+     break a;
+    }
+    IR(g);
+    break b;
+   }
+   n = 0;
+  }
+  gS(j);
+  b = q[h + 644 >> 2];
+  ya : {
+   if (!b) {
+    break ya;
+   }
+   a = q[a + 84 >> 2];
+   if (!a) {
+    break ya;
+   }
+   UG(q[a >> 2], b);
+  }
+  if (!(!D | f)) {
+   M$(D);
+  }
+  g = 0;
+  if (!n) {
+   break a;
+  }
+  M$(n);
+ }
+ Ca = h + 656 | 0;
+ return g;
+}
+function Gn(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, t = 0, u = 0, v = 0, x = 0, y = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0;
+ u = Ca - 16 | 0;
+ Ca = u;
+ if (f) {
+  q[f >> 2] = q[a + 276 >> 2];
+ }
+ a : {
+  if (q[a + 92 >> 2] < 0) {
+   break a;
+  }
+  h = q[d >> 2];
+  if (!(!h | (q[e >> 2] ? e : 0))) {
+   g = Hn(a, -20);
+   break a;
+  }
+  b : {
+   if (!q[a + 48 >> 2]) {
+    q[a + 20 >> 2] = q[b >> 2];
+    q[a + 16 >> 2] = q[c >> 2];
+    g = 1;
+    break b;
+   }
+   q[a + 16 >> 2] = a + 40;
+   g = 2;
+  }
+  m = a + 8 | 0;
+  y = h ? e : 0;
+  G = a + 824 | 0;
+  A = a + 1168 | 0;
+  B = a + 624 | 0;
+  C = a + 152 | 0;
+  D = a + 136 | 0;
+  v = a + 120 | 0;
+  H = a + 252 | 0;
+  I = a + 248 | 0;
+  J = a + 592 | 0;
+  E = a + 576 | 0;
+  K = a + 572 | 0;
+  F = a + 40 | 0;
+  c : while (1) {
+   d : {
+    e : {
+     e = g + -1 | 0;
+     f : {
+      if (e >>> 0 <= 1) {
+       if (e - 1) {
+        break d;
+       }
+       if (q[a + 96 >> 2]) {
+        g = In(a, d, y, f, 1);
+        if ((g | 0) < 0) {
+         break f;
+        }
+       }
+       e = q[a + 48 >> 2];
+       if (e) {
+        if (!q[a + 20 >> 2]) {
+         q[a + 48 >> 2] = 0;
+         q[a + 20 >> 2] = q[b >> 2];
+         q[a + 16 >> 2] = q[c >> 2];
+         g = 1;
+         continue;
+        }
+        if (!q[b >> 2]) {
+         g = Hn(a, 2);
+         break a;
+        }
+        o[e + F | 0] = r[q[c >> 2]];
+        g = 1;
+        e = q[a + 48 >> 2] + 1 | 0;
+        q[a + 20 >> 2] = e;
+        q[a + 48 >> 2] = e;
+        q[c >> 2] = q[c >> 2] + 1;
+        q[b >> 2] = q[b >> 2] + -1;
+        continue;
+       }
+       e = q[a + 16 >> 2];
+       q[c >> 2] = e;
+       d = q[a + 20 >> 2];
+       q[b >> 2] = d;
+       g = 2;
+       if (!d) {
+        break f;
+       }
+       h = 0;
+       while (1) {
+        o[h + F | 0] = r[e | 0];
+        h = q[a + 48 >> 2] + 1 | 0;
+        q[a + 48 >> 2] = h;
+        e = q[c >> 2] + 1 | 0;
+        q[c >> 2] = e;
+        d = q[b >> 2] + -1 | 0;
+        q[b >> 2] = d;
+        if (d) {
+         continue;
+        }
+        break;
+       }
+       break f;
+      }
+      if (!q[a + 48 >> 2]) {
+       break e;
+      }
+      q[a + 48 >> 2] = 0;
+     }
+     g = Hn(a, g);
+     break a;
+    }
+    h = q[a + 12 >> 2];
+    e = 32 - h | 0;
+    d = e >>> 3 | 0;
+    i = d + q[a + 20 >> 2] | 0;
+    q[a + 20 >> 2] = i;
+    v = q[a + 16 >> 2] - d | 0;
+    q[a + 16 >> 2] = v;
+    d = a;
+    e = e & -8;
+    if ((e | 0) != 32) {
+     f = q[m >> 2] << e;
+    } else {
+     f = 0;
+    }
+    q[d + 8 >> 2] = f;
+    q[a + 12 >> 2] = e + h;
+    q[b >> 2] = i;
+    q[c >> 2] = v;
+    g = Hn(a, g);
+    break a;
+   }
+   g = 1;
+   e = q[a >> 2];
+   if (e >>> 0 > 26) {
+    continue;
+   }
+   g : {
+    h : {
+     i : {
+      j : {
+       k : {
+        l : {
+         m : {
+          n : {
+           o : {
+            p : {
+             q : {
+              r : {
+               s : {
+                t : {
+                 u : {
+                  v : {
+                   w : {
+                    x : {
+                     y : {
+                      z : {
+                       A : {
+                        B : {
+                         C : {
+                          D : {
+                           E : {
+                            F : {
+                             G : {
+                              switch (e - 1 | 0) {
+                              case 18:
+                               e = q[a + 4 >> 2];
+                               g = q[((e << 2) + a | 0) + 204 >> 2];
+                               break j;
+                              case 1:
+                               e = q[a + 564 >> 2];
+                               break q;
+                              case 21:
+                               g = q[a + 204 >> 2];
+                               break E;
+                              case 5:
+                               i = q[a + 4 >> 2];
+                               break F;
+                              case 11:
+                               i = q[a + 184 >> 2];
+                               if ((i | 0) < 1) {
+                                break n;
+                               }
+                               g = q[a + 12 >> 2];
+                               while (1) {
+                                H : {
+                                 if (32 - g >>> 0 > 7) {
+                                  h = g;
+                                  break H;
+                                 }
+                                 e = q[a + 20 >> 2];
+                                 while (1) {
+                                  if (!e) {
+                                   g = 2;
+                                   continue c;
+                                  }
+                                  k = q[a + 8 >> 2] >>> 8 | 0;
+                                  q[a + 8 >> 2] = k;
+                                  j = q[a + 16 >> 2];
+                                  l = r[j | 0];
+                                  e = e + -1 | 0;
+                                  q[a + 20 >> 2] = e;
+                                  h = g + -8 | 0;
+                                  q[a + 12 >> 2] = h;
+                                  q[a + 16 >> 2] = j + 1;
+                                  q[a + 8 >> 2] = k | l << 24;
+                                  k = 40 - g | 0;
+                                  g = h;
+                                  if (k >>> 0 < 8) {
+                                   continue;
+                                  }
+                                  break;
+                                 }
+                                }
+                                e = i + -1 | 0;
+                                q[a + 184 >> 2] = e;
+                                g = h + 8 | 0;
+                                q[a + 12 >> 2] = g;
+                                h = (i | 0) > 1;
+                                i = e;
+                                if (h) {
+                                 continue;
+                                }
+                                break;
+                               }
+                               break n;
+                              case 20:
+                               break h;
+                              case 19:
+                               break i;
+                              case 16:
+                               break l;
+                              case 3:
+                               break o;
+                              case 2:
+                               break p;
+                              case 0:
+                               break r;
+                              case 17:
+                               break s;
+                              case 10:
+                               break t;
+                              case 25:
+                               break v;
+                              case 13:
+                               break w;
+                              case 12:
+                              case 14:
+                              case 15:
+                               break x;
+                              case 6:
+                              case 7:
+                              case 8:
+                              case 9:
+                               break y;
+                              case 24:
+                               break z;
+                              case 23:
+                               break C;
+                              case 22:
+                               break D;
+                              case 4:
+                               break G;
+                              default:
+                               break g;
+                              }
+                             }
+                             h = q[a + 12 >> 2];
+                             I : {
+                              if (32 - h >>> 0 >= 6) {
+                               j = q[m >> 2];
+                               break I;
+                              }
+                              g = q[a + 20 >> 2];
+                              e = h;
+                              while (1) {
+                               if (!g) {
+                                g = 2;
+                                continue c;
+                               }
+                               i = q[a + 8 >> 2] >>> 8 | 0;
+                               q[a + 8 >> 2] = i;
+                               k = q[a + 16 >> 2];
+                               j = r[k | 0];
+                               g = g + -1 | 0;
+                               q[a + 20 >> 2] = g;
+                               h = e + -8 | 0;
+                               q[a + 12 >> 2] = h;
+                               q[a + 16 >> 2] = k + 1;
+                               j = i | j << 24;
+                               q[a + 8 >> 2] = j;
+                               i = 40 - e | 0;
+                               e = h;
+                               if (i >>> 0 < 6) {
+                                continue;
+                               }
+                               break;
+                              }
+                             }
+                             q[a + 12 >> 2] = h + 6;
+                             e = j >>> h | 0;
+                             h = e & 3;
+                             q[a + 240 >> 2] = h;
+                             q[a + 244 >> 2] = (e >>> 2 & 15) << h;
+                             e = n[q[a + 24 >> 2]](q[a + 32 >> 2], q[a + 204 >> 2]) | 0;
+                             q[a + 580 >> 2] = e;
+                             g = -21;
+                             if (!e) {
+                              continue;
+                             }
+                             q[a >> 2] = 6;
+                             q[a + 4 >> 2] = 0;
+                             i = 0;
+                            }
+                            g = q[a + 204 >> 2];
+                            if ((i | 0) < (g | 0)) {
+                             while (1) {
+                              h = q[a + 12 >> 2];
+                              J : {
+                               if (32 - h >>> 0 >= 2) {
+                                j = q[a + 8 >> 2];
+                                break J;
+                               }
+                               g = q[a + 20 >> 2];
+                               e = h;
+                               while (1) {
+                                if (!g) {
+                                 break u;
+                                }
+                                k = q[a + 8 >> 2] >>> 8 | 0;
+                                q[a + 8 >> 2] = k;
+                                j = q[a + 16 >> 2];
+                                l = r[j | 0];
+                                g = g + -1 | 0;
+                                q[a + 20 >> 2] = g;
+                                h = e + -8 | 0;
+                                q[a + 12 >> 2] = h;
+                                q[a + 16 >> 2] = j + 1;
+                                j = k | l << 24;
+                                q[a + 8 >> 2] = j;
+                                k = 40 - e | 0;
+                                e = h;
+                                if (k >>> 0 < 2) {
+                                 continue;
+                                }
+                                break;
+                               }
+                              }
+                              q[a + 12 >> 2] = h + 2;
+                              o[q[a + 580 >> 2] + i | 0] = j >>> h & 3;
+                              i = i + 1 | 0;
+                              g = q[a + 204 >> 2];
+                              if ((i | 0) < (g | 0)) {
+                               continue;
+                              }
+                              break;
+                             }
+                            }
+                            q[a >> 2] = 22;
+                           }
+                           g = Jn(g << 6, K, E, a);
+                           if ((g | 0) != 1) {
+                            continue;
+                           }
+                           e = J;
+                           q[e >> 2] = 0;
+                           q[e + 4 >> 2] = 0;
+                           q[e + 24 >> 2] = 0;
+                           q[e + 28 >> 2] = 0;
+                           q[e + 16 >> 2] = 0;
+                           q[e + 20 >> 2] = 0;
+                           q[e + 8 >> 2] = 0;
+                           q[e + 12 >> 2] = 0;
+                           l = q[a + 204 >> 2];
+                           if (l) {
+                            e = q[E >> 2];
+                            i = 0;
+                            while (1) {
+                             h = i << 6;
+                             k = r[h + e | 0];
+                             g = 0;
+                             j = 0;
+                             while (1) {
+                              j = (k ^ r[e + (h + (g | 3) | 0) | 0]) & 255 | ((k ^ r[e + (h + (g | 2) | 0) | 0]) & 255 | ((k ^ r[e + (h + (g | 1) | 0) | 0]) & 255 | ((k ^ r[e + (g + h | 0) | 0]) & 255 | j)));
+                              t = g >>> 0 < 60;
+                              g = g + 4 | 0;
+                              if (t) {
+                               continue;
+                              }
+                              break;
+                             }
+                             if (!j) {
+                              h = ((i >>> 3 & 536870908) + a | 0) + 592 | 0;
+                              q[h >> 2] = q[h >> 2] | 1 << (i & 31);
+                             }
+                             i = i + 1 | 0;
+                             if ((l | 0) != (i | 0)) {
+                              continue;
+                             }
+                             break;
+                            }
+                           }
+                           q[a >> 2] = 23;
+                          }
+                          i = q[a + 244 >> 2];
+                          g = i + 16 | 0;
+                          k = q[a + 240 >> 2];
+                          e = k + 1 | 0;
+                          K : {
+                           if (!(r[a + 560 | 0] & 32)) {
+                            e = g + (24 << e) | 0;
+                            h = e;
+                            break K;
+                           }
+                           e = g + (62 << e) | 0;
+                           h = -2147483636;
+                           L : {
+                            if (i >>> 0 > 2147483643) {
+                             break L;
+                            }
+                            l = (2147483644 - i >>> k | 0) + 4 | 0;
+                            j = z(l >>> 1 | 0);
+                            h = g;
+                            g = ((l >>> 31 - j & 1) - (j << 1) | 0) + 60 | 0;
+                            if (!g) {
+                             break L;
+                            }
+                            h = (i + (-1 << k ^ -1 | g + -1 << k) | 0) + 17 | 0;
+                           }
+                          }
+                          g = Jn(q[a + 212 >> 2] << 2, I, H, a);
+                          if ((g | 0) != 1) {
+                           continue;
+                          }
+                          if (Bn(a, v, 256, 256, q[a + 572 >> 2]) & Bn(a, D, 704, 704, q[a + 208 >> 2]) & Bn(a, C, e, h, q[a + 248 >> 2]) & 1) {
+                           break B;
+                          }
+                          g = Hn(a, -22);
+                          break a;
+                         }
+                         h = q[a + 4 >> 2];
+                         if (h >>> 0 <= 2) {
+                          e = v;
+                          M : {
+                           switch (h - 1 | 0) {
+                           case 0:
+                            e = D;
+                            break A;
+                           case 1:
+                            break M;
+                           default:
+                            break A;
+                           }
+                          }
+                          e = C;
+                          break A;
+                         }
+                         g = Hn(a, -31);
+                         break a;
+                        }
+                        q[a >> 2] = 24;
+                        q[a + 4 >> 2] = 0;
+                        h = 0;
+                        e = v;
+                       }
+                       if (q[a + 624 >> 2] == 1) {
+                        g = q[a + 2412 >> 2];
+                       } else {
+                        g = q[e + 4 >> 2];
+                        q[a + 2412 >> 2] = 0;
+                        q[a + 2416 >> 2] = g;
+                        q[a + 624 >> 2] = 1;
+                        g = 0;
+                       }
+                       if ((g | 0) < s[e + 12 >> 1]) {
+                        g = q[a + 2416 >> 2];
+                        while (1) {
+                         g = Kn(s[e + 8 >> 1], s[e + 10 >> 1], g, u + 12 | 0, a);
+                         if ((g | 0) != 1) {
+                          continue c;
+                         }
+                         h = q[a + 2412 >> 2];
+                         q[q[e >> 2] + (h << 2) >> 2] = q[a + 2416 >> 2];
+                         g = q[u + 12 >> 2];
+                         h = h + 1 | 0;
+                         q[a + 2412 >> 2] = h;
+                         g = q[a + 2416 >> 2] + (g << 2) | 0;
+                         q[a + 2416 >> 2] = g;
+                         if ((h | 0) < s[e + 12 >> 1]) {
+                          continue;
+                         }
+                         break;
+                        }
+                        h = q[a + 4 >> 2];
+                       }
+                       q[a + 624 >> 2] = 0;
+                       g = 1;
+                       q[a + 4 >> 2] = h + 1;
+                       if ((h | 0) < 2) {
+                        continue;
+                       }
+                       q[a >> 2] = 25;
+                      }
+                      e = q[a + 220 >> 2];
+                      h = q[a + 576 >> 2] + (e << 6) | 0;
+                      q[a + 112 >> 2] = h;
+                      q[a + 176 >> 2] = q[((e >>> 3 & 536870908) + a | 0) + 592 >> 2] >>> (e & 31) & 1;
+                      q[a + 256 >> 2] = q[q[a + 120 >> 2] + (r[h | 0] << 2) >> 2];
+                      e = r[e + q[a + 580 >> 2] | 0];
+                      q[a + 116 >> 2] = q[a + 252 >> 2];
+                      q[a + 108 >> 2] = ((e & 3) << 9) + 153424;
+                      q[a + 104 >> 2] = q[q[a + 136 >> 2] >> 2];
+                      g = -27;
+                      if (!Ln(a)) {
+                       continue;
+                      }
+                      j = s[a + 162 >> 1];
+                      l = q[a + 240 >> 2];
+                      e = 0;
+                      g = 16;
+                      h = 1;
+                      i = 0;
+                      k = q[a + 244 >> 2];
+                      if (k) {
+                       while (1) {
+                        o[g + B | 0] = 0;
+                        e = e + 1 | 0;
+                        q[(g << 2) + A >> 2] = e;
+                        g = g + 1 | 0;
+                        if ((e | 0) != (k | 0)) {
+                         continue;
+                        }
+                        break;
+                       }
+                       g = k + 16 | 0;
+                      }
+                      if (g >>> 0 < j >>> 0) {
+                       while (1) {
+                        t = k + ((i + 2 << h) + -4 << l) | 0;
+                        e = 0;
+                        while (1) {
+                         o[g + B | 0] = h;
+                         e = e + 1 | 0;
+                         q[(g << 2) + A >> 2] = t + e;
+                         g = g + 1 | 0;
+                         if (!(e >>> l)) {
+                          continue;
+                         }
+                         break;
+                        }
+                        h = h + i | 0;
+                        i = i ^ 1;
+                        if (g >>> 0 < j >>> 0) {
+                         continue;
+                        }
+                        break;
+                       }
+                      }
+                      q[a >> 2] = 7;
+                     }
+                     g = Mn(a);
+                     if ((g | 0) != 2) {
+                      continue;
+                     }
+                     g = Nn(a);
+                     continue;
+                    }
+                    g = In(a, d, y, f, 0);
+                    if ((g | 0) != 1) {
+                     continue;
+                    }
+                    On(a);
+                    if (q[a + 64 >> 2] == 1 << q[a + 564 >> 2]) {
+                     q[a + 60 >> 2] = q[a + 56 >> 2];
+                    }
+                    e = q[a >> 2] + -15 | 0;
+                    if (e >>> 0 <= 1) {
+                     if (e - 1) {
+                      if (!q[a + 184 >> 2]) {
+                       break n;
+                      }
+                      q[a >> 2] = 7;
+                      g = 1;
+                      continue;
+                     }
+                     q[a >> 2] = 10;
+                     g = 1;
+                     continue;
+                    }
+                    if (!q[a + 4 >> 2]) {
+                     if (!q[a + 184 >> 2]) {
+                      break n;
+                     }
+                     q[a >> 2] = 9;
+                     g = 1;
+                     continue;
+                    }
+                    q[a >> 2] = 8;
+                    g = 1;
+                    continue;
+                   }
+                   g = -10;
+                   if (q[a + 184 >> 2] < 0) {
+                    continue;
+                   }
+                   zn(a);
+                   if (!(o[a + 560 | 0] & 1)) {
+                    q[a >> 2] = 3;
+                    g = 1;
+                    continue;
+                   }
+                   e = q[a + 12 >> 2];
+                   i = 0 - e & 7;
+                   N : {
+                    if (!i) {
+                     h = e;
+                     break N;
+                    }
+                    h = e + i | 0;
+                    q[a + 12 >> 2] = h;
+                    g = -15;
+                    if (q[(i << 2) + 153280 >> 2] & q[a + 8 >> 2] >>> e) {
+                     continue;
+                    }
+                   }
+                   if (!q[a + 48 >> 2]) {
+                    g = 32 - h | 0;
+                    e = g >>> 3 | 0;
+                    k = e + q[a + 20 >> 2] | 0;
+                    q[a + 20 >> 2] = k;
+                    j = q[a + 16 >> 2] - e | 0;
+                    q[a + 16 >> 2] = j;
+                    e = a;
+                    g = g & -8;
+                    if ((g | 0) != 32) {
+                     i = q[m >> 2] << g;
+                    } else {
+                     i = 0;
+                    }
+                    q[e + 8 >> 2] = i;
+                    q[a + 12 >> 2] = g + h;
+                    q[b >> 2] = k;
+                    q[c >> 2] = j;
+                   }
+                   q[a >> 2] = 26;
+                  }
+                  if (q[a + 96 >> 2]) {
+                   g = In(a, d, y, f, 1);
+                   if ((g | 0) != 1) {
+                    continue;
+                   }
+                  }
+                  g = Hn(a, 1);
+                  break a;
+                 }
+                 q[a + 4 >> 2] = i;
+                 g = 2;
+                 continue;
+                }
+                g = Pn(d, y, f, a);
+                if ((g | 0) != 1) {
+                 continue;
+                }
+                break n;
+               }
+               g = q[a + 4 >> 2];
+               if ((g | 0) < 3) {
+                break k;
+               }
+               q[a >> 2] = 5;
+               g = 1;
+               continue;
+              }
+              h = q[a + 12 >> 2];
+              O : {
+               if (32 - h >>> 0 >= 6) {
+                j = q[m >> 2];
+                break O;
+               }
+               g = q[a + 20 >> 2];
+               e = h;
+               while (1) {
+                if (!g) {
+                 g = 2;
+                 continue c;
+                }
+                i = q[a + 8 >> 2] >>> 8 | 0;
+                q[a + 8 >> 2] = i;
+                k = q[a + 16 >> 2];
+                j = r[k | 0];
+                g = g + -1 | 0;
+                q[a + 20 >> 2] = g;
+                h = e + -8 | 0;
+                q[a + 12 >> 2] = h;
+                q[a + 16 >> 2] = k + 1;
+                j = i | j << 24;
+                q[a + 8 >> 2] = j;
+                i = 40 - e | 0;
+                e = h;
+                if (i >>> 0 < 6) {
+                 continue;
+                }
+                break;
+               }
+              }
+              q[a + 12 >> 2] = h + 6;
+              e = j >>> h & 63;
+              q[a + 564 >> 2] = e;
+              g = -13;
+              if (e + -10 >>> 0 > 20) {
+               continue;
+              }
+              q[a >> 2] = 2;
+             }
+             q[a + 56 >> 2] = (1 << e) + -16;
+             e = n[q[a + 24 >> 2]](q[a + 32 >> 2], 12336) | 0;
+             q[a + 168 >> 2] = e;
+             g = -30;
+             if (!e) {
+              continue;
+             }
+             q[a >> 2] = 3;
+             q[a + 172 >> 2] = e + 7584;
+            }
+            yn(a);
+            q[a >> 2] = 4;
+           }
+           g = Qn(a, m);
+           if ((g | 0) != 1) {
+            continue;
+           }
+           i = s[a + 560 >> 1];
+           P : {
+            if (!(i & 6)) {
+             break P;
+            }
+            e = q[a + 12 >> 2];
+            h = 0 - e & 7;
+            if (!h) {
+             break P;
+            }
+            q[a + 12 >> 2] = e + h;
+            g = -14;
+            if (q[(h << 2) + 153280 >> 2] & q[a + 8 >> 2] >>> e) {
+             continue;
+            }
+           }
+           if (i & 4) {
+            q[a >> 2] = 12;
+            g = 1;
+            continue;
+           }
+           if (q[a + 184 >> 2]) {
+            break m;
+           }
+          }
+          q[a >> 2] = 14;
+          g = 1;
+          continue;
+         }
+         Rn(a);
+         if (r[a + 560 | 0] & 2) {
+          q[a >> 2] = 11;
+          g = 1;
+          continue;
+         }
+         q[a >> 2] = 17;
+        }
+        q[a + 788 >> 2] = G;
+        q[a >> 2] = 18;
+        q[a + 4 >> 2] = 0;
+        q[a + 632 >> 2] = 0;
+        q[a + 636 >> 2] = 0;
+        q[a + 624 >> 2] = 0;
+        q[a + 628 >> 2] = 0;
+        g = 0;
+       }
+       g = Sn(a, m, ((g << 2) + a | 0) + 204 | 0);
+       if ((g | 0) != 1) {
+        continue;
+       }
+       h = a + 204 | 0;
+       e = h + (q[a + 4 >> 2] << 2) | 0;
+       q[e >> 2] = q[e >> 2] + 1;
+       e = q[a + 4 >> 2];
+       g = q[h + (e << 2) >> 2];
+       if (g >>> 0 <= 1) {
+        g = 1;
+        q[a + 4 >> 2] = e + 1;
+        continue;
+       }
+       q[a >> 2] = 19;
+      }
+      h = g + 2 | 0;
+      g = Kn(h, h, q[a + 168 >> 2] + w(e, 2528) | 0, 0, a);
+      if ((g | 0) != 1) {
+       continue;
+      }
+      q[a >> 2] = 20;
+     }
+     g = Kn(26, 26, q[a + 172 >> 2] + w(q[a + 4 >> 2], 1584) | 0, 0, a);
+     if ((g | 0) != 1) {
+      continue;
+     }
+     q[a >> 2] = 21;
+    }
+    l = q[a + 4 >> 2];
+    k = u;
+    Q : {
+     R : {
+      if (!q[a + 556 >> 2]) {
+       t = q[a + 172 >> 2] + w(l, 1584) | 0;
+       S : {
+        h = q[a + 12 >> 2];
+        T : {
+         if (32 - h >>> 0 >= 15) {
+          j = q[m >> 2];
+          break T;
+         }
+         g = q[a + 20 >> 2];
+         e = h;
+         while (1) {
+          if (!g) {
+           break S;
+          }
+          i = q[a + 8 >> 2] >>> 8 | 0;
+          q[a + 8 >> 2] = i;
+          j = q[a + 16 >> 2];
+          x = r[j | 0];
+          g = g + -1 | 0;
+          q[a + 20 >> 2] = g;
+          h = e + -8 | 0;
+          q[a + 12 >> 2] = h;
+          q[a + 16 >> 2] = j + 1;
+          j = i | x << 24;
+          q[a + 8 >> 2] = j;
+          i = 40 - e | 0;
+          e = h;
+          if (i >>> 0 < 15) {
+           continue;
+          }
+          break;
+         }
+        }
+        i = a;
+        j = j >>> h | 0;
+        g = t + ((j & 255) << 2) | 0;
+        e = r[g | 0];
+        if (e >>> 0 >= 9) {
+         h = h + 8 | 0;
+         q[a + 12 >> 2] = h;
+         g = (s[g + 2 >> 1] + (q[(e << 2) + 153248 >> 2] & j >>> 8 & 127) << 2) + g | 0;
+         e = r[g | 0];
+        }
+        q[i + 12 >> 2] = (e & 255) + h;
+        i = s[g + 2 >> 1];
+        break R;
+       }
+       if (!Tn(t, m, u + 8 | 0)) {
+        g = 2;
+        continue;
+       }
+       i = q[u + 8 >> 2];
+       break Q;
+      }
+      i = q[a + 188 >> 2];
+     }
+     q[k + 8 >> 2] = i;
+    }
+    U : {
+     h = q[a + 12 >> 2];
+     t = i << 2;
+     k = r[t + 153170 | 0];
+     V : {
+      if (32 - h >>> 0 >= k >>> 0) {
+       j = q[m >> 2];
+       break V;
+      }
+      g = q[a + 20 >> 2];
+      e = h;
+      while (1) {
+       if (!g) {
+        break U;
+       }
+       j = q[a + 8 >> 2] >>> 8 | 0;
+       q[a + 8 >> 2] = j;
+       x = q[a + 16 >> 2];
+       L = r[x | 0];
+       g = g + -1 | 0;
+       q[a + 20 >> 2] = g;
+       h = e + -8 | 0;
+       q[a + 12 >> 2] = h;
+       q[a + 16 >> 2] = x + 1;
+       j = j | L << 24;
+       q[a + 8 >> 2] = j;
+       x = 40 - e | 0;
+       e = h;
+       if (x >>> 0 < k >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     q[a + 12 >> 2] = h + k;
+     q[((l << 2) + a | 0) + 192 >> 2] = s[t + 153168 >> 1] + (q[(k << 2) + 153280 >> 2] & j >>> h);
+     q[a + 556 >> 2] = 0;
+     q[a >> 2] = 18;
+     g = 1;
+     q[a + 4 >> 2] = q[a + 4 >> 2] + 1;
+     continue;
+    }
+    q[a + 556 >> 2] = 1;
+    q[a + 188 >> 2] = i;
+    g = 2;
+    continue;
+   }
+   g = 2;
+   if (!tn(m)) {
+    continue;
+   }
+   i = s[a + 560 >> 1];
+   g = i & -33;
+   p[a + 560 >> 1] = g;
+   e = q[a + 12 >> 2];
+   k = e + 1 | 0;
+   q[a + 12 >> 2] = k;
+   h = q[a + 8 >> 2];
+   W : {
+    if (!(h >>> e & 1)) {
+     q[a + 564 >> 2] = 16;
+     break W;
+    }
+    j = e + 4 | 0;
+    q[a + 12 >> 2] = j;
+    k = h >>> k & 7;
+    if (k) {
+     q[a + 564 >> 2] = k + 17;
+     break W;
+    }
+    l = e + 7 | 0;
+    q[a + 12 >> 2] = l;
+    X : {
+     k = h >>> j & 7;
+     if (k >>> 0 <= 1) {
+      if (k - 1) {
+       break X;
+      }
+      g = -13;
+      if (!(i & 32)) {
+       continue;
+      }
+      q[a + 12 >> 2] = e + 8;
+      if (h >>> l & 1) {
+       continue;
+      }
+      g = i | 32;
+      p[a + 560 >> 1] = g;
+      break W;
+     }
+     q[a + 564 >> 2] = k | 8;
+     break W;
+    }
+    q[a + 564 >> 2] = 17;
+   }
+   if (g & 32) {
+    g = 1;
+    q[a >> 2] = 1;
+   } else {
+    q[a >> 2] = 2;
+    g = 1;
+   }
+   continue;
+  }
+ }
+ Ca = u + 16 | 0;
+ return g;
+}
+function lN(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0;
+ s = Ca - 9040 | 0;
+ Ca = s;
+ i = 1;
+ a : {
+  if (!c) {
+   break a;
+  }
+  u = jN(a, b, c);
+  b : {
+   if (!u) {
+    break b;
+   }
+   b = q[d >> 2];
+   x = b & 1;
+   c : {
+    if (b & 16) {
+     break c;
+    }
+    f = u;
+    while (1) {
+     f = q[f + 4 >> 2];
+     b = q[f + 16 >> 2];
+     if ((b | 0) == 128) {
+      break c;
+     }
+     if ((b | 0) == 32864) {
+      h = h - ((h | 0) > 0) | 0;
+      continue;
+     }
+     if (b & 32768) {
+      h = h + 1 | 0;
+      continue;
+     }
+     if (h) {
+      continue;
+     }
+     h = 0;
+     if (!(b & 256)) {
+      continue;
+     }
+     break;
+    }
+    x = b & 1;
+    q[d >> 2] = x | 272;
+   }
+   Z$(s + 8528 | 0, 0, 508);
+   d : {
+    v = hN();
+    if (!v) {
+     break d;
+    }
+    d = 128;
+    b = 1;
+    g = q[u + 4 >> 2];
+    j = q[g + 16 >> 2];
+    e : {
+     if ((j | 0) == 128) {
+      break e;
+     }
+     t = g + 16 | 0;
+     i = x;
+     l = 64;
+     d = 0;
+     f = 0;
+     b = 0;
+     while (1) {
+      f : {
+       o[g + 21 | 0] = k;
+       g : {
+        if (j & 1052672) {
+         h : {
+          if (j & 16) {
+           h = q[g + 12 >> 2];
+           if (!h) {
+            break h;
+           }
+           t = j & 1;
+           j = j & 16384 ? t | 272 : 64;
+           z = t | 2;
+           y = !m;
+           while (1) {
+            p = (i + z & 254) - t | 0;
+            i : {
+             if (!(p << 24 < 2113929216 ? !(f | m) : 0)) {
+              f = f + y | 0;
+              break i;
+             }
+             n = (s + 512 | 0) + (d << 4) | 0;
+             q[n + 12 >> 2] = k;
+             o[n + 4 | 0] = i;
+             q[n + 8 >> 2] = 0;
+             q[n >> 2] = l;
+             b = (i & 255) == 124 ? f : b;
+             d = d + 1 | 0;
+             l = j;
+             i = p;
+            }
+            h = h + -1 | 0;
+            if (h) {
+             continue;
+            }
+            break;
+           }
+           break h;
+          }
+          if ((j | 0) != 4128) {
+           break h;
+          }
+          j = q[g + 12 >> 2];
+          if (!j) {
+           break h;
+          }
+          while (1) {
+           j : {
+            if (!d) {
+             d = 0;
+             break j;
+            }
+            h = d + -1 | 0;
+            n = (s + 512 | 0) + (h << 4) | 0;
+            if (q[n + 8 >> 2]) {
+             break h;
+            }
+            if ((f | 0) > (b | 0)) {
+             f = f + -1 | 0;
+             break j;
+            }
+            b = (b | 0) == (f | 0) ? 0 : b;
+            k = q[n + 12 >> 2];
+            l = q[n >> 2];
+            i = r[n + 4 | 0];
+            d = h;
+           }
+           j = j + -1 | 0;
+           if (j) {
+            continue;
+           }
+           break;
+          }
+         }
+         o[g + 20 | 0] = 255;
+         j = q[g + 4 >> 2];
+         q[s + 4 >> 2] = j;
+         h = q[g >> 2];
+         if (h) {
+          q[h + 4 >> 2] = j;
+          q[q[g + 4 >> 2] >> 2] = h;
+         }
+         q[g >> 2] = q[v >> 2];
+         q[q[v >> 2] + 4 >> 2] = g;
+         q[g + 4 >> 2] = v;
+         q[v >> 2] = g;
+         g = s;
+         break g;
+        }
+        if ((j | 0) == 32864) {
+         n = q[g + 12 >> 2];
+         if (!n) {
+          break g;
+         }
+         while (1) {
+          k : {
+           if ((m | 0) >= 1) {
+            o[g + 20 | 0] = i;
+            m = m + -1 | 0;
+            break k;
+           }
+           l : {
+            m : {
+             if ((w | 0) >= 1) {
+              if (!d) {
+               break m;
+              }
+              while (1) {
+               h = d + -1 | 0;
+               j = (s + 512 | 0) + (h << 4) | 0;
+               if (!q[j + 8 >> 2]) {
+                if ((f | 0) > (b | 0)) {
+                 f = f + -1 | 0;
+                 if (!d) {
+                  break m;
+                 }
+                 continue;
+                }
+                b = (b | 0) == (f | 0) ? 0 : b;
+                k = q[j + 12 >> 2];
+                l = q[j >> 2];
+                i = r[j + 4 | 0];
+                d = h;
+                if (d) {
+                 continue;
+                }
+                break m;
+               }
+               break;
+              }
+              f = -1;
+              if ((b | 0) < 0) {
+               break l;
+              }
+              k = q[j + 12 >> 2];
+              l = q[j >> 2];
+              i = r[j + 4 | 0];
+              d = h;
+              f = 0;
+              break l;
+             }
+             q[t >> 2] = 64;
+             o[g + 20 | 0] = i;
+             break k;
+            }
+            d = 0;
+            f = 0;
+           }
+           o[g + 20 | 0] = i;
+           k = k + -1 | 0;
+           o[g + 21 | 0] = k;
+           w = w + -1 | 0;
+          }
+          n = n + -1 | 0;
+          if (n) {
+           continue;
+          }
+          break;
+         }
+         break g;
+        }
+        n : {
+         o : {
+          p : {
+           if (j & 32768) {
+            h = j + -32832 | 0;
+            if (h >>> 0 <= 1) {
+             break p;
+            }
+            if ((j | 0) != 33587264) {
+             break n;
+            }
+            p = 0;
+            j = g;
+            while (1) {
+             q : {
+              j = q[j + 4 >> 2];
+              h = q[j + 16 >> 2];
+              if ((h | 0) != 128) {
+               if ((h | 0) != 32864) {
+                break q;
+               }
+               p = p + -1 | 0;
+               if ((w | 0) >= 0) {
+                continue;
+               }
+              }
+              j = i << 24 >> 24;
+              break o;
+             }
+             if (h & 32768) {
+              p = p + 1 | 0;
+              continue;
+             }
+             if (p) {
+              continue;
+             }
+             p = 0;
+             if (!(h & 256)) {
+              continue;
+             }
+             break;
+            }
+            j = i << 24 >> 24;
+            if (!(h & 1)) {
+             break o;
+            }
+            p = (((j | 0) % 2 | 0) + j | 0) + 1 | 0;
+            break n;
+           }
+           if ((j | 0) == 2107456) {
+            break f;
+           }
+           o[g + 20 | 0] = i;
+           if (l & 64) {
+            break g;
+           }
+           q[t >> 2] = l;
+           break g;
+          }
+          if (!(h - 1)) {
+           h = i << 24 >> 24;
+           p = (((h | 0) % 2 | 0) + h | 0) + 1 | 0;
+           break n;
+          }
+          h = i << 24 >> 24;
+          p = (h - ((h | 0) % 2 | 0) | 0) + 2 | 0;
+          break n;
+         }
+         p = (j - ((j | 0) % 2 | 0) | 0) + 2 | 0;
+        }
+        o[g + 21 | 0] = k;
+        o[g + 20 | 0] = i;
+        h = (k | 0) < 124;
+        if (!(l & 64)) {
+         q[t >> 2] = l;
+        }
+        k = h + k | 0;
+        if (p << 24 >> 24 <= 125) {
+         w = w + 1 | 0;
+         if (!(f | m)) {
+          h = (s + 512 | 0) + (d << 4) | 0;
+          q[h + 12 >> 2] = k;
+          o[h + 4 | 0] = i;
+          q[h + 8 >> 2] = 1;
+          q[h >> 2] = l;
+          b = (i & 255) == 124 ? f : b;
+          d = d + 1 | 0;
+          l = 64;
+          i = p;
+          break g;
+         }
+         f = !m + f | 0;
+         i = p;
+         break g;
+        }
+        m = m + 1 | 0;
+       }
+       g = q[g + 4 >> 2];
+       t = g + 16 | 0;
+       j = q[g + 16 >> 2];
+       if ((j | 0) != 128) {
+        continue;
+       }
+      }
+      break;
+     }
+     b = 1;
+     g = q[u + 4 >> 2];
+     d = q[g + 16 >> 2];
+     if ((d | 0) == 128) {
+      d = 128;
+      break e;
+     }
+     j = s + 8528 | 4;
+     b = g;
+     h = 0;
+     while (1) {
+      i = o[b + 21 | 0];
+      if ((h | 0) > (i | 0)) {
+       Z$(j + (i << 2) | 0, 0, h - i << 2);
+      }
+      h = (s + 8528 | 0) + (i << 2) | 0;
+      f = q[h >> 2];
+      if (f) {
+       q[f + 32 >> 2] = b;
+       q[b + 28 >> 2] = f;
+      }
+      q[h >> 2] = b;
+      h = i;
+      b = q[b + 4 >> 2];
+      if (q[b + 16 >> 2] != 128) {
+       continue;
+      }
+      break;
+     }
+     b = 0;
+    }
+    w = x ? 273 : 272;
+    r : {
+     s : {
+      t : {
+       u : {
+        if (!g) {
+         g = 0;
+         break u;
+        }
+        if (b) {
+         break t;
+        }
+        while (1) {
+         b = q[g >> 2];
+         v : {
+          if (q[b + 16 >> 2] != (d | 0)) {
+           b = g;
+           break v;
+          }
+          if (r[b + 20 | 0] != r[g + 20 | 0]) {
+           b = g;
+           break v;
+          }
+          if (q[g + 24 >> 2]) {
+           b = g;
+           break v;
+          }
+          if (q[b + 24 >> 2]) {
+           b = g;
+           break v;
+          }
+          d = q[g + 4 >> 2];
+          q[b + 4 >> 2] = d;
+          q[d >> 2] = b;
+          q[b + 12 >> 2] = q[b + 12 >> 2] + q[g + 12 >> 2];
+          d = q[g + 32 >> 2];
+          if (d) {
+           q[d + 28 >> 2] = b;
+          }
+          q[b + 32 >> 2] = d;
+          M$(g);
+         }
+         g = q[b + 4 >> 2];
+         d = q[g + 16 >> 2];
+         if ((d | 0) != 128) {
+          continue;
+         }
+         break;
+        }
+        g = q[u + 4 >> 2];
+        d = q[g + 16 >> 2];
+       }
+       q[s + 512 >> 2] = w;
+       if ((d | 0) == 128) {
+        break s;
+       }
+       n = g + 16 | 0;
+       p = 0;
+       while (1) {
+        b = 641832;
+        i = q[g + 28 >> 2];
+        w : {
+         if (!i) {
+          break w;
+         }
+         if (q[i + 16 >> 2] == 128) {
+          b = i;
+          break w;
+         }
+         f = o[g + 21 | 0];
+         b = i;
+         while (1) {
+          if (o[b + 21 | 0] <= (f | 0)) {
+           break w;
+          }
+          b = q[b + 28 >> 2];
+          b = b ? b : 641832;
+          if (q[b + 16 >> 2] != 128) {
+           continue;
+          }
+          break;
+         }
+        }
+        i = q[g + 32 >> 2];
+        x : {
+         if (!i) {
+          f = 641832;
+          break x;
+         }
+         f = i;
+         h = q[f + 16 >> 2];
+         if ((h | 0) == 128) {
+          break x;
+         }
+         j = o[g + 21 | 0];
+         while (1) {
+          if (o[f + 21 | 0] <= (j | 0) ? (h | 0) != 32864 : 0) {
+           break x;
+          }
+          f = q[f + 32 >> 2];
+          f = f ? f : 641832;
+          h = q[f + 16 >> 2];
+          if ((h | 0) != 128) {
+           continue;
+          }
+          break;
+         }
+        }
+        m = o[g + 21 | 0];
+        h = r[g + 20 | 0];
+        l = h << 24 >> 24;
+        j = r[b + 20 | 0];
+        k = j << 24 >> 24;
+        if ((h | 0) == (j | 0)) {
+         h = q[b + 16 >> 2];
+        } else {
+         h = ((k | 0) > (l | 0) ? k : l) & 1 ? 273 : 272;
+        }
+        j = r[f + 20 | 0];
+        y = q[f + 16 >> 2];
+        y : {
+         if ((j | 0) == (l & 255)) {
+          break y;
+         }
+         j = j << 24 >> 24;
+         y = ((j | 0) > (l | 0) ? j : l) & 1 ? 273 : 272;
+        }
+        j = y;
+        if (h & 16) {
+         q[(s + 512 | 0) + (m << 2) >> 2] = h;
+        }
+        t = (p | 0) < (m | 0);
+        z : {
+         A : {
+          if ((d | 0) != 544) {
+           if ((d | 0) != 524320) {
+            break A;
+           }
+           d = q[g >> 2];
+           if (r[d + 17 | 0] & 128) {
+            q[n >> 2] = 64;
+           }
+           B : {
+            C : {
+             if ((k | 0) == (l | 0)) {
+              if ((b | 0) != (d | 0)) {
+               break C;
+              }
+              d = q[g + 4 >> 2];
+              q[b + 4 >> 2] = d;
+              q[d >> 2] = b;
+              q[b + 12 >> 2] = q[b + 12 >> 2] + q[g + 12 >> 2];
+              if (i) {
+               q[i + 28 >> 2] = b;
+              }
+              q[b + 32 >> 2] = i;
+              M$(g);
+              break B;
+             }
+             q[n >> 2] = h;
+            }
+            b = g;
+           }
+           if ((h | 0) != (j | 0)) {
+            break z;
+           }
+           d = q[b + 4 >> 2];
+           if ((d | 0) != (f | 0) | r[b + 20 | 0] != r[d + 20 | 0]) {
+            break z;
+           }
+           b = q[f >> 2];
+           d = q[f + 4 >> 2];
+           q[b + 4 >> 2] = d;
+           q[d >> 2] = b;
+           q[b + 12 >> 2] = q[b + 12 >> 2] + q[f + 12 >> 2];
+           d = q[f + 32 >> 2];
+           if (d) {
+            q[d + 28 >> 2] = b;
+           }
+           q[b + 32 >> 2] = d;
+           M$(f);
+           break z;
+          }
+          if (q[(s + 512 | 0) + (m << 2) >> 2] != 275) {
+           break A;
+          }
+          q[n >> 2] = 546;
+          if ((j | 0) != 524320) {
+           break A;
+          }
+          q[f + 16 >> 2] = 546;
+         }
+         b = g;
+        }
+        p = t ? m : p;
+        g = q[b + 4 >> 2];
+        n = g + 16 | 0;
+        d = q[g + 16 >> 2];
+        if ((d | 0) != 128) {
+         continue;
+        }
+        break;
+       }
+       g = q[u + 4 >> 2];
+       j = q[g + 16 >> 2];
+       q[s + 512 >> 2] = w;
+       d = g + 16 | 0;
+       if ((j | 0) == 128) {
+        break r;
+       }
+       m = 64;
+       n = 1;
+       l = d;
+       i = g;
+       while (1) {
+        k = o[i + 21 | 0];
+        b = 641832;
+        f = q[i + 28 >> 2];
+        D : {
+         if (!f) {
+          break D;
+         }
+         b = f;
+         if (q[b + 16 >> 2] == 128) {
+          break D;
+         }
+         while (1) {
+          if (o[b + 21 | 0] <= (k | 0)) {
+           break D;
+          }
+          b = q[b + 28 >> 2];
+          b = b ? b : 641832;
+          if (q[b + 16 >> 2] != 128) {
+           continue;
+          }
+          break;
+         }
+        }
+        f = q[i + 32 >> 2];
+        E : {
+         if (!f) {
+          f = 641832;
+          break E;
+         }
+         h = q[f + 16 >> 2];
+         if ((h | 0) == 128) {
+          break E;
+         }
+         while (1) {
+          if (o[f + 21 | 0] <= (k | 0) ? (h | 0) != 32864 : 0) {
+           break E;
+          }
+          f = q[f + 32 >> 2];
+          f = f ? f : 641832;
+          h = q[f + 16 >> 2];
+          if ((h | 0) != 128) {
+           continue;
+          }
+          break;
+         }
+        }
+        t = r[i + 20 | 0];
+        h = t << 24 >> 24;
+        y = t;
+        t = r[b + 20 | 0];
+        b = q[b + 16 >> 2];
+        F : {
+         if ((y | 0) == (t | 0)) {
+          break F;
+         }
+         b = t << 24 >> 24;
+         b = ((b | 0) > (h | 0) ? b : h) & 1 ? 273 : 272;
+        }
+        t = r[f + 20 | 0];
+        z = h & 255;
+        f = q[f + 16 >> 2];
+        G : {
+         if ((t | 0) == (z | 0)) {
+          break G;
+         }
+         f = t << 24 >> 24;
+         f = ((f | 0) > (h | 0) ? f : h) & 1 ? 273 : 272;
+        }
+        if (b & 16) {
+         q[(s + 512 | 0) + (k << 2) >> 2] = b;
+        }
+        H : {
+         if ((j | 0) == 275) {
+          q[l >> 2] = 273;
+          i = q[i + 4 >> 2];
+          n = 1;
+          m = 64;
+          break H;
+         }
+         I : {
+          if (!n | (f | 0) != (m | 0) | (!(m & 512) | !(j & 327680))) {
+           break I;
+          }
+          if (q[i + 12 >> 2] != 1 | ((j | 0) != 263200 ? (m | 0) != 544 : 0)) {
+           break I;
+          }
+          q[l >> 2] = b;
+          j = b;
+         }
+         J : {
+          K : {
+           L : {
+            M : {
+             if ((j | 0) == 132128) {
+              if ((f | 0) != 544 ? (m | 0) != 544 : 0) {
+               break M;
+              }
+              q[l >> 2] = 544;
+              n = 0;
+              break K;
+             }
+             if (!(j & 1024)) {
+              break L;
+             }
+            }
+            q[l >> 2] = 64;
+           }
+           n = 1;
+           if ((j | 0) != 544) {
+            break J;
+           }
+          }
+          if (q[(s + 512 | 0) + (k << 2) >> 2] != 272) {
+           break J;
+          }
+          q[l >> 2] = 272;
+          i = q[i + 4 >> 2];
+          m = (z | 0) == r[i + 20 | 0] ? 544 : 64;
+          break H;
+         }
+         i = q[i + 4 >> 2];
+         b = q[i >> 2];
+         f = r[b + 20 | 0];
+         h = r[i + 20 | 0];
+         if ((f | 0) == (h | 0)) {
+          m = q[b + 16 >> 2];
+          break H;
+         }
+         b = f << 24 >> 24;
+         f = h << 24 >> 24;
+         m = ((b | 0) > (f | 0) ? b : f) & 1 ? 273 : 272;
+        }
+        l = i + 16 | 0;
+        j = q[i + 16 >> 2];
+        if ((j | 0) != 128) {
+         continue;
+        }
+        break;
+       }
+       break r;
+      }
+      q[s + 512 >> 2] = w;
+     }
+     q[s + 512 >> 2] = w;
+     d = g + 16 | 0;
+     p = 0;
+    }
+    N : {
+     if (!g) {
+      break N;
+     }
+     f = q[d >> 2];
+     if ((f | 0) == 128) {
+      break N;
+     }
+     while (1) {
+      b = q[g >> 2];
+      O : {
+       if (r[b + 20 | 0] != r[g + 20 | 0]) {
+        b = g;
+        break O;
+       }
+       d = q[b + 16 >> 2];
+       if (!((d | 0) == (f | 0) | d & f & 64)) {
+        b = g;
+        break O;
+       }
+       if (q[g + 24 >> 2]) {
+        b = g;
+        break O;
+       }
+       if (q[b + 24 >> 2]) {
+        b = g;
+        break O;
+       }
+       d = q[g + 4 >> 2];
+       q[b + 4 >> 2] = d;
+       q[d >> 2] = b;
+       q[b + 12 >> 2] = q[b + 12 >> 2] + q[g + 12 >> 2];
+       d = q[g + 32 >> 2];
+       if (d) {
+        q[d + 28 >> 2] = b;
+       }
+       q[b + 32 >> 2] = d;
+       M$(g);
+      }
+      g = q[b + 4 >> 2];
+      f = q[g + 16 >> 2];
+      if ((f | 0) != 128) {
+       continue;
+      }
+      break;
+     }
+    }
+    q[s + 8524 >> 2] = 0;
+    j = o[u + 20 | 0];
+    b = (p << 2) + 4 | 0;
+    Z$(s + 8528 | 0, 0, b);
+    k = Z$(s, 0, b);
+    q[k + 8588 >> 2] = k + 1472;
+    q[k + 8584 >> 2] = k + 1408;
+    q[k + 8580 >> 2] = k + 1344;
+    q[k + 8576 >> 2] = k + 1280;
+    q[k + 8572 >> 2] = k + 1216;
+    q[k + 8568 >> 2] = k + 1152;
+    q[k + 8564 >> 2] = k + 1088;
+    q[k + 8560 >> 2] = k + 1024;
+    q[k + 8556 >> 2] = k + 960;
+    q[k + 8552 >> 2] = k + 896;
+    q[k + 8548 >> 2] = k + 832;
+    q[k + 8544 >> 2] = k + 768;
+    q[k + 8540 >> 2] = k + 704;
+    q[k + 8536 >> 2] = k + 640;
+    q[k + 8532 >> 2] = k + 576;
+    q[k + 8528 >> 2] = k + 512;
+    if ((p | 0) > 15) {
+     b = 16;
+     while (1) {
+      A = (k + 8528 | 0) + (b << 2) | 0, B = L$(252), q[A >> 2] = B;
+      d = (b | 0) == (p | 0);
+      b = b + 1 | 0;
+      if (!d) {
+       continue;
+      }
+      break;
+     }
+    }
+    h = q[u + 4 >> 2];
+    d = q[h + 16 >> 2];
+    if ((d | 0) != 128) {
+     m = q[k + 8524 >> 2];
+     n = 0;
+     g = 0;
+     while (1) {
+      b = g;
+      f = q[h + 24 >> 2];
+      i = j;
+      j = o[h + 20 | 0];
+      g = o[h + 21 | 0];
+      if (!((i | 0) == (j | 0) | (b | 0) != (g | 0))) {
+       q[k + (b << 2) >> 2] = 0;
+      }
+      P : {
+       Q : {
+        if (!f | (d | 0) != 64) {
+         break Q;
+        }
+        d = g << 2;
+        i = d + k | 0;
+        b = q[i >> 2];
+        if ((f | 0) >= 0) {
+         d = d + (k + 8528 | 0) | 0;
+         while (1) {
+          if ((b | 0) < 1) {
+           break Q;
+          }
+          b = b + -1 | 0;
+          l = q[q[d >> 2] + (b << 2) >> 2];
+          if ((f ^ q[l + 24 >> 2]) & 2147483647) {
+           continue;
+          }
+          break;
+         }
+         q[i >> 2] = b;
+         m = L$(12);
+         q[m + 8 >> 2] = n;
+         q[m + 4 >> 2] = h;
+         q[m >> 2] = l;
+         n = m;
+         break Q;
+        }
+        if ((b | 0) == 63) {
+         break P;
+        }
+        d = q[d + (k + 8528 | 0) >> 2];
+        q[i >> 2] = b + 1;
+        q[d + (b << 2) >> 2] = h;
+       }
+       h = q[h + 4 >> 2];
+       d = q[h + 16 >> 2];
+       if ((d | 0) != 128) {
+        continue;
+       }
+      }
+      break;
+     }
+     q[k + 8524 >> 2] = m;
+    }
+    mN(k + 8524 | 0);
+    n = q[k + 8524 >> 2];
+    if (n) {
+     m = n;
+     while (1) {
+      d = q[m >> 2];
+      l = o[d + 20 | 0];
+      b = d;
+      g = b;
+      R : {
+       S : {
+        i = q[m + 4 >> 2];
+        if ((i | 0) != (b | 0)) {
+         while (1) {
+          f = 273;
+          g = q[b + 16 >> 2];
+          h = g + -544 | 0;
+          T : {
+           U : {
+            if (h >>> 0 > 2) {
+             if ((g | 0) == 273) {
+              break T;
+             }
+             break U;
+            }
+            if (h - 1) {
+             break T;
+            }
+           }
+           f = g;
+          }
+          if (f & 16) {
+           g = o[b + 20 | 0];
+           if ((((g ^ f) & 1) + g | 0) == (l | 0)) {
+            break S;
+           }
+          }
+          b = q[b + 4 >> 2];
+          if ((i | 0) != (b | 0)) {
+           continue;
+          }
+          break;
+         }
+         g = i;
+        }
+        h = r[d + 21 | 0];
+        b = d;
+        V : {
+         while (1) {
+          i = 273;
+          b = q[b >> 2];
+          f = q[b + 16 >> 2];
+          j = f + -544 | 0;
+          W : {
+           X : {
+            if (j >>> 0 > 2) {
+             if ((f | 0) == 273) {
+              break W;
+             }
+             if ((f | 0) == 128) {
+              break V;
+             }
+             break X;
+            }
+            if (j - 1) {
+             break W;
+            }
+           }
+           i = f;
+           if (!(f & 16)) {
+            continue;
+           }
+          }
+          if ((h | 0) != r[b + 21 | 0]) {
+           continue;
+          }
+          break;
+         }
+         b = o[b + 20 | 0];
+         l = ((b ^ i) & 1) + b | 0;
+        }
+        b = d;
+        if ((g | 0) == (b | 0)) {
+         break R;
+        }
+        while (1) {
+         Y : {
+          i = q[b + 16 >> 2];
+          f = i + -544 | 0;
+          Z : {
+           _ : {
+            if (f >>> 0 > 2) {
+             if ((i | 0) == 273) {
+              break Z;
+             }
+             break _;
+            }
+            if (f - 1) {
+             break Z;
+            }
+           }
+           if (!(i & 16)) {
+            break Y;
+           }
+          }
+          if ((h | 0) != r[b + 21 | 0]) {
+           break Y;
+          }
+          b = l & 1 | 272;
+          q[g + 16 >> 2] = b;
+          q[d + 16 >> 2] = b;
+          break R;
+         }
+         b = q[b + 4 >> 2];
+         if ((g | 0) != (b | 0)) {
+          continue;
+         }
+         break;
+        }
+        break R;
+       }
+       b = l & 1 | 272;
+       q[i + 16 >> 2] = b;
+       q[d + 16 >> 2] = b;
+      }
+      m = q[m + 8 >> 2];
+      if (m) {
+       continue;
+      }
+      break;
+     }
+     while (1) {
+      b = q[n + 8 >> 2];
+      M$(n);
+      n = b;
+      if (b) {
+       continue;
+      }
+      break;
+     }
+    }
+    b = 16;
+    if ((p | 0) >= 16) {
+     while (1) {
+      M$(q[(k + 8528 | 0) + (b << 2) >> 2]);
+      d = (b | 0) != (p | 0);
+      b = b + 1 | 0;
+      if (d) {
+       continue;
+      }
+      break;
+     }
+    }
+    f = q[u + 4 >> 2];
+    h = q[f + 16 >> 2];
+    $ : {
+     if ((h | 0) == 128) {
+      break $;
+     }
+     b = f;
+     while (1) {
+      q[b + 24 >> 2] = 0;
+      b = q[b + 4 >> 2];
+      if (q[b + 16 >> 2] != 128) {
+       continue;
+      }
+      break;
+     }
+     if (!f) {
+      break $;
+     }
+     while (1) {
+      b = q[f >> 2];
+      aa : {
+       if (r[b + 20 | 0] != r[f + 20 | 0]) {
+        b = f;
+        break aa;
+       }
+       d = q[b + 16 >> 2];
+       if (!((d | 0) == (h | 0) | d & h & 64)) {
+        b = f;
+        break aa;
+       }
+       if (q[f + 24 >> 2]) {
+        b = f;
+        break aa;
+       }
+       if (q[b + 24 >> 2]) {
+        b = f;
+        break aa;
+       }
+       d = q[f + 4 >> 2];
+       q[b + 4 >> 2] = d;
+       q[d >> 2] = b;
+       q[b + 12 >> 2] = q[b + 12 >> 2] + q[f + 12 >> 2];
+       d = q[f + 32 >> 2];
+       if (d) {
+        q[d + 28 >> 2] = b;
+       }
+       q[b + 32 >> 2] = d;
+       M$(f);
+      }
+      f = q[b + 4 >> 2];
+      h = q[f + 16 >> 2];
+      if ((h | 0) != 128) {
+       continue;
+      }
+      break;
+     }
+    }
+    i = q[u + 4 >> 2];
+    m = i + 16 | 0;
+    j = q[i + 16 >> 2];
+    if ((j | 0) != 128) {
+     l = m;
+     d = i;
+     while (1) {
+      b = 641832;
+      g = q[d + 28 >> 2];
+      ba : {
+       if (!g) {
+        break ba;
+       }
+       if (q[g + 16 >> 2] == 128) {
+        b = g;
+        break ba;
+       }
+       f = o[d + 21 | 0];
+       b = g;
+       while (1) {
+        if (o[b + 21 | 0] <= (f | 0)) {
+         break ba;
+        }
+        b = q[b + 28 >> 2];
+        b = b ? b : 641832;
+        if (q[b + 16 >> 2] != 128) {
+         continue;
+        }
+        break;
+       }
+      }
+      f = q[d + 32 >> 2];
+      ca : {
+       if (!f) {
+        f = 641832;
+        break ca;
+       }
+       h = q[f + 16 >> 2];
+       if ((h | 0) == 128) {
+        break ca;
+       }
+       g = o[d + 21 | 0];
+       while (1) {
+        if (o[f + 21 | 0] <= (g | 0) ? (h | 0) != 32864 : 0) {
+         break ca;
+        }
+        f = q[f + 32 >> 2];
+        f = f ? f : 641832;
+        h = q[f + 16 >> 2];
+        if ((h | 0) != 128) {
+         continue;
+        }
+        break;
+       }
+      }
+      g = r[d + 20 | 0];
+      h = g << 24 >> 24;
+      p = g;
+      g = r[b + 20 | 0];
+      da : {
+       if ((p | 0) == (g | 0)) {
+        b = q[b + 16 >> 2];
+        b = b & 512 ? 273 : b;
+        break da;
+       }
+       b = g << 24 >> 24;
+       b = ((b | 0) > (h | 0) ? b : h) & 1 ? 273 : 272;
+      }
+      g = r[f + 20 | 0];
+      ea : {
+       if ((g | 0) == (h & 255)) {
+        g = q[f + 16 >> 2];
+        g = g & 512 ? 273 : g;
+        break ea;
+       }
+       g = g << 24 >> 24;
+       g = ((g | 0) > (h | 0) ? g : h) & 1 ? 273 : 272;
+      }
+      if ((j & 576) == 64) {
+       q[l >> 2] = (b | 0) == (g | 0) ? b : h & 1 ? 273 : 272;
+      }
+      d = q[d + 4 >> 2];
+      l = d + 16 | 0;
+      j = q[d + 16 >> 2];
+      if ((j | 0) != 128) {
+       continue;
+      }
+      break;
+     }
+    }
+    fa : {
+     ga : {
+      if (i) {
+       h = x;
+       f = q[m >> 2];
+       if ((f | 0) != 128) {
+        while (1) {
+         b = q[i >> 2];
+         ha : {
+          if (q[b + 16 >> 2] != (f | 0)) {
+           b = i;
+           break ha;
+          }
+          if (r[b + 20 | 0] != r[i + 20 | 0]) {
+           b = i;
+           break ha;
+          }
+          if (q[i + 24 >> 2]) {
+           b = i;
+           break ha;
+          }
+          if (q[b + 24 >> 2]) {
+           b = i;
+           break ha;
+          }
+          d = q[i + 4 >> 2];
+          q[b + 4 >> 2] = d;
+          q[d >> 2] = b;
+          q[b + 12 >> 2] = q[b + 12 >> 2] + q[i + 12 >> 2];
+          d = q[i + 32 >> 2];
+          if (d) {
+           q[d + 28 >> 2] = b;
+          }
+          q[b + 32 >> 2] = d;
+          M$(i);
+         }
+         i = q[b + 4 >> 2];
+         f = q[i + 16 >> 2];
+         if ((f | 0) != 128) {
+          continue;
+         }
+         break;
+        }
+        i = q[u + 4 >> 2];
+       }
+       g = q[i + 16 >> 2];
+       if ((g | 0) != 128) {
+        break ga;
+       }
+       break fa;
+      }
+      i = 0;
+      h = x;
+      g = q[4];
+      if ((g | 0) == 128) {
+       break fa;
+      }
+     }
+     f = g;
+     b = i;
+     h = x;
+     while (1) {
+      d = r[b + 20 | 0];
+      d = f & 512 ? d + 2 & -2 : d + ((d ^ f) & 1) | 0;
+      o[b + 20 | 0] = d;
+      h = d << 24 >> 24 > h << 24 >> 24 ? d : h;
+      b = q[b + 4 >> 2];
+      f = q[b + 16 >> 2];
+      if ((f | 0) != 128) {
+       continue;
+      }
+      break;
+     }
+     if (!i) {
+      break fa;
+     }
+     while (1) {
+      b = q[i >> 2];
+      ia : {
+       if (q[b + 16 >> 2] != (g | 0)) {
+        b = i;
+        break ia;
+       }
+       if (r[b + 20 | 0] != r[i + 20 | 0]) {
+        b = i;
+        break ia;
+       }
+       if (q[i + 24 >> 2]) {
+        b = i;
+        break ia;
+       }
+       if (q[b + 24 >> 2]) {
+        b = i;
+        break ia;
+       }
+       d = q[i + 4 >> 2];
+       q[b + 4 >> 2] = d;
+       q[d >> 2] = b;
+       q[b + 12 >> 2] = q[b + 12 >> 2] + q[i + 12 >> 2];
+       d = q[i + 32 >> 2];
+       if (d) {
+        q[d + 28 >> 2] = b;
+       }
+       q[b + 32 >> 2] = d;
+       M$(i);
+      }
+      i = q[b + 4 >> 2];
+      g = q[i + 16 >> 2];
+      if ((g | 0) != 128) {
+       continue;
+      }
+      break;
+     }
+    }
+    ja : {
+     if (q[v + 4 >> 2] == (v | 0)) {
+      break ja;
+     }
+     if (!kN(u, v, 1)) {
+      break d;
+     }
+     b = q[u + 4 >> 2];
+     if (!((u | 0) == (b | 0) | r[b + 20 | 0] != 255)) {
+      o[b + 20 | 0] = x;
+     }
+     v = 0;
+     if (q[b + 16 >> 2] == 128) {
+      break ja;
+     }
+     while (1) {
+      if (r[b + 20 | 0] == 255) {
+       o[b + 20 | 0] = r[q[b >> 2] + 20 | 0];
+      }
+      b = q[b + 4 >> 2];
+      if (q[b + 16 >> 2] != 128) {
+       continue;
+      }
+      break;
+     }
+    }
+    l = hN();
+    ka : {
+     if (!l) {
+      j = 0;
+      break ka;
+     }
+     j = 0;
+     if ((c | 0) >= 0) {
+      d = 1;
+      i = l;
+      g = c + -1 | 0;
+      f = g;
+      while (1) {
+       c = f;
+       b = 64;
+       la : {
+        if ((f | 0) < 0) {
+         break la;
+        }
+        b = q[(c << 2) + a >> 2];
+       }
+       ma : {
+        if (!d) {
+         b = !(b & 8192) | (d | 0) != 0;
+         g = b ? g : c;
+         d = b ? d : 1;
+         break ma;
+        }
+        if (b & 9482240) {
+         break ma;
+        }
+        b = gN();
+        if (!b) {
+         iN(l);
+         break ka;
+        }
+        o[b + 20 | 0] = x;
+        q[b + 16 >> 2] = w;
+        q[b + 12 >> 2] = g - c;
+        q[b + 8 >> 2] = c + 1;
+        d = q[b >> 2];
+        if (d) {
+         q[d + 4 >> 2] = q[b + 4 >> 2];
+         q[q[b + 4 >> 2] >> 2] = d;
+        }
+        q[b >> 2] = q[i >> 2];
+        q[q[i >> 2] + 4 >> 2] = b;
+        q[b + 4 >> 2] = i;
+        q[i >> 2] = b;
+        d = 0;
+        i = b;
+       }
+       f = c + -1 | 0;
+       if ((c | 0) > -1) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (!kN(u, l, 0)) {
+      break ka;
+     }
+     j = 1;
+     b = q[u + 4 >> 2];
+     if (q[b + 16 >> 2] == 128) {
+      break ka;
+     }
+     d = 0;
+     while (1) {
+      a = q[b + 12 >> 2];
+      if (a) {
+       Z$(d + e | 0, r[b + 20 | 0], a);
+       d = a + d | 0;
+      }
+      b = q[b + 4 >> 2];
+      if (q[b + 16 >> 2] != 128) {
+       continue;
+      }
+      break;
+     }
+    }
+    iN(u);
+    if (v) {
+     iN(v);
+    }
+    if (!j) {
+     break b;
+    }
+    i = h + 1 | 0;
+    break a;
+   }
+   iN(u);
+  }
+  i = 0;
+ }
+ Ca = s + 9040 | 0;
+ return i << 24 >> 24;
+}
+function Km(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, u = 0, v = 0, x = 0, y = 0;
+ f = Ca - 32 | 0;
+ Ca = f;
+ n = q[b + 100 >> 2];
+ e = yg(a, 0);
+ q[f + 28 >> 2] = e;
+ d = 1;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        if (e) {
+         break g;
+        }
+        e = b + 184 | 0;
+        h = Xg(a, 25280, e);
+        q[f + 28 >> 2] = h;
+        if (h) {
+         break g;
+        }
+        d = 3;
+        if (q[e >> 2] != 1885562369) {
+         break g;
+        }
+        e = q[b + 188 >> 2];
+        if (!e) {
+         break g;
+        }
+        h = q[a + 4 >> 2];
+        if (h >>> 0 < 16) {
+         break g;
+        }
+        d = h >>> 4 | 0;
+        if (!(e >>> 0 <= d >>> 0 ? e >>> 0 <= 9 : 0)) {
+         e = h >>> 0 < 144 ? d : 9;
+         q[b + 188 >> 2] = e;
+        }
+        h = 0;
+        e = Te(n, 16, 0, e, 0, f + 28 | 0);
+        q[b + 192 >> 2] = e;
+        d = q[f + 28 >> 2];
+        if (d) {
+         break g;
+        }
+        if (q[b + 188 >> 2]) {
+         while (1) {
+          d = Xg(a, 25296, e);
+          q[f + 28 >> 2] = d;
+          if (d) {
+           break d;
+          }
+          e = e + 16 | 0;
+          h = h + 1 | 0;
+          d = q[b + 188 >> 2];
+          if (h >>> 0 < d >>> 0) {
+           continue;
+          }
+          break;
+         }
+         e = q[b + 192 >> 2];
+         if ((d | 0) == 1) {
+          break f;
+         }
+         h = d;
+        }
+        d = 0;
+        h : {
+         i : {
+          while (1) {
+           i = d + 1 | 0;
+           if ((i | 0) == (h | 0)) {
+            j = h + -1 | 0;
+            k = q[a + 4 >> 2];
+            e = q[b + 192 >> 2];
+            break i;
+           }
+           m = d ^ -1;
+           g = q[e + 12 >> 2];
+           l = 0;
+           k = 0;
+           while (1) {
+            d = (k << 4) + e | 0;
+            j = g;
+            k = k + 1 | 0;
+            g = (k << 4) + e | 0;
+            h = q[g + 12 >> 2];
+            if (j >>> 0 > h >>> 0) {
+             j = d + 8 | 0;
+             l = q[j + 4 >> 2];
+             h = f + 16 | 0;
+             q[h >> 2] = q[j >> 2];
+             q[h + 4 >> 2] = l;
+             l = q[d + 4 >> 2];
+             q[f + 8 >> 2] = q[d >> 2];
+             q[f + 12 >> 2] = l;
+             l = g + 8 | 0;
+             u = q[l + 4 >> 2];
+             q[j >> 2] = q[l >> 2];
+             q[j + 4 >> 2] = u;
+             j = q[g + 4 >> 2];
+             q[d >> 2] = q[g >> 2];
+             q[d + 4 >> 2] = j;
+             j = q[h + 4 >> 2];
+             q[l >> 2] = q[h >> 2];
+             q[l + 4 >> 2] = j;
+             h = q[f + 12 >> 2];
+             q[g >> 2] = q[f + 8 >> 2];
+             q[g + 4 >> 2] = h;
+             l = 1;
+             h = q[g + 12 >> 2];
+            }
+            g = q[d + 8 >> 2];
+            if (h >>> 0 < g >>> 0 | t[d + 12 >> 2] > h - g >>> 0) {
+             break h;
+            }
+            g = h;
+            h = q[b + 188 >> 2];
+            if (k >>> 0 < m + h >>> 0) {
+             continue;
+            }
+            break;
+           }
+           j = h + -1 | 0;
+           if (l) {
+            d = i;
+            if (d >>> 0 < j >>> 0) {
+             continue;
+            }
+           }
+           break;
+          }
+          k = q[a + 4 >> 2];
+          e = q[b + 192 >> 2];
+          g = e;
+          if ((h | 0) == 1) {
+           break e;
+          }
+         }
+         h = j >>> 0 > 1 ? j : 1;
+         g = (h << 4) + e | 0;
+         j = 0;
+         d = e;
+         while (1) {
+          i = q[d + 8 >> 2];
+          if (!(t[d + 12 >> 2] <= k - i >>> 0 ? k >>> 0 >= i >>> 0 : 0)) {
+           q[f + 28 >> 2] = 8;
+           break d;
+          }
+          d = d + 16 | 0;
+          j = j + 1 | 0;
+          if ((h | 0) != (j | 0)) {
+           continue;
+          }
+          break;
+         }
+         break e;
+        }
+        q[f + 28 >> 2] = 9;
+        break d;
+       }
+       q[f + 4 >> 2] = d;
+       break b;
+      }
+      k = q[a + 4 >> 2];
+      g = e;
+     }
+     d = q[g + 12 >> 2];
+     if (k >>> 0 < d >>> 0) {
+      q[f + 28 >> 2] = 8;
+      break d;
+     }
+     d = k - d | 0;
+     if (t[g + 8 >> 2] > d >>> 0) {
+      q[g + 8 >> 2] = d;
+     }
+     q[f + 4 >> 2] = 0;
+     break c;
+    }
+    Qe(n, q[b + 192 >> 2]);
+    e = 0;
+    q[b + 192 >> 2] = 0;
+    d = q[f + 28 >> 2];
+    q[f + 4 >> 2] = d;
+    if (d) {
+     break b;
+    }
+   }
+   q[b >> 2] = 1;
+   q[b + 4 >> 2] = 0;
+   d = 0;
+   if ((c | 0) < 0) {
+    break a;
+   }
+   g = q[b + 100 >> 2];
+   k = 3;
+   j : {
+    k : {
+     c = q[b + 188 >> 2];
+     l : {
+      if (!c) {
+       break l;
+      }
+      d = 0;
+      while (1) {
+       if (q[(d << 4) + e >> 2] == 1) {
+        k = 83;
+        c = q[((d << 4) + e | 0) + 12 >> 2];
+        h = q[a + 8 >> 2];
+        if (c >>> 0 < h >>> 0) {
+         break l;
+        }
+        if (Ag(a, c - h | 0)) {
+         break l;
+        }
+        j = q[((d << 4) + e | 0) + 8 >> 2];
+        e = 0;
+        q[f + 8 >> 2] = 0;
+        c = Wg(a, f + 8 | 0);
+        if (c >>> 0 <= 255) {
+         break k;
+        }
+        d = 0;
+        break j;
+       }
+       d = d + 1 | 0;
+       if ((c | 0) != (d | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     q[f + 8 >> 2] = k;
+     e = 0;
+     d = 0;
+     break j;
+    }
+    if (q[f + 8 >> 2]) {
+     d = 0;
+     break j;
+    }
+    h = c & 4;
+    m : {
+     if (h) {
+      c = Eg(a, f + 8 | 0);
+      break m;
+     }
+     c = Wg(a, f + 8 | 0);
+    }
+    if (q[f + 8 >> 2]) {
+     d = 0;
+     break j;
+    }
+    if (c >>> 0 > (j >>> 0) / 9 >>> 0) {
+     q[f + 8 >> 2] = 8;
+     d = 0;
+     break j;
+    }
+    i = c >>> 0 < 256 ? c : 256;
+    q[b + 280 >> 2] = i;
+    d = Te(g, 12, 0, i, 0, f + 8 | 0);
+    if (q[f + 8 >> 2]) {
+     break j;
+    }
+    if (i) {
+     while (1) {
+      l = w(e, 12) + d | 0;
+      n : {
+       if (h) {
+        l = Xg(a, 25328, l);
+        q[f + 8 >> 2] = l;
+        if (!l) {
+         break n;
+        }
+        e = 0;
+        break j;
+       }
+       l = Xg(a, 25360, l);
+       q[f + 8 >> 2] = l;
+       if (!l) {
+        break n;
+       }
+       e = 0;
+       break j;
+      }
+      e = e + 1 | 0;
+      if ((i | 0) != (e | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    e = Ag(a, w(c - i | 0, 9));
+    q[f + 8 >> 2] = e;
+    if (e) {
+     q[f + 8 >> 2] = 83;
+     e = 0;
+     break j;
+    }
+    o : {
+     e = c & 3;
+     if (!e) {
+      break o;
+     }
+     e = Ag(a, 4 - e | 0);
+     q[f + 8 >> 2] = e;
+     if (!e) {
+      break o;
+     }
+     q[f + 8 >> 2] = 83;
+     e = 0;
+     break j;
+    }
+    p : {
+     if (h) {
+      h = Eg(a, f + 8 | 0);
+      break p;
+     }
+     h = Wg(a, f + 8 | 0);
+    }
+    e = 0;
+    if (q[f + 8 >> 2]) {
+     break j;
+    }
+    if (h >>> 0 > j + w(c, -9) >>> 0) {
+     q[f + 8 >> 2] = 8;
+     break j;
+    }
+    h = h >>> 0 < 16777472 ? h : 16777472;
+    e = Te(g, 1, 0, h + 1 | 0, 0, f + 8 | 0);
+    if (q[f + 8 >> 2]) {
+     break j;
+    }
+    c = zg(a, e, h);
+    q[f + 8 >> 2] = c;
+    if (c) {
+     break j;
+    }
+    k = 0;
+    l = Te(g, 12, 0, i, 0, f + 8 | 0);
+    if (q[f + 8 >> 2]) {
+     break j;
+    }
+    q[b + 284 >> 2] = l;
+    if (i) {
+     while (1) {
+      j = w(k, 12);
+      c = j + d | 0;
+      m = q[c >> 2];
+      if (!(m >>> 0 <= h >>> 0 ? (m | 0) >= 0 : 0)) {
+       q[f + 8 >> 2] = 9;
+       break j;
+      }
+      j = j + l | 0;
+      x = j, y = Zg(g, e + m | 0, f + 8 | 0), q[x >> 2] = y;
+      if (q[f + 8 >> 2]) {
+       break j;
+      }
+      m = r[c + 4 | 0];
+      o[j + 4 | 0] = m;
+      c = q[c + 8 >> 2];
+      q : {
+       if (m) {
+        if (!(c >>> 0 <= h >>> 0 ? (c | 0) >= 0 : 0)) {
+         q[f + 8 >> 2] = 9;
+         break j;
+        }
+        x = j, y = Zg(g, c + e | 0, f + 8 | 0), q[x + 8 >> 2] = y;
+        if (!q[f + 8 >> 2]) {
+         break q;
+        }
+        break j;
+       }
+       q[j + 8 >> 2] = c;
+      }
+      k = k + 1 | 0;
+      if ((i | 0) != (k | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    q[f + 8 >> 2] = 0;
+   }
+   Qe(g, d);
+   Qe(g, e);
+   c = q[f + 8 >> 2];
+   q[f + 4 >> 2] = c;
+   if (c) {
+    break b;
+   }
+   e = q[b + 188 >> 2];
+   r : {
+    if (e) {
+     c = q[b + 192 >> 2];
+     d = 0;
+     while (1) {
+      h = 1;
+      if (q[(d << 4) + c >> 2] == 256) {
+       break r;
+      }
+      d = d + 1 | 0;
+      if ((e | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    c = Tm(a, b, 2);
+    q[f + 4 >> 2] = c;
+    if (c) {
+     break b;
+    }
+    e = q[b + 188 >> 2];
+    c = q[b + 192 >> 2];
+    h = 0;
+   }
+   k = 3;
+   s : {
+    t : {
+     u : {
+      v : {
+       w : {
+        if (!e) {
+         break w;
+        }
+        i = q[b + 100 >> 2];
+        d = 0;
+        while (1) {
+         if (q[(d << 4) + c >> 2] == 4) {
+          k = 83;
+          e = q[((d << 4) + c | 0) + 12 >> 2];
+          g = q[a + 8 >> 2];
+          if (e >>> 0 < g >>> 0) {
+           break w;
+          }
+          if (Ag(a, e - g | 0)) {
+           break w;
+          }
+          j = q[((d << 4) + c | 0) + 8 >> 2];
+          q[f + 28 >> 2] = 0;
+          e = Wg(a, f + 28 | 0);
+          d = q[f + 28 >> 2];
+          if (d) {
+           break s;
+          }
+          d = 3;
+          if (((e | 256) & -256) != 256) {
+           break s;
+          }
+          g = e & 4;
+          if (e >>> 0 > 255) {
+           break u;
+          }
+          if (!g) {
+           break v;
+          }
+          c = Eg(a, f + 28 | 0);
+          break t;
+         }
+         d = d + 1 | 0;
+         if ((e | 0) != (d | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       q[f + 28 >> 2] = k;
+       q[f + 4 >> 2] = k;
+       break b;
+      }
+      c = Wg(a, f + 28 | 0);
+      break t;
+     }
+     if (g) {
+      c = Bg(a, f + 28 | 0);
+      break t;
+     }
+     c = Ug(a, f + 28 | 0);
+    }
+    if (q[f + 28 >> 2]) {
+     break s;
+    }
+    x : {
+     if (e >>> 0 <= 255) {
+      d = 8;
+      if (c + -1 >>> 0 < (j >>> 0) / 12 >>> 0) {
+       break x;
+      }
+      break s;
+     }
+     d = 8;
+     if (c + -1 >>> 0 >= (j >>> 0) / 5 >>> 0) {
+      break s;
+     }
+    }
+    c = (c >>> 0 < 65534 ? c : 65534) + 1 | 0;
+    q[b + 288 >> 2] = c;
+    c = Te(i, 16, 0, c, 0, f + 28 | 0);
+    q[b + 292 >> 2] = c;
+    d = q[f + 28 >> 2];
+    if (d) {
+     break s;
+    }
+    y : {
+     z : {
+      if (t[b + 288 >> 2] >= 2) {
+       g = g ? 25520 : 25552;
+       d = c + 16 | 0;
+       j = e >>> 0 > 255;
+       c = 1;
+       while (1) {
+        A : {
+         if (!j) {
+          e = Xg(a, g, d);
+          break A;
+         }
+         e = Xg(a, 25584, f + 8 | 0);
+         if (e) {
+          break A;
+         }
+         p[d >> 1] = r[f + 8 | 0] + -128;
+         p[d + 2 >> 1] = r[f + 9 | 0] + -128;
+         p[d + 4 >> 1] = r[f + 10 | 0] + -128;
+         p[d + 6 >> 1] = r[f + 11 | 0] + -128;
+         l = r[f + 12 | 0];
+         p[d + 10 >> 1] = 0;
+         p[d + 8 >> 1] = l + -128;
+        }
+        q[f + 28 >> 2] = e;
+        q[d + 12 >> 2] = 0;
+        if (e) {
+         break z;
+        }
+        if (!(p[d + 6 >> 1] >= (0 - p[d + 8 >> 1] | 0) ? p[d + 2 >> 1] >= p[d >> 1] : 0)) {
+         q[d >> 2] = 0;
+         q[d + 4 >> 2] = 0;
+         p[d + 8 >> 1] = 0;
+        }
+        d = d + 16 | 0;
+        c = c + 1 | 0;
+        if (c >>> 0 < t[b + 288 >> 2]) {
+         continue;
+        }
+        break;
+       }
+      }
+      q[f + 4 >> 2] = 0;
+      break y;
+     }
+     Qe(i, q[b + 292 >> 2]);
+     q[b + 292 >> 2] = 0;
+     c = q[f + 28 >> 2];
+     q[f + 4 >> 2] = c;
+     if (c) {
+      break b;
+     }
+    }
+    k = 3;
+    B : {
+     C : {
+      D : {
+       E : {
+        e = q[b + 188 >> 2];
+        F : {
+         if (!e) {
+          break F;
+         }
+         c = q[b + 192 >> 2];
+         d = 0;
+         while (1) {
+          if (q[c + (d << 4) >> 2] == 8) {
+           k = 83;
+           e = q[(c + (d << 4) | 0) + 12 >> 2];
+           g = q[a + 8 >> 2];
+           if (e >>> 0 < g >>> 0) {
+            break F;
+           }
+           if (Ag(a, e - g | 0)) {
+            break F;
+           }
+           j = q[(c + (d << 4) | 0) + 8 >> 2];
+           d = Kg(a, 8);
+           q[f + 8 >> 2] = d;
+           if (d) {
+            break C;
+           }
+           g = Sg(a);
+           i = g & 4;
+           if (!i) {
+            break E;
+           }
+           c = Rg(a);
+           break D;
+          }
+          d = d + 1 | 0;
+          if ((e | 0) != (d | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        q[f + 8 >> 2] = k;
+        q[f + 4 >> 2] = k;
+        break b;
+       }
+       c = Sg(a);
+      }
+      Ng(a);
+      d = 3;
+      if (g >>> 0 > 255) {
+       break C;
+      }
+      c = c >>> 0 < 65534 ? c : 65534;
+      if ((c | 0) != (q[b + 288 >> 2] + -1 | 0)) {
+       break C;
+      }
+      if (c) {
+       l = (q[a + 8 >> 2] + (c << 2) | 0) + 16 | 0;
+       d = 1;
+       while (1) {
+        G : {
+         if (i) {
+          e = Eg(a, f + 8 | 0);
+          break G;
+         }
+         e = Wg(a, f + 8 | 0);
+        }
+        q[(q[b + 292 >> 2] + (d << 4) | 0) + 12 >> 2] = l + (e >>> 0 > j >>> 0 ? 0 : e);
+        e = (c | 0) != (d | 0);
+        d = d + 1 | 0;
+        if (e) {
+         continue;
+        }
+        break;
+       }
+       d = q[f + 8 >> 2];
+       if (d) {
+        break C;
+       }
+      }
+      H : {
+       if (!i) {
+        Wg(a, f + 8 | 0);
+        d = q[f + 8 >> 2];
+        if (d) {
+         break C;
+        }
+        Wg(a, f + 8 | 0);
+        d = q[f + 8 >> 2];
+        if (d) {
+         break C;
+        }
+        Wg(a, f + 8 | 0);
+        d = q[f + 8 >> 2];
+        if (d) {
+         break C;
+        }
+        Wg(a, f + 8 | 0);
+        break H;
+       }
+       Eg(a, f + 8 | 0);
+       d = q[f + 8 >> 2];
+       if (d) {
+        break C;
+       }
+       Eg(a, f + 8 | 0);
+       d = q[f + 8 >> 2];
+       if (d) {
+        break C;
+       }
+       Eg(a, f + 8 | 0);
+       d = q[f + 8 >> 2];
+       if (d) {
+        break C;
+       }
+       Eg(a, f + 8 | 0);
+      }
+      d = q[f + 8 >> 2];
+      if (!d) {
+       break B;
+      }
+     }
+     q[f + 4 >> 2] = d;
+     break b;
+    }
+    q[b + 312 >> 2] = g;
+    d = 0;
+    q[f + 4 >> 2] = 0;
+    k = 3;
+    I : {
+     J : {
+      g = q[b + 188 >> 2];
+      K : {
+       if (!g) {
+        break K;
+       }
+       j = b + 296 | 0;
+       c = q[b + 192 >> 2];
+       e = q[b + 100 >> 2];
+       while (1) {
+        if (q[c + (d << 4) >> 2] == 32) {
+         k = 83;
+         c = q[(c + (d << 4) | 0) + 12 >> 2];
+         d = q[a + 8 >> 2];
+         if (c >>> 0 < d >>> 0) {
+          break K;
+         }
+         if (Ag(a, c - d | 0)) {
+          break K;
+         }
+         q[f + 8 >> 2] = 0;
+         g = Wg(a, f + 8 | 0);
+         d = q[f + 8 >> 2];
+         if (d) {
+          break I;
+         }
+         d = 3;
+         if (g >>> 0 <= 255) {
+          break J;
+         }
+         break I;
+        }
+        d = d + 1 | 0;
+        if ((g | 0) != (d | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      q[f + 8 >> 2] = k;
+      q[f + 4 >> 2] = k;
+      break b;
+     }
+     c = f;
+     k = g & 4;
+     L : {
+      if (k) {
+       d = Xg(a, 25616, j);
+       break L;
+      }
+      d = Xg(a, 25648, j);
+     }
+     q[c + 8 >> 2] = d;
+     if (d) {
+      break I;
+     }
+     d = 8;
+     c = s[b + 298 >> 1];
+     i = s[b + 296 >> 1];
+     if (c >>> 0 < i >>> 0 | c >>> 0 > 255) {
+      break I;
+     }
+     g = s[b + 302 >> 1];
+     l = s[b + 300 >> 1];
+     if (g >>> 0 < l >>> 0 | g >>> 0 > 255) {
+      break I;
+     }
+     c = w((g - l | 0) + 1 | 0, (c - i | 0) + 1 | 0);
+     x = b, y = Te(e, 2, 0, c, 0, f + 8 | 0), q[x + 308 >> 2] = y;
+     d = q[f + 8 >> 2];
+     if (d) {
+      break I;
+     }
+     c = Kg(a, c << 1);
+     q[f + 8 >> 2] = c;
+     M : {
+      if (!c) {
+       c = s[b + 304 >> 1];
+       e = c >>> 8 | 0;
+       d = s[b + 300 >> 1];
+       N : {
+        O : {
+         if (e >>> 0 < d >>> 0 | e >>> 0 > s[b + 302 >> 1]) {
+          break O;
+         }
+         i = c & 255;
+         c = s[j >> 1];
+         if (i >>> 0 < c >>> 0) {
+          break O;
+         }
+         l = s[b + 298 >> 1];
+         if (i >>> 0 <= l >>> 0) {
+          break N;
+         }
+        }
+        c = s[b + 296 >> 1];
+        p[b + 304 >> 1] = c + (d << 8);
+        l = s[b + 298 >> 1];
+        e = d;
+        i = c;
+       }
+       g = 1;
+       c = c & 65535;
+       c = q[a + 32 >> 2] + (((i & 65535) - c | 0) + w(((l & 65535) - c | 0) + 1 | 0, e - d | 0) << 1) | 0;
+       c = r[c + !k | 0] << 8 | r[c + ((k | 0) != 0) | 0];
+       if ((c | 0) != 65535) {
+        c = c + 1 & 65535;
+        g = t[b + 288 >> 2] > c >>> 0 ? c : 1;
+       }
+       c = q[b + 292 >> 2];
+       e = (g << 4) + c | 0;
+       d = q[e + 4 >> 2];
+       q[c >> 2] = q[e >> 2];
+       q[c + 4 >> 2] = d;
+       d = q[e + 12 >> 2];
+       q[c + 8 >> 2] = q[e + 8 >> 2];
+       q[c + 12 >> 2] = d;
+       g = s[b + 300 >> 1];
+       i = s[b + 302 >> 1];
+       if (g >>> 0 <= i >>> 0) {
+        e = s[b + 298 >> 1];
+        d = q[b + 308 >> 2];
+        while (1) {
+         c = s[j >> 1];
+         if (c >>> 0 <= (e & 65535) >>> 0) {
+          while (1) {
+           e = d;
+           P : {
+            if (k) {
+             i = Pg(a);
+             break P;
+            }
+            i = Qg(a);
+           }
+           p[e >> 1] = (i | 0) == 65535 ? -1 : i + 1 | 0;
+           d = d + 2 | 0;
+           c = c + 1 | 0;
+           e = s[b + 298 >> 1];
+           if ((c & 65535) >>> 0 <= e >>> 0) {
+            continue;
+           }
+           break;
+          }
+          i = s[b + 302 >> 1];
+         }
+         g = g + 1 | 0;
+         if ((g & 65535) >>> 0 <= (i & 65535) >>> 0) {
+          continue;
+         }
+         break;
+        }
+       }
+       Ng(a);
+       break M;
+      }
+      Qe(e, q[b + 308 >> 2]);
+      q[b + 308 >> 2] = 0;
+     }
+     c = q[f + 8 >> 2];
+     q[f + 4 >> 2] = c;
+     if (c) {
+      break b;
+     }
+     if (h) {
+      a = Tm(a, b, 256);
+      q[f + 4 >> 2] = a;
+      if (a) {
+       break b;
+      }
+     }
+     a = q[b + 8 >> 2];
+     q[b + 8 >> 2] = a | 18;
+     if (r[b + 199 | 0]) {
+      q[b + 8 >> 2] = a | 22;
+     }
+     e = 0;
+     q[f + 8 >> 2] = 0;
+     q[b + 12 >> 2] = 0;
+     h = 1;
+     u = q[b + 100 >> 2];
+     d = q[b + 280 >> 2];
+     Q : {
+      R : {
+       if ((d | 0) < 1) {
+        c = 0;
+        i = 0;
+        g = 0;
+        j = 0;
+        break R;
+       }
+       h = q[b + 284 >> 2];
+       while (1) {
+        S : {
+         a = e;
+         c = iZ(q[h + w(a, 12) >> 2], 25676);
+         e = a + 1 | 0;
+         if ((e | 0) >= (d | 0)) {
+          break S;
+         }
+         if (c) {
+          continue;
+         }
+        }
+        break;
+       }
+       k = 2;
+       e = 0;
+       T : {
+        if (c) {
+         g = 0;
+         break T;
+        }
+        a = h + w(a, 12) | 0;
+        if (!r[a + 4 | 0]) {
+         g = 0;
+         break T;
+        }
+        c = r[q[a + 8 >> 2]] + -73 | 0;
+        if (c >>> 0 > 38) {
+         g = 0;
+         break T;
+        }
+        g = 0;
+        U : {
+         switch (c - 1 | 0) {
+         case 0:
+         case 1:
+         case 2:
+         case 3:
+         case 4:
+         case 6:
+         case 7:
+         case 8:
+         case 9:
+         case 10:
+         case 11:
+         case 12:
+         case 13:
+         case 14:
+         case 15:
+         case 16:
+         case 17:
+         case 18:
+         case 19:
+         case 20:
+         case 21:
+         case 22:
+         case 23:
+         case 24:
+         case 25:
+         case 26:
+         case 27:
+         case 28:
+         case 29:
+         case 30:
+         case 32:
+         case 33:
+         case 34:
+         case 35:
+         case 36:
+          break T;
+         default:
+          break U;
+         }
+        }
+        q[b + 12 >> 2] = 1;
+        g = (r[q[a + 8 >> 2]] | 32) == 111 ? 25682 : 25690;
+        k = 3;
+       }
+       while (1) {
+        V : {
+         a = e;
+         c = iZ(q[h + w(a, 12) >> 2], 25697);
+         e = a + 1 | 0;
+         if ((e | 0) >= (d | 0)) {
+          break V;
+         }
+         if (c) {
+          continue;
+         }
+        }
+        break;
+       }
+       e = 0;
+       i = 0;
+       W : {
+        if (c) {
+         break W;
+        }
+        a = h + w(a, 12) | 0;
+        i = 0;
+        if (!r[a + 4 | 0]) {
+         break W;
+        }
+        i = 0;
+        if ((r[q[a + 8 >> 2]] | 32) != 98) {
+         break W;
+        }
+        q[b + 12 >> 2] = k;
+        i = 25709;
+       }
+       while (1) {
+        X : {
+         c = e;
+         j = iZ(q[h + w(c, 12) >> 2], 25714);
+         e = c + 1 | 0;
+         if ((e | 0) >= (d | 0)) {
+          break X;
+         }
+         if (j) {
+          continue;
+         }
+        }
+        break;
+       }
+       e = 0;
+       a = 0;
+       Y : {
+        if (j) {
+         break Y;
+        }
+        c = h + w(c, 12) | 0;
+        a = 0;
+        if (!r[c + 4 | 0]) {
+         break Y;
+        }
+        c = q[c + 8 >> 2];
+        j = r[c | 0];
+        a = 0;
+        if (!j) {
+         break Y;
+        }
+        a = 0;
+        if ((j | 0) == 78) {
+         break Y;
+        }
+        a = 0;
+        if ((j | 0) == 110) {
+         break Y;
+        }
+        a = c;
+       }
+       j = a;
+       while (1) {
+        Z : {
+         a = e;
+         m = iZ(q[h + w(a, 12) >> 2], 25728);
+         e = a + 1 | 0;
+         if ((e | 0) >= (d | 0)) {
+          break Z;
+         }
+         if (m) {
+          continue;
+         }
+        }
+        break;
+       }
+       c = 0;
+       l = 0;
+       k = 0;
+       d = 0;
+       _ : {
+        if (m) {
+         break _;
+        }
+        $ : {
+         a = h + w(a, 12) | 0;
+         if (!r[a + 4 | 0]) {
+          break $;
+         }
+         a = q[a + 8 >> 2];
+         e = r[a | 0];
+         if (!e | (e | 0) == 78) {
+          break $;
+         }
+         d = 0;
+         if ((e | 0) == 110) {
+          break _;
+         }
+         l = a;
+         k = g0(a);
+         d = k + 1 | 0;
+         break _;
+        }
+        d = 0;
+       }
+       if (i) {
+        c = g0(i);
+        d = (c + d | 0) + 1 | 0;
+        h = 0;
+       } else {
+        h = 1;
+       }
+       e = 0;
+       if (g) {
+        v = g0(g);
+        d = (v + d | 0) + 1 | 0;
+       }
+       if (j) {
+        e = g0(j);
+        d = (e + d | 0) + 1 | 0;
+       }
+       if (d) {
+        break Q;
+       }
+      }
+      d = 8;
+      l = 25743;
+      k = 7;
+     }
+     d = Oe(u, d, f + 8 | 0);
+     q[b + 24 >> 2] = d;
+     a = q[f + 8 >> 2];
+     if (a) {
+      q[f + 4 >> 2] = a;
+      break b;
+     }
+     if (l) {
+      d = Y$(d, l, k);
+      if (k) {
+       a = 0;
+       while (1) {
+        l = a + d | 0;
+        if (r[l | 0] == 32) {
+         o[l | 0] = 45;
+        }
+        a = a + 1 | 0;
+        if ((k | 0) != (a | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      d = d + k | 0;
+     }
+     if (!h) {
+      if (q[b + 24 >> 2] != (d | 0)) {
+       o[d | 0] = 32;
+       d = d + 1 | 0;
+      }
+      d = Y$(d, i, c) + c | 0;
+     }
+     if (g) {
+      if (q[b + 24 >> 2] != (d | 0)) {
+       o[d | 0] = 32;
+       d = d + 1 | 0;
+      }
+      d = Y$(d, g, v) + v | 0;
+     }
+     if (j) {
+      if (q[b + 24 >> 2] != (d | 0)) {
+       o[d | 0] = 32;
+       d = d + 1 | 0;
+      }
+      c = Y$(d, j, e);
+      if (e) {
+       a = 0;
+       while (1) {
+        d = a + c | 0;
+        if (r[d | 0] == 32) {
+         o[d | 0] = 45;
+        }
+        a = a + 1 | 0;
+        if ((e | 0) != (a | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      d = c + e | 0;
+     }
+     a = 0;
+     o[d | 0] = 0;
+     c = q[f + 8 >> 2];
+     q[f + 4 >> 2] = c;
+     if (c) {
+      break b;
+     }
+     aa : {
+      ba : {
+       h = q[b + 280 >> 2];
+       if ((h | 0) < 1) {
+        break ba;
+       }
+       e = q[b + 284 >> 2];
+       while (1) {
+        ca : {
+         c = a;
+         d = iZ(q[e + w(c, 12) >> 2], 25172);
+         a = c + 1 | 0;
+         if ((a | 0) >= (h | 0)) {
+          break ca;
+         }
+         if (d) {
+          continue;
+         }
+        }
+        break;
+       }
+       if (d) {
+        break ba;
+       }
+       a = e + w(c, 12) | 0;
+       if (!r[a + 4 | 0]) {
+        break ba;
+       }
+       x = b, y = Zg(n, q[a + 8 >> 2], f + 4 | 0), q[x + 20 >> 2] = y;
+       if (!q[f + 4 >> 2]) {
+        break aa;
+       }
+       break b;
+      }
+      q[b + 20 >> 2] = 0;
+     }
+     q[b + 28 >> 2] = 1;
+     q[b + 16 >> 2] = q[b + 288 >> 2];
+     h = Te(n, 16, 0, 1, 0, f + 4 | 0);
+     q[b + 32 >> 2] = h;
+     if (q[f + 4 >> 2]) {
+      break b;
+     }
+     q[h >> 2] = 0;
+     q[h + 4 >> 2] = 0;
+     q[h + 8 >> 2] = 0;
+     q[h + 12 >> 2] = 0;
+     k = 32767;
+     a = q[b + 208 >> 2] + q[b + 204 >> 2] | 0;
+     c = a >> 31;
+     if ((c ^ a + c) <= 32767) {
+      c = a << 16;
+      a = c >> 31;
+      k = a ^ a + (c >> 16);
+     }
+     p[h >> 1] = k;
+     da : {
+      ea : {
+       a = q[b + 280 >> 2];
+       if ((a | 0) < 1) {
+        break ea;
+       }
+       d = q[b + 284 >> 2];
+       e = 0;
+       while (1) {
+        fa : {
+         c = e;
+         g = iZ(q[w(c, 12) + d >> 2], 25184);
+         e = c + 1 | 0;
+         if ((e | 0) >= (a | 0)) {
+          break fa;
+         }
+         if (g) {
+          continue;
+         }
+        }
+        break;
+       }
+       if (g) {
+        break ea;
+       }
+       c = q[(w(c, 12) + d | 0) + 8 >> 2];
+       e = c >> 31;
+       if ((e ^ c + e) >= 327666) {
+        p[h + 2 >> 1] = 32767;
+        break da;
+       }
+       e = (c + 5 | 0) / 10 | 0;
+       c = e << 16 >> 31;
+       p[h + 2 >> 1] = c ^ c + e;
+       break da;
+      }
+      x = h, y = ue(k << 16 >> 16, 2, 3), p[x + 2 >> 1] = y;
+      a = q[b + 280 >> 2];
+      d = q[b + 284 >> 2];
+     }
+     e = 0;
+     c = 0;
+     ga : {
+      if ((a | 0) < 1) {
+       break ga;
+      }
+      while (1) {
+       ha : {
+        c = e;
+        g = iZ(q[w(c, 12) + d >> 2], 25198);
+        e = c + 1 | 0;
+        if ((e | 0) >= (a | 0)) {
+         break ha;
+        }
+        if (g) {
+         continue;
+        }
+       }
+       break;
+      }
+      ia : {
+       if (g) {
+        break ia;
+       }
+       e = q[(w(c, 12) + d | 0) + 8 >> 2];
+       c = e >> 31;
+       c = c ^ c + e;
+       if ((c | 0) >= 328899) {
+        q[h + 4 >> 2] = 32767;
+        break ia;
+       }
+       x = h, y = ue(c, 460800, 72270), q[x + 4 >> 2] = y;
+       d = q[b + 284 >> 2];
+       a = q[b + 280 >> 2];
+      }
+      e = 0;
+      c = 0;
+      if ((a | 0) < 1) {
+       break ga;
+      }
+      while (1) {
+       ja : {
+        c = e;
+        g = iZ(q[w(c, 12) + d >> 2], 25209);
+        e = c + 1 | 0;
+        if ((e | 0) >= (a | 0)) {
+         break ja;
+        }
+        if (g) {
+         continue;
+        }
+       }
+       break;
+      }
+      if (!g) {
+       c = q[(w(c, 12) + d | 0) + 8 >> 2];
+       g = c >> 31;
+       e = h;
+       if ((g ^ c + g) <= 32767) {
+        g = c << 16;
+        c = g >> 31;
+        c = (c ^ c + (g >> 16)) << 6;
+       } else {
+        c = 2097088;
+       }
+       q[e + 12 >> 2] = c;
+      }
+      e = 0;
+      while (1) {
+       ka : {
+        g = e;
+        i = iZ(q[w(e, 12) + d >> 2], 25220);
+        e = e + 1 | 0;
+        if ((e | 0) >= (a | 0)) {
+         break ka;
+        }
+        if (i) {
+         continue;
+        }
+       }
+       break;
+      }
+      c = 0;
+      e = 0;
+      la : {
+       if (i) {
+        break la;
+       }
+       g = q[(w(g, 12) + d | 0) + 8 >> 2];
+       i = g >> 31;
+       e = 32767;
+       if ((i ^ g + i) > 32767) {
+        break la;
+       }
+       e = g << 16 >> 31;
+       e = (e + g ^ e) << 16 >> 16;
+      }
+      while (1) {
+       ma : {
+        g = c;
+        i = iZ(q[w(c, 12) + d >> 2], 25233);
+        c = c + 1 | 0;
+        if ((c | 0) >= (a | 0)) {
+         break ma;
+        }
+        if (i) {
+         continue;
+        }
+       }
+       break;
+      }
+      c = 0;
+      if (i) {
+       break ga;
+      }
+      a = q[(w(g, 12) + d | 0) + 8 >> 2];
+      d = a >> 31;
+      c = 32767;
+      if ((d ^ a + d) > 32767) {
+       break ga;
+      }
+      c = a << 16;
+      a = c >> 31;
+      c = a ^ a + (c >> 16);
+     }
+     a = q[h + 12 >> 2];
+     na : {
+      if (!a) {
+       a = q[h + 4 >> 2];
+       q[h + 12 >> 2] = a;
+       if (!(c & 65535)) {
+        break na;
+       }
+       a = ue(a, c << 16 >> 16, 72);
+       q[h + 12 >> 2] = a;
+      }
+      if (!e | !(c & 65535)) {
+       break na;
+      }
+      a = ue(a, e, c << 16 >> 16);
+     }
+     q[h + 8 >> 2] = a;
+     oa : {
+      g = q[b + 280 >> 2];
+      if ((g | 0) < 1) {
+       break oa;
+      }
+      d = q[b + 284 >> 2];
+      c = 0;
+      a = 0;
+      while (1) {
+       pa : {
+        e = c;
+        a = iZ(q[d + w(c, 12) >> 2], 25246) ? a : 1;
+        c = c + 1 | 0;
+        if ((c | 0) >= (g | 0)) {
+         break pa;
+        }
+        if (!(a & 255)) {
+         continue;
+        }
+       }
+       break;
+      }
+      c = 0;
+      h = a & 255 ? d + w(e, 12) | 0 : 0;
+      a = 0;
+      while (1) {
+       qa : {
+        e = c;
+        a = iZ(q[d + w(c, 12) >> 2], 25263) ? a : 1;
+        c = c + 1 | 0;
+        if ((c | 0) >= (g | 0)) {
+         break qa;
+        }
+        if (!(a & 255)) {
+         continue;
+        }
+       }
+       break;
+      }
+      if (!h) {
+       break oa;
+      }
+      a = a & 255 ? d + w(e, 12) | 0 : 0;
+      if (!a | !r[h + 4 | 0] | !r[a + 4 | 0]) {
+       break oa;
+      }
+      x = b, y = Zg(n, q[a + 8 >> 2], f + 4 | 0), q[x + 176 >> 2] = y;
+      if (q[f + 4 >> 2]) {
+       break b;
+      }
+      x = b, y = Zg(n, q[h + 8 >> 2], f + 4 | 0), q[x + 180 >> 2] = y;
+      if (q[f + 4 >> 2]) {
+       break b;
+      }
+      d = 0;
+      break a;
+     }
+     if (q[f + 4 >> 2]) {
+      break b;
+     }
+     d = 0;
+     break a;
+    }
+    q[f + 4 >> 2] = d;
+    break b;
+   }
+   q[f + 4 >> 2] = d;
+  }
+  q[f + 4 >> 2] = 3;
+  d = 3;
+ }
+ Ca = f + 32 | 0;
+ return d;
+}
+function L$(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ l = Ca - 16 | 0;
+ Ca = l;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            if (a >>> 0 <= 244) {
+             f = q[161176];
+             h = a >>> 0 < 11 ? 16 : a + 11 & -8;
+             b = h >>> 3 | 0;
+             a = f >>> b | 0;
+             if (a & 3) {
+              d = b + ((a ^ -1) & 1) | 0;
+              b = d << 3;
+              e = q[b + 644752 >> 2];
+              a = e + 8 | 0;
+              c = q[e + 8 >> 2];
+              b = b + 644744 | 0;
+              l : {
+               if ((c | 0) == (b | 0)) {
+                m = 644704, n = Y0(-2, d) & f, q[m >> 2] = n;
+                break l;
+               }
+               q[c + 12 >> 2] = b;
+               q[b + 8 >> 2] = c;
+              }
+              b = d << 3;
+              q[e + 4 >> 2] = b | 3;
+              b = b + e | 0;
+              q[b + 4 >> 2] = q[b + 4 >> 2] | 1;
+              break a;
+             }
+             k = q[161178];
+             if (h >>> 0 <= k >>> 0) {
+              break k;
+             }
+             if (a) {
+              c = a << b;
+              a = 2 << b;
+              a = c & (0 - a | a);
+              b = (0 - a & a) + -1 | 0;
+              a = b >>> 12 & 16;
+              c = a;
+              b = b >>> a | 0;
+              a = b >>> 5 & 8;
+              c = c | a;
+              b = b >>> a | 0;
+              a = b >>> 2 & 4;
+              c = c | a;
+              b = b >>> a | 0;
+              a = b >>> 1 & 2;
+              c = c | a;
+              b = b >>> a | 0;
+              a = b >>> 1 & 1;
+              c = (c | a) + (b >>> a | 0) | 0;
+              a = c << 3;
+              g = q[a + 644752 >> 2];
+              b = q[g + 8 >> 2];
+              a = a + 644744 | 0;
+              m : {
+               if ((b | 0) == (a | 0)) {
+                f = Y0(-2, c) & f;
+                q[161176] = f;
+                break m;
+               }
+               q[b + 12 >> 2] = a;
+               q[a + 8 >> 2] = b;
+              }
+              a = g + 8 | 0;
+              q[g + 4 >> 2] = h | 3;
+              d = g + h | 0;
+              b = c << 3;
+              e = b - h | 0;
+              q[d + 4 >> 2] = e | 1;
+              q[b + g >> 2] = e;
+              if (k) {
+               b = k >>> 3 | 0;
+               c = (b << 3) + 644744 | 0;
+               h = q[161181];
+               b = 1 << b;
+               n : {
+                if (!(b & f)) {
+                 q[161176] = b | f;
+                 b = c;
+                 break n;
+                }
+                b = q[c + 8 >> 2];
+               }
+               q[c + 8 >> 2] = h;
+               q[b + 12 >> 2] = h;
+               q[h + 12 >> 2] = c;
+               q[h + 8 >> 2] = b;
+              }
+              q[161181] = d;
+              q[161178] = e;
+              break a;
+             }
+             i = q[161177];
+             if (!i) {
+              break k;
+             }
+             b = (i & 0 - i) + -1 | 0;
+             a = b >>> 12 & 16;
+             c = a;
+             b = b >>> a | 0;
+             a = b >>> 5 & 8;
+             c = c | a;
+             b = b >>> a | 0;
+             a = b >>> 2 & 4;
+             c = c | a;
+             b = b >>> a | 0;
+             a = b >>> 1 & 2;
+             c = c | a;
+             b = b >>> a | 0;
+             a = b >>> 1 & 1;
+             b = q[((c | a) + (b >>> a | 0) << 2) + 645008 >> 2];
+             d = (q[b + 4 >> 2] & -8) - h | 0;
+             c = b;
+             while (1) {
+              o : {
+               a = q[c + 16 >> 2];
+               if (!a) {
+                a = q[c + 20 >> 2];
+                if (!a) {
+                 break o;
+                }
+               }
+               c = (q[a + 4 >> 2] & -8) - h | 0;
+               e = c >>> 0 < d >>> 0;
+               d = e ? c : d;
+               b = e ? a : b;
+               c = a;
+               continue;
+              }
+              break;
+             }
+             j = q[b + 24 >> 2];
+             e = q[b + 12 >> 2];
+             if ((e | 0) != (b | 0)) {
+              a = q[b + 8 >> 2];
+              q[a + 12 >> 2] = e;
+              q[e + 8 >> 2] = a;
+              break b;
+             }
+             c = b + 20 | 0;
+             a = q[c >> 2];
+             if (!a) {
+              a = q[b + 16 >> 2];
+              if (!a) {
+               break j;
+              }
+              c = b + 16 | 0;
+             }
+             while (1) {
+              g = c;
+              e = a;
+              c = a + 20 | 0;
+              a = q[c >> 2];
+              if (a) {
+               continue;
+              }
+              c = e + 16 | 0;
+              a = q[e + 16 >> 2];
+              if (a) {
+               continue;
+              }
+              break;
+             }
+             q[g >> 2] = 0;
+             break b;
+            }
+            h = -1;
+            if (a >>> 0 > 4294967231) {
+             break k;
+            }
+            a = a + 11 | 0;
+            h = a & -8;
+            i = q[161177];
+            if (!i) {
+             break k;
+            }
+            a = a >>> 8 | 0;
+            g = 0;
+            p : {
+             if (!a) {
+              break p;
+             }
+             g = 31;
+             if (h >>> 0 > 16777215) {
+              break p;
+             }
+             b = a + 1048320 >>> 16 & 8;
+             a = a << b;
+             d = a + 520192 >>> 16 & 4;
+             a = a << d;
+             c = a + 245760 >>> 16 & 2;
+             a = (a << c >>> 15 | 0) - (c | (b | d)) | 0;
+             g = (a << 1 | h >>> a + 21 & 1) + 28 | 0;
+            }
+            c = 0 - h | 0;
+            d = q[(g << 2) + 645008 >> 2];
+            q : {
+             r : {
+              s : {
+               if (!d) {
+                a = 0;
+                break s;
+               }
+               b = h << ((g | 0) == 31 ? 0 : 25 - (g >>> 1 | 0) | 0);
+               a = 0;
+               while (1) {
+                t : {
+                 f = (q[d + 4 >> 2] & -8) - h | 0;
+                 if (f >>> 0 >= c >>> 0) {
+                  break t;
+                 }
+                 e = d;
+                 c = f;
+                 if (c) {
+                  break t;
+                 }
+                 c = 0;
+                 a = d;
+                 break r;
+                }
+                f = q[d + 20 >> 2];
+                d = q[((b >>> 29 & 4) + d | 0) + 16 >> 2];
+                a = f ? (f | 0) == (d | 0) ? a : f : a;
+                b = b << ((d | 0) != 0);
+                if (d) {
+                 continue;
+                }
+                break;
+               }
+              }
+              if (!(a | e)) {
+               a = 2 << g;
+               a = (0 - a | a) & i;
+               if (!a) {
+                break k;
+               }
+               b = (a & 0 - a) + -1 | 0;
+               a = b >>> 12 & 16;
+               d = a;
+               b = b >>> a | 0;
+               a = b >>> 5 & 8;
+               d = d | a;
+               b = b >>> a | 0;
+               a = b >>> 2 & 4;
+               d = d | a;
+               b = b >>> a | 0;
+               a = b >>> 1 & 2;
+               d = d | a;
+               b = b >>> a | 0;
+               a = b >>> 1 & 1;
+               a = q[((d | a) + (b >>> a | 0) << 2) + 645008 >> 2];
+              }
+              if (!a) {
+               break q;
+              }
+             }
+             while (1) {
+              b = (q[a + 4 >> 2] & -8) - h | 0;
+              d = b >>> 0 < c >>> 0;
+              c = d ? b : c;
+              e = d ? a : e;
+              b = q[a + 16 >> 2];
+              if (b) {
+               a = b;
+              } else {
+               a = q[a + 20 >> 2];
+              }
+              if (a) {
+               continue;
+              }
+              break;
+             }
+            }
+            if (!e | c >>> 0 >= q[161178] - h >>> 0) {
+             break k;
+            }
+            g = q[e + 24 >> 2];
+            b = q[e + 12 >> 2];
+            if ((e | 0) != (b | 0)) {
+             a = q[e + 8 >> 2];
+             q[a + 12 >> 2] = b;
+             q[b + 8 >> 2] = a;
+             break c;
+            }
+            d = e + 20 | 0;
+            a = q[d >> 2];
+            if (!a) {
+             a = q[e + 16 >> 2];
+             if (!a) {
+              break i;
+             }
+             d = e + 16 | 0;
+            }
+            while (1) {
+             f = d;
+             b = a;
+             d = a + 20 | 0;
+             a = q[d >> 2];
+             if (a) {
+              continue;
+             }
+             d = b + 16 | 0;
+             a = q[b + 16 >> 2];
+             if (a) {
+              continue;
+             }
+             break;
+            }
+            q[f >> 2] = 0;
+            break c;
+           }
+           c = q[161178];
+           if (c >>> 0 >= h >>> 0) {
+            d = q[161181];
+            b = c - h | 0;
+            u : {
+             if (b >>> 0 >= 16) {
+              q[161178] = b;
+              a = d + h | 0;
+              q[161181] = a;
+              q[a + 4 >> 2] = b | 1;
+              q[c + d >> 2] = b;
+              q[d + 4 >> 2] = h | 3;
+              break u;
+             }
+             q[161181] = 0;
+             q[161178] = 0;
+             q[d + 4 >> 2] = c | 3;
+             a = c + d | 0;
+             q[a + 4 >> 2] = q[a + 4 >> 2] | 1;
+            }
+            a = d + 8 | 0;
+            break a;
+           }
+           j = q[161179];
+           if (j >>> 0 > h >>> 0) {
+            b = j - h | 0;
+            q[161179] = b;
+            c = q[161182];
+            a = c + h | 0;
+            q[161182] = a;
+            q[a + 4 >> 2] = b | 1;
+            q[c + 4 >> 2] = h | 3;
+            a = c + 8 | 0;
+            break a;
+           }
+           a = 0;
+           i = h + 47 | 0;
+           b = i;
+           if (q[161294]) {
+            c = q[161296];
+           } else {
+            q[161297] = -1;
+            q[161298] = -1;
+            q[161295] = 4096;
+            q[161296] = 4096;
+            q[161294] = l + 12 & -16 ^ 1431655768;
+            q[161299] = 0;
+            q[161287] = 0;
+            c = 4096;
+           }
+           g = b + c | 0;
+           f = 0 - c | 0;
+           c = g & f;
+           if (c >>> 0 <= h >>> 0) {
+            break a;
+           }
+           e = q[161286];
+           if (e) {
+            d = q[161284];
+            b = d + c | 0;
+            if (b >>> 0 <= d >>> 0 | b >>> 0 > e >>> 0) {
+             break a;
+            }
+           }
+           if (r[645148] & 4) {
+            break f;
+           }
+           v : {
+            w : {
+             d = q[161182];
+             if (d) {
+              a = 645152;
+              while (1) {
+               b = q[a >> 2];
+               if (b + q[a + 4 >> 2] >>> 0 > d >>> 0 ? b >>> 0 <= d >>> 0 : 0) {
+                break w;
+               }
+               a = q[a + 8 >> 2];
+               if (a) {
+                continue;
+               }
+               break;
+              }
+             }
+             b = T$(0);
+             if ((b | 0) == -1) {
+              break g;
+             }
+             f = c;
+             d = q[161295];
+             a = d + -1 | 0;
+             if (a & b) {
+              f = (c - b | 0) + (a + b & 0 - d) | 0;
+             }
+             if (f >>> 0 <= h >>> 0 | f >>> 0 > 2147483646) {
+              break g;
+             }
+             e = q[161286];
+             if (e) {
+              d = q[161284];
+              a = d + f | 0;
+              if (a >>> 0 <= d >>> 0 | a >>> 0 > e >>> 0) {
+               break g;
+              }
+             }
+             a = T$(f);
+             if ((b | 0) != (a | 0)) {
+              break v;
+             }
+             break e;
+            }
+            f = f & g - j;
+            if (f >>> 0 > 2147483646) {
+             break g;
+            }
+            b = T$(f);
+            if ((b | 0) == (q[a >> 2] + q[a + 4 >> 2] | 0)) {
+             break h;
+            }
+            a = b;
+           }
+           if (!((a | 0) == -1 | h + 48 >>> 0 <= f >>> 0)) {
+            b = q[161296];
+            b = b + (i - f | 0) & 0 - b;
+            if (b >>> 0 > 2147483646) {
+             b = a;
+             break e;
+            }
+            if ((T$(b) | 0) != -1) {
+             f = b + f | 0;
+             b = a;
+             break e;
+            }
+            T$(0 - f | 0);
+            break g;
+           }
+           b = a;
+           if ((a | 0) != -1) {
+            break e;
+           }
+           break g;
+          }
+          e = 0;
+          break b;
+         }
+         b = 0;
+         break c;
+        }
+        if ((b | 0) != -1) {
+         break e;
+        }
+       }
+       q[161287] = q[161287] | 4;
+      }
+      if (c >>> 0 > 2147483646) {
+       break d;
+      }
+      b = T$(c);
+      a = T$(0);
+      if (b >>> 0 >= a >>> 0 | (b | 0) == -1 | (a | 0) == -1) {
+       break d;
+      }
+      f = a - b | 0;
+      if (f >>> 0 <= h + 40 >>> 0) {
+       break d;
+      }
+     }
+     a = q[161284] + f | 0;
+     q[161284] = a;
+     if (a >>> 0 > t[161285]) {
+      q[161285] = a;
+     }
+     x : {
+      y : {
+       z : {
+        d = q[161182];
+        if (d) {
+         a = 645152;
+         while (1) {
+          e = q[a >> 2];
+          c = q[a + 4 >> 2];
+          if ((e + c | 0) == (b | 0)) {
+           break z;
+          }
+          a = q[a + 8 >> 2];
+          if (a) {
+           continue;
+          }
+          break;
+         }
+         break y;
+        }
+        a = q[161180];
+        if (!(b >>> 0 >= a >>> 0 ? a : 0)) {
+         q[161180] = b;
+        }
+        a = 0;
+        q[161289] = f;
+        q[161288] = b;
+        q[161184] = -1;
+        q[161185] = q[161294];
+        q[161291] = 0;
+        while (1) {
+         d = a << 3;
+         c = d + 644744 | 0;
+         q[d + 644752 >> 2] = c;
+         q[d + 644756 >> 2] = c;
+         a = a + 1 | 0;
+         if ((a | 0) != 32) {
+          continue;
+         }
+         break;
+        }
+        d = f + -40 | 0;
+        a = b + 8 & 7 ? -8 - b & 7 : 0;
+        c = d - a | 0;
+        q[161179] = c;
+        a = a + b | 0;
+        q[161182] = a;
+        q[a + 4 >> 2] = c | 1;
+        q[(b + d | 0) + 4 >> 2] = 40;
+        q[161183] = q[161298];
+        break x;
+       }
+       if (r[a + 12 | 0] & 8 | b >>> 0 <= d >>> 0 | e >>> 0 > d >>> 0) {
+        break y;
+       }
+       q[a + 4 >> 2] = c + f;
+       a = d + 8 & 7 ? -8 - d & 7 : 0;
+       c = a + d | 0;
+       q[161182] = c;
+       b = q[161179] + f | 0;
+       a = b - a | 0;
+       q[161179] = a;
+       q[c + 4 >> 2] = a | 1;
+       q[(b + d | 0) + 4 >> 2] = 40;
+       q[161183] = q[161298];
+       break x;
+      }
+      e = q[161180];
+      if (b >>> 0 < e >>> 0) {
+       q[161180] = b;
+       e = 0;
+      }
+      c = b + f | 0;
+      a = 645152;
+      A : {
+       B : {
+        C : {
+         D : {
+          E : {
+           F : {
+            while (1) {
+             if ((c | 0) != q[a >> 2]) {
+              a = q[a + 8 >> 2];
+              if (a) {
+               continue;
+              }
+              break F;
+             }
+             break;
+            }
+            if (!(r[a + 12 | 0] & 8)) {
+             break E;
+            }
+           }
+           a = 645152;
+           while (1) {
+            c = q[a >> 2];
+            if (c >>> 0 <= d >>> 0) {
+             g = c + q[a + 4 >> 2] | 0;
+             if (g >>> 0 > d >>> 0) {
+              break D;
+             }
+            }
+            a = q[a + 8 >> 2];
+            continue;
+           }
+          }
+          q[a >> 2] = b;
+          q[a + 4 >> 2] = q[a + 4 >> 2] + f;
+          j = (b + 8 & 7 ? -8 - b & 7 : 0) + b | 0;
+          q[j + 4 >> 2] = h | 3;
+          b = c + (c + 8 & 7 ? -8 - c & 7 : 0) | 0;
+          a = (b - j | 0) - h | 0;
+          g = h + j | 0;
+          if ((b | 0) == (d | 0)) {
+           q[161182] = g;
+           a = q[161179] + a | 0;
+           q[161179] = a;
+           q[g + 4 >> 2] = a | 1;
+           break B;
+          }
+          if (q[161181] == (b | 0)) {
+           q[161181] = g;
+           a = q[161178] + a | 0;
+           q[161178] = a;
+           q[g + 4 >> 2] = a | 1;
+           q[a + g >> 2] = a;
+           break B;
+          }
+          c = q[b + 4 >> 2];
+          if ((c & 3) == 1) {
+           i = c & -8;
+           G : {
+            if (c >>> 0 <= 255) {
+             e = q[b + 8 >> 2];
+             c = c >>> 3 | 0;
+             d = q[b + 12 >> 2];
+             if ((d | 0) == (e | 0)) {
+              m = 644704, n = q[161176] & Y0(-2, c), q[m >> 2] = n;
+              break G;
+             }
+             q[e + 12 >> 2] = d;
+             q[d + 8 >> 2] = e;
+             break G;
+            }
+            k = q[b + 24 >> 2];
+            f = q[b + 12 >> 2];
+            H : {
+             if ((f | 0) != (b | 0)) {
+              c = q[b + 8 >> 2];
+              q[c + 12 >> 2] = f;
+              q[f + 8 >> 2] = c;
+              break H;
+             }
+             I : {
+              d = b + 20 | 0;
+              h = q[d >> 2];
+              if (h) {
+               break I;
+              }
+              d = b + 16 | 0;
+              h = q[d >> 2];
+              if (h) {
+               break I;
+              }
+              f = 0;
+              break H;
+             }
+             while (1) {
+              c = d;
+              f = h;
+              d = f + 20 | 0;
+              h = q[d >> 2];
+              if (h) {
+               continue;
+              }
+              d = f + 16 | 0;
+              h = q[f + 16 >> 2];
+              if (h) {
+               continue;
+              }
+              break;
+             }
+             q[c >> 2] = 0;
+            }
+            if (!k) {
+             break G;
+            }
+            d = q[b + 28 >> 2];
+            c = (d << 2) + 645008 | 0;
+            J : {
+             if (q[c >> 2] == (b | 0)) {
+              q[c >> 2] = f;
+              if (f) {
+               break J;
+              }
+              m = 644708, n = q[161177] & Y0(-2, d), q[m >> 2] = n;
+              break G;
+             }
+             q[k + (q[k + 16 >> 2] == (b | 0) ? 16 : 20) >> 2] = f;
+             if (!f) {
+              break G;
+             }
+            }
+            q[f + 24 >> 2] = k;
+            c = q[b + 16 >> 2];
+            if (c) {
+             q[f + 16 >> 2] = c;
+             q[c + 24 >> 2] = f;
+            }
+            c = q[b + 20 >> 2];
+            if (!c) {
+             break G;
+            }
+            q[f + 20 >> 2] = c;
+            q[c + 24 >> 2] = f;
+           }
+           b = b + i | 0;
+           a = a + i | 0;
+          }
+          q[b + 4 >> 2] = q[b + 4 >> 2] & -2;
+          q[g + 4 >> 2] = a | 1;
+          q[a + g >> 2] = a;
+          if (a >>> 0 <= 255) {
+           a = a >>> 3 | 0;
+           b = (a << 3) + 644744 | 0;
+           c = q[161176];
+           a = 1 << a;
+           K : {
+            if (!(c & a)) {
+             q[161176] = a | c;
+             a = b;
+             break K;
+            }
+            a = q[b + 8 >> 2];
+           }
+           q[b + 8 >> 2] = g;
+           q[a + 12 >> 2] = g;
+           q[g + 12 >> 2] = b;
+           q[g + 8 >> 2] = a;
+           break B;
+          }
+          b = g;
+          d = a >>> 8 | 0;
+          c = 0;
+          L : {
+           if (!d) {
+            break L;
+           }
+           c = 31;
+           if (a >>> 0 > 16777215) {
+            break L;
+           }
+           c = d;
+           d = d + 1048320 >>> 16 & 8;
+           c = c << d;
+           f = c + 520192 >>> 16 & 4;
+           c = c << f;
+           e = c + 245760 >>> 16 & 2;
+           c = (c << e >>> 15 | 0) - (e | (d | f)) | 0;
+           c = (c << 1 | a >>> c + 21 & 1) + 28 | 0;
+          }
+          q[b + 28 >> 2] = c;
+          q[g + 16 >> 2] = 0;
+          q[g + 20 >> 2] = 0;
+          e = (c << 2) + 645008 | 0;
+          d = q[161177];
+          b = 1 << c;
+          M : {
+           if (!(d & b)) {
+            q[161177] = b | d;
+            q[e >> 2] = g;
+            q[g + 24 >> 2] = e;
+            break M;
+           }
+           d = a << ((c | 0) == 31 ? 0 : 25 - (c >>> 1 | 0) | 0);
+           b = q[e >> 2];
+           while (1) {
+            c = b;
+            if ((q[b + 4 >> 2] & -8) == (a | 0)) {
+             break C;
+            }
+            b = d >>> 29 | 0;
+            d = d << 1;
+            e = (c + (b & 4) | 0) + 16 | 0;
+            b = q[e >> 2];
+            if (b) {
+             continue;
+            }
+            break;
+           }
+           q[e >> 2] = g;
+           q[g + 24 >> 2] = c;
+          }
+          q[g + 12 >> 2] = g;
+          q[g + 8 >> 2] = g;
+          break B;
+         }
+         e = f + -40 | 0;
+         a = b + 8 & 7 ? -8 - b & 7 : 0;
+         c = e - a | 0;
+         q[161179] = c;
+         a = a + b | 0;
+         q[161182] = a;
+         q[a + 4 >> 2] = c | 1;
+         q[(b + e | 0) + 4 >> 2] = 40;
+         q[161183] = q[161298];
+         a = (g + (g + -39 & 7 ? 39 - g & 7 : 0) | 0) + -47 | 0;
+         c = a >>> 0 < d + 16 >>> 0 ? d : a;
+         q[c + 4 >> 2] = 27;
+         a = q[161291];
+         q[c + 16 >> 2] = q[161290];
+         q[c + 20 >> 2] = a;
+         a = q[161289];
+         q[c + 8 >> 2] = q[161288];
+         q[c + 12 >> 2] = a;
+         q[161290] = c + 8;
+         q[161289] = f;
+         q[161288] = b;
+         q[161291] = 0;
+         a = c + 24 | 0;
+         while (1) {
+          q[a + 4 >> 2] = 7;
+          b = a + 8 | 0;
+          a = a + 4 | 0;
+          if (g >>> 0 > b >>> 0) {
+           continue;
+          }
+          break;
+         }
+         if ((c | 0) == (d | 0)) {
+          break x;
+         }
+         q[c + 4 >> 2] = q[c + 4 >> 2] & -2;
+         g = c - d | 0;
+         q[d + 4 >> 2] = g | 1;
+         q[c >> 2] = g;
+         if (g >>> 0 <= 255) {
+          a = g >>> 3 | 0;
+          b = (a << 3) + 644744 | 0;
+          c = q[161176];
+          a = 1 << a;
+          N : {
+           if (!(c & a)) {
+            q[161176] = a | c;
+            a = b;
+            break N;
+           }
+           a = q[b + 8 >> 2];
+          }
+          q[b + 8 >> 2] = d;
+          q[a + 12 >> 2] = d;
+          q[d + 12 >> 2] = b;
+          q[d + 8 >> 2] = a;
+          break x;
+         }
+         q[d + 16 >> 2] = 0;
+         q[d + 20 >> 2] = 0;
+         a = d;
+         c = g >>> 8 | 0;
+         b = 0;
+         O : {
+          if (!c) {
+           break O;
+          }
+          b = 31;
+          if (g >>> 0 > 16777215) {
+           break O;
+          }
+          b = c;
+          c = c + 1048320 >>> 16 & 8;
+          b = b << c;
+          f = b + 520192 >>> 16 & 4;
+          b = b << f;
+          e = b + 245760 >>> 16 & 2;
+          b = (b << e >>> 15 | 0) - (e | (c | f)) | 0;
+          b = (b << 1 | g >>> b + 21 & 1) + 28 | 0;
+         }
+         q[a + 28 >> 2] = b;
+         e = (b << 2) + 645008 | 0;
+         c = q[161177];
+         a = 1 << b;
+         P : {
+          if (!(c & a)) {
+           q[161177] = a | c;
+           q[e >> 2] = d;
+           q[d + 24 >> 2] = e;
+           break P;
+          }
+          a = g << ((b | 0) == 31 ? 0 : 25 - (b >>> 1 | 0) | 0);
+          b = q[e >> 2];
+          while (1) {
+           c = b;
+           if ((g | 0) == (q[b + 4 >> 2] & -8)) {
+            break A;
+           }
+           b = a >>> 29 | 0;
+           a = a << 1;
+           e = (c + (b & 4) | 0) + 16 | 0;
+           b = q[e >> 2];
+           if (b) {
+            continue;
+           }
+           break;
+          }
+          q[e >> 2] = d;
+          q[d + 24 >> 2] = c;
+         }
+         q[d + 12 >> 2] = d;
+         q[d + 8 >> 2] = d;
+         break x;
+        }
+        a = q[c + 8 >> 2];
+        q[a + 12 >> 2] = g;
+        q[c + 8 >> 2] = g;
+        q[g + 24 >> 2] = 0;
+        q[g + 12 >> 2] = c;
+        q[g + 8 >> 2] = a;
+       }
+       a = j + 8 | 0;
+       break a;
+      }
+      a = q[c + 8 >> 2];
+      q[a + 12 >> 2] = d;
+      q[c + 8 >> 2] = d;
+      q[d + 24 >> 2] = 0;
+      q[d + 12 >> 2] = c;
+      q[d + 8 >> 2] = a;
+     }
+     a = q[161179];
+     if (a >>> 0 <= h >>> 0) {
+      break d;
+     }
+     b = a - h | 0;
+     q[161179] = b;
+     c = q[161182];
+     a = c + h | 0;
+     q[161182] = a;
+     q[a + 4 >> 2] = b | 1;
+     q[c + 4 >> 2] = h | 3;
+     a = c + 8 | 0;
+     break a;
+    }
+    q[160854] = 48;
+    a = 0;
+    break a;
+   }
+   Q : {
+    if (!g) {
+     break Q;
+    }
+    d = q[e + 28 >> 2];
+    a = (d << 2) + 645008 | 0;
+    R : {
+     if (q[a >> 2] == (e | 0)) {
+      q[a >> 2] = b;
+      if (b) {
+       break R;
+      }
+      i = Y0(-2, d) & i;
+      q[161177] = i;
+      break Q;
+     }
+     q[g + (q[g + 16 >> 2] == (e | 0) ? 16 : 20) >> 2] = b;
+     if (!b) {
+      break Q;
+     }
+    }
+    q[b + 24 >> 2] = g;
+    a = q[e + 16 >> 2];
+    if (a) {
+     q[b + 16 >> 2] = a;
+     q[a + 24 >> 2] = b;
+    }
+    a = q[e + 20 >> 2];
+    if (!a) {
+     break Q;
+    }
+    q[b + 20 >> 2] = a;
+    q[a + 24 >> 2] = b;
+   }
+   S : {
+    if (c >>> 0 <= 15) {
+     a = c + h | 0;
+     q[e + 4 >> 2] = a | 3;
+     a = a + e | 0;
+     q[a + 4 >> 2] = q[a + 4 >> 2] | 1;
+     break S;
+    }
+    q[e + 4 >> 2] = h | 3;
+    d = e + h | 0;
+    q[d + 4 >> 2] = c | 1;
+    q[c + d >> 2] = c;
+    if (c >>> 0 <= 255) {
+     a = c >>> 3 | 0;
+     b = (a << 3) + 644744 | 0;
+     c = q[161176];
+     a = 1 << a;
+     T : {
+      if (!(c & a)) {
+       q[161176] = a | c;
+       a = b;
+       break T;
+      }
+      a = q[b + 8 >> 2];
+     }
+     q[b + 8 >> 2] = d;
+     q[a + 12 >> 2] = d;
+     q[d + 12 >> 2] = b;
+     q[d + 8 >> 2] = a;
+     break S;
+    }
+    a = d;
+    f = c >>> 8 | 0;
+    b = 0;
+    U : {
+     if (!f) {
+      break U;
+     }
+     b = 31;
+     if (c >>> 0 > 16777215) {
+      break U;
+     }
+     b = f;
+     f = f + 1048320 >>> 16 & 8;
+     b = b << f;
+     g = b + 520192 >>> 16 & 4;
+     b = b << g;
+     h = b + 245760 >>> 16 & 2;
+     b = (b << h >>> 15 | 0) - (h | (f | g)) | 0;
+     b = (b << 1 | c >>> b + 21 & 1) + 28 | 0;
+    }
+    q[a + 28 >> 2] = b;
+    q[d + 16 >> 2] = 0;
+    q[d + 20 >> 2] = 0;
+    f = (b << 2) + 645008 | 0;
+    V : {
+     a = 1 << b;
+     W : {
+      if (!(a & i)) {
+       q[161177] = a | i;
+       q[f >> 2] = d;
+       q[d + 24 >> 2] = f;
+       break W;
+      }
+      a = c << ((b | 0) == 31 ? 0 : 25 - (b >>> 1 | 0) | 0);
+      h = q[f >> 2];
+      while (1) {
+       b = h;
+       if ((q[b + 4 >> 2] & -8) == (c | 0)) {
+        break V;
+       }
+       f = a >>> 29 | 0;
+       a = a << 1;
+       f = (b + (f & 4) | 0) + 16 | 0;
+       h = q[f >> 2];
+       if (h) {
+        continue;
+       }
+       break;
+      }
+      q[f >> 2] = d;
+      q[d + 24 >> 2] = b;
+     }
+     q[d + 12 >> 2] = d;
+     q[d + 8 >> 2] = d;
+     break S;
+    }
+    a = q[b + 8 >> 2];
+    q[a + 12 >> 2] = d;
+    q[b + 8 >> 2] = d;
+    q[d + 24 >> 2] = 0;
+    q[d + 12 >> 2] = b;
+    q[d + 8 >> 2] = a;
+   }
+   a = e + 8 | 0;
+   break a;
+  }
+  X : {
+   if (!j) {
+    break X;
+   }
+   c = q[b + 28 >> 2];
+   a = (c << 2) + 645008 | 0;
+   Y : {
+    if (q[a >> 2] == (b | 0)) {
+     q[a >> 2] = e;
+     if (e) {
+      break Y;
+     }
+     m = 644708, n = Y0(-2, c) & i, q[m >> 2] = n;
+     break X;
+    }
+    q[(q[j + 16 >> 2] == (b | 0) ? 16 : 20) + j >> 2] = e;
+    if (!e) {
+     break X;
+    }
+   }
+   q[e + 24 >> 2] = j;
+   a = q[b + 16 >> 2];
+   if (a) {
+    q[e + 16 >> 2] = a;
+    q[a + 24 >> 2] = e;
+   }
+   a = q[b + 20 >> 2];
+   if (!a) {
+    break X;
+   }
+   q[e + 20 >> 2] = a;
+   q[a + 24 >> 2] = e;
+  }
+  Z : {
+   if (d >>> 0 <= 15) {
+    a = d + h | 0;
+    q[b + 4 >> 2] = a | 3;
+    a = a + b | 0;
+    q[a + 4 >> 2] = q[a + 4 >> 2] | 1;
+    break Z;
+   }
+   q[b + 4 >> 2] = h | 3;
+   e = b + h | 0;
+   q[e + 4 >> 2] = d | 1;
+   q[d + e >> 2] = d;
+   if (k) {
+    a = k >>> 3 | 0;
+    c = (a << 3) + 644744 | 0;
+    h = q[161181];
+    a = 1 << a;
+    _ : {
+     if (!(a & f)) {
+      q[161176] = a | f;
+      a = c;
+      break _;
+     }
+     a = q[c + 8 >> 2];
+    }
+    q[c + 8 >> 2] = h;
+    q[a + 12 >> 2] = h;
+    q[h + 12 >> 2] = c;
+    q[h + 8 >> 2] = a;
+   }
+   q[161181] = e;
+   q[161178] = d;
+  }
+  a = b + 8 | 0;
+ }
+ Ca = l + 16 | 0;
+ return a | 0;
+}
+function MI(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0;
+ j = Ca - 16 | 0;
+ Ca = j;
+ c = q[a + 1008 >> 2];
+ d = 0;
+ a : {
+  if ((c | 0) < 0) {
+   break a;
+  }
+  b : {
+   while (1) {
+    d = q[a + 4 >> 2];
+    c = (c << 2) + a | 0;
+    q[a + 72 >> 2] = w(d, p[c + 946 >> 1]);
+    c = p[c + 944 >> 1];
+    q[a + 40 >> 2] = 0;
+    q[a + 44 >> 2] = 0;
+    q[a + 84 >> 2] = 0;
+    f = q[a + 24 >> 2];
+    q[a + 36 >> 2] = f;
+    p[a + 78 >> 1] = 0;
+    q[a + 80 >> 2] = f;
+    m = q[a + 28 >> 2] + -32 | 0;
+    q[a + 32 >> 2] = m;
+    q[a + 68 >> 2] = w(c, d);
+    q[f + 8 >> 2] = f;
+    p[a + 76 >> 1] = 0;
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         if (p[a + 120 >> 1] < 1) {
+          break g;
+         }
+         d = q[a + 8 >> 2];
+         k = q[a + 132 >> 2];
+         c = 0;
+         v = 0;
+         h : {
+          while (1) {
+           q[a + 88 >> 2] = 0;
+           q[a + 92 >> 2] = 0;
+           f = q[a + 12 >> 2];
+           h = q[a + 124 >> 2];
+           g = c & 65535;
+           c = h + (g << 3) | 0;
+           e = w(f, q[c + 4 >> 2]) - d | 0;
+           x = v << 1;
+           i = s[x + k >> 1];
+           m = h + (i << 3) | 0;
+           h = q[m + 4 >> 2];
+           u = q[m >> 2];
+           l = w(f, q[c >> 2]) - d | 0;
+           k = b ? l : e;
+           l = b ? e : l;
+           t = q[a + 128 >> 2];
+           e = t + g | 0;
+           g = r[e | 0];
+           if (g & 4) {
+            o[a + 164 | 0] = g >>> 5;
+            g = r[e | 0];
+           }
+           g = g & 3;
+           i : {
+            if ((g | 0) == 3) {
+             break i;
+            }
+            j : {
+             switch (g - 1 | 0) {
+             case 0:
+              break i;
+             case 1:
+              break b;
+             default:
+              break j;
+             }
+            }
+            g = w(f, u) - d | 0;
+            f = w(f, h) - d | 0;
+            d = b ? g : f;
+            g = b ? f : g;
+            k : {
+             if ((r[i + t | 0] & 3) == 1) {
+              m = m + -8 | 0;
+              l = g;
+              break k;
+             }
+             l = (g + l | 0) / 2 | 0;
+             d = (d + k | 0) / 2 | 0;
+            }
+            k = d;
+            e = e + -1 | 0;
+            c = c + -8 | 0;
+           }
+           q[a + 64 >> 2] = k;
+           q[a + 60 >> 2] = l;
+           l : {
+            if (c >>> 0 < m >>> 0) {
+             while (1) {
+              m : {
+               n : {
+                d = r[e + 1 | 0] & 3;
+                if (d >>> 0 <= 1) {
+                 e = e + 1 | 0;
+                 h = c + 8 | 0;
+                 if (!(d - 1)) {
+                  d = q[c + 8 >> 2];
+                  g = c + 12 | 0;
+                  c = h;
+                  h = q[g >> 2];
+                  g = q[a + 12 >> 2];
+                  f = q[a + 8 >> 2];
+                  h = w(h, g) - f | 0;
+                  d = w(d, g) - f | 0;
+                  if (VI(a, b ? h : d, b ? d : h)) {
+                   break f;
+                  }
+                  break m;
+                 }
+                 d = q[a + 12 >> 2];
+                 g = q[a + 8 >> 2];
+                 f = w(d, q[c + 8 >> 2]) - g | 0;
+                 c = w(d, q[c + 12 >> 2]) - g | 0;
+                 d = b ? f : c;
+                 g = b ? c : f;
+                 f = e;
+                 c = h;
+                 while (1) {
+                  if (c >>> 0 >= m >>> 0) {
+                   break n;
+                  }
+                  e = q[a + 12 >> 2];
+                  h = q[a + 8 >> 2];
+                  i = w(e, q[c + 8 >> 2]) - h | 0;
+                  e = w(e, q[c + 12 >> 2]) - h | 0;
+                  h = b ? i : e;
+                  i = b ? e : i;
+                  e = f + 1 | 0;
+                  c = c + 8 | 0;
+                  f = r[f + 1 | 0] & 3;
+                  if (f) {
+                   if ((f | 0) != 1) {
+                    break b;
+                   }
+                   if (!WI(a, g, d, i, h)) {
+                    break m;
+                   }
+                   break f;
+                  }
+                  u = WI(a, g, d, (g + i | 0) / 2 | 0, (d + h | 0) / 2 | 0);
+                  f = e;
+                  g = i;
+                  d = h;
+                  if (!u) {
+                   continue;
+                  }
+                  break;
+                 }
+                 break f;
+                }
+                if ((r[e + 2 | 0] & 3) != 2 | c + 16 >>> 0 > m >>> 0) {
+                 break b;
+                }
+                g = q[a + 12 >> 2];
+                f = q[a + 8 >> 2];
+                d = w(g, q[c + 16 >> 2]) - f | 0;
+                i = w(g, q[c + 20 >> 2]) - f | 0;
+                h = b ? d : i;
+                i = b ? i : d;
+                d = w(g, q[c + 8 >> 2]) - f | 0;
+                t = w(g, q[c + 12 >> 2]) - f | 0;
+                u = b ? d : t;
+                t = b ? t : d;
+                d = c + 24 | 0;
+                if (d >>> 0 <= m >>> 0) {
+                 y = h;
+                 h = w(g, q[c + 28 >> 2]) - f | 0;
+                 c = w(g, q[c + 24 >> 2]) - f | 0;
+                 if (XI(a, t, u, i, y, b ? h : c, b ? c : h)) {
+                  break f;
+                 }
+                 e = e + 3 | 0;
+                 c = d;
+                 break m;
+                }
+                if (!XI(a, t, u, i, h, l, k)) {
+                 break l;
+                }
+                break f;
+               }
+               if (WI(a, g, d, l, k)) {
+                break f;
+               }
+               break l;
+              }
+              if (c >>> 0 < m >>> 0) {
+               continue;
+              }
+              break;
+             }
+            }
+            if (VI(a, l, k)) {
+             break f;
+            }
+           }
+           k = q[a + 132 >> 2];
+           h = s[x + k >> 1];
+           e = q[a + 4 >> 2];
+           f = e + -1 | 0;
+           d = q[a + 64 >> 2];
+           i = f & d;
+           o : {
+            if (i | (d | 0) < q[a + 68 >> 2] | (d | 0) > q[a + 72 >> 2]) {
+             break o;
+            }
+            c = q[a + 88 >> 2];
+            if (!c | (s[q[a + 80 >> 2] + 12 >> 1] ^ s[c + 12 >> 1]) & 8) {
+             break o;
+            }
+            q[a + 36 >> 2] = q[a + 36 >> 2] + -4;
+           }
+           c = q[a + 36 >> 2];
+           g = q[a + 80 >> 2];
+           u = q[g + 8 >> 2];
+           p : {
+            if (!((c | 0) == (u | 0) | !(r[g + 12 | 0] & 8))) {
+             d = q[a + 8 >> 2];
+             e = (i | 0) >= (d | 0);
+             break p;
+            }
+            e = (d + f & 0 - e) - d | 0;
+            d = q[a + 8 >> 2];
+            e = (e | 0) >= (d | 0);
+           }
+           f = c - u | 0;
+           if ((f | 0) <= -1) {
+            q[a + 40 >> 2] = 99;
+            d = 1;
+            break a;
+           }
+           q : {
+            if (!f) {
+             f = c;
+             break q;
+            }
+            q[g + 16 >> 2] = f >> 2;
+            if (e) {
+             e = s[g + 12 >> 1];
+             p[g + 12 >> 1] = (e & 8 ? 16 : 32) | e;
+            }
+            q[a + 80 >> 2] = c;
+            f = c + 32 | 0;
+            q[a + 36 >> 2] = f;
+            q[c + 8 >> 2] = f;
+            q[c + 16 >> 2] = 0;
+            q[g + 28 >> 2] = c;
+            p[a + 76 >> 1] = s[a + 76 >> 1] + 1;
+           }
+           m = q[a + 32 >> 2];
+           if (f >>> 0 >= m >>> 0) {
+            break h;
+           }
+           o[a + 79 | 0] = 0;
+           c = q[a + 88 >> 2];
+           if (c) {
+            q[g + 28 >> 2] = c;
+           }
+           c = h + 1 | 0;
+           v = v + 1 | 0;
+           if ((v | 0) < p[a + 120 >> 1]) {
+            continue;
+           }
+           break;
+          }
+          v = s[a + 76 >> 1];
+          if (v >>> 0 < 2) {
+           break g;
+          }
+          i = q[a + 84 >> 2];
+          if (!i) {
+           break g;
+          }
+          x = q[a + 28 >> 2];
+          c = i;
+          while (1) {
+           r : {
+            if ((v & 65535) >>> 0 >= 2) {
+             g = q[c + 16 >> 2];
+             h = q[c + 8 >> 2] + (g << 2) | 0;
+             q[c + 4 >> 2] = h;
+             break r;
+            }
+            h = 0;
+            q[c + 4 >> 2] = 0;
+            g = q[c + 16 >> 2];
+           }
+           e = q[c + 20 >> 2];
+           s : {
+            if (r[c + 12 | 0] & 8) {
+             d = e;
+             e = (e + g | 0) + -1 | 0;
+             break s;
+            }
+            d = (e - g | 0) + 1 | 0;
+            q[c + 20 >> 2] = d;
+            q[c + 8 >> 2] = (q[c + 8 >> 2] + (g << 2) | 0) + -4;
+           }
+           l = e;
+           e = q[a + 44 >> 2];
+           u = 0 - e | 0;
+           y = x - (e << 2) | 0;
+           t = (e & e >> 31) + -1 | 0;
+           c = e;
+           t : {
+            u : {
+             v : {
+              while (1) {
+               k = c;
+               if ((c | 0) < 1) {
+                c = t;
+                break v;
+               }
+               c = k + -1 | 0;
+               z = y + (c << 2) | 0;
+               g = q[z >> 2];
+               if ((g | 0) > (d | 0)) {
+                continue;
+               }
+               break;
+              }
+              if ((g | 0) >= (d | 0)) {
+               break v;
+              }
+              q[z >> 2] = d;
+              if ((k | 0) < 2) {
+               d = g;
+               break u;
+              }
+              c = k + -2 | 0;
+              while (1) {
+               k = y + (c << 2) | 0;
+               d = q[k >> 2];
+               q[k >> 2] = g;
+               k = (c | 0) > 0;
+               c = c + -1 | 0;
+               g = d;
+               if (k) {
+                continue;
+               }
+               break;
+              }
+              break u;
+             }
+             if ((c | 0) <= -1) {
+              break u;
+             }
+             k = e;
+             break t;
+            }
+            m = m + -4 | 0;
+            q[a + 32 >> 2] = m;
+            if (m >>> 0 <= f >>> 0) {
+             break h;
+            }
+            k = e + 1 | 0;
+            q[a + 44 >> 2] = k;
+            u = e ^ -1;
+            q[x + (u << 2) >> 2] = d;
+           }
+           d = l + 1 | 0;
+           t = x + (u << 2) | 0;
+           u = (k >> 31 & k) + -1 | 0;
+           c = k;
+           w : {
+            x : {
+             y : {
+              while (1) {
+               e = c;
+               if ((c | 0) < 1) {
+                c = u;
+                break y;
+               }
+               c = e + -1 | 0;
+               y = t + (c << 2) | 0;
+               g = q[y >> 2];
+               if ((g | 0) > (d | 0)) {
+                continue;
+               }
+               break;
+              }
+              if ((g | 0) > (l | 0)) {
+               break y;
+              }
+              q[y >> 2] = d;
+              if ((e | 0) < 2) {
+               d = g;
+               break x;
+              }
+              c = e + -2 | 0;
+              while (1) {
+               e = t + (c << 2) | 0;
+               d = q[e >> 2];
+               q[e >> 2] = g;
+               e = (c | 0) > 0;
+               c = c + -1 | 0;
+               g = d;
+               if (e) {
+                continue;
+               }
+               break;
+              }
+              break x;
+             }
+             if ((c | 0) > -1) {
+              break w;
+             }
+            }
+            m = m + -4 | 0;
+            q[a + 32 >> 2] = m;
+            if (m >>> 0 <= f >>> 0) {
+             break h;
+            }
+            q[a + 44 >> 2] = k + 1;
+            q[x + ((k ^ -1) << 2) >> 2] = d;
+           }
+           c = h;
+           v = v + -1 | 0;
+           if (v & 65535) {
+            continue;
+           }
+           break;
+          }
+          if (f >>> 0 >= m >>> 0) {
+           break f;
+          }
+          q[j + 8 >> 2] = 0;
+          q[j + 4 >> 2] = 0;
+          q[j >> 2] = 0;
+          c = q[a >> 2];
+          d = q[a + 68 >> 2] >> c;
+          p[j + 12 >> 1] = d;
+          g = q[a + 72 >> 2] >> c;
+          p[j + 14 >> 1] = g;
+          while (1) {
+           e = i;
+           c = q[e + 20 >> 2];
+           f = (c + q[e + 16 >> 2] << 16) + -65536 >> 16;
+           i = q[e + 4 >> 2];
+           if (c << 16 >> 16 < g << 16 >> 16) {
+            p[j + 14 >> 1] = c;
+            g = c;
+           }
+           if (d << 16 >> 16 < (f | 0)) {
+            p[j + 12 >> 1] = f;
+            d = f;
+           }
+           q[e >> 2] = 0;
+           f = j + 8 | 0;
+           c = q[j + 8 >> 2];
+           z : {
+            if (!c) {
+             c = 0;
+             break z;
+            }
+            if (q[c >> 2] > 0) {
+             break z;
+            }
+            A : {
+             while (1) {
+              f = c;
+              c = q[c + 4 >> 2];
+              if (c) {
+               if (q[c >> 2] <= 0) {
+                continue;
+               }
+               break A;
+              }
+              break;
+             }
+             c = 0;
+            }
+            f = f + 4 | 0;
+           }
+           q[e + 4 >> 2] = c;
+           q[f >> 2] = e;
+           if (i) {
+            continue;
+           }
+           break;
+          }
+          if (!q[a + 44 >> 2]) {
+           q[a + 40 >> 2] = 20;
+           d = 20;
+           break a;
+          }
+          n[q[a + 148 >> 2]](a, j + 14 | 0, j + 12 | 0);
+          h = p[j + 14 >> 1];
+          f = q[j + 8 >> 2];
+          if (f) {
+           c = f;
+           while (1) {
+            q[c + 24 >> 2] = q[c + 20 >> 2] - h;
+            c = q[c + 4 >> 2];
+            if (c) {
+             continue;
+            }
+            break;
+           }
+          }
+          c = q[a + 44 >> 2];
+          B : {
+           if ((c | 0) < 1) {
+            break B;
+           }
+           C : {
+            if (q[q[a + 28 >> 2] - (c << 2) >> 2] != (h | 0)) {
+             i = c;
+             break C;
+            }
+            i = c + -1 | 0;
+            q[a + 44 >> 2] = i;
+            if ((c | 0) < 2) {
+             break B;
+            }
+           }
+           c = 0;
+           while (1) {
+            if (f) {
+             k = c << 16 >> 16;
+             while (1) {
+              c = q[f + 24 >> 2] - k | 0;
+              q[f + 24 >> 2] = c;
+              g = q[f + 4 >> 2];
+              if (!c) {
+               e = j + 8 | 0;
+               D : {
+                while (1) {
+                 c = e;
+                 d = q[c >> 2];
+                 if (!d) {
+                  break D;
+                 }
+                 e = d + 4 | 0;
+                 if ((d | 0) != (f | 0)) {
+                  continue;
+                 }
+                 break;
+                }
+                q[c >> 2] = q[e >> 2];
+               }
+               e = q[f >> 2];
+               E : {
+                if (r[f + 12 | 0] & 8) {
+                 d = j + 4 | 0;
+                 c = q[j + 4 >> 2];
+                 if (!c) {
+                  c = 0;
+                  break E;
+                 }
+                 if ((e | 0) < q[c >> 2]) {
+                  break E;
+                 }
+                 F : {
+                  while (1) {
+                   d = c;
+                   c = q[c + 4 >> 2];
+                   if (c) {
+                    if ((e | 0) >= q[c >> 2]) {
+                     continue;
+                    }
+                    break F;
+                   }
+                   break;
+                  }
+                  c = 0;
+                 }
+                 d = d + 4 | 0;
+                 break E;
+                }
+                d = j;
+                c = q[d >> 2];
+                if (!c) {
+                 c = 0;
+                 break E;
+                }
+                if ((e | 0) < q[c >> 2]) {
+                 break E;
+                }
+                G : {
+                 while (1) {
+                  d = c;
+                  c = q[c + 4 >> 2];
+                  if (c) {
+                   if ((e | 0) >= q[c >> 2]) {
+                    continue;
+                   }
+                   break G;
+                  }
+                  break;
+                 }
+                 c = 0;
+                }
+                d = d + 4 | 0;
+               }
+               q[f + 4 >> 2] = c;
+               q[d >> 2] = f;
+              }
+              f = g;
+              if (f) {
+               continue;
+              }
+              break;
+             }
+            }
+            e = q[j + 4 >> 2];
+            c = e;
+            H : {
+             if (!c) {
+              break H;
+             }
+             while (1) {
+              d = q[c + 8 >> 2];
+              q[c >> 2] = q[d >> 2];
+              q[c + 16 >> 2] = q[c + 16 >> 2] + -1;
+              q[c + 8 >> 2] = d + (s[c + 12 >> 1] & 8 ? 4 : -4);
+              c = q[c + 4 >> 2];
+              if (c) {
+               continue;
+              }
+              break;
+             }
+             c = q[e + 4 >> 2];
+             if (!c) {
+              break H;
+             }
+             f = e + 4 | 0;
+             d = j + 4 | 0;
+             while (1) {
+              I : {
+               if (q[e >> 2] <= q[c >> 2]) {
+                e = c;
+                d = f;
+                break I;
+               }
+               q[d >> 2] = c;
+               q[f >> 2] = q[c + 4 >> 2];
+               q[c + 4 >> 2] = e;
+               e = q[j + 4 >> 2];
+               d = j + 4 | 0;
+              }
+              f = e + 4 | 0;
+              c = q[e + 4 >> 2];
+              if (c) {
+               continue;
+              }
+              break;
+             }
+            }
+            l = q[j >> 2];
+            c = l;
+            J : {
+             if (!c) {
+              l = 0;
+              break J;
+             }
+             while (1) {
+              d = q[c + 8 >> 2];
+              q[c >> 2] = q[d >> 2];
+              q[c + 16 >> 2] = q[c + 16 >> 2] + -1;
+              q[c + 8 >> 2] = d + (s[c + 12 >> 1] & 8 ? 4 : -4);
+              c = q[c + 4 >> 2];
+              if (c) {
+               continue;
+              }
+              break;
+             }
+             e = q[l + 4 >> 2];
+             if (!e) {
+              break J;
+             }
+             f = l + 4 | 0;
+             d = j;
+             c = l;
+             while (1) {
+              K : {
+               if (q[c >> 2] <= q[e >> 2]) {
+                d = f;
+                c = e;
+                break K;
+               }
+               q[d >> 2] = e;
+               q[f >> 2] = q[e + 4 >> 2];
+               q[e + 4 >> 2] = c;
+               d = j;
+               l = q[d >> 2];
+               c = l;
+              }
+              f = c + 4 | 0;
+              e = q[c + 4 >> 2];
+              if (e) {
+               continue;
+              }
+              break;
+             }
+            }
+            q[a + 44 >> 2] = i + -1;
+            y = q[q[a + 28 >> 2] - (i << 2) >> 2];
+            z = y << 16 >> 16;
+            L : {
+             if ((z | 0) > h << 16 >> 16) {
+              u = l;
+              i = l;
+              k = h;
+              while (1) {
+               e = q[j + 4 >> 2];
+               M : {
+                if (!i) {
+                 break M;
+                }
+                v = 0;
+                f = i;
+                c = e;
+                if (!c) {
+                 break M;
+                }
+                while (1) {
+                 g = q[c >> 2];
+                 t = q[f >> 2];
+                 m = (g | 0) > (t | 0);
+                 N : {
+                  O : {
+                   d = m ? g : t;
+                   g = m ? t : g;
+                   t = q[a + 4 >> 2];
+                   if ((d - g | 0) > (t | 0)) {
+                    break O;
+                   }
+                   x = 0 - t | 0;
+                   m = x & g;
+                   if ((m | 0) == (g | 0)) {
+                    break O;
+                   }
+                   x = x & (d + t | 0) + -1;
+                   if ((x | 0) == (d | 0) | ((x | 0) != (m + t | 0) ? (m | 0) <= (x | 0) : 0)) {
+                    break O;
+                   }
+                   if ((s[c + 12 >> 1] & 7) == 2) {
+                    break N;
+                   }
+                   q[c >> 2] = g;
+                   q[f >> 2] = d;
+                   q[c + 24 >> 2] = 1;
+                   v = v + 1 | 0;
+                   break N;
+                  }
+                  n[q[a + 152 >> 2]](a, k << 16 >> 16, g, d, c, f);
+                 }
+                 c = q[c + 4 >> 2];
+                 if (c) {
+                  f = q[f + 4 >> 2];
+                  if (f) {
+                   continue;
+                  }
+                 }
+                 break;
+                }
+                c = e;
+                if (v << 16 >> 16 <= 0) {
+                 break M;
+                }
+                while (1) {
+                 if (q[c + 24 >> 2]) {
+                  q[c + 24 >> 2] = 0;
+                  n[q[a + 156 >> 2]](a, k << 16 >> 16, q[c >> 2], q[i >> 2], c, i);
+                 }
+                 c = q[c + 4 >> 2];
+                 if (!c) {
+                  break M;
+                 }
+                 i = q[i + 4 >> 2];
+                 if (i) {
+                  continue;
+                 }
+                 break;
+                }
+               }
+               n[q[a + 160 >> 2]](a);
+               k = k + 1 | 0;
+               if ((z | 0) <= k << 16 >> 16) {
+                break L;
+               }
+               c = e;
+               g = u;
+               P : {
+                if (!c) {
+                 break P;
+                }
+                while (1) {
+                 d = q[c + 8 >> 2];
+                 q[c >> 2] = q[d >> 2];
+                 q[c + 16 >> 2] = q[c + 16 >> 2] + -1;
+                 q[c + 8 >> 2] = d + (s[c + 12 >> 1] & 8 ? 4 : -4);
+                 c = q[c + 4 >> 2];
+                 if (c) {
+                  continue;
+                 }
+                 break;
+                }
+                c = q[e + 4 >> 2];
+                g = u;
+                if (!c) {
+                 break P;
+                }
+                f = e + 4 | 0;
+                d = j + 4 | 0;
+                while (1) {
+                 Q : {
+                  if (q[e >> 2] <= q[c >> 2]) {
+                   e = c;
+                   d = f;
+                   break Q;
+                  }
+                  q[d >> 2] = c;
+                  q[f >> 2] = q[c + 4 >> 2];
+                  q[c + 4 >> 2] = e;
+                  e = q[j + 4 >> 2];
+                  d = j + 4 | 0;
+                 }
+                 f = e + 4 | 0;
+                 c = q[e + 4 >> 2];
+                 if (c) {
+                  continue;
+                 }
+                 break;
+                }
+                l = q[j >> 2];
+                g = l;
+               }
+               u = 0;
+               i = 0;
+               c = g;
+               if (!c) {
+                continue;
+               }
+               while (1) {
+                d = q[c + 8 >> 2];
+                q[c >> 2] = q[d >> 2];
+                q[c + 16 >> 2] = q[c + 16 >> 2] + -1;
+                q[c + 8 >> 2] = d + (s[c + 12 >> 1] & 8 ? 4 : -4);
+                c = q[c + 4 >> 2];
+                if (c) {
+                 continue;
+                }
+                break;
+               }
+               f = g + 4 | 0;
+               d = j;
+               u = g;
+               i = g;
+               c = g;
+               e = q[c + 4 >> 2];
+               if (!e) {
+                continue;
+               }
+               while (1) {
+                R : {
+                 if (q[c >> 2] <= q[e >> 2]) {
+                  d = f;
+                  c = e;
+                  break R;
+                 }
+                 q[d >> 2] = e;
+                 q[f >> 2] = q[e + 4 >> 2];
+                 q[e + 4 >> 2] = c;
+                 d = j;
+                 l = q[d >> 2];
+                 g = l;
+                 c = g;
+                }
+                f = c + 4 | 0;
+                e = q[c + 4 >> 2];
+                if (e) {
+                 continue;
+                }
+                break;
+               }
+               u = g;
+               i = g;
+               continue;
+              }
+             }
+             e = q[j + 4 >> 2];
+             k = h;
+            }
+            if (e) {
+             while (1) {
+              c = e;
+              e = q[c + 4 >> 2];
+              S : {
+               if (q[c + 16 >> 2]) {
+                break S;
+               }
+               f = j + 4 | 0;
+               while (1) {
+                d = f;
+                g = q[d >> 2];
+                if (!g) {
+                 break S;
+                }
+                f = g + 4 | 0;
+                if ((c | 0) != (g | 0)) {
+                 continue;
+                }
+                break;
+               }
+               q[d >> 2] = q[f >> 2];
+              }
+              if (e) {
+               continue;
+              }
+              break;
+             }
+            }
+            if (l) {
+             while (1) {
+              c = l;
+              l = q[c + 4 >> 2];
+              T : {
+               if (q[c + 16 >> 2]) {
+                break T;
+               }
+               e = j;
+               while (1) {
+                d = e;
+                g = q[e >> 2];
+                if (!g) {
+                 break T;
+                }
+                e = g + 4 | 0;
+                if ((c | 0) != (g | 0)) {
+                 continue;
+                }
+                break;
+               }
+               q[d >> 2] = q[e >> 2];
+              }
+              if (l) {
+               continue;
+              }
+              break;
+             }
+            }
+            i = q[a + 44 >> 2];
+            if ((i | 0) >= 1) {
+             c = y - h | 0;
+             f = q[j + 8 >> 2];
+             h = k;
+             continue;
+            }
+            break;
+           }
+           h = k;
+          }
+          if (h << 16 >> 16 > p[j + 12 >> 1]) {
+           break d;
+          }
+          while (1) {
+           n[q[a + 160 >> 2]](a);
+           h = (h << 16) + 65536 >> 16;
+           if ((h | 0) <= p[j + 12 >> 1]) {
+            continue;
+           }
+           break;
+          }
+          break d;
+         }
+         q[a + 40 >> 2] = 98;
+         break e;
+        }
+        q[a + 84 >> 2] = 0;
+        if (f >>> 0 < m >>> 0) {
+         break d;
+        }
+       }
+       if (q[a + 40 >> 2] == 98) {
+        break e;
+       }
+       d = 1;
+       break a;
+      }
+      q[a + 40 >> 2] = 0;
+      c = q[a + 1008 >> 2];
+      e = (c << 2) + a | 0;
+      g = e + 946 | 0;
+      d = p[g >> 1];
+      f = p[e + 944 >> 1];
+      e = (f + d | 0) / 2 | 0;
+      if (!((e | 0) >= (f | 0) ? (c | 0) <= 6 : 0)) {
+       q[a + 40 >> 2] = 20;
+       q[a + 1008 >> 2] = 0;
+       d = 20;
+       break a;
+      }
+      c = c + 1 | 0;
+      f = (c << 2) + a | 0;
+      p[f + 946 >> 1] = d;
+      p[f + 944 >> 1] = e;
+      p[g >> 1] = e + -1;
+      break c;
+     }
+     c = q[a + 1008 >> 2] + -1 | 0;
+    }
+    q[a + 1008 >> 2] = c;
+    if ((c | 0) > -1) {
+     continue;
+    }
+    break;
+   }
+   d = 0;
+   break a;
+  }
+  q[a + 40 >> 2] = 20;
+  d = 1;
+ }
+ Ca = j + 16 | 0;
+ return d;
+}
+function Hz(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, w = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ c = q[a + 24 >> 2];
+ a : {
+  if (!(c & 4)) {
+   if (c >>> 0 < 8) {
+    break a;
+   }
+   j = a + 128 | 0;
+   e = 8;
+   while (1) {
+    h = f;
+    f = e;
+    e = j;
+    k = q[e + 12 >> 2];
+    p = d + 40 | 0;
+    g = p;
+    q[g >> 2] = q[e + 8 >> 2];
+    q[g + 4 >> 2] = k;
+    g = q[e + 4 >> 2];
+    q[d + 32 >> 2] = q[e >> 2];
+    q[d + 36 >> 2] = g;
+    if (c >>> 0 <= h >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    k = q[a + 32 >> 2];
+    b : {
+     if (k >>> 0 <= h >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      e = 642624;
+      break b;
+     }
+     e = q[a + 36 >> 2] + (h << 5) | 0;
+    }
+    l = r[a + 176 | 0];
+    c : {
+     if (!l) {
+      break c;
+     }
+     g = q[e + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break c;
+     }
+     m = q[e + 24 >> 2];
+     n = q[a + 172 >> 2];
+     i = v[e >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[m + (c << 3) >> 3] * +u[n + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[e + 8 >> 2] = 0;
+     q[e + 12 >> 2] = 0;
+     v[e >> 3] = i;
+     if (q[e + 16 >> 2] < 0) {
+      break c;
+     }
+     q[e + 20 >> 2] = 0;
+    }
+    i = v[e >> 3];
+    e = q[p + 4 >> 2];
+    m = d + 24 | 0;
+    c = m;
+    q[c >> 2] = q[p >> 2];
+    q[c + 4 >> 2] = e;
+    v[d + 32 >> 3] = i + v[d + 32 >> 3];
+    c = q[d + 36 >> 2];
+    q[d + 16 >> 2] = q[d + 32 >> 2];
+    q[d + 20 >> 2] = c;
+    c = h | 1;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    d : {
+     if (k >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      e = 642624;
+      break d;
+     }
+     e = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    e : {
+     if (!l) {
+      break e;
+     }
+     g = q[e + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break e;
+     }
+     n = q[e + 24 >> 2];
+     s = q[a + 172 >> 2];
+     i = v[e >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[n + (c << 3) >> 3] * +u[s + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[e + 8 >> 2] = 0;
+     q[e + 12 >> 2] = 0;
+     v[e >> 3] = i;
+     if (q[e + 16 >> 2] < 0) {
+      break e;
+     }
+     q[e + 20 >> 2] = 0;
+    }
+    c = h | 2;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    f : {
+     if (k >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      g = 642624;
+      break f;
+     }
+     g = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    g : {
+     if (!l) {
+      break g;
+     }
+     n = q[g + 20 >> 2];
+     if (!n | (n | 0) != q[a + 168 >> 2]) {
+      break g;
+     }
+     s = q[g + 24 >> 2];
+     w = q[a + 172 >> 2];
+     i = v[g >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[s + (c << 3) >> 3] * +u[w + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((n | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[g + 8 >> 2] = 0;
+     q[g + 12 >> 2] = 0;
+     v[g >> 3] = i;
+     if (q[g + 16 >> 2] < 0) {
+      break g;
+     }
+     q[g + 20 >> 2] = 0;
+    }
+    v[d + 16 >> 3] = v[d + 16 >> 3] + v[e >> 3];
+    v[d + 24 >> 3] = v[d + 24 >> 3] + v[g >> 3];
+    e = q[d + 28 >> 2];
+    n = d + 8 | 0;
+    c = n;
+    q[c >> 2] = q[d + 24 >> 2];
+    q[c + 4 >> 2] = e;
+    c = q[d + 20 >> 2];
+    q[d >> 2] = q[d + 16 >> 2];
+    q[d + 4 >> 2] = c;
+    c = h | 3;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    h : {
+     if (k >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      e = 642624;
+      break h;
+     }
+     e = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    i : {
+     if (!l) {
+      break i;
+     }
+     g = q[e + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break i;
+     }
+     k = q[e + 24 >> 2];
+     l = q[a + 172 >> 2];
+     i = v[e >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[k + (c << 3) >> 3] * +u[l + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[e + 8 >> 2] = 0;
+     q[e + 12 >> 2] = 0;
+     v[e >> 3] = i;
+     if (q[e + 16 >> 2] < 0) {
+      break i;
+     }
+     q[e + 20 >> 2] = 0;
+    }
+    v[d + 8 >> 3] = v[d + 8 >> 3] + v[e >> 3];
+    uz(a, b, d + 32 | 0, d + 16 | 0, d);
+    c = q[d + 12 >> 2];
+    q[p >> 2] = q[d + 8 >> 2];
+    q[p + 4 >> 2] = c;
+    c = q[d + 4 >> 2];
+    q[d + 32 >> 2] = q[d >> 2];
+    q[d + 36 >> 2] = c;
+    c = h | 4;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    p = q[a + 32 >> 2];
+    j : {
+     if (p >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      e = 642624;
+      break j;
+     }
+     e = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    k = r[a + 176 | 0];
+    k : {
+     if (!k) {
+      break k;
+     }
+     g = q[e + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break k;
+     }
+     l = q[e + 24 >> 2];
+     s = q[a + 172 >> 2];
+     i = v[e >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[l + (c << 3) >> 3] * +u[s + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[e + 8 >> 2] = 0;
+     q[e + 12 >> 2] = 0;
+     v[e >> 3] = i;
+     if (q[e + 16 >> 2] < 0) {
+      break k;
+     }
+     q[e + 20 >> 2] = 0;
+    }
+    v[d + 40 >> 3] = v[d + 40 >> 3] + v[e >> 3];
+    c = q[d + 44 >> 2];
+    q[m >> 2] = q[d + 40 >> 2];
+    q[m + 4 >> 2] = c;
+    c = q[d + 36 >> 2];
+    q[d + 16 >> 2] = q[d + 32 >> 2];
+    q[d + 20 >> 2] = c;
+    c = h | 5;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    l : {
+     if (p >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      e = 642624;
+      break l;
+     }
+     e = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    m : {
+     if (!k) {
+      break m;
+     }
+     g = q[e + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break m;
+     }
+     l = q[e + 24 >> 2];
+     m = q[a + 172 >> 2];
+     i = v[e >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[l + (c << 3) >> 3] * +u[m + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[e + 8 >> 2] = 0;
+     q[e + 12 >> 2] = 0;
+     v[e >> 3] = i;
+     if (q[e + 16 >> 2] < 0) {
+      break m;
+     }
+     q[e + 20 >> 2] = 0;
+    }
+    c = h | 6;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    n : {
+     if (p >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      g = 642624;
+      break n;
+     }
+     g = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    o : {
+     if (!k) {
+      break o;
+     }
+     l = q[g + 20 >> 2];
+     if (!l | (l | 0) != q[a + 168 >> 2]) {
+      break o;
+     }
+     m = q[g + 24 >> 2];
+     s = q[a + 172 >> 2];
+     i = v[g >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[m + (c << 3) >> 3] * +u[s + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((l | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[g + 8 >> 2] = 0;
+     q[g + 12 >> 2] = 0;
+     v[g >> 3] = i;
+     if (q[g + 16 >> 2] < 0) {
+      break o;
+     }
+     q[g + 20 >> 2] = 0;
+    }
+    v[d + 16 >> 3] = v[d + 16 >> 3] + v[e >> 3];
+    v[d + 24 >> 3] = v[d + 24 >> 3] + v[g >> 3];
+    c = q[d + 28 >> 2];
+    q[n >> 2] = q[d + 24 >> 2];
+    q[n + 4 >> 2] = c;
+    c = q[d + 20 >> 2];
+    q[d >> 2] = q[d + 16 >> 2];
+    q[d + 4 >> 2] = c;
+    c = h | 7;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    p : {
+     if (p >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      e = 642624;
+      break p;
+     }
+     e = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    q : {
+     if (!k) {
+      break q;
+     }
+     g = q[e + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break q;
+     }
+     l = q[e + 24 >> 2];
+     m = q[a + 172 >> 2];
+     i = v[e >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[l + (c << 3) >> 3] * +u[m + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[e + 8 >> 2] = 0;
+     q[e + 12 >> 2] = 0;
+     v[e >> 3] = i;
+     if (q[e + 16 >> 2] < 0) {
+      break q;
+     }
+     q[e + 20 >> 2] = 0;
+    }
+    v[d >> 3] = v[d >> 3] + v[e >> 3];
+    c = q[a + 24 >> 2];
+    if (!(c - h >>> 0 > 15 | !(c & 1))) {
+     if (c >>> 0 <= f >>> 0) {
+      o[a + 20 | 0] = 1;
+     }
+     r : {
+      if (p >>> 0 <= f >>> 0) {
+       h = q[67767];
+       q[160662] = q[67766];
+       q[160663] = h;
+       h = q[67765];
+       q[160660] = q[67764];
+       q[160661] = h;
+       h = q[67763];
+       q[160658] = q[67762];
+       q[160659] = h;
+       h = q[67761];
+       q[160656] = q[67760];
+       q[160657] = h;
+       h = 642624;
+       break r;
+      }
+      h = q[a + 36 >> 2] + (f << 5) | 0;
+     }
+     s : {
+      if (!k) {
+       break s;
+      }
+      e = q[h + 20 >> 2];
+      if (!e | (e | 0) != q[a + 168 >> 2]) {
+       break s;
+      }
+      g = q[h + 24 >> 2];
+      p = q[a + 172 >> 2];
+      i = v[h >> 3];
+      c = 0;
+      while (1) {
+       i = i + v[g + (c << 3) >> 3] * +u[p + (c << 2) >> 2];
+       c = c + 1 | 0;
+       if ((e | 0) != (c | 0)) {
+        continue;
+       }
+       break;
+      }
+      q[h + 8 >> 2] = 0;
+      q[h + 12 >> 2] = 0;
+      v[h >> 3] = i;
+      if (q[h + 16 >> 2] < 0) {
+       break s;
+      }
+      q[h + 20 >> 2] = 0;
+     }
+     v[d + 8 >> 3] = v[d + 8 >> 3] + v[h >> 3];
+    }
+    uz(a, b, d + 32 | 0, d + 16 | 0, d);
+    e = f + 8 | 0;
+    c = q[a + 24 >> 2];
+    if (e >>> 0 <= c >>> 0) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  f = q[a + 140 >> 2];
+  q[d + 40 >> 2] = q[a + 136 >> 2];
+  q[d + 44 >> 2] = f;
+  f = q[a + 132 >> 2];
+  q[d + 32 >> 2] = q[a + 128 >> 2];
+  q[d + 36 >> 2] = f;
+  if (!c) {
+   o[a + 20 | 0] = 1;
+  }
+  f = q[a + 32 >> 2];
+  t : {
+   if (!f) {
+    h = q[67767];
+    q[160662] = q[67766];
+    q[160663] = h;
+    h = q[67765];
+    q[160660] = q[67764];
+    q[160661] = h;
+    h = q[67763];
+    q[160658] = q[67762];
+    q[160659] = h;
+    h = q[67761];
+    q[160656] = q[67760];
+    q[160657] = h;
+    h = 642624;
+    break t;
+   }
+   h = q[a + 36 >> 2];
+  }
+  k = r[a + 176 | 0];
+  u : {
+   if (!k) {
+    break u;
+   }
+   e = q[h + 20 >> 2];
+   if (!e | (e | 0) != q[a + 168 >> 2]) {
+    break u;
+   }
+   g = q[h + 24 >> 2];
+   j = q[a + 172 >> 2];
+   i = v[h >> 3];
+   c = 0;
+   while (1) {
+    i = i + v[g + (c << 3) >> 3] * +u[j + (c << 2) >> 2];
+    c = c + 1 | 0;
+    if ((e | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[h + 8 >> 2] = 0;
+   q[h + 12 >> 2] = 0;
+   v[h >> 3] = i;
+   if (q[h + 16 >> 2] < 0) {
+    break u;
+   }
+   q[h + 20 >> 2] = 0;
+  }
+  v[d + 32 >> 3] = v[d + 32 >> 3] + v[h >> 3];
+  h = q[d + 44 >> 2];
+  q[d + 24 >> 2] = q[d + 40 >> 2];
+  q[d + 28 >> 2] = h;
+  h = q[d + 36 >> 2];
+  q[d + 16 >> 2] = q[d + 32 >> 2];
+  q[d + 20 >> 2] = h;
+  if (t[a + 24 >> 2] <= 1) {
+   o[a + 20 | 0] = 1;
+  }
+  v : {
+   if (f >>> 0 <= 1) {
+    h = q[67767];
+    q[160662] = q[67766];
+    q[160663] = h;
+    h = q[67765];
+    q[160660] = q[67764];
+    q[160661] = h;
+    h = q[67763];
+    q[160658] = q[67762];
+    q[160659] = h;
+    h = q[67761];
+    q[160656] = q[67760];
+    q[160657] = h;
+    h = 642624;
+    break v;
+   }
+   h = q[a + 36 >> 2] + 32 | 0;
+  }
+  w : {
+   if (!k) {
+    break w;
+   }
+   e = q[h + 20 >> 2];
+   if (!e | (e | 0) != q[a + 168 >> 2]) {
+    break w;
+   }
+   g = q[h + 24 >> 2];
+   j = q[a + 172 >> 2];
+   i = v[h >> 3];
+   c = 0;
+   while (1) {
+    i = i + v[g + (c << 3) >> 3] * +u[j + (c << 2) >> 2];
+    c = c + 1 | 0;
+    if ((e | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[h + 8 >> 2] = 0;
+   q[h + 12 >> 2] = 0;
+   v[h >> 3] = i;
+   if (q[h + 16 >> 2] < 0) {
+    break w;
+   }
+   q[h + 20 >> 2] = 0;
+  }
+  if (t[a + 24 >> 2] <= 2) {
+   o[a + 20 | 0] = 1;
+  }
+  x : {
+   if (f >>> 0 <= 2) {
+    c = q[67767];
+    q[160662] = q[67766];
+    q[160663] = c;
+    c = q[67765];
+    q[160660] = q[67764];
+    q[160661] = c;
+    c = q[67763];
+    q[160658] = q[67762];
+    q[160659] = c;
+    c = q[67761];
+    q[160656] = q[67760];
+    q[160657] = c;
+    e = 642624;
+    break x;
+   }
+   e = q[a + 36 >> 2] - -64 | 0;
+  }
+  y : {
+   if (!k) {
+    break y;
+   }
+   g = q[e + 20 >> 2];
+   if (!g | (g | 0) != q[a + 168 >> 2]) {
+    break y;
+   }
+   j = q[e + 24 >> 2];
+   p = q[a + 172 >> 2];
+   i = v[e >> 3];
+   c = 0;
+   while (1) {
+    i = i + v[j + (c << 3) >> 3] * +u[p + (c << 2) >> 2];
+    c = c + 1 | 0;
+    if ((g | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[e + 8 >> 2] = 0;
+   q[e + 12 >> 2] = 0;
+   v[e >> 3] = i;
+   if (q[e + 16 >> 2] < 0) {
+    break y;
+   }
+   q[e + 20 >> 2] = 0;
+  }
+  v[d + 16 >> 3] = v[d + 16 >> 3] + v[h >> 3];
+  v[d + 24 >> 3] = v[d + 24 >> 3] + v[e >> 3];
+  h = q[d + 28 >> 2];
+  q[d + 8 >> 2] = q[d + 24 >> 2];
+  q[d + 12 >> 2] = h;
+  h = q[d + 20 >> 2];
+  q[d >> 2] = q[d + 16 >> 2];
+  q[d + 4 >> 2] = h;
+  if (t[a + 24 >> 2] <= 3) {
+   o[a + 20 | 0] = 1;
+  }
+  z : {
+   if (f >>> 0 <= 3) {
+    h = q[67767];
+    q[160662] = q[67766];
+    q[160663] = h;
+    h = q[67765];
+    q[160660] = q[67764];
+    q[160661] = h;
+    h = q[67763];
+    q[160658] = q[67762];
+    q[160659] = h;
+    h = q[67761];
+    q[160656] = q[67760];
+    q[160657] = h;
+    h = 642624;
+    break z;
+   }
+   h = q[a + 36 >> 2] + 96 | 0;
+  }
+  A : {
+   if (!k) {
+    break A;
+   }
+   e = q[h + 20 >> 2];
+   if (!e | (e | 0) != q[a + 168 >> 2]) {
+    break A;
+   }
+   g = q[h + 24 >> 2];
+   j = q[a + 172 >> 2];
+   i = v[h >> 3];
+   c = 0;
+   while (1) {
+    i = i + v[g + (c << 3) >> 3] * +u[j + (c << 2) >> 2];
+    c = c + 1 | 0;
+    if ((e | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[h + 8 >> 2] = 0;
+   q[h + 12 >> 2] = 0;
+   v[h >> 3] = i;
+   if (q[h + 16 >> 2] < 0) {
+    break A;
+   }
+   q[h + 20 >> 2] = 0;
+  }
+  v[d + 8 >> 3] = v[d + 8 >> 3] + v[h >> 3];
+  c = 12;
+  h = 4;
+  e = q[a + 24 >> 2];
+  if (e >>> 0 >= 12) {
+   p = a + 128 | 0;
+   while (1) {
+    e = h;
+    h = c;
+    uz(a, b, d + 32 | 0, d + 16 | 0, d);
+    f = p;
+    g = q[f + 12 >> 2];
+    j = d + 40 | 0;
+    c = j;
+    q[c >> 2] = q[f + 8 >> 2];
+    q[c + 4 >> 2] = g;
+    c = q[f + 4 >> 2];
+    q[d + 32 >> 2] = q[f >> 2];
+    q[d + 36 >> 2] = c;
+    if (t[a + 24 >> 2] <= e >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    k = q[a + 32 >> 2];
+    B : {
+     if (k >>> 0 <= e >>> 0) {
+      f = q[67767];
+      q[160662] = q[67766];
+      q[160663] = f;
+      f = q[67765];
+      q[160660] = q[67764];
+      q[160661] = f;
+      f = q[67763];
+      q[160658] = q[67762];
+      q[160659] = f;
+      f = q[67761];
+      q[160656] = q[67760];
+      q[160657] = f;
+      f = 642624;
+      break B;
+     }
+     f = q[a + 36 >> 2] + (e << 5) | 0;
+    }
+    m = r[a + 176 | 0];
+    C : {
+     if (!m) {
+      break C;
+     }
+     g = q[f + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break C;
+     }
+     l = q[f + 24 >> 2];
+     n = q[a + 172 >> 2];
+     i = v[f >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[l + (c << 3) >> 3] * +u[n + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[f + 8 >> 2] = 0;
+     q[f + 12 >> 2] = 0;
+     v[f >> 3] = i;
+     if (q[f + 16 >> 2] < 0) {
+      break C;
+     }
+     q[f + 20 >> 2] = 0;
+    }
+    v[d + 40 >> 3] = v[d + 40 >> 3] + v[f >> 3];
+    c = q[d + 44 >> 2];
+    n = d + 24 | 0;
+    f = n;
+    q[f >> 2] = q[d + 40 >> 2];
+    q[f + 4 >> 2] = c;
+    f = q[d + 36 >> 2];
+    q[d + 16 >> 2] = q[d + 32 >> 2];
+    q[d + 20 >> 2] = f;
+    f = e | 1;
+    if (t[a + 24 >> 2] <= f >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    D : {
+     if (k >>> 0 <= f >>> 0) {
+      f = q[67767];
+      q[160662] = q[67766];
+      q[160663] = f;
+      f = q[67765];
+      q[160660] = q[67764];
+      q[160661] = f;
+      f = q[67763];
+      q[160658] = q[67762];
+      q[160659] = f;
+      f = q[67761];
+      q[160656] = q[67760];
+      q[160657] = f;
+      f = 642624;
+      break D;
+     }
+     f = q[a + 36 >> 2] + (f << 5) | 0;
+    }
+    E : {
+     if (!m) {
+      break E;
+     }
+     g = q[f + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break E;
+     }
+     l = q[f + 24 >> 2];
+     s = q[a + 172 >> 2];
+     i = v[f >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[l + (c << 3) >> 3] * +u[s + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[f + 8 >> 2] = 0;
+     q[f + 12 >> 2] = 0;
+     v[f >> 3] = i;
+     if (q[f + 16 >> 2] < 0) {
+      break E;
+     }
+     q[f + 20 >> 2] = 0;
+    }
+    c = e | 2;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    F : {
+     if (k >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      g = 642624;
+      break F;
+     }
+     g = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    G : {
+     if (!m) {
+      break G;
+     }
+     l = q[g + 20 >> 2];
+     if (!l | (l | 0) != q[a + 168 >> 2]) {
+      break G;
+     }
+     s = q[g + 24 >> 2];
+     w = q[a + 172 >> 2];
+     i = v[g >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[s + (c << 3) >> 3] * +u[w + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((l | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[g + 8 >> 2] = 0;
+     q[g + 12 >> 2] = 0;
+     v[g >> 3] = i;
+     if (q[g + 16 >> 2] < 0) {
+      break G;
+     }
+     q[g + 20 >> 2] = 0;
+    }
+    v[d + 16 >> 3] = v[d + 16 >> 3] + v[f >> 3];
+    v[d + 24 >> 3] = v[d + 24 >> 3] + v[g >> 3];
+    c = q[d + 28 >> 2];
+    l = d + 8 | 0;
+    f = l;
+    q[f >> 2] = q[d + 24 >> 2];
+    q[f + 4 >> 2] = c;
+    f = q[d + 20 >> 2];
+    q[d >> 2] = q[d + 16 >> 2];
+    q[d + 4 >> 2] = f;
+    f = e | 3;
+    if (t[a + 24 >> 2] <= f >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    H : {
+     if (k >>> 0 <= f >>> 0) {
+      f = q[67767];
+      q[160662] = q[67766];
+      q[160663] = f;
+      f = q[67765];
+      q[160660] = q[67764];
+      q[160661] = f;
+      f = q[67763];
+      q[160658] = q[67762];
+      q[160659] = f;
+      f = q[67761];
+      q[160656] = q[67760];
+      q[160657] = f;
+      f = 642624;
+      break H;
+     }
+     f = q[a + 36 >> 2] + (f << 5) | 0;
+    }
+    I : {
+     if (!m) {
+      break I;
+     }
+     g = q[f + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break I;
+     }
+     k = q[f + 24 >> 2];
+     m = q[a + 172 >> 2];
+     i = v[f >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[k + (c << 3) >> 3] * +u[m + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[f + 8 >> 2] = 0;
+     q[f + 12 >> 2] = 0;
+     v[f >> 3] = i;
+     if (q[f + 16 >> 2] < 0) {
+      break I;
+     }
+     q[f + 20 >> 2] = 0;
+    }
+    v[d >> 3] = v[d >> 3] + v[f >> 3];
+    uz(a, b, d + 32 | 0, d + 16 | 0, d);
+    f = q[l + 4 >> 2];
+    q[j >> 2] = q[l >> 2];
+    q[j + 4 >> 2] = f;
+    f = q[d + 4 >> 2];
+    q[d + 32 >> 2] = q[d >> 2];
+    q[d + 36 >> 2] = f;
+    c = e + 4 | 0;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    f = q[a + 32 >> 2];
+    J : {
+     if (f >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      g = 642624;
+      break J;
+     }
+     g = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    k = r[a + 176 | 0];
+    K : {
+     if (!k) {
+      break K;
+     }
+     m = q[g + 20 >> 2];
+     if (!m | (m | 0) != q[a + 168 >> 2]) {
+      break K;
+     }
+     s = q[g + 24 >> 2];
+     w = q[a + 172 >> 2];
+     i = v[g >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[s + (c << 3) >> 3] * +u[w + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((m | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[g + 8 >> 2] = 0;
+     q[g + 12 >> 2] = 0;
+     v[g >> 3] = i;
+     if (q[g + 16 >> 2] < 0) {
+      break K;
+     }
+     q[g + 20 >> 2] = 0;
+    }
+    i = v[g >> 3];
+    c = q[j + 4 >> 2];
+    q[n >> 2] = q[j >> 2];
+    q[n + 4 >> 2] = c;
+    v[d + 32 >> 3] = i + v[d + 32 >> 3];
+    c = q[d + 36 >> 2];
+    q[d + 16 >> 2] = q[d + 32 >> 2];
+    q[d + 20 >> 2] = c;
+    c = e + 5 | 0;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    L : {
+     if (f >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      g = 642624;
+      break L;
+     }
+     g = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    M : {
+     if (!k) {
+      break M;
+     }
+     j = q[g + 20 >> 2];
+     if (!j | (j | 0) != q[a + 168 >> 2]) {
+      break M;
+     }
+     m = q[g + 24 >> 2];
+     n = q[a + 172 >> 2];
+     i = v[g >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[m + (c << 3) >> 3] * +u[n + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((j | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[g + 8 >> 2] = 0;
+     q[g + 12 >> 2] = 0;
+     v[g >> 3] = i;
+     if (q[g + 16 >> 2] < 0) {
+      break M;
+     }
+     q[g + 20 >> 2] = 0;
+    }
+    c = e + 6 | 0;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    N : {
+     if (f >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      j = 642624;
+      break N;
+     }
+     j = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    O : {
+     if (!k) {
+      break O;
+     }
+     m = q[j + 20 >> 2];
+     if (!m | (m | 0) != q[a + 168 >> 2]) {
+      break O;
+     }
+     n = q[j + 24 >> 2];
+     s = q[a + 172 >> 2];
+     i = v[j >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[n + (c << 3) >> 3] * +u[s + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((m | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[j + 8 >> 2] = 0;
+     q[j + 12 >> 2] = 0;
+     v[j >> 3] = i;
+     if (q[j + 16 >> 2] < 0) {
+      break O;
+     }
+     q[j + 20 >> 2] = 0;
+    }
+    v[d + 16 >> 3] = v[d + 16 >> 3] + v[g >> 3];
+    v[d + 24 >> 3] = v[d + 24 >> 3] + v[j >> 3];
+    c = q[d + 28 >> 2];
+    q[l >> 2] = q[d + 24 >> 2];
+    q[l + 4 >> 2] = c;
+    c = q[d + 20 >> 2];
+    q[d >> 2] = q[d + 16 >> 2];
+    q[d + 4 >> 2] = c;
+    c = e + 7 | 0;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    P : {
+     if (f >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      e = 642624;
+      break P;
+     }
+     e = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    Q : {
+     if (!k) {
+      break Q;
+     }
+     g = q[e + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break Q;
+     }
+     j = q[e + 24 >> 2];
+     l = q[a + 172 >> 2];
+     i = v[e >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[j + (c << 3) >> 3] * +u[l + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[e + 8 >> 2] = 0;
+     q[e + 12 >> 2] = 0;
+     v[e >> 3] = i;
+     if (q[e + 16 >> 2] < 0) {
+      break Q;
+     }
+     q[e + 20 >> 2] = 0;
+    }
+    v[d + 8 >> 3] = v[d + 8 >> 3] + v[e >> 3];
+    c = h + 8 | 0;
+    e = q[a + 24 >> 2];
+    if (c >>> 0 <= e >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (h >>> 0 < e >>> 0) {
+   R : {
+    if (f >>> 0 <= h >>> 0) {
+     f = q[67767];
+     q[160662] = q[67766];
+     q[160663] = f;
+     f = q[67765];
+     q[160660] = q[67764];
+     q[160661] = f;
+     f = q[67763];
+     q[160658] = q[67762];
+     q[160659] = f;
+     f = q[67761];
+     q[160656] = q[67760];
+     q[160657] = f;
+     f = 642624;
+     break R;
+    }
+    f = q[a + 36 >> 2] + (h << 5) | 0;
+   }
+   S : {
+    if (!k) {
+     break S;
+    }
+    h = q[f + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break S;
+    }
+    e = q[f + 24 >> 2];
+    g = q[a + 172 >> 2];
+    i = v[f >> 3];
+    c = 0;
+    while (1) {
+     i = i + v[e + (c << 3) >> 3] * +u[g + (c << 2) >> 2];
+     c = c + 1 | 0;
+     if ((h | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[f + 8 >> 2] = 0;
+    q[f + 12 >> 2] = 0;
+    v[f >> 3] = i;
+    if (q[f + 16 >> 2] < 0) {
+     break S;
+    }
+    q[f + 20 >> 2] = 0;
+   }
+   v[d >> 3] = v[d >> 3] + v[f >> 3];
+  }
+  uz(a, b, d + 32 | 0, d + 16 | 0, d);
+ }
+ Ca = d + 48 | 0;
+}
+function Iz(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, w = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ c = q[a + 24 >> 2];
+ a : {
+  if (!(c & 4)) {
+   if (c >>> 0 < 8) {
+    break a;
+   }
+   j = a + 128 | 0;
+   e = 8;
+   while (1) {
+    h = f;
+    f = e;
+    e = j;
+    k = q[e + 12 >> 2];
+    p = d + 40 | 0;
+    g = p;
+    q[g >> 2] = q[e + 8 >> 2];
+    q[g + 4 >> 2] = k;
+    g = q[e + 4 >> 2];
+    q[d + 32 >> 2] = q[e >> 2];
+    q[d + 36 >> 2] = g;
+    if (c >>> 0 <= h >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    l = q[a + 32 >> 2];
+    b : {
+     if (l >>> 0 <= h >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      e = 642624;
+      break b;
+     }
+     e = q[a + 36 >> 2] + (h << 5) | 0;
+    }
+    m = r[a + 176 | 0];
+    c : {
+     if (!m) {
+      break c;
+     }
+     g = q[e + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break c;
+     }
+     k = q[e + 24 >> 2];
+     n = q[a + 172 >> 2];
+     i = v[e >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[k + (c << 3) >> 3] * +u[n + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[e + 8 >> 2] = 0;
+     q[e + 12 >> 2] = 0;
+     v[e >> 3] = i;
+     if (q[e + 16 >> 2] < 0) {
+      break c;
+     }
+     q[e + 20 >> 2] = 0;
+    }
+    v[d + 40 >> 3] = v[d + 40 >> 3] + v[e >> 3];
+    e = q[d + 44 >> 2];
+    n = d + 24 | 0;
+    c = n;
+    q[c >> 2] = q[d + 40 >> 2];
+    q[c + 4 >> 2] = e;
+    c = q[d + 36 >> 2];
+    q[d + 16 >> 2] = q[d + 32 >> 2];
+    q[d + 20 >> 2] = c;
+    c = h | 1;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    d : {
+     if (l >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      e = 642624;
+      break d;
+     }
+     e = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    e : {
+     if (!m) {
+      break e;
+     }
+     g = q[e + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break e;
+     }
+     k = q[e + 24 >> 2];
+     s = q[a + 172 >> 2];
+     i = v[e >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[k + (c << 3) >> 3] * +u[s + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[e + 8 >> 2] = 0;
+     q[e + 12 >> 2] = 0;
+     v[e >> 3] = i;
+     if (q[e + 16 >> 2] < 0) {
+      break e;
+     }
+     q[e + 20 >> 2] = 0;
+    }
+    c = h | 2;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    f : {
+     if (l >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      g = 642624;
+      break f;
+     }
+     g = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    g : {
+     if (!m) {
+      break g;
+     }
+     k = q[g + 20 >> 2];
+     if (!k | (k | 0) != q[a + 168 >> 2]) {
+      break g;
+     }
+     s = q[g + 24 >> 2];
+     w = q[a + 172 >> 2];
+     i = v[g >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[s + (c << 3) >> 3] * +u[w + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((k | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[g + 8 >> 2] = 0;
+     q[g + 12 >> 2] = 0;
+     v[g >> 3] = i;
+     if (q[g + 16 >> 2] < 0) {
+      break g;
+     }
+     q[g + 20 >> 2] = 0;
+    }
+    v[d + 16 >> 3] = v[d + 16 >> 3] + v[e >> 3];
+    v[d + 24 >> 3] = v[d + 24 >> 3] + v[g >> 3];
+    e = q[d + 28 >> 2];
+    k = d + 8 | 0;
+    c = k;
+    q[c >> 2] = q[d + 24 >> 2];
+    q[c + 4 >> 2] = e;
+    c = q[d + 20 >> 2];
+    q[d >> 2] = q[d + 16 >> 2];
+    q[d + 4 >> 2] = c;
+    c = h | 3;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    h : {
+     if (l >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      e = 642624;
+      break h;
+     }
+     e = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    i : {
+     if (!m) {
+      break i;
+     }
+     g = q[e + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break i;
+     }
+     l = q[e + 24 >> 2];
+     m = q[a + 172 >> 2];
+     i = v[e >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[l + (c << 3) >> 3] * +u[m + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[e + 8 >> 2] = 0;
+     q[e + 12 >> 2] = 0;
+     v[e >> 3] = i;
+     if (q[e + 16 >> 2] < 0) {
+      break i;
+     }
+     q[e + 20 >> 2] = 0;
+    }
+    v[d >> 3] = v[d >> 3] + v[e >> 3];
+    uz(a, b, d + 32 | 0, d + 16 | 0, d);
+    c = q[k + 4 >> 2];
+    q[p >> 2] = q[k >> 2];
+    q[p + 4 >> 2] = c;
+    c = q[d + 4 >> 2];
+    q[d + 32 >> 2] = q[d >> 2];
+    q[d + 36 >> 2] = c;
+    c = h | 4;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    l = q[a + 32 >> 2];
+    j : {
+     if (l >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      e = 642624;
+      break j;
+     }
+     e = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    m = r[a + 176 | 0];
+    k : {
+     if (!m) {
+      break k;
+     }
+     g = q[e + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break k;
+     }
+     s = q[e + 24 >> 2];
+     w = q[a + 172 >> 2];
+     i = v[e >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[s + (c << 3) >> 3] * +u[w + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[e + 8 >> 2] = 0;
+     q[e + 12 >> 2] = 0;
+     v[e >> 3] = i;
+     if (q[e + 16 >> 2] < 0) {
+      break k;
+     }
+     q[e + 20 >> 2] = 0;
+    }
+    i = v[e >> 3];
+    c = q[p + 4 >> 2];
+    q[n >> 2] = q[p >> 2];
+    q[n + 4 >> 2] = c;
+    v[d + 32 >> 3] = i + v[d + 32 >> 3];
+    c = q[d + 36 >> 2];
+    q[d + 16 >> 2] = q[d + 32 >> 2];
+    q[d + 20 >> 2] = c;
+    c = h | 5;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    l : {
+     if (l >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      e = 642624;
+      break l;
+     }
+     e = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    m : {
+     if (!m) {
+      break m;
+     }
+     g = q[e + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break m;
+     }
+     p = q[e + 24 >> 2];
+     n = q[a + 172 >> 2];
+     i = v[e >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[p + (c << 3) >> 3] * +u[n + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[e + 8 >> 2] = 0;
+     q[e + 12 >> 2] = 0;
+     v[e >> 3] = i;
+     if (q[e + 16 >> 2] < 0) {
+      break m;
+     }
+     q[e + 20 >> 2] = 0;
+    }
+    c = h | 6;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    n : {
+     if (l >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      g = 642624;
+      break n;
+     }
+     g = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    o : {
+     if (!m) {
+      break o;
+     }
+     p = q[g + 20 >> 2];
+     if (!p | (p | 0) != q[a + 168 >> 2]) {
+      break o;
+     }
+     n = q[g + 24 >> 2];
+     s = q[a + 172 >> 2];
+     i = v[g >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[n + (c << 3) >> 3] * +u[s + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((p | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[g + 8 >> 2] = 0;
+     q[g + 12 >> 2] = 0;
+     v[g >> 3] = i;
+     if (q[g + 16 >> 2] < 0) {
+      break o;
+     }
+     q[g + 20 >> 2] = 0;
+    }
+    v[d + 16 >> 3] = v[d + 16 >> 3] + v[e >> 3];
+    v[d + 24 >> 3] = v[d + 24 >> 3] + v[g >> 3];
+    c = q[d + 28 >> 2];
+    q[k >> 2] = q[d + 24 >> 2];
+    q[k + 4 >> 2] = c;
+    c = q[d + 20 >> 2];
+    q[d >> 2] = q[d + 16 >> 2];
+    q[d + 4 >> 2] = c;
+    c = h | 7;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    p : {
+     if (l >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      e = 642624;
+      break p;
+     }
+     e = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    q : {
+     if (!m) {
+      break q;
+     }
+     g = q[e + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break q;
+     }
+     p = q[e + 24 >> 2];
+     k = q[a + 172 >> 2];
+     i = v[e >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[p + (c << 3) >> 3] * +u[k + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[e + 8 >> 2] = 0;
+     q[e + 12 >> 2] = 0;
+     v[e >> 3] = i;
+     if (q[e + 16 >> 2] < 0) {
+      break q;
+     }
+     q[e + 20 >> 2] = 0;
+    }
+    v[d + 8 >> 3] = v[d + 8 >> 3] + v[e >> 3];
+    c = q[a + 24 >> 2];
+    if (!(c - h >>> 0 > 15 | !(c & 1))) {
+     if (c >>> 0 <= f >>> 0) {
+      o[a + 20 | 0] = 1;
+     }
+     r : {
+      if (l >>> 0 <= f >>> 0) {
+       h = q[67767];
+       q[160662] = q[67766];
+       q[160663] = h;
+       h = q[67765];
+       q[160660] = q[67764];
+       q[160661] = h;
+       h = q[67763];
+       q[160658] = q[67762];
+       q[160659] = h;
+       h = q[67761];
+       q[160656] = q[67760];
+       q[160657] = h;
+       h = 642624;
+       break r;
+      }
+      h = q[a + 36 >> 2] + (f << 5) | 0;
+     }
+     s : {
+      if (!m) {
+       break s;
+      }
+      e = q[h + 20 >> 2];
+      if (!e | (e | 0) != q[a + 168 >> 2]) {
+       break s;
+      }
+      g = q[h + 24 >> 2];
+      p = q[a + 172 >> 2];
+      i = v[h >> 3];
+      c = 0;
+      while (1) {
+       i = i + v[g + (c << 3) >> 3] * +u[p + (c << 2) >> 2];
+       c = c + 1 | 0;
+       if ((e | 0) != (c | 0)) {
+        continue;
+       }
+       break;
+      }
+      q[h + 8 >> 2] = 0;
+      q[h + 12 >> 2] = 0;
+      v[h >> 3] = i;
+      if (q[h + 16 >> 2] < 0) {
+       break s;
+      }
+      q[h + 20 >> 2] = 0;
+     }
+     v[d >> 3] = v[d >> 3] + v[h >> 3];
+    }
+    uz(a, b, d + 32 | 0, d + 16 | 0, d);
+    e = f + 8 | 0;
+    c = q[a + 24 >> 2];
+    if (e >>> 0 <= c >>> 0) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  f = q[a + 140 >> 2];
+  q[d + 40 >> 2] = q[a + 136 >> 2];
+  q[d + 44 >> 2] = f;
+  f = q[a + 132 >> 2];
+  q[d + 32 >> 2] = q[a + 128 >> 2];
+  q[d + 36 >> 2] = f;
+  if (!c) {
+   o[a + 20 | 0] = 1;
+  }
+  f = q[a + 32 >> 2];
+  t : {
+   if (!f) {
+    h = q[67767];
+    q[160662] = q[67766];
+    q[160663] = h;
+    h = q[67765];
+    q[160660] = q[67764];
+    q[160661] = h;
+    h = q[67763];
+    q[160658] = q[67762];
+    q[160659] = h;
+    h = q[67761];
+    q[160656] = q[67760];
+    q[160657] = h;
+    h = 642624;
+    break t;
+   }
+   h = q[a + 36 >> 2];
+  }
+  k = r[a + 176 | 0];
+  u : {
+   if (!k) {
+    break u;
+   }
+   e = q[h + 20 >> 2];
+   if (!e | (e | 0) != q[a + 168 >> 2]) {
+    break u;
+   }
+   g = q[h + 24 >> 2];
+   j = q[a + 172 >> 2];
+   i = v[h >> 3];
+   c = 0;
+   while (1) {
+    i = i + v[g + (c << 3) >> 3] * +u[j + (c << 2) >> 2];
+    c = c + 1 | 0;
+    if ((e | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[h + 8 >> 2] = 0;
+   q[h + 12 >> 2] = 0;
+   v[h >> 3] = i;
+   if (q[h + 16 >> 2] < 0) {
+    break u;
+   }
+   q[h + 20 >> 2] = 0;
+  }
+  v[d + 40 >> 3] = v[d + 40 >> 3] + v[h >> 3];
+  h = q[d + 44 >> 2];
+  q[d + 24 >> 2] = q[d + 40 >> 2];
+  q[d + 28 >> 2] = h;
+  h = q[d + 36 >> 2];
+  q[d + 16 >> 2] = q[d + 32 >> 2];
+  q[d + 20 >> 2] = h;
+  if (t[a + 24 >> 2] <= 1) {
+   o[a + 20 | 0] = 1;
+  }
+  v : {
+   if (f >>> 0 <= 1) {
+    h = q[67767];
+    q[160662] = q[67766];
+    q[160663] = h;
+    h = q[67765];
+    q[160660] = q[67764];
+    q[160661] = h;
+    h = q[67763];
+    q[160658] = q[67762];
+    q[160659] = h;
+    h = q[67761];
+    q[160656] = q[67760];
+    q[160657] = h;
+    h = 642624;
+    break v;
+   }
+   h = q[a + 36 >> 2] + 32 | 0;
+  }
+  w : {
+   if (!k) {
+    break w;
+   }
+   e = q[h + 20 >> 2];
+   if (!e | (e | 0) != q[a + 168 >> 2]) {
+    break w;
+   }
+   g = q[h + 24 >> 2];
+   j = q[a + 172 >> 2];
+   i = v[h >> 3];
+   c = 0;
+   while (1) {
+    i = i + v[g + (c << 3) >> 3] * +u[j + (c << 2) >> 2];
+    c = c + 1 | 0;
+    if ((e | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[h + 8 >> 2] = 0;
+   q[h + 12 >> 2] = 0;
+   v[h >> 3] = i;
+   if (q[h + 16 >> 2] < 0) {
+    break w;
+   }
+   q[h + 20 >> 2] = 0;
+  }
+  if (t[a + 24 >> 2] <= 2) {
+   o[a + 20 | 0] = 1;
+  }
+  x : {
+   if (f >>> 0 <= 2) {
+    c = q[67767];
+    q[160662] = q[67766];
+    q[160663] = c;
+    c = q[67765];
+    q[160660] = q[67764];
+    q[160661] = c;
+    c = q[67763];
+    q[160658] = q[67762];
+    q[160659] = c;
+    c = q[67761];
+    q[160656] = q[67760];
+    q[160657] = c;
+    e = 642624;
+    break x;
+   }
+   e = q[a + 36 >> 2] - -64 | 0;
+  }
+  y : {
+   if (!k) {
+    break y;
+   }
+   g = q[e + 20 >> 2];
+   if (!g | (g | 0) != q[a + 168 >> 2]) {
+    break y;
+   }
+   j = q[e + 24 >> 2];
+   p = q[a + 172 >> 2];
+   i = v[e >> 3];
+   c = 0;
+   while (1) {
+    i = i + v[j + (c << 3) >> 3] * +u[p + (c << 2) >> 2];
+    c = c + 1 | 0;
+    if ((g | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[e + 8 >> 2] = 0;
+   q[e + 12 >> 2] = 0;
+   v[e >> 3] = i;
+   if (q[e + 16 >> 2] < 0) {
+    break y;
+   }
+   q[e + 20 >> 2] = 0;
+  }
+  v[d + 16 >> 3] = v[d + 16 >> 3] + v[h >> 3];
+  v[d + 24 >> 3] = v[d + 24 >> 3] + v[e >> 3];
+  h = q[d + 28 >> 2];
+  q[d + 8 >> 2] = q[d + 24 >> 2];
+  q[d + 12 >> 2] = h;
+  h = q[d + 20 >> 2];
+  q[d >> 2] = q[d + 16 >> 2];
+  q[d + 4 >> 2] = h;
+  if (t[a + 24 >> 2] <= 3) {
+   o[a + 20 | 0] = 1;
+  }
+  z : {
+   if (f >>> 0 <= 3) {
+    h = q[67767];
+    q[160662] = q[67766];
+    q[160663] = h;
+    h = q[67765];
+    q[160660] = q[67764];
+    q[160661] = h;
+    h = q[67763];
+    q[160658] = q[67762];
+    q[160659] = h;
+    h = q[67761];
+    q[160656] = q[67760];
+    q[160657] = h;
+    h = 642624;
+    break z;
+   }
+   h = q[a + 36 >> 2] + 96 | 0;
+  }
+  A : {
+   if (!k) {
+    break A;
+   }
+   e = q[h + 20 >> 2];
+   if (!e | (e | 0) != q[a + 168 >> 2]) {
+    break A;
+   }
+   g = q[h + 24 >> 2];
+   j = q[a + 172 >> 2];
+   i = v[h >> 3];
+   c = 0;
+   while (1) {
+    i = i + v[g + (c << 3) >> 3] * +u[j + (c << 2) >> 2];
+    c = c + 1 | 0;
+    if ((e | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[h + 8 >> 2] = 0;
+   q[h + 12 >> 2] = 0;
+   v[h >> 3] = i;
+   if (q[h + 16 >> 2] < 0) {
+    break A;
+   }
+   q[h + 20 >> 2] = 0;
+  }
+  v[d >> 3] = v[d >> 3] + v[h >> 3];
+  c = 12;
+  h = 4;
+  e = q[a + 24 >> 2];
+  if (e >>> 0 >= 12) {
+   p = a + 128 | 0;
+   while (1) {
+    e = h;
+    h = c;
+    uz(a, b, d + 32 | 0, d + 16 | 0, d);
+    f = p;
+    g = q[f + 12 >> 2];
+    j = d + 40 | 0;
+    c = j;
+    q[c >> 2] = q[f + 8 >> 2];
+    q[c + 4 >> 2] = g;
+    c = q[f + 4 >> 2];
+    q[d + 32 >> 2] = q[f >> 2];
+    q[d + 36 >> 2] = c;
+    if (t[a + 24 >> 2] <= e >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    k = q[a + 32 >> 2];
+    B : {
+     if (k >>> 0 <= e >>> 0) {
+      f = q[67767];
+      q[160662] = q[67766];
+      q[160663] = f;
+      f = q[67765];
+      q[160660] = q[67764];
+      q[160661] = f;
+      f = q[67763];
+      q[160658] = q[67762];
+      q[160659] = f;
+      f = q[67761];
+      q[160656] = q[67760];
+      q[160657] = f;
+      f = 642624;
+      break B;
+     }
+     f = q[a + 36 >> 2] + (e << 5) | 0;
+    }
+    l = r[a + 176 | 0];
+    C : {
+     if (!l) {
+      break C;
+     }
+     g = q[f + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break C;
+     }
+     m = q[f + 24 >> 2];
+     n = q[a + 172 >> 2];
+     i = v[f >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[m + (c << 3) >> 3] * +u[n + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[f + 8 >> 2] = 0;
+     q[f + 12 >> 2] = 0;
+     v[f >> 3] = i;
+     if (q[f + 16 >> 2] < 0) {
+      break C;
+     }
+     q[f + 20 >> 2] = 0;
+    }
+    i = v[f >> 3];
+    c = q[j + 4 >> 2];
+    m = d + 24 | 0;
+    f = m;
+    q[f >> 2] = q[j >> 2];
+    q[f + 4 >> 2] = c;
+    v[d + 32 >> 3] = i + v[d + 32 >> 3];
+    f = q[d + 36 >> 2];
+    q[d + 16 >> 2] = q[d + 32 >> 2];
+    q[d + 20 >> 2] = f;
+    f = e | 1;
+    if (t[a + 24 >> 2] <= f >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    D : {
+     if (k >>> 0 <= f >>> 0) {
+      f = q[67767];
+      q[160662] = q[67766];
+      q[160663] = f;
+      f = q[67765];
+      q[160660] = q[67764];
+      q[160661] = f;
+      f = q[67763];
+      q[160658] = q[67762];
+      q[160659] = f;
+      f = q[67761];
+      q[160656] = q[67760];
+      q[160657] = f;
+      f = 642624;
+      break D;
+     }
+     f = q[a + 36 >> 2] + (f << 5) | 0;
+    }
+    E : {
+     if (!l) {
+      break E;
+     }
+     g = q[f + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break E;
+     }
+     n = q[f + 24 >> 2];
+     s = q[a + 172 >> 2];
+     i = v[f >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[n + (c << 3) >> 3] * +u[s + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[f + 8 >> 2] = 0;
+     q[f + 12 >> 2] = 0;
+     v[f >> 3] = i;
+     if (q[f + 16 >> 2] < 0) {
+      break E;
+     }
+     q[f + 20 >> 2] = 0;
+    }
+    c = e | 2;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    F : {
+     if (k >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      g = 642624;
+      break F;
+     }
+     g = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    G : {
+     if (!l) {
+      break G;
+     }
+     n = q[g + 20 >> 2];
+     if (!n | (n | 0) != q[a + 168 >> 2]) {
+      break G;
+     }
+     s = q[g + 24 >> 2];
+     w = q[a + 172 >> 2];
+     i = v[g >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[s + (c << 3) >> 3] * +u[w + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((n | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[g + 8 >> 2] = 0;
+     q[g + 12 >> 2] = 0;
+     v[g >> 3] = i;
+     if (q[g + 16 >> 2] < 0) {
+      break G;
+     }
+     q[g + 20 >> 2] = 0;
+    }
+    v[d + 16 >> 3] = v[d + 16 >> 3] + v[f >> 3];
+    v[d + 24 >> 3] = v[d + 24 >> 3] + v[g >> 3];
+    c = q[d + 28 >> 2];
+    n = d + 8 | 0;
+    f = n;
+    q[f >> 2] = q[d + 24 >> 2];
+    q[f + 4 >> 2] = c;
+    f = q[d + 20 >> 2];
+    q[d >> 2] = q[d + 16 >> 2];
+    q[d + 4 >> 2] = f;
+    f = e | 3;
+    if (t[a + 24 >> 2] <= f >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    H : {
+     if (k >>> 0 <= f >>> 0) {
+      f = q[67767];
+      q[160662] = q[67766];
+      q[160663] = f;
+      f = q[67765];
+      q[160660] = q[67764];
+      q[160661] = f;
+      f = q[67763];
+      q[160658] = q[67762];
+      q[160659] = f;
+      f = q[67761];
+      q[160656] = q[67760];
+      q[160657] = f;
+      f = 642624;
+      break H;
+     }
+     f = q[a + 36 >> 2] + (f << 5) | 0;
+    }
+    I : {
+     if (!l) {
+      break I;
+     }
+     g = q[f + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break I;
+     }
+     k = q[f + 24 >> 2];
+     l = q[a + 172 >> 2];
+     i = v[f >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[k + (c << 3) >> 3] * +u[l + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[f + 8 >> 2] = 0;
+     q[f + 12 >> 2] = 0;
+     v[f >> 3] = i;
+     if (q[f + 16 >> 2] < 0) {
+      break I;
+     }
+     q[f + 20 >> 2] = 0;
+    }
+    v[d + 8 >> 3] = v[d + 8 >> 3] + v[f >> 3];
+    uz(a, b, d + 32 | 0, d + 16 | 0, d);
+    f = q[d + 12 >> 2];
+    q[j >> 2] = q[d + 8 >> 2];
+    q[j + 4 >> 2] = f;
+    f = q[d + 4 >> 2];
+    q[d + 32 >> 2] = q[d >> 2];
+    q[d + 36 >> 2] = f;
+    c = e + 4 | 0;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    f = q[a + 32 >> 2];
+    J : {
+     if (f >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      g = 642624;
+      break J;
+     }
+     g = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    k = r[a + 176 | 0];
+    K : {
+     if (!k) {
+      break K;
+     }
+     j = q[g + 20 >> 2];
+     if (!j | (j | 0) != q[a + 168 >> 2]) {
+      break K;
+     }
+     l = q[g + 24 >> 2];
+     s = q[a + 172 >> 2];
+     i = v[g >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[l + (c << 3) >> 3] * +u[s + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((j | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[g + 8 >> 2] = 0;
+     q[g + 12 >> 2] = 0;
+     v[g >> 3] = i;
+     if (q[g + 16 >> 2] < 0) {
+      break K;
+     }
+     q[g + 20 >> 2] = 0;
+    }
+    v[d + 40 >> 3] = v[d + 40 >> 3] + v[g >> 3];
+    c = q[d + 44 >> 2];
+    q[m >> 2] = q[d + 40 >> 2];
+    q[m + 4 >> 2] = c;
+    c = q[d + 36 >> 2];
+    q[d + 16 >> 2] = q[d + 32 >> 2];
+    q[d + 20 >> 2] = c;
+    c = e + 5 | 0;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    L : {
+     if (f >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      g = 642624;
+      break L;
+     }
+     g = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    M : {
+     if (!k) {
+      break M;
+     }
+     j = q[g + 20 >> 2];
+     if (!j | (j | 0) != q[a + 168 >> 2]) {
+      break M;
+     }
+     l = q[g + 24 >> 2];
+     m = q[a + 172 >> 2];
+     i = v[g >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[l + (c << 3) >> 3] * +u[m + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((j | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[g + 8 >> 2] = 0;
+     q[g + 12 >> 2] = 0;
+     v[g >> 3] = i;
+     if (q[g + 16 >> 2] < 0) {
+      break M;
+     }
+     q[g + 20 >> 2] = 0;
+    }
+    c = e + 6 | 0;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    N : {
+     if (f >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      j = 642624;
+      break N;
+     }
+     j = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    O : {
+     if (!k) {
+      break O;
+     }
+     l = q[j + 20 >> 2];
+     if (!l | (l | 0) != q[a + 168 >> 2]) {
+      break O;
+     }
+     m = q[j + 24 >> 2];
+     s = q[a + 172 >> 2];
+     i = v[j >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[m + (c << 3) >> 3] * +u[s + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((l | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[j + 8 >> 2] = 0;
+     q[j + 12 >> 2] = 0;
+     v[j >> 3] = i;
+     if (q[j + 16 >> 2] < 0) {
+      break O;
+     }
+     q[j + 20 >> 2] = 0;
+    }
+    v[d + 16 >> 3] = v[d + 16 >> 3] + v[g >> 3];
+    v[d + 24 >> 3] = v[d + 24 >> 3] + v[j >> 3];
+    c = q[d + 28 >> 2];
+    q[n >> 2] = q[d + 24 >> 2];
+    q[n + 4 >> 2] = c;
+    c = q[d + 20 >> 2];
+    q[d >> 2] = q[d + 16 >> 2];
+    q[d + 4 >> 2] = c;
+    c = e + 7 | 0;
+    if (t[a + 24 >> 2] <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    P : {
+     if (f >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      e = 642624;
+      break P;
+     }
+     e = q[a + 36 >> 2] + (c << 5) | 0;
+    }
+    Q : {
+     if (!k) {
+      break Q;
+     }
+     g = q[e + 20 >> 2];
+     if (!g | (g | 0) != q[a + 168 >> 2]) {
+      break Q;
+     }
+     j = q[e + 24 >> 2];
+     l = q[a + 172 >> 2];
+     i = v[e >> 3];
+     c = 0;
+     while (1) {
+      i = i + v[j + (c << 3) >> 3] * +u[l + (c << 2) >> 2];
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[e + 8 >> 2] = 0;
+     q[e + 12 >> 2] = 0;
+     v[e >> 3] = i;
+     if (q[e + 16 >> 2] < 0) {
+      break Q;
+     }
+     q[e + 20 >> 2] = 0;
+    }
+    v[d >> 3] = v[d >> 3] + v[e >> 3];
+    c = h + 8 | 0;
+    e = q[a + 24 >> 2];
+    if (c >>> 0 <= e >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (h >>> 0 < e >>> 0) {
+   R : {
+    if (f >>> 0 <= h >>> 0) {
+     f = q[67767];
+     q[160662] = q[67766];
+     q[160663] = f;
+     f = q[67765];
+     q[160660] = q[67764];
+     q[160661] = f;
+     f = q[67763];
+     q[160658] = q[67762];
+     q[160659] = f;
+     f = q[67761];
+     q[160656] = q[67760];
+     q[160657] = f;
+     f = 642624;
+     break R;
+    }
+    f = q[a + 36 >> 2] + (h << 5) | 0;
+   }
+   S : {
+    if (!k) {
+     break S;
+    }
+    h = q[f + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break S;
+    }
+    e = q[f + 24 >> 2];
+    g = q[a + 172 >> 2];
+    i = v[f >> 3];
+    c = 0;
+    while (1) {
+     i = i + v[e + (c << 3) >> 3] * +u[g + (c << 2) >> 2];
+     c = c + 1 | 0;
+     if ((h | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[f + 8 >> 2] = 0;
+    q[f + 12 >> 2] = 0;
+    v[f >> 3] = i;
+    if (q[f + 16 >> 2] < 0) {
+     break S;
+    }
+    q[f + 20 >> 2] = 0;
+   }
+   v[d + 8 >> 3] = v[d + 8 >> 3] + v[f >> 3];
+  }
+  uz(a, b, d + 32 | 0, d + 16 | 0, d);
+ }
+ Ca = d + 48 | 0;
+}
+function Ih(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0;
+ e = Ca - 176 | 0;
+ Ca = e;
+ q[e + 172 >> 2] = 0;
+ y = q[a + 12 >> 2];
+ w = q[a >> 2];
+ if (s[w + 290 >> 1] < c >>> 0) {
+  p[w + 290 >> 1] = c;
+ }
+ q[a + 20 >> 2] = b;
+ k = 65536;
+ m = 65536;
+ if (!(o[a + 16 | 0] & 1)) {
+  f = q[q[a + 4 >> 2] + 44 >> 2];
+  k = q[f + 8 >> 2];
+  m = q[f + 4 >> 2];
+ }
+ f = q[q[w + 128 >> 2] + 52 >> 2];
+ a : {
+  b : {
+   if (f) {
+    f = n[q[q[f >> 2] >> 2]](q[f + 4 >> 2], b, e + 120 | 0) | 0;
+    q[e + 172 >> 2] = f;
+    if (f) {
+     break a;
+    }
+    f = q[e + 124 >> 2];
+    q[a + 28 >> 2] = f;
+    q[e + 160 >> 2] = 0;
+    q[e + 164 >> 2] = 0;
+    q[e + 152 >> 2] = 0;
+    q[e + 156 >> 2] = 0;
+    q[e + 144 >> 2] = 0;
+    q[e + 148 >> 2] = 0;
+    q[e + 136 >> 2] = 0;
+    q[e + 140 >> 2] = 0;
+    q[e + 128 >> 2] = 0;
+    q[e + 132 >> 2] = 0;
+    mf(e + 128 | 0, q[e + 120 >> 2], f);
+    q[a + 24 >> 2] = e + 128;
+    F = 1;
+    g = 0;
+    break b;
+   }
+   g = th(w, b, a + 28 | 0);
+  }
+  f = q[a + 28 >> 2];
+  c : {
+   if ((f | 0) >= 1) {
+    j = q[w + 728 >> 2];
+    if (!(j | q[q[w + 128 >> 2] + 52 >> 2])) {
+     q[e + 172 >> 2] = 8;
+     break c;
+    }
+    f = n[q[w + 520 >> 2]](a, b, g + j | 0, f) | 0;
+    q[e + 172 >> 2] = f;
+    if (f) {
+     break c;
+    }
+    K = e, L = n[q[w + 528 >> 2]](a) | 0, q[K + 172 >> 2] = L;
+    n[q[w + 524 >> 2]](a);
+    if (q[e + 172 >> 2]) {
+     break c;
+    }
+    f = q[a + 28 >> 2];
+   }
+   if (!(s[a + 32 >> 1] ? f : 0)) {
+    q[a + 36 >> 2] = 0;
+    q[a + 40 >> 2] = 0;
+    q[a + 44 >> 2] = 0;
+    q[a + 48 >> 2] = 0;
+   }
+   u = q[a >> 2];
+   l = q[a + 24 >> 2];
+   p[e + 80 >> 1] = 0;
+   p[e >> 1] = 0;
+   p[e + 40 >> 1] = 0;
+   p[e + 64 >> 1] = 0;
+   j = q[l + 8 >> 2];
+   n[q[q[u + 540 >> 2] + 140 >> 2]](u, 0, b, e + 80 | 0, e + 40 | 0);
+   d : {
+    if (r[u + 292 | 0]) {
+     n[q[q[u + 540 >> 2] + 140 >> 2]](u, 1, b, e, e - -64 | 0);
+     break d;
+    }
+    v = q[a + 48 >> 2];
+    if (s[u + 372 >> 1] != 65535) {
+     f = p[u + 442 >> 1];
+     p[e >> 1] = f - v;
+     f = f - p[u + 444 >> 1] | 0;
+     v = f >> 31;
+     p[e + 64 >> 1] = v ^ f + v;
+     break d;
+    }
+    f = p[u + 220 >> 1];
+    p[e >> 1] = f - v;
+    f = f - p[u + 222 >> 1] | 0;
+    v = f >> 31;
+    p[e + 64 >> 1] = v ^ f + v;
+   }
+   j = yg(l, j);
+   e : {
+    if (j) {
+     break e;
+    }
+    q[a + 52 >> 2] = p[e + 80 >> 1];
+    f = s[e + 40 >> 1];
+    q[a + 56 >> 2] = f;
+    q[a + 172 >> 2] = p[e >> 1];
+    q[a + 176 >> 2] = s[e + 64 >> 1];
+    if (r[a + 64 | 0]) {
+     break e;
+    }
+    q[a + 60 >> 2] = f;
+    o[a + 64 | 0] = 1;
+   }
+   q[e + 172 >> 2] = j;
+   if (d | j) {
+    break c;
+   }
+   f = q[a + 28 >> 2];
+   if (!(s[a + 32 >> 1] ? f : 0)) {
+    f = 0;
+    j = q[a >> 2];
+    l = 0;
+    f : {
+     if (q[q[j + 96 >> 2] + 64 >> 2] != 40) {
+      break f;
+     }
+     c = q[a + 156 >> 2];
+     l = 0;
+     if (!c) {
+      break f;
+     }
+     f = r[c + 613 | 0] != 0;
+     l = r[c + 618 | 0] != 0;
+    }
+    q[a + 72 >> 2] = 0;
+    q[a + 80 >> 2] = 0;
+    g = q[a + 52 >> 2];
+    d = q[a + 36 >> 2] - g | 0;
+    q[a + 68 >> 2] = d;
+    c = q[a + 172 >> 2] + q[a + 48 >> 2] | 0;
+    q[a + 184 >> 2] = c;
+    v = q[a + 56 >> 2];
+    q[a + 76 >> 2] = v + d;
+    q[a + 192 >> 2] = c - q[a + 176 >> 2];
+    c = l ? f ? (v | 0) / 2 | 0 : 0 : 0;
+    q[a + 180 >> 2] = c;
+    q[a + 188 >> 2] = c;
+    d = q[q[j + 128 >> 2] + 52 >> 2];
+    g : {
+     if (!d) {
+      break g;
+     }
+     c = q[q[d >> 2] + 8 >> 2];
+     if (!c) {
+      break g;
+     }
+     q[e + 92 >> 2] = 0;
+     q[e + 88 >> 2] = v;
+     q[e + 84 >> 2] = 0;
+     q[e + 80 >> 2] = g;
+     if (n[c](q[d + 4 >> 2], b, 0, e + 80 | 0)) {
+      break g;
+     }
+     c = p[e + 80 >> 1];
+     d = s[e + 88 >> 1];
+     q[a + 172 >> 2] = 0;
+     q[a + 176 >> 2] = 0;
+     q[a + 56 >> 2] = d;
+     q[a + 52 >> 2] = c;
+     if (r[a + 64 | 0]) {
+      break g;
+     }
+     q[a + 60 >> 2] = d;
+     o[a + 64 | 0] = 1;
+    }
+    h : {
+     if (r[w + 9 | 0] & 128 ? 0 : !(s[w + 6 >> 1] & 32767)) {
+      break h;
+     }
+     q[e + 76 >> 2] = 16843009;
+     q[e + 64 >> 2] = 65536;
+     q[e + 68 >> 2] = 196610;
+     q[e + 24 >> 2] = 0;
+     q[e + 28 >> 2] = 0;
+     q[e + 16 >> 2] = 0;
+     q[e + 20 >> 2] = 0;
+     q[e + 8 >> 2] = 0;
+     q[e + 12 >> 2] = 0;
+     q[e >> 2] = 0;
+     q[e + 4 >> 2] = 0;
+     q[e + 80 >> 2] = q[a + 68 >> 2];
+     q[e + 84 >> 2] = q[a + 72 >> 2];
+     q[e + 88 >> 2] = q[a + 76 >> 2];
+     q[e + 92 >> 2] = q[a + 80 >> 2];
+     q[e + 96 >> 2] = q[a + 180 >> 2];
+     q[e + 100 >> 2] = q[a + 184 >> 2];
+     q[e + 104 >> 2] = q[a + 188 >> 2];
+     q[e + 108 >> 2] = q[a + 192 >> 2];
+     q[e + 40 >> 2] = 262148;
+     q[e + 52 >> 2] = e - -64;
+     q[e + 48 >> 2] = e + 76;
+     q[e + 44 >> 2] = e + 80;
+     b = Ui(q[a >> 2], b, e + 40 | 0, e, 4);
+     q[e + 172 >> 2] = b;
+     if (b) {
+      break c;
+     }
+     q[a + 68 >> 2] = q[e + 80 >> 2];
+     q[a + 72 >> 2] = q[e + 84 >> 2];
+     q[a + 76 >> 2] = q[e + 88 >> 2];
+     q[a + 80 >> 2] = q[e + 92 >> 2];
+     q[a + 180 >> 2] = q[e + 96 >> 2];
+     q[a + 184 >> 2] = q[e + 100 >> 2];
+     q[a + 188 >> 2] = q[e + 104 >> 2];
+     q[a + 192 >> 2] = q[e + 108 >> 2];
+     b = q[q[a >> 2] + 740 >> 2];
+     if (!(b & 2)) {
+      q[a + 60 >> 2] = ((q[e + 8 >> 2] - q[e >> 2] | 0) + 32 & -64) / 64;
+     }
+     if (b & 16) {
+      break h;
+     }
+     q[a + 176 >> 2] = ((q[e + 24 >> 2] - q[e + 16 >> 2] | 0) + 32 & -64) / 64;
+    }
+    if (!(o[a + 16 | 0] & 1)) {
+     K = a, L = Ee(q[a + 68 >> 2], m), q[K + 68 >> 2] = L;
+     K = a, L = Ee(q[a + 76 >> 2], m), q[K + 76 >> 2] = L;
+     K = a, L = Ee(q[a + 180 >> 2], m), q[K + 180 >> 2] = L;
+     K = a, L = Ee(q[a + 184 >> 2], k), q[K + 184 >> 2] = L;
+     K = a, L = Ee(q[a + 188 >> 2], m), q[K + 188 >> 2] = L;
+     K = a, L = Ee(q[a + 192 >> 2], k), q[K + 192 >> 2] = L;
+    }
+    q[e + 172 >> 2] = 0;
+    break c;
+   }
+   l = q[a >> 2];
+   i = 0;
+   i : {
+    if (q[q[l + 96 >> 2] + 64 >> 2] != 40) {
+     break i;
+    }
+    d = q[a + 156 >> 2];
+    i = 0;
+    if (!d) {
+     break i;
+    }
+    h = r[d + 613 | 0] != 0;
+    i = r[d + 618 | 0] != 0;
+   }
+   q[a + 72 >> 2] = 0;
+   q[a + 80 >> 2] = 0;
+   v = q[a + 52 >> 2];
+   j = q[a + 36 >> 2] - v | 0;
+   q[a + 68 >> 2] = j;
+   d = q[a + 172 >> 2] + q[a + 48 >> 2] | 0;
+   q[a + 184 >> 2] = d;
+   u = q[a + 56 >> 2];
+   q[a + 76 >> 2] = u + j;
+   q[a + 192 >> 2] = d - q[a + 176 >> 2];
+   d = i ? h ? (u | 0) / 2 | 0 : 0 : 0;
+   q[a + 180 >> 2] = d;
+   q[a + 188 >> 2] = d;
+   j = q[q[l + 128 >> 2] + 52 >> 2];
+   j : {
+    if (!j) {
+     break j;
+    }
+    d = q[q[j >> 2] + 8 >> 2];
+    if (!d) {
+     break j;
+    }
+    q[e + 92 >> 2] = 0;
+    q[e + 88 >> 2] = u;
+    q[e + 84 >> 2] = 0;
+    q[e + 80 >> 2] = v;
+    k : {
+     if (n[d](q[j + 4 >> 2], b, 0, e + 80 | 0)) {
+      break k;
+     }
+     d = p[e + 80 >> 1];
+     f = s[e + 88 >> 1];
+     q[a + 172 >> 2] = 0;
+     q[a + 176 >> 2] = 0;
+     q[a + 56 >> 2] = f;
+     q[a + 52 >> 2] = d;
+     if (r[a + 64 | 0]) {
+      break k;
+     }
+     q[a + 60 >> 2] = f;
+     o[a + 64 | 0] = 1;
+    }
+    f = q[a + 28 >> 2];
+   }
+   d = n[q[w + 520 >> 2]](a, b, (g + q[w + 728 >> 2] | 0) + 10 | 0, f + -10 | 0) | 0;
+   q[e + 172 >> 2] = d;
+   if (d) {
+    break c;
+   }
+   l : {
+    d = p[a + 32 >> 1];
+    if ((d | 0) >= 1) {
+     b = n[q[w + 532 >> 2]](a) | 0;
+     q[e + 172 >> 2] = b;
+     if (b) {
+      break l;
+     }
+     n[q[w + 524 >> 2]](a);
+     x = q[a + 12 >> 2];
+     k = 0;
+     q[e + 80 >> 2] = 0;
+     g = q[q[a >> 2] + 100 >> 2];
+     b = q[a + 72 >> 2];
+     d = x + 60 | 0;
+     h = p[x + 58 >> 1];
+     c = q[d >> 2] + (h << 3) | 0;
+     q[c >> 2] = q[a + 68 >> 2];
+     q[c + 4 >> 2] = b;
+     b = q[a + 80 >> 2];
+     u = h + 1 | 0;
+     c = q[d >> 2] + (u << 3) | 0;
+     q[c >> 2] = q[a + 76 >> 2];
+     q[c + 4 >> 2] = b;
+     b = q[a + 184 >> 2];
+     l = h + 2 | 0;
+     c = q[d >> 2] + (l << 3) | 0;
+     q[c >> 2] = q[a + 180 >> 2];
+     q[c + 4 >> 2] = b;
+     b = q[a + 192 >> 2];
+     v = h + 3 | 0;
+     c = q[d >> 2] + (v << 3) | 0;
+     q[c >> 2] = q[a + 188 >> 2];
+     q[c + 4 >> 2] = b;
+     b = x - -64 | 0;
+     o[h + q[b >> 2] | 0] = 0;
+     o[u + q[b >> 2] | 0] = 0;
+     o[l + q[b >> 2] | 0] = 0;
+     o[v + q[b >> 2] | 0] = 0;
+     j = h + 4 | 0;
+     b = q[a >> 2];
+     m : {
+      if (!(r[b + 9 | 0] & 128 ? 0 : !(s[b + 6 >> 1] & 32767))) {
+       k = Te(g, 8, 0, j, 0, e + 80 | 0);
+       if (q[e + 80 >> 2]) {
+        break m;
+       }
+       c = Ui(q[a >> 2], q[a + 20 >> 2], x + 56 | 0, k, j);
+       q[e + 80 >> 2] = c;
+       b = q[q[a >> 2] + 740 >> 2];
+       if (!(b & 2)) {
+        q[a + 60 >> 2] = ((q[(u << 3) + k >> 2] - q[(h << 3) + k >> 2] | 0) + 32 & -64) / 64;
+       }
+       if (!(b & 16)) {
+        q[a + 176 >> 2] = ((q[(v << 3) + k >> 2] - q[(l << 3) + k >> 2] | 0) + 32 & -64) / 64;
+       }
+       if (c) {
+        break m;
+       }
+      }
+      b = q[a + 16 >> 2];
+      if (!(b & 2)) {
+       f = s[x + 58 >> 1];
+       p[a + 128 >> 1] = f;
+       p[a + 130 >> 1] = s[x + 56 >> 1];
+       q[a + 132 >> 2] = q[x + 76 >> 2];
+       d = q[x + 60 >> 2];
+       q[a + 136 >> 2] = d;
+       c = q[x + 80 >> 2];
+       q[a + 140 >> 2] = c;
+       q[a + 144 >> 2] = q[x + 64 >> 2];
+       b = q[x + 68 >> 2];
+       p[a + 152 >> 1] = 0;
+       q[a + 148 >> 2] = b;
+       Y$(c, d, (f << 3) + 32 | 0);
+       b = q[a + 16 >> 2];
+      }
+      i = 0;
+      d = 0;
+      n : {
+       if (b & 1) {
+        break n;
+       }
+       b = q[x + 60 >> 2];
+       f = b + (j << 3) | 0;
+       c = q[q[a + 4 >> 2] + 44 >> 2];
+       i = q[c + 8 >> 2];
+       d = q[c + 4 >> 2];
+       c = q[a >> 2];
+       if (!(s[c + 6 >> 1] & 32767 | r[c + 9 | 0] & 128)) {
+        if ((h | 0) <= -4) {
+         break n;
+        }
+        while (1) {
+         K = b, L = Ee(q[b >> 2], d), q[K >> 2] = L;
+         K = b, L = Ee(q[b + 4 >> 2], i), q[K + 4 >> 2] = L;
+         b = b + 8 | 0;
+         if (b >>> 0 < f >>> 0) {
+          continue;
+         }
+         break;
+        }
+        break n;
+       }
+       if ((h | 0) < -3) {
+        break n;
+       }
+       c = k;
+       while (1) {
+        K = b, L = Ee(q[c >> 2], d) + 32 >> 6, q[K >> 2] = L;
+        K = b, L = Ee(q[c + 4 >> 2], i) + 32 >> 6, q[K + 4 >> 2] = L;
+        c = c + 8 | 0;
+        b = b + 8 | 0;
+        if (b >>> 0 < f >>> 0) {
+         continue;
+        }
+        break;
+       }
+      }
+      b = q[a >> 2];
+      o : {
+       if (!(!(r[b + 740 | 0] & 2) | r[a + 16 | 0] & 2)) {
+        K = a, L = Ee(q[a + 68 >> 2], d), q[K + 68 >> 2] = L;
+        K = a, L = Ee(q[a + 76 >> 2], d), q[K + 76 >> 2] = L;
+        b = q[a >> 2];
+        break o;
+       }
+       f = q[x + 60 >> 2] + (h << 3) | 0;
+       c = q[f + 4 >> 2];
+       q[a + 68 >> 2] = q[f >> 2];
+       q[a + 72 >> 2] = c;
+       f = q[x + 60 >> 2] + (u << 3) | 0;
+       c = q[f + 4 >> 2];
+       q[a + 76 >> 2] = q[f >> 2];
+       q[a + 80 >> 2] = c;
+      }
+      p : {
+       if (!(!(r[b + 740 | 0] & 16) | r[a + 16 | 0] & 2)) {
+        K = a, L = Ee(q[a + 180 >> 2], d), q[K + 180 >> 2] = L;
+        K = a, L = Ee(q[a + 184 >> 2], i), q[K + 184 >> 2] = L;
+        K = a, L = Ee(q[a + 188 >> 2], d), q[K + 188 >> 2] = L;
+        K = a, L = Ee(q[a + 192 >> 2], i), q[K + 192 >> 2] = L;
+        break p;
+       }
+       c = q[x + 60 >> 2] + (l << 3) | 0;
+       b = q[c + 4 >> 2];
+       q[a + 180 >> 2] = q[c >> 2];
+       q[a + 184 >> 2] = b;
+       c = q[x + 60 >> 2] + (v << 3) | 0;
+       b = q[c + 4 >> 2];
+       q[a + 188 >> 2] = q[c >> 2];
+       q[a + 192 >> 2] = b;
+      }
+      if (r[a + 16 | 0] & 2) {
+       break m;
+      }
+      b = a + 128 | 0;
+      p[b >> 1] = s[b >> 1] + 4;
+      K = e, L = Vi(a, 0), q[K + 80 >> 2] = L;
+     }
+     Qe(g, k);
+     a = q[e + 80 >> 2];
+     q[e + 172 >> 2] = a;
+     if (a) {
+      break c;
+     }
+     Xe(y);
+     break c;
+    }
+    if ((d | 0) > -1) {
+     break l;
+    }
+    z = q[w + 100 >> 2];
+    p[a + 32 >> 1] = 65535;
+    g = a + 204 | 0;
+    q : {
+     r : {
+      d = q[a + 204 >> 2];
+      s : {
+       if (d) {
+        f = c;
+        while (1) {
+         if (!f) {
+          f = d;
+          while (1) {
+           q[f + 8 >> 2] = -1;
+           f = q[f + 4 >> 2];
+           if (f) {
+            continue;
+           }
+           break;
+          }
+          if (Kf(g, b)) {
+           break s;
+          }
+          q[d + 8 >> 2] = b;
+          break q;
+         }
+         f = f + -1 | 0;
+         d = q[d + 4 >> 2];
+         if (d) {
+          continue;
+         }
+         break;
+        }
+       }
+       if (!Kf(g, b)) {
+        break r;
+       }
+      }
+      q[e + 172 >> 2] = 21;
+      break l;
+     }
+     d = Oe(z, 12, e + 172 | 0);
+     if (q[e + 172 >> 2]) {
+      break l;
+     }
+     q[d + 8 >> 2] = b;
+     Lf(g, d);
+    }
+    v = p[y + 22 >> 1];
+    D = p[y + 20 >> 1];
+    d = n[q[w + 536 >> 2]](a) | 0;
+    q[e + 172 >> 2] = d;
+    if (d) {
+     break l;
+    }
+    G = q[a + 164 >> 2];
+    n[q[w + 524 >> 2]](a);
+    if (!(r[w + 9 | 0] & 128 ? 0 : !(s[w + 6 >> 1] & 32767))) {
+     h = q[y + 84 >> 2];
+     i = 0;
+     q[e + 92 >> 2] = 0;
+     q[e + 84 >> 2] = 0;
+     q[e + 88 >> 2] = 0;
+     d = h + 4 | 0;
+     p[e + 80 >> 1] = d;
+     p[e + 82 >> 1] = d;
+     A = d << 16 >> 16;
+     u = Te(z, 8, 0, A, 0, e + 172 | 0);
+     l = 0;
+     f = 0;
+     d = 0;
+     t : {
+      if (q[e + 172 >> 2]) {
+       break t;
+      }
+      j = Te(z, 1, 0, A, 0, e + 172 | 0);
+      d = 0;
+      if (q[e + 172 >> 2]) {
+       break t;
+      }
+      g = Te(z, 2, 0, A, 0, e + 172 | 0);
+      d = 0;
+      if (q[e + 172 >> 2]) {
+       break t;
+      }
+      f = Te(z, 8, 0, A, 0, e + 172 | 0);
+      d = 0;
+      if (q[e + 172 >> 2]) {
+       break t;
+      }
+      B = h << 16;
+      x = B >> 16;
+      if ((B | 0) >= 1) {
+       h = q[y + 88 >> 2];
+       while (1) {
+        d = u + (i << 3) | 0;
+        q[d >> 2] = q[h + 8 >> 2];
+        q[d + 4 >> 2] = q[h + 12 >> 2];
+        o[j + i | 0] = 1;
+        p[g + (i << 1) >> 1] = l;
+        h = h + 32 | 0;
+        l = l + 1 | 0;
+        i = l << 16 >> 16;
+        if ((x | 0) > (i | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      d = u + (i << 3) | 0;
+      q[d >> 2] = q[a + 68 >> 2];
+      q[d + 4 >> 2] = q[a + 72 >> 2];
+      o[j + i | 0] = 1;
+      p[g + (i << 1) >> 1] = l;
+      i = l + 1 | 0;
+      h = i << 16 >> 16;
+      d = u + (h << 3) | 0;
+      q[d >> 2] = q[a + 76 >> 2];
+      q[d + 4 >> 2] = q[a + 80 >> 2];
+      o[h + j | 0] = 1;
+      p[g + (h << 1) >> 1] = i;
+      i = l + 2 | 0;
+      h = i << 16 >> 16;
+      d = u + (h << 3) | 0;
+      q[d >> 2] = q[a + 180 >> 2];
+      q[d + 4 >> 2] = q[a + 184 >> 2];
+      o[h + j | 0] = 1;
+      p[g + (h << 1) >> 1] = i;
+      l = l + 3 | 0;
+      i = l << 16 >> 16;
+      d = u + (i << 3) | 0;
+      q[d >> 2] = q[a + 188 >> 2];
+      q[d + 4 >> 2] = q[a + 192 >> 2];
+      o[j + i | 0] = 1;
+      p[g + (i << 1) >> 1] = l;
+      q[e + 92 >> 2] = g;
+      q[e + 88 >> 2] = j;
+      q[e + 84 >> 2] = u;
+      b = Ui(w, b, e + 80 | 0, f, A);
+      q[e + 172 >> 2] = b;
+      u : {
+       if (b) {
+        break u;
+       }
+       v : {
+        if ((B | 0) < 1) {
+         h = 0;
+         break v;
+        }
+        b = q[y + 88 >> 2];
+        h = 0;
+        i = 0;
+        while (1) {
+         if (r[b + 4 | 0] & 2) {
+          d = u + (h << 3) | 0;
+          q[b + 8 >> 2] = p[d >> 1];
+          q[b + 12 >> 2] = p[d + 4 >> 1];
+         }
+         b = b + 32 | 0;
+         i = i + 1 | 0;
+         h = i << 16 >> 16;
+         if ((x | 0) > (h | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       b = u + (h << 3) | 0;
+       q[a + 68 >> 2] = q[b >> 2];
+       q[a + 72 >> 2] = q[b + 4 >> 2];
+       q[a + 76 >> 2] = q[b + 8 >> 2];
+       q[a + 80 >> 2] = q[b + 12 >> 2];
+       q[a + 180 >> 2] = q[b + 16 >> 2];
+       q[a + 184 >> 2] = q[b + 20 >> 2];
+       q[a + 188 >> 2] = q[b + 24 >> 2];
+       q[a + 192 >> 2] = q[b + 28 >> 2];
+       d = q[w + 740 >> 2];
+       if (!(d & 2)) {
+        b = (A << 3) + f | 0;
+        q[a + 60 >> 2] = ((q[b + -24 >> 2] - q[b + -32 >> 2] | 0) + 32 & -64) / 64;
+       }
+       if (d & 16) {
+        break u;
+       }
+       b = (A << 3) + f | 0;
+       q[a + 176 >> 2] = ((q[b + -8 >> 2] - q[b + -16 >> 2] | 0) + 32 & -64) / 64;
+      }
+      i = g;
+      l = u;
+      d = j;
+     }
+     Qe(z, l);
+     Qe(z, d);
+     Qe(z, i);
+     Qe(z, f);
+     if (q[e + 172 >> 2]) {
+      break c;
+     }
+    }
+    b = q[a + 16 >> 2];
+    if (!(b & 1)) {
+     K = a, L = Ee(q[a + 68 >> 2], m), q[K + 68 >> 2] = L;
+     K = a, L = Ee(q[a + 76 >> 2], m), q[K + 76 >> 2] = L;
+     K = a, L = Ee(q[a + 180 >> 2], m), q[K + 180 >> 2] = L;
+     K = a, L = Ee(q[a + 184 >> 2], k), q[K + 184 >> 2] = L;
+     K = a, L = Ee(q[a + 188 >> 2], m), q[K + 188 >> 2] = L;
+     K = a, L = Ee(q[a + 192 >> 2], k), q[K + 192 >> 2] = L;
+     b = q[a + 16 >> 2];
+    }
+    w : {
+     x : {
+      if (!(b & 1024)) {
+       H = q[y + 48 >> 2];
+       E = q[y + 84 >> 2];
+       I = q[a + 28 >> 2];
+       J = q[a + 24 >> 2];
+       Xe(y);
+       y : {
+        if (!E) {
+         b = 0;
+         c = v;
+         break y;
+        }
+        z = c + 1 | 0;
+        f = 0;
+        while (1) {
+         C = p[y + 22 >> 1];
+         A = q[a + 176 >> 2];
+         B = q[a + 60 >> 2];
+         x = q[a + 188 >> 2];
+         h = q[a + 192 >> 2];
+         k = q[a + 180 >> 2];
+         i = q[a + 184 >> 2];
+         u = q[a + 76 >> 2];
+         l = q[a + 80 >> 2];
+         j = q[a + 68 >> 2];
+         g = q[a + 72 >> 2];
+         c = f << 5;
+         d = H << 5;
+         b = Ih(a, q[c + (d + q[y + 52 >> 2] | 0) >> 2], z, 0);
+         q[e + 172 >> 2] = b;
+         if (b) {
+          break c;
+         }
+         b = c + (d + q[y + 52 >> 2] | 0) | 0;
+         if (!(r[b + 5 | 0] & 2)) {
+          q[a + 188 >> 2] = x;
+          q[a + 192 >> 2] = h;
+          q[a + 180 >> 2] = k;
+          q[a + 184 >> 2] = i;
+          q[a + 76 >> 2] = u;
+          q[a + 80 >> 2] = l;
+          q[a + 68 >> 2] = j;
+          q[a + 72 >> 2] = g;
+          q[a + 176 >> 2] = A;
+          q[a + 60 >> 2] = B;
+         }
+         j = s[y + 22 >> 1];
+         if ((j | 0) != (C & 65535)) {
+          d = q[a + 12 >> 2];
+          q[e + 84 >> 2] = q[d + 24 >> 2] + (C << 3);
+          p[e + 82 >> 1] = s[d + 22 >> 1] - C;
+          h = s[b + 4 >> 1];
+          c = h & 200;
+          if (c) {
+           vf(e + 80 | 0, b + 16 | 0);
+           h = s[b + 4 >> 1];
+          }
+          k = q[b + 12 >> 2];
+          m = q[b + 8 >> 2];
+          z : {
+           A : {
+            if (!(h & 2)) {
+             c = m + v | 0;
+             if (c >>> 0 >= C >>> 0) {
+              break x;
+             }
+             g = k + C | 0;
+             if (g >>> 0 >= p[d + 22 >> 1] >>> 0) {
+              break x;
+             }
+             i = c << 3;
+             c = q[d + 24 >> 2];
+             d = i + c | 0;
+             c = c + (g << 3) | 0;
+             k = q[d + 4 >> 2] - q[c + 4 >> 2] | 0;
+             m = q[d >> 2] - q[c >> 2] | 0;
+             break A;
+            }
+            if (!(k | m)) {
+             break z;
+            }
+            if (!(!(h & 2048) | !c)) {
+             d = Be(q[b + 16 >> 2], q[b + 20 >> 2]);
+             c = Be(q[b + 28 >> 2], q[b + 24 >> 2]);
+             m = Ee(m, d);
+             k = Ee(k, c);
+            }
+            if (o[a + 16 | 0] & 1) {
+             break A;
+            }
+            d = q[q[a + 4 >> 2] + 44 >> 2];
+            c = q[d + 8 >> 2];
+            m = Ee(m, q[d + 4 >> 2]);
+            k = Ee(k, c);
+            if (!(r[b + 4 | 0] & 4) | r[a + 16 | 0] & 2) {
+             break A;
+            }
+            m = q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] == 35 ? m + 32 & -64 : m;
+            k = k + 32 & -64;
+           }
+           if (!(k | m)) {
+            break z;
+           }
+           wf(e + 80 | 0, m, k);
+          }
+          q[e + 172 >> 2] = 0;
+         }
+         f = f + 1 | 0;
+         if ((E | 0) != (f | 0)) {
+          continue;
+         }
+         break;
+        }
+        c = j << 16 >> 16;
+       }
+       q[a + 164 >> 2] = G;
+       q[a + 28 >> 2] = I;
+       q[a + 24 >> 2] = J;
+       if (!b | q[a + 16 >> 2] & 2 | (!(s[b + 4 >> 1] & 256) | c >>> 0 <= v >>> 0)) {
+        break c;
+       }
+       g = q[a + 12 >> 2];
+       f = p[g + 22 >> 1];
+       b = f + 4 | 0;
+       B : {
+        if (!(p[g + 58 >> 1] + (b + f | 0) >>> 0 > t[g + 4 >> 2] ? b : 0)) {
+         q[e >> 2] = 0;
+         break B;
+        }
+        c = Ue(g, b, 0);
+        q[e >> 2] = c;
+        if (c) {
+         break w;
+        }
+        f = p[g + 22 >> 1];
+       }
+       b = q[a + 72 >> 2];
+       d = g + 24 | 0;
+       c = q[d >> 2] + (f << 3) | 0;
+       q[c >> 2] = q[a + 68 >> 2];
+       q[c + 4 >> 2] = b;
+       b = q[a + 80 >> 2];
+       c = q[d >> 2] + (p[g + 22 >> 1] << 3) | 0;
+       q[c + 8 >> 2] = q[a + 76 >> 2];
+       q[c + 12 >> 2] = b;
+       b = q[a + 184 >> 2];
+       c = q[d >> 2] + (p[g + 22 >> 1] << 3) | 0;
+       q[c + 16 >> 2] = q[a + 180 >> 2];
+       q[c + 20 >> 2] = b;
+       b = q[a + 192 >> 2];
+       c = q[d >> 2] + (p[g + 22 >> 1] << 3) | 0;
+       q[c + 24 >> 2] = q[a + 188 >> 2];
+       q[c + 28 >> 2] = b;
+       b = g + 28 | 0;
+       o[q[b >> 2] + p[g + 22 >> 1] | 0] = 0;
+       o[(p[g + 22 >> 1] + q[b >> 2] | 0) + 1 | 0] = 0;
+       o[(p[g + 22 >> 1] + q[b >> 2] | 0) + 2 | 0] = 0;
+       o[(p[g + 22 >> 1] + q[b >> 2] | 0) + 3 | 0] = 0;
+       b = q[a + 24 >> 2];
+       c = yg(b, q[a + 164 >> 2]);
+       q[e >> 2] = c;
+       if (c) {
+        break w;
+       }
+       d = Bg(b, e);
+       c = q[e >> 2];
+       if (c) {
+        break w;
+       }
+       C : {
+        if (d >>> 0 > s[q[a >> 2] + 286 >> 1]) {
+         c = 22;
+         if (q[a + 28 >> 2] < (d | 0)) {
+          break w;
+         }
+         c = 0;
+         m = q[a + 156 >> 2];
+         k = q[m + 392 >> 2];
+         if (k >>> 0 < d >>> 0) {
+          K = m, L = Te(q[m + 8 >> 2], 1, k, d, q[m + 396 >> 2], e + 80 | 0), q[K + 396 >> 2] = L;
+          m = q[a + 156 >> 2];
+          c = q[e + 80 >> 2];
+          k = c ? k : d;
+         }
+         q[e >> 2] = c;
+         q[m + 392 >> 2] = k & 65535;
+         if (!c) {
+          break C;
+         }
+         break w;
+        }
+        if (!d) {
+         q[e + 172 >> 2] = 0;
+         break c;
+        }
+        m = q[a + 156 >> 2];
+       }
+       c = zg(b, q[m + 396 >> 2], d);
+       q[e >> 2] = c;
+       if (c) {
+        break w;
+       }
+       c = q[q[a + 156 >> 2] + 396 >> 2];
+       b = q[a + 8 >> 2];
+       q[b + 140 >> 2] = d;
+       q[b + 136 >> 2] = c;
+       c = q[a + 12 >> 2];
+       f = s[c + 22 >> 1] - v | 0;
+       p[a + 128 >> 1] = f;
+       p[a + 130 >> 1] = s[c + 20 >> 1] - D;
+       b = v << 3;
+       q[a + 132 >> 2] = b + q[c + 40 >> 2];
+       q[a + 136 >> 2] = b + q[c + 24 >> 2];
+       q[a + 140 >> 2] = b + q[c + 44 >> 2];
+       g = v + q[c + 28 >> 2] | 0;
+       q[a + 144 >> 2] = g;
+       c = q[c + 32 >> 2];
+       p[a + 152 >> 1] = v;
+       b = 1;
+       q[a + 148 >> 2] = c + (D << 1);
+       d = a;
+       if (f & 65535) {
+        o[g | 0] = r[g | 0] & 231;
+        c = s[a + 128 >> 1];
+        if (c >>> 0 >= 2) {
+         while (1) {
+          c = q[a + 144 >> 2] + b | 0;
+          o[c | 0] = r[c | 0] & 231;
+          b = b + 1 | 0;
+          c = s[a + 128 >> 1];
+          if (b >>> 0 < c >>> 0) {
+           continue;
+          }
+          break;
+         }
+        }
+        b = c + 4 | 0;
+       } else {
+        b = 4;
+       }
+       p[d + 128 >> 1] = b;
+       K = e, L = Vi(a, 1), q[K + 172 >> 2] = L;
+       break c;
+      }
+      Xe(y);
+      q[q[a + 8 >> 2] + 72 >> 2] = 1668246896;
+      break c;
+     }
+     q[e + 172 >> 2] = 21;
+     break c;
+    }
+    q[e + 172 >> 2] = c;
+    break c;
+   }
+   n[q[w + 524 >> 2]](a);
+  }
+  if (!F) {
+   break a;
+  }
+  a = q[q[w + 128 >> 2] + 52 >> 2];
+  n[q[q[a >> 2] + 4 >> 2]](q[a + 4 >> 2], e + 120 | 0);
+ }
+ Ca = e + 176 | 0;
+ return q[e + 172 >> 2];
+}
+function Nn(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0;
+ k = Ca - 16 | 0;
+ Ca = k;
+ a : {
+  c = q[a >> 2] + -7 | 0;
+  if (c >>> 0 > 3) {
+   d = -31;
+   break a;
+  }
+  v = a + 8 | 0;
+  h = q[a + 4 >> 2];
+  g = q[a + 52 >> 2];
+  b : {
+   c : {
+    switch (c - 1 | 0) {
+    default:
+     b = 0;
+     break b;
+    case 0:
+     b = 2;
+     break b;
+    case 1:
+     b = 1;
+     break b;
+    case 2:
+     break c;
+    }
+   }
+   b = 3;
+  }
+  while (1) {
+   d : {
+    e : {
+     i = a;
+     f : {
+      g : {
+       h : {
+        i : {
+         j : {
+          k : {
+           l : {
+            m : {
+             n : {
+              o : {
+               p : {
+                q : {
+                 r : {
+                  switch (b | 0) {
+                  case 0:
+                   s : {
+                    while (1) {
+                     q[a >> 2] = 7;
+                     if (q[a + 196 >> 2]) {
+                      break s;
+                     }
+                     if (Yn(a)) {
+                      continue;
+                     }
+                     break;
+                    }
+                    d = 2;
+                    break f;
+                   }
+                   u = q[a + 16 >> 2];
+                   x = q[a + 104 >> 2];
+                   l = q[a + 20 >> 2];
+                   i = q[a + 8 >> 2];
+                   e = i;
+                   t : {
+                    u : {
+                     j = q[a + 12 >> 2];
+                     f = j;
+                     if (32 - f >>> 0 <= 14) {
+                      d = u;
+                      e = i;
+                      b = l;
+                      c = j;
+                      while (1) {
+                       if (!b) {
+                        break u;
+                       }
+                       m = e >>> 8 | 0;
+                       q[a + 8 >> 2] = m;
+                       e = r[d | 0];
+                       b = b + -1 | 0;
+                       q[a + 20 >> 2] = b;
+                       f = c + -8 | 0;
+                       q[a + 12 >> 2] = f;
+                       d = d + 1 | 0;
+                       q[a + 16 >> 2] = d;
+                       e = m | e << 24;
+                       q[a + 8 >> 2] = e;
+                       m = 40 - c | 0;
+                       c = f;
+                       if (m >>> 0 < 15) {
+                        continue;
+                       }
+                       break;
+                      }
+                     }
+                     c = a;
+                     h = e >>> f | 0;
+                     b = x + ((h & 255) << 2) | 0;
+                     d = r[b | 0];
+                     if (d >>> 0 >= 9) {
+                      f = f + 8 | 0;
+                      q[a + 12 >> 2] = f;
+                      b = (s[b + 2 >> 1] + (q[(d << 2) + 153248 >> 2] & h >>> 8 & 127) << 2) + b | 0;
+                      d = r[b | 0];
+                     }
+                     q[c + 12 >> 2] = (d & 255) + f;
+                     b = s[b + 2 >> 1];
+                     q[k + 12 >> 2] = b;
+                     break t;
+                    }
+                    if (!Tn(x, v, k + 12 | 0)) {
+                     break p;
+                    }
+                    b = q[k + 12 >> 2];
+                   }
+                   t = b << 3;
+                   c = r[t + 155475 | 0];
+                   q[a + 180 >> 2] = c;
+                   q[a + 268 >> 2] = o[t + 155474 | 0];
+                   o[a + 260 | 0] = r[c + q[a + 116 >> 2] | 0];
+                   h = s[t + 155476 >> 1];
+                   y = 0;
+                   x = 0;
+                   n = r[t + 155472 | 0];
+                   if (n) {
+                    c = q[a + 12 >> 2];
+                    v : {
+                     if (32 - c >>> 0 >= n >>> 0) {
+                      e = q[v >> 2];
+                      break v;
+                     }
+                     b = q[a + 20 >> 2];
+                     d = c;
+                     while (1) {
+                      if (!b) {
+                       break q;
+                      }
+                      m = q[a + 8 >> 2] >>> 8 | 0;
+                      q[a + 8 >> 2] = m;
+                      e = q[a + 16 >> 2];
+                      f = r[e | 0];
+                      b = b + -1 | 0;
+                      q[a + 20 >> 2] = b;
+                      c = d + -8 | 0;
+                      q[a + 12 >> 2] = c;
+                      q[a + 16 >> 2] = e + 1;
+                      e = m | f << 24;
+                      q[a + 8 >> 2] = e;
+                      f = 40 - d | 0;
+                      d = c;
+                      if (f >>> 0 < n >>> 0) {
+                       continue;
+                      }
+                      break;
+                     }
+                    }
+                    q[a + 12 >> 2] = c + n;
+                    x = q[(n << 2) + 153280 >> 2] & e >>> c;
+                   }
+                   z = a;
+                   n = r[t + 155473 | 0];
+                   if (n) {
+                    c = q[a + 12 >> 2];
+                    w : {
+                     if (32 - c >>> 0 >= n >>> 0) {
+                      e = q[v >> 2];
+                      break w;
+                     }
+                     b = q[a + 20 >> 2];
+                     d = c;
+                     while (1) {
+                      if (!b) {
+                       break q;
+                      }
+                      m = q[a + 8 >> 2] >>> 8 | 0;
+                      q[a + 8 >> 2] = m;
+                      e = q[a + 16 >> 2];
+                      f = r[e | 0];
+                      b = b + -1 | 0;
+                      q[a + 20 >> 2] = b;
+                      c = d + -8 | 0;
+                      q[a + 12 >> 2] = c;
+                      q[a + 16 >> 2] = e + 1;
+                      e = m | f << 24;
+                      q[a + 8 >> 2] = e;
+                      f = 40 - d | 0;
+                      d = c;
+                      if (f >>> 0 < n >>> 0) {
+                       continue;
+                      }
+                      break;
+                     }
+                    }
+                    q[a + 12 >> 2] = c + n;
+                    c = q[(n << 2) + 153280 >> 2] & e >>> c;
+                   } else {
+                    c = y;
+                   }
+                   q[z + 264 >> 2] = c + s[t + 155478 >> 1];
+                   q[a + 196 >> 2] = q[a + 196 >> 2] + -1;
+                   h = h + x | 0;
+                   if (h) {
+                    break o;
+                   }
+                   h = 0;
+                   break m;
+                  case 2:
+                   break n;
+                  case 1:
+                   break r;
+                  default:
+                   break j;
+                  }
+                 }
+                 q[a >> 2] = 9;
+                 c = q[a + 268 >> 2];
+                 if ((c | 0) < 0) {
+                  break i;
+                 }
+                 q[a + 180 >> 2] = !c;
+                 c = q[a + 72 >> 2] + -1 | 0;
+                 q[a + 72 >> 2] = c;
+                 b = q[(((c & 3) << 2) + a | 0) + 76 >> 2];
+                 break h;
+                }
+                q[a + 20 >> 2] = l;
+                q[a + 16 >> 2] = u;
+                q[a + 12 >> 2] = j;
+                q[a + 8 >> 2] = i;
+               }
+               d = 2;
+               break f;
+              }
+              q[a + 184 >> 2] = q[a + 184 >> 2] - h;
+              b = 2;
+              continue;
+             }
+             b = q[a + 176 >> 2];
+             x : while (1) {
+              y : {
+               q[a >> 2] = 8;
+               z : {
+                if (b) {
+                 f = h;
+                 j = g;
+                 break z;
+                }
+                d = q[a + 96 >> 2];
+                b = q[a + 68 >> 2];
+                c = r[d + (b & g + -2) | 0];
+                i = r[d + (b & g + -1) | 0];
+                d = q[a + 192 >> 2];
+                f = h;
+                j = g;
+                A : {
+                 B : {
+                  while (1) {
+                   if (!d) {
+                    if (!Zn(a)) {
+                     break B;
+                    }
+                    if (q[a + 176 >> 2]) {
+                     break A;
+                    }
+                   }
+                   d = c & 255;
+                   c = q[a + 108 >> 2];
+                   m = q[q[a + 120 >> 2] + (r[q[a + 112 >> 2] + (r[(d + c | 0) + 256 | 0] | r[c + (i & 255) | 0]) | 0] << 2) >> 2];
+                   C : {
+                    D : {
+                     c = q[a + 12 >> 2];
+                     E : {
+                      if (32 - c >>> 0 >= 15) {
+                       e = q[v >> 2];
+                       break E;
+                      }
+                      b = q[a + 20 >> 2];
+                      d = c;
+                      while (1) {
+                       if (!b) {
+                        break D;
+                       }
+                       u = q[a + 8 >> 2] >>> 8 | 0;
+                       q[a + 8 >> 2] = u;
+                       l = q[a + 16 >> 2];
+                       e = r[l | 0];
+                       b = b + -1 | 0;
+                       q[a + 20 >> 2] = b;
+                       c = d + -8 | 0;
+                       q[a + 12 >> 2] = c;
+                       q[a + 16 >> 2] = l + 1;
+                       e = u | e << 24;
+                       q[a + 8 >> 2] = e;
+                       l = 40 - d | 0;
+                       d = c;
+                       if (l >>> 0 < 15) {
+                        continue;
+                       }
+                       break;
+                      }
+                     }
+                     d = a;
+                     l = e >>> c | 0;
+                     b = m + ((l & 255) << 2) | 0;
+                     e = r[b | 0];
+                     if (e >>> 0 >= 9) {
+                      c = c + 8 | 0;
+                      q[a + 12 >> 2] = c;
+                      b = (s[b + 2 >> 1] + (q[(e << 2) + 153248 >> 2] & l >>> 8 & 127) << 2) + b | 0;
+                      e = r[b | 0];
+                     }
+                     q[d + 12 >> 2] = (e & 255) + c;
+                     b = r[b + 2 | 0];
+                     break C;
+                    }
+                    if (!Tn(m, v, k + 12 | 0)) {
+                     break B;
+                    }
+                    b = q[k + 12 >> 2];
+                   }
+                   o[q[a + 96 >> 2] + j | 0] = b;
+                   d = q[a + 192 >> 2] + -1 | 0;
+                   q[a + 192 >> 2] = d;
+                   j = j + 1 | 0;
+                   if ((j | 0) == q[a + 64 >> 2]) {
+                    q[a >> 2] = 13;
+                    h = f + -1 | 0;
+                    g = j;
+                    d = 1;
+                    break f;
+                   }
+                   c = i;
+                   i = b;
+                   f = f + -1 | 0;
+                   if (f) {
+                    continue;
+                   }
+                   break;
+                  }
+                  f = h;
+                  j = g;
+                  break y;
+                 }
+                 h = f;
+                 g = j;
+                 d = 2;
+                 break f;
+                }
+                q[a >> 2] = 8;
+                h = f;
+                g = j;
+               }
+               b = q[a + 192 >> 2];
+               while (1) {
+                F : {
+                 if (b) {
+                  break F;
+                 }
+                 d = 2;
+                 if (!Zn(a)) {
+                  break f;
+                 }
+                 if (q[a + 176 >> 2]) {
+                  break F;
+                 }
+                 b = 0;
+                 continue x;
+                }
+                u = q[a + 256 >> 2];
+                G : {
+                 H : {
+                  c = q[a + 12 >> 2];
+                  I : {
+                   if (32 - c >>> 0 >= 15) {
+                    e = q[v >> 2];
+                    break I;
+                   }
+                   b = q[a + 20 >> 2];
+                   d = c;
+                   while (1) {
+                    if (!b) {
+                     break H;
+                    }
+                    l = q[a + 8 >> 2] >>> 8 | 0;
+                    q[a + 8 >> 2] = l;
+                    e = q[a + 16 >> 2];
+                    i = r[e | 0];
+                    b = b + -1 | 0;
+                    q[a + 20 >> 2] = b;
+                    c = d + -8 | 0;
+                    q[a + 12 >> 2] = c;
+                    q[a + 16 >> 2] = e + 1;
+                    e = l | i << 24;
+                    q[a + 8 >> 2] = e;
+                    i = 40 - d | 0;
+                    d = c;
+                    if (i >>> 0 < 15) {
+                     continue;
+                    }
+                    break;
+                   }
+                  }
+                  d = a;
+                  e = e >>> c | 0;
+                  b = u + ((e & 255) << 2) | 0;
+                  i = r[b | 0];
+                  if (i >>> 0 >= 9) {
+                   c = c + 8 | 0;
+                   q[a + 12 >> 2] = c;
+                   b = (s[b + 2 >> 1] + (q[(i << 2) + 153248 >> 2] & e >>> 8 & 127) << 2) + b | 0;
+                   i = r[b | 0];
+                  }
+                  q[d + 12 >> 2] = (i & 255) + c;
+                  b = s[b + 2 >> 1];
+                  q[k + 12 >> 2] = b;
+                  break G;
+                 }
+                 if (!Tn(u, v, k + 12 | 0)) {
+                  break k;
+                 }
+                 b = q[k + 12 >> 2];
+                }
+                o[q[a + 96 >> 2] + g | 0] = b;
+                b = q[a + 192 >> 2] + -1 | 0;
+                q[a + 192 >> 2] = b;
+                g = g + 1 | 0;
+                if ((g | 0) == q[a + 64 >> 2]) {
+                 q[a >> 2] = 13;
+                 h = h + -1 | 0;
+                 d = 1;
+                 break f;
+                }
+                h = h + -1 | 0;
+                if (h) {
+                 continue;
+                }
+                break;
+               }
+              }
+              break;
+             }
+             g = f + j | 0;
+             h = 0;
+             if (q[a + 184 >> 2] <= 0) {
+              break l;
+             }
+            }
+            b = 1;
+            continue;
+           }
+           q[a >> 2] = 14;
+           d = 1;
+           break f;
+          }
+          d = 2;
+          break f;
+         }
+         d = q[a + 64 >> 2] - g | 0;
+         J : {
+          K : {
+           while (1) {
+            c = h + -1 | 0;
+            if ((h | 0) < 1) {
+             break K;
+            }
+            h = q[a + 96 >> 2];
+            o[h + g | 0] = r[h + (q[a + 68 >> 2] & g - q[a + 268 >> 2]) | 0];
+            g = g + 1 | 0;
+            h = c;
+            d = d + -1 | 0;
+            if (d) {
+             continue;
+            }
+            break;
+           }
+           q[a >> 2] = 16;
+           break J;
+          }
+          if (q[a + 184 >> 2] > 0) {
+           h = c;
+           break e;
+          }
+          q[a >> 2] = 14;
+         }
+         h = c;
+         d = 1;
+         break f;
+        }
+        L : {
+         if (q[a + 200 >> 2]) {
+          break L;
+         }
+         if (_n(a)) {
+          break L;
+         }
+         d = 2;
+         break f;
+        }
+        x = q[a + 20 >> 2];
+        m = q[a + 16 >> 2];
+        y = q[q[a + 152 >> 2] + (r[a + 260 | 0] << 2) >> 2];
+        u = q[a + 8 >> 2];
+        e = u;
+        M : {
+         N : {
+          O : {
+           P : {
+            Q : {
+             R : {
+              S : {
+               l = q[a + 12 >> 2];
+               f = l;
+               if (32 - f >>> 0 <= 14) {
+                d = m;
+                e = u;
+                b = x;
+                c = l;
+                while (1) {
+                 if (!b) {
+                  break S;
+                 }
+                 e = e >>> 8 | 0;
+                 q[a + 8 >> 2] = e;
+                 j = r[d | 0];
+                 b = b + -1 | 0;
+                 q[a + 20 >> 2] = b;
+                 f = c + -8 | 0;
+                 q[a + 12 >> 2] = f;
+                 d = d + 1 | 0;
+                 q[a + 16 >> 2] = d;
+                 e = e | j << 24;
+                 q[a + 8 >> 2] = e;
+                 j = 40 - c | 0;
+                 c = f;
+                 if (j >>> 0 < 15) {
+                  continue;
+                 }
+                 break;
+                }
+               }
+               c = a;
+               e = e >>> f | 0;
+               j = e & 255;
+               b = y + (j << 2) | 0;
+               d = r[b | 0];
+               if (d >>> 0 >= 9) {
+                f = f + 8 | 0;
+                q[a + 12 >> 2] = f;
+                b = (s[(y + (j << 2) | 0) + 2 >> 1] + (q[(d << 2) + 153248 >> 2] & e >>> 8 & 127) << 2) + b | 0;
+                d = r[b | 0];
+               }
+               q[c + 12 >> 2] = (d & 255) + f;
+               b = s[b + 2 >> 1];
+               q[k + 12 >> 2] = b;
+               break R;
+              }
+              if (!Tn(y, v, k + 12 | 0)) {
+               break Q;
+              }
+              b = q[k + 12 >> 2];
+             }
+             q[a + 180 >> 2] = 0;
+             n = q[a + 200 >> 2] + -1 | 0;
+             q[a + 200 >> 2] = n;
+             if (b >>> 0 <= 15) {
+              q[a + 268 >> 2] = b;
+              if ((b | 0) > 3) {
+               break O;
+              }
+              d = 1 >>> b | 0;
+              q[a + 180 >> 2] = d;
+              c = q[a + 72 >> 2];
+              b = q[(((c + (b ^ -1) & 3) << 2) + a | 0) + 76 >> 2];
+              q[a + 268 >> 2] = b;
+              q[a + 72 >> 2] = c - d;
+              break g;
+             }
+             t = r[(a + 624 | 0) + b | 0];
+             if (!t) {
+              break P;
+             }
+             T : {
+              if (t >>> 0 <= 24) {
+               f = q[a + 12 >> 2];
+               U : {
+                if (32 - f >>> 0 >= t >>> 0) {
+                 j = q[v >> 2];
+                 break U;
+                }
+                d = q[a + 20 >> 2];
+                c = f;
+                while (1) {
+                 if (!d) {
+                  break T;
+                 }
+                 y = q[a + 8 >> 2] >>> 8 | 0;
+                 q[a + 8 >> 2] = y;
+                 e = q[a + 16 >> 2];
+                 j = r[e | 0];
+                 d = d + -1 | 0;
+                 q[a + 20 >> 2] = d;
+                 f = c + -8 | 0;
+                 q[a + 12 >> 2] = f;
+                 q[a + 16 >> 2] = e + 1;
+                 j = y | j << 24;
+                 q[a + 8 >> 2] = j;
+                 e = 40 - c | 0;
+                 c = f;
+                 if (e >>> 0 < t >>> 0) {
+                  continue;
+                 }
+                 break;
+                }
+               }
+               d = q[(t << 2) + 153280 >> 2] & j >>> f;
+               q[k + 8 >> 2] = d;
+               q[a + 12 >> 2] = f + t;
+               break M;
+              }
+              if (un(v, t, k + 8 | 0)) {
+               break N;
+              }
+              n = q[a + 200 >> 2];
+             }
+             q[a + 20 >> 2] = x;
+             q[a + 16 >> 2] = m;
+             q[a + 12 >> 2] = l;
+             q[a + 8 >> 2] = u;
+             q[a + 200 >> 2] = n + 1;
+            }
+            d = 2;
+            break f;
+           }
+           d = 0;
+           q[k + 8 >> 2] = 0;
+           break M;
+          }
+          c = (b | 0) < 10;
+          c = ((6312258 >>> ((c ? -4 : -10) + b << 2) & 15) + q[(((q[a + 72 >> 2] + (c ? 3 : 10) & 3) << 2) + a | 0) + 76 >> 2] | 0) + -3 | 0;
+          b = (c | 0) < 1 ? 2147483647 : c;
+          break h;
+         }
+         d = q[k + 8 >> 2];
+        }
+        b = q[((b << 2) + a | 0) + 1168 >> 2] + (d << q[a + 240 >> 2]) | 0;
+       }
+       q[i + 268 >> 2] = b;
+      }
+      d = q[a + 60 >> 2];
+      c = q[a + 56 >> 2];
+      if ((d | 0) != (c | 0)) {
+       d = (g | 0) < (c | 0) ? g : c;
+       q[a + 60 >> 2] = d;
+      }
+      h = q[a + 264 >> 2];
+      V : {
+       if ((b | 0) > (d | 0)) {
+        if ((b | 0) > 2147483644) {
+         d = -16;
+         break a;
+        }
+        if (h + -4 >>> 0 > 20) {
+         d = -12;
+         break a;
+        }
+        c = q[a + 584 >> 2];
+        f = q[(c + (h << 2) | 0) + 32 >> 2];
+        e = r[c + h | 0];
+        q[a + 72 >> 2] = q[a + 72 >> 2] + q[a + 180 >> 2];
+        j = q[c + 164 >> 2];
+        if (!j) {
+         d = -19;
+         break a;
+        }
+        c = (d ^ -1) + b | 0;
+        i = c >> e;
+        b = q[a + 588 >> 2];
+        if ((i | 0) >= q[b + 12 >> 2]) {
+         d = -11;
+         break a;
+        }
+        d = j + (f + w(c & q[(e << 2) + 153280 >> 2], h) | 0) | 0;
+        c = q[a + 96 >> 2] + g | 0;
+        W : {
+         if ((i | 0) == p[b + 24 >> 1]) {
+          Y$(c, d, h);
+          c = h;
+          break W;
+         }
+         c = vn(c, d, h, b, i);
+        }
+        q[a + 184 >> 2] = q[a + 184 >> 2] - c;
+        g = c + g | 0;
+        if ((g | 0) < q[a + 64 >> 2]) {
+         b = g;
+         break V;
+        }
+        q[a >> 2] = 15;
+        d = 1;
+        break f;
+       }
+       f = q[a + 96 >> 2];
+       d = q[a + 68 >> 2];
+       c = q[a + 72 >> 2];
+       q[(((c & 3) << 2) + a | 0) + 76 >> 2] = b;
+       q[a + 72 >> 2] = c + 1;
+       q[a + 184 >> 2] = q[a + 184 >> 2] - h;
+       j = d & g - b;
+       e = j + f | 0;
+       d = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+       c = r[e + 4 | 0] | r[e + 5 | 0] << 8 | (r[e + 6 | 0] << 16 | r[e + 7 | 0] << 24);
+       i = f + g | 0;
+       f = r[e + 12 | 0] | r[e + 13 | 0] << 8 | (r[e + 14 | 0] << 16 | r[e + 15 | 0] << 24);
+       b = r[e + 8 | 0] | r[e + 9 | 0] << 8 | (r[e + 10 | 0] << 16 | r[e + 11 | 0] << 24);
+       o[i + 8 | 0] = b;
+       o[i + 9 | 0] = b >>> 8;
+       o[i + 10 | 0] = b >>> 16;
+       o[i + 11 | 0] = b >>> 24;
+       o[i + 12 | 0] = f;
+       o[i + 13 | 0] = f >>> 8;
+       o[i + 14 | 0] = f >>> 16;
+       o[i + 15 | 0] = f >>> 24;
+       o[i | 0] = d;
+       o[i + 1 | 0] = d >>> 8;
+       o[i + 2 | 0] = d >>> 16;
+       o[i + 3 | 0] = d >>> 24;
+       o[i + 4 | 0] = c;
+       o[i + 5 | 0] = c >>> 8;
+       o[i + 6 | 0] = c >>> 16;
+       o[i + 7 | 0] = c >>> 24;
+       b = g + h | 0;
+       d = h + j | 0;
+       if ((d | 0) > (g | 0) ? (b | 0) > (j | 0) : 0) {
+        break d;
+       }
+       c = q[a + 64 >> 2];
+       if ((b | 0) >= (c | 0) | (d | 0) >= (c | 0)) {
+        break d;
+       }
+       if ((h | 0) < 17) {
+        break V;
+       }
+       g = e + 16 | 0;
+       f = i + 16 | 0;
+       if ((h | 0) >= 33) {
+        Y$(f, g, h + -16 | 0);
+        break V;
+       }
+       d = r[g | 0] | r[g + 1 | 0] << 8 | (r[g + 2 | 0] << 16 | r[g + 3 | 0] << 24);
+       c = r[g + 4 | 0] | r[g + 5 | 0] << 8 | (r[g + 6 | 0] << 16 | r[g + 7 | 0] << 24);
+       j = r[g + 12 | 0] | r[g + 13 | 0] << 8 | (r[g + 14 | 0] << 16 | r[g + 15 | 0] << 24);
+       g = r[g + 8 | 0] | r[g + 9 | 0] << 8 | (r[g + 10 | 0] << 16 | r[g + 11 | 0] << 24);
+       o[f + 8 | 0] = g;
+       o[f + 9 | 0] = g >>> 8;
+       o[f + 10 | 0] = g >>> 16;
+       o[f + 11 | 0] = g >>> 24;
+       o[f + 12 | 0] = j;
+       o[f + 13 | 0] = j >>> 8;
+       o[f + 14 | 0] = j >>> 16;
+       o[f + 15 | 0] = j >>> 24;
+       o[f | 0] = d;
+       o[f + 1 | 0] = d >>> 8;
+       o[f + 2 | 0] = d >>> 16;
+       o[f + 3 | 0] = d >>> 24;
+       o[f + 4 | 0] = c;
+       o[f + 5 | 0] = c >>> 8;
+       o[f + 6 | 0] = c >>> 16;
+       o[f + 7 | 0] = c >>> 24;
+      }
+      if (q[a + 184 >> 2] > 0) {
+       g = b;
+       break e;
+      }
+      q[a >> 2] = 14;
+      g = b;
+      d = 1;
+     }
+     q[a + 4 >> 2] = h;
+     q[a + 52 >> 2] = g;
+     break a;
+    }
+    b = 0;
+    continue;
+   }
+   b = 3;
+   continue;
+  }
+ }
+ Ca = k + 16 | 0;
+ return d;
+}
+function QE(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0;
+ k = Ca - 16 | 0;
+ Ca = k;
+ q[c + 32 >> 2] = 0;
+ o[c + 164 | 0] = 0;
+ f = q[c + 76 >> 2];
+ a : {
+  if (f >>> 0 > 134217726) {
+   break a;
+  }
+  g = f << 5;
+  q[c + 36 >> 2] = g >>> 0 > 8192 ? g : 8192;
+  if (f >>> 0 > 67108862) {
+   break a;
+  }
+  f = f << 6;
+  q[c + 40 >> 2] = f >>> 0 > 1024 ? f : 1024;
+ }
+ o[c + 164 | 0] = 48;
+ z = q[c + 48 >> 2];
+ sG(c);
+ j = q[c + 76 >> 2];
+ if (j) {
+  g = q[a + 96 >> 2];
+  i = q[c + 88 >> 2];
+  f = 0;
+  while (1) {
+   q[(i + w(f, 20) | 0) + 4 >> 2] = g;
+   f = f + 1 | 0;
+   if ((j | 0) != (f | 0)) {
+    continue;
+   }
+   break;
+  }
+  while (1) {
+   f = i + w(h, 20) | 0;
+   JE(f, c);
+   l = f + 16 | 0;
+   g = s[f + 16 >> 1];
+   b : {
+    if (!((g & 31) != 24 | q[f >> 2] + -127995 >>> 0 > 4)) {
+     p[l >> 1] = g | 128;
+     break b;
+    }
+    if ((g & 287) == 257) {
+     p[l >> 1] = g | 128;
+     f = h + 1 | 0;
+     if (f >>> 0 >= j >>> 0) {
+      break b;
+     }
+     g = i + w(f, 20) | 0;
+     if (!mG(q[g >> 2])) {
+      break b;
+     }
+     JE(g, c);
+     p[g + 16 >> 1] = s[g + 16 >> 1] | 128;
+     h = f;
+     break b;
+    }
+    if (q[f >> 2] + -917536 >>> 0 > 95) {
+     break b;
+    }
+    p[l >> 1] = g | 128;
+   }
+   h = h + 1 | 0;
+   if (h >>> 0 < j >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ c : {
+  if (!(1 << (s[q[c + 88 >> 2] + 16 >> 1] & 31) & 7168) | (q[c + 144 >> 2] | (q[c + 16 >> 2] & 17) != 1)) {
+   break c;
+  }
+  q[k + 12 >> 2] = 0;
+  f = q[b + 72 >> 2];
+  if (!n[q[f + 156 >> 2]](b, q[b + 76 >> 2], 9676, k + 12 | 0, q[f + 20 >> 2])) {
+   break c;
+  }
+  f = q[c + 12 >> 2];
+  h = n[q[f + 24 >> 2]](f, 9676, q[f + 56 >> 2]) | 0;
+  q[c + 32 >> 2] = q[c + 32 >> 2] | 1;
+  if (!(!(1 << h & 7168) | h >>> 0 > 31)) {
+   h = r[(n[q[f + 16 >> 2]](f, 9676, q[f + 48 >> 2]) | 0) + 271520 | 0] << 8 | h | 128;
+  }
+  sG(c);
+  q[c + 72 >> 2] = 0;
+  f = q[c + 88 >> 2];
+  g = q[f + 4 >> 2];
+  j = q[f + 8 >> 2];
+  if (pG(c, 0, 1)) {
+   f = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+   p[f + 18 >> 1] = 0;
+   p[f + 16 >> 1] = h;
+   q[f + 12 >> 2] = 0;
+   q[f + 8 >> 2] = j;
+   q[f + 4 >> 2] = g;
+   q[f >> 2] = 9676;
+   q[c + 80 >> 2] = q[c + 80 >> 2] + 1;
+  }
+  f = q[c + 72 >> 2];
+  d : {
+   if (f >>> 0 >= t[c + 76 >> 2]) {
+    break d;
+   }
+   while (1) {
+    if (!r[c + 68 | 0]) {
+     break d;
+    }
+    e : {
+     if (r[c + 69 | 0]) {
+      h = c;
+      f : {
+       if (q[c + 92 >> 2] == q[c + 88 >> 2]) {
+        g = f;
+        if (q[c + 80 >> 2] == (f | 0)) {
+         break f;
+        }
+       }
+       if (!pG(c, 1, 1)) {
+        f = q[c + 72 >> 2];
+        break e;
+       }
+       g = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+       j = q[g + 4 >> 2];
+       f = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+       q[f >> 2] = q[g >> 2];
+       q[f + 4 >> 2] = j;
+       q[f + 16 >> 2] = q[g + 16 >> 2];
+       j = q[g + 12 >> 2];
+       q[f + 8 >> 2] = q[g + 8 >> 2];
+       q[f + 12 >> 2] = j;
+       f = q[c + 72 >> 2];
+       g = q[c + 80 >> 2];
+      }
+      q[h + 80 >> 2] = g + 1;
+     }
+     f = f + 1 | 0;
+     q[c + 72 >> 2] = f;
+    }
+    if (f >>> 0 < t[c + 76 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  uG(c);
+ }
+ g : {
+  if (!(o[c + 32 | 0] & 1)) {
+   break g;
+  }
+  j = q[c + 76 >> 2];
+  if (!q[c + 20 >> 2]) {
+   if (!j) {
+    break g;
+   }
+   f = j + -1 | 0;
+   i = q[c + 88 >> 2];
+   g = 0;
+   while (1) {
+    h : {
+     if ((f | 0) == (g | 0)) {
+      g = j;
+      break h;
+     }
+     g = g + 1 | 0;
+     if (r[(w(g, 20) + i | 0) + 16 | 0] & 128) {
+      continue;
+     }
+    }
+    break;
+   }
+   l = 0;
+   h = j;
+   while (1) {
+    if (g - l >>> 0 >= 2) {
+     wG(c, l, g);
+     i = q[c + 88 >> 2];
+     h = q[c + 76 >> 2];
+    }
+    f = g + 1 | 0;
+    l = h >>> 0 > f >>> 0 ? h : f;
+    f = g;
+    while (1) {
+     i : {
+      f = f + 1 | 0;
+      if (f >>> 0 >= h >>> 0) {
+       f = l;
+       break i;
+      }
+      if (r[(w(f, 20) + i | 0) + 16 | 0] & 128) {
+       continue;
+      }
+     }
+     break;
+    }
+    v = g >>> 0 < j >>> 0;
+    l = g;
+    g = f;
+    if (v) {
+     continue;
+    }
+    break;
+   }
+   break g;
+  }
+  if (!j) {
+   break g;
+  }
+  g = j + -1 | 0;
+  i = q[c + 88 >> 2];
+  f = 0;
+  while (1) {
+   j : {
+    if ((f | 0) == (g | 0)) {
+     f = j;
+     break j;
+    }
+    f = f + 1 | 0;
+    if (r[(w(f, 20) + i | 0) + 16 | 0] & 128) {
+     continue;
+    }
+   }
+   break;
+  }
+  l = 0;
+  h = j;
+  while (1) {
+   g = f;
+   if (f - l >>> 0 >= 2) {
+    DG(c, l, g);
+    i = q[c + 88 >> 2];
+    h = q[c + 76 >> 2];
+   }
+   f = g + 1 | 0;
+   l = h >>> 0 > f >>> 0 ? h : f;
+   f = g;
+   while (1) {
+    k : {
+     f = f + 1 | 0;
+     if (f >>> 0 >= h >>> 0) {
+      f = l;
+      break k;
+     }
+     if (r[(w(f, 20) + i | 0) + 16 | 0] & 128) {
+      continue;
+     }
+    }
+    break;
+   }
+   l = g;
+   if (g >>> 0 < j >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ f = q[c + 48 >> 2];
+ g = Aq(q[c + 52 >> 2]);
+ h = f & -2;
+ l : {
+  m : {
+   if ((h | 0) == 4) {
+    if ((f | 0) == (g | 0)) {
+     break l;
+    }
+    if (g) {
+     break m;
+    }
+    break l;
+   }
+   if ((f | 0) == 6 | (h | 0) != 6) {
+    break l;
+   }
+  }
+  j = q[c + 76 >> 2];
+  n : {
+   if (q[c + 20 >> 2] == 1) {
+    if (!j) {
+     break n;
+    }
+    f = j + -1 | 0;
+    h = q[c + 88 >> 2];
+    g = 0;
+    while (1) {
+     o : {
+      if ((f | 0) == (g | 0)) {
+       g = j;
+       break o;
+      }
+      g = g + 1 | 0;
+      if (r[(h + w(g, 20) | 0) + 16 | 0] & 128) {
+       continue;
+      }
+     }
+     break;
+    }
+    h = 0;
+    while (1) {
+     if (g - h >>> 0 >= 2) {
+      wG(c, h, g);
+     }
+     zG(c, h, g);
+     i = q[c + 76 >> 2];
+     f = g + 1 | 0;
+     h = i >>> 0 > f >>> 0 ? i : f;
+     l = q[c + 88 >> 2];
+     f = g;
+     while (1) {
+      p : {
+       f = f + 1 | 0;
+       if (f >>> 0 >= i >>> 0) {
+        f = h;
+        break p;
+       }
+       if (r[(l + w(f, 20) | 0) + 16 | 0] & 128) {
+        continue;
+       }
+      }
+      break;
+     }
+     i = g >>> 0 < j >>> 0;
+     h = g;
+     g = f;
+     if (i) {
+      continue;
+     }
+     break;
+    }
+    break n;
+   }
+   if (!j) {
+    break n;
+   }
+   g = j + -1 | 0;
+   h = q[c + 88 >> 2];
+   f = 0;
+   while (1) {
+    q : {
+     if ((f | 0) == (g | 0)) {
+      f = j;
+      break q;
+     }
+     f = f + 1 | 0;
+     if (r[(h + w(f, 20) | 0) + 16 | 0] & 128) {
+      continue;
+     }
+    }
+    break;
+   }
+   g = 0;
+   while (1) {
+    h = g;
+    g = f;
+    zG(c, h, f);
+    i = q[c + 76 >> 2];
+    h = f + 1 | 0;
+    h = i >>> 0 > h >>> 0 ? i : h;
+    l = q[c + 88 >> 2];
+    while (1) {
+     r : {
+      f = f + 1 | 0;
+      if (f >>> 0 >= i >>> 0) {
+       f = h;
+       break r;
+      }
+      if (r[(l + w(f, 20) | 0) + 16 | 0] & 128) {
+       continue;
+      }
+     }
+     break;
+    }
+    if (g >>> 0 < j >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  AG(c);
+  q[c + 48 >> 2] = q[c + 48 >> 2] ^ 1;
+ }
+ l = a + 60 | 0;
+ f = q[q[a + 80 >> 2] + 16 >> 2];
+ if (f) {
+  n[f](l, c, b);
+ }
+ v = q[c + 88 >> 2];
+ h = q[c + 76 >> 2];
+ if (!(!h | (z & -3) != 5)) {
+  m = q[a + 188 >> 2];
+  g = q[c + 12 >> 2];
+  i = 0;
+  while (1) {
+   f = v + w(i, 20) | 0;
+   j = n[q[g + 28 >> 2]](g, q[f >> 2], q[g + 60 >> 2]) | 0;
+   s : {
+    t : {
+     if ((j | 0) == q[f >> 2]) {
+      break t;
+     }
+     q[k + 12 >> 2] = 0;
+     u = q[b + 72 >> 2];
+     if (!n[q[u + 156 >> 2]](b, q[b + 76 >> 2], j, k + 12 | 0, q[u + 20 >> 2])) {
+      break t;
+     }
+     q[f >> 2] = j;
+     break s;
+    }
+    q[f + 4 >> 2] = m | q[f + 4 >> 2];
+   }
+   i = i + 1 | 0;
+   if ((h | 0) != (i | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ if (!(s[a + 200 >> 1] & 8 | (!h | (z & -2) != 6))) {
+  f = 0;
+  while (1) {
+   m = v + w(f, 20) | 0;
+   g = q[m >> 2];
+   j = g >>> 8 | 0;
+   i = j + -32 | 0;
+   u : {
+    v : {
+     if (i >>> 0 > 16) {
+      j = j + -254 | 0;
+      if (j >>> 0 > 1) {
+       break u;
+      }
+      if (j - 1) {
+       i = 65076;
+       if ((g | 0) == 65103) {
+        break v;
+       }
+       break u;
+      }
+      j = g + -65281 | 0;
+      if (j >>> 0 > 92) {
+       break u;
+      }
+      i = 65045;
+      w : {
+       switch (j - 1 | 0) {
+       case 6:
+        i = 65077;
+        break v;
+       case 7:
+        i = 65078;
+        break v;
+       case 10:
+        i = 65040;
+        break v;
+       case 24:
+        i = 65043;
+        break v;
+       case 25:
+        i = 65044;
+        break v;
+       case 29:
+        i = 65046;
+        break v;
+       case 57:
+        i = 65095;
+        break v;
+       case 59:
+        i = 65096;
+        break v;
+       case 61:
+        i = 65075;
+        break v;
+       case 89:
+        i = 65079;
+        break v;
+       case 0:
+       case 1:
+       case 2:
+       case 3:
+       case 4:
+       case 5:
+       case 8:
+       case 9:
+       case 11:
+       case 12:
+       case 13:
+       case 14:
+       case 15:
+       case 16:
+       case 17:
+       case 18:
+       case 19:
+       case 20:
+       case 21:
+       case 22:
+       case 23:
+       case 26:
+       case 27:
+       case 28:
+       case 30:
+       case 31:
+       case 32:
+       case 33:
+       case 34:
+       case 35:
+       case 36:
+       case 37:
+       case 38:
+       case 39:
+       case 40:
+       case 41:
+       case 42:
+       case 43:
+       case 44:
+       case 45:
+       case 46:
+       case 47:
+       case 48:
+       case 49:
+       case 50:
+       case 51:
+       case 52:
+       case 53:
+       case 54:
+       case 55:
+       case 56:
+       case 58:
+       case 60:
+       case 62:
+       case 63:
+       case 64:
+       case 65:
+       case 66:
+       case 67:
+       case 68:
+       case 69:
+       case 70:
+       case 71:
+       case 72:
+       case 73:
+       case 74:
+       case 75:
+       case 76:
+       case 77:
+       case 78:
+       case 79:
+       case 80:
+       case 81:
+       case 82:
+       case 83:
+       case 84:
+       case 85:
+       case 86:
+       case 87:
+       case 88:
+       case 90:
+        break u;
+       case 91:
+        break w;
+       default:
+        break v;
+       }
+      }
+      i = 65080;
+      break v;
+     }
+     x : {
+      switch (i - 1 | 0) {
+      case 15:
+       j = g + -12289 | 0;
+       if (j >>> 0 >= 23 | !(7995267 >>> j & 1)) {
+        break u;
+       }
+       i = q[(j << 2) + 270080 >> 2];
+       break v;
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 8:
+      case 9:
+      case 10:
+      case 11:
+      case 12:
+      case 13:
+      case 14:
+       break u;
+      default:
+       break x;
+      }
+     }
+     j = g + -8211 | 0;
+     if (j >>> 0 > 19) {
+      break u;
+     }
+     i = 65074;
+     y : {
+      switch (j - 1 | 0) {
+      case 0:
+       i = 65073;
+       break v;
+      case 17:
+       i = 65072;
+       break v;
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 8:
+      case 9:
+      case 10:
+      case 11:
+      case 12:
+      case 13:
+      case 14:
+      case 15:
+      case 16:
+       break u;
+      case 18:
+       break y;
+      default:
+       break v;
+      }
+     }
+     i = 65049;
+    }
+    if ((g | 0) == (i | 0)) {
+     break u;
+    }
+    q[k + 12 >> 2] = 0;
+    g = q[b + 72 >> 2];
+    if (!n[q[g + 156 >> 2]](b, q[b + 76 >> 2], i, k + 12 | 0, q[g + 20 >> 2])) {
+     break u;
+    }
+    q[m >> 2] = i;
+   }
+   f = f + 1 | 0;
+   if ((h | 0) != (f | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ f = r[c + 164 | 0];
+ z : {
+  if (!(f & 15)) {
+   o[c + 164 | 0] = f | 15;
+   EE(l, c, b);
+   A : {
+    if (!(o[c + 32 | 0] & 1) | !(r[a + 200 | 0] & 4)) {
+     break A;
+    }
+    B : {
+     if ((q[c + 48 >> 2] & -3) == 4) {
+      f = q[a + 176 >> 2];
+      v = f | q[a + 180 >> 2];
+      g = a + 184 | 0;
+      break B;
+     }
+     f = q[a + 176 >> 2];
+     v = f | q[a + 184 >> 2];
+     g = a + 180 | 0;
+    }
+    j = q[c + 76 >> 2];
+    if (!j) {
+     break A;
+    }
+    x = q[g >> 2] | f;
+    m = q[c + 88 >> 2];
+    h = 0;
+    while (1) {
+     u = m + w(h, 20) | 0;
+     if (q[u >> 2] == 8260) {
+      i = h + 1 | 0;
+      g = h;
+      while (1) {
+       f = g;
+       if (f) {
+        g = f + -1 | 0;
+        if ((s[(m + w(g, 20) | 0) + 16 >> 1] & 31) == 13) {
+         continue;
+        }
+       }
+       break;
+      }
+      g = i;
+      C : {
+       if (g >>> 0 >= j >>> 0) {
+        break C;
+       }
+       while (1) {
+        if ((s[(m + w(g, 20) | 0) + 16 >> 1] & 31) != 13) {
+         break C;
+        }
+        g = g + 1 | 0;
+        if ((j | 0) != (g | 0)) {
+         continue;
+        }
+        break;
+       }
+       g = j;
+      }
+      if (g - f >>> 0 >= 2) {
+       DG(c, f, g);
+      }
+      if (f >>> 0 < h >>> 0) {
+       while (1) {
+        y = m + w(f, 20) | 0;
+        q[y + 4 >> 2] = q[y + 4 >> 2] | v;
+        f = f + 1 | 0;
+        if ((h | 0) != (f | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      q[u + 4 >> 2] = q[u + 4 >> 2] | q[a + 176 >> 2];
+      if (i >>> 0 < g >>> 0) {
+       while (1) {
+        f = m + w(i, 20) | 0;
+        q[f + 4 >> 2] = x | q[f + 4 >> 2];
+        i = i + 1 | 0;
+        if ((g | 0) != (i | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      h = g + -1 | 0;
+     }
+     h = h + 1 | 0;
+     if (h >>> 0 < j >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   f = q[q[a + 80 >> 2] + 36 >> 2];
+   if (f) {
+    n[f](l, c, b);
+   }
+   if (e) {
+    i = 0;
+    while (1) {
+     j = (i << 4) + d | 0;
+     x = q[j + 8 >> 2];
+     if (!(q[j + 12 >> 2] == -1 ? !x : 0)) {
+      A = c;
+      B = q[j + 4 >> 2];
+      D : {
+       E : {
+        f = q[a + 104 >> 2];
+        if ((f | 0) < 1) {
+         break E;
+        }
+        v = q[j >> 2];
+        y = q[a + 108 >> 2];
+        f = f + -1 | 0;
+        h = 0;
+        while (1) {
+         F : {
+          m = f + h >>> 1 | 0;
+          u = y + w(m, 36) | 0;
+          g = q[u >> 2];
+          G : {
+           if (g >>> 0 > v >>> 0) {
+            f = m + -1 | 0;
+            break G;
+           }
+           if (g >>> 0 >= v >>> 0) {
+            break F;
+           }
+           h = m + 1 | 0;
+          }
+          if ((h | 0) <= (f | 0)) {
+           continue;
+          }
+          break E;
+         }
+         break;
+        }
+        h = q[u + 24 >> 2];
+        f = q[u + 20 >> 2];
+        break D;
+       }
+       h = 0;
+       f = 0;
+      }
+      yG(A, B << f, h, x, q[j + 12 >> 2]);
+     }
+     i = i + 1 | 0;
+     if ((i | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (r[a + 200 | 0] & 128) {
+    yE(c);
+   }
+   d = q[c + 76 >> 2];
+   if (d) {
+    e = q[c + 88 >> 2];
+    f = 0;
+    while (1) {
+     g = e + w(f, 20) | 0;
+     q[g >> 2] = q[g + 12 >> 2];
+     f = f + 1 | 0;
+     if ((d | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[c + 44 >> 2] = 2;
+   H : {
+    d = r[c + 164 | 0];
+    if ((d & 15) == 15) {
+     o[c + 164 | 0] = d | 15;
+     Et(b, c);
+     f = s[a + 200 >> 1];
+     I : {
+      if (!(f & 64)) {
+       break I;
+      }
+      e = q[c + 76 >> 2];
+      if (!e) {
+       break I;
+      }
+      g = q[c + 88 >> 2];
+      f = 0;
+      while (1) {
+       d = g + w(f, 20) | 0;
+       h = s[d + 16 >> 1];
+       J : {
+        if ((h & 31) == 12) {
+         i = 8;
+         if (!(h & 32) | r[d + 12 | 0] & 32) {
+          break J;
+         }
+        }
+        i = 2;
+       }
+       p[d + 12 >> 1] = i;
+       f = f + 1 | 0;
+       if ((e | 0) != (f | 0)) {
+        continue;
+       }
+       break;
+      }
+      f = s[a + 200 >> 1];
+     }
+     K : {
+      if (f & 4096) {
+       Vq(l, b, c);
+       break K;
+      }
+      Kt(a + 84 | 0, l, b, c);
+     }
+     tG(c);
+     e = q[c + 96 >> 2];
+     f = q[c + 88 >> 2];
+     d = q[c + 76 >> 2];
+     L : {
+      if ((q[c + 48 >> 2] & -2) == 4) {
+       g = q[b + 72 >> 2];
+       n[q[g + 176 >> 2]](b, q[b + 76 >> 2], d, f, 20, e, 20, q[g + 40 >> 2]);
+       if (!d | !aD(b, 9)) {
+        break L;
+       }
+       h = 0;
+       while (1) {
+        g = w(h, 20);
+        hu(b, q[g + f >> 2], k + 12 | 0, k + 8 | 0);
+        g = e + g | 0;
+        q[g + 8 >> 2] = q[g + 8 >> 2] - q[k + 12 >> 2];
+        q[g + 12 >> 2] = q[g + 12 >> 2] - q[k + 8 >> 2];
+        h = h + 1 | 0;
+        if ((d | 0) != (h | 0)) {
+         continue;
+        }
+        break;
+       }
+       break L;
+      }
+      g = q[b + 72 >> 2];
+      n[q[g + 180 >> 2]](b, q[b + 76 >> 2], d, f, 20, e + 4 | 0, 20, q[g + 44 >> 2]);
+      if (!d) {
+       break L;
+      }
+      h = 0;
+      while (1) {
+       g = w(h, 20);
+       iu(b, q[g + f >> 2], k + 12 | 0, k + 8 | 0);
+       g = e + g | 0;
+       q[g + 8 >> 2] = q[g + 8 >> 2] - q[k + 12 >> 2];
+       q[g + 12 >> 2] = q[g + 12 >> 2] - q[k + 8 >> 2];
+       h = h + 1 | 0;
+       if ((d | 0) != (h | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (r[c + 32 | 0] & 4) {
+      DE(b, c);
+     }
+     g = q[c + 96 >> 2];
+     j = q[c + 88 >> 2];
+     e = q[c + 76 >> 2];
+     v = 0;
+     v = o[a + 201 | 0] & 1 ? (q[c + 48 >> 2] & -3) == 4 : v;
+     if (!(!e | !aD(b, 9))) {
+      h = 0;
+      while (1) {
+       d = w(h, 20);
+       hu(b, q[d + j >> 2], k + 12 | 0, k + 8 | 0);
+       d = d + g | 0;
+       q[d + 8 >> 2] = q[d + 8 >> 2] + q[k + 12 >> 2];
+       q[d + 12 >> 2] = q[d + 12 >> 2] + q[k + 8 >> 2];
+       h = h + 1 | 0;
+       if ((e | 0) != (h | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     Ht(c);
+     M : {
+      if (!(r[a + 200 | 0] & 32) | q[q[a + 80 >> 2] + 48 >> 2] != 1) {
+       break M;
+      }
+      m = q[c + 76 >> 2];
+      if (!m) {
+       break M;
+      }
+      u = q[c + 88 >> 2];
+      f = 0;
+      while (1) {
+       h = w(f, 20);
+       if (r[(h + u | 0) + 12 | 0] & 8) {
+        i = q[c + 96 >> 2];
+        if (v) {
+         d = h + i | 0;
+         q[d + 8 >> 2] = q[d + 8 >> 2] - q[d >> 2];
+         q[d + 12 >> 2] = q[d + 12 >> 2] - q[d + 4 >> 2];
+        }
+        d = h + i | 0;
+        q[d >> 2] = 0;
+        q[d + 4 >> 2] = 0;
+       }
+       f = f + 1 | 0;
+       if ((m | 0) != (f | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     PE(l, b, c);
+     N : {
+      if (!(r[a + 200 | 0] & 32) | q[q[a + 80 >> 2] + 48 >> 2] != 2) {
+       break N;
+      }
+      m = q[c + 76 >> 2];
+      if (!m) {
+       break N;
+      }
+      u = q[c + 88 >> 2];
+      f = 0;
+      while (1) {
+       h = w(f, 20);
+       if (r[(h + u | 0) + 12 | 0] & 8) {
+        i = q[c + 96 >> 2];
+        if (v) {
+         d = h + i | 0;
+         q[d + 8 >> 2] = q[d + 8 >> 2] - q[d >> 2];
+         q[d + 12 >> 2] = q[d + 12 >> 2] - q[d + 4 >> 2];
+        }
+        d = h + i | 0;
+        q[d >> 2] = 0;
+        q[d + 4 >> 2] = 0;
+       }
+       f = f + 1 | 0;
+       if ((m | 0) != (f | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     O : {
+      if (!(r[c + 32 | 0] & 2) | r[c + 16 | 0] & 12) {
+       break O;
+      }
+      h = q[c + 76 >> 2];
+      if (!h) {
+       break O;
+      }
+      i = q[c + 96 >> 2];
+      m = q[c + 88 >> 2];
+      f = 0;
+      while (1) {
+       d = w(f, 20);
+       u = d + m | 0;
+       if (!(!(r[u + 16 | 0] & 32) | r[u + 12 | 0] & 32)) {
+        d = d + i | 0;
+        q[d >> 2] = 0;
+        q[d + 4 >> 2] = 0;
+        q[d + 8 >> 2] = 0;
+        q[d + 12 >> 2] = 0;
+       }
+       f = f + 1 | 0;
+       if ((h | 0) != (f | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (r[a + 201 | 0] & 16) {
+      Yq(c);
+     }
+     It(c);
+     if (!(!e | !aD(b, 9))) {
+      h = 0;
+      while (1) {
+       d = w(h, 20);
+       hu(b, q[d + j >> 2], k + 12 | 0, k + 8 | 0);
+       d = d + g | 0;
+       q[d + 8 >> 2] = q[d + 8 >> 2] - q[k + 12 >> 2];
+       q[d + 12 >> 2] = q[d + 12 >> 2] - q[k + 8 >> 2];
+       h = h + 1 | 0;
+       if ((e | 0) != (h | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (r[a + 200 | 0] & 128) {
+      zE(l, b, c, v);
+     }
+     if ((q[c + 48 >> 2] & -3) == 5) {
+      AG(c);
+     }
+     d = r[c + 164 | 0];
+     if (!(d & 8)) {
+      break z;
+     }
+     o[c + 164 | 0] = d & 247;
+     if (!(d & 4)) {
+      break z;
+     }
+     o[c + 164 | 0] = d & 243;
+     if ((d & 3) != 3) {
+      break z;
+     }
+     o[c + 164 | 0] = d & 240;
+     P : {
+      if (!(r[c + 32 | 0] & 2)) {
+       break P;
+      }
+      e = q[c + 16 >> 2];
+      if (e & 4) {
+       break P;
+      }
+      g = q[c + 88 >> 2];
+      d = q[c + 76 >> 2];
+      f = q[c + 28 >> 2];
+      q[k + 12 >> 2] = f;
+      Q : {
+       if (e & 8) {
+        break Q;
+       }
+       if (!f) {
+        q[k + 12 >> 2] = 0;
+        e = q[b + 72 >> 2];
+        if (!n[q[e + 156 >> 2]](b, q[b + 76 >> 2], 32, k + 12 | 0, q[e + 20 >> 2])) {
+         break Q;
+        }
+       }
+       if (!d) {
+        break P;
+       }
+       f = 0;
+       while (1) {
+        e = g + w(f, 20) | 0;
+        if (!(!(r[e + 16 | 0] & 32) | r[e + 12 | 0] & 32)) {
+         q[e >> 2] = q[k + 12 >> 2];
+        }
+        f = f + 1 | 0;
+        if ((d | 0) != (f | 0)) {
+         continue;
+        }
+        break;
+       }
+       break P;
+      }
+      Ft(c, 565);
+     }
+     if (r[a + 201 | 0] & 16) {
+      Ft(c, 429);
+     }
+     a = q[q[a + 80 >> 2] + 20 >> 2];
+     if (a) {
+      n[a](l, c, b);
+     }
+     R : {
+      if (!(r[c + 32 | 0] & 16)) {
+       break R;
+      }
+      b = q[c + 76 >> 2];
+      if (!b) {
+       break R;
+      }
+      a = b + -1 | 0;
+      e = q[c + 88 >> 2];
+      d = q[e + 8 >> 2];
+      f = 0;
+      while (1) {
+       S : {
+        if ((a | 0) == (f | 0)) {
+         f = b;
+         break S;
+        }
+        f = f + 1 | 0;
+        if ((d | 0) == q[(e + w(f, 20) | 0) + 8 >> 2]) {
+         continue;
+        }
+       }
+       break;
+      }
+      i = 0;
+      while (1) {
+       a = f;
+       g = i;
+       T : {
+        if (g >>> 0 >= f >>> 0) {
+         break T;
+        }
+        while (1) {
+         if (!(o[(e + w(g, 20) | 0) + 4 | 0] & 1)) {
+          g = g + 1 | 0;
+          if ((a | 0) != (g | 0)) {
+           continue;
+          }
+          break T;
+         }
+         break;
+        }
+        while (1) {
+         d = e + w(i, 20) | 0;
+         q[d + 4 >> 2] = q[d + 4 >> 2] | 1;
+         i = i + 1 | 0;
+         if ((a | 0) != (i | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       d = a + 1 | 0;
+       d = b >>> 0 > d >>> 0 ? b : d;
+       g = d + -1 | 0;
+       h = q[(e + w(a, 20) | 0) + 8 >> 2];
+       f = a;
+       while (1) {
+        U : {
+         if ((f | 0) == (g | 0)) {
+          f = d;
+          break U;
+         }
+         f = f + 1 | 0;
+         if ((h | 0) == q[(e + w(f, 20) | 0) + 8 >> 2]) {
+          continue;
+         }
+        }
+        break;
+       }
+       i = a;
+       if (i >>> 0 < b >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     if ((r[c + 164 | 0] & 48) != 48) {
+      break H;
+     }
+     o[c + 164 | 0] = 0;
+     q[c + 36 >> 2] = 1073741823;
+     q[c + 40 >> 2] = 536870911;
+     q[c + 48 >> 2] = z;
+     Ca = k + 16 | 0;
+     return 1;
+    }
+    break z;
+   }
+   break z;
+  }
+  J(269996, 269968, 150, 269983);
+  F();
+ }
+ J(270044, 269968, 160, 270029);
+ F();
+}
+function hK(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ e = Ca - 80 | 0;
+ Ca = e;
+ i = q[a + 8 >> 2];
+ a : {
+  if (!i) {
+   c = 6;
+   break a;
+  }
+  l = q[a >> 2];
+  b = q[a + 4 >> 2];
+  b : {
+   if (q[b + 12 >> 2] > 1) {
+    break b;
+   }
+   iK(b);
+   if (q[b + 12 >> 2] > 1) {
+    break b;
+   }
+   f = q[b + 8 >> 2];
+   c = q[b >> 2];
+   c : {
+    while (1) {
+     if (c >>> 0 >= f >>> 0) {
+      break c;
+     }
+     d = c + 1 | 0;
+     q[b >> 2] = d;
+     g = r[c | 0];
+     c = d;
+     d = g + -10 | 0;
+     if (d >>> 0 > 16) {
+      continue;
+     }
+     d : {
+      switch (d - 1 | 0) {
+      case 15:
+       break c;
+      case 0:
+      case 1:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 8:
+      case 9:
+      case 10:
+      case 11:
+      case 12:
+      case 13:
+      case 14:
+       continue;
+      default:
+       break d;
+      }
+     }
+     break;
+    }
+    q[b + 12 >> 2] = 2;
+    break b;
+   }
+   q[b + 12 >> 2] = 3;
+  }
+  while (1) {
+   e : {
+    q[b + 12 >> 2] = 0;
+    d = jK(b);
+    if (d) {
+     break e;
+    }
+    c = 2;
+    if (q[b + 12 >> 2] == 2) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  c = 2;
+  if ((q[b >> 2] + (d ^ -1) | 0) != 16) {
+   break a;
+  }
+  if (jZ(d, 290328, 16)) {
+   break a;
+  }
+  c = 160;
+  f : {
+   g : while (1) {
+    f = q[a + 4 >> 2];
+    h : {
+     if (q[f + 12 >> 2] > 1) {
+      break h;
+     }
+     iK(f);
+     if (q[f + 12 >> 2] > 1) {
+      break h;
+     }
+     g = q[f + 8 >> 2];
+     d = q[f >> 2];
+     i : {
+      while (1) {
+       if (d >>> 0 >= g >>> 0) {
+        break i;
+       }
+       b = d + 1 | 0;
+       q[f >> 2] = b;
+       h = r[d | 0];
+       d = b;
+       b = h + -10 | 0;
+       if (b >>> 0 > 16) {
+        continue;
+       }
+       j : {
+        switch (b - 1 | 0) {
+        case 15:
+         break i;
+        case 0:
+        case 1:
+        case 3:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+        case 9:
+        case 10:
+        case 11:
+        case 12:
+        case 13:
+        case 14:
+         continue;
+        default:
+         break j;
+        }
+       }
+       break;
+      }
+      q[f + 12 >> 2] = 2;
+      break h;
+     }
+     q[f + 12 >> 2] = 3;
+    }
+    while (1) {
+     k : {
+      q[f + 12 >> 2] = 0;
+      g = jK(f);
+      if (g) {
+       break k;
+      }
+      if (q[f + 12 >> 2] == 2) {
+       continue;
+      }
+      break f;
+     }
+     break;
+    }
+    j = q[f >> 2] + (g ^ -1) | 0;
+    d = r[g | 0];
+    b = 0;
+    while (1) {
+     l : {
+      f = d;
+      h = q[(b << 2) + 290352 >> 2];
+      if ((d | 0) == r[h | 0]) {
+       if (b >>> 0 > 73) {
+        continue g;
+       }
+       while (1) {
+        if (!jZ(h, g, j)) {
+         break l;
+        }
+        b = b + 1 | 0;
+        if ((b | 0) == 74) {
+         continue g;
+        }
+        h = q[(b << 2) + 290352 >> 2];
+        if ((f | 0) == r[h | 0]) {
+         continue;
+        }
+        break;
+       }
+       continue g;
+      }
+      b = b + 1 | 0;
+      if ((b | 0) != 74) {
+       continue;
+      }
+      continue g;
+     }
+     break;
+    }
+    if (b >>> 0 > 49) {
+     continue;
+    }
+    m : {
+     n : {
+      o : {
+       p : {
+        q : {
+         switch (b - 1 | 0) {
+         case 39:
+          q[e + 32 >> 2] = 3;
+          if ((kK(a, e + 32 | 0, 1) | 0) != 1) {
+           break f;
+          }
+          if (!(q[e + 36 >> 2] & -3)) {
+           continue;
+          }
+          c = 7;
+          break f;
+         case 29:
+          q[e >> 2] = 4;
+          if ((kK(a, e, 1) | 0) != 1) {
+           break f;
+          }
+          o[i | 0] = r[e + 4 | 0];
+          continue;
+         case 25:
+          q[e + 24 >> 2] = 2;
+          q[e + 16 >> 2] = 2;
+          q[e + 8 >> 2] = 2;
+          q[e >> 2] = 2;
+          if ((kK(a, e, 4) | 0) != 4) {
+           break f;
+          }
+          q[i + 4 >> 2] = q[e + 4 >> 2];
+          q[i + 8 >> 2] = q[e + 12 >> 2];
+          q[i + 12 >> 2] = q[e + 20 >> 2];
+          q[i + 16 >> 2] = q[e + 28 >> 2];
+          continue;
+         default:
+          q[e >> 2] = 2;
+          if ((kK(a, e, 1) | 0) != 1) {
+           break f;
+          }
+          q[i + 20 >> 2] = q[e + 4 >> 2];
+          continue;
+         case 13:
+          q[e >> 2] = 2;
+          if ((kK(a, e, 1) | 0) != 1) {
+           break f;
+          }
+          q[i + 24 >> 2] = q[e + 4 >> 2];
+          continue;
+         case 44:
+          q[e + 32 >> 2] = 3;
+          if ((kK(a, e + 32 | 0, 1) | 0) != 1) {
+           break f;
+          }
+          d = q[e + 36 >> 2];
+          if ((d | 0) <= 0) {
+           break n;
+          }
+          while (1) {
+           f = q[a + 4 >> 2];
+           r : {
+            if (q[f + 12 >> 2] > 1) {
+             break r;
+            }
+            iK(f);
+            if (q[f + 12 >> 2] > 1) {
+             break r;
+            }
+            g = q[f + 8 >> 2];
+            c = q[f >> 2];
+            s : {
+             while (1) {
+              if (c >>> 0 >= g >>> 0) {
+               break s;
+              }
+              b = c + 1 | 0;
+              q[f >> 2] = b;
+              h = r[c | 0];
+              c = b;
+              b = h + -10 | 0;
+              if (b >>> 0 > 16) {
+               continue;
+              }
+              t : {
+               switch (b - 1 | 0) {
+               case 15:
+                break s;
+               case 0:
+               case 1:
+               case 3:
+               case 4:
+               case 5:
+               case 6:
+               case 7:
+               case 8:
+               case 9:
+               case 10:
+               case 11:
+               case 12:
+               case 13:
+               case 14:
+                continue;
+               default:
+                break t;
+               }
+              }
+              break;
+             }
+             q[f + 12 >> 2] = 2;
+             break r;
+            }
+            q[f + 12 >> 2] = 3;
+           }
+           c = d + -1 | 0;
+           while (1) {
+            u : {
+             q[f + 12 >> 2] = 0;
+             if (jK(f)) {
+              break u;
+             }
+             if (q[f + 12 >> 2] == 2) {
+              continue;
+             }
+             break m;
+            }
+            break;
+           }
+           b = (d | 0) < 2;
+           d = c;
+           if (!b) {
+            continue;
+           }
+           break;
+          }
+          break n;
+         case 0:
+         case 1:
+         case 2:
+         case 3:
+         case 4:
+         case 5:
+         case 6:
+         case 7:
+         case 8:
+         case 9:
+         case 10:
+         case 11:
+         case 12:
+         case 14:
+         case 15:
+         case 16:
+         case 17:
+         case 18:
+         case 20:
+         case 21:
+         case 22:
+         case 23:
+         case 24:
+         case 26:
+         case 27:
+         case 28:
+         case 30:
+         case 31:
+         case 32:
+         case 33:
+         case 34:
+         case 35:
+         case 36:
+         case 37:
+         case 38:
+         case 40:
+         case 41:
+         case 42:
+         case 43:
+         case 45:
+         case 46:
+         case 47:
+          continue;
+         case 19:
+          break p;
+         case 48:
+          break q;
+         }
+        }
+        v : while (1) {
+         b = q[a + 4 >> 2];
+         w : {
+          if (q[b + 12 >> 2] > 1) {
+           break w;
+          }
+          iK(b);
+          if (q[b + 12 >> 2] > 1) {
+           break w;
+          }
+          f = q[b + 8 >> 2];
+          c = q[b >> 2];
+          x : {
+           while (1) {
+            if (c >>> 0 >= f >>> 0) {
+             break x;
+            }
+            d = c + 1 | 0;
+            q[b >> 2] = d;
+            g = r[c | 0];
+            c = d;
+            d = g + -10 | 0;
+            if (d >>> 0 > 16) {
+             continue;
+            }
+            y : {
+             switch (d - 1 | 0) {
+             case 15:
+              break x;
+             case 0:
+             case 1:
+             case 3:
+             case 4:
+             case 5:
+             case 6:
+             case 7:
+             case 8:
+             case 9:
+             case 10:
+             case 11:
+             case 12:
+             case 13:
+             case 14:
+              continue;
+             default:
+              break y;
+             }
+            }
+            break;
+           }
+           q[b + 12 >> 2] = 2;
+           break w;
+          }
+          q[b + 12 >> 2] = 3;
+         }
+         z : {
+          while (1) {
+           q[b + 12 >> 2] = 0;
+           g = jK(b);
+           if (g) {
+            break z;
+           }
+           if (q[b + 12 >> 2] == 2) {
+            continue;
+           }
+           break;
+          }
+          c = 160;
+          break f;
+         }
+         h = q[b >> 2] + (g ^ -1) | 0;
+         c = r[g | 0];
+         b = 0;
+         while (1) {
+          A : {
+           f = c;
+           d = q[(b << 2) + 290352 >> 2];
+           if ((c | 0) == r[d | 0]) {
+            if (b >>> 0 > 73) {
+             continue v;
+            }
+            while (1) {
+             if (!jZ(d, g, h)) {
+              break A;
+             }
+             b = b + 1 | 0;
+             if ((b | 0) == 74) {
+              continue v;
+             }
+             d = q[(b << 2) + 290352 >> 2];
+             if ((f | 0) == r[d | 0]) {
+              continue;
+             }
+             break;
+            }
+            continue v;
+           }
+           b = b + 1 | 0;
+           if ((b | 0) != 74) {
+            continue;
+           }
+           continue v;
+          }
+          break;
+         }
+         d = b + -20 | 0;
+         if (d >>> 0 > 55) {
+          c = 160;
+          break f;
+         }
+         c = 160;
+         B : {
+          switch (d - 2 | 0) {
+          case 31:
+           g = q[a + 8 >> 2];
+           q[e + 32 >> 2] = 3;
+           if ((kK(a, e + 32 | 0, 1) | 0) != 1) {
+            break f;
+           }
+           d = q[e + 36 >> 2];
+           if ((d | 0) < 0) {
+            break f;
+           }
+           q[g + 32 >> 2] = d;
+           if (d) {
+            m = g, n = Te(q[a >> 2], 20, 0, d, 0, e + 32 | 0), q[m + 28 >> 2] = n;
+            c = q[e + 32 >> 2];
+            if (c) {
+             break f;
+            }
+           }
+           h = -1;
+           C : while (1) {
+            b = q[a + 4 >> 2];
+            D : {
+             if (q[b + 12 >> 2] > 1) {
+              break D;
+             }
+             iK(b);
+             if (q[b + 12 >> 2] > 1) {
+              break D;
+             }
+             f = q[b + 8 >> 2];
+             c = q[b >> 2];
+             E : {
+              while (1) {
+               if (c >>> 0 >= f >>> 0) {
+                break E;
+               }
+               d = c + 1 | 0;
+               q[b >> 2] = d;
+               j = r[c | 0];
+               c = d;
+               d = j + -10 | 0;
+               if (d >>> 0 > 16) {
+                continue;
+               }
+               F : {
+                switch (d - 1 | 0) {
+                case 15:
+                 break E;
+                case 0:
+                case 1:
+                case 3:
+                case 4:
+                case 5:
+                case 6:
+                case 7:
+                case 8:
+                case 9:
+                case 10:
+                case 11:
+                case 12:
+                case 13:
+                case 14:
+                 continue;
+                default:
+                 break F;
+                }
+               }
+               break;
+              }
+              q[b + 12 >> 2] = 2;
+              break D;
+             }
+             q[b + 12 >> 2] = 3;
+            }
+            G : {
+             while (1) {
+              q[b + 12 >> 2] = 0;
+              j = jK(b);
+              if (j) {
+               break G;
+              }
+              if (q[b + 12 >> 2] == 2) {
+               continue;
+              }
+              break;
+             }
+             c = 160;
+             break f;
+            }
+            k = q[b >> 2] + (j ^ -1) | 0;
+            c = r[j | 0];
+            b = 0;
+            while (1) {
+             H : {
+              f = c;
+              d = q[(b << 2) + 290352 >> 2];
+              if ((c | 0) == r[d | 0]) {
+               if (b >>> 0 > 73) {
+                continue C;
+               }
+               while (1) {
+                if (!jZ(d, j, k)) {
+                 break H;
+                }
+                b = b + 1 | 0;
+                if ((b | 0) == 74) {
+                 continue C;
+                }
+                d = q[(b << 2) + 290352 >> 2];
+                if ((f | 0) == r[d | 0]) {
+                 continue;
+                }
+                break;
+               }
+               continue C;
+              }
+              b = b + 1 | 0;
+              if ((b | 0) != 74) {
+               continue;
+              }
+              continue C;
+             }
+             break;
+            }
+            c = b + -20 | 0;
+            if (c >>> 0 > 36) {
+             if ((b | 0) == 75) {
+              continue;
+             }
+             break o;
+            }
+            I : {
+             switch (c - 2 | 0) {
+             case 34:
+              h = h + 1 | 0;
+              if ((h | 0) >= q[g + 32 >> 2]) {
+               break o;
+              }
+              c = q[g + 28 >> 2];
+              q[e + 64 >> 2] = 2;
+              q[e + 56 >> 2] = 2;
+              q[e + 48 >> 2] = 2;
+              q[e + 40 >> 2] = 2;
+              q[e + 32 >> 2] = 3;
+              if ((kK(a, e + 32 | 0, 5) | 0) != 5) {
+               break o;
+              }
+              c = c + w(h, 20) | 0;
+              q[c >> 2] = q[e + 36 >> 2];
+              q[c + 4 >> 2] = q[e + 44 >> 2];
+              q[c + 8 >> 2] = q[e + 52 >> 2];
+              q[c + 12 >> 2] = q[e + 60 >> 2];
+              q[c + 16 >> 2] = q[e + 68 >> 2];
+              continue;
+             case 0:
+             case 2:
+             case 3:
+             case 4:
+             case 5:
+             case 6:
+             case 7:
+             case 8:
+             case 9:
+             case 10:
+             case 11:
+             case 12:
+             case 13:
+             case 14:
+             case 15:
+             case 16:
+             case 17:
+             case 18:
+             case 19:
+             case 20:
+             case 21:
+             case 22:
+             case 23:
+             case 24:
+             case 25:
+             case 26:
+             case 27:
+             case 28:
+             case 29:
+             case 30:
+             case 31:
+             case 32:
+             case 33:
+              break o;
+             default:
+              break I;
+             }
+            }
+            break;
+           }
+           q[g + 32 >> 2] = h + 1;
+           continue;
+          case 53:
+           continue;
+          case 28:
+          case 29:
+           break B;
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 30:
+          case 32:
+          case 33:
+          case 34:
+          case 35:
+          case 36:
+          case 37:
+          case 38:
+          case 39:
+          case 40:
+          case 41:
+          case 42:
+          case 43:
+          case 44:
+          case 45:
+          case 46:
+          case 47:
+          case 48:
+          case 49:
+          case 50:
+          case 51:
+          case 52:
+           break f;
+          default:
+           break p;
+          }
+         }
+         j = q[a + 8 >> 2];
+         q[e + 32 >> 2] = 3;
+         if ((kK(a, e + 32 | 0, 1) | 0) != 1) {
+          break f;
+         }
+         d = q[e + 36 >> 2];
+         if ((d | 0) < 0) {
+          break f;
+         }
+         q[j + 40 >> 2] = d;
+         if (d) {
+          m = j, n = Te(q[a >> 2], 16, 0, d, 0, e + 32 | 0), q[m + 36 >> 2] = n;
+          c = q[e + 32 >> 2];
+          if (c) {
+           break f;
+          }
+         }
+         h = -1;
+         J : {
+          K : while (1) {
+           b = q[a + 4 >> 2];
+           L : {
+            if (q[b + 12 >> 2] > 1) {
+             break L;
+            }
+            iK(b);
+            if (q[b + 12 >> 2] > 1) {
+             break L;
+            }
+            f = q[b + 8 >> 2];
+            c = q[b >> 2];
+            M : {
+             while (1) {
+              if (c >>> 0 >= f >>> 0) {
+               break M;
+              }
+              d = c + 1 | 0;
+              q[b >> 2] = d;
+              g = r[c | 0];
+              c = d;
+              d = g + -10 | 0;
+              if (d >>> 0 > 16) {
+               continue;
+              }
+              N : {
+               switch (d - 1 | 0) {
+               case 15:
+                break M;
+               case 0:
+               case 1:
+               case 3:
+               case 4:
+               case 5:
+               case 6:
+               case 7:
+               case 8:
+               case 9:
+               case 10:
+               case 11:
+               case 12:
+               case 13:
+               case 14:
+                continue;
+               default:
+                break N;
+               }
+              }
+              break;
+             }
+             q[b + 12 >> 2] = 2;
+             break L;
+            }
+            q[b + 12 >> 2] = 3;
+           }
+           O : {
+            while (1) {
+             q[b + 12 >> 2] = 0;
+             g = jK(b);
+             if (g) {
+              break O;
+             }
+             if (q[b + 12 >> 2] == 2) {
+              continue;
+             }
+             break;
+            }
+            c = 160;
+            break f;
+           }
+           k = q[b >> 2] + (g ^ -1) | 0;
+           c = r[g | 0];
+           b = 0;
+           while (1) {
+            P : {
+             f = c;
+             d = q[(b << 2) + 290352 >> 2];
+             if ((c | 0) == r[d | 0]) {
+              if (b >>> 0 > 73) {
+               continue K;
+              }
+              while (1) {
+               if (!jZ(d, g, k)) {
+                break P;
+               }
+               b = b + 1 | 0;
+               if ((b | 0) == 74) {
+                continue K;
+               }
+               d = q[(b << 2) + 290352 >> 2];
+               if ((f | 0) == r[d | 0]) {
+                continue;
+               }
+               break;
+              }
+              continue K;
+             }
+             b = b + 1 | 0;
+             if ((b | 0) != 74) {
+              continue;
+             }
+             continue K;
+            }
+            break;
+           }
+           if ((b | 0) == 75) {
+            continue;
+           }
+           c = b + -20 | 0;
+           if (c >>> 0 > 17) {
+            c = 160;
+            break f;
+           }
+           c = 1 << c;
+           if (!(c & 7)) {
+            if (!(c & 212992)) {
+             c = 160;
+             break f;
+            }
+            h = h + 1 | 0;
+            if ((h | 0) >= q[j + 40 >> 2]) {
+             break J;
+            }
+            c = q[j + 36 >> 2];
+            q[e + 56 >> 2] = 3;
+            q[e + 48 >> 2] = 3;
+            q[e + 40 >> 2] = 5;
+            q[e + 32 >> 2] = 5;
+            k = kK(a, e + 32 | 0, 4);
+            if ((k | 0) < 3) {
+             break J;
+            }
+            f = c + (h << 4) | 0;
+            q[f >> 2] = q[e + 36 >> 2];
+            q[f + 4 >> 2] = q[e + 44 >> 2];
+            d = 0;
+            c = q[e + 52 >> 2];
+            g = f;
+            if ((b | 0) != 37) {
+             d = c;
+             c = (b | 0) == 34 ? (k | 0) == 4 ? q[e + 60 >> 2] : 0 : 0;
+            }
+            q[g + 12 >> 2] = c;
+            q[f + 8 >> 2] = d;
+            continue;
+           }
+           break;
+          }
+          c = h + 1 | 0;
+          q[j + 40 >> 2] = c;
+          M_(q[j + 36 >> 2], c, 16, 682);
+          continue;
+         }
+         break;
+        }
+        c = 160;
+        break f;
+       }
+       c = 0;
+       break a;
+      }
+      c = 160;
+      break f;
+     }
+     while (1) {
+      b = q[a + 4 >> 2];
+      Q : {
+       if (q[b + 12 >> 2] > 1) {
+        break Q;
+       }
+       iK(b);
+       if (q[b + 12 >> 2] > 1) {
+        break Q;
+       }
+       f = q[b + 8 >> 2];
+       c = q[b >> 2];
+       R : {
+        while (1) {
+         if (c >>> 0 >= f >>> 0) {
+          break R;
+         }
+         d = c + 1 | 0;
+         q[b >> 2] = d;
+         g = r[c | 0];
+         c = d;
+         d = g + -10 | 0;
+         if (d >>> 0 > 16) {
+          continue;
+         }
+         S : {
+          switch (d - 1 | 0) {
+          case 15:
+           break R;
+          case 0:
+          case 1:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+           continue;
+          default:
+           break S;
+          }
+         }
+         break;
+        }
+        q[b + 12 >> 2] = 2;
+        break Q;
+       }
+       q[b + 12 >> 2] = 3;
+      }
+      while (1) {
+       T : {
+        q[b + 12 >> 2] = 0;
+        g = jK(b);
+        if (g) {
+         break T;
+        }
+        if (q[b + 12 >> 2] == 2) {
+         continue;
+        }
+        break m;
+       }
+       break;
+      }
+      h = q[b >> 2] + (g ^ -1) | 0;
+      c = r[g | 0];
+      b = 0;
+      U : {
+       while (1) {
+        f = c;
+        d = q[(b << 2) + 290352 >> 2];
+        if ((c | 0) == r[d | 0]) {
+         c = 75;
+         if (b >>> 0 > 73) {
+          break U;
+         }
+         while (1) {
+          if (!jZ(d, g, h)) {
+           c = b;
+           break U;
+          }
+          b = b + 1 | 0;
+          if ((b | 0) == 74) {
+           break U;
+          }
+          d = q[(b << 2) + 290352 >> 2];
+          if ((f | 0) == r[d | 0]) {
+           continue;
+          }
+          break;
+         }
+         break U;
+        }
+        b = b + 1 | 0;
+        if ((b | 0) != 74) {
+         continue;
+        }
+        break;
+       }
+       c = 75;
+      }
+      d = c + -17 | 0;
+      if (d >>> 0 > 3) {
+       continue;
+      }
+      c = 0;
+      switch (d - 1 | 0) {
+      case 0:
+      case 1:
+       continue;
+      default:
+       continue g;
+      }
+     }
+    }
+    break;
+   }
+   c = 160;
+   break a;
+  }
+  Qe(l, q[i + 28 >> 2]);
+  q[i + 28 >> 2] = 0;
+  q[i + 32 >> 2] = 0;
+  Qe(l, q[i + 36 >> 2]);
+  q[i + 36 >> 2] = 0;
+  q[i + 40 >> 2] = 0;
+  o[i | 0] = 0;
+ }
+ Ca = e + 80 | 0;
+ return c | 0;
+}
+function XA(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = x(0), m = 0, n = x(0), p = 0, s = x(0), v = x(0), y = x(0), z = 0, A = 0, B = x(0), C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, T = 0;
+ f = Ca - 192 | 0;
+ Ca = f;
+ h = 1;
+ k = q[c + 60 >> 2];
+ a : {
+  if (!k) {
+   break a;
+  }
+  g = q[a >> 2];
+  i = g ? g : 271040;
+  i = t[i + 16 >> 2] < 20 ? 271040 : q[i + 12 >> 2];
+  if ((k | 0) != (r[i + 4 | 0] << 8 | r[i + 5 | 0])) {
+   break a;
+  }
+  _A(f + 176 | 0, i, g, b);
+  b = t[f + 180 >> 2] < 4 ? 271040 : q[f + 176 >> 2];
+  if (!(r[b | 0] << 8 | r[b + 1 | 0])) {
+   break a;
+  }
+  k = 0;
+  q[f + 168 >> 2] = 0;
+  q[f + 160 >> 2] = 0;
+  q[f + 164 >> 2] = 0;
+  q[f + 152 >> 2] = 0;
+  g = q[f + 184 >> 2];
+  q[f + 120 >> 2] = g;
+  b = q[f + 180 >> 2];
+  h = q[f + 176 >> 2];
+  q[f + 112 >> 2] = h;
+  q[f + 116 >> 2] = b;
+  q[f + 144 >> 2] = 0;
+  q[f + 148 >> 2] = 0;
+  i = q[a >> 2];
+  i = i ? i : 271040;
+  i = t[i + 16 >> 2] < 20 ? 271040 : q[i + 12 >> 2];
+  j = r[i + 5 | 0];
+  i = r[i + 4 | 0];
+  q[f + 24 >> 2] = g;
+  q[f + 16 >> 2] = h;
+  q[f + 20 >> 2] = b;
+  h = 1;
+  if ($A(f + 16 | 0, j | i << 8, f + 160 | 0, f + 128 | 0)) {
+   b = q[d + 4 >> 2];
+   b : {
+    if ((b | 0) < 1) {
+     break b;
+    }
+    j = (b | 0) > 0 ? b : 0;
+    while (1) {
+     k = ((k >>> 1 | 0) + k | 0) + 8 | 0;
+     if (k >>> 0 <= j >>> 0) {
+      continue;
+     }
+     break;
+    }
+    h = 0;
+    e = 0;
+    c : {
+     if (k >>> 0 > 268435454) {
+      break c;
+     }
+     i = L$(k << 4);
+     e = 0;
+     if (!i) {
+      break c;
+     }
+     k = Z$(i, 0, j << 4);
+     e = k;
+     if (!b) {
+      break c;
+     }
+     e = q[d >> 2];
+     g = 0;
+     while (1) {
+      d : {
+       if (b >>> 0 <= g >>> 0) {
+        i = q[67763];
+        q[160658] = q[67762];
+        q[160659] = i;
+        i = q[67761];
+        q[160656] = q[67760];
+        q[160657] = i;
+        i = 642624;
+        break d;
+       }
+       i = e + (g << 4) | 0;
+      }
+      D = q[i + 4 >> 2];
+      m = k + (g << 4) | 0;
+      q[m >> 2] = q[i >> 2];
+      q[m + 4 >> 2] = D;
+      z = q[i + 12 >> 2];
+      q[m + 8 >> 2] = q[i + 8 >> 2];
+      q[m + 12 >> 2] = z;
+      g = g + 1 | 0;
+      if ((g | 0) != (b | 0)) {
+       continue;
+      }
+      break;
+     }
+     H = b;
+     e = k;
+    }
+    D = e;
+    while (1) {
+     h = ((h >>> 1 | 0) + h | 0) + 8 | 0;
+     if (h >>> 0 <= j >>> 0) {
+      continue;
+     }
+     break;
+    }
+    k = 0;
+    if (h >>> 0 > 268435454) {
+     break b;
+    }
+    p = L$(h << 4);
+    if (!p) {
+     p = 0;
+     break b;
+    }
+    Z$(p, 0, j << 4);
+    k = b;
+   }
+   e : {
+    if (!b) {
+     i = q[67760];
+     break e;
+    }
+    i = q[67760];
+    g = 0;
+    h = 0;
+    while (1) {
+     f : {
+      if (b >>> 0 <= g >>> 0) {
+       j = q[67763];
+       q[160658] = q[67762];
+       q[160659] = j;
+       j = q[67761];
+       q[160656] = q[67760];
+       q[160657] = j;
+       e = 642624;
+       break f;
+      }
+      e = q[d >> 2] + (g << 4) | 0;
+     }
+     if (r[e + 12 | 0]) {
+      g : {
+       h : {
+        if ((h | 0) < 0) {
+         b = h;
+         break h;
+        }
+        j = h;
+        b = h;
+        m = E + 1 | 0;
+        m = (m | 0) > 0 ? m : 0;
+        e = b;
+        i : {
+         if (b >>> 0 >= m >>> 0) {
+          break i;
+         }
+         while (1) {
+          j = ((j >>> 1 | 0) + j | 0) + 8 | 0;
+          if (j >>> 0 <= m >>> 0) {
+           continue;
+          }
+          break;
+         }
+         b = -1;
+         if (j >>> 0 < h >>> 0 | j >>> 0 > 1073741822) {
+          break h;
+         }
+         h = O$(F, j << 2);
+         if (!h) {
+          break h;
+         }
+         F = h;
+         e = j;
+        }
+        b = e;
+        if (m >>> 0 > E >>> 0) {
+         Z$((E << 2) + F | 0, 0, m - E << 2);
+        }
+        E = m;
+        e = ((m << 2) + F | 0) + -4 | 0;
+        break g;
+       }
+       q[160656] = i;
+       e = 642624;
+      }
+      q[e >> 2] = g;
+      h = b;
+      b = q[d + 4 >> 2];
+     }
+     g = g + 1 | 0;
+     if (g >>> 0 < b >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   a = q[a >> 2];
+   a = a ? a : 271040;
+   a = t[a + 16 >> 2] < 20 ? 271040 : q[a + 12 >> 2];
+   P = w(r[a + 4 | 0] << 8 | r[a + 5 | 0], r[a + 7 | 0] | r[a + 6 | 0] << 8);
+   b = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+   Q = a + (b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24)) | 0;
+   R = q[c + 60 >> 2];
+   T = q[c + 64 >> 2];
+   g = q[f + 156 >> 2];
+   while (1) {
+    j : {
+     q[f + 8 >> 2] = 0;
+     q[f + 100 >> 2] = P;
+     q[f + 96 >> 2] = Q;
+     q[f + 104 >> 2] = 0;
+     a = q[f + 100 >> 2];
+     q[f >> 2] = q[f + 96 >> 2];
+     q[f + 4 >> 2] = a;
+     k : {
+      l = aB(g, T, R, f);
+      if (l == x(0)) {
+       break k;
+      }
+      a = q[f + 128 >> 2];
+      b = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+      a = q[f + 140 >> 2] + (b ? a + b | 0 : 271040) | 0;
+      q[f + 92 >> 2] = a;
+      l : {
+       m : {
+        n : {
+         o : {
+          p : {
+           q : {
+            b = q[f + 144 >> 2];
+            if (b >>> 0 > a >>> 0) {
+             break q;
+            }
+            b = b + q[f + 148 >> 2] | 0;
+            if (a >>> 0 > b >>> 0) {
+             break q;
+            }
+            e = b - a | 0;
+            b = q[f + 156 >> 2];
+            c = r[b | 0] << 8 | r[b + 1 | 0];
+            if (e >>> 0 < c >>> 0) {
+             break q;
+            }
+            q[f + 88 >> 2] = 0;
+            q[f + 84 >> 2] = c;
+            q[f + 80 >> 2] = a;
+            q[f + 72 >> 2] = 0;
+            q[f + 64 >> 2] = 0;
+            q[f + 68 >> 2] = 0;
+            r : {
+             if (r[b + 2 | 0] & 32) {
+              h = 1;
+              if (!bB(f + 92 | 0, f - -64 | 0, f + 80 | 0)) {
+               break l;
+              }
+              a = f - -64 | 0;
+              if (q[f + 68 >> 2]) {
+               break r;
+              }
+             }
+             a = f + 160 | 0;
+            }
+            z = q[a + 8 >> 2];
+            I = q[d + 4 >> 2];
+            j = q[a + 4 >> 2];
+            b = 0;
+            q[f + 56 >> 2] = 0;
+            q[f + 48 >> 2] = 0;
+            q[f + 52 >> 2] = 0;
+            m = j ? j : I;
+            c = (m | 0) > 0 ? m : 0;
+            h = 0;
+            g = (m | 0) < 1;
+            s : {
+             if (!g) {
+              while (1) {
+               b = ((b >>> 1 | 0) + b | 0) + 8 | 0;
+               if (b >>> 0 <= c >>> 0) {
+                continue;
+               }
+               break;
+              }
+              t : {
+               if (b >>> 0 <= 1073741822) {
+                a = L$(b << 2);
+                if (a) {
+                 break t;
+                }
+               }
+               q[f + 48 >> 2] = -1;
+               break s;
+              }
+              q[f + 48 >> 2] = b;
+              q[f + 56 >> 2] = a;
+              h = q[f + 52 >> 2];
+              b = a;
+             }
+             if (c >>> 0 > h >>> 0) {
+              Z$((h << 2) + b | 0, 0, c - h << 2);
+             }
+             q[f + 52 >> 2] = c;
+            }
+            h = 1;
+            if (!cB(f + 92 | 0, f + 48 | 0, f + 80 | 0)) {
+             break m;
+            }
+            b = 0;
+            q[f + 40 >> 2] = 0;
+            q[f + 32 >> 2] = 0;
+            q[f + 36 >> 2] = 0;
+            h = 0;
+            u : {
+             if (!g) {
+              while (1) {
+               b = ((b >>> 1 | 0) + b | 0) + 8 | 0;
+               if (b >>> 0 <= c >>> 0) {
+                continue;
+               }
+               break;
+              }
+              v : {
+               if (b >>> 0 <= 1073741822) {
+                a = L$(b << 2);
+                if (a) {
+                 break v;
+                }
+               }
+               q[f + 32 >> 2] = -1;
+               break u;
+              }
+              q[f + 32 >> 2] = b;
+              q[f + 40 >> 2] = a;
+              h = q[f + 36 >> 2];
+              b = a;
+             }
+             if (c >>> 0 > h >>> 0) {
+              Z$((h << 2) + b | 0, 0, c - h << 2);
+             }
+             q[f + 36 >> 2] = c;
+            }
+            h = 1;
+            if (!cB(f + 92 | 0, f + 32 | 0, f + 80 | 0)) {
+             break n;
+            }
+            g = 0;
+            if (k) {
+             break p;
+            }
+            break o;
+           }
+           h = 0;
+           break j;
+          }
+          while (1) {
+           a = (g << 4) + p | 0;
+           q[a + 4 >> 2] = 0;
+           q[a + 8 >> 2] = 0;
+           o[a | 0] = 0;
+           o[a + 12 | 0] = 0;
+           g = g + 1 | 0;
+           if ((k | 0) != (g | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         if (m) {
+          g = 0;
+          h = q[f + 40 >> 2];
+          e = q[f + 36 >> 2];
+          C = q[f + 56 >> 2];
+          A = q[f + 52 >> 2];
+          while (1) {
+           b = k;
+           a = g;
+           w : {
+            if (!j) {
+             break w;
+            }
+            if (j >>> 0 <= g >>> 0) {
+             q[160656] = i;
+             a = i;
+             break w;
+            }
+            a = q[z + (g << 2) >> 2];
+           }
+           c = b >>> 0 > a >>> 0;
+           x : {
+            if (!c) {
+             b = q[67763];
+             q[160658] = q[67762];
+             q[160659] = b;
+             b = q[67761];
+             q[160656] = q[67760];
+             q[160657] = b;
+             b = 642624;
+             break x;
+            }
+            b = (a << 4) + p | 0;
+           }
+           o[b | 0] = 1;
+           s = l;
+           y : {
+            if (A >>> 0 <= g >>> 0) {
+             q[160656] = i;
+             b = i;
+             break y;
+            }
+            b = q[C + (g << 2) >> 2];
+           }
+           n = x(s * x(b | 0));
+           z : {
+            if (!c) {
+             b = q[67763];
+             q[160658] = q[67762];
+             q[160659] = b;
+             b = q[67761];
+             q[160656] = q[67760];
+             q[160657] = b;
+             b = 642624;
+             break z;
+            }
+            b = (a << 4) + p | 0;
+           }
+           u[b + 4 >> 2] = n + u[b + 4 >> 2];
+           s = l;
+           A : {
+            if (e >>> 0 <= g >>> 0) {
+             q[160656] = i;
+             b = i;
+             break A;
+            }
+            b = q[h + (g << 2) >> 2];
+           }
+           n = x(s * x(b | 0));
+           B : {
+            if (!c) {
+             a = q[67763];
+             q[160658] = q[67762];
+             q[160659] = a;
+             a = q[67761];
+             q[160656] = q[67760];
+             q[160657] = a;
+             a = 642624;
+             break B;
+            }
+            a = (a << 4) + p | 0;
+           }
+           u[a + 8 >> 2] = n + u[a + 8 >> 2];
+           g = g + 1 | 0;
+           if ((m | 0) != (g | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         G = 0;
+         b = 0;
+         if (E) {
+          while (1) {
+           C = 0;
+           A = q[(G << 2) + F >> 2];
+           g = b;
+           if (A >>> 0 >= b >>> 0) {
+            while (1) {
+             C : {
+              if (k >>> 0 <= g >>> 0) {
+               a = q[67763];
+               q[160658] = q[67762];
+               q[160659] = a;
+               a = q[67761];
+               q[160656] = q[67760];
+               q[160657] = a;
+               a = 642624;
+               break C;
+              }
+              a = (g << 4) + p | 0;
+             }
+             C = !r[a | 0] + C | 0;
+             g = g + 1 | 0;
+             if (g >>> 0 <= A >>> 0) {
+              continue;
+             }
+             break;
+            }
+           }
+           g = b;
+           if (C + -1 >>> 0 < A - b >>> 0) {
+            D : while (1) {
+             a = g;
+             g = a >>> 0 < A >>> 0 ? a + 1 | 0 : b;
+             J = k >>> 0 > a >>> 0;
+             E : {
+              if (!J) {
+               c = q[67763];
+               q[160658] = q[67762];
+               q[160659] = c;
+               c = q[67761];
+               q[160656] = q[67760];
+               q[160657] = c;
+               c = 642624;
+               break E;
+              }
+              c = (a << 4) + p | 0;
+             }
+             if (!r[c | 0]) {
+              continue;
+             }
+             F : {
+              if (k >>> 0 <= g >>> 0) {
+               c = q[67763];
+               q[160658] = q[67762];
+               q[160659] = c;
+               c = q[67761];
+               q[160656] = q[67760];
+               q[160657] = c;
+               c = 642624;
+               break F;
+              }
+              c = (g << 4) + p | 0;
+             }
+             if (r[c | 0]) {
+              continue;
+             }
+             g = a;
+             while (1) {
+              h = g >>> 0 < A >>> 0;
+              j = g + 1 | 0;
+              G : {
+               if (k >>> 0 <= g >>> 0) {
+                c = q[67763];
+                q[160658] = q[67762];
+                q[160659] = c;
+                c = q[67761];
+                q[160656] = q[67760];
+                q[160657] = c;
+                c = 642624;
+                break G;
+               }
+               c = (g << 4) + p | 0;
+              }
+              g = h ? j : b;
+              if (r[c | 0]) {
+               continue;
+              }
+              K = k >>> 0 > g >>> 0;
+              H : {
+               if (!K) {
+                c = q[67763];
+                q[160658] = q[67762];
+                q[160659] = c;
+                c = q[67761];
+                q[160656] = q[67760];
+                q[160657] = c;
+                c = 642624;
+                break H;
+               }
+               c = (g << 4) + p | 0;
+              }
+              if (!r[c | 0]) {
+               continue;
+              }
+              break;
+             }
+             c = g << 4;
+             h = c + p | 0;
+             z = a << 4;
+             j = z + p | 0;
+             m = c + D | 0;
+             z = z + D | 0;
+             c = a;
+             while (1) {
+              c = c >>> 0 < A >>> 0 ? c + 1 | 0 : b;
+              if ((g | 0) == (c | 0)) {
+               continue D;
+              }
+              L = H >>> 0 > c >>> 0;
+              I : {
+               if (!L) {
+                e = q[67763];
+                q[160658] = q[67762];
+                q[160659] = e;
+                e = q[67761];
+                q[160656] = q[67760];
+                q[160657] = e;
+                e = 642624;
+                break I;
+               }
+               e = (c << 4) + D | 0;
+              }
+              l = u[e + 4 >> 2];
+              e = z;
+              M = H >>> 0 > a >>> 0;
+              if (!M) {
+               e = q[67763];
+               q[160658] = q[67762];
+               q[160659] = e;
+               e = q[67761];
+               q[160656] = q[67760];
+               q[160657] = e;
+               e = 642624;
+              }
+              n = u[e + 4 >> 2];
+              e = m;
+              N = H >>> 0 > g >>> 0;
+              if (!N) {
+               e = q[67763];
+               q[160658] = q[67762];
+               q[160659] = e;
+               e = q[67761];
+               q[160656] = q[67760];
+               q[160657] = e;
+               e = 642624;
+              }
+              v = u[e + 4 >> 2];
+              e = j;
+              if (!J) {
+               e = q[67763];
+               q[160658] = q[67762];
+               q[160659] = e;
+               e = q[67761];
+               q[160656] = q[67760];
+               q[160657] = e;
+               e = 642624;
+              }
+              y = u[e + 4 >> 2];
+              e = h;
+              if (!K) {
+               e = q[67763];
+               q[160658] = q[67762];
+               q[160659] = e;
+               e = q[67761];
+               q[160656] = q[67760];
+               q[160657] = e;
+               e = 642624;
+              }
+              B = u[e + 4 >> 2];
+              s = y == B ? y : x(0);
+              J : {
+               if (n == v) {
+                break J;
+               }
+               s = n < v ? y : B;
+               if (!!(l <= (n <= v ? n : v))) {
+                break J;
+               }
+               s = n > v ? y : B;
+               if (!!(l >= (n >= v ? n : v))) {
+                break J;
+               }
+               l = x(x(l - n) / x(v - n));
+               s = x(x(x(x(1) - l) * y) + x(l * B));
+              }
+              l = s;
+              O = k >>> 0 > c >>> 0;
+              K : {
+               if (!O) {
+                e = q[67763];
+                q[160658] = q[67762];
+                q[160659] = e;
+                e = q[67761];
+                q[160656] = q[67760];
+                q[160657] = e;
+                e = 642624;
+                break K;
+               }
+               e = (c << 4) + p | 0;
+              }
+              u[e + 4 >> 2] = l;
+              L : {
+               if (!L) {
+                e = q[67763];
+                q[160658] = q[67762];
+                q[160659] = e;
+                e = q[67761];
+                q[160656] = q[67760];
+                q[160657] = e;
+                e = 642624;
+                break L;
+               }
+               e = (c << 4) + D | 0;
+              }
+              l = u[e + 8 >> 2];
+              e = z;
+              if (!M) {
+               e = q[67763];
+               q[160658] = q[67762];
+               q[160659] = e;
+               e = q[67761];
+               q[160656] = q[67760];
+               q[160657] = e;
+               e = 642624;
+              }
+              n = u[e + 8 >> 2];
+              e = m;
+              if (!N) {
+               e = q[67763];
+               q[160658] = q[67762];
+               q[160659] = e;
+               e = q[67761];
+               q[160656] = q[67760];
+               q[160657] = e;
+               e = 642624;
+              }
+              v = u[e + 8 >> 2];
+              e = j;
+              if (!J) {
+               e = q[67763];
+               q[160658] = q[67762];
+               q[160659] = e;
+               e = q[67761];
+               q[160656] = q[67760];
+               q[160657] = e;
+               e = 642624;
+              }
+              y = u[e + 8 >> 2];
+              e = h;
+              if (!K) {
+               e = q[67763];
+               q[160658] = q[67762];
+               q[160659] = e;
+               e = q[67761];
+               q[160656] = q[67760];
+               q[160657] = e;
+               e = 642624;
+              }
+              B = u[e + 8 >> 2];
+              s = y == B ? y : x(0);
+              M : {
+               if (n == v) {
+                break M;
+               }
+               s = n < v ? y : B;
+               if (!!(l <= (n <= v ? n : v))) {
+                break M;
+               }
+               s = n > v ? y : B;
+               if (!!(l >= (n >= v ? n : v))) {
+                break M;
+               }
+               l = x(x(l - n) / x(v - n));
+               s = x(x(x(x(1) - l) * y) + x(l * B));
+              }
+              l = s;
+              N : {
+               if (!O) {
+                e = q[67763];
+                q[160658] = q[67762];
+                q[160659] = e;
+                e = q[67761];
+                q[160656] = q[67760];
+                q[160657] = e;
+                e = 642624;
+                break N;
+               }
+               e = (c << 4) + p | 0;
+              }
+              u[e + 8 >> 2] = l;
+              C = C + -1 | 0;
+              if (C) {
+               continue;
+              }
+              break;
+             }
+             break;
+            }
+           }
+           b = A + 1 | 0;
+           G = G + 1 | 0;
+           if ((G | 0) != (E | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         if (I) {
+          b = q[d >> 2];
+          c = q[d + 4 >> 2];
+          g = 0;
+          while (1) {
+           h = k >>> 0 > g >>> 0;
+           O : {
+            if (!h) {
+             a = q[67763];
+             q[160658] = q[67762];
+             q[160659] = a;
+             a = q[67761];
+             q[160656] = q[67760];
+             q[160657] = a;
+             a = 642624;
+             break O;
+            }
+            a = (g << 4) + p | 0;
+           }
+           l = x(S(x(u[a + 4 >> 2])));
+           j = c >>> 0 > g >>> 0;
+           P : {
+            if (!j) {
+             a = q[67763];
+             q[160658] = q[67762];
+             q[160659] = a;
+             a = q[67761];
+             q[160656] = q[67760];
+             q[160657] = a;
+             a = 642624;
+             break P;
+            }
+            a = b + (g << 4) | 0;
+           }
+           u[a + 4 >> 2] = l + u[a + 4 >> 2];
+           Q : {
+            if (!h) {
+             a = q[67763];
+             q[160658] = q[67762];
+             q[160659] = a;
+             a = q[67761];
+             q[160656] = q[67760];
+             q[160657] = a;
+             a = 642624;
+             break Q;
+            }
+            a = (g << 4) + p | 0;
+           }
+           l = x(S(x(u[a + 8 >> 2])));
+           R : {
+            if (!j) {
+             a = q[67763];
+             q[160658] = q[67762];
+             q[160659] = a;
+             a = q[67761];
+             q[160656] = q[67760];
+             q[160657] = a;
+             a = 642624;
+             break R;
+            }
+            a = b + (g << 4) | 0;
+           }
+           u[a + 8 >> 2] = l + u[a + 8 >> 2];
+           g = g + 1 | 0;
+           if ((I | 0) != (g | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         h = 0;
+        }
+        M$(q[f + 40 >> 2]);
+       }
+       M$(q[f + 56 >> 2]);
+      }
+      M$(q[f + 72 >> 2]);
+      if (!h) {
+       break k;
+      }
+      h = 0;
+      break j;
+     }
+     a = q[f + 156 >> 2];
+     q[f + 140 >> 2] = q[f + 140 >> 2] + (r[a | 0] << 8 | r[a + 1 | 0]);
+     h = 1;
+     b = r[a + 2 | 0];
+     c = b >>> 5 & 2 | b >>> 7;
+     b = q[f + 136 >> 2] << 1;
+     g = (a + w(c, b) | 0) + 4 | 0;
+     q[f + 156 >> 2] = g;
+     a = q[f + 132 >> 2] + 1 | 0;
+     q[f + 132 >> 2] = a;
+     c = a;
+     a = q[f + 128 >> 2];
+     if (c >>> 0 >= (r[a | 0] << 8 & 3840 | r[a + 1 | 0]) >>> 0) {
+      break j;
+     }
+     a = q[f + 144 >> 2];
+     if (a >>> 0 > g >>> 0) {
+      break j;
+     }
+     a = a + q[f + 148 >> 2] | 0;
+     if (g >>> 0 > a >>> 0) {
+      break j;
+     }
+     c = a - g | 0;
+     if (c >>> 0 < 4) {
+      break j;
+     }
+     a = r[g + 2 | 0];
+     a = w(b, a >>> 5 & 2 | a >>> 7) + 4 | 0;
+     if (!a) {
+      break j;
+     }
+     b = r[g + 1 | 0] | r[g | 0] << 8;
+     if (c >>> 0 >= (b >>> 0 < a >>> 0 ? a : b) >>> 0) {
+      continue;
+     }
+    }
+    break;
+   }
+   M$(F);
+   M$(p);
+   M$(D);
+  }
+  M$(q[f + 168 >> 2]);
+ }
+ Ca = f + 192 | 0;
+ return h;
+}
+function JX(a, b, c, d, i) {
+ var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, t = 0, u = 0, w = 0, x = 0, z = 0, A = 0;
+ j = Ca - 864 | 0;
+ Ca = j;
+ a : {
+  b : {
+   m = s[i >> 1];
+   if (m >>> 0 > 40) {
+    break b;
+   }
+   c : {
+    switch (m - 1 | 0) {
+    default:
+     q[a >> 2] = 1;
+     q[a + 8 >> 2] = q[i + 8 >> 2];
+     break a;
+    case 0:
+     q[a >> 2] = 2;
+     b = q[i + 12 >> 2];
+     q[a + 8 >> 2] = q[i + 8 >> 2];
+     q[a + 12 >> 2] = b;
+     break a;
+    case 1:
+     q[a >> 2] = 3;
+     q[a + 8 >> 2] = q[i + 8 >> 2];
+     b = q[a + 12 >> 2];
+     q[j + 8 >> 2] = q[a + 8 >> 2];
+     q[j + 12 >> 2] = b;
+     b = q[a + 4 >> 2];
+     q[j >> 2] = q[a >> 2];
+     q[j + 4 >> 2] = b;
+     dS(j + 576 | 0, j);
+     b = q[j + 588 >> 2];
+     q[a + 8 >> 2] = q[j + 584 >> 2];
+     q[a + 12 >> 2] = b;
+     b = q[j + 580 >> 2];
+     q[a >> 2] = q[j + 576 >> 2];
+     q[a + 4 >> 2] = b;
+     break a;
+    case 2:
+     q[a >> 2] = 5;
+     JX(j + 304 | 0, b, c, d, q[q[i + 8 >> 2] >> 2]);
+     u = q[j + 316 >> 2];
+     m = q[j + 312 >> 2];
+     t = q[j + 304 >> 2];
+     d : {
+      if (t >>> 0 > 1) {
+       break d;
+      }
+      if (!(t - 1)) {
+       h(+(m | 0));
+       l = e(1) | 0;
+       m = e(0) | 0;
+       u = l;
+       t = 2;
+       break d;
+      }
+      l = q[a >> 2] == 5;
+      m = l ? 437968 : m;
+      t = l ? 5 : 0;
+     }
+     JX(j + 288 | 0, b, c, d, q[q[i + 8 >> 2] + 4 >> 2]);
+     w = q[j + 300 >> 2];
+     n = q[j + 296 >> 2];
+     l = q[j + 288 >> 2];
+     e : {
+      if (l >>> 0 > 1) {
+       break e;
+      }
+      if (!(l - 1)) {
+       h(+(n | 0));
+       l = e(1) | 0;
+       n = e(0) | 0;
+       w = l;
+       l = 2;
+       break e;
+      }
+      l = q[a >> 2] == 5;
+      n = l ? 437968 : n;
+      l = l ? 5 : 0;
+     }
+     JX(j + 272 | 0, b, c, d, q[q[i + 8 >> 2] + 8 >> 2]);
+     x = q[j + 284 >> 2];
+     r = q[j + 280 >> 2];
+     p = q[j + 272 >> 2];
+     f : {
+      if (p >>> 0 > 1) {
+       break f;
+      }
+      if (!(p - 1)) {
+       h(+(r | 0));
+       x = e(1) | 0;
+       r = e(0) | 0;
+       p = 2;
+       break f;
+      }
+      p = q[a >> 2] == 5;
+      r = p ? 437968 : r;
+      p = p ? 5 : 0;
+     }
+     JX(j + 256 | 0, b, c, d, q[q[i + 8 >> 2] + 12 >> 2]);
+     b = q[j + 268 >> 2];
+     d = q[j + 264 >> 2];
+     i = q[j + 256 >> 2];
+     g : {
+      if (i >>> 0 > 1) {
+       break g;
+      }
+      if (!(i - 1)) {
+       h(+(d | 0));
+       b = e(1) | 0;
+       d = e(0) | 0;
+       i = 2;
+       break g;
+      }
+      c = q[a >> 2] == 5;
+      d = c ? 437968 : d;
+      i = c ? 5 : 0;
+     }
+     h : {
+      if (!((t | 0) != 2 | (l | 0) != 2 | ((p | 0) != 2 | (i | 0) != 2))) {
+       q[j + 592 >> 2] = r;
+       q[j + 596 >> 2] = x;
+       q[j + 584 >> 2] = n;
+       q[j + 588 >> 2] = w;
+       q[j + 576 >> 2] = m;
+       q[j + 580 >> 2] = u;
+       q[j + 600 >> 2] = d;
+       q[j + 604 >> 2] = b;
+       q[a + 8 >> 2] = j + 576;
+       break h;
+      }
+      q[a >> 2] = 0;
+     }
+     b = a + 8 | 0;
+     d = q[b + 4 >> 2];
+     q[j + 24 >> 2] = q[b >> 2];
+     q[j + 28 >> 2] = d;
+     c = q[a + 4 >> 2];
+     q[j + 16 >> 2] = q[a >> 2];
+     q[j + 20 >> 2] = c;
+     dS(j + 320 | 0, j + 16 | 0);
+     c = q[j + 332 >> 2];
+     q[b >> 2] = q[j + 328 >> 2];
+     q[b + 4 >> 2] = c;
+     b = q[j + 324 >> 2];
+     q[a >> 2] = q[j + 320 >> 2];
+     q[a + 4 >> 2] = b;
+     break a;
+    case 5:
+     q[a >> 2] = 6;
+     q[a + 8 >> 2] = q[i + 8 >> 2];
+     b = q[a + 12 >> 2];
+     q[j + 40 >> 2] = q[a + 8 >> 2];
+     q[j + 44 >> 2] = b;
+     b = q[a + 4 >> 2];
+     q[j + 32 >> 2] = q[a >> 2];
+     q[j + 36 >> 2] = b;
+     dS(j + 576 | 0, j + 32 | 0);
+     b = q[j + 588 >> 2];
+     q[a + 8 >> 2] = q[j + 584 >> 2];
+     q[a + 12 >> 2] = b;
+     b = q[j + 580 >> 2];
+     q[a >> 2] = q[j + 576 >> 2];
+     q[a + 4 >> 2] = b;
+     break a;
+    case 6:
+     q[a >> 2] = 8;
+     q[a + 8 >> 2] = q[i + 8 >> 2];
+     b = q[a + 12 >> 2];
+     q[j + 56 >> 2] = q[a + 8 >> 2];
+     q[j + 60 >> 2] = b;
+     b = q[a + 4 >> 2];
+     q[j + 48 >> 2] = q[a >> 2];
+     q[j + 52 >> 2] = b;
+     dS(j + 576 | 0, j + 48 | 0);
+     b = q[j + 588 >> 2];
+     q[a + 8 >> 2] = q[j + 584 >> 2];
+     q[a + 12 >> 2] = b;
+     b = q[j + 580 >> 2];
+     q[a >> 2] = q[j + 576 >> 2];
+     q[a + 4 >> 2] = b;
+     break a;
+    case 3:
+     q[a >> 2] = 9;
+     q[a + 8 >> 2] = q[i + 8 >> 2];
+     b = q[a + 12 >> 2];
+     q[j + 72 >> 2] = q[a + 8 >> 2];
+     q[j + 76 >> 2] = b;
+     b = q[a + 4 >> 2];
+     q[j + 64 >> 2] = q[a >> 2];
+     q[j + 68 >> 2] = b;
+     dS(j + 576 | 0, j - -64 | 0);
+     b = q[j + 588 >> 2];
+     q[a + 8 >> 2] = q[j + 584 >> 2];
+     q[a + 12 >> 2] = b;
+     b = q[j + 580 >> 2];
+     q[a >> 2] = q[j + 576 >> 2];
+     q[a + 4 >> 2] = b;
+     break a;
+    case 4:
+     q[a >> 2] = 4;
+     q[a + 8 >> 2] = q[i + 8 >> 2];
+     break a;
+    case 8:
+     i : {
+      j : {
+       if (d >>> 0 > 1) {
+        break j;
+       }
+       if (!(d - 1)) {
+        if (q[i + 12 >> 2]) {
+         break j;
+        }
+        if (!zS(c, q[i + 8 >> 2], a)) {
+         break i;
+        }
+        q[a >> 2] = 0;
+        break i;
+       }
+       if (q[i + 12 >> 2] != 1) {
+        break j;
+       }
+       c0(503428, 80, 1, q[126919]);
+       q[a >> 2] = 0;
+       break i;
+      }
+      if (!zS(b, q[i + 8 >> 2], a)) {
+       break i;
+      }
+      q[a >> 2] = 0;
+     }
+     b = a + 8 | 0;
+     d = q[b + 4 >> 2];
+     q[j + 88 >> 2] = q[b >> 2];
+     q[j + 92 >> 2] = d;
+     c = q[a + 4 >> 2];
+     q[j + 80 >> 2] = q[a >> 2];
+     q[j + 84 >> 2] = c;
+     dS(j + 576 | 0, j + 80 | 0);
+     c = q[j + 588 >> 2];
+     q[b >> 2] = q[j + 584 >> 2];
+     q[b + 4 >> 2] = c;
+     b = q[j + 580 >> 2];
+     q[a >> 2] = q[j + 576 >> 2];
+     q[a + 4 >> 2] = b;
+     break a;
+    case 9:
+     if (gR(q[i + 8 >> 2], a + 8 | 0)) {
+      q[a >> 2] = 1;
+      break a;
+     }
+     q[a >> 2] = 0;
+     break a;
+    case 18:
+     JX(j + 576 | 0, b, c, d, q[i + 8 >> 2]);
+     l = q[j + 588 >> 2];
+     q[j + 856 >> 2] = q[j + 584 >> 2];
+     q[j + 860 >> 2] = l;
+     l = q[j + 580 >> 2];
+     m = q[j + 576 >> 2];
+     q[j + 848 >> 2] = m;
+     q[j + 852 >> 2] = l;
+     k : {
+      if ((m | 0) == 4) {
+       if (q[j + 856 >> 2]) {
+        JX(j + 576 | 0, b, c, d, q[q[i + 12 >> 2] + 8 >> 2]);
+        b = q[j + 588 >> 2];
+        q[a + 8 >> 2] = q[j + 584 >> 2];
+        q[a + 12 >> 2] = b;
+        b = q[j + 580 >> 2];
+        q[a >> 2] = q[j + 576 >> 2];
+        q[a + 4 >> 2] = b;
+        break k;
+       }
+       JX(j + 576 | 0, b, c, d, q[q[i + 12 >> 2] + 12 >> 2]);
+       b = q[j + 588 >> 2];
+       q[a + 8 >> 2] = q[j + 584 >> 2];
+       q[a + 12 >> 2] = b;
+       b = q[j + 580 >> 2];
+       q[a >> 2] = q[j + 576 >> 2];
+       q[a + 4 >> 2] = b;
+       break k;
+      }
+      q[a >> 2] = 0;
+     }
+     a = q[j + 860 >> 2];
+     q[j + 104 >> 2] = q[j + 856 >> 2];
+     q[j + 108 >> 2] = a;
+     a = q[j + 852 >> 2];
+     q[j + 96 >> 2] = q[j + 848 >> 2];
+     q[j + 100 >> 2] = a;
+     bS(j + 96 | 0);
+     break a;
+    case 21:
+    case 22:
+    case 23:
+    case 24:
+    case 25:
+    case 26:
+    case 27:
+    case 28:
+    case 29:
+     JX(j + 576 | 0, b, c, d, q[i + 8 >> 2]);
+     m = j + 584 | 0;
+     u = q[m + 4 >> 2];
+     l = j + 856 | 0;
+     q[l >> 2] = q[m >> 2];
+     q[l + 4 >> 2] = u;
+     n = q[j + 580 >> 2];
+     q[j + 848 >> 2] = q[j + 576 >> 2];
+     q[j + 852 >> 2] = n;
+     JX(j + 576 | 0, b, c, d, q[i + 12 >> 2]);
+     d = q[m + 4 >> 2];
+     b = j + 840 | 0;
+     q[b >> 2] = q[m >> 2];
+     q[b + 4 >> 2] = d;
+     c = q[j + 580 >> 2];
+     q[j + 832 >> 2] = q[j + 576 >> 2];
+     q[j + 836 >> 2] = c;
+     q[a >> 2] = 4;
+     z = a, A = HX(j + 848 | 0, q[i >> 2], j + 832 | 0), q[z + 8 >> 2] = A;
+     a = q[l + 4 >> 2];
+     q[j + 136 >> 2] = q[l >> 2];
+     q[j + 140 >> 2] = a;
+     a = q[j + 852 >> 2];
+     q[j + 128 >> 2] = q[j + 848 >> 2];
+     q[j + 132 >> 2] = a;
+     bS(j + 128 | 0);
+     a = q[b + 4 >> 2];
+     q[j + 120 >> 2] = q[b >> 2];
+     q[j + 124 >> 2] = a;
+     a = q[j + 836 >> 2];
+     q[j + 112 >> 2] = q[j + 832 >> 2];
+     q[j + 116 >> 2] = a;
+     bS(j + 112 | 0);
+     break a;
+    case 19:
+    case 20:
+    case 30:
+    case 31:
+    case 32:
+    case 33:
+     JX(j + 576 | 0, b, c, d, q[i + 8 >> 2]);
+     n = j + 584 | 0;
+     w = q[n + 4 >> 2];
+     l = j + 856 | 0;
+     q[l >> 2] = q[n >> 2];
+     q[l + 4 >> 2] = w;
+     r = q[j + 580 >> 2];
+     q[j + 848 >> 2] = q[j + 576 >> 2];
+     q[j + 852 >> 2] = r;
+     JX(j + 576 | 0, b, c, d, q[i + 12 >> 2]);
+     b = q[n + 4 >> 2];
+     q[j + 840 >> 2] = q[n >> 2];
+     q[j + 844 >> 2] = b;
+     b = q[j + 580 >> 2];
+     d = q[j + 576 >> 2];
+     q[j + 832 >> 2] = d;
+     q[j + 836 >> 2] = b;
+     c = q[l + 4 >> 2];
+     n = c;
+     b = q[l >> 2];
+     q[j + 320 >> 2] = b;
+     q[j + 324 >> 2] = c;
+     i = q[j + 848 >> 2];
+     l : {
+      if (i >>> 0 > 3) {
+       break l;
+      }
+      f(0, b | 0);
+      f(1, n | 0);
+      k = +g();
+      c = b;
+      b = d;
+      m : {
+       n : {
+        o : {
+         p : {
+          q : {
+           switch (i - 1 | 0) {
+           default:
+            i = 0;
+            b = b + -5 | 0;
+            if (b >>> 0 > 3) {
+             break l;
+            }
+            r : {
+             switch (b - 1 | 0) {
+             case 1:
+              break l;
+             case 0:
+              break o;
+             case 2:
+              break p;
+             default:
+              break r;
+             }
+            }
+            q[j + 320 >> 2] = 437968;
+            i = 5;
+            break l;
+           case 1:
+            break m;
+           case 0:
+            break n;
+           case 2:
+            break q;
+           }
+          }
+          i = 3;
+          if ((b | 0) != 8) {
+           break l;
+          }
+          z = j, A = QP(c, j + 576 | 0), q[z + 320 >> 2] = A;
+          i = 8;
+          break l;
+         }
+         z = j, A = QP(0, j + 576 | 0), q[z + 320 >> 2] = A;
+         i = 8;
+         break l;
+        }
+        z = j, A = HR(j + 576 | 0), q[z + 320 >> 2] = A;
+        i = 6;
+        break l;
+       }
+       k = +(c | 0);
+       v[j + 320 >> 3] = k;
+      }
+      i = 2;
+      if ((b | 0) != 9) {
+       break l;
+      }
+      z = j, A = iP(k, j + 576 | 0), q[z + 320 >> 2] = A;
+      i = 9;
+     }
+     k = v[j + 320 >> 3];
+     c = q[j + 844 >> 2];
+     b = q[j + 840 >> 2];
+     d = q[j + 832 >> 2];
+     s : {
+      t : {
+       if (d >>> 0 > 3) {
+        break t;
+       }
+       u : {
+        v : {
+         w : {
+          x : {
+           y : {
+            z : {
+             switch (d - 1 | 0) {
+             default:
+              n = i + -5 | 0;
+              if (n >>> 0 > 3) {
+               break u;
+              }
+              l = 437968;
+              d = i;
+              switch (n - 1 | 0) {
+              case 1:
+               break u;
+              case 0:
+               break x;
+              case 2:
+               break y;
+              default:
+               break s;
+              }
+             case 1:
+              break v;
+             case 0:
+              break w;
+             case 2:
+              break z;
+             }
+            }
+            d = 8;
+            if ((i | 0) != 8) {
+             d = 3;
+             break t;
+            }
+            l = QP(b, j + 320 | 0);
+            break s;
+           }
+           d = 8;
+           l = QP(0, j + 320 | 0);
+           break s;
+          }
+          d = 6;
+          l = HR(j + 320 | 0);
+          break s;
+         }
+         h(+(b | 0));
+         c = e(1) | 0;
+         b = e(0) | 0;
+        }
+        d = 9;
+        if ((i | 0) != 9) {
+         d = 2;
+         break t;
+        }
+        f(0, b | 0);
+        f(1, c | 0);
+        l = iP(+g(), j + 320 | 0);
+        break s;
+       }
+       d = 0;
+      }
+      l = b;
+     }
+     A : {
+      if ((d | 0) == (i | 0)) {
+       B : {
+        d = i + -2 | 0;
+        if (d >>> 0 > 6) {
+         break B;
+        }
+        h(+k);
+        e(1) | 0;
+        b = e(0) | 0;
+        C : {
+         switch (d - 1 | 0) {
+         default:
+          b = a;
+          D : {
+           E : {
+            d = m + -31 | 0;
+            if (d >>> 0 <= 3) {
+             F : {
+              switch (d - 1 | 0) {
+              case 0:
+               q[a >> 2] = 2;
+               f(0, l | 0);
+               f(1, c | 0);
+               k = k - +g();
+               break D;
+              case 1:
+               q[a >> 2] = 2;
+               f(0, l | 0);
+               f(1, c | 0);
+               k = k * +g();
+               break D;
+              case 2:
+               break F;
+              default:
+               break E;
+              }
+             }
+             q[a >> 2] = 2;
+             f(0, l | 0);
+             f(1, c | 0);
+             k = k / +g();
+             break D;
+            }
+            q[a >> 2] = 0;
+            break A;
+           }
+           q[a >> 2] = 2;
+           f(0, l | 0);
+           f(1, c | 0);
+           k = k + +g();
+          }
+          v[b + 8 >> 3] = k;
+          o = k;
+          if (y(k) < 2147483648) {
+           b = ~~k;
+          } else {
+           b = -2147483648;
+          }
+          if (o != +(b | 0)) {
+           break A;
+          }
+          q[a + 8 >> 2] = b;
+          q[a >> 2] = 1;
+          break A;
+         case 1:
+          c = m + -20 | 0;
+          if (c >>> 0 <= 1) {
+           if (c - 1) {
+            q[a >> 2] = 4;
+            q[a + 8 >> 2] = (b | l) != 0;
+            break A;
+           }
+           q[a >> 2] = 4;
+           q[a + 8 >> 2] = (l | 0) != 0 & (b | 0) != 0;
+           break A;
+          }
+          q[a >> 2] = 0;
+          break A;
+         case 0:
+          if ((m | 0) == 31) {
+           q[a >> 2] = 3;
+           b = YP(b, l);
+           z = a, A = mZ(b), q[z + 8 >> 2] = A;
+           M$(b);
+           if (q[a + 8 >> 2]) {
+            break A;
+           }
+           q[a >> 2] = 0;
+           break A;
+          }
+          q[a >> 2] = 0;
+          break A;
+         case 2:
+          if ((m | 0) == 33) {
+           q[a >> 2] = 5;
+           c = L$(32);
+           if (c) {
+            ZO(c, b, l);
+            q[a + 8 >> 2] = c;
+            break A;
+           }
+           q[a >> 2] = 0;
+           break A;
+          }
+          q[a >> 2] = 0;
+          break A;
+         case 3:
+          c = m + -31 | 0;
+          if (c >>> 0 <= 1) {
+           if (c - 1) {
+            q[a >> 2] = 6;
+            b = OR(b, l, 836, 1);
+            q[a + 8 >> 2] = b;
+            if (b) {
+             break A;
+            }
+            q[a >> 2] = 0;
+            break A;
+           }
+           q[a >> 2] = 6;
+           b = SR(b, l);
+           q[a + 8 >> 2] = b;
+           if (b) {
+            break A;
+           }
+           q[a >> 2] = 0;
+           break A;
+          }
+          q[a >> 2] = 0;
+          break A;
+         case 4:
+          break B;
+         case 5:
+          break C;
+         }
+        }
+        c = m + -31 | 0;
+        if (c >>> 0 <= 1) {
+         if (c - 1) {
+          q[a >> 2] = 8;
+          b = XP(b, l, 833);
+          q[a + 8 >> 2] = b;
+          if (b) {
+           break A;
+          }
+          q[a >> 2] = 0;
+          break A;
+         }
+         q[a >> 2] = 8;
+         b = XP(b, l, 834);
+         q[a + 8 >> 2] = b;
+         if (b) {
+          break A;
+         }
+         q[a >> 2] = 0;
+         break A;
+        }
+        q[a >> 2] = 0;
+        break A;
+       }
+       q[a >> 2] = 0;
+       break A;
+      }
+      q[a >> 2] = 0;
+     }
+     a = q[j + 860 >> 2];
+     q[j + 168 >> 2] = q[j + 856 >> 2];
+     q[j + 172 >> 2] = a;
+     a = q[j + 852 >> 2];
+     q[j + 160 >> 2] = q[j + 848 >> 2];
+     q[j + 164 >> 2] = a;
+     bS(j + 160 | 0);
+     a = q[j + 844 >> 2];
+     q[j + 152 >> 2] = q[j + 840 >> 2];
+     q[j + 156 >> 2] = a;
+     a = q[j + 836 >> 2];
+     q[j + 144 >> 2] = q[j + 832 >> 2];
+     q[j + 148 >> 2] = a;
+     bS(j + 144 | 0);
+     break a;
+    case 34:
+     JX(j + 576 | 0, b, c, d, q[i + 8 >> 2]);
+     b = q[j + 588 >> 2];
+     q[j + 856 >> 2] = q[j + 584 >> 2];
+     q[j + 860 >> 2] = b;
+     b = q[j + 580 >> 2];
+     c = q[j + 576 >> 2];
+     q[j + 848 >> 2] = c;
+     q[j + 852 >> 2] = b;
+     G : {
+      if ((c | 0) == 4) {
+       q[a >> 2] = 4;
+       q[a + 8 >> 2] = !q[j + 856 >> 2];
+       break G;
+      }
+      q[a >> 2] = 0;
+     }
+     a = q[j + 860 >> 2];
+     q[j + 184 >> 2] = q[j + 856 >> 2];
+     q[j + 188 >> 2] = a;
+     a = q[j + 852 >> 2];
+     q[j + 176 >> 2] = q[j + 848 >> 2];
+     q[j + 180 >> 2] = a;
+     bS(j + 176 | 0);
+     break a;
+    case 36:
+     JX(j + 576 | 0, b, c, d, q[i + 8 >> 2]);
+     b = q[j + 588 >> 2];
+     q[j + 856 >> 2] = q[j + 584 >> 2];
+     q[j + 860 >> 2] = b;
+     b = q[j + 580 >> 2];
+     c = q[j + 576 >> 2];
+     q[j + 848 >> 2] = c;
+     q[j + 852 >> 2] = b;
+     b = c + -1 | 0;
+     H : {
+      if (b >>> 0 <= 1) {
+       if (b - 1) {
+        b = q[j + 852 >> 2];
+        q[a >> 2] = q[j + 848 >> 2];
+        q[a + 4 >> 2] = b;
+        b = q[j + 860 >> 2];
+        q[a + 8 >> 2] = q[j + 856 >> 2];
+        q[a + 12 >> 2] = b;
+        break H;
+       }
+       q[a >> 2] = 1;
+       k = v[j + 856 >> 3];
+       if (!!(k >= 0)) {
+        if (y(k) < 2147483648) {
+         q[a + 8 >> 2] = ~~k;
+         break H;
+        }
+        q[a + 8 >> 2] = -2147483648;
+        break H;
+       }
+       o = -k;
+       I : {
+        if (y(o) < 2147483648) {
+         b = ~~o;
+         break I;
+        }
+        b = -2147483648;
+       }
+       d = +(b | 0) == o;
+       k = 1 - k;
+       J : {
+        if (y(k) < 2147483648) {
+         c = ~~k;
+         break J;
+        }
+        c = -2147483648;
+       }
+       q[a + 8 >> 2] = 0 - (d ? b : c);
+       break H;
+      }
+      q[a >> 2] = 0;
+     }
+     a = q[j + 860 >> 2];
+     q[j + 200 >> 2] = q[j + 856 >> 2];
+     q[j + 204 >> 2] = a;
+     a = q[j + 852 >> 2];
+     q[j + 192 >> 2] = q[j + 848 >> 2];
+     q[j + 196 >> 2] = a;
+     bS(j + 192 | 0);
+     break a;
+    case 37:
+     JX(j + 576 | 0, b, c, d, q[i + 8 >> 2]);
+     b = q[j + 588 >> 2];
+     q[j + 856 >> 2] = q[j + 584 >> 2];
+     q[j + 860 >> 2] = b;
+     b = q[j + 580 >> 2];
+     c = q[j + 576 >> 2];
+     q[j + 848 >> 2] = c;
+     q[j + 852 >> 2] = b;
+     b = c + -1 | 0;
+     K : {
+      if (b >>> 0 <= 1) {
+       if (b - 1) {
+        b = q[j + 852 >> 2];
+        q[a >> 2] = q[j + 848 >> 2];
+        q[a + 4 >> 2] = b;
+        b = q[j + 860 >> 2];
+        q[a + 8 >> 2] = q[j + 856 >> 2];
+        q[a + 12 >> 2] = b;
+        break K;
+       }
+       q[a >> 2] = 1;
+       k = v[j + 856 >> 3];
+       if (!!(k >= 0)) {
+        o = k;
+        if (y(k) < 2147483648) {
+         b = ~~k;
+        } else {
+         b = -2147483648;
+        }
+        c = o == +(b | 0);
+        k = k + 1;
+        if (y(k) < 2147483648) {
+         q[a + 8 >> 2] = c ? b : ~~k;
+         break K;
+        }
+        q[a + 8 >> 2] = c ? b : -2147483648;
+        break K;
+       }
+       k = -k;
+       L : {
+        if (y(k) < 2147483648) {
+         b = ~~k;
+         break L;
+        }
+        b = -2147483648;
+       }
+       q[a + 8 >> 2] = 0 - b;
+       break K;
+      }
+      q[a >> 2] = 0;
+     }
+     a = q[j + 860 >> 2];
+     q[j + 216 >> 2] = q[j + 856 >> 2];
+     q[j + 220 >> 2] = a;
+     a = q[j + 852 >> 2];
+     q[j + 208 >> 2] = q[j + 848 >> 2];
+     q[j + 212 >> 2] = a;
+     bS(j + 208 | 0);
+     break a;
+    case 38:
+     JX(j + 576 | 0, b, c, d, q[i + 8 >> 2]);
+     b = q[j + 588 >> 2];
+     q[j + 856 >> 2] = q[j + 584 >> 2];
+     q[j + 860 >> 2] = b;
+     b = q[j + 580 >> 2];
+     c = q[j + 576 >> 2];
+     q[j + 848 >> 2] = c;
+     q[j + 852 >> 2] = b;
+     b = c + -1 | 0;
+     M : {
+      if (b >>> 0 <= 1) {
+       if (b - 1) {
+        b = q[j + 852 >> 2];
+        q[a >> 2] = q[j + 848 >> 2];
+        q[a + 4 >> 2] = b;
+        b = q[j + 860 >> 2];
+        q[a + 8 >> 2] = q[j + 856 >> 2];
+        q[a + 12 >> 2] = b;
+        break M;
+       }
+       q[a >> 2] = 1;
+       k = v[j + 856 >> 3] + .5;
+       if (!!(k >= 0)) {
+        if (y(k) < 2147483648) {
+         q[a + 8 >> 2] = ~~k;
+         break M;
+        }
+        q[a + 8 >> 2] = -2147483648;
+        break M;
+       }
+       o = -k;
+       N : {
+        if (y(o) < 2147483648) {
+         b = ~~o;
+         break N;
+        }
+        b = -2147483648;
+       }
+       d = +(b | 0) == o;
+       k = 1 - k;
+       O : {
+        if (y(k) < 2147483648) {
+         c = ~~k;
+         break O;
+        }
+        c = -2147483648;
+       }
+       q[a + 8 >> 2] = 0 - (d ? b : c);
+       break M;
+      }
+      q[a >> 2] = 0;
+     }
+     a = q[j + 860 >> 2];
+     q[j + 232 >> 2] = q[j + 856 >> 2];
+     q[j + 236 >> 2] = a;
+     a = q[j + 852 >> 2];
+     q[j + 224 >> 2] = q[j + 848 >> 2];
+     q[j + 228 >> 2] = a;
+     bS(j + 224 | 0);
+     break a;
+    case 7:
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 14:
+    case 15:
+    case 16:
+    case 17:
+    case 35:
+     break b;
+    case 39:
+     break c;
+    }
+   }
+   JX(j + 576 | 0, b, c, d, q[i + 8 >> 2]);
+   b = q[j + 588 >> 2];
+   q[j + 856 >> 2] = q[j + 584 >> 2];
+   q[j + 860 >> 2] = b;
+   b = q[j + 580 >> 2];
+   c = q[j + 576 >> 2];
+   q[j + 848 >> 2] = c;
+   q[j + 852 >> 2] = b;
+   b = c + -1 | 0;
+   P : {
+    if (b >>> 0 <= 1) {
+     if (b - 1) {
+      b = q[j + 852 >> 2];
+      q[a >> 2] = q[j + 848 >> 2];
+      q[a + 4 >> 2] = b;
+      b = q[j + 860 >> 2];
+      q[a + 8 >> 2] = q[j + 856 >> 2];
+      q[a + 12 >> 2] = b;
+      break P;
+     }
+     q[a >> 2] = 1;
+     k = v[j + 856 >> 3];
+     o = -k;
+     Q : {
+      if (y(o) < 2147483648) {
+       b = ~~o;
+       break Q;
+      }
+      b = -2147483648;
+     }
+     c = k >= 0;
+     d = 0 - b | 0;
+     if (y(k) < 2147483648) {
+      b = ~~k;
+     } else {
+      b = -2147483648;
+     }
+     q[a + 8 >> 2] = c ? b : d;
+     break P;
+    }
+    q[a >> 2] = 0;
+   }
+   a = q[j + 860 >> 2];
+   q[j + 248 >> 2] = q[j + 856 >> 2];
+   q[j + 252 >> 2] = a;
+   a = q[j + 852 >> 2];
+   q[j + 240 >> 2] = q[j + 848 >> 2];
+   q[j + 244 >> 2] = a;
+   bS(j + 240 | 0);
+   break a;
+  }
+  q[a >> 2] = 0;
+ }
+ Ca = j + 864 | 0;
+}
+function dl(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0;
+ f = Ca - 384 | 0;
+ Ca = f;
+ q[b >> 2] = 1;
+ a : {
+  if (!q[b + 136 >> 2]) {
+   d = jg(q[q[b + 96 >> 2] + 4 >> 2], 14472);
+   if (!d) {
+    a = 11;
+    break a;
+   }
+   q[b + 136 >> 2] = d;
+  }
+  if (!q[b + 320 >> 2]) {
+   C = b, D = jg(q[q[b + 96 >> 2] + 4 >> 2], 14478), q[C + 320 >> 2] = D;
+  }
+  a = yg(a, 0);
+  if (a) {
+   break a;
+  }
+  l = q[b + 100 >> 2];
+  q[f + 108 >> 2] = 0;
+  h = q[b + 104 >> 2];
+  a = q[b + 136 >> 2];
+  Z$(f + 8 | 0, 0, 100);
+  n[q[q[a + 4 >> 2] >> 2]](f + 8 | 0, 0, 0, l);
+  q[f + 80 >> 2] = h;
+  m = q[h + 8 >> 2];
+  b : {
+   c : {
+    d : {
+     d = Kg(h, 31);
+     e : {
+      if (d) {
+       break e;
+      }
+      a = jZ(q[h + 32 >> 2], 14506, 31);
+      Ng(h);
+      if (a) {
+       q[f + 4 >> 2] = 2;
+       break b;
+      }
+      u = f + 106 | 0;
+      k = f + 84 | 0;
+      v = f + 112 | 9;
+      while (1) {
+       j = q[h + 8 >> 2];
+       a = 0;
+       d = q[h + 4 >> 2] - q[h + 8 >> 2] | 0;
+       i = d >>> 0 < 265 ? d : 265;
+       d = zg(h, f + 112 | 0, i);
+       if (d) {
+        break e;
+       }
+       while (1) {
+        f : {
+         e = ((f + 112 | 0) + a | 0) + i | 0;
+         o[e | 0] = 0;
+         g = a + i | 0;
+         if (f + 112 >>> 0 < e + -6 >>> 0) {
+          i = g + u | 0;
+          d = r[f + 112 | 0];
+          a = f + 112 | 0;
+          while (1) {
+           g : {
+            if ((d & 255) != 83) {
+             break g;
+            }
+            if (jZ(a, 14538, 9)) {
+             break g;
+            }
+            i = 10;
+            break f;
+           }
+           h : {
+            d = r[a + 1 | 0];
+            if ((d | 0) != 115) {
+             break h;
+            }
+            if (jZ(a, 14548, 6)) {
+             break h;
+            }
+            i = 7;
+            break f;
+           }
+           a = a + 1 | 0;
+           if ((i | 0) != (a | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         if (g >>> 0 < 9) {
+          q[f + 4 >> 2] = 3;
+          break b;
+         }
+         a = e + -9 | 0;
+         d = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+         e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+         o[f + 120 | 0] = r[a + 8 | 0];
+         q[f + 112 >> 2] = e;
+         q[f + 116 >> 2] = d;
+         j = j + 256 | 0;
+         a = 9;
+         d = q[h + 4 >> 2] - q[h + 8 >> 2] | 0;
+         i = d >>> 0 < 256 ? d : 256;
+         d = zg(h, v, i);
+         if (!d) {
+          continue;
+         }
+         break e;
+        }
+        break;
+       }
+       d = yg(h, m);
+       if (d) {
+        break e;
+       }
+       j = ((i - (f + 112 | 0) | 0) + a | 0) + j | 0;
+       a = j - m | 0;
+       d = Jg(h, a, k);
+       if (d) {
+        break e;
+       }
+       q[f + 92 >> 2] = j;
+       g = q[f + 84 >> 2];
+       q[f + 12 >> 2] = g;
+       q[f + 104 >> 2] = -1;
+       q[f + 8 >> 2] = g;
+       q[f + 88 >> 2] = a;
+       q[f + 16 >> 2] = a + g;
+       n[q[f + 40 >> 2]](f + 8 | 0);
+       n[q[f + 36 >> 2]](f + 8 | 0);
+       a = q[f + 8 >> 2];
+       n[q[f + 40 >> 2]](f + 8 | 0);
+       n[q[f + 36 >> 2]](f + 8 | 0);
+       d = q[f + 8 >> 2];
+       e = q[f + 16 >> 2];
+       i = e + -6 | 0;
+       if (d >>> 0 <= i >>> 0) {
+        x = e + -9 | 0;
+        while (1) {
+         e = a;
+         a = d;
+         d = q[f + 20 >> 2];
+         if (d) {
+          break e;
+         }
+         i : {
+          if (r[a | 0] != 83 | a >>> 0 > x >>> 0) {
+           break i;
+          }
+          if (jZ(a, 14538, 9)) {
+           break i;
+          }
+          if (jZ(g, 14555, 5)) {
+           break c;
+          }
+          a = L_(e, 0, 10);
+          if ((a | 0) >= 0) {
+           break d;
+          }
+          q[f + 4 >> 2] = 3;
+          break b;
+         }
+         j : {
+          if (r[a + 1 | 0] != 115) {
+           break j;
+          }
+          if (jZ(a, 14548, 6)) {
+           break j;
+          }
+          q[f + 4 >> 2] = 2;
+          break b;
+         }
+         n[q[f + 40 >> 2]](f + 8 | 0);
+         n[q[f + 36 >> 2]](f + 8 | 0);
+         g = e;
+         d = q[f + 8 >> 2];
+         if (d >>> 0 <= i >>> 0) {
+          continue;
+         }
+         break;
+        }
+       }
+       Lg(h, k);
+       d = yg(h, j);
+       if (!d) {
+        continue;
+       }
+       break;
+      }
+     }
+     q[f + 4 >> 2] = d;
+     break b;
+    }
+    q[f + 96 >> 2] = a;
+   }
+   q[f + 4 >> 2] = 0;
+   q[f + 20 >> 2] = 0;
+   a = q[f + 84 >> 2];
+   q[f + 8 >> 2] = a;
+   k = q[f + 88 >> 2] + a | 0;
+   q[f + 16 >> 2] = k;
+   h = b + 164 | 0;
+   j = b + 312 | 0;
+   i = b + 196 | 0;
+   m = b + 140 | 0;
+   x = k + -1 | 0;
+   while (1) {
+    q[f + 8 >> 2] = a;
+    n[q[f + 36 >> 2]](f + 8 | 0);
+    d = q[f + 8 >> 2];
+    e = (d >>> 0 < k >>> 0 ? d : x) + -17 | 0;
+    if (a >>> 0 < e >>> 0) {
+     while (1) {
+      k : {
+       if (r[a | 0] != 37) {
+        break k;
+       }
+       if (jZ(a, 14561, 17) | q[b + 300 >> 2] < 1) {
+        break k;
+       }
+       q[f + 104 >> 2] = q[f + 104 >> 2] + 1;
+      }
+      a = a + 1 | 0;
+      if ((e | 0) != (a | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    l : {
+     m : {
+      n : {
+       if (d >>> 0 >= k >>> 0) {
+        break n;
+       }
+       n[q[f + 40 >> 2]](f + 8 | 0);
+       a = q[f + 8 >> 2];
+       if (q[f + 20 >> 2] | a >>> 0 >= k >>> 0) {
+        break n;
+       }
+       if (r[d | 0] != 47 | d + 2 >>> 0 >= k >>> 0) {
+        continue;
+       }
+       v = d + 1 | 0;
+       u = a - v | 0;
+       if (u + -1 >>> 0 > 20) {
+        continue;
+       }
+       z = r[v | 0];
+       d = 14592;
+       e = 16500;
+       while (1) {
+        g = d;
+        o : {
+         if ((z | 0) != r[e | 0]) {
+          break o;
+         }
+         if ((g0(e) | 0) != (u | 0)) {
+          break o;
+         }
+         d = 1;
+         if (u >>> 0 <= 1) {
+          break m;
+         }
+         while (1) {
+          if (r[d + v | 0] != r[d + e | 0]) {
+           break o;
+          }
+          d = d + 1 | 0;
+          if ((u | 0) != (d | 0)) {
+           continue;
+          }
+          break;
+         }
+         break m;
+        }
+        d = g + 36 | 0;
+        e = q[g + 36 >> 2];
+        if (e) {
+         continue;
+        }
+        break;
+       }
+       continue;
+      }
+      if (!q[b + 300 >> 2]) {
+       a = 3;
+       break l;
+      }
+      a = q[f + 20 >> 2];
+      q[f + 4 >> 2] = a;
+      if (a | (c | 0) < 0) {
+       break b;
+      }
+      d = Oe(l, 40, f + 4 | 0);
+      q[b + 328 >> 2] = d;
+      if (q[f + 4 >> 2]) {
+       break b;
+      }
+      p : {
+       e = b;
+       a = q[f + 96 >> 2];
+       q : {
+        if (a) {
+         g = b;
+         d = q[q[b + 104 >> 2] + 4 >> 2] - q[f + 92 >> 2] | 0;
+         if (a >>> 0 > d >>> 0) {
+          q[f + 96 >> 2] = d;
+          a = d;
+         }
+         j = Oe(l, a, f + 4 | 0);
+         q[g + 324 >> 2] = j;
+         if (q[f + 4 >> 2]) {
+          break b;
+         }
+         a = q[f + 96 >> 2];
+         l = q[b + 104 >> 2];
+         g = yg(l, q[f + 92 >> 2]);
+         if (g) {
+          break p;
+         }
+         r : {
+          if ((a | 0) < 1) {
+           break r;
+          }
+          u = a + j | 0;
+          m = 1;
+          d = f + 112 | 0;
+          h = d;
+          while (1) {
+           if (d >>> 0 >= h >>> 0) {
+            d = q[l + 8 >> 2];
+            a = q[l + 4 >> 2] - d | 0;
+            if (!a) {
+             g = 160;
+             break p;
+            }
+            g = zg(l, f + 112 | 0, a >>> 0 < 256 ? a : 256);
+            if (g) {
+             break p;
+            }
+            h = (q[l + 8 >> 2] + (f + 112 | 0) | 0) - d | 0;
+            d = f + 112 | 0;
+           }
+           s : {
+            t : {
+             a = r[d | 0];
+             i = a + -48 | 0;
+             u : {
+              if (i >>> 0 <= 9) {
+               break u;
+              }
+              if ((a + -97 & 255) >>> 0 <= 5) {
+               i = a + -87 | 0;
+               break u;
+              }
+              if ((a + -65 & 255) >>> 0 > 5) {
+               break t;
+              }
+              i = a + -55 | 0;
+             }
+             k = 0;
+             break s;
+            }
+            g = 160;
+            if (a >>> 0 > 62) {
+             break p;
+            }
+            k = 1;
+            i = 0;
+            v : {
+             switch (a - 1 | 0) {
+             case 0:
+             case 1:
+             case 2:
+             case 3:
+             case 4:
+             case 5:
+             case 6:
+             case 7:
+             case 10:
+             case 13:
+             case 14:
+             case 15:
+             case 16:
+             case 17:
+             case 18:
+             case 19:
+             case 20:
+             case 21:
+             case 22:
+             case 23:
+             case 24:
+             case 25:
+             case 26:
+             case 27:
+             case 28:
+             case 29:
+             case 30:
+             case 32:
+             case 33:
+             case 34:
+             case 35:
+             case 36:
+             case 37:
+             case 38:
+             case 39:
+             case 40:
+             case 41:
+             case 42:
+             case 43:
+             case 44:
+             case 45:
+             case 46:
+             case 47:
+             case 48:
+             case 49:
+             case 50:
+             case 51:
+             case 52:
+             case 53:
+             case 54:
+             case 55:
+             case 56:
+             case 57:
+             case 58:
+             case 59:
+             case 60:
+              break p;
+             case 61:
+              break s;
+             default:
+              break v;
+             }
+            }
+            d = d + 1 | 0;
+            continue;
+           }
+           w : {
+            if (m & 255) {
+             o[j | 0] = i << 4;
+             break w;
+            }
+            o[j | 0] = r[j | 0] + i;
+            j = j + 1 | 0;
+           }
+           if (k) {
+            break r;
+           }
+           d = d + 1 | 0;
+           m = 1 - m | 0;
+           if (j >>> 0 < u >>> 0) {
+            continue;
+           }
+           break;
+          }
+         }
+         q[f + 4 >> 2] = 0;
+         mf(q[b + 328 >> 2], q[b + 324 >> 2], q[f + 96 >> 2]);
+         a = 0;
+         break q;
+        }
+        a = q[b + 104 >> 2];
+        g = q[a + 4 >> 2];
+        q[d >> 2] = q[a >> 2];
+        q[d + 4 >> 2] = g;
+        g = q[a + 36 >> 2];
+        q[d + 32 >> 2] = q[a + 32 >> 2];
+        q[d + 36 >> 2] = g;
+        g = q[a + 28 >> 2];
+        q[d + 24 >> 2] = q[a + 24 >> 2];
+        q[d + 28 >> 2] = g;
+        g = q[a + 20 >> 2];
+        q[d + 16 >> 2] = q[a + 16 >> 2];
+        q[d + 20 >> 2] = g;
+        g = q[a + 12 >> 2];
+        q[d + 8 >> 2] = q[a + 8 >> 2];
+        q[d + 12 >> 2] = g;
+        a = q[f + 92 >> 2];
+       }
+       q[e + 308 >> 2] = a;
+       x : {
+        l = q[b + 288 >> 2];
+        if ((l | 0) >= 0) {
+         h = q[b + 292 >> 2];
+         if ((h | 0) > 0) {
+          break x;
+         }
+        }
+        q[f + 4 >> 2] = 3;
+        break b;
+       }
+       if (!((h | 0) < 5 ? (l | 0) <= 4 : 0)) {
+        q[f + 4 >> 2] = 3;
+        break b;
+       }
+       u = q[b + 328 >> 2];
+       d = q[u + 4 >> 2] - a | 0;
+       j = q[b + 300 >> 2];
+       if ((j | 0) >= 1) {
+        m = q[b + 304 >> 2];
+        i = 0;
+        while (1) {
+         a = m + w(i, 252) | 0;
+         if (t[a + 112 >> 2] >= 1001) {
+          q[a + 112 >> 2] = 7;
+         }
+         if (t[a + 116 >> 2] >= 1001) {
+          q[a + 116 >> 2] = 1;
+         }
+         y : {
+          e = q[a + 248 >> 2];
+          if ((e | 0) >= 0) {
+           g = q[a + 240 >> 2];
+           if (!g | e) {
+            break y;
+           }
+          }
+          q[f + 4 >> 2] = 3;
+          break b;
+         }
+         if ((e | 0) >= 5) {
+          q[f + 4 >> 2] = 3;
+          break b;
+         }
+         a = q[a + 244 >> 2];
+         if (d >>> 0 < a >>> 0) {
+          q[f + 4 >> 2] = 3;
+          break b;
+         }
+         if (!(!e | g >>> 0 <= (d - a >>> 0) / (e >>> 0) >>> 0 ? (g | 0) >= 0 : 0)) {
+          q[f + 4 >> 2] = 3;
+          break b;
+         }
+         i = i + 1 | 0;
+         if ((j | 0) != (i | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       a = q[b + 284 >> 2];
+       if (d >>> 0 < a >>> 0) {
+        q[f + 4 >> 2] = 3;
+        break b;
+       }
+       e = h + l | 0;
+       if (!(!e | t[b + 296 >> 2] <= (d - a >>> 0) / (e >>> 0) >>> 0)) {
+        q[f + 4 >> 2] = 3;
+        break b;
+       }
+       x = q[b + 136 >> 2];
+       g = 0;
+       l = q[b + 100 >> 2];
+       m = Te(l, 8, 0, j, 0, f + 112 | 0);
+       q[b + 316 >> 2] = m;
+       z : {
+        if (q[f + 112 >> 2]) {
+         break z;
+        }
+        d = q[b + 300 >> 2];
+        if ((d | 0) < 1) {
+         break z;
+        }
+        v = 0;
+        while (1) {
+         A : {
+          e = q[b + 304 >> 2] + w(v, 252) | 0;
+          k = q[e + 240 >> 2];
+          if (k) {
+           A = q[e + 4 >> 2];
+           z = k + 1 | 0;
+           if (z >>> 0 > y >>> 0) {
+            a = k + 4 & -4;
+            if (a >>> 0 <= y >>> 0) {
+             q[f + 112 >> 2] = 160;
+             break A;
+            }
+            g = Te(l, 4, y, a, g, f + 112 | 0);
+            y = a;
+            if (q[f + 112 >> 2]) {
+             break A;
+            }
+           }
+           a = yg(u, q[e + 244 >> 2] + q[b + 308 >> 2] | 0);
+           q[f + 112 >> 2] = a;
+           if (a) {
+            break A;
+           }
+           a = Kg(u, w(q[e + 248 >> 2], z));
+           q[f + 112 >> 2] = a;
+           if (a) {
+            break A;
+           }
+           j = q[e + 248 >> 2];
+           B = (j + -1 & 255) + 1 | 0;
+           h = q[u + 32 >> 2];
+           i = 0;
+           while (1) {
+            a = h;
+            d = 0;
+            e = j;
+            if (e & 255) {
+             while (1) {
+              d = r[a | 0] | d << 8;
+              a = a + 1 | 0;
+              e = e + -1 | 0;
+              if (e & 255) {
+               continue;
+              }
+              break;
+             }
+             h = h + B | 0;
+            }
+            q[(i << 2) + g >> 2] = d;
+            i = i + 1 | 0;
+            if (i >>> 0 <= k >>> 0) {
+             continue;
+            }
+            break;
+           }
+           Ng(u);
+           a = 1;
+           e = q[g >> 2];
+           d = e;
+           B : {
+            while (1) {
+             h = d;
+             d = q[(a << 2) + g >> 2];
+             if (h >>> 0 <= d >>> 0) {
+              a = a + 1 | 0;
+              if (a >>> 0 <= k >>> 0) {
+               continue;
+              }
+              break B;
+             }
+             break;
+            }
+            q[f + 112 >> 2] = 3;
+            break A;
+           }
+           a = q[(k << 2) + g >> 2];
+           if (a >>> 0 > q[u + 4 >> 2] - q[b + 308 >> 2] >>> 0) {
+            q[f + 112 >> 2] = 3;
+            break A;
+           }
+           C = m, D = Te(l, 4, 0, z, 0, f + 112 | 0), q[C + 4 >> 2] = D;
+           if (q[f + 112 >> 2]) {
+            break A;
+           }
+           a = a - e | 0;
+           d = Oe(l, a, f + 112 | 0);
+           q[q[m + 4 >> 2] >> 2] = d;
+           if (q[f + 112 >> 2]) {
+            break A;
+           }
+           d = yg(u, q[g >> 2] + q[b + 308 >> 2] | 0);
+           q[f + 112 >> 2] = d;
+           if (d) {
+            break A;
+           }
+           a = zg(u, q[q[m + 4 >> 2] >> 2], a);
+           q[f + 112 >> 2] = a;
+           if (a) {
+            break A;
+           }
+           a = 1;
+           h = q[g >> 2];
+           d = h;
+           while (1) {
+            e = a << 2;
+            j = e + q[m + 4 >> 2] | 0;
+            e = q[e + g >> 2];
+            q[j >> 2] = q[j + -4 >> 2] + (e - d | 0);
+            d = e;
+            a = a + 1 | 0;
+            if (a >>> 0 <= k >>> 0) {
+             continue;
+            }
+            break;
+           }
+           C : {
+            if ((A | 0) < 0) {
+             break C;
+            }
+            n[q[x + 16 >> 2]](q[q[m + 4 >> 2] >> 2], q[g + 4 >> 2] - h | 0, 4330);
+            if (k >>> 0 < 2) {
+             break C;
+            }
+            a = 1;
+            h = k >>> 0 > 1 ? k : 1;
+            e = g + 4 | 0;
+            while (1) {
+             j = q[q[m + 4 >> 2] + (a << 2) >> 2];
+             a = a + 1 | 0;
+             d = (a << 2) + g | 0;
+             n[q[x + 16 >> 2]](j, q[d >> 2] - q[e >> 2] | 0, 4330);
+             e = d;
+             if ((a | 0) != (h | 0)) {
+              continue;
+             }
+             break;
+            }
+           }
+           q[m >> 2] = k;
+           d = q[b + 300 >> 2];
+          }
+          m = m + 8 | 0;
+          v = v + 1 | 0;
+          if ((v | 0) < (d | 0)) {
+           continue;
+          }
+          break z;
+         }
+         break;
+        }
+        a = q[b + 316 >> 2];
+        if (!a) {
+         break z;
+        }
+        if (q[b + 300 >> 2] >= 1) {
+         e = 0;
+         while (1) {
+          d = l;
+          h = e << 3;
+          y = q[(h + a | 0) + 4 >> 2];
+          if (y) {
+           Qe(l, q[y >> 2]);
+           q[q[(h + q[b + 316 >> 2] | 0) + 4 >> 2] >> 2] = 0;
+           a = q[b + 316 >> 2];
+          }
+          Qe(d, q[(a + h | 0) + 4 >> 2]);
+          a = q[b + 316 >> 2];
+          q[(h + a | 0) + 4 >> 2] = 0;
+          e = e + 1 | 0;
+          if ((e | 0) < q[b + 300 >> 2]) {
+           continue;
+          }
+          break;
+         }
+        }
+        Qe(l, a);
+        q[b + 316 >> 2] = 0;
+       }
+       Qe(l, g);
+       q[f + 4 >> 2] = q[f + 112 >> 2];
+       break b;
+      }
+      q[f + 4 >> 2] = g;
+      break b;
+     }
+     e = f;
+     u = q[g + 8 >> 2];
+     D : {
+      if ((u | 0) == 11) {
+       n[q[g + 12 >> 2]](b, f + 8 | 0);
+       a = q[f + 20 >> 2];
+       break D;
+      }
+      E : {
+       F : {
+        G : {
+         H : {
+          a = q[g + 4 >> 2];
+          if (a >>> 0 > 5) {
+           break H;
+          }
+          d = m;
+          I : {
+           switch (a - 1 | 0) {
+           case 2:
+            d = h;
+            break G;
+           case 1:
+            d = j;
+            break G;
+           case 0:
+           case 3:
+            break H;
+           case 4:
+            break I;
+           default:
+            break G;
+           }
+          }
+          d = i;
+          break G;
+         }
+         a = q[f + 104 >> 2];
+         if ((a | 0) < 0 | (a | 0) >= q[b + 300 >> 2]) {
+          break F;
+         }
+         d = q[b + 304 >> 2] + w(a, 252) | 0;
+        }
+        q[f + 112 >> 2] = d;
+        if (u + -9 >>> 0 > 1) {
+         break E;
+        }
+        a = n[q[f + 76 >> 2]](f + 8 | 0, g, f + 112 | 0, 0, 0) | 0;
+        break D;
+       }
+       q[f + 20 >> 2] = 160;
+       q[f + 4 >> 2] = 160;
+       break b;
+      }
+      a = n[q[f + 72 >> 2]](f + 8 | 0, g, f + 112 | 0, 0, 0) | 0;
+     }
+     q[e + 20 >> 2] = a;
+     if (a) {
+      break l;
+     }
+     a = q[f + 8 >> 2];
+     continue;
+    }
+    break;
+   }
+   q[f + 4 >> 2] = a;
+  }
+  if (q[f + 84 >> 2]) {
+   Lg(q[f + 80 >> 2], f + 84 | 0);
+  }
+  n[q[f + 32 >> 2]](f + 8 | 0);
+  a = q[f + 4 >> 2];
+  if (a | (c | 0) < 0) {
+   break a;
+  }
+  a = 6;
+  if (c & 65535) {
+   break a;
+  }
+  q[b + 36 >> 2] = 0;
+  q[b + 4 >> 2] = 0;
+  q[b + 16 >> 2] = q[b + 296 >> 2];
+  a = q[b + 8 >> 2];
+  q[b + 8 >> 2] = a | 2065;
+  if (r[b + 188 | 0]) {
+   q[b + 8 >> 2] = a | 2069;
+  }
+  q[b + 24 >> 2] = 14487;
+  d = q[b + 176 >> 2];
+  q[b + 20 >> 2] = d;
+  J : {
+   if (d) {
+    a = q[b + 172 >> 2];
+    if (!a) {
+     break J;
+    }
+    e = r[a | 0];
+    if (!e) {
+     break J;
+    }
+    while (1) {
+     e = e & 255;
+     c = r[d | 0];
+     K : {
+      if ((e | 0) == (c | 0)) {
+       a = a + 1 | 0;
+       d = d + 1 | 0;
+       break K;
+      }
+      L : {
+       M : {
+        e = e + -32 | 0;
+        if (e >>> 0 > 13) {
+         break M;
+        }
+        switch (e - 1 | 0) {
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+        case 9:
+        case 10:
+        case 11:
+         break M;
+        default:
+         break L;
+        }
+       }
+       e = c + -32 | 0;
+       if (e >>> 0 > 13) {
+        if (c) {
+         break J;
+        }
+        q[b + 24 >> 2] = a;
+        break J;
+       }
+       N : {
+        switch (e - 1 | 0) {
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+        case 9:
+        case 10:
+        case 11:
+         break J;
+        default:
+         break N;
+        }
+       }
+       d = d + 1 | 0;
+       break K;
+      }
+      a = a + 1 | 0;
+     }
+     e = r[a | 0];
+     if (e) {
+      continue;
+     }
+     break;
+    }
+    break J;
+   }
+   a = q[b + 140 >> 2];
+   if (!a) {
+    break J;
+   }
+   q[b + 20 >> 2] = a;
+  }
+  c = q[b + 184 >> 2] != 0;
+  q[b + 12 >> 2] = c;
+  a = q[b + 180 >> 2];
+  O : {
+   if (!a) {
+    break O;
+   }
+   if (iZ(a, 14495)) {
+    if (iZ(a, 14500)) {
+     break O;
+    }
+   }
+   q[b + 12 >> 2] = c | 2;
+  }
+  q[b + 28 >> 2] = 0;
+  q[b + 32 >> 2] = 0;
+  q[b + 52 >> 2] = q[b + 196 >> 2] >> 16;
+  a = q[b + 200 >> 2] >> 16;
+  q[b + 56 >> 2] = a;
+  q[b + 60 >> 2] = q[b + 204 >> 2] + 65535 >> 16;
+  c = q[b + 208 >> 2] + 65535 >> 16;
+  q[b - -64 >> 2] = c;
+  e = s[b + 68 >> 1];
+  if (!e) {
+   p[b + 68 >> 1] = 1e3;
+   e = 1e3;
+  }
+  p[b + 72 >> 1] = a;
+  p[b + 70 >> 1] = c;
+  q[b + 80 >> 2] = s[b + 190 >> 1] | s[b + 192 >> 1] << 16;
+  d = b;
+  a = c - a | 0;
+  b = (w(e, 12) >>> 0) / 10 | 0;
+  p[d + 74 >> 1] = b << 16 >> 16 < (a | 0) ? a : b;
+  a = 0;
+ }
+ Ca = f + 384 | 0;
+ return a | 0;
+}
+function AD(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0;
+ d = Ca - 1920 | 0;
+ Ca = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       v = q[a + 112 >> 2];
+       g : {
+        if (!(o[v + 36 | 0] & 1)) {
+         break g;
+        }
+        j = q[v + 32 >> 2];
+        h : {
+         if (j) {
+          break h;
+         }
+         x = d + 184 | 0;
+         z = d + 136 | 0;
+         D = d + 1052 | 0;
+         A = s[135520];
+         B = d + 1496 | 0;
+         C = d + 1448 | 0;
+         E = d + 464 | 0;
+         while (1) {
+          j = N$(1, 168);
+          i : {
+           if (j) {
+            u = 0;
+            n = 0;
+            while (1) {
+             j : {
+              k : {
+               e = q[a + 44 >> 2];
+               if ((e | 0) >= 1) {
+                f = q[(u << 2) + 253168 >> 2];
+                i = q[a + 48 >> 2];
+                g = e + -1 | 0;
+                e = 0;
+                while (1) {
+                 h = e + g >>> 1 | 0;
+                 k = i + w(h, 36) | 0;
+                 y = q[k >> 2];
+                 l : {
+                  if (y >>> 0 > f >>> 0) {
+                   g = h + -1 | 0;
+                   break l;
+                  }
+                  if (y >>> 0 >= f >>> 0) {
+                   break k;
+                  }
+                  e = h + 1 | 0;
+                 }
+                 if ((e | 0) <= (g | 0)) {
+                  continue;
+                 }
+                 break;
+                }
+               }
+               q[((n << 2) + j | 0) + 8 >> 2] = 0;
+               break j;
+              }
+              y = (n << 2) + j | 0;
+              e = q[k + 28 >> 2];
+              q[y + 8 >> 2] = e;
+              if (!e) {
+               break j;
+              }
+              m : {
+               n : {
+                o : {
+                 p : {
+                  if (u >>> 0 <= 3) {
+                   g = 1569;
+                   i = 0;
+                   while (1) {
+                    e = s[((g << 3) + (u << 1) | 0) + 240648 >> 1];
+                    q : {
+                     if (!e) {
+                      break q;
+                     }
+                     if (!bD(b, g, d + 208 | 0)) {
+                      break q;
+                     }
+                     if (!bD(b, e, d + 112 | 0)) {
+                      break q;
+                     }
+                     e = q[d + 208 >> 2];
+                     f = q[d + 112 >> 2];
+                     if ((e | 0) == (f | 0) | (e | f) >>> 0 > 65535) {
+                      break q;
+                     }
+                     h = i << 1;
+                     k = h + (d + 1056 | 0) | 0;
+                     o[k + 1 | 0] = f;
+                     o[k | 0] = f >>> 8;
+                     p[h + (d + 1424 | 0) >> 1] = (e << 8 & 16711680 | e << 24) >>> 16;
+                     i = i + 1 | 0;
+                    }
+                    g = g + 1 | 0;
+                    if ((g | 0) != 1748) {
+                     continue;
+                    }
+                    break;
+                   }
+                   f = 1;
+                   r : {
+                    if (i >>> 0 <= 1) {
+                     g = 0;
+                     if (i - 1) {
+                      break m;
+                     }
+                     break r;
+                    }
+                    while (1) {
+                     k = f << 1;
+                     h = k + (d + 1424 | 0) | 0;
+                     m = h | 1;
+                     e = f;
+                     while (1) {
+                      g = e;
+                      if (e) {
+                       e = g + -1 | 0;
+                       l = s[(d + 1424 | 0) + (e << 1) >> 1];
+                       if ((r[m | 0] | r[h | 0] << 8) >>> 0 < (l << 24 | l << 8 & 16711680) >>> 16 >>> 0) {
+                        continue;
+                       }
+                      }
+                      break;
+                     }
+                     if ((g | 0) != (f | 0)) {
+                      h = s[h >> 1];
+                      e = g << 1;
+                      m = e + 2 | 0;
+                      l = e + (d + 1424 | 0) | 0;
+                      g = f - g << 1;
+                      _$(m + (d + 1424 | 0) | 0, l, g);
+                      p[l >> 1] = h;
+                      h = s[k + (d + 1056 | 0) >> 1];
+                      e = e + (d + 1056 | 0) | 0;
+                      _$(m + (d + 1056 | 0) | 0, e, g);
+                      p[e >> 1] = h;
+                     }
+                     f = f + 1 | 0;
+                     if ((f | 0) != (i | 0)) {
+                      continue;
+                     }
+                     break;
+                    }
+                   }
+                   q[d + 124 >> 2] = D;
+                   q[d + 112 >> 2] = d + 208;
+                   e = z;
+                   q[e + 24 >> 2] = 0;
+                   q[e + 28 >> 2] = 0;
+                   q[e + 16 >> 2] = 0;
+                   q[e + 20 >> 2] = 0;
+                   q[e + 8 >> 2] = 0;
+                   q[e + 12 >> 2] = 0;
+                   q[e >> 2] = 0;
+                   q[e + 4 >> 2] = 0;
+                   o[d + 180 | 0] = 1;
+                   q[d + 176 >> 2] = 0;
+                   q[d + 168 >> 2] = 1;
+                   q[d + 172 >> 2] = 1;
+                   q[x + 16 >> 2] = 0;
+                   e = x;
+                   q[e + 8 >> 2] = 0;
+                   q[e + 12 >> 2] = 0;
+                   q[e >> 2] = 0;
+                   q[e + 4 >> 2] = 0;
+                   oF(d + 112 | 0);
+                   if (q[d + 152 >> 2]) {
+                    break c;
+                   }
+                   e = pF(z);
+                   s : {
+                    if (!e) {
+                     if (!r[d + 132 | 0]) {
+                      break s;
+                     }
+                     o[d + 132 | 0] = 0;
+                     break s;
+                    }
+                    q[e >> 2] = q[d + 116 >> 2];
+                    q[e + 4 >> 2] = q[d + 120 >> 2];
+                    q[e + 20 >> 2] = q[d + 152 >> 2];
+                    q[d + 152 >> 2] = e;
+                   }
+                   f = q[d + 116 >> 2];
+                   e = 0;
+                   t : {
+                    if (!ED(f, d + 112 | 0, 1)) {
+                     break t;
+                    }
+                    u : {
+                     if (!(r[f + 5 | 0] | r[f + 4 | 0] << 8)) {
+                      p[321312] = A;
+                      e = 642624;
+                      break u;
+                     }
+                     e = f + 6 | 0;
+                    }
+                    g = q[d + 116 >> 2];
+                    f = g - f | 0;
+                    h = (f << 24 | f << 8 & 16711680) >>> 16 | 0;
+                    o[e | 0] = h;
+                    o[e + 1 | 0] = h >>> 8;
+                    if (!(!r[d + 132 | 0] | f >>> 0 < 65536)) {
+                     o[d + 132 | 0] = 0;
+                    }
+                    q[d + 1800 >> 2] = 0;
+                    q[d + 1804 >> 2] = d + 1056;
+                    e = q[d + 1804 >> 2];
+                    q[d + 16 >> 2] = q[d + 1800 >> 2];
+                    q[d + 20 >> 2] = e;
+                    q[d + 1812 >> 2] = 0;
+                    q[d + 1808 >> 2] = i;
+                    e = q[d + 1812 >> 2];
+                    q[d + 24 >> 2] = q[d + 1808 >> 2];
+                    q[d + 28 >> 2] = e;
+                    q[d + 1796 >> 2] = i;
+                    q[d + 1792 >> 2] = d + 1424;
+                    e = q[d + 1796 >> 2];
+                    q[d + 8 >> 2] = q[d + 1792 >> 2];
+                    q[d + 12 >> 2] = e;
+                    e = FD(g, d + 112 | 0, d + 8 | 0);
+                   }
+                   f = r[d + 132 | 0];
+                   if (!(r[d + 180 | 0] | !f ? !(f ? q[d + 156 >> 2] <= -1 : 0) : 0)) {
+                    o[d + 132 | 0] = 0;
+                   }
+                   f = q[d + 152 >> 2];
+                   v : {
+                    if (!f) {
+                     break v;
+                    }
+                    if (q[f + 20 >> 2]) {
+                     break b;
+                    }
+                    if (t[d + 160 >> 2] < 2) {
+                     break v;
+                    }
+                    qF(d + 112 | 0);
+                    rF(d + 112 | 0);
+                   }
+                   g = 0;
+                   w : {
+                    if (!e) {
+                     break w;
+                    }
+                    if (!r[d + 132 | 0]) {
+                     break a;
+                    }
+                    f = q[d + 120 >> 2];
+                    h = q[d + 124 >> 2] - f | 0;
+                    i = q[d + 112 >> 2];
+                    e = q[d + 116 >> 2] - i | 0;
+                    g = L$(h + e | 0);
+                    if (!g) {
+                     break w;
+                    }
+                    Y$(Y$(g, i, e) + e | 0, f, h);
+                   }
+                   sF(d + 112 | 0);
+                   break m;
+                  }
+                  i = 0;
+                  if (bD(b, 65247, d + 208 | 0)) {
+                   q[d + 1816 >> 2] = 0;
+                   q[d + 1824 >> 2] = 0;
+                   e = s[d + 208 >> 1];
+                   p[d + 1832 >> 1] = (e << 24 | e << 8 & 16711680) >>> 16;
+                   i = 1;
+                  }
+                  if (!bD(b, 65248, d + 208 | 0)) {
+                   break p;
+                  }
+                  e = i << 2;
+                  q[e + (d + 1816 | 0) >> 2] = 0;
+                  q[e + (d + 1824 | 0) >> 2] = 1;
+                  e = d + 1832 | i << 1;
+                  f = s[d + 208 >> 1];
+                  f = (f << 24 | f << 8 & 16711680) >>> 16 | 0;
+                  o[e | 0] = f;
+                  o[e + 1 | 0] = f >>> 8;
+                  g = 1;
+                  f = 1;
+                  if (!i) {
+                   break n;
+                  }
+                  h = i + 1 | 0;
+                  break o;
+                 }
+                 f = 1;
+                 if (i) {
+                  break n;
+                 }
+                 g = 0;
+                 break m;
+                }
+                while (1) {
+                 f = g;
+                 k = (d + 1832 | 0) + (f << 1) | 0;
+                 m = k | 1;
+                 e = f;
+                 while (1) {
+                  g = e;
+                  if (e) {
+                   e = g + -1 | 0;
+                   l = (d + 1832 | 0) + (e << 1) | 0;
+                   l = r[l | 0] | r[l + 1 | 0] << 8;
+                   if ((r[m | 0] | r[k | 0] << 8) >>> 0 < (l << 24 | l << 8 & 16711680) >>> 16 >>> 0) {
+                    continue;
+                   }
+                  }
+                  break;
+                 }
+                 if ((g | 0) != (f | 0)) {
+                  e = r[k | 0] | r[k + 1 | 0] << 8;
+                  m = g + 1 | 0;
+                  k = (d + 1832 | 0) + (g << 1) | 0;
+                  l = f - g | 0;
+                  _$((d + 1832 | 0) + (m << 1) | 0, k, l << 1);
+                  o[k | 0] = e;
+                  o[k + 1 | 0] = e >>> 8;
+                  e = q[(d + 1824 | 0) + (f << 2) >> 2];
+                  g = (d + 1824 | 0) + (g << 2) | 0;
+                  _$((d + 1824 | 0) + (m << 2) | 0, g, l << 2);
+                  q[g >> 2] = e;
+                 }
+                 g = f + 1 | 0;
+                 if ((f | 0) != (i | 0)) {
+                  continue;
+                 }
+                 break;
+                }
+                f = h;
+               }
+               h = 0;
+               i = 0;
+               while (1) {
+                g = i << 2;
+                e = g + (d + 1816 | 0) | 0;
+                k = q[g + (d + 1824 | 0) >> 2];
+                g = 0;
+                while (1) {
+                 m = w(k, 18) + (g << 2) | 0;
+                 l = s[m + 254850 >> 1];
+                 x : {
+                  if (!l) {
+                   break x;
+                  }
+                  if (!bD(b, l, d + 208 | 0)) {
+                   break x;
+                  }
+                  if (!bD(b, s[m + 254852 >> 1], d + 1424 | 0)) {
+                   break x;
+                  }
+                  q[e >> 2] = q[e >> 2] + 1;
+                  q[(d + 1056 | 0) + (h << 2) >> 2] = 2;
+                  m = h << 1;
+                  l = s[d + 1424 >> 1];
+                  p[m + (d + 112 | 0) >> 1] = (l << 24 | l << 8 & 16711680) >>> 16;
+                  l = m + (d + 1792 | 0) | 0;
+                  m = s[d + 208 >> 1];
+                  p[l >> 1] = (m << 24 | m << 8 & 16711680) >>> 16;
+                  h = h + 1 | 0;
+                 }
+                 g = g + 1 | 0;
+                 if ((g | 0) != 4) {
+                  continue;
+                 }
+                 break;
+                }
+                i = i + 1 | 0;
+                if ((f | 0) != (i | 0)) {
+                 continue;
+                }
+                break;
+               }
+               if (!h) {
+                g = 0;
+                break m;
+               }
+               q[d + 1436 >> 2] = E;
+               q[d + 1424 >> 2] = d + 208;
+               e = C;
+               q[e + 24 >> 2] = 0;
+               q[e + 28 >> 2] = 0;
+               q[e + 16 >> 2] = 0;
+               q[e + 20 >> 2] = 0;
+               q[e + 8 >> 2] = 0;
+               q[e + 12 >> 2] = 0;
+               q[e >> 2] = 0;
+               q[e + 4 >> 2] = 0;
+               o[d + 1492 | 0] = 1;
+               q[d + 1488 >> 2] = 0;
+               q[d + 1480 >> 2] = 1;
+               q[d + 1484 >> 2] = 1;
+               q[B + 16 >> 2] = 0;
+               e = B;
+               q[e + 8 >> 2] = 0;
+               q[e + 12 >> 2] = 0;
+               q[e >> 2] = 0;
+               q[e + 4 >> 2] = 0;
+               oF(d + 1424 | 0);
+               if (q[d + 1464 >> 2]) {
+                break c;
+               }
+               e = pF(C);
+               y : {
+                if (!e) {
+                 if (!r[d + 1444 | 0]) {
+                  break y;
+                 }
+                 o[d + 1444 | 0] = 0;
+                 break y;
+                }
+                q[e >> 2] = q[d + 1428 >> 2];
+                q[e + 4 >> 2] = q[d + 1432 >> 2];
+                q[e + 20 >> 2] = q[d + 1464 >> 2];
+                q[d + 1464 >> 2] = e;
+               }
+               g = q[d + 1428 >> 2];
+               z : {
+                if (!ED(g, d + 1424 | 0, 4)) {
+                 h = 0;
+                 break z;
+                }
+                A : {
+                 if (!(r[g + 5 | 0] | r[g + 4 | 0] << 8)) {
+                  p[321312] = A;
+                  i = 642624;
+                  break A;
+                 }
+                 i = g + 6 | 0;
+                }
+                e = q[d + 1428 >> 2];
+                k = e - g | 0;
+                g = (k << 24 | k << 8 & 16711680) >>> 16 | 0;
+                o[i | 0] = g;
+                o[i + 1 | 0] = g >>> 8;
+                g = r[d + 1444 | 0];
+                if (!(!g | k >>> 0 < 65536)) {
+                 o[d + 1444 | 0] = 0;
+                 g = 0;
+                }
+                q[d + 1848 >> 2] = 0;
+                q[d + 1844 >> 2] = f;
+                q[d + 1864 >> 2] = 0;
+                q[d + 1860 >> 2] = f;
+                q[d + 1880 >> 2] = 0;
+                q[d + 1876 >> 2] = h;
+                q[d + 1896 >> 2] = 0;
+                q[d + 1892 >> 2] = h;
+                q[d + 1912 >> 2] = 0;
+                q[d + 1908 >> 2] = h;
+                q[d + 1840 >> 2] = d + 1832;
+                q[d + 1856 >> 2] = d + 1816;
+                q[d + 1872 >> 2] = d + 112;
+                q[d + 1888 >> 2] = d + 1056;
+                q[d + 1904 >> 2] = d + 1792;
+                if (t[d + 1424 >> 2] > e >>> 0) {
+                 break f;
+                }
+                f = q[d + 1428 >> 2];
+                if (e >>> 0 > f >>> 0) {
+                 break e;
+                }
+                i = e + 2 | 0;
+                if (i >>> 0 < f >>> 0) {
+                 break d;
+                }
+                h = 0;
+                if ((g | 0) != 1) {
+                 break z;
+                }
+                g = i - f | 0;
+                if ((q[d + 1432 >> 2] - f | 0) < (g | 0)) {
+                 p[d + 1444 >> 1] = 256;
+                 break z;
+                }
+                Z$(f, 0, g);
+                f = q[d + 1428 >> 2];
+                q[d + 1428 >> 2] = f + g;
+                if (!e | !f) {
+                 break z;
+                }
+                o[e | 0] = 256;
+                o[e + 1 | 0] = 1;
+                q[d + 104 >> 2] = q[d + 1848 >> 2];
+                q[d + 56 >> 2] = q[d + 1896 >> 2];
+                q[d + 40 >> 2] = q[d + 1912 >> 2];
+                q[d + 72 >> 2] = q[d + 1880 >> 2];
+                q[d + 88 >> 2] = q[d + 1864 >> 2];
+                f = q[d + 1844 >> 2];
+                q[d + 96 >> 2] = q[d + 1840 >> 2];
+                q[d + 100 >> 2] = f;
+                f = q[d + 1892 >> 2];
+                q[d + 48 >> 2] = q[d + 1888 >> 2];
+                q[d + 52 >> 2] = f;
+                f = q[d + 1908 >> 2];
+                q[d + 32 >> 2] = q[d + 1904 >> 2];
+                q[d + 36 >> 2] = f;
+                f = q[d + 1876 >> 2];
+                q[d + 64 >> 2] = q[d + 1872 >> 2];
+                q[d + 68 >> 2] = f;
+                f = q[d + 1860 >> 2];
+                q[d + 80 >> 2] = q[d + 1856 >> 2];
+                q[d + 84 >> 2] = f;
+                h = GD(e, d + 1424 | 0, d + 96 | 0, d + 80 | 0, d - -64 | 0, d + 48 | 0, d + 32 | 0);
+               }
+               e = r[d + 1444 | 0];
+               if (!(r[d + 1492 | 0] | !e ? !(e ? q[d + 1468 >> 2] <= -1 : 0) : 0)) {
+                o[d + 1444 | 0] = 0;
+               }
+               e = q[d + 1464 >> 2];
+               B : {
+                if (!e) {
+                 break B;
+                }
+                if (q[e + 20 >> 2]) {
+                 break b;
+                }
+                if (t[d + 1472 >> 2] < 2) {
+                 break B;
+                }
+                qF(d + 1424 | 0);
+                rF(d + 1424 | 0);
+               }
+               g = 0;
+               C : {
+                if (!h) {
+                 break C;
+                }
+                if (!r[d + 1444 | 0]) {
+                 break a;
+                }
+                f = q[d + 1432 >> 2];
+                h = q[d + 1436 >> 2] - f | 0;
+                i = q[d + 1424 >> 2];
+                e = q[d + 1428 >> 2] - i | 0;
+                g = L$(h + e | 0);
+                if (!g) {
+                 break C;
+                }
+                Y$(Y$(g, i, e) + e | 0, f, h);
+               }
+               sF(d + 1424 | 0);
+              }
+              q[y + 28 >> 2] = g;
+              if (!g) {
+               break j;
+              }
+              Av((w(n, 24) + j | 0) + 48 | 0, g);
+              n = n + 1 | 0;
+             }
+             u = u + 1 | 0;
+             if ((u | 0) != 5) {
+              continue;
+             }
+             break;
+            }
+            o[j + 4 | 0] = 1;
+            q[j >> 2] = n;
+            if (n) {
+             break i;
+            }
+            M$(j);
+           }
+           j = 271040;
+          }
+          e = q[v + 32 >> 2];
+          q[v + 32 >> 2] = e ? e : j;
+          if (!e) {
+           break h;
+          }
+          if (q[j >> 2]) {
+           g = 0;
+           while (1) {
+            f = ((g << 2) + j | 0) + 28 | 0;
+            D : {
+             if (!q[f >> 2]) {
+              break D;
+             }
+             e = w(g, 24) + j | 0;
+             h = e + 68 | 0;
+             M$(q[h >> 2]);
+             q[h >> 2] = 0;
+             q[e + 60 >> 2] = 0;
+             q[e + 64 >> 2] = 0;
+             if (!r[j + 4 | 0]) {
+              break D;
+             }
+             M$(q[f >> 2]);
+            }
+            g = g + 1 | 0;
+            if (g >>> 0 < t[j >> 2]) {
+             continue;
+            }
+            break;
+           }
+           M$(j);
+          }
+          j = q[v + 32 >> 2];
+          if (!j) {
+           continue;
+          }
+          break;
+         }
+        }
+        c = Mt(d + 208 | 0, 0, b, c);
+        a = q[j >> 2];
+        if (!a) {
+         break g;
+        }
+        b = 0;
+        while (1) {
+         e = (b << 2) + j | 0;
+         f = q[e + 28 >> 2];
+         if (f) {
+          e = q[e + 8 >> 2];
+          q[c + 32 >> 2] = 0;
+          q[c + 116 >> 2] = e;
+          a = c;
+          q[a + 24 >> 2] = 0;
+          q[a + 28 >> 2] = 0;
+          g = q[a + 128 >> 2];
+          q[a + 8 >> 2] = g;
+          x = q[a + 120 >> 2] == 1;
+          o[a + 12 | 0] = x;
+          q[a + 76 >> 2] = 0;
+          q[a + 16 >> 2] = e;
+          o[a + 13 | 0] = r[a + 142 | 0];
+          q[a + 68 >> 2] = 0;
+          q[a + 72 >> 2] = 0;
+          q[a + 52 >> 2] = g;
+          q[a + 60 >> 2] = -1;
+          o[a + 57 | 0] = 1;
+          o[a + 56 | 0] = x | r[a + 141 | 0] != 0;
+          q[a + 4 >> 2] = a;
+          q[a + 48 >> 2] = a;
+          Tt(a, f, (w(b, 24) + j | 0) + 48 | 0);
+          a = q[j >> 2];
+         }
+         b = b + 1 | 0;
+         if (b >>> 0 < a >>> 0) {
+          continue;
+         }
+         break;
+        }
+       }
+       Ca = d + 1920 | 0;
+       return;
+      }
+      J(254675, 254641, 437, 254703);
+      F();
+     }
+     J(254715, 254641, 438, 254703);
+     F();
+    }
+    J(254742, 254641, 439, 254703);
+    F();
+   }
+   J(254632, 254641, 156, 254659);
+   F();
+  }
+  J(254777, 254641, 170, 254792);
+  F();
+ }
+ J(254806, 254641, 462, 254823);
+ F();
+}
+function yy(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, u = 0, v = 0, x = 0, y = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0;
+ p = Ca - 32 | 0;
+ Ca = p;
+ q[b + 12 >> 2] = 2;
+ q[p + 8 >> 2] = 0;
+ q[p + 12 >> 2] = 0;
+ q[b >> 2] = q[a + 24 >> 2];
+ o[b + 8 | 0] = r[a + 32 | 0];
+ gt(q[a >> 2], 1196643650, q[a + 36 >> 2], q[a + 44 >> 2], p + 24 | 0, p + 16 | 0);
+ q[b + 4 >> 2] = q[a + 28 >> 2];
+ o[b + 9 | 0] = r[a + 33 | 0];
+ gt(q[a >> 2], 1196445523, q[a + 40 >> 2], q[a + 48 >> 2], p + 28 | 0, p + 20 | 0);
+ d = q[a - -64 >> 2];
+ a : {
+  if (!d) {
+   break a;
+  }
+  g = a + 68 | 0;
+  Ay(q[g >> 2], d, 28, 458);
+  i = 1;
+  e = q[a + 64 >> 2];
+  if (e >>> 0 > 1) {
+   while (1) {
+    y = e >>> 0 > i >>> 0;
+    b : {
+     if (!y) {
+      q[160662] = q[67766];
+      d = q[67765];
+      q[160660] = q[67764];
+      q[160661] = d;
+      d = q[67763];
+      q[160658] = q[67762];
+      q[160659] = d;
+      d = q[67761];
+      q[160656] = q[67760];
+      q[160657] = d;
+      d = 642624;
+      break b;
+     }
+     d = q[g >> 2] + w(i, 28) | 0;
+    }
+    k = q[d >> 2];
+    h = e >>> 0 > f >>> 0;
+    c : {
+     if (!h) {
+      q[160662] = q[67766];
+      d = q[67765];
+      q[160660] = q[67764];
+      q[160661] = d;
+      d = q[67763];
+      q[160658] = q[67762];
+      q[160659] = d;
+      d = q[67761];
+      q[160656] = q[67760];
+      q[160657] = d;
+      d = 642624;
+      break c;
+     }
+     d = q[g >> 2] + w(f, 28) | 0;
+    }
+    j = q[d >> 2];
+    d : {
+     if (!y) {
+      q[160662] = q[67766];
+      d = q[67765];
+      q[160660] = q[67764];
+      q[160661] = d;
+      d = q[67763];
+      q[160658] = q[67762];
+      q[160659] = d;
+      d = q[67761];
+      q[160656] = q[67760];
+      q[160657] = d;
+      d = 642624;
+      break d;
+     }
+     d = q[g >> 2] + w(i, 28) | 0;
+    }
+    e : {
+     if ((j | 0) != (k | 0)) {
+      f = f + 1 | 0;
+      f : {
+       if (e >>> 0 <= f >>> 0) {
+        q[160662] = q[67766];
+        e = q[67765];
+        q[160660] = q[67764];
+        q[160661] = e;
+        e = q[67763];
+        q[160658] = q[67762];
+        q[160659] = e;
+        e = q[67761];
+        q[160656] = q[67760];
+        q[160657] = e;
+        e = 642624;
+        break f;
+       }
+       e = q[g >> 2] + w(f, 28) | 0;
+      }
+      j = q[d + 4 >> 2];
+      q[e >> 2] = q[d >> 2];
+      q[e + 4 >> 2] = j;
+      q[e + 24 >> 2] = q[d + 24 >> 2];
+      j = q[d + 20 >> 2];
+      q[e + 16 >> 2] = q[d + 16 >> 2];
+      q[e + 20 >> 2] = j;
+      j = q[d + 12 >> 2];
+      q[e + 8 >> 2] = q[d + 8 >> 2];
+      q[e + 12 >> 2] = j;
+      break e;
+     }
+     e = q[d + 12 >> 2] & 1;
+     g : {
+      if (!h) {
+       q[160662] = q[67766];
+       d = q[67765];
+       q[160660] = q[67764];
+       q[160661] = d;
+       d = q[67763];
+       q[160658] = q[67762];
+       q[160659] = d;
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break g;
+      }
+      d = q[g >> 2] + w(f, 28) | 0;
+     }
+     j = q[d + 12 >> 2];
+     h : {
+      if (e) {
+       q[d + 12 >> 2] = j | 1;
+       i : {
+        if (!y) {
+         q[160662] = q[67766];
+         d = q[67765];
+         q[160660] = q[67764];
+         q[160661] = d;
+         d = q[67763];
+         q[160658] = q[67762];
+         q[160659] = d;
+         d = q[67761];
+         q[160656] = q[67760];
+         q[160657] = d;
+         d = 642624;
+         break i;
+        }
+        d = q[g >> 2] + w(i, 28) | 0;
+       }
+       e = q[d + 8 >> 2];
+       j : {
+        if (!h) {
+         q[160662] = q[67766];
+         d = q[67765];
+         q[160660] = q[67764];
+         q[160661] = d;
+         d = q[67763];
+         q[160658] = q[67762];
+         q[160659] = d;
+         d = q[67761];
+         q[160656] = q[67760];
+         q[160657] = d;
+         d = 642624;
+         break j;
+        }
+        d = q[g >> 2] + w(f, 28) | 0;
+       }
+       q[d + 8 >> 2] = e;
+       k : {
+        if (!y) {
+         q[160662] = q[67766];
+         d = q[67765];
+         q[160660] = q[67764];
+         q[160661] = d;
+         d = q[67763];
+         q[160658] = q[67762];
+         q[160659] = d;
+         d = q[67761];
+         q[160656] = q[67760];
+         q[160657] = d;
+         d = 642624;
+         break k;
+        }
+        d = q[g >> 2] + w(i, 28) | 0;
+       }
+       e = q[d + 16 >> 2];
+       if (!h) {
+        q[160662] = q[67766];
+        d = q[67765];
+        q[160660] = q[67764];
+        q[160661] = d;
+        d = q[67763];
+        q[160658] = q[67762];
+        q[160659] = d;
+        d = q[67761];
+        q[160656] = q[67760];
+        q[160657] = d;
+        q[160660] = e;
+        break h;
+       }
+       q[(q[g >> 2] + w(f, 28) | 0) + 16 >> 2] = e;
+       break h;
+      }
+      if (j & 1) {
+       l : {
+        if (!h) {
+         q[160662] = q[67766];
+         d = q[67765];
+         q[160660] = q[67764];
+         q[160661] = d;
+         d = q[67763];
+         q[160658] = q[67762];
+         q[160659] = d;
+         d = q[67761];
+         q[160656] = q[67760];
+         q[160657] = d;
+         d = 642624;
+         break l;
+        }
+        d = q[g >> 2] + w(f, 28) | 0;
+       }
+       q[d + 12 >> 2] = q[d + 12 >> 2] ^ 1;
+      }
+      m : {
+       if (!h) {
+        q[160662] = q[67766];
+        d = q[67765];
+        q[160660] = q[67764];
+        q[160661] = d;
+        d = q[67763];
+        q[160658] = q[67762];
+        q[160659] = d;
+        d = q[67761];
+        q[160656] = q[67760];
+        q[160657] = d;
+        d = 642624;
+        break m;
+       }
+       d = q[g >> 2] + w(f, 28) | 0;
+      }
+      n : {
+       if (!y) {
+        q[160662] = q[67766];
+        e = q[67765];
+        q[160660] = q[67764];
+        q[160661] = e;
+        e = q[67763];
+        q[160658] = q[67762];
+        q[160659] = e;
+        e = q[67761];
+        q[160656] = q[67760];
+        q[160657] = e;
+        e = 642624;
+        break n;
+       }
+       e = q[g >> 2] + w(i, 28) | 0;
+      }
+      e = q[e + 8 >> 2];
+      d = q[d + 8 >> 2];
+      e = d >>> 0 < e >>> 0 ? e : d;
+      o : {
+       if (!h) {
+        q[160662] = q[67766];
+        d = q[67765];
+        q[160660] = q[67764];
+        q[160661] = d;
+        d = q[67763];
+        q[160658] = q[67762];
+        q[160659] = d;
+        d = q[67761];
+        q[160656] = q[67760];
+        q[160657] = d;
+        d = 642624;
+        break o;
+       }
+       d = q[g >> 2] + w(f, 28) | 0;
+      }
+      q[d + 8 >> 2] = e;
+     }
+     p : {
+      if (!y) {
+       q[160662] = q[67766];
+       d = q[67765];
+       q[160660] = q[67764];
+       q[160661] = d;
+       d = q[67763];
+       q[160658] = q[67762];
+       q[160659] = d;
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break p;
+      }
+      d = q[g >> 2] + w(i, 28) | 0;
+     }
+     q : {
+      if (!h) {
+       q[160662] = q[67766];
+       d = q[67765];
+       q[160660] = q[67764];
+       q[160661] = d;
+       d = q[67763];
+       q[160658] = q[67762];
+       q[160659] = d;
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       e = 642624;
+       break q;
+      }
+      e = q[g >> 2] + w(f, 28) | 0;
+      q[e + 12 >> 2] = q[e + 12 >> 2] | q[d + 12 >> 2] & 2;
+     }
+     r : {
+      if (!y) {
+       q[160662] = q[67766];
+       d = q[67765];
+       q[160660] = q[67764];
+       q[160661] = d;
+       d = q[67763];
+       q[160658] = q[67762];
+       q[160659] = d;
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break r;
+      }
+      d = q[g >> 2] + w(i, 28) | 0;
+     }
+     j = q[d + 20 >> 2];
+     d = q[e + 20 >> 2];
+     e = d >>> 0 > j >>> 0 ? j : d;
+     s : {
+      if (!h) {
+       q[160662] = q[67766];
+       d = q[67765];
+       q[160660] = q[67764];
+       q[160661] = d;
+       d = q[67763];
+       q[160658] = q[67762];
+       q[160659] = d;
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break s;
+      }
+      d = q[g >> 2] + w(f, 28) | 0;
+     }
+     q[d + 20 >> 2] = e;
+     e = q[a + 64 >> 2];
+     j = e >>> 0 > f >>> 0;
+     t : {
+      if (!j) {
+       q[160662] = q[67766];
+       d = q[67765];
+       q[160660] = q[67764];
+       q[160661] = d;
+       d = q[67763];
+       q[160658] = q[67762];
+       q[160659] = d;
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break t;
+      }
+      d = q[g >> 2] + w(f, 28) | 0;
+     }
+     u : {
+      if (e >>> 0 <= i >>> 0) {
+       q[160662] = q[67766];
+       e = q[67765];
+       q[160660] = q[67764];
+       q[160661] = e;
+       e = q[67763];
+       q[160658] = q[67762];
+       q[160659] = e;
+       e = q[67761];
+       q[160656] = q[67760];
+       q[160657] = e;
+       e = 642624;
+       break u;
+      }
+      e = q[g >> 2] + w(i, 28) | 0;
+     }
+     e = q[e + 24 >> 2];
+     d = q[d + 24 >> 2];
+     e = d >>> 0 > e >>> 0 ? e : d;
+     v : {
+      if (!j) {
+       q[160662] = q[67766];
+       d = q[67765];
+       q[160660] = q[67764];
+       q[160661] = d;
+       d = q[67763];
+       q[160658] = q[67762];
+       q[160659] = d;
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break v;
+      }
+      d = q[g >> 2] + w(f, 28) | 0;
+     }
+     q[d + 24 >> 2] = e;
+    }
+    i = i + 1 | 0;
+    e = q[a + 64 >> 2];
+    if (i >>> 0 < e >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = f + 1 | 0;
+  d = (d | 0) > 0 ? d : 0;
+  if (d >>> 0 < e >>> 0) {
+   q[a + 64 >> 2] = d;
+   e = d;
+  }
+  if (!e) {
+   break a;
+  }
+  v = p + 4 | 0;
+  A = q[p + 12 >> 2];
+  y = q[p + 8 >> 2];
+  j = 2;
+  while (1) {
+   l = q[g >> 2] + w(n, 28) | 0;
+   k = q[l + 8 >> 2];
+   w : {
+    x : {
+     if (o[l + 12 | 0] & 1) {
+      d = 0;
+      if ((k | 0) == 1) {
+       break x;
+      }
+     }
+     if (!k) {
+      break w;
+     }
+     d = k ? 32 - z(k) | 0 : 0;
+     d = d >>> 0 < 8 ? d : 8;
+    }
+    d = d + j | 0;
+    if (d >>> 0 > 32) {
+     break w;
+    }
+    e = q[l >> 2];
+    if ((e | 0) == q[p + 16 >> 2]) {
+     y = q[l + 20 >> 2];
+    }
+    k = ht(q[a >> 2], 1196643650, q[a + 36 >> 2], q[a + 44 >> 2], e, p);
+    e = q[l >> 2];
+    if ((e | 0) == q[p + 20 >> 2]) {
+     A = q[l + 24 >> 2];
+    }
+    m = l + 12 | 0;
+    h = 0;
+    y : {
+     z : {
+      if (ht(q[a >> 2], 1196445523, q[a + 40 >> 2], q[a + 48 >> 2], e, v) | k) {
+       break z;
+      }
+      f = q[m >> 2];
+      if (f & 16) {
+       if (et(q[a >> 2], 1196643650, q[l >> 2], p) | et(q[a >> 2], 1196445523, q[l >> 2], v)) {
+        break z;
+       }
+       f = q[m >> 2];
+      }
+      h = 1;
+      if (!(f & 2)) {
+       break y;
+      }
+     }
+     A : {
+      B : {
+       C : {
+        e = q[b + 16 >> 2];
+        if ((e | 0) >= 0) {
+         x = e;
+         u = q[b + 20 >> 2];
+         k = u + 1 | 0;
+         k = (k | 0) > 0 ? k : 0;
+         if (e >>> 0 >= k >>> 0) {
+          break B;
+         }
+         while (1) {
+          x = ((x >>> 1 | 0) + x | 0) + 8 | 0;
+          if (x >>> 0 <= k >>> 0) {
+           continue;
+          }
+          break;
+         }
+         if (!(x >>> 0 < e >>> 0 | x >>> 0 > 119304646)) {
+          e = O$(q[b + 24 >> 2], w(x, 36));
+          if (e) {
+           break C;
+          }
+         }
+         q[b + 16 >> 2] = -1;
+        }
+        q[160664] = q[67768];
+        e = q[67767];
+        q[160662] = q[67766];
+        q[160663] = e;
+        e = q[67765];
+        q[160660] = q[67764];
+        q[160661] = e;
+        e = q[67763];
+        q[160658] = q[67762];
+        q[160659] = e;
+        e = q[67761];
+        q[160656] = q[67760];
+        q[160657] = e;
+        e = 642624;
+        break A;
+       }
+       q[b + 16 >> 2] = x;
+       q[b + 24 >> 2] = e;
+       u = q[b + 20 >> 2];
+      }
+      if (k >>> 0 > u >>> 0) {
+       Z$(q[b + 24 >> 2] + w(u, 36) | 0, 0, w(k - u | 0, 36));
+      }
+      q[b + 20 >> 2] = k;
+      e = (q[b + 24 >> 2] + w(k, 36) | 0) + -36 | 0;
+     }
+     q[e >> 2] = q[l >> 2];
+     q[e + 4 >> 2] = q[p >> 2];
+     q[e + 8 >> 2] = q[p + 4 >> 2];
+     q[e + 12 >> 2] = q[l + 20 >> 2];
+     q[e + 16 >> 2] = q[l + 24 >> 2];
+     k = (r[m | 0] >>> 1 & 2 | r[e + 32 | 0] & -3) ^ 2;
+     o[e + 32 | 0] = k;
+     k = (r[m | 0] >>> 1 & 4 | k & -5) ^ 4;
+     o[e + 32 | 0] = k;
+     k = k & -9 | r[m | 0] >>> 2 & 8;
+     o[e + 32 | 0] = k;
+     D : {
+      if (!(!(o[m | 0] & 1) | q[l + 8 >> 2] != 1)) {
+       q[e + 20 >> 2] = 1;
+       i = 2;
+       d = j;
+       j = 1;
+       break D;
+      }
+      q[e + 20 >> 2] = j;
+      i = (1 << d) - (1 << j) | 0;
+      q[b + 12 >> 2] = q[b + 12 >> 2] | i & q[l + 16 >> 2] << j;
+      k = r[e + 32 | 0];
+     }
+     q[e + 24 >> 2] = i;
+     o[e + 32 | 0] = k & 254 | h;
+     q[e + 28 >> 2] = 1 << j & i;
+     j = d;
+    }
+    e = q[a + 64 >> 2];
+   }
+   n = n + 1 | 0;
+   if (n >>> 0 < e >>> 0) {
+    continue;
+   }
+   break;
+  }
+  q[p + 12 >> 2] = A;
+  q[p + 8 >> 2] = y;
+  if (!e) {
+   break a;
+  }
+  q[a + 64 >> 2] = 0;
+ }
+ By(a);
+ Cy(a);
+ e = q[67761];
+ n = e;
+ m = q[67760];
+ e = (e & 65535) << 16 | m >>> 16;
+ y = n;
+ k = m;
+ A = 0;
+ while (1) {
+  C = A << 2;
+  J = (C + a | 0) + 52 | 0;
+  if (q[J >> 2]) {
+   K = c + C | 0;
+   d = w(A, 12);
+   j = d + b | 0;
+   D = j + 60 | 0;
+   H = j + 52 | 0;
+   I = j + 56 | 0;
+   d = a + d | 0;
+   L = d + 80 | 0;
+   M = d + 76 | 0;
+   B = j + 36 | 0;
+   l = j + 32 | 0;
+   N = C + (p + 8 | 0) | 0;
+   O = C + (p + 24 | 0) | 0;
+   j = 0;
+   i = 0;
+   x = 0;
+   while (1) {
+    d = q[O >> 2];
+    if (!((d | 0) == 65535 | q[N >> 2] != (j | 0))) {
+     wy(a, b, A, d, q[K >> 2], 2, 1, 1, 0);
+    }
+    g = 0;
+    f = q[b + 20 >> 2];
+    if (f) {
+     while (1) {
+      E : {
+       if (f >>> 0 <= g >>> 0) {
+        q[160664] = q[67768];
+        h = q[67767];
+        q[160662] = q[67766];
+        q[160663] = h;
+        h = q[67765];
+        q[160660] = q[67764];
+        q[160661] = h;
+        h = q[67763];
+        q[160658] = q[67762];
+        q[160659] = h;
+        q[160656] = m;
+        q[160657] = n;
+        d = 642624;
+        break E;
+       }
+       d = q[b + 24 >> 2] + w(g, 36) | 0;
+      }
+      if (q[(d + C | 0) + 12 >> 2] == (j | 0)) {
+       d = a;
+       h = b;
+       v = A;
+       f = q[b + 20 >> 2];
+       F : {
+        if (f >>> 0 <= g >>> 0) {
+         q[160664] = q[67768];
+         f = q[67767];
+         q[160662] = q[67766];
+         q[160663] = f;
+         f = q[67765];
+         q[160660] = q[67764];
+         q[160661] = f;
+         f = q[67763];
+         q[160658] = q[67762];
+         q[160659] = f;
+         q[160656] = m;
+         q[160657] = n;
+         f = q[b + 20 >> 2];
+         u = 642624;
+         break F;
+        }
+        u = q[b + 24 >> 2] + w(g, 36) | 0;
+       }
+       u = q[(u + C | 0) + 4 >> 2];
+       P = q[K >> 2];
+       G : {
+        if (f >>> 0 <= g >>> 0) {
+         q[160664] = q[67768];
+         f = q[67767];
+         q[160662] = q[67766];
+         q[160663] = f;
+         f = q[67765];
+         q[160660] = q[67764];
+         q[160661] = f;
+         f = q[67763];
+         q[160658] = q[67762];
+         q[160659] = f;
+         q[160656] = m;
+         q[160657] = n;
+         f = q[b + 20 >> 2];
+         E = 642624;
+         break G;
+        }
+        E = q[b + 24 >> 2] + w(g, 36) | 0;
+       }
+       E = q[E + 24 >> 2];
+       H : {
+        if (f >>> 0 <= g >>> 0) {
+         q[160664] = q[67768];
+         f = q[67767];
+         q[160662] = q[67766];
+         q[160663] = f;
+         f = q[67765];
+         q[160660] = q[67764];
+         q[160661] = f;
+         f = q[67763];
+         q[160658] = q[67762];
+         q[160659] = f;
+         q[160656] = m;
+         q[160657] = n;
+         f = q[b + 20 >> 2];
+         F = 642624;
+         break H;
+        }
+        F = q[b + 24 >> 2] + w(g, 36) | 0;
+       }
+       F = (r[F + 32 | 0] & 2) != 0;
+       I : {
+        if (f >>> 0 <= g >>> 0) {
+         q[160664] = q[67768];
+         f = q[67767];
+         q[160662] = q[67766];
+         q[160663] = f;
+         f = q[67765];
+         q[160660] = q[67764];
+         q[160661] = f;
+         f = q[67763];
+         q[160658] = q[67762];
+         q[160659] = f;
+         q[160656] = m;
+         q[160657] = n;
+         f = q[b + 20 >> 2];
+         G = 642624;
+         break I;
+        }
+        G = q[b + 24 >> 2] + w(g, 36) | 0;
+       }
+       G = (r[G + 32 | 0] & 4) != 0;
+       J : {
+        if (f >>> 0 <= g >>> 0) {
+         q[160664] = q[67768];
+         f = q[67767];
+         q[160662] = q[67766];
+         q[160663] = f;
+         f = q[67765];
+         q[160660] = q[67764];
+         q[160661] = f;
+         f = q[67763];
+         q[160658] = q[67762];
+         q[160659] = f;
+         q[160656] = m;
+         q[160657] = n;
+         f = 642624;
+         break J;
+        }
+        f = q[b + 24 >> 2] + w(g, 36) | 0;
+       }
+       wy(d, h, v, u, P, E, F, G, (r[f + 32 | 0] & 8) >>> 3 | 0);
+      }
+      g = g + 1 | 0;
+      f = q[b + 20 >> 2];
+      if (g >>> 0 < f >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    d = q[l >> 2];
+    K : {
+     if (d >>> 0 <= i >>> 0) {
+      break K;
+     }
+     Ay(q[B >> 2] + (i << 3) | 0, d - i | 0, 8, 459);
+     g = i + 1 | 0;
+     f = q[l >> 2];
+     if (g >>> 0 < f >>> 0) {
+      while (1) {
+       L : {
+        if (f >>> 0 <= g >>> 0) {
+         q[160656] = m;
+         q[160657] = n;
+         f = q[l >> 2];
+         h = k;
+         break L;
+        }
+        h = s[q[B >> 2] + (g << 3) >> 1];
+       }
+       M : {
+        if (f >>> 0 <= i >>> 0) {
+         q[160656] = m;
+         q[160657] = n;
+         f = q[l >> 2];
+         d = k;
+         break M;
+        }
+        d = s[q[B >> 2] + (i << 3) >> 1];
+       }
+       N : {
+        if (f >>> 0 <= g >>> 0) {
+         q[160656] = m;
+         q[160657] = n;
+         v = 642624;
+         break N;
+        }
+        v = q[B >> 2] + (g << 3) | 0;
+       }
+       O : {
+        if ((h & 65535) != (d & 65535)) {
+         i = i + 1 | 0;
+         P : {
+          if (t[l >> 2] <= i >>> 0) {
+           q[160656] = m;
+           q[160657] = n;
+           h = 642624;
+           break P;
+          }
+          h = q[B >> 2] + (i << 3) | 0;
+         }
+         d = q[v + 4 >> 2];
+         q[h >> 2] = q[v >> 2];
+         q[h + 4 >> 2] = d;
+         break O;
+        }
+        h = q[v + 4 >> 2];
+        f = q[l >> 2];
+        Q : {
+         if (f >>> 0 <= i >>> 0) {
+          q[160656] = m;
+          q[160657] = n;
+          f = q[l >> 2];
+          u = 642624;
+          d = y;
+          break Q;
+         }
+         u = q[B >> 2] + (i << 3) | 0;
+         d = q[u + 4 >> 2];
+        }
+        q[u + 4 >> 2] = d | h;
+        R : {
+         if (f >>> 0 <= g >>> 0) {
+          q[160656] = m;
+          q[160657] = n;
+          f = q[l >> 2];
+          d = e;
+          break R;
+         }
+         d = r[(q[B >> 2] + (g << 3) | 0) + 2 | 0];
+        }
+        S : {
+         if (f >>> 0 <= i >>> 0) {
+          q[160656] = m;
+          q[160657] = n;
+          f = 642624;
+          h = e;
+          break S;
+         }
+         f = q[B >> 2] + (i << 3) | 0;
+         h = r[f + 2 | 0];
+        }
+        o[f + 2 | 0] = h & (d | 254);
+        f = q[l >> 2];
+        T : {
+         if (f >>> 0 <= g >>> 0) {
+          q[160656] = m;
+          q[160657] = n;
+          f = q[l >> 2];
+          d = e;
+          break T;
+         }
+         d = r[(q[B >> 2] + (g << 3) | 0) + 2 | 0];
+        }
+        U : {
+         if (f >>> 0 <= i >>> 0) {
+          q[160656] = m;
+          q[160657] = n;
+          f = 642624;
+          h = e;
+          break U;
+         }
+         f = q[B >> 2] + (i << 3) | 0;
+         h = r[f + 2 | 0];
+        }
+        o[f + 2 | 0] = h & (d | 253);
+       }
+       g = g + 1 | 0;
+       f = q[l >> 2];
+       if (g >>> 0 < f >>> 0) {
+        continue;
+       }
+       break;
+      }
+      g = i + 1 | 0;
+     }
+     h = (g | 0) > 0 ? g : 0;
+     d = f;
+     if (h >>> 0 >= d >>> 0) {
+      break K;
+     }
+     q[l >> 2] = h;
+     d = h;
+    }
+    i = d;
+    V : {
+     if (x >>> 0 >= t[M >> 2]) {
+      break V;
+     }
+     f = x << 3;
+     if (q[f + q[L >> 2] >> 2] != (j | 0)) {
+      break V;
+     }
+     W : {
+      X : {
+       Y : {
+        d = q[H >> 2];
+        if ((d | 0) >= 0) {
+         h = d;
+         u = q[I >> 2];
+         v = u + 1 | 0;
+         v = (v | 0) > 0 ? v : 0;
+         if (d >>> 0 >= v >>> 0) {
+          break X;
+         }
+         while (1) {
+          h = ((h >>> 1 | 0) + h | 0) + 8 | 0;
+          if (h >>> 0 <= v >>> 0) {
+           continue;
+          }
+          break;
+         }
+         if (!(h >>> 0 < d >>> 0 | h >>> 0 > 536870910)) {
+          d = O$(q[D >> 2], h << 3);
+          if (d) {
+           break Y;
+          }
+         }
+         q[H >> 2] = -1;
+        }
+        q[160656] = m;
+        q[160657] = n;
+        d = 642624;
+        break W;
+       }
+       q[D >> 2] = d;
+       q[H >> 2] = h;
+       u = q[I >> 2];
+      }
+      if (v >>> 0 > u >>> 0) {
+       Z$(q[D >> 2] + (u << 3) | 0, 0, v - u << 3);
+      }
+      q[I >> 2] = v;
+      d = (q[D >> 2] + (v << 3) | 0) + -8 | 0;
+     }
+     q[d >> 2] = i;
+     Z : {
+      if (t[M >> 2] <= x >>> 0) {
+       q[160656] = m;
+       q[160657] = n;
+       h = y;
+       break Z;
+      }
+      h = q[(f + q[L >> 2] | 0) + 4 >> 2];
+     }
+     q[d + 4 >> 2] = h;
+     x = x + 1 | 0;
+    }
+    j = j + 1 | 0;
+    if (j >>> 0 < t[J >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  A = A + 1 | 0;
+  if ((A | 0) != 2) {
+   continue;
+  }
+  break;
+ }
+ Ca = p + 32 | 0;
+}
+function Zi(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0, x = 0, y = 0, z = 0;
+ e = Ca - 1536 | 0;
+ Ca = e;
+ q[b >> 2] = 1;
+ u = kg(q[b + 96 >> 2], 6938, 1);
+ q[b + 488 >> 2] = u;
+ k = jg(q[q[b + 96 >> 2] + 4 >> 2], 6955);
+ q[b + 492 >> 2] = k;
+ a : {
+  if (!k) {
+   a = 11;
+   break a;
+  }
+  y = b, z = jg(q[q[b + 96 >> 2] + 4 >> 2], 6929), q[y + 552 >> 2] = z;
+  i = q[b + 492 >> 2];
+  Z$(e + 8 | 0, 0, 380);
+  q[b + 544 >> 2] = 0;
+  q[b + 536 >> 2] = -1;
+  q[b + 540 >> 2] = -1;
+  q[b + 284 >> 2] = 1;
+  q[b + 348 >> 2] = 3932;
+  q[b + 172 >> 2] = 4;
+  q[b + 276 >> 2] = 2596864;
+  q[b + 280 >> 2] = 7;
+  d = q[b + 104 >> 2];
+  f = q[b + 100 >> 2];
+  n[q[q[i + 4 >> 2] >> 2]](e + 8 | 0, 0, 0, f);
+  q[e + 92 >> 2] = 0;
+  q[e + 96 >> 2] = 0;
+  o[e + 99 | 0] = 0;
+  o[e + 100 | 0] = 0;
+  o[e + 101 | 0] = 0;
+  o[e + 102 | 0] = 0;
+  q[e + 84 >> 2] = 0;
+  q[e + 88 >> 2] = 0;
+  q[e + 80 >> 2] = d;
+  a = _i(d, 6988, 14);
+  q[e + 4 >> 2] = a;
+  b : {
+   c : {
+    d : {
+     if (a) {
+      if ((a & 255) != 2) {
+       break d;
+      }
+      a = _i(d, 7003, 10);
+      q[e + 4 >> 2] = a;
+      if (a) {
+       break d;
+      }
+     }
+     a = yg(d, 0);
+     q[e + 4 >> 2] = a;
+     if (a) {
+      break d;
+     }
+     h = Bg(d, e + 1528 | 0);
+     e : {
+      f : {
+       g : {
+        h : {
+         a = q[e + 1528 >> 2];
+         if (!a) {
+          if ((h + 32767 & 65535) >>> 0 >= 2) {
+           q[e + 4 >> 2] = 0;
+           break g;
+          }
+          g = Wg(d, e + 1528 | 0);
+          a = q[e + 1528 >> 2];
+          if (!a) {
+           break h;
+          }
+         }
+         q[e + 4 >> 2] = a;
+         break d;
+        }
+        q[e + 4 >> 2] = 0;
+        if ((h | 0) == 32769) {
+         break f;
+        }
+       }
+       a = yg(d, 0);
+       q[e + 4 >> 2] = a;
+       if (a) {
+        break d;
+       }
+       g = q[d + 4 >> 2];
+       break e;
+      }
+      o[e + 100 | 0] = 1;
+     }
+     i : {
+      if (!q[d + 20 >> 2]) {
+       a = q[d + 8 >> 2];
+       h = q[d >> 2];
+       o[e + 101 | 0] = 1;
+       q[e + 88 >> 2] = g;
+       q[e + 84 >> 2] = a + h;
+       a = Ag(d, g);
+       q[e + 4 >> 2] = a;
+       if (a) {
+        break d;
+       }
+       g = q[e + 88 >> 2];
+       break i;
+      }
+      h = Oe(f, g, e + 4 | 0);
+      q[e + 84 >> 2] = h;
+      a = q[e + 4 >> 2];
+      if (a) {
+       break d;
+      }
+      a = zg(d, h, g);
+      q[e + 4 >> 2] = a;
+      if (a) {
+       break d;
+      }
+      q[e + 88 >> 2] = g;
+     }
+     f = q[e + 84 >> 2];
+     q[e + 12 >> 2] = f;
+     q[e + 8 >> 2] = f;
+     q[e + 16 >> 2] = f + g;
+     q[e >> 2] = 0;
+     break c;
+    }
+    if (r[e + 101 | 0]) {
+     q[e >> 2] = a;
+     break b;
+    }
+    Qe(f, q[e + 84 >> 2]);
+    f = 0;
+    q[e + 84 >> 2] = 0;
+    a = q[e + 4 >> 2];
+    q[e >> 2] = a;
+    if (a) {
+     break b;
+    }
+    g = q[e + 88 >> 2];
+   }
+   a = $i(b, e + 8 | 0, f, g);
+   q[e >> 2] = a;
+   if (a) {
+    break b;
+   }
+   j = q[e + 24 >> 2];
+   d = q[e + 80 >> 2];
+   q[e + 4 >> 2] = 0;
+   j : {
+    k : {
+     l : {
+      m : {
+       n : {
+        o : {
+         p : {
+          if (r[e + 100 | 0]) {
+           h = q[d + 8 >> 2];
+           q[e + 96 >> 2] = 0;
+           while (1) {
+            f = Bg(d, e + 1528 | 0);
+            a = q[e + 1528 >> 2];
+            if (a) {
+             break l;
+            }
+            if ((f + 32767 & 65535) >>> 0 >= 2) {
+             q[e + 4 >> 2] = 0;
+             break p;
+            }
+            g = Wg(d, e + 1528 | 0);
+            a = q[e + 1528 >> 2];
+            if (a) {
+             break l;
+            }
+            q[e + 4 >> 2] = 0;
+            if ((f | 0) != 32770) {
+             break p;
+            }
+            q[e + 96 >> 2] = g + q[e + 96 >> 2];
+            a = Ag(d, g);
+            q[e + 4 >> 2] = a;
+            if (!a) {
+             continue;
+            }
+            break;
+           }
+           break k;
+          }
+          d = q[e + 84 >> 2];
+          g = q[e + 88 >> 2];
+          f = d + g | 0;
+          a = d;
+          while (1) {
+           q : {
+            r : {
+             if (r[a | 0] != 101 | a + 9 >>> 0 >= f >>> 0 | (r[a + 1 | 0] != 101 | r[a + 2 | 0] != 120)) {
+              break r;
+             }
+             if (r[a + 3 | 0] != 101) {
+              break r;
+             }
+             if (r[a + 4 | 0] == 99) {
+              break q;
+             }
+            }
+            a = a + 1 | 0;
+            if (a >>> 0 >= f >>> 0) {
+             break o;
+            }
+            continue;
+           }
+           a = a + 10 | 0;
+           q[e + 16 >> 2] = a;
+           q[e + 8 >> 2] = d;
+           s : {
+            if (a >>> 0 > d >>> 0) {
+             while (1) {
+              t : {
+               if (r[d | 0] != 101 | d + 5 >>> 0 >= a >>> 0 | (r[d + 1 | 0] != 101 | r[d + 2 | 0] != 120)) {
+                break t;
+               }
+               if (r[d + 3 | 0] != 101) {
+                break t;
+               }
+               if (r[d + 4 | 0] == 99) {
+                break s;
+               }
+              }
+              n[q[e + 40 >> 2]](e + 8 | 0);
+              if (!q[e + 20 >> 2]) {
+               n[q[e + 36 >> 2]](e + 8 | 0);
+               d = q[e + 8 >> 2];
+               if (d >>> 0 < a >>> 0) {
+                continue;
+               }
+              }
+              break;
+             }
+             g = q[e + 88 >> 2];
+             d = q[e + 84 >> 2];
+            }
+            f = d + g | 0;
+            if (a >>> 0 >= f >>> 0) {
+             break o;
+            }
+            continue;
+           }
+           break;
+          }
+          q[e + 16 >> 2] = q[e + 84 >> 2] + q[e + 88 >> 2];
+          n[q[e + 40 >> 2]](e + 8 | 0);
+          h = q[e + 16 >> 2];
+          f = q[e + 8 >> 2];
+          a = h - f | 0;
+          g = aZ(f, 10, a);
+          d = 1;
+          u : {
+           if (!g) {
+            break u;
+           }
+           d = g >>> 0 > aZ(f, 13, a) >>> 0;
+          }
+          if (f >>> 0 >= h >>> 0) {
+           break o;
+          }
+          d = (d | 0) != 0;
+          while (1) {
+           v : {
+            a = r[f | 0];
+            if (!((a | 0) == 9 | (a | 0) == 32 | (a | 0) == 10)) {
+             if (!(d & (a | 0) == 13)) {
+              break v;
+             }
+            }
+            f = f + 1 | 0;
+            if ((h | 0) != (f | 0)) {
+             continue;
+            }
+            break o;
+           }
+           break;
+          }
+          g = q[e + 84 >> 2];
+          d = q[e + 88 >> 2] + (g - f | 0) | 0;
+          w : {
+           if (r[e + 101 | 0]) {
+            g = Oe(j, d + 1 | 0, e + 4 | 0);
+            q[e + 92 >> 2] = g;
+            a = q[e + 4 >> 2];
+            if (a) {
+             break k;
+            }
+            q[e + 96 >> 2] = d;
+            break w;
+           }
+           q[e + 96 >> 2] = d;
+           q[e + 92 >> 2] = g;
+           o[e + 102 | 0] = 1;
+           q[e + 84 >> 2] = 0;
+           q[e + 88 >> 2] = 0;
+          }
+          x : {
+           a = f + 3 | 0;
+           if (a >>> 0 >= h >>> 0) {
+            break x;
+           }
+           y : {
+            h = r[f | 0];
+            if (h + -48 >>> 0 < 10) {
+             break y;
+            }
+            h = h + -65 | 0;
+            if (h >>> 0 > 37) {
+             break x;
+            }
+            switch (h - 6 | 0) {
+            case 0:
+            case 1:
+            case 2:
+            case 3:
+            case 4:
+            case 5:
+            case 6:
+            case 7:
+            case 8:
+            case 9:
+            case 10:
+            case 11:
+            case 12:
+            case 13:
+            case 14:
+            case 15:
+            case 16:
+            case 17:
+            case 18:
+            case 19:
+            case 20:
+            case 21:
+            case 22:
+            case 23:
+            case 24:
+            case 25:
+             break x;
+            default:
+             break y;
+            }
+           }
+           z : {
+            h = r[f + 1 | 0];
+            if (h + -48 >>> 0 < 10) {
+             break z;
+            }
+            h = h + -65 | 0;
+            if (h >>> 0 > 37) {
+             break x;
+            }
+            switch (h - 6 | 0) {
+            case 0:
+            case 1:
+            case 2:
+            case 3:
+            case 4:
+            case 5:
+            case 6:
+            case 7:
+            case 8:
+            case 9:
+            case 10:
+            case 11:
+            case 12:
+            case 13:
+            case 14:
+            case 15:
+            case 16:
+            case 17:
+            case 18:
+            case 19:
+            case 20:
+            case 21:
+            case 22:
+            case 23:
+            case 24:
+            case 25:
+             break x;
+            default:
+             break z;
+            }
+           }
+           A : {
+            h = r[f + 2 | 0];
+            if (h + -48 >>> 0 < 10) {
+             break A;
+            }
+            h = h + -65 | 0;
+            if (h >>> 0 > 37) {
+             break x;
+            }
+            switch (h - 6 | 0) {
+            case 0:
+            case 1:
+            case 2:
+            case 3:
+            case 4:
+            case 5:
+            case 6:
+            case 7:
+            case 8:
+            case 9:
+            case 10:
+            case 11:
+            case 12:
+            case 13:
+            case 14:
+            case 15:
+            case 16:
+            case 17:
+            case 18:
+            case 19:
+            case 20:
+            case 21:
+            case 22:
+            case 23:
+            case 24:
+            case 25:
+             break x;
+            default:
+             break A;
+            }
+           }
+           B : {
+            a = r[a | 0];
+            if (a + -48 >>> 0 < 10) {
+             break B;
+            }
+            a = a + -65 | 0;
+            if (a >>> 0 > 37) {
+             break x;
+            }
+            switch (a - 6 | 0) {
+            case 0:
+            case 1:
+            case 2:
+            case 3:
+            case 4:
+            case 5:
+            case 6:
+            case 7:
+            case 8:
+            case 9:
+            case 10:
+            case 11:
+            case 12:
+            case 13:
+            case 14:
+            case 15:
+            case 16:
+            case 17:
+            case 18:
+            case 19:
+            case 20:
+            case 21:
+            case 22:
+            case 23:
+            case 24:
+            case 25:
+             break x;
+            default:
+             break B;
+            }
+           }
+           q[e + 8 >> 2] = f;
+           n[q[q[i + 4 >> 2] + 24 >> 2]](e + 8 | 0, g, d, e + 1528 | 0, 0) | 0;
+           a = q[e + 1528 >> 2];
+           q[e + 96 >> 2] = a;
+           o[a + q[e + 92 >> 2] | 0] = 0;
+           break m;
+          }
+          _$(g, f, d);
+          break m;
+         }
+         if (q[e + 96 >> 2]) {
+          break n;
+         }
+        }
+        a = 3;
+        break l;
+       }
+       a = yg(d, h);
+       q[e + 4 >> 2] = a;
+       if (a) {
+        break k;
+       }
+       y = e, z = Oe(j, q[e + 96 >> 2], e + 4 | 0), q[y + 92 >> 2] = z;
+       a = q[e + 4 >> 2];
+       if (a) {
+        break k;
+       }
+       q[e + 96 >> 2] = 0;
+       a = Bg(d, e + 1528 | 0);
+       g = q[e + 1528 >> 2];
+       C : {
+        D : {
+         if (g) {
+          break D;
+         }
+         while (1) {
+          if ((a + 32767 & 65535) >>> 0 > 1) {
+           g = 0;
+           break D;
+          }
+          f = Wg(d, e + 1528 | 0);
+          g = q[e + 1528 >> 2];
+          if (g) {
+           break D;
+          }
+          q[e + 4 >> 2] = 0;
+          if ((a & 65535) != 32770) {
+           break C;
+          }
+          a = zg(d, q[e + 92 >> 2] + q[e + 96 >> 2] | 0, f);
+          q[e + 4 >> 2] = a;
+          if (a) {
+           break k;
+          }
+          q[e + 96 >> 2] = f + q[e + 96 >> 2];
+          a = Bg(d, e + 1528 | 0);
+          g = q[e + 1528 >> 2];
+          if (!g) {
+           continue;
+          }
+          break;
+         }
+        }
+        q[e + 4 >> 2] = g;
+       }
+       q[e + 4 >> 2] = 0;
+      }
+      n[q[i + 16 >> 2]](q[e + 92 >> 2], q[e + 96 >> 2], 55665);
+      a = 3;
+      if (t[e + 96 >> 2] > 3) {
+       break j;
+      }
+     }
+     q[e + 4 >> 2] = a;
+    }
+    q[e >> 2] = a;
+    break b;
+   }
+   o[q[e + 92 >> 2]] = 32;
+   o[q[e + 92 >> 2] + 1 | 0] = 32;
+   o[q[e + 92 >> 2] + 2 | 0] = 32;
+   o[q[e + 92 >> 2] + 3 | 0] = 32;
+   a = q[e + 92 >> 2];
+   q[e + 12 >> 2] = a;
+   q[e + 8 >> 2] = a;
+   d = q[e + 96 >> 2];
+   q[e + 16 >> 2] = d + a;
+   f = q[e + 4 >> 2];
+   q[e >> 2] = f;
+   if (f) {
+    break b;
+   }
+   a = $i(b, e + 8 | 0, a, d);
+   q[e >> 2] = a;
+   if (a) {
+    break b;
+   }
+   a = b + 176 | 0;
+   o[a | 0] = r[a | 0] & 254;
+   E : {
+    F : {
+     f = q[b + 532 >> 2];
+     if (!f) {
+      break F;
+     }
+     if (q[f >> 2] != 1 << q[f + 4 >> 2]) {
+      aj(b);
+      f = q[b + 532 >> 2];
+      if (!f) {
+       break F;
+      }
+     }
+     a = q[f + 416 >> 2];
+     if (!(!a | (a | 0) == q[f + 4 >> 2])) {
+      q[f + 416 >> 2] = 0;
+     }
+     G : {
+      H : {
+       if (q[f >> 2]) {
+        d = q[f + 4 >> 2];
+        if (d) {
+         break H;
+        }
+       }
+       aj(b);
+       f = q[b + 532 >> 2];
+       if (!f) {
+        break F;
+       }
+       d = q[f + 4 >> 2];
+       if (!d) {
+        break G;
+       }
+      }
+      a = 0;
+      while (1) {
+       if (r[(w(a, 12) + f | 0) + 88 | 0]) {
+        a = a + 1 | 0;
+        if ((d | 0) != (a | 0)) {
+         continue;
+        }
+        break G;
+       }
+       break;
+      }
+      aj(b);
+      if (!q[b + 532 >> 2]) {
+       break F;
+      }
+     }
+     a = q[b + 544 >> 2];
+     if (!a) {
+      break E;
+     }
+     y = b, z = Te(q[b + 100 >> 2], 4, 0, a, 0, e), q[y + 548 >> 2] = z;
+     if (!q[e >> 2]) {
+      break E;
+     }
+     q[b + 544 >> 2] = 0;
+     break b;
+    }
+    q[b + 544 >> 2] = 0;
+   }
+   f = q[e + 160 >> 2];
+   q[b + 420 >> 2] = f;
+   if (q[e + 336 >> 2]) {
+    q[b + 404 >> 2] = q[e + 320 >> 2];
+    q[b + 392 >> 2] = q[e + 324 >> 2];
+    q[b + 408 >> 2] = q[e + 348 >> 2];
+    q[b + 412 >> 2] = q[e + 352 >> 2];
+    q[b + 416 >> 2] = q[e + 376 >> 2];
+    q[e + 376 >> 2] = 0;
+    q[e + 336 >> 2] = 0;
+   }
+   if (!(q[q[b + 128 >> 2] + 52 >> 2] | q[e + 228 >> 2])) {
+    q[e >> 2] = 3;
+   }
+   q[e + 228 >> 2] = 0;
+   q[b + 396 >> 2] = q[e + 216 >> 2];
+   q[b + 428 >> 2] = q[e + 240 >> 2];
+   q[b + 432 >> 2] = q[e + 244 >> 2];
+   q[b + 400 >> 2] = q[e + 164 >> 2];
+   a = e + 188 | 0;
+   q[b + 424 >> 2] = q[a >> 2];
+   q[a >> 2] = 0;
+   q[e + 164 >> 2] = 0;
+   if (q[b + 368 >> 2] == 1) {
+    j = q[e + 124 >> 2];
+    if ((j | 0) >= 1) {
+     d = 0;
+     while (1) {
+      g = d << 2;
+      i = q[g + q[e + 132 >> 2] >> 2];
+      v = d << 1;
+      p[v + q[b + 384 >> 2] >> 1] = 0;
+      q[g + q[b + 388 >> 2] >> 2] = 6980;
+      I : {
+       if (!i | (f | 0) < 1) {
+        break I;
+       }
+       x = q[b + 424 >> 2];
+       a = 0;
+       while (1) {
+        h = q[x + (a << 2) >> 2];
+        if (!iZ(i, h)) {
+         p[q[b + 384 >> 2] + v >> 1] = a;
+         q[g + q[b + 388 >> 2] >> 2] = h;
+         if (!iZ(6980, h)) {
+          break I;
+         }
+         l = (d | 0) < (l | 0) ? l : d + 1 | 0;
+         m = (d | 0) < (m | 0) ? d : m;
+         break I;
+        }
+        a = a + 1 | 0;
+        if ((f | 0) != (a | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      d = d + 1 | 0;
+      if ((j | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    q[b + 380 >> 2] = l;
+    q[b + 376 >> 2] = m;
+    q[b + 372 >> 2] = q[e + 104 >> 2];
+   }
+   if (t[b + 280 >> 2] >= 1001) {
+    q[b + 280 >> 2] = 7;
+   }
+   if (t[b + 284 >> 2] < 1001) {
+    break b;
+   }
+   q[b + 284 >> 2] = 1;
+  }
+  a = q[e + 24 >> 2];
+  d = q[e + 156 >> 2];
+  if (d) {
+   n[d](e + 108 | 0);
+  }
+  d = q[e + 264 >> 2];
+  if (d) {
+   n[d](e + 216 | 0);
+  }
+  d = q[e + 212 >> 2];
+  if (d) {
+   n[d](e + 164 | 0);
+  }
+  d = q[e + 316 >> 2];
+  if (d) {
+   n[d](e + 268 | 0);
+  }
+  d = q[e + 372 >> 2];
+  if (d) {
+   n[d](e + 324 | 0);
+  }
+  cf(q[e + 376 >> 2], a);
+  Qe(a, q[e + 376 >> 2]);
+  q[e + 376 >> 2] = 0;
+  a = q[e + 24 >> 2];
+  Qe(a, q[e + 92 >> 2]);
+  q[e + 92 >> 2] = 0;
+  if (!r[e + 101 | 0]) {
+   Qe(a, q[e + 84 >> 2]);
+   q[e + 84 >> 2] = 0;
+  }
+  n[q[e + 32 >> 2]](e + 8 | 0);
+  a = q[e >> 2];
+  if (a | (c | 0) < 0) {
+   break a;
+  }
+  a = 6;
+  if (c & 65535) {
+   break a;
+  }
+  q[b + 4 >> 2] = 0;
+  q[b + 16 >> 2] = q[b + 420 >> 2];
+  c = q[b + 8 >> 2];
+  a = c | 2577;
+  q[b + 8 >> 2] = a;
+  if (r[b + 156 | 0]) {
+   a = c | 2581;
+   q[b + 8 >> 2] = a;
+  }
+  g = q[b + 532 >> 2];
+  if (g) {
+   q[b + 8 >> 2] = a | 256;
+  }
+  q[b + 24 >> 2] = 0;
+  f = q[b + 144 >> 2];
+  q[b + 20 >> 2] = f;
+  J : {
+   K : {
+    if (f) {
+     a = q[b + 140 >> 2];
+     if (!a) {
+      break K;
+     }
+     c = r[a | 0];
+     if (!c) {
+      a = 6961;
+      break J;
+     }
+     while (1) {
+      L : {
+       M : {
+        d = c & 255;
+        c = r[f | 0];
+        if ((d | 0) == (c | 0)) {
+         a = a + 1 | 0;
+         break M;
+        }
+        N : {
+         d = d + -32 | 0;
+         if (d >>> 0 > 13) {
+          break N;
+         }
+         O : {
+          switch (d - 1 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+           break N;
+          default:
+           break O;
+          }
+         }
+         a = a + 1 | 0;
+         break L;
+        }
+        d = c + -32 | 0;
+        if (d >>> 0 > 13) {
+         if (c) {
+          break K;
+         }
+         break J;
+        }
+        switch (d - 1 | 0) {
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+        case 9:
+        case 10:
+        case 11:
+         break K;
+        default:
+         break M;
+        }
+       }
+       f = f + 1 | 0;
+      }
+      c = r[a | 0];
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     a = 6961;
+     break J;
+    }
+    a = q[b + 364 >> 2];
+    if (!a) {
+     break K;
+    }
+    q[b + 20 >> 2] = a;
+   }
+   a = q[b + 148 >> 2];
+   a = a ? a : 6961;
+  }
+  q[b + 24 >> 2] = a;
+  c = q[b + 152 >> 2] != 0;
+  q[b + 12 >> 2] = c;
+  a = q[b + 148 >> 2];
+  P : {
+   if (!a) {
+    break P;
+   }
+   if (iZ(a, 6969)) {
+    if (iZ(a, 6974)) {
+     break P;
+    }
+   }
+   q[b + 12 >> 2] = c | 2;
+  }
+  q[b + 28 >> 2] = 0;
+  q[b + 32 >> 2] = 0;
+  q[b + 52 >> 2] = q[b + 464 >> 2] >> 16;
+  a = q[b + 468 >> 2] >> 16;
+  q[b + 56 >> 2] = a;
+  f = q[b + 472 >> 2] + 65535 >> 16;
+  q[b + 60 >> 2] = f;
+  d = q[b + 476 >> 2] + 65535 >> 16;
+  q[b - -64 >> 2] = d;
+  c = s[b + 68 >> 1];
+  if (!c) {
+   p[b + 68 >> 1] = 1e3;
+   c = 1e3;
+  }
+  p[b + 76 >> 1] = f;
+  p[b + 72 >> 1] = a;
+  p[b + 70 >> 1] = d;
+  a = d - a | 0;
+  c = (w(c, 12) >>> 0) / 10 | 0;
+  p[b + 74 >> 1] = c << 16 >> 16 < (a | 0) ? a : c;
+  f = 0;
+  d = q[b + 492 >> 2];
+  if (!n[q[q[d + 12 >> 2] >> 2]](e + 8 | 0, b, 0, 0, q[b + 424 >> 2], g, 0, 0, 84)) {
+   o[e + 76 | 0] = 0;
+   o[e + 78 | 0] = 1;
+   q[e + 1372 >> 2] = q[b + 404 >> 2];
+   q[e + 1376 >> 2] = q[b + 408 >> 2];
+   q[e + 1380 >> 2] = q[b + 412 >> 2];
+   q[e + 1384 >> 2] = q[b + 416 >> 2];
+   q[e + 1504 >> 2] = q[b + 548 >> 2];
+   q[e + 1508 >> 2] = q[b + 544 >> 2];
+   if (q[b + 420 >> 2] >= 1) {
+    a = 0;
+    while (1) {
+     o[e + 4 | 0] = 0;
+     Q : {
+      if (cj(e + 8 | 0, a, e + 1528 | 0, e + 4 | 0)) {
+       break Q;
+      }
+      c = q[q[q[e + 12 >> 2] + 128 >> 2] + 52 >> 2];
+      if (!c) {
+       break Q;
+      }
+      n[q[q[c >> 2] + 4 >> 2]](q[c + 4 >> 2], e + 1528 | 0);
+     }
+     c = q[e + 48 >> 2];
+     f = a ? (c | 0) > (f | 0) ? c : f : c;
+     a = a + 1 | 0;
+     if ((a | 0) < q[b + 420 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   n[q[q[d + 12 >> 2] + 4 >> 2]](e + 8 | 0);
+   y = b, z = Ae(f) >>> 16 | 0, p[y + 76 >> 1] = z;
+  }
+  p[b + 78 >> 1] = s[b + 74 >> 1];
+  q[b + 80 >> 2] = s[b + 158 >> 1] | s[b + 160 >> 1] << 16;
+  if (!u) {
+   a = 0;
+   break a;
+  }
+  f = q[k + 32 >> 2];
+  q[e + 8 >> 2] = b;
+  q[e + 12 >> 2] = 1970170211;
+  q[e + 16 >> 2] = 65539;
+  a = Xf(q[f + 12 >> 2], 0, e + 8 | 0, 0);
+  R : {
+   S : {
+    if (!a) {
+     break S;
+    }
+    c = a & 255;
+    if ((c | 0) == 163) {
+     break S;
+    }
+    if ((c | 0) != 7) {
+     break R;
+    }
+   }
+   p[e + 16 >> 1] = 7;
+   a = q[b + 368 >> 2] + -1 | 0;
+   if (a >>> 0 > 3) {
+    a = 0;
+    break R;
+   }
+   T : {
+    U : {
+     switch (a - 1 | 0) {
+     case 0:
+      p[e + 18 >> 1] = 0;
+      q[e + 12 >> 2] = 1094995778;
+      break T;
+     case 2:
+      p[e + 18 >> 1] = 1;
+      q[e + 12 >> 2] = 1094992453;
+      f = f + 4 | 0;
+      break T;
+     default:
+      p[e + 18 >> 1] = 2;
+      q[e + 12 >> 2] = 1094992451;
+      f = f + 8 | 0;
+      break T;
+     case 1:
+      break U;
+     }
+    }
+    f = f + 12 | 0;
+    p[e + 18 >> 1] = 3;
+    q[e + 12 >> 2] = 1818326065;
+   }
+   a = 0;
+   b = q[f >> 2];
+   if (!b) {
+    break R;
+   }
+   a = Xf(b, 0, e + 8 | 0, 0);
+  }
+  Ca = e + 1536 | 0;
+  return a | 0;
+ }
+ Ca = e + 1536 | 0;
+ return a | 0;
+}
+function $N(a, b, c, d, e, h) {
+ var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0, t = 0, u = 0, w = 0, x = 0, z = 0, A = 0, B = 0, C = 0, D = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0;
+ i = Ca - 368 | 0;
+ Ca = i;
+ n = r[d + 4 | 0] | r[d + 5 | 0] << 8 | (r[d + 6 | 0] << 16 | r[d + 7 | 0] << 24);
+ f(0, r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24));
+ f(1, n | 0);
+ s = +g();
+ n = r[c + 28 | 0] | r[c + 29 | 0] << 8 | (r[c + 30 | 0] << 16 | r[c + 31 | 0] << 24);
+ f(0, r[c + 24 | 0] | r[c + 25 | 0] << 8 | (r[c + 26 | 0] << 16 | r[c + 27 | 0] << 24));
+ f(1, n | 0);
+ p = +g();
+ n = r[d + 12 | 0] | r[d + 13 | 0] << 8 | (r[d + 14 | 0] << 16 | r[d + 15 | 0] << 24);
+ f(0, r[d + 8 | 0] | r[d + 9 | 0] << 8 | (r[d + 10 | 0] << 16 | r[d + 11 | 0] << 24));
+ f(1, n | 0);
+ x = +g();
+ n = r[c + 20 | 0] | r[c + 21 | 0] << 8 | (r[c + 22 | 0] << 16 | r[c + 23 | 0] << 24);
+ f(0, r[c + 16 | 0] | r[c + 17 | 0] << 8 | (r[c + 18 | 0] << 16 | r[c + 19 | 0] << 24));
+ f(1, n | 0);
+ t = +g();
+ M = s * p - x * t;
+ n = r[d + 36 | 0] | r[d + 37 | 0] << 8 | (r[d + 38 | 0] << 16 | r[d + 39 | 0] << 24);
+ f(0, r[d + 32 | 0] | r[d + 33 | 0] << 8 | (r[d + 34 | 0] << 16 | r[d + 35 | 0] << 24));
+ f(1, n | 0);
+ A = +g();
+ n = r[d + 28 | 0] | r[d + 29 | 0] << 8 | (r[d + 30 | 0] << 16 | r[d + 31 | 0] << 24);
+ f(0, r[d + 24 | 0] | r[d + 25 | 0] << 8 | (r[d + 26 | 0] << 16 | r[d + 27 | 0] << 24));
+ f(1, n | 0);
+ L = +g();
+ l = A * s - L * x;
+ I = v[d + 40 >> 3];
+ w = M + l * I;
+ J = v[d + 16 >> 3];
+ P = L * p - A * t;
+ F = l * J - P;
+ C = s * t + x * p;
+ H = L * t + A * p;
+ a : {
+  if (!(l < 0)) {
+   k = 33;
+   j = l;
+   u = 2;
+   break a;
+  }
+  w = -w;
+  F = -F;
+  j = -l;
+  u = 1;
+ }
+ B = d + 24 | 0;
+ S = C + H;
+ b : {
+  c : {
+   if (!(S > 0)) {
+    break c;
+   }
+   s = L * s + A * x;
+   d : {
+    if (e & u) {
+     A = H + (s * J + I);
+     x = C + (J + s * I);
+     if (!(A < j ^ 1 | x < j ^ 1)) {
+      n = e;
+      e : {
+       p = (t * t + p * p + (I * (H + A) + J * (C + x))) * .5;
+       if (p < w ^ 1 | p < F ^ 1) {
+        break e;
+       }
+       t = p * 1.3333333333333333;
+       p = E(p / (2 - p));
+       t = t * p;
+       if (I * (A * p + F) > t ^ 1 | J * (x * p + w) > t ^ 1) {
+        break e;
+       }
+       n = q[b + 4 >> 2];
+       q[i + 120 >> 2] = q[b >> 2];
+       q[i + 124 >> 2] = n;
+       if (!bO(a, i + 120 | 0, u, h)) {
+        break b;
+       }
+       f : {
+        if (!(x < 0 ^ 1 ? !(A < 0) : 0)) {
+         j = v[a + 24 >> 3] * 0;
+         g : {
+          if (y(j) < 2147483648) {
+           n = ~~j;
+           break g;
+          }
+          n = -2147483648;
+         }
+         G = u & 1;
+         j = v[a + 16 >> 3] * 0;
+         h : {
+          if (y(j) < 2147483648) {
+           m = ~~j;
+           break h;
+          }
+          m = -2147483648;
+         }
+         z = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+         D = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+         if (G) {
+          q[i + 132 >> 2] = n + z;
+          q[i + 128 >> 2] = m + D;
+          K = q[a >> 2];
+          N = q[i + 132 >> 2];
+          q[i + 96 >> 2] = q[i + 128 >> 2];
+          q[i + 100 >> 2] = N;
+          if (!TN(K, i + 96 | 0, 1)) {
+           break b;
+          }
+         }
+         K = u & 2;
+         if (K) {
+          q[i + 132 >> 2] = z - n;
+          q[i + 128 >> 2] = D - m;
+          n = q[a + 4 >> 2];
+          m = q[i + 132 >> 2];
+          q[i + 88 >> 2] = q[i + 128 >> 2];
+          q[i + 92 >> 2] = m;
+          if (!TN(n, i + 88 | 0, 1)) {
+           break b;
+          }
+         }
+         z = r[b + 28 | 0] | r[b + 29 | 0] << 8 | (r[b + 30 | 0] << 16 | r[b + 31 | 0] << 24);
+         j = v[a + 24 >> 3] * 0;
+         i : {
+          if (y(j) < 2147483648) {
+           n = ~~j;
+           break i;
+          }
+          n = -2147483648;
+         }
+         j = v[a + 16 >> 3] * 0;
+         j : {
+          if (y(j) < 2147483648) {
+           m = ~~j;
+           break j;
+          }
+          m = -2147483648;
+         }
+         D = r[b + 24 | 0] | r[b + 25 | 0] << 8 | (r[b + 26 | 0] << 16 | r[b + 27 | 0] << 24);
+         if (G) {
+          q[i + 132 >> 2] = n + z;
+          q[i + 128 >> 2] = m + D;
+          G = q[a >> 2];
+          N = q[i + 132 >> 2];
+          q[i + 80 >> 2] = q[i + 128 >> 2];
+          q[i + 84 >> 2] = N;
+          if (!TN(G, i + 80 | 0, 1)) {
+           break b;
+          }
+         }
+         if (!K) {
+          break f;
+         }
+         q[i + 132 >> 2] = z - n;
+         q[i + 128 >> 2] = D - m;
+         n = q[a + 4 >> 2];
+         m = q[i + 132 >> 2];
+         q[i + 72 >> 2] = q[i + 128 >> 2];
+         q[i + 76 >> 2] = m;
+         if (TN(n, i + 72 | 0, 1)) {
+          break f;
+         }
+         break b;
+        }
+        j = A / j;
+        w = j * v[d + 8 >> 3] * v[a + 24 >> 3];
+        k : {
+         if (y(w) < 2147483648) {
+          n = ~~w;
+          break k;
+         }
+         n = -2147483648;
+        }
+        D = u & 1;
+        j = j * v[d >> 3] * v[a + 16 >> 3];
+        l : {
+         if (y(j) < 2147483648) {
+          m = ~~j;
+          break l;
+         }
+         m = -2147483648;
+        }
+        G = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+        z = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+        if (D) {
+         q[i + 132 >> 2] = n + G;
+         q[i + 128 >> 2] = m + z;
+         D = q[a >> 2];
+         K = q[i + 132 >> 2];
+         q[i + 112 >> 2] = q[i + 128 >> 2];
+         q[i + 116 >> 2] = K;
+         if (!TN(D, i + 112 | 0, 1)) {
+          break b;
+         }
+        }
+        if (!(u & 2)) {
+         break f;
+        }
+        q[i + 132 >> 2] = G - n;
+        q[i + 128 >> 2] = z - m;
+        n = q[a + 4 >> 2];
+        m = q[i + 132 >> 2];
+        q[i + 104 >> 2] = q[i + 128 >> 2];
+        q[i + 108 >> 2] = m;
+        if (!TN(n, i + 104 | 0, 1)) {
+         break b;
+        }
+       }
+       n = (u ^ -1) & e;
+       if (n) {
+        break e;
+       }
+       b = q[B + 4 >> 2];
+       q[a + 80 >> 2] = q[B >> 2];
+       q[a + 84 >> 2] = b;
+       b = q[B + 12 >> 2];
+       q[a + 88 >> 2] = q[B + 8 >> 2];
+       q[a + 92 >> 2] = b;
+       o = 1;
+       break b;
+      }
+      u = e ^ u;
+      break d;
+     }
+     n = M < 0 ? k | 64 : k;
+     k = P < 0 ? n ^ 65 : n;
+     m = k & 64;
+     m : {
+      n : {
+       o : {
+        p : {
+         q : {
+          r : {
+           if (!!(s + F < 1)) {
+            s : {
+             if (!m) {
+              break s;
+             }
+             k = (s < 0 ? 642 : 130) ^ k;
+             if (!(A > j)) {
+              break s;
+             }
+             k = k ^ 10;
+            }
+            n = m ? 1 : 2;
+            break r;
+           }
+           n = !m;
+           if (m) {
+            break q;
+           }
+           if (!(s > 0)) {
+            k = k ^ 193;
+            break r;
+           }
+           k = k ^ 705;
+          }
+          if (!(s + w < 1)) {
+           break p;
+          }
+          if (!m) {
+           break n;
+          }
+          break o;
+         }
+         if (s + w < 1) {
+          k = k ^ 65;
+          break o;
+         }
+         k = k ^ 1;
+         break m;
+        }
+        if (m) {
+         k = k ^ 64;
+         break m;
+        }
+        if (!(s > 0)) {
+         k = k ^ 320;
+         break m;
+        }
+        k = k ^ 1344;
+        break m;
+       }
+       k = (s < 0 ? 1284 : 260) ^ k;
+       if (!(x > j)) {
+        break n;
+       }
+       k = k ^ 20;
+      }
+      n = n + 1 | 0;
+     }
+     u = ((n | 0) > 2 ? u : 0) ^ e;
+    } else {
+     u = e;
+    }
+    n = e;
+   }
+   t : {
+    if (!u) {
+     break t;
+    }
+    L = s + -1;
+    F = (M + P) / S;
+    T = F * F;
+    U = L + L + T * 3;
+    j = l * F;
+    O = j + j;
+    V = U - O;
+    w = s + 1;
+    x = w * T;
+    p = l * l;
+    W = w * x;
+    I = p * 3 + W * 3;
+    J = w * (j * 6);
+    t = I - J;
+    j = E(w * .5);
+    j = j * 1.5 * (j + 1);
+    Q = (s + 4) * O;
+    R = p + p - x * 6;
+    X = Q + R;
+    A = j * X + (t + t);
+    Q = R - Q;
+    I = J + I;
+    J = j * Q + (I + I);
+    R = (p - s * x) * 7.2;
+    p = s * ((W - p) * 3.6);
+    x = j * R + (p + p);
+    O = O + U;
+    L = L * 4 + s * (T * 3.6);
+    j = ((t - j * (j * V)) * A + ((I - j * (j * O)) * J + ((p - j * (j * L)) * x + 0))) / (j * (A * A + (J * J + (x * x + 0))) + 1e-9);
+    t = V + j * (X + t * j);
+    x = t * t;
+    t = O + j * (Q + I * j);
+    p = L + j * (R + p * j);
+    if (!(x + (t * t + (p * p + 0)) < v[a + 144 >> 3])) {
+     break t;
+    }
+    p = l * j;
+    t = w * j + -1;
+    w = F * t;
+    j = p + w;
+    w = w - p;
+    e = k & 32;
+    m = e >>> 5 | 0 ? 2 : 1;
+    u : {
+     if (!(m & u)) {
+      p = v[d + 40 >> 3];
+      t = v[d + 16 >> 3];
+      break u;
+     }
+     F = e ? -l : l;
+     o = t * (F + F) < S;
+     t = v[d + 16 >> 3];
+     x = e ? -w : w;
+     o = t - x < 0 ? o | 2 : o;
+     A = e ? -j : j;
+     p = v[d + 40 >> 3];
+     e = A + p < 0 ? o | 4 : o;
+     e = F + (C + t) - s * A < 0 ? e | 8 : e;
+     if (!(((s * x + (F + (H + p)) < 0 ? e | 16 : e) ^ k) & k >>> 6)) {
+      break u;
+     }
+     u = (m ^ -1) & u;
+     if (!u) {
+      break t;
+     }
+    }
+    x = M + M;
+    F = v[a + 152 >> 3];
+    C = C + C;
+    if (!(y(x + w * 3 * t) < F * (C + t * 3))) {
+     break t;
+    }
+    A = P + P;
+    H = H + H;
+    if (!(y(A + j * 3 * p) < (H + p * 3) * F)) {
+     break t;
+    }
+    M = l * t;
+    t = s * t;
+    l = p * -l;
+    s = s * p;
+    if (y(x + C * w - M + j * t - l / 3) < F * (s / 3 + (C - x * w + t + j * M)) ^ 1 | y(A + H * j - l + w * s - M / 3) < F * (t / 3 + (H - A * j + s + w * l)) ^ 1) {
+     break t;
+    }
+    k = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+    z = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+    l = v[d + 8 >> 3];
+    s = v[d >> 3];
+    C = v[d + 32 >> 3];
+    H = v[d + 24 >> 3];
+    N = u ^ -1;
+    q[a + 60 >> 2] = N & q[a + 60 >> 2];
+    e = r[a + 84 | 0] | r[a + 85 | 0] << 8 | (r[a + 86 | 0] << 16 | r[a + 87 | 0] << 24);
+    f(0, r[a + 80 | 0] | r[a + 81 | 0] << 8 | (r[a + 82 | 0] << 16 | r[a + 83 | 0] << 24));
+    f(1, e | 0);
+    p = +g() * v[a + 16 >> 3];
+    v : {
+     if (y(p) < 2147483648) {
+      e = ~~p;
+      break v;
+     }
+     e = -2147483648;
+    }
+    G = u & 1;
+    m = r[a + 92 | 0] | r[a + 93 | 0] << 8 | (r[a + 94 | 0] << 16 | r[a + 95 | 0] << 24);
+    f(0, r[a + 88 | 0] | r[a + 89 | 0] << 8 | (r[a + 90 | 0] << 16 | r[a + 91 | 0] << 24));
+    f(1, m | 0);
+    p = +g() * v[a + 24 >> 3];
+    w : {
+     if (y(p) < 2147483648) {
+      m = ~~p;
+      break w;
+     }
+     m = -2147483648;
+    }
+    if (G) {
+     q[i + 132 >> 2] = k + m;
+     q[i + 128 >> 2] = e + z;
+     D = q[a >> 2];
+     o = q[i + 132 >> 2];
+     q[i + 64 >> 2] = q[i + 128 >> 2];
+     q[i + 68 >> 2] = o;
+     o = 0;
+     if (!TN(D, i - -64 | 0, 3)) {
+      break b;
+     }
+    }
+    D = u & 2;
+    if (D) {
+     q[i + 132 >> 2] = k - m;
+     q[i + 128 >> 2] = z - e;
+     e = q[a + 4 >> 2];
+     u = q[i + 132 >> 2];
+     q[i + 56 >> 2] = q[i + 128 >> 2];
+     q[i + 60 >> 2] = u;
+     o = 0;
+     if (!TN(e, i + 56 | 0, 3)) {
+      break b;
+     }
+    }
+    p = s + w * l;
+    z = r[b + 12 | 0] | r[b + 13 | 0] << 8 | (r[b + 14 | 0] << 16 | r[b + 15 | 0] << 24);
+    l = (l - w * s) * v[a + 24 >> 3];
+    x : {
+     if (y(l) < 2147483648) {
+      u = ~~l;
+      break x;
+     }
+     u = -2147483648;
+    }
+    l = p * v[a + 16 >> 3];
+    y : {
+     if (y(l) < 2147483648) {
+      m = ~~l;
+      break y;
+     }
+     m = -2147483648;
+    }
+    K = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+    if (G) {
+     k = q[a >> 2];
+     o = q[k >> 2];
+     e = q[k + 4 >> 2];
+     if (o >>> 0 >= e >>> 0) {
+      o = 0;
+      q[160854] = 0;
+      e = e << 1;
+      Y = k, Z = Md(q[k + 16 >> 2], e, 8), q[Y + 16 >> 2] = Z;
+      if (q[160854]) {
+       break b;
+      }
+      q[k + 4 >> 2] = e;
+      o = q[k >> 2];
+     }
+     o = q[k + 16 >> 2] + (o << 3) | 0;
+     q[o >> 2] = m + K;
+     q[o + 4 >> 2] = u + z;
+     q[k >> 2] = q[k >> 2] + 1;
+    }
+    if (D) {
+     k = q[a + 4 >> 2];
+     o = q[k >> 2];
+     e = q[k + 4 >> 2];
+     if (o >>> 0 >= e >>> 0) {
+      o = 0;
+      q[160854] = 0;
+      e = e << 1;
+      Y = k, Z = Md(q[k + 16 >> 2], e, 8), q[Y + 16 >> 2] = Z;
+      if (q[160854]) {
+       break b;
+      }
+      q[k + 4 >> 2] = e;
+      o = q[k >> 2];
+     }
+     o = q[k + 16 >> 2] + (o << 3) | 0;
+     q[o >> 2] = K - m;
+     q[o + 4 >> 2] = z - u;
+     q[k >> 2] = q[k >> 2] + 1;
+    }
+    l = H + j * C;
+    z = r[b + 20 | 0] | r[b + 21 | 0] << 8 | (r[b + 22 | 0] << 16 | r[b + 23 | 0] << 24);
+    j = (C - j * H) * v[a + 24 >> 3];
+    z : {
+     if (y(j) < 2147483648) {
+      e = ~~j;
+      break z;
+     }
+     e = -2147483648;
+    }
+    l = l * v[a + 16 >> 3];
+    A : {
+     if (y(l) < 2147483648) {
+      u = ~~l;
+      break A;
+     }
+     u = -2147483648;
+    }
+    K = r[b + 16 | 0] | r[b + 17 | 0] << 8 | (r[b + 18 | 0] << 16 | r[b + 19 | 0] << 24);
+    if (G) {
+     k = q[a >> 2];
+     o = q[k >> 2];
+     m = q[k + 4 >> 2];
+     if (o >>> 0 >= m >>> 0) {
+      o = 0;
+      q[160854] = 0;
+      m = m << 1;
+      Y = k, Z = Md(q[k + 16 >> 2], m, 8), q[Y + 16 >> 2] = Z;
+      if (q[160854]) {
+       break b;
+      }
+      q[k + 4 >> 2] = m;
+      o = q[k >> 2];
+     }
+     o = q[k + 16 >> 2] + (o << 3) | 0;
+     q[o >> 2] = u + K;
+     q[o + 4 >> 2] = e + z;
+     q[k >> 2] = q[k >> 2] + 1;
+    }
+    if (D) {
+     m = q[a + 4 >> 2];
+     o = q[m >> 2];
+     k = q[m + 4 >> 2];
+     if (o >>> 0 >= k >>> 0) {
+      o = 0;
+      q[160854] = 0;
+      k = k << 1;
+      Y = m, Z = Md(q[m + 16 >> 2], k, 8), q[Y + 16 >> 2] = Z;
+      if (q[160854]) {
+       break b;
+      }
+      q[m + 4 >> 2] = k;
+      o = q[m >> 2];
+     }
+     k = q[m + 16 >> 2] + (o << 3) | 0;
+     q[k >> 2] = K - u;
+     q[k + 4 >> 2] = z - e;
+     q[m >> 2] = q[m >> 2] + 1;
+    }
+    e = n & N;
+    if (e) {
+     break c;
+    }
+    b = q[B + 4 >> 2];
+    q[a + 80 >> 2] = q[B >> 2];
+    q[a + 84 >> 2] = b;
+    b = q[B + 12 >> 2];
+    q[a + 88 >> 2] = q[B + 8 >> 2];
+    q[a + 92 >> 2] = b;
+    o = 1;
+    break b;
+   }
+   e = n;
+  }
+  n = q[b + 12 >> 2];
+  u = q[b + 8 >> 2];
+  o = q[b >> 2];
+  G = q[b + 24 >> 2];
+  m = q[b + 16 >> 2];
+  k = q[b + 4 >> 2];
+  z = q[b + 20 >> 2];
+  D = z + q[b + 28 >> 2] | 0;
+  q[i + 348 >> 2] = D >> 1;
+  z = (n + z | 0) + 2 | 0;
+  D = z + D | 0;
+  q[i + 340 >> 2] = D >> 2;
+  n = k + n | 0;
+  k = n + z | 0;
+  q[i + 324 >> 2] = k >> 2;
+  k = (k + D | 0) + -1 >> 3;
+  q[i + 332 >> 2] = k;
+  G = m + G | 0;
+  q[i + 344 >> 2] = G >> 1;
+  o = o + u | 0;
+  q[i + 312 >> 2] = o >> 1;
+  q[i + 316 >> 2] = n >> 1;
+  n = (m + u | 0) + 2 | 0;
+  u = n + G | 0;
+  q[i + 336 >> 2] = u >> 2;
+  n = n + o | 0;
+  q[i + 320 >> 2] = n >> 2;
+  G = (n + u | 0) + -1 >> 3;
+  q[i + 328 >> 2] = G;
+  n = q[b + 4 >> 2];
+  u = q[b >> 2];
+  q[i + 304 >> 2] = u;
+  q[i + 308 >> 2] = n;
+  m = q[b + 28 >> 2];
+  q[i + 352 >> 2] = q[b + 24 >> 2];
+  q[i + 356 >> 2] = m;
+  j = v[c >> 3] * .5;
+  v[i + 224 >> 3] = j;
+  l = v[c + 8 >> 3] * .5;
+  v[i + 232 >> 3] = l;
+  s = v[c + 24 >> 3];
+  H = v[c + 16 >> 3];
+  p = v[c + 32 >> 3] * .5;
+  v[i + 288 >> 3] = p;
+  w = v[c + 40 >> 3];
+  x = l;
+  l = s * .5;
+  C = (x + l) * .5;
+  v[i + 248 >> 3] = C;
+  s = w * .5;
+  v[i + 296 >> 3] = s;
+  w = (l + s) * .5;
+  v[i + 280 >> 3] = w;
+  l = (C + w) * .5;
+  v[i + 264 >> 3] = l;
+  x = j;
+  j = H * .5;
+  s = (x + j) * .5;
+  v[i + 240 >> 3] = s;
+  H = (j + p) * .5;
+  v[i + 272 >> 3] = H;
+  j = (s + H) * .5;
+  v[i + 256 >> 3] = j;
+  m = i + 256 | 0;
+  z = i + 328 | 0;
+  p = E(j * j + l * l);
+  t = v[a + 128 >> 3];
+  if (!!(p < t)) {
+   b = q[d + 4 >> 2];
+   q[i + 128 >> 2] = q[d >> 2];
+   q[i + 132 >> 2] = b;
+   b = d + 8 | 0;
+   o = q[b + 4 >> 2];
+   q[i + 136 >> 2] = q[b >> 2];
+   q[i + 140 >> 2] = o;
+   v[i + 144 >> 3] = v[d + 16 >> 3] * .5;
+   c = q[B + 12 >> 2];
+   q[i + 208 >> 2] = q[B + 8 >> 2];
+   q[i + 212 >> 2] = c;
+   c = q[B + 4 >> 2];
+   q[i + 200 >> 2] = q[B >> 2];
+   q[i + 204 >> 2] = c;
+   v[i + 216 >> 3] = v[d + 40 >> 3] * .5;
+   s = s + j;
+   v[i + 240 >> 3] = s;
+   j = H + j;
+   v[i + 272 >> 3] = j;
+   w = w + l;
+   v[i + 280 >> 3] = w;
+   l = C + l;
+   v[i + 248 >> 3] = l;
+   q[m >> 2] = 0;
+   q[m + 4 >> 2] = 0;
+   q[m + 8 >> 2] = 0;
+   q[m + 12 >> 2] = 0;
+   C = E(s * s + l * l);
+   c = C < t;
+   B : {
+    if (!!c) {
+     o = q[d + 20 >> 2];
+     q[i + 168 >> 2] = q[d + 16 >> 2];
+     q[i + 172 >> 2] = o;
+     o = q[b + 4 >> 2];
+     q[i + 160 >> 2] = q[b >> 2];
+     q[i + 164 >> 2] = o;
+     b = q[d + 4 >> 2];
+     q[i + 152 >> 2] = q[d >> 2];
+     q[i + 156 >> 2] = b;
+     break B;
+    }
+    v[i + 168 >> 3] = C;
+    x = l;
+    l = 1 / C;
+    v[i + 160 >> 3] = x * l;
+    v[i + 152 >> 3] = s * l;
+   }
+   l = E(j * j + w * w);
+   C : {
+    if (!!(l < t)) {
+     b = q[B + 20 >> 2];
+     q[i + 192 >> 2] = q[B + 16 >> 2];
+     q[i + 196 >> 2] = b;
+     b = q[B + 12 >> 2];
+     q[i + 184 >> 2] = q[B + 8 >> 2];
+     q[i + 188 >> 2] = b;
+     b = q[B + 4 >> 2];
+     q[i + 176 >> 2] = q[B >> 2];
+     q[i + 180 >> 2] = b;
+     break C;
+    }
+    v[i + 192 >> 3] = l;
+    s = 1 / l;
+    v[i + 184 >> 3] = w * s;
+    v[i + 176 >> 3] = j * s;
+   }
+   D : {
+    if (!!c) {
+     q[a + 60 >> 2] = q[a + 60 >> 2] & (e ^ -1);
+     b = r[a + 84 | 0] | r[a + 85 | 0] << 8 | (r[a + 86 | 0] << 16 | r[a + 87 | 0] << 24);
+     f(0, r[a + 80 | 0] | r[a + 81 | 0] << 8 | (r[a + 82 | 0] << 16 | r[a + 83 | 0] << 24));
+     f(1, b | 0);
+     j = +g() * v[a + 16 >> 3];
+     E : {
+      if (y(j) < 2147483648) {
+       b = ~~j;
+       break E;
+      }
+      b = -2147483648;
+     }
+     d = n;
+     h = e & 1;
+     c = r[a + 92 | 0] | r[a + 93 | 0] << 8 | (r[a + 94 | 0] << 16 | r[a + 95 | 0] << 24);
+     f(0, r[a + 88 | 0] | r[a + 89 | 0] << 8 | (r[a + 90 | 0] << 16 | r[a + 91 | 0] << 24));
+     f(1, c | 0);
+     j = +g() * v[a + 24 >> 3];
+     F : {
+      if (y(j) < 2147483648) {
+       c = ~~j;
+       break F;
+      }
+      c = -2147483648;
+     }
+     if (h) {
+      q[i + 364 >> 2] = c + d;
+      q[i + 360 >> 2] = b + u;
+      h = q[a >> 2];
+      n = q[i + 364 >> 2];
+      q[i + 48 >> 2] = q[i + 360 >> 2];
+      q[i + 52 >> 2] = n;
+      o = 0;
+      if (!TN(h, i + 48 | 0, 1)) {
+       break b;
+      }
+     }
+     if (!(e & 2)) {
+      break D;
+     }
+     q[i + 364 >> 2] = d - c;
+     q[i + 360 >> 2] = u - b;
+     b = q[a + 4 >> 2];
+     c = q[i + 364 >> 2];
+     q[i + 40 >> 2] = q[i + 360 >> 2];
+     q[i + 44 >> 2] = c;
+     o = 0;
+     if (TN(b, i + 40 | 0, 1)) {
+      break D;
+     }
+     break b;
+    }
+    o = 0;
+    if (!$N(a, i + 304 | 0, i + 224 | 0, i + 128 | 0, e, h)) {
+     break b;
+    }
+   }
+   b = q[i + 320 >> 2];
+   c = q[i + 324 >> 2];
+   d = q[i + 188 >> 2];
+   q[i + 24 >> 2] = q[i + 184 >> 2];
+   q[i + 28 >> 2] = d;
+   q[i + 32 >> 2] = b;
+   q[i + 36 >> 2] = c;
+   b = q[i + 180 >> 2];
+   q[i + 16 >> 2] = q[i + 176 >> 2];
+   q[i + 20 >> 2] = b;
+   o = 0;
+   if (!ZN(a, i + 32 | 0, i + 16 | 0, e)) {
+    break b;
+   }
+   G : {
+    if (!!(l < v[a + 128 >> 3])) {
+     q[a + 60 >> 2] = q[a + 60 >> 2] & (e ^ -1);
+     b = r[a + 84 | 0] | r[a + 85 | 0] << 8 | (r[a + 86 | 0] << 16 | r[a + 87 | 0] << 24);
+     f(0, r[a + 80 | 0] | r[a + 81 | 0] << 8 | (r[a + 82 | 0] << 16 | r[a + 83 | 0] << 24));
+     f(1, b | 0);
+     l = +g() * v[a + 16 >> 3];
+     H : {
+      if (y(l) < 2147483648) {
+       b = ~~l;
+       break H;
+      }
+      b = -2147483648;
+     }
+     d = e & 1;
+     c = r[a + 92 | 0] | r[a + 93 | 0] << 8 | (r[a + 94 | 0] << 16 | r[a + 95 | 0] << 24);
+     f(0, r[a + 88 | 0] | r[a + 89 | 0] << 8 | (r[a + 90 | 0] << 16 | r[a + 91 | 0] << 24));
+     f(1, c | 0);
+     l = +g() * v[a + 24 >> 3];
+     I : {
+      if (y(l) < 2147483648) {
+       c = ~~l;
+       break I;
+      }
+      c = -2147483648;
+     }
+     if (d) {
+      q[i + 364 >> 2] = c + k;
+      q[i + 360 >> 2] = b + G;
+      d = q[a >> 2];
+      h = q[i + 364 >> 2];
+      q[i + 8 >> 2] = q[i + 360 >> 2];
+      q[i + 12 >> 2] = h;
+      if (!TN(d, i + 8 | 0, 1)) {
+       break b;
+      }
+     }
+     if (!(e & 2)) {
+      break G;
+     }
+     q[i + 364 >> 2] = k - c;
+     q[i + 360 >> 2] = G - b;
+     a = q[a + 4 >> 2];
+     b = q[i + 364 >> 2];
+     q[i >> 2] = q[i + 360 >> 2];
+     q[i + 4 >> 2] = b;
+     if (TN(a, i, 1)) {
+      break G;
+     }
+     break b;
+    }
+    if (!$N(a, z, m, i + 176 | 0, e, 0)) {
+     break b;
+    }
+   }
+   o = 1;
+   break b;
+  }
+  b = q[d + 4 >> 2];
+  q[i + 128 >> 2] = q[d >> 2];
+  q[i + 132 >> 2] = b;
+  b = q[d + 12 >> 2];
+  q[i + 136 >> 2] = q[d + 8 >> 2];
+  q[i + 140 >> 2] = b;
+  s = v[d + 16 >> 3];
+  x = l;
+  l = 1 / p;
+  v[i + 160 >> 3] = x * l;
+  v[i + 168 >> 3] = p;
+  v[i + 152 >> 3] = j * l;
+  v[i + 144 >> 3] = s * .5;
+  b = q[B + 12 >> 2];
+  q[i + 184 >> 2] = q[B + 8 >> 2];
+  q[i + 188 >> 2] = b;
+  b = q[B + 4 >> 2];
+  q[i + 176 >> 2] = q[B >> 2];
+  q[i + 180 >> 2] = b;
+  v[i + 192 >> 3] = v[d + 40 >> 3] * .5;
+  o = 0;
+  if (!$N(a, i + 304 | 0, i + 224 | 0, i + 128 | 0, e, h)) {
+   break b;
+  }
+  o = $N(a, z, m, i + 152 | 0, e, 0);
+ }
+ Ca = i + 368 | 0;
+ return o;
+}
+function eI(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0;
+ h = Ca - 208 | 0;
+ Ca = h;
+ e = p[b + 2 >> 1];
+ if (!(!e | !s[b >> 1])) {
+  Z$(h + 8 | 0, 0, 128);
+  z = q[c >> 2];
+  q[h + 24 >> 2] = z;
+  D = h, E = Te(z, 40, 0, e, 0, h + 144 | 0), q[D + 16 >> 2] = E;
+  f = q[h + 144 >> 2];
+  a : {
+   if (f) {
+    break a;
+   }
+   i = Te(z, 8, 0, p[b >> 1], 0, h + 144 | 0);
+   q[h + 20 >> 2] = i;
+   f = q[h + 144 >> 2];
+   if (f) {
+    break a;
+   }
+   u = p[b + 2 >> 1];
+   q[h + 8 >> 2] = u;
+   e = p[b >> 1];
+   q[h + 12 >> 2] = e;
+   j = q[h + 16 >> 2];
+   if (e) {
+    l = e >>> 0 > 1 ? e : 1;
+    x = q[b + 12 >> 2];
+    while (1) {
+     n = p[x + (m << 1) >> 1];
+     k = j + w(g, 40) | 0;
+     q[i >> 2] = k;
+     v = n + 1 | 0;
+     f = v - g | 0;
+     q[i + 4 >> 2] = f;
+     if (f) {
+      q[k >> 2] = j + w(n, 40);
+      q[k + 8 >> 2] = i;
+      e = k;
+      y = j;
+      if ((f | 0) != 1) {
+       while (1) {
+        q[e + 48 >> 2] = i;
+        g = e + 40 | 0;
+        q[e + 4 >> 2] = g;
+        q[e + 40 >> 2] = e;
+        e = g;
+        f = f + -1 | 0;
+        if (f >>> 0 > 1) {
+         continue;
+        }
+        break;
+       }
+       g = n;
+      }
+      q[(w(g, 40) + y | 0) + 4 >> 2] = k;
+     }
+     i = i + 8 | 0;
+     g = v;
+     m = m + 1 | 0;
+     if ((l | 0) != (m | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   b : {
+    if (!u) {
+     q[h + 32 >> 2] = c;
+     q[h + 28 >> 2] = b;
+     break b;
+    }
+    m = q[b + 4 >> 2];
+    f = 0;
+    e = j;
+    while (1) {
+     y = (q[e + 4 >> 2] - j | 0) / 40 | 0;
+     g = (q[e >> 2] - j | 0) / 40 | 0;
+     if (!(o[q[b + 8 >> 2] + f | 0] & 1)) {
+      q[e + 12 >> 2] = 1;
+     }
+     i = e;
+     k = m + (f << 3) | 0;
+     u = q[k + 4 >> 2];
+     v = m + (g << 3) | 0;
+     n = u - q[v + 4 >> 2] | 0;
+     g = n >> 31;
+     l = q[k >> 2];
+     v = l - q[v >> 2] | 0;
+     k = v >> 31;
+     x = g ^ g + n;
+     k = k ^ k + v;
+     g = (v | 0) > -1 ? 2 : -2;
+     c : {
+      if ((w(x, 12) | 0) < (k | 0)) {
+       break c;
+      }
+      g = 4;
+      if ((w(k, 12) | 0) >= (x | 0)) {
+       break c;
+      }
+      g = (n | 0) > -1 ? -1 : 1;
+     }
+     k = g;
+     o[i + 20 | 0] = k;
+     i = e;
+     x = m + (y << 3) | 0;
+     y = q[x + 4 >> 2] - u | 0;
+     g = y >> 31;
+     u = q[x >> 2] - l | 0;
+     l = u >> 31;
+     x = g ^ g + y;
+     l = l ^ l + u;
+     g = (u | 0) > -1 ? 2 : -2;
+     d : {
+      if ((w(x, 12) | 0) < (l | 0)) {
+       break d;
+      }
+      g = 4;
+      if ((w(l, 12) | 0) >= (x | 0)) {
+       break d;
+      }
+      g = (y | 0) > -1 ? -1 : 1;
+     }
+     o[i + 21 | 0] = g;
+     i = q[e + 12 >> 2];
+     e : {
+      if (i & 1) {
+       q[e + 12 >> 2] = i | 2;
+       break e;
+      }
+      if ((g | 0) != (k | 0)) {
+       break e;
+      }
+      k = e;
+      if ((g | 0) == 4) {
+       if (!Me(v, n, u, y)) {
+        break e;
+       }
+       i = q[e + 12 >> 2];
+      }
+      q[k + 12 >> 2] = i | 2;
+     }
+     e = e + 40 | 0;
+     f = f + 1 | 0;
+     i = q[h + 8 >> 2];
+     if (f >>> 0 < i >>> 0) {
+      continue;
+     }
+     break;
+    }
+    q[h + 32 >> 2] = c;
+    q[h + 28 >> 2] = b;
+    if (!i) {
+     break b;
+    }
+    f = q[b + 4 >> 2];
+    e = q[h + 16 >> 2];
+    while (1) {
+     q[e + 24 >> 2] = 0;
+     q[e + 16 >> 2] = 0;
+     b = q[f + 4 >> 2];
+     q[e + 28 >> 2] = q[f >> 2];
+     q[e + 32 >> 2] = b;
+     f = f + 8 | 0;
+     e = e + 40 | 0;
+     i = i + -1 | 0;
+     if (i) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (q[h + 12 >> 2]) {
+    while (1) {
+     b = q[h + 20 >> 2] + (B << 3) | 0;
+     f : {
+      if (t[b + 4 >> 2] < 4) {
+       break f;
+      }
+      j = q[b >> 2];
+      e = j;
+      while (1) {
+       e = q[e + 4 >> 2];
+       if ((j | 0) == (e | 0)) {
+        break f;
+       }
+       k = q[e + 32 >> 2] - q[j + 32 >> 2] | 0;
+       m = q[e + 28 >> 2] - q[j + 28 >> 2] | 0;
+       if (!(k | m)) {
+        continue;
+       }
+       break;
+      }
+      b = j;
+      while (1) {
+       n = b;
+       b = q[b >> 2];
+       if ((j | 0) == (b | 0)) {
+        break f;
+       }
+       f = q[n + 32 >> 2] - q[b + 32 >> 2] | 0;
+       g = q[n + 28 >> 2] - q[b + 28 >> 2] | 0;
+       if (!(f | g)) {
+        continue;
+       }
+       i = Le(m, k, g, f);
+       if (!i) {
+        continue;
+       }
+       break;
+      }
+      m = n;
+      while (1) {
+       v = i;
+       y = f;
+       u = g;
+       k = m;
+       b = 0;
+       while (1) {
+        i = q[e + 32 >> 2];
+        j = q[e + 28 >> 2];
+        while (1) {
+         m = e;
+         e = q[e + 4 >> 2];
+         l = q[e + 28 >> 2];
+         g = l - j | 0;
+         j = q[e + 32 >> 2];
+         f = j - i | 0;
+         b = (e | 0) == (n | 0) ? 1 : b;
+         i = j;
+         j = l;
+         if (!(f | g)) {
+          continue;
+         }
+         break;
+        }
+        i = Le(u, y, g, f);
+        if (!i) {
+         continue;
+        }
+        break;
+       }
+       if ((i ^ v) <= -1) {
+        while (1) {
+         q[k + 12 >> 2] = q[k + 12 >> 2] | 4;
+         k = q[k + 4 >> 2];
+         if ((k | 0) != (m | 0)) {
+          continue;
+         }
+         break;
+        }
+        q[m + 12 >> 2] = q[m + 12 >> 2] | 4;
+       }
+       if (!b) {
+        continue;
+       }
+       break;
+      }
+     }
+     B = B + 1 | 0;
+     if (B >>> 0 < t[h + 12 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   f = fI(h + 36 | 0, a + 16 | 0, a + 28 | 0, z);
+   q[h + 144 >> 2] = f;
+   if (f) {
+    break a;
+   }
+   f = fI(h + 76 | 0, a + 52 | 0, a - -64 | 0, z);
+   if (f) {
+    break a;
+   }
+   b = q[h + 32 >> 2];
+   v = q[b + 200 >> 2];
+   y = c + 416 | 0;
+   x = q[b + 404 >> 2];
+   b = Ee(q[y >> 2], x);
+   e = b + 32 & -64;
+   u = 1;
+   g : {
+    if (!e) {
+     break g;
+    }
+    u = 1;
+    if ((b | 0) == (e | 0)) {
+     break g;
+    }
+    f = ue(x, e, b);
+    a = v;
+    g = q[h + 32 >> 2];
+    if ((e | 0) < (b | 0)) {
+     a = v - ((v | 0) / 50 | 0) | 0;
+    }
+    gI(g, a, f, 0, 0);
+    u = 0;
+   }
+   p[h + 128 >> 1] = 257;
+   o[h + 132 | 0] = (d | 0) != 1;
+   o[h + 131 | 0] = (d | 0) == 2 | (d | 0) == 4;
+   o[h + 130 | 0] = (d | 1) == 3;
+   e = 0;
+   while (1) {
+    n = e;
+    i = q[h + 8 >> 2];
+    if (i) {
+     f = q[q[h + 28 >> 2] + 4 >> 2];
+     e = q[h + 16 >> 2];
+     g = i;
+     while (1) {
+      q[e + 24 >> 2] = 0;
+      q[e + 16 >> 2] = 0;
+      a = q[(((n | 0) != 0) << 2) + f >> 2];
+      q[e + 32 >> 2] = q[(!n << 2) + f >> 2];
+      q[e + 28 >> 2] = a;
+      f = f + 8 | 0;
+      e = e + 40 | 0;
+      g = g + -1 | 0;
+      if (g) {
+       continue;
+      }
+      break;
+     }
+    }
+    j = q[h + 12 >> 2];
+    h : {
+     if (!j) {
+      b = 0;
+      break h;
+     }
+     d = 0;
+     k = q[h + 20 >> 2];
+     while (1) {
+      i : {
+       a = k + (d << 3) | 0;
+       if (!q[a + 4 >> 2]) {
+        break i;
+       }
+       a = q[a >> 2];
+       f = a;
+       while (1) {
+        f = q[f >> 2];
+        if ((a | 0) == (f | 0)) {
+         b = d + 1 | 0;
+         break h;
+        }
+        if (q[f + 28 >> 2] == q[a + 28 >> 2]) {
+         continue;
+        }
+        break;
+       }
+       m = q[f + 4 >> 2];
+       e = m;
+       while (1) {
+        g = e;
+        while (1) {
+         e = q[e + 4 >> 2];
+         if ((m | 0) == (e | 0)) {
+          break i;
+         }
+         b = q[e + 28 >> 2];
+         a = q[g + 28 >> 2];
+         if ((b | 0) == (a | 0)) {
+          continue;
+         }
+         break;
+        }
+        j : {
+         k : {
+          if (q[f + 28 >> 2] < (a | 0)) {
+           if ((b | 0) < (a | 0)) {
+            break k;
+           }
+           break j;
+          }
+          if ((b | 0) <= (a | 0)) {
+           break j;
+          }
+         }
+         while (1) {
+          q[g + 16 >> 2] = q[g + 16 >> 2] | 64;
+          g = q[g + 4 >> 2];
+          if ((g | 0) != (e | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        f = q[e >> 2];
+        continue;
+       }
+      }
+      b = 0;
+      d = d + 1 | 0;
+      if ((j | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    while (1) {
+     if (b >>> 0 < i >>> 0) {
+      d = q[h + 16 >> 2];
+      e = w(b, 40);
+      a = d + e | 0;
+      f = q[a + 16 >> 2];
+      l : {
+       if (!(f & 64)) {
+        break l;
+       }
+       g = a + 16 | 0;
+       k = (d + e | 0) + 32 | 0;
+       e = a;
+       while (1) {
+        e = q[e >> 2];
+        if ((a | 0) == (e | 0)) {
+         break l;
+        }
+        j = q[e + 32 >> 2];
+        d = q[k >> 2];
+        if ((j | 0) == (d | 0)) {
+         continue;
+        }
+        break;
+       }
+       e = a;
+       while (1) {
+        e = q[e + 4 >> 2];
+        if ((a | 0) == (e | 0)) {
+         break l;
+        }
+        k = q[e + 32 >> 2];
+        if ((k | 0) == (d | 0)) {
+         continue;
+        }
+        break;
+       }
+       if (!((k | 0) <= (d | 0) | (j | 0) >= (d | 0))) {
+        q[g >> 2] = f | 128;
+        b = b + 1 | 0;
+        continue;
+       }
+       if ((j | 0) <= (d | 0) | (k | 0) >= (d | 0)) {
+        break l;
+       }
+       q[g >> 2] = f | 256;
+      }
+      b = b + 1 | 0;
+      continue;
+     }
+     break;
+    }
+    g = q[h + 32 >> 2];
+    a = (h + 8 | 0) + w(n, 40) | 0;
+    d = a + 28 | 0;
+    f = q[d >> 2];
+    if (f) {
+     e = q[a + 36 >> 2];
+     while (1) {
+      hI(e, g, n, h + 8 | 0);
+      e = e + 28 | 0;
+      f = f + -1 | 0;
+      if (f) {
+       continue;
+      }
+      break;
+     }
+     g = q[h + 32 >> 2];
+    }
+    i = n ? 2 : 1;
+    l = a + 60 | 0;
+    a = q[l >> 2];
+    e = q[a + 8 >> 2];
+    j = q[a >> 2];
+    m = w(n, 204);
+    a = Fe(32, q[(m + g | 0) + 200 >> 2]);
+    k = (a | 0) < 30 ? a : 30;
+    m : {
+     n : {
+      o : {
+       if (j >>> 0 >= 2) {
+        f = q[h + 8 >> 2];
+        b = 0;
+        if (!f) {
+         break m;
+        }
+        a = q[e + 12 >> 2];
+        g = a >>> 0 > f >>> 0 ? f : a;
+        while (1) {
+         a = e + 28 | 0;
+         e = e + 16 | 0;
+         a = q[a >> 2];
+         a = a >>> 0 < f >>> 0 ? a : f;
+         if (a >>> 0 > g >>> 0) {
+          b = q[h + 16 >> 2];
+          iI(d, e);
+          jI(d, b + w(g, 40) | 0, a - g | 0, k, i);
+         }
+         j = j + -1 | 0;
+         if (j >>> 0 < 2) {
+          break o;
+         }
+         f = q[h + 8 >> 2];
+         g = a;
+         continue;
+        }
+       }
+       if ((j | 0) != 1) {
+        break n;
+       }
+      }
+      a = q[h + 16 >> 2];
+      b = q[h + 8 >> 2];
+      iI(d, q[q[l >> 2] + 8 >> 2]);
+      jI(d, a, b, k, i);
+     }
+     a = q[h + 8 >> 2];
+     b = 0;
+     if (!a) {
+      break m;
+     }
+     e = q[h + 16 >> 2];
+     f = a;
+     while (1) {
+      p : {
+       if (!q[e + 24 >> 2]) {
+        break p;
+       }
+       b = q[e + 16 >> 2];
+       if (b & 16) {
+        break p;
+       }
+       q[e + 16 >> 2] = b | 16;
+      }
+      e = e + 40 | 0;
+      f = f + -1 | 0;
+      if (f) {
+       continue;
+      }
+      break;
+     }
+     if ((n | 0) == 1) {
+      g = q[h + 16 >> 2];
+      k = a;
+      while (1) {
+       b = r[g + 20 | 0];
+       q : {
+        r : {
+         if ((b | 0) == 2 | (b | 0) == 254) {
+          break r;
+         }
+         b = r[g + 21 | 0];
+         if ((b | 0) == 254) {
+          break r;
+         }
+         if ((b | 0) != 2) {
+          break q;
+         }
+        }
+        j = q[g + 16 >> 2];
+        if (j & 16) {
+         break q;
+        }
+        b = q[g + 28 >> 2];
+        i = q[c + 412 >> 2];
+        s : {
+         if (!i) {
+          break s;
+         }
+         d = q[c + 2488 >> 2];
+         f = 0 - d | 0;
+         e = y;
+         while (1) {
+          l = b - q[e + 12 >> 2] | 0;
+          if ((l | 0) < (f | 0)) {
+           break s;
+          }
+          if (!((b | 0) > (d + q[e + 8 >> 2] | 0) | ((l | 0) > q[c + 2484 >> 2] ? !r[c + 2492 | 0] : 0))) {
+           l = q[e + 24 >> 2];
+           j = j | 48;
+           q[g + 16 >> 2] = j;
+           q[g + 36 >> 2] = l;
+          }
+          e = e + 32 | 0;
+          i = i + -1 | 0;
+          if (i) {
+           continue;
+          }
+          break;
+         }
+        }
+        i = q[c + 928 >> 2];
+        if (!i) {
+         break q;
+        }
+        d = q[c + 2488 >> 2];
+        f = 0 - d | 0;
+        e = ((i << 5) + c | 0) + 932 | 0;
+        while (1) {
+         l = q[e + -24 >> 2] - b | 0;
+         if ((l | 0) < (f | 0)) {
+          break q;
+         }
+         if (!((b | 0) < (q[e + -20 >> 2] - d | 0) | ((l | 0) >= q[c + 2484 >> 2] ? !r[c + 2492 | 0] : 0))) {
+          l = q[e + -4 >> 2];
+          j = j | 48;
+          q[g + 16 >> 2] = j;
+          q[g + 36 >> 2] = l;
+         }
+         e = e + -32 | 0;
+         i = i + -1 | 0;
+         if (i) {
+          continue;
+         }
+         break;
+        }
+       }
+       g = g + 40 | 0;
+       k = k + -1 | 0;
+       if (k) {
+        continue;
+       }
+       break;
+      }
+     }
+     g = q[(m + q[h + 32 >> 2] | 0) + 200 >> 2];
+     e = q[h + 16 >> 2];
+     while (1) {
+      d = q[e + 24 >> 2];
+      if (d) {
+       b = e;
+       f = q[e + 16 >> 2];
+       j = q[d + 8 >> 2];
+       t : {
+        if (f & 512) {
+         break t;
+        }
+        j = q[d + 12 >> 2] + q[d + 8 >> 2] | 0;
+        if (f & 1024) {
+         break t;
+        }
+        f = q[e + 28 >> 2] - q[d >> 2] | 0;
+        if ((f | 0) <= 0) {
+         j = q[d + 8 >> 2] + Ee(f, g) | 0;
+         break t;
+        }
+        i = q[d + 12 >> 2];
+        j = q[d + 8 >> 2];
+        d = q[d + 4 >> 2];
+        if ((f | 0) >= (d | 0)) {
+         j = Ee(f - d | 0, g) + (i + j | 0) | 0;
+         break t;
+        }
+        j = ue(f, i, d) + j | 0;
+       }
+       q[b + 36 >> 2] = j;
+       q[e + 16 >> 2] = q[e + 16 >> 2] | 32;
+      }
+      e = e + 40 | 0;
+      a = a + -1 | 0;
+      if (a) {
+       continue;
+      }
+      break;
+     }
+     b = q[h + 8 >> 2];
+    }
+    u : {
+     if ((b | 0) < 1) {
+      break u;
+     }
+     d = q[h + 16 >> 2];
+     k = d + w(b, 40) | 0;
+     f = 0;
+     e = d;
+     while (1) {
+      f = (q[e + 16 >> 2] >>> 4 & 1) + f | 0;
+      e = e + 40 | 0;
+      if (e >>> 0 < k >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!f) {
+      break u;
+     }
+     l = q[(m + q[h + 32 >> 2] | 0) + 200 >> 2];
+     B = q[h + 24 >> 2];
+     g = h + 144 | 0;
+     if (f >>> 0 >= 17) {
+      g = Te(B, 4, 0, f, 0, h + 140 | 0);
+      if (q[h + 140 >> 2]) {
+       break u;
+      }
+     }
+     j = 0;
+     a = d;
+     while (1) {
+      if (r[a + 16 | 0] & 16) {
+       e = (j << 2) + g | 0;
+       v : {
+        if ((j | 0) < 1) {
+         f = e;
+         break v;
+        }
+        b = q[a + 28 >> 2];
+        while (1) {
+         f = e + -4 | 0;
+         i = q[f >> 2];
+         if (q[i + 28 >> 2] <= (b | 0)) {
+          f = e;
+          break v;
+         }
+         q[e >> 2] = i;
+         e = f;
+         if (e >>> 0 > g >>> 0) {
+          continue;
+         }
+         break;
+        }
+       }
+       q[f >> 2] = a;
+       j = j + 1 | 0;
+      }
+      a = a + 40 | 0;
+      if (a >>> 0 < k >>> 0) {
+       continue;
+      }
+      break;
+     }
+     z = ((j << 2) + g | 0) + -4 | 0;
+     while (1) {
+      b = q[d + 16 >> 2];
+      w : {
+       if (b & 16) {
+        break w;
+       }
+       a = q[d + 12 >> 2];
+       if (a & 2) {
+        e = r[d + 20 | 0];
+        if (!(a & 4 | b & 64) | ((e | 0) == 4 | (e | 0) != r[d + 21 | 0])) {
+         break w;
+        }
+        q[d + 12 >> 2] = a & -3;
+       }
+       f = q[d + 28 >> 2];
+       e = 0;
+       b = d;
+       x : {
+        y : {
+         if (j) {
+          z : {
+           while (1) {
+            if (q[q[(e << 2) + g >> 2] + 28 >> 2] > (f | 0)) {
+             break z;
+            }
+            e = e + 1 | 0;
+            if ((j | 0) != (e | 0)) {
+             continue;
+            }
+            break;
+           }
+           e = j;
+          }
+          if (e) {
+           break y;
+          }
+         }
+         a = q[g >> 2];
+         A = q[a + 36 >> 2] + Ee(f - q[a + 28 >> 2] | 0, l) | 0;
+         break x;
+        }
+        e = q[((e << 2) + g | 0) + -4 >> 2];
+        i = j;
+        while (1) {
+         a = i;
+         if (a) {
+          i = a + -1 | 0;
+          if (q[q[(i << 2) + g >> 2] + 28 >> 2] >= (f | 0)) {
+           continue;
+          }
+         }
+         break;
+        }
+        if ((a | 0) == (j | 0)) {
+         a = q[z >> 2];
+         A = q[a + 36 >> 2] + Ee(f - q[a + 28 >> 2] | 0, l) | 0;
+         break x;
+        }
+        i = q[e + 28 >> 2];
+        A = q[e + 36 >> 2];
+        if ((i | 0) == (f | 0)) {
+         break x;
+        }
+        a = q[(a << 2) + g >> 2];
+        A = q[a + 28 >> 2];
+        if ((A | 0) == (f | 0)) {
+         A = q[a + 36 >> 2];
+         break x;
+        }
+        C = q[a + 36 >> 2];
+        a = q[e + 36 >> 2];
+        A = ue(f - i | 0, C - a | 0, A - i | 0) + a | 0;
+       }
+       q[b + 36 >> 2] = A;
+       q[d + 16 >> 2] = q[d + 16 >> 2] | 32;
+      }
+      d = d + 40 | 0;
+      if (d >>> 0 < k >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if ((h + 144 | 0) == (g | 0)) {
+      break u;
+     }
+     Qe(B, g);
+    }
+    a = q[h + 12 >> 2];
+    if (a) {
+     b = m + q[h + 32 >> 2] | 0;
+     z = q[b + 200 >> 2];
+     A = q[b + 204 >> 2];
+     B = q[h + 20 >> 2];
+     while (1) {
+      b = q[B + 4 >> 2];
+      A : {
+       if ((b | 0) < 1) {
+        break A;
+       }
+       f = q[B >> 2];
+       b = f + w(b, 40) | 0;
+       g = 0;
+       e = f;
+       d = 0;
+       while (1) {
+        i = q[e + 16 >> 2] & 32;
+        d = i ? d ? d : e : d;
+        g = (i >>> 5 | 0) + g | 0;
+        e = e + 40 | 0;
+        if (e >>> 0 < b >>> 0) {
+         continue;
+        }
+        break;
+       }
+       e = d;
+       if (g >>> 0 <= 1) {
+        if ((g | 0) == 1) {
+         A = q[d + 36 >> 2] - Ee(q[d + 28 >> 2], z) | 0;
+        }
+        while (1) {
+         if ((d | 0) != (f | 0)) {
+          D = f, E = Ee(q[f + 28 >> 2], z) + A | 0, q[D + 36 >> 2] = E;
+         }
+         f = f + 40 | 0;
+         if (f >>> 0 < b >>> 0) {
+          continue;
+         }
+         break;
+        }
+        break A;
+       }
+       while (1) {
+        g = e;
+        e = q[e + 4 >> 2];
+        if ((d | 0) == (e | 0)) {
+         break A;
+        }
+        f = e;
+        if (r[e + 16 | 0] & 32) {
+         continue;
+        }
+        while (1) {
+         f = q[f + 4 >> 2];
+         if (!(r[f + 16 | 0] & 32)) {
+          continue;
+         }
+         break;
+        }
+        j = q[g + 28 >> 2];
+        i = q[f + 28 >> 2];
+        B : {
+         if ((j | 0) <= (i | 0)) {
+          b = i - j | 0;
+          m = q[g + 36 >> 2];
+          i = f;
+          break B;
+         }
+         b = j - i | 0;
+         j = i;
+         m = q[f + 36 >> 2];
+         i = g;
+        }
+        i = q[i + 36 >> 2] - m | 0;
+        C : {
+         if ((b | 0) < 1) {
+          k = 65536;
+          break C;
+         }
+         k = Fe(i, b);
+         e = q[g + 4 >> 2];
+        }
+        l = i + m | 0;
+        while (1) {
+         g = q[e + 28 >> 2] - j | 0;
+         D : {
+          E : {
+           if ((g | 0) <= 0) {
+            i = Ee(g, z);
+            break E;
+           }
+           if ((g | 0) >= (b | 0)) {
+            i = l;
+            g = Ee(g - b | 0, z);
+            break D;
+           }
+           i = Ee(g, k);
+          }
+          g = m;
+         }
+         q[e + 36 >> 2] = g + i;
+         e = q[e + 4 >> 2];
+         if ((f | 0) != (e | 0)) {
+          continue;
+         }
+         break;
+        }
+        e = f;
+        if ((d | 0) != (e | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      B = B + 8 | 0;
+      a = a + -1 | 0;
+      if (a) {
+       continue;
+      }
+      break;
+     }
+    }
+    i = q[h + 8 >> 2];
+    if (i) {
+     a = q[h + 28 >> 2];
+     b = q[a + 8 >> 2];
+     a = q[a + 4 >> 2];
+     d = n ? 64 : 32;
+     f = 0;
+     e = q[h + 16 >> 2];
+     while (1) {
+      g = a + (f << 3) | 0;
+      q[(n ? g + 4 | 0 : g) >> 2] = q[e + 36 >> 2];
+      if (r[e + 16 | 0] & 16) {
+       g = b + f | 0;
+       o[g | 0] = d | r[g | 0];
+       i = q[h + 8 >> 2];
+      }
+      e = e + 40 | 0;
+      f = f + 1 | 0;
+      if (f >>> 0 < i >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (!u) {
+     gI(q[h + 32 >> 2], v, x, 0, 0);
+    }
+    f = 0;
+    e = 1;
+    if (!n) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = q[h + 24 >> 2];
+  Qe(a, q[h + 100 >> 2]);
+  q[h + 104 >> 2] = 0;
+  q[h + 96 >> 2] = 0;
+  q[h + 100 >> 2] = 0;
+  b = h + 88 | 0;
+  Qe(a, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = h + 84 | 0;
+  Qe(a, q[b >> 2]);
+  q[b >> 2] = 0;
+  q[h + 92 >> 2] = 0;
+  q[h + 76 >> 2] = 0;
+  q[h + 80 >> 2] = 0;
+  Qe(a, q[h + 60 >> 2]);
+  q[h - -64 >> 2] = 0;
+  q[h + 56 >> 2] = 0;
+  q[h + 60 >> 2] = 0;
+  b = h + 48 | 0;
+  Qe(a, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = h + 44 | 0;
+  Qe(a, q[b >> 2]);
+  q[b >> 2] = 0;
+  q[h + 52 >> 2] = 0;
+  q[h + 36 >> 2] = 0;
+  q[h + 40 >> 2] = 0;
+  Qe(a, q[h + 16 >> 2]);
+  q[h + 16 >> 2] = 0;
+  Qe(a, q[h + 20 >> 2]);
+  q[h + 8 >> 2] = 0;
+  q[h + 12 >> 2] = 0;
+  q[h + 20 >> 2] = 0;
+  q[h + 24 >> 2] = 0;
+ }
+ Ca = h + 208 | 0;
+ return f | 0;
+}
+function Mn(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, u = 0, v = 0, x = 0;
+ c = q[a + 4 >> 2];
+ k = q[a + 52 >> 2];
+ u = 2;
+ a : {
+  if (t[a + 20 >> 2] < 28) {
+   break a;
+  }
+  x = a + 8 | 0;
+  tn(x);
+  b = q[a >> 2] + -7 | 0;
+  if (b >>> 0 > 3) {
+   return -31;
+  }
+  b : {
+   c : {
+    switch (b - 1 | 0) {
+    default:
+     b = 0;
+     break b;
+    case 0:
+     b = 1;
+     break b;
+    case 1:
+     b = 2;
+     break b;
+    case 2:
+     break c;
+    }
+   }
+   b = 3;
+  }
+  while (1) {
+   d : {
+    e : {
+     f : {
+      g : {
+       h : {
+        i : {
+         switch (b | 0) {
+         case 0:
+          j : {
+           k : {
+            e = q[a + 20 >> 2];
+            if (e >>> 0 < 28) {
+             break k;
+            }
+            n = q[a + 196 >> 2];
+            if (n) {
+             break j;
+            }
+            while (1) {
+             Vn(a);
+             e = q[a + 20 >> 2];
+             if (e >>> 0 < 28) {
+              break k;
+             }
+             n = q[a + 196 >> 2];
+             if (!n) {
+              continue;
+             }
+             break;
+            }
+            break j;
+           }
+           q[a >> 2] = 7;
+           break a;
+          }
+          c = q[a + 8 >> 2];
+          h = q[a + 104 >> 2];
+          b = q[a + 12 >> 2];
+          if (b >>> 0 >= 16) {
+           b = b ^ 16;
+           q[a + 12 >> 2] = b;
+           d = c >>> 16 | 0;
+           q[a + 8 >> 2] = d;
+           f = a + 16 | 0;
+           g = q[f >> 2];
+           c = r[g | 0] | r[g + 1 | 0] << 8;
+           e = e + -2 | 0;
+           q[a + 20 >> 2] = e;
+           q[f >> 2] = g + 2;
+           c = d | c << 16;
+           q[a + 8 >> 2] = c;
+          }
+          f = a;
+          g = c >>> b | 0;
+          i = h + ((g & 255) << 2) | 0;
+          d = r[i | 0];
+          if (d >>> 0 >= 9) {
+           b = b + 8 | 0;
+           q[a + 12 >> 2] = b;
+           i = (s[i + 2 >> 1] + (q[(d << 2) + 153248 >> 2] & g >>> 8) << 2) + i | 0;
+           d = r[i | 0];
+          }
+          d = (d & 255) + b | 0;
+          q[f + 12 >> 2] = d;
+          f = s[i + 2 >> 1] << 3;
+          b = r[f + 155475 | 0];
+          q[a + 180 >> 2] = b;
+          q[a + 268 >> 2] = o[f + 155474 | 0];
+          o[a + 260 | 0] = r[b + q[a + 116 >> 2] | 0];
+          h = f + 155476 | 0;
+          g = f + 155478 | 0;
+          i = r[f + 155473 | 0];
+          m = 0;
+          l = r[f + 155472 | 0];
+          l : {
+           if (!l) {
+            b = d;
+            break l;
+           }
+           if (l >>> 0 <= 16) {
+            if (d >>> 0 >= 16) {
+             d = d ^ 16;
+             q[a + 12 >> 2] = d;
+             f = c >>> 16 | 0;
+             q[a + 8 >> 2] = f;
+             b = a + 16 | 0;
+             j = q[b >> 2];
+             c = r[j | 0] | r[j + 1 | 0] << 8;
+             e = e + -2 | 0;
+             q[a + 20 >> 2] = e;
+             q[b >> 2] = j + 2;
+             c = f | c << 16;
+             q[a + 8 >> 2] = c;
+            }
+            b = d + l | 0;
+            q[a + 12 >> 2] = b;
+            m = q[(l << 2) + 153280 >> 2] & c >>> d;
+            break l;
+           }
+           m : {
+            n : {
+             if (d >>> 0 <= 15) {
+              m = d + 16 | 0;
+              q[a + 12 >> 2] = m;
+              d = c >>> d & 65535;
+              b = q[a + 16 >> 2];
+              break n;
+             }
+             j = d ^ 16;
+             q[a + 12 >> 2] = j;
+             f = c >>> 16 | 0;
+             q[a + 8 >> 2] = f;
+             b = a + 16 | 0;
+             d = q[b >> 2];
+             c = r[d | 0] | r[d + 1 | 0] << 8;
+             e = e + -2 | 0;
+             q[a + 20 >> 2] = e;
+             v = b;
+             b = d + 2 | 0;
+             q[v >> 2] = b;
+             m = j + 16 | 0;
+             q[a + 12 >> 2] = m;
+             c = f | c << 16;
+             q[a + 8 >> 2] = c;
+             d = c >>> j & 65535;
+             if (j >>> 0 > 4294967279) {
+              break m;
+             }
+            }
+            m = m ^ 16;
+            q[a + 12 >> 2] = m;
+            f = c >>> 16 | 0;
+            q[a + 8 >> 2] = f;
+            c = r[b | 0] | r[b + 1 | 0] << 8;
+            e = e + -2 | 0;
+            q[a + 20 >> 2] = e;
+            q[a + 16 >> 2] = b + 2;
+            c = f | c << 16;
+            q[a + 8 >> 2] = c;
+           }
+           f = l + -16 | 0;
+           b = f + m | 0;
+           q[a + 12 >> 2] = b;
+           m = (q[(f << 2) + 153280 >> 2] & c >>> m) << 16 | d;
+          }
+          h = s[h >> 1];
+          g = s[g >> 1];
+          o : {
+           if (i >>> 0 <= 16) {
+            if (b >>> 0 >= 16) {
+             b = b ^ 16;
+             q[a + 12 >> 2] = b;
+             d = c >>> 16 | 0;
+             q[a + 8 >> 2] = d;
+             f = a + 16 | 0;
+             j = q[f >> 2];
+             c = r[j | 0] | r[j + 1 | 0] << 8;
+             q[a + 20 >> 2] = e + -2;
+             q[f >> 2] = j + 2;
+             c = d | c << 16;
+             q[a + 8 >> 2] = c;
+            }
+            q[a + 12 >> 2] = b + i;
+            c = q[(i << 2) + 153280 >> 2] & c >>> b;
+            break o;
+           }
+           p : {
+            q : {
+             if (b >>> 0 <= 15) {
+              d = b + 16 | 0;
+              q[a + 12 >> 2] = d;
+              j = c >>> b & 65535;
+              b = q[a + 16 >> 2];
+              break q;
+             }
+             l = b ^ 16;
+             q[a + 12 >> 2] = l;
+             f = c >>> 16 | 0;
+             q[a + 8 >> 2] = f;
+             b = a + 16 | 0;
+             d = q[b >> 2];
+             c = r[d | 0] | r[d + 1 | 0] << 8;
+             e = e + -2 | 0;
+             q[a + 20 >> 2] = e;
+             v = b;
+             b = d + 2 | 0;
+             q[v >> 2] = b;
+             d = l + 16 | 0;
+             q[a + 12 >> 2] = d;
+             c = f | c << 16;
+             q[a + 8 >> 2] = c;
+             j = c >>> l & 65535;
+             if (l >>> 0 > 4294967279) {
+              break p;
+             }
+            }
+            d = d ^ 16;
+            q[a + 12 >> 2] = d;
+            f = c >>> 16 | 0;
+            q[a + 8 >> 2] = f;
+            c = r[b | 0] | r[b + 1 | 0] << 8;
+            q[a + 20 >> 2] = e + -2;
+            q[a + 16 >> 2] = b + 2;
+            c = f | c << 16;
+            q[a + 8 >> 2] = c;
+           }
+           b = i + -16 | 0;
+           q[a + 12 >> 2] = b + d;
+           c = (q[(b << 2) + 153280 >> 2] & c >>> d) << 16 | j;
+          }
+          q[a + 196 >> 2] = n + -1;
+          q[a + 264 >> 2] = c + g;
+          c = h + m | 0;
+          if (!c) {
+           break h;
+          }
+          q[a + 184 >> 2] = q[a + 184 >> 2] - c;
+          b = 1;
+          continue;
+         case 2:
+          break f;
+         case 1:
+          break i;
+         default:
+          break g;
+         }
+        }
+        b = q[a + 176 >> 2];
+        while (1) {
+         r : {
+          s : {
+           t : {
+            if (b) {
+             f = c;
+             e = k;
+             break t;
+            }
+            e = q[a + 96 >> 2];
+            f = q[a + 68 >> 2];
+            b = r[e + (f & k + -2) | 0];
+            d = r[e + (f & k + -1) | 0];
+            f = c;
+            e = k;
+            while (1) {
+             if (t[a + 20 >> 2] <= 27) {
+              q[a >> 2] = 8;
+              c = f;
+              k = e;
+              break a;
+             }
+             if (!q[a + 192 >> 2]) {
+              Wn(a);
+              if (q[a + 176 >> 2]) {
+               break t;
+              }
+             }
+             g = b & 255;
+             b = q[a + 108 >> 2];
+             l = q[q[a + 120 >> 2] + (r[q[a + 112 >> 2] + (r[(g + b | 0) + 256 | 0] | r[b + (d & 255) | 0]) | 0] << 2) >> 2];
+             i = q[a + 8 >> 2];
+             b = q[a + 12 >> 2];
+             if (b >>> 0 >= 16) {
+              b = b ^ 16;
+              q[a + 12 >> 2] = b;
+              h = i >>> 16 | 0;
+              q[a + 8 >> 2] = h;
+              j = q[a + 16 >> 2];
+              g = r[j | 0] | r[j + 1 | 0] << 8;
+              q[a + 20 >> 2] = q[a + 20 >> 2] + -2;
+              q[a + 16 >> 2] = j + 2;
+              i = h | g << 16;
+              q[a + 8 >> 2] = i;
+             }
+             g = a;
+             j = i >>> b | 0;
+             i = l + ((j & 255) << 2) | 0;
+             h = r[i | 0];
+             if (h >>> 0 >= 9) {
+              b = b + 8 | 0;
+              q[a + 12 >> 2] = b;
+              i = (s[i + 2 >> 1] + (q[(h << 2) + 153248 >> 2] & j >>> 8) << 2) + i | 0;
+              h = r[i | 0];
+             }
+             q[g + 12 >> 2] = (h & 255) + b;
+             g = s[i + 2 >> 1];
+             o[q[a + 96 >> 2] + e | 0] = g;
+             q[a + 192 >> 2] = q[a + 192 >> 2] + -1;
+             e = e + 1 | 0;
+             if ((e | 0) == q[a + 64 >> 2]) {
+              q[a >> 2] = 13;
+              c = f + -1 | 0;
+              u = 1;
+              k = e;
+              break a;
+             }
+             b = d;
+             d = g;
+             f = f + -1 | 0;
+             if (f) {
+              continue;
+             }
+             break;
+            }
+            f = c;
+            e = k;
+            break s;
+           }
+           k = q[a + 8 >> 2];
+           d = q[a + 256 >> 2];
+           c = q[a + 12 >> 2];
+           if (c >>> 0 >= 16) {
+            c = c ^ 16;
+            q[a + 12 >> 2] = c;
+            b = k >>> 16 | 0;
+            q[a + 8 >> 2] = b;
+            g = q[a + 16 >> 2];
+            k = r[g | 0] | r[g + 1 | 0] << 8;
+            q[a + 20 >> 2] = q[a + 20 >> 2] + -2;
+            q[a + 16 >> 2] = g + 2;
+            k = b | k << 16;
+            q[a + 8 >> 2] = k;
+           }
+           k = d + ((k >>> c & 255) << 2) | 0;
+           b = s[k + 2 >> 1];
+           i = r[k | 0];
+           c = f;
+           k = e;
+           while (1) {
+            if (t[a + 20 >> 2] <= 27) {
+             q[a >> 2] = 8;
+             break a;
+            }
+            u : {
+             if (q[a + 192 >> 2]) {
+              d = q[a + 12 >> 2];
+              m = q[a + 256 >> 2];
+              break u;
+             }
+             Wn(a);
+             b = q[a + 8 >> 2];
+             m = q[a + 256 >> 2];
+             d = q[a + 12 >> 2];
+             if (d >>> 0 >= 16) {
+              d = d ^ 16;
+              q[a + 12 >> 2] = d;
+              g = b >>> 16 | 0;
+              q[a + 8 >> 2] = g;
+              h = q[a + 16 >> 2];
+              b = r[h | 0] | r[h + 1 | 0] << 8;
+              q[a + 20 >> 2] = q[a + 20 >> 2] + -2;
+              q[a + 16 >> 2] = h + 2;
+              b = g | b << 16;
+              q[a + 8 >> 2] = b;
+             }
+             if (!q[a + 176 >> 2]) {
+              break r;
+             }
+             g = ((b >>> d & 255) << 2) + m | 0;
+             b = s[g + 2 >> 1];
+             i = r[g | 0];
+            }
+            n = b & 65535;
+            j = i & 255;
+            v : {
+             if (j >>> 0 >= 9) {
+              i = q[x >> 2];
+              if (d >>> 0 >= 16) {
+               d = d ^ 16;
+               q[a + 12 >> 2] = d;
+               g = i >>> 16 | 0;
+               q[a + 8 >> 2] = g;
+               h = q[a + 16 >> 2];
+               b = r[h | 0] | r[h + 1 | 0] << 8;
+               q[a + 20 >> 2] = q[a + 20 >> 2] + -2;
+               q[a + 16 >> 2] = h + 2;
+               i = g | b << 16;
+               q[a + 8 >> 2] = i;
+              }
+              g = d;
+              b = i >>> d | 0;
+              d = ((((b & 255) << 2) + m | 0) + (n << 2) | 0) + ((q[(j << 2) + 153248 >> 2] & b >>> 8) << 2) | 0;
+              b = (g + r[d | 0] | 0) + 8 | 0;
+              q[a + 12 >> 2] = b;
+              n = s[d + 2 >> 1];
+              break v;
+             }
+             b = d + j | 0;
+             q[a + 12 >> 2] = b;
+             i = q[a + 8 >> 2];
+            }
+            if (b >>> 0 >= 16) {
+             b = b ^ 16;
+             q[a + 12 >> 2] = b;
+             g = i >>> 16 | 0;
+             q[a + 8 >> 2] = g;
+             h = q[a + 16 >> 2];
+             d = r[h | 0] | r[h + 1 | 0] << 8;
+             q[a + 20 >> 2] = q[a + 20 >> 2] + -2;
+             q[a + 16 >> 2] = h + 2;
+             i = g | d << 16;
+             q[a + 8 >> 2] = i;
+            }
+            d = ((i >>> b & 255) << 2) + m | 0;
+            b = s[d + 2 >> 1];
+            i = r[d | 0];
+            o[q[a + 96 >> 2] + k | 0] = n;
+            q[a + 192 >> 2] = q[a + 192 >> 2] + -1;
+            k = k + 1 | 0;
+            if ((k | 0) == q[a + 64 >> 2]) {
+             q[a >> 2] = 13;
+             c = c + -1 | 0;
+             u = 1;
+             break a;
+            }
+            c = c + -1 | 0;
+            if (c) {
+             continue;
+            }
+            break;
+           }
+          }
+          k = f + e | 0;
+          c = 0;
+          if (q[a + 184 >> 2] > 0) {
+           break h;
+          }
+          q[a >> 2] = 14;
+          u = 1;
+          break a;
+         }
+         b = 0;
+         continue;
+        }
+       }
+       b = 2;
+       continue;
+      }
+      i = q[a + 64 >> 2] - k | 0;
+      w : {
+       x : {
+        while (1) {
+         b = c + -1 | 0;
+         if ((c | 0) < 1) {
+          break x;
+         }
+         c = q[a + 96 >> 2];
+         o[c + k | 0] = r[c + (q[a + 68 >> 2] & k - q[a + 268 >> 2]) | 0];
+         k = k + 1 | 0;
+         c = b;
+         i = i + -1 | 0;
+         if (i) {
+          continue;
+         }
+         break;
+        }
+        q[a >> 2] = 16;
+        break w;
+       }
+       if (q[a + 184 >> 2] > 0) {
+        c = b;
+        break e;
+       }
+       q[a >> 2] = 14;
+      }
+      u = 1;
+      c = b;
+      break a;
+     }
+     c = q[a + 268 >> 2];
+     y : {
+      if ((c | 0) >= 0) {
+       e = !c;
+       q[a + 180 >> 2] = e;
+       c = q[a + 72 >> 2] + -1 | 0;
+       q[a + 72 >> 2] = c;
+       b = q[(((c & 3) << 2) + a | 0) + 76 >> 2];
+       q[a + 268 >> 2] = b;
+       break y;
+      }
+      if (!q[a + 200 >> 2]) {
+       Xn(a);
+      }
+      h = q[q[a + 152 >> 2] + (r[a + 260 | 0] << 2) >> 2];
+      b = q[a + 8 >> 2];
+      c = q[a + 12 >> 2];
+      if (c >>> 0 >= 16) {
+       c = c ^ 16;
+       q[a + 12 >> 2] = c;
+       f = b >>> 16 | 0;
+       q[a + 8 >> 2] = f;
+       e = a + 16 | 0;
+       d = q[e >> 2];
+       b = r[d | 0] | r[d + 1 | 0] << 8;
+       q[a + 20 >> 2] = q[a + 20 >> 2] + -2;
+       q[e >> 2] = d + 2;
+       b = f | b << 16;
+       q[a + 8 >> 2] = b;
+      }
+      e = a;
+      g = b >>> c | 0;
+      d = g & 255;
+      i = h + (d << 2) | 0;
+      f = r[i | 0];
+      if (f >>> 0 >= 9) {
+       c = c + 8 | 0;
+       q[a + 12 >> 2] = c;
+       i = (s[(h + (d << 2) | 0) + 2 >> 1] + (q[(f << 2) + 153248 >> 2] & g >>> 8) << 2) + i | 0;
+       f = r[i | 0];
+      }
+      d = e;
+      e = (f & 255) + c | 0;
+      q[d + 12 >> 2] = e;
+      l = s[i + 2 >> 1];
+      q[a + 180 >> 2] = 0;
+      q[a + 200 >> 2] = q[a + 200 >> 2] + -1;
+      c = a;
+      z : {
+       if (l >>> 0 <= 15) {
+        q[a + 268 >> 2] = l;
+        if (l >>> 0 <= 3) {
+         e = 1 >>> l | 0;
+         q[a + 180 >> 2] = e;
+         c = q[a + 72 >> 2];
+         b = q[(((c + (l ^ -1) & 3) << 2) + a | 0) + 76 >> 2];
+         q[a + 268 >> 2] = b;
+         q[a + 72 >> 2] = c - e;
+         break y;
+        }
+        b = l >>> 0 < 10;
+        b = ((6312258 >>> (l + (b ? -4 : -10) << 2) & 15) + q[(((q[a + 72 >> 2] + (b ? 3 : 2) & 3) << 2) + a | 0) + 76 >> 2] | 0) + -3 | 0;
+        b = (b | 0) < 1 ? 2147483647 : b;
+        break z;
+       }
+       j = r[l + (a + 624 | 0) | 0];
+       A : {
+        if (j >>> 0 <= 16) {
+         if (e >>> 0 >= 16) {
+          e = e ^ 16;
+          q[a + 12 >> 2] = e;
+          d = b >>> 16 | 0;
+          q[a + 8 >> 2] = d;
+          f = a + 16 | 0;
+          g = q[f >> 2];
+          b = r[g | 0] | r[g + 1 | 0] << 8;
+          q[a + 20 >> 2] = q[a + 20 >> 2] + -2;
+          q[f >> 2] = g + 2;
+          b = d | b << 16;
+          q[a + 8 >> 2] = b;
+         }
+         q[a + 12 >> 2] = e + j;
+         b = q[(j << 2) + 153280 >> 2] & b >>> e;
+         break A;
+        }
+        B : {
+         C : {
+          if (e >>> 0 <= 15) {
+           d = e + 16 | 0;
+           q[a + 12 >> 2] = d;
+           n = b >>> e & 65535;
+           e = q[a + 16 >> 2];
+           f = q[a + 20 >> 2];
+           break C;
+          }
+          h = e ^ 16;
+          q[a + 12 >> 2] = h;
+          g = b >>> 16 | 0;
+          q[a + 8 >> 2] = g;
+          e = a + 16 | 0;
+          d = q[e >> 2];
+          b = r[d | 0] | r[d + 1 | 0] << 8;
+          f = q[a + 20 >> 2] + -2 | 0;
+          q[a + 20 >> 2] = f;
+          v = e;
+          e = d + 2 | 0;
+          q[v >> 2] = e;
+          d = h + 16 | 0;
+          q[a + 12 >> 2] = d;
+          b = g | b << 16;
+          q[a + 8 >> 2] = b;
+          n = b >>> h & 65535;
+          if (h >>> 0 > 4294967279) {
+           break B;
+          }
+         }
+         d = d ^ 16;
+         q[a + 12 >> 2] = d;
+         g = b >>> 16 | 0;
+         q[a + 8 >> 2] = g;
+         b = r[e | 0] | r[e + 1 | 0] << 8;
+         q[a + 20 >> 2] = f + -2;
+         q[a + 16 >> 2] = e + 2;
+         b = g | b << 16;
+         q[a + 8 >> 2] = b;
+        }
+        e = j + -16 | 0;
+        q[a + 12 >> 2] = e + d;
+        b = (q[(e << 2) + 153280 >> 2] & b >>> d) << 16 | n;
+       }
+       b = q[((l << 2) + a | 0) + 1168 >> 2] + (b << q[a + 240 >> 2]) | 0;
+      }
+      q[c + 268 >> 2] = b;
+      e = 0;
+     }
+     i = q[a + 60 >> 2];
+     c = q[a + 56 >> 2];
+     if ((i | 0) != (c | 0)) {
+      i = (k | 0) < (c | 0) ? k : c;
+      q[a + 60 >> 2] = i;
+     }
+     c = q[a + 264 >> 2];
+     D : {
+      if ((b | 0) > (i | 0)) {
+       if ((b | 0) > 2147483644) {
+        return -16;
+       }
+       if (c + -4 >>> 0 > 20) {
+        return -12;
+       }
+       d = q[a + 584 >> 2];
+       f = q[(d + (c << 2) | 0) + 32 >> 2];
+       h = r[c + d | 0];
+       q[a + 72 >> 2] = q[a + 72 >> 2] + e;
+       e = q[d + 164 >> 2];
+       if (!e) {
+        return -19;
+       }
+       b = (i ^ -1) + b | 0;
+       g = b >> h;
+       d = q[a + 588 >> 2];
+       if ((g | 0) >= q[d + 12 >> 2]) {
+        return -11;
+       }
+       e = e + (f + w(b & q[(h << 2) + 153280 >> 2], c) | 0) | 0;
+       b = q[a + 96 >> 2] + k | 0;
+       E : {
+        if ((g | 0) == p[d + 24 >> 1]) {
+         Y$(b, e, c);
+         b = c;
+         break E;
+        }
+        b = vn(b, e, c, d, g);
+       }
+       q[a + 184 >> 2] = q[a + 184 >> 2] - b;
+       k = b + k | 0;
+       if ((k | 0) < q[a + 64 >> 2]) {
+        b = k;
+        break D;
+       }
+       q[a >> 2] = 15;
+       u = 1;
+       break a;
+      }
+      d = q[a + 96 >> 2];
+      f = q[a + 68 >> 2];
+      e = q[a + 72 >> 2];
+      q[(((e & 3) << 2) + a | 0) + 76 >> 2] = b;
+      q[a + 72 >> 2] = e + 1;
+      q[a + 184 >> 2] = q[a + 184 >> 2] - c;
+      f = f & k - b;
+      j = f + d | 0;
+      e = r[j | 0] | r[j + 1 | 0] << 8 | (r[j + 2 | 0] << 16 | r[j + 3 | 0] << 24);
+      b = r[j + 4 | 0] | r[j + 5 | 0] << 8 | (r[j + 6 | 0] << 16 | r[j + 7 | 0] << 24);
+      h = d + k | 0;
+      g = r[j + 12 | 0] | r[j + 13 | 0] << 8 | (r[j + 14 | 0] << 16 | r[j + 15 | 0] << 24);
+      d = r[j + 8 | 0] | r[j + 9 | 0] << 8 | (r[j + 10 | 0] << 16 | r[j + 11 | 0] << 24);
+      o[h + 8 | 0] = d;
+      o[h + 9 | 0] = d >>> 8;
+      o[h + 10 | 0] = d >>> 16;
+      o[h + 11 | 0] = d >>> 24;
+      o[h + 12 | 0] = g;
+      o[h + 13 | 0] = g >>> 8;
+      o[h + 14 | 0] = g >>> 16;
+      o[h + 15 | 0] = g >>> 24;
+      o[h | 0] = e;
+      o[h + 1 | 0] = e >>> 8;
+      o[h + 2 | 0] = e >>> 16;
+      o[h + 3 | 0] = e >>> 24;
+      o[h + 4 | 0] = b;
+      o[h + 5 | 0] = b >>> 8;
+      o[h + 6 | 0] = b >>> 16;
+      o[h + 7 | 0] = b >>> 24;
+      b = c + k | 0;
+      e = (b | 0) > (f | 0);
+      f = c + f | 0;
+      if ((f | 0) > (k | 0) ? e : 0) {
+       break d;
+      }
+      e = q[a + 64 >> 2];
+      if ((b | 0) >= (e | 0) | (f | 0) >= (e | 0)) {
+       break d;
+      }
+      if ((c | 0) < 17) {
+       break D;
+      }
+      f = j + 16 | 0;
+      g = h + 16 | 0;
+      if ((c | 0) >= 33) {
+       Y$(g, f, c + -16 | 0);
+       break D;
+      }
+      e = r[f | 0] | r[f + 1 | 0] << 8 | (r[f + 2 | 0] << 16 | r[f + 3 | 0] << 24);
+      k = r[f + 4 | 0] | r[f + 5 | 0] << 8 | (r[f + 6 | 0] << 16 | r[f + 7 | 0] << 24);
+      d = r[f + 12 | 0] | r[f + 13 | 0] << 8 | (r[f + 14 | 0] << 16 | r[f + 15 | 0] << 24);
+      f = r[f + 8 | 0] | r[f + 9 | 0] << 8 | (r[f + 10 | 0] << 16 | r[f + 11 | 0] << 24);
+      o[g + 8 | 0] = f;
+      o[g + 9 | 0] = f >>> 8;
+      o[g + 10 | 0] = f >>> 16;
+      o[g + 11 | 0] = f >>> 24;
+      o[g + 12 | 0] = d;
+      o[g + 13 | 0] = d >>> 8;
+      o[g + 14 | 0] = d >>> 16;
+      o[g + 15 | 0] = d >>> 24;
+      o[g | 0] = e;
+      o[g + 1 | 0] = e >>> 8;
+      o[g + 2 | 0] = e >>> 16;
+      o[g + 3 | 0] = e >>> 24;
+      o[g + 4 | 0] = k;
+      o[g + 5 | 0] = k >>> 8;
+      o[g + 6 | 0] = k >>> 16;
+      o[g + 7 | 0] = k >>> 24;
+     }
+     if (q[a + 184 >> 2] > 0) {
+      k = b;
+      break e;
+     }
+     q[a >> 2] = 14;
+     u = 1;
+     k = b;
+     break a;
+    }
+    b = 0;
+    continue;
+   }
+   b = 3;
+   continue;
+  }
+ }
+ q[a + 4 >> 2] = c;
+ q[a + 52 >> 2] = k;
+ return u;
+}
+function AN(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, u = 0, x = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0;
+ l = Ca - 32 | 0;
+ Ca = l;
+ n = q[b >> 2];
+ f = -1;
+ a : {
+  if (!BN(a, q[b + 4 >> 2])) {
+   break a;
+  }
+  h = q[b + 4 >> 2];
+  b : {
+   if ((h | 0) < 1) {
+    break b;
+   }
+   while (1) {
+    d = q[a + 8 >> 2];
+    f = n + w(c, 336) | 0;
+    q[d + (c << 2) >> 2] = q[f >> 2];
+    c : {
+     d : {
+      if (q[f >> 2] == 10) {
+       break d;
+      }
+      h = q[b + 4 >> 2];
+      if ((h + -1 | 0) == (c | 0)) {
+       break d;
+      }
+      c = c + 1 | 0;
+      break c;
+     }
+     q[l + 4 >> 2] = q[a + 28 >> 2];
+     f = d;
+     d = i << 2;
+     e = (c - i | 0) + 1 | 0;
+     eN(f + d | 0, e, d + q[a + 12 >> 2] | 0);
+     fN(d + q[a + 8 >> 2] | 0, e, d + q[a + 12 >> 2] | 0, d + q[a + 16 >> 2] | 0);
+     f = -1;
+     if (!lN(d + q[a + 12 >> 2] | 0, d + q[a + 16 >> 2] | 0, e, l + 4 | 0, q[a + 20 >> 2] + i | 0)) {
+      break a;
+     }
+     h = q[b + 4 >> 2];
+     c = c + 1 | 0;
+     i = c;
+    }
+    if ((c | 0) < (h | 0)) {
+     continue;
+    }
+    break;
+   }
+   if ((h | 0) < 1) {
+    break b;
+   }
+   d = q[a + 20 >> 2];
+   c = 0;
+   while (1) {
+    f = n + w(c, 336) | 0;
+    q[f + 312 >> 2] = q[f + 312 >> 2] + o[c + d | 0];
+    c = c + 1 | 0;
+    if ((h | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = q[a >> 2];
+  e : {
+   if (c >>> 0 > 1) {
+    break e;
+   }
+   if (c - 1) {
+    d = N$(1, h);
+    pN(q[a + 8 >> 2], h, d);
+    qN(q[a + 12 >> 2], h, q[a + 20 >> 2], d);
+    uN(q[a + 20 >> 2], h, d, q[a + 8 >> 2]);
+    if (h) {
+     c = 0;
+     while (1) {
+      f = n + w(c, 336) | 0;
+      k = q[(q[f + 8 >> 2] + (q[f + 12 >> 2] << 2) | 0) - -64 >> 2];
+      e = q[a + 8 >> 2] + (c << 2) | 0;
+      q[f >> 2] = q[e >> 2];
+      D = f, E = xf(k, JL(k, q[e >> 2])), q[D + 16 >> 2] = E;
+      c = c + 1 | 0;
+      if ((h | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    M$(d);
+    c = 0;
+    d = q[b + 4 >> 2];
+    f = 0;
+    if ((d | 0) < 1) {
+     break a;
+    }
+    f = q[b >> 2];
+    while (1) {
+     f : {
+      g : {
+       b = f + w(c, 336) | 0;
+       a = q[b >> 2];
+       if ((a & -4) == 8288) {
+        break g;
+       }
+       if ((a | 0) <= 8202) {
+        if ((a | 0) == 173 | (a | 0) == 847) {
+         break g;
+        }
+        break f;
+       }
+       k = a + -8203 | 0;
+       if (k >>> 0 > 35) {
+        if ((a | 0) != 65279) {
+         break f;
+        }
+        break g;
+       }
+       switch (k - 5 | 0) {
+       case 0:
+       case 1:
+       case 2:
+       case 3:
+       case 4:
+       case 5:
+       case 6:
+       case 7:
+       case 8:
+       case 9:
+       case 10:
+       case 11:
+       case 12:
+       case 13:
+       case 14:
+       case 15:
+       case 16:
+       case 17:
+       case 18:
+       case 19:
+       case 20:
+       case 21:
+       case 22:
+       case 23:
+       case 24:
+       case 25:
+        break f;
+       default:
+        break g;
+       }
+      }
+      q[b >> 2] = 0;
+      q[b + 4 >> 2] = q[b + 4 >> 2] + 1;
+     }
+     c = c + 1 | 0;
+     if ((d | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+    break e;
+   }
+   f = GG();
+   c = 0;
+   q[l + 24 >> 2] = 0;
+   q[l + 16 >> 2] = 0;
+   q[l + 20 >> 2] = 0;
+   q[l + 8 >> 2] = 0;
+   q[l + 12 >> 2] = 0;
+   if (h) {
+    while (1) {
+     q[(n + w(c, 336) | 0) + 4 >> 2] = 1;
+     c = c + 1 | 0;
+     if ((h | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+    B = h + -1 | 0;
+    while (1) {
+     g = n + w(k, 336) | 0;
+     e = q[g + 8 >> 2];
+     c = q[e + 104 >> 2];
+     if (!c) {
+      c = N$(120, 1);
+      q[e + 104 >> 2] = c;
+     }
+     x = g + 8 | 0;
+     i = g + 12 | 0;
+     b = q[g + 12 >> 2];
+     d = b << 2;
+     if (!q[d + c >> 2]) {
+      j = e - -64 | 0;
+      d = _G(q[j + d >> 2]);
+      b = q[i >> 2] << 2;
+      q[b + c >> 2] = d;
+      d = N$(40, 1);
+      q[(b + q[e + 104 >> 2] | 0) + 80 >> 2] = d;
+      d = q[(b + q[e + 104 >> 2] | 0) + 80 >> 2];
+      q[d >> 2] = q[a + 44 >> 2];
+      q[d + 32 >> 2] = q[q[x >> 2] + 12 >> 2];
+      b = vC();
+      q[(q[e + 104 >> 2] + (q[i >> 2] << 2) | 0) + 40 >> 2] = b;
+      lD(b, d);
+      GC(b, d);
+      IC(b, 799, d);
+      MC(b, d);
+      OC(b, 801, d);
+      QC(b, 802, d);
+      SC(b, d);
+      UC(b, 804, d);
+      WC(b, 805, d);
+      d = q[i >> 2] << 2;
+      fD(q[d + c >> 2], b, q[d + j >> 2], 0);
+      b = q[i >> 2];
+     }
+     d = e - -64 | 0;
+     PL(q[(b << 2) + d >> 2], v[g + 24 >> 3]);
+     j = q[i >> 2] << 2;
+     b = q[j + c >> 2];
+     d = q[d + j >> 2];
+     j = s[d + 68 >> 1];
+     m = q[d + 88 >> 2];
+     u = q[m + 16 >> 2];
+     u = T0(j, 0, u, u >> 31);
+     A = (Ea & 65535) << 16 | u >>> 16;
+     m = q[m + 20 >> 2];
+     j = T0(m, m >> 31, j, 0);
+     gD(b, A, (Ea & 65535) << 16 | j >>> 16);
+     d = q[d + 88 >> 2];
+     j = s[d + 12 >> 1];
+     d = s[d + 14 >> 1];
+     if (q[b + 4 >> 2]) {
+      q[b + 52 >> 2] = d;
+      q[b + 48 >> 2] = j;
+     }
+     b = q[e + 104 >> 2];
+     d = q[i >> 2];
+     e = d << 2;
+     b = q[(b + e | 0) + 80 >> 2];
+     q[b + 8 >> 2] = q[x >> 2];
+     q[b + 24 >> 2] = d;
+     d = q[g + 28 >> 2];
+     q[b + 16 >> 2] = q[g + 24 >> 2];
+     q[b + 20 >> 2] = d;
+     b = k >>> 0 > B >>> 0 ? k : B;
+     i = q[g + 312 >> 2];
+     j = q[c + e >> 2];
+     m = r[q[a + 20 >> 2] + k | 0];
+     c = k;
+     while (1) {
+      h : {
+       d = c;
+       if ((b | 0) == (c | 0)) {
+        d = b;
+        break h;
+       }
+       c = d + 1 | 0;
+       if ((i | 0) == q[(n + w(c, 336) | 0) + 312 >> 2]) {
+        continue;
+       }
+      }
+      break;
+     }
+     c = f;
+     b = (d - k | 0) + 1 | 0;
+     i : {
+      if (!b) {
+       break i;
+      }
+      e = b;
+      if (t[c + 84 >> 2] > b >>> 0) {
+       break i;
+      }
+      oG(c, e);
+     }
+     PG(f, q[a + 8 >> 2] + (k << 2) | 0, b, b);
+     q[l + 8 >> 2] = m & 1 ? 5 : 4;
+     b = q[g + 20 >> 2];
+     q[l + 12 >> 2] = b;
+     c = q[a + 40 >> 2];
+     j : {
+      if (c) {
+       break j;
+      }
+      k : {
+       l : {
+        m : {
+         n : {
+          o : {
+           p : {
+            q : {
+             r : {
+              s : {
+               t : {
+                u : {
+                 v : {
+                  w : {
+                   x : {
+                    y : {
+                     z : {
+                      A : {
+                       B : {
+                        C : {
+                         D : {
+                          E : {
+                           F : {
+                            G : {
+                             H : {
+                              I : {
+                               J : {
+                                if ((b | 0) <= 1265134961) {
+                                 if ((b | 0) <= 1165256808) {
+                                  if ((b | 0) <= 1130458738) {
+                                   if ((b | 0) <= 1113943654) {
+                                    c = 436440;
+                                    if ((b | 0) == 1098015074) {
+                                     break l;
+                                    }
+                                    if ((b | 0) != 1098018158) {
+                                     break k;
+                                    }
+                                    c = 436443;
+                                    break l;
+                                   }
+                                   if ((b | 0) == 1113943655) {
+                                    break J;
+                                   }
+                                   if ((b | 0) == 1114990441) {
+                                    break m;
+                                   }
+                                   if ((b | 0) != 1114990692) {
+                                    break k;
+                                   }
+                                   c = 436536;
+                                   break l;
+                                  }
+                                  if ((b | 0) <= 1131376755) {
+                                   if ((b | 0) == 1130458739) {
+                                    break I;
+                                   }
+                                   if ((b | 0) != 1130915186) {
+                                    break k;
+                                   }
+                                   c = 436452;
+                                   break l;
+                                  }
+                                  if ((b | 0) == 1131376756) {
+                                   break H;
+                                  }
+                                  if ((b | 0) == 1132032620) {
+                                   break G;
+                                  }
+                                  if ((b | 0) != 1147500129) {
+                                   break k;
+                                  }
+                                  c = 436463;
+                                  break l;
+                                 }
+                                 if ((b | 0) <= 1214344806) {
+                                  if ((b | 0) <= 1198679402) {
+                                   if ((b | 0) == 1165256809) {
+                                    break t;
+                                   }
+                                   if ((b | 0) != 1197830002) {
+                                    break k;
+                                   }
+                                   c = 436466;
+                                   break l;
+                                  }
+                                  if ((b | 0) == 1198679403) {
+                                   break F;
+                                  }
+                                  if ((b | 0) == 1198877298) {
+                                   break E;
+                                  }
+                                  if ((b | 0) != 1198879349) {
+                                   break k;
+                                  }
+                                  c = 436475;
+                                  break l;
+                                 }
+                                 if ((b | 0) <= 1214870112) {
+                                  c = b + -1214344807 | 0;
+                                  if (c >>> 0 > 8) {
+                                   if ((b | 0) != 1214603890) {
+                                    break k;
+                                   }
+                                   c = 436481;
+                                   break l;
+                                  }
+                                  switch (c - 1 | 0) {
+                                  case 0:
+                                  case 1:
+                                  case 2:
+                                  case 3:
+                                  case 4:
+                                  case 5:
+                                  case 6:
+                                   break k;
+                                  case 7:
+                                   break o;
+                                  default:
+                                   break D;
+                                  }
+                                 }
+                                 if ((b | 0) == 1214870113) {
+                                  break C;
+                                 }
+                                 if ((b | 0) != 1264676449) {
+                                  break k;
+                                 }
+                                 c = 436484;
+                                 break l;
+                                }
+                                if ((b | 0) <= 1400468066) {
+                                 if ((b | 0) <= 1299148390) {
+                                  if ((b | 0) <= 1281453934) {
+                                   if ((b | 0) == 1265134962) {
+                                    break s;
+                                   }
+                                   if ((b | 0) != 1265525857) {
+                                    break k;
+                                   }
+                                   c = 436487;
+                                   break l;
+                                  }
+                                  if ((b | 0) == 1281453935) {
+                                   break B;
+                                  }
+                                  if ((b | 0) == 1281455214) {
+                                   break A;
+                                  }
+                                  if ((b | 0) != 1298954605) {
+                                   break k;
+                                  }
+                                  c = 436496;
+                                  break l;
+                                 }
+                                 if ((b | 0) <= 1332902240) {
+                                  if ((b | 0) == 1299148391) {
+                                   break z;
+                                  }
+                                  if ((b | 0) == 1299803506) {
+                                   break r;
+                                  }
+                                  if ((b | 0) != 1315663727) {
+                                   break k;
+                                  }
+                                  c = 436567;
+                                  break l;
+                                 }
+                                 if ((b | 0) == 1332902241) {
+                                  break y;
+                                 }
+                                 if ((b | 0) == 1399418472) {
+                                  break q;
+                                 }
+                                 if ((b | 0) != 1400466543) {
+                                  break k;
+                                 }
+                                 c = 436563;
+                                 break l;
+                                }
+                                if ((b | 0) <= 1416126816) {
+                                 if ((b | 0) <= 1415671147) {
+                                  if ((b | 0) == 1400468067) {
+                                   break x;
+                                  }
+                                  if ((b | 0) != 1415669602) {
+                                   break k;
+                                  }
+                                  c = 436547;
+                                  break l;
+                                 }
+                                 if ((b | 0) == 1415671148) {
+                                  break w;
+                                 }
+                                 if ((b | 0) == 1415933045) {
+                                  break v;
+                                 }
+                                 if ((b | 0) != 1416064103) {
+                                  break k;
+                                 }
+                                 c = 436544;
+                                 break l;
+                                }
+                                if ((b | 0) <= 1432838513) {
+                                 c = b + -1416126817 | 0;
+                                 if (c >>> 0 > 8) {
+                                  if ((b | 0) != 1416192628) {
+                                   break k;
+                                  }
+                                  c = 436518;
+                                  break l;
+                                 }
+                                 switch (c - 1 | 0) {
+                                 case 0:
+                                 case 1:
+                                 case 2:
+                                 case 3:
+                                 case 4:
+                                 case 5:
+                                 case 6:
+                                  break k;
+                                 case 7:
+                                  break u;
+                                 default:
+                                  break p;
+                                 }
+                                }
+                                if ((b | 0) == 1432838514) {
+                                 break n;
+                                }
+                                if ((b | 0) != 1483761007) {
+                                 break k;
+                                }
+                                c = 436559;
+                                break l;
+                               }
+                               c = 436446;
+                               break l;
+                              }
+                              c = 436449;
+                              break l;
+                             }
+                             c = 436456;
+                             break l;
+                            }
+                            c = 436460;
+                            break l;
+                           }
+                           c = 436469;
+                           break l;
+                          }
+                          c = 436472;
+                          break l;
+                         }
+                         c = 436478;
+                         break l;
+                        }
+                        c = 436484;
+                        break l;
+                       }
+                       c = 436490;
+                       break l;
+                      }
+                      c = 436493;
+                      break l;
+                     }
+                     c = 436499;
+                     break l;
+                    }
+                    c = 436502;
+                    break l;
+                   }
+                   c = 436505;
+                   break l;
+                  }
+                  c = 436509;
+                  break l;
+                 }
+                 c = 436512;
+                 break l;
+                }
+                c = 436515;
+                break l;
+               }
+               c = 436521;
+               break l;
+              }
+              c = 436524;
+              break l;
+             }
+             c = 436527;
+             break l;
+            }
+            c = 436530;
+            break l;
+           }
+           c = 436533;
+           break l;
+          }
+          c = 436540;
+          break l;
+         }
+         c = 436551;
+         break l;
+        }
+        c = 436555;
+       }
+       c = xq(c);
+       if (c) {
+        break j;
+       }
+      }
+      c = zq();
+     }
+     q[l + 16 >> 2] = c;
+     IG(f, l + 8 | 0);
+     i = 0;
+     b = q[a + 36 >> 2];
+     c = q[q[x >> 2] + 12 >> 2] != 0;
+     q[b + 4 >> 2] = c;
+     q[b + 20 >> 2] = c;
+     c = v[g + 288 >> 3] == 0;
+     q[b + 52 >> 2] = c;
+     q[b + 68 >> 2] = c;
+     SG(j, f, q[a + 36 >> 2], q[a + 32 >> 2]);
+     x = q[f + 76 >> 2];
+     j = LG(f, 0);
+     m = MG(f, 0);
+     if ((x | 0) >= 1) {
+      while (1) {
+       e = w(i, 20);
+       g = e + j | 0;
+       u = w(q[g + 8 >> 2] + k | 0, 336);
+       c = u + n | 0;
+       K : {
+        if (q[c + 4 >> 2]) {
+         break K;
+        }
+        while (1) {
+         b = c;
+         c = q[b + 332 >> 2];
+         if (c) {
+          continue;
+         }
+         break;
+        }
+        c = L$(336);
+        q[b + 332 >> 2] = c;
+        if (!c) {
+         c = b;
+         break K;
+        }
+        Y$(c, b, 336);
+        qM(q[b + 8 >> 2]);
+        c = q[b + 332 >> 2];
+        q[c + 332 >> 2] = 0;
+       }
+       q[c + 4 >> 2] = 0;
+       q[c + 16 >> 2] = q[g >> 2];
+       b = c;
+       A = b;
+       p = v[b + 240 >> 3];
+       g = e + m | 0;
+       z = p * +q[g + 8 >> 2];
+       L : {
+        if (y(z) < 2147483648) {
+         e = ~~z;
+         break L;
+        }
+        e = -2147483648;
+       }
+       q[A + 104 >> 2] = e;
+       e = c;
+       z = v[b + 248 >> 3];
+       C = z * +(0 - q[g + 12 >> 2] | 0);
+       M : {
+        if (y(C) < 2147483648) {
+         b = ~~C;
+         break M;
+        }
+        b = -2147483648;
+       }
+       q[e + 108 >> 2] = b;
+       e = c;
+       p = p * +q[g >> 2];
+       N : {
+        if (y(p) < 2147483648) {
+         b = ~~p;
+         break N;
+        }
+        b = -2147483648;
+       }
+       q[e + 132 >> 2] = b;
+       p = z * +(0 - q[g + 4 >> 2] | 0);
+       O : {
+        if (y(p) < 2147483648) {
+         e = ~~p;
+         break O;
+        }
+        e = -2147483648;
+       }
+       q[c + 136 >> 2] = e;
+       c = n + u | 0;
+       g = c + 144 | 0;
+       q[g >> 2] = e + q[g >> 2];
+       q[c + 140 >> 2] = b + q[c + 140 >> 2];
+       i = i + 1 | 0;
+       if ((x | 0) != (i | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     JG(f);
+     k = d + 1 | 0;
+     if (k >>> 0 < h >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   HG(f);
+  }
+  f = 0;
+ }
+ Ca = l + 32 | 0;
+ return f;
+}
+function IT(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = -4;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      if (b >>> 0 >= c >>> 0) {
+       break e;
+      }
+      f : {
+       h = a + 72 | 0;
+       e = r[h + r[b | 0] | 0] + -2 | 0;
+       if (e >>> 0 > 34) {
+        break c;
+       }
+       f = 18;
+       g = 1;
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            l : {
+             m : {
+              n : {
+               o : {
+                p : {
+                 q : {
+                  r : {
+                   s : {
+                    t : {
+                     u : {
+                      v : {
+                       w : {
+                        switch (e - 1 | 0) {
+                        case 9:
+                         return JT(12, a, b + 1 | 0, c, d) | 0;
+                        case 10:
+                         return JT(13, a, b + 1 | 0, c, d) | 0;
+                        default:
+                         e = -1;
+                         f = b + 1 | 0;
+                         if ((c - f | 0) < 1) {
+                          break e;
+                         }
+                         x : {
+                          g = r[r[f | 0] + h | 0];
+                          if (g >>> 0 > 29) {
+                           break x;
+                          }
+                          if (!(1 << g & 557842656)) {
+                           if ((g | 0) != 15) {
+                            if ((g | 0) != 16) {
+                             break x;
+                            }
+                            g = b + 2 | 0;
+                            if ((c - g | 0) < 1) {
+                             break e;
+                            }
+                            f = r[r[g | 0] + h | 0] + -20 | 0;
+                            if (f >>> 0 > 7) {
+                             break g;
+                            }
+                            y : {
+                             switch (f - 1 | 0) {
+                             case 6:
+                              return KT(a, b + 3 | 0, c, d) | 0;
+                             default:
+                              q[d >> 2] = b + 3;
+                              return 33;
+                             case 1:
+                             case 3:
+                              break y;
+                             case 0:
+                             case 2:
+                             case 4:
+                             case 5:
+                              break g;
+                             }
+                            }
+                            b = b + 3 | 0;
+                            f = c - b | 0;
+                            if ((f | 0) <= 0) {
+                             break e;
+                            }
+                            while (1) {
+                             a = r[r[b | 0] + h | 0];
+                             if (a >>> 0 > 30) {
+                              break c;
+                             }
+                             z : {
+                              if (1 << a & 20971520) {
+                               break z;
+                              }
+                              A : {
+                               if (1 << a & 2098688) {
+                                break A;
+                               }
+                               if ((a | 0) != 30) {
+                                break c;
+                               }
+                               if ((f | 0) < 2) {
+                                break e;
+                               }
+                               a = r[r[g + 2 | 0] + h | 0];
+                               if (a >>> 0 > 30 | !(1 << a & 1075840512)) {
+                                break A;
+                               }
+                               break c;
+                              }
+                              q[d >> 2] = b;
+                              return 16;
+                             }
+                             g = b;
+                             b = b + 1 | 0;
+                             f = c - b | 0;
+                             if ((f | 0) > 0) {
+                              continue;
+                             }
+                             break;
+                            }
+                            break e;
+                           }
+                           return LT(a, b + 2 | 0, c, d) | 0;
+                          }
+                          q[d >> 2] = b;
+                          return 29;
+                         }
+                         q[d >> 2] = f;
+                         break b;
+                        case 0:
+                        case 5:
+                        case 11:
+                        case 12:
+                        case 13:
+                        case 14:
+                        case 15:
+                        case 25:
+                        case 26:
+                        case 30:
+                        case 31:
+                         break c;
+                        case 2:
+                         break l;
+                        case 16:
+                         break m;
+                        case 8:
+                         break n;
+                        case 33:
+                         break o;
+                        case 29:
+                         break p;
+                        case 28:
+                         break q;
+                        case 1:
+                         break r;
+                        case 17:
+                         break s;
+                        case 32:
+                         break t;
+                        case 27:
+                         break u;
+                        case 7:
+                        case 18:
+                         break v;
+                        case 6:
+                         break w;
+                        case 19:
+                        case 21:
+                         break h;
+                        case 20:
+                        case 22:
+                        case 23:
+                        case 24:
+                         break i;
+                        case 4:
+                         break j;
+                        case 3:
+                         break k;
+                        }
+                       }
+                       if ((b + 1 | 0) != (c | 0)) {
+                        break v;
+                       }
+                       q[d >> 2] = c;
+                       return -15;
+                      }
+                      e = b + 1 | 0;
+                      if ((c - e | 0) >= 1) {
+                       while (1) {
+                        B : {
+                         a = r[r[b + 1 | 0] + h | 0] + -9 | 0;
+                         C : {
+                          if (a >>> 0 > 12) {
+                           break C;
+                          }
+                          D : {
+                           switch (a - 1 | 0) {
+                           case 0:
+                           case 11:
+                            break B;
+                           case 1:
+                           case 2:
+                           case 3:
+                           case 4:
+                           case 5:
+                           case 6:
+                           case 7:
+                           case 8:
+                           case 9:
+                           case 10:
+                            break C;
+                           default:
+                            break D;
+                           }
+                          }
+                          if ((b + 2 | 0) != (c | 0)) {
+                           break B;
+                          }
+                         }
+                         q[d >> 2] = e;
+                         return 15;
+                        }
+                        b = e;
+                        e = b + 1 | 0;
+                        if ((c - e | 0) > 0) {
+                         continue;
+                        }
+                        break;
+                       }
+                      }
+                      q[d >> 2] = e;
+                      return 15;
+                     }
+                     return MT(a, b + 1 | 0, c, d) | 0;
+                    }
+                    q[d >> 2] = b + 1;
+                    return 38;
+                   }
+                   q[d >> 2] = b + 1;
+                   return 25;
+                  }
+                  a = b + 1 | 0;
+                  c = c - a | 0;
+                  if ((c | 0) < 1) {
+                   return -26;
+                  }
+                  E : {
+                   if (r[a | 0] != 93) {
+                    break E;
+                   }
+                   e = -1;
+                   if ((c | 0) < 2) {
+                    break e;
+                   }
+                   if (r[b + 2 | 0] != 62) {
+                    break E;
+                   }
+                   q[d >> 2] = b + 3;
+                   return 34;
+                  }
+                  q[d >> 2] = a;
+                  return 26;
+                 }
+                 q[d >> 2] = b + 1;
+                 return 23;
+                }
+                a = b + 1 | 0;
+                if ((c - a | 0) < 1) {
+                 return -24;
+                }
+                F : {
+                 c = r[r[a | 0] + h | 0] + -9 | 0;
+                 if (c >>> 0 > 27) {
+                  break F;
+                 }
+                 G : {
+                  switch (c - 3 | 0) {
+                  case 21:
+                   q[d >> 2] = b + 2;
+                   return 36;
+                  case 3:
+                   q[d >> 2] = b + 2;
+                   return 35;
+                  case 22:
+                   q[d >> 2] = b + 2;
+                   return 37;
+                  case 0:
+                  case 1:
+                  case 2:
+                  case 4:
+                  case 5:
+                  case 6:
+                  case 7:
+                  case 8:
+                  case 10:
+                  case 11:
+                  case 12:
+                  case 13:
+                  case 14:
+                  case 15:
+                  case 16:
+                  case 17:
+                  case 18:
+                  case 19:
+                   break F;
+                  default:
+                   break G;
+                  }
+                 }
+                 q[d >> 2] = a;
+                 return 24;
+                }
+                q[d >> 2] = a;
+                break b;
+               }
+               q[d >> 2] = b + 1;
+               return 21;
+              }
+              q[d >> 2] = b + 1;
+              return 17;
+             }
+             g = b + 1 | 0;
+             i = c - g | 0;
+             if ((i | 0) < 1) {
+              return -1;
+             }
+             e = r[r[g | 0] + h | 0] + -5 | 0;
+             H : {
+              if (e >>> 0 > 24) {
+               break H;
+              }
+              f = 2;
+              I : {
+               switch (e - 1 | 0) {
+               default:
+                e = -2;
+                if ((i | 0) < 2) {
+                 break e;
+                }
+                f = 3;
+                if (n[q[a + 340 >> 2]](a, g)) {
+                 break f;
+                }
+                break H;
+               case 0:
+                e = -2;
+                if ((i | 0) < 3) {
+                 break e;
+                }
+                f = 4;
+                if (!n[q[a + 344 >> 2]](a, g)) {
+                 break H;
+                }
+                break f;
+               case 16:
+               case 18:
+                break f;
+               case 2:
+               case 3:
+               case 4:
+               case 5:
+               case 6:
+               case 7:
+               case 8:
+               case 9:
+               case 10:
+               case 11:
+               case 12:
+               case 13:
+               case 14:
+               case 15:
+               case 17:
+               case 19:
+               case 20:
+               case 21:
+               case 22:
+               case 23:
+                break H;
+               case 1:
+                break I;
+               }
+              }
+              e = -2;
+              if ((i | 0) < 4) {
+               break e;
+              }
+              f = 5;
+              if (n[q[a + 348 >> 2]](a, g)) {
+               break f;
+              }
+             }
+             q[d >> 2] = g;
+             break b;
+            }
+            g = 2;
+            e = -2;
+            if ((c - b | 0) < 2) {
+             break e;
+            }
+            if (n[q[a + 340 >> 2]](a, b)) {
+             break h;
+            }
+            f = 19;
+            if (n[q[a + 328 >> 2]](a, b)) {
+             break h;
+            }
+            break c;
+           }
+           g = 3;
+           e = -2;
+           if ((c - b | 0) < 3) {
+            break e;
+           }
+           if (n[q[a + 344 >> 2]](a, b)) {
+            break h;
+           }
+           f = 19;
+           if (!n[q[a + 332 >> 2]](a, b)) {
+            break c;
+           }
+           break h;
+          }
+          g = 4;
+          e = -2;
+          if ((c - b | 0) < 4) {
+           break e;
+          }
+          if (n[q[a + 348 >> 2]](a, b)) {
+           break h;
+          }
+          f = 19;
+          if (!n[q[a + 336 >> 2]](a, b)) {
+           break c;
+          }
+          break h;
+         }
+         f = 19;
+        }
+        b = b + g | 0;
+        g = c - b | 0;
+        if ((g | 0) >= 1) {
+         while (1) {
+          e = b;
+          J : {
+           K : {
+            L : {
+             b = r[r[b | 0] + h | 0] + -5 | 0;
+             if (b >>> 0 > 31) {
+              break L;
+             }
+             M : {
+              switch (b - 1 | 0) {
+              default:
+               if ((g | 0) < 2) {
+                break a;
+               }
+               if (!n[q[a + 328 >> 2]](a, e)) {
+                break L;
+               }
+               b = e + 2 | 0;
+               break J;
+              case 0:
+               if ((g | 0) < 3) {
+                break a;
+               }
+               if (!n[q[a + 332 >> 2]](a, e)) {
+                break L;
+               }
+               b = e + 3 | 0;
+               break J;
+              case 1:
+               if ((g | 0) < 4) {
+                break a;
+               }
+               if (!n[q[a + 336 >> 2]](a, e)) {
+                break L;
+               }
+               b = e + 4 | 0;
+               break J;
+              case 3:
+              case 4:
+              case 5:
+              case 14:
+              case 15:
+              case 24:
+              case 26:
+              case 29:
+              case 30:
+               q[d >> 2] = e;
+               return f | 0;
+              case 17:
+               b = e + 1 | 0;
+               if ((f | 0) != 41) {
+                if ((f | 0) != 18) {
+                 break J;
+                }
+                g = c - b | 0;
+                if ((g | 0) < 1) {
+                 return -1;
+                }
+                f = 19;
+                i = r[r[b | 0] + h | 0] + -5 | 0;
+                if (i >>> 0 > 24) {
+                 break J;
+                }
+                N : {
+                 switch (i - 1 | 0) {
+                 case 16:
+                 case 18:
+                 case 19:
+                 case 20:
+                 case 21:
+                  b = e + 2 | 0;
+                  f = 41;
+                  break J;
+                 default:
+                  if ((g | 0) < 2) {
+                   break a;
+                  }
+                  if (!n[q[a + 328 >> 2]](a, b)) {
+                   break c;
+                  }
+                  b = e + 3 | 0;
+                  f = 41;
+                  break J;
+                 case 0:
+                  if ((g | 0) < 3) {
+                   break a;
+                  }
+                  if (!n[q[a + 332 >> 2]](a, b)) {
+                   break c;
+                  }
+                  b = e + 4 | 0;
+                  f = 41;
+                  break J;
+                 case 23:
+                  break c;
+                 case 2:
+                 case 3:
+                 case 4:
+                 case 5:
+                 case 6:
+                 case 7:
+                 case 8:
+                 case 9:
+                 case 10:
+                 case 11:
+                 case 12:
+                 case 13:
+                 case 14:
+                 case 15:
+                 case 17:
+                 case 22:
+                  break J;
+                 case 1:
+                  break N;
+                 }
+                }
+                if ((g | 0) < 4) {
+                 break a;
+                }
+                O : {
+                 if (n[q[a + 336 >> 2]](a, b)) {
+                  break O;
+                 }
+                 break c;
+                }
+                b = e + 5 | 0;
+                f = 41;
+                break J;
+               }
+               f = 19;
+               break J;
+              case 28:
+               if ((f | 0) == 19) {
+                break L;
+               }
+               q[d >> 2] = e + 1;
+               return 32;
+              case 27:
+               if ((f | 0) == 19) {
+                break L;
+               }
+               q[d >> 2] = e + 1;
+               return 31;
+              case 16:
+              case 18:
+              case 19:
+              case 20:
+              case 21:
+               break K;
+              case 2:
+              case 6:
+              case 7:
+              case 8:
+              case 10:
+              case 11:
+              case 12:
+              case 13:
+              case 22:
+              case 23:
+              case 25:
+               break L;
+              case 9:
+               break M;
+              }
+             }
+             if ((f | 0) == 19) {
+              break L;
+             }
+             q[d >> 2] = e + 1;
+             return 30;
+            }
+            q[d >> 2] = e;
+            break b;
+           }
+           b = e + 1 | 0;
+          }
+          g = c - b | 0;
+          if ((g | 0) > 0) {
+           continue;
+          }
+          break;
+         }
+        }
+        e = 0 - f | 0;
+        break e;
+       }
+       q[d >> 2] = g;
+       break b;
+      }
+      e = -20;
+      b = b + f | 0;
+      f = c - b | 0;
+      if ((f | 0) < 1) {
+       break e;
+      }
+      while (1) {
+       i = r[r[b | 0] + h | 0] + -5 | 0;
+       if (i >>> 0 > 31) {
+        break d;
+       }
+       g = 1;
+       P : {
+        Q : {
+         R : {
+          switch (i - 1 | 0) {
+          default:
+           if ((f | 0) < 2) {
+            break a;
+           }
+           g = 2;
+           if (n[q[a + 328 >> 2]](a, b)) {
+            break Q;
+           }
+           break d;
+          case 0:
+           if ((f | 0) < 3) {
+            break a;
+           }
+           g = 3;
+           if (!n[q[a + 332 >> 2]](a, b)) {
+            break d;
+           }
+           break Q;
+          case 2:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+          case 17:
+          case 22:
+          case 23:
+          case 25:
+          case 27:
+          case 28:
+          case 29:
+           break d;
+          case 3:
+          case 4:
+          case 5:
+          case 15:
+          case 24:
+          case 26:
+          case 30:
+           break P;
+          case 16:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+           break Q;
+          case 1:
+           break R;
+          }
+         }
+         if ((f | 0) < 4) {
+          break a;
+         }
+         g = 4;
+         if (!n[q[a + 336 >> 2]](a, b)) {
+          break d;
+         }
+        }
+        b = b + g | 0;
+        f = c - b | 0;
+        if ((f | 0) > 0) {
+         continue;
+        }
+        break e;
+       }
+       break;
+      }
+      q[d >> 2] = b;
+      return 20;
+     }
+     return e | 0;
+    }
+    q[d >> 2] = b;
+    return 0;
+   }
+   q[d >> 2] = b;
+  }
+  return 0;
+ }
+ return -2;
+}
+function XN(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, u = 0, w = 0, x = 0, z = 0, A = 0, B = 0, C = 0, D = 0, G = 0, H = 0, I = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0;
+ f = Ca - 704 | 0;
+ Ca = f;
+ n = q[c + 8 >> 2];
+ j = q[c >> 2];
+ g = L$(j << 4);
+ q[a + 16 >> 2] = g;
+ n = n << 1;
+ i = L$(n);
+ q[a + 20 >> 2] = i;
+ a : {
+  if (!(i ? g : 0)) {
+   M$(g);
+   M$(q[a + 20 >> 2]);
+   q[a + 16 >> 2] = 0;
+   q[a + 20 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+   q[a + 12 >> 2] = 0;
+   q[a >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   break a;
+  }
+  q[a + 12 >> 2] = n;
+  q[a + 8 >> 2] = 0;
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = j << 1;
+ }
+ n = q[c + 8 >> 2];
+ j = q[c >> 2];
+ g = L$(j << 4);
+ q[b + 16 >> 2] = g;
+ n = n << 1;
+ i = L$(n);
+ q[b + 20 >> 2] = i;
+ b : {
+  c : {
+   d : {
+    e : {
+     f : {
+      if (!(!g | !i)) {
+       q[b + 12 >> 2] = n;
+       g = 0;
+       q[b + 8 >> 2] = 0;
+       q[b >> 2] = 0;
+       n = j << 1;
+       q[b + 4 >> 2] = n;
+       if (!q[a + 4 >> 2] | !n) {
+        break e;
+       }
+       g = (d | 0) > (e | 0) ? d : e;
+       if ((g | 0) < 16) {
+        break d;
+       }
+       o[f + 364 | 0] = 1;
+       q[f + 320 >> 2] = 0;
+       q[f + 324 >> 2] = 0;
+       q[f + 316 >> 2] = b;
+       q[f + 312 >> 2] = a;
+       v[f + 336 >> 3] = e | 0;
+       v[f + 328 >> 3] = d | 0;
+       q[f + 360 >> 2] = 16;
+       h = 16 / +(g | 0);
+       v[f + 440 >> 3] = h * .25;
+       v[f + 424 >> 3] = 1 - h;
+       v[f + 456 >> 3] = h * (h * 390);
+       v[f + 352 >> 3] = 1 / +((16 > (e | 0) ? 16 : e) | 0);
+       v[f + 344 >> 3] = 1 / +((16 > (d | 0) ? 16 : d) | 0);
+       p = h + 1;
+       v[f + 448 >> 3] = p * (p * 8);
+       l = E(h + h);
+       v[f + 464 >> 3] = l;
+       v[f + 432 >> 3] = h * 8 + 1 + p * -4 * l;
+       b = q[c + 16 >> 2];
+       d = q[c >> 2];
+       if (d) {
+        a = 0;
+        while (1) {
+         g = 0;
+         e = (a << 3) + b | 0;
+         if (q[e >> 2] + 268435456 >>> 0 > 536870911 | q[e + 4 >> 2] + 268435456 >>> 0 > 536870911) {
+          break e;
+         }
+         a = a + 1 | 0;
+         if (a >>> 0 < d >>> 0) {
+          continue;
+         }
+         break;
+        }
+       }
+       g : {
+        if (q[c + 8 >> 2]) {
+         Q = f + 376 | 0;
+         H = f + 408 | 0;
+         z = f + 560 | 0;
+         A = f + 544 | 0;
+         B = f + 528 | 0;
+         M = f + 552 | 0;
+         N = f + 568 | 0;
+         O = f + 536 | 0;
+         a = 1;
+         d = 0;
+         n = b;
+         while (1) {
+          if (a & 1) {
+           a = q[n + 4 >> 2];
+           q[f + 416 >> 2] = q[n >> 2];
+           q[f + 420 >> 2] = a;
+          }
+          a = o[q[c + 20 >> 2] + d | 0];
+          e = a & 3;
+          g = e + -1 | 0;
+          if (g >>> 0 > 2) {
+           break f;
+          }
+          b = (e << 3) + b | 0;
+          P = a & 4;
+          a = P ? n : b;
+          h : {
+           i : {
+            switch (g - 1 | 0) {
+            default:
+             e = q[a + 4 >> 2];
+             q[f + 216 >> 2] = q[a >> 2];
+             q[f + 220 >> 2] = e;
+             if (YN(f + 312 | 0, f + 216 | 0)) {
+              break h;
+             }
+             break f;
+            case 0:
+             g = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+             e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+             q[f + 472 >> 2] = e;
+             a = g;
+             q[f + 476 >> 2] = a;
+             i = q[f + 360 >> 2];
+             k = 0 - i | 0;
+             g = b + -8 | 0;
+             u = r[g | 0] | r[g + 1 | 0] << 8 | (r[g + 2 | 0] << 16 | r[g + 3 | 0] << 24);
+             m = u - q[f + 416 >> 2] | 0;
+             g = r[g + 4 | 0] | r[g + 5 | 0] << 8 | (r[g + 6 | 0] << 16 | r[g + 7 | 0] << 24);
+             x = g - q[f + 420 >> 2] | 0;
+             if (!((x | 0) >= (i | 0) | (x | 0) <= (k | 0) | ((m | 0) <= (k | 0) | (m | 0) >= (i | 0)))) {
+              a = q[f + 476 >> 2];
+              q[f + 224 >> 2] = q[f + 472 >> 2];
+              q[f + 228 >> 2] = a;
+              if (YN(f + 312 | 0, f + 224 | 0)) {
+               break h;
+              }
+              break f;
+             }
+             w = e - u | 0;
+             j = a - g | 0;
+             if (!((w | 0) <= (k | 0) | (j | 0) >= (i | 0) | ((j | 0) <= (k | 0) | (w | 0) >= (i | 0)))) {
+              a = q[f + 476 >> 2];
+              q[f + 232 >> 2] = q[f + 472 >> 2];
+              q[f + 236 >> 2] = a;
+              if (YN(f + 312 | 0, f + 232 | 0)) {
+               break h;
+              }
+              break f;
+             }
+             i = q[f + 416 >> 2];
+             k = q[f + 420 >> 2];
+             q[f + 416 >> 2] = e;
+             q[f + 420 >> 2] = a;
+             q[f + 496 >> 2] = e;
+             q[f + 500 >> 2] = a;
+             q[f + 480 >> 2] = i;
+             q[f + 484 >> 2] = k;
+             q[f + 488 >> 2] = u;
+             q[f + 492 >> 2] = g;
+             s = v[f + 344 >> 3];
+             h = s * +(0 - m | 0);
+             v[f + 584 >> 3] = h;
+             l = v[f + 352 >> 3];
+             p = l * +(x | 0);
+             v[f + 576 >> 3] = p;
+             l = l * +(j | 0);
+             v[f + 592 >> 3] = l;
+             s = s * +(0 - w | 0);
+             v[f + 600 >> 3] = s;
+             G = E(p * p + h * h);
+             v[f + 528 >> 3] = G;
+             I = h;
+             h = 1 / G;
+             v[f + 520 >> 3] = I * h;
+             v[f + 512 >> 3] = p * h;
+             h = E(l * l + s * s);
+             v[f + 552 >> 3] = h;
+             h = 1 / h;
+             v[f + 544 >> 3] = s * h;
+             v[f + 536 >> 3] = l * h;
+             a = r[f + 364 | 0];
+             q[f + 256 >> 2] = i;
+             q[f + 260 >> 2] = k;
+             e = q[f + 524 >> 2];
+             q[f + 248 >> 2] = q[f + 520 >> 2];
+             q[f + 252 >> 2] = e;
+             e = q[f + 516 >> 2];
+             q[f + 240 >> 2] = q[f + 512 >> 2];
+             q[f + 244 >> 2] = e;
+             if (!ZN(f + 312 | 0, f + 256 | 0, f + 240 | 0, 3)) {
+              break f;
+             }
+             g = 0;
+             if (_N(f + 312 | 0, f + 480 | 0, f + 576 | 0, f + 512 | 0, 3, (a | 0) != 0)) {
+              break h;
+             }
+             break e;
+            case 1:
+             break i;
+            }
+           }
+           g = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+           j = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+           q[f + 472 >> 2] = j;
+           q[f + 476 >> 2] = g;
+           m = q[f + 360 >> 2];
+           w = 0 - m | 0;
+           i = b + -16 | 0;
+           K = r[i | 0] | r[i + 1 | 0] << 8 | (r[i + 2 | 0] << 16 | r[i + 3 | 0] << 24);
+           u = q[f + 416 >> 2];
+           e = K - u | 0;
+           k = b + -8 | 0;
+           a = r[k + 4 | 0] | r[k + 5 | 0] << 8 | (r[k + 6 | 0] << 16 | r[k + 7 | 0] << 24);
+           L = r[k | 0] | r[k + 1 | 0] << 8 | (r[k + 2 | 0] << 16 | r[k + 3 | 0] << 24);
+           x = 9;
+           j : {
+            i = r[i + 4 | 0] | r[i + 5 | 0] << 8 | (r[i + 6 | 0] << 16 | r[i + 7 | 0] << 24);
+            k = q[f + 420 >> 2];
+            C = i - k | 0;
+            if ((C | 0) >= (m | 0) | (C | 0) <= (w | 0) | ((e | 0) <= (w | 0) | (e | 0) >= (m | 0))) {
+             break j;
+            }
+            e = L - u | 0;
+            x = 8;
+            C = a - k | 0;
+            if ((C | 0) >= (m | 0) | (C | 0) <= (w | 0) | ((e | 0) <= (w | 0) | (e | 0) >= (m | 0))) {
+             break j;
+            }
+            a = q[f + 476 >> 2];
+            q[f + 264 >> 2] = q[f + 472 >> 2];
+            q[f + 268 >> 2] = a;
+            if (YN(f + 312 | 0, f + 264 | 0)) {
+             break h;
+            }
+            break f;
+           }
+           k : {
+            R = j;
+            u = j - L | 0;
+            k = g;
+            D = g - a | 0;
+            if ((u | 0) <= (w | 0) | (D | 0) >= (m | 0) | ((D | 0) <= (w | 0) | (u | 0) >= (m | 0))) {
+             break k;
+            }
+            u = R - K | 0;
+            D = k - i | 0;
+            if (!((u | 0) <= (w | 0) | (D | 0) >= (m | 0) | ((D | 0) <= (w | 0) | (u | 0) >= (m | 0)))) {
+             a = q[f + 476 >> 2];
+             q[f + 272 >> 2] = q[f + 472 >> 2];
+             q[f + 276 >> 2] = a;
+             if (YN(f + 312 | 0, f + 272 | 0)) {
+              break h;
+             }
+             break f;
+            }
+            x = x | 4;
+            if ((x | 0) != 12) {
+             break k;
+            }
+            a = q[f + 476 >> 2];
+            q[f + 280 >> 2] = q[f + 472 >> 2];
+            q[f + 284 >> 2] = a;
+            if (YN(f + 312 | 0, f + 280 | 0)) {
+             break h;
+            }
+            break f;
+           }
+           q[f + 504 >> 2] = j;
+           q[f + 508 >> 2] = g;
+           k = q[f + 420 >> 2];
+           q[f + 480 >> 2] = q[f + 416 >> 2];
+           q[f + 484 >> 2] = k;
+           q[f + 496 >> 2] = L;
+           q[f + 500 >> 2] = a;
+           q[f + 488 >> 2] = K;
+           q[f + 492 >> 2] = i;
+           q[f + 416 >> 2] = j;
+           q[f + 420 >> 2] = g;
+           a = (f + 480 | 0) + ((x & 3) << 3) | 0;
+           g = q[a + 4 >> 2];
+           j = (f + 480 | 0) + (x << 1 & 24) | 0;
+           i = q[j + 4 >> 2];
+           s = v[f + 344 >> 3];
+           v[f + 600 >> 3] = s * +(q[a >> 2] - q[j >> 2] | 0);
+           l = v[f + 352 >> 3];
+           v[f + 592 >> 3] = l * +(i - g | 0);
+           h = s * +(0 - e | 0);
+           v[f + 584 >> 3] = h;
+           p = l * +(C | 0);
+           v[f + 576 >> 3] = p;
+           l = l * +(D | 0);
+           v[f + 608 >> 3] = l;
+           s = s * +(0 - u | 0);
+           v[f + 616 >> 3] = s;
+           G = E(p * p + h * h);
+           v[f + 528 >> 3] = G;
+           I = h;
+           h = 1 / G;
+           v[f + 520 >> 3] = I * h;
+           v[f + 512 >> 3] = p * h;
+           h = E(l * l + s * s);
+           v[f + 552 >> 3] = h;
+           h = 1 / h;
+           v[f + 544 >> 3] = s * h;
+           v[f + 536 >> 3] = l * h;
+           a = r[f + 364 | 0];
+           e = q[f + 484 >> 2];
+           q[f + 304 >> 2] = q[f + 480 >> 2];
+           q[f + 308 >> 2] = e;
+           e = q[f + 524 >> 2];
+           q[f + 296 >> 2] = q[f + 520 >> 2];
+           q[f + 300 >> 2] = e;
+           e = q[f + 516 >> 2];
+           q[f + 288 >> 2] = q[f + 512 >> 2];
+           q[f + 292 >> 2] = e;
+           if (!ZN(f + 312 | 0, f + 304 | 0, f + 288 | 0, 3)) {
+            break f;
+           }
+           g = 0;
+           if (!$N(f + 312 | 0, f + 480 | 0, f + 576 | 0, f + 512 | 0, 3, (a | 0) != 0)) {
+            break e;
+           }
+          }
+          n = P ? b : n;
+          k = (n | 0) != (b | 0);
+          if (!k) {
+           l : {
+            if (r[f + 364 | 0]) {
+             a = q[f + 420 >> 2];
+             q[f + 480 >> 2] = q[f + 416 >> 2];
+             q[f + 484 >> 2] = a;
+             a = 15;
+             h = 1;
+             p = v[f + 432 >> 3];
+             m : {
+              if (!(p > 0)) {
+               break m;
+              }
+              while (1) {
+               l = .7071067811865476 / E(h);
+               v[(f + 576 | 0) + (a << 3) >> 3] = l;
+               l = h * l;
+               h = l + 1;
+               a = a + -1 | 0;
+               if (!a) {
+                break m;
+               }
+               if (l < p) {
+                continue;
+               }
+               break;
+              }
+             }
+             e = (f + 576 | 0) + (a << 3) | 0;
+             v[e >> 3] = 1 / h;
+             q[f + 200 >> 2] = 0;
+             q[f + 204 >> 2] = 0;
+             q[z >> 2] = 0;
+             q[z + 4 >> 2] = 0;
+             q[M >> 2] = 0;
+             q[M + 4 >> 2] = 0;
+             q[B >> 2] = 0;
+             q[B + 4 >> 2] = 0;
+             q[N >> 2] = 0;
+             q[N + 4 >> 2] = -1074790400;
+             q[A >> 2] = 0;
+             q[A + 4 >> 2] = -1074790400;
+             q[O >> 2] = 0;
+             q[O + 4 >> 2] = 1072693248;
+             q[f + 192 >> 2] = 0;
+             q[f + 196 >> 2] = 1072693248;
+             g = q[f + 484 >> 2];
+             q[f + 208 >> 2] = q[f + 480 >> 2];
+             q[f + 212 >> 2] = g;
+             q[f + 520 >> 2] = 0;
+             q[f + 524 >> 2] = 0;
+             q[f + 512 >> 2] = 0;
+             q[f + 516 >> 2] = 1072693248;
+             g = B + 8 | 0;
+             i = q[g + 4 >> 2];
+             q[f + 184 >> 2] = q[g >> 2];
+             q[f + 188 >> 2] = i;
+             j = q[B + 4 >> 2];
+             q[f + 176 >> 2] = q[B >> 2];
+             q[f + 180 >> 2] = j;
+             a = 15 - a | 0;
+             if (!aO(f + 312 | 0, f + 208 | 0, f + 192 | 0, f + 176 | 0, e, a, 1)) {
+              break f;
+             }
+             j = q[f + 484 >> 2];
+             q[f + 168 >> 2] = q[f + 480 >> 2];
+             q[f + 172 >> 2] = j;
+             j = q[g + 4 >> 2];
+             q[f + 160 >> 2] = q[g >> 2];
+             q[f + 164 >> 2] = j;
+             g = q[B + 4 >> 2];
+             q[f + 152 >> 2] = q[B >> 2];
+             q[f + 156 >> 2] = g;
+             g = A + 8 | 0;
+             i = q[g + 4 >> 2];
+             q[f + 144 >> 2] = q[g >> 2];
+             q[f + 148 >> 2] = i;
+             j = q[A + 4 >> 2];
+             q[f + 136 >> 2] = q[A >> 2];
+             q[f + 140 >> 2] = j;
+             if (!aO(f + 312 | 0, f + 168 | 0, f + 152 | 0, f + 136 | 0, e, a, 1)) {
+              break f;
+             }
+             j = q[f + 484 >> 2];
+             q[f + 128 >> 2] = q[f + 480 >> 2];
+             q[f + 132 >> 2] = j;
+             j = q[g + 4 >> 2];
+             q[f + 120 >> 2] = q[g >> 2];
+             q[f + 124 >> 2] = j;
+             g = q[A + 4 >> 2];
+             q[f + 112 >> 2] = q[A >> 2];
+             q[f + 116 >> 2] = g;
+             g = z + 8 | 0;
+             i = q[g + 4 >> 2];
+             q[f + 104 >> 2] = q[g >> 2];
+             q[f + 108 >> 2] = i;
+             j = q[z + 4 >> 2];
+             q[f + 96 >> 2] = q[z >> 2];
+             q[f + 100 >> 2] = j;
+             if (!aO(f + 312 | 0, f + 128 | 0, f + 112 | 0, f + 96 | 0, e, a, 1)) {
+              break f;
+             }
+             j = q[f + 484 >> 2];
+             q[f + 88 >> 2] = q[f + 480 >> 2];
+             q[f + 92 >> 2] = j;
+             j = q[g >> 2];
+             g = q[g + 4 >> 2];
+             i = q[z >> 2];
+             m = q[z + 4 >> 2];
+             u = q[f + 524 >> 2];
+             w = f - -64 | 0;
+             q[w >> 2] = q[f + 520 >> 2];
+             q[w + 4 >> 2] = u;
+             q[f + 80 >> 2] = j;
+             q[f + 84 >> 2] = g;
+             g = q[f + 516 >> 2];
+             q[f + 56 >> 2] = q[f + 512 >> 2];
+             q[f + 60 >> 2] = g;
+             q[f + 72 >> 2] = i;
+             q[f + 76 >> 2] = m;
+             g = 0;
+             j = 0;
+             if (aO(f + 312 | 0, f + 88 | 0, f + 72 | 0, f + 56 | 0, e, a, 1)) {
+              break l;
+             }
+             break e;
+            }
+            a = q[H + 4 >> 2];
+            q[f + 48 >> 2] = q[H >> 2];
+            q[f + 52 >> 2] = a;
+            if (!YN(f + 312 | 0, f + 48 | 0)) {
+             break f;
+            }
+            a = q[H + 4 >> 2];
+            q[f + 40 >> 2] = q[H >> 2];
+            q[f + 44 >> 2] = a;
+            a = Q;
+            e = q[a + 12 >> 2];
+            q[f + 32 >> 2] = q[a + 8 >> 2];
+            q[f + 36 >> 2] = e;
+            e = q[a + 4 >> 2];
+            q[f + 24 >> 2] = q[a >> 2];
+            q[f + 28 >> 2] = e;
+            if (!ZN(f + 312 | 0, f + 40 | 0, f + 24 | 0, 3)) {
+             break f;
+            }
+            g = q[f + 368 >> 2] & (q[f + 372 >> 2] ^ -1);
+            h = v[f + 384 >> 3] * v[f + 336 >> 3];
+            n : {
+             if (y(h) < 2147483648) {
+              a = ~~h;
+              break n;
+             }
+             a = -2147483648;
+            }
+            m = g & 1;
+            h = v[f + 376 >> 3] * v[f + 328 >> 3];
+            o : {
+             if (y(h) < 2147483648) {
+              e = ~~h;
+              break o;
+             }
+             e = -2147483648;
+            }
+            j = q[f + 412 >> 2];
+            i = q[f + 408 >> 2];
+            if (m) {
+             q[f + 580 >> 2] = a + j;
+             q[f + 576 >> 2] = e + i;
+             m = q[f + 580 >> 2];
+             q[f + 16 >> 2] = q[f + 576 >> 2];
+             q[f + 20 >> 2] = m;
+             if (!TN(q[f + 312 >> 2], f + 16 | 0, 1)) {
+              break f;
+             }
+            }
+            if (g & 2) {
+             q[f + 580 >> 2] = j - a;
+             q[f + 576 >> 2] = i - e;
+             a = q[f + 580 >> 2];
+             q[f + 8 >> 2] = q[f + 576 >> 2];
+             q[f + 12 >> 2] = a;
+             g = 0;
+             if (!TN(q[f + 316 >> 2], f + 8 | 0, 1)) {
+              break e;
+             }
+            }
+            p = v[f + 392 >> 3];
+            h = v[f + 400 >> 3];
+            p : {
+             if (h == v[f + 384 >> 3] ? p == v[f + 376 >> 3] : 0) {
+              break p;
+             }
+             g = (q[f + 372 >> 2] ^ -1) & (q[f + 368 >> 2] ^ -1);
+             h = h * v[f + 336 >> 3];
+             q : {
+              if (y(h) < 2147483648) {
+               a = ~~h;
+               break q;
+              }
+              a = -2147483648;
+             }
+             i = g & 1;
+             h = p * v[f + 328 >> 3];
+             r : {
+              if (y(h) < 2147483648) {
+               e = ~~h;
+               break r;
+              }
+              e = -2147483648;
+             }
+             m = g & 3;
+             g = q[f + 412 >> 2];
+             j = q[f + 408 >> 2];
+             if (i) {
+              i = q[q[f + 312 >> 2] + 16 >> 2] + (q[f + 320 >> 2] << 3) | 0;
+              q[i + 4 >> 2] = a + g;
+              q[i >> 2] = e + j;
+             }
+             if (!(m & 2)) {
+              break p;
+             }
+             i = q[q[f + 316 >> 2] + 16 >> 2] + (q[f + 324 >> 2] << 3) | 0;
+             q[i + 4 >> 2] = g - a;
+             q[i >> 2] = j - e;
+            }
+            o[f + 364 | 0] = 1;
+            j = 2;
+           }
+           a = q[f + 312 >> 2];
+           e = q[a + 8 >> 2];
+           if (!e) {
+            break c;
+           }
+           a = (e + q[a + 20 >> 2] | 0) + -1 | 0;
+           e = r[a | 0];
+           if (e >>> 0 >= 4) {
+            break b;
+           }
+           o[a | 0] = e | 4;
+           if (j) {
+            a = q[f + 316 >> 2];
+            e = q[a + 8 >> 2];
+            if (!e) {
+             break c;
+            }
+            a = (e + q[a + 20 >> 2] | 0) + -1 | 0;
+            e = r[a | 0];
+            if (e >>> 0 >= 4) {
+             break b;
+            }
+            o[a | 0] = e | 4;
+           }
+           q[f + 320 >> 2] = q[q[f + 312 >> 2] >> 2];
+           q[f + 324 >> 2] = q[q[f + 316 >> 2] >> 2];
+          }
+          a = (b | 0) == (n | 0);
+          d = d + 1 | 0;
+          if (d >>> 0 < t[c + 8 >> 2]) {
+           continue;
+          }
+          break;
+         }
+         if (k) {
+          break g;
+         }
+        }
+        g = 1;
+        if ((q[c + 16 >> 2] + (q[c >> 2] << 3) | 0) == (b | 0)) {
+         break e;
+        }
+       }
+       J(436721, 436591, 1421, 436706);
+       F();
+      }
+      M$(g);
+      M$(q[b + 20 >> 2]);
+      q[b + 16 >> 2] = 0;
+      q[b + 20 >> 2] = 0;
+      q[b + 8 >> 2] = 0;
+      q[b + 12 >> 2] = 0;
+      q[b >> 2] = 0;
+      q[b + 4 >> 2] = 0;
+     }
+     g = 0;
+    }
+    Ca = f + 704 | 0;
+    return g;
+   }
+   J(436695, 436591, 1354, 436706);
+   F();
+  }
+  J(436571, 436591, 335, 436605);
+  F();
+ }
+ J(436627, 436591, 336, 436605);
+ F();
+}
+function RA(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, v = x(0), w = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = x(0);
+ k = Ca - 112 | 0;
+ Ca = k;
+ if (f >>> 0 <= 6) {
+  q[k + 104 >> 2] = 0;
+  q[k + 96 >> 2] = 0;
+  q[k + 100 >> 2] = 0;
+  g = q[a + 20 >> 2] + -1 | 0;
+  a : {
+   if (g >>> 0 > 1) {
+    break a;
+   }
+   b : {
+    if (!(g - 1)) {
+     c : {
+      d : {
+       i = q[a >> 2];
+       h = q[a + 16 >> 2];
+       j = h + 10 | 0;
+       e : {
+        if (i >>> 0 > j >>> 0) {
+         break e;
+        }
+        s = i + q[a + 4 >> 2] | 0;
+        if (j >>> 0 > s >>> 0) {
+         break e;
+        }
+        g = s - j | 0;
+        if (g >>> 0 < 4) {
+         break e;
+        }
+        l = r[h + 11 | 0];
+        p = l & 1 ? 8 : 6;
+        h = p + 2 | 0;
+        f : {
+         if (l & 8) {
+          break f;
+         }
+         h = p + 4 | 0;
+         if (l & 64) {
+          break f;
+         }
+         h = l & 128 ? p + 8 | 0 : p;
+        }
+        if (g >>> 0 >= h >>> 0) {
+         break d;
+        }
+       }
+       l = k + 96 | 0;
+       break c;
+      }
+      m = 1;
+      if (l & 32) {
+       while (1) {
+        g : {
+         g = i;
+         n = l & 1 ? 8 : 6;
+         y = n + 2 | 0;
+         h : {
+          if (l & 8) {
+           break h;
+          }
+          h = l & 255;
+          y = n + 4 | 0;
+          if (h & 64) {
+           break h;
+          }
+          y = h & 128 ? n + 8 | 0 : n;
+         }
+         j = y + j | 0;
+         if (g >>> 0 > j >>> 0 | j >>> 0 > s >>> 0) {
+          break g;
+         }
+         g = s - j | 0;
+         if (g >>> 0 < 4) {
+          break g;
+         }
+         l = r[j + 1 | 0];
+         p = l & 1 ? 8 : 6;
+         h = p + 2 | 0;
+         i : {
+          if (l & 8) {
+           break i;
+          }
+          h = p + 4 | 0;
+          if (l & 64) {
+           break i;
+          }
+          h = l & 128 ? p + 8 | 0 : p;
+         }
+         if (g >>> 0 < h >>> 0) {
+          break g;
+         }
+         m = m + 1 | 0;
+         if (l & 32) {
+          continue;
+         }
+        }
+        break;
+       }
+       l = k + 96 | 0;
+       if ((m | 0) >= 1) {
+        break c;
+       }
+       m = 0;
+       break c;
+      }
+      l = k + 96 | 0;
+     }
+     j = 0;
+     g = q[l >> 2];
+     if ((g | 0) < 0) {
+      break a;
+     }
+     if (g >>> 0 < m >>> 0) {
+      h = g;
+      while (1) {
+       h = ((h >>> 1 | 0) + h | 0) + 8 | 0;
+       if (h >>> 0 <= m >>> 0) {
+        continue;
+       }
+       break;
+      }
+      j : {
+       if (!(h >>> 0 < g >>> 0 | h >>> 0 > 268435454)) {
+        g = O$(q[l + 8 >> 2], h << 4);
+        if (g) {
+         break j;
+        }
+       }
+       q[l >> 2] = -1;
+       break a;
+      }
+      q[l >> 2] = h;
+      q[l + 8 >> 2] = g;
+     }
+     g = q[l + 4 >> 2];
+     if (m >>> 0 > g >>> 0) {
+      Z$(q[l + 8 >> 2] + (g << 4) | 0, 0, m - g << 4);
+     }
+     q[l + 4 >> 2] = m;
+     i = q[k + 100 >> 2];
+     if (!i) {
+      i = 0;
+      break b;
+     }
+     while (1) {
+      k : {
+       if (m >>> 0 <= j >>> 0) {
+        g = q[67763];
+        q[160658] = q[67762];
+        q[160659] = g;
+        g = q[67761];
+        q[160656] = q[67760];
+        q[160657] = g;
+        g = 642624;
+        break k;
+       }
+       g = q[l + 8 >> 2] + (j << 4) | 0;
+      }
+      q[g + 4 >> 2] = 0;
+      q[g + 8 >> 2] = 0;
+      o[g | 0] = 0;
+      o[g + 12 | 0] = 0;
+      j = j + 1 | 0;
+      if ((j | 0) == (i | 0)) {
+       break b;
+      }
+      m = q[l + 4 >> 2];
+      continue;
+     }
+    }
+    q[k + 24 >> 2] = q[a + 16 >> 2];
+    q[k + 36 >> 2] = q[a + 8 >> 2];
+    g = q[a + 4 >> 2];
+    q[k + 28 >> 2] = q[a >> 2];
+    q[k + 32 >> 2] = g;
+    if (!WA(k + 24 | 0, k + 96 | 0, e)) {
+     break a;
+    }
+    i = q[k + 100 >> 2];
+   }
+   j = 0;
+   g = q[k + 96 >> 2];
+   if ((g | 0) < 0) {
+    break a;
+   }
+   C = q[c + 16 >> 2];
+   h = i + 4 | 0;
+   h = (h | 0) > 0 ? h : 0;
+   if (g >>> 0 < h >>> 0) {
+    i = g;
+    while (1) {
+     i = ((i >>> 1 | 0) + i | 0) + 8 | 0;
+     if (i >>> 0 <= h >>> 0) {
+      continue;
+     }
+     break;
+    }
+    l : {
+     if (!(i >>> 0 < g >>> 0 | i >>> 0 > 268435454)) {
+      g = O$(q[k + 104 >> 2], i << 4);
+      if (g) {
+       break l;
+      }
+     }
+     q[k + 96 >> 2] = -1;
+     break a;
+    }
+    q[k + 96 >> 2] = i;
+    q[k + 104 >> 2] = g;
+    i = q[k + 100 >> 2];
+   }
+   if (h >>> 0 > i >>> 0) {
+    Z$(q[k + 104 >> 2] + (i << 4) | 0, 0, h - i << 4);
+   }
+   q[k + 100 >> 2] = h;
+   B = q[k + 104 >> 2];
+   D = h + -4 | 0;
+   w = B + (D << 4) | 0;
+   q[k + 80 >> 2] = w;
+   q[k + 88 >> 2] = 0;
+   g = h - D | 0;
+   g = g >>> 0 > h >>> 0 ? 0 : g;
+   z = g >>> 0 < 4 ? g : 4;
+   q[k + 84 >> 2] = z;
+   m : {
+    n : {
+     o : {
+      p : {
+       q : {
+        r : {
+         s : {
+          if (!z) {
+           g = q[67763];
+           q[160658] = q[67762];
+           q[160659] = g;
+           g = q[67761];
+           q[160656] = q[67760];
+           q[160657] = g;
+           q[160657] = 0;
+           q[160658] = 0;
+           o[642624] = 0;
+           o[642636] = 0;
+           break s;
+          }
+          o[w | 0] = 0;
+          q[w + 4 >> 2] = 0;
+          q[w + 8 >> 2] = 0;
+          o[w + 12 | 0] = 0;
+          if ((z | 0) != 1) {
+           break r;
+          }
+         }
+         g = q[67763];
+         q[160658] = q[67762];
+         q[160659] = g;
+         g = q[67761];
+         q[160656] = q[67760];
+         q[160657] = g;
+         q[160657] = 0;
+         q[160658] = 0;
+         o[642624] = 0;
+         o[642636] = 0;
+         break q;
+        }
+        o[w + 16 | 0] = 0;
+        q[w + 20 >> 2] = 0;
+        q[w + 24 >> 2] = 0;
+        o[w + 28 | 0] = 0;
+        if (z >>> 0 > 2) {
+         break p;
+        }
+       }
+       g = q[67763];
+       q[160658] = q[67762];
+       q[160659] = g;
+       g = q[67761];
+       q[160656] = q[67760];
+       q[160657] = g;
+       q[160657] = 0;
+       q[160658] = 0;
+       o[642624] = 0;
+       o[642636] = 0;
+       j = 0;
+       break o;
+      }
+      o[w + 32 | 0] = 0;
+      q[w + 36 >> 2] = 0;
+      q[w + 40 >> 2] = 0;
+      o[w + 44 | 0] = 0;
+      if ((z | 0) != 3) {
+       break n;
+      }
+      j = 1;
+     }
+     g = q[67763];
+     q[160658] = q[67762];
+     q[160659] = g;
+     g = q[67761];
+     q[160656] = q[67760];
+     q[160657] = g;
+     g = 642624;
+     break m;
+    }
+    j = 1;
+    g = w + 48 | 0;
+   }
+   q[g + 4 >> 2] = 0;
+   q[g + 8 >> 2] = 0;
+   o[g | 0] = 0;
+   o[g + 12 | 0] = 0;
+   g = q[a + 16 >> 2];
+   g = r[g + 2 | 0] | r[g + 3 | 0] << 8;
+   n = g << 24;
+   p = g << 8 & 16711680;
+   l = C - -64 | 0;
+   g = $z(l);
+   h = q[a + 12 >> 2];
+   i = q[g + 4 >> 2];
+   t : {
+    u : {
+     if (h >>> 0 < i >>> 0) {
+      g = q[g + 12 >> 2];
+      g = (h | 0) < 0 ? 271040 : q[(g ? g : 271040) + 12 >> 2] + (h << 2) | 0;
+      h = g + 3 | 0;
+      i = g + 2 | 0;
+      break u;
+     }
+     if (t[g >> 2] <= h >>> 0) {
+      break t;
+     }
+     g = q[g + 12 >> 2];
+     i = (h - i << 1) + ((i | 0) < 0 ? 271040 : q[(g ? g : 271040) + 12 >> 2] + (i << 2) | 0) | 0;
+     h = i + 1 | 0;
+    }
+    A = (r[h | 0] | r[i | 0] << 8) << 16 >> 16;
+   }
+   m = n | p;
+   g = q[a + 16 >> 2];
+   g = r[g + 8 | 0] | r[g + 9 | 0] << 8;
+   n = g << 24;
+   p = g << 8 & 16711680;
+   s = C + 92 | 0;
+   g = _z(s);
+   h = q[a + 12 >> 2];
+   i = q[g + 4 >> 2];
+   v : {
+    w : {
+     if (h >>> 0 < i >>> 0) {
+      g = q[g + 12 >> 2];
+      g = (h | 0) < 0 ? 271040 : q[(g ? g : 271040) + 12 >> 2] + (h << 2) | 0;
+      i = g + 3 | 0;
+      h = g + 2 | 0;
+      break w;
+     }
+     y = 0;
+     if (t[g >> 2] <= h >>> 0) {
+      break v;
+     }
+     g = q[g + 12 >> 2];
+     h = (h - i << 1) + ((i | 0) < 0 ? 271040 : q[(g ? g : 271040) + 12 >> 2] + (i << 2) | 0) | 0;
+     i = h + 1 | 0;
+    }
+    y = (r[i | 0] | r[h | 0] << 8) << 16 >> 16;
+   }
+   g = y;
+   n = n | p;
+   p = m >> 16;
+   m = $z(l);
+   i = q[m >> 2];
+   h = q[a + 12 >> 2];
+   x : {
+    if (i >>> 0 <= h >>> 0) {
+     h = 0;
+     if (i) {
+      break x;
+     }
+     h = q[m + 8 >> 2];
+     break x;
+    }
+    i = q[m + 12 >> 2];
+    y = q[(i ? i : 271040) + 12 >> 2];
+    i = q[m + 4 >> 2] + -1 | 0;
+    i = i >>> 0 < h >>> 0 ? i : h;
+    i = (i | 0) < 0 ? 271040 : y + (i << 2) | 0;
+    h = r[i | 0] << 8 | r[i + 1 | 0];
+   }
+   n = n >> 16;
+   l = p - A | 0;
+   m = _z(s);
+   p = q[m >> 2];
+   s = q[a + 12 >> 2];
+   y : {
+    if (p >>> 0 <= s >>> 0) {
+     i = 0;
+     if (p) {
+      break y;
+     }
+     i = q[m + 8 >> 2];
+     break y;
+    }
+    i = q[m + 12 >> 2];
+    y = q[(i ? i : 271040) + 12 >> 2];
+    i = q[m + 4 >> 2] + -1 | 0;
+    i = i >>> 0 < s >>> 0 ? i : s;
+    i = (i | 0) < 0 ? 271040 : y + (i << 2) | 0;
+    i = r[i | 0] << 8 | r[i + 1 | 0];
+   }
+   p = g + n | 0;
+   v = x(l | 0);
+   z : {
+    A : {
+     B : {
+      C : {
+       D : {
+        E : {
+         F : {
+          if (!z) {
+           g = q[67761];
+           q[160656] = q[67760];
+           q[160657] = g;
+           g = q[67763];
+           q[160658] = q[67762];
+           q[160659] = g;
+           u[160657] = v;
+           v = x(h + l >>> 0);
+           break F;
+          }
+          u[((D << 4) + B | 0) + 4 >> 2] = v;
+          v = x(h + l >>> 0);
+          if ((z | 0) != 1) {
+           break E;
+          }
+         }
+         g = q[67761];
+         q[160656] = q[67760];
+         q[160657] = g;
+         g = q[67763];
+         q[160658] = q[67762];
+         q[160659] = g;
+         u[160657] = v;
+         v = x(p | 0);
+         break D;
+        }
+        u[w + 20 >> 2] = v;
+        v = x(p | 0);
+        if (j) {
+         break C;
+        }
+       }
+       g = q[67763];
+       q[160658] = q[67762];
+       q[160659] = g;
+       g = q[67761];
+       q[160656] = q[67760];
+       q[160657] = g;
+       u[160658] = v;
+       v = x(p - i | 0);
+       break B;
+      }
+      u[w + 40 >> 2] = v;
+      v = x(p - i | 0);
+      if ((z | 0) != 3) {
+       break A;
+      }
+     }
+     g = q[67763];
+     q[160658] = q[67762];
+     q[160659] = g;
+     g = q[67761];
+     q[160656] = q[67760];
+     q[160657] = g;
+     g = 642624;
+     break z;
+    }
+    g = w + 48 | 0;
+   }
+   u[g + 8 >> 2] = v;
+   h = bA(C + 120 | 0);
+   i = q[a + 12 >> 2];
+   j = 0;
+   q[k + 16 >> 2] = 0;
+   q[k + 68 >> 2] = q[k + 100 >> 2];
+   q[k + 64 >> 2] = q[k + 104 >> 2];
+   q[k + 72 >> 2] = 0;
+   g = q[k + 68 >> 2];
+   q[k + 8 >> 2] = q[k + 64 >> 2];
+   q[k + 12 >> 2] = g;
+   if (!XA(h, i, c, k + 8 | 0)) {
+    break a;
+   }
+   g = q[a + 20 >> 2] + -1 | 0;
+   if (g >>> 0 > 1) {
+    break a;
+   }
+   G : {
+    if (g - 1) {
+     q[k + 32 >> 2] = 0;
+     q[k + 28 >> 2] = q[k + 100 >> 2];
+     q[k + 24 >> 2] = q[k + 104 >> 2];
+     YA(d, k + 24 | 0);
+     break G;
+    }
+    g = q[a >> 2];
+    h = q[a + 16 >> 2];
+    i = h + 10 | 0;
+    H : {
+     if (g >>> 0 > i >>> 0) {
+      break H;
+     }
+     A = g + q[a + 4 >> 2] | 0;
+     if (i >>> 0 > A >>> 0) {
+      break H;
+     }
+     a = A - i | 0;
+     if (a >>> 0 < 4) {
+      break H;
+     }
+     p = r[h + 11 | 0];
+     j = p & 1 ? 8 : 6;
+     h = j + 2 | 0;
+     I : {
+      if (p & 8) {
+       break I;
+      }
+      h = j + 4 | 0;
+      if (p & 64) {
+       break I;
+      }
+      h = p & 128 ? j + 8 | 0 : j;
+     }
+     if (a >>> 0 < h >>> 0) {
+      break H;
+     }
+     j = i;
+     while (1) {
+      J : {
+       n = r[j + 1 | 0];
+       if (!(n & 32)) {
+        break J;
+       }
+       a = g;
+       p = n & 1 ? 8 : 6;
+       h = p + 2 | 0;
+       K : {
+        if (n & 8) {
+         break K;
+        }
+        h = p + 4 | 0;
+        if (n & 64) {
+         break K;
+        }
+        h = n & 128 ? p + 8 | 0 : p;
+       }
+       j = h + j | 0;
+       if (a >>> 0 > j >>> 0 | j >>> 0 > A >>> 0) {
+        break J;
+       }
+       a = A - j | 0;
+       if (a >>> 0 < 4) {
+        break J;
+       }
+       n = r[j + 1 | 0];
+       p = n & 1 ? 8 : 6;
+       h = p + 2 | 0;
+       L : {
+        if (n & 8) {
+         break L;
+        }
+        h = p + 4 | 0;
+        if (n & 64) {
+         break L;
+        }
+        h = n & 128 ? p + 8 | 0 : p;
+       }
+       if (a >>> 0 >= h >>> 0) {
+        continue;
+       }
+      }
+      break;
+     }
+     p = f + 1 | 0;
+     B = 0;
+     while (1) {
+      q[k + 56 >> 2] = 0;
+      q[k + 48 >> 2] = 0;
+      q[k + 52 >> 2] = 0;
+      NA(k + 24 | 0, b, r[i + 3 | 0] | r[i + 2 | 0] << 8);
+      a = RA(k + 24 | 0, b, c, k + 48 | 0, e, p);
+      l = q[k + 52 >> 2];
+      h = 0;
+      M : {
+       if (l >>> 0 < 4) {
+        break M;
+       }
+       h = 0;
+       if (!a) {
+        break M;
+       }
+       if (r[i | 0] & 2) {
+        j = l + -4 | 0;
+        m = q[k + 56 >> 2];
+        s = q[k + 80 >> 2];
+        h = s;
+        n = q[k + 84 >> 2];
+        if (!n) {
+         a = q[67763];
+         q[160658] = q[67762];
+         q[160659] = a;
+         a = q[67761];
+         q[160656] = q[67760];
+         q[160657] = a;
+         h = 642624;
+        }
+        j = m + (j << 4) | 0;
+        a = q[j + 4 >> 2];
+        q[h >> 2] = q[j >> 2];
+        q[h + 4 >> 2] = a;
+        a = q[j + 12 >> 2];
+        q[h + 8 >> 2] = q[j + 8 >> 2];
+        q[h + 12 >> 2] = a;
+        h = l + -3 | 0;
+        N : {
+         if (n >>> 0 <= 1) {
+          a = q[67763];
+          q[160658] = q[67762];
+          q[160659] = a;
+          a = q[67761];
+          q[160656] = q[67760];
+          q[160657] = a;
+          j = 642624;
+          break N;
+         }
+         j = s + 16 | 0;
+        }
+        h = m + (h << 4) | 0;
+        a = q[h + 4 >> 2];
+        q[j >> 2] = q[h >> 2];
+        q[j + 4 >> 2] = a;
+        a = q[h + 12 >> 2];
+        q[j + 8 >> 2] = q[h + 8 >> 2];
+        q[j + 12 >> 2] = a;
+        h = l + -2 | 0;
+        O : {
+         if (n >>> 0 <= 2) {
+          a = q[67763];
+          q[160658] = q[67762];
+          q[160659] = a;
+          a = q[67761];
+          q[160656] = q[67760];
+          q[160657] = a;
+          j = 642624;
+          break O;
+         }
+         j = s + 32 | 0;
+        }
+        h = m + (h << 4) | 0;
+        a = q[h + 4 >> 2];
+        q[j >> 2] = q[h >> 2];
+        q[j + 4 >> 2] = a;
+        a = q[h + 12 >> 2];
+        q[j + 8 >> 2] = q[h + 8 >> 2];
+        q[j + 12 >> 2] = a;
+        h = l + -1 | 0;
+        P : {
+         if (n >>> 0 <= 3) {
+          a = q[67763];
+          q[160658] = q[67762];
+          q[160659] = a;
+          a = q[67761];
+          q[160656] = q[67760];
+          q[160657] = a;
+          j = 642624;
+          break P;
+         }
+         j = s + 48 | 0;
+        }
+        h = m + (h << 4) | 0;
+        a = q[h + 4 >> 2];
+        q[j >> 2] = q[h >> 2];
+        q[j + 4 >> 2] = a;
+        a = q[h + 12 >> 2];
+        q[j + 8 >> 2] = q[h + 8 >> 2];
+        q[j + 12 >> 2] = a;
+       }
+       ZA(i, k + 48 | 0);
+       Q : {
+        if (t[k + 100 >> 2] <= B >>> 0) {
+         a = q[67763];
+         q[160658] = q[67762];
+         q[160659] = a;
+         a = q[67761];
+         q[160656] = q[67760];
+         q[160657] = a;
+         a = 642624;
+         break Q;
+        }
+        a = q[k + 104 >> 2] + (B << 4) | 0;
+       }
+       n = q[k + 52 >> 2];
+       if (n) {
+        m = 0;
+        h = q[k + 56 >> 2];
+        while (1) {
+         v = u[a + 8 >> 2];
+         j = h + (m << 4) | 0;
+         u[j + 4 >> 2] = u[a + 4 >> 2] + u[j + 4 >> 2];
+         u[j + 8 >> 2] = v + u[j + 8 >> 2];
+         m = m + 1 | 0;
+         if ((n | 0) != (m | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       a = r[i + 1 | 0];
+       R : {
+        if (a & 2) {
+         break R;
+        }
+        j = r[i + 4 | 0];
+        S : {
+         if (a & 1) {
+          j = r[i + 5 | 0] | j << 8;
+          a = r[i + 7 | 0] | r[i + 6 | 0] << 8;
+          break S;
+         }
+         a = r[i + 5 | 0];
+        }
+        if (j >>> 0 >= t[d + 4 >> 2]) {
+         break R;
+        }
+        s = q[k + 52 >> 2];
+        if (a >>> 0 >= s >>> 0) {
+         break R;
+        }
+        h = q[d + 8 >> 2] + (j << 4) | 0;
+        j = q[k + 56 >> 2];
+        a = j + (a << 4) | 0;
+        E = x(u[h + 8 >> 2] - u[a + 8 >> 2]);
+        v = x(u[h + 4 >> 2] - u[a + 4 >> 2]);
+        h = s >>> 0 > 1 ? s : 1;
+        m = 0;
+        while (1) {
+         T : {
+          if (s >>> 0 <= m >>> 0) {
+           a = q[67763];
+           q[160658] = q[67762];
+           q[160659] = a;
+           a = q[67761];
+           q[160656] = q[67760];
+           q[160657] = a;
+           a = 642624;
+           break T;
+          }
+          a = j + (m << 4) | 0;
+         }
+         u[a + 4 >> 2] = v + u[a + 4 >> 2];
+         u[a + 8 >> 2] = E + u[a + 8 >> 2];
+         m = m + 1 | 0;
+         if ((h | 0) != (m | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       q[k + 32 >> 2] = 0;
+       q[k + 24 >> 2] = q[k + 56 >> 2];
+       h = n + -4 | 0;
+       a = q[k + 52 >> 2];
+       q[k + 28 >> 2] = a >>> 0 > h >>> 0 ? h : a;
+       YA(d, k + 24 | 0);
+       B = B + 1 | 0;
+       h = 1;
+      }
+      M$(q[k + 56 >> 2]);
+      if (!h) {
+       j = 0;
+       break a;
+      }
+      n = r[i + 1 | 0];
+      if (!(n & 32)) {
+       break H;
+      }
+      a = g;
+      j = n & 1 ? 8 : 6;
+      h = j + 2 | 0;
+      U : {
+       if (n & 8) {
+        break U;
+       }
+       h = j + 4 | 0;
+       if (n & 64) {
+        break U;
+       }
+       h = n & 128 ? j + 8 | 0 : j;
+      }
+      i = h + i | 0;
+      if (a >>> 0 > i >>> 0 | i >>> 0 > A >>> 0) {
+       break H;
+      }
+      a = A - i | 0;
+      if (a >>> 0 < 4) {
+       break H;
+      }
+      n = r[i + 1 | 0];
+      j = n & 1 ? 8 : 6;
+      h = j + 2 | 0;
+      V : {
+       if (n & 8) {
+        break V;
+       }
+       h = j + 4 | 0;
+       if (n & 64) {
+        break V;
+       }
+       h = n & 128 ? j + 8 | 0 : j;
+      }
+      if (a >>> 0 >= h >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    YA(d, k + 80 | 0);
+   }
+   j = 1;
+   if (f) {
+    break a;
+   }
+   W : {
+    if (!q[k + 84 >> 2]) {
+     a = q[67763];
+     q[160658] = q[67762];
+     q[160659] = a;
+     a = q[67761];
+     q[160656] = q[67760];
+     q[160657] = a;
+     a = 642624;
+     break W;
+    }
+    a = q[k + 80 >> 2];
+   }
+   v = u[a + 4 >> 2];
+   if (v == x(0)) {
+    break a;
+   }
+   l = q[d + 4 >> 2];
+   if (!l) {
+    break a;
+   }
+   m = 0;
+   while (1) {
+    X : {
+     if (l >>> 0 <= m >>> 0) {
+      a = q[67763];
+      q[160658] = q[67762];
+      q[160659] = a;
+      a = q[67761];
+      q[160656] = q[67760];
+      q[160657] = a;
+      l = q[d + 4 >> 2];
+      a = 642624;
+      break X;
+     }
+     a = q[d + 8 >> 2] + (m << 4) | 0;
+    }
+    u[a + 4 >> 2] = u[a + 4 >> 2] - v;
+    u[a + 8 >> 2] = u[a + 8 >> 2] + x(0);
+    m = m + 1 | 0;
+    if (m >>> 0 < l >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  M$(q[k + 104 >> 2]);
+ }
+ Ca = k + 112 | 0;
+ return j;
+}
+function ez(a, b, c) {
+ var d = 0, e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            l : {
+             m : {
+              n : {
+               o : {
+                p : {
+                 q : {
+                  r : {
+                   s : {
+                    t : {
+                     u : {
+                      v : {
+                       w : {
+                        x : {
+                         d = a + -1 | 0;
+                         if (d >>> 0 > 30) {
+                          d = a + -255 | 0;
+                          if (d >>> 0 > 38) {
+                           break x;
+                          }
+                          y : {
+                           switch (d - 1 | 0) {
+                           default:
+                            if (r[b + 16 | 0]) {
+                             break i;
+                            }
+                            i = q[b + 12 >> 2];
+                            e = i + 4 | 0;
+                            a = q[b + 4 >> 2];
+                            if (e >>> 0 > a >>> 0) {
+                             break i;
+                            }
+                            z : {
+                             if (i >>> 0 >= a >>> 0) {
+                              h = 1;
+                              o[b + 16 | 0] = 1;
+                              c = 271040;
+                              break z;
+                             }
+                             c = i + q[b >> 2] | 0;
+                            }
+                            c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+                            c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+                            d = q[b + 24 >> 2];
+                            A : {
+                             if (d >>> 0 < t[b + 32 >> 2]) {
+                              q[b + 24 >> 2] = d + 1;
+                              d = q[b + 36 >> 2] + (d << 3) | 0;
+                              break A;
+                             }
+                             o[b + 20 | 0] = 1;
+                             a = q[67761];
+                             q[160656] = q[67760];
+                             q[160657] = a;
+                             a = q[b + 4 >> 2];
+                             d = 642624;
+                            }
+                            v[d >> 3] = +(c | 0) * 152587890625e-16;
+                            if (!(i >>> 0 > a >>> 0 | h | e >>> 0 > a >>> 0)) {
+                             q[b + 12 >> 2] = e;
+                             return;
+                            }
+                            o[b + 16 | 0] = 1;
+                            q[b + 12 >> 2] = a;
+                            return;
+                           case 34:
+                            fz(b, c);
+                            break a;
+                           case 35:
+                            gz(b, c);
+                            break a;
+                           case 36:
+                            hz(b, c);
+                            break a;
+                           case 0:
+                           case 1:
+                           case 2:
+                           case 3:
+                           case 4:
+                           case 5:
+                           case 6:
+                           case 7:
+                           case 8:
+                           case 9:
+                           case 10:
+                           case 11:
+                           case 12:
+                           case 13:
+                           case 14:
+                           case 15:
+                           case 16:
+                           case 17:
+                           case 18:
+                           case 19:
+                           case 20:
+                           case 21:
+                           case 22:
+                           case 23:
+                           case 24:
+                           case 25:
+                           case 26:
+                           case 27:
+                           case 28:
+                           case 29:
+                           case 30:
+                           case 31:
+                           case 32:
+                           case 33:
+                            break x;
+                           case 37:
+                            break y;
+                           }
+                          }
+                          iz(b, c);
+                          break a;
+                         }
+                         switch (d - 1 | 0) {
+                         case 9:
+                          break c;
+                         case 20:
+                          break l;
+                         case 2:
+                          break m;
+                         case 3:
+                          break n;
+                         case 4:
+                          break o;
+                         case 5:
+                          break p;
+                         case 6:
+                          break q;
+                         case 22:
+                          break r;
+                         case 23:
+                          break s;
+                         case 24:
+                          break t;
+                         case 25:
+                          break u;
+                         case 12:
+                          break d;
+                         case 28:
+                          break v;
+                         case 29:
+                          break w;
+                         case 0:
+                         case 7:
+                         case 10:
+                         case 11:
+                         case 13:
+                         case 14:
+                         case 15:
+                         case 26:
+                          break x;
+                         case 8:
+                          break e;
+                         case 27:
+                          break f;
+                         case 1:
+                         case 21:
+                          break h;
+                         case 17:
+                         case 18:
+                          break j;
+                         case 19:
+                          break k;
+                         default:
+                          break g;
+                         }
+                        }
+                        EB(a, b);
+                        break i;
+                       }
+                       jz(b, c);
+                       break a;
+                      }
+                      kz(b, c);
+                      break a;
+                     }
+                     lz(b, c);
+                     break a;
+                    }
+                    mz(b, c);
+                    break a;
+                   }
+                   nz(b, c);
+                   break a;
+                  }
+                  oz(b, c);
+                  break a;
+                 }
+                 pz(b, c);
+                 break a;
+                }
+                qz(b, c);
+                break a;
+               }
+               rz(b, c);
+               break a;
+              }
+              sz(b, c);
+              break a;
+             }
+             h = q[b + 24 >> 2];
+             if (!r[b + 144 | 0]) {
+              if (h >>> 0 >= 2) {
+               B : {
+                if (!q[b + 32 >> 2]) {
+                 a = q[67761];
+                 e = a;
+                 d = q[67760];
+                 q[160656] = d;
+                 q[160657] = a;
+                 break B;
+                }
+                a = q[b + 36 >> 2];
+                d = q[a >> 2];
+                e = q[a + 4 >> 2];
+               }
+               q[b + 148 >> 2] = 1;
+               o[b + 145 | 0] = 1;
+               q[b + 152 >> 2] = d;
+               q[b + 156 >> 2] = e;
+              }
+              o[b + 144 | 0] = 1;
+             }
+             k = v[b + 136 >> 3];
+             e = q[b + 128 >> 2];
+             d = q[b + 132 >> 2];
+             C : {
+              if (h) {
+               a = h + -1 | 0;
+               q[b + 24 >> 2] = a;
+               if (t[b + 32 >> 2] <= a >>> 0) {
+                i = q[67761];
+                h = q[67760];
+                q[160656] = h;
+                q[160657] = i;
+                f(0, h | 0);
+                f(1, i | 0);
+                j = +g();
+                break C;
+               }
+               j = v[q[b + 36 >> 2] + (a << 3) >> 3];
+               break C;
+              }
+              o[b + 20 | 0] = 1;
+              a = 0;
+              i = q[67761];
+              h = q[67760];
+              q[160656] = h;
+              q[160657] = i;
+              f(0, h | 0);
+              f(1, i | 0);
+              j = +g();
+             }
+             o[c | 0] = 0;
+             v[b + 136 >> 3] = k + j;
+             q[b + 128 >> 2] = e;
+             q[b + 132 >> 2] = d;
+             break b;
+            }
+            h = q[b + 24 >> 2];
+            if (!r[b + 144 | 0]) {
+             if (h >>> 0 >= 2) {
+              D : {
+               if (!q[b + 32 >> 2]) {
+                a = q[67761];
+                e = a;
+                d = q[67760];
+                q[160656] = d;
+                q[160657] = a;
+                break D;
+               }
+               a = q[b + 36 >> 2];
+               d = q[a >> 2];
+               e = q[a + 4 >> 2];
+              }
+              q[b + 148 >> 2] = 1;
+              o[b + 145 | 0] = 1;
+              q[b + 152 >> 2] = d;
+              q[b + 156 >> 2] = e;
+             }
+             o[b + 144 | 0] = 1;
+            }
+            e = q[b + 136 >> 2];
+            d = q[b + 140 >> 2];
+            k = v[b + 128 >> 3];
+            E : {
+             if (h) {
+              a = h + -1 | 0;
+              q[b + 24 >> 2] = a;
+              if (t[b + 32 >> 2] <= a >>> 0) {
+               i = q[67761];
+               h = q[67760];
+               q[160656] = h;
+               q[160657] = i;
+               f(0, h | 0);
+               f(1, i | 0);
+               j = +g();
+               break E;
+              }
+              j = v[q[b + 36 >> 2] + (a << 3) >> 3];
+              break E;
+             }
+             o[b + 20 | 0] = 1;
+             a = 0;
+             i = q[67761];
+             h = q[67760];
+             q[160656] = h;
+             q[160657] = i;
+             f(0, h | 0);
+             f(1, i | 0);
+             j = +g();
+            }
+            o[c | 0] = 0;
+            q[b + 136 >> 2] = e;
+            q[b + 140 >> 2] = d;
+            v[b + 128 >> 3] = k + j;
+            break b;
+           }
+           i = q[b + 24 >> 2];
+           if (!r[b + 144 | 0]) {
+            if (i >>> 0 >= 3) {
+             F : {
+              if (!q[b + 32 >> 2]) {
+               a = q[67761];
+               e = a;
+               d = q[67760];
+               q[160656] = d;
+               q[160657] = a;
+               break F;
+              }
+              a = q[b + 36 >> 2];
+              d = q[a >> 2];
+              e = q[a + 4 >> 2];
+             }
+             q[b + 148 >> 2] = 1;
+             o[b + 145 | 0] = 1;
+             q[b + 152 >> 2] = d;
+             q[b + 156 >> 2] = e;
+            }
+            o[b + 144 | 0] = 1;
+           }
+           m = v[b + 136 >> 3];
+           j = v[b + 128 >> 3];
+           G : {
+            H : {
+             if (i) {
+              e = i + -1 | 0;
+              q[b + 24 >> 2] = e;
+              d = q[b + 32 >> 2];
+              I : {
+               if (d >>> 0 <= e >>> 0) {
+                a = q[67761];
+                q[160656] = q[67760];
+                q[160657] = a;
+                h = 642624;
+                break I;
+               }
+               h = q[b + 36 >> 2] + (e << 3) | 0;
+              }
+              if (!e) {
+               d = q[67760];
+               e = q[67761];
+               break H;
+              }
+              a = i + -2 | 0;
+              q[b + 24 >> 2] = a;
+              if (d >>> 0 <= a >>> 0) {
+               e = q[67761];
+               d = q[67760];
+               q[160656] = d;
+               q[160657] = e;
+               f(0, d | 0);
+               f(1, e | 0);
+               l = +g();
+               break G;
+              }
+              l = v[q[b + 36 >> 2] + (a << 3) >> 3];
+              break G;
+             }
+             o[b + 20 | 0] = 1;
+             a = q[67761];
+             e = a;
+             d = q[67760];
+             q[160656] = d;
+             q[160657] = a;
+             h = 642624;
+            }
+            o[b + 20 | 0] = 1;
+            a = 0;
+            q[160656] = d;
+            q[160657] = e;
+            f(0, d | 0);
+            f(1, e | 0);
+            l = +g();
+           }
+           k = v[h >> 3];
+           o[c | 0] = 0;
+           v[b + 136 >> 3] = m + k;
+           v[b + 128 >> 3] = j + l;
+           break b;
+          }
+          if (!(r[b + 144 | 0] | a + -19 >>> 0 > 1)) {
+           if (o[b + 24 | 0] & 1) {
+            J : {
+             if (!q[b + 32 >> 2]) {
+              a = q[67761];
+              e = a;
+              d = q[67760];
+              q[160656] = d;
+              q[160657] = a;
+              break J;
+             }
+             a = q[b + 36 >> 2];
+             d = q[a >> 2];
+             e = q[a + 4 >> 2];
+            }
+            q[b + 148 >> 2] = 1;
+            o[b + 145 | 0] = 1;
+            q[b + 152 >> 2] = d;
+            q[b + 156 >> 2] = e;
+           }
+           o[b + 144 | 0] = 1;
+          }
+          K : {
+           if (r[b + 74 | 0]) {
+            a = q[b + 84 >> 2];
+            break K;
+           }
+           o[b + 74 | 0] = 1;
+           a = q[b + 80 >> 2] + (q[b + 24 >> 2] >>> 1 | 0) | 0;
+           q[b + 80 >> 2] = a;
+           a = (a + q[b + 76 >> 2] | 0) + 7 >>> 3 | 0;
+           q[b + 84 >> 2] = a;
+          }
+          if (r[b + 16 | 0]) {
+           break i;
+          }
+          c = q[b + 12 >> 2];
+          a = c + a | 0;
+          h = q[b + 4 >> 2];
+          if (a >>> 0 > h >>> 0) {
+           break i;
+          }
+          q[b + 148 >> 2] = 0;
+          q[b + 24 >> 2] = 0;
+          if (c >>> 0 <= h >>> 0) {
+           q[b + 12 >> 2] = a;
+           return;
+          }
+          o[b + 16 | 0] = 1;
+          q[b + 12 >> 2] = h;
+          return;
+         }
+         return;
+        }
+        L : {
+         if (r[b + 144 | 0] | a >>> 0 > 23) {
+          break L;
+         }
+         M : {
+          N : {
+           c = 1 << a;
+           if (!(c & 10240008)) {
+            if (c & 4194320) {
+             break N;
+            }
+            if ((a | 0) != 21) {
+             break L;
+            }
+            a = q[b + 24 >> 2];
+            c = a >>> 0 > 2;
+            break M;
+           }
+           a = q[b + 24 >> 2];
+           c = a & 1;
+           break M;
+          }
+          a = q[b + 24 >> 2];
+          c = a >>> 0 > 1;
+         }
+         if (!(!a | !c)) {
+          O : {
+           if (!q[b + 32 >> 2]) {
+            a = q[67761];
+            e = a;
+            d = q[67760];
+            q[160656] = d;
+            q[160657] = a;
+            break O;
+           }
+           a = q[b + 36 >> 2];
+           d = q[a >> 2];
+           e = q[a + 4 >> 2];
+          }
+          q[b + 148 >> 2] = 1;
+          o[b + 145 | 0] = 1;
+          q[b + 152 >> 2] = d;
+          q[b + 156 >> 2] = e;
+         }
+         o[b + 144 | 0] = 1;
+        }
+        q[b + 148 >> 2] = 0;
+        c = b + 24 | 0;
+        a = q[c >> 2];
+        q[c >> 2] = 0;
+        q[b + 80 >> 2] = q[b + 80 >> 2] + (a >>> 1 | 0);
+        return;
+       }
+       P : {
+        if (r[b + 144 | 0] | a >>> 0 > 18) {
+         break P;
+        }
+        Q : {
+         if (!(1 << a & 278538)) {
+          if ((a | 0) != 4) {
+           break P;
+          }
+          a = q[b + 24 >> 2];
+          c = a >>> 0 > 1;
+          break Q;
+         }
+         a = q[b + 24 >> 2];
+         c = a & 1;
+        }
+        if (!(!a | !c)) {
+         R : {
+          if (!q[b + 32 >> 2]) {
+           a = q[67761];
+           e = a;
+           d = q[67760];
+           q[160656] = d;
+           q[160657] = a;
+           break R;
+          }
+          a = q[b + 36 >> 2];
+          d = q[a >> 2];
+          e = q[a + 4 >> 2];
+         }
+         q[b + 148 >> 2] = 1;
+         o[b + 145 | 0] = 1;
+         q[b + 152 >> 2] = d;
+         q[b + 156 >> 2] = e;
+        }
+        o[b + 144 | 0] = 1;
+       }
+       q[b + 148 >> 2] = 0;
+       c = b + 24 | 0;
+       a = q[c >> 2];
+       q[c >> 2] = 0;
+       q[b + 76 >> 2] = q[b + 76 >> 2] + (a >>> 1 | 0);
+       return;
+      }
+      tz(b, b + 108 | 0, 1);
+      return;
+     }
+     tz(b, b + 116 | 0, 2);
+     return;
+    }
+    if (!r[b + 144 | 0]) {
+     if (o[b + 24 | 0] & 1) {
+      S : {
+       if (!q[b + 32 >> 2]) {
+        a = q[67761];
+        e = a;
+        d = q[67760];
+        q[160656] = d;
+        q[160657] = a;
+        break S;
+       }
+       a = q[b + 36 >> 2];
+       d = q[a >> 2];
+       e = q[a + 4 >> 2];
+      }
+      q[b + 148 >> 2] = 1;
+      o[b + 145 | 0] = 1;
+      q[b + 152 >> 2] = d;
+      q[b + 156 >> 2] = e;
+     }
+     o[b + 144 | 0] = 1;
+    }
+    q[b + 148 >> 2] = 0;
+    o[b + 72 | 0] = 1;
+    q[b + 24 >> 2] = 0;
+    return;
+   }
+   if (r[b + 16 | 0]) {
+    o[b + 40 | 0] = 1;
+   }
+   a = q[b + 92 >> 2];
+   T : {
+    U : {
+     if (a) {
+      a = a + -1 | 0;
+      q[b + 92 >> 2] = a;
+      if (t[b + 100 >> 2] <= a >>> 0) {
+       break U;
+      }
+      a = q[b + 104 >> 2] + w(a, 28) | 0;
+      break T;
+     }
+     o[b + 88 | 0] = 1;
+    }
+    q[160662] = q[67766];
+    a = q[67765];
+    q[160660] = q[67764];
+    q[160661] = a;
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+   }
+   h = q[a + 4 >> 2];
+   q[b + 44 >> 2] = q[a >> 2];
+   q[b + 48 >> 2] = h;
+   q[b + 68 >> 2] = q[a + 24 >> 2];
+   e = a + 16 | 0;
+   h = e;
+   c = q[h + 4 >> 2];
+   q[b + 60 >> 2] = q[h >> 2];
+   q[b + 64 >> 2] = c;
+   h = a + 8 | 0;
+   c = q[h + 4 >> 2];
+   q[b + 52 >> 2] = q[h >> 2];
+   q[b + 56 >> 2] = c;
+   d = q[h >> 2];
+   h = q[h + 4 >> 2];
+   c = q[a >> 2];
+   a = q[a + 4 >> 2];
+   o[b + 16 | 0] = r[e | 0];
+   q[b + 8 >> 2] = d;
+   q[b + 12 >> 2] = h;
+   q[b >> 2] = c;
+   q[b + 4 >> 2] = a;
+   return;
+  }
+  if (!r[b + 73 | 0]) {
+   if (!r[b + 74 | 0]) {
+    o[b + 74 | 0] = 1;
+    a = q[b + 80 >> 2] + (a >>> 1 | 0) | 0;
+    q[b + 80 >> 2] = a;
+    q[b + 84 >> 2] = (a + q[b + 76 >> 2] | 0) + 7 >>> 3;
+   }
+   o[b + 73 | 0] = 1;
+  }
+ }
+ q[b + 24 >> 2] = 0;
+ q[b + 148 >> 2] = 0;
+}
+function Ym(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0;
+ g = Ca - 48 | 0;
+ Ca = g;
+ t = q[b + 100 >> 2];
+ d = yg(a, 0);
+ q[g + 36 >> 2] = d;
+ a : {
+  if (d) {
+   break a;
+  }
+  q[g + 24 >> 2] = 0;
+  q[g + 28 >> 2] = 8;
+  q[g + 16 >> 2] = 1;
+  q[g + 20 >> 2] = 1;
+  q[g + 40 >> 2] = 0;
+  i = Oe(t, 64, g + 40 | 0);
+  b : {
+   c : {
+    d : {
+     d = q[g + 40 >> 2];
+     if (!d) {
+      p[i + 12 >> 1] = 32767;
+      q[i + 36 >> 2] = g + 16;
+      d = q[a + 4 >> 2];
+      q[i + 56 >> 2] = t;
+      q[i + 60 >> 2] = d;
+      q[i + 40 >> 2] = 0;
+      q[i + 44 >> 2] = 0;
+      q[i + 48 >> 2] = 0;
+      q[i + 52 >> 2] = t;
+      z = q[a + 28 >> 2];
+      q[g + 44 >> 2] = 0;
+      d = 1024;
+      h = Te(z, 1, 0, 1024, 0, g + 44 | 0);
+      if (q[g + 44 >> 2]) {
+       break d;
+      }
+      q[g >> 2] = 291;
+      o[h | 0] = 0;
+      l = 256;
+      e = 0;
+      x = 1;
+      e : while (1) {
+       j = d;
+       f : while (1) {
+        k = 0;
+        d = 0;
+        while (1) {
+         if (!(k & 1)) {
+          u = Ig(a, e + h | 0, j - e | 0);
+          f = u + e | 0;
+          e = 0;
+         }
+         g : {
+          h : {
+           i : {
+            j : {
+             if ((f | 0) <= (d | 0)) {
+              break j;
+             }
+             y = d + h | 0;
+             k = o[y | 0];
+             if ((l | 0) == (k | 0)) {
+              break g;
+             }
+             m = d;
+             while (1) {
+              k : {
+               A = k & 255;
+               v = A + -10 | 0;
+               if (v >>> 0 > 3) {
+                break k;
+               }
+               switch (v - 1 | 0) {
+               case 0:
+               case 1:
+                break k;
+               default:
+                break i;
+               }
+              }
+              m = m + 1 | 0;
+              if ((m | 0) == (f | 0)) {
+               break j;
+              }
+              k = r[h + m | 0];
+              continue;
+             }
+            }
+            if (!u) {
+             break d;
+            }
+            if (!d) {
+             if (j >>> 0 < 65536) {
+              break h;
+             }
+             q[g + 44 >> 2] = 6;
+             break d;
+            }
+            u = f - d | 0;
+            _$(h, d + h | 0, u);
+            e = u;
+            f = d;
+            continue f;
+           }
+           l = h + m | 0;
+           o[l | 0] = 0;
+           l : {
+            m : {
+             v = r[y | 0] + -26 | 0;
+             if (v >>> 0 > 9) {
+              break m;
+             }
+             switch (v - 1 | 0) {
+             case 0:
+             case 1:
+             case 2:
+             case 3:
+             case 4:
+             case 5:
+             case 6:
+             case 7:
+              break m;
+             default:
+              break l;
+             }
+            }
+            if ((m | 0) <= (d | 0)) {
+             break l;
+            }
+            v = m - d | 0;
+            d = n[q[g >> 2]](y, v, x, g, i) | 0;
+            q[g + 44 >> 2] = d;
+            if ((d | 0) == -1) {
+             d = n[q[g >> 2]](y, v, x, g, i) | 0;
+             q[g + 44 >> 2] = d;
+            }
+            if (d) {
+             break d;
+            }
+           }
+           o[l | 0] = k;
+           l = (A | 0) == 10 ? 13 : (A | 0) == 13 ? 10 : 256;
+           k = 1;
+           d = m + 1 | 0;
+           x = x + 1 | 0;
+           continue;
+          }
+          d = j << 1;
+          h = Te(z, 1, j, d, h, g + 44 | 0);
+          e = j;
+          if (!q[g + 44 >> 2]) {
+           continue e;
+          }
+          break d;
+         }
+         k = 1;
+         d = d + 1 | 0;
+         l = 256;
+         continue;
+        }
+       }
+      }
+     }
+     if (!i) {
+      break b;
+     }
+     break c;
+    }
+    Qe(z, h);
+    a = q[g + 44 >> 2];
+    q[g + 40 >> 2] = a;
+    f = q[i + 32 >> 2];
+    n : {
+     if (a) {
+      break n;
+     }
+     o : {
+      p : {
+       q : {
+        if (f) {
+         if (q[f + 28 >> 2] != 8) {
+          p[f + 32 >> 1] = s[f + 4 >> 1];
+         }
+         r : {
+          if (!q[q[i + 36 >> 2] >> 2] | !(q[f + 52 >> 2] | q[f + 64 >> 2])) {
+           break r;
+          }
+          a = p[i + 12 >> 1];
+          d = p[i + 16 >> 1] - a | 0;
+          if ((d | 0) != s[f + 4 >> 1]) {
+           p[f + 4 >> 1] = d;
+          }
+          if (s[f + 8 >> 1] != (a & 65535)) {
+           p[f + 8 >> 1] = a;
+          }
+          a = s[i + 18 >> 1];
+          d = a << 16;
+          if ((a | 0) != s[f + 12 >> 1]) {
+           p[f + 12 >> 1] = a;
+          }
+          d = d >> 16;
+          a = s[i + 20 >> 1];
+          e = a << 16 >> 16;
+          if ((a | 0) != s[f + 14 >> 1]) {
+           p[f + 14 >> 1] = a;
+           p[f + 10 >> 1] = 0 - a;
+          }
+          a = d + e | 0;
+          if ((a | 0) == s[f + 6 >> 1]) {
+           break r;
+          }
+          p[f + 6 >> 1] = a;
+         }
+         d = q[i >> 2];
+         if (d & 1) {
+          break q;
+         }
+         a = q[f + 88 >> 2];
+         if (!a) {
+          break c;
+         }
+         a = Te(q[f + 100 >> 2], 1, a, a + 1 | 0, q[f + 84 >> 2], g + 40 | 0);
+         f = q[i + 32 >> 2];
+         q[f + 84 >> 2] = a;
+         if (q[g + 40 >> 2]) {
+          break n;
+         }
+         o[a + q[f + 88 >> 2] | 0] = 0;
+         f = q[i + 32 >> 2];
+         break c;
+        }
+        d = q[i >> 2];
+        if (!(d & 1)) {
+         break p;
+        }
+       }
+       if (d & 32) {
+        break o;
+       }
+       q[g + 40 >> 2] = 185;
+       break n;
+      }
+      q[g + 40 >> 2] = 3;
+      break c;
+     }
+     q[g + 40 >> 2] = 186;
+    }
+    _m(f);
+    Qe(t, q[i + 32 >> 2]);
+    f = 0;
+    q[i + 32 >> 2] = 0;
+   }
+   a = q[i + 52 >> 2];
+   if (a) {
+    d = a;
+    a = i + 40 | 0;
+    Qe(d, q[a >> 2]);
+    q[a + 8 >> 2] = 0;
+    q[a + 12 >> 2] = 0;
+    q[a >> 2] = 0;
+    q[a + 4 >> 2] = 0;
+   }
+   Qe(t, q[i + 24 >> 2]);
+   q[i + 24 >> 2] = 0;
+   Qe(t, i);
+   d = q[g + 40 >> 2];
+  }
+  q[g + 36 >> 2] = d;
+  s : {
+   t : {
+    u : {
+     v : {
+      w : {
+       if ((d & 255) != 176) {
+        if (d) {
+         break a;
+        }
+        q[b + 140 >> 2] = f;
+        if (!(!(c & 65535) | (c | 0) < 1)) {
+         $m(b);
+         d = 6;
+         break a;
+        }
+        q[b >> 2] = 1;
+        q[b + 4 >> 2] = 0;
+        q[b + 8 >> 2] = q[b + 8 >> 2] | 18;
+        if (!f | !q[f + 72 >> 2]) {
+         break t;
+        }
+        a = ff(25904, q[f + 92 >> 2]);
+        if (!a) {
+         break u;
+        }
+        c = q[f + 80 >> 2];
+        if (!c) {
+         break u;
+        }
+        a = c + (q[a >> 2] << 4) | 0;
+        if (q[a + 4 >> 2] != 1) {
+         break u;
+        }
+        a = q[a + 12 >> 2];
+        if (!a) {
+         break u;
+        }
+        a = r[a | 0];
+        c = a + -67 | 0;
+        if (c >>> 0 <= 10) {
+         break w;
+        }
+        a = a + -99 | 0;
+        if (a >>> 0 > 10) {
+         break u;
+        }
+        switch (a - 1 | 0) {
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+         break u;
+        default:
+         break v;
+        }
+       }
+       $m(b);
+       d = 2;
+       break a;
+      }
+      switch (c - 1 | 0) {
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 8:
+       break u;
+      default:
+       break v;
+      }
+     }
+     q[b + 8 >> 2] = q[b + 8 >> 2] | 4;
+    }
+    if (!q[f + 72 >> 2]) {
+     break t;
+    }
+    a = ff(25912, q[f + 92 >> 2]);
+    if (!a) {
+     break t;
+    }
+    c = q[f + 80 >> 2];
+    if (!c) {
+     break t;
+    }
+    a = q[(c + (q[a >> 2] << 4) | 0) + 12 >> 2];
+    if (!a) {
+     break t;
+    }
+    B = b, C = Zg(t, a, g + 36 | 0), q[B + 20 >> 2] = C;
+    d = q[g + 36 >> 2];
+    if (!d) {
+     break s;
+    }
+    break a;
+   }
+   q[b + 20 >> 2] = 0;
+  }
+  e = 0;
+  q[g >> 2] = 0;
+  q[b + 12 >> 2] = 0;
+  h = q[b + 100 >> 2];
+  u = 1;
+  d = q[b + 140 >> 2];
+  x : {
+   y : {
+    if (!(!d | !q[d + 72 >> 2])) {
+     k = 0;
+     m = 0;
+     a = ff(28325, q[d + 92 >> 2]);
+     z : {
+      if (!a) {
+       break z;
+      }
+      c = q[d + 80 >> 2];
+      if (!c) {
+       break z;
+      }
+      a = c + (q[a >> 2] << 4) | 0;
+      if (q[a + 4 >> 2] != 1) {
+       break z;
+      }
+      c = q[a + 12 >> 2];
+      if (!c) {
+       break z;
+      }
+      c = r[c | 0] + -73 | 0;
+      if (c >>> 0 > 38) {
+       break z;
+      }
+      A : {
+       switch (c - 1 | 0) {
+       case 0:
+       case 1:
+       case 2:
+       case 3:
+       case 4:
+       case 6:
+       case 7:
+       case 8:
+       case 9:
+       case 10:
+       case 11:
+       case 12:
+       case 13:
+       case 14:
+       case 15:
+       case 16:
+       case 17:
+       case 18:
+       case 19:
+       case 20:
+       case 21:
+       case 22:
+       case 23:
+       case 24:
+       case 25:
+       case 26:
+       case 27:
+       case 28:
+       case 29:
+       case 30:
+       case 32:
+       case 33:
+       case 34:
+       case 35:
+       case 36:
+        break z;
+       default:
+        break A;
+       }
+      }
+      q[b + 12 >> 2] = q[b + 12 >> 2] | 1;
+      m = (r[q[a + 12 >> 2]] | 32) == 111 ? 28896 : 28904;
+     }
+     B : {
+      if (!q[d + 72 >> 2]) {
+       c = 0;
+       l = 0;
+       j = 0;
+       i = 0;
+       d = 0;
+       break B;
+      }
+      c = 0;
+      a = ff(28511, q[d + 92 >> 2]);
+      j = 0;
+      C : {
+       if (!a) {
+        break C;
+       }
+       e = q[d + 80 >> 2];
+       j = 0;
+       if (!e) {
+        break C;
+       }
+       a = e + (q[a >> 2] << 4) | 0;
+       j = 0;
+       if (q[a + 4 >> 2] != 1) {
+        break C;
+       }
+       a = q[a + 12 >> 2];
+       j = 0;
+       if (!a) {
+        break C;
+       }
+       j = 0;
+       if ((r[a | 0] | 32) != 98) {
+        break C;
+       }
+       q[b + 12 >> 2] = q[b + 12 >> 2] | 2;
+       j = 28911;
+      }
+      D : {
+       E : {
+        F : {
+         if (!q[d + 72 >> 2]) {
+          break F;
+         }
+         l = 0;
+         c = ff(28311, q[d + 92 >> 2]);
+         a = 0;
+         G : {
+          if (!c) {
+           break G;
+          }
+          e = q[d + 80 >> 2];
+          a = 0;
+          if (!e) {
+           break G;
+          }
+          c = e + (q[c >> 2] << 4) | 0;
+          a = 0;
+          if (q[c + 4 >> 2] != 1) {
+           break G;
+          }
+          c = q[c + 12 >> 2];
+          a = 0;
+          if (!c) {
+           break G;
+          }
+          e = r[c | 0];
+          a = 0;
+          if (!e) {
+           break G;
+          }
+          a = 0;
+          if ((e | 0) == 78) {
+           break G;
+          }
+          a = 0;
+          if ((e | 0) == 110) {
+           break G;
+          }
+          a = c;
+         }
+         c = a;
+         if (!q[d + 72 >> 2]) {
+          break E;
+         }
+         a = ff(27520, q[d + 92 >> 2]);
+         if (!a) {
+          break F;
+         }
+         d = q[d + 80 >> 2];
+         if (!d) {
+          break F;
+         }
+         a = d + (q[a >> 2] << 4) | 0;
+         if (q[a + 4 >> 2] != 1) {
+          break E;
+         }
+         l = q[a + 12 >> 2];
+         if (!l) {
+          break F;
+         }
+         a = r[l | 0];
+         if (!(!a | (a | 0) == 78 | (a | 0) == 110)) {
+          k = g0(l);
+          d = k + 1 | 0;
+          break D;
+         }
+         l = 0;
+         d = 0;
+         break D;
+        }
+        l = 0;
+       }
+       d = 0;
+      }
+      if (!j) {
+       j = 0;
+       i = 0;
+       break B;
+      }
+      i = g0(j);
+      d = (i + d | 0) + 1 | 0;
+      u = 0;
+     }
+     e = 0;
+     H : {
+      if (!m) {
+       a = 0;
+       break H;
+      }
+      a = g0(m);
+      d = (d + a | 0) + 1 | 0;
+     }
+     if (c) {
+      e = g0(c);
+      d = (e + d | 0) + 1 | 0;
+     }
+     if (!d) {
+      break y;
+     }
+     break x;
+    }
+    i = 0;
+    j = 0;
+    m = 0;
+    c = 0;
+    a = 0;
+   }
+   d = 8;
+   l = 28916;
+   k = 7;
+  }
+  h = Oe(h, d, g);
+  q[b + 24 >> 2] = h;
+  d = q[g >> 2];
+  if (d) {
+   q[g + 36 >> 2] = d;
+   break a;
+  }
+  if (l) {
+   h = Y$(h, l, k);
+   if (k) {
+    d = 0;
+    while (1) {
+     l = d + h | 0;
+     if (r[l | 0] == 32) {
+      o[l | 0] = 45;
+     }
+     d = d + 1 | 0;
+     if ((k | 0) != (d | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   h = h + k | 0;
+  }
+  if (!u) {
+   if (q[b + 24 >> 2] != (h | 0)) {
+    o[h | 0] = 32;
+    h = h + 1 | 0;
+   }
+   h = Y$(h, j, i) + i | 0;
+  }
+  if (m) {
+   if (q[b + 24 >> 2] != (h | 0)) {
+    o[h | 0] = 32;
+    h = h + 1 | 0;
+   }
+   h = Y$(h, m, a) + a | 0;
+  }
+  if (c) {
+   if (q[b + 24 >> 2] != (h | 0)) {
+    o[h | 0] = 32;
+    h = h + 1 | 0;
+   }
+   a = Y$(h, c, e);
+   if (e) {
+    d = 0;
+    while (1) {
+     c = a + d | 0;
+     if (r[c | 0] == 32) {
+      o[c | 0] = 45;
+     }
+     d = d + 1 | 0;
+     if ((e | 0) != (d | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   h = a + e | 0;
+  }
+  o[h | 0] = 0;
+  d = q[g >> 2];
+  q[g + 36 >> 2] = d;
+  if (d) {
+   break a;
+  }
+  a = q[f + 48 >> 2];
+  q[b + 28 >> 2] = 1;
+  q[b + 16 >> 2] = a + 1;
+  a = Te(t, 16, 0, 1, 0, g + 36 | 0);
+  q[b + 32 >> 2] = a;
+  d = q[g + 36 >> 2];
+  if (d) {
+   break a;
+  }
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+  d = q[f + 40 >> 2];
+  if (d + 32767 >>> 0 >= 65535) {
+   d = (d | 0) < 0 ? -32767 : 32767;
+   q[f + 40 >> 2] = d;
+  }
+  h = q[f + 44 >> 2];
+  if (h + 32767 >>> 0 >= 65535) {
+   h = (h | 0) < 0 ? -32767 : 32767;
+   q[f + 44 >> 2] = h;
+  }
+  p[a >> 1] = d + h;
+  c = a;
+  I : {
+   J : {
+    if (!q[f + 72 >> 2]) {
+     break J;
+    }
+    e = ff(25924, q[f + 92 >> 2]);
+    if (!e) {
+     break J;
+    }
+    h = q[f + 80 >> 2];
+    if (!h) {
+     break J;
+    }
+    e = q[(h + (q[e >> 2] << 4) | 0) + 12 >> 2];
+    d = 32767;
+    if (e + 327665 >>> 0 > 655330) {
+     break I;
+    }
+    e = (e + 5 | 0) / 10 | 0;
+    d = e >> 31;
+    d = d ^ d + e;
+    break I;
+   }
+   d = ue(p[a >> 1], 2, 3);
+  }
+  p[c + 2 >> 1] = d;
+  c = a;
+  K : {
+   L : {
+    if (!q[f + 72 >> 2]) {
+     break L;
+    }
+    e = ff(25938, q[f + 92 >> 2]);
+    if (!e) {
+     break L;
+    }
+    h = q[f + 80 >> 2];
+    if (!h) {
+     break L;
+    }
+    e = q[(h + (q[e >> 2] << 4) | 0) + 12 >> 2];
+    d = 32767;
+    if (e + 328898 >>> 0 > 657796) {
+     break K;
+    }
+    d = e >> 31;
+    d = ue(d + e ^ d, 460800, 72270);
+    break K;
+   }
+   d = q[f + 16 >> 2];
+   if (d) {
+    d = d >>> 0 > 32767 ? 32767 : d << 6;
+    break K;
+   }
+   d = p[a + 2 >> 1] << 6;
+  }
+  q[c + 4 >> 2] = d;
+  h = 0;
+  c = 0;
+  M : {
+   if (!q[f + 72 >> 2]) {
+    break M;
+   }
+   c = ff(25949, q[f + 92 >> 2]);
+   N : {
+    if (!c) {
+     break N;
+    }
+    d = q[f + 80 >> 2];
+    if (!d) {
+     break N;
+    }
+    c = q[(d + (q[c >> 2] << 4) | 0) + 12 >> 2];
+    if (c + 32767 >>> 0 >= 65535) {
+     q[a + 12 >> 2] = 2097088;
+     break N;
+    }
+    d = c;
+    c = c >> 31;
+    q[a + 12 >> 2] = (d + c ^ c) << 6;
+   }
+   c = 0;
+   if (!q[f + 72 >> 2]) {
+    break M;
+   }
+   d = ff(25960, q[f + 92 >> 2]);
+   c = 0;
+   if (!d) {
+    break M;
+   }
+   c = q[f + 80 >> 2] + (q[d >> 2] << 4) | 0;
+  }
+  c = q[(c ? c + 12 | 0 : f + 20 | 0) >> 2];
+  O : {
+   if (!c) {
+    break O;
+   }
+   h = 32767;
+   if (c + 32767 >>> 0 > 65534) {
+    break O;
+   }
+   d = c;
+   c = c >> 31;
+   h = d + c ^ c;
+  }
+  k = 0;
+  c = 0;
+  P : {
+   if (!q[f + 72 >> 2]) {
+    break P;
+   }
+   d = ff(25973, q[f + 92 >> 2]);
+   c = 0;
+   if (!d) {
+    break P;
+   }
+   c = q[f + 80 >> 2] + (q[d >> 2] << 4) | 0;
+  }
+  c = q[(c ? c + 12 | 0 : f + 24 | 0) >> 2];
+  Q : {
+   if (!c) {
+    break Q;
+   }
+   k = 32767;
+   if (c + 32767 >>> 0 > 65534) {
+    break Q;
+   }
+   d = c;
+   c = c >> 31;
+   k = d + c ^ c;
+  }
+  d = q[a + 12 >> 2];
+  R : {
+   if (!d) {
+    d = q[a + 4 >> 2];
+    q[a + 12 >> 2] = d;
+    c = k & 65535;
+    if (!c) {
+     break R;
+    }
+    d = ue(d, c, 72);
+    q[a + 12 >> 2] = d;
+   }
+   if (!h) {
+    break R;
+   }
+   c = k & 65535;
+   if (!c) {
+    break R;
+   }
+   d = ue(d, h, c);
+  }
+  q[a + 8 >> 2] = d;
+  c = q[f + 56 >> 2];
+  e = Te(t, 8, 0, q[f + 48 >> 2], 0, g + 36 | 0);
+  q[b + 144 >> 2] = e;
+  d = q[g + 36 >> 2];
+  if (d) {
+   break a;
+  }
+  q[b + 148 >> 2] = 0;
+  h = q[f + 48 >> 2];
+  if (h) {
+   j = q[f + 36 >> 2];
+   d = 0;
+   while (1) {
+    a = q[(c + w(d, 36) | 0) + 4 >> 2];
+    u = e + (d << 3) | 0;
+    p[u + 4 >> 1] = d;
+    q[u >> 2] = a;
+    if ((a | 0) == (j | 0)) {
+     q[b + 148 >> 2] = d;
+    }
+    d = d + 1 | 0;
+    if ((h | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  S : {
+   if (!q[f + 72 >> 2]) {
+    break S;
+   }
+   c = ff(25986, q[f + 92 >> 2]);
+   a = 0;
+   T : {
+    if (!c) {
+     break T;
+    }
+    a = q[f + 80 >> 2] + (q[c >> 2] << 4) | 0;
+   }
+   if (!q[f + 72 >> 2]) {
+    break S;
+   }
+   d = ff(26003, q[f + 92 >> 2]);
+   if (!d | !a) {
+    break S;
+   }
+   c = q[f + 80 >> 2];
+   if (!c | q[a + 4 >> 2] != 1) {
+    break S;
+   }
+   d = q[d >> 2];
+   if (!q[a + 12 >> 2] | q[(c + (d << 4) | 0) + 4 >> 2] != 1) {
+    break S;
+   }
+   c = q[(c + (d << 4) | 0) + 12 >> 2];
+   if (!c) {
+    break S;
+   }
+   B = b, C = Zg(t, c, g + 36 | 0), q[B + 132 >> 2] = C;
+   d = q[g + 36 >> 2];
+   if (d) {
+    break a;
+   }
+   a = Zg(t, q[a + 12 >> 2], g + 36 | 0);
+   q[b + 136 >> 2] = a;
+   d = q[g + 36 >> 2];
+   if (d) {
+    break a;
+   }
+   U : {
+    V : {
+     W : {
+      X : {
+       if (!((r[a | 0] | 32) != 105 | (r[a + 1 | 0] | 32) != 115 | (r[a + 2 | 0] | 32) != 111)) {
+        a = a + 3 | 0;
+        if (!iZ(a, 26020)) {
+         break X;
+        }
+        if (!iZ(a, 26026)) {
+         if (!iZ(q[b + 132 >> 2], 26031)) {
+          break X;
+         }
+        }
+        if (!iZ(a, 26033)) {
+         break W;
+        }
+       }
+       q[g + 4 >> 2] = 0;
+       q[g + 8 >> 2] = 0;
+       q[g >> 2] = b;
+       break U;
+      }
+      q[g + 4 >> 2] = 0;
+      q[g + 8 >> 2] = 0;
+      q[g >> 2] = b;
+      break V;
+     }
+     a = iZ(q[b + 132 >> 2], 26042);
+     q[g + 4 >> 2] = 0;
+     q[g + 8 >> 2] = 0;
+     q[g >> 2] = b;
+     if (a) {
+      break U;
+     }
+    }
+    q[g + 4 >> 2] = 1970170211;
+    q[g + 8 >> 2] = 65539;
+   }
+   d = Xf(26048, 0, g, 0);
+   q[g + 36 >> 2] = d;
+   break a;
+  }
+  q[g + 4 >> 2] = 1094995778;
+  q[g + 8 >> 2] = 7;
+  q[g >> 2] = b;
+  d = Xf(26048, 0, g, 0);
+  q[g + 36 >> 2] = d;
+  if (!q[b + 36 >> 2]) {
+   break a;
+  }
+  q[b + 92 >> 2] = q[q[b + 40 >> 2] >> 2];
+ }
+ Ca = g + 48 | 0;
+ return d | 0;
+}
+function lB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, u = 0, v = 0, x = 0, y = 0;
+ d = Ca - 112 | 0;
+ Ca = d;
+ q[a + 84 >> 2] = 0;
+ q[a + 88 >> 2] = 0;
+ q[a + 100 >> 2] = 0;
+ q[a + 104 >> 2] = 0;
+ q[a + 92 >> 2] = 0;
+ q[a + 96 >> 2] = 0;
+ g = a + 108 | 0;
+ c = g;
+ q[c >> 2] = -1;
+ q[c + 4 >> 2] = -1;
+ q[a + 116 >> 2] = -1;
+ q[a + 120 >> 2] = -1;
+ q[a + 124 >> 2] = -1;
+ q[a + 128 >> 2] = -1;
+ q[a + 132 >> 2] = -1;
+ q[a + 136 >> 2] = -1;
+ q[a + 140 >> 2] = -1;
+ q[a + 144 >> 2] = -1;
+ q[a + 148 >> 2] = -1;
+ f = a + 164 | 0;
+ c = f;
+ q[c >> 2] = 0;
+ q[c + 4 >> 2] = 0;
+ q[a + 156 >> 2] = 0;
+ q[a + 160 >> 2] = 8720;
+ q[a + 172 >> 2] = 0;
+ q[a + 176 >> 2] = 0;
+ q[a + 180 >> 2] = 0;
+ q[a + 184 >> 2] = 0;
+ q[a + 188 >> 2] = 0;
+ q[a + 192 >> 2] = 0;
+ q[a + 196 >> 2] = 0;
+ q[a + 200 >> 2] = 0;
+ q[a + 204 >> 2] = 0;
+ q[a + 208 >> 2] = 0;
+ if (!r[a + 40 | 0]) {
+  c = kF(b);
+  o[a + 40 | 0] = 1;
+  q[a + 36 >> 2] = c;
+ }
+ j = a + 4 | 0;
+ b = pB(j, iF(b, 1128678944));
+ q[a >> 2] = b;
+ b = Hq(b);
+ o[a + 24 | 0] = 0;
+ q[a + 32 >> 2] = b;
+ c = q[b + 12 >> 2];
+ q[a + 8 >> 2] = c;
+ i = c;
+ c = q[b + 16 >> 2];
+ q[a + 12 >> 2] = i + c;
+ a : {
+  b : {
+   if ((c | 0) > -1) {
+    q[a + 4 >> 2] = 0;
+    q[a + 28 >> 2] = 0;
+    b = a;
+    if (c >>> 0 > 536870910) {
+     c = 1073741823;
+    } else {
+     c = c << 3;
+     c = c >>> 0 > 16384 ? c : 16384;
+     c = c >>> 0 < 1073741823 ? c : 1073741823;
+    }
+    q[b + 16 >> 2] = c;
+    b = q[a >> 2];
+    l = q[b + 12 >> 2];
+    if (!(t[b + 16 >> 2] > 3 ? (l | 0) != 271040 : 0)) {
+     Kq(a);
+     break a;
+    }
+    b = r[l + 2 | 0];
+    b = b ? b + l | 0 : 271040;
+    q[a + 52 >> 2] = b;
+    c : {
+     if ((b | 0) != 271040) {
+      if (qB(b, j)) {
+       break c;
+      }
+     }
+     Kq(a);
+     break a;
+    }
+    h = a;
+    i = q[a + 52 >> 2];
+    b = 0;
+    d : {
+     if ((i | 0) == 271040) {
+      break d;
+     }
+     k = r[i + 1 | 0] | r[i | 0] << 8;
+     b = 2;
+     if (!k) {
+      break d;
+     }
+     c = r[i + 2 | 0];
+     p = w(c, k + 1 | 0);
+     if (c) {
+      b = (i + w(c, k) | 0) + 3 | 0;
+      while (1) {
+       e = r[b | 0] | e << 8;
+       b = b + 1 | 0;
+       c = c + -1 | 0;
+       if (c) {
+        continue;
+       }
+       break;
+      }
+     }
+     b = (e + p | 0) + 2 | 0;
+    }
+    b = b + i | 0;
+    q[h + 56 >> 2] = b;
+    e : {
+     f : {
+      if ((b | 0) == 271040) {
+       break f;
+      }
+      if (!qB(b, j)) {
+       break f;
+      }
+      h = q[a + 56 >> 2];
+      b = r[h | 0] << 8 | r[h + 1 | 0];
+      if (b) {
+       break e;
+      }
+     }
+     Kq(a);
+     break a;
+    }
+    e = r[h + 2 | 0];
+    i = (h + w(e, b + 1 | 0) | 0) + 3 | 0;
+    c = 0;
+    if (e) {
+     b = h + 3 | 0;
+     while (1) {
+      c = r[b | 0] | c << 8;
+      b = b + 1 | 0;
+      e = e + -1 | 0;
+      if (e) {
+       continue;
+      }
+      break;
+     }
+    }
+    b = (c + i | 0) + -1 | 0;
+    g : {
+     h = nB(h, 0);
+     c = h + 1 | 0;
+     h : {
+      if (c >>> 0 <= 1) {
+       if (c - 1) {
+        break h;
+       }
+       break g;
+      }
+      if (t[a + 8 >> 2] > b >>> 0) {
+       break h;
+      }
+      c = q[a + 12 >> 2];
+      if (c >>> 0 < b >>> 0 | c - b >>> 0 < h >>> 0) {
+       break h;
+      }
+      c = q[a + 16 >> 2];
+      q[a + 16 >> 2] = c + -1;
+      if ((c | 0) > 0) {
+       break g;
+      }
+     }
+     Kq(a);
+     break a;
+    }
+    c = a + 84 | 0;
+    i = d + 72 | 0;
+    q[i >> 2] = 0;
+    q[i + 4 >> 2] = 0;
+    k = d - -64 | 0;
+    q[k >> 2] = 0;
+    q[k + 4 >> 2] = 0;
+    q[d + 88 >> 2] = 0;
+    q[d + 92 >> 2] = 0;
+    o[d + 96 | 0] = 0;
+    q[d + 80 >> 2] = 0;
+    q[d + 84 >> 2] = 0;
+    o[i | 0] = 0;
+    q[d + 56 >> 2] = 0;
+    q[d + 60 >> 2] = 0;
+    q[d + 100 >> 2] = 0;
+    q[d + 104 >> 2] = 0;
+    q[d + 56 >> 2] = b;
+    q[d + 60 >> 2] = h;
+    o[d + 76 | 0] = 0;
+    b = L$(4744);
+    i : {
+     if (!b) {
+      q[d + 84 >> 2] = -1;
+      break i;
+     }
+     q[d + 84 >> 2] = 593;
+     q[d + 88 >> 2] = 513;
+     q[d + 92 >> 2] = b;
+     Z$(b, 0, 4104);
+    }
+    o[d + 96 | 0] = 0;
+    q[c + 16 >> 2] = 0;
+    q[c + 20 >> 2] = 0;
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    q[c >> 2] = 0;
+    q[c + 4 >> 2] = 0;
+    q[g + 40 >> 2] = -1;
+    b = g;
+    q[b + 32 >> 2] = -1;
+    q[b + 36 >> 2] = -1;
+    q[b + 24 >> 2] = -1;
+    q[b + 28 >> 2] = -1;
+    q[b + 16 >> 2] = -1;
+    q[b + 20 >> 2] = -1;
+    q[b + 8 >> 2] = -1;
+    q[b + 12 >> 2] = -1;
+    q[b >> 2] = -1;
+    q[b + 4 >> 2] = -1;
+    q[a + 156 >> 2] = 0;
+    q[a + 160 >> 2] = 8720;
+    b = f;
+    q[b + 8 >> 2] = 0;
+    q[b + 12 >> 2] = 0;
+    q[b + 16 >> 2] = 0;
+    q[b + 20 >> 2] = 0;
+    q[b >> 2] = 0;
+    q[b + 4 >> 2] = 0;
+    if (!rB(d + 56 | 0, c)) {
+     Kq(a);
+     M$(q[d + 92 >> 2]);
+     break a;
+    }
+    M$(q[d + 92 >> 2]);
+    b = q[a + 168 >> 2];
+    if (b >>> 0 <= 2) {
+     q[a + 48 >> 2] = 271040;
+     break b;
+    }
+    b = b + l | 0;
+    q[a + 48 >> 2] = b;
+    if ((b | 0) != 271040) {
+     if (sB(b, j)) {
+      break b;
+     }
+    }
+    Kq(a);
+    break a;
+   }
+   J(242576, 242601, 195, 242618);
+   F();
+  }
+  q[a + 80 >> 2] = 1;
+  j : {
+   k : {
+    l : {
+     if (q[a + 144 >> 2] != -1) {
+      b = q[a + 104 >> 2];
+      b = b ? b + l | 0 : 271040;
+      q[a + 72 >> 2] = b;
+      c = q[a + 172 >> 2];
+      q[a + 76 >> 2] = c ? c + l | 0 : 271040;
+      if ((b | 0) == 271040) {
+       break j;
+      }
+      if (!qB(b, j)) {
+       break j;
+      }
+      b = q[a + 76 >> 2];
+      if ((b | 0) == 271040) {
+       break j;
+      }
+      i = q[a + 8 >> 2];
+      if (i >>> 0 > b >>> 0) {
+       break j;
+      }
+      k = q[a + 12 >> 2];
+      if (k >>> 0 <= b >>> 0) {
+       break j;
+      }
+      h = q[a + 72 >> 2];
+      c = r[h | 0];
+      p = r[h + 1 | 0];
+      m = q[a + 16 >> 2];
+      g = m + -1 | 0;
+      q[a + 16 >> 2] = g;
+      if ((m | 0) < 1) {
+       break j;
+      }
+      m = r[b | 0];
+      if (m >>> 0 > 3) {
+       break j;
+      }
+      m : {
+       n : {
+        switch (m - 1 | 0) {
+        default:
+         p = q[a + 36 >> 2];
+         if (!p) {
+          break m;
+         }
+         m = b + 1 | 0;
+         b = 0;
+         c = g;
+         while (1) {
+          e = b + m | 0;
+          if (i >>> 0 > e >>> 0 | k >>> 0 <= e >>> 0) {
+           break j;
+          }
+          c = c + -1 | 0;
+          q[a + 16 >> 2] = c;
+          if ((b | 0) == (g | 0)) {
+           break j;
+          }
+          b = b + 1 | 0;
+          if ((p | 0) != (b | 0)) {
+           continue;
+          }
+          break;
+         }
+         break m;
+        case 0:
+        case 1:
+         break j;
+        case 2:
+         break n;
+        }
+       }
+       if (!tB(b + 1 | 0, j, p | c << 8)) {
+        break j;
+       }
+       h = q[a + 72 >> 2];
+      }
+      b = r[h + 1 | 0];
+      c = r[h | 0];
+      q[a + 44 >> 2] = 271040;
+      q[a + 80 >> 2] = b | c << 8;
+      b = a + 44 | 0;
+      if (q[a + 144 >> 2] == -1) {
+       break l;
+      }
+      if (q[a + 48 >> 2] != 271040) {
+       break k;
+      }
+      Kq(a);
+      break a;
+     }
+     q[a + 76 >> 2] = 271040;
+     q[a + 72 >> 2] = 271040;
+     q[a + 44 >> 2] = 271040;
+     b = a + 44 | 0;
+    }
+    c = q[f >> 2];
+    if (c >>> 0 < 2) {
+     break k;
+    }
+    f = b;
+    b = c + l | 0;
+    q[f >> 2] = b;
+    if ((b | 0) != 271040) {
+     if (uB(b, j)) {
+      break k;
+     }
+    }
+    Kq(a);
+    break a;
+   }
+   g = a;
+   f = q[a + 56 >> 2];
+   b = 0;
+   o : {
+    if ((f | 0) == 271040) {
+     break o;
+    }
+    h = r[f + 1 | 0] | r[f | 0] << 8;
+    b = 2;
+    if (!h) {
+     break o;
+    }
+    c = r[f + 2 | 0];
+    i = w(c, h + 1 | 0);
+    p : {
+     if (!c) {
+      e = 0;
+      break p;
+     }
+     b = (f + w(c, h) | 0) + 3 | 0;
+     e = 0;
+     while (1) {
+      e = r[b | 0] | e << 8;
+      b = b + 1 | 0;
+      c = c + -1 | 0;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+    }
+    b = (e + i | 0) + 2 | 0;
+   }
+   b = b + f | 0;
+   q[g + 60 >> 2] = b;
+   q : {
+    if ((b | 0) != 271040) {
+     if (qB(b, j)) {
+      break q;
+     }
+    }
+    Kq(a);
+    break a;
+   }
+   g = a;
+   f = q[a + 60 >> 2];
+   b = 0;
+   r : {
+    if ((f | 0) == 271040) {
+     break r;
+    }
+    h = r[f + 1 | 0] | r[f | 0] << 8;
+    b = 2;
+    if (!h) {
+     break r;
+    }
+    c = r[f + 2 | 0];
+    i = w(c, h + 1 | 0);
+    s : {
+     if (!c) {
+      e = 0;
+      break s;
+     }
+     b = (f + w(c, h) | 0) + 3 | 0;
+     e = 0;
+     while (1) {
+      e = r[b | 0] | e << 8;
+      b = b + 1 | 0;
+      c = c + -1 | 0;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+    }
+    b = (e + i | 0) + 2 | 0;
+   }
+   b = b + f | 0;
+   q[g + 64 >> 2] = b;
+   t : {
+    if ((b | 0) == 271040) {
+     break t;
+    }
+    if (qB(b, j)) {
+     break t;
+    }
+    Kq(a);
+    break a;
+   }
+   b = q[a + 100 >> 2];
+   b = b ? b + l | 0 : 271040;
+   q[a + 68 >> 2] = b;
+   u : {
+    if ((b | 0) != 271040) {
+     if (qB(b, j)) {
+      break u;
+     }
+    }
+    Kq(a);
+    break a;
+   }
+   b = q[a + 68 >> 2];
+   b = r[b | 0] << 8 | r[b + 1 | 0];
+   q[a + 212 >> 2] = b;
+   if ((b | 0) != q[a + 36 >> 2]) {
+    Kq(a);
+    break a;
+   }
+   b = q[a + 80 >> 2];
+   c = 0;
+   f = q[a + 200 >> 2];
+   if ((f | 0) >= 0) {
+    b = (b | 0) > 0 ? b : 0;
+    v : {
+     if (f >>> 0 < b >>> 0) {
+      g = f;
+      while (1) {
+       g = ((g >>> 1 | 0) + g | 0) + 8 | 0;
+       if (g >>> 0 <= b >>> 0) {
+        continue;
+       }
+       break;
+      }
+      w : {
+       if (!(g >>> 0 < f >>> 0 | g >>> 0 > 178956969)) {
+        f = O$(q[a + 208 >> 2], w(g, 24));
+        if (f) {
+         break w;
+        }
+       }
+       q[a + 200 >> 2] = -1;
+       break v;
+      }
+      q[a + 200 >> 2] = g;
+      q[a + 208 >> 2] = f;
+     }
+     g = q[a + 204 >> 2];
+     if (b >>> 0 > g >>> 0) {
+      Z$(q[a + 208 >> 2] + w(g, 24) | 0, 0, w(b - g | 0, 24));
+     }
+     q[a + 204 >> 2] = b;
+    }
+    b = q[a + 80 >> 2];
+   }
+   x : {
+    if (b) {
+     while (1) {
+      y : {
+       if (t[a + 204 >> 2] <= c >>> 0) {
+        b = q[67765];
+        q[160660] = q[67764];
+        q[160661] = b;
+        b = q[67763];
+        q[160658] = q[67762];
+        q[160659] = b;
+        b = q[67761];
+        q[160656] = q[67760];
+        q[160657] = b;
+        b = 642624;
+        break y;
+       }
+       b = q[a + 208 >> 2] + w(c, 24) | 0;
+      }
+      q[b >> 2] = 0;
+      q[b + 4 >> 2] = 0;
+      q[b + 20 >> 2] = 271040;
+      q[b + 16 >> 2] = 0;
+      q[b + 8 >> 2] = 0;
+      q[b + 12 >> 2] = 0;
+      c = c + 1 | 0;
+      b = q[a + 80 >> 2];
+      if (c >>> 0 < b >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (q[a + 144 >> 2] == -1) {
+      break x;
+     }
+     if (!b) {
+      break a;
+     }
+     h = d + 32 | 0;
+     u = d + 16 | 0;
+     i = d + 80 | 0;
+     k = q[67762];
+     p = q[67761];
+     m = q[67760];
+     g = 0;
+     while (1) {
+      c = m;
+      b = p;
+      f = k;
+      z : {
+       n = q[a + 72 >> 2];
+       e = r[n | 0] << 8 | r[n + 1 | 0];
+       if (e >>> 0 > g >>> 0) {
+        v = n + 2 | 0;
+        c = r[n + 2 | 0];
+        s = w(c, e + 1 | 0);
+        f = 0;
+        e = 0;
+        if (c) {
+         b = (n + w(c, g) | 0) + 3 | 0;
+         while (1) {
+          e = r[b | 0] | e << 8;
+          b = b + 1 | 0;
+          c = c + -1 | 0;
+          if (c) {
+           continue;
+          }
+          break;
+         }
+        }
+        c = (v + s | 0) + e | 0;
+        b = nB(n, g);
+       }
+       e = b + 1 | 0;
+       A : {
+        if (e >>> 0 <= 1) {
+         if (e - 1) {
+          break A;
+         }
+         break z;
+        }
+        if (t[a + 8 >> 2] > c >>> 0) {
+         break A;
+        }
+        e = q[a + 12 >> 2];
+        if (e >>> 0 < c >>> 0 | e - c >>> 0 < b >>> 0) {
+         break A;
+        }
+        e = q[a + 16 >> 2];
+        q[a + 16 >> 2] = e + -1;
+        if ((e | 0) > 0) {
+         break z;
+        }
+       }
+       Kq(a);
+       break a;
+      }
+      o[d + 76 | 0] = 0;
+      o[d + 72 | 0] = 0;
+      q[d + 68 >> 2] = 0;
+      q[d + 64 >> 2] = f;
+      q[d + 60 >> 2] = b;
+      q[d + 56 >> 2] = c;
+      b = i;
+      q[b + 8 >> 2] = 0;
+      q[b + 12 >> 2] = 0;
+      q[b >> 2] = 0;
+      q[b + 4 >> 2] = 0;
+      b = L$(4744);
+      B : {
+       if (!b) {
+        q[d + 84 >> 2] = -1;
+        break B;
+       }
+       q[d + 84 >> 2] = 593;
+       q[d + 88 >> 2] = 513;
+       q[d + 92 >> 2] = b;
+       Z$(b, 0, 4104);
+      }
+      o[d + 96 | 0] = 0;
+      C : {
+       D : {
+        E : {
+         F : {
+          c = q[a + 188 >> 2];
+          if ((c | 0) >= 0) {
+           b = c;
+           e = q[a + 192 >> 2];
+           f = e + 1 | 0;
+           f = (f | 0) > 0 ? f : 0;
+           if (b >>> 0 >= f >>> 0) {
+            break E;
+           }
+           while (1) {
+            b = ((b >>> 1 | 0) + b | 0) + 8 | 0;
+            if (b >>> 0 <= f >>> 0) {
+             continue;
+            }
+            break;
+           }
+           if (!(b >>> 0 < c >>> 0 | b >>> 0 > 134217726)) {
+            c = O$(q[a + 196 >> 2], b << 5);
+            if (c) {
+             break F;
+            }
+           }
+           q[a + 188 >> 2] = -1;
+          }
+          b = q[67767];
+          q[160662] = q[67766];
+          q[160663] = b;
+          b = q[67765];
+          q[160660] = q[67764];
+          q[160661] = b;
+          b = q[67763];
+          q[160658] = q[67762];
+          q[160659] = b;
+          b = q[67761];
+          q[160656] = q[67760];
+          q[160657] = b;
+          break D;
+         }
+         q[a + 188 >> 2] = b;
+         q[a + 196 >> 2] = c;
+         e = q[a + 192 >> 2];
+        }
+        if (f >>> 0 > e >>> 0) {
+         Z$(q[a + 196 >> 2] + (e << 5) | 0, 0, f - e << 5);
+        }
+        q[a + 192 >> 2] = f;
+        b = q[a + 196 >> 2];
+        c = q[67767];
+        q[160662] = q[67766];
+        q[160663] = c;
+        c = q[67765];
+        e = c;
+        n = q[67764];
+        q[160660] = n;
+        q[160661] = c;
+        c = q[67763];
+        v = c;
+        s = q[67762];
+        q[160658] = s;
+        q[160659] = c;
+        c = q[67761];
+        y = c;
+        x = q[67760];
+        q[160656] = x;
+        q[160657] = c;
+        c = b + (f + -1 << 5) | 0;
+        if ((c | 0) == 642624) {
+         break D;
+        }
+        q[c >> 2] = 0;
+        q[c + 4 >> 2] = 0;
+        q[c + 24 >> 2] = 0;
+        q[c + 16 >> 2] = 0;
+        q[c + 20 >> 2] = 0;
+        q[c + 8 >> 2] = 0;
+        q[c + 12 >> 2] = 0;
+        q[c + 28 >> 2] = -1;
+        if (!vB(d + 56 | 0, c)) {
+         break D;
+        }
+        G : {
+         if (t[a + 204 >> 2] <= g >>> 0) {
+          q[160660] = n;
+          q[160661] = e;
+          q[160658] = s;
+          q[160659] = v;
+          q[160656] = x;
+          q[160657] = y;
+          b = 642624;
+          break G;
+         }
+         b = q[a + 208 >> 2] + w(g, 24) | 0;
+        }
+        f = l + q[c + 16 >> 2] | 0;
+        c = q[c + 20 >> 2];
+        e = c + 1 | 0;
+        H : {
+         if (e >>> 0 <= 1) {
+          if (e - 1) {
+           break D;
+          }
+          break H;
+         }
+         if (t[a + 8 >> 2] > f >>> 0) {
+          break D;
+         }
+         e = q[a + 12 >> 2];
+         if (e >>> 0 < f >>> 0 | e - f >>> 0 < c >>> 0) {
+          break D;
+         }
+         e = q[a + 16 >> 2];
+         q[a + 16 >> 2] = e + -1;
+         if ((e | 0) <= 0) {
+          break D;
+         }
+        }
+        o[d + 28 | 0] = 0;
+        q[d + 12 >> 2] = c;
+        q[d + 8 >> 2] = f;
+        c = h;
+        q[c + 8 >> 2] = 0;
+        q[c + 12 >> 2] = 0;
+        q[c >> 2] = 0;
+        q[c + 4 >> 2] = 0;
+        o[u + 8 | 0] = 0;
+        q[u >> 2] = 0;
+        q[u + 4 >> 2] = 0;
+        c = L$(4744);
+        I : {
+         if (!c) {
+          q[d + 36 >> 2] = -1;
+          break I;
+         }
+         q[d + 36 >> 2] = 593;
+         q[d + 40 >> 2] = 513;
+         q[d + 44 >> 2] = c;
+         Z$(c, 0, 4104);
+        }
+        o[d + 48 | 0] = 0;
+        q[b + 16 >> 2] = 0;
+        q[b + 8 >> 2] = 0;
+        q[b + 12 >> 2] = 0;
+        q[b >> 2] = 0;
+        q[b + 4 >> 2] = 0;
+        q[b + 20 >> 2] = 271040;
+        J : {
+         if (wB(d + 8 | 0, b)) {
+          e = b;
+          b = q[b + 16 >> 2];
+          c = b ? b + f | 0 : 271040;
+          q[e + 20 >> 2] = c;
+          b = 0;
+          if ((c | 0) == 271040) {
+           break J;
+          }
+          if (qB(c, j)) {
+           break J;
+          }
+         }
+         Kq(a);
+         b = 1;
+        }
+        M$(q[d + 44 >> 2]);
+        break C;
+       }
+       Kq(a);
+       b = 1;
+      }
+      M$(q[d + 92 >> 2]);
+      if (b) {
+       break a;
+      }
+      g = g + 1 | 0;
+      if (g >>> 0 < t[a + 80 >> 2]) {
+       continue;
+      }
+      break;
+     }
+     break a;
+    }
+    if (q[a + 144 >> 2] != -1) {
+     break a;
+    }
+   }
+   K : {
+    if (!q[a + 204 >> 2]) {
+     b = q[67765];
+     q[160660] = q[67764];
+     q[160661] = b;
+     b = q[67763];
+     q[160658] = q[67762];
+     q[160659] = b;
+     b = q[67761];
+     q[160656] = q[67760];
+     q[160657] = b;
+     b = 642624;
+     break K;
+    }
+    b = q[a + 208 >> 2];
+   }
+   g = l + q[a + 176 >> 2] | 0;
+   L : {
+    c = q[a + 180 >> 2];
+    f = c + 1 | 0;
+    M : {
+     if (f >>> 0 <= 1) {
+      if (f - 1) {
+       break M;
+      }
+      break L;
+     }
+     if (t[a + 8 >> 2] > g >>> 0) {
+      break M;
+     }
+     f = q[a + 12 >> 2];
+     if (f >>> 0 < g >>> 0 | f - g >>> 0 < c >>> 0) {
+      break M;
+     }
+     f = q[a + 16 >> 2];
+     q[a + 16 >> 2] = f + -1;
+     if ((f | 0) > 0) {
+      break L;
+     }
+    }
+    Kq(a);
+    break a;
+   }
+   q[d + 80 >> 2] = 0;
+   q[d + 84 >> 2] = 0;
+   q[d + 88 >> 2] = 0;
+   q[d + 92 >> 2] = 0;
+   o[d + 72 | 0] = 0;
+   o[d + 76 | 0] = 0;
+   q[d + 60 >> 2] = c;
+   q[d + 56 >> 2] = g;
+   q[d + 64 >> 2] = 0;
+   q[d + 68 >> 2] = 0;
+   c = L$(4744);
+   N : {
+    if (!c) {
+     q[d + 84 >> 2] = -1;
+     break N;
+    }
+    q[d + 84 >> 2] = 593;
+    q[d + 88 >> 2] = 513;
+    q[d + 92 >> 2] = c;
+    Z$(c, 0, 4104);
+   }
+   o[d + 96 | 0] = 0;
+   q[b + 16 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   q[b >> 2] = 0;
+   q[b + 4 >> 2] = 0;
+   q[b + 20 >> 2] = 271040;
+   O : {
+    if (wB(d + 56 | 0, b)) {
+     c = b;
+     b = q[b + 16 >> 2];
+     b = b ? b + g | 0 : 271040;
+     q[c + 20 >> 2] = b;
+     if ((b | 0) == 271040) {
+      break O;
+     }
+     if (qB(b, j)) {
+      break O;
+     }
+    }
+    Kq(a);
+   }
+   M$(q[d + 92 >> 2]);
+   break a;
+  }
+  Kq(a);
+ }
+ Ca = d + 112 | 0;
+}
+function Zm(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ g = Ca - 304 | 0;
+ Ca = g;
+ q[g + 28 >> 2] = 0;
+ c = q[e + 32 >> 2];
+ if (c) {
+  i = q[c + 100 >> 2];
+ }
+ a : {
+  b : {
+   c : {
+    if (jZ(a, 26088, 7)) {
+     break c;
+    }
+    h = r[a + 7 | 0];
+    if (h >>> 0 > 32) {
+     break c;
+    }
+    d : {
+     switch (h - 1 | 0) {
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 10:
+     case 11:
+     case 13:
+     case 14:
+     case 15:
+     case 16:
+     case 17:
+     case 18:
+     case 19:
+     case 20:
+     case 21:
+     case 22:
+     case 23:
+     case 24:
+     case 25:
+     case 26:
+     case 27:
+     case 28:
+     case 29:
+     case 30:
+      break c;
+     default:
+      break d;
+     }
+    }
+    if (!c | !q[q[e + 36 >> 2] + 8 >> 2]) {
+     break a;
+    }
+    d = q[c + 100 >> 2];
+    q[g + 48 >> 2] = 0;
+    e = d;
+    d = q[c + 88 >> 2];
+    i = d;
+    b = (h ? -8 : -7) + b | 0;
+    d = b + 1 | 0;
+    e = Te(e, 1, i, i + d | 0, q[c + 84 >> 2], g + 48 | 0);
+    q[c + 84 >> 2] = e;
+    f = q[g + 48 >> 2];
+    if (f) {
+     break b;
+    }
+    m = Y$(e + q[c + 88 >> 2] | 0, h ? a + 8 | 0 : a + 7 | 0, b) + b | 0, n = 10, o[m | 0] = n;
+    q[c + 88 >> 2] = d + q[c + 88 >> 2];
+    f = q[g + 48 >> 2];
+    break b;
+   }
+   h = q[e >> 2];
+   if (!(h & 1)) {
+    c = q[e + 56 >> 2];
+    e : {
+     f : {
+      if (jZ(a, 26096, 9)) {
+       break f;
+      }
+      a = r[a + 9 | 0];
+      if (a >>> 0 > 32) {
+       break f;
+      }
+      switch (a - 1 | 0) {
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 10:
+      case 11:
+      case 13:
+      case 14:
+      case 15:
+      case 16:
+      case 17:
+      case 18:
+      case 19:
+      case 20:
+      case 21:
+      case 22:
+      case 23:
+      case 24:
+      case 25:
+      case 26:
+      case 27:
+      case 28:
+      case 29:
+      case 30:
+       break f;
+      default:
+       break e;
+      }
+     }
+     f = 176;
+     break b;
+    }
+    a = 0;
+    q[e + 32 >> 2] = 0;
+    q[e >> 2] = 1;
+    b = Oe(c, 136, g + 28 | 0);
+    f = q[g + 28 >> 2];
+    if (f) {
+     break a;
+    }
+    q[e + 32 >> 2] = b;
+    q[b + 100 >> 2] = q[e + 56 >> 2];
+    q[e + 56 >> 2] = 0;
+    d = b + 112 | 0;
+    f = Ye(d, c);
+    q[g + 28 >> 2] = f;
+    if (f) {
+     break a;
+    }
+    b = 26112;
+    while (1) {
+     f = df(q[b >> 2], a, d, c);
+     q[g + 28 >> 2] = f;
+     if (f) {
+      break a;
+     }
+     b = b + 16 | 0;
+     a = a + 1 | 0;
+     if ((a | 0) != 83) {
+      continue;
+     }
+     break;
+    }
+    a = Oe(c, 24, g + 28 | 0);
+    q[q[e + 32 >> 2] + 92 >> 2] = a;
+    f = q[g + 28 >> 2];
+    if (f) {
+     break a;
+    }
+    f = Ye(a, c);
+    q[g + 28 >> 2] = f;
+    if (f) {
+     break a;
+    }
+    a = q[q[e + 36 >> 2] + 12 >> 2];
+    b = q[e + 32 >> 2];
+    q[b + 36 >> 2] = -1;
+    q[b + 28 >> 2] = a;
+    f = 0;
+    break a;
+   }
+   g : {
+    h : {
+     if (jZ(a, 27440, 15)) {
+      break h;
+     }
+     f = r[a + 15 | 0];
+     if (f >>> 0 > 32) {
+      break h;
+     }
+     i : {
+      switch (f - 1 | 0) {
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 10:
+      case 11:
+      case 13:
+      case 14:
+      case 15:
+      case 16:
+      case 17:
+      case 18:
+      case 19:
+      case 20:
+      case 21:
+      case 22:
+      case 23:
+      case 24:
+      case 25:
+      case 26:
+      case 27:
+      case 28:
+      case 29:
+      case 30:
+       break h;
+      default:
+       break i;
+      }
+     }
+     if (!(h & 8)) {
+      f = 179;
+      break b;
+     }
+     c = e + 40 | 0;
+     f = fn(c, 27456, a, b);
+     q[g + 28 >> 2] = f;
+     if (f) {
+      break a;
+     }
+     a = 0;
+     c = q[q[c >> 2] + 4 >> 2];
+     j : {
+      if (!c) {
+       break j;
+      }
+      f = o[c | 0];
+      b = f & 255;
+      if (!b | !(r[(b >>> 3 | 0) + 28592 | 0] >>> (f & 7) & 1)) {
+       break j;
+      }
+      while (1) {
+       if (a >>> 0 > 429496727) {
+        a = -1;
+        break j;
+       }
+       a = r[f + 28624 | 0] + w(a, 10) | 0;
+       f = o[c + 1 | 0];
+       c = c + 1 | 0;
+       if (r[((f & 248) >>> 3 | 0) + 28592 | 0] >>> (f & 7) & 1) {
+        continue;
+       }
+       break;
+      }
+     }
+     b = q[e + 32 >> 2];
+     q[b + 72 >> 2] = a;
+     q[e + 4 >> 2] = a;
+     if (a >>> 0 > q[e + 60 >> 2] >>> 2 >>> 0) {
+      q[b + 72 >> 2] = 0;
+      break g;
+     }
+     a = Te(i, 16, 0, a, 0, g + 28 | 0);
+     b = q[e + 32 >> 2];
+     q[b + 80 >> 2] = a;
+     f = q[g + 28 >> 2];
+     if (f) {
+      q[b + 72 >> 2] = 0;
+      break a;
+     }
+     q[e >> 2] = q[e >> 2] | 16;
+     q[d >> 2] = 292;
+     f = 0;
+     break a;
+    }
+    k : {
+     if (jZ(a, 27459, 15)) {
+      break k;
+     }
+     f = r[a + 15 | 0];
+     if (f >>> 0 > 32) {
+      break k;
+     }
+     l : {
+      switch (f - 1 | 0) {
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 10:
+      case 11:
+      case 13:
+      case 14:
+      case 15:
+      case 16:
+      case 17:
+      case 18:
+      case 19:
+      case 20:
+      case 21:
+      case 22:
+      case 23:
+      case 24:
+      case 25:
+      case 26:
+      case 27:
+      case 28:
+      case 29:
+      case 30:
+       break k;
+      default:
+       break l;
+      }
+     }
+     if (!(h & 4)) {
+      f = 178;
+      break b;
+     }
+     c = e + 40 | 0;
+     f = fn(c, 27456, a, b);
+     q[g + 28 >> 2] = f;
+     if (f) {
+      break a;
+     }
+     b = 0;
+     i = 0;
+     j = q[c >> 2];
+     f = q[j + 4 >> 2];
+     m : {
+      if (!f) {
+       break m;
+      }
+      a = o[f | 0];
+      d = a & 255;
+      if (!d) {
+       break m;
+      }
+      c = 0;
+      if (!(r[(d >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1)) {
+       break m;
+      }
+      while (1) {
+       i = 65535;
+       if ((c & 65535) >>> 0 > 6551) {
+        break m;
+       }
+       d = a + 28624 | 0;
+       a = o[f + 1 | 0];
+       f = f + 1 | 0;
+       c = r[d | 0] + w(c, 10) | 0;
+       i = c;
+       if (r[((a & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1) {
+        continue;
+       }
+       break;
+      }
+     }
+     d = q[e + 32 >> 2];
+     p[d + 4 >> 1] = i;
+     f = q[j + 8 >> 2];
+     n : {
+      if (!f) {
+       break n;
+      }
+      a = o[f | 0];
+      h = a & 255;
+      if (!h) {
+       break n;
+      }
+      c = 0;
+      if (!(r[(h >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1)) {
+       break n;
+      }
+      while (1) {
+       b = 65535;
+       if ((c & 65535) >>> 0 > 6551) {
+        break n;
+       }
+       b = a + 28624 | 0;
+       a = o[f + 1 | 0];
+       f = f + 1 | 0;
+       c = r[b | 0] + w(c, 10) | 0;
+       b = c;
+       if (r[((a & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1) {
+        continue;
+       }
+       break;
+      }
+     }
+     p[d + 6 >> 1] = b;
+     i = 0;
+     h = d;
+     c = q[j + 12 >> 2];
+     f = 0;
+     o : {
+      if (!c) {
+       break o;
+      }
+      a = r[c | 0];
+      f = 0;
+      if (!a) {
+       break o;
+      }
+      if ((a | 0) == 45) {
+       k = 1;
+       a = r[c + 1 | 0];
+       c = c + 1 | 0;
+      }
+      f = 0;
+      l = r[((a & 248) >>> 3 | 0) + 28592 | 0];
+      a = a << 24 >> 24;
+      p : {
+       if (!(l >>> (a & 7) & 1)) {
+        break p;
+       }
+       while (1) {
+        if (f << 16 >> 16 > 3274) {
+         f = 32767;
+         break p;
+        }
+        f = r[a + 28624 | 0] + w(f, 10) | 0;
+        a = o[c + 1 | 0];
+        c = c + 1 | 0;
+        if (r[((a & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1) {
+         continue;
+        }
+        break;
+       }
+      }
+      f = k ? 0 - f | 0 : f;
+     }
+     p[h + 8 >> 1] = f;
+     c = q[j + 16 >> 2];
+     q : {
+      if (!c) {
+       break q;
+      }
+      h = r[c | 0];
+      if (!h) {
+       break q;
+      }
+      if ((h | 0) == 45) {
+       i = 1;
+       h = r[c + 1 | 0];
+       c = c + 1 | 0;
+      }
+      f = 0;
+      a = h << 24 >> 24;
+      r : {
+       if (!(r[((h & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1)) {
+        break r;
+       }
+       while (1) {
+        if (f << 16 >> 16 > 3274) {
+         f = 32767;
+         break r;
+        }
+        f = r[a + 28624 | 0] + w(f, 10) | 0;
+        a = o[c + 1 | 0];
+        c = c + 1 | 0;
+        if (r[((a & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1) {
+         continue;
+        }
+        break;
+       }
+      }
+      i = i ? 0 - f | 0 : f;
+     }
+     f = 0;
+     p[d + 14 >> 1] = 0 - i;
+     p[d + 12 >> 1] = b + i;
+     p[d + 10 >> 1] = i;
+     q[e >> 2] = q[e >> 2] | 8;
+     break a;
+    }
+    s : {
+     t : {
+      if (jZ(a, 27475, 4)) {
+       break t;
+      }
+      f = r[a + 4 | 0];
+      if (f >>> 0 > 32) {
+       break t;
+      }
+      u : {
+       switch (f - 1 | 0) {
+       case 0:
+       case 1:
+       case 2:
+       case 3:
+       case 4:
+       case 5:
+       case 6:
+       case 7:
+       case 10:
+       case 11:
+       case 13:
+       case 14:
+       case 15:
+       case 16:
+       case 17:
+       case 18:
+       case 19:
+       case 20:
+       case 21:
+       case 22:
+       case 23:
+       case 24:
+       case 25:
+       case 26:
+       case 27:
+       case 28:
+       case 29:
+       case 30:
+        break t;
+       default:
+        break u;
+       }
+      }
+      j = e + 40 | 0;
+      f = fn(j, 27456, a, b);
+      q[g + 28 >> 2] = f;
+      if (f) {
+       break a;
+      }
+      a = q[e + 48 >> 2];
+      if (a >>> 0 <= 1) {
+       if (a - 1) {
+        break s;
+       }
+       q[e + 48 >> 2] = 0;
+       break s;
+      }
+      d = a + -1 | 0;
+      a = 0;
+      f = 1;
+      while (1) {
+       b = q[j >> 2];
+       q[b + (a << 2) >> 2] = q[b + (f << 2) >> 2];
+       f = f + 1 | 0;
+       a = a + 1 | 0;
+       if ((d | 0) != (a | 0)) {
+        continue;
+       }
+       break;
+      }
+      q[e + 48 >> 2] = d;
+      if (!d) {
+       break s;
+      }
+      f = 0;
+      b = q[q[j >> 2] >> 2];
+      a = b;
+      h = 0;
+      while (1) {
+       c = r[a | 0];
+       if (c) {
+        while (1) {
+         o[b + f | 0] = c;
+         f = f + 1 | 0;
+         c = r[a + 1 | 0];
+         a = a + 1 | 0;
+         if (c) {
+          continue;
+         }
+         break;
+        }
+        d = q[e + 48 >> 2];
+       }
+       h = h + 1 | 0;
+       if (h >>> 0 < d >>> 0) {
+        o[b + f | 0] = 32;
+        f = f + 1 | 0;
+        d = q[e + 48 >> 2];
+       }
+       if (h >>> 0 < d >>> 0) {
+        a = q[q[j >> 2] + (h << 2) >> 2];
+        continue;
+       }
+       break;
+      }
+      if ((b | 0) != 28577) {
+       o[b + f | 0] = 0;
+       if (!b) {
+        break s;
+       }
+      }
+      Qe(i, q[q[e + 32 >> 2] >> 2]);
+      q[q[e + 32 >> 2] >> 2] = 0;
+      c = f + 1 | 0;
+      a = Te(i, 1, 0, c, 0, g + 28 | 0);
+      q[q[e + 32 >> 2] >> 2] = a;
+      f = q[g + 28 >> 2];
+      if (f) {
+       break a;
+      }
+      Y$(a, b, c);
+      a = q[e + 32 >> 2];
+      if (!a) {
+       break g;
+      }
+      b = q[a >> 2];
+      if (!b | !r[b | 0]) {
+       break g;
+      }
+      c = q[e + 36 >> 2];
+      d = q[a + 100 >> 2];
+      q[g + 40 >> 2] = 0;
+      q[g + 32 >> 2] = 0;
+      q[g + 36 >> 2] = 0;
+      q[g + 44 >> 2] = d;
+      q[a + 28 >> 2] = q[c + 12 >> 2];
+      c = g0(b) + 1 | 0;
+      if (c >>> 0 > 255) {
+       break g;
+      }
+      Y$(g + 48 | 0, b, c);
+      f = fn(g + 32 | 0, 28788, g + 48 | 0, c);
+      v : {
+       if (f | q[g + 40 >> 2] != 15) {
+        break v;
+       }
+       b = o[q[q[g + 32 >> 2] + 44 >> 2]] + -67 | 0;
+       if (b >>> 0 > 45) {
+        break v;
+       }
+       w : {
+        switch (b - 1 | 0) {
+        default:
+         q[a + 28 >> 2] = 32;
+         break v;
+        case 9:
+        case 41:
+         q[a + 28 >> 2] = 16;
+         break v;
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+        case 10:
+        case 11:
+        case 13:
+        case 14:
+        case 15:
+        case 16:
+        case 17:
+        case 18:
+        case 19:
+        case 20:
+        case 21:
+        case 22:
+        case 23:
+        case 24:
+        case 25:
+        case 26:
+        case 27:
+        case 28:
+        case 29:
+        case 30:
+        case 32:
+        case 33:
+        case 34:
+        case 35:
+        case 36:
+        case 37:
+        case 38:
+        case 39:
+        case 40:
+        case 42:
+        case 43:
+         break v;
+        case 12:
+        case 44:
+         break w;
+        }
+       }
+       q[a + 28 >> 2] = 8;
+      }
+      a = q[g + 44 >> 2];
+      if (a) {
+       Qe(a, q[g + 32 >> 2]);
+       q[g + 40 >> 2] = 0;
+       q[g + 44 >> 2] = 0;
+       q[g + 32 >> 2] = 0;
+       q[g + 36 >> 2] = 0;
+      }
+      q[g + 28 >> 2] = f;
+      if (f) {
+       break a;
+      }
+      q[e >> 2] = q[e >> 2] | 2;
+      f = 0;
+      break a;
+     }
+     x : {
+      if (jZ(a, 27480, 4)) {
+       break x;
+      }
+      f = r[a + 4 | 0];
+      if (f >>> 0 > 32) {
+       break x;
+      }
+      y : {
+       switch (f - 1 | 0) {
+       case 0:
+       case 1:
+       case 2:
+       case 3:
+       case 4:
+       case 5:
+       case 6:
+       case 7:
+       case 10:
+       case 11:
+       case 13:
+       case 14:
+       case 15:
+       case 16:
+       case 17:
+       case 18:
+       case 19:
+       case 20:
+       case 21:
+       case 22:
+       case 23:
+       case 24:
+       case 25:
+       case 26:
+       case 27:
+       case 28:
+       case 29:
+       case 30:
+        break x;
+       default:
+        break y;
+       }
+      }
+      if (!(h & 2)) {
+       f = 177;
+       break b;
+      }
+      d = e + 40 | 0;
+      f = fn(d, 27456, a, b);
+      q[g + 28 >> 2] = f;
+      if (f) {
+       break a;
+      }
+      c = 0;
+      f = 0;
+      d = q[d >> 2];
+      b = q[d + 4 >> 2];
+      z : {
+       if (!b) {
+        break z;
+       }
+       a = o[b | 0];
+       h = a & 255;
+       if (!h | !(r[(h >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1)) {
+        break z;
+       }
+       while (1) {
+        if (f >>> 0 > 429496727) {
+         f = -1;
+         break z;
+        }
+        f = r[a + 28624 | 0] + w(f, 10) | 0;
+        a = o[b + 1 | 0];
+        b = b + 1 | 0;
+        if (r[((a & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1) {
+         continue;
+        }
+        break;
+       }
+      }
+      b = q[e + 32 >> 2];
+      q[b + 16 >> 2] = f;
+      f = q[d + 8 >> 2];
+      A : {
+       if (!f) {
+        break A;
+       }
+       a = o[f | 0];
+       h = a & 255;
+       if (!h | !(r[(h >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1)) {
+        break A;
+       }
+       while (1) {
+        if (c >>> 0 > 429496727) {
+         c = -1;
+         break A;
+        }
+        c = r[a + 28624 | 0] + w(c, 10) | 0;
+        a = o[f + 1 | 0];
+        f = f + 1 | 0;
+        if (r[((a & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1) {
+         continue;
+        }
+        break;
+       }
+      }
+      q[b + 20 >> 2] = c;
+      f = 0;
+      c = q[d + 12 >> 2];
+      B : {
+       if (!c) {
+        break B;
+       }
+       a = o[c | 0];
+       h = a & 255;
+       if (!h | !(r[(h >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1)) {
+        break B;
+       }
+       while (1) {
+        if (f >>> 0 > 429496727) {
+         f = -1;
+         break B;
+        }
+        f = r[a + 28624 | 0] + w(f, 10) | 0;
+        a = o[c + 1 | 0];
+        c = c + 1 | 0;
+        if (r[((a & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1) {
+         continue;
+        }
+        break;
+       }
+      }
+      q[b + 24 >> 2] = f;
+      C : {
+       if (q[e + 48 >> 2] == 5) {
+        D : {
+         E : {
+          c = q[d + 16 >> 2];
+          if (!c) {
+           break E;
+          }
+          i = r[c | 0];
+          if (!i) {
+           break E;
+          }
+          d = 0;
+          if ((i | 0) == 45) {
+           d = 1;
+           i = r[c + 1 | 0];
+           c = c + 1 | 0;
+          }
+          f = 0;
+          a = i << 24 >> 24;
+          F : {
+           if (!(r[((i & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1)) {
+            break F;
+           }
+           while (1) {
+            if (f << 16 >> 16 > 3274) {
+             f = 32767;
+             break F;
+            }
+            f = r[a + 28624 | 0] + w(f, 10) | 0;
+            a = o[c + 1 | 0];
+            c = c + 1 | 0;
+            if (r[((a & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1) {
+             continue;
+            }
+            break;
+           }
+          }
+          c = d ? 0 - f | 0 : f;
+          a = c & 65535;
+          if (a >>> 0 >= 5) {
+           p[b + 96 >> 1] = 8;
+           break C;
+          }
+          if (a >>> 0 >= 3) {
+           p[b + 96 >> 1] = 4;
+           break C;
+          }
+          b = b + 96 | 0;
+          a = b;
+          if ((c & 65535) != 2) {
+           break D;
+          }
+          p[b >> 1] = 2;
+          break C;
+         }
+         a = b + 96 | 0;
+        }
+        p[a >> 1] = 1;
+        break C;
+       }
+       p[b + 96 >> 1] = 1;
+      }
+      q[e >> 2] = q[e >> 2] | 4;
+      f = 0;
+      break a;
+     }
+     if (jZ(a, 27485, 5)) {
+      break s;
+     }
+     a = r[a + 5 | 0];
+     if (a >>> 0 > 32) {
+      break s;
+     }
+     G : {
+      switch (a - 1 | 0) {
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 10:
+      case 11:
+      case 13:
+      case 14:
+      case 15:
+      case 16:
+      case 17:
+      case 18:
+      case 19:
+      case 20:
+      case 21:
+      case 22:
+      case 23:
+      case 24:
+      case 25:
+      case 26:
+      case 27:
+      case 28:
+      case 29:
+      case 30:
+       break s;
+      default:
+       break G;
+      }
+     }
+     if (!(h & 8)) {
+      f = 179;
+      break b;
+     }
+     a = p[c + 12 >> 1];
+     q[c + 40 >> 2] = a;
+     q[g + 16 >> 2] = a;
+     PZ(g + 48 | 0, g + 16 | 0);
+     f = hn(q[e + 32 >> 2], 27495, g + 48 | 0);
+     q[g + 28 >> 2] = f;
+     if (f) {
+      break a;
+     }
+     b = q[e + 32 >> 2];
+     a = p[b + 14 >> 1];
+     q[b + 44 >> 2] = a;
+     q[g >> 2] = a;
+     PZ(g + 48 | 0, g);
+     f = hn(q[e + 32 >> 2], 27507, g + 48 | 0);
+     q[g + 28 >> 2] = f;
+     if (f) {
+      break a;
+     }
+     q[d >> 2] = 293;
+     f = -1;
+     break b;
+    }
+    f = 3;
+    break b;
+   }
+   f = 6;
+  }
+  q[g + 28 >> 2] = f;
+ }
+ Ca = g + 304 | 0;
+ return f | 0;
+}
+function c$(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0;
+ l = Ca - 32 | 0;
+ Ca = l;
+ q[l + 24 >> 2] = 0;
+ q[l + 28 >> 2] = 0;
+ a : {
+  if (!b | !q[b >> 2]) {
+   break a;
+  }
+  i = q[c >> 2];
+  if (!i) {
+   break a;
+  }
+  x = a & 65535;
+  D = x + 508545 | 0;
+  a = a >>> 16 | 0;
+  E = a + 508545 | 0;
+  z = q[160522];
+  q[160522] = 508392;
+  n = r[x + 508544 | 0];
+  A = 128 - n | 0;
+  F = n + 128 | 0;
+  m = r[a + 508544 | 0];
+  B = m + 128 | 0;
+  a = q[b >> 2];
+  G = (m | 0) == 232;
+  C = (m & 254) == 196;
+  H = (m | 0) != 218;
+  I = (m | 0) != 216;
+  v = n + -192 | 0;
+  J = v + 571144 | 0;
+  y = m + -192 | 0;
+  K = y >>> 0 > 6;
+  b : {
+   c : {
+    d : {
+     while (1) {
+      g = o[a | 0];
+      f = g & 255;
+      e : {
+       f : {
+        g : {
+         if (K ? (g | 0) >= 0 : 0) {
+          break g;
+         }
+         k = 25;
+         h : {
+          i : {
+           j : {
+            k : {
+             l : {
+              m : {
+               n : {
+                o : {
+                 p : {
+                  if (y >>> 0 > 32) {
+                   if (!G) {
+                    break m;
+                   }
+                   if (i >>> 0 < 2) {
+                    break h;
+                   }
+                   a = r[a + 1 | 0];
+                   p = f + -161 | 0;
+                   if (p >>> 0 <= 92) {
+                    g = a + -161 | 0;
+                    if (g >>> 0 < 94) {
+                     break n;
+                    }
+                   }
+                   g = f + -129 | 0;
+                   if (g >>> 0 > 92 | (a >>> 0 > 82 ? g >>> 0 >= 69 : 0)) {
+                    break c;
+                   }
+                   f = a + -65 | 0;
+                   if (f >>> 0 < 26) {
+                    break o;
+                   }
+                   if (a + -97 >>> 0 > 25) {
+                    break p;
+                   }
+                   f = a + -71 | 0;
+                   break o;
+                  }
+                  q : {
+                   r : {
+                    s : {
+                     t : {
+                      u : {
+                       v : {
+                        w : {
+                         x : {
+                          y : {
+                           z : {
+                            switch (y - 1 | 0) {
+                            case 7:
+                             A : {
+                              h = r_(l + 20 | 0, a, i, l + 24 | 0);
+                              a = h + 2 | 0;
+                              if (a >>> 0 > 2) {
+                               break A;
+                              }
+                              g = 28;
+                              h = 1;
+                              switch (a - 1 | 0) {
+                              case 0:
+                               break c;
+                              case 1:
+                               break A;
+                              default:
+                               break b;
+                              }
+                             }
+                             f = q[l + 20 >> 2];
+                             break f;
+                            case 5:
+                             if (i >>> 0 < 4) {
+                              break h;
+                             }
+                             f = q[a >> 2];
+                             break y;
+                            case 8:
+                            case 9:
+                            case 10:
+                            case 11:
+                            case 12:
+                            case 13:
+                            case 14:
+                            case 17:
+                            case 18:
+                            case 19:
+                            case 20:
+                            case 21:
+                            case 22:
+                            case 26:
+                            case 27:
+                            case 28:
+                            case 29:
+                            case 30:
+                             break m;
+                            case 31:
+                             break q;
+                            case 23:
+                            case 24:
+                             break t;
+                            case 25:
+                             break u;
+                            case 15:
+                             break v;
+                            case 16:
+                             break w;
+                            case 0:
+                            case 1:
+                            case 3:
+                            case 4:
+                             break x;
+                            case 6:
+                             break c;
+                            default:
+                             break z;
+                            }
+                           }
+                           if (i >>> 0 < 4) {
+                            break h;
+                           }
+                           f = d$(a, m);
+                          }
+                          if (f >>> 0 > 1114111) {
+                           break c;
+                          }
+                          h = 4;
+                          if ((f & -2048) == 55296) {
+                           break c;
+                          }
+                          break f;
+                         }
+                         g = 28;
+                         if (i >>> 0 < 2) {
+                          break b;
+                         }
+                         f = e$(a, m);
+                         j = f & -1024;
+                         if ((j | 0) != 55296) {
+                          h = 2;
+                          if ((j | 0) == 56320) {
+                           break c;
+                          }
+                          break f;
+                         }
+                         if (C) {
+                          break c;
+                         }
+                         if (i >>> 0 < 4) {
+                          break b;
+                         }
+                         a = e$(a + 2 | 0, m) + -56320 | 0;
+                         if (a >>> 0 > 1023) {
+                          break c;
+                         }
+                         f = (a + (f << 10) | 0) + -56557568 | 0;
+                         break s;
+                        }
+                        if (f + -161 >>> 0 <= 62) {
+                         f = f + 65216 | 0;
+                         break g;
+                        }
+                        if (i >>> 0 < 2) {
+                         break h;
+                        }
+                        h = r[a + 1 | 0];
+                        a = f + -129 | 0;
+                        if (a >>> 0 >= 31) {
+                         if ((f & 240) != 224) {
+                          break c;
+                         }
+                         a = f + -193 | 0;
+                        }
+                        g = a << 1;
+                        a = h + -64 | 0;
+                        B : {
+                         if (a >>> 0 <= 94) {
+                          if ((h | 0) == 127) {
+                           break c;
+                          }
+                          a = a + (h << 24 >> 31) | 0;
+                          break B;
+                         }
+                         a = h + -159 | 0;
+                         f = a >>> 0 < 94;
+                         g = f | g;
+                         a = f ? a : h;
+                        }
+                        f = s[(w(g, 188) + (a << 1) | 0) + 572512 >> 1];
+                        break i;
+                       }
+                       if (i >>> 0 < 2) {
+                        break h;
+                       }
+                       a = r[a + 1 | 0];
+                       if ((g | 0) == -114) {
+                        if (a + -161 >>> 0 > 62) {
+                         break c;
+                        }
+                        f = a + 65216 | 0;
+                        h = 2;
+                        break f;
+                       }
+                       f = f + -161 | 0;
+                       if (f >>> 0 > 83) {
+                        break c;
+                       }
+                       a = a + -161 | 0;
+                       if (a >>> 0 > 93) {
+                        break c;
+                       }
+                       f = s[(w(f, 188) + (a << 1) | 0) + 572512 >> 1];
+                       break i;
+                      }
+                      if ((g & 255) >>> 0 < 161) {
+                       break c;
+                      }
+                     }
+                     h = f + -129 | 0;
+                     if (h >>> 0 > 125) {
+                      break c;
+                     }
+                     g = 28;
+                     if (i >>> 0 < 2) {
+                      break b;
+                     }
+                     f = r[a + 1 | 0];
+                     if (f >>> 0 < 161 ? !H : 0) {
+                      break c;
+                     }
+                     if ((f | 0) != 127) {
+                      j = f + -64 | 0;
+                      if (j >>> 0 < 191) {
+                       break r;
+                      }
+                     }
+                     if (f + -48 >>> 0 > 9 | I) {
+                      break c;
+                     }
+                     if (i >>> 0 < 4) {
+                      break b;
+                     }
+                     g = r[a + 2 | 0] + -129 | 0;
+                     if (g >>> 0 > 126) {
+                      break c;
+                     }
+                     a = r[a + 3 | 0] + -48 | 0;
+                     if (a >>> 0 > 9) {
+                      break c;
+                     }
+                     f = (a + (w(f + w(h, 10) | 0, 1260) + w(g, 10) | 0) | 0) + -60352 | 0;
+                     j = 0;
+                     while (1) {
+                      h = f - j | 0;
+                      k = 0;
+                      g = 0;
+                      while (1) {
+                       a = 0;
+                       while (1) {
+                        g = (s[(w(k, 380) + (a << 1) | 0) + 512912 >> 1] - j >>> 0 <= h >>> 0) + g | 0;
+                        a = a + 1 | 0;
+                        if ((a | 0) != 190) {
+                         continue;
+                        }
+                        break;
+                       }
+                       k = k + 1 | 0;
+                       if ((k | 0) != 126) {
+                        continue;
+                       }
+                       break;
+                      }
+                      j = f + 1 | 0;
+                      f = f + g | 0;
+                      if (f >>> 0 >= j >>> 0) {
+                       continue;
+                      }
+                      break;
+                     }
+                    }
+                    h = 4;
+                    break f;
+                   }
+                   f = s[(w(h, 380) + ((j >>> 0 > 63 ? f + -65 | 0 : j) << 1) | 0) + 512912 >> 1];
+                   h = 2;
+                   break f;
+                  }
+                  if (i >>> 0 < 2) {
+                   break h;
+                  }
+                  a = r[a + 1 | 0];
+                  g = a + -64 | 0;
+                  if (g >>> 0 > 190 | a + -127 >>> 0 < 34) {
+                   break c;
+                  }
+                  a = g >>> 0 > 62 ? a + -98 | 0 : g;
+                  g = f + -161 | 0;
+                  if (g >>> 0 >= 89) {
+                   g = f + -135 | 0;
+                   if (g >>> 0 > 119) {
+                    break c;
+                   }
+                   a = a + w(f >>> 0 < 161 ? g : f + -224 | 0, 157) | 0;
+                   g = s[(a << 1) + 560800 >> 1];
+                   f = g | s[(a >>> 3 & 536870910) + 570534 >> 1] >>> (a & 15) << 17 & 131072;
+                   if ((f & 196352) != 56320) {
+                    break i;
+                   }
+                   if ((v >>> 0 <= 8 ? o[J | 0] : 2) >>> 0 > t[e >> 2]) {
+                    break d;
+                   }
+                   q[l + 12 >> 2] = 4;
+                   q[l + 16 >> 2] = (g & 255) + 571154;
+                   u = c$(x, l + 16 | 0, l + 12 | 0, d, e) + u | 0;
+                   h = 2;
+                   break e;
+                  }
+                  f = s[(w(g, 314) + (a << 1) | 0) + 588304 >> 1];
+                  if ((g | 0) != 39) {
+                   break k;
+                  }
+                  g = 131072;
+                  h = a + -58 | 0;
+                  if (h >>> 0 <= 2) {
+                   break l;
+                  }
+                  if ((a | 0) == 66) {
+                   break j;
+                  }
+                  break k;
+                 }
+                 if (a + -129 >>> 0 > 125) {
+                  break c;
+                 }
+                 f = a + -77 | 0;
+                }
+                j = 44032;
+                h = 2;
+                f = ((g >>> 0 < 32 ? w(g, 178) : w(p, 84) + 5696 | 0) + f | 0) + 44032 | 0;
+                if (f >>> 0 < 44032) {
+                 break f;
+                }
+                while (1) {
+                 p = f - j | 0;
+                 k = 0;
+                 g = 0;
+                 while (1) {
+                  a = 0;
+                  while (1) {
+                   g = (s[(w(k, 188) + (a << 1) | 0) + 616256 >> 1] - j >>> 0 <= p >>> 0) + g | 0;
+                   a = a + 1 | 0;
+                   if ((a | 0) != 94) {
+                    continue;
+                   }
+                   break;
+                  }
+                  k = k + 1 | 0;
+                  if ((k | 0) != 93) {
+                   continue;
+                  }
+                  break;
+                 }
+                 j = f + 1 | 0;
+                 f = f + g | 0;
+                 if (f >>> 0 >= j >>> 0) {
+                  continue;
+                 }
+                 break;
+                }
+                break f;
+               }
+               f = s[(w(p, 188) + (g << 1) | 0) + 616256 >> 1];
+               break i;
+              }
+              if (B >>> 0 > f >>> 0) {
+               break g;
+              }
+              h = 1;
+              a = f - B | 0;
+              g = (w(a, 5) >>> 2 | 0) + E | 0;
+              a = a << 1 & 6;
+              a = r[g + 1 | 0] << 8 - a & 1023 | r[g | 0] >>> a;
+              f = a ? s[(a << 1) + 571184 >> 1] : f;
+              if ((f | 0) == 1) {
+               break c;
+              }
+              break f;
+             }
+             if (h - 1) {
+              break j;
+             }
+            }
+            g = 0;
+           }
+           f = f | g;
+          }
+          h = 2;
+          if (f) {
+           break f;
+          }
+          break c;
+         }
+         g = 28;
+         break b;
+        }
+        h = 1;
+       }
+       C : {
+        D : {
+         if (v >>> 0 > 8) {
+          break D;
+         }
+         E : {
+          switch (v - 1 | 0) {
+          case 5:
+           a = q[e >> 2];
+           if (a >>> 0 < 4) {
+            break d;
+           }
+           g = q[d >> 2];
+           q[g >> 2] = f;
+           q[d >> 2] = g + 4;
+           q[e >> 2] = a + -4;
+           break e;
+          case 7:
+           F : {
+            if (t[e >> 2] <= 3) {
+             a = VZ(l + 8 | 0, f);
+             if (t[e >> 2] >= a >>> 0) {
+              g = q[d >> 2];
+              Y$(g, l + 8 | 0, a);
+              break F;
+             }
+             g = 1;
+             break b;
+            }
+            g = q[d >> 2];
+            a = VZ(g, f);
+           }
+           q[d >> 2] = a + g;
+           q[e >> 2] = q[e >> 2] - a;
+           break e;
+          case 6:
+           if (f >>> 0 < 128) {
+            break D;
+           }
+           a = 0;
+           break C;
+          case 0:
+          case 1:
+          case 3:
+          case 4:
+           a = q[e >> 2];
+           if (!(f >>> 0 > 65535 ? !C : 0)) {
+            if (a >>> 0 < 2) {
+             break d;
+            }
+            a = q[d >> 2];
+            f$(a, f >>> 0 > 65535 ? 65533 : f, n);
+            q[d >> 2] = a + 2;
+            q[e >> 2] = q[e >> 2] + -2;
+            break e;
+           }
+           if (a >>> 0 < 4) {
+            break d;
+           }
+           a = q[d >> 2];
+           f = f + -65536 | 0;
+           f$(a, f >>> 10 | 55296, n);
+           f$(a + 2 | 0, f & 1023 | 56320, n);
+           q[d >> 2] = a + 4;
+           q[e >> 2] = q[e >> 2] + -4;
+           break e;
+          default:
+           break E;
+          }
+         }
+         if (t[e >> 2] < 4) {
+          break d;
+         }
+         a = q[d >> 2];
+         g$(a, f, n);
+         q[d >> 2] = a + 4;
+         q[e >> 2] = q[e >> 2] + -4;
+         break e;
+        }
+        a = 1;
+       }
+       while (1) {
+        if (!a) {
+         u = u + 1 | 0;
+         f = 42;
+         a = 1;
+         continue;
+        }
+        if (!q[e >> 2]) {
+         break d;
+        }
+        G : {
+         if (f >>> 0 < F >>> 0) {
+          break G;
+         }
+         a = 0;
+         if (A) {
+          while (1) {
+           g = (w(a, 5) >>> 2 | 0) + D | 0;
+           k = a << 1 & 6;
+           if (s[((r[g + 1 | 0] << 8 - k & 1023 | r[g | 0] >>> k) << 1) + 571184 >> 1] == (f | 0)) {
+            f = a + 128 | 0;
+            break G;
+           }
+           a = a + 1 | 0;
+           if ((A | 0) != (a | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         a = 0;
+         continue;
+        }
+        break;
+       }
+       a = q[d >> 2];
+       q[d >> 2] = a + 1;
+       o[a | 0] = f;
+       q[e >> 2] = q[e >> 2] + -1;
+      }
+      a = q[b >> 2] + h | 0;
+      q[b >> 2] = a;
+      i = i - h | 0;
+      q[c >> 2] = i;
+      if (i) {
+       continue;
+      }
+      break;
+     }
+     q[160522] = z;
+     break a;
+    }
+    k = 1;
+   }
+   g = k;
+  }
+  q[160854] = g;
+  q[160522] = z;
+  u = -1;
+ }
+ Ca = l + 32 | 0;
+ return u;
+}
+function JH(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0;
+ h = Ca - 25776 | 0;
+ Ca = h;
+ X = q[b + 92 >> 2];
+ q[a + 40 >> 2] = s[b + 68 >> 1];
+ c = 0;
+ a : {
+  if (Vf(b, 1970170211)) {
+   break a;
+  }
+  c = q[b + 100 >> 2];
+  Z$(h + 19088 | 4, 0, 2756);
+  q[h + 19088 >> 2] = c;
+  q[a + 9568 >> 2] = 0;
+  q[a + 52 >> 2] = 0;
+  c = q[q[(q[q[a >> 2] + 8 >> 2] << 2) + 283840 >> 2] + 16 >> 2];
+  e = GG();
+  f = r[c | 0];
+  b : {
+   if (f) {
+    while (1) {
+     if ((f & 255) == 32) {
+      while (1) {
+       d = r[c + 1 | 0];
+       c = c + 1 | 0;
+       if ((d | 0) == 32) {
+        continue;
+       }
+       break;
+      }
+     }
+     c = qH(c, a, e, h + 25728 | 0);
+     c : {
+      if (t[h + 25728 >> 2] > 1) {
+       break c;
+      }
+      d = LG(e, h);
+      MG(e, h);
+      if (!q[h >> 2]) {
+       break c;
+      }
+      d = q[d >> 2];
+      if (!d) {
+       break c;
+      }
+      HG(e);
+      if (we(b, d, 1)) {
+       break b;
+      }
+      e = q[b + 84 >> 2];
+      if (p[e + 110 >> 1] < 1) {
+       break b;
+      }
+      c = Z$(h, 0, 19076);
+      d = q[a + 40 >> 2];
+      q[c + 16 >> 2] = 0;
+      q[c + 20 >> 2] = 0;
+      q[c + 24 >> 2] = 0;
+      q[c + 28 >> 2] = 0;
+      q[c + 8 >> 2] = 65536;
+      q[c + 12 >> 2] = 65536;
+      q[c + 40 >> 2] = d;
+      q[c + 4 >> 2] = b;
+      q[c + 21828 >> 2] = 0;
+      q[c + 21836 >> 2] = c;
+      if (xH(c + 19088 | 0, e + 108 | 0)) {
+       break b;
+      }
+      q[c + 25728 >> 2] = 0;
+      if (KH(c + 19088 | 0, 0)) {
+       break b;
+      }
+      LH(c + 19088 | 0, 0, 0, 0);
+      e = q[c + 19132 >> 2];
+      if ((e | 0) >= 1) {
+       f = q[c + 19140 >> 2];
+       d = f + w(e, 44) | 0;
+       while (1) {
+        e = q[f + 20 >> 2];
+        if (!(!e | e >>> 0 <= f >>> 0 | (q[e + 20 >> 2] != (f | 0) | m >>> 0 > 15))) {
+         g = p[f + 2 >> 1] - p[e + 2 >> 1] | 0;
+         e = g >> 31;
+         q[(w(m, 12) + a | 0) + 56 >> 2] = e ^ e + g;
+         m = m + 1 | 0;
+        }
+        f = f + 44 | 0;
+        if (f >>> 0 < d >>> 0) {
+         continue;
+        }
+        break;
+       }
+       q[c + 25728 >> 2] = m;
+      }
+      MH(c + 25728 | 0, a + 56 | 0, t[c + 40 >> 2] / 100 | 0);
+      q[a + 52 >> 2] = q[c + 25728 >> 2];
+      m = 0;
+      q[c + 25728 >> 2] = 0;
+      if (KH(c + 19088 | 0, 1)) {
+       break b;
+      }
+      LH(c + 19088 | 0, 0, 0, 1);
+      e = q[c + 20480 >> 2];
+      if ((e | 0) >= 1) {
+       f = q[c + 20488 >> 2];
+       d = f + w(e, 44) | 0;
+       while (1) {
+        e = q[f + 20 >> 2];
+        if (!(!e | e >>> 0 <= f >>> 0 | (q[e + 20 >> 2] != (f | 0) | m >>> 0 > 15))) {
+         g = p[f + 2 >> 1] - p[e + 2 >> 1] | 0;
+         e = g >> 31;
+         q[(w(m, 12) + a | 0) + 9572 >> 2] = e ^ e + g;
+         m = m + 1 | 0;
+        }
+        f = f + 44 | 0;
+        if (f >>> 0 < d >>> 0) {
+         continue;
+        }
+        break;
+       }
+       q[c + 25728 >> 2] = m;
+      }
+      MH(c + 25728 | 0, a + 9572 | 0, t[c + 40 >> 2] / 100 | 0);
+      q[a + 9568 >> 2] = q[c + 25728 >> 2];
+      break b;
+     }
+     f = r[c | 0];
+     if (f) {
+      continue;
+     }
+     break;
+    }
+   }
+   HG(e);
+  }
+  if (q[a + 52 >> 2]) {
+   c = q[a + 56 >> 2];
+  } else {
+   c = (w(q[a + 40 >> 2], 50) | 0) / 2048 | 0;
+  }
+  o[a + 256 | 0] = 0;
+  q[a + 252 >> 2] = c;
+  q[a + 248 >> 2] = (c | 0) / 5;
+  if (q[a + 9568 >> 2]) {
+   c = q[a + 9572 >> 2];
+  } else {
+   c = (w(q[a + 40 >> 2], 50) | 0) / 2048 | 0;
+  }
+  o[a + 9772 | 0] = 0;
+  q[a + 9768 >> 2] = c;
+  q[a + 9764 >> 2] = (c | 0) / 5;
+  NH(h + 19088 | 0);
+  Y = t[a + 40 >> 2] / 14 | 0;
+  T = q[a >> 2];
+  c = q[T + 12 >> 2];
+  N = GG();
+  c = (c << 3) + 278240 | 0;
+  f = q[c >> 2];
+  if ((f | 0) != 5326) {
+   while (1) {
+    x = c;
+    H = f + 272912 | 0;
+    c = r[H | 0];
+    d : {
+     if (!c) {
+      break d;
+     }
+     F = 0;
+     z = 0;
+     I = 0;
+     m = 0;
+     while (1) {
+      if ((c & 255) == 32) {
+       while (1) {
+        c = r[H + 1 | 0];
+        H = H + 1 | 0;
+        if ((c | 0) == 32) {
+         continue;
+        }
+        break;
+       }
+      }
+      H = qH(H, a, N, h + 25772 | 0);
+      U = q[h + 25772 >> 2];
+      e : {
+       if (!U) {
+        break e;
+       }
+       A = o[x + 4 | 0] & 1 ? -2147483648 : 2147483647;
+       K = 0;
+       L = 0;
+       while (1) {
+        c = LG(N, h + 25728 | 0);
+        e = MG(N, h + 25728 | 0);
+        f : {
+         if (t[h + 25728 >> 2] <= K >>> 0) {
+          break f;
+         }
+         d = c;
+         c = w(K, 20);
+         d = q[d + c >> 2];
+         if (!d) {
+          break f;
+         }
+         P = q[(c + e | 0) + 12 >> 2];
+         if (we(b, d, 1)) {
+          break f;
+         }
+         c = q[b + 84 >> 2];
+         if (p[c + 110 >> 1] < 3) {
+          break f;
+         }
+         Q = 0;
+         y = p[c + 108 >> 1];
+         g : {
+          if ((y | 0) < 1) {
+           l = 0;
+           J = s[x + 4 >> 1];
+           break g;
+          }
+          J = q[c + 120 >> 2];
+          G = q[c + 116 >> 2];
+          n = q[c + 112 >> 2];
+          e = -1;
+          B = 0;
+          C = 0;
+          j = 0;
+          k = 0;
+          l = 0;
+          while (1) {
+           i = p[J + (k << 1) >> 1];
+           if ((j | 0) < (i | 0)) {
+            d = e;
+            c = j;
+            f = c;
+            h : {
+             if (r[x + 4 | 0] & 3) {
+              while (1) {
+               g = q[((c << 3) + n | 0) + 4 >> 2];
+               f = g + P | 0;
+               i : {
+                if (!((g | 0) <= (l | 0) ? (d | 0) >= 0 : 0)) {
+                 I = (I | 0) > (f | 0) ? I : f;
+                 l = g;
+                 d = c;
+                 break i;
+                }
+                m = (m | 0) < (f | 0) ? m : f;
+               }
+               g = (c | 0) == (i | 0);
+               c = c + 1 | 0;
+               if (!g) {
+                continue;
+               }
+               break h;
+              }
+             }
+             while (1) {
+              c = q[((f << 3) + n | 0) + 4 >> 2];
+              g = c + P | 0;
+              j : {
+               if (!((c | 0) >= (l | 0) ? (d | 0) >= 0 : 0)) {
+                m = (m | 0) < (g | 0) ? m : g;
+                l = c;
+                d = f;
+                break j;
+               }
+               I = (I | 0) > (g | 0) ? I : g;
+              }
+              c = (f | 0) != (i | 0);
+              f = f + 1 | 0;
+              if (c) {
+               continue;
+              }
+              break;
+             }
+            }
+            c = (d | 0) == (e | 0);
+            B = c ? B : j;
+            C = c ? C : i;
+            e = d;
+           }
+           j = i + 1 | 0;
+           k = k + 1 | 0;
+           if ((y | 0) != (k | 0)) {
+            continue;
+           }
+           break;
+          }
+          if ((e | 0) <= -1) {
+           J = s[x + 4 >> 1];
+           break g;
+          }
+          O = q[(e << 3) + n >> 2];
+          i = e;
+          c = (r[e + G | 0] & 3) == 1 ? e : -1;
+          f = c;
+          k : {
+           while (1) {
+            d = (i | 0) > (B | 0) ? i + -1 | 0 : C;
+            k = (d << 3) + n | 0;
+            j = q[k + 4 >> 2] - l | 0;
+            g = j >> 31;
+            j = g ^ g + j;
+            if ((j | 0) >= 6) {
+             k = q[k >> 2] - O | 0;
+             g = k >> 31;
+             if ((g ^ g + k) <= (w(j, 20) | 0)) {
+              break k;
+             }
+            }
+            g = (r[d + G | 0] & 3) == 1;
+            f = (f | 0) < 0 ? g ? d : f : f;
+            c = g ? d : c;
+            i = d;
+            if ((d | 0) != (e | 0)) {
+             continue;
+            }
+            break;
+           }
+           i = e;
+          }
+          g = e;
+          l : {
+           while (1) {
+            d = (g | 0) < (C | 0) ? g + 1 | 0 : B;
+            R = (d << 3) + n | 0;
+            j = q[R + 4 >> 2] - l | 0;
+            k = j >> 31;
+            j = k ^ j + k;
+            if ((j | 0) >= 6) {
+             y = q[R >> 2] - O | 0;
+             k = y >> 31;
+             if ((k ^ k + y) <= (w(j, 20) | 0)) {
+              break l;
+             }
+            }
+            g = (r[d + G | 0] & 3) == 1;
+            c = (c | 0) < 0 ? g ? d : c : c;
+            f = g ? d : f;
+            g = d;
+            if ((d | 0) != (e | 0)) {
+             continue;
+            }
+            break;
+           }
+           g = e;
+          }
+          J = s[x + 4 >> 1];
+          m : {
+           n : {
+            if (!(J & 16)) {
+             break n;
+            }
+            k = q[(g << 3) + n >> 2] - q[(i << 3) + n >> 2] | 0;
+            d = k >> 31;
+            d = d ^ d + k;
+            k = q[a + 40 >> 2];
+            V = (k >>> 0) / 25 | 0;
+            if ((d | 0) >= (V | 0)) {
+             break n;
+            }
+            d = e;
+            if (((g - i | 0) + 2 | 0) > (C - B | 0)) {
+             break n;
+            }
+            while (1) {
+             d = (d | 0) > (B | 0) ? d + -1 | 0 : C;
+             W = q[(d << 3) + n >> 2];
+             if ((d | 0) != (e | 0) ? (O | 0) == (W | 0) : 0) {
+              continue;
+             }
+             break;
+            }
+            if ((d | 0) == (e | 0)) {
+             break f;
+            }
+            Z = k >>> 2 | 0;
+            S = 0;
+            k = g;
+            d = g;
+            j = 0;
+            e = 0;
+            while (1) {
+             if (!S) {
+              S = 1;
+              k = d;
+              j = (r[d + G | 0] & 3) == 1 ? d : -1;
+              e = j;
+             }
+             d = (d | 0) < (C | 0) ? d + 1 | 0 : B;
+             u = (k << 3) + n | 0;
+             y = q[u + 4 >> 2];
+             D = l - y | 0;
+             v = D >> 31;
+             o : {
+              p : {
+               if ((v ^ v + D) > (Z | 0)) {
+                break p;
+               }
+               v = (d << 3) + n | 0;
+               E = q[v + 4 >> 2] - y | 0;
+               D = E >> 31;
+               D = D ^ D + E;
+               q : {
+                if ((D | 0) <= 5) {
+                 E = q[v >> 2];
+                 v = q[u >> 2];
+                 u = E - v | 0;
+                 break q;
+                }
+                E = q[v >> 2];
+                v = q[u >> 2];
+                u = E - v | 0;
+                M = u >> 31;
+                if ((M ^ u + M) <= (w(D, 20) | 0)) {
+                 break p;
+                }
+               }
+               M = (r[d + G | 0] & 3) == 1;
+               j = (j | 0) < 0 ? M ? d : j : j;
+               e = M ? d : e;
+               if (((W | 0) < (O | 0) | 0) == ((E | 0) <= (v | 0) | 0)) {
+                break o;
+               }
+               E = u;
+               u = u >> 31;
+               if ((E + u ^ u) < (V | 0)) {
+                break o;
+               }
+               g = w(D, 20);
+               while (1) {
+                d = (d | 0) < (C | 0) ? d + 1 | 0 : B;
+                f = q[((d << 3) + n | 0) + 4 >> 2] - y | 0;
+                c = f >> 31;
+                r : {
+                 if ((c ^ c + f) < 6) {
+                  break r;
+                 }
+                 f = q[R >> 2] - v | 0;
+                 c = f >> 31;
+                 if ((c ^ c + f) > (g | 0)) {
+                  break r;
+                 }
+                 g = (d | 0) > (B | 0) ? d + -1 | 0 : C;
+                 break m;
+                }
+                j = (j | 0) < 0 ? (r[d + G | 0] & 3) == 1 ? d : j : j;
+                e = d;
+                if ((d | 0) != (i | 0)) {
+                 continue;
+                }
+                break;
+               }
+               g = i;
+               e = g;
+               break m;
+              }
+              S = 0;
+             }
+             if ((d | 0) != (i | 0)) {
+              continue;
+             }
+             break;
+            }
+           }
+           y = l;
+           k = i;
+           j = c;
+           e = f;
+          }
+          l = y + P | 0;
+          if ((e | j) >= 0) {
+           e = q[(e << 3) + n >> 2] - q[(j << 3) + n >> 2] | 0;
+           c = e >> 31;
+           if ((c ^ c + e) > (Y | 0)) {
+            break g;
+           }
+          }
+          if ((r[g + G | 0] & 3) == 1 ? (r[k + G | 0] & 3) == 1 : 0) {
+           break g;
+          }
+          Q = 1;
+          if (J & 4) {
+           break f;
+          }
+         }
+         if (J & 1) {
+          c = (l | 0) > (A | 0);
+          A = c ? l : A;
+          L = c ? Q : L;
+          break f;
+         }
+         c = (l | 0) < (A | 0);
+         A = c ? l : A;
+         L = c ? Q : L;
+        }
+        K = K + 1 | 0;
+        if ((U | 0) != (K | 0)) {
+         continue;
+        }
+        break;
+       }
+       if (A + -2147483647 >>> 0 < 2) {
+        break e;
+       }
+       if (L & 255) {
+        q[(h + 19088 | 0) + (z << 2) >> 2] = A;
+        z = z + 1 | 0;
+        break e;
+       }
+       q[(F << 2) + h >> 2] = A;
+       F = F + 1 | 0;
+      }
+      c = r[H | 0];
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     if (!(z | F)) {
+      break d;
+     }
+     g = 1;
+     if (z >>> 0 >= 2) {
+      while (1) {
+       d = q[(h + 19088 | 0) + (g << 2) >> 2];
+       c = g;
+       while (1) {
+        e = c + -1 | 0;
+        i = (h + 19088 | 0) + (e << 2) | 0;
+        f = q[i >> 2];
+        if ((d | 0) < (f | 0)) {
+         q[(h + 19088 | 0) + (c << 2) >> 2] = f;
+         q[i >> 2] = d;
+         c = e;
+         if (c) {
+          continue;
+         }
+        }
+        break;
+       }
+       g = g + 1 | 0;
+       if ((z | 0) != (g | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     g = 1;
+     if (F >>> 0 >= 2) {
+      while (1) {
+       d = q[(g << 2) + h >> 2];
+       c = g;
+       while (1) {
+        e = c + -1 | 0;
+        i = (e << 2) + h | 0;
+        f = q[i >> 2];
+        if ((d | 0) < (f | 0)) {
+         q[(c << 2) + h >> 2] = f;
+         q[i >> 2] = d;
+         c = e;
+         if (c) {
+          continue;
+         }
+        }
+        break;
+       }
+       g = g + 1 | 0;
+       if ((F | 0) != (g | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     c = q[a + 9776 >> 2];
+     q[a + 9776 >> 2] = c + 1;
+     c = w(c, 36) + a | 0;
+     e = c + 9792 | 0;
+     d = c + 9780 | 0;
+     s : {
+      t : {
+       if (!F) {
+        f = q[(h + 19088 | 0) + (z << 1 & -4) >> 2];
+        break t;
+       }
+       f = q[(F << 1 & -4) + h >> 2];
+       if (!z) {
+        break t;
+       }
+       q[d >> 2] = f;
+       g = q[(h + 19088 | 0) + (z << 1 & -4) >> 2];
+       q[e >> 2] = g;
+       if ((f | 0) == (g | 0)) {
+        l = s[x + 4 >> 1];
+        break s;
+       }
+       l = s[x + 4 >> 1];
+       if (((l & 3) != 0 | 0) == ((g | 0) > (f | 0) | 0)) {
+        break s;
+       }
+       i = e;
+       e = (f + g | 0) / 2 | 0;
+       q[i >> 2] = e;
+       q[d >> 2] = e;
+       break s;
+      }
+      q[e >> 2] = f;
+      q[d >> 2] = f;
+      l = s[x + 4 >> 1];
+     }
+     e = c + 9812 | 0;
+     d = l << 1 & 2;
+     q[e >> 2] = d;
+     q[c + 9808 >> 2] = m;
+     q[c + 9804 >> 2] = I;
+     c = s[x + 4 >> 1];
+     if (!(c & 14)) {
+      break d;
+     }
+     g = e;
+     e = c << 1;
+     e = d | e & 4 | e & 8;
+     q[g >> 2] = c & 8 ? e | 16 : e;
+    }
+    c = x + 8 | 0;
+    f = q[x + 8 >> 2];
+    if ((f | 0) != 5326) {
+     continue;
+    }
+    break;
+   }
+  }
+  HG(N);
+  d = q[a + 9776 >> 2];
+  if (d) {
+   c = 0;
+   while (1) {
+    q[(h + 25728 | 0) + (c << 2) >> 2] = (w(c, 36) + a | 0) + 9780;
+    c = c + 1 | 0;
+    if ((d | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   if (d >>> 0 >= 2) {
+    i = 1;
+    while (1) {
+     c = q[(h + 25728 | 0) + (i << 2) >> 2];
+     f = i;
+     while (1) {
+      e = f + -1 | 0;
+      l = (h + 25728 | 0) + (e << 2) | 0;
+      g = q[l >> 2];
+      if (q[(r[c + 32 | 0] & 6 ? 0 : 12) + c >> 2] < q[(r[g + 32 | 0] & 6 ? 0 : 12) + g >> 2]) {
+       f = (h + 25728 | 0) + (f << 2) | 0;
+       c = q[f >> 2];
+       q[f >> 2] = g;
+       q[l >> 2] = c;
+       f = e;
+       if (e) {
+        continue;
+       }
+      }
+      break;
+     }
+     i = i + 1 | 0;
+     if ((d | 0) != (i | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   g = d + -1 | 0;
+   if (g) {
+    f = q[h + 25728 >> 2];
+    d = q[f + 32 >> 2];
+    c = 0;
+    while (1) {
+     e = (d & 6 ? 12 : 0) + f | 0;
+     c = c + 1 | 0;
+     f = q[(h + 25728 | 0) + (c << 2) >> 2];
+     d = q[f + 32 >> 2];
+     i = q[(d & 6 ? 12 : 0) + f >> 2];
+     if (q[e >> 2] > (i | 0)) {
+      q[e >> 2] = i;
+     }
+     if ((c | 0) != (g | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   m = 0;
+   q[h + 16 >> 2] = q[72260];
+   c = q[72259];
+   q[h + 8 >> 2] = q[72258];
+   q[h + 12 >> 2] = c;
+   c = q[72257];
+   q[h >> 2] = q[72256];
+   q[h + 4 >> 2] = c;
+   c = h;
+   d = GG();
+   i = 0;
+   u : {
+    while (1) {
+     c = qH(c, a, d, h + 25728 | 0);
+     v : {
+      if (t[h + 25728 >> 2] > 1) {
+       break v;
+      }
+      e = LG(d, h + 19088 | 0);
+      g = MG(d, h + 19088 | 0);
+      if (!q[h + 19088 >> 2] | !q[e >> 2]) {
+       break v;
+      }
+      e = q[g >> 2];
+      if (!(m & 255)) {
+       m = 1;
+       i = e;
+       break v;
+      }
+      if ((e | 0) == (i | 0)) {
+       break v;
+      }
+      c = 0;
+      break u;
+     }
+     if (r[c | 0]) {
+      continue;
+     }
+     break;
+    }
+    c = 1;
+   }
+   HG(d);
+   o[a + 32 | 0] = c;
+   c = 0;
+   break a;
+  }
+  a = q[a + 36 >> 2];
+  e = q[a + 4 >> 2];
+  if ((e | 0) >= 1) {
+   a = q[a + 8 >> 2];
+   d = q[T >> 2];
+   c = 0;
+   while (1) {
+    g = a + (c << 1) | 0;
+    if ((d | 0) == (s[g >> 1] & 16383)) {
+     p[g >> 1] = 65;
+    }
+    c = c + 1 | 0;
+    if ((e | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = -1;
+ }
+ Wf(b, X);
+ Ca = h + 25776 | 0;
+ return c | 0;
+}
+function Al(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0;
+ g = Ca - 32 | 0;
+ Ca = g;
+ a : {
+  b : {
+   e = yg(a, 0);
+   if (!e) {
+    e = Xg(a, 17264, b + 132 | 0);
+    if (!e) {
+     break b;
+    }
+   }
+   q[g + 24 >> 2] = e;
+   break a;
+  }
+  d = b + 168 | 0;
+  q[d >> 2] = q[d >> 2] + (q[b + 204 >> 2] << 16);
+  q[g + 24 >> 2] = 0;
+  c : {
+   if (!(q[b + 132 >> 2] != 1346785840 | t[b + 136 >> 2] > 4 | t[b + 144 >> 2] < 58)) {
+    if (q[b + 140 >> 2] == 3338) {
+     break c;
+    }
+   }
+   e = 2;
+   q[g + 24 >> 2] = 2;
+   break a;
+  }
+  f = q[b + 152 >> 2];
+  e = yg(a, f);
+  q[g + 8 >> 2] = e;
+  d : {
+   e : {
+    if (e) {
+     break e;
+    }
+    k = Bg(a, g + 8 | 0);
+    e = q[g + 8 >> 2];
+    if (e) {
+     break e;
+    }
+    f : {
+     if (k >>> 0 > 13106) {
+      break f;
+     }
+     d = q[a + 4 >> 2];
+     if (w(k, 5) + 2 >>> 0 >= d - f >>> 0) {
+      break f;
+     }
+     if (w(k, 23) + 95 >>> 0 < d >>> 0) {
+      break d;
+     }
+    }
+    e = 8;
+    q[g + 8 >> 2] = 8;
+   }
+   q[g + 24 >> 2] = e;
+   break a;
+  }
+  e = 0;
+  q[g + 24 >> 2] = 0;
+  q[b >> 2] = k;
+  if ((c | 0) < 0) {
+   break a;
+  }
+  z = c & 65535;
+  if (z >>> 0 >= k >>> 0) {
+   e = 6;
+   q[g + 24 >> 2] = 6;
+   break a;
+  }
+  v = q[b + 204 >> 2];
+  e = yg(a, q[b + 152 >> 2]);
+  q[g + 8 >> 2] = e;
+  g : {
+   h : {
+    i : {
+     if (e) {
+      break i;
+     }
+     c = Bg(a, g + 8 | 0);
+     e = q[g + 8 >> 2];
+     if (e) {
+      break i;
+     }
+     e = 6;
+     if (z >>> 0 >= c >>> 0) {
+      break i;
+     }
+     e = Ag(a, w(z, 5));
+     q[g + 8 >> 2] = e;
+     if (e) {
+      break i;
+     }
+     d = Bg(a, g + 8 | 0);
+     e = q[g + 8 >> 2];
+     if (e) {
+      break i;
+     }
+     c = Vg(a, g + 8 | 0);
+     e = q[g + 8 >> 2];
+     if (e) {
+      break i;
+     }
+     q[b + 240 >> 2] = d;
+     q[b + 244 >> 2] = c;
+     e = yg(a, c);
+     q[g + 8 >> 2] = e;
+     if (e) {
+      break i;
+     }
+     e = Kg(a, d);
+     q[g + 8 >> 2] = e;
+     if (e) {
+      break i;
+     }
+     j : {
+      if (d >>> 0 < 13) {
+       break j;
+      }
+      i = q[a + 32 >> 2];
+      j = i + d | 0;
+      q[b + 248 >> 2] = r[i + 2 | 0] | (r[i + 1 | 0] << 8 | r[i | 0] << 16);
+      q[b + 252 >> 2] = r[i + 5 | 0] | (r[i + 4 | 0] << 8 | r[i + 3 | 0] << 16);
+      q[b + 256 >> 2] = r[i + 8 | 0] | (r[i + 7 | 0] << 8 | r[i + 6 | 0] << 16);
+      q[b + 260 >> 2] = r[i + 11 | 0] | (r[i + 10 | 0] << 8 | r[i + 9 | 0] << 16);
+      d = 0;
+      f = i + 13 | 0;
+      h = f;
+      l = r[i + 12 | 0];
+      m = l & 4;
+      if (m) {
+       c = l & 8 ? 2 : 1;
+       d = l & 3 ? c : c + 3 | 0;
+      }
+      k = l & 32;
+      e = l & 16;
+      if (h + (d + (e >>> 4 | 0 ? k ? 2 : 1 : 0) | 0) >>> 0 > j >>> 0) {
+       break j;
+      }
+      k : {
+       if (!m) {
+        break k;
+       }
+       d = b;
+       l : {
+        if (l & 8) {
+         f = i + 15 | 0;
+         c = r[i + 13 | 0] | r[i + 14 | 0] << 8;
+         c = (c << 24 | c << 8 & 16711680) >> 16;
+         break l;
+        }
+        f = i + 14 | 0;
+        c = r[i + 13 | 0];
+       }
+       q[d + 268 >> 2] = c;
+       if (l & 3) {
+        break k;
+       }
+       q[b + 276 >> 2] = r[f + 2 | 0] | (r[f + 1 | 0] << 8 | r[f | 0] << 16);
+       f = f + 3 | 0;
+      }
+      m : {
+       if (!e) {
+        d = f;
+        break m;
+       }
+       n : {
+        if (k) {
+         c = r[f | 0] | r[f + 1 | 0] << 8;
+         e = (c << 24 | c << 8 & 16711680) >> 16;
+         d = f + 2 | 0;
+         break n;
+        }
+        e = r[f | 0];
+        d = f + 1 | 0;
+       }
+       q[b + 272 >> 2] = e;
+      }
+      o : {
+       if (!(l & 64)) {
+        e = d;
+        break o;
+       }
+       e = d + 1 | 0;
+       if (e >>> 0 > j >>> 0) {
+        break h;
+       }
+       d = r[d | 0];
+       if (d) {
+        while (1) {
+         c = e + 2 | 0;
+         if (c >>> 0 > j >>> 0) {
+          break h;
+         }
+         e = c + r[e | 0] | 0;
+         if (e >>> 0 > j >>> 0) {
+          break h;
+         }
+         d = d + -1 | 0;
+         if (d) {
+          continue;
+         }
+         break;
+        }
+       }
+       q[g + 8 >> 2] = 0;
+      }
+      d = e + 5 | 0;
+      if (d >>> 0 > j >>> 0) {
+       break j;
+      }
+      c = r[e + 1 | 0] | r[e | 0] << 8;
+      q[b + 280 >> 2] = c;
+      q[b + 284 >> 2] = r[e + 4 | 0] | (r[e + 3 | 0] << 8 | r[e + 2 | 0] << 16);
+      if (!v) {
+       break g;
+      }
+      if (e + 6 >>> 0 > j >>> 0) {
+       break j;
+      }
+      q[b + 280 >> 2] = c | r[d | 0] << 16;
+      break g;
+     }
+     q[g + 8 >> 2] = 8;
+     break g;
+    }
+    q[g + 24 >> 2] = e;
+    break a;
+   }
+   q[g + 8 >> 2] = 8;
+  }
+  Ng(a);
+  e = q[g + 8 >> 2];
+  q[g + 24 >> 2] = e;
+  if (e) {
+   break a;
+  }
+  d = q[b + 280 >> 2];
+  v = q[b + 284 >> 2];
+  u = q[a + 28 >> 2];
+  c = b + 424 | 0;
+  q[b + 428 >> 2] = c;
+  q[c >> 2] = 0;
+  q[b + 292 >> 2] = v;
+  h = b + 288 | 0;
+  q[h >> 2] = u;
+  e = yg(a, v);
+  q[g + 28 >> 2] = e;
+  p : {
+   q : {
+    r : {
+     s : {
+      if (e) {
+       break s;
+      }
+      e = Kg(a, d);
+      q[g + 28 >> 2] = e;
+      if (e) {
+       break s;
+      }
+      e = q[a + 32 >> 2];
+      q[h + 148 >> 2] = e;
+      t : {
+       if ((d | 0) < 15) {
+        break t;
+       }
+       q[h + 8 >> 2] = r[e + 1 | 0] | r[e | 0] << 8;
+       q[h + 12 >> 2] = r[e + 3 | 0] | r[e + 2 | 0] << 8;
+       q[h + 16 >> 2] = r[e + 5 | 0] | r[e + 4 | 0] << 8;
+       c = r[e + 6 | 0] | r[e + 7 | 0] << 8;
+       q[h + 20 >> 2] = (c << 24 | c << 8 & 16711680) >> 16;
+       c = r[e + 8 | 0] | r[e + 9 | 0] << 8;
+       q[h + 24 >> 2] = (c << 24 | c << 8 & 16711680) >> 16;
+       c = r[e + 10 | 0] | r[e + 11 | 0] << 8;
+       q[h + 28 >> 2] = (c << 24 | c << 8 & 16711680) >> 16;
+       c = r[e + 12 | 0] | r[e + 13 | 0] << 8;
+       q[h + 32 >> 2] = (c << 24 | c << 8 & 16711680) >> 16;
+       i = r[e + 14 | 0];
+       q[h + 36 >> 2] = i;
+       A = i & 4;
+       c = e + 15 | 0;
+       u : {
+        if (A) {
+         break u;
+        }
+        if ((d | 0) < 17) {
+         break t;
+        }
+        c = r[e + 15 | 0] | r[e + 16 | 0] << 8;
+        q[h + 40 >> 2] = (c << 24 | c << 8 & 16711680) >> 16;
+        c = e + 17 | 0;
+       }
+       x = d + e | 0;
+       if (i & 128) {
+        e = 8;
+        d = c + 1 | 0;
+        if (d >>> 0 > x >>> 0) {
+         break q;
+        }
+        j = r[c | 0];
+        v : {
+         if (!j) {
+          c = d;
+          break v;
+         }
+         while (1) {
+          k = d + 2 | 0;
+          if (k >>> 0 > x >>> 0) {
+           break r;
+          }
+          c = k + r[d | 0] | 0;
+          if (c >>> 0 > x >>> 0) {
+           break r;
+          }
+          e = 17392;
+          f = 215;
+          d = r[d + 1 | 0];
+          w : {
+           if ((d | 0) != 1) {
+            while (1) {
+             f = q[e + 12 >> 2];
+             if (!f) {
+              break w;
+             }
+             e = e + 8 | 0;
+             if ((d | 0) != q[e >> 2]) {
+              continue;
+             }
+             break;
+            }
+           }
+           e = n[f](k, c, h) | 0;
+           if (e) {
+            break q;
+           }
+          }
+          d = c;
+          j = j + -1 | 0;
+          if (j) {
+           continue;
+          }
+          break;
+         }
+        }
+        q[g + 28 >> 2] = 0;
+       }
+       f = c + 3 | 0;
+       if (f >>> 0 > x >>> 0) {
+        break t;
+       }
+       j = r[c + 2 | 0] | (r[c + 1 | 0] << 8 | r[c | 0] << 16);
+       if (j) {
+        k = f + j | 0;
+        if (k >>> 0 > x >>> 0) {
+         break t;
+        }
+        while (1) {
+         x : {
+          m = f + 4 | 0;
+          if (m >>> 0 > k >>> 0) {
+           break x;
+          }
+          l = r[f + 1 | 0] | r[f | 0] << 8;
+          if (l >>> 0 < 4 | j >>> 0 < l >>> 0) {
+           break x;
+          }
+          c = r[f + 2 | 0] | r[f + 3 | 0] << 8;
+          c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+          y : {
+           if (c >>> 0 > 2) {
+            break y;
+           }
+           z : {
+            A : {
+             B : {
+              C : {
+               switch (c - 1 | 0) {
+               default:
+                q[g + 8 >> 2] = 0;
+                c = l + -4 | 0;
+                d = q[h + 84 >> 2];
+                if (d) {
+                 Qe(u, d);
+                 q[h + 84 >> 2] = 0;
+                }
+                D : {
+                 E : {
+                  if (!c) {
+                   break E;
+                  }
+                  d = l + -5 | 0;
+                  if (!r[d + m | 0]) {
+                   c = d;
+                   if (!c) {
+                    break E;
+                   }
+                  }
+                  e = 0;
+                  while (1) {
+                   d = r[e + m | 0];
+                   if (d >>> 0 < 32 | d << 24 >> 24 < 0) {
+                    break E;
+                   }
+                   e = e + 1 | 0;
+                   if ((c | 0) != (e | 0)) {
+                    continue;
+                   }
+                   break;
+                  }
+                  break D;
+                 }
+                 q[h + 84 >> 2] = 0;
+                 q[g + 28 >> 2] = 0;
+                 break y;
+                }
+                d = Oe(u, c + 1 | 0, g + 8 | 0);
+                e = q[g + 8 >> 2];
+                if (e) {
+                 q[h + 84 >> 2] = d;
+                 break B;
+                }
+                e = c;
+                c = Y$(d, m, c);
+                o[e + c | 0] = 0;
+                e = q[g + 8 >> 2];
+                q[h + 84 >> 2] = c;
+                break z;
+               case 0:
+                if (l >>> 0 < 36) {
+                 break y;
+                }
+                c = r[f + 14 | 0] | r[f + 15 | 0] << 8;
+                q[h + 44 >> 2] = (c << 24 | c << 8 & 16711680) >> 16;
+                c = r[f + 16 | 0] | r[f + 17 | 0] << 8;
+                q[h + 48 >> 2] = (c << 24 | c << 8 & 16711680) >> 16;
+                c = r[f + 18 | 0] | r[f + 19 | 0] << 8;
+                q[h + 52 >> 2] = (c << 24 | c << 8 & 16711680) >> 16;
+                break y;
+               case 1:
+                break C;
+               }
+              }
+              q[g + 8 >> 2] = 0;
+              c = l + -4 | 0;
+              d = q[h + 88 >> 2];
+              if (d) {
+               Qe(u, d);
+               q[h + 88 >> 2] = 0;
+              }
+              F : {
+               G : {
+                if (!c) {
+                 break G;
+                }
+                d = l + -5 | 0;
+                if (!r[d + m | 0]) {
+                 c = d;
+                 if (!c) {
+                  break G;
+                 }
+                }
+                e = 0;
+                while (1) {
+                 d = r[e + m | 0];
+                 if (d >>> 0 < 32 | d << 24 >> 24 < 0) {
+                  break G;
+                 }
+                 e = e + 1 | 0;
+                 if ((c | 0) != (e | 0)) {
+                  continue;
+                 }
+                 break;
+                }
+                break F;
+               }
+               q[h + 88 >> 2] = 0;
+               q[g + 28 >> 2] = 0;
+               break y;
+              }
+              d = Oe(u, c + 1 | 0, g + 8 | 0);
+              e = q[g + 8 >> 2];
+              if (!e) {
+               break A;
+              }
+              q[h + 88 >> 2] = d;
+             }
+             q[g + 28 >> 2] = e;
+             break s;
+            }
+            e = c;
+            c = Y$(d, m, c);
+            o[e + c | 0] = 0;
+            e = q[g + 8 >> 2];
+            q[h + 88 >> 2] = c;
+           }
+           q[g + 28 >> 2] = e;
+           if (e) {
+            break s;
+           }
+          }
+          f = f + l | 0;
+          j = j - l | 0;
+          if (j) {
+           continue;
+          }
+         }
+         break;
+        }
+        f = k;
+       }
+       e = f + 1 | 0;
+       if (e >>> 0 > x >>> 0) {
+        break t;
+       }
+       j = r[f | 0];
+       q[h + 104 >> 2] = j;
+       m = j << 1;
+       if (m + e >>> 0 > x >>> 0) {
+        break t;
+       }
+       d = 0;
+       k = Te(u, 4, 0, j, 0, g + 28 | 0);
+       q[h + 108 >> 2] = k;
+       if (q[g + 28 >> 2]) {
+        break p;
+       }
+       if (j) {
+        while (1) {
+         c = r[e | 0] | r[e + 1 | 0] << 8;
+         q[k + (d << 2) >> 2] = (c << 24 | c << 8 & 16711680) >> 16;
+         e = e + 2 | 0;
+         d = d + 1 | 0;
+         if ((j | 0) != (d | 0)) {
+          continue;
+         }
+         break;
+        }
+        e = (m | 1) + f | 0;
+       }
+       f = e + 8 | 0;
+       if (f >>> 0 > x >>> 0) {
+        break t;
+       }
+       q[h + 112 >> 2] = r[e | 0];
+       q[h + 116 >> 2] = r[e + 1 | 0];
+       q[h + 68 >> 2] = r[e + 3 | 0] | r[e + 2 | 0] << 8;
+       q[h + 56 >> 2] = r[e + 5 | 0] | r[e + 4 | 0] << 8;
+       y = r[e + 7 | 0] | r[e + 6 | 0] << 8;
+       q[h + 120 >> 2] = y;
+       q[h + 124 >> 2] = (f + v | 0) - q[a + 32 >> 2];
+       l = i & 16;
+       j = i & 8;
+       v = i & 32;
+       m = i & 2;
+       if (w(y, ((l >>> 4) + (j >>> 3) + (v >>> 5) | 0) + (A >>> 1 | (m >>> 1 | 0 ? 5 : 4)) | 0) + f >>> 0 > x >>> 0) {
+        break t;
+       }
+       k = Te(u, 16, 0, y, 0, g + 28 | 0);
+       q[h + 128 >> 2] = k;
+       if (q[g + 28 >> 2] | !y) {
+        break p;
+       }
+       d = 0;
+       while (1) {
+        H : {
+         if (m) {
+          u = r[f + 1 | 0] | r[f | 0] << 8;
+          e = f + 2 | 0;
+          break H;
+         }
+         u = r[f | 0];
+         e = f + 1 | 0;
+        }
+        c = k + (d << 4) | 0;
+        q[c >> 2] = u;
+        I : {
+         if (A) {
+          f = r[e | 0] | r[e + 1 | 0] << 8;
+          u = (f << 24 | f << 8 & 16711680) >> 16;
+          e = e + 2 | 0;
+          break I;
+         }
+         u = q[h + 40 >> 2];
+        }
+        q[c + 4 >> 2] = u;
+        i = j ? e + 1 | 0 : e;
+        f = c;
+        J : {
+         if (l) {
+          e = i + 2 | 0;
+          i = r[i + 1 | 0] | r[i | 0] << 8;
+          break J;
+         }
+         e = i + 1 | 0;
+         i = r[i | 0];
+        }
+        q[f + 8 >> 2] = i;
+        K : {
+         if (v) {
+          u = r[e + 1 | 0] << 8 | r[e | 0] << 16;
+          i = 2;
+          f = e + 3 | 0;
+          break K;
+         }
+         u = r[e | 0] << 8;
+         i = 1;
+         f = e + 2 | 0;
+        }
+        q[c + 12 >> 2] = r[e + i | 0] | u;
+        d = d + 1 | 0;
+        if ((y | 0) != (d | 0)) {
+         continue;
+        }
+        break;
+       }
+       break p;
+      }
+      q[g + 28 >> 2] = 8;
+      break p;
+     }
+     q[g + 24 >> 2] = e;
+     break a;
+    }
+    e = 8;
+   }
+   q[g + 28 >> 2] = e;
+  }
+  Ng(a);
+  f = 0;
+  a = q[a + 8 >> 2];
+  q[h + 148 >> 2] = 0;
+  q[h + 144 >> 2] = a;
+  e = q[g + 28 >> 2];
+  q[g + 24 >> 2] = e;
+  if (e) {
+   break a;
+  }
+  q[b + 4 >> 2] = z;
+  d = q[b + 408 >> 2];
+  q[b + 16 >> 2] = d + 1;
+  c = q[b + 8 >> 2] | 1;
+  q[b + 8 >> 2] = c;
+  L : {
+   M : {
+    N : {
+     O : {
+      if (!d) {
+       break O;
+      }
+      a = q[h + 128 >> 2];
+      while (1) {
+       if (q[(a + (f << 4) | 0) + 12 >> 2]) {
+        break O;
+       }
+       f = f + 1 | 0;
+       if ((d | 0) != (f | 0)) {
+        continue;
+       }
+       break;
+      }
+      break N;
+     }
+     if ((d | 0) != (f | 0)) {
+      break M;
+     }
+    }
+    if (!q[h + 92 >> 2]) {
+     break L;
+    }
+    c = 0;
+    q[b + 8 >> 2] = 0;
+   }
+   a = q[h + 36 >> 2];
+   if (!(a & 4)) {
+    c = c | 4;
+    q[b + 8 >> 2] = c;
+   }
+   e = (a & 1 ? 32 : 16) | c;
+   q[b + 8 >> 2] = e;
+   j = q[b + 380 >> 2];
+   if (j) {
+    e = e | 2;
+    q[b + 8 >> 2] = e;
+   }
+   if (q[h + 132 >> 2]) {
+    q[b + 8 >> 2] = e | 64;
+   }
+   c = q[b + 372 >> 2];
+   q[b + 20 >> 2] = c;
+   if (!c) {
+    q[b + 20 >> 2] = q[b + 368 >> 2];
+   }
+   q[b + 28 >> 2] = 0;
+   q[b + 32 >> 2] = 0;
+   q[b + 24 >> 2] = q[b + 376 >> 2];
+   v = q[h + 28 >> 2];
+   m = q[h + 32 >> 2];
+   k = q[h + 24 >> 2];
+   f = q[h + 20 >> 2];
+   e = q[b + 300 >> 2];
+   p[b + 68 >> 1] = e;
+   d = q[b + 320 >> 2];
+   p[b + 70 >> 1] = d;
+   c = q[b + 312 >> 2];
+   p[b + 72 >> 1] = c;
+   q[b + 52 >> 2] = f;
+   q[b + 56 >> 2] = k;
+   q[b + 60 >> 2] = v;
+   q[b + 64 >> 2] = m;
+   d = (d << 16 >> 16) - (c << 16 >> 16) | 0;
+   c = (w(e & 65535, 12) >>> 0) / 10 | 0;
+   p[b + 74 >> 1] = c << 16 >> 16 < (d | 0) ? d : c;
+   if (j) {
+    f = 0;
+    a = Te(q[q[b + 104 >> 2] + 28 >> 2], 16, 0, j, 0, g + 24 | 0);
+    q[b + 32 >> 2] = a;
+    e = q[g + 24 >> 2];
+    if (e) {
+     break a;
+    }
+    e = q[h + 100 >> 2];
+    while (1) {
+     c = q[e + 4 >> 2];
+     p[a >> 1] = c;
+     d = q[e >> 2];
+     c = c << 6;
+     q[a + 12 >> 2] = c;
+     q[a + 4 >> 2] = c;
+     p[a + 2 >> 1] = d;
+     q[a + 8 >> 2] = d << 6;
+     e = e + 36 | 0;
+     a = a + 16 | 0;
+     f = f + 1 | 0;
+     if ((j | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[b + 28 >> 2] = j;
+    a = q[b + 324 >> 2];
+   }
+   P : {
+    if (!(a & 4)) {
+     e = q[h + 40 >> 2];
+     break P;
+    }
+    c = q[h + 120 >> 2];
+    if (!c) {
+     e = 0;
+     break P;
+    }
+    a = q[h + 128 >> 2];
+    e = 0;
+    while (1) {
+     d = q[a + 4 >> 2];
+     e = (e | 0) < (d | 0) ? d : e;
+     a = a + 16 | 0;
+     c = c + -1 | 0;
+     if (c) {
+      continue;
+     }
+     break;
+    }
+   }
+   p[b + 76 >> 1] = e;
+   p[b + 78 >> 1] = s[b + 74 >> 1];
+   a = s[b + 68 >> 1];
+   p[b + 82 >> 1] = (a >>> 0) / 30;
+   p[b + 80 >> 1] = (a | 0) / -10;
+   q[g + 8 >> 2] = b;
+   q[g + 12 >> 2] = 1970170211;
+   q[g + 16 >> 2] = 65539;
+   e = Xf(17056, 0, g + 8 | 0, 0);
+   q[g + 24 >> 2] = e;
+   if (!q[b + 420 >> 2]) {
+    break a;
+   }
+   q[b + 8 >> 2] = q[b + 8 >> 2] | 64;
+   break a;
+  }
+  e = 3;
+  q[g + 24 >> 2] = 3;
+ }
+ Ca = g + 32 | 0;
+ return e | 0;
+}
+function gE(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, t = 0, u = 0, v = 0, x = 0, y = 0;
+ k = Ca - 32 | 0;
+ Ca = k;
+ a : {
+  v = q[c + 76 >> 2];
+  if (v) {
+   d = v + -1 | 0;
+   b = 0;
+   h = q[c + 88 >> 2];
+   g = r[h + 15 | 0];
+   while (1) {
+    b : {
+     if ((b | 0) == (d | 0)) {
+      b = v;
+      break b;
+     }
+     b = b + 1 | 0;
+     if ((g | 0) == r[(w(b, 20) + h | 0) + 15 | 0]) {
+      continue;
+     }
+    }
+    break;
+   }
+   while (1) {
+    u = q[a + 112 >> 2];
+    g = b;
+    c : {
+     if (b >>> 0 <= i >>> 0) {
+      break c;
+     }
+     b = i;
+     e = q[u + 8 >> 2];
+     if (!e) {
+      break c;
+     }
+     while (1) {
+      d = w(b, 20) + h | 0;
+      d : {
+       if ((e | 0) != q[d >> 2]) {
+        break d;
+       }
+       l = s[d + 12 >> 1];
+       if ((l & 96) != 96) {
+        break d;
+       }
+       o[d + 18 | 0] = 4;
+       p[d + 12 >> 1] = l & 65439;
+      }
+      b = b + 1 | 0;
+      if ((g | 0) != (b | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    e = q[u + 88 >> 2];
+    n = (e | 0) != 0;
+    e : {
+     f : {
+      g : {
+       b = i;
+       h : {
+        if (g >>> 0 <= b >>> 0) {
+         l = i + 1 | 0;
+         if (l >>> 0 < g >>> 0) {
+          break h;
+         }
+         break g;
+        }
+        i : {
+         while (1) {
+          if (r[(w(b, 20) + h | 0) + 19 | 0] >= 4) {
+           j : {
+            if (!e) {
+             n = 0;
+             break j;
+            }
+            d = b + 1 | 0;
+            if (d >>> 0 >= g >>> 0) {
+             n = 1;
+             break j;
+            }
+            while (1) {
+             l = w(d, 20) + h | 0;
+             if (e & q[l + 4 >> 2]) {
+              e = s[l + 12 >> 1];
+              if ((e & 112) == 48) {
+               break j;
+              }
+              k : {
+               if (d >>> 0 >= g >>> 0) {
+                b = d;
+                break k;
+               }
+               if (e & 32) {
+                b = d;
+                break k;
+               }
+               b = d;
+               if (r[l + 18 | 0] != 4) {
+                break k;
+               }
+               while (1) {
+                b = b + 1 | 0;
+                if ((g | 0) == (b | 0)) {
+                 b = g;
+                 break k;
+                }
+                d = w(b, 20) + h | 0;
+                if (r[d + 12 | 0] & 32) {
+                 break k;
+                }
+                if (r[d + 18 | 0] == 4) {
+                 continue;
+                }
+                break;
+               }
+              }
+              o[(w(b, 20) + h | 0) + 19 | 0] = 4;
+              n = 0;
+              break j;
+             }
+             d = d + 1 | 0;
+             if ((g | 0) != (d | 0)) {
+              continue;
+             }
+             break;
+            }
+           }
+           l : {
+            if (q[c + 52 >> 2] != 1298954605) {
+             break l;
+            }
+            d = b + 1 | 0;
+            if (d >>> 0 >= g >>> 0) {
+             break l;
+            }
+            while (1) {
+             m : {
+              if (d >>> 0 >= g >>> 0) {
+               break m;
+              }
+              while (1) {
+               e = w(d, 20) + h | 0;
+               if (r[e + 12 | 0] & 32) {
+                break m;
+               }
+               e = r[e + 18 | 0];
+               if (e >>> 0 > 31 | !(1 << e & 96)) {
+                break m;
+               }
+               d = d + 1 | 0;
+               if ((g | 0) != (d | 0)) {
+                continue;
+               }
+               break;
+              }
+              break l;
+             }
+             if ((d | 0) == (g | 0)) {
+              break l;
+             }
+             e = w(d, 20) + h | 0;
+             if (r[e + 12 | 0] & 32 | r[e + 18 | 0] != 4) {
+              break l;
+             }
+             e = d + 1 | 0;
+             e = (e >>> 0 < g >>> 0 ? g : e) + -1 | 0;
+             n : {
+              while (1) {
+               l = d;
+               d = d + 1 | 0;
+               if (d >>> 0 >= g >>> 0) {
+                l = e;
+                break n;
+               }
+               f = w(d, 20) + h | 0;
+               if (r[f + 12 | 0] & 32) {
+                break n;
+               }
+               m = r[f + 18 | 0];
+               j = 1 << m;
+               m = m >>> 0 > 31;
+               if (j & 96 ? !m : 0) {
+                continue;
+               }
+               break;
+              }
+              if (!(j & 727046) | m) {
+               break n;
+              }
+              e = f + 16 | 0;
+              if (r[e + 3 | 0] != 8) {
+               break n;
+              }
+              o[e + 3 | 0] = 4;
+              b = d;
+             }
+             d = l + 2 | 0;
+             if (d >>> 0 < g >>> 0) {
+              continue;
+             }
+             break;
+            }
+           }
+           n = (n | 0) != 0;
+           if (b >>> 0 <= i >>> 0) {
+            break i;
+           }
+           b = b - (r[(w(b, 20) + h | 0) + 19 | 0] > 4) | 0;
+           break i;
+          }
+          b = b + 1 | 0;
+          if ((g | 0) != (b | 0)) {
+           continue;
+          }
+          break;
+         }
+         b = g;
+        }
+        o : {
+         if (!((b | 0) != (g | 0) | b >>> 0 <= i >>> 0)) {
+          b = g;
+          d = b + -1 | 0;
+          e = w(d, 20) + h | 0;
+          if (r[e + 12 | 0] & 32) {
+           break o;
+          }
+          b = r[e + 18 | 0] == 6 ? d : g;
+         }
+         if (b >>> 0 <= i >>> 0 | b >>> 0 >= g >>> 0) {
+          break o;
+         }
+         while (1) {
+          d = w(b, 20) + h | 0;
+          if (r[d + 12 | 0] & 32) {
+           break o;
+          }
+          d = r[d + 18 | 0];
+          if (d >>> 0 > 31 | !(1 << d & 24)) {
+           break o;
+          }
+          b = b + -1 | 0;
+          if (b >>> 0 > i >>> 0) {
+           continue;
+          }
+          break;
+         }
+         b = i;
+         l = b + 1 | 0;
+         if (l >>> 0 >= g >>> 0) {
+          break g;
+         }
+         break h;
+        }
+        l = i + 1 | 0;
+        t = l >>> 0 >= g >>> 0;
+        p : {
+         if (t | b >>> 0 <= i >>> 0) {
+          break p;
+         }
+         d = ((b | 0) == (g | 0) ? -2 : -1) + b | 0;
+         q : {
+          r : {
+           s : {
+            e = q[c + 52 >> 2];
+            if ((e | 0) == 1298954605 | (e | 0) == 1415671148) {
+             break s;
+            }
+            while (1) {
+             e = 1;
+             t : {
+              if (d >>> 0 <= i >>> 0) {
+               break t;
+              }
+              while (1) {
+               u : {
+                f = w(d, 20) + h | 0;
+                if (r[f + 12 | 0] & 32) {
+                 break u;
+                }
+                f = r[f + 18 | 0];
+                if (f >>> 0 > 31 | !(1 << f & 144)) {
+                 break u;
+                }
+                e = 0;
+                break t;
+               }
+               d = d + -1 | 0;
+               if (d >>> 0 > i >>> 0) {
+                continue;
+               }
+               break;
+              }
+              d = i;
+             }
+             f = w(d, 20) + h | 0;
+             if (r[f + 12 | 0] & 32 | r[f + 18 | 0] != 4 | r[f + 19 | 0] == 2) {
+              break r;
+             }
+             f = d + 1 | 0;
+             if (f >>> 0 >= g >>> 0 | (r[(w(f, 20) + h | 0) + 18 | 0] != 6 | e)) {
+              break s;
+             }
+             d = d + -1 | 0;
+             continue;
+            }
+           }
+           e = i;
+           if (r[(w(d, 20) + h | 0) + 19 | 0] == 2 | d >>> 0 <= e >>> 0) {
+            break q;
+           }
+           e = d;
+           while (1) {
+            f = d + -1 | 0;
+            j = w(f, 20) + h | 0;
+            if (r[j + 19 | 0] == 2) {
+             y = k + 24 | 0;
+             q[y >> 2] = q[j + 16 >> 2];
+             x = q[j + 12 >> 2];
+             m = k + 16 | 0;
+             q[m >> 2] = q[j + 8 >> 2];
+             q[m + 4 >> 2] = x;
+             x = q[j + 4 >> 2];
+             q[k + 8 >> 2] = q[j >> 2];
+             q[k + 12 >> 2] = x;
+             _$(j, w(d, 20) + h | 0, w(e - f | 0, 20));
+             d = w(e, 20) + h | 0;
+             q[d + 16 >> 2] = q[y >> 2];
+             j = q[m + 4 >> 2];
+             q[d + 8 >> 2] = q[m >> 2];
+             q[d + 12 >> 2] = j;
+             j = q[k + 12 >> 2];
+             q[d >> 2] = q[k + 8 >> 2];
+             q[d + 4 >> 2] = j;
+             b = b - (f >>> 0 < b >>> 0 & b >>> 0 <= e >>> 0) | 0;
+             d = b + 1 | 0;
+             d = d >>> 0 < g >>> 0 ? d : g;
+             if (d - e >>> 0 >= 2) {
+              wG(c, e, d);
+             }
+             e = e + -1 | 0;
+            }
+            d = f;
+            if (d >>> 0 > i >>> 0) {
+             continue;
+            }
+            break;
+           }
+           break p;
+          }
+          e = i;
+         }
+         while (1) {
+          if (r[(w(e, 20) + h | 0) + 19 | 0] == 2) {
+           d = b + 1 | 0;
+           d = d >>> 0 < g >>> 0 ? d : g;
+           if (d - e >>> 0 < 2) {
+            break p;
+           }
+           wG(c, e, d);
+           break h;
+          }
+          e = e + 1 | 0;
+          if ((e | 0) != (b | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        if (t) {
+         break g;
+        }
+       }
+       j = w(i, 20) + h | 0;
+       if (r[j + 19 | 0] != 1) {
+        break g;
+       }
+       m = j + 16 | 0;
+       if ((r[m + 2 | 0] == 15 | 0) == ((s[j + 12 >> 1] & 96) == 32 | 0)) {
+        break g;
+       }
+       f = q[q[u >> 2] + 16 >> 2];
+       v : {
+        w : {
+         if ((f | 0) == 12) {
+          break w;
+         }
+         x : {
+          y : {
+           z : {
+            d = l;
+            if (d >>> 0 < b >>> 0) {
+             while (1) {
+              e = d + 1 | 0;
+              t = w(d, 20) + h | 0;
+              if (r[t + 18 | 0] == 4 ? !(r[t + 12 | 0] & 32) : 0) {
+               break z;
+              }
+              d = e;
+              if ((d | 0) != (b | 0)) {
+               continue;
+              }
+              break;
+             }
+            }
+            d = f + -5 | 0;
+            if (d >>> 0 > 4) {
+             break w;
+            }
+            switch (d - 1 | 0) {
+            case 0:
+            case 1:
+            case 2:
+             break w;
+            case 3:
+             break x;
+            default:
+             break y;
+            }
+           }
+           if (e >>> 0 >= b >>> 0) {
+            break v;
+           }
+           f = w(e, 20) + h | 0;
+           if (r[f + 12 | 0] & 32) {
+            break v;
+           }
+           t = e;
+           e = r[f + 18 | 0];
+           d = e >>> 0 < 32 ? 1 << e & 96 ? t : d : d;
+           break v;
+          }
+          d = b + 1 | 0;
+          f = (d >>> 0 < g >>> 0 ? g : d) + -1 | 0;
+          e = b;
+          while (1) {
+           A : {
+            d = e;
+            e = d + 1 | 0;
+            if (e >>> 0 >= g >>> 0) {
+             d = f;
+             break A;
+            }
+            if (r[(w(e, 20) + h | 0) + 19 | 0] < 6) {
+             continue;
+            }
+           }
+           break;
+          }
+          if (d >>> 0 >= g >>> 0) {
+           break w;
+          }
+          break v;
+         }
+         d = b + 1 | 0;
+         f = (d >>> 0 < g >>> 0 ? g : d) + -1 | 0;
+         e = b;
+         while (1) {
+          B : {
+           d = e;
+           e = d + 1 | 0;
+           if (e >>> 0 >= g >>> 0) {
+            d = f;
+            break B;
+           }
+           t = r[(w(e, 20) + h | 0) + 19 | 0];
+           if (t >>> 0 > 31 | !(1 << t & 22528)) {
+            continue;
+           }
+          }
+          break;
+         }
+         if (d >>> 0 < g >>> 0) {
+          break v;
+         }
+        }
+        C : {
+         d = l;
+         if (d >>> 0 < b >>> 0) {
+          while (1) {
+           e = d + 1 | 0;
+           f = w(d, 20) + h | 0;
+           if (r[f + 18 | 0] == 4 ? !(r[f + 12 | 0] & 32) : 0) {
+            break C;
+           }
+           d = e;
+           if ((d | 0) != (b | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         d = g + -1 | 0;
+         e = d >>> 0 > i >>> 0 ? i : d;
+         d = g;
+         while (1) {
+          D : {
+           d = d + -1 | 0;
+           if (d >>> 0 <= i >>> 0) {
+            d = e;
+            break D;
+           }
+           if (r[(w(d, 20) + h | 0) + 19 | 0] == 14) {
+            continue;
+           }
+          }
+          break;
+         }
+         if (r[u + 5 | 0]) {
+          break v;
+         }
+         e = w(d, 20) + h | 0;
+         if (r[e + 12 | 0] & 32 | r[e + 18 | 0] != 4) {
+          break v;
+         }
+         e = b + 1 | 0;
+         if (e >>> 0 >= d >>> 0) {
+          break v;
+         }
+         while (1) {
+          f = w(e, 20);
+          e = e + 1 | 0;
+          d = d - (r[(f + h | 0) + 18 | 0] == 7) | 0;
+          if (e >>> 0 < d >>> 0) {
+           continue;
+          }
+          break;
+         }
+         break v;
+        }
+        if (e >>> 0 >= b >>> 0) {
+         break v;
+        }
+        f = w(e, 20) + h | 0;
+        if (r[f + 12 | 0] & 32) {
+         break v;
+        }
+        t = e;
+        e = r[f + 18 | 0];
+        d = e >>> 0 < 32 ? 1 << e & 96 ? t : d : d;
+       }
+       e = d + 1 | 0;
+       if (e - i >>> 0 >= 2) {
+        wG(c, i, e);
+       }
+       t = k + 24 | 0;
+       q[t >> 2] = q[m >> 2];
+       m = q[j + 12 >> 2];
+       f = k + 16 | 0;
+       e = f;
+       q[e >> 2] = q[j + 8 >> 2];
+       q[e + 4 >> 2] = m;
+       e = q[j + 4 >> 2];
+       q[k + 8 >> 2] = q[j >> 2];
+       q[k + 12 >> 2] = e;
+       _$(j, w(l, 20) + h | 0, w(d - i | 0, 20));
+       e = w(d, 20) + h | 0;
+       q[e + 16 >> 2] = q[t >> 2];
+       j = q[f + 4 >> 2];
+       q[e + 8 >> 2] = q[f >> 2];
+       q[e + 12 >> 2] = j;
+       f = q[k + 12 >> 2];
+       q[e >> 2] = q[k + 8 >> 2];
+       q[e + 4 >> 2] = f;
+       if (!n) {
+        break e;
+       }
+       b = b - (b >>> 0 <= d >>> 0 & b >>> 0 > i >>> 0) | 0;
+       break f;
+      }
+      if (!n) {
+       break e;
+      }
+     }
+     d = b + 1 | 0;
+     if (d >>> 0 >= g >>> 0) {
+      break e;
+     }
+     e = q[u + 88 >> 2];
+     E : {
+      F : {
+       while (1) {
+        G : {
+         f = w(d, 20) + h | 0;
+         if (e & q[f + 4 >> 2]) {
+          if ((s[f + 12 >> 1] & 96) != 32) {
+           break e;
+          }
+          e = q[c + 52 >> 2];
+          if ((e | 0) == 1298954605 | (e | 0) == 1415671148) {
+           break G;
+          }
+          e = b;
+          if (b >>> 0 <= i >>> 0) {
+           break F;
+          }
+          while (1) {
+           e = b;
+           b = b + -1 | 0;
+           n = w(b, 20) + h | 0;
+           H : {
+            if (r[n + 12 | 0] & 32) {
+             break H;
+            }
+            n = r[n + 18 | 0];
+            if (n >>> 0 > 31) {
+             break H;
+            }
+            if (1 << n & 144) {
+             break F;
+            }
+           }
+           if (b >>> 0 > i >>> 0) {
+            continue;
+           }
+           break;
+          }
+          e = i;
+          break E;
+         }
+         d = d + 1 | 0;
+         if ((g | 0) != (d | 0)) {
+          continue;
+         }
+         break e;
+        }
+        break;
+       }
+       e = b;
+      }
+      if (e >>> 0 <= i >>> 0 | e >>> 0 >= g >>> 0) {
+       break E;
+      }
+      b = w(e, 20) + h | 0;
+      if (s[b + -8 >> 1] & 32 | r[b + -2 | 0] != 4 | r[b + 12 | 0] & 32) {
+       break E;
+      }
+      b = r[b + 18 | 0];
+      e = (b >>> 0 < 32 & (1 << b & 96) != 0) + e | 0;
+     }
+     b = d + 1 | 0;
+     if (b - e >>> 0 >= 2) {
+      wG(c, e, b);
+     }
+     j = k + 24 | 0;
+     q[j >> 2] = q[f + 16 >> 2];
+     m = q[f + 12 >> 2];
+     n = k + 16 | 0;
+     b = n;
+     q[b >> 2] = q[f + 8 >> 2];
+     q[b + 4 >> 2] = m;
+     b = q[f + 4 >> 2];
+     q[k + 8 >> 2] = q[f >> 2];
+     q[k + 12 >> 2] = b;
+     b = w(e, 20) + h | 0;
+     _$(b + 20 | 0, b, w(d - e | 0, 20));
+     q[b + 16 >> 2] = q[j >> 2];
+     d = q[n + 4 >> 2];
+     q[b + 8 >> 2] = q[n >> 2];
+     q[b + 12 >> 2] = d;
+     d = q[k + 12 >> 2];
+     q[b >> 2] = q[k + 8 >> 2];
+     q[b + 4 >> 2] = d;
+    }
+    b = w(i, 20) + h | 0;
+    I : {
+     if (r[b + 19 | 0] != 2) {
+      break I;
+     }
+     J : {
+      if (i) {
+       d = i + -1 | 0;
+       if (1 << (s[(w(d, 20) + h | 0) + 16 >> 1] & 31) & 8190) {
+        break J;
+       }
+      }
+      q[b + 4 >> 2] = q[b + 4 >> 2] | q[u + 116 >> 2];
+      break I;
+     }
+     DG(c, d, l);
+    }
+    K : {
+     if (!r[u + 5 | 0]) {
+      break K;
+     }
+     b = q[a + 4 >> 2];
+     if ((b | 0) == 1399418472 | (b | 0) == 1415671148 | g - i >>> 0 < 2) {
+      break K;
+     }
+     wG(c, i, g);
+    }
+    i = q[c + 76 >> 2];
+    b = g + 1 | 0;
+    d = i >>> 0 > b >>> 0 ? i : b;
+    h = q[c + 88 >> 2];
+    e = r[(h + w(g, 20) | 0) + 15 | 0];
+    b = g;
+    while (1) {
+     L : {
+      b = b + 1 | 0;
+      if (b >>> 0 >= i >>> 0) {
+       b = d;
+       break L;
+      }
+      if ((e | 0) == r[(w(b, 20) + h | 0) + 15 | 0]) {
+       continue;
+      }
+     }
+     break;
+    }
+    i = g;
+    if (g >>> 0 < v >>> 0) {
+     continue;
+    }
+    break;
+   }
+   a = r[c + 164 | 0];
+   if (!(a & 64)) {
+    break a;
+   }
+   a = a << 24 >> 24;
+   o[c + 164 | 0] = a & 191;
+   if ((a | 0) >= 0) {
+    break a;
+   }
+   o[c + 164 | 0] = a & 63;
+  }
+  Ca = k + 32 | 0;
+  return;
+ }
+ J(267115, 267085, 160, 267100);
+ F();
+}
+function Gl(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0;
+ i = Ca - 48 | 0;
+ Ca = i;
+ d = yg(b, c + d | 0);
+ a : {
+  if (d) {
+   break a;
+  }
+  d = Kg(b, e);
+  if (d) {
+   break a;
+  }
+  f = q[b + 32 >> 2];
+  j = f + e | 0;
+  if (!(!e | o[f | 0] > -1)) {
+   n = q[a + 16 >> 2];
+   l = q[a + 28 >> 2];
+   q[i >> 2] = 0;
+   b : {
+    c : {
+     if ((e | 0) < 1) {
+      break c;
+     }
+     h = r[f | 0];
+     if (!(h & 128)) {
+      break c;
+     }
+     d = f + 1 | 0;
+     g = q[l >> 2];
+     d : {
+      if (!(h & 64)) {
+       f = d;
+       break d;
+      }
+      if ((e | 0) < 2) {
+       break c;
+      }
+      f = f + 2 | 0;
+      d = r[d | 0];
+      if (d) {
+       while (1) {
+        e = f + 2 | 0;
+        if (e >>> 0 > j >>> 0) {
+         break c;
+        }
+        f = e + r[f | 0] | 0;
+        if (f >>> 0 > j >>> 0) {
+         break c;
+        }
+        d = d + -1 | 0;
+        if (d) {
+         continue;
+        }
+        break;
+       }
+      }
+      q[i >> 2] = 0;
+     }
+     v = h & 63;
+     d = v + n | 0;
+     e = q[a + 20 >> 2];
+     e : {
+      if (d >>> 0 <= e >>> 0) {
+       e = q[a + 24 >> 2];
+       break e;
+      }
+      h = d + 3 & -4;
+      if (h >>> 0 >= 65) {
+       break c;
+      }
+      e = Te(g, 24, e, h, q[a + 24 >> 2], i);
+      q[a + 24 >> 2] = e;
+      d = q[i >> 2];
+      if (d) {
+       break b;
+      }
+      q[a + 20 >> 2] = h;
+     }
+     if (!v) {
+      d = 0;
+      break b;
+     }
+     e = w(n, 24) + e | 0;
+     while (1) {
+      h = f + 1 | 0;
+      if (h >>> 0 > j >>> 0) {
+       break c;
+      }
+      g = r[f | 0];
+      q[e >> 2] = 65536;
+      if (g & 16) {
+       h = f + 3 | 0;
+       if (h >>> 0 > j >>> 0) {
+        break c;
+       }
+       d = r[f + 1 | 0] | r[f + 2 | 0] << 8;
+       q[e >> 2] = (d << 24 | d << 8 & 16711680) >> 16 << 4;
+      }
+      q[e + 4 >> 2] = 65536;
+      f : {
+       if (!(g & 32)) {
+        f = h;
+        break f;
+       }
+       f = h + 2 | 0;
+       if (f >>> 0 > j >>> 0) {
+        break c;
+       }
+       d = r[h | 0] | r[h + 1 | 0] << 8;
+       q[e + 4 >> 2] = (d << 24 | d << 8 & 16711680) >> 16 << 4;
+      }
+      k = 0;
+      d = (g & 3) + -1 | 0;
+      g : {
+       if (d >>> 0 > 1) {
+        h = f;
+        d = 0;
+        break g;
+       }
+       if (d - 1) {
+        h = f + 2 | 0;
+        if (h >>> 0 > j >>> 0) {
+         break c;
+        }
+        d = r[f | 0] | r[f + 1 | 0] << 8;
+        d = (d << 24 | d << 8 & 16711680) >> 16;
+        break g;
+       }
+       h = f + 1 | 0;
+       if (h >>> 0 > j >>> 0) {
+        break c;
+       }
+       d = o[f | 0];
+      }
+      f = (g >>> 2 & 3) + -1 | 0;
+      h : {
+       if (f >>> 0 > 1) {
+        f = h;
+        break h;
+       }
+       if (f - 1) {
+        f = h + 2 | 0;
+        if (f >>> 0 > j >>> 0) {
+         break c;
+        }
+        h = r[h | 0] | r[h + 1 | 0] << 8;
+        k = (h << 24 | h << 8 & 16711680) >> 16;
+        break h;
+       }
+       f = h + 1 | 0;
+       if (f >>> 0 > j >>> 0) {
+        break c;
+       }
+       k = o[h | 0];
+      }
+      q[e + 12 >> 2] = k;
+      q[e + 8 >> 2] = d;
+      d = e;
+      i : {
+       if (g & 64) {
+        h = f + 2 | 0;
+        if (h >>> 0 > j >>> 0) {
+         break c;
+        }
+        f = r[f + 1 | 0] | r[f | 0] << 8;
+        break i;
+       }
+       h = f + 1 | 0;
+       if (h >>> 0 > j >>> 0) {
+        break c;
+       }
+       f = r[f | 0];
+      }
+      q[d + 20 >> 2] = f;
+      j : {
+       if (g & 128) {
+        f = h + 3 | 0;
+        if (f >>> 0 > j >>> 0) {
+         break c;
+        }
+        k = 2;
+        d = r[h + 1 | 0] << 8 | r[h | 0] << 16;
+        break j;
+       }
+       f = h + 2 | 0;
+       if (f >>> 0 > j >>> 0) {
+        break c;
+       }
+       k = 1;
+       d = r[h | 0] << 8;
+      }
+      q[e + 16 >> 2] = d | r[h + k | 0];
+      q[a + 16 >> 2] = q[a + 16 >> 2] + 1;
+      e = e + 24 | 0;
+      d = 0;
+      u = u + 1 | 0;
+      if ((v | 0) != (u | 0)) {
+       continue;
+      }
+      break;
+     }
+     break b;
+    }
+    d = 8;
+    q[i >> 2] = 8;
+   }
+   Ng(b);
+   if (d) {
+    break a;
+   }
+   j = q[a + 16 >> 2] - n | 0;
+   if (!j) {
+    d = 0;
+    break a;
+   }
+   k = 0;
+   while (1) {
+    f = p[l + 22 >> 1];
+    g = w(k, 24);
+    e = w(n, 24);
+    d = g + (e + q[a + 24 >> 2] | 0) | 0;
+    d = Gl(a, b, c, q[d + 16 >> 2], q[d + 20 >> 2]);
+    if (d) {
+     break a;
+    }
+    h = p[l + 22 >> 1] - f | 0;
+    e = g + (e + q[a + 24 >> 2] | 0) | 0;
+    g = q[e >> 2];
+    k : {
+     if (!(q[e + 4 >> 2] == 65536 ? (g | 0) == 65536 : 0)) {
+      if ((h | 0) < 1) {
+       break k;
+      }
+      d = q[l + 24 >> 2] + (f << 3) | 0;
+      f = 0;
+      while (1) {
+       z = d, A = Ee(q[d >> 2], g) + q[e + 8 >> 2] | 0, q[z >> 2] = A;
+       z = d, A = Ee(q[d + 4 >> 2], q[e + 4 >> 2]) + q[e + 12 >> 2] | 0, q[z + 4 >> 2] = A;
+       f = f + 1 | 0;
+       if ((h | 0) == (f | 0)) {
+        break k;
+       }
+       d = d + 8 | 0;
+       g = q[e >> 2];
+       continue;
+      }
+     }
+     if ((h | 0) < 1) {
+      break k;
+     }
+     d = q[l + 24 >> 2] + (f << 3) | 0;
+     f = q[e + 12 >> 2];
+     g = q[e + 8 >> 2];
+     e = 0;
+     while (1) {
+      q[d >> 2] = g + q[d >> 2];
+      q[d + 4 >> 2] = f + q[d + 4 >> 2];
+      d = d + 8 | 0;
+      e = e + 1 | 0;
+      if ((h | 0) != (e | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    d = 0;
+    k = k + 1 | 0;
+    if ((j | 0) != (k | 0)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  q[i + 44 >> 2] = 0;
+  l : {
+   m : {
+    if ((e | 0) < 1) {
+     break m;
+    }
+    k = r[f | 0];
+    if (k & 128) {
+     break m;
+    }
+    d = q[q[a + 28 >> 2] >> 2];
+    n : {
+     if (k & 4) {
+      if ((e | 0) < 2) {
+       break m;
+      }
+      h = f + 2 | 0;
+      c = r[f + 1 | 0];
+      n = c >>> 4 | 0;
+      u = c & 15;
+      break n;
+     }
+     if (k & 2) {
+      if ((e | 0) < 2) {
+       break m;
+      }
+      u = r[f + 1 | 0];
+      c = f + 2 | 0;
+     } else {
+      c = f + 1 | 0;
+     }
+     if (!(k & 1)) {
+      h = c;
+      break n;
+     }
+     h = c + 1 | 0;
+     if (h >>> 0 > j >>> 0) {
+      break m;
+     }
+     n = r[c | 0];
+    }
+    l = n + u | 0;
+    c = q[a + 4 >> 2];
+    o : {
+     p : {
+      if (l >>> 0 > c >>> 0) {
+       e = c;
+       c = l + 7 & 1016;
+       g = Te(d, 4, e, c, q[a + 8 >> 2], i + 44 | 0);
+       q[a + 8 >> 2] = g;
+       d = q[i + 44 >> 2];
+       if (d) {
+        break l;
+       }
+       v = a + 8 | 0;
+       q[a + 4 >> 2] = c;
+       q[a + 12 >> 2] = (u << 2) + g;
+       y = a + 12 | 0;
+       break p;
+      }
+      g = q[a + 8 >> 2];
+      q[a + 12 >> 2] = g + (u << 2);
+      y = a + 12 | 0;
+      v = a + 8 | 0;
+      if (!l) {
+       break o;
+      }
+     }
+     c = 0;
+     e = 0;
+     d = 0;
+     while (1) {
+      q : {
+       if (d & 7) {
+        f = h;
+        break q;
+       }
+       f = h + 1 | 0;
+       if (f >>> 0 > j >>> 0) {
+        break m;
+       }
+       e = r[h | 0];
+      }
+      m = (d << 2) + g | 0;
+      r : {
+       if (e & 1) {
+        h = f + 2 | 0;
+        if (h >>> 0 > j >>> 0) {
+         break m;
+        }
+        c = r[f | 0] | r[f + 1 | 0] << 8;
+        c = (c << 24 | c << 8 & 16711680) >> 16;
+        break r;
+       }
+       h = f + 1 | 0;
+       if (h >>> 0 > j >>> 0) {
+        break m;
+       }
+       c = r[f | 0] + c | 0;
+      }
+      q[m >> 2] = c;
+      e = e >>> 1 | 0;
+      d = d + 1 | 0;
+      if ((l | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    s : {
+     if (!(k & 8)) {
+      e = h;
+      break s;
+     }
+     e = h + 1 | 0;
+     if (e >>> 0 > j >>> 0) {
+      break m;
+     }
+     d = r[h | 0];
+     if (d) {
+      while (1) {
+       c = e + 2 | 0;
+       if (c >>> 0 > j >>> 0) {
+        break m;
+       }
+       e = c + r[e | 0] | 0;
+       if (e >>> 0 > j >>> 0) {
+        break m;
+       }
+       d = d + -1 | 0;
+       if (d) {
+        continue;
+       }
+       break;
+      }
+     }
+     q[i + 44 >> 2] = 0;
+    }
+    o[a + 32 | 0] = 0;
+    q[i + 24 >> 2] = 0;
+    q[i + 28 >> 2] = 0;
+    q[i >> 2] = 0;
+    q[i + 4 >> 2] = 0;
+    c = 0;
+    h = 0;
+    while (1) {
+     g = e + 1 | 0;
+     if (g >>> 0 > j >>> 0) {
+      break m;
+     }
+     d = r[e | 0];
+     f = d & 15;
+     t : {
+      u : {
+       v : {
+        w : {
+         x : {
+          y : {
+           m = d >>> 4 | 0;
+           z : {
+            if (m >>> 0 <= 7) {
+             l = 1;
+             A : {
+              B : {
+               C : {
+                D : {
+                 switch (m - 1 | 0) {
+                 case 1:
+                  if (f >>> 0 >= u >>> 0) {
+                   break m;
+                  }
+                  d = q[q[v >> 2] + (f << 2) >> 2];
+                  q[i + 4 >> 2] = c;
+                  q[i >> 2] = d;
+                  d = q[i + 4 >> 2];
+                  c = q[i >> 2];
+                  q[i + 24 >> 2] = c;
+                  q[i + 28 >> 2] = d;
+                  h = c;
+                  break C;
+                 case 0:
+                 case 3:
+                 case 4:
+                  break z;
+                 case 6:
+                  break A;
+                 case 5:
+                  break B;
+                 case 2:
+                  break D;
+                 default:
+                  break y;
+                 }
+                }
+                if (f >>> 0 >= n >>> 0) {
+                 break m;
+                }
+                q[i >> 2] = h;
+                q[i + 4 >> 2] = q[q[y >> 2] + (f << 2) >> 2];
+                d = q[i + 4 >> 2];
+                c = q[i >> 2];
+                q[i + 24 >> 2] = c;
+                q[i + 28 >> 2] = d;
+                h = c;
+               }
+               c = d;
+               e = g;
+               break v;
+              }
+              f = 2958;
+              l = 3;
+              break z;
+             }
+             f = 3627;
+             l = 3;
+             break z;
+            }
+            l = 4;
+           }
+           k = 0;
+           d = i;
+           e = g;
+           while (1) {
+            g = f & 3;
+            E : {
+             if (g >>> 0 > 2) {
+              g = e;
+              break E;
+             }
+             F : {
+              switch (g - 1 | 0) {
+              default:
+               g = e + 1 | 0;
+               if (g >>> 0 > j >>> 0) {
+                break m;
+               }
+               e = r[e | 0];
+               if (u >>> 0 <= e >>> 0) {
+                break m;
+               }
+               h = q[q[v >> 2] + (e << 2) >> 2];
+               break E;
+              case 0:
+               g = e + 2 | 0;
+               if (g >>> 0 > j >>> 0) {
+                break m;
+               }
+               e = r[e | 0] | r[e + 1 | 0] << 8;
+               h = (e << 24 | e << 8 & 16711680) >> 16;
+               break E;
+              case 1:
+               break F;
+              }
+             }
+             g = e + 1 | 0;
+             if (g >>> 0 > j >>> 0) {
+              break m;
+             }
+             h = o[e | 0] + h | 0;
+            }
+            q[d >> 2] = h;
+            e = f >>> 2 & 3;
+            G : {
+             if (e >>> 0 > 2) {
+              e = g;
+              break G;
+             }
+             H : {
+              switch (e - 1 | 0) {
+              default:
+               e = g + 1 | 0;
+               if (e >>> 0 > j >>> 0) {
+                break m;
+               }
+               c = r[g | 0];
+               if (n >>> 0 <= c >>> 0) {
+                break m;
+               }
+               c = q[q[y >> 2] + (c << 2) >> 2];
+               break G;
+              case 0:
+               e = g + 2 | 0;
+               if (e >>> 0 > j >>> 0) {
+                break m;
+               }
+               c = r[g | 0] | r[g + 1 | 0] << 8;
+               c = (c << 24 | c << 8 & 16711680) >> 16;
+               break G;
+              case 1:
+               break H;
+              }
+             }
+             e = g + 1 | 0;
+             if (e >>> 0 > j >>> 0) {
+              break m;
+             }
+             c = o[g | 0] + c | 0;
+            }
+            q[d + 4 >> 2] = c;
+            I : {
+             if (!((l | 0) != 4 | k)) {
+              c = e + 1 | 0;
+              if (c >>> 0 > j >>> 0) {
+               break m;
+              }
+              f = r[e | 0];
+              l = 3;
+              e = c;
+              break I;
+             }
+             f = f >>> 4 | 0;
+            }
+            c = q[d + 4 >> 2];
+            h = q[d >> 2];
+            q[i + 24 >> 2] = h;
+            q[i + 28 >> 2] = c;
+            d = d + 8 | 0;
+            k = k + 1 | 0;
+            if (k >>> 0 < l >>> 0) {
+             continue;
+            }
+            break;
+           }
+           if (m >>> 0 > 5) {
+            break w;
+           }
+           switch (m - 1 | 0) {
+           case 0:
+           case 1:
+           case 2:
+            break v;
+           case 3:
+           case 4:
+            break x;
+           default:
+            break y;
+           }
+          }
+          d = q[a + 28 >> 2];
+          if (r[a + 32 | 0]) {
+           h = p[d + 58 >> 1];
+           e = h + -1 | 0;
+           g = e;
+           j = s[d + 56 >> 1];
+           f = j << 16 >> 16;
+           c = 0;
+           J : {
+            if ((f | 0) < 1) {
+             break J;
+            }
+            c = p[(q[d + 68 >> 2] + (j << 1) | 0) + -2 >> 1];
+           }
+           K : {
+            if ((g | 0) <= (c | 0)) {
+             break K;
+            }
+            g = q[d + 60 >> 2];
+            j = g + (c << 3) | 0;
+            g = g + (e << 3) | 0;
+            if (q[j >> 2] != q[g >> 2] | q[j + 4 >> 2] != q[g + 4 >> 2]) {
+             break K;
+            }
+            p[d + 58 >> 1] = h + -1;
+            e = h + -2 | 0;
+           }
+           if ((e | 0) >= (c | 0)) {
+            p[d + 56 >> 1] = f + 1;
+            p[q[d + 68 >> 2] + (f << 1) >> 1] = e;
+           }
+           o[a + 32 | 0] = 0;
+          }
+          Xe(d);
+          d = q[i + 44 >> 2];
+          break l;
+         }
+         f = q[a + 28 >> 2];
+         if (r[a + 32 | 0]) {
+          k = p[f + 58 >> 1];
+          d = k + -1 | 0;
+          m = d;
+          x = s[f + 56 >> 1];
+          l = x << 16 >> 16;
+          g = 0;
+          L : {
+           if ((l | 0) < 1) {
+            break L;
+           }
+           g = p[(q[f + 68 >> 2] + (x << 1) | 0) + -2 >> 1];
+          }
+          M : {
+           if ((m | 0) <= (g | 0)) {
+            break M;
+           }
+           m = q[f + 60 >> 2];
+           x = m + (g << 3) | 0;
+           m = m + (d << 3) | 0;
+           if (q[x >> 2] != q[m >> 2] | q[x + 4 >> 2] != q[m + 4 >> 2]) {
+            break M;
+           }
+           p[f + 58 >> 1] = k + -1;
+           d = k + -2 | 0;
+          }
+          if ((d | 0) >= (g | 0)) {
+           p[f + 56 >> 1] = l + 1;
+           p[q[f + 68 >> 2] + (l << 1) >> 1] = d;
+          }
+          o[a + 32 | 0] = 0;
+         }
+         o[a + 32 | 0] = 1;
+         d = p[f + 58 >> 1];
+         k = (d + p[f + 22 >> 1] | 0) + 1 | 0;
+         g = q[f + 4 >> 2];
+         if (!((p[f + 20 >> 1] + p[f + 56 >> 1] | 0) + 1 >>> 0 <= t[f + 8 >> 2] ? k >>> 0 <= g >>> 0 : 0)) {
+          d = Ue(f, 1, 1);
+          if (d) {
+           break t;
+          }
+          if (!r[a + 32 | 0]) {
+           d = 8;
+           break t;
+          }
+          f = q[a + 28 >> 2];
+          d = p[f + 58 >> 1];
+          k = (d + p[f + 22 >> 1] | 0) + 1 | 0;
+          g = q[f + 4 >> 2];
+         }
+         if (k >>> 0 > g >>> 0) {
+          d = Ue(f, 1, 0);
+          if (d) {
+           break t;
+          }
+          d = p[f + 58 >> 1];
+         }
+         k = q[i + 4 >> 2];
+         g = q[f + 60 >> 2] + (d << 3) | 0;
+         q[g >> 2] = q[i >> 2];
+         q[g + 4 >> 2] = k;
+         o[q[f - -64 >> 2] + d | 0] = 1;
+         p[f + 58 >> 1] = s[f + 58 >> 1] + 1;
+         break u;
+        }
+        if (!r[a + 32 | 0]) {
+         d = 8;
+         break t;
+        }
+        f = q[a + 28 >> 2];
+        d = p[f + 58 >> 1];
+        if ((d + p[f + 22 >> 1] | 0) + 3 >>> 0 > t[f + 4 >> 2]) {
+         d = Ue(f, 3, 0);
+         if (d) {
+          break t;
+         }
+         d = p[f + 58 >> 1];
+        }
+        k = q[f - -64 >> 2];
+        l = q[i + 4 >> 2];
+        g = q[f + 60 >> 2] + (d << 3) | 0;
+        q[g >> 2] = q[i >> 2];
+        q[g + 4 >> 2] = l;
+        l = q[i + 12 >> 2];
+        q[g + 8 >> 2] = q[i + 8 >> 2];
+        q[g + 12 >> 2] = l;
+        l = q[i + 20 >> 2];
+        q[g + 16 >> 2] = q[i + 16 >> 2];
+        q[g + 20 >> 2] = l;
+        d = d + k | 0;
+        o[d + 2 | 0] = 1;
+        o[d | 0] = 514;
+        o[d + 1 | 0] = 2;
+        p[f + 58 >> 1] = s[f + 58 >> 1] + 3;
+        break u;
+       }
+       if (!r[a + 32 | 0]) {
+        d = 8;
+        break t;
+       }
+       f = q[a + 28 >> 2];
+       d = p[f + 58 >> 1];
+       if ((d + p[f + 22 >> 1] | 0) + 1 >>> 0 > t[f + 4 >> 2]) {
+        d = Ue(f, 1, 0);
+        if (d) {
+         break t;
+        }
+        d = p[f + 58 >> 1];
+       }
+       k = q[i + 4 >> 2];
+       g = q[f + 60 >> 2] + (d << 3) | 0;
+       q[g >> 2] = q[i >> 2];
+       q[g + 4 >> 2] = k;
+       o[q[f - -64 >> 2] + d | 0] = 1;
+       p[f + 58 >> 1] = s[f + 58 >> 1] + 1;
+      }
+      d = 0;
+     }
+     q[i + 44 >> 2] = d;
+     if (!d) {
+      continue;
+     }
+     break;
+    }
+    break l;
+   }
+   d = 8;
+   q[i + 44 >> 2] = 8;
+  }
+  Ng(b);
+ }
+ Ca = i + 48 | 0;
+ return d;
+}
+function XZ(a, b, c, d, e, f, g) {
+ var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, s = 0, t = 0, u = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0;
+ h = Ca - 80 | 0;
+ Ca = h;
+ q[h + 76 >> 2] = b;
+ C = h + 55 | 0;
+ z = h + 56 | 0;
+ b = 0;
+ a : {
+  b : {
+   c : while (1) {
+    d : {
+     if ((u | 0) < 0) {
+      break d;
+     }
+     if ((b | 0) > (2147483647 - u | 0)) {
+      q[160854] = 61;
+      u = -1;
+      break d;
+     }
+     u = b + u | 0;
+    }
+    e : {
+     f : {
+      g : {
+       h : {
+        i : {
+         j : {
+          k : {
+           l : {
+            m : {
+             n : {
+              o : {
+               p : {
+                q : {
+                 l = q[h + 76 >> 2];
+                 b = l;
+                 k = r[b | 0];
+                 if (k) {
+                  while (1) {
+                   r : {
+                    s : {
+                     i = k & 255;
+                     t : {
+                      if (!i) {
+                       k = b;
+                       break t;
+                      }
+                      if ((i | 0) != 37) {
+                       break s;
+                      }
+                      k = b;
+                      while (1) {
+                       if (r[b + 1 | 0] != 37) {
+                        break t;
+                       }
+                       i = b + 2 | 0;
+                       q[h + 76 >> 2] = i;
+                       k = k + 1 | 0;
+                       j = r[b + 2 | 0];
+                       b = i;
+                       if ((j | 0) == 37) {
+                        continue;
+                       }
+                       break;
+                      }
+                     }
+                     b = k - l | 0;
+                     if (a) {
+                      YZ(a, l, b);
+                     }
+                     if (b) {
+                      continue c;
+                     }
+                     x = -1;
+                     k = 1;
+                     i = h;
+                     m = !TZ(o[q[h + 76 >> 2] + 1 | 0]);
+                     b = q[h + 76 >> 2];
+                     if (!(m | r[b + 2 | 0] != 36)) {
+                      x = o[b + 1 | 0] + -48 | 0;
+                      A = 1;
+                      k = 3;
+                     }
+                     b = k + b | 0;
+                     q[i + 76 >> 2] = b;
+                     k = 0;
+                     y = o[b | 0];
+                     j = y + -32 | 0;
+                     u : {
+                      if (j >>> 0 > 31) {
+                       i = b;
+                       break u;
+                      }
+                      i = b;
+                      j = 1 << j;
+                      if (!(j & 75913)) {
+                       break u;
+                      }
+                      while (1) {
+                       i = b + 1 | 0;
+                       q[h + 76 >> 2] = i;
+                       k = j | k;
+                       y = o[b + 1 | 0];
+                       j = y + -32 | 0;
+                       if (j >>> 0 > 31) {
+                        break u;
+                       }
+                       b = i;
+                       j = 1 << j;
+                       if (j & 75913) {
+                        continue;
+                       }
+                       break;
+                      }
+                     }
+                     v : {
+                      if ((y | 0) == 42) {
+                       m = h;
+                       w : {
+                        x : {
+                         if (!TZ(o[i + 1 | 0])) {
+                          break x;
+                         }
+                         b = q[h + 76 >> 2];
+                         if (r[b + 2 | 0] != 36) {
+                          break x;
+                         }
+                         q[((o[b + 1 | 0] << 2) + e | 0) + -192 >> 2] = 10;
+                         t = q[((o[b + 1 | 0] << 3) + d | 0) + -384 >> 2];
+                         A = 1;
+                         b = b + 3 | 0;
+                         break w;
+                        }
+                        if (A) {
+                         break b;
+                        }
+                        A = 0;
+                        t = 0;
+                        if (a) {
+                         b = q[c >> 2];
+                         q[c >> 2] = b + 4;
+                         t = q[b >> 2];
+                        }
+                        b = q[h + 76 >> 2] + 1 | 0;
+                       }
+                       q[m + 76 >> 2] = b;
+                       if ((t | 0) > -1) {
+                        break v;
+                       }
+                       t = 0 - t | 0;
+                       k = k | 8192;
+                       break v;
+                      }
+                      t = ZZ(h + 76 | 0);
+                      if ((t | 0) < 0) {
+                       break b;
+                      }
+                      b = q[h + 76 >> 2];
+                     }
+                     j = -1;
+                     y : {
+                      if (r[b | 0] != 46) {
+                       break y;
+                      }
+                      if (r[b + 1 | 0] == 42) {
+                       z : {
+                        if (!TZ(o[b + 2 | 0])) {
+                         break z;
+                        }
+                        b = q[h + 76 >> 2];
+                        if (r[b + 3 | 0] != 36) {
+                         break z;
+                        }
+                        q[((o[b + 2 | 0] << 2) + e | 0) + -192 >> 2] = 10;
+                        j = q[((o[b + 2 | 0] << 3) + d | 0) + -384 >> 2];
+                        b = b + 4 | 0;
+                        q[h + 76 >> 2] = b;
+                        break y;
+                       }
+                       if (A) {
+                        break b;
+                       }
+                       if (a) {
+                        b = q[c >> 2];
+                        q[c >> 2] = b + 4;
+                        j = q[b >> 2];
+                       } else {
+                        j = 0;
+                       }
+                       b = q[h + 76 >> 2] + 2 | 0;
+                       q[h + 76 >> 2] = b;
+                       break y;
+                      }
+                      q[h + 76 >> 2] = b + 1;
+                      j = ZZ(h + 76 | 0);
+                      b = q[h + 76 >> 2];
+                     }
+                     i = 0;
+                     while (1) {
+                      B = i;
+                      s = -1;
+                      if (o[b | 0] + -65 >>> 0 > 57) {
+                       break a;
+                      }
+                      y = b + 1 | 0;
+                      q[h + 76 >> 2] = y;
+                      i = o[b | 0];
+                      b = y;
+                      i = r[(i + w(B, 58) | 0) + 507087 | 0];
+                      if (i + -1 >>> 0 < 8) {
+                       continue;
+                      }
+                      break;
+                     }
+                     if (!i) {
+                      break a;
+                     }
+                     A : {
+                      B : {
+                       C : {
+                        if ((i | 0) == 19) {
+                         if ((x | 0) <= -1) {
+                          break C;
+                         }
+                         break a;
+                        }
+                        if ((x | 0) < 0) {
+                         break B;
+                        }
+                        q[(x << 2) + e >> 2] = i;
+                        b = (x << 3) + d | 0;
+                        i = q[b + 4 >> 2];
+                        q[h + 64 >> 2] = q[b >> 2];
+                        q[h + 68 >> 2] = i;
+                       }
+                       b = 0;
+                       if (!a) {
+                        continue c;
+                       }
+                       break A;
+                      }
+                      if (!a) {
+                       break e;
+                      }
+                      _Z(h - -64 | 0, i, c, g);
+                      y = q[h + 76 >> 2];
+                     }
+                     m = k & -65537;
+                     k = k & 8192 ? m : k;
+                     s = 0;
+                     x = 507128;
+                     i = z;
+                     b = o[y + -1 | 0];
+                     b = B ? (b & 15) == 3 ? b & -33 : b : b;
+                     y = b + -88 | 0;
+                     if (y >>> 0 <= 32) {
+                      break r;
+                     }
+                     D : {
+                      E : {
+                       F : {
+                        G : {
+                         m = b + -65 | 0;
+                         if (m >>> 0 > 6) {
+                          if ((b | 0) != 83) {
+                           break f;
+                          }
+                          if (!j) {
+                           break G;
+                          }
+                          i = q[h + 64 >> 2];
+                          break E;
+                         }
+                         switch (m - 1 | 0) {
+                         case 1:
+                          break F;
+                         case 0:
+                         case 2:
+                          break f;
+                         default:
+                          break q;
+                         }
+                        }
+                        b = 0;
+                        $Z(a, 32, t, 0, k);
+                        break D;
+                       }
+                       q[h + 12 >> 2] = 0;
+                       q[h + 8 >> 2] = q[h + 64 >> 2];
+                       q[h + 64 >> 2] = h + 8;
+                       j = -1;
+                       i = h + 8 | 0;
+                      }
+                      b = 0;
+                      H : {
+                       while (1) {
+                        l = q[i >> 2];
+                        if (!l) {
+                         break H;
+                        }
+                        l = VZ(h + 4 | 0, l);
+                        m = (l | 0) < 0;
+                        if (!(m | l >>> 0 > j - b >>> 0)) {
+                         i = i + 4 | 0;
+                         b = b + l | 0;
+                         if (j >>> 0 > b >>> 0) {
+                          continue;
+                         }
+                         break H;
+                        }
+                        break;
+                       }
+                       s = -1;
+                       if (m) {
+                        break a;
+                       }
+                      }
+                      $Z(a, 32, t, b, k);
+                      if (!b) {
+                       b = 0;
+                       break D;
+                      }
+                      j = 0;
+                      i = q[h + 64 >> 2];
+                      while (1) {
+                       l = q[i >> 2];
+                       if (!l) {
+                        break D;
+                       }
+                       l = VZ(h + 4 | 0, l);
+                       j = l + j | 0;
+                       if ((j | 0) > (b | 0)) {
+                        break D;
+                       }
+                       YZ(a, h + 4 | 0, l);
+                       i = i + 4 | 0;
+                       if (j >>> 0 < b >>> 0) {
+                        continue;
+                       }
+                       break;
+                      }
+                     }
+                     $Z(a, 32, t, b, k ^ 8192);
+                     b = (t | 0) > (b | 0) ? t : b;
+                     continue c;
+                    }
+                    i = b + 1 | 0;
+                    q[h + 76 >> 2] = i;
+                    k = r[b + 1 | 0];
+                    b = i;
+                    continue;
+                   }
+                   break;
+                  }
+                  switch (y - 1 | 0) {
+                  case 28:
+                   break i;
+                  case 21:
+                   break j;
+                  case 23:
+                   break l;
+                  case 22:
+                   break m;
+                  case 11:
+                  case 16:
+                   break n;
+                  case 10:
+                   break o;
+                  case 26:
+                   break p;
+                  case 8:
+                  case 12:
+                  case 13:
+                  case 14:
+                   break q;
+                  case 0:
+                  case 1:
+                  case 2:
+                  case 3:
+                  case 4:
+                  case 5:
+                  case 6:
+                  case 7:
+                  case 9:
+                  case 15:
+                  case 17:
+                  case 18:
+                  case 19:
+                  case 20:
+                  case 24:
+                  case 25:
+                  case 27:
+                  case 29:
+                  case 30:
+                   break f;
+                  default:
+                   break k;
+                  }
+                 }
+                 s = u;
+                 if (a) {
+                  break a;
+                 }
+                 if (!A) {
+                  break e;
+                 }
+                 b = 1;
+                 while (1) {
+                  a = q[(b << 2) + e >> 2];
+                  if (a) {
+                   _Z((b << 3) + d | 0, a, c, g);
+                   s = 1;
+                   b = b + 1 | 0;
+                   if ((b | 0) != 10) {
+                    continue;
+                   }
+                   break a;
+                  }
+                  break;
+                 }
+                 s = 1;
+                 if (b >>> 0 > 9) {
+                  break a;
+                 }
+                 while (1) {
+                  a = b;
+                  b = b + 1 | 0;
+                  if (q[(b << 2) + e >> 2] ? 0 : (b | 0) != 10) {
+                   continue;
+                  }
+                  break;
+                 }
+                 s = a >>> 0 < 9 ? -1 : 1;
+                 break a;
+                }
+                b = n[f](a, v[h + 64 >> 3], t, j, k, b) | 0;
+                continue;
+               }
+               b = q[h + 64 >> 2];
+               l = b ? b : 507138;
+               b = aZ(l, 0, j);
+               i = b ? b : j + l | 0;
+               k = m;
+               j = b ? b - l | 0 : j;
+               break f;
+              }
+              o[h + 55 | 0] = q[h + 64 >> 2];
+              j = 1;
+              l = C;
+              k = m;
+              break f;
+             }
+             m = q[h + 68 >> 2];
+             b = m;
+             l = q[h + 64 >> 2];
+             if ((b | 0) < -1 ? 1 : (b | 0) <= -1 ? l >>> 0 > 4294967295 ? 0 : 1 : 0) {
+              b = 0 - (b + (0 < l >>> 0) | 0) | 0;
+              l = 0 - l | 0;
+              q[h + 64 >> 2] = l;
+              q[h + 68 >> 2] = b;
+              s = 1;
+              x = 507128;
+              break h;
+             }
+             if (k & 2048) {
+              s = 1;
+              x = 507129;
+              break h;
+             }
+             s = k & 1;
+             x = s ? 507130 : 507128;
+             break h;
+            }
+            l = a_(q[h + 64 >> 2], q[h + 68 >> 2], z);
+            if (!(k & 8)) {
+             break g;
+            }
+            b = z - l | 0;
+            j = (j | 0) > (b | 0) ? j : b + 1 | 0;
+            break g;
+           }
+           j = j >>> 0 > 8 ? j : 8;
+           k = k | 8;
+           b = 120;
+          }
+          l = b_(q[h + 64 >> 2], q[h + 68 >> 2], z, b & 32);
+          if (!(k & 8) | !(q[h + 64 >> 2] | q[h + 68 >> 2])) {
+           break g;
+          }
+          x = (b >>> 4 | 0) + 507128 | 0;
+          s = 2;
+          break g;
+         }
+         b = 0;
+         i = B & 255;
+         if (i >>> 0 > 7) {
+          continue;
+         }
+         I : {
+          switch (i - 1 | 0) {
+          default:
+           q[q[h + 64 >> 2] >> 2] = u;
+           continue;
+          case 0:
+           q[q[h + 64 >> 2] >> 2] = u;
+           continue;
+          case 1:
+           i = q[h + 64 >> 2];
+           q[i >> 2] = u;
+           q[i + 4 >> 2] = u >> 31;
+           continue;
+          case 2:
+           p[q[h + 64 >> 2] >> 1] = u;
+           continue;
+          case 3:
+           o[q[h + 64 >> 2]] = u;
+           continue;
+          case 5:
+           q[q[h + 64 >> 2] >> 2] = u;
+           continue;
+          case 4:
+           continue;
+          case 6:
+           break I;
+          }
+         }
+         i = q[h + 64 >> 2];
+         q[i >> 2] = u;
+         q[i + 4 >> 2] = u >> 31;
+         continue;
+        }
+        l = q[h + 64 >> 2];
+        b = q[h + 68 >> 2];
+        x = 507128;
+       }
+       l = c_(l, b, z);
+      }
+      k = (j | 0) > -1 ? k & -65537 : k;
+      b = q[h + 64 >> 2];
+      m = q[h + 68 >> 2];
+      J : {
+       if (!(!!(b | m) | j)) {
+        l = z;
+        j = 0;
+        break J;
+       }
+       b = !(b | m) + (z - l | 0) | 0;
+       j = (j | 0) > (b | 0) ? j : b;
+      }
+     }
+     m = i - l | 0;
+     j = (j | 0) < (m | 0) ? m : j;
+     i = j + s | 0;
+     b = (t | 0) < (i | 0) ? i : t;
+     $Z(a, 32, b, i, k);
+     YZ(a, x, s);
+     $Z(a, 48, b, i, k ^ 65536);
+     $Z(a, 48, j, m, 0);
+     YZ(a, l, m);
+     $Z(a, 32, b, i, k ^ 8192);
+     continue;
+    }
+    break;
+   }
+   s = 0;
+   break a;
+  }
+  s = -1;
+ }
+ Ca = h + 80 | 0;
+ return s;
+}
+function q$(a, b, c, d, e, f, g, h, i) {
+ var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0;
+ n = Ca - 192 | 0;
+ Ca = n;
+ F = h;
+ I = i & 65535;
+ r = d;
+ o = e & 65535;
+ E = (e ^ i) & -2147483648;
+ s = i >>> 16 & 32767;
+ a : {
+  u = e >>> 16 & 32767;
+  b : {
+   c : {
+    if (s + -1 >>> 0 < 32766 ? u + -1 >>> 0 <= 32765 : 0) {
+     break c;
+    }
+    m = e & 2147483647;
+    k = m;
+    j = d;
+    if (!(!j & (k | 0) == 2147418112 ? !(b | c) : (k | 0) == 2147418112 & j >>> 0 < 0 | k >>> 0 < 2147418112)) {
+     J = d;
+     E = e | 32768;
+     break b;
+    }
+    m = i & 2147483647;
+    e = m;
+    d = h;
+    if (!(!d & (e | 0) == 2147418112 ? !(f | g) : (e | 0) == 2147418112 & d >>> 0 < 0 | e >>> 0 < 2147418112)) {
+     J = h;
+     E = i | 32768;
+     b = f;
+     c = g;
+     break b;
+    }
+    if (!(b | j | (k ^ 2147418112 | c))) {
+     if (!(d | f | (e ^ 2147418112 | g))) {
+      b = 0;
+      c = 0;
+      E = 2147450880;
+      break b;
+     }
+     E = E | 2147418112;
+     b = 0;
+     c = 0;
+     break b;
+    }
+    if (!(d | f | (e ^ 2147418112 | g))) {
+     b = 0;
+     c = 0;
+     break b;
+    }
+    if (!(b | j | (c | k))) {
+     break a;
+    }
+    if (!(d | f | (e | g))) {
+     E = E | 2147418112;
+     b = 0;
+     c = 0;
+     break b;
+    }
+    if ((k | 0) == 65535 & j >>> 0 <= 4294967295 | k >>> 0 < 65535) {
+     j = b;
+     h = !(o | r);
+     i = h << 6;
+     k = z(h ? b : r) + 32 | 0;
+     b = z(h ? c : o);
+     b = i + ((b | 0) == 32 ? k : b) | 0;
+     n$(n + 176 | 0, j, c, r, o, b + -15 | 0);
+     l = 16 - b | 0;
+     r = q[n + 184 >> 2];
+     o = q[n + 188 >> 2];
+     c = q[n + 180 >> 2];
+     b = q[n + 176 >> 2];
+    }
+    if ((e | 0) == 65535 & d >>> 0 > 4294967295 | e >>> 0 > 65535) {
+     break c;
+    }
+    d = !(F | I);
+    e = d << 6;
+    h = z(d ? f : F) + 32 | 0;
+    d = z(d ? g : I);
+    d = e + ((d | 0) == 32 ? h : d) | 0;
+    n$(n + 160 | 0, f, g, F, I, d + -15 | 0);
+    l = (d + l | 0) + -16 | 0;
+    F = q[n + 168 >> 2];
+    I = q[n + 172 >> 2];
+    f = q[n + 160 >> 2];
+    g = q[n + 164 >> 2];
+   }
+   e = I | 65536;
+   H = e;
+   O = F;
+   d = F;
+   k = e << 15 | d >>> 17;
+   d = d << 15 | g >>> 17;
+   h = -102865788 - d | 0;
+   e = k;
+   i = 1963258675 - (k + (4192101508 < d >>> 0) | 0) | 0;
+   x$(n + 144 | 0, d, k, h, i);
+   j = q[n + 152 >> 2];
+   x$(n + 128 | 0, 0 - j | 0, 0 - (q[n + 156 >> 2] + (0 < j >>> 0) | 0) | 0, h, i);
+   h = q[n + 136 >> 2];
+   i = h << 1 | q[n + 132 >> 2] >>> 31;
+   h = q[n + 140 >> 2] << 1 | h >>> 31;
+   x$(n + 112 | 0, i, h, d, k);
+   j = h;
+   h = q[n + 120 >> 2];
+   x$(n + 96 | 0, i, j, 0 - h | 0, 0 - (q[n + 124 >> 2] + (0 < h >>> 0) | 0) | 0);
+   h = q[n + 104 >> 2];
+   i = h << 1 | q[n + 100 >> 2] >>> 31;
+   h = q[n + 108 >> 2] << 1 | h >>> 31;
+   x$(n + 80 | 0, i, h, d, k);
+   j = h;
+   h = q[n + 88 >> 2];
+   x$(n - -64 | 0, i, j, 0 - h | 0, 0 - (q[n + 92 >> 2] + (0 < h >>> 0) | 0) | 0);
+   h = q[n + 72 >> 2];
+   i = h << 1 | q[n + 68 >> 2] >>> 31;
+   h = q[n + 76 >> 2] << 1 | h >>> 31;
+   x$(n + 48 | 0, i, h, d, k);
+   j = h;
+   h = q[n + 56 >> 2];
+   x$(n + 32 | 0, i, j, 0 - h | 0, 0 - (q[n + 60 >> 2] + (0 < h >>> 0) | 0) | 0);
+   h = q[n + 40 >> 2];
+   i = h << 1 | q[n + 36 >> 2] >>> 31;
+   h = q[n + 44 >> 2] << 1 | h >>> 31;
+   x$(n + 16 | 0, i, h, d, k);
+   j = h;
+   h = q[n + 24 >> 2];
+   x$(n, i, j, 0 - h | 0, 0 - (q[n + 28 >> 2] + (0 < h >>> 0) | 0) | 0);
+   K = (u - s | 0) + l | 0;
+   h = q[n + 8 >> 2];
+   j = q[n + 12 >> 2] << 1 | h >>> 31;
+   i = h << 1;
+   k = j + -1 | 0;
+   i = (q[n + 4 >> 2] >>> 31 | i) + -1 | 0;
+   if (i >>> 0 < 4294967295) {
+    k = k + 1 | 0;
+   }
+   h = i;
+   j = 0;
+   w = j;
+   v = e;
+   l = 0;
+   m = T0(h, j, e, l);
+   e = Ea;
+   u = e;
+   x = k;
+   s = 0;
+   j = d;
+   h = T0(k, s, j, 0);
+   d = h + m | 0;
+   k = Ea + e | 0;
+   k = d >>> 0 < h >>> 0 ? k + 1 | 0 : k;
+   h = d;
+   d = k;
+   p = T0(i, w, j, p);
+   e = 0 + p | 0;
+   k = h;
+   j = k + Ea | 0;
+   j = e >>> 0 < p >>> 0 ? j + 1 | 0 : j;
+   p = e;
+   e = j;
+   j = (k | 0) == (j | 0) & p >>> 0 < y >>> 0 | j >>> 0 < k >>> 0;
+   k = (d | 0) == (u | 0) & k >>> 0 < m >>> 0 | d >>> 0 < u >>> 0;
+   h = d;
+   d = T0(x, s, v, l) + d | 0;
+   l = k + Ea | 0;
+   l = d >>> 0 < h >>> 0 ? l + 1 | 0 : l;
+   h = d;
+   d = j + d | 0;
+   j = l;
+   C = d;
+   h = d >>> 0 < h >>> 0 ? j + 1 | 0 : j;
+   d = g;
+   A = (d & 131071) << 15 | f >>> 17;
+   v = T0(i, w, A, 0);
+   d = Ea;
+   y = d;
+   k = f;
+   t = k << 15 & -32768;
+   m = T0(x, s, t, 0);
+   j = m + v | 0;
+   k = Ea + d | 0;
+   k = j >>> 0 < m >>> 0 ? k + 1 | 0 : k;
+   d = k;
+   B = T0(i, w, t, B);
+   t = 0 + B | 0;
+   k = j + Ea | 0;
+   k = t >>> 0 < B >>> 0 ? k + 1 | 0 : k;
+   k = (j | 0) == (k | 0) & t >>> 0 < G >>> 0 | k >>> 0 < j >>> 0;
+   j = (d | 0) == (y | 0) & j >>> 0 < v >>> 0 | d >>> 0 < y >>> 0;
+   m = d;
+   d = T0(x, s, A, D) + d | 0;
+   l = j + Ea | 0;
+   l = d >>> 0 < m >>> 0 ? l + 1 | 0 : l;
+   j = d;
+   d = k + j | 0;
+   m = d >>> 0 < j >>> 0 ? l + 1 | 0 : l;
+   k = d;
+   d = p + d | 0;
+   j = m + e | 0;
+   j = d >>> 0 < k >>> 0 ? j + 1 | 0 : j;
+   u = d;
+   k = h;
+   v = j;
+   d = (e | 0) == (j | 0) & d >>> 0 < p >>> 0 | j >>> 0 < e >>> 0;
+   e = d + C | 0;
+   if (e >>> 0 < d >>> 0) {
+    k = k + 1 | 0;
+   }
+   j = k;
+   d = (u | 0) != 0 | (v | 0) != 0;
+   e = e + d | 0;
+   if (e >>> 0 < d >>> 0) {
+    j = j + 1 | 0;
+   }
+   k = e;
+   e = 0 - k | 0;
+   p = 0;
+   h = T0(e, p, i, w);
+   d = Ea;
+   y = d;
+   t = T0(x, s, e, p);
+   e = Ea;
+   C = e;
+   A = 0 - ((0 < k >>> 0) + j | 0) | 0;
+   j = 0;
+   p = T0(i, w, A, j);
+   l = p + t | 0;
+   k = Ea + e | 0;
+   k = l >>> 0 < p >>> 0 ? k + 1 | 0 : k;
+   e = l;
+   p = 0 + h | 0;
+   l = d + e | 0;
+   l = p >>> 0 < D >>> 0 ? l + 1 | 0 : l;
+   m = p;
+   d = l;
+   l = (y | 0) == (d | 0) & m >>> 0 < h >>> 0 | d >>> 0 < y >>> 0;
+   m = (k | 0) == (C | 0) & e >>> 0 < t >>> 0 | k >>> 0 < C >>> 0;
+   e = T0(x, s, A, j) + k | 0;
+   j = m + Ea | 0;
+   j = e >>> 0 < k >>> 0 ? j + 1 | 0 : j;
+   h = e;
+   e = l + e | 0;
+   if (e >>> 0 < h >>> 0) {
+    j = j + 1 | 0;
+   }
+   A = e;
+   h = j;
+   l = p;
+   e = 0 - u | 0;
+   D = 0 - ((0 < u >>> 0) + v | 0) | 0;
+   u = 0;
+   C = T0(D, u, i, w);
+   t = Ea;
+   v = e;
+   B = 0;
+   j = T0(e, B, x, s);
+   e = j + C | 0;
+   k = Ea + t | 0;
+   m = e;
+   e = e >>> 0 < j >>> 0 ? k + 1 | 0 : k;
+   v = T0(i, w, v, B);
+   i = 0 + v | 0;
+   j = m;
+   k = j + Ea | 0;
+   k = i >>> 0 < v >>> 0 ? k + 1 | 0 : k;
+   k = (j | 0) == (k | 0) & i >>> 0 < G >>> 0 | k >>> 0 < j >>> 0;
+   j = (e | 0) == (t | 0) & j >>> 0 < C >>> 0 | e >>> 0 < t >>> 0;
+   i = e;
+   e = T0(D, u, x, s) + e | 0;
+   m = j + Ea | 0;
+   m = e >>> 0 < i >>> 0 ? m + 1 | 0 : m;
+   i = e;
+   e = k + e | 0;
+   j = m;
+   j = e >>> 0 < i >>> 0 ? j + 1 | 0 : j;
+   i = e;
+   e = e + l | 0;
+   j = j + d | 0;
+   j = e >>> 0 < i >>> 0 ? j + 1 | 0 : j;
+   i = e;
+   k = h;
+   e = j;
+   d = (d | 0) == (j | 0) & i >>> 0 < l >>> 0 | j >>> 0 < d >>> 0;
+   h = d + A | 0;
+   if (h >>> 0 < d >>> 0) {
+    k = k + 1 | 0;
+   }
+   d = h;
+   j = k;
+   m = d;
+   l = e + -1 | 0;
+   d = i + -2 | 0;
+   if (d >>> 0 < 4294967294) {
+    l = l + 1 | 0;
+   }
+   h = d;
+   k = d;
+   d = l;
+   e = (e | 0) == (d | 0) & k >>> 0 < i >>> 0 | d >>> 0 < e >>> 0;
+   i = m + e | 0;
+   if (i >>> 0 < e >>> 0) {
+    j = j + 1 | 0;
+   }
+   e = i + -1 | 0;
+   k = j + -1 | 0;
+   k = e >>> 0 < 4294967295 ? k + 1 | 0 : k;
+   i = 0;
+   x = i;
+   s = e;
+   j = r;
+   t = j << 2 | c >>> 30;
+   A = 0;
+   p = T0(e, i, t, A);
+   i = Ea;
+   m = i;
+   i = c;
+   D = (i & 1073741823) << 2 | b >>> 30;
+   B = k;
+   i = 0;
+   j = T0(D, 0, k, i);
+   e = j + p | 0;
+   l = Ea + m | 0;
+   l = e >>> 0 < j >>> 0 ? l + 1 | 0 : l;
+   j = e;
+   v = l;
+   y = (m | 0) == (l | 0) & j >>> 0 < p >>> 0 | l >>> 0 < m >>> 0;
+   m = l;
+   l = 0;
+   p = l;
+   k = 0;
+   C = d;
+   G = ((o & 1073741823) << 2 | r >>> 30) & -262145 | 262144;
+   e = T0(d, l, G, 0);
+   d = e + j | 0;
+   m = Ea + m | 0;
+   m = d >>> 0 < e >>> 0 ? m + 1 | 0 : m;
+   r = d;
+   e = m;
+   d = (v | 0) == (e | 0) & d >>> 0 < j >>> 0 | e >>> 0 < v >>> 0;
+   j = d + y | 0;
+   if (j >>> 0 < d >>> 0) {
+    k = 1;
+   }
+   m = T0(B, i, G, L);
+   d = m + j | 0;
+   j = Ea + k | 0;
+   k = d >>> 0 < m >>> 0 ? j + 1 | 0 : j;
+   l = T0(s, x, G, L);
+   j = Ea;
+   c = d;
+   o = T0(t, A, B, i);
+   d = o + l | 0;
+   m = Ea + j | 0;
+   m = d >>> 0 < o >>> 0 ? m + 1 | 0 : m;
+   o = d;
+   d = m;
+   m = (j | 0) == (d | 0) & o >>> 0 < l >>> 0 | d >>> 0 < j >>> 0;
+   l = c + d | 0;
+   k = k + m | 0;
+   j = l;
+   m = j >>> 0 < d >>> 0 ? k + 1 | 0 : k;
+   c = j;
+   l = e + o | 0;
+   k = 0;
+   d = k + r | 0;
+   if (d >>> 0 < k >>> 0) {
+    l = l + 1 | 0;
+   }
+   o = d;
+   j = d;
+   d = l;
+   e = (e | 0) == (d | 0) & j >>> 0 < r >>> 0 | d >>> 0 < e >>> 0;
+   j = c + e | 0;
+   if (j >>> 0 < e >>> 0) {
+    m = m + 1 | 0;
+   }
+   P = j;
+   e = o;
+   k = d;
+   r = T0(D, u, C, p);
+   l = Ea;
+   v = h;
+   y = T0(h, 0, t, A);
+   h = y + r | 0;
+   j = Ea + l | 0;
+   j = h >>> 0 < y >>> 0 ? j + 1 | 0 : j;
+   w = h;
+   h = j;
+   r = (l | 0) == (j | 0) & w >>> 0 < r >>> 0 | j >>> 0 < l >>> 0;
+   R = e;
+   j = 0;
+   Q = r;
+   M = b << 2 & -4;
+   c = 0;
+   r = T0(s, x, M, c);
+   e = r + w | 0;
+   l = Ea + h | 0;
+   l = e >>> 0 < r >>> 0 ? l + 1 | 0 : l;
+   y = e;
+   r = e;
+   e = l;
+   h = (h | 0) == (e | 0) & r >>> 0 < w >>> 0 | e >>> 0 < h >>> 0;
+   l = Q + h | 0;
+   if (l >>> 0 < h >>> 0) {
+    j = 1;
+   }
+   h = R + l | 0;
+   k = j + k | 0;
+   k = h >>> 0 < l >>> 0 ? k + 1 | 0 : k;
+   r = h;
+   l = m;
+   h = k;
+   d = (d | 0) == (k | 0) & r >>> 0 < o >>> 0 | k >>> 0 < d >>> 0;
+   j = d + P | 0;
+   if (j >>> 0 < d >>> 0) {
+    l = l + 1 | 0;
+   }
+   Q = j;
+   o = r;
+   w = h;
+   P = T0(B, i, M, c);
+   B = Ea;
+   i = T0(G, L, v, N);
+   d = i + P | 0;
+   m = Ea + B | 0;
+   m = d >>> 0 < i >>> 0 ? m + 1 | 0 : m;
+   G = d;
+   j = T0(t, A, C, p);
+   d = d + j | 0;
+   i = m;
+   k = i + Ea | 0;
+   k = d >>> 0 < j >>> 0 ? k + 1 | 0 : k;
+   t = d;
+   m = T0(s, x, D, u);
+   d = d + m | 0;
+   j = Ea + k | 0;
+   s = d;
+   j = d >>> 0 < m >>> 0 ? j + 1 | 0 : j;
+   x = 0;
+   m = l;
+   d = j;
+   l = (j | 0) == (k | 0) & s >>> 0 < t >>> 0 | j >>> 0 < k >>> 0;
+   j = (i | 0) == (B | 0) & G >>> 0 < P >>> 0 | i >>> 0 < B >>> 0;
+   i = (i | 0) == (k | 0) & t >>> 0 < G >>> 0 | k >>> 0 < i >>> 0;
+   k = j + i | 0;
+   k >>> 0 < i >>> 0;
+   i = l + k | 0;
+   k = i;
+   j = d | 0;
+   i = j + o | 0;
+   k = (k | x) + w | 0;
+   k = i >>> 0 < j >>> 0 ? k + 1 | 0 : k;
+   w = i;
+   o = k;
+   h = (h | 0) == (k | 0) & i >>> 0 < r >>> 0 | k >>> 0 < h >>> 0;
+   i = h + Q | 0;
+   if (i >>> 0 < h >>> 0) {
+    m = m + 1 | 0;
+   }
+   A = i;
+   i = m;
+   m = w;
+   r = o;
+   x = y;
+   C = T0(C, p, M, c);
+   p = Ea;
+   j = T0(D, u, v, N);
+   h = j + C | 0;
+   l = Ea + p | 0;
+   l = h >>> 0 < j >>> 0 ? l + 1 | 0 : l;
+   k = l;
+   u = k;
+   l = 0;
+   j = (k | 0) == (p | 0) & h >>> 0 < C >>> 0 | k >>> 0 < p >>> 0;
+   h = k + x | 0;
+   k = (j | l) + e | 0;
+   k = h >>> 0 < u >>> 0 ? k + 1 | 0 : k;
+   u = h;
+   j = h;
+   h = k;
+   j = (e | 0) == (k | 0) & j >>> 0 < x >>> 0 | k >>> 0 < e >>> 0;
+   y = m;
+   e = j;
+   j = k + s | 0;
+   m = 0;
+   d = m + u | 0;
+   if (d >>> 0 < m >>> 0) {
+    j = j + 1 | 0;
+   }
+   d = (h | 0) == (j | 0) & d >>> 0 < u >>> 0 | j >>> 0 < h >>> 0;
+   e = e + d | 0;
+   if (e >>> 0 < d >>> 0) {
+    l = 1;
+   }
+   d = y + e | 0;
+   m = l + r | 0;
+   h = d;
+   j = i;
+   m = d >>> 0 < e >>> 0 ? m + 1 | 0 : m;
+   i = m;
+   d = (o | 0) == (i | 0) & d >>> 0 < w >>> 0 | i >>> 0 < o >>> 0;
+   e = d + A | 0;
+   if (e >>> 0 < d >>> 0) {
+    j = j + 1 | 0;
+   }
+   d = e;
+   e = j;
+   d : {
+    if ((j | 0) == 131071 & d >>> 0 <= 4294967295 | j >>> 0 < 131071) {
+     x = 0;
+     o = f;
+     t = 0;
+     k = T0(h, x, o, t);
+     l = Ea;
+     j = b << 17;
+     b = 0;
+     c = (k | 0) != 0 | (l | 0) != 0;
+     r = b - c | 0;
+     G = j - (b >>> 0 < c >>> 0) | 0;
+     u = 0 - k | 0;
+     p = 0 - ((0 < k >>> 0) + l | 0) | 0;
+     c = 0;
+     A = T0(i, c, o, t);
+     b = Ea;
+     D = b;
+     s = 0;
+     k = T0(h, x, g, s);
+     j = k + A | 0;
+     l = Ea + b | 0;
+     l = j >>> 0 < k >>> 0 ? l + 1 | 0 : l;
+     b = j;
+     k = j;
+     v = 0;
+     j = v;
+     y = k;
+     j = (k | 0) == (p | 0) & u >>> 0 < j >>> 0 | p >>> 0 < k >>> 0;
+     w = r - j | 0;
+     G = G - (r >>> 0 < j >>> 0) | 0;
+     j = T0(d, 0, o, t);
+     k = Ea;
+     o = T0(h, x, F, 0);
+     j = o + j | 0;
+     m = Ea + k | 0;
+     m = j >>> 0 < o >>> 0 ? m + 1 | 0 : m;
+     o = T0(i, c, g, s);
+     j = o + j | 0;
+     k = Ea + m | 0;
+     k = j >>> 0 < o >>> 0 ? k + 1 | 0 : k;
+     m = k;
+     k = (l | 0) == (D | 0) & b >>> 0 < A >>> 0 | l >>> 0 < D >>> 0;
+     b = l + j | 0;
+     k = k + m | 0;
+     m = b;
+     b = m >>> 0 < l >>> 0 ? k + 1 | 0 : k;
+     j = T0(h, i, H, 0);
+     l = Ea;
+     r = m;
+     m = T0(f, g, e, 0);
+     k = m + j | 0;
+     j = Ea + l | 0;
+     j = k >>> 0 < m >>> 0 ? j + 1 | 0 : j;
+     l = T0(d, e, g, s);
+     m = l + k | 0;
+     j = T0(i, c, F, I);
+     c = j + m | 0;
+     j = c;
+     k = 0;
+     c = r + k | 0;
+     j = b + j | 0;
+     b = c;
+     r = w - b | 0;
+     c = G - ((w >>> 0 < b >>> 0) + (b >>> 0 < k >>> 0 ? j + 1 | 0 : j) | 0) | 0;
+     K = K + -1 | 0;
+     F = u - v | 0;
+     b = p - ((u >>> 0 < v >>> 0) + y | 0) | 0;
+     break d;
+    }
+    s = i >>> 1 | 0;
+    l = 0;
+    m = b << 16;
+    k = d << 31;
+    h = (i & 1) << 31 | h >>> 1;
+    i = i >>> 1 | k;
+    D = 0;
+    B = 0;
+    b = T0(h, D, f, B);
+    j = Ea;
+    k = j;
+    j = (b | 0) != 0 | (j | 0) != 0;
+    o = c - j | 0;
+    N = m - (c >>> 0 < j >>> 0) | 0;
+    w = 0 - b | 0;
+    x = 0 - ((0 < b >>> 0) + k | 0) | 0;
+    m = x;
+    p = 0;
+    v = T0(h, D, g, p);
+    b = Ea;
+    L = b;
+    y = s | d << 31;
+    M = e << 31 | d >>> 1 | l;
+    k = y;
+    s = T0(k, 0, f, B);
+    c = s + v | 0;
+    j = Ea + b | 0;
+    j = c >>> 0 < s >>> 0 ? j + 1 | 0 : j;
+    b = j;
+    j = c;
+    C = j;
+    t = 0;
+    j = (j | 0) == (m | 0) & w >>> 0 < t >>> 0 | m >>> 0 < j >>> 0;
+    A = o - j | 0;
+    N = N - (o >>> 0 < j >>> 0) | 0;
+    k = T0(g, p, k, l);
+    l = Ea;
+    j = e;
+    m = j >>> 1 | 0;
+    s = (j & 1) << 31 | d >>> 1;
+    o = m;
+    m = T0(s, 0, f, B);
+    j = m + k | 0;
+    k = Ea + l | 0;
+    k = j >>> 0 < m >>> 0 ? k + 1 | 0 : k;
+    l = T0(h, D, F, 0);
+    m = l + j | 0;
+    j = Ea + k | 0;
+    k = m;
+    m = k >>> 0 < l >>> 0 ? j + 1 | 0 : j;
+    j = (b | 0) == (L | 0) & c >>> 0 < v >>> 0 | b >>> 0 < L >>> 0;
+    c = b;
+    b = b + k | 0;
+    l = j + m | 0;
+    j = b;
+    b = j >>> 0 < c >>> 0 ? l + 1 | 0 : l;
+    c = T0(h, i, H, 0);
+    k = Ea;
+    m = j;
+    d = T0(f, g, e >>> 1 | 0, 0);
+    c = d + c | 0;
+    j = Ea + k | 0;
+    j = c >>> 0 < d >>> 0 ? j + 1 | 0 : j;
+    d = T0(g, p, s, o);
+    c = d + c | 0;
+    j = Ea + j | 0;
+    d = T0(y, M, F, I);
+    c = d + c | 0;
+    j = c;
+    d = 0;
+    c = m + d | 0;
+    k = b + j | 0;
+    b = c;
+    r = A - b | 0;
+    c = N - ((A >>> 0 < b >>> 0) + (b >>> 0 < d >>> 0 ? k + 1 | 0 : k) | 0) | 0;
+    d = s;
+    e = o;
+    F = w - t | 0;
+    b = x - ((w >>> 0 < t >>> 0) + C | 0) | 0;
+   }
+   if ((K | 0) >= 16384) {
+    E = E | 2147418112;
+    b = 0;
+    c = 0;
+    break b;
+   }
+   l = K + 16383 | 0;
+   if ((K | 0) <= -16383) {
+    e : {
+     if (l) {
+      break e;
+     }
+     l = i;
+     o = F;
+     m = b << 1 | o >>> 31;
+     j = o << 1;
+     g = (g | 0) == (m | 0) & j >>> 0 > f >>> 0 | m >>> 0 > g >>> 0;
+     j = e & 65535;
+     f = r;
+     m = c << 1 | f >>> 31;
+     c = f << 1 | b >>> 31;
+     e = c;
+     b = (e | 0) == (O | 0) & (m | 0) == (H | 0) ? g : (H | 0) == (m | 0) & e >>> 0 > O >>> 0 | m >>> 0 > H >>> 0;
+     c = b + h | 0;
+     if (c >>> 0 < b >>> 0) {
+      l = l + 1 | 0;
+     }
+     b = c;
+     e = b;
+     c = l;
+     e = d + ((i | 0) == (l | 0) & e >>> 0 < h >>> 0 | l >>> 0 < i >>> 0) | 0;
+     if (e >>> 0 < d >>> 0) {
+      j = j + 1 | 0;
+     }
+     d = j;
+     if (!(j & 65536)) {
+      break e;
+     }
+     J = e | J;
+     E = d | E;
+     break b;
+    }
+    b = 0;
+    c = 0;
+    break b;
+   }
+   k = i;
+   e = e & 65535;
+   o = F;
+   j = b << 1 | o >>> 31;
+   o = o << 1;
+   g = (g | 0) == (j | 0) & o >>> 0 >= f >>> 0 | j >>> 0 > g >>> 0;
+   f = r;
+   j = c << 1 | f >>> 31;
+   c = f << 1 | b >>> 31;
+   b = (c | 0) == (O | 0) & (j | 0) == (H | 0) ? g : (H | 0) == (j | 0) & c >>> 0 >= O >>> 0 | j >>> 0 > H >>> 0;
+   c = b + h | 0;
+   if (c >>> 0 < b >>> 0) {
+    k = k + 1 | 0;
+   }
+   b = c;
+   c = k;
+   f = d;
+   d = ((i | 0) == (k | 0) & b >>> 0 < h >>> 0 | k >>> 0 < i >>> 0) + d | 0;
+   k = l << 16 | e;
+   J = d | J;
+   E = E | (d >>> 0 < f >>> 0 ? k + 1 | 0 : k);
+  }
+  q[a >> 2] = b;
+  q[a + 4 >> 2] = c;
+  q[a + 8 >> 2] = J;
+  q[a + 12 >> 2] = E;
+  Ca = n + 192 | 0;
+  return;
+ }
+ q[a >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ b = (d | f) != 0 | (e | g) != 0;
+ q[a + 8 >> 2] = b ? J : 0;
+ q[a + 12 >> 2] = b ? E : 2147450880;
+ Ca = n + 192 | 0;
+}
+function Kn(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, t = 0, u = 0, v = 0, w = 0;
+ t = e + 2378 | 0;
+ u = e + 8 | 0;
+ f = q[e + 632 >> 2];
+ m = e + 2360 | 0;
+ i = m + 22 | 0;
+ k = m + 16 | 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            while (1) {
+             l : {
+              if (f) {
+               g = f + -1 | 0;
+               if (g >>> 0 > 4) {
+                return -31;
+               }
+               switch (g - 1 | 0) {
+               case 2:
+                break e;
+               case 3:
+                break f;
+               case 1:
+                break h;
+               case 0:
+                break j;
+               default:
+                break l;
+               }
+              }
+              h = q[e + 12 >> 2];
+              m : {
+               if (32 - h >>> 0 >= 2) {
+                j = q[u >> 2];
+                break m;
+               }
+               f = q[e + 20 >> 2];
+               g = h;
+               while (1) {
+                if (!f) {
+                 break a;
+                }
+                j = q[e + 8 >> 2] >>> 8 | 0;
+                q[e + 8 >> 2] = j;
+                l = q[e + 16 >> 2];
+                n = r[l | 0];
+                f = f + -1 | 0;
+                q[e + 20 >> 2] = f;
+                h = g + -8 | 0;
+                q[e + 12 >> 2] = h;
+                q[e + 16 >> 2] = l + 1;
+                j = j | n << 24;
+                q[e + 8 >> 2] = j;
+                l = 40 - g | 0;
+                g = h;
+                if (l >>> 0 < 2) {
+                 continue;
+                }
+                break;
+               }
+              }
+              g = h + 2 | 0;
+              q[e + 12 >> 2] = g;
+              h = j >>> h & 3;
+              q[e + 636 >> 2] = h;
+              if ((h | 0) == 1) {
+               break k;
+              }
+              q[e + 652 >> 2] = 0;
+              q[e + 656 >> 2] = 32;
+              g = i;
+              p[g >> 1] = 0;
+              p[g + 2 >> 1] = 0;
+              p[g + 4 >> 1] = 0;
+              p[g + 6 >> 1] = 0;
+              q[k >> 2] = 0;
+              q[k + 4 >> 2] = 0;
+              q[m + 8 >> 2] = 0;
+              q[m + 12 >> 2] = 0;
+              q[m >> 2] = 0;
+              q[m + 4 >> 2] = 0;
+              f = 4;
+              q[e + 632 >> 2] = 4;
+              continue;
+             }
+             break;
+            }
+            g = q[e + 12 >> 2];
+           }
+           n : {
+            if (32 - g >>> 0 >= 2) {
+             j = q[u >> 2];
+             break n;
+            }
+            f = q[e + 20 >> 2];
+            h = g;
+            while (1) {
+             if (!f) {
+              break g;
+             }
+             i = q[e + 8 >> 2] >>> 8 | 0;
+             q[e + 8 >> 2] = i;
+             j = q[e + 16 >> 2];
+             t = r[j | 0];
+             f = f + -1 | 0;
+             q[e + 20 >> 2] = f;
+             g = h + -8 | 0;
+             q[e + 12 >> 2] = g;
+             q[e + 16 >> 2] = j + 1;
+             j = i | t << 24;
+             q[e + 8 >> 2] = j;
+             i = 40 - h | 0;
+             h = g;
+             if (i >>> 0 < 2) {
+              continue;
+             }
+             break;
+            }
+           }
+           q[e + 636 >> 2] = 0;
+           q[e + 12 >> 2] = g + 2;
+           n = j >>> g & 3;
+           q[e + 648 >> 2] = n;
+           i = 0;
+           break i;
+          }
+          n = q[e + 648 >> 2];
+          i = q[e + 636 >> 2];
+         }
+         t = 0;
+         if (i >>> 0 <= n >>> 0) {
+          a = a + -1 | 0;
+          a = a ? 32 - z(a) | 0 : 0;
+          m = (a << 2) + 153280 | 0;
+          f = q[e + 12 >> 2];
+          while (1) {
+           o : {
+            p : {
+             q : {
+              if (32 - f >>> 0 >= a >>> 0) {
+               j = q[e + 8 >> 2];
+               h = f;
+               break q;
+              }
+              g = q[e + 20 >> 2];
+              while (1) {
+               if (!g) {
+                break p;
+               }
+               j = q[e + 8 >> 2] >>> 8 | 0;
+               q[e + 8 >> 2] = j;
+               k = q[e + 16 >> 2];
+               l = r[k | 0];
+               g = g + -1 | 0;
+               q[e + 20 >> 2] = g;
+               h = f + -8 | 0;
+               q[e + 12 >> 2] = h;
+               q[e + 16 >> 2] = k + 1;
+               j = j | l << 24;
+               q[e + 8 >> 2] = j;
+               k = 40 - f | 0;
+               f = h;
+               if (k >>> 0 < a >>> 0) {
+                continue;
+               }
+               break;
+              }
+             }
+             f = a + h | 0;
+             q[e + 12 >> 2] = f;
+             g = q[m >> 2] & j >>> h;
+             if (g >>> 0 < b >>> 0) {
+              break o;
+             }
+             return -4;
+            }
+            q[e + 632 >> 2] = 2;
+            q[e + 636 >> 2] = i;
+            break a;
+           }
+           p[((i << 1) + e | 0) + 792 >> 1] = g;
+           i = i + 1 | 0;
+           if (i >>> 0 <= n >>> 0) {
+            continue;
+           }
+           break;
+          }
+         }
+         if (!n) {
+          break h;
+         }
+         while (1) {
+          a = s[((t << 1) + e | 0) + 792 >> 1];
+          t = t + 1 | 0;
+          f = t;
+          r : {
+           while (1) {
+            if ((a | 0) != s[((f << 1) + e | 0) + 792 >> 1]) {
+             f = f + 1 | 0;
+             if (f >>> 0 <= n >>> 0) {
+              continue;
+             }
+             break r;
+            }
+            break;
+           }
+           return -5;
+          }
+          if ((n | 0) != (t | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        s : {
+         f = q[e + 648 >> 2];
+         if ((f | 0) == 3) {
+          f = q[e + 12 >> 2];
+          t : {
+           if ((f | 0) != 32) {
+            g = q[u >> 2];
+            break t;
+           }
+           a = q[e + 20 >> 2];
+           if (!a) {
+            break s;
+           }
+           b = q[e + 8 >> 2] >>> 8 | 0;
+           q[e + 8 >> 2] = b;
+           g = q[e + 16 >> 2];
+           h = r[g | 0];
+           q[e + 20 >> 2] = a + -1;
+           f = 24;
+           q[e + 12 >> 2] = 24;
+           q[e + 16 >> 2] = g + 1;
+           g = b | h << 24;
+           q[e + 8 >> 2] = g;
+          }
+          q[e + 12 >> 2] = f + 1;
+          f = (g >>> f & 1) + 3 | 0;
+          q[e + 648 >> 2] = f;
+         }
+         a = En(c, e + 792 | 0, f);
+         break c;
+        }
+        q[e + 632 >> 2] = 3;
+        break a;
+       }
+       q[e + 632 >> 2] = 1;
+       break a;
+      }
+      k = q[e + 788 >> 2];
+      i = q[e + 640 >> 2];
+      g = q[e + 648 >> 2];
+      l = q[e + 656 >> 2];
+      j = q[e + 652 >> 2];
+      a = q[e + 644 >> 2];
+      break d;
+     }
+     i = q[e + 656 >> 2];
+     a = q[e + 652 >> 2];
+     n = q[e + 636 >> 2];
+     u : {
+      if (n >>> 0 > 17) {
+       break u;
+      }
+      h = q[e + 12 >> 2];
+      while (1) {
+       v : {
+        w : {
+         x : {
+          if (32 - h >>> 0 >= 4) {
+           j = q[e + 8 >> 2];
+           break x;
+          }
+          g = q[e + 20 >> 2];
+          f = h;
+          while (1) {
+           if (!g) {
+            break w;
+           }
+           j = q[e + 8 >> 2] >>> 8 | 0;
+           q[e + 8 >> 2] = j;
+           k = q[e + 16 >> 2];
+           l = r[k | 0];
+           g = g + -1 | 0;
+           q[e + 20 >> 2] = g;
+           h = f + -8 | 0;
+           q[e + 12 >> 2] = h;
+           q[e + 16 >> 2] = k + 1;
+           j = j | l << 24;
+           q[e + 8 >> 2] = j;
+           k = 40 - f | 0;
+           f = h;
+           if (k >>> 0 < 4) {
+            continue;
+           }
+           break;
+          }
+         }
+         g = j >>> h & 15;
+         k = r[g + 153136 | 0];
+         f = h;
+         break v;
+        }
+        h = 32 - f | 0;
+        g = 0;
+        y : {
+         if (!h) {
+          break y;
+         }
+         g = q[e + 8 >> 2] >>> f & 15;
+        }
+        k = r[g + 153136 | 0];
+        if (h >>> 0 >= k >>> 0) {
+         break v;
+        }
+        q[e + 656 >> 2] = i;
+        q[e + 652 >> 2] = a;
+        q[e + 636 >> 2] = n;
+        q[e + 632 >> 2] = 4;
+        break a;
+       }
+       h = f + k | 0;
+       q[e + 12 >> 2] = h;
+       f = r[g + 153152 | 0];
+       o[(r[n + 153104 | 0] + e | 0) + 2360 | 0] = f;
+       if (61166 >>> g & 1) {
+        g = ((f << 1) + e | 0) + 2378 | 0;
+        p[g >> 1] = s[g >> 1] + 1;
+        a = a + 1 | 0;
+        i = i - (32 >>> f | 0) | 0;
+        if (i + -1 >>> 0 > 31) {
+         break u;
+        }
+       }
+       n = n + 1 | 0;
+       if ((n | 0) != 18) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (i) {
+      h = -6;
+      if ((a | 0) != 1) {
+       break b;
+      }
+     }
+     Cn(e + 660 | 0, m, t);
+     a = t;
+     p[a + 24 >> 1] = 0;
+     p[a + 26 >> 1] = 0;
+     p[a + 28 >> 1] = 0;
+     p[a + 30 >> 1] = 0;
+     p[a + 16 >> 1] = 0;
+     p[a + 18 >> 1] = 0;
+     p[a + 20 >> 1] = 0;
+     p[a + 22 >> 1] = 0;
+     p[a + 8 >> 1] = 0;
+     p[a + 10 >> 1] = 0;
+     p[a + 12 >> 1] = 0;
+     p[a + 14 >> 1] = 0;
+     p[a >> 1] = 0;
+     p[a + 2 >> 1] = 0;
+     p[a + 4 >> 1] = 0;
+     p[a + 6 >> 1] = 0;
+     q[e + 2232 >> 2] = -16;
+     k = q[e + 788 >> 2];
+     p[k + -32 >> 1] = 65535;
+     q[e + 2236 >> 2] = -15;
+     p[k + -30 >> 1] = 65535;
+     q[e + 2240 >> 2] = -14;
+     p[k + -28 >> 1] = 65535;
+     q[e + 2244 >> 2] = -13;
+     p[k + -26 >> 1] = 65535;
+     q[e + 2248 >> 2] = -12;
+     p[k + -24 >> 1] = 65535;
+     q[e + 2252 >> 2] = -11;
+     p[k + -22 >> 1] = 65535;
+     q[e + 2256 >> 2] = -10;
+     p[k + -20 >> 1] = 65535;
+     q[e + 2260 >> 2] = -9;
+     p[k + -18 >> 1] = 65535;
+     q[e + 2264 >> 2] = -8;
+     p[k + -16 >> 1] = 65535;
+     q[e + 2268 >> 2] = -7;
+     p[k + -14 >> 1] = 65535;
+     q[e + 2272 >> 2] = -6;
+     p[k + -12 >> 1] = 65535;
+     q[e + 2276 >> 2] = -5;
+     p[k + -10 >> 1] = 65535;
+     q[e + 2280 >> 2] = -4;
+     p[k + -8 >> 1] = 65535;
+     q[e + 2284 >> 2] = -3;
+     p[k + -6 >> 1] = 65535;
+     q[e + 2288 >> 2] = -2;
+     p[k + -4 >> 1] = 65535;
+     q[e + 2292 >> 2] = -1;
+     p[k + -2 >> 1] = 65535;
+     q[e + 648 >> 2] = 0;
+     q[e + 652 >> 2] = 0;
+     l = 32768;
+     q[e + 656 >> 2] = 32768;
+     q[e + 640 >> 2] = 0;
+     q[e + 644 >> 2] = 8;
+     q[e + 632 >> 2] = 5;
+     i = 0;
+     j = 0;
+     g = 0;
+     a = 8;
+    }
+    z : {
+     A : {
+      B : {
+       if (!tn(u)) {
+        g = q[e + 648 >> 2];
+        break B;
+       }
+       C : {
+        if (!l | g >>> 0 >= b >>> 0) {
+         break C;
+        }
+        n = q[e + 20 >> 2];
+        u = e + 624 | 0;
+        while (1) {
+         if (n >>> 0 <= 1) {
+          q[e + 652 >> 2] = j;
+          q[e + 648 >> 2] = g;
+          q[e + 644 >> 2] = a;
+          q[e + 656 >> 2] = l;
+          q[e + 640 >> 2] = i;
+          break B;
+         }
+         h = q[e + 8 >> 2];
+         f = q[e + 12 >> 2];
+         if (f >>> 0 >= 16) {
+          f = f ^ 16;
+          q[e + 12 >> 2] = f;
+          m = h >>> 16 | 0;
+          q[e + 8 >> 2] = m;
+          h = q[e + 16 >> 2];
+          v = r[h | 0] | r[h + 1 | 0] << 8;
+          n = n + -2 | 0;
+          q[e + 20 >> 2] = n;
+          q[e + 16 >> 2] = h + 2;
+          h = m | v << 16;
+          q[e + 8 >> 2] = h;
+         }
+         m = f;
+         f = ((h >>> f & 31) << 2) + e | 0;
+         m = m + r[f + 660 | 0] | 0;
+         q[e + 12 >> 2] = m;
+         f = s[f + 662 >> 1];
+         D : {
+          if (f >>> 0 <= 15) {
+           if (f) {
+            a = ((f << 2) + u | 0) + 1608 | 0;
+            p[(q[a >> 2] << 1) + k >> 1] = g;
+            q[a >> 2] = g;
+            a = ((f << 1) + u | 0) + 1754 | 0;
+            p[a >> 1] = s[a >> 1] + 1;
+            l = l - (32768 >>> f | 0) | 0;
+            a = f;
+           }
+           h = 0;
+           f = g + 1 | 0;
+           break D;
+          }
+          w = (f | 0) == 16;
+          v = w ? 2 : 3;
+          q[e + 12 >> 2] = v + m;
+          m = q[(v << 2) + 153280 >> 2] & h >>> m;
+          f = 0;
+          h = w ? a : 0;
+          E : {
+           if ((h | 0) != (i | 0)) {
+            i = h;
+            j = 0;
+            break E;
+           }
+           if (!j) {
+            j = 0;
+            break E;
+           }
+           f = j + -2 << v;
+          }
+          m = (f + m | 0) + 3 | 0;
+          v = m - j | 0;
+          f = v + g | 0;
+          if (f >>> 0 > b >>> 0) {
+           l = 1048575;
+           q[e + 656 >> 2] = 1048575;
+           break A;
+          }
+          F : {
+           if (!i) {
+            i = 0;
+            break F;
+           }
+           w = ((i << 2) + e | 0) + 2232 | 0;
+           h = q[w >> 2];
+           while (1) {
+            j = g;
+            p[(h << 1) + k >> 1] = g;
+            h = g;
+            g = g + 1 | 0;
+            if ((f | 0) != (g | 0)) {
+             continue;
+            }
+            break;
+           }
+           q[w >> 2] = j;
+           g = ((i << 1) + e | 0) + 2378 | 0;
+           p[g >> 1] = v + s[g >> 1];
+           l = l - (v << 15 - i) | 0;
+          }
+          h = m;
+         }
+         g = f;
+         j = h;
+         if (g >>> 0 >= b >>> 0) {
+          break C;
+         }
+         if (l) {
+          continue;
+         }
+         break;
+        }
+       }
+       q[e + 656 >> 2] = l;
+       break A;
+      }
+      if (g >>> 0 >= b >>> 0) {
+       l = q[e + 656 >> 2];
+       break A;
+      }
+      l = q[e + 656 >> 2];
+      m = e + 624 | 0;
+      h = 0;
+      while (1) {
+       if (!l) {
+        break z;
+       }
+       G : {
+        if (!h) {
+         f = q[e + 12 >> 2];
+         break G;
+        }
+        a = q[e + 20 >> 2];
+        if (!a) {
+         break a;
+        }
+        h = q[e + 8 >> 2] >>> 8 | 0;
+        q[e + 8 >> 2] = h;
+        i = q[e + 16 >> 2];
+        j = r[i | 0];
+        f = q[e + 12 >> 2] + -8 | 0;
+        q[e + 12 >> 2] = f;
+        q[e + 20 >> 2] = a + -1;
+        q[e + 16 >> 2] = i + 1;
+        q[e + 8 >> 2] = h | j << 24;
+       }
+       k = 32 - f | 0;
+       a = 0;
+       H : {
+        if (!k) {
+         break H;
+        }
+        a = q[e + 8 >> 2] >>> f | 0;
+       }
+       h = 1;
+       i = ((a & 31) << 2) + e | 0;
+       j = r[i + 660 | 0];
+       I : {
+        if (k >>> 0 < j >>> 0) {
+         break I;
+        }
+        i = s[i + 662 >> 1];
+        if (i >>> 0 <= 15) {
+         q[e + 652 >> 2] = 0;
+         q[e + 12 >> 2] = f + j;
+         if (i) {
+          a = (m + (i << 2) | 0) + 1608 | 0;
+          p[q[e + 788 >> 2] + (q[a >> 2] << 1) >> 1] = g;
+          q[a >> 2] = g;
+          l = l - (32768 >>> i | 0) | 0;
+          q[e + 656 >> 2] = l;
+          q[e + 644 >> 2] = i;
+          a = (m + (i << 1) | 0) + 1754 | 0;
+          p[a >> 1] = s[a >> 1] + 1;
+         }
+         g = g + 1 | 0;
+         q[e + 648 >> 2] = g;
+         h = 0;
+         break I;
+        }
+        u = k;
+        k = i + -14 | 0;
+        n = k + j | 0;
+        if (u >>> 0 < n >>> 0) {
+         break I;
+        }
+        q[e + 12 >> 2] = f + n;
+        n = q[e + 788 >> 2];
+        a = q[(k << 2) + 153280 >> 2] & a >>> j;
+        J : {
+         if ((i | 0) != 16) {
+          i = 3;
+          f = 0;
+          break J;
+         }
+         i = 2;
+         f = q[e + 644 >> 2];
+        }
+        K : {
+         if ((f | 0) != q[e + 640 >> 2]) {
+          q[e + 640 >> 2] = f;
+          h = 0;
+          q[e + 652 >> 2] = 0;
+          i = 0;
+          break K;
+         }
+         h = q[e + 652 >> 2];
+         if (!h) {
+          h = 0;
+          i = 0;
+          break K;
+         }
+         i = h + -2 << i;
+         q[e + 652 >> 2] = i;
+        }
+        a = (a + i | 0) + 3 | 0;
+        q[e + 652 >> 2] = a;
+        i = a - h | 0;
+        a = i + g | 0;
+        if (a >>> 0 > b >>> 0) {
+         q[e + 656 >> 2] = 1048575;
+         q[e + 648 >> 2] = b;
+         return -7;
+        }
+        if (f) {
+         j = ((f << 2) + e | 0) + 2232 | 0;
+         h = q[j >> 2];
+         while (1) {
+          f = g;
+          p[n + (h << 1) >> 1] = f;
+          h = f;
+          g = f + 1 | 0;
+          if ((a | 0) != (g | 0)) {
+           continue;
+          }
+          break;
+         }
+         q[e + 648 >> 2] = a;
+         q[j >> 2] = f;
+         a = q[e + 640 >> 2];
+         l = q[e + 656 >> 2] - (i << 15 - a) | 0;
+         q[e + 656 >> 2] = l;
+         a = ((a << 1) + e | 0) + 2378 | 0;
+         p[a >> 1] = i + s[a >> 1];
+         g = q[e + 648 >> 2];
+         h = 0;
+         break I;
+        }
+        q[e + 648 >> 2] = a;
+        h = 0;
+        g = a;
+       }
+       if (g >>> 0 < b >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     h = -7;
+     if (l) {
+      break b;
+     }
+    }
+    a = Dn(c, q[e + 788 >> 2], t);
+   }
+   if (d) {
+    q[d >> 2] = a;
+   }
+   q[e + 632 >> 2] = 0;
+   h = 1;
+  }
+  return h;
+ }
+ return 2;
+}
+function EE(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, u = 0, v = 0;
+ k = Ca - 48 | 0;
+ Ca = k;
+ a : {
+  b : {
+   if (!q[b + 76 >> 2]) {
+    break b;
+   }
+   if ((r[b + 164 | 0] & 48) != 48) {
+    break a;
+   }
+   d = q[a + 20 >> 2];
+   h = q[d + 24 >> 2];
+   q[k + 24 >> 2] = c;
+   q[k + 20 >> 2] = b;
+   q[k + 16 >> 2] = a;
+   q[k + 28 >> 2] = q[b + 12 >> 2];
+   g = q[d + 28 >> 2];
+   q[k + 32 >> 2] = g ? g : 562;
+   d = q[d + 32 >> 2];
+   q[k + 36 >> 2] = d ? d : 563;
+   sG(b);
+   q[b + 72 >> 2] = 0;
+   o = (h | 0) == 4 ? 2 : h;
+   u = !o;
+   v = u | (o | 2) != 3;
+   l = q[b + 76 >> 2];
+   g = 0;
+   i = 1;
+   c : {
+    d : {
+     e : {
+      while (1) {
+       d = g + 1 | 0;
+       f = l >>> 0 > d >>> 0 ? l : d;
+       d = g;
+       while (1) {
+        f : {
+         h = d;
+         d = d + 1 | 0;
+         if (d >>> 0 >= l >>> 0) {
+          h = f;
+          break f;
+         }
+         if (!(1 << (s[(q[b + 88 >> 2] + w(d, 20) | 0) + 16 >> 1] & 31) & 7168)) {
+          continue;
+         }
+        }
+        break;
+       }
+       g : {
+        if (!v) {
+         break g;
+        }
+        d = q[b + 88 >> 2] + w(g, 20) | 0;
+        f = d;
+        e = d + 12 | 0;
+        d = q[c + 72 >> 2];
+        d = n[q[d + 160 >> 2]](c, q[c + 76 >> 2], h - g | 0, f, 20, e, 20, q[d + 24 >> 2]) | 0;
+        if (r[b + 69 | 0]) {
+         h : {
+          if (q[b + 92 >> 2] == q[b + 88 >> 2]) {
+           g = q[b + 80 >> 2];
+           if ((g | 0) == q[b + 72 >> 2]) {
+            break h;
+           }
+          }
+          if (!pG(b, d, d)) {
+           g = q[b + 72 >> 2];
+           break g;
+          }
+          _$(q[b + 92 >> 2] + w(q[b + 80 >> 2], 20) | 0, q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0, w(d, 20));
+          g = q[b + 80 >> 2];
+         }
+         q[b + 80 >> 2] = d + g;
+        }
+        g = d + q[b + 72 >> 2] | 0;
+        q[b + 72 >> 2] = g;
+       }
+       i : {
+        if (!r[b + 68 | 0] | g >>> 0 >= h >>> 0) {
+         break i;
+        }
+        while (1) {
+         HE(k + 16 | 0, v);
+         g = q[b + 72 >> 2];
+         if (g >>> 0 >= h >>> 0) {
+          break i;
+         }
+         if (r[b + 68 | 0]) {
+          continue;
+         }
+         break;
+        }
+       }
+       if (!r[b + 68 | 0] | (g | 0) == (l | 0)) {
+        break e;
+       }
+       d = g + 1 | 0;
+       d = l >>> 0 > d >>> 0 ? l : d;
+       f = d + -1 | 0;
+       while (1) {
+        j : {
+         h = g;
+         g = h + 1 | 0;
+         if (g >>> 0 >= l >>> 0) {
+          h = f;
+          g = d;
+          break j;
+         }
+         if (1 << (s[(q[b + 88 >> 2] + w(g, 20) | 0) + 16 >> 1] & 31) & 7168) {
+          continue;
+         }
+        }
+        break;
+       }
+       e = q[k + 20 >> 2];
+       f = q[e + 72 >> 2];
+       k : {
+        if (f >>> 0 >= g >>> 0) {
+         break k;
+        }
+        j = r[e + 68 | 0];
+        if (!j) {
+         break k;
+        }
+        i = q[e + 88 >> 2];
+        d = f;
+        l : {
+         while (1) {
+          m = q[w(d, 20) + i >> 2];
+          if (!((m & -16) == 65024 | m + -917760 >>> 0 <= 239)) {
+           m = (d | 0) == (h | 0);
+           d = d + 1 | 0;
+           if (!m) {
+            continue;
+           }
+           break l;
+          }
+          break;
+         }
+         j = q[k + 24 >> 2];
+         m : {
+          if (f >>> 0 >= h >>> 0) {
+           break m;
+          }
+          while (1) {
+           f = w(f, 20) + i | 0;
+           q[f + 12 >> 2] = 0;
+           i = f + 12 | 0;
+           m = q[f >> 2];
+           d = q[j + 72 >> 2];
+           f = q[f + 20 >> 2];
+           n : {
+            if (!(f + -917760 >>> 0 > 239 ? (f & -16) != 65024 : 0)) {
+             o : {
+              if (n[q[d + 164 >> 2]](j, q[j + 76 >> 2], m, f, i, q[d + 28 >> 2])) {
+               q[k + 44 >> 2] = q[q[e + 88 >> 2] + w(q[e + 72 >> 2], 20) >> 2];
+               vG(e, 2, 1, k + 44 | 0);
+               break o;
+              }
+              d = q[e + 88 >> 2] + w(q[e + 72 >> 2], 20) | 0;
+              q[d + 12 >> 2] = 0;
+              f = q[d >> 2];
+              i = d + 12 | 0;
+              d = q[j + 72 >> 2];
+              n[q[d + 156 >> 2]](j, q[j + 76 >> 2], f, i, q[d + 20 >> 2]) | 0;
+              p : {
+               if (r[e + 69 | 0]) {
+                q : {
+                 if (q[e + 92 >> 2] == q[e + 88 >> 2]) {
+                  d = q[e + 80 >> 2];
+                  if ((d | 0) == q[e + 72 >> 2]) {
+                   break q;
+                  }
+                 }
+                 if (!pG(e, 1, 1)) {
+                  d = q[e + 72 >> 2];
+                  break p;
+                 }
+                 f = q[e + 88 >> 2] + w(q[e + 72 >> 2], 20) | 0;
+                 i = q[f + 4 >> 2];
+                 d = q[e + 92 >> 2] + w(q[e + 80 >> 2], 20) | 0;
+                 q[d >> 2] = q[f >> 2];
+                 q[d + 4 >> 2] = i;
+                 q[d + 16 >> 2] = q[f + 16 >> 2];
+                 i = q[f + 12 >> 2];
+                 q[d + 8 >> 2] = q[f + 8 >> 2];
+                 q[d + 12 >> 2] = i;
+                 d = q[e + 80 >> 2];
+                }
+                q[e + 80 >> 2] = d + 1;
+               }
+               d = q[e + 72 >> 2] + 1 | 0;
+               q[e + 72 >> 2] = d;
+              }
+              d = q[e + 88 >> 2] + w(d, 20) | 0;
+              q[d + 12 >> 2] = 0;
+              f = q[d >> 2];
+              i = d + 12 | 0;
+              d = q[j + 72 >> 2];
+              n[q[d + 156 >> 2]](j, q[j + 76 >> 2], f, i, q[d + 20 >> 2]) | 0;
+              if (r[e + 69 | 0]) {
+               r : {
+                if (q[e + 92 >> 2] == q[e + 88 >> 2]) {
+                 d = q[e + 80 >> 2];
+                 if ((d | 0) == q[e + 72 >> 2]) {
+                  break r;
+                 }
+                }
+                if (!pG(e, 1, 1)) {
+                 break o;
+                }
+                f = q[e + 88 >> 2] + w(q[e + 72 >> 2], 20) | 0;
+                i = q[f + 4 >> 2];
+                d = q[e + 92 >> 2] + w(q[e + 80 >> 2], 20) | 0;
+                q[d >> 2] = q[f >> 2];
+                q[d + 4 >> 2] = i;
+                q[d + 16 >> 2] = q[f + 16 >> 2];
+                i = q[f + 12 >> 2];
+                q[d + 8 >> 2] = q[f + 8 >> 2];
+                q[d + 12 >> 2] = i;
+                d = q[e + 80 >> 2];
+               }
+               q[e + 80 >> 2] = d + 1;
+              }
+              q[e + 72 >> 2] = q[e + 72 >> 2] + 1;
+             }
+             f = q[e + 72 >> 2];
+             if (f >>> 0 >= g >>> 0) {
+              break n;
+             }
+             while (1) {
+              d = q[e + 88 >> 2] + w(f, 20) | 0;
+              i = q[d >> 2];
+              if (i + -917760 >>> 0 > 239 ? (i & -16) != 65024 : 0) {
+               break n;
+              }
+              q[d + 12 >> 2] = 0;
+              f = d + 12 | 0;
+              d = q[j + 72 >> 2];
+              n[q[d + 156 >> 2]](j, q[j + 76 >> 2], i, f, q[d + 20 >> 2]) | 0;
+              s : {
+               if (r[e + 69 | 0]) {
+                t : {
+                 if (q[e + 92 >> 2] == q[e + 88 >> 2]) {
+                  d = q[e + 80 >> 2];
+                  if ((d | 0) == q[e + 72 >> 2]) {
+                   break t;
+                  }
+                 }
+                 if (!pG(e, 1, 1)) {
+                  f = q[e + 72 >> 2];
+                  break s;
+                 }
+                 f = q[e + 88 >> 2] + w(q[e + 72 >> 2], 20) | 0;
+                 i = q[f + 4 >> 2];
+                 d = q[e + 92 >> 2] + w(q[e + 80 >> 2], 20) | 0;
+                 q[d >> 2] = q[f >> 2];
+                 q[d + 4 >> 2] = i;
+                 q[d + 16 >> 2] = q[f + 16 >> 2];
+                 i = q[f + 12 >> 2];
+                 q[d + 8 >> 2] = q[f + 8 >> 2];
+                 q[d + 12 >> 2] = i;
+                 d = q[e + 80 >> 2];
+                }
+                q[e + 80 >> 2] = d + 1;
+               }
+               f = q[e + 72 >> 2] + 1 | 0;
+               q[e + 72 >> 2] = f;
+              }
+              if (f >>> 0 < g >>> 0) {
+               continue;
+              }
+              break;
+             }
+             break n;
+            }
+            n[q[d + 156 >> 2]](j, q[j + 76 >> 2], m, i, q[d + 20 >> 2]) | 0;
+            if (r[e + 69 | 0]) {
+             u : {
+              if (q[e + 92 >> 2] == q[e + 88 >> 2]) {
+               d = q[e + 80 >> 2];
+               if ((d | 0) == q[e + 72 >> 2]) {
+                break u;
+               }
+              }
+              if (!pG(e, 1, 1)) {
+               f = q[e + 72 >> 2];
+               break n;
+              }
+              f = q[e + 88 >> 2] + w(q[e + 72 >> 2], 20) | 0;
+              i = q[f + 4 >> 2];
+              d = q[e + 92 >> 2] + w(q[e + 80 >> 2], 20) | 0;
+              q[d >> 2] = q[f >> 2];
+              q[d + 4 >> 2] = i;
+              q[d + 16 >> 2] = q[f + 16 >> 2];
+              i = q[f + 12 >> 2];
+              q[d + 8 >> 2] = q[f + 8 >> 2];
+              q[d + 12 >> 2] = i;
+              d = q[e + 80 >> 2];
+             }
+             q[e + 80 >> 2] = d + 1;
+            }
+            f = q[e + 72 >> 2] + 1 | 0;
+            q[e + 72 >> 2] = f;
+           }
+           if (!r[e + 68 | 0] | f >>> 0 >= h >>> 0) {
+            break m;
+           }
+           i = q[e + 88 >> 2];
+           continue;
+          }
+         }
+         if (f >>> 0 >= g >>> 0) {
+          break k;
+         }
+         d = q[e + 88 >> 2] + w(f, 20) | 0;
+         q[d + 12 >> 2] = 0;
+         h = q[d >> 2];
+         g = d + 12 | 0;
+         d = q[j + 72 >> 2];
+         n[q[d + 156 >> 2]](j, q[j + 76 >> 2], h, g, q[d + 20 >> 2]) | 0;
+         if (r[e + 69 | 0]) {
+          v : {
+           if (q[e + 92 >> 2] == q[e + 88 >> 2]) {
+            d = q[e + 80 >> 2];
+            if ((d | 0) == q[e + 72 >> 2]) {
+             break v;
+            }
+           }
+           if (!pG(e, 1, 1)) {
+            break k;
+           }
+           h = q[e + 88 >> 2] + w(q[e + 72 >> 2], 20) | 0;
+           g = q[h + 4 >> 2];
+           d = q[e + 92 >> 2] + w(q[e + 80 >> 2], 20) | 0;
+           q[d >> 2] = q[h >> 2];
+           q[d + 4 >> 2] = g;
+           q[d + 16 >> 2] = q[h + 16 >> 2];
+           g = q[h + 12 >> 2];
+           q[d + 8 >> 2] = q[h + 8 >> 2];
+           q[d + 12 >> 2] = g;
+           d = q[e + 80 >> 2];
+          }
+          q[e + 80 >> 2] = d + 1;
+         }
+         q[e + 72 >> 2] = q[e + 72 >> 2] + 1;
+         break k;
+        }
+        if (!j) {
+         break k;
+        }
+        while (1) {
+         HE(k + 16 | 0, u);
+         if (t[e + 72 >> 2] >= g >>> 0) {
+          break k;
+         }
+         if (r[e + 68 | 0]) {
+          continue;
+         }
+         break;
+        }
+       }
+       g = q[b + 72 >> 2];
+       if (g >>> 0 < l >>> 0) {
+        i = 0;
+        if (r[b + 68 | 0]) {
+         continue;
+        }
+       }
+       break;
+      }
+      uG(b);
+      break d;
+     }
+     uG(b);
+     g = 0;
+     if (i & 1) {
+      break c;
+     }
+    }
+    f = q[b + 76 >> 2];
+    if (!f) {
+     g = 1;
+     break c;
+    }
+    h = 0;
+    while (1) {
+     e = q[b + 88 >> 2];
+     d = s[(e + w(h, 20) | 0) + 16 >> 1];
+     w : {
+      if (d >>> 0 < 256) {
+       d = h;
+       break w;
+      }
+      if (!(1 << (d & 31) & 7168)) {
+       d = h;
+       break w;
+      }
+      d = h + 1 | 0;
+      g = f >>> 0 > d >>> 0 ? f : d;
+      d = h;
+      while (1) {
+       x : {
+        d = d + 1 | 0;
+        if (d >>> 0 >= f >>> 0) {
+         d = g;
+         break x;
+        }
+        j = s[(e + w(d, 20) | 0) + 16 >> 1];
+        if (j >>> 0 < 256) {
+         break x;
+        }
+        if (1 << (j & 31) & 7168) {
+         continue;
+        }
+       }
+       break;
+      }
+      if (d - h >>> 0 > 32) {
+       break w;
+      }
+      QG(b, h, d, 564);
+      g = q[q[a + 20 >> 2] + 44 >> 2];
+      if (!g) {
+       break w;
+      }
+      n[g](a, b, h, d);
+     }
+     g = 1;
+     h = d + 1 | 0;
+     if (h >>> 0 < f >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   y : {
+    if (!(r[b + 32 | 0] & 32)) {
+     break y;
+    }
+    i = q[b + 76 >> 2];
+    if (i >>> 0 < 3) {
+     break y;
+    }
+    d = 1;
+    a = 2;
+    while (1) {
+     h = d;
+     d = a;
+     a = w(h, 20);
+     h = q[b + 88 >> 2];
+     a = a + h | 0;
+     z : {
+      if (q[a >> 2] != 847) {
+       break z;
+      }
+      f = s[a + -4 >> 1];
+      h = s[(h + w(d, 20) | 0) + 16 >> 1];
+      if ((1 << (f & 31) & 7168 ? f >>> 8 | 0 : 0) >>> 0 > (1 << (h & 31) & 7168 ? h >>> 8 | 0 : 0) >>> 0) {
+       break z;
+      }
+      p[a + 16 >> 1] = s[a + 16 >> 1] & 65471;
+      i = q[b + 76 >> 2];
+     }
+     a = d + 1 | 0;
+     if (a >>> 0 < i >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (g ^ 1 | (o | 1) != 3) {
+    break b;
+   }
+   sG(b);
+   f = q[b + 76 >> 2];
+   A : {
+    if (r[b + 69 | 0]) {
+     B : {
+      if (q[b + 92 >> 2] == q[b + 88 >> 2]) {
+       d = q[b + 80 >> 2];
+       if ((d | 0) == q[b + 72 >> 2]) {
+        break B;
+       }
+      }
+      if (!pG(b, 1, 1)) {
+       g = q[b + 72 >> 2];
+       break A;
+      }
+      d = q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0;
+      h = q[d + 4 >> 2];
+      a = q[b + 92 >> 2] + w(q[b + 80 >> 2], 20) | 0;
+      q[a >> 2] = q[d >> 2];
+      q[a + 4 >> 2] = h;
+      q[a + 16 >> 2] = q[d + 16 >> 2];
+      h = q[d + 12 >> 2];
+      q[a + 8 >> 2] = q[d + 8 >> 2];
+      q[a + 12 >> 2] = h;
+      d = q[b + 80 >> 2];
+     }
+     q[b + 80 >> 2] = d + 1;
+    }
+    g = q[b + 72 >> 2] + 1 | 0;
+    q[b + 72 >> 2] = g;
+   }
+   C : {
+    if (g >>> 0 >= f >>> 0) {
+     break C;
+    }
+    d = 0;
+    while (1) {
+     if (!r[b + 68 | 0]) {
+      break C;
+     }
+     D : {
+      E : {
+       h = q[b + 88 >> 2] + w(g, 20) | 0;
+       g = s[h + 16 >> 1];
+       if (!(1 << (g & 31) & 7168)) {
+        break E;
+       }
+       a = q[b + 92 >> 2];
+       e = q[b + 80 >> 2];
+       j = e + -1 | 0;
+       if ((j | 0) != (d | 0)) {
+        e = s[(a + w(e ? j : 0, 20) | 0) + 16 >> 1];
+        if ((1 << (e & 31) & 7168 ? e >>> 8 | 0 : 0) >>> 0 >= g >>> 8 >>> 0) {
+         break E;
+        }
+       }
+       e = w(d, 20);
+       if (!n[q[k + 36 >> 2]](k + 16 | 0, q[e + a >> 2], q[h >> 2], k + 44 | 0)) {
+        break E;
+       }
+       q[k + 12 >> 2] = 0;
+       a = q[c + 72 >> 2];
+       if (!n[q[a + 156 >> 2]](c, q[c + 76 >> 2], q[k + 44 >> 2], k + 12 | 0, q[a + 20 >> 2])) {
+        break E;
+       }
+       F : {
+        if (r[b + 69 | 0]) {
+         G : {
+          if (q[b + 92 >> 2] == q[b + 88 >> 2]) {
+           g = q[b + 80 >> 2];
+           if ((g | 0) == q[b + 72 >> 2]) {
+            break G;
+           }
+          }
+          if (!pG(b, 1, 1)) {
+           break F;
+          }
+          h = q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0;
+          g = q[h + 4 >> 2];
+          a = q[b + 92 >> 2] + w(q[b + 80 >> 2], 20) | 0;
+          q[a >> 2] = q[h >> 2];
+          q[a + 4 >> 2] = g;
+          q[a + 16 >> 2] = q[h + 16 >> 2];
+          g = q[h + 12 >> 2];
+          q[a + 8 >> 2] = q[h + 8 >> 2];
+          q[a + 12 >> 2] = g;
+          g = q[b + 80 >> 2];
+         }
+         q[b + 80 >> 2] = g + 1;
+        }
+        q[b + 72 >> 2] = q[b + 72 >> 2] + 1;
+       }
+       if (r[b + 68 | 0] != 1) {
+        break b;
+       }
+       BG(b, d, q[b + 80 >> 2]);
+       q[b + 80 >> 2] = q[b + 80 >> 2] + -1;
+       a = e + q[b + 92 >> 2] | 0;
+       q[a >> 2] = q[k + 44 >> 2];
+       q[a + 12 >> 2] = q[k + 12 >> 2];
+       JE(e + q[b + 92 >> 2] | 0, b);
+       break D;
+      }
+      H : {
+       if (r[b + 69 | 0]) {
+        I : {
+         if (q[b + 92 >> 2] == q[b + 88 >> 2]) {
+          g = q[b + 80 >> 2];
+          if ((g | 0) == q[b + 72 >> 2]) {
+           break I;
+          }
+         }
+         if (!pG(b, 1, 1)) {
+          break H;
+         }
+         h = q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0;
+         g = q[h + 4 >> 2];
+         a = q[b + 92 >> 2] + w(q[b + 80 >> 2], 20) | 0;
+         q[a >> 2] = q[h >> 2];
+         q[a + 4 >> 2] = g;
+         q[a + 16 >> 2] = q[h + 16 >> 2];
+         g = q[h + 12 >> 2];
+         q[a + 8 >> 2] = q[h + 8 >> 2];
+         q[a + 12 >> 2] = g;
+         g = q[b + 80 >> 2];
+        }
+        q[b + 80 >> 2] = g + 1;
+       }
+       q[b + 72 >> 2] = q[b + 72 >> 2] + 1;
+      }
+      h = q[b + 80 >> 2];
+      a = h + -1 | 0;
+      h = s[(q[b + 92 >> 2] + w(h ? a : 0, 20) | 0) + 16 >> 1];
+      d = h >>> 0 < 256 ? a : 1 << (h & 31) & 7168 ? d : a;
+     }
+     g = q[b + 72 >> 2];
+     if (g >>> 0 < f >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   uG(b);
+  }
+  Ca = k + 48 | 0;
+  return;
+ }
+ J(269932, 269906, 170, 269921);
+ F();
+}
+function bq(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0;
+ g = Ca - 48 | 0;
+ Ca = g;
+ b = q[a + 720 >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     if (!(!q[a + 736 >> 2] | (r[a + 9 | 0] & 128 ? 0 : !(s[a + 6 >> 1] & 32767)))) {
+      j = q[a + 548 >> 2];
+      e = q[a + 100 >> 2];
+      if (!q[a + 744 >> 2]) {
+       b = s[a + 340 >> 1];
+       if (!b) {
+        b = 0;
+        break b;
+       }
+       h = b >>> 0 > 1 ? b : 1;
+       i = q[a + 356 >> 2];
+       b = 0;
+       f = -1;
+       c = -1;
+       while (1) {
+        d = i + w(b, 20) | 0;
+        e : {
+         if (s[d + 6 >> 1] != 25 | !s[d + 8 >> 1]) {
+          break e;
+         }
+         k = s[d >> 1] + -1 | 0;
+         if (k >>> 0 > 2) {
+          break e;
+         }
+         f : {
+          switch (k - 1 | 0) {
+          case 1:
+           if (s[d + 2 >> 1] > 1) {
+            break e;
+           }
+           f = (f | 0) == -1 ? b : s[d + 4 >> 1] == 1033 ? b : f;
+           break e;
+          case 0:
+           break e;
+          default:
+           break f;
+          }
+         }
+         if (s[d + 2 >> 1]) {
+          break e;
+         }
+         c = (c | 0) == -1 ? b : s[d + 4 >> 1] ? c : b;
+        }
+        b = b + 1 | 0;
+        if ((h | 0) != (b | 0)) {
+         continue;
+        }
+        break;
+       }
+       g : {
+        h : {
+         if ((f | 0) > -1) {
+          break h;
+         }
+         i : {
+          if ((c | 0) > -1) {
+           break i;
+          }
+          b = 0;
+          f = -1;
+          c = -1;
+          while (1) {
+           d = i + w(b, 20) | 0;
+           j : {
+            if (s[d + 6 >> 1] != 16 | !s[d + 8 >> 1]) {
+             break j;
+            }
+            k = s[d >> 1] + -1 | 0;
+            if (k >>> 0 > 2) {
+             break j;
+            }
+            k : {
+             switch (k - 1 | 0) {
+             case 1:
+              if (s[d + 2 >> 1] > 1) {
+               break j;
+              }
+              f = (f | 0) == -1 ? b : s[d + 4 >> 1] == 1033 ? b : f;
+              break j;
+             case 0:
+              break j;
+             default:
+              break k;
+             }
+            }
+            if (s[d + 2 >> 1]) {
+             break j;
+            }
+            c = (c | 0) == -1 ? b : s[d + 4 >> 1] ? c : b;
+           }
+           b = b + 1 | 0;
+           if ((h | 0) != (b | 0)) {
+            continue;
+           }
+           break;
+          }
+          if ((f | 0) > -1) {
+           break h;
+          }
+          if ((c | 0) > -1) {
+           break i;
+          }
+          b = 0;
+          f = -1;
+          c = -1;
+          while (1) {
+           d = i + w(b, 20) | 0;
+           l : {
+            if (s[d + 6 >> 1] != 1 | !s[d + 8 >> 1]) {
+             break l;
+            }
+            k = s[d >> 1] + -1 | 0;
+            if (k >>> 0 > 2) {
+             break l;
+            }
+            m : {
+             switch (k - 1 | 0) {
+             case 1:
+              if (s[d + 2 >> 1] > 1) {
+               break l;
+              }
+              f = (f | 0) == -1 ? b : s[d + 4 >> 1] == 1033 ? b : f;
+              break l;
+             case 0:
+              break l;
+             default:
+              break m;
+             }
+            }
+            if (s[d + 2 >> 1]) {
+             break l;
+            }
+            c = (c | 0) == -1 ? b : s[d + 4 >> 1] ? c : b;
+           }
+           b = b + 1 | 0;
+           if ((h | 0) != (b | 0)) {
+            continue;
+           }
+           break;
+          }
+          if ((f | 0) > -1) {
+           break h;
+          }
+          b = 0;
+          if ((c | 0) < 0) {
+           break b;
+          }
+         }
+         if ((f | 0) != -1) {
+          break h;
+         }
+         b = 0;
+         break g;
+        }
+        b = dq(e, q[a + 368 >> 2], i + w(f, 20) | 0, 322);
+       }
+       if (!(b | (c | 0) == -1)) {
+        b = eq(q[a + 100 >> 2], q[a + 368 >> 2], q[a + 356 >> 2] + w(c, 20) | 0, 322);
+       }
+       if (!b) {
+        b = 0;
+        break b;
+       }
+       d = a;
+       c = g0(b);
+       if (c >>> 0 >= 92) {
+        o[b + 91 | 0] = 0;
+        c = 91;
+       }
+       q[d + 748 >> 2] = c;
+       q[a + 744 >> 2] = b;
+      }
+      b = 0;
+      n[q[j + 40 >> 2]](a, g + 40 | 0, g + 36 | 0, 0, g + 32 | 0) | 0;
+      n : {
+       o : {
+        p : {
+         c = q[a + 4 >> 2];
+         if (!(c & 2147418112) | r[a + 9 | 0] & 128) {
+          break p;
+         }
+         h = (c >>> 16 & 32767) + -1 | 0;
+         c = q[q[g + 32 >> 2] + 16 >> 2];
+         i = q[(w(h, 12) + c | 0) + 8 >> 2];
+         f = q[a + 540 >> 2];
+         q[g >> 2] = 0;
+         d = a;
+         if (!(i + -256 >>> 0 > 32511 ? (i | 0) != 6 : 0)) {
+          n[q[f + 144 >> 2]](a, i & 65535, g) | 0;
+          i = q[g >> 2];
+          if (i) {
+           break o;
+          }
+          c = q[q[g + 32 >> 2] + 16 >> 2];
+         }
+         n[q[f + 144 >> 2]](d, s[(w(h, 12) + c | 0) + 4 >> 1], g + 28 | 0) | 0;
+         c = q[g + 28 >> 2];
+         if (!c) {
+          break p;
+         }
+         b = Oe(e, (q[a + 748 >> 2] + g0(c) | 0) + 2 | 0, g + 44 | 0);
+         if (q[g + 44 >> 2]) {
+          b = 0;
+          break b;
+         }
+         i = gZ(b, q[a + 744 >> 2]);
+         b = i + q[a + 748 >> 2] | 0;
+         o[b | 0] = 45;
+         h = b + 1 | 0;
+         c = q[g + 28 >> 2];
+         b = r[c | 0];
+         if (b) {
+          while (1) {
+           d = b << 24 >> 24;
+           if (!((d & -33) + -65 >>> 0 > 25 ? d + -48 >>> 0 >= 10 : 0)) {
+            o[h | 0] = b;
+            h = h + 1 | 0;
+           }
+           b = r[c + 1 | 0];
+           c = c + 1 | 0;
+           if (b) {
+            continue;
+           }
+           break;
+          }
+         }
+         o[h | 0] = 0;
+         Qe(e, q[g + 28 >> 2]);
+         d = h + 1 | 0;
+         break n;
+        }
+        f = q[q[g + 32 >> 2] + 12 >> 2];
+        c = Oe(e, (q[a + 748 >> 2] + w(q[g + 40 >> 2], 17) | 0) + 1 | 0, g + 44 | 0);
+        if (q[g + 44 >> 2]) {
+         break b;
+        }
+        i = gZ(c, q[a + 744 >> 2]);
+        d = i + q[a + 748 >> 2] | 0;
+        if (!q[g + 40 >> 2]) {
+         break n;
+        }
+        b = q[g + 36 >> 2];
+        j = 0;
+        while (1) {
+         q : {
+          if (q[b >> 2] == q[f + 8 >> 2]) {
+           break q;
+          }
+          o[d | 0] = 95;
+          c = q[q[g + 36 >> 2] >> 2];
+          r : {
+           if (!c) {
+            o[d + 1 | 0] = 48;
+            d = d + 2 | 0;
+            break r;
+           }
+           if ((c | 0) > -1) {
+            d = d + 1 | 0;
+           } else {
+            o[d + 1 | 0] = 45;
+            c = 0 - c | 0;
+            d = d + 2 | 0;
+           }
+           h = c & 65535;
+           b = 0;
+           c = c >>> 16 | 0;
+           if (c) {
+            while (1) {
+             e = (c >>> 0) / 10 | 0;
+             o[b + g | 0] = c - w(e, 10) | 48;
+             b = b + 1 | 0;
+             k = c >>> 0 > 9;
+             c = e;
+             if (k) {
+              continue;
+             }
+             break;
+            }
+            while (1) {
+             c = b + -1 | 0;
+             o[d | 0] = r[c + g | 0];
+             d = d + 1 | 0;
+             e = (b | 0) > 1;
+             b = c;
+             if (e) {
+              continue;
+             }
+             break;
+            }
+           }
+           if (!h) {
+            break r;
+           }
+           o[d | 0] = 46;
+           b = w(h, 10) + 5 | 0;
+           o[d + 1 | 0] = (b >>> 16 | 0) + 48;
+           b = w(b & 65535, 10);
+           o[d + 2 | 0] = b >>> 16 | 48;
+           b = w(b & 65534, 10);
+           c = b >>> 16 | 48;
+           o[d + 3 | 0] = c;
+           s : {
+            t : {
+             u : {
+              v : {
+               w : {
+                x : {
+                 y : {
+                  b = b & 65532;
+                  if (!b) {
+                   b = d + 3 | 0;
+                   break y;
+                  }
+                  b = w(b, 10);
+                  c = b >>> 16 | 48;
+                  o[d + 4 | 0] = c;
+                  e = b & 65528;
+                  if (!e) {
+                   b = d + 4 | 0;
+                   break y;
+                  }
+                  b = d + 5 | 0;
+                  e = w(e, 10);
+                  h = e >>> 16 | 0;
+                  c = h | 48;
+                  o[b | 0] = c;
+                  e = e & 65520;
+                  if (!e) {
+                   break y;
+                  }
+                  d = w(e, 10);
+                  if (d >>> 0 >= 344800) {
+                   break u;
+                  }
+                  if ((c | 0) == 49) {
+                   break x;
+                  }
+                  if ((d | 0) == 172320) {
+                   if (h & 1) {
+                    break v;
+                   }
+                   break u;
+                  }
+                  if (d >>> 0 > 172319) {
+                   break u;
+                  }
+                  break w;
+                 }
+                 if ((b - d | 0) != 5) {
+                  break u;
+                 }
+                 if ((c | 0) != 49) {
+                  break w;
+                 }
+                }
+                o[b | 0] = 48;
+                break t;
+               }
+               if ((c | 0) == 48) {
+                break t;
+               }
+              }
+              c = c + -1 | 0;
+              o[b | 0] = c;
+             }
+             if ((c | 0) != 48) {
+              break s;
+             }
+            }
+            while (1) {
+             o[b | 0] = 0;
+             b = b + -1 | 0;
+             if (r[b | 0] == 48) {
+              continue;
+             }
+             break;
+            }
+           }
+           d = b + 1 | 0;
+          }
+          b = q[f + 16 >> 2];
+          c = b >> 24;
+          if (!((c | 0) == 32 | ((c & -33) + -65 >>> 0 > 25 ? c + -48 >>> 0 >= 10 : 0))) {
+           o[d | 0] = b >>> 24;
+           d = d + 1 | 0;
+           b = q[f + 16 >> 2];
+          }
+          c = b >>> 16 | 0;
+          e = c << 24;
+          z : {
+           if ((e | 0) == 536870912) {
+            break z;
+           }
+           e = e >> 24;
+           if ((e & -33) + -65 >>> 0 > 25 ? e + -48 >>> 0 >= 10 : 0) {
+            break z;
+           }
+           o[d | 0] = c;
+           d = d + 1 | 0;
+           b = q[f + 16 >> 2];
+          }
+          c = b >>> 8 | 0;
+          e = c << 24;
+          A : {
+           if ((e | 0) == 536870912) {
+            break A;
+           }
+           e = e >> 24;
+           if ((e & -33) + -65 >>> 0 > 25 ? e + -48 >>> 0 >= 10 : 0) {
+            break A;
+           }
+           o[d | 0] = c;
+           d = d + 1 | 0;
+           b = q[f + 16 >> 2];
+          }
+          c = b << 24;
+          if ((c | 0) == 536870912) {
+           break q;
+          }
+          c = c >> 24;
+          if ((c & -33) + -65 >>> 0 > 25 ? c + -48 >>> 0 >= 10 : 0) {
+           break q;
+          }
+          o[d | 0] = b;
+          d = d + 1 | 0;
+         }
+         b = q[g + 36 >> 2] + 4 | 0;
+         q[g + 36 >> 2] = b;
+         f = f + 24 | 0;
+         j = j + 1 | 0;
+         if (j >>> 0 < t[g + 40 >> 2]) {
+          continue;
+         }
+         break;
+        }
+        break n;
+       }
+       d = (g0(i) + i | 0) + 1 | 0;
+      }
+      k = d - i | 0;
+      if ((k | 0) < 128) {
+       break c;
+      }
+      c = 0 - (k >>> 4 | 0) | 0;
+      e = (k & -16) + i | 0;
+      j = 123456789;
+      h = 123456789;
+      l = 123456789;
+      f = 123456789;
+      break d;
+     }
+     b = s[a + 340 >> 1];
+     if (!b) {
+      b = 0;
+      break a;
+     }
+     i = b >>> 0 > 1 ? b : 1;
+     d = q[a + 356 >> 2];
+     b = 0;
+     f = -1;
+     j = -1;
+     while (1) {
+      c = d + w(b, 20) | 0;
+      B : {
+       if (s[c + 6 >> 1] != 6 | !s[c + 8 >> 1]) {
+        break B;
+       }
+       e = s[c >> 1] + -1 | 0;
+       if (e >>> 0 > 2) {
+        break B;
+       }
+       C : {
+        switch (e - 1 | 0) {
+        case 1:
+         if (s[c + 2 >> 1] > 1) {
+          break B;
+         }
+         f = (f | 0) == -1 ? b : s[c + 4 >> 1] == 1033 ? b : f;
+         break B;
+        case 0:
+         break B;
+        default:
+         break C;
+        }
+       }
+       if (s[c + 2 >> 1]) {
+        break B;
+       }
+       j = (j | 0) == -1 ? b : s[c + 4 >> 1] ? j : b;
+      }
+      b = b + 1 | 0;
+      if ((i | 0) != (b | 0)) {
+       continue;
+      }
+      break;
+     }
+     D : {
+      E : {
+       if ((f | 0) > -1) {
+        break E;
+       }
+       b = 0;
+       if ((j | 0) < 0) {
+        break a;
+       }
+       if ((f | 0) != -1) {
+        break E;
+       }
+       b = 0;
+       break D;
+      }
+      b = dq(q[a + 100 >> 2], q[a + 368 >> 2], d + w(f, 20) | 0, 323);
+     }
+     if (b | (j | 0) == -1) {
+      break b;
+     }
+     b = eq(q[a + 100 >> 2], q[a + 368 >> 2], q[a + 356 >> 2] + w(j, 20) | 0, 323);
+     break b;
+    }
+    while (1) {
+     d = c << 4;
+     b = q[d + e >> 2];
+     j = Y0(w(w(b, 597399067) >>> 17 | w(b, -888307712), -1425107063) ^ j, 19) + h | 0;
+     b = q[e + (d | 4) >> 2];
+     h = w(Y0(w(w(b, -1425107063) >>> 16 | w(b, -1752629248), 951274213) ^ h, 17) + l | 0, 5) + 197830471 | 0;
+     b = c + 1 | 0;
+     p = b >>> 0 >= c >>> 0;
+     c = q[e + (d | 8) >> 2];
+     m = w(Y0(w(w(c, 951274213) >>> 15 | w(c, -1781923840), -1578923117) ^ l, 15) + f | 0, 5) + -1764942795 | 0;
+     l = m;
+     c = q[e + (d | 12) >> 2];
+     j = w(j, 5) + 1444728091 | 0;
+     d = w(Y0(w(w(c, -1578923117) >>> 14 | w(c, 776732672), 597399067) ^ f, 13) + j | 0, 5) + 850148119 | 0;
+     f = d;
+     c = b;
+     if (p) {
+      continue;
+     }
+     break;
+    }
+    b = (k & 15) + -1 | 0;
+    if (b >>> 0 <= 14) {
+     c = 0;
+     F : {
+      switch (b - 1 | 0) {
+      case 13:
+       c = r[e + 14 | 0] << 16;
+      case 12:
+       c = r[e + 13 | 0] << 8 | c;
+      case 11:
+       b = r[e + 12 | 0] ^ c;
+       d = w(w(b, -1578923117) >>> 14 | w(b, 776732672), 597399067) ^ d;
+      case 10:
+       c = r[e + 11 | 0] << 24;
+      case 9:
+       c = r[e + 10 | 0] << 16 | c;
+      case 8:
+       c = r[e + 9 | 0] << 8 ^ c;
+      case 7:
+       b = r[e + 8 | 0] ^ c;
+       m = w(w(b, 951274213) >>> 15 | w(b, -1781923840), -1578923117) ^ m;
+      case 6:
+       c = r[e + 7 | 0] << 24;
+      case 5:
+       c = r[e + 6 | 0] << 16 | c;
+      case 4:
+       c = r[e + 5 | 0] << 8 ^ c;
+      case 3:
+       b = r[e + 4 | 0] ^ c;
+       h = w(w(b, -1425107063) >>> 16 | w(b, -1752629248), 951274213) ^ h;
+      case 2:
+       c = r[e + 3 | 0] << 24;
+      case 1:
+       c = r[e + 2 | 0] << 16 | c;
+      case 0:
+       c = r[e + 1 | 0] << 8 ^ c;
+       break;
+      default:
+       break F;
+      }
+     }
+     b = r[e | 0] ^ c;
+     j = w(w(b, 597399067) >>> 17 | w(b, -888307712), -1425107063) ^ j;
+    }
+    e = h ^ k;
+    c = k ^ m;
+    d = d ^ k;
+    b = (e + (c + d | 0) | 0) + (j ^ k) | 0;
+    f = w(b >>> 16 ^ b, -2048144789);
+    f = w(f >>> 13 ^ f, -1028477387);
+    e = b + e | 0;
+    e = w(e >>> 16 ^ e, -2048144789);
+    e = w(e >>> 13 ^ e, -1028477387);
+    e = e >>> 16 ^ e;
+    l = (f >>> 16 ^ f) + e | 0;
+    c = b + c | 0;
+    c = w(c >>> 16 ^ c, -2048144789);
+    c = w(c >>> 13 ^ c, -1028477387);
+    f = c >>> 16 ^ c;
+    b = b + d | 0;
+    b = w(b >>> 16 ^ b, -2048144789);
+    b = w(b >>> 13 ^ b, -1028477387);
+    c = b >>> 16 ^ b;
+    b = (l + f | 0) + c | 0;
+    q[g >> 2] = b;
+    c = b + c | 0;
+    q[g + 12 >> 2] = c;
+    q[g + 8 >> 2] = b + f;
+    q[g + 4 >> 2] = b + e;
+    b = q[a + 748 >> 2] + i | 0;
+    o[b | 0] = 45;
+    o[b + 33 | 0] = 3026478;
+    o[b + 34 | 0] = 11822;
+    o[b + 35 | 0] = 46;
+    o[b + 36 | 0] = 0;
+    b = b + 32 | 0;
+    h = g | 12;
+    d = 0;
+    while (1) {
+     o[b | 0] = r[(c & 15) + 163408 | 0];
+     o[b + -7 | 0] = r[(c >>> 28 | 0) + 163408 | 0];
+     o[b + -1 | 0] = r[(c >>> 4 & 15) + 163408 | 0];
+     o[b + -2 | 0] = r[(c >>> 8 & 15) + 163408 | 0];
+     o[b + -3 | 0] = r[(c >>> 12 & 15) + 163408 | 0];
+     o[b + -4 | 0] = r[(c >>> 16 & 15) + 163408 | 0];
+     o[b + -5 | 0] = r[(c >>> 20 & 15) + 163408 | 0];
+     o[b + -6 | 0] = r[(c >>> 24 & 15) + 163408 | 0];
+     d = d + 1 | 0;
+     if ((d | 0) == 4) {
+      break c;
+     }
+     b = b + -8 | 0;
+     h = h + -4 | 0;
+     c = q[h >> 2];
+     continue;
+    }
+   }
+   b = i;
+  }
+  q[a + 720 >> 2] = b;
+ }
+ Ca = g + 48 | 0;
+ return b | 0;
+}
+function yd(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0, u = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, G = 0, H = 0, I = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0;
+ f = Ca - 96 | 0;
+ Ca = f;
+ while (1) {
+  a : {
+   b : {
+    c : {
+     d : {
+      e = b;
+      c = r[e | 0];
+      b = c + -10 | 0;
+      if (b >>> 0 > 3) {
+       if ((c | 0) != 239 | r[e + 1 | 0] != 187) {
+        break d;
+       }
+       d = 3;
+       b = e;
+       if (r[e + 2 | 0] != 191) {
+        break c;
+       }
+       break b;
+      }
+      d = 1;
+      switch (b - 1 | 0) {
+      case 0:
+      case 1:
+       break d;
+      default:
+       break b;
+      }
+     }
+     b = e;
+    }
+    while (1) {
+     c = c & 255;
+     if (!(1 << c & 9217 ? c >>> 0 <= 13 : 0)) {
+      c = r[b + 1 | 0];
+      b = b + 1 | 0;
+      continue;
+     }
+     break;
+    }
+    e : {
+     if ((b | 0) != (e | 0)) {
+      if (c) {
+       o[b | 0] = 0;
+       b = b + 1 | 0;
+      }
+      f : {
+       if (!ce(e, 1882, 13)) {
+        q[q[a + 88 >> 2] >> 2] = 1;
+        break f;
+       }
+       if (!ce(e, 1896, 11)) {
+        q[q[a + 88 >> 2] >> 2] = 2;
+        q[a + 32 >> 2] = 2;
+        break f;
+       }
+       if (!ce(e, 1908, 12)) {
+        q[q[a + 88 >> 2] >> 2] = 2;
+        q[a + 32 >> 2] = 1;
+        break f;
+       }
+       if (!ce(e, 1921, 8)) {
+        q[q[a + 88 >> 2] >> 2] = 3;
+        break f;
+       }
+       d = ce(e, 1930, 7);
+       c = q[a + 88 >> 2];
+       if (!d) {
+        q[c >> 2] = 4;
+        break f;
+       }
+       d = q[c >> 2] + -1 | 0;
+       if (d >>> 0 > 3) {
+        break f;
+       }
+       g : {
+        switch (d - 1 | 0) {
+        default:
+         if (!jZ(e, 1938, 9)) {
+          Q = a, R = T_(e + 9 | 0), q[Q + 36 >> 2] = R;
+          break f;
+         }
+         if (!jZ(e, 1948, 9)) {
+          Q = a, R = T_(e + 9 | 0), q[Q + 40 >> 2] = R;
+          break f;
+         }
+         if (!jZ(e, 1958, 6)) {
+          Q = a, S = de(e + 6 | 0, 0), v[Q + 48 >> 3] = S;
+          break f;
+         }
+         if (!jZ(e, 1965, 10)) {
+          Q = a, R = T_(e + 10 | 0), q[Q + 56 >> 2] = R;
+          break f;
+         }
+         if (!jZ(e, 1976, 22)) {
+          Q = a, R = Vd(e + 22 | 0), q[Q + 60 >> 2] = R;
+          break f;
+         }
+         if (!jZ(e, 1999, 8)) {
+          Q = a, R = Vd(e + 8 | 0), q[Q + 64 >> 2] = R;
+          break f;
+         }
+         if (!jZ(e, 2008, 13)) {
+          Q = a, R = Wd(e + 13 | 0), q[Q + 72 >> 2] = R;
+          break f;
+         }
+         if (jZ(e, 2022, 9)) {
+          break f;
+         }
+         d = e + 9 | 0;
+         e = r[e + 9 | 0];
+         h : {
+          if (!e) {
+           break h;
+          }
+          while (1) {
+           c = d;
+           d = e << 24 >> 24;
+           if (!(d + -9 >>> 0 < 4 | (d | 0) == 32 | (e & 255) == 13)) {
+            d = c;
+            break h;
+           }
+           d = c + 1 | 0;
+           e = r[c + 1 | 0];
+           if (e) {
+            continue;
+           }
+           break;
+          }
+         }
+         M$(q[a + 68 >> 2]);
+         Q = a, R = bZ(d, 2), q[Q + 68 >> 2] = R;
+         break f;
+        case 0:
+         if (!jZ(e, 2032, 7)) {
+          q[f + 92 >> 2] = e + 7;
+          Nd(f + 92 | 0);
+          M$(q[a + 24 >> 2]);
+          c = mZ(q[f + 92 >> 2]);
+          q[a + 24 >> 2] = c;
+          e = q[a + 84 >> 2];
+          q[f >> 2] = c;
+          Yd(e, 7, 2040, f);
+          break f;
+         }
+         if (jZ(e, 2057, 6)) {
+          break f;
+         }
+         q[f + 88 >> 2] = e + 6;
+         Nd(f + 88 | 0);
+         e = q[f + 88 >> 2];
+         c = q[a + 24 >> 2];
+         if (!c) {
+          i = a;
+          i : {
+           if (q[a + 32 >> 2] == 2) {
+            c = mZ(2064);
+            break i;
+           }
+           c = mZ(2251);
+          }
+          q[i + 24 >> 2] = c;
+         }
+         s = mZ(c);
+         if (!q[a >> 2]) {
+          c = q[a + 4 >> 2];
+          if ((c | 0) <= -1) {
+           break a;
+          }
+          d = a;
+          j : {
+           if (c) {
+            i = q[a + 16 >> 2];
+            c = 0;
+            break j;
+           }
+           q[a + 4 >> 2] = 20;
+           i = O$(q[a + 16 >> 2], 2880);
+           q[a + 16 >> 2] = i;
+           c = q[a >> 2];
+          }
+          q[d >> 2] = c + 1;
+          d = w(c, 144);
+          Z$(d + i | 0, 0, 144);
+          d = d + q[a + 16 >> 2] | 0;
+          Q = d, R = mZ(2498), q[Q >> 2] = R;
+          i = mZ(2506);
+          q[d + 116 >> 2] = 20;
+          q[d + 104 >> 2] = 2;
+          q[d + 96 >> 2] = 0;
+          q[d + 100 >> 2] = 1074266112;
+          q[d + 88 >> 2] = 0;
+          q[d + 92 >> 2] = 1073741824;
+          q[d + 80 >> 2] = 1;
+          q[d + 64 >> 2] = 0;
+          q[d + 68 >> 2] = 0;
+          q[d + 56 >> 2] = 0;
+          q[d + 60 >> 2] = 1072693248;
+          q[d + 48 >> 2] = 0;
+          q[d + 52 >> 2] = 1072693248;
+          q[d + 32 >> 2] = 200;
+          q[d + 24 >> 2] = 0;
+          q[d + 28 >> 2] = 128;
+          q[d + 16 >> 2] = -256;
+          q[d + 20 >> 2] = 16776960;
+          q[d + 8 >> 2] = 0;
+          q[d + 12 >> 2] = 1077018624;
+          q[d + 4 >> 2] = i;
+          q[d + 108 >> 2] = 20;
+          q[d + 112 >> 2] = 20;
+          q[a + 76 >> 2] = c;
+         }
+         c = q[a + 84 >> 2];
+         q[f + 20 >> 2] = e;
+         q[f + 16 >> 2] = a;
+         Yd(c, 6, 2478, f + 16 | 0);
+         l = q[a >> 2];
+         c = q[a + 4 >> 2];
+         if ((l | 0) > (c | 0)) {
+          break a;
+         }
+         k : {
+          if ((c | 0) != (l | 0)) {
+           c = q[a + 16 >> 2];
+           break k;
+          }
+          c = l + 20 | 0;
+          q[a + 4 >> 2] = c;
+          c = O$(q[a + 16 >> 2], w(c, 144));
+          q[a + 16 >> 2] = c;
+          l = q[a >> 2];
+         }
+         q[a >> 2] = l + 1;
+         i = c;
+         c = w(l, 144);
+         Z$(i + c | 0, 0, 144);
+         g = c + q[a + 16 >> 2] | 0;
+         q[g + 56 >> 2] = 0;
+         q[g + 60 >> 2] = 1079574528;
+         q[g + 48 >> 2] = 0;
+         q[g + 52 >> 2] = 1079574528;
+         q[f + 92 >> 2] = s;
+         n = g + 56 | 0;
+         p = g + 48 | 0;
+         Nd(f + 92 | 0);
+         h = q[f + 92 >> 2];
+         d = r[h | 0];
+         l : {
+          if (!d) {
+           break l;
+          }
+          t = g + 4 | 0;
+          x = g + 16 | 0;
+          y = g + 20 | 0;
+          u = g + 24 | 0;
+          z = g + 28 | 0;
+          A = g + 8 | 0;
+          B = g + 32 | 0;
+          C = g + 36 | 0;
+          D = g + 40 | 0;
+          E = g + 44 | 0;
+          G = g - -64 | 0;
+          H = g + 72 | 0;
+          I = g + 80 | 0;
+          m = g + 104 | 0;
+          K = g + 108 | 0;
+          L = g + 112 | 0;
+          M = g + 116 | 0;
+          N = g + 120 | 0;
+          O = g + 88 | 0;
+          P = g + 96 | 0;
+          while (1) {
+           c = h;
+           m : {
+            while (1) {
+             d = d & 255;
+             if (!d) {
+              break m;
+             }
+             if ((d | 0) != 44) {
+              i = c + 1 | 0;
+              q[f + 92 >> 2] = i;
+              d = r[c + 1 | 0];
+              c = i;
+              continue;
+             }
+             break;
+            }
+            o[c | 0] = 0;
+            c = q[f + 92 >> 2] + 1 | 0;
+           }
+           Od(f + 92 | 0, h);
+           o[q[f + 92 >> 2]] = 0;
+           q[f + 92 >> 2] = e;
+           Nd(f + 92 | 0);
+           j = q[f + 92 >> 2];
+           e = j;
+           d = r[e | 0];
+           if (!d) {
+            break l;
+           }
+           n : {
+            while (1) {
+             d = d & 255;
+             if (!d) {
+              break n;
+             }
+             if ((d | 0) != 44) {
+              i = e + 1 | 0;
+              q[f + 92 >> 2] = i;
+              d = r[e + 1 | 0];
+              e = i;
+              continue;
+             }
+             break;
+            }
+            o[e | 0] = 0;
+            e = q[f + 92 >> 2] + 1 | 0;
+           }
+           Od(f + 92 | 0, j);
+           o[q[f + 92 >> 2]] = 0;
+           if (!j) {
+            break l;
+           }
+           o : {
+            if (!be(h, 2493)) {
+             d = q[g >> 2];
+             if (d) {
+              M$(d);
+             }
+             while (1) {
+              d = j;
+              j = d + 1 | 0;
+              if (r[d | 0] == 42) {
+               continue;
+              }
+              break;
+             }
+             d = mZ(d);
+             q[g >> 2] = d;
+             if (iZ(d, 2498)) {
+              break o;
+             }
+             q[a + 76 >> 2] = l;
+             break o;
+            }
+            if (!be(h, 1338)) {
+             d = q[t >> 2];
+             if (d) {
+              M$(d);
+             }
+             Q = t, R = mZ(j), q[Q >> 2] = R;
+             break o;
+            }
+            if (!be(h, 1347)) {
+             Q = x, R = Ud(j), q[Q >> 2] = R;
+             break o;
+            }
+            if (!be(h, 1361)) {
+             Q = y, R = Ud(j), q[Q >> 2] = R;
+             break o;
+            }
+            if (!be(h, 1377)) {
+             Q = u, R = Ud(j), q[Q >> 2] = R;
+             break o;
+            }
+            if (!be(h, 1391)) {
+             d = Ud(j);
+             q[z >> 2] = d;
+             if (q[a + 32 >> 2] != 2) {
+              break o;
+             }
+             q[u >> 2] = d;
+             break o;
+            }
+            if (!be(h, 1402)) {
+             Q = A, S = de(j, 0), v[Q >> 3] = S;
+             break o;
+            }
+            if (!be(h, 1411)) {
+             Q = B, R = T_(j), q[Q >> 2] = R;
+             break o;
+            }
+            if (!be(h, 1416)) {
+             Q = C, R = T_(j), q[Q >> 2] = R;
+             break o;
+            }
+            if (!be(h, 1423)) {
+             Q = D, R = T_(j), q[Q >> 2] = R;
+             break o;
+            }
+            if (!be(h, 1433)) {
+             Q = E, R = T_(j), q[Q >> 2] = R;
+             break o;
+            }
+            if (!be(h, 1443)) {
+             Q = G, S = de(j, 0), v[Q >> 3] = S;
+             break o;
+            }
+            if (!be(h, 1451)) {
+             Q = H, S = de(j, 0), v[Q >> 3] = S;
+             break o;
+            }
+            if (!be(h, 1457)) {
+             Q = I, R = T_(j), q[Q >> 2] = R;
+             break o;
+            }
+            if (!be(h, 1469)) {
+             d = T_(j);
+             q[m >> 2] = d;
+             if (q[a + 32 >> 2] == 1) {
+              Q = m, R = Xd(d), q[Q >> 2] = R;
+              break o;
+             }
+             d = d + -4 | 0;
+             if (d >>> 0 > 4) {
+              break o;
+             }
+             p : {
+              switch (d - 1 | 0) {
+              case 3:
+               q[m >> 2] = 3;
+               break o;
+              case 0:
+              case 1:
+              case 2:
+               break o;
+              default:
+               break p;
+              }
+             }
+             q[m >> 2] = 11;
+             break o;
+            }
+            if (!be(h, 1487)) {
+             Q = K, R = T_(j), q[Q >> 2] = R;
+             break o;
+            }
+            if (!be(h, 1495)) {
+             Q = L, R = T_(j), q[Q >> 2] = R;
+             break o;
+            }
+            if (!be(h, 1503)) {
+             Q = M, R = T_(j), q[Q >> 2] = R;
+             break o;
+            }
+            if (!be(h, 1511)) {
+             Q = N, R = T_(j), q[Q >> 2] = R;
+             break o;
+            }
+            if (!be(h, 1520)) {
+             Q = p, S = de(j, 0), v[Q >> 3] = S;
+             break o;
+            }
+            if (!be(h, 1527)) {
+             Q = n, S = de(j, 0), v[Q >> 3] = S;
+             break o;
+            }
+            if (!be(h, 1534)) {
+             Q = O, S = de(j, 0), v[Q >> 3] = S;
+             break o;
+            }
+            if (be(h, 1542)) {
+             break o;
+            }
+            Q = P, S = de(j, 0), v[Q >> 3] = S;
+           }
+           q[f + 92 >> 2] = c;
+           Nd(f + 92 | 0);
+           h = q[f + 92 >> 2];
+           d = r[h | 0];
+           if (d) {
+            continue;
+           }
+           break;
+          }
+         }
+         k = v[p >> 3];
+         v[p >> 3] = (k > 0 ? k : 0) / 100;
+         k = v[n >> 3];
+         v[n >> 3] = (k > 0 ? k : 0) / 100;
+         q[g + 32 >> 2] = q[g + 32 >> 2] != 0;
+         q[g + 36 >> 2] = q[g + 36 >> 2] != 0;
+         q[g + 40 >> 2] = q[g + 40 >> 2] != 0;
+         q[g + 44 >> 2] = q[g + 44 >> 2] != 0;
+         k = v[g + 64 >> 3];
+         v[g + 64 >> 3] = k > 0 ? k : 0;
+         k = v[g + 88 >> 3];
+         v[g + 88 >> 3] = k > 0 ? k : 0;
+         k = v[g + 96 >> 3];
+         v[g + 96 >> 3] = k > 0 ? k : 0;
+         if (!q[g >> 2]) {
+          Q = g, R = mZ(2498), q[Q >> 2] = R;
+         }
+         if (!q[g + 4 >> 2]) {
+          Q = g, R = mZ(2506), q[Q + 4 >> 2] = R;
+         }
+         M$(s);
+         break f;
+        case 1:
+         q[f + 92 >> 2] = e;
+         if (!jZ(e, 2032, 7)) {
+          q[f + 88 >> 2] = e + 7;
+          Nd(f + 88 | 0);
+          M$(q[a + 28 >> 2]);
+          c = mZ(q[f + 88 >> 2]);
+          q[a + 28 >> 2] = c;
+          e = q[a + 84 >> 2];
+          q[f + 32 >> 2] = c;
+          Yd(e, 7, 2512, f + 32 | 0);
+          break f;
+         }
+         if (!jZ(e, 2529, 9)) {
+          q[f + 92 >> 2] = e + 9;
+          Nd(f + 92 | 0);
+          c = q[a + 8 >> 2];
+          e = q[a + 12 >> 2];
+          if ((c | 0) > (e | 0)) {
+           break e;
+          }
+          q : {
+           if ((c | 0) != (e | 0)) {
+            e = q[a + 20 >> 2];
+            break q;
+           }
+           c = c << 1 | 1;
+           q[a + 12 >> 2] = c;
+           e = O$(q[a + 20 >> 2], w(c, 56));
+           q[a + 20 >> 2] = e;
+           c = q[a + 8 >> 2];
+          }
+          q[a + 8 >> 2] = c + 1;
+          i = e;
+          e = w(c, 56);
+          c = i + e | 0;
+          q[c >> 2] = 0;
+          q[c + 4 >> 2] = 0;
+          q[c + 48 >> 2] = 0;
+          q[c + 52 >> 2] = 0;
+          q[c + 40 >> 2] = 0;
+          q[c + 44 >> 2] = 0;
+          q[c + 32 >> 2] = 0;
+          q[c + 36 >> 2] = 0;
+          q[c + 24 >> 2] = 0;
+          q[c + 28 >> 2] = 0;
+          q[c + 16 >> 2] = 0;
+          q[c + 20 >> 2] = 0;
+          q[c + 8 >> 2] = 0;
+          q[c + 12 >> 2] = 0;
+          c = e + q[a + 20 >> 2] | 0;
+          if (!q[a + 28 >> 2]) {
+           q[q[a + 88 >> 2] >> 2] = 3;
+           Q = a, R = mZ(q[a + 32 >> 2] == 2 ? 2716 : 2789), q[Q + 28 >> 2] = R;
+           Yd(q[a + 84 >> 2], 6, 2862, 0);
+          }
+          zd(a, c, q[f + 92 >> 2]);
+          break f;
+         }
+         c = q[a + 84 >> 2];
+         q[f + 48 >> 2] = e;
+         Yd(c, 6, 2539, f + 48 | 0);
+         break f;
+        case 2:
+         break g;
+        }
+       }
+       if (!jZ(e, 2563, 9)) {
+        q[f + 92 >> 2] = e + 9;
+        Nd(f + 92 | 0);
+        if (q[q[a + 88 >> 2] + 4 >> 2]) {
+         Ad(a);
+        }
+        c = mZ(q[f + 92 >> 2]);
+        q[q[a + 88 >> 2] + 4 >> 2] = c;
+        e = q[a + 84 >> 2];
+        q[f + 64 >> 2] = c;
+        Yd(e, 6, 2573, f - -64 | 0);
+        break f;
+       }
+       if (!q[c + 4 >> 2]) {
+        c = q[a + 84 >> 2];
+        q[f + 80 >> 2] = e;
+        Yd(c, 6, 2586, f + 80 | 0);
+        break f;
+       }
+       i = q[c + 16 >> 2];
+       d = g0(e);
+       h = q[c + 12 >> 2];
+       r : {
+        if ((i + d | 0) <= (h | 0)) {
+         c = q[c + 8 >> 2];
+         break r;
+        }
+        i = h + ((d | 0) > 102400 ? d : 102400) | 0;
+        q[c + 12 >> 2] = i;
+        c = O$(q[c + 8 >> 2], i);
+        i = q[a + 88 >> 2];
+        q[i + 8 >> 2] = c;
+        i = q[i + 16 >> 2];
+       }
+       Y$(c + i | 0, e, d);
+       c = q[a + 88 >> 2];
+       q[c + 16 >> 2] = d + q[c + 16 >> 2];
+      }
+      if (r[b | 0]) {
+       continue;
+      }
+     }
+     if (q[q[a + 88 >> 2] + 4 >> 2]) {
+      Ad(a);
+     }
+     Ca = f + 96 | 0;
+     return;
+    }
+    J(1208, 1186, 126, 1245);
+    F();
+   }
+   b = d + e | 0;
+   continue;
+  }
+  break;
+ }
+ J(1149, 1186, 104, 1192);
+ F();
+}
+function SH(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0;
+ A = Ca - 80 | 0;
+ Ca = A;
+ g = xH(b, c);
+ a : {
+  if (g) {
+   break a;
+  }
+  e = q[b + 2740 >> 2];
+  if (!(e & 1)) {
+   g = TH(b, q[d + 52 >> 2], d + 56 | 0, 0);
+   if (g) {
+    break a;
+   }
+   e = q[b + 2740 >> 2];
+  }
+  b : {
+   if (e & 2) {
+    break b;
+   }
+   g = TH(b, q[d + 9568 >> 2], d + 9572 | 0, 1);
+   if (g) {
+    break a;
+   }
+   if (r[(q[q[d + 36 >> 2] + 8 >> 2] + (a << 1) | 0) + 1 | 0] & 64) {
+    break b;
+   }
+   a = q[b + 1404 >> 2];
+   if ((a | 0) < 1) {
+    break b;
+   }
+   f = q[b + 1412 >> 2];
+   B = f + w(a, 44) | 0;
+   m = q[d + 9560 >> 2];
+   while (1) {
+    a = Ee(t[d + 40 >> 2] / 40 | 0, m);
+    c : {
+     if (!q[d + 9776 >> 2]) {
+      break c;
+     }
+     e = (a | 0) < 32 ? a : 32;
+     a = 0;
+     l = 0;
+     g = 0;
+     while (1) {
+      h = w(a, 36) + d | 0;
+      k = q[h + 9812 >> 2];
+      d : {
+       if (!(k & 1)) {
+        break d;
+       }
+       y = k >>> 3 & 1;
+       i = (k & 6) != 0;
+       if (i ^ q[b + 1416 >> 2] != o[f + 13 | 0] ? !y : 0) {
+        break d;
+       }
+       j = h + 9780 | 0;
+       n = p[f >> 1] - q[j >> 2] | 0;
+       k = n >> 31;
+       n = Ee(k ^ k + n, m);
+       k = (n | 0) < (e | 0);
+       e = k ? n : e;
+       l = k ? j : l;
+       g = k ? y : g;
+       if (!(o[f + 12 | 0] & 1) | (!n | y)) {
+        break d;
+       }
+       k = p[f >> 1];
+       if ((i | 0) == (q[j >> 2] > (k | 0) | 0)) {
+        break d;
+       }
+       h = h + 9792 | 0;
+       i = k - q[h >> 2] | 0;
+       k = i >> 31;
+       i = Ee(k ^ k + i, m);
+       k = (i | 0) < (e | 0);
+       e = k ? i : e;
+       l = k ? h : l;
+       g = k ? 0 : g;
+      }
+      a = a + 1 | 0;
+      if (a >>> 0 < t[d + 9776 >> 2]) {
+       continue;
+      }
+      break;
+     }
+     if (!l) {
+      break c;
+     }
+     q[f + 20 >> 2] = l;
+     if (!(g & 255)) {
+      break c;
+     }
+     o[f + 12 | 0] = r[f + 12 | 0] | 8;
+    }
+    f = f + 44 | 0;
+    if (f >>> 0 < B >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = 0;
+  while (1) {
+   e : {
+    k = a;
+    f : {
+     g : {
+      h : {
+       i : {
+        j : {
+         if (!a) {
+          a = q[b + 2740 >> 2];
+          if (!(q[d + 24 >> 2] | a & 8)) {
+           AH(A + 16 | 0, b, A + 12 | 0, A + 8 | 0);
+           e = q[b + 24 >> 2];
+           if ((e | 0) < 1) {
+            break f;
+           }
+           a = q[b + 28 >> 2];
+           e = a + w(e, 40) | 0;
+           g = q[A + 8 >> 2];
+           m = q[A + 12 >> 2];
+           while (1) {
+            D = a, E = Ee(p[a + 12 >> 1], m) + g | 0, q[D + 16 >> 2] = E;
+            a = a + 40 | 0;
+            if (a >>> 0 < e >>> 0) {
+             continue;
+            }
+            break;
+           }
+           break f;
+          }
+          if (a & 1) {
+           break f;
+          }
+          m = q[b + 64 >> 2];
+          y = q[b + 56 >> 2];
+          n = m + w(y, 44) | 0;
+          B = 0;
+          l = 0;
+          break j;
+         }
+         if (r[b + 2740 | 0] & 2) {
+          break e;
+         }
+         l = 0;
+         a = w(k, 1348) + b | 0;
+         y = q[a + 56 >> 2];
+         if ((y | 0) <= 0) {
+          break i;
+         }
+         m = q[a - -64 >> 2];
+         n = m + w(y, 44) | 0;
+         B = r[q[(q[q[q[b + 2748 >> 2] >> 2] + 8 >> 2] << 2) + 283840 >> 2] + 12 | 0];
+         a = m;
+         while (1) {
+          g = r[a + 12 | 0];
+          k : {
+           if (g & 4) {
+            break k;
+           }
+           e = q[a + 24 >> 2];
+           f = q[a + 20 >> 2];
+           l : {
+            m : {
+             if (!e | !f) {
+              break m;
+             }
+             if (!q[e + 20 >> 2]) {
+              g = a;
+              break l;
+             }
+             h = r[e + 12 | 0];
+             if (h & 8) {
+              q[e + 20 >> 2] = 0;
+              o[e + 12 | 0] = h & 247;
+              f = q[a + 20 >> 2];
+              break m;
+             }
+             if (!(g & 8)) {
+              g = a;
+              break l;
+             }
+             f = 0;
+             q[a + 20 >> 2] = 0;
+             o[a + 12 | 0] = g & 247;
+            }
+            if (!(!e | f)) {
+             f = q[e + 20 >> 2];
+             g = e;
+             e = a;
+             if (f) {
+              break l;
+             }
+             break k;
+            }
+            g = a;
+            if (!f) {
+             break k;
+            }
+           }
+           f = q[f + 8 >> 2];
+           q[g + 8 >> 2] = f;
+           h = r[g + 12 | 0] | 4;
+           o[g + 12 | 0] = h;
+           if (!(q[e + 20 >> 2] | !e)) {
+            g = q[g + 4 >> 2];
+            i = q[e + 4 >> 2] - g | 0;
+            j = f - g | 0;
+            g = r[e + 12 | 0];
+            h = UH(b, 1, i, j, h & 255, g);
+            o[e + 12 | 0] = g | 4;
+            q[e + 8 >> 2] = f + h;
+           }
+           l = l ? l : a;
+          }
+          a = a + 44 | 0;
+          if (a >>> 0 < n >>> 0) {
+           continue;
+          }
+          break;
+         }
+        }
+        n : {
+         if ((y | 0) < 1) {
+          g = 0;
+          a = 0;
+          break n;
+         }
+         g = 0;
+         a = m;
+         while (1) {
+          i = r[a + 12 | 0];
+          o : {
+           if (i & 4) {
+            break o;
+           }
+           f = q[a + 24 >> 2];
+           if (!f) {
+            g = g + 1 | 0;
+            break o;
+           }
+           if (q[f + 20 >> 2]) {
+            e = q[f + 4 >> 2];
+            h = q[f + 8 >> 2];
+            e = UH(b, k, q[a + 4 >> 2] - e | 0, h - e | 0, r[f + 12 | 0], i);
+            o[a + 12 | 0] = i | 4;
+            q[a + 8 >> 2] = e + h;
+            break o;
+           }
+           if (!l) {
+            e = q[a + 4 >> 2];
+            h = q[f + 4 >> 2] - e | 0;
+            l = UH(b, k, h, 0, i, r[f + 12 | 0]);
+            p : {
+             if ((l | 0) <= 95) {
+              j = e + (h >> 1) | 0;
+              x = j + 32 & -64;
+              z = (l | 0) < 65;
+              v = x - (z ? 32 : 38) | 0;
+              C = j - v | 0;
+              u = C >> 31;
+              x = x | (z ? 32 : 26);
+              z = j - x | 0;
+              j = z >> 31;
+              j = ((u ^ u + C) < (j ^ j + z) ? v : x) - ((l | 0) / 2 | 0) | 0;
+              q[a + 8 >> 2] = j;
+              q[f + 8 >> 2] = l + j;
+              l = q[a + 8 >> 2];
+              break p;
+             }
+             l = e + 32 & -64;
+             q[a + 8 >> 2] = l;
+            }
+            i = i | 4;
+            o[a + 12 | 0] = i;
+            D = f, E = UH(b, k, h, l - e | 0, i, r[f + 12 | 0]) + l | 0, q[D + 8 >> 2] = E;
+            l = a;
+            break o;
+           }
+           h = q[l + 4 >> 2];
+           v = q[l + 8 >> 2];
+           u = q[a + 4 >> 2];
+           j = q[f + 4 >> 2] - u | 0;
+           x = r[f + 12 | 0];
+           e = UH(b, k, j, 0, i, x);
+           q : {
+            if (x & 4) {
+             h = q[f + 8 >> 2] - e | 0;
+             e = a;
+             break q;
+            }
+            v = v + (u - h | 0) | 0;
+            h = v + (j >> 1) | 0;
+            r : {
+             if ((e | 0) <= 95) {
+              v = h + 32 & -64;
+              u = (e | 0) < 65;
+              x = v - (u ? 32 : 38) | 0;
+              z = h - x | 0;
+              j = z >> 31;
+              v = v | (u ? 32 : 26);
+              u = h - v | 0;
+              h = u >> 31;
+              h = (j ^ j + z) < (h ^ h + u) ? x : v;
+              e = (e | 0) / 2 | 0;
+              q[a + 8 >> 2] = h - e;
+              e = e + h | 0;
+              break r;
+             }
+             u = v + 32 | 0;
+             x = u & -64;
+             z = e >>> 1 | 0;
+             C = (x + z | 0) - h | 0;
+             v = C >> 31;
+             j = (j + u & -64) - e | 0;
+             u = j + (z - h | 0) | 0;
+             h = u >> 31;
+             h = (v ^ v + C) < (h ^ h + u) ? x : j;
+             q[a + 8 >> 2] = h;
+             e = e + h | 0;
+            }
+            h = e;
+            e = f;
+           }
+           q[e + 8 >> 2] = h;
+           o[a + 12 | 0] = i | 4;
+           o[f + 12 | 0] = r[f + 12 | 0] | 4;
+           if (a >>> 0 <= m >>> 0) {
+            break o;
+           }
+           e = q[a + -36 >> 2];
+           h = q[a + 8 >> 2];
+           s : {
+            if (B) {
+             if ((h | 0) > (e | 0)) {
+              break s;
+             }
+             break o;
+            }
+            if ((h | 0) >= (e | 0)) {
+             break o;
+            }
+           }
+           h = q[f + 8 >> 2] - e | 0;
+           f = h >> 31;
+           if ((f ^ f + h) < 17) {
+            break o;
+           }
+           q[a + 8 >> 2] = e;
+          }
+          a = a + 44 | 0;
+          if (a >>> 0 < n >>> 0) {
+           continue;
+          }
+          break;
+         }
+         a = 1;
+        }
+        t : {
+         if (k) {
+          break t;
+         }
+         i = y + -6 | 0;
+         if (i >>> 0 > 6) {
+          break t;
+         }
+         e = 4;
+         h = 2;
+         f = m;
+         u : {
+          switch (i - 1 | 0) {
+          case 5:
+           f = m + 44 | 0;
+           e = 9;
+           h = 5;
+           break;
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+           break t;
+          default:
+           break u;
+          }
+         }
+         i = w(h, 44) + m | 0;
+         h = q[i + 4 >> 2];
+         e = w(e, 44) + m | 0;
+         j = h - q[e + 4 >> 2] + (h - q[f + 4 >> 2]) | 0;
+         h = j >> 31;
+         if ((h ^ h + j) > 7) {
+          break t;
+         }
+         h = q[e + 8 >> 2];
+         f = (q[i + 8 >> 2] << 1) - q[f + 8 >> 2] | 0;
+         q[e + 8 >> 2] = f;
+         h = h - f | 0;
+         f = q[e + 24 >> 2];
+         if (f) {
+          q[f + 8 >> 2] = q[f + 8 >> 2] - h;
+         }
+         if ((y | 0) == 12) {
+          i = m + 360 | 0;
+          q[i >> 2] = q[i >> 2] - h;
+          i = m + 492 | 0;
+          q[i >> 2] = q[i >> 2] - h;
+         }
+         o[e + 12 | 0] = r[e + 12 | 0] | 4;
+         if (!f) {
+          break t;
+         }
+         o[f + 12 | 0] = r[f + 12 | 0] | 4;
+        }
+        if ((a & (!l | (g | 0) != 0)) == 1) {
+         a = m;
+         while (1) {
+          h = r[a + 12 | 0];
+          v : {
+           if (h & 4) {
+            break v;
+           }
+           y = a;
+           w : {
+            x : {
+             y : {
+              e = q[a + 28 >> 2];
+              if (!e) {
+               break y;
+              }
+              f = q[e + 4 >> 2];
+              i = q[a + 4 >> 2];
+              j = f - i | 0;
+              g = j >> 31;
+              if ((g ^ g + j) > 79) {
+               break y;
+              }
+              e = q[e + 8 >> 2] + (i - f | 0) | 0;
+              break x;
+             }
+             e = a;
+             if (!l) {
+              e = q[a + 4 >> 2] + 32 & -64;
+              q[a + 8 >> 2] = e;
+              l = a;
+              break w;
+             }
+             z : {
+              while (1) {
+               g = e;
+               e = e + -44 | 0;
+               f = 0;
+               if (e >>> 0 < m >>> 0) {
+                break z;
+               }
+               if (!(r[g + -32 | 0] & 4)) {
+                continue;
+               }
+               break;
+              }
+              f = 1;
+             }
+             j = f;
+             f = a;
+             A : {
+              while (1) {
+               i = f;
+               f = f + 44 | 0;
+               if (f >>> 0 >= n >>> 0) {
+                break A;
+               }
+               if (!(r[i + 56 | 0] & 4)) {
+                continue;
+               }
+               break;
+              }
+              if (j ^ 1 | e >>> 0 >= a >>> 0 | f >>> 0 <= a >>> 0) {
+               break A;
+              }
+              f = q[g + -36 >> 2];
+              e = f;
+              j = q[i + 48 >> 2];
+              g = q[g + -40 >> 2];
+              if ((j | 0) == (g | 0)) {
+               break x;
+              }
+              e = ue(q[a + 4 >> 2] - g | 0, q[i + 52 >> 2] - f | 0, j - g | 0) + f | 0;
+              q[a + 8 >> 2] = e;
+              h = r[a + 12 | 0];
+              break w;
+             }
+             e = q[l + 8 >> 2] + ((q[a + 4 >> 2] - q[l + 4 >> 2] | 0) + 16 & -32) | 0;
+            }
+            q[y + 8 >> 2] = e;
+           }
+           o[a + 12 | 0] = h | 4;
+           B : {
+            if (a >>> 0 <= m >>> 0) {
+             break B;
+            }
+            g = q[a + -36 >> 2];
+            C : {
+             if (B) {
+              if ((e | 0) > (g | 0)) {
+               break C;
+              }
+              break B;
+             }
+             if ((e | 0) >= (g | 0)) {
+              break B;
+             }
+            }
+            f = q[a + 24 >> 2];
+            if (!f) {
+             break B;
+            }
+            h = q[f + 8 >> 2] - g | 0;
+            f = h >> 31;
+            if ((f ^ f + h) < 17) {
+             break B;
+            }
+            q[a + 8 >> 2] = g;
+            e = g;
+           }
+           if (!(r[a + 56 | 0] & 4) | a + 44 >>> 0 >= n >>> 0) {
+            break v;
+           }
+           g = q[a + 52 >> 2];
+           D : {
+            if (B) {
+             if ((e | 0) < (g | 0)) {
+              break D;
+             }
+             break v;
+            }
+            if ((e | 0) <= (g | 0)) {
+             break v;
+            }
+           }
+           e = q[a + 24 >> 2];
+           if (!e) {
+            break v;
+           }
+           f = q[e + 8 >> 2] - q[a + -36 >> 2] | 0;
+           e = f >> 31;
+           if ((e ^ e + f) < 17) {
+            break v;
+           }
+           q[a + 8 >> 2] = g;
+          }
+          a = a + 44 | 0;
+          if (a >>> 0 < n >>> 0) {
+           continue;
+          }
+          break;
+         }
+        }
+        a = w(k, 1348) + b | 0;
+        g = q[a + 52 >> 2];
+        a = q[a + 44 >> 2];
+        e = g + w(a, 44) | 0;
+        if (k) {
+         if ((a | 0) <= 0) {
+          break g;
+         }
+         break h;
+        }
+        if ((a | 0) < 1) {
+         break g;
+        }
+        while (1) {
+         a = q[g + 12 >> 2];
+         if (a) {
+          n = g + 36 | 0;
+          m = q[a + 8 >> 2];
+          f = q[g + 40 >> 2];
+          while (1) {
+           a = q[n >> 2];
+           q[a + 16 >> 2] = m;
+           p[a >> 1] = s[a >> 1] | 4;
+           n = a + 32 | 0;
+           if ((a | 0) != (f | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         g = g + 44 | 0;
+         if (g >>> 0 < e >>> 0) {
+          continue;
+         }
+         break;
+        }
+        break g;
+       }
+       e = q[a + 44 >> 2];
+       if ((e | 0) < 1) {
+        break g;
+       }
+       g = q[a + 52 >> 2];
+       e = g + w(e, 44) | 0;
+      }
+      while (1) {
+       a = q[g + 12 >> 2];
+       if (a) {
+        n = g + 36 | 0;
+        m = q[a + 8 >> 2];
+        f = q[g + 40 >> 2];
+        while (1) {
+         a = q[n >> 2];
+         q[a + 20 >> 2] = m;
+         p[a >> 1] = s[a >> 1] | 8;
+         n = a + 32 | 0;
+         if ((a | 0) != (f | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       g = g + 44 | 0;
+       if (g >>> 0 < e >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     DH(b, k);
+     EH(b, k);
+    }
+    a = 1;
+    if (!k) {
+     continue;
+    }
+   }
+   break;
+  }
+  d = q[b + 24 >> 2];
+  if ((d | 0) < 1) {
+   g = 0;
+   break a;
+  }
+  a = q[b + 28 >> 2];
+  b = a + w(d, 40) | 0;
+  n = q[c + 4 >> 2];
+  e = q[c + 8 >> 2];
+  while (1) {
+   q[n >> 2] = q[a + 16 >> 2];
+   q[n + 4 >> 2] = q[a + 20 >> 2];
+   g = 0;
+   c = s[a >> 1];
+   o[e | 0] = c & 1 ? 0 : c & 2 ? 2 : 1;
+   e = e + 1 | 0;
+   n = n + 8 | 0;
+   a = a + 40 | 0;
+   if (a >>> 0 < b >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = A + 80 | 0;
+ return g | 0;
+}
+function xB(a, b, c) {
+ var d = 0, e = 0, h = 0, i = 0, j = 0, k = 0;
+ k = Ca - 32 | 0;
+ Ca = k;
+ q[k + 20 >> 2] = 0;
+ q[k + 12 >> 2] = 0;
+ q[k + 16 >> 2] = 0;
+ q[k + 24 >> 2] = q[b + 48 >> 2] + (q[c >> 2] ^ -1);
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      if (a >>> 0 > 293) {
+       break e;
+      }
+      f : {
+       switch (a - 5 | 0) {
+       default:
+        d = q[b + 24 >> 2];
+        g : {
+         if (d) {
+          d = d + -1 | 0;
+          q[b + 24 >> 2] = d;
+          if (t[b + 32 >> 2] <= d >>> 0) {
+           d = q[67761];
+           e = q[67760];
+           q[160656] = e;
+           q[160657] = d;
+           f(0, e | 0);
+           f(1, d | 0);
+           h = +g();
+           break g;
+          }
+          h = v[q[b + 36 >> 2] + (d << 3) >> 3];
+          break g;
+         }
+         o[b + 20 | 0] = 1;
+         d = q[67761];
+         e = q[67760];
+         q[160656] = e;
+         q[160657] = d;
+         f(0, e | 0);
+         f(1, d | 0);
+         h = +g();
+        }
+        h : {
+         if (y(h) < 2147483648) {
+          e = ~~h;
+          break h;
+         }
+         e = -2147483648;
+        }
+        if ((e | 0) <= -1) {
+         o[b + 20 | 0] = 1;
+         e = 0;
+        }
+        d = a + -1 | 0;
+        if (d >>> 0 <= 3) {
+         break d;
+        }
+        d = 0;
+        i = a + -256 | 0;
+        if (i >>> 0 > 22) {
+         break c;
+        }
+        i : {
+         switch (i - 1 | 0) {
+         default:
+          d = 2;
+          break c;
+         case 20:
+          d = 6;
+          break c;
+         case 21:
+          break i;
+         case 0:
+         case 1:
+         case 2:
+         case 3:
+         case 4:
+         case 5:
+         case 6:
+         case 7:
+         case 8:
+         case 9:
+         case 10:
+         case 11:
+         case 12:
+         case 13:
+         case 14:
+         case 15:
+         case 16:
+         case 17:
+         case 18:
+         case 19:
+          break c;
+         }
+        }
+        d = 8;
+        break c;
+       case 0:
+       case 8:
+       case 9:
+       case 252:
+       case 253:
+       case 254:
+       case 255:
+       case 256:
+       case 257:
+       case 259:
+       case 271:
+       case 274:
+       case 282:
+       case 283:
+       case 284:
+       case 286:
+        q[b + 24 >> 2] = 0;
+        break b;
+       case 285:
+        e = c;
+        d = q[b + 24 >> 2];
+        j : {
+         if (d) {
+          d = d + -1 | 0;
+          q[b + 24 >> 2] = d;
+          if (t[b + 32 >> 2] <= d >>> 0) {
+           d = q[67761];
+           i = q[67760];
+           q[160656] = i;
+           q[160657] = d;
+           f(0, i | 0);
+           f(1, d | 0);
+           h = +g();
+           break j;
+          }
+          h = v[q[b + 36 >> 2] + (d << 3) >> 3];
+          break j;
+         }
+         o[b + 20 | 0] = 1;
+         d = q[67761];
+         i = q[67760];
+         q[160656] = i;
+         q[160657] = d;
+         f(0, i | 0);
+         f(1, d | 0);
+         h = +g();
+        }
+        k : {
+         if (y(h) < 2147483648) {
+          d = ~~h;
+          break k;
+         }
+         d = -2147483648;
+        }
+        if ((d | 0) <= -1) {
+         o[b + 20 | 0] = 1;
+         d = 0;
+        }
+        q[e + 76 >> 2] = d;
+        q[b + 24 >> 2] = 0;
+        break b;
+       case 281:
+        i = c;
+        d = q[b + 24 >> 2];
+        l : {
+         if (d) {
+          e = d + -1 | 0;
+          q[b + 24 >> 2] = e;
+          if (t[b + 32 >> 2] <= e >>> 0) {
+           d = q[67761];
+           j = q[67760];
+           q[160656] = j;
+           q[160657] = d;
+           f(0, j | 0);
+           f(1, d | 0);
+           h = +g();
+           break l;
+          }
+          h = v[q[b + 36 >> 2] + (e << 3) >> 3];
+          break l;
+         }
+         o[b + 20 | 0] = 1;
+         d = q[67761];
+         j = q[67760];
+         q[160656] = j;
+         q[160657] = d;
+         f(0, j | 0);
+         f(1, d | 0);
+         h = +g();
+        }
+        m : {
+         if (y(h) < 2147483648) {
+          d = ~~h;
+          break m;
+         }
+         d = -2147483648;
+        }
+        if ((d | 0) <= -1) {
+         o[b + 20 | 0] = 1;
+         d = 0;
+        }
+        q[i + 72 >> 2] = d;
+        i = c - -64 | 0;
+        n : {
+         if (e) {
+          d = e + -1 | 0;
+          q[b + 24 >> 2] = d;
+          if (t[b + 32 >> 2] <= d >>> 0) {
+           d = q[67761];
+           e = q[67760];
+           q[160656] = e;
+           q[160657] = d;
+           f(0, e | 0);
+           f(1, d | 0);
+           h = +g();
+           break n;
+          }
+          h = v[q[b + 36 >> 2] + (d << 3) >> 3];
+          break n;
+         }
+         o[b + 20 | 0] = 1;
+         d = q[67761];
+         e = q[67760];
+         q[160656] = e;
+         q[160657] = d;
+         f(0, e | 0);
+         f(1, d | 0);
+         h = +g();
+        }
+        o : {
+         if (y(h) < 2147483648) {
+          d = ~~h;
+          break o;
+         }
+         d = -2147483648;
+        }
+        if ((d | 0) <= -1) {
+         o[b + 20 | 0] = 1;
+         d = 0;
+        }
+        q[i >> 2] = d;
+        e = c;
+        d = q[b + 24 >> 2];
+        p : {
+         if (d) {
+          d = d + -1 | 0;
+          q[b + 24 >> 2] = d;
+          if (t[b + 32 >> 2] <= d >>> 0) {
+           d = q[67761];
+           i = q[67760];
+           q[160656] = i;
+           q[160657] = d;
+           f(0, i | 0);
+           f(1, d | 0);
+           h = +g();
+           break p;
+          }
+          h = v[q[b + 36 >> 2] + (d << 3) >> 3];
+          break p;
+         }
+         o[b + 20 | 0] = 1;
+         d = q[67761];
+         i = q[67760];
+         q[160656] = i;
+         q[160657] = d;
+         f(0, i | 0);
+         f(1, d | 0);
+         h = +g();
+        }
+        q : {
+         if (y(h) < 2147483648) {
+          d = ~~h;
+          break q;
+         }
+         d = -2147483648;
+        }
+        if ((d | 0) <= -1) {
+         o[b + 20 | 0] = 1;
+         d = 0;
+        }
+        q[e + 60 >> 2] = d;
+        q[b + 24 >> 2] = 0;
+        break b;
+       case 11:
+        d = q[b + 24 >> 2];
+        r : {
+         if (d) {
+          d = d + -1 | 0;
+          q[b + 24 >> 2] = d;
+          if (t[b + 32 >> 2] <= d >>> 0) {
+           d = q[67761];
+           e = q[67760];
+           q[160656] = e;
+           q[160657] = d;
+           f(0, e | 0);
+           f(1, d | 0);
+           h = +g();
+           break r;
+          }
+          h = v[q[b + 36 >> 2] + (d << 3) >> 3];
+          break r;
+         }
+         o[b + 20 | 0] = 1;
+         d = q[67761];
+         e = q[67760];
+         q[160656] = e;
+         q[160657] = d;
+         f(0, e | 0);
+         f(1, d | 0);
+         h = +g();
+        }
+        s : {
+         if (y(h) < 2147483648) {
+          d = ~~h;
+          break s;
+         }
+         d = -2147483648;
+        }
+        if ((d | 0) <= -1) {
+         o[b + 20 | 0] = 1;
+         q[c + 80 >> 2] = 0;
+         q[b + 24 >> 2] = 0;
+         break a;
+        }
+        q[c + 80 >> 2] = d;
+        q[b + 24 >> 2] = 0;
+        if (d) {
+         break b;
+        }
+        break a;
+       case 10:
+        d = q[b + 24 >> 2];
+        t : {
+         if (d) {
+          d = d + -1 | 0;
+          q[b + 24 >> 2] = d;
+          if (t[b + 32 >> 2] <= d >>> 0) {
+           d = q[67761];
+           e = q[67760];
+           q[160656] = e;
+           q[160657] = d;
+           f(0, e | 0);
+           f(1, d | 0);
+           h = +g();
+           break t;
+          }
+          h = v[q[b + 36 >> 2] + (d << 3) >> 3];
+          break t;
+         }
+         o[b + 20 | 0] = 1;
+         d = q[67761];
+         e = q[67760];
+         q[160656] = e;
+         q[160657] = d;
+         f(0, e | 0);
+         f(1, d | 0);
+         h = +g();
+        }
+        u : {
+         if (y(h) < 2147483648) {
+          d = ~~h;
+          break u;
+         }
+         d = -2147483648;
+        }
+        if ((d | 0) <= -1) {
+         o[b + 20 | 0] = 1;
+         q[c + 84 >> 2] = 0;
+         q[b + 24 >> 2] = 0;
+         break a;
+        }
+        q[c + 84 >> 2] = d;
+        q[b + 24 >> 2] = 0;
+        if (d) {
+         break b;
+        }
+        break a;
+       case 288:
+        e = c;
+        d = q[b + 24 >> 2];
+        v : {
+         if (d) {
+          d = d + -1 | 0;
+          q[b + 24 >> 2] = d;
+          if (t[b + 32 >> 2] <= d >>> 0) {
+           d = q[67761];
+           i = q[67760];
+           q[160656] = i;
+           q[160657] = d;
+           f(0, i | 0);
+           f(1, d | 0);
+           h = +g();
+           break v;
+          }
+          h = v[q[b + 36 >> 2] + (d << 3) >> 3];
+          break v;
+         }
+         o[b + 20 | 0] = 1;
+         d = q[67761];
+         i = q[67760];
+         q[160656] = i;
+         q[160657] = d;
+         f(0, i | 0);
+         f(1, d | 0);
+         h = +g();
+        }
+        w : {
+         if (y(h) < 2147483648) {
+          d = ~~h;
+          break w;
+         }
+         d = -2147483648;
+        }
+        if ((d | 0) <= -1) {
+         o[b + 20 | 0] = 1;
+         d = 0;
+        }
+        q[e + 88 >> 2] = d;
+        q[b + 24 >> 2] = 0;
+        break b;
+       case 1:
+       case 2:
+       case 3:
+       case 4:
+       case 5:
+       case 6:
+       case 7:
+       case 12:
+       case 14:
+       case 15:
+       case 16:
+       case 17:
+       case 18:
+       case 19:
+       case 20:
+       case 21:
+       case 22:
+       case 23:
+       case 24:
+       case 25:
+       case 26:
+       case 27:
+       case 28:
+       case 29:
+       case 30:
+       case 31:
+       case 32:
+       case 33:
+       case 34:
+       case 35:
+       case 36:
+       case 37:
+       case 38:
+       case 39:
+       case 40:
+       case 41:
+       case 42:
+       case 43:
+       case 44:
+       case 45:
+       case 46:
+       case 47:
+       case 48:
+       case 49:
+       case 50:
+       case 51:
+       case 52:
+       case 53:
+       case 54:
+       case 55:
+       case 56:
+       case 57:
+       case 58:
+       case 59:
+       case 60:
+       case 61:
+       case 62:
+       case 63:
+       case 64:
+       case 65:
+       case 66:
+       case 67:
+       case 68:
+       case 69:
+       case 70:
+       case 71:
+       case 72:
+       case 73:
+       case 74:
+       case 75:
+       case 76:
+       case 77:
+       case 78:
+       case 79:
+       case 80:
+       case 81:
+       case 82:
+       case 83:
+       case 84:
+       case 85:
+       case 86:
+       case 87:
+       case 88:
+       case 89:
+       case 90:
+       case 91:
+       case 92:
+       case 93:
+       case 94:
+       case 95:
+       case 96:
+       case 97:
+       case 98:
+       case 99:
+       case 100:
+       case 101:
+       case 102:
+       case 103:
+       case 104:
+       case 105:
+       case 106:
+       case 107:
+       case 108:
+       case 109:
+       case 110:
+       case 111:
+       case 112:
+       case 113:
+       case 114:
+       case 115:
+       case 116:
+       case 117:
+       case 118:
+       case 119:
+       case 120:
+       case 121:
+       case 122:
+       case 123:
+       case 124:
+       case 125:
+       case 126:
+       case 127:
+       case 128:
+       case 129:
+       case 130:
+       case 131:
+       case 132:
+       case 133:
+       case 134:
+       case 135:
+       case 136:
+       case 137:
+       case 138:
+       case 139:
+       case 140:
+       case 141:
+       case 142:
+       case 143:
+       case 144:
+       case 145:
+       case 146:
+       case 147:
+       case 148:
+       case 149:
+       case 150:
+       case 151:
+       case 152:
+       case 153:
+       case 154:
+       case 155:
+       case 156:
+       case 157:
+       case 158:
+       case 159:
+       case 160:
+       case 161:
+       case 162:
+       case 163:
+       case 164:
+       case 165:
+       case 166:
+       case 167:
+       case 168:
+       case 169:
+       case 170:
+       case 171:
+       case 172:
+       case 173:
+       case 174:
+       case 175:
+       case 176:
+       case 177:
+       case 178:
+       case 179:
+       case 180:
+       case 181:
+       case 182:
+       case 183:
+       case 184:
+       case 185:
+       case 186:
+       case 187:
+       case 188:
+       case 189:
+       case 190:
+       case 191:
+       case 192:
+       case 193:
+       case 194:
+       case 195:
+       case 196:
+       case 197:
+       case 198:
+       case 199:
+       case 200:
+       case 201:
+       case 202:
+       case 203:
+       case 204:
+       case 205:
+       case 206:
+       case 207:
+       case 208:
+       case 209:
+       case 210:
+       case 211:
+       case 212:
+       case 213:
+       case 214:
+       case 215:
+       case 216:
+       case 217:
+       case 218:
+       case 219:
+       case 220:
+       case 221:
+       case 222:
+       case 223:
+       case 224:
+       case 225:
+       case 226:
+       case 227:
+       case 228:
+       case 229:
+       case 230:
+       case 231:
+       case 232:
+       case 233:
+       case 234:
+       case 235:
+       case 236:
+       case 237:
+       case 238:
+       case 239:
+       case 240:
+       case 241:
+       case 242:
+       case 243:
+       case 244:
+       case 245:
+       case 246:
+       case 247:
+       case 248:
+       case 249:
+       case 250:
+       case 258:
+       case 260:
+       case 261:
+       case 262:
+       case 263:
+       case 264:
+       case 265:
+       case 266:
+       case 267:
+       case 268:
+       case 269:
+       case 270:
+       case 275:
+       case 276:
+       case 277:
+       case 278:
+       case 279:
+       case 280:
+       case 287:
+        break e;
+       case 13:
+        break f;
+       }
+      }
+      i = c;
+      d = q[b + 24 >> 2];
+      x : {
+       if (d) {
+        e = d + -1 | 0;
+        q[b + 24 >> 2] = e;
+        if (t[b + 32 >> 2] <= e >>> 0) {
+         d = q[67761];
+         j = q[67760];
+         q[160656] = j;
+         q[160657] = d;
+         f(0, j | 0);
+         f(1, d | 0);
+         h = +g();
+         break x;
+        }
+        h = v[q[b + 36 >> 2] + (e << 3) >> 3];
+        break x;
+       }
+       o[b + 20 | 0] = 1;
+       d = q[67761];
+       j = q[67760];
+       q[160656] = j;
+       q[160657] = d;
+       f(0, j | 0);
+       f(1, d | 0);
+       h = +g();
+      }
+      y : {
+       if (y(h) < 2147483648) {
+        d = ~~h;
+        break y;
+       }
+       d = -2147483648;
+      }
+      if ((d | 0) <= -1) {
+       o[b + 20 | 0] = 1;
+       d = 0;
+      }
+      q[i + 92 >> 2] = d;
+      z : {
+       if (e) {
+        d = e + -1 | 0;
+        q[b + 24 >> 2] = d;
+        if (t[b + 32 >> 2] <= d >>> 0) {
+         d = q[67761];
+         e = q[67760];
+         q[160656] = e;
+         q[160657] = d;
+         f(0, e | 0);
+         f(1, d | 0);
+         h = +g();
+         break z;
+        }
+        h = v[q[b + 36 >> 2] + (d << 3) >> 3];
+        break z;
+       }
+       o[b + 20 | 0] = 1;
+       d = q[67761];
+       e = q[67760];
+       q[160656] = e;
+       q[160657] = d;
+       f(0, e | 0);
+       f(1, d | 0);
+       h = +g();
+      }
+      A : {
+       if (y(h) < 2147483648) {
+        d = ~~h;
+        break A;
+       }
+       d = -2147483648;
+      }
+      if ((d | 0) <= -1) {
+       o[b + 20 | 0] = 1;
+       d = 0;
+      }
+      q[i + 96 >> 2] = d;
+      q[b + 24 >> 2] = 0;
+      break b;
+     }
+     q[b + 48 >> 2] = q[b + 12 >> 2];
+     AB(a, b, c);
+     if (q[b + 24 >> 2]) {
+      break a;
+     }
+     break b;
+    }
+    B : {
+     switch (d - 1 | 0) {
+     case 2:
+      d = 5;
+      break c;
+     case 1:
+      d = 4;
+      break c;
+     case 0:
+      d = 3;
+      break c;
+     default:
+      break B;
+     }
+    }
+    d = 1;
+   }
+   q[((d << 2) + c | 0) + 24 >> 2] = e;
+   q[b + 24 >> 2] = 0;
+  }
+  if (r[b + 40 | 0] | r[b + 16 | 0] | (r[b + 20 | 0] | q[b + 28 >> 2] < 0)) {
+   break a;
+  }
+  BB(c, a, b, k + 8 | 0);
+ }
+ Ca = k + 32 | 0;
+}
+function oE(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, u = 0, v = 0;
+ m = Ca - 32 | 0;
+ Ca = m;
+ k = q[c + 88 >> 2];
+ l = q[a + 112 >> 2];
+ j = d + 3 | 0;
+ a : {
+  if (q[c + 52 >> 2] != 1265525857 | j >>> 0 > e >>> 0) {
+   break a;
+  }
+  a = w(d, 20) + k | 0;
+  if (r[a + 12 | 0] & 32 | r[a + 18 | 0] != 16) {
+   break a;
+  }
+  g = d + 1 | 0;
+  a = w(g, 20) + k | 0;
+  if (r[a + 12 | 0] & 32 | r[a + 18 | 0] != 4) {
+   break a;
+  }
+  f = w(d + 2 | 0, 20) + k | 0;
+  if (r[f + 12 | 0] & 32 | r[f + 18 | 0] != 6) {
+   break a;
+  }
+  wG(c, g, j);
+  n = m + 24 | 0;
+  g = a + 16 | 0;
+  q[n >> 2] = q[g >> 2];
+  h = a + 8 | 0;
+  u = q[h + 4 >> 2];
+  i = m + 16 | 0;
+  q[i >> 2] = q[h >> 2];
+  q[i + 4 >> 2] = u;
+  p = q[a + 4 >> 2];
+  q[m + 8 >> 2] = q[a >> 2];
+  q[m + 12 >> 2] = p;
+  p = f + 16 | 0;
+  q[g >> 2] = q[p >> 2];
+  g = f + 8 | 0;
+  v = q[g + 4 >> 2];
+  q[h >> 2] = q[g >> 2];
+  q[h + 4 >> 2] = v;
+  h = q[f + 4 >> 2];
+  q[a >> 2] = q[f >> 2];
+  q[a + 4 >> 2] = h;
+  q[p >> 2] = q[n >> 2];
+  a = q[i + 4 >> 2];
+  q[g >> 2] = q[i >> 2];
+  q[g + 4 >> 2] = a;
+  a = q[m + 12 >> 2];
+  q[f >> 2] = q[m + 8 >> 2];
+  q[f + 4 >> 2] = a;
+ }
+ h = q[l >> 2];
+ a = q[h + 20 >> 2];
+ b : {
+  c : {
+   d : {
+    e : {
+     if (!(!q[l + 80 >> 2] | j >>> 0 > e >>> 0)) {
+      i = 0;
+      if (a >>> 0 > 2) {
+       break c;
+      }
+      f : {
+       g : {
+        switch (a - 1 | 0) {
+        default:
+         f = w(d + 2 | 0, 20) + k | 0;
+         if (r[f + 12 | 0] & 32) {
+          break f;
+         }
+         f = r[f + 18 | 0];
+         if (f >>> 0 > 31) {
+          break f;
+         }
+         g = d;
+         j = e;
+         if (!(1 << f & 96)) {
+          break f;
+         }
+         break b;
+        case 1:
+         break e;
+        case 0:
+         break g;
+        }
+       }
+       j = e;
+       g = d;
+       if (r[(w(g, 20) + k | 0) + 58 | 0] != 6) {
+        break b;
+       }
+      }
+      f = w(d, 20) + k | 0;
+      q[m + 8 >> 2] = q[f >> 2];
+      q[m + 12 >> 2] = q[f + 20 >> 2];
+      h : {
+       i : {
+        if ((a | 0) == 1) {
+         q[m + 16 >> 2] = q[f + 40 >> 2];
+         a = l + 16 | 0;
+         if (q[a >> 2]) {
+          break i;
+         }
+         break d;
+        }
+        q[m + 16 >> 2] = 0;
+        g = d;
+        a = l + 16 | 0;
+        j = e;
+        if (!q[a >> 2]) {
+         break h;
+        }
+       }
+       f = 0;
+       j : {
+        while (1) {
+         if (Ct(b, s[q[l + 12 >> 2] + (f << 3) >> 1], m + 8 | 0, 2, r[l + 20 | 0])) {
+          break j;
+         }
+         f = f + 1 | 0;
+         h = q[a >> 2];
+         if (f >>> 0 < h >>> 0) {
+          continue;
+         }
+         break;
+        }
+        if (q[q[l >> 2] + 20 >> 2] != 1) {
+         break d;
+        }
+        g = d;
+        j = e;
+        if (!h) {
+         break h;
+        }
+        while (1) {
+         if (Ct(b, s[q[l + 12 >> 2] + (i << 3) >> 1], m + 8 | 0, 3, r[l + 20 | 0])) {
+          break j;
+         }
+         i = i + 1 | 0;
+         if (i >>> 0 < t[a >> 2]) {
+          continue;
+         }
+         break;
+        }
+        break d;
+       }
+       i = 1;
+       g = d + 2 | 0;
+       k : {
+        if (g >>> 0 >= e >>> 0) {
+         break k;
+        }
+        l : {
+         while (1) {
+          a = w(g, 20) + k | 0;
+          if (r[a + 12 | 0] & 32) {
+           break k;
+          }
+          a = r[a + 18 | 0];
+          if (a >>> 0 > 31 | !(1 << a & 96)) {
+           break l;
+          }
+          g = g + 1 | 0;
+          if ((g | 0) != (e | 0)) {
+           continue;
+          }
+          break;
+         }
+         g = e;
+        }
+       }
+       j = d;
+      }
+      h = q[l >> 2];
+      break b;
+     }
+     i = 0;
+     if ((a | 0) != 2) {
+      break c;
+     }
+    }
+    if (r[(w(d, 20) + k | 0) + 18 | 0] != 15) {
+     break c;
+    }
+    i = 1;
+    a = d + 1 | 0;
+    g = a >>> 0 < e >>> 0 ? e : a;
+    f = d;
+    m : {
+     while (1) {
+      f = f + 1 | 0;
+      if (f >>> 0 >= e >>> 0) {
+       break m;
+      }
+      a = w(f, 20) + k | 0;
+      if (r[a + 12 | 0] & 32) {
+       g = f;
+       break m;
+      }
+      a = r[a + 18 | 0];
+      if (1 << a & 96 ? a >>> 0 <= 31 : 0) {
+       continue;
+      }
+      break;
+     }
+     g = f;
+    }
+    j = d;
+    break b;
+   }
+   i = 0;
+   g = d;
+   j = e;
+   h = q[l >> 2];
+   break b;
+  }
+  g = d;
+  j = e;
+ }
+ a = q[h + 12 >> 2];
+ n : {
+  if (a >>> 0 > 1) {
+   break n;
+  }
+  h = 0;
+  f = e;
+  if (!(a - 1)) {
+   while (1) {
+    a = f;
+    o : {
+     p : {
+      f = f + -1 | 0;
+      n = w(f, 20) + k | 0;
+      if (r[n + 12 | 0] & 32) {
+       break p;
+      }
+      p = r[n + 18 | 0];
+      if (p >>> 0 > 31 | !(1 << p & 727046)) {
+       break p;
+      }
+      a = r[n + 19 | 0];
+      n = a + -8 | 0;
+      if (n >>> 0 > 3) {
+       j = f;
+       break n;
+      }
+      j = f;
+      q : {
+       r : {
+        switch (n - 1 | 0) {
+        case 0:
+        case 1:
+         break n;
+        case 2:
+         break r;
+        default:
+         break q;
+        }
+       }
+       if (!(h & 1)) {
+        break q;
+       }
+       break n;
+      }
+      h = (a | 0) == 8 | h;
+      break o;
+     }
+     if (r[(w(f, 20) + k | 0) + 18 | 0] != 6 | f >>> 0 <= d >>> 0) {
+      break o;
+     }
+     if (r[(w(a, 20) + k | 0) + -22 | 0] == 4) {
+      break n;
+     }
+    }
+    if (f >>> 0 > g >>> 0) {
+     continue;
+    }
+    break n;
+   }
+  }
+  a = i ? j : g;
+  s : {
+   if (g >>> 0 >= e >>> 0) {
+    j = a;
+    break s;
+   }
+   f = g;
+   while (1) {
+    j = a;
+    h = w(f, 20) + k | 0;
+    t : {
+     if (r[h + 12 | 0] & 32) {
+      break t;
+     }
+     a = r[h + 18 | 0];
+     if (a >>> 0 > 31) {
+      a = j;
+      break t;
+     }
+     if (!(1 << a & 727046)) {
+      a = j;
+      break t;
+     }
+     a = f;
+     if (g >>> 0 >= f >>> 0) {
+      break t;
+     }
+     if (r[h + -2 | 0] == 6) {
+      break s;
+     }
+    }
+    j = a;
+    f = f + 1 | 0;
+    if ((f | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  f = j + 1 | 0;
+  if (f >>> 0 >= e >>> 0) {
+   break n;
+  }
+  while (1) {
+   a = w(f, 20) + k | 0;
+   u : {
+    if (r[a + 12 | 0] & 32) {
+     break u;
+    }
+    h = r[a + 18 | 0];
+    if (h >>> 0 > 31 | !(1 << h & 727046)) {
+     break u;
+    }
+    o[a + 19 | 0] = 8;
+   }
+   f = f + 1 | 0;
+   if ((f | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ g = g - j >>> 0 < 3;
+ h = (d | 0) == (j | 0) & i;
+ if (j >>> 0 > d >>> 0) {
+  f = d;
+  while (1) {
+   n = (w(f, 20) + k | 0) + 19 | 0;
+   a = r[n | 0];
+   o[n | 0] = a >>> 0 < 3 ? a : 3;
+   f = f + 1 | 0;
+   if ((j | 0) != (f | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ a = g & h;
+ if (j >>> 0 < e >>> 0) {
+  o[(w(j, 20) + k | 0) + 19 | 0] = 4;
+ }
+ i = a ^ i;
+ a = j + 1 | 0;
+ h = a >>> 0 >= e >>> 0;
+ v : {
+  if (h) {
+   break v;
+  }
+  g = a;
+  while (1) {
+   f = g + 1 | 0;
+   if (r[(w(g, 20) + k | 0) + 18 | 0] == 7) {
+    if (f >>> 0 >= e >>> 0) {
+     break v;
+    }
+    while (1) {
+     w : {
+      g = w(f, 20) + k | 0;
+      x : {
+       if (r[g + 12 | 0] & 32) {
+        break x;
+       }
+       n = r[g + 18 | 0];
+       if (n >>> 0 > 31) {
+        break x;
+       }
+       if (1 << n & 727046) {
+        break w;
+       }
+      }
+      f = f + 1 | 0;
+      if ((f | 0) != (e | 0)) {
+       continue;
+      }
+      break v;
+     }
+     break;
+    }
+    o[g + 19 | 0] = 13;
+    break v;
+   }
+   g = f;
+   if ((e | 0) != (f | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ if (i) {
+  o[(w(d, 20) + k | 0) + 19 | 0] = 1;
+ }
+ y : {
+  if (h | !r[l + 4 | 0]) {
+   break y;
+  }
+  h = q[c + 52 >> 2];
+  f = a;
+  while (1) {
+   if (r[(w(f, 20) + k | 0) + 18 | 0] == 4) {
+    g = e + -1 | 0;
+    if (g >>> 0 <= f >>> 0) {
+     break y;
+    }
+    i = w(f, 20) + k | 0;
+    n = (h | 0) != 1265525857;
+    while (1) {
+     z : {
+      h = w(g, 20) + k | 0;
+      A : {
+       if (r[h + 12 | 0] & 32) {
+        break A;
+       }
+       p = r[h + 18 | 0];
+       if (p >>> 0 > 31) {
+        break A;
+       }
+       if (1 << p & 727046) {
+        break z;
+       }
+      }
+      if (r[h + 18 | 0] == 4 ? !n : 0) {
+       break z;
+      }
+      g = g + -1 | 0;
+      if (g >>> 0 > f >>> 0) {
+       continue;
+      }
+      break y;
+     }
+     break;
+    }
+    h = w(g, 20) + k | 0;
+    if (r[h + 18 | 0] == 4) {
+     break y;
+    }
+    p = m + 24 | 0;
+    q[p >> 2] = q[i + 16 >> 2];
+    u = q[i + 12 >> 2];
+    n = m + 16 | 0;
+    q[n >> 2] = q[i + 8 >> 2];
+    q[n + 4 >> 2] = u;
+    v = q[i + 4 >> 2];
+    q[m + 8 >> 2] = q[i >> 2];
+    q[m + 12 >> 2] = v;
+    _$(i, (w(f, 20) + k | 0) + 20 | 0, w(g - f | 0, 20));
+    q[h + 16 >> 2] = q[p >> 2];
+    f = q[n + 4 >> 2];
+    q[h + 8 >> 2] = q[n >> 2];
+    q[h + 12 >> 2] = f;
+    f = q[m + 12 >> 2];
+    q[h >> 2] = q[m + 8 >> 2];
+    q[h + 4 >> 2] = f;
+    break y;
+   }
+   f = f + 1 | 0;
+   if ((f | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ n = e >>> 0 > d >>> 0;
+ if (n) {
+  g = 0;
+  f = d;
+  while (1) {
+   i = w(f, 20) + k | 0;
+   h = i + 16 | 0;
+   p = r[i + 18 | 0];
+   B : {
+    if (!(p >>> 0 > 31 | !(1 << p & 139384))) {
+     o[h + 3 | 0] = g;
+     if ((g & 255) != 2) {
+      break B;
+     }
+     i = f;
+     if ((p | 0) != 4) {
+      break B;
+     }
+     while (1) {
+      if (i >>> 0 <= d >>> 0) {
+       break B;
+      }
+      i = i + -1 | 0;
+      p = r[(w(i, 20) + k | 0) + 19 | 0];
+      if ((p | 0) == 2) {
+       continue;
+      }
+      break;
+     }
+     o[h + 3 | 0] = p;
+     break B;
+    }
+    i = g;
+    g = r[h + 3 | 0];
+    g = (g | 0) == 14 ? i : g;
+   }
+   f = f + 1 | 0;
+   if ((f | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ if (a >>> 0 < e >>> 0) {
+  while (1) {
+   i = w(a, 20) + k | 0;
+   f = r[i + 18 | 0];
+   C : {
+    if (!(!(1 << f & 727046) | (r[i + 12 | 0] & 32 | f >>> 0 > 31))) {
+     f = j + 1 | 0;
+     j = a;
+     if (f >>> 0 >= a >>> 0) {
+      break C;
+     }
+     j = i + 16 | 0;
+     while (1) {
+      g = w(f, 20) + k | 0;
+      if (r[g + 19 | 0] <= 13) {
+       o[g + 19 | 0] = r[j + 3 | 0];
+      }
+      f = f + 1 | 0;
+      if ((f | 0) != (a | 0)) {
+       continue;
+      }
+      break;
+     }
+     j = a;
+     break C;
+    }
+    j = (f | 0) == 7 ? a : j;
+   }
+   a = a + 1 | 0;
+   if ((e | 0) != (a | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ g = w(d, 20) + k | 0;
+ v = r[g + 15 | 0];
+ if (n) {
+  f = d;
+  while (1) {
+   o[(w(f, 20) + k | 0) + 15 | 0] = f - d;
+   f = f + 1 | 0;
+   if ((f | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ p = e - d | 0;
+ if (p >>> 0 >= 2) {
+  h = 1;
+  while (1) {
+   j = g + w(h, 20) | 0;
+   i = j + 16 | 0;
+   a = h;
+   while (1) {
+    f = a;
+    if (f) {
+     a = f + -1 | 0;
+     if (r[(g + w(a, 20) | 0) + 19 | 0] > r[i + 3 | 0]) {
+      continue;
+     }
+    }
+    break;
+   }
+   if ((f | 0) != (h | 0)) {
+    u = m + 24 | 0;
+    q[u >> 2] = q[i >> 2];
+    a = q[j + 12 >> 2];
+    i = m + 16 | 0;
+    q[i >> 2] = q[j + 8 >> 2];
+    q[i + 4 >> 2] = a;
+    a = q[j + 4 >> 2];
+    q[m + 8 >> 2] = q[j >> 2];
+    q[m + 12 >> 2] = a;
+    a = g + w(f, 20) | 0;
+    _$(a + 20 | 0, a, w(h - f | 0, 20));
+    q[a + 16 >> 2] = q[u >> 2];
+    f = q[i + 4 >> 2];
+    q[a + 8 >> 2] = q[i >> 2];
+    q[a + 12 >> 2] = f;
+    f = q[m + 12 >> 2];
+    q[a >> 2] = q[m + 8 >> 2];
+    q[a + 4 >> 2] = f;
+   }
+   h = h + 1 | 0;
+   if ((p | 0) != (h | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ i = e;
+ D : {
+  if (!n) {
+   break D;
+  }
+  i = d;
+  while (1) {
+   if (r[(w(i, 20) + k | 0) + 19 | 0] == 4) {
+    break D;
+   }
+   i = i + 1 | 0;
+   if ((i | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+  i = e;
+ }
+ E : {
+  if (!(r[l + 4 | 0] | p >>> 0 > 127)) {
+   if (i >>> 0 >= e >>> 0) {
+    break E;
+   }
+   h = i;
+   while (1) {
+    f = r[(w(h, 20) + k | 0) + 15 | 0];
+    F : {
+     if ((f | 0) == 255) {
+      break F;
+     }
+     a = h;
+     f = d + f | 0;
+     if ((a | 0) != (f | 0)) {
+      while (1) {
+       j = (w(f, 20) + k | 0) + 15 | 0;
+       g = r[j | 0];
+       o[j | 0] = 255;
+       a = a >>> 0 < f >>> 0 ? f : a;
+       f = d + g | 0;
+       if ((h | 0) != (f | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     if ((a | 0) == (h | 0)) {
+      break F;
+     }
+     a = a + 1 | 0;
+     if (a - h >>> 0 < 2) {
+      break F;
+     }
+     wG(c, h, a);
+    }
+    h = h + 1 | 0;
+    if ((h | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   break E;
+  }
+  if (e - i >>> 0 < 2) {
+   break E;
+  }
+  wG(c, i, e);
+ }
+ G : {
+  if (e >>> 0 <= d >>> 0) {
+   break G;
+  }
+  f = d;
+  while (1) {
+   o[(w(f, 20) + k | 0) + 15 | 0] = v;
+   f = f + 1 | 0;
+   if ((f | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+  f = d;
+  while (1) {
+   a = w(f, 20) + k | 0;
+   if (r[a + 19 | 0] != 1) {
+    break G;
+   }
+   q[a + 4 >> 2] = q[a + 4 >> 2] | q[l + 80 >> 2];
+   f = f + 1 | 0;
+   if ((f | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ j = q[l + 100 >> 2];
+ a = r[l + 4 | 0];
+ if (!(a | q[q[l >> 2] + 24 >> 2])) {
+  j = q[l + 92 >> 2] | j;
+ }
+ if (i >>> 0 > d >>> 0) {
+  f = d;
+  while (1) {
+   g = w(f, 20) + k | 0;
+   q[g + 4 >> 2] = q[g + 4 >> 2] | j;
+   f = f + 1 | 0;
+   if ((i | 0) != (f | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ g = i + 1 | 0;
+ if (g >>> 0 < e >>> 0) {
+  j = q[l + 104 >> 2] | (q[l + 96 >> 2] | q[l + 92 >> 2]);
+  f = g;
+  while (1) {
+   h = w(f, 20) + k | 0;
+   q[h + 4 >> 2] = j | q[h + 4 >> 2];
+   f = f + 1 | 0;
+   if ((f | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ H : {
+  if (!a | q[c + 52 >> 2] != 1147500129) {
+   break H;
+  }
+  j = d + 1 | 0;
+  if (j >>> 0 >= i >>> 0) {
+   break H;
+  }
+  f = d;
+  while (1) {
+   a = f;
+   f = j;
+   c = w(a, 20) + k | 0;
+   I : {
+    if (r[c + 18 | 0] != 16) {
+     break I;
+    }
+    j = w(f, 20) + k | 0;
+    if (r[j + 18 | 0] != 4) {
+     break I;
+    }
+    a = a + 2 | 0;
+    if (r[(w(a, 20) + k | 0) + 18 | 0] == 6 ? (a | 0) != (i | 0) : 0) {
+     break I;
+    }
+    q[c + 4 >> 2] = q[c + 4 >> 2] | q[l + 92 >> 2];
+    q[j + 4 >> 2] = q[j + 4 >> 2] | q[l + 92 >> 2];
+   }
+   j = f + 1 | 0;
+   if ((i | 0) != (j | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ J : {
+  if (!q[l + 88 >> 2] | i + 2 >>> 0 >= e >>> 0) {
+   break J;
+  }
+  j = q[l + 28 >> 2];
+  while (1) {
+   a = w(g, 20) + k | 0;
+   q[m + 8 >> 2] = q[a >> 2];
+   q[m + 12 >> 2] = q[a + 20 >> 2];
+   c = g + 1 | 0;
+   f = 0;
+   a = 0;
+   K : {
+    if (!j) {
+     break K;
+    }
+    while (1) {
+     if (!Ct(b, s[q[l + 24 >> 2] + (f << 3) >> 1], m + 8 | 0, 2, r[l + 32 | 0])) {
+      f = f + 1 | 0;
+      a = q[l + 28 >> 2];
+      if (f >>> 0 < a >>> 0) {
+       continue;
+      }
+      break K;
+     }
+     break;
+    }
+    a = w(g, 20) + k | 0;
+    q[a + 4 >> 2] = q[a + 4 >> 2] | q[l + 88 >> 2];
+    a = w(c, 20) + k | 0;
+    q[a + 4 >> 2] = q[a + 4 >> 2] | q[l + 88 >> 2];
+    break J;
+   }
+   f = g + 2 | 0;
+   j = a;
+   g = c;
+   if (f >>> 0 < e >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ g = d + 1 | 0;
+ if (g >>> 0 < e >>> 0) {
+  while (1) {
+   a = w(g, 20) + k | 0;
+   L : {
+    if (r[a + 12 | 0] & 32) {
+     break L;
+    }
+    a = r[a + 18 | 0];
+    if (a >>> 0 > 31 | !(1 << a & 96)) {
+     break L;
+    }
+    f = g;
+    while (1) {
+     f = f + -1 | 0;
+     if ((a | 0) == 5) {
+      b = w(f, 20) + k | 0;
+      q[b + 4 >> 2] = q[b + 4 >> 2] & (q[l + 100 >> 2] ^ -1);
+     }
+     if (f >>> 0 <= d >>> 0) {
+      break L;
+     }
+     b = w(f, 20) + k | 0;
+     if (r[b + 12 | 0] & 32) {
+      continue;
+     }
+     b = r[b + 18 | 0];
+     if (b >>> 0 > 31 | !(1 << b & 727046)) {
+      continue;
+     }
+     break;
+    }
+   }
+   g = g + 1 | 0;
+   if ((g | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = m + 32 | 0;
+}
+function Fz(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0;
+ f = Ca - 96 | 0;
+ Ca = f;
+ e = 11;
+ a : {
+  b : {
+   if (q[a + 24 >> 2] == 11) {
+    j = q[a + 32 >> 2];
+    k = r[a + 176 | 0];
+    i = k;
+    while (1) {
+     if (e >>> 0 <= h >>> 0) {
+      o[a + 20 | 0] = 1;
+     }
+     c : {
+      if (j >>> 0 <= h >>> 0) {
+       c = q[67767];
+       q[160662] = q[67766];
+       q[160663] = c;
+       c = q[67765];
+       q[160660] = q[67764];
+       q[160661] = c;
+       c = q[67763];
+       q[160658] = q[67762];
+       q[160659] = c;
+       c = q[67761];
+       q[160656] = q[67760];
+       q[160657] = c;
+       c = 642624;
+       break c;
+      }
+      c = q[a + 36 >> 2] + (h << 5) | 0;
+     }
+     d : {
+      if (!i) {
+       break d;
+      }
+      d = q[c + 20 >> 2];
+      if (!d | (d | 0) != q[a + 168 >> 2]) {
+       break d;
+      }
+      l = q[c + 24 >> 2];
+      m = q[a + 172 >> 2];
+      g = v[c >> 3];
+      e = 0;
+      while (1) {
+       g = g + v[l + (e << 3) >> 3] * +u[m + (e << 2) >> 2];
+       e = e + 1 | 0;
+       if ((d | 0) != (e | 0)) {
+        continue;
+       }
+       break;
+      }
+      q[c + 8 >> 2] = 0;
+      q[c + 12 >> 2] = 0;
+      v[c >> 3] = g;
+      if (q[c + 16 >> 2] < 0) {
+       break d;
+      }
+      q[c + 20 >> 2] = 0;
+     }
+     d = h | 1;
+     if (t[a + 24 >> 2] <= d >>> 0) {
+      o[a + 20 | 0] = 1;
+     }
+     e : {
+      if (j >>> 0 <= d >>> 0) {
+       d = q[67767];
+       q[160662] = q[67766];
+       q[160663] = d;
+       d = q[67765];
+       q[160660] = q[67764];
+       q[160661] = d;
+       d = q[67763];
+       q[160658] = q[67762];
+       q[160659] = d;
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break e;
+      }
+      d = q[a + 36 >> 2] + (d << 5) | 0;
+     }
+     f : {
+      if (!i) {
+       break f;
+      }
+      l = q[d + 20 >> 2];
+      if (!l | (l | 0) != q[a + 168 >> 2]) {
+       break f;
+      }
+      m = q[d + 24 >> 2];
+      s = q[a + 172 >> 2];
+      g = v[d >> 3];
+      e = 0;
+      while (1) {
+       g = g + v[m + (e << 3) >> 3] * +u[s + (e << 2) >> 2];
+       e = e + 1 | 0;
+       if ((l | 0) != (e | 0)) {
+        continue;
+       }
+       break;
+      }
+      q[d + 8 >> 2] = 0;
+      q[d + 12 >> 2] = 0;
+      v[d >> 3] = g;
+      if (q[d + 16 >> 2] < 0) {
+       break f;
+      }
+      q[d + 20 >> 2] = 0;
+     }
+     n = n + v[d >> 3];
+     p = p + v[c >> 3];
+     if (h >>> 0 > 7) {
+      break b;
+     }
+     h = h + 2 | 0;
+     e = q[a + 24 >> 2];
+     continue;
+    }
+   }
+   o[a + 40 | 0] = 1;
+   break a;
+  }
+  c = q[a + 140 >> 2];
+  q[f + 88 >> 2] = q[a + 136 >> 2];
+  q[f + 92 >> 2] = c;
+  c = q[a + 132 >> 2];
+  q[f + 80 >> 2] = q[a + 128 >> 2];
+  q[f + 84 >> 2] = c;
+  if (!q[a + 24 >> 2]) {
+   o[a + 20 | 0] = 1;
+  }
+  g : {
+   if (!j) {
+    c = q[67767];
+    q[160662] = q[67766];
+    q[160663] = c;
+    c = q[67765];
+    q[160660] = q[67764];
+    q[160661] = c;
+    c = q[67763];
+    q[160658] = q[67762];
+    q[160659] = c;
+    c = q[67761];
+    q[160656] = q[67760];
+    q[160657] = c;
+    c = 642624;
+    break g;
+   }
+   c = q[a + 36 >> 2];
+  }
+  h : {
+   if (!k) {
+    break h;
+   }
+   d = q[c + 20 >> 2];
+   if (!d | (d | 0) != q[a + 168 >> 2]) {
+    break h;
+   }
+   h = q[c + 24 >> 2];
+   i = q[a + 172 >> 2];
+   g = v[c >> 3];
+   e = 0;
+   while (1) {
+    g = g + v[h + (e << 3) >> 3] * +u[i + (e << 2) >> 2];
+    e = e + 1 | 0;
+    if ((d | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[c + 8 >> 2] = 0;
+   q[c + 12 >> 2] = 0;
+   v[c >> 3] = g;
+   if (q[c + 16 >> 2] < 0) {
+    break h;
+   }
+   q[c + 20 >> 2] = 0;
+  }
+  if (t[a + 24 >> 2] <= 1) {
+   o[a + 20 | 0] = 1;
+  }
+  i : {
+   if (j >>> 0 <= 1) {
+    d = q[67767];
+    q[160662] = q[67766];
+    q[160663] = d;
+    d = q[67765];
+    q[160660] = q[67764];
+    q[160661] = d;
+    d = q[67763];
+    q[160658] = q[67762];
+    q[160659] = d;
+    d = q[67761];
+    q[160656] = q[67760];
+    q[160657] = d;
+    d = 642624;
+    break i;
+   }
+   d = q[a + 36 >> 2] + 32 | 0;
+  }
+  j : {
+   if (!k) {
+    break j;
+   }
+   h = q[d + 20 >> 2];
+   if (!h | (h | 0) != q[a + 168 >> 2]) {
+    break j;
+   }
+   i = q[d + 24 >> 2];
+   l = q[a + 172 >> 2];
+   g = v[d >> 3];
+   e = 0;
+   while (1) {
+    g = g + v[i + (e << 3) >> 3] * +u[l + (e << 2) >> 2];
+    e = e + 1 | 0;
+    if ((h | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[d + 8 >> 2] = 0;
+   q[d + 12 >> 2] = 0;
+   v[d >> 3] = g;
+   if (q[d + 16 >> 2] < 0) {
+    break j;
+   }
+   q[d + 20 >> 2] = 0;
+  }
+  v[f + 80 >> 3] = v[f + 80 >> 3] + v[c >> 3];
+  v[f + 88 >> 3] = v[f + 88 >> 3] + v[d >> 3];
+  c = q[f + 92 >> 2];
+  q[f + 72 >> 2] = q[f + 88 >> 2];
+  q[f + 76 >> 2] = c;
+  c = q[f + 84 >> 2];
+  q[f + 64 >> 2] = q[f + 80 >> 2];
+  q[f + 68 >> 2] = c;
+  if (t[a + 24 >> 2] <= 2) {
+   o[a + 20 | 0] = 1;
+  }
+  k : {
+   if (j >>> 0 <= 2) {
+    c = q[67767];
+    q[160662] = q[67766];
+    q[160663] = c;
+    c = q[67765];
+    q[160660] = q[67764];
+    q[160661] = c;
+    c = q[67763];
+    q[160658] = q[67762];
+    q[160659] = c;
+    c = q[67761];
+    q[160656] = q[67760];
+    q[160657] = c;
+    c = 642624;
+    break k;
+   }
+   c = q[a + 36 >> 2] - -64 | 0;
+  }
+  l : {
+   if (!k) {
+    break l;
+   }
+   d = q[c + 20 >> 2];
+   if (!d | (d | 0) != q[a + 168 >> 2]) {
+    break l;
+   }
+   h = q[c + 24 >> 2];
+   i = q[a + 172 >> 2];
+   g = v[c >> 3];
+   e = 0;
+   while (1) {
+    g = g + v[h + (e << 3) >> 3] * +u[i + (e << 2) >> 2];
+    e = e + 1 | 0;
+    if ((d | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[c + 8 >> 2] = 0;
+   q[c + 12 >> 2] = 0;
+   v[c >> 3] = g;
+   if (q[c + 16 >> 2] < 0) {
+    break l;
+   }
+   q[c + 20 >> 2] = 0;
+  }
+  if (t[a + 24 >> 2] <= 3) {
+   o[a + 20 | 0] = 1;
+  }
+  m : {
+   if (j >>> 0 <= 3) {
+    d = q[67767];
+    q[160662] = q[67766];
+    q[160663] = d;
+    d = q[67765];
+    q[160660] = q[67764];
+    q[160661] = d;
+    d = q[67763];
+    q[160658] = q[67762];
+    q[160659] = d;
+    d = q[67761];
+    q[160656] = q[67760];
+    q[160657] = d;
+    d = 642624;
+    break m;
+   }
+   d = q[a + 36 >> 2] + 96 | 0;
+  }
+  n : {
+   if (!k) {
+    break n;
+   }
+   h = q[d + 20 >> 2];
+   if (!h | (h | 0) != q[a + 168 >> 2]) {
+    break n;
+   }
+   i = q[d + 24 >> 2];
+   l = q[a + 172 >> 2];
+   g = v[d >> 3];
+   e = 0;
+   while (1) {
+    g = g + v[i + (e << 3) >> 3] * +u[l + (e << 2) >> 2];
+    e = e + 1 | 0;
+    if ((h | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[d + 8 >> 2] = 0;
+   q[d + 12 >> 2] = 0;
+   v[d >> 3] = g;
+   if (q[d + 16 >> 2] < 0) {
+    break n;
+   }
+   q[d + 20 >> 2] = 0;
+  }
+  v[f + 64 >> 3] = v[f + 64 >> 3] + v[c >> 3];
+  v[f + 72 >> 3] = v[f + 72 >> 3] + v[d >> 3];
+  c = q[f + 76 >> 2];
+  q[f + 56 >> 2] = q[f + 72 >> 2];
+  q[f + 60 >> 2] = c;
+  c = q[f + 68 >> 2];
+  q[f + 48 >> 2] = q[f + 64 >> 2];
+  q[f + 52 >> 2] = c;
+  if (t[a + 24 >> 2] <= 4) {
+   o[a + 20 | 0] = 1;
+  }
+  o : {
+   if (j >>> 0 <= 4) {
+    c = q[67767];
+    q[160662] = q[67766];
+    q[160663] = c;
+    c = q[67765];
+    q[160660] = q[67764];
+    q[160661] = c;
+    c = q[67763];
+    q[160658] = q[67762];
+    q[160659] = c;
+    c = q[67761];
+    q[160656] = q[67760];
+    q[160657] = c;
+    c = 642624;
+    break o;
+   }
+   c = q[a + 36 >> 2] + 128 | 0;
+  }
+  p : {
+   if (!k) {
+    break p;
+   }
+   d = q[c + 20 >> 2];
+   if (!d | (d | 0) != q[a + 168 >> 2]) {
+    break p;
+   }
+   h = q[c + 24 >> 2];
+   i = q[a + 172 >> 2];
+   g = v[c >> 3];
+   e = 0;
+   while (1) {
+    g = g + v[h + (e << 3) >> 3] * +u[i + (e << 2) >> 2];
+    e = e + 1 | 0;
+    if ((d | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[c + 8 >> 2] = 0;
+   q[c + 12 >> 2] = 0;
+   v[c >> 3] = g;
+   if (q[c + 16 >> 2] < 0) {
+    break p;
+   }
+   q[c + 20 >> 2] = 0;
+  }
+  if (t[a + 24 >> 2] <= 5) {
+   o[a + 20 | 0] = 1;
+  }
+  q : {
+   if (j >>> 0 <= 5) {
+    d = q[67767];
+    q[160662] = q[67766];
+    q[160663] = d;
+    d = q[67765];
+    q[160660] = q[67764];
+    q[160661] = d;
+    d = q[67763];
+    q[160658] = q[67762];
+    q[160659] = d;
+    d = q[67761];
+    q[160656] = q[67760];
+    q[160657] = d;
+    d = 642624;
+    break q;
+   }
+   d = q[a + 36 >> 2] + 160 | 0;
+  }
+  r : {
+   if (!k) {
+    break r;
+   }
+   h = q[d + 20 >> 2];
+   if (!h | (h | 0) != q[a + 168 >> 2]) {
+    break r;
+   }
+   i = q[d + 24 >> 2];
+   l = q[a + 172 >> 2];
+   g = v[d >> 3];
+   e = 0;
+   while (1) {
+    g = g + v[i + (e << 3) >> 3] * +u[l + (e << 2) >> 2];
+    e = e + 1 | 0;
+    if ((h | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[d + 8 >> 2] = 0;
+   q[d + 12 >> 2] = 0;
+   v[d >> 3] = g;
+   if (q[d + 16 >> 2] < 0) {
+    break r;
+   }
+   q[d + 20 >> 2] = 0;
+  }
+  v[f + 48 >> 3] = v[f + 48 >> 3] + v[c >> 3];
+  v[f + 56 >> 3] = v[f + 56 >> 3] + v[d >> 3];
+  c = q[f + 60 >> 2];
+  q[f + 40 >> 2] = q[f + 56 >> 2];
+  q[f + 44 >> 2] = c;
+  c = q[f + 52 >> 2];
+  q[f + 32 >> 2] = q[f + 48 >> 2];
+  q[f + 36 >> 2] = c;
+  if (t[a + 24 >> 2] <= 6) {
+   o[a + 20 | 0] = 1;
+  }
+  s : {
+   if (j >>> 0 <= 6) {
+    c = q[67767];
+    q[160662] = q[67766];
+    q[160663] = c;
+    c = q[67765];
+    q[160660] = q[67764];
+    q[160661] = c;
+    c = q[67763];
+    q[160658] = q[67762];
+    q[160659] = c;
+    c = q[67761];
+    q[160656] = q[67760];
+    q[160657] = c;
+    c = 642624;
+    break s;
+   }
+   c = q[a + 36 >> 2] + 192 | 0;
+  }
+  t : {
+   if (!k) {
+    break t;
+   }
+   d = q[c + 20 >> 2];
+   if (!d | (d | 0) != q[a + 168 >> 2]) {
+    break t;
+   }
+   h = q[c + 24 >> 2];
+   i = q[a + 172 >> 2];
+   g = v[c >> 3];
+   e = 0;
+   while (1) {
+    g = g + v[h + (e << 3) >> 3] * +u[i + (e << 2) >> 2];
+    e = e + 1 | 0;
+    if ((d | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[c + 8 >> 2] = 0;
+   q[c + 12 >> 2] = 0;
+   v[c >> 3] = g;
+   if (q[c + 16 >> 2] < 0) {
+    break t;
+   }
+   q[c + 20 >> 2] = 0;
+  }
+  if (t[a + 24 >> 2] <= 7) {
+   o[a + 20 | 0] = 1;
+  }
+  u : {
+   if (j >>> 0 <= 7) {
+    d = q[67767];
+    q[160662] = q[67766];
+    q[160663] = d;
+    d = q[67765];
+    q[160660] = q[67764];
+    q[160661] = d;
+    d = q[67763];
+    q[160658] = q[67762];
+    q[160659] = d;
+    d = q[67761];
+    q[160656] = q[67760];
+    q[160657] = d;
+    d = 642624;
+    break u;
+   }
+   d = q[a + 36 >> 2] + 224 | 0;
+  }
+  v : {
+   if (!k) {
+    break v;
+   }
+   h = q[d + 20 >> 2];
+   if (!h | (h | 0) != q[a + 168 >> 2]) {
+    break v;
+   }
+   i = q[d + 24 >> 2];
+   l = q[a + 172 >> 2];
+   g = v[d >> 3];
+   e = 0;
+   while (1) {
+    g = g + v[i + (e << 3) >> 3] * +u[l + (e << 2) >> 2];
+    e = e + 1 | 0;
+    if ((h | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[d + 8 >> 2] = 0;
+   q[d + 12 >> 2] = 0;
+   v[d >> 3] = g;
+   if (q[d + 16 >> 2] < 0) {
+    break v;
+   }
+   q[d + 20 >> 2] = 0;
+  }
+  v[f + 32 >> 3] = v[f + 32 >> 3] + v[c >> 3];
+  v[f + 40 >> 3] = v[f + 40 >> 3] + v[d >> 3];
+  c = q[f + 44 >> 2];
+  q[f + 24 >> 2] = q[f + 40 >> 2];
+  q[f + 28 >> 2] = c;
+  c = q[f + 36 >> 2];
+  q[f + 16 >> 2] = q[f + 32 >> 2];
+  q[f + 20 >> 2] = c;
+  if (t[a + 24 >> 2] <= 8) {
+   o[a + 20 | 0] = 1;
+  }
+  w : {
+   if (j >>> 0 <= 8) {
+    c = q[67767];
+    q[160662] = q[67766];
+    q[160663] = c;
+    c = q[67765];
+    q[160660] = q[67764];
+    q[160661] = c;
+    c = q[67763];
+    q[160658] = q[67762];
+    q[160659] = c;
+    c = q[67761];
+    q[160656] = q[67760];
+    q[160657] = c;
+    c = 642624;
+    break w;
+   }
+   c = q[a + 36 >> 2] + 256 | 0;
+  }
+  x : {
+   if (!k) {
+    break x;
+   }
+   d = q[c + 20 >> 2];
+   if (!d | (d | 0) != q[a + 168 >> 2]) {
+    break x;
+   }
+   h = q[c + 24 >> 2];
+   i = q[a + 172 >> 2];
+   g = v[c >> 3];
+   e = 0;
+   while (1) {
+    g = g + v[h + (e << 3) >> 3] * +u[i + (e << 2) >> 2];
+    e = e + 1 | 0;
+    if ((d | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[c + 8 >> 2] = 0;
+   q[c + 12 >> 2] = 0;
+   v[c >> 3] = g;
+   if (q[c + 16 >> 2] < 0) {
+    break x;
+   }
+   q[c + 20 >> 2] = 0;
+  }
+  if (t[a + 24 >> 2] <= 9) {
+   o[a + 20 | 0] = 1;
+  }
+  y : {
+   if (j >>> 0 <= 9) {
+    d = q[67767];
+    q[160662] = q[67766];
+    q[160663] = d;
+    d = q[67765];
+    q[160660] = q[67764];
+    q[160661] = d;
+    d = q[67763];
+    q[160658] = q[67762];
+    q[160659] = d;
+    d = q[67761];
+    q[160656] = q[67760];
+    q[160657] = d;
+    d = 642624;
+    break y;
+   }
+   d = q[a + 36 >> 2] + 288 | 0;
+  }
+  z : {
+   if (!k) {
+    break z;
+   }
+   h = q[d + 20 >> 2];
+   if (!h | (h | 0) != q[a + 168 >> 2]) {
+    break z;
+   }
+   i = q[d + 24 >> 2];
+   l = q[a + 172 >> 2];
+   g = v[d >> 3];
+   e = 0;
+   while (1) {
+    g = g + v[i + (e << 3) >> 3] * +u[l + (e << 2) >> 2];
+    e = e + 1 | 0;
+    if ((h | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[d + 8 >> 2] = 0;
+   q[d + 12 >> 2] = 0;
+   v[d >> 3] = g;
+   if (q[d + 16 >> 2] < 0) {
+    break z;
+   }
+   q[d + 20 >> 2] = 0;
+  }
+  v[f + 16 >> 3] = v[f + 16 >> 3] + v[c >> 3];
+  v[f + 24 >> 3] = v[f + 24 >> 3] + v[d >> 3];
+  c = q[f + 28 >> 2];
+  q[f + 8 >> 2] = q[f + 24 >> 2];
+  q[f + 12 >> 2] = c;
+  c = q[f + 20 >> 2];
+  q[f >> 2] = q[f + 16 >> 2];
+  q[f + 4 >> 2] = c;
+  A : {
+   if (y(p) > y(n)) {
+    if (t[a + 24 >> 2] <= 10) {
+     o[a + 20 | 0] = 1;
+    }
+    B : {
+     if (j >>> 0 <= 10) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      c = 642624;
+      break B;
+     }
+     c = q[a + 36 >> 2] + 320 | 0;
+    }
+    C : {
+     if (!k) {
+      break C;
+     }
+     d = q[c + 20 >> 2];
+     if (!d | (d | 0) != q[a + 168 >> 2]) {
+      break C;
+     }
+     j = q[c + 24 >> 2];
+     k = q[a + 172 >> 2];
+     g = v[c >> 3];
+     e = 0;
+     while (1) {
+      g = g + v[j + (e << 3) >> 3] * +u[k + (e << 2) >> 2];
+      e = e + 1 | 0;
+      if ((d | 0) != (e | 0)) {
+       continue;
+      }
+      break;
+     }
+     q[c + 8 >> 2] = 0;
+     q[c + 12 >> 2] = 0;
+     v[c >> 3] = g;
+     if (q[c + 16 >> 2] < 0) {
+      break C;
+     }
+     q[c + 20 >> 2] = 0;
+    }
+    v[f >> 3] = v[f >> 3] + v[c >> 3];
+    c = q[a + 140 >> 2];
+    q[f + 8 >> 2] = q[a + 136 >> 2];
+    q[f + 12 >> 2] = c;
+    break A;
+   }
+   c = q[a + 132 >> 2];
+   q[f >> 2] = q[a + 128 >> 2];
+   q[f + 4 >> 2] = c;
+   if (t[a + 24 >> 2] <= 10) {
+    o[a + 20 | 0] = 1;
+   }
+   D : {
+    if (j >>> 0 <= 10) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break D;
+    }
+    c = q[a + 36 >> 2] + 320 | 0;
+   }
+   E : {
+    if (!k) {
+     break E;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break E;
+    }
+    j = q[c + 24 >> 2];
+    k = q[a + 172 >> 2];
+    g = v[c >> 3];
+    e = 0;
+    while (1) {
+     g = g + v[j + (e << 3) >> 3] * +u[k + (e << 2) >> 2];
+     e = e + 1 | 0;
+     if ((d | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break E;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   v[f + 8 >> 3] = v[f + 8 >> 3] + v[c >> 3];
+  }
+  uz(a, b, f + 80 | 0, f - -64 | 0, f + 48 | 0);
+  uz(a, b, f + 32 | 0, f + 16 | 0, f);
+ }
+ Ca = f + 96 | 0;
+}
+function Hh(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0;
+ f = Ca - 256 | 0;
+ Ca = f;
+ a : {
+  if (!a) {
+   e = 37;
+   break a;
+  }
+  if (!b) {
+   e = 36;
+   break a;
+  }
+  h = q[a + 4 >> 2];
+  if (!h) {
+   e = 35;
+   break a;
+  }
+  if (!(q[q[h + 128 >> 2] + 52 >> 2] | t[h + 16 >> 2] > c >>> 0)) {
+   e = 6;
+   break a;
+  }
+  g = b;
+  k = b + 12 | 0;
+  e = b + 48 | 0;
+  if (d & 2) {
+   d = r[h + 9 | 0] & 32 ? d & -3 : d;
+   d = d >>> 14 & 2 | d;
+  }
+  if (d & 1025) {
+   d = (r[h + 9 | 0] & 32 ? 9 : 11) | d;
+  }
+  u = d & 2;
+  q[g + 44 >> 2] = u ? k : e;
+  b : {
+   if (d & 8) {
+    break b;
+   }
+   e = q[b + 116 >> 2];
+   if (r[h + 9 | 0] & 128 | (s[h + 6 >> 1] & 32767 | (e | 0) == -1)) {
+    break b;
+   }
+   g = q[b + 20 >> 2];
+   i = q[b + 16 >> 2];
+   e = n[q[q[h + 540 >> 2] + 72 >> 2]](h, e, c, d, q[h + 104 >> 2], a + 76 | 0, f + 8 | 0) | 0;
+   if (!e) {
+    e = 0;
+    q[a + 108 >> 2] = 0;
+    q[a + 24 >> 2] = s[f + 10 >> 1] << 6;
+    q[a + 28 >> 2] = s[f + 8 >> 1] << 6;
+    h = p[f + 12 >> 1];
+    q[a + 32 >> 2] = h << 6;
+    j = p[f + 14 >> 1];
+    q[a + 36 >> 2] = j << 6;
+    q[a + 40 >> 2] = s[f + 16 >> 1] << 6;
+    l = p[f + 18 >> 1];
+    q[a + 44 >> 2] = l << 6;
+    k = p[f + 20 >> 1];
+    q[a + 48 >> 2] = k << 6;
+    u = s[f + 22 >> 1];
+    m = j;
+    j = d & 16;
+    q[a + 104 >> 2] = j ? k : m;
+    q[a + 100 >> 2] = j ? l : h;
+    q[a + 72 >> 2] = 1651078259;
+    q[a + 52 >> 2] = u << 6;
+    h = q[a + 4 >> 2];
+    if (!(o[h + 8 | 0] & 1)) {
+     break a;
+    }
+    j = q[h + 104 >> 2];
+    Z$(f + 20 | 0, 0, 192);
+    q[f + 212 >> 2] = 0;
+    q[f + 216 >> 2] = 0;
+    q[f + 32 >> 2] = j;
+    q[f + 16 >> 2] = a;
+    q[f + 12 >> 2] = b;
+    q[f + 8 >> 2] = h;
+    q[f + 24 >> 2] = d;
+    Ih(f + 8 | 0, c, 0, 1);
+    ah(f + 212 | 0, q[q[f + 8 >> 2] + 100 >> 2]);
+    b = q[f + 68 >> 2];
+    q[a + 56 >> 2] = b;
+    q[a + 60 >> 2] = q[f + 184 >> 2];
+    if (!(q[a + 40 >> 2] | !b)) {
+     A = a, B = Ee(b, i), q[A + 40 >> 2] = B;
+    }
+    if (q[a + 52 >> 2]) {
+     break a;
+    }
+    b = q[a + 60 >> 2];
+    if (!b) {
+     break a;
+    }
+    A = a, B = Ee(b, g), q[A + 52 >> 2] = B;
+    break a;
+   }
+   h = q[a + 4 >> 2];
+   j = q[h + 8 >> 2] & 1;
+   if ((e & 255) == 157) {
+    if (j) {
+     break b;
+    }
+    p[f + 8 >> 1] = 0;
+    p[f + 240 >> 1] = 0;
+    p[f + 224 >> 1] = 0;
+    p[f + 6 >> 1] = 0;
+    if (!q[h + 752 >> 2]) {
+     break a;
+    }
+    n[q[q[h + 540 >> 2] + 140 >> 2]](h, 0, c, f + 8 | 0, f + 224 | 0);
+    c : {
+     if (r[h + 292 | 0]) {
+      n[q[q[h + 540 >> 2] + 140 >> 2]](h, 1, c, f + 240 | 0, f + 6 | 0);
+      break c;
+     }
+     if (s[h + 372 >> 1] != 65535) {
+      b = p[h + 442 >> 1];
+      p[f + 240 >> 1] = b;
+      c = b - p[h + 444 >> 1] | 0;
+      b = c >> 31;
+      p[f + 6 >> 1] = b ^ b + c;
+      break c;
+     }
+     b = p[h + 220 >> 1];
+     p[f + 240 >> 1] = b;
+     c = b - p[h + 222 >> 1] | 0;
+     b = c >> 31;
+     p[f + 6 >> 1] = b ^ b + c;
+    }
+    e = 0;
+    q[a + 108 >> 2] = 0;
+    q[a + 24 >> 2] = 0;
+    q[a + 28 >> 2] = 0;
+    b = Ee(p[f + 8 >> 1], i);
+    q[a + 36 >> 2] = 0;
+    q[a + 32 >> 2] = b;
+    b = Ee(s[f + 224 >> 1], i);
+    q[a + 44 >> 2] = 0;
+    q[a + 40 >> 2] = b;
+    A = a, B = Ee(p[f + 240 >> 1], g), q[A + 48 >> 2] = B;
+    b = Ee(s[f + 6 >> 1], g);
+    q[a + 100 >> 2] = 0;
+    q[a + 104 >> 2] = 0;
+    o[a + 94 | 0] = 1;
+    q[a + 72 >> 2] = 1651078259;
+    q[a + 52 >> 2] = b;
+    break a;
+   }
+   if (!j) {
+    break a;
+   }
+  }
+  y = d & 1;
+  if (!(y | r[b + 112 | 0])) {
+   e = 36;
+   break a;
+  }
+  e = 6;
+  if (d & 16384) {
+   break a;
+  }
+  x = q[h + 104 >> 2];
+  v = q[h + 96 >> 2];
+  Z$(f + 8 | 0, 0, 212);
+  if (!u) {
+   l = d >>> 7 & 1;
+   e = q[b + 304 >> 2];
+   d : {
+    e : {
+     if ((e | 0) >= 0) {
+      g = q[b + 308 >> 2];
+      if ((g | 0) < 0) {
+       break e;
+      }
+      if (e) {
+       break a;
+      }
+      e = g;
+      if (!e) {
+       break d;
+      }
+      break a;
+     }
+     i = q[b >> 2];
+     g = q[i + 100 >> 2];
+     Qe(g, q[b + 132 >> 2]);
+     q[b + 132 >> 2] = 0;
+     e = b + 144 | 0;
+     Qe(g, q[e >> 2]);
+     q[e >> 2] = 0;
+     e = b + 252 | 0;
+     Qe(g, q[e >> 2]);
+     q[e >> 2] = 0;
+     e = b + 260 | 0;
+     Qe(g, q[e >> 2]);
+     q[e >> 2] = 0;
+     e = q[b + 300 >> 2];
+     if (e) {
+      q[e + 444 >> 2] = 0;
+      j = q[e + 8 >> 2];
+      Qe(j, q[e + 24 >> 2]);
+      q[e + 20 >> 2] = 0;
+      q[e + 24 >> 2] = 0;
+      Qe(j, q[e + 440 >> 2]);
+      q[e + 440 >> 2] = 0;
+      q[e + 432 >> 2] = 0;
+      q[e + 436 >> 2] = 0;
+      Qe(j, q[e + 396 >> 2]);
+      q[e + 392 >> 2] = 0;
+      q[e + 396 >> 2] = 0;
+      q[e >> 2] = 0;
+      q[e + 4 >> 2] = 0;
+      Qe(j, e);
+     }
+     j = b + 264 | 0;
+     Jh(j);
+     q[b + 304 >> 2] = -1;
+     q[b + 308 >> 2] = -1;
+     A = b, B = Kh(q[i + 96 >> 2]), q[A + 300 >> 2] = B;
+     e = s[i + 280 >> 1];
+     q[b + 128 >> 2] = e;
+     k = s[i + 282 >> 1];
+     q[b + 148 >> 2] = 0;
+     q[b + 152 >> 2] = 0;
+     q[b + 136 >> 2] = 0;
+     q[b + 124 >> 2] = 0;
+     q[b + 140 >> 2] = k;
+     q[b + 248 >> 2] = q[i + 700 >> 2];
+     k = s[i + 278 >> 1];
+     o[b + 113 | 0] = 0;
+     o[b + 114 | 0] = 0;
+     p[b + 256 >> 1] = k;
+     q[b + 96 >> 2] = 0;
+     q[b + 100 >> 2] = 0;
+     q[b + 104 >> 2] = 0;
+     q[b + 108 >> 2] = 0;
+     A = b, B = Te(g, 24, 0, e, 0, f + 224 | 0), q[A + 132 >> 2] = B;
+     f : {
+      if (q[f + 224 >> 2]) {
+       break f;
+      }
+      A = b, B = Te(g, 24, 0, q[b + 140 >> 2], 0, f + 224 | 0), q[A + 144 >> 2] = B;
+      if (q[f + 224 >> 2]) {
+       break f;
+      }
+      A = b, B = Te(g, 4, 0, q[b + 248 >> 2], 0, f + 224 | 0), q[A + 252 >> 2] = B;
+      if (q[f + 224 >> 2]) {
+       break f;
+      }
+      A = b, B = Te(g, 4, 0, s[b + 256 >> 1], 0, f + 224 | 0), q[A + 260 >> 2] = B;
+      if (q[f + 224 >> 2]) {
+       break f;
+      }
+      e = s[i + 276 >> 1];
+      q[b + 292 >> 2] = 0;
+      q[b + 296 >> 2] = 0;
+      q[b + 284 >> 2] = 0;
+      q[b + 288 >> 2] = 0;
+      k = b + 276 | 0;
+      q[k >> 2] = 0;
+      q[k + 4 >> 2] = 0;
+      m = b + 268 | 0;
+      q[m >> 2] = 0;
+      q[m + 4 >> 2] = 0;
+      q[b + 264 >> 2] = g;
+      z = k;
+      k = e + 4 | 0;
+      e = k & 65535;
+      A = z, B = Te(g, 8, 0, e, 0, f + 240 | 0), q[A >> 2] = B;
+      g : {
+       h : {
+        if (q[f + 240 >> 2]) {
+         break h;
+        }
+        A = b, B = Te(g, 8, 0, e, 0, f + 240 | 0), q[A + 280 >> 2] = B;
+        if (q[f + 240 >> 2]) {
+         break h;
+        }
+        A = b, B = Te(g, 8, 0, e, 0, f + 240 | 0), q[A + 284 >> 2] = B;
+        if (q[f + 240 >> 2]) {
+         break h;
+        }
+        A = b, B = Te(g, 1, 0, e, 0, f + 240 | 0), q[A + 288 >> 2] = B;
+        if (q[f + 240 >> 2]) {
+         break h;
+        }
+        A = b, B = Te(g, 2, 0, 0, 0, f + 240 | 0), q[A + 292 >> 2] = B;
+        if (q[f + 240 >> 2]) {
+         break h;
+        }
+        p[m >> 1] = k;
+        p[j + 6 >> 1] = 0;
+        q[f + 224 >> 2] = 0;
+        break g;
+       }
+       Jh(j);
+       e = q[f + 240 >> 2];
+       q[f + 224 >> 2] = e;
+       if (e) {
+        break f;
+       }
+      }
+      p[b + 272 >> 1] = k;
+      Y$(b + 180 | 0, 4208, 68);
+      e = q[q[q[i + 96 >> 2] + 4 >> 2] + 164 >> 2];
+      q[i + 708 >> 2] = e ? e : 29;
+      g = q[b + 300 >> 2];
+      i = q[b >> 2];
+      e = Mh(g, i, b);
+      i : {
+       if (e) {
+        break i;
+       }
+       q[g + 484 >> 2] = 0;
+       q[g + 488 >> 2] = 0;
+       q[g + 480 >> 2] = 64;
+       q[g + 16 >> 2] = 0;
+       q[g + 432 >> 2] = 0;
+       q[g + 568 >> 2] = 16384;
+       o[g + 565 | 0] = l;
+       q[g + 220 >> 2] = 0;
+       q[g + 224 >> 2] = 0;
+       o[g + 492 | 0] = 0;
+       p[g + 256 >> 1] = 0;
+       q[g + 228 >> 2] = 0;
+       q[g + 260 >> 2] = 65536;
+       q[g + 264 >> 2] = 0;
+       j = q[i + 688 >> 2];
+       e = q[i + 684 >> 2];
+       q[g + 456 >> 2] = 0;
+       q[g + 460 >> 2] = 0;
+       q[g + 452 >> 2] = e;
+       q[g + 448 >> 2] = j;
+       q[g + 464 >> 2] = 0;
+       q[g + 468 >> 2] = 0;
+       j : {
+        if (!e) {
+         q[b + 304 >> 2] = 0;
+         break j;
+        }
+        q[g + 368 >> 2] = e;
+        q[g + 360 >> 2] = j;
+        q[g + 364 >> 2] = 0;
+        q[g + 356 >> 2] = 1;
+        e = n[q[i + 708 >> 2]](g) | 0;
+        q[b + 304 >> 2] = e;
+        if (e) {
+         break i;
+        }
+       }
+       q[b + 124 >> 2] = q[g + 400 >> 2];
+       q[b + 136 >> 2] = q[g + 412 >> 2];
+       q[b + 148 >> 2] = q[g + 424 >> 2];
+       q[b + 152 >> 2] = q[g + 428 >> 2];
+       e = q[g + 452 >> 2];
+       q[b + 156 >> 2] = q[g + 448 >> 2];
+       q[b + 160 >> 2] = e;
+       e = q[g + 460 >> 2];
+       q[b + 164 >> 2] = q[g + 456 >> 2];
+       q[b + 168 >> 2] = e;
+       e = q[g + 468 >> 2];
+       q[b + 172 >> 2] = q[g + 464 >> 2];
+       q[b + 176 >> 2] = e;
+       e = 0;
+      }
+      q[f + 224 >> 2] = e;
+      break e;
+     }
+     Fh(b);
+     e = q[f + 224 >> 2];
+    }
+    if (e) {
+     break a;
+    }
+    e = q[b + 308 >> 2];
+    if ((e | 0) <= -1) {
+     e = s[b + 272 >> 1];
+     if (e) {
+      g = e >>> 0 > 1 ? e : 1;
+      i = q[b + 280 >> 2];
+      j = q[b + 276 >> 2];
+      e = 0;
+      while (1) {
+       k = e << 3;
+       m = k + j | 0;
+       q[m >> 2] = 0;
+       q[m + 4 >> 2] = 0;
+       k = i + k | 0;
+       q[k >> 2] = 0;
+       q[k + 4 >> 2] = 0;
+       e = e + 1 | 0;
+       if ((g | 0) != (e | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     e = s[b + 256 >> 1];
+     if (e) {
+      Z$(q[b + 260 >> 2], 0, (e >>> 0 > 1 ? e : 1) << 2);
+     }
+     Y$(b + 180 | 0, 4208, 68);
+     e = Nh(b, l);
+    }
+    if (e) {
+     break a;
+    }
+   }
+   i = q[b + 300 >> 2];
+   if (!i) {
+    e = 153;
+    break a;
+   }
+   e = d & 983040;
+   k : {
+    if (q[v + 64 >> 2] != 40) {
+     j = (e | 0) != 131072;
+     e = 0;
+     k = 0;
+     g = 0;
+     break k;
+    }
+    k = (e | 0) != 131072;
+    e = k & (d & 262144) >>> 18;
+    j = 0;
+    g = !(d & 458752) & k;
+   }
+   o[i + 614 | 0] = e;
+   e = Mh(i, h, b);
+   if (e) {
+    break a;
+   }
+   l : {
+    m : {
+     n : {
+      o : {
+       if (q[v + 64 >> 2] == 40) {
+        e = 0;
+        if (r[i + 613 | 0] != (k | 0)) {
+         o[i + 613 | 0] = k;
+         e = 1;
+        }
+        if ((g | 0) != r[i + 618 | 0]) {
+         break o;
+        }
+        if (r[i + 612 | 0] == (j | 0)) {
+         break n;
+        }
+        o[i + 612 | 0] = j;
+        break m;
+       }
+       if (r[i + 612 | 0] == (j | 0)) {
+        break l;
+       }
+       o[i + 612 | 0] = j;
+       break m;
+      }
+      o[i + 618 | 0] = g;
+      if (r[i + 612 | 0] == (j | 0)) {
+       break m;
+      }
+      o[i + 612 | 0] = j;
+      break m;
+     }
+     if (!e) {
+      break l;
+     }
+    }
+    e = Nh(b, l);
+    if (e) {
+     break a;
+    }
+   }
+   e = r[i + 340 | 0];
+   g = e << 1 & 2;
+   if (e & 2) {
+    Y$(i + 288 | 0, 4208, 68);
+   }
+   o[i + 565 | 0] = l;
+   q[f + 164 >> 2] = i;
+   q[f + 168 >> 2] = q[i + 396 >> 2];
+   d = d | g;
+  }
+  e = q[q[a + 156 >> 2] >> 2];
+  Pe(e);
+  q[f + 24 >> 2] = d;
+  q[f + 20 >> 2] = e;
+  q[f + 212 >> 2] = 0;
+  q[f + 216 >> 2] = 0;
+  q[f + 32 >> 2] = x;
+  q[f + 16 >> 2] = a;
+  q[f + 12 >> 2] = b;
+  q[f + 8 >> 2] = h;
+  q[a + 124 >> 2] = 0;
+  q[a + 128 >> 2] = 0;
+  q[a + 72 >> 2] = 1869968492;
+  e = Ih(f + 8 | 0, c, 0, 0);
+  p : {
+   if (e) {
+    break p;
+   }
+   d = q[f + 20 >> 2];
+   q : {
+    if (q[a + 72 >> 2] == 1668246896) {
+     q[a + 128 >> 2] = q[d + 48 >> 2];
+     q[a + 132 >> 2] = q[d + 52 >> 2];
+     break q;
+    }
+    h = q[d + 24 >> 2];
+    e = a + 108 | 0;
+    q[e >> 2] = q[d + 20 >> 2];
+    q[e + 4 >> 2] = h;
+    q[e + 16 >> 2] = q[d + 36 >> 2];
+    h = q[d + 32 >> 2];
+    q[e + 8 >> 2] = q[d + 28 >> 2];
+    q[e + 12 >> 2] = h;
+    q[a + 124 >> 2] = q[a + 124 >> 2] & -513;
+    d = q[f + 76 >> 2];
+    if (!d) {
+     break q;
+    }
+    wf(e, 0 - d | 0, 0);
+   }
+   r : {
+    if (u) {
+     break r;
+    }
+    d = q[f + 164 >> 2];
+    if (r[d + 341 | 0]) {
+     s : {
+      d = q[d + 344 >> 2];
+      if (d >>> 0 > 5) {
+       break s;
+      }
+      t : {
+       switch (d - 1 | 0) {
+       default:
+        q[a + 124 >> 2] = q[a + 124 >> 2] | 32;
+        break r;
+       case 3:
+        q[a + 124 >> 2] = q[a + 124 >> 2] | 48;
+        break r;
+       case 0:
+        break r;
+       case 1:
+       case 2:
+        break s;
+       case 4:
+        break t;
+       }
+      }
+      q[a + 124 >> 2] = q[a + 124 >> 2] | 16;
+      break r;
+     }
+     q[a + 124 >> 2] = q[a + 124 >> 2] | 8;
+     break r;
+    }
+    q[a + 124 >> 2] = q[a + 124 >> 2] | 8;
+   }
+   e = q[f + 8 >> 2];
+   h = q[e + 96 >> 2];
+   g = 65536;
+   i = q[f + 12 >> 2];
+   d = q[f + 16 >> 2];
+   g = o[f + 24 | 0] & 1 ? g : q[q[i + 44 >> 2] + 8 >> 2];
+   u : {
+    if (q[d + 72 >> 2] != 1668246896) {
+     qf(d + 108 | 0, f + 240 | 0);
+     break u;
+    }
+    j = q[f + 56 >> 2];
+    q[f + 248 >> 2] = q[f + 52 >> 2];
+    q[f + 252 >> 2] = j;
+    j = q[f + 48 >> 2];
+    q[f + 240 >> 2] = q[f + 44 >> 2];
+    q[f + 244 >> 2] = j;
+   }
+   q[d + 56 >> 2] = q[f + 68 >> 2];
+   u = q[f + 240 >> 2];
+   q[d + 32 >> 2] = u;
+   j = q[f + 252 >> 2];
+   q[d + 36 >> 2] = j;
+   q[d + 40 >> 2] = q[f + 84 >> 2] - q[f + 76 >> 2];
+   v : {
+    w : {
+     if (q[h + 64 >> 2] != 40) {
+      break w;
+     }
+     h = q[f + 164 >> 2];
+     if (!h) {
+      break w;
+     }
+     if (r[h + 615 | 0]) {
+      break v;
+     }
+    }
+    if (q[e + 488 >> 2] | q[f + 24 >> 2] & 2097154) {
+     break v;
+    }
+    v = q[e + 776 >> 2];
+    if (!v) {
+     break v;
+    }
+    h = 0;
+    l = q[e + 768 >> 2];
+    x = l ? l + 8 | 0 : 0;
+    k = q[e + 780 >> 2];
+    m = q[e + 784 >> 2];
+    i = s[q[i + 44 >> 2] >> 1];
+    while (1) {
+     if ((i | 0) == r[h + m | 0]) {
+      i = c + 2 | 0;
+      if (!l | i >>> 0 >= k >>> 0) {
+       break v;
+      }
+      q[d + 40 >> 2] = r[i + (x + w(h, k) | 0) | 0] << 6;
+      break v;
+     }
+     h = h + 1 | 0;
+     if ((v | 0) != (h | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[d + 24 >> 2] = q[f + 248 >> 2] - u;
+   h = j - q[f + 244 >> 2] | 0;
+   q[d + 28 >> 2] = h;
+   x : {
+    if (!(!r[e + 292 | 0] | !s[e + 330 >> 1])) {
+     l = f + 192 | 0;
+     i = Fe(q[l >> 2] - j | 0, g) << 16 >> 16;
+     h = 0;
+     j = q[l >> 2];
+     l = q[f + 200 >> 2];
+     if ((j | 0) <= (l | 0)) {
+      break x;
+     }
+     h = Fe(j - l | 0, g) & 65535;
+     break x;
+    }
+    i = Fe(h, g);
+    h = s[e + 372 >> 1] == 65535;
+    h = p[e + (h ? 220 : 442) >> 1] - p[e + (h ? 222 : 444) >> 1] | 0;
+    i = (h - (i << 16 >> 16) | 0) / 2 | 0;
+   }
+   e = q[q[e + 128 >> 2] + 52 >> 2];
+   y : {
+    if (!e) {
+     break y;
+    }
+    j = q[q[e >> 2] + 8 >> 2];
+    if (!j) {
+     break y;
+    }
+    q[f + 232 >> 2] = h;
+    q[f + 228 >> 2] = i;
+    q[f + 224 >> 2] = 0;
+    e = n[j](q[e + 4 >> 2], c, 1, f + 224 | 0) | 0;
+    if (e) {
+     break p;
+    }
+    h = q[f + 232 >> 2];
+    i = q[f + 228 >> 2];
+   }
+   q[d + 60 >> 2] = h;
+   c = d;
+   if (!(o[f + 24 | 0] & 1)) {
+    i = Ee(i, g);
+    h = Ee(h, g);
+   }
+   q[c + 52 >> 2] = h;
+   q[d + 48 >> 2] = i;
+   q[d + 44 >> 2] = q[d + 32 >> 2] - (q[d + 40 >> 2] / 2 | 0);
+   e = 0;
+  }
+  ah(f + 212 | 0, q[q[f + 8 >> 2] + 100 >> 2]);
+  if (s[q[b + 44 >> 2] + 2 >> 1] > 23 | y) {
+   break a;
+  }
+  q[a + 124 >> 2] = q[a + 124 >> 2] | 256;
+ }
+ Ca = f + 256 | 0;
+ return e | 0;
+}
+function NK(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, s = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0;
+ g = Ca - 80 | 0;
+ Ca = g;
+ v = q[a >> 2];
+ a : {
+  if (f) {
+   break a;
+  }
+  h = q[a + 4 >> 2];
+  if (r[h + 12 | 0]) {
+   break a;
+  }
+  i = q[d >> 2];
+  q[g + 68 >> 2] = 0;
+  q[g + 72 >> 2] = 0;
+  q[g + 60 >> 2] = 0;
+  q[g + 64 >> 2] = 0;
+  q[g + 52 >> 2] = 0;
+  q[g + 56 >> 2] = 0;
+  q[g + 48 >> 2] = i;
+  NK(h, b, c, g + 48 | 0, e, 1);
+ }
+ b : {
+  c : {
+   if (r[d + 4 | 0]) {
+    break c;
+   }
+   i = q[c + 20 >> 2] + q[b + 20 >> 2] | 0;
+   d : {
+    if (i >>> 0 >= 97) {
+     b = q[d >> 2];
+     if (!b | q[b >> 2]) {
+      break d;
+     }
+     q[b >> 2] = 18;
+     break d;
+    }
+    q[d + 8 >> 2] = i;
+    p[d + 4 >> 1] = 257;
+    c = i + 7 >>> 3 | 0;
+    q[d + 12 >> 2] = c;
+    if (!i) {
+     break c;
+    }
+    h = -1 << (0 - i & 7);
+    if (c) {
+     c = 0;
+     while (1) {
+      o[(c + d | 0) + 16 | 0] = 255;
+      c = c + 1 | 0;
+      i = q[d + 12 >> 2];
+      if (c >>> 0 < i >>> 0) {
+       continue;
+      }
+      break;
+     }
+     c = i + -1 | 0;
+    } else {
+     c = -1;
+    }
+    c = (c + d | 0) + 16 | 0;
+    o[c | 0] = h & r[c | 0];
+    if (r[d + 4 | 0]) {
+     break c;
+    }
+   }
+   if (!r[v + 8 | 0]) {
+    break b;
+   }
+   q[q[d >> 2] >> 2] = 0;
+   o[a + 13 | 0] = 0;
+   break b;
+  }
+  q[a + 20 >> 2] = 0;
+  q[a + 24 >> 2] = 0;
+  q[g + 72 >> 2] = q[d + 24 >> 2];
+  c = q[d + 20 >> 2];
+  n = g - -64 | 0;
+  i = n;
+  q[i >> 2] = q[d + 16 >> 2];
+  q[i + 4 >> 2] = c;
+  i = d + 8 | 0;
+  c = q[i + 4 >> 2];
+  q[g + 56 >> 2] = q[i >> 2];
+  q[g + 60 >> 2] = c;
+  c = q[d + 4 >> 2];
+  q[g + 48 >> 2] = q[d >> 2];
+  q[g + 52 >> 2] = c;
+  B = q[b + 20 >> 2];
+  if (B >>> 0 > t[i >> 2]) {
+   break b;
+  }
+  if (r[v + 249 | 0]) {
+   q[g + 40 >> 2] = 0;
+   q[g + 32 >> 2] = 0;
+   q[g + 36 >> 2] = 0;
+   q[g + 24 >> 2] = 0;
+   q[g + 28 >> 2] = 0;
+   TK(a, v + 288 | 0, g + 24 | 0);
+   TK(a, g + 24 | 0, v + 268 | 0);
+  }
+  e : {
+   f : {
+    if (B) {
+     D = g + 40 | 0;
+     x = g + 32 | 0;
+     i = n;
+     y = 128;
+     while (1) {
+      g : {
+       if (!(r[i | 0] & y)) {
+        break g;
+       }
+       s = q[a + 16 >> 2];
+       q[D >> 2] = 0;
+       q[x >> 2] = 0;
+       q[x + 4 >> 2] = 0;
+       q[g + 24 >> 2] = 0;
+       q[g + 28 >> 2] = 0;
+       k = q[b + 20 >> 2];
+       c = j;
+       h : {
+        if (k >>> 0 > c >>> 0) {
+         break h;
+        }
+        c = 0;
+        h = q[b + 4 >> 2];
+        if (!h | q[h >> 2]) {
+         break h;
+        }
+        q[h >> 2] = 130;
+       }
+       i : {
+        j : {
+         k : {
+          l : {
+           l = q[b + 28 >> 2] + w(q[b + 8 >> 2], c) | 0;
+           h = q[l + 8 >> 2];
+           c = q[l + 4 >> 2];
+           m = h - c | 0;
+           if ((m | 0) != -1310720) {
+            if ((m | 0) == -1376256) {
+             z = 1;
+             break l;
+            }
+            if ((m | 0) <= -1) {
+             z = 4;
+             break l;
+            }
+            z = 4;
+            q[g + 24 >> 2] = 4;
+            q[g + 32 >> 2] = c;
+            h = c;
+            break k;
+           }
+           q[g + 40 >> 2] = s;
+           q[g + 32 >> 2] = e;
+           z = 0;
+           q[g + 24 >> 2] = 0;
+           q[g + 28 >> 2] = j;
+           m = e;
+           break j;
+          }
+          q[g + 24 >> 2] = z;
+          q[g + 32 >> 2] = h;
+         }
+         q[g + 40 >> 2] = s;
+         q[g + 28 >> 2] = j;
+         m = e + h | 0;
+         q[g + 32 >> 2] = m;
+         if (!r[l | 0]) {
+          break j;
+         }
+         F = q[l + 12 >> 2];
+         z = z | 16;
+         q[g + 24 >> 2] = z;
+         q[g + 36 >> 2] = F;
+         break i;
+        }
+        F = Ee(m, s);
+        q[g + 36 >> 2] = F;
+        k = q[b + 20 >> 2];
+       }
+       s = q[a + 16 >> 2];
+       q[g + 16 >> 2] = 0;
+       q[g + 8 >> 2] = 0;
+       q[g + 12 >> 2] = 0;
+       q[g >> 2] = 0;
+       q[g + 4 >> 2] = 0;
+       c = j;
+       m : {
+        if (k >>> 0 > c >>> 0) {
+         break m;
+        }
+        c = 0;
+        h = q[b + 4 >> 2];
+        if (!h | q[h >> 2]) {
+         break m;
+        }
+        q[h >> 2] = 130;
+       }
+       n : {
+        o : {
+         p : {
+          q : {
+           r : {
+            l = q[b + 28 >> 2] + w(q[b + 8 >> 2], c) | 0;
+            c = q[l + 8 >> 2];
+            k = q[l + 4 >> 2];
+            h = c - k | 0;
+            if ((h | 0) != -1310720) {
+             if ((h | 0) != -1376256) {
+              break r;
+             }
+             q[g + 16 >> 2] = s;
+             q[g + 8 >> 2] = e;
+             A = 0;
+             q[g >> 2] = 0;
+             q[g + 4 >> 2] = j;
+             h = e;
+             break o;
+            }
+            A = 2;
+            break q;
+           }
+           if ((h | 0) <= -1) {
+            A = 8;
+            break q;
+           }
+           A = 8;
+           q[g >> 2] = 8;
+           q[g + 8 >> 2] = c;
+           k = c;
+           break p;
+          }
+          q[g >> 2] = A;
+          q[g + 8 >> 2] = k;
+         }
+         c = q[v + 232 >> 2];
+         q[g + 16 >> 2] = s;
+         q[g + 4 >> 2] = j;
+         h = ((c << 1) + k | 0) + e | 0;
+         q[g + 8 >> 2] = h;
+         if (!r[l | 0]) {
+          break o;
+         }
+         G = q[l + 16 >> 2];
+         A = A | 16;
+         q[g >> 2] = A;
+         break n;
+        }
+        G = Ee(h, s);
+       }
+       q[g + 12 >> 2] = G;
+       s : {
+        if ((z | A) & 16) {
+         break s;
+        }
+        u = q[v + 244 >> 2];
+        if (!u) {
+         break g;
+        }
+        C = q[v + 260 >> 2];
+        s = A & 10;
+        l = z & 5;
+        c = 0;
+        while (1) {
+         E = v + w(c, 20) | 0;
+         k = E + 308 | 0;
+         t : {
+          u : {
+           if (r[E + 324 | 0]) {
+            if (!l | (q[k >> 2] - C | 0) > (m | 0)) {
+             break t;
+            }
+            k = q[E + 312 >> 2];
+            if ((m | 0) > (k + C | 0)) {
+             break t;
+            }
+            c = q[E + 320 >> 2] - F | 0;
+            if (r[v + 248 | 0]) {
+             break u;
+            }
+            c = F + 32768 & -65536;
+            if ((k - m | 0) >= q[v + 256 >> 2]) {
+             h = q[E + 320 >> 2] + -65536 | 0;
+             c = (c | 0) < (h | 0) ? c : h;
+            }
+            c = c - F | 0;
+            break u;
+           }
+           if (!s) {
+            break t;
+           }
+           k = q[k >> 2];
+           if ((k - C | 0) > (h | 0) | (h | 0) > (C + q[E + 312 >> 2] | 0)) {
+            break t;
+           }
+           c = q[E + 320 >> 2];
+           v : {
+            if (r[v + 248 | 0]) {
+             break v;
+            }
+            m = G + 32768 & -65536;
+            c = m;
+            if ((h - k | 0) < q[v + 256 >> 2]) {
+             break v;
+            }
+            c = q[E + 320 >> 2] + 65536 | 0;
+            c = (m | 0) > (c | 0) ? m : c;
+           }
+           c = c - G | 0;
+          }
+          if (z) {
+           q[g + 24 >> 2] = z | 16;
+           q[g + 36 >> 2] = c + F;
+          }
+          if (!A) {
+           break s;
+          }
+          q[g >> 2] = A | 16;
+          q[g + 12 >> 2] = c + G;
+          break s;
+         }
+         c = c + 1 | 0;
+         if ((u | 0) != (c | 0)) {
+          continue;
+         }
+         break;
+        }
+        break g;
+       }
+       TK(a, g + 24 | 0, g);
+       o[i | 0] = r[i | 0] & (y ^ -1);
+      }
+      c = (j & 7) == 7;
+      i = c ? i + 1 | 0 : i;
+      y = c ? 128 : y >>> 1 & 127;
+      j = j + 1 | 0;
+      if ((B | 0) != (j | 0)) {
+       continue;
+      }
+      break;
+     }
+     if (f) {
+      break f;
+     }
+     m = g + 40 | 0;
+     s = g + 32 | 0;
+     k = 128;
+     c = 0;
+     while (1) {
+      if (r[n | 0] & k) {
+       D = q[a + 16 >> 2];
+       q[m >> 2] = 0;
+       q[s >> 2] = 0;
+       q[s + 4 >> 2] = 0;
+       q[g + 24 >> 2] = 0;
+       q[g + 28 >> 2] = 0;
+       i = c;
+       j = q[b + 20 >> 2];
+       w : {
+        if (j >>> 0 > c >>> 0) {
+         break w;
+        }
+        i = 0;
+        h = q[b + 4 >> 2];
+        if (!h | q[h >> 2]) {
+         break w;
+        }
+        q[h >> 2] = 130;
+       }
+       u = q[b + 28 >> 2] + w(q[b + 8 >> 2], i) | 0;
+       i = q[u + 8 >> 2];
+       h = q[u + 4 >> 2];
+       l = i - h | 0;
+       x : {
+        y : {
+         if ((l | 0) != -1310720) {
+          z : {
+           if ((l | 0) == -1376256) {
+            q[g + 24 >> 2] = 1;
+            q[g + 32 >> 2] = i;
+            h = 17;
+            break z;
+           }
+           if ((l | 0) <= -1) {
+            q[g + 24 >> 2] = 4;
+            q[g + 32 >> 2] = i;
+            h = 20;
+            break z;
+           }
+           q[g + 24 >> 2] = 4;
+           q[g + 32 >> 2] = h;
+           i = h;
+           h = 20;
+          }
+          q[g + 40 >> 2] = D;
+          q[g + 28 >> 2] = c;
+          i = e + i | 0;
+          q[g + 32 >> 2] = i;
+          if (!r[u | 0]) {
+           break y;
+          }
+          i = q[u + 12 >> 2];
+          q[g + 24 >> 2] = h;
+          q[g + 36 >> 2] = i;
+          break x;
+         }
+         q[g + 40 >> 2] = D;
+         q[g + 32 >> 2] = e;
+         q[g + 24 >> 2] = 0;
+         q[g + 28 >> 2] = c;
+         i = e;
+        }
+        H = g, I = Ee(i, D), q[H + 36 >> 2] = I;
+        j = q[b + 20 >> 2];
+       }
+       u = q[a + 16 >> 2];
+       q[g + 16 >> 2] = 0;
+       q[g + 8 >> 2] = 0;
+       q[g + 12 >> 2] = 0;
+       q[g >> 2] = 0;
+       q[g + 4 >> 2] = 0;
+       i = c;
+       A : {
+        if (j >>> 0 > c >>> 0) {
+         break A;
+        }
+        i = 0;
+        j = q[b + 4 >> 2];
+        if (!j | q[j >> 2]) {
+         break A;
+        }
+        q[j >> 2] = 130;
+       }
+       B : {
+        C : {
+         D : {
+          E : {
+           l = q[b + 28 >> 2] + w(q[b + 8 >> 2], i) | 0;
+           i = q[l + 8 >> 2];
+           j = q[l + 4 >> 2];
+           h = i - j | 0;
+           if ((h | 0) != -1310720) {
+            if ((h | 0) != -1376256) {
+             break E;
+            }
+            q[g + 16 >> 2] = u;
+            q[g + 8 >> 2] = e;
+            q[g >> 2] = 0;
+            q[g + 4 >> 2] = c;
+            j = e;
+            break C;
+           }
+           q[g >> 2] = 2;
+           q[g + 8 >> 2] = j;
+           h = 18;
+           break D;
+          }
+          if ((h | 0) <= -1) {
+           q[g >> 2] = 8;
+           q[g + 8 >> 2] = j;
+           h = 24;
+           break D;
+          }
+          q[g >> 2] = 8;
+          q[g + 8 >> 2] = i;
+          j = i;
+          h = 24;
+         }
+         i = q[v + 232 >> 2];
+         q[g + 16 >> 2] = u;
+         q[g + 4 >> 2] = c;
+         j = ((i << 1) + j | 0) + e | 0;
+         q[g + 8 >> 2] = j;
+         if (!r[l | 0]) {
+          break C;
+         }
+         j = q[l + 16 >> 2];
+         q[g >> 2] = h;
+         q[g + 12 >> 2] = j;
+         break B;
+        }
+        H = g, I = Ee(j, u), q[H + 12 >> 2] = I;
+       }
+       TK(a, g + 24 | 0, g);
+      }
+      j = (c & 7) == 7;
+      n = j ? n + 1 | 0 : n;
+      k = j ? 128 : k >>> 1 & 127;
+      c = c + 1 | 0;
+      if ((B | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     break e;
+    }
+    if (!f) {
+     break e;
+    }
+   }
+   c = q[a + 20 >> 2];
+   if (q[(w(c, 20) + a | 0) + 16 >> 2] > -1 ? !(!c | q[a + 36 >> 2] > 0) : 0) {
+    break e;
+   }
+   q[g + 36 >> 2] = 0;
+   q[g + 28 >> 2] = 0;
+   q[g + 32 >> 2] = 0;
+   q[g + 24 >> 2] = 49;
+   c = q[a + 16 >> 2];
+   q[g + 8 >> 2] = 0;
+   q[g + 12 >> 2] = 0;
+   q[g + 16 >> 2] = 0;
+   q[g >> 2] = 0;
+   q[g + 4 >> 2] = 0;
+   q[g + 40 >> 2] = c;
+   TK(a, g + 24 | 0, g);
+  }
+  q[q[a + 8 >> 2] + 20 >> 2] = 0;
+  m = q[a + 20 >> 2];
+  F : {
+   if (!m) {
+    break F;
+   }
+   c = 0;
+   while (1) {
+    j = c + 1 | 0;
+    D = w(c, 20);
+    C = D + a | 0;
+    e = q[C + 28 >> 2];
+    u = e & 12;
+    y = u ? j : c;
+    G : {
+     if (e & 16) {
+      break G;
+     }
+     e = a + 28 | 0;
+     n = e + D | 0;
+     B = q[n + 12 >> 2];
+     x = B & 65535;
+     i = x ? 65536 - x | 0 : 0;
+     l = e + w(y, 20) | 0;
+     k = q[l + 12 >> 2];
+     s = k & 65535;
+     e = s ? 65536 - s | 0 : 0;
+     h = i >>> 0 < e >>> 0 ? i : e;
+     x = s >>> 0 > x >>> 0 ? x : s;
+     i = 0 - x | 0;
+     s = n + 12 | 0;
+     H : {
+      I : {
+       if (y >>> 0 < m + -1 >>> 0) {
+        n = w(y + 1 | 0, 20) + a | 0;
+        if (q[n + 40 >> 2] < ((h + k | 0) + 32768 | 0)) {
+         break I;
+        }
+       }
+       if (!(!c | q[C + 20 >> 2] <= ((B - x | 0) + -32768 | 0))) {
+        e = h;
+        break H;
+       }
+       e = (x | 0) < (h | 0) ? i : h;
+       break H;
+      }
+      J : {
+       if (c) {
+        e = 0;
+        if (q[C + 20 >> 2] > ((B - x | 0) + -32768 | 0)) {
+         break J;
+        }
+       }
+       e = i;
+       if ((h | 0) < (x | 0)) {
+        break J;
+       }
+       break H;
+      }
+      if (r[n + 28 | 0] & 16) {
+       break H;
+      }
+      q[g + 24 >> 2] = y;
+      q[g + 28 >> 2] = h - e;
+      QK(q[a + 8 >> 2], g + 24 | 0);
+      B = q[s >> 2];
+     }
+     q[s >> 2] = e + B;
+     if (!u) {
+      break G;
+     }
+     i = l + 12 | 0;
+     q[i >> 2] = q[i >> 2] + e;
+    }
+    K : {
+     if (!c) {
+      break K;
+     }
+     n = q[C + 36 >> 2];
+     h = q[C + 16 >> 2];
+     if ((n | 0) == (h | 0)) {
+      break K;
+     }
+     i = a + 28 | 0;
+     e = i + w(c + -1 | 0, 20) | 0;
+     H = e, I = Fe(q[(i + D | 0) + 12 >> 2] - q[e + 12 >> 2] | 0, n - h | 0), q[H + 16 >> 2] = I;
+    }
+    if (u) {
+     n = w(y, 20);
+     c = n + a | 0;
+     h = q[c + 36 >> 2];
+     i = q[c + 16 >> 2];
+     if ((h | 0) != (i | 0)) {
+      e = a + 28 | 0;
+      c = e + w(y + -1 | 0, 20) | 0;
+      H = c, I = Fe(q[(e + n | 0) + 12 >> 2] - q[c + 12 >> 2] | 0, h - i | 0), q[H + 16 >> 2] = I;
+     }
+     c = j;
+    }
+    c = c + 1 | 0;
+    m = q[a + 20 >> 2];
+    if (c >>> 0 < m >>> 0) {
+     continue;
+    }
+    break;
+   }
+   l = q[a + 8 >> 2];
+   e = q[l + 20 >> 2];
+   if (!e) {
+    break F;
+   }
+   m = q[l + 8 >> 2];
+   n = q[l + 28 >> 2];
+   c = e;
+   while (1) {
+    c = c + -1 | 0;
+    k = c;
+    L : {
+     if (e >>> 0 > c >>> 0) {
+      break L;
+     }
+     k = 0;
+     j = q[l + 4 >> 2];
+     if (!j | q[j >> 2]) {
+      break L;
+     }
+     q[j >> 2] = 130;
+    }
+    j = n + w(k, m) | 0;
+    k = w(q[j >> 2], 20) + a | 0;
+    i = q[j + 4 >> 2];
+    h = k + 40 | 0;
+    j = i + q[h >> 2] | 0;
+    M : {
+     if (q[k + 60 >> 2] < (j + 32768 | 0)) {
+      break M;
+     }
+     q[h >> 2] = j;
+     if (!(r[k + 28 | 0] & 12)) {
+      break M;
+     }
+     j = k + 20 | 0;
+     q[j >> 2] = i + q[j >> 2];
+    }
+    if (c) {
+     continue;
+    }
+    break;
+   }
+  }
+  N : {
+   if (f) {
+    break N;
+   }
+   j = q[a + 20 >> 2];
+   if (!j) {
+    break N;
+   }
+   c = 0;
+   while (1) {
+    h = w(c, 20) + a | 0;
+    e = h + 28 | 0;
+    i = q[e >> 2];
+    if (!(i & 32)) {
+     j = q[h + 32 >> 2];
+     O : {
+      if (t[b + 20 >> 2] > j >>> 0) {
+       break O;
+      }
+      j = 0;
+      f = q[b + 4 >> 2];
+      if (!f | q[f >> 2]) {
+       break O;
+      }
+      q[f >> 2] = 130;
+      i = q[e >> 2];
+     }
+     e = q[b + 28 >> 2] + w(q[b + 8 >> 2], j) | 0;
+     q[e + (i & 10 ? 16 : 12) >> 2] = q[h + 40 >> 2];
+     o[e | 0] = 1;
+     j = q[a + 20 >> 2];
+    }
+    c = c + 1 | 0;
+    if (c >>> 0 < j >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  o[a + 12 | 0] = 1;
+  o[d + 5 | 0] = 0;
+ }
+ Ca = g + 80 | 0;
+}
+function ep(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0;
+ f = Ca + -64 | 0;
+ Ca = f;
+ q[f + 4 >> 2] = c;
+ c = q[b + 96 >> 2];
+ e = q[c + 4 >> 2];
+ q[f >> 2] = 0;
+ d = b;
+ k = q[d + 540 >> 2];
+ a : {
+  if (!k) {
+   k = jg(e, 161104);
+   if (!k) {
+    c = 11;
+    break a;
+   }
+   q[b + 540 >> 2] = k;
+   q[b + 516 >> 2] = q[k >> 2];
+   c = q[b + 96 >> 2];
+  }
+  E = d, F = kg(c, 161820, 1), q[E + 544 >> 2] = F;
+  if (!q[b + 548 >> 2]) {
+   E = b, F = kg(ig(e, 161837), 161846, 0), q[E + 548 >> 2] = F;
+  }
+  if (!q[b + 552 >> 2]) {
+   E = b, F = kg(ig(e, 161837), 161860, 0), q[E + 552 >> 2] = F;
+  }
+  l = q[a + 28 >> 2];
+  q[b + 140 >> 2] = 0;
+  q[b + 132 >> 2] = 0;
+  q[b + 136 >> 2] = 0;
+  h = q[a + 8 >> 2];
+  d = Eg(a, f + 8 | 0);
+  b : {
+   c = q[f + 8 >> 2];
+   if (c) {
+    break b;
+   }
+   z = b + 132 | 0;
+   C = f + 29 | 0;
+   c : {
+    while (1) {
+     if ((d | 0) <= 1954115632) {
+      if ((d | 0) <= 131071) {
+       if ((d | 0) == -1519689116 | (d | 0) == -1519619212) {
+        break c;
+       }
+       c = 2;
+       if ((d | 0) == 65536) {
+        break c;
+       }
+       break b;
+      }
+      if ((d | 0) <= 1953658212) {
+       if ((d | 0) == 131072) {
+        break c;
+       }
+       c = 2;
+       if ((d | 0) == 1330926671) {
+        break c;
+       }
+       break b;
+      }
+      if ((d | 0) == 1953658213) {
+       break c;
+      }
+      c = 2;
+      if ((d | 0) != 1953784678) {
+       break b;
+      }
+      break c;
+     }
+     d : {
+      D = f;
+      e : {
+       f : {
+        g : {
+         h : {
+          if ((d | 0) != 2001684018) {
+           if ((d | 0) != 2001684038) {
+            c = 2;
+            if ((d | 0) == 1954115633) {
+             break c;
+            }
+            break b;
+           }
+           c = yg(a, h);
+           q[f + 8 >> 2] = c;
+           if (c) {
+            break b;
+           }
+           m = q[a + 28 >> 2];
+           q[f + 60 >> 2] = 0;
+           c = Xg(a, 161904, f + 16 | 0);
+           q[f + 60 >> 2] = c;
+           if (c) {
+            break d;
+           }
+           c = 8;
+           d = q[f + 20 >> 2];
+           if ((d | 0) == 1953784678 | (d | 0) == 2001684038) {
+            break d;
+           }
+           e = q[f + 24 >> 2];
+           if ((e | 0) != q[a + 4 >> 2]) {
+            break d;
+           }
+           d = s[f + 28 >> 1];
+           if (!d | w(d, 20) + 44 >>> 0 >= e >>> 0) {
+            break d;
+           }
+           e = d << 4 | 12;
+           d = q[f + 32 >> 2];
+           if (e >>> 0 >= d >>> 0 | d & 3) {
+            break d;
+           }
+           d = q[f + 44 >> 2];
+           i : {
+            if (!q[f + 40 >> 2]) {
+             if (!(d | q[f + 48 >> 2])) {
+              break i;
+             }
+             break d;
+            }
+            if (!d) {
+             break i;
+            }
+            if (!q[f + 48 >> 2]) {
+             break d;
+            }
+           }
+           if (q[f + 56 >> 2] ? !q[f + 52 >> 2] : 0) {
+            break d;
+           }
+           x = 0;
+           j = Oe(m, e, f + 60 | 0);
+           if (q[f + 60 >> 2]) {
+            p = 0;
+            c = 0;
+            break g;
+           }
+           p = Oe(m, 40, f + 60 | 0);
+           if (q[f + 60 >> 2]) {
+            c = 0;
+            break g;
+           }
+           c = 0;
+           d = s[f + 28 >> 1];
+           h = d;
+           if (d) {
+            while (1) {
+             c = c + 1 | 0;
+             h = h >>> 1 | 0;
+             if (h) {
+              continue;
+             }
+             break;
+            }
+           }
+           o[j | 0] = r[f + 23 | 0];
+           o[j + 1 | 0] = s[f + 22 >> 1];
+           o[j + 2 | 0] = q[f + 20 >> 2] >>> 8;
+           o[j + 3 | 0] = q[f + 20 >> 2];
+           o[j + 4 | 0] = r[C | 0];
+           e = r[f + 28 | 0];
+           g = d << 4;
+           c = c + -1 | 0;
+           d = 16 << c;
+           g = g - d | 0;
+           o[j + 11 | 0] = g;
+           o[j + 10 | 0] = g >>> 8;
+           o[j + 9 | 0] = c;
+           o[j + 8 | 0] = c >>> 8;
+           o[j + 7 | 0] = d;
+           o[j + 6 | 0] = d >>> 8;
+           o[j + 5 | 0] = e;
+           c = Te(m, 24, 0, s[f + 28 >> 1], 0, f + 60 | 0);
+           if (q[f + 60 >> 2]) {
+            break g;
+           }
+           x = Te(m, 4, 0, s[f + 28 >> 1], 0, f + 60 | 0);
+           if (q[f + 60 >> 2]) {
+            break g;
+           }
+           d = Kg(a, w(s[f + 28 >> 1], 20));
+           q[f + 60 >> 2] = d;
+           if (d) {
+            break g;
+           }
+           e = 0;
+           d = 0;
+           if (s[f + 28 >> 1]) {
+            while (1) {
+             h = w(d, 24) + c | 0;
+             E = h, F = Rg(a), q[E >> 2] = F;
+             E = h, F = Rg(a), q[E + 4 >> 2] = F;
+             E = h, F = Rg(a), q[E + 8 >> 2] = F;
+             E = h, F = Rg(a), q[E + 12 >> 2] = F;
+             E = h, F = Rg(a), q[E + 16 >> 2] = F;
+             g = q[h >> 2];
+             if (g >>> 0 <= e >>> 0) {
+              Ng(a);
+              q[f + 60 >> 2] = 8;
+              break g;
+             }
+             q[(d << 2) + x >> 2] = h;
+             e = g;
+             d = d + 1 | 0;
+             if (d >>> 0 < s[f + 28 >> 1]) {
+              continue;
+             }
+             break;
+            }
+           }
+           Ng(a);
+           M_(x, s[f + 28 >> 1], 4, 311);
+           e = s[f + 28 >> 1];
+           g = e << 4 | 12;
+           h = w(e, 20) + 44 | 0;
+           j : {
+            if (!e) {
+             d = g;
+             break j;
+            }
+            i = 0;
+            A = q[f + 32 >> 2];
+            B = q[f + 24 >> 2];
+            d = g;
+            while (1) {
+             k : {
+              u = q[(i << 2) + x >> 2];
+              l : {
+               if (q[u + 4 >> 2] != (h | 0)) {
+                break l;
+               }
+               v = q[u + 8 >> 2];
+               if (B >>> 0 < v >>> 0 | h >>> 0 > B - v >>> 0) {
+                break l;
+               }
+               y = q[u + 12 >> 2];
+               if (v >>> 0 > y >>> 0 | A >>> 0 < y >>> 0) {
+                break l;
+               }
+               if (d >>> 0 <= A - y >>> 0) {
+                break k;
+               }
+              }
+              q[f + 60 >> 2] = 8;
+              break g;
+             }
+             q[u + 20 >> 2] = d;
+             d = (y + 3 & -4) + d | 0;
+             h = (v + 3 & -4) + h | 0;
+             i = i + 1 | 0;
+             if ((e | 0) != (i | 0)) {
+              continue;
+             }
+             break;
+            }
+           }
+           m : {
+            e = q[f + 40 >> 2];
+            if (!e) {
+             break m;
+            }
+            if ((e | 0) == (h | 0)) {
+             h = q[f + 44 >> 2] + h | 0;
+             if (h >>> 0 <= t[f + 24 >> 2]) {
+              break m;
+             }
+            }
+            q[f + 60 >> 2] = 8;
+            break g;
+           }
+           e = q[f + 52 >> 2];
+           if (!e) {
+            e = q[f + 24 >> 2];
+            break h;
+           }
+           if ((e | 0) == (h + 3 & -4)) {
+            h = e + q[f + 56 >> 2] | 0;
+            e = q[f + 24 >> 2];
+            if (h >>> 0 <= e >>> 0) {
+             break h;
+            }
+           }
+           q[f + 60 >> 2] = 8;
+           break g;
+          }
+          c = yg(a, h);
+          q[f + 8 >> 2] = c;
+          if (c) {
+           break b;
+          }
+          c = gp(a, b, f + 4 | 0, f);
+          break f;
+         }
+         if (!(q[f + 32 >> 2] == (d | 0) ? (e | 0) == (h | 0) : 0)) {
+          q[f + 60 >> 2] = 8;
+          break g;
+         }
+         j = Te(m, 1, g, d, j, f + 60 | 0);
+         if (q[f + 60 >> 2]) {
+          break g;
+         }
+         if (s[f + 28 >> 1]) {
+          d = j + 12 | 0;
+          e = 0;
+          while (1) {
+           g = w(e, 24) + c | 0;
+           o[d | 0] = r[g + 3 | 0];
+           o[d + 1 | 0] = s[g + 2 >> 1];
+           o[d + 2 | 0] = q[g >> 2] >>> 8;
+           o[d + 3 | 0] = q[g >> 2];
+           o[d + 4 | 0] = r[g + 19 | 0];
+           o[d + 5 | 0] = s[g + 18 >> 1];
+           o[d + 6 | 0] = q[g + 16 >> 2] >>> 8;
+           o[d + 7 | 0] = q[g + 16 >> 2];
+           o[d + 8 | 0] = r[g + 23 | 0];
+           o[d + 9 | 0] = s[g + 22 >> 1];
+           o[d + 10 | 0] = q[g + 20 >> 2] >>> 8;
+           o[d + 11 | 0] = q[g + 20 >> 2];
+           o[d + 12 | 0] = r[g + 15 | 0];
+           o[d + 13 | 0] = s[g + 14 >> 1];
+           o[d + 14 | 0] = q[g + 12 >> 2] >>> 8;
+           o[d + 15 | 0] = q[g + 12 >> 2];
+           h = yg(a, q[g + 4 >> 2]);
+           q[f + 60 >> 2] = h;
+           if (h) {
+            break g;
+           }
+           h = Kg(a, q[g + 8 >> 2]);
+           q[f + 60 >> 2] = h;
+           if (h) {
+            break g;
+           }
+           h = g + 20 | 0;
+           n : {
+            i = g + 8 | 0;
+            u = q[i >> 2];
+            g = g + 12 | 0;
+            v = q[g >> 2];
+            if ((u | 0) == (v | 0)) {
+             Y$(q[h >> 2] + j | 0, q[a + 32 >> 2], u);
+             break n;
+            }
+            q[f + 12 >> 2] = v;
+            i = xm(m, q[h >> 2] + j | 0, f + 12 | 0, q[a + 32 >> 2], q[i >> 2]);
+            q[f + 60 >> 2] = i;
+            if (!i) {
+             if (q[f + 12 >> 2] == q[g >> 2]) {
+              break n;
+             }
+             q[f + 60 >> 2] = 8;
+            }
+            Ng(a);
+            break g;
+           }
+           Ng(a);
+           g = q[g >> 2] + q[h >> 2] | 0;
+           if (g & 3) {
+            Z$(g + j | 0, 0, ((g ^ -1) & 3) + 1 | 0);
+           }
+           d = d + 16 | 0;
+           e = e + 1 | 0;
+           if (e >>> 0 < s[f + 28 >> 1]) {
+            continue;
+           }
+           break;
+          }
+         }
+         mf(p, j, q[f + 32 >> 2]);
+         a = q[a + 28 >> 2];
+         q[p + 24 >> 2] = 312;
+         q[p + 28 >> 2] = a;
+         nf(q[b + 104 >> 2], q[b + 8 >> 2] >>> 10 & 1);
+         q[b + 104 >> 2] = p;
+         q[b + 8 >> 2] = q[b + 8 >> 2] & -1025;
+        }
+        Qe(m, c);
+        Qe(m, x);
+        if (!q[f + 60 >> 2]) {
+         q[f + 8 >> 2] = 0;
+         break e;
+        }
+        Qe(m, j);
+        of(p);
+        Qe(m, p);
+        c = q[f + 60 >> 2];
+       }
+       q[D + 8 >> 2] = c;
+       if (c) {
+        break b;
+       }
+      }
+      a = q[b + 104 >> 2];
+      h = q[a + 8 >> 2];
+      d = Eg(a, f + 8 | 0);
+      c = q[f + 8 >> 2];
+      if (!c) {
+       continue;
+      }
+      break b;
+     }
+     break;
+    }
+    q[f + 8 >> 2] = c;
+    q[f + 16 >> 2] = c;
+    break a;
+   }
+   q[z >> 2] = 1953784678;
+   o : {
+    if ((d | 0) == 1953784678) {
+     c = Xg(a, 161888, z);
+     q[f + 8 >> 2] = c;
+     if (c) {
+      break b;
+     }
+     d = q[b + 140 >> 2];
+     if (!d) {
+      c = 8;
+      q[f + 16 >> 2] = 8;
+      break a;
+     }
+     c = 10;
+     if (d >>> 0 > q[a + 4 >> 2] >>> 5 >>> 0) {
+      break b;
+     }
+     E = b, F = Te(l, 4, 0, d, 0, f + 8 | 0), q[E + 144 >> 2] = F;
+     c = q[f + 8 >> 2];
+     if (c) {
+      break b;
+     }
+     c = Kg(a, q[b + 140 >> 2] << 2);
+     q[f + 8 >> 2] = c;
+     if (c) {
+      break b;
+     }
+     if (q[b + 140 >> 2] >= 1) {
+      c = 0;
+      while (1) {
+       d = Rg(a);
+       q[q[b + 144 >> 2] + (c << 2) >> 2] = d;
+       c = c + 1 | 0;
+       if ((c | 0) < q[b + 140 >> 2]) {
+        continue;
+       }
+       break;
+      }
+     }
+     Ng(a);
+     c = q[f + 8 >> 2];
+     q[f + 16 >> 2] = c;
+     if (!c) {
+      break o;
+     }
+     break a;
+    }
+    q[b + 136 >> 2] = 65536;
+    q[b + 140 >> 2] = 1;
+    a = Oe(l, 4, f + 8 | 0);
+    q[b + 144 >> 2] = a;
+    c = q[f + 8 >> 2];
+    if (c) {
+     break b;
+    }
+    q[a >> 2] = h;
+    q[f + 16 >> 2] = 0;
+   }
+   u = q[f + 4 >> 2];
+   a = u >> 31;
+   d = f;
+   i = q[b + 104 >> 2];
+   e = i;
+   g = q[b + 144 >> 2];
+   y = a ^ a + u;
+   c = a + (y & 65535) | 0;
+   if ((c | 0) >= q[b + 140 >> 2]) {
+    c = 6;
+    if ((u | 0) > -1) {
+     break a;
+    }
+    c = 0;
+   }
+   c = yg(e, q[g + (c << 2) >> 2]);
+   q[d + 16 >> 2] = c;
+   if (c) {
+    break a;
+   }
+   c = n[q[k + 88 >> 2]](b, i) | 0;
+   q[f + 16 >> 2] = c;
+   if (c) {
+    break a;
+   }
+   v = q[b + 100 >> 2];
+   j = 0;
+   p : {
+    if (n[q[b + 516 >> 2]](b, 1719034226, i, f + 60 | 0)) {
+     e = 0;
+     x = 0;
+     g = 0;
+     c = 0;
+     a = 0;
+     break p;
+    }
+    e = 0;
+    x = 0;
+    g = 0;
+    c = 0;
+    a = 0;
+    if (t[f + 60 >> 2] < 20) {
+     break p;
+    }
+    p = Eg(i, f + 16 | 0);
+    a = 0;
+    if (q[f + 16 >> 2]) {
+     break p;
+    }
+    h = Bg(i, f + 16 | 0);
+    a = 0;
+    if (q[f + 16 >> 2]) {
+     break p;
+    }
+    d = Ag(i, 2);
+    q[f + 16 >> 2] = d;
+    a = 0;
+    if (d) {
+     break p;
+    }
+    l = Bg(i, f + 16 | 0);
+    a = 0;
+    if (q[f + 16 >> 2]) {
+     break p;
+    }
+    m = Bg(i, f + 16 | 0);
+    a = 0;
+    if (q[f + 16 >> 2]) {
+     break p;
+    }
+    k = Bg(i, f + 16 | 0);
+    a = 0;
+    if (q[f + 16 >> 2]) {
+     break p;
+    }
+    d = Bg(i, f + 16 | 0);
+    a = 0;
+    if (q[f + 16 >> 2]) {
+     break p;
+    }
+    q : {
+     r : {
+      if ((p | 0) != 65536) {
+       break r;
+      }
+      x = 20;
+      if ((m | 0) != 20) {
+       break r;
+      }
+      s : {
+       if ((l + -1 & 65535) >>> 0 > 16381 | k >>> 0 > 32511) {
+        break s;
+       }
+       a = l << 2;
+       if ((d | 0) != (a + 4 | 0) & (d | 0) != (a + 6 | 0) | (h + w(l, 20) | 0) + w(d, k) >>> 0 > t[f + 60 >> 2]) {
+        break s;
+       }
+       q[b + 740 >> 2] = q[b + 740 >> 2] | 1;
+       e = d;
+       g = l;
+       c = k;
+       a = h;
+       break p;
+      }
+      break q;
+     }
+     x = m;
+    }
+    e = d;
+    g = l;
+    a = h;
+   }
+   t : {
+    if (!(o[b + 740 | 0] & 1)) {
+     d = 0;
+     break t;
+    }
+    l = g << 2;
+    d = Oe(v, l, f + 16 | 0);
+    if (q[f + 16 >> 2]) {
+     break t;
+    }
+    j = Oe(v, l, f + 16 | 0);
+    if (q[f + 16 >> 2]) {
+     break t;
+    }
+    h = (a + q[i + 8 >> 2] | 0) + -16 | 0;
+    if (g) {
+     k = h + 8 | 0;
+     p = 0;
+     a = d;
+     while (1) {
+      E = f, F = Hg(i, k, a, 4), q[E + 16 >> 2] = F;
+      a = a + 4 | 0;
+      k = k + x | 0;
+      p = p + 1 | 0;
+      if ((g | 0) != (p | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    u : {
+     if (!c) {
+      a = 0;
+      break u;
+     }
+     k = (h + w(g, x) | 0) + 4 | 0;
+     a = 0;
+     while (1) {
+      E = f, F = Hg(i, k, j, l), q[E + 16 >> 2] = F;
+      if (!ZY(d, j, l)) {
+       break u;
+      }
+      k = e + k | 0;
+      a = a + 1 | 0;
+      if ((a | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     a = c;
+    }
+    c = ((a | 0) == (c | 0)) + c | 0;
+   }
+   e = y >>> 16 | 0;
+   Qe(v, d);
+   Qe(v, j);
+   v : {
+    if (!n[q[b + 516 >> 2]](b, 1735162214, i, 0)) {
+     break v;
+    }
+    if (!n[q[b + 516 >> 2]](b, 1128678962, i, 0)) {
+     break v;
+    }
+    c = n[q[b + 516 >> 2]](b, 1128678944, i, 0) | 0 ? c : 0;
+   }
+   a = b;
+   w : {
+    if (e >>> 0 > (c & 65535) >>> 0) {
+     if ((u | 0) > -1) {
+      break w;
+     }
+     c = 0;
+    }
+    q[a + 12 >> 2] = c << 16;
+    q[b + 4 >> 2] = u;
+    q[b >> 2] = q[b + 140 >> 2];
+    a = q[f >> 2];
+    if (a) {
+     q[b >> 2] = a;
+    }
+    c = q[f + 16 >> 2];
+    break a;
+   }
+   c = 6;
+   break a;
+  }
+  q[f + 16 >> 2] = c;
+ }
+ Ca = f - -64 | 0;
+ return c | 0;
+}
+function y_(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, s = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = x(0), G = 0;
+ d = 2943;
+ h = Ca - 304 | 0;
+ Ca = h;
+ e = r[2943];
+ a : {
+  if (!e) {
+   break a;
+  }
+  j = a + 4 | 0;
+  b : {
+   while (1) {
+    c : {
+     d : {
+      if (vY(e & 255)) {
+       while (1) {
+        e = d;
+        d = d + 1 | 0;
+        if (vY(r[e + 1 | 0])) {
+         continue;
+        }
+        break;
+       }
+       o_(a, 0, 0);
+       while (1) {
+        c = q[a + 4 >> 2];
+        e : {
+         if (c >>> 0 < t[a + 104 >> 2]) {
+          q[j >> 2] = c + 1;
+          c = r[c | 0];
+          break e;
+         }
+         c = p_(a);
+        }
+        if (vY(c)) {
+         continue;
+        }
+        break;
+       }
+       f : {
+        if (!q[a + 104 >> 2]) {
+         d = q[j >> 2];
+         break f;
+        }
+        d = q[j >> 2] + -1 | 0;
+        q[j >> 2] = d;
+       }
+       c = d - q[a + 8 >> 2] | 0;
+       d = c;
+       c = c >> 31;
+       f = d;
+       i = i + q[a + 124 >> 2] | 0;
+       d = l + q[a + 120 >> 2] | 0;
+       if (d >>> 0 < l >>> 0) {
+        i = i + 1 | 0;
+       }
+       l = f + d | 0;
+       c = c + i | 0;
+       c = l >>> 0 < d >>> 0 ? c + 1 | 0 : c;
+       i = c;
+       break d;
+      }
+      g : {
+       h : {
+        i : {
+         c = r[d | 0];
+         if ((c | 0) == 37) {
+          e = r[d + 1 | 0];
+          if ((e | 0) == 42) {
+           break i;
+          }
+          if ((e | 0) != 37) {
+           break h;
+          }
+         }
+         o_(a, 0, 0);
+         e = ((c | 0) == 37) + d | 0;
+         c = q[a + 4 >> 2];
+         j : {
+          if (c >>> 0 < t[a + 104 >> 2]) {
+           q[j >> 2] = c + 1;
+           c = r[c | 0];
+           break j;
+          }
+          c = p_(a);
+         }
+         if ((c | 0) != r[e | 0]) {
+          if (q[a + 104 >> 2]) {
+           q[j >> 2] = q[j >> 2] + -1;
+          }
+          z = 0;
+          if ((c | 0) >= 0) {
+           break a;
+          }
+          break c;
+         }
+         c = l + 1 | 0;
+         if (c >>> 0 < 1) {
+          i = i + 1 | 0;
+         }
+         l = c;
+         break d;
+        }
+        k = 0;
+        e = d + 2 | 0;
+        break g;
+       }
+       if (!(!TZ(e) | r[d + 2 | 0] != 36)) {
+        k = z_(b, r[d + 1 | 0] + -48 | 0);
+        e = d + 3 | 0;
+        break g;
+       }
+       k = q[b >> 2];
+       b = b + 4 | 0;
+       e = d + 1 | 0;
+      }
+      z = 0;
+      d = 0;
+      if (TZ(r[e | 0])) {
+       while (1) {
+        d = (r[e | 0] + w(d, 10) | 0) + -48 | 0;
+        c = r[e + 1 | 0];
+        e = e + 1 | 0;
+        if (TZ(c)) {
+         continue;
+        }
+        break;
+       }
+      }
+      c = e;
+      g = r[c | 0];
+      k : {
+       if ((g | 0) != 109) {
+        break k;
+       }
+       m = 0;
+       z = (k | 0) != 0;
+       g = r[e + 1 | 0];
+       s = 0;
+       c = e + 1 | 0;
+      }
+      f = (g & 255) + -65 | 0;
+      if (f >>> 0 > 57) {
+       break c;
+      }
+      e = c + 1 | 0;
+      g = 3;
+      l : {
+       m : {
+        switch (f - 1 | 0) {
+        case 38:
+         f = c + 2 | 0;
+         c = r[c + 1 | 0] == 104;
+         e = c ? f : e;
+         g = c ? -2 : -1;
+         break l;
+        case 42:
+         f = c + 2 | 0;
+         c = r[c + 1 | 0] == 108;
+         e = c ? f : e;
+         g = c ? 3 : 1;
+         break l;
+        case 50:
+        case 56:
+         g = 1;
+         break l;
+        case 10:
+         g = 2;
+         break l;
+        case 40:
+         break l;
+        case 0:
+        case 2:
+        case 6:
+        case 7:
+        case 8:
+        case 9:
+        case 11:
+        case 12:
+        case 13:
+        case 14:
+        case 15:
+        case 16:
+        case 18:
+        case 19:
+        case 20:
+        case 21:
+        case 23:
+        case 24:
+        case 26:
+        case 27:
+        case 28:
+        case 29:
+        case 30:
+        case 32:
+        case 41:
+        case 43:
+        case 47:
+        case 48:
+        case 52:
+        case 53:
+        case 55:
+         break c;
+        default:
+         break m;
+        }
+       }
+       g = 0;
+       e = c;
+      }
+      c = r[e | 0];
+      f = (c & 47) == 3;
+      A = f ? 1 : g;
+      y = f ? c | 32 : c;
+      n : {
+       if ((y | 0) == 91) {
+        break n;
+       }
+       o : {
+        if ((y | 0) != 110) {
+         if ((y | 0) != 99) {
+          break o;
+         }
+         d = (d | 0) > 1 ? d : 1;
+         break n;
+        }
+        A_(k, A, l, i);
+        break d;
+       }
+       o_(a, 0, 0);
+       while (1) {
+        c = q[a + 4 >> 2];
+        p : {
+         if (c >>> 0 < t[a + 104 >> 2]) {
+          q[j >> 2] = c + 1;
+          c = r[c | 0];
+          break p;
+         }
+         c = p_(a);
+        }
+        if (vY(c)) {
+         continue;
+        }
+        break;
+       }
+       q : {
+        if (!q[a + 104 >> 2]) {
+         c = q[j >> 2];
+         break q;
+        }
+        c = q[j >> 2] + -1 | 0;
+        q[j >> 2] = c;
+       }
+       c = c - q[a + 8 >> 2] | 0;
+       f = c;
+       n = c >> 31;
+       i = i + q[a + 124 >> 2] | 0;
+       c = l + q[a + 120 >> 2] | 0;
+       if (c >>> 0 < l >>> 0) {
+        i = i + 1 | 0;
+       }
+       l = c;
+       c = c + f | 0;
+       i = i + n | 0;
+       i = c >>> 0 < l >>> 0 ? i + 1 | 0 : i;
+       l = c;
+      }
+      c = d >> 31;
+      C = c;
+      D = d;
+      o_(a, d, c);
+      f = q[a + 4 >> 2];
+      c = q[a + 104 >> 2];
+      r : {
+       if (f >>> 0 < c >>> 0) {
+        q[j >> 2] = f + 1;
+        break r;
+       }
+       if ((p_(a) | 0) < 0) {
+        break c;
+       }
+       c = q[a + 104 >> 2];
+      }
+      if (c) {
+       q[j >> 2] = q[j >> 2] + -1;
+      }
+      s : {
+       t : {
+        c = y + -88 | 0;
+        if (c >>> 0 > 32) {
+         c = y + -65 | 0;
+         if (c >>> 0 > 6 | !(1 << c & 113)) {
+          break s;
+         }
+         break t;
+        }
+        g = 16;
+        u : {
+         v : {
+          w : {
+           switch (c - 1 | 0) {
+           case 16:
+            g = 0;
+            break v;
+           case 11:
+           case 28:
+            g = 10;
+            break v;
+           case 0:
+           case 1:
+           case 3:
+           case 4:
+           case 5:
+           case 6:
+           case 7:
+           case 9:
+           case 15:
+           case 17:
+           case 18:
+           case 19:
+           case 20:
+           case 21:
+           case 24:
+           case 25:
+           case 27:
+           case 29:
+           case 30:
+            break s;
+           case 8:
+           case 12:
+           case 13:
+           case 14:
+            break t;
+           case 2:
+           case 10:
+           case 26:
+            break u;
+           case 22:
+            break w;
+           default:
+            break v;
+           }
+          }
+          g = 8;
+         }
+         c = q_(a, g, 0, -1, -1);
+         d = Ea;
+         f = q[a + 4 >> 2] - q[a + 8 >> 2] | 0;
+         if (q[a + 120 >> 2] == (0 - f | 0) & q[a + 124 >> 2] == (0 - ((f >> 31) + (0 < f >>> 0) | 0) | 0)) {
+          break b;
+         }
+         if (!(!k | (y | 0) != 112)) {
+          q[k >> 2] = c;
+          break s;
+         }
+         A_(k, A, c, d);
+         break s;
+        }
+        x : {
+         if ((y | 16) == 115) {
+          Z$(h + 32 | 0, -1, 257);
+          o[h + 32 | 0] = 0;
+          if ((y | 0) != 115) {
+           break x;
+          }
+          o[h + 65 | 0] = 0;
+          o[h + 46 | 0] = 0;
+          p[h + 42 >> 1] = 0;
+          p[h + 44 >> 1] = 0;
+          break x;
+         }
+         f = r[e + 1 | 0];
+         n = (f | 0) == 94;
+         Z$(h + 32 | 0, n, 257);
+         o[h + 32 | 0] = 0;
+         c = n ? e + 2 | 0 : e + 1 | 0;
+         y : {
+          z : {
+           A : {
+            e = r[(n ? 2 : 1) + e | 0];
+            if ((e | 0) != 45) {
+             if ((e | 0) == 93) {
+              break A;
+             }
+             g = (f | 0) != 94;
+             break y;
+            }
+            g = (f | 0) != 94;
+            o[h + 78 | 0] = g;
+            break z;
+           }
+           g = (f | 0) != 94;
+           o[h + 126 | 0] = g;
+          }
+          c = c + 1 | 0;
+         }
+         e = c;
+         while (1) {
+          c = r[e | 0];
+          B : {
+           if ((c | 0) != 45) {
+            if (!c) {
+             break c;
+            }
+            if ((c | 0) != 93) {
+             break B;
+            }
+            break x;
+           }
+           c = 45;
+           f = r[e + 1 | 0];
+           if (!f | (f | 0) == 93) {
+            break B;
+           }
+           n = e + 1 | 0;
+           e = r[e + -1 | 0];
+           C : {
+            if (e >>> 0 >= f >>> 0) {
+             c = f;
+             break C;
+            }
+            while (1) {
+             e = e + 1 | 0;
+             o[e + (h + 32 | 0) | 0] = g;
+             c = r[n | 0];
+             if (e >>> 0 < c >>> 0) {
+              continue;
+             }
+             break;
+            }
+           }
+           e = n;
+          }
+          o[(c + h | 0) + 33 | 0] = g;
+          e = e + 1 | 0;
+          continue;
+         }
+        }
+        n = (y | 0) == 99;
+        g = n ? d + 1 | 0 : 31;
+        D : {
+         E : {
+          y = (A | 0) != 1;
+          F : {
+           if (!y) {
+            c = k;
+            if (z) {
+             c = L$(g << 2);
+             if (!c) {
+              break D;
+             }
+            }
+            q[h + 296 >> 2] = 0;
+            q[h + 300 >> 2] = 0;
+            d = 0;
+            while (1) {
+             s = c;
+             G : {
+              while (1) {
+               c = q[a + 4 >> 2];
+               H : {
+                if (c >>> 0 < t[a + 104 >> 2]) {
+                 q[j >> 2] = c + 1;
+                 c = r[c | 0];
+                 break H;
+                }
+                c = p_(a);
+               }
+               if (!r[(c + h | 0) + 33 | 0]) {
+                break G;
+               }
+               o[h + 27 | 0] = c;
+               c = r_(h + 28 | 0, h + 27 | 0, 1, h + 296 | 0);
+               if ((c | 0) == -2) {
+                continue;
+               }
+               if ((c | 0) == -1) {
+                break E;
+               }
+               if (s) {
+                q[(d << 2) + s >> 2] = q[h + 28 >> 2];
+                d = d + 1 | 0;
+               }
+               if (!z | (d | 0) != (g | 0)) {
+                continue;
+               }
+               break;
+              }
+              g = g << 1 | 1;
+              c = O$(s, g << 2);
+              if (c) {
+               continue;
+              }
+              break E;
+             }
+             break;
+            }
+            m = h + 296 | 0;
+            c = 1;
+            I : {
+             if (!m) {
+              break I;
+             }
+             c = !q[m >> 2];
+            }
+            if (!c) {
+             break E;
+            }
+            m = 0;
+            break F;
+           }
+           if (z) {
+            d = 0;
+            c = L$(g);
+            if (!c) {
+             break D;
+            }
+            while (1) {
+             m = c;
+             while (1) {
+              c = q[a + 4 >> 2];
+              J : {
+               if (c >>> 0 < t[a + 104 >> 2]) {
+                q[j >> 2] = c + 1;
+                c = r[c | 0];
+                break J;
+               }
+               c = p_(a);
+              }
+              if (!r[(c + h | 0) + 33 | 0]) {
+               s = 0;
+               break F;
+              }
+              o[d + m | 0] = c;
+              d = d + 1 | 0;
+              if ((g | 0) != (d | 0)) {
+               continue;
+              }
+              break;
+             }
+             s = 0;
+             g = g << 1 | 1;
+             c = O$(m, g);
+             if (c) {
+              continue;
+             }
+             break;
+            }
+            break c;
+           }
+           d = 0;
+           if (k) {
+            while (1) {
+             c = q[a + 4 >> 2];
+             K : {
+              if (c >>> 0 < t[a + 104 >> 2]) {
+               q[j >> 2] = c + 1;
+               c = r[c | 0];
+               break K;
+              }
+              c = p_(a);
+             }
+             if (r[(c + h | 0) + 33 | 0]) {
+              o[d + k | 0] = c;
+              d = d + 1 | 0;
+              continue;
+             } else {
+              s = 0;
+              m = k;
+              break F;
+             }
+            }
+           }
+           while (1) {
+            c = q[a + 4 >> 2];
+            L : {
+             if (c >>> 0 < t[a + 104 >> 2]) {
+              q[j >> 2] = c + 1;
+              c = r[c | 0];
+              break L;
+             }
+             c = p_(a);
+            }
+            if (r[(c + h | 0) + 33 | 0]) {
+             continue;
+            }
+            break;
+           }
+           m = 0;
+           s = 0;
+          }
+          M : {
+           if (!q[a + 104 >> 2]) {
+            c = q[j >> 2];
+            break M;
+           }
+           c = q[j >> 2] + -1 | 0;
+           q[j >> 2] = c;
+          }
+          c = c - q[a + 8 >> 2] | 0;
+          g = c;
+          f = c + q[a + 120 >> 2] | 0;
+          c = q[a + 124 >> 2] + (c >> 31) | 0;
+          c = f >>> 0 < g >>> 0 ? c + 1 | 0 : c;
+          if (!(c | f) | (n ? (f | 0) != (D | 0) | (c | 0) != (C | 0) : 0)) {
+           break b;
+          }
+          N : {
+           if (!z) {
+            break N;
+           }
+           if (!y) {
+            q[k >> 2] = s;
+            break N;
+           }
+           q[k >> 2] = m;
+          }
+          if (n) {
+           break s;
+          }
+          if (s) {
+           q[(d << 2) + s >> 2] = 0;
+          }
+          if (!m) {
+           m = 0;
+           break s;
+          }
+          o[d + m | 0] = 0;
+          break s;
+         }
+         m = 0;
+         break c;
+        }
+        m = 0;
+        s = 0;
+        break c;
+       }
+       u_(h, a, A, 0);
+       c = q[a + 4 >> 2] - q[a + 8 >> 2] | 0;
+       if (q[a + 120 >> 2] == (0 - c | 0) & q[a + 124 >> 2] == (0 - ((c >> 31) + (0 < c >>> 0) | 0) | 0)) {
+        break b;
+       }
+       if (!k | A >>> 0 > 2) {
+        break s;
+       }
+       c = q[h + 8 >> 2];
+       d = q[h + 12 >> 2];
+       f = q[h >> 2];
+       n = q[h + 4 >> 2];
+       O : {
+        switch (A - 1 | 0) {
+        default:
+         E = k, F = A$(f, n, c, d), u[E >> 2] = F;
+         break s;
+        case 0:
+         E = k, G = z$(f, n, c, d), v[E >> 3] = G;
+         break s;
+        case 1:
+         break O;
+        }
+       }
+       q[k >> 2] = f;
+       q[k + 4 >> 2] = n;
+       q[k + 8 >> 2] = c;
+       q[k + 12 >> 2] = d;
+      }
+      c = q[a + 4 >> 2] - q[a + 8 >> 2] | 0;
+      d = c;
+      f = c >> 31;
+      i = i + q[a + 124 >> 2] | 0;
+      c = l + q[a + 120 >> 2] | 0;
+      if (c >>> 0 < l >>> 0) {
+       i = i + 1 | 0;
+      }
+      l = c;
+      c = c + d | 0;
+      i = i + f | 0;
+      i = c >>> 0 < l >>> 0 ? i + 1 | 0 : i;
+      l = c;
+      B = ((k | 0) != 0) + B | 0;
+     }
+     d = e + 1 | 0;
+     e = r[e + 1 | 0];
+     if (e) {
+      continue;
+     }
+     break a;
+    }
+    break;
+   }
+   B = B ? B : -1;
+  }
+  if (!z) {
+   break a;
+  }
+  M$(m);
+  M$(s);
+ }
+ Ca = h + 304 | 0;
+ return B;
+}
+function w_(a, b, c, d, e, f, g) {
+ var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0, u = 0, v = 0, x = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0;
+ h = Ca - 8960 | 0;
+ Ca = h;
+ A = d + e | 0;
+ G = 0 - A | 0;
+ a : {
+  b : {
+   while (1) {
+    c : {
+     if ((c | 0) != 48) {
+      if ((c | 0) != 46) {
+       break a;
+      }
+      c = q[b + 4 >> 2];
+      if (c >>> 0 >= t[b + 104 >> 2]) {
+       break c;
+      }
+      q[b + 4 >> 2] = c + 1;
+      c = r[c | 0];
+      break b;
+     }
+     c = q[b + 4 >> 2];
+     if (c >>> 0 < t[b + 104 >> 2]) {
+      o = 1;
+      q[b + 4 >> 2] = c + 1;
+      c = r[c | 0];
+     } else {
+      o = 1;
+      c = p_(b);
+     }
+     continue;
+    }
+    break;
+   }
+   c = p_(b);
+  }
+  k = 1;
+  if ((c | 0) != 48) {
+   break a;
+  }
+  while (1) {
+   i = i + -1 | 0;
+   c = j + -1 | 0;
+   if (c >>> 0 < 4294967295) {
+    i = i + 1 | 0;
+   }
+   j = c;
+   c = q[b + 4 >> 2];
+   d : {
+    if (c >>> 0 < t[b + 104 >> 2]) {
+     q[b + 4 >> 2] = c + 1;
+     c = r[c | 0];
+     break d;
+    }
+    c = p_(b);
+   }
+   if ((c | 0) == 48) {
+    continue;
+   }
+   break;
+  }
+  o = 1;
+ }
+ q[h + 768 >> 2] = 0;
+ H = a;
+ I = a;
+ e : {
+  f : {
+   l = (c | 0) == 46;
+   x = c + -48 | 0;
+   g : {
+    h : {
+     i : {
+      j : {
+       if (!(l | x >>> 0 <= 9)) {
+        break j;
+       }
+       while (1) {
+        k : {
+         if (l & 1) {
+          if (!k) {
+           j = p;
+           i = m;
+           k = 1;
+           break k;
+          }
+          o = (o | 0) != 0;
+          break i;
+         }
+         l = p + 1 | 0;
+         if (l >>> 0 < 1) {
+          m = m + 1 | 0;
+         }
+         p = l;
+         if ((n | 0) <= 2044) {
+          z = (c | 0) != 48 ? p : z;
+          l = (h + 768 | 0) + (n << 2) | 0;
+          o = l;
+          if (s) {
+           x = (w(q[l >> 2], 10) + c | 0) + -48 | 0;
+          }
+          q[o >> 2] = x;
+          o = 1;
+          l = s + 1 | 0;
+          c = (l | 0) == 9;
+          s = c ? 0 : l;
+          n = c + n | 0;
+          break k;
+         }
+         if ((c | 0) == 48) {
+          break k;
+         }
+         q[h + 8944 >> 2] = q[h + 8944 >> 2] | 1;
+        }
+        c = q[b + 4 >> 2];
+        l : {
+         if (c >>> 0 < t[b + 104 >> 2]) {
+          q[b + 4 >> 2] = c + 1;
+          c = r[c | 0];
+          break l;
+         }
+         c = p_(b);
+        }
+        l = (c | 0) == 46;
+        x = c + -48 | 0;
+        if (l | x >>> 0 < 10) {
+         continue;
+        }
+        break;
+       }
+      }
+      j = k ? j : p;
+      i = k ? i : m;
+      if (!(!o | (c | 32) != 101)) {
+       c = x_(b, g);
+       l = Ea;
+       k = l;
+       m : {
+        if (c | (k | 0) != -2147483648) {
+         break m;
+        }
+        if (!g) {
+         break g;
+        }
+        c = 0;
+        k = 0;
+        if (!q[b + 104 >> 2]) {
+         break m;
+        }
+        q[b + 4 >> 2] = q[b + 4 >> 2] + -1;
+       }
+       i = i + k | 0;
+       b = c + j | 0;
+       if (b >>> 0 < c >>> 0) {
+        i = i + 1 | 0;
+       }
+       j = b;
+       break f;
+      }
+      o = (o | 0) != 0;
+      if ((c | 0) < 0) {
+       break h;
+      }
+     }
+     if (!q[b + 104 >> 2]) {
+      break h;
+     }
+     q[b + 4 >> 2] = q[b + 4 >> 2] + -1;
+    }
+    if (o) {
+     break f;
+    }
+    q[160854] = 28;
+   }
+   o_(b, 0, 0);
+   j = 0;
+   i = 0;
+   c = 0;
+   b = 0;
+   break e;
+  }
+  b = q[h + 768 >> 2];
+  if (!b) {
+   r$(h, +(f | 0) * 0);
+   j = q[h + 8 >> 2];
+   i = q[h + 12 >> 2];
+   c = q[h + 4 >> 2];
+   b = q[h >> 2];
+   break e;
+  }
+  if (!((j | 0) != (p | 0) | (i | 0) != (m | 0) | ((m | 0) > 0 ? 1 : (m | 0) >= 0 ? p >>> 0 <= 9 ? 0 : 1 : 0) | (b >>> d | 0 ? (d | 0) <= 30 : 0))) {
+   t$(h + 48 | 0, f);
+   u$(h + 32 | 0, b);
+   w$(h + 16 | 0, q[h + 48 >> 2], q[h + 52 >> 2], q[h + 56 >> 2], q[h + 60 >> 2], q[h + 32 >> 2], q[h + 36 >> 2], q[h + 40 >> 2], q[h + 44 >> 2]);
+   j = q[h + 24 >> 2];
+   i = q[h + 28 >> 2];
+   c = q[h + 20 >> 2];
+   b = q[h + 16 >> 2];
+   break e;
+  }
+  b = (e | 0) / -2 | 0;
+  c = j >>> 0 <= b >>> 0 ? 0 : 1;
+  b = b >> 31;
+  if ((i | 0) > (b | 0) ? 1 : (i | 0) >= (b | 0) ? c : 0) {
+   q[160854] = 68;
+   t$(h + 96 | 0, f);
+   w$(h + 80 | 0, q[h + 96 >> 2], q[h + 100 >> 2], q[h + 104 >> 2], q[h + 108 >> 2], -1, -1, -1, 2147418111);
+   w$(h - -64 | 0, q[h + 80 >> 2], q[h + 84 >> 2], q[h + 88 >> 2], q[h + 92 >> 2], -1, -1, -1, 2147418111);
+   j = q[h + 72 >> 2];
+   i = q[h + 76 >> 2];
+   c = q[h + 68 >> 2];
+   b = q[h + 64 >> 2];
+   break e;
+  }
+  b = e + -226 | 0;
+  c = j >>> 0 >= b >>> 0 ? 0 : 1;
+  b = b >> 31;
+  if ((i | 0) < (b | 0) ? 1 : (i | 0) <= (b | 0) ? c : 0) {
+   q[160854] = 68;
+   t$(h + 144 | 0, f);
+   w$(h + 128 | 0, q[h + 144 >> 2], q[h + 148 >> 2], q[h + 152 >> 2], q[h + 156 >> 2], 0, 0, 0, 65536);
+   w$(h + 112 | 0, q[h + 128 >> 2], q[h + 132 >> 2], q[h + 136 >> 2], q[h + 140 >> 2], 0, 0, 0, 65536);
+   j = q[h + 120 >> 2];
+   i = q[h + 124 >> 2];
+   c = q[h + 116 >> 2];
+   b = q[h + 112 >> 2];
+   break e;
+  }
+  if (s) {
+   if ((s | 0) <= 8) {
+    c = (h + 768 | 0) + (n << 2) | 0;
+    b = q[c >> 2];
+    while (1) {
+     b = w(b, 10);
+     s = s + 1 | 0;
+     if ((s | 0) != 9) {
+      continue;
+     }
+     break;
+    }
+    q[c >> 2] = b;
+   }
+   n = n + 1 | 0;
+  }
+  n : {
+   k = j;
+   if ((z | 0) > 8 | (z | 0) > (k | 0) | (k | 0) > 17) {
+    break n;
+   }
+   if ((k | 0) == 9) {
+    t$(h + 192 | 0, f);
+    u$(h + 176 | 0, q[h + 768 >> 2]);
+    w$(h + 160 | 0, q[h + 192 >> 2], q[h + 196 >> 2], q[h + 200 >> 2], q[h + 204 >> 2], q[h + 176 >> 2], q[h + 180 >> 2], q[h + 184 >> 2], q[h + 188 >> 2]);
+    j = q[h + 168 >> 2];
+    i = q[h + 172 >> 2];
+    c = q[h + 164 >> 2];
+    b = q[h + 160 >> 2];
+    break e;
+   }
+   if ((k | 0) <= 8) {
+    t$(h + 272 | 0, f);
+    u$(h + 256 | 0, q[h + 768 >> 2]);
+    w$(h + 240 | 0, q[h + 272 >> 2], q[h + 276 >> 2], q[h + 280 >> 2], q[h + 284 >> 2], q[h + 256 >> 2], q[h + 260 >> 2], q[h + 264 >> 2], q[h + 268 >> 2]);
+    t$(h + 224 | 0, q[(0 - k << 2) + 508224 >> 2]);
+    q$(h + 208 | 0, q[h + 240 >> 2], q[h + 244 >> 2], q[h + 248 >> 2], q[h + 252 >> 2], q[h + 224 >> 2], q[h + 228 >> 2], q[h + 232 >> 2], q[h + 236 >> 2]);
+    j = q[h + 216 >> 2];
+    i = q[h + 220 >> 2];
+    c = q[h + 212 >> 2];
+    b = q[h + 208 >> 2];
+    break e;
+   }
+   b = (w(k, -3) + d | 0) + 27 | 0;
+   c = q[h + 768 >> 2];
+   if (c >>> b | 0 ? (b | 0) <= 30 : 0) {
+    break n;
+   }
+   t$(h + 352 | 0, f);
+   u$(h + 336 | 0, c);
+   w$(h + 320 | 0, q[h + 352 >> 2], q[h + 356 >> 2], q[h + 360 >> 2], q[h + 364 >> 2], q[h + 336 >> 2], q[h + 340 >> 2], q[h + 344 >> 2], q[h + 348 >> 2]);
+   t$(h + 304 | 0, q[(k << 2) + 508152 >> 2]);
+   w$(h + 288 | 0, q[h + 320 >> 2], q[h + 324 >> 2], q[h + 328 >> 2], q[h + 332 >> 2], q[h + 304 >> 2], q[h + 308 >> 2], q[h + 312 >> 2], q[h + 316 >> 2]);
+   j = q[h + 296 >> 2];
+   i = q[h + 300 >> 2];
+   c = q[h + 292 >> 2];
+   b = q[h + 288 >> 2];
+   break e;
+  }
+  s = 0;
+  b = (k | 0) % 9 | 0;
+  o : {
+   if (!b) {
+    c = 0;
+    break o;
+   }
+   g = (k | 0) > -1 ? b : b + 9 | 0;
+   p : {
+    if (!n) {
+     c = 0;
+     n = 0;
+     break p;
+    }
+    i = q[(0 - g << 2) + 508224 >> 2];
+    l = 1e9 / (i | 0) | 0;
+    o = 0;
+    b = 0;
+    c = 0;
+    while (1) {
+     j = o;
+     m = (h + 768 | 0) + (b << 2) | 0;
+     p = q[m >> 2];
+     o = (p >>> 0) / (i >>> 0) | 0;
+     j = j + o | 0;
+     q[m >> 2] = j;
+     j = !j & (b | 0) == (c | 0);
+     c = j ? c + 1 & 2047 : c;
+     k = j ? k + -9 | 0 : k;
+     o = w(l, p - w(i, o) | 0);
+     b = b + 1 | 0;
+     if ((n | 0) != (b | 0)) {
+      continue;
+     }
+     break;
+    }
+    if (!o) {
+     break p;
+    }
+    q[(h + 768 | 0) + (n << 2) >> 2] = o;
+    n = n + 1 | 0;
+   }
+   k = (k - g | 0) + 9 | 0;
+  }
+  while (1) {
+   p = (h + 768 | 0) + (c << 2) | 0;
+   q : {
+    while (1) {
+     if ((k | 0) != 36 | t[p >> 2] >= 10384593 ? (k | 0) >= 36 : 0) {
+      break q;
+     }
+     x = n + 2047 | 0;
+     o = 0;
+     l = n;
+     while (1) {
+      n = l;
+      m = x & 2047;
+      l = (h + 768 | 0) + (m << 2) | 0;
+      b = q[l >> 2];
+      i = b >>> 3 | 0;
+      g = b << 29;
+      b = g + o | 0;
+      if (b >>> 0 < g >>> 0) {
+       i = i + 1 | 0;
+      }
+      j = b;
+      g = 0;
+      r : {
+       if (!i & b >>> 0 < 1000000001 | i >>> 0 < 0) {
+        break r;
+       }
+       g = V0(b, i, 1e9, 0);
+       j = j - T0(g, Ea, 1e9, 0) | 0;
+      }
+      o = g;
+      q[l >> 2] = j;
+      l = (m | 0) != (n + -1 & 2047) ? n : (c | 0) == (m | 0) ? n : j ? n : m;
+      x = m + -1 | 0;
+      if ((c | 0) != (m | 0)) {
+       continue;
+      }
+      break;
+     }
+     s = s + -29 | 0;
+     if (!o) {
+      continue;
+     }
+     break;
+    }
+    c = c + -1 & 2047;
+    if ((l | 0) == (c | 0)) {
+     b = (h + 768 | 0) + ((l + 2046 & 2047) << 2) | 0;
+     n = l + -1 & 2047;
+     q[b >> 2] = q[b >> 2] | q[(h + 768 | 0) + (n << 2) >> 2];
+    }
+    k = k + 9 | 0;
+    q[(h + 768 | 0) + (c << 2) >> 2] = o;
+    continue;
+   }
+   break;
+  }
+  s : {
+   t : while (1) {
+    g = n + 1 & 2047;
+    j = (h + 768 | 0) + ((n + -1 & 2047) << 2) | 0;
+    while (1) {
+     i = (k | 0) > 45 ? 9 : 1;
+     u : {
+      while (1) {
+       l = c;
+       b = 0;
+       v : {
+        while (1) {
+         w : {
+          c = b + l & 2047;
+          if ((c | 0) == (n | 0)) {
+           break w;
+          }
+          c = q[(h + 768 | 0) + (c << 2) >> 2];
+          m = q[(b << 2) + 508176 >> 2];
+          if (c >>> 0 < m >>> 0) {
+           break w;
+          }
+          if (c >>> 0 > m >>> 0) {
+           break v;
+          }
+          b = b + 1 | 0;
+          if ((b | 0) != 4) {
+           continue;
+          }
+         }
+         break;
+        }
+        if ((k | 0) != 36) {
+         break v;
+        }
+        j = 0;
+        i = 0;
+        b = 0;
+        p = 0;
+        m = 0;
+        while (1) {
+         c = b + l & 2047;
+         if ((c | 0) == (n | 0)) {
+          n = n + 1 & 2047;
+          q[((n << 2) + h | 0) + 764 >> 2] = 0;
+         }
+         w$(h + 752 | 0, j, i, p, m, 0, 0, 1342177280, 1075633366);
+         u$(h + 736 | 0, q[(h + 768 | 0) + (c << 2) >> 2]);
+         m$(h + 720 | 0, q[h + 752 >> 2], q[h + 756 >> 2], q[h + 760 >> 2], q[h + 764 >> 2], q[h + 736 >> 2], q[h + 740 >> 2], q[h + 744 >> 2], q[h + 748 >> 2]);
+         p = q[h + 728 >> 2];
+         m = q[h + 732 >> 2];
+         j = q[h + 720 >> 2];
+         i = q[h + 724 >> 2];
+         b = b + 1 | 0;
+         if ((b | 0) != 4) {
+          continue;
+         }
+         break;
+        }
+        t$(h + 704 | 0, f);
+        w$(h + 688 | 0, j, i, p, m, q[h + 704 >> 2], q[h + 708 >> 2], q[h + 712 >> 2], q[h + 716 >> 2]);
+        p = q[h + 696 >> 2];
+        m = q[h + 700 >> 2];
+        j = 0;
+        i = 0;
+        c = q[h + 688 >> 2];
+        k = q[h + 692 >> 2];
+        o = s + 113 | 0;
+        e = o - e | 0;
+        g = (e | 0) < (d | 0);
+        d = g ? (e | 0) > 0 ? e : 0 : d;
+        if ((d | 0) <= 112) {
+         break u;
+        }
+        break s;
+       }
+       s = i + s | 0;
+       c = n;
+       if ((l | 0) == (c | 0)) {
+        continue;
+       }
+       break;
+      }
+      m = 1e9 >>> i | 0;
+      p = -1 << i ^ -1;
+      b = 0;
+      c = l;
+      while (1) {
+       o = (h + 768 | 0) + (l << 2) | 0;
+       x = q[o >> 2];
+       b = (x >>> i | 0) + b | 0;
+       q[o >> 2] = b;
+       b = !b & (c | 0) == (l | 0);
+       c = b ? c + 1 & 2047 : c;
+       k = b ? k + -9 | 0 : k;
+       b = w(m, p & x);
+       l = l + 1 & 2047;
+       if ((l | 0) != (n | 0)) {
+        continue;
+       }
+       break;
+      }
+      if (!b) {
+       continue;
+      }
+      if ((c | 0) != (g | 0)) {
+       q[(h + 768 | 0) + (n << 2) >> 2] = b;
+       n = g;
+       continue t;
+      }
+      q[j >> 2] = q[j >> 2] | 1;
+      c = g;
+      continue;
+     }
+     break;
+    }
+    break;
+   }
+   r$(h + 640 | 0, W$(1, 225 - d | 0));
+   s_(h + 672 | 0, q[h + 640 >> 2], q[h + 644 >> 2], q[h + 648 >> 2], q[h + 652 >> 2], c, k, p, m);
+   B = q[h + 680 >> 2];
+   C = q[h + 684 >> 2];
+   D = q[h + 672 >> 2];
+   E = q[h + 676 >> 2];
+   r$(h + 624 | 0, W$(1, 113 - d | 0));
+   U$(h + 656 | 0, c, k, p, m, q[h + 624 >> 2], q[h + 628 >> 2], q[h + 632 >> 2], q[h + 636 >> 2]);
+   j = q[h + 656 >> 2];
+   i = q[h + 660 >> 2];
+   u = q[h + 664 >> 2];
+   v = q[h + 668 >> 2];
+   y$(h + 608 | 0, c, k, p, m, j, i, u, v);
+   m$(h + 592 | 0, D, E, B, C, q[h + 608 >> 2], q[h + 612 >> 2], q[h + 616 >> 2], q[h + 620 >> 2]);
+   p = q[h + 600 >> 2];
+   m = q[h + 604 >> 2];
+   c = q[h + 592 >> 2];
+   k = q[h + 596 >> 2];
+  }
+  b = l + 4 & 2047;
+  x : {
+   if ((b | 0) == (n | 0)) {
+    break x;
+   }
+   b = q[(h + 768 | 0) + (b << 2) >> 2];
+   y : {
+    if (b >>> 0 <= 499999999) {
+     if ((l + 5 & 2047) == (n | 0) ? !b : 0) {
+      break y;
+     }
+     r$(h + 480 | 0, +(f | 0) * .25);
+     m$(h + 464 | 0, j, i, u, v, q[h + 480 >> 2], q[h + 484 >> 2], q[h + 488 >> 2], q[h + 492 >> 2]);
+     u = q[h + 472 >> 2];
+     v = q[h + 476 >> 2];
+     j = q[h + 464 >> 2];
+     i = q[h + 468 >> 2];
+     break y;
+    }
+    if ((b | 0) != 5e8) {
+     r$(h + 576 | 0, +(f | 0) * .75);
+     m$(h + 560 | 0, j, i, u, v, q[h + 576 >> 2], q[h + 580 >> 2], q[h + 584 >> 2], q[h + 588 >> 2]);
+     u = q[h + 568 >> 2];
+     v = q[h + 572 >> 2];
+     j = q[h + 560 >> 2];
+     i = q[h + 564 >> 2];
+     break y;
+    }
+    F = +(f | 0);
+    if ((l + 5 & 2047) == (n | 0)) {
+     r$(h + 512 | 0, F * .5);
+     m$(h + 496 | 0, j, i, u, v, q[h + 512 >> 2], q[h + 516 >> 2], q[h + 520 >> 2], q[h + 524 >> 2]);
+     u = q[h + 504 >> 2];
+     v = q[h + 508 >> 2];
+     j = q[h + 496 >> 2];
+     i = q[h + 500 >> 2];
+     break y;
+    }
+    r$(h + 544 | 0, F * .75);
+    m$(h + 528 | 0, j, i, u, v, q[h + 544 >> 2], q[h + 548 >> 2], q[h + 552 >> 2], q[h + 556 >> 2]);
+    u = q[h + 536 >> 2];
+    v = q[h + 540 >> 2];
+    j = q[h + 528 >> 2];
+    i = q[h + 532 >> 2];
+   }
+   if ((d | 0) > 111) {
+    break x;
+   }
+   U$(h + 448 | 0, j, i, u, v, 0, 0, 0, 1073676288);
+   if (o$(q[h + 448 >> 2], q[h + 452 >> 2], q[h + 456 >> 2], q[h + 460 >> 2], 0, 0, 0, 0)) {
+    break x;
+   }
+   m$(h + 432 | 0, j, i, u, v, 0, 0, 0, 1073676288);
+   u = q[h + 440 >> 2];
+   v = q[h + 444 >> 2];
+   j = q[h + 432 >> 2];
+   i = q[h + 436 >> 2];
+  }
+  m$(h + 416 | 0, c, k, p, m, j, i, u, v);
+  y$(h + 400 | 0, q[h + 416 >> 2], q[h + 420 >> 2], q[h + 424 >> 2], q[h + 428 >> 2], D, E, B, C);
+  p = q[h + 408 >> 2];
+  m = q[h + 412 >> 2];
+  c = q[h + 400 >> 2];
+  k = q[h + 404 >> 2];
+  z : {
+   if ((o & 2147483647) <= (-2 - A | 0)) {
+    break z;
+   }
+   w$(h + 384 | 0, c, k, p, m, 0, 0, 0, 1073610752);
+   f = o$(j, i, u, v, 0, 0, 0, 0);
+   b = y(z$(c, k, p, m)) >= 1.0384593717069655e+34;
+   p = b ? q[h + 392 >> 2] : p;
+   m = b ? q[h + 396 >> 2] : m;
+   c = b ? q[h + 384 >> 2] : c;
+   k = b ? q[h + 388 >> 2] : k;
+   s = b + s | 0;
+   if ((s + 110 | 0) <= (G | 0) ? !(g & (b ^ 1 | (d | 0) != (e | 0)) & (f | 0) != 0) : 0) {
+    break z;
+   }
+   q[160854] = 68;
+  }
+  t_(h + 368 | 0, c, k, p, m, s);
+  j = q[h + 376 >> 2];
+  i = q[h + 380 >> 2];
+  c = q[h + 372 >> 2];
+  b = q[h + 368 >> 2];
+ }
+ q[I >> 2] = b;
+ q[H + 4 >> 2] = c;
+ q[a + 8 >> 2] = j;
+ q[a + 12 >> 2] = i;
+ Ca = h + 8960 | 0;
+}
+function WD(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, s = 0;
+ n = Ca - 16 | 0;
+ Ca = n;
+ m = q[c + 88 >> 2];
+ h = 5;
+ g = 1;
+ b = 0;
+ k = q[c + 76 >> 2];
+ d = 0;
+ a : {
+  if (k) {
+   break a;
+  }
+  d = 1;
+ }
+ while (1) {
+  b : {
+   c : {
+    d : {
+     e : {
+      if (!d) {
+       l = h << 1;
+       i = p[l + 263040 >> 1] + 261312 | 0;
+       d = o[h + 263200 | 0];
+       e = r[h + 263632 | 0] == 7 ? b : e;
+       j = r[(m + w(b, 20) | 0) + 18 | 0];
+       h = r[l + 261152 | 0];
+       if (j >>> 0 >= h >>> 0) {
+        d = j >>> 0 > r[l + 261153 | 0] ? d : j - h | 0;
+       }
+       d = o[d + i | 0];
+       break e;
+      }
+      if ((h | 0) == 5) {
+       break d;
+      }
+      b = k;
+      d = p[(h << 1) + 263472 >> 1] + -1 | 0;
+     }
+     h = o[d + 263280 | 0];
+     d = o[d + 263376 | 0];
+     f : {
+      if (!d) {
+       break f;
+      }
+      d = d + -1 | 0;
+      if (d >>> 0 > 20) {
+       break f;
+      }
+      g : {
+       h : {
+        switch (d - 1 | 0) {
+        case 3:
+         f = b + 1 | 0;
+         break f;
+        case 10:
+         f = b + 1 | 0;
+         if (e >>> 0 < f >>> 0) {
+          j = g << 4;
+          d = e;
+          while (1) {
+           o[(m + w(d, 20) | 0) + 15 | 0] = j;
+           i = (b | 0) == (d | 0);
+           d = d + 1 | 0;
+           if (!i) {
+            continue;
+           }
+           break;
+          }
+         }
+         d = g + 1 | 0;
+         g = (d | 0) == 16 ? 1 : d;
+         break f;
+        case 12:
+         f = b + 1 | 0;
+         if (e >>> 0 < f >>> 0) {
+          j = g << 4 | 3;
+          d = e;
+          while (1) {
+           o[(m + w(d, 20) | 0) + 15 | 0] = j;
+           i = (b | 0) == (d | 0);
+           d = d + 1 | 0;
+           if (!i) {
+            continue;
+           }
+           break;
+          }
+         }
+         d = g + 1 | 0;
+         g = (d | 0) == 16 ? 1 : d;
+         break f;
+        case 8:
+         f = b + 1 | 0;
+         if (e >>> 0 < f >>> 0) {
+          j = g << 4 | 7;
+          d = e;
+          while (1) {
+           o[(m + w(d, 20) | 0) + 15 | 0] = j;
+           i = (b | 0) == (d | 0);
+           d = d + 1 | 0;
+           if (!i) {
+            continue;
+           }
+           break;
+          }
+         }
+         d = g + 1 | 0;
+         g = (d | 0) == 16 ? 1 : d;
+         break f;
+        case 6:
+         f = b + 1 | 0;
+         if (e >>> 0 < f >>> 0) {
+          j = g << 4 | 8;
+          d = e;
+          while (1) {
+           o[(m + w(d, 20) | 0) + 15 | 0] = j;
+           i = (b | 0) == (d | 0);
+           d = d + 1 | 0;
+           if (!i) {
+            continue;
+           }
+           break;
+          }
+         }
+         d = g + 1 | 0;
+         g = (d | 0) == 16 ? 1 : d;
+         break f;
+        case 9:
+         if (e >>> 0 < b >>> 0) {
+          f = g << 4;
+          d = e;
+          while (1) {
+           o[(m + w(d, 20) | 0) + 15 | 0] = f;
+           d = d + 1 | 0;
+           if ((d | 0) != (b | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         d = g + 1 | 0;
+         g = (d | 0) == 16 ? 1 : d;
+         f = b;
+         b = b + -1 | 0;
+         break f;
+        case 13:
+         if (e >>> 0 < b >>> 0) {
+          f = g << 4 | 1;
+          d = e;
+          while (1) {
+           o[(m + w(d, 20) | 0) + 15 | 0] = f;
+           d = d + 1 | 0;
+           if ((d | 0) != (b | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         d = g + 1 | 0;
+         g = (d | 0) == 16 ? 1 : d;
+         f = b;
+         b = b + -1 | 0;
+         break f;
+        case 14:
+         if (e >>> 0 < b >>> 0) {
+          f = g << 4 | 2;
+          d = e;
+          while (1) {
+           o[(m + w(d, 20) | 0) + 15 | 0] = f;
+           d = d + 1 | 0;
+           if ((d | 0) != (b | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         d = g + 1 | 0;
+         g = (d | 0) == 16 ? 1 : d;
+         f = b;
+         b = b + -1 | 0;
+         break f;
+        case 11:
+         if (e >>> 0 < b >>> 0) {
+          f = g << 4 | 3;
+          d = e;
+          while (1) {
+           o[(m + w(d, 20) | 0) + 15 | 0] = f;
+           d = d + 1 | 0;
+           if ((d | 0) != (b | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         d = g + 1 | 0;
+         g = (d | 0) == 16 ? 1 : d;
+         f = b;
+         b = b + -1 | 0;
+         break f;
+        case 16:
+         if (e >>> 0 < b >>> 0) {
+          f = g << 4 | 4;
+          d = e;
+          while (1) {
+           o[(m + w(d, 20) | 0) + 15 | 0] = f;
+           d = d + 1 | 0;
+           if ((d | 0) != (b | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         d = g + 1 | 0;
+         g = (d | 0) == 16 ? 1 : d;
+         f = b;
+         b = b + -1 | 0;
+         break f;
+        case 15:
+         if (e >>> 0 < b >>> 0) {
+          f = g << 4 | 5;
+          d = e;
+          while (1) {
+           o[(m + w(d, 20) | 0) + 15 | 0] = f;
+           d = d + 1 | 0;
+           if ((d | 0) != (b | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         d = g + 1 | 0;
+         g = (d | 0) == 16 ? 1 : d;
+         f = b;
+         b = b + -1 | 0;
+         break f;
+        case 17:
+         if (e >>> 0 < b >>> 0) {
+          f = g << 4 | 6;
+          d = e;
+          while (1) {
+           o[(m + w(d, 20) | 0) + 15 | 0] = f;
+           d = d + 1 | 0;
+           if ((d | 0) != (b | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         d = g + 1 | 0;
+         g = (d | 0) == 16 ? 1 : d;
+         f = b;
+         b = b + -1 | 0;
+         break f;
+        case 18:
+         if (e >>> 0 < b >>> 0) {
+          f = g << 4 | 7;
+          d = e;
+          while (1) {
+           o[(m + w(d, 20) | 0) + 15 | 0] = f;
+           d = d + 1 | 0;
+           if ((d | 0) != (b | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         d = g + 1 | 0;
+         g = (d | 0) == 16 ? 1 : d;
+         f = b;
+         b = b + -1 | 0;
+         break f;
+        case 19:
+         if (e >>> 0 < b >>> 0) {
+          f = g << 4 | 8;
+          d = e;
+          while (1) {
+           o[(m + w(d, 20) | 0) + 15 | 0] = f;
+           d = d + 1 | 0;
+           if ((d | 0) != (b | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         d = g + 1 | 0;
+         g = (d | 0) == 16 ? 1 : d;
+         f = b;
+         b = b + -1 | 0;
+         break f;
+        default:
+         if (e >>> 0 < f >>> 0) {
+          d = g << 4 | 3;
+          b = e;
+          while (1) {
+           o[(m + w(b, 20) | 0) + 15 | 0] = d;
+           b = b + 1 | 0;
+           if ((f | 0) != (b | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         b = f + -1 | 0;
+         d = g + 1 | 0;
+         g = (d | 0) == 16 ? 1 : d;
+         break f;
+        case 2:
+         if (e >>> 0 < f >>> 0) {
+          d = g << 4 | 7;
+          b = e;
+          while (1) {
+           o[(m + w(b, 20) | 0) + 15 | 0] = d;
+           b = b + 1 | 0;
+           if ((f | 0) != (b | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         b = f + -1 | 0;
+         d = g + 1 | 0;
+         g = (d | 0) == 16 ? 1 : d;
+         break f;
+        case 0:
+         d = s + -8 | 0;
+         if (d >>> 0 > 1) {
+          break f;
+         }
+         if (d - 1) {
+          if (e >>> 0 < f >>> 0) {
+           d = g << 4 | 7;
+           b = e;
+           while (1) {
+            o[(m + w(b, 20) | 0) + 15 | 0] = d;
+            b = b + 1 | 0;
+            if ((f | 0) != (b | 0)) {
+             continue;
+            }
+            break;
+           }
+          }
+          b = f + -1 | 0;
+          d = g + 1 | 0;
+          g = (d | 0) == 16 ? 1 : d;
+          s = 8;
+          break f;
+         }
+         if (e >>> 0 < f >>> 0) {
+          d = g << 4 | 8;
+          b = e;
+          while (1) {
+           o[(m + w(b, 20) | 0) + 15 | 0] = d;
+           b = b + 1 | 0;
+           if ((f | 0) != (b | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         b = f + -1 | 0;
+         d = g + 1 | 0;
+         g = (d | 0) == 16 ? 1 : d;
+         break g;
+        case 1:
+         f = b + 1 | 0;
+         s = 8;
+         break f;
+        case 4:
+        case 5:
+         break f;
+        case 7:
+         break h;
+        }
+       }
+       f = b + 1 | 0;
+      }
+      s = 9;
+     }
+     e = r[h + 263712 | 0] == 6 ? 0 : e;
+     b = b + 1 | 0;
+     if ((k | 0) != (b | 0)) {
+      break c;
+     }
+     d = 1;
+     continue;
+    }
+    h = q[c + 76 >> 2];
+    if (!h) {
+     f = 0;
+     break b;
+    }
+    f = h + -1 | 0;
+    b = 0;
+    d = q[c + 88 >> 2];
+    e = r[d + 15 | 0];
+    while (1) {
+     i : {
+      if ((b | 0) == (f | 0)) {
+       b = h;
+       break i;
+      }
+      b = b + 1 | 0;
+      if ((e | 0) == r[(d + w(b, 20) | 0) + 15 | 0]) {
+       continue;
+      }
+     }
+     break;
+    }
+    d = 0;
+    f = h;
+    while (1) {
+     e = b;
+     if (b - d >>> 0 >= 2) {
+      DG(c, d, e);
+      f = q[c + 76 >> 2];
+     }
+     b = e + 1 | 0;
+     d = f >>> 0 > b >>> 0 ? f : b;
+     j = d + -1 | 0;
+     i = q[c + 88 >> 2];
+     k = r[(i + w(e, 20) | 0) + 15 | 0];
+     b = e;
+     while (1) {
+      j : {
+       if ((b | 0) == (j | 0)) {
+        b = d;
+        break j;
+       }
+       b = b + 1 | 0;
+       if ((k | 0) == r[(i + w(b, 20) | 0) + 15 | 0]) {
+        continue;
+       }
+      }
+      break;
+     }
+     d = e;
+     if (d >>> 0 < h >>> 0) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   }
+   d = 0;
+   continue;
+  }
+  break;
+ }
+ j = q[a + 112 >> 2];
+ i = q[j >> 2];
+ if (!(!i | !f)) {
+  e = f + -1 | 0;
+  d = 0;
+  l = q[c + 88 >> 2];
+  b = r[l + 15 | 0];
+  while (1) {
+   k : {
+    if ((d | 0) == (e | 0)) {
+     d = f;
+     break k;
+    }
+    d = d + 1 | 0;
+    if ((b | 0) == r[(l + w(d, 20) | 0) + 15 | 0]) {
+     continue;
+    }
+   }
+   break;
+  }
+  b = 0;
+  while (1) {
+   e = d;
+   d = d - b | 0;
+   h = (r[(l + w(b, 20) | 0) + 18 | 0] == 18 ? 1 : d >>> 0 < 3 ? d : 3) + b | 0;
+   if (b >>> 0 < h >>> 0) {
+    while (1) {
+     d = l + w(b, 20) | 0;
+     q[d + 4 >> 2] = i | q[d + 4 >> 2];
+     b = b + 1 | 0;
+     if ((h | 0) != (b | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = e + 1 | 0;
+   b = f >>> 0 > b >>> 0 ? f : b;
+   k = b + -1 | 0;
+   h = r[(l + w(e, 20) | 0) + 15 | 0];
+   d = e;
+   while (1) {
+    l : {
+     if ((d | 0) == (k | 0)) {
+      d = b;
+      break l;
+     }
+     d = d + 1 | 0;
+     if ((h | 0) == r[(l + w(d, 20) | 0) + 15 | 0]) {
+      continue;
+     }
+    }
+    break;
+   }
+   b = e;
+   if (b >>> 0 < f >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ m : {
+  if (q[j + 4 >> 2]) {
+   break m;
+  }
+  j = q[a + 36 >> 2];
+  b = n;
+  d = q[a + 44 >> 2];
+  n : {
+   o : {
+    if ((d | 0) >= 1) {
+     l = q[a + 48 >> 2];
+     e = 0;
+     d = d + -1 | 0;
+     h = d;
+     p : {
+      q : {
+       while (1) {
+        k = e + h >>> 1 | 0;
+        a = q[l + w(k, 36) >> 2];
+        r : {
+         if (a >>> 0 >= 1769172845) {
+          h = k + -1 | 0;
+          break r;
+         }
+         if ((a | 0) == 1769172844) {
+          break q;
+         }
+         e = k + 1 | 0;
+        }
+        if ((e | 0) <= (h | 0)) {
+         continue;
+        }
+        break;
+       }
+       a = 0;
+       break p;
+      }
+      a = q[(l + w(k, 36) | 0) + 28 >> 2];
+     }
+     e = 0;
+     k = (a | 0) == (j | 0) ? 0 : a;
+     q[n >> 2] = k;
+     h = d;
+     s : {
+      while (1) {
+       i = e + h >>> 1 | 0;
+       a = q[l + w(i, 36) >> 2];
+       t : {
+        if (a >>> 0 <= 1768843636) {
+         e = q[(l + w(i, 36) | 0) + 28 >> 2];
+         if ((a | 0) == 1768843636) {
+          break s;
+         }
+         e = i + 1 | 0;
+         break t;
+        }
+        h = i + -1 | 0;
+       }
+       if ((e | 0) <= (h | 0)) {
+        continue;
+       }
+       break;
+      }
+      e = 0;
+     }
+     a = e;
+     e = 0;
+     a = (a | 0) == (j | 0) ? 0 : a;
+     q[n + 4 >> 2] = a;
+     k = a | k;
+     h = d;
+     u : {
+      while (1) {
+       i = e + h >>> 1 | 0;
+       a = q[l + w(i, 36) >> 2];
+       v : {
+        if (a >>> 0 <= 1835361385) {
+         e = q[(l + w(i, 36) | 0) + 28 >> 2];
+         if ((a | 0) == 1835361385) {
+          break u;
+         }
+         e = i + 1 | 0;
+         break v;
+        }
+        h = i + -1 | 0;
+       }
+       if ((e | 0) <= (h | 0)) {
+        continue;
+       }
+       break;
+      }
+      e = 0;
+     }
+     a = e;
+     h = 0;
+     a = (a | 0) == (j | 0) ? 0 : a;
+     q[n + 8 >> 2] = a;
+     e = a | k;
+     while (1) {
+      k = d + h >>> 1 | 0;
+      a = q[l + w(k, 36) >> 2];
+      w : {
+       if (a >>> 0 <= 1718185569) {
+        h = q[(l + w(k, 36) | 0) + 28 >> 2];
+        if ((a | 0) == 1718185569) {
+         break n;
+        }
+        h = k + 1 | 0;
+        break w;
+       }
+       d = k + -1 | 0;
+      }
+      if ((h | 0) <= (d | 0)) {
+       continue;
+      }
+      break;
+     }
+     break o;
+    }
+    e = 0;
+    q[n + 8 >> 2] = 0;
+    q[n >> 2] = 0;
+    q[n + 4 >> 2] = 0;
+   }
+   h = 0;
+  }
+  a = h;
+  a = (a | 0) == (j | 0) ? 0 : a;
+  q[b + 12 >> 2] = a;
+  a = a | e;
+  if (!a | !f) {
+   break m;
+  }
+  k = a ^ -1;
+  d = f + -1 | 0;
+  b = 0;
+  i = q[c + 88 >> 2];
+  e = r[i + 15 | 0];
+  a = e;
+  while (1) {
+   x : {
+    if ((b | 0) == (d | 0)) {
+     b = f;
+     break x;
+    }
+    b = b + 1 | 0;
+    if ((a | 0) == r[(i + w(b, 20) | 0) + 15 | 0]) {
+     continue;
+    }
+   }
+   break;
+  }
+  d = 0;
+  h = 0;
+  j = 4;
+  while (1) {
+   a = d;
+   d = b;
+   b = e & 15;
+   y : {
+    if (b >>> 0 > 8) {
+     break y;
+    }
+    if (!(1 << b & 190)) {
+     j = 4;
+     break y;
+    }
+    b = (j | 0) == 3;
+    e = b | !j;
+    z : {
+     if (j >>> 0 > 3) {
+      break z;
+     }
+     A : {
+      switch (j - 1 | 0) {
+      case 0:
+      case 1:
+       break z;
+      default:
+       break A;
+      }
+     }
+     if (h >>> 0 >= a >>> 0) {
+      break z;
+     }
+     c = q[((b ? 8 : 4) | n) >> 2];
+     while (1) {
+      b = i + w(h, 20) | 0;
+      q[b + 4 >> 2] = c | k & q[b + 4 >> 2];
+      h = h + 1 | 0;
+      if ((a | 0) != (h | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    j = e ? 3 : 0;
+    if (a >>> 0 >= d >>> 0) {
+     break y;
+    }
+    e = q[(j << 2 | n) >> 2];
+    b = a;
+    while (1) {
+     c = i + w(b, 20) | 0;
+     q[c + 4 >> 2] = e | k & q[c + 4 >> 2];
+     b = b + 1 | 0;
+     if ((d | 0) != (b | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = d + 1 | 0;
+   c = f >>> 0 > b >>> 0 ? f : b;
+   h = c + -1 | 0;
+   e = r[(i + w(d, 20) | 0) + 15 | 0];
+   b = d;
+   while (1) {
+    B : {
+     if ((b | 0) == (h | 0)) {
+      b = c;
+      break B;
+     }
+     b = b + 1 | 0;
+     if (r[(i + w(b, 20) | 0) + 15 | 0] == (e & 255)) {
+      continue;
+     }
+    }
+    break;
+   }
+   h = a;
+   if (d >>> 0 < f >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = n + 16 | 0;
+}
+function $i(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, p = 0, s = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ q[b + 12 >> 2] = 0;
+ q[b >> 2] = c;
+ i = c + d | 0;
+ q[b + 8 >> 2] = i;
+ n[q[b + 28 >> 2]](b);
+ a : {
+  b : {
+   c = q[b >> 2];
+   c : {
+    if (c >>> 0 >= i >>> 0) {
+     break c;
+    }
+    k = a + 132 | 0;
+    m = a + 164 | 0;
+    o = a + 168 | 0;
+    p = a + 464 | 0;
+    while (1) {
+     d : {
+      e : {
+       f : {
+        g : {
+         d = r[c | 0];
+         e = d + -99 | 0;
+         if (e >>> 0 > 2) {
+          if ((d | 0) != 70) {
+           break e;
+          }
+          e = c + 14 | 0;
+          if ((e | 0) == (i | 0)) {
+           break g;
+          }
+          if (e >>> 0 >= i >>> 0) {
+           break e;
+          }
+          e = r[c + 13 | 0];
+          if (e >>> 0 > 125) {
+           break e;
+          }
+          switch (e - 1 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 10:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 28:
+          case 29:
+          case 30:
+          case 32:
+          case 33:
+          case 34:
+          case 35:
+          case 37:
+          case 38:
+          case 41:
+          case 42:
+          case 43:
+          case 44:
+          case 45:
+          case 47:
+          case 48:
+          case 49:
+          case 50:
+          case 51:
+          case 52:
+          case 53:
+          case 54:
+          case 55:
+          case 56:
+          case 57:
+          case 58:
+          case 60:
+          case 62:
+          case 63:
+          case 64:
+          case 65:
+          case 66:
+          case 67:
+          case 68:
+          case 69:
+          case 70:
+          case 71:
+          case 72:
+          case 73:
+          case 74:
+          case 75:
+          case 76:
+          case 77:
+          case 78:
+          case 79:
+          case 80:
+          case 81:
+          case 82:
+          case 83:
+          case 84:
+          case 85:
+          case 86:
+          case 87:
+          case 88:
+          case 89:
+          case 91:
+          case 93:
+          case 94:
+          case 95:
+          case 96:
+          case 97:
+          case 98:
+          case 99:
+          case 100:
+          case 101:
+          case 102:
+          case 103:
+          case 104:
+          case 105:
+          case 106:
+          case 107:
+          case 108:
+          case 109:
+          case 110:
+          case 111:
+          case 112:
+          case 113:
+          case 114:
+          case 115:
+          case 116:
+          case 117:
+          case 118:
+          case 119:
+          case 120:
+          case 121:
+          case 123:
+           break e;
+          default:
+           break g;
+          }
+         }
+         h : {
+          switch (e - 1 | 0) {
+          case 1:
+           e = c + 6 | 0;
+           if ((e | 0) == (i | 0)) {
+            break f;
+           }
+           if (e >>> 0 >= i >>> 0) {
+            break e;
+           }
+           e = r[c + 5 | 0];
+           if (e >>> 0 > 125) {
+            break e;
+           }
+           switch (e - 1 | 0) {
+           case 0:
+           case 1:
+           case 2:
+           case 3:
+           case 4:
+           case 5:
+           case 6:
+           case 7:
+           case 10:
+           case 13:
+           case 14:
+           case 15:
+           case 16:
+           case 17:
+           case 18:
+           case 19:
+           case 20:
+           case 21:
+           case 22:
+           case 23:
+           case 24:
+           case 25:
+           case 26:
+           case 27:
+           case 28:
+           case 29:
+           case 30:
+           case 32:
+           case 33:
+           case 34:
+           case 35:
+           case 37:
+           case 38:
+           case 41:
+           case 42:
+           case 43:
+           case 44:
+           case 45:
+           case 47:
+           case 48:
+           case 49:
+           case 50:
+           case 51:
+           case 52:
+           case 53:
+           case 54:
+           case 55:
+           case 56:
+           case 57:
+           case 58:
+           case 60:
+           case 62:
+           case 63:
+           case 64:
+           case 65:
+           case 66:
+           case 67:
+           case 68:
+           case 69:
+           case 70:
+           case 71:
+           case 72:
+           case 73:
+           case 74:
+           case 75:
+           case 76:
+           case 77:
+           case 78:
+           case 79:
+           case 80:
+           case 81:
+           case 82:
+           case 83:
+           case 84:
+           case 85:
+           case 86:
+           case 87:
+           case 88:
+           case 89:
+           case 91:
+           case 93:
+           case 94:
+           case 95:
+           case 96:
+           case 97:
+           case 98:
+           case 99:
+           case 100:
+           case 101:
+           case 102:
+           case 103:
+           case 104:
+           case 105:
+           case 106:
+           case 107:
+           case 108:
+           case 109:
+           case 110:
+           case 111:
+           case 112:
+           case 113:
+           case 114:
+           case 115:
+           case 116:
+           case 117:
+           case 118:
+           case 119:
+           case 120:
+           case 121:
+           case 123:
+            break e;
+           default:
+            break f;
+           }
+          case 0:
+           break e;
+          default:
+           break h;
+          }
+         }
+         i : {
+          e = c + 10 | 0;
+          if ((e | 0) == (i | 0)) {
+           break i;
+          }
+          if (e >>> 0 >= i >>> 0) {
+           break e;
+          }
+          e = r[c + 9 | 0];
+          if (e >>> 0 > 125) {
+           break e;
+          }
+          switch (e - 1 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 10:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 28:
+          case 29:
+          case 30:
+          case 32:
+          case 33:
+          case 34:
+          case 35:
+          case 37:
+          case 38:
+          case 41:
+          case 42:
+          case 43:
+          case 44:
+          case 45:
+          case 47:
+          case 48:
+          case 49:
+          case 50:
+          case 51:
+          case 52:
+          case 53:
+          case 54:
+          case 55:
+          case 56:
+          case 57:
+          case 58:
+          case 60:
+          case 62:
+          case 63:
+          case 64:
+          case 65:
+          case 66:
+          case 67:
+          case 68:
+          case 69:
+          case 70:
+          case 71:
+          case 72:
+          case 73:
+          case 74:
+          case 75:
+          case 76:
+          case 77:
+          case 78:
+          case 79:
+          case 80:
+          case 81:
+          case 82:
+          case 83:
+          case 84:
+          case 85:
+          case 86:
+          case 87:
+          case 88:
+          case 89:
+          case 91:
+          case 93:
+          case 94:
+          case 95:
+          case 96:
+          case 97:
+          case 98:
+          case 99:
+          case 100:
+          case 101:
+          case 102:
+          case 103:
+          case 104:
+          case 105:
+          case 106:
+          case 107:
+          case 108:
+          case 109:
+          case 110:
+          case 111:
+          case 112:
+          case 113:
+          case 114:
+          case 115:
+          case 116:
+          case 117:
+          case 118:
+          case 119:
+          case 120:
+          case 121:
+          case 123:
+           break e;
+          default:
+           break i;
+          }
+         }
+         if (jZ(c, 7020, 9)) {
+          break e;
+         }
+         break c;
+        }
+        if (jZ(c, 7030, 13)) {
+         break e;
+        }
+        d = q[b + 376 >> 2];
+        if (d & 1) {
+         q[b + 376 >> 2] = d | 2;
+        }
+        q[b >> 2] = c + 13;
+        break d;
+       }
+       if (!jZ(c, 7014, 5)) {
+        break c;
+       }
+      }
+      if (d + -48 >>> 0 <= 9) {
+       n[q[b + 32 >> 2]](b);
+       f = 1;
+       l = c;
+       if (!q[b + 12 >> 2]) {
+        break d;
+       }
+       break c;
+      }
+      j : {
+       k : {
+        e = c + 6 >>> 0 >= i >>> 0;
+        if (!(e | (d | 0) != 82)) {
+         if (!(f & 255) | r[c + 1 | 0] != 68) {
+          break k;
+         }
+         q[b >> 2] = l;
+         f = q[q[a + 128 >> 2] + 52 >> 2];
+         d = q[b + 8 >> 2];
+         n[q[b + 28 >> 2]](b);
+         l : {
+          c = q[b >> 2];
+          m : {
+           if (c >>> 0 >= d >>> 0 | r[c | 0] + -48 >>> 0 > 9) {
+            break m;
+           }
+           c = n[q[b + 36 >> 2]](b) | 0;
+           n[q[b + 32 >> 2]](b);
+           if ((c | 0) < 0) {
+            break m;
+           }
+           e = q[b >> 2];
+           if ((c | 0) < (d + (e ^ -1) | 0)) {
+            break l;
+           }
+          }
+          c = 3;
+          if (f) {
+           break a;
+          }
+          break b;
+         }
+         q[b >> 2] = (c + e | 0) + 1;
+         f = 0;
+         if (!q[b + 12 >> 2]) {
+          break d;
+         }
+         c = 3;
+         break a;
+        }
+        if (!((d | 0) != 45 | e)) {
+         if (!(f & 255) | r[c + 1 | 0] != 124) {
+          break k;
+         }
+         q[b >> 2] = l;
+         f = q[q[a + 128 >> 2] + 52 >> 2];
+         d = q[b + 8 >> 2];
+         n[q[b + 28 >> 2]](b);
+         n : {
+          c = q[b >> 2];
+          o : {
+           if (c >>> 0 >= d >>> 0 | r[c | 0] + -48 >>> 0 > 9) {
+            break o;
+           }
+           c = n[q[b + 36 >> 2]](b) | 0;
+           n[q[b + 32 >> 2]](b);
+           if ((c | 0) < 0) {
+            break o;
+           }
+           e = q[b >> 2];
+           if ((c | 0) < (d + (e ^ -1) | 0)) {
+            break n;
+           }
+          }
+          c = 3;
+          if (!f) {
+           break b;
+          }
+          break a;
+         }
+         q[b >> 2] = (c + e | 0) + 1;
+         f = 0;
+         if (!q[b + 12 >> 2]) {
+          break d;
+         }
+         c = 3;
+         break a;
+        }
+        if ((d | 0) != 47 | c + 2 >>> 0 >= i >>> 0) {
+         break k;
+        }
+        e = c + 1 | 0;
+        q[b >> 2] = e;
+        n[q[b + 32 >> 2]](b);
+        if (q[b + 12 >> 2]) {
+         break c;
+        }
+        f = 0;
+        c = q[b >> 2];
+        if (c >>> 0 >= i >>> 0) {
+         break d;
+        }
+        j = c - e | 0;
+        if (j + -1 >>> 0 > 20) {
+         break d;
+        }
+        s = r[e | 0];
+        c = 7056;
+        h = 8760;
+        while (1) {
+         d = c;
+         p : {
+          if ((s | 0) != r[h | 0]) {
+           break p;
+          }
+          if ((g0(h) | 0) != (j | 0)) {
+           break p;
+          }
+          if (ZY(e, h, j)) {
+           break p;
+          }
+          c = q[b + 376 >> 2];
+          if (!(q[d + 32 >> 2] & (c & 1 ? 2 : 1))) {
+           break d;
+          }
+          if (c & 2) {
+           if (iZ(h, 8748)) {
+            break d;
+           }
+          }
+          h = q[a + 532 >> 2];
+          f = 0;
+          q : {
+           if (!h) {
+            break q;
+           }
+           f = q[h >> 2] ? h : 0;
+          }
+          e = b;
+          j = q[d + 8 >> 2];
+          r : {
+           if ((j | 0) == 11) {
+            n[q[d + 12 >> 2]](a, b);
+            c = q[b + 12 >> 2];
+            break r;
+           }
+           s : {
+            t : {
+             u : {
+              v : {
+               w : {
+                x : {
+                 c = q[d + 4 >> 2] + -2 | 0;
+                 if (c >>> 0 <= 6) {
+                  y : {
+                   switch (c - 1 | 0) {
+                   case 0:
+                    q[g + 12 >> 2] = k;
+                    if (f) {
+                     break x;
+                    }
+                    c = g + 12 | 0;
+                    break t;
+                   case 1:
+                    q[g + 12 >> 2] = o;
+                    c = g + 12 | 0;
+                    if (!f) {
+                     break t;
+                    }
+                    c = f + 212 | 0;
+                    break w;
+                   case 2:
+                    q[g + 12 >> 2] = p;
+                    c = g + 12 | 0;
+                    if (!f) {
+                     break t;
+                    }
+                    c = f + 284 | 0;
+                    break w;
+                   case 3:
+                    q[g + 12 >> 2] = b;
+                    c = g + 12 | 0;
+                    break t;
+                   case 4:
+                    q[g + 12 >> 2] = a;
+                    c = g + 12 | 0;
+                    break t;
+                   case 5:
+                    break y;
+                   default:
+                    break u;
+                   }
+                  }
+                  q[g + 12 >> 2] = h;
+                  c = g + 12 | 0;
+                  f = 0;
+                  break v;
+                 }
+                 q[g + 12 >> 2] = k;
+                 c = g + 12 | 0;
+                 break t;
+                }
+                c = f + 144 | 0;
+               }
+               h = q[c >> 2];
+               f = q[f >> 2];
+              }
+              if (h) {
+               break s;
+              }
+              break j;
+             }
+             q[g + 12 >> 2] = m;
+             c = g + 12 | 0;
+            }
+            f = 0;
+           }
+           if (j + -9 >>> 0 <= 1) {
+            c = n[q[b + 68 >> 2]](b, d, c, f, 0) | 0;
+            break r;
+           }
+           c = n[q[b + 64 >> 2]](b, d, c, f, 0) | 0;
+          }
+          q[e + 12 >> 2] = c;
+          if (!c) {
+           f = 0;
+           break d;
+          }
+          if ((c & 255) == 162) {
+           break j;
+          }
+          break a;
+         }
+         c = d + 36 | 0;
+         h = q[d + 36 >> 2];
+         if (h) {
+          continue;
+         }
+         break;
+        }
+        break d;
+       }
+       n[q[b + 32 >> 2]](b);
+       f = 0;
+       if (q[b + 12 >> 2]) {
+        break c;
+       }
+       break d;
+      }
+      f = 0;
+      q[b + 12 >> 2] = 0;
+     }
+     n[q[b + 28 >> 2]](b);
+     c = q[b >> 2];
+     if (c >>> 0 < i >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   c = q[b + 12 >> 2];
+   break a;
+  }
+  q[b + 12 >> 2] = 3;
+ }
+ Ca = g + 16 | 0;
+ return c;
+}
+function RD(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0;
+ g = Ca - 32 | 0;
+ Ca = g;
+ a = r[b + 164 | 0];
+ if (!(a & 64)) {
+  o[b + 164 | 0] = a | 64;
+  sG(b);
+  q[b + 72 >> 2] = 0;
+  m = q[b + 76 >> 2];
+  a : {
+   b : {
+    if (!m) {
+     break b;
+    }
+    h = b + 72 | 0;
+    while (1) {
+     if (!r[b + 68 | 0]) {
+      break b;
+     }
+     i = q[b + 88 >> 2];
+     a = q[i + w(d, 20) >> 2];
+     c : {
+      if ((a & -2) == 12334) {
+       d : {
+        if (!(q[b + 80 >> 2] != (f | 0) | f >>> 0 <= k >>> 0)) {
+         EG(b, k, d);
+         e : {
+          if (r[b + 69 | 0]) {
+           f : {
+            if (q[b + 92 >> 2] == q[b + 88 >> 2]) {
+             d = q[b + 80 >> 2];
+             if ((d | 0) == q[b + 72 >> 2]) {
+              break f;
+             }
+            }
+            if (!pG(b, 1, 1)) {
+             break e;
+            }
+            e = q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0;
+            i = q[e + 4 >> 2];
+            d = q[b + 92 >> 2] + w(q[b + 80 >> 2], 20) | 0;
+            q[d >> 2] = q[e >> 2];
+            q[d + 4 >> 2] = i;
+            q[d + 16 >> 2] = q[e + 16 >> 2];
+            i = q[e + 12 >> 2];
+            q[d + 8 >> 2] = q[e + 8 >> 2];
+            q[d + 12 >> 2] = i;
+            d = q[b + 80 >> 2];
+           }
+           q[b + 80 >> 2] = d + 1;
+          }
+          q[h >> 2] = q[h >> 2] + 1;
+         }
+         if (bD(c, a, g + 8 | 0)) {
+          if (!cD(c, q[g + 8 >> 2])) {
+           break d;
+          }
+         }
+         BG(b, k, f + 1 | 0);
+         e = g + 24 | 0;
+         i = q[b + 92 >> 2];
+         a = i + w(f, 20) | 0;
+         q[e >> 2] = q[a + 16 >> 2];
+         p = q[a + 12 >> 2];
+         d = g + 16 | 0;
+         q[d >> 2] = q[a + 8 >> 2];
+         q[d + 4 >> 2] = p;
+         j = q[a + 4 >> 2];
+         q[g + 8 >> 2] = q[a >> 2];
+         q[g + 12 >> 2] = j;
+         a = i + w(k, 20) | 0;
+         _$(a + 20 | 0, a, w(f - k | 0, 20));
+         q[a + 16 >> 2] = q[e >> 2];
+         f = q[d + 4 >> 2];
+         q[a + 8 >> 2] = q[d >> 2];
+         q[a + 12 >> 2] = f;
+         f = q[g + 12 >> 2];
+         q[a >> 2] = q[g + 8 >> 2];
+         q[a + 4 >> 2] = f;
+         break d;
+        }
+        g : {
+         if (r[b + 16 | 0] & 16) {
+          break g;
+         }
+         q[g + 8 >> 2] = 0;
+         f = q[c + 72 >> 2];
+         if (!n[q[f + 156 >> 2]](c, q[c + 76 >> 2], 9676, g + 8 | 0, q[f + 20 >> 2])) {
+          break g;
+         }
+         h : {
+          if (!bD(c, a, g + 8 | 0)) {
+           d = 9676;
+           break h;
+          }
+          f = cD(c, q[g + 8 >> 2]);
+          d = f ? 9676 : a;
+          a = f ? a : 9676;
+         }
+         q[g + 12 >> 2] = d;
+         q[g + 8 >> 2] = a;
+         vG(b, 1, 2, g + 8 | 0);
+         break d;
+        }
+        if (r[b + 69 | 0]) {
+         i : {
+          if (q[b + 92 >> 2] == q[b + 88 >> 2]) {
+           a = q[b + 80 >> 2];
+           if ((a | 0) == q[b + 72 >> 2]) {
+            break i;
+           }
+          }
+          if (!pG(b, 1, 1)) {
+           break d;
+          }
+          f = q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0;
+          d = q[f + 4 >> 2];
+          a = q[b + 92 >> 2] + w(q[b + 80 >> 2], 20) | 0;
+          q[a >> 2] = q[f >> 2];
+          q[a + 4 >> 2] = d;
+          q[a + 16 >> 2] = q[f + 16 >> 2];
+          d = q[f + 12 >> 2];
+          q[a + 8 >> 2] = q[f + 8 >> 2];
+          q[a + 12 >> 2] = d;
+          a = q[b + 80 >> 2];
+         }
+         q[b + 80 >> 2] = a + 1;
+        }
+        q[h >> 2] = q[h >> 2] + 1;
+       }
+       k = q[b + 80 >> 2];
+       f = k;
+       break c;
+      }
+      k = q[b + 80 >> 2];
+      j : {
+       k : {
+        p = a + -4352 | 0;
+        if (a + -43360 >>> 0 > 28 ? p >>> 0 >= 96 : 0) {
+         break k;
+        }
+        e = d + 1 | 0;
+        if (e >>> 0 >= m >>> 0) {
+         break k;
+        }
+        e = q[i + w(e, 20) >> 2];
+        if (e + -55216 >>> 0 > 22 ? e + -4448 >>> 0 >= 72 : 0) {
+         break j;
+        }
+        j = 0;
+        f = 0;
+        l = d + 2 | 0;
+        if (l >>> 0 < m >>> 0) {
+         i = q[i + w(l, 20) >> 2];
+         j = i + -4520 >>> 0 < 88 | i + -55243 >>> 0 < 49;
+         f = j ? i : 0;
+         j = j ? i + -4519 | 0 : 0;
+        }
+        l = d;
+        d = f ? 3 : 2;
+        DG(b, l, l + d | 0);
+        l : {
+         if (p >>> 0 > 18 | e + -4449 >>> 0 > 20 | (f + -4520 >>> 0 > 26 ? f : 0)) {
+          break l;
+         }
+         a = ((w(a, 588) + w(e, 28) | 0) + j | 0) + -2639516 | 0;
+         q[g + 28 >> 2] = a;
+         q[g + 8 >> 2] = 0;
+         j = a;
+         a = q[c + 72 >> 2];
+         if (!n[q[a + 156 >> 2]](c, q[c + 76 >> 2], j, g + 8 | 0, q[a + 20 >> 2])) {
+          break l;
+         }
+         vG(b, d, 1, g + 28 | 0);
+         if (r[b + 68 | 0] != 1) {
+          break a;
+         }
+         f = k + 1 | 0;
+         break c;
+        }
+        o[(q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0) + 18 | 0] = 1;
+        m : {
+         if (r[b + 69 | 0]) {
+          n : {
+           if (q[b + 92 >> 2] == q[b + 88 >> 2]) {
+            a = q[b + 80 >> 2];
+            if ((a | 0) == q[b + 72 >> 2]) {
+             break n;
+            }
+           }
+           if (!pG(b, 1, 1)) {
+            a = q[h >> 2];
+            break m;
+           }
+           d = q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0;
+           e = q[d + 4 >> 2];
+           a = q[b + 92 >> 2] + w(q[b + 80 >> 2], 20) | 0;
+           q[a >> 2] = q[d >> 2];
+           q[a + 4 >> 2] = e;
+           q[a + 16 >> 2] = q[d + 16 >> 2];
+           e = q[d + 12 >> 2];
+           q[a + 8 >> 2] = q[d + 8 >> 2];
+           q[a + 12 >> 2] = e;
+           a = q[b + 80 >> 2];
+          }
+          q[b + 80 >> 2] = a + 1;
+         }
+         a = q[h >> 2] + 1 | 0;
+         q[h >> 2] = a;
+        }
+        o[(q[b + 88 >> 2] + w(a, 20) | 0) + 18 | 0] = 2;
+        o : {
+         if (r[b + 69 | 0]) {
+          p : {
+           if (q[b + 92 >> 2] == q[b + 88 >> 2]) {
+            a = q[b + 80 >> 2];
+            if ((a | 0) == q[b + 72 >> 2]) {
+             break p;
+            }
+           }
+           if (!pG(b, 1, 1)) {
+            break o;
+           }
+           d = q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0;
+           e = q[d + 4 >> 2];
+           a = q[b + 92 >> 2] + w(q[b + 80 >> 2], 20) | 0;
+           q[a >> 2] = q[d >> 2];
+           q[a + 4 >> 2] = e;
+           q[a + 16 >> 2] = q[d + 16 >> 2];
+           e = q[d + 12 >> 2];
+           q[a + 8 >> 2] = q[d + 8 >> 2];
+           q[a + 12 >> 2] = e;
+           a = q[b + 80 >> 2];
+          }
+          q[b + 80 >> 2] = a + 1;
+         }
+         q[h >> 2] = q[h >> 2] + 1;
+        }
+        if (f) {
+         o[(q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0) + 18 | 0] = 3;
+         q : {
+          if (r[b + 69 | 0]) {
+           r : {
+            if (q[b + 92 >> 2] == q[b + 88 >> 2]) {
+             a = q[b + 80 >> 2];
+             if ((a | 0) == q[b + 72 >> 2]) {
+              break r;
+             }
+            }
+            if (!pG(b, 1, 1)) {
+             break q;
+            }
+            f = q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0;
+            d = q[f + 4 >> 2];
+            a = q[b + 92 >> 2] + w(q[b + 80 >> 2], 20) | 0;
+            q[a >> 2] = q[f >> 2];
+            q[a + 4 >> 2] = d;
+            q[a + 16 >> 2] = q[f + 16 >> 2];
+            d = q[f + 12 >> 2];
+            q[a + 8 >> 2] = q[f + 8 >> 2];
+            q[a + 12 >> 2] = d;
+            a = q[b + 80 >> 2];
+           }
+           q[b + 80 >> 2] = a + 1;
+          }
+          q[h >> 2] = q[h >> 2] + 1;
+         }
+         a = 3;
+        } else {
+         a = 2;
+        }
+        f = a + k | 0;
+        if (q[b + 20 >> 2]) {
+         break c;
+        }
+        BG(b, k, f);
+        break c;
+       }
+       e = a + -44032 | 0;
+       if (e >>> 0 > 11171) {
+        break j;
+       }
+       q[g + 8 >> 2] = 0;
+       d = q[c + 72 >> 2];
+       d = n[q[d + 156 >> 2]](c, q[c + 76 >> 2], a, g + 8 | 0, q[d + 20 >> 2]) | 0;
+       j = ((e & 65535) >>> 0) / 588 | 0;
+       e = e - w(j, 588) | 0;
+       i = ((e & 65535) >>> 0) / 28 | 0;
+       p = e - w(i, 28) | 0;
+       e = p & 65535;
+       s : {
+        t : {
+         if (!e) {
+          u : {
+           l = q[h >> 2] + 1 | 0;
+           v : {
+            if (l >>> 0 >= m >>> 0) {
+             break v;
+            }
+            l = q[q[b + 88 >> 2] + w(l, 20) >> 2];
+            if (l + -4520 >>> 0 > 26) {
+             break v;
+            }
+            a = (a + l | 0) + -4519 | 0;
+            q[g + 28 >> 2] = a;
+            q[g + 8 >> 2] = 0;
+            l = a;
+            a = q[c + 72 >> 2];
+            if (n[q[a + 156 >> 2]](c, q[c + 76 >> 2], l, g + 8 | 0, q[a + 20 >> 2])) {
+             break u;
+            }
+            a = q[b + 72 >> 2];
+            DG(b, a, a + 2 | 0);
+           }
+           if (!d) {
+            break t;
+           }
+           a = q[h >> 2] + 1 | 0;
+           if (a >>> 0 >= m >>> 0) {
+            break s;
+           }
+           a = q[q[b + 88 >> 2] + w(a, 20) >> 2];
+           if (a + -4520 >>> 0 < 88 | a + -55243 >>> 0 <= 48) {
+            break t;
+           }
+           break s;
+          }
+          vG(b, 2, 1, g + 28 | 0);
+          if (r[b + 68 | 0] != 1) {
+           break a;
+          }
+          f = k + 1 | 0;
+          break c;
+         }
+         if (d) {
+          break s;
+         }
+        }
+        q[g + 12 >> 2] = i + 4449;
+        a = j | 4352;
+        q[g + 8 >> 2] = a;
+        q[g + 16 >> 2] = p + 4519 & 65535;
+        q[g + 28 >> 2] = 0;
+        w : {
+         x : {
+          j = a;
+          a = q[c + 72 >> 2];
+          if (!n[q[a + 156 >> 2]](c, q[c + 76 >> 2], j, g + 28 | 0, q[a + 20 >> 2])) {
+           break x;
+          }
+          a = q[g + 12 >> 2];
+          q[g + 28 >> 2] = 0;
+          j = a;
+          a = q[c + 72 >> 2];
+          if (!n[q[a + 156 >> 2]](c, q[c + 76 >> 2], j, g + 28 | 0, q[a + 20 >> 2])) {
+           break x;
+          }
+          if (e) {
+           a = q[g + 16 >> 2];
+           q[g + 28 >> 2] = 0;
+           j = a;
+           a = q[c + 72 >> 2];
+           if (!n[q[a + 156 >> 2]](c, q[c + 76 >> 2], j, g + 28 | 0, q[a + 20 >> 2])) {
+            break w;
+           }
+          }
+          a = e ? 3 : 2;
+          vG(b, 1, a, g + 8 | 0);
+          if (!(!d | e)) {
+           y : {
+            if (r[b + 69 | 0]) {
+             z : {
+              if (q[b + 92 >> 2] == q[b + 88 >> 2]) {
+               d = q[b + 80 >> 2];
+               if ((d | 0) == q[b + 72 >> 2]) {
+                break z;
+               }
+              }
+              if (!pG(b, 1, 1)) {
+               break y;
+              }
+              d = q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0;
+              e = q[d + 4 >> 2];
+              f = q[b + 92 >> 2] + w(q[b + 80 >> 2], 20) | 0;
+              q[f >> 2] = q[d >> 2];
+              q[f + 4 >> 2] = e;
+              q[f + 16 >> 2] = q[d + 16 >> 2];
+              e = q[d + 12 >> 2];
+              q[f + 8 >> 2] = q[d + 8 >> 2];
+              q[f + 12 >> 2] = e;
+              d = q[b + 80 >> 2];
+             }
+             q[b + 80 >> 2] = d + 1;
+            }
+            q[h >> 2] = q[h >> 2] + 1;
+           }
+           a = a + 1 | 0;
+          }
+          if (r[b + 68 | 0] != 1) {
+           break a;
+          }
+          d = q[b + 92 >> 2];
+          f = d + w(k, 20) | 0;
+          o[f + 38 | 0] = 2;
+          o[f + 18 | 0] = 1;
+          e = k + 2 | 0;
+          f = a + k | 0;
+          if (e >>> 0 < f >>> 0) {
+           o[(d + w(e, 20) | 0) + 18 | 0] = 3;
+          }
+          if (q[b + 20 >> 2]) {
+           break c;
+          }
+          BG(b, k, f);
+          break c;
+         }
+         if (e) {
+          break w;
+         }
+         a = q[h >> 2];
+         e = a + 1 | 0;
+         if (e >>> 0 >= m >>> 0) {
+          break w;
+         }
+         e = q[q[b + 88 >> 2] + w(e, 20) >> 2];
+         if (e + -55243 >>> 0 > 48 ? e + -4520 >>> 0 >= 88 : 0) {
+          break w;
+         }
+         DG(b, a, a + 2 | 0);
+        }
+        if (!d) {
+         break j;
+        }
+       }
+       f = k + 1 | 0;
+       if (r[b + 69 | 0]) {
+        A : {
+         if (q[b + 92 >> 2] == q[b + 88 >> 2]) {
+          a = q[b + 80 >> 2];
+          if ((a | 0) == q[b + 72 >> 2]) {
+           break A;
+          }
+         }
+         if (!pG(b, 1, 1)) {
+          break c;
+         }
+         d = q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0;
+         e = q[d + 4 >> 2];
+         a = q[b + 92 >> 2] + w(q[b + 80 >> 2], 20) | 0;
+         q[a >> 2] = q[d >> 2];
+         q[a + 4 >> 2] = e;
+         q[a + 16 >> 2] = q[d + 16 >> 2];
+         e = q[d + 12 >> 2];
+         q[a + 8 >> 2] = q[d + 8 >> 2];
+         q[a + 12 >> 2] = e;
+         a = q[b + 80 >> 2];
+        }
+        q[b + 80 >> 2] = a + 1;
+       }
+       q[h >> 2] = q[h >> 2] + 1;
+       break c;
+      }
+      if (r[b + 69 | 0]) {
+       B : {
+        if (q[b + 92 >> 2] == q[b + 88 >> 2]) {
+         a = q[b + 80 >> 2];
+         if ((a | 0) == q[b + 72 >> 2]) {
+          break B;
+         }
+        }
+        if (!pG(b, 1, 1)) {
+         break c;
+        }
+        d = q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0;
+        e = q[d + 4 >> 2];
+        a = q[b + 92 >> 2] + w(q[b + 80 >> 2], 20) | 0;
+        q[a >> 2] = q[d >> 2];
+        q[a + 4 >> 2] = e;
+        q[a + 16 >> 2] = q[d + 16 >> 2];
+        e = q[d + 12 >> 2];
+        q[a + 8 >> 2] = q[d + 8 >> 2];
+        q[a + 12 >> 2] = e;
+        a = q[b + 80 >> 2];
+       }
+       q[b + 80 >> 2] = a + 1;
+      }
+      q[h >> 2] = q[h >> 2] + 1;
+     }
+     d = q[h >> 2];
+     if (d >>> 0 < m >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   uG(b);
+  }
+  Ca = g + 32 | 0;
+  return;
+ }
+ J(255120, 255092, 150, 255107);
+ F();
+}
+function IX(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0;
+ e = Ca - 128 | 0;
+ Ca = e;
+ a : {
+  if (c >>> 0 > 2) {
+   break a;
+  }
+  p = tX(a);
+  if (!p) {
+   break a;
+  }
+  n = q[((c << 2) + p | 0) + 20 >> 2];
+  b : {
+   if (c) {
+    break b;
+   }
+   d = _Q();
+   if (d) {
+    a = yQ(d);
+    g = HP();
+    MP(g, 503031);
+    BQ(d);
+    c : {
+     if (!a) {
+      break c;
+     }
+     i = zQ(a);
+     if (!i) {
+      break c;
+     }
+     f = e + 40 | 0;
+     while (1) {
+      d = hS(b, 34);
+      d : {
+       if (!d) {
+        break d;
+       }
+       j = q[d + 4 >> 2];
+       d = j & 1 ? d + (j & -2) | 0 : j;
+       if (!d) {
+        break d;
+       }
+       while (1) {
+        cS(e + 96 | 0, d + 8 | 0);
+        e : {
+         if (q[e + 96 >> 2] == 8) {
+          j = HP();
+          MP(j, i);
+          h = TP(q[e + 104 >> 2], j);
+          KP(j);
+          if (h) {
+           break c;
+          }
+          if (!TP(q[e + 104 >> 2], g)) {
+           break e;
+          }
+          break c;
+         }
+         if (!$P(q[e + 104 >> 2], i)) {
+          break c;
+         }
+         if (!$P(q[e + 104 >> 2], 503031)) {
+          break c;
+         }
+        }
+        j = d;
+        d = q[d >> 2];
+        d = d & 1 ? j + (d & -2) | 0 : d;
+        if (d) {
+         continue;
+        }
+        break;
+       }
+      }
+      q[e + 120 >> 2] = i;
+      d = q[e + 124 >> 2];
+      q[f >> 2] = q[e + 120 >> 2];
+      q[f + 4 >> 2] = d;
+      q[e + 112 >> 2] = 3;
+      d = q[e + 116 >> 2];
+      q[e + 32 >> 2] = q[e + 112 >> 2];
+      q[e + 36 >> 2] = d;
+      lS(b, 34, e + 32 | 0, 0);
+      i = zQ(a);
+      if (i) {
+       continue;
+      }
+      break;
+     }
+    }
+    AQ(a);
+    KP(g);
+   }
+   if ((zS(b, 44, e + 80 | 0) | 0) != 1) {
+    break b;
+   }
+   a = $Q();
+   if (!a) {
+    break b;
+   }
+   rS(b, 44, a);
+  }
+  d = 0;
+  f = q[p + 32 >> 2];
+  a = f + 53 | 0;
+  g = a << 2;
+  k = L$(g);
+  f : {
+   if (!k) {
+    break f;
+   }
+   l = L$(g);
+   if (!l) {
+    M$(k);
+    break f;
+   }
+   m = L$(g);
+   g : {
+    if (!m) {
+     m = 0;
+     break g;
+    }
+    if (r[643388] & 4) {
+     d0(503035, 0);
+     XS(b);
+    }
+    MW(n, e - -64 | 0);
+    if (OW(n, e - -64 | 0)) {
+     v = ((a | 0) > 1 ? a : 1) << 2;
+     w = (f | 0) < -52;
+     while (1) {
+      a = NW(n, e - -64 | 0);
+      if (r[643388] & 4) {
+       q[e + 16 >> 2] = q[a + 4 >> 2];
+       d0(503055, e + 16 | 0);
+      }
+      o = (a + (c << 2) | 0) + 20 | 0;
+      MW(q[o >> 2], e + 48 | 0);
+      if (OW(q[o >> 2], e + 48 | 0)) {
+       while (1) {
+        h = NW(q[o >> 2], e + 48 | 0);
+        if (!w) {
+         Z$(l, 0, v);
+         Z$(k, 0, v);
+         Z$(m, 0, v);
+        }
+        h : {
+         if (!h) {
+          break h;
+         }
+         while (1) {
+          a = q[h + 4 >> 2] + -1 | 0;
+          i : {
+           if (a >>> 0 > 1) {
+            break i;
+           }
+           if (a - 1) {
+            a = q[q[h + 8 >> 2] + 8 >> 2];
+            if (r[643388] & 4) {
+             d0(503070, 0);
+             _S(q[h + 8 >> 2]);
+            }
+            d = a & -1025;
+            j : {
+             if ((c | 0) == 1) {
+              a = 0;
+              if (!q[q[h + 8 >> 2] >> 2]) {
+               break j;
+              }
+             }
+             a = b;
+            }
+            f = a;
+            g = 0;
+            k : {
+             if (!f) {
+              break k;
+             }
+             g = hS(f, q[q[h + 8 >> 2] + 8 >> 2]);
+            }
+            t = d << 2;
+            a = t + l | 0;
+            l : {
+             if (q[a >> 2]) {
+              break l;
+             }
+             d = q[h + 8 >> 2];
+             if (q[d >> 2] != (c | 0)) {
+              break l;
+             }
+             q[a >> 2] = g;
+             q[m + t >> 2] = d;
+            }
+            u = q[h + 8 >> 2];
+            if (!g) {
+             if (q[u + 4 >> 2] == 1) {
+              q[k + t >> 2] = 0;
+              break i;
+             }
+             if (!(r[643388] & 4)) {
+              break h;
+             }
+             f0(503688);
+             break h;
+            }
+            a = q[u + 16 >> 2];
+            m : {
+             if (!a) {
+              i = 0;
+              break m;
+             }
+             j = q[g + 4 >> 2];
+             i = 0;
+             while (1) {
+              n : {
+               if (s[a >> 1] == 36) {
+                JX(e + 96 | 0, f, 0, c, q[a + 8 >> 2]);
+                d = q[e + 108 >> 2];
+                q[e + 120 >> 2] = q[e + 104 >> 2];
+                q[e + 124 >> 2] = d;
+                d = q[e + 100 >> 2];
+                q[e + 112 >> 2] = q[e + 96 >> 2];
+                q[e + 116 >> 2] = d;
+                a = q[a + 12 >> 2];
+                break n;
+               }
+               JX(e + 96 | 0, f, 0, c, a);
+               a = q[e + 108 >> 2];
+               q[e + 120 >> 2] = q[e + 104 >> 2];
+               q[e + 124 >> 2] = a;
+               a = q[e + 100 >> 2];
+               q[e + 112 >> 2] = q[e + 96 >> 2];
+               q[e + 116 >> 2] = a;
+               a = 0;
+              }
+              d = j;
+              o : {
+               if (!d) {
+                break o;
+               }
+               while (1) {
+                p : {
+                 if (HX(d + 8 | 0, q[u + 12 >> 2], e + 112 | 0)) {
+                  i = i ? i : d;
+                  break p;
+                 }
+                 if (q[u + 4 >> 2] != 1) {
+                  break p;
+                 }
+                 i = 0;
+                 break o;
+                }
+                x = d;
+                d = q[d >> 2];
+                d = d & 1 ? x + (d & -2) | 0 : d;
+                if (d) {
+                 continue;
+                }
+                break;
+               }
+              }
+              d = q[e + 124 >> 2];
+              q[e + 8 >> 2] = q[e + 120 >> 2];
+              q[e + 12 >> 2] = d;
+              d = q[e + 116 >> 2];
+              q[e >> 2] = q[e + 112 >> 2];
+              q[e + 4 >> 2] = d;
+              bS(e);
+              if (a) {
+               continue;
+              }
+              break;
+             }
+            }
+            a = k + t | 0;
+            if (!(q[a >> 2] | q[q[h + 8 >> 2] >> 2] != (c | 0))) {
+             q[a >> 2] = i;
+            }
+            q : {
+             if (!i) {
+              break q;
+             }
+             a = q[q[h + 8 >> 2] + 4 >> 2] + -2 | 0;
+             if (a >>> 0 > 1) {
+              break i;
+             }
+             if (a - 1) {
+              if (q[g + 4 >> 2] != (i | 0)) {
+               break q;
+              }
+              break i;
+             }
+             if (q[g + 4 >> 2] != (i | 0)) {
+              break i;
+             }
+            }
+            if (!(r[643388] & 4)) {
+             break h;
+            }
+            f0(503688);
+            break h;
+           }
+           d = q[h + 8 >> 2];
+           f = q[d >> 2] & -1025;
+           a = b;
+           g = c;
+           if (r[643388] & 4) {
+            d0(503095, 0);
+            $S(q[h + 8 >> 2]);
+            f0(503697);
+            d = q[h + 8 >> 2];
+           }
+           g = KX(a, 0, g, q[d + 8 >> 2], q[d + 12 >> 2]);
+           a = f << 2;
+           d = q[a + m >> 2];
+           if (!(!d | (q[d >> 2] != 1 ? c : 0))) {
+            y = a + l | 0, z = hS(b, q[d + 8 >> 2]), q[y >> 2] = z;
+           }
+           r : {
+            s : {
+             d = q[h + 8 >> 2];
+             f = s[d + 4 >> 1] + -11 | 0;
+             if (f >>> 0 > 7) {
+              break s;
+             }
+             t : {
+              u : {
+               v : {
+                w : {
+                 x : {
+                  y : {
+                   z : {
+                    A : {
+                     switch (f - 1 | 0) {
+                     case 6:
+                      break t;
+                     case 5:
+                      break u;
+                     case 4:
+                      break v;
+                     case 3:
+                      break w;
+                     case 1:
+                      break x;
+                     case 2:
+                      break y;
+                     case 0:
+                      break z;
+                     default:
+                      break A;
+                     }
+                    }
+                    j = a + k | 0;
+                    f = q[j >> 2];
+                    if (!f) {
+                     break z;
+                    }
+                    i = q[a + l >> 2];
+                    a = i + 4 | 0;
+                    LX(a, f, 1, g, q[d >> 2]);
+                    d = q[i + 4 >> 2];
+                    B : {
+                     if (!d) {
+                      break B;
+                     }
+                     if ((d | 0) != (f | 0)) {
+                      while (1) {
+                       a = d;
+                       d = q[d >> 2];
+                       if (!d) {
+                        break B;
+                       }
+                       if ((d | 0) != (f | 0)) {
+                        continue;
+                       }
+                       break;
+                      }
+                     }
+                     q[a >> 2] = q[f >> 2];
+                     q[f >> 2] = 0;
+                     eS(f);
+                    }
+                    q[j >> 2] = g;
+                    break r;
+                   }
+                   C : {
+                    f = hS(b, q[d >> 2]);
+                    if (!f) {
+                     break C;
+                    }
+                    while (1) {
+                     d = q[f + 4 >> 2];
+                     if (!d) {
+                      break C;
+                     }
+                     q[f + 4 >> 2] = q[d >> 2];
+                     q[d >> 2] = 0;
+                     eS(d);
+                     continue;
+                    }
+                   }
+                   D : {
+                    if (!g) {
+                     break D;
+                    }
+                    d = q[q[h + 8 >> 2] >> 2];
+                    f = iS(b, d);
+                    if (!f) {
+                     break D;
+                    }
+                    LX(f + 4 | 0, 0, 1, g, d);
+                   }
+                   q[a + k >> 2] = 0;
+                   break r;
+                  }
+                  f = q[a + k >> 2];
+                  if (!f) {
+                   break x;
+                  }
+                  LX(q[a + l >> 2] + 4 | 0, f, 0, g, q[d >> 2]);
+                  break r;
+                 }
+                 if (!g) {
+                  break r;
+                 }
+                 a = q[d >> 2];
+                 d = iS(b, a);
+                 if (!d) {
+                  break r;
+                 }
+                 LX(d + 4 | 0, 0, 0, g, a);
+                 break r;
+                }
+                f = q[a + k >> 2];
+                if (!f) {
+                 break v;
+                }
+                LX(q[a + l >> 2] + 4 | 0, f, 1, g, q[d >> 2]);
+                break r;
+               }
+               if (!g) {
+                break r;
+               }
+               a = q[d >> 2];
+               d = iS(b, a);
+               if (!d) {
+                break r;
+               }
+               LX(d + 4 | 0, 0, 1, g, a);
+               break r;
+              }
+              f = q[a + k >> 2];
+              if (!f) {
+               break t;
+              }
+              a = q[a + l >> 2];
+              d = q[a + 4 >> 2];
+              if (!d) {
+               break s;
+              }
+              E : {
+               if ((d | 0) == (f | 0)) {
+                a = a + 4 | 0;
+                break E;
+               }
+               while (1) {
+                a = d;
+                d = q[d >> 2];
+                if (!d) {
+                 break s;
+                }
+                if ((d | 0) != (f | 0)) {
+                 continue;
+                }
+                break;
+               }
+              }
+              q[a >> 2] = q[f >> 2];
+              q[f >> 2] = 0;
+              eS(f);
+              break s;
+             }
+             d = hS(b, q[d >> 2]);
+             if (!d) {
+              break s;
+             }
+             while (1) {
+              a = q[d + 4 >> 2];
+              if (!a) {
+               break s;
+              }
+              q[d + 4 >> 2] = q[a >> 2];
+              q[a >> 2] = 0;
+              eS(a);
+              continue;
+             }
+            }
+            eS(g);
+           }
+           a = q[q[h + 8 >> 2] >> 2];
+           d = hS(b, a);
+           if (!(!d | q[d + 4 >> 2])) {
+            oS(b, a);
+           }
+           if (!(r[643388] & 4)) {
+            break i;
+           }
+           d0(503107, 0);
+           XS(b);
+          }
+          h = q[h >> 2];
+          if (h) {
+           continue;
+          }
+          break;
+         }
+        }
+        QW(q[o >> 2], e + 48 | 0);
+        if (OW(q[o >> 2], e + 48 | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      QW(n, e - -64 | 0);
+      if (OW(n, e - -64 | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    d = 1;
+    if (!(r[643388] & 4)) {
+     break g;
+    }
+    d0(503131, 0);
+    XS(b);
+   }
+   M$(l);
+   M$(k);
+   if (!m) {
+    break f;
+   }
+   M$(m);
+  }
+  pX(p);
+ }
+ Ca = e + 128 | 0;
+ return d;
+}
+function Ui(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0;
+ j = Ca - 16 | 0;
+ Ca = j;
+ m = q[a + 736 >> 2];
+ i = q[a + 104 >> 2];
+ n = q[i + 28 >> 2];
+ q[j + 4 >> 2] = 0;
+ u = 6;
+ a : {
+  if (!m | !r[a + 733 | 0]) {
+   break a;
+  }
+  if (e) {
+   g = q[c + 4 >> 2];
+   u = 0;
+   while (1) {
+    f = u << 3;
+    h = f + d | 0;
+    f = f + g | 0;
+    q[h >> 2] = q[f >> 2] << 6;
+    q[h + 4 >> 2] = q[f + 4 >> 2] << 6;
+    u = u + 1 | 0;
+    if ((u | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  u = 0;
+  if (t[m + 68 >> 2] <= b >>> 0) {
+   break a;
+  }
+  g = q[m + 72 >> 2];
+  f = b + 1 | 0;
+  if (q[g + (b << 2) >> 2] == q[g + (f << 2) >> 2]) {
+   break a;
+  }
+  z = Te(n, 8, 0, e, 0, j + 12 | 0);
+  b : {
+   if (q[j + 12 >> 2]) {
+    break b;
+   }
+   y = Te(n, 8, 0, e, 0, j + 12 | 0);
+   if (q[j + 12 >> 2]) {
+    break b;
+   }
+   u = Te(n, 1, 0, e, 0, j + 12 | 0);
+   if (q[j + 12 >> 2]) {
+    break b;
+   }
+   g = q[m + 72 >> 2];
+   f = q[g + (f << 2) >> 2];
+   b = q[g + (b << 2) >> 2];
+   g = yg(i, b);
+   q[j + 12 >> 2] = g;
+   if (g) {
+    break b;
+   }
+   b = f - b | 0;
+   g = Kg(i, b);
+   q[j + 12 >> 2] = g;
+   if (g) {
+    break b;
+   }
+   f = q[i >> 2];
+   h = q[i + 32 >> 2];
+   B = Te(n, 4, 0, q[m >> 2], 0, j + 12 | 0);
+   c : {
+    d : {
+     if (q[j + 12 >> 2]) {
+      break d;
+     }
+     J = Te(n, 4, 0, q[m >> 2], 0, j + 12 | 0);
+     if (q[j + 12 >> 2]) {
+      break d;
+     }
+     K = Te(n, 4, 0, q[m >> 2], 0, j + 12 | 0);
+     if (q[j + 12 >> 2]) {
+      break d;
+     }
+     g = Pg(i);
+     e : {
+      l = Pg(i);
+      if (b >>> 0 >= l >>> 0) {
+       L = g & 4095;
+       if (L << 2 >>> 0 <= b >>> 0) {
+        break e;
+       }
+      }
+      q[j + 12 >> 2] = 8;
+      break d;
+     }
+     A = l + (h - f | 0) | 0;
+     if (g & 32768) {
+      f = q[i + 32 >> 2];
+      b = q[i >> 2];
+      g = q[i + 36 >> 2];
+      q[i + 32 >> 2] = A >>> 0 < g - b >>> 0 ? b + A | 0 : g;
+      M = Ji(i, q[m + 76 >> 2], j + 4 | 0);
+      h = q[i + 32 >> 2];
+      g = q[i >> 2];
+      b = f - b | 0;
+      f = q[i + 36 >> 2];
+      q[i + 32 >> 2] = b >>> 0 < f - g >>> 0 ? g + b | 0 : f;
+      A = h - g | 0;
+     }
+     C = Te(n, 4, 0, e, 0, j + 12 | 0);
+     f : {
+      if (q[j + 12 >> 2]) {
+       break f;
+      }
+      D = Te(n, 4, 0, e, 0, j + 12 | 0);
+      if (q[j + 12 >> 2]) {
+       break f;
+      }
+      if (e) {
+       b = q[c + 4 >> 2];
+       f = 0;
+       while (1) {
+        g = f << 3;
+        h = g + z | 0;
+        g = b + g | 0;
+        q[h >> 2] = q[g >> 2] << 16;
+        q[h + 4 >> 2] = q[g + 4 >> 2] << 16;
+        f = f + 1 | 0;
+        if ((f | 0) != (e | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      if (L) {
+       O = e + -1 | 0;
+       P = e + -2 | 0;
+       Q = e + -3 | 0;
+       E = e + -4 | 0;
+       R = q[j + 4 >> 2];
+       h = 0;
+       while (1) {
+        U = Pg(i);
+        g : {
+         h : {
+          i : {
+           j : {
+            b = Pg(i);
+            k : {
+             if (b & 32768) {
+              f = 0;
+              if (!q[m >> 2]) {
+               break k;
+              }
+              while (1) {
+               W = (f << 2) + B | 0, X = Pg(i) << 16 >> 16 << 2, q[W >> 2] = X;
+               f = f + 1 | 0;
+               if (f >>> 0 < t[m >> 2]) {
+                continue;
+               }
+               break;
+              }
+              break k;
+             }
+             g = b & 4095;
+             if (g >>> 0 >= t[m + 60 >> 2]) {
+              break j;
+             }
+             f = g;
+             g = q[m >> 2];
+             Y$(B, q[m + 64 >> 2] + (w(f, g) << 2) | 0, g << 2);
+            }
+            l : {
+             if (!(b & 16384)) {
+              break l;
+             }
+             f = 0;
+             if (!q[m >> 2]) {
+              break l;
+             }
+             while (1) {
+              W = (f << 2) + J | 0, X = Pg(i) << 16 >> 16 << 2, q[W >> 2] = X;
+              f = f + 1 | 0;
+              g = q[m >> 2];
+              if (f >>> 0 < g >>> 0) {
+               continue;
+              }
+              break;
+             }
+             f = 0;
+             if (!g) {
+              break l;
+             }
+             while (1) {
+              W = (f << 2) + K | 0, X = Pg(i) << 16 >> 16 << 2, q[W >> 2] = X;
+              f = f + 1 | 0;
+              if (f >>> 0 < t[m >> 2]) {
+               continue;
+              }
+              break;
+             }
+            }
+            l = Ki(m, b, B, J, K);
+            if (!l) {
+             break g;
+            }
+            V = q[i + 32 >> 2];
+            N = q[i >> 2];
+            g = q[i + 36 >> 2];
+            q[i + 32 >> 2] = A >>> 0 < g - N >>> 0 ? N + A | 0 : g;
+            m : {
+             if (b & 8192) {
+              F = Ji(i, q[m + 76 >> 2], j + 8 | 0);
+              g = q[j + 8 >> 2];
+              b = F;
+              break m;
+             }
+             q[j + 8 >> 2] = R;
+             g = R;
+             F = h;
+             b = M;
+            }
+            f = g ? g : e;
+            G = Li(i, q[m + 76 >> 2], f);
+            H = Li(i, q[m + 76 >> 2], f);
+            if (!H | (!G | !b)) {
+             break h;
+            }
+            n : {
+             if ((b | 0) != -1) {
+              f = 0;
+              if (e) {
+               break n;
+              }
+              break i;
+             }
+             f = 0;
+             if (!e) {
+              break h;
+             }
+             while (1) {
+              b = f << 2;
+              g = b + D | 0;
+              h = q[g >> 2];
+              k = b + C | 0;
+              v = q[k >> 2];
+              x = Ee(q[b + G >> 2], l);
+              b = Ee(q[b + H >> 2], l);
+              o : {
+               if (f >>> 0 < E >>> 0) {
+                q[k >> 2] = v + x;
+                q[g >> 2] = b + h;
+                break o;
+               }
+               if (!(r[a + 740 | 0] & 4 | (f | 0) != (E | 0))) {
+                q[k >> 2] = v + x;
+                break o;
+               }
+               if (!(r[a + 740 | 0] & 2 | (f | 0) != (Q | 0))) {
+                q[k >> 2] = v + x;
+                break o;
+               }
+               if (!(r[a + 740 | 0] & 32 | (f | 0) != (P | 0))) {
+                q[g >> 2] = b + h;
+                break o;
+               }
+               if (r[a + 740 | 0] & 16 | (f | 0) != (O | 0)) {
+                break o;
+               }
+               q[g >> 2] = b + h;
+              }
+              f = f + 1 | 0;
+              if ((f | 0) != (e | 0)) {
+               continue;
+              }
+              break;
+             }
+             break h;
+            }
+            while (1) {
+             o[f + u | 0] = 0;
+             h = f << 3;
+             k = h + y | 0;
+             h = h + z | 0;
+             v = q[h + 4 >> 2];
+             q[k >> 2] = q[h >> 2];
+             q[k + 4 >> 2] = v;
+             f = f + 1 | 0;
+             if ((f | 0) != (e | 0)) {
+              continue;
+             }
+             break;
+            }
+            break i;
+           }
+           q[j + 12 >> 2] = 8;
+           break f;
+          }
+          f = 0;
+          if (g) {
+           while (1) {
+            h = s[b + (f << 1) >> 1];
+            if (h >>> 0 < e >>> 0) {
+             o[h + u | 0] = 1;
+             h = (h << 3) + y | 0;
+             k = f << 2;
+             W = h, X = Ee(q[k + G >> 2], l) + q[h >> 2] | 0, q[W >> 2] = X;
+             W = h, X = Ee(q[k + H >> 2], l) + q[h + 4 >> 2] | 0, q[W + 4 >> 2] = X;
+            }
+            f = f + 1 | 0;
+            if ((g | 0) != (f | 0)) {
+             continue;
+            }
+            break;
+           }
+          }
+          I = 0;
+          g = 0;
+          if (s[c >> 1]) {
+           while (1) {
+            x = p[q[c + 12 >> 2] + (I << 1) >> 1];
+            p : {
+             if ((g | 0) > (x | 0)) {
+              break p;
+             }
+             k = x + 1 | 0;
+             f = g;
+             q : {
+              r : {
+               s : {
+                while (1) {
+                 t : {
+                  b = f + 1 | 0;
+                  if (r[f + u | 0]) {
+                   v = f;
+                   h = f;
+                   S = (f | 0) < (x | 0);
+                   if (S) {
+                    while (1) {
+                     l = b;
+                     if (r[b + u | 0]) {
+                      Wi(h + 1 | 0, v, h, l, z, y);
+                      h = l;
+                     }
+                     b = l + 1 | 0;
+                     v = l;
+                     if ((l | 0) != (x | 0)) {
+                      continue;
+                     }
+                     break;
+                    }
+                    if ((f | 0) != (h | 0)) {
+                     break s;
+                    }
+                    b = k;
+                   }
+                   h = f << 3;
+                   k = h + y | 0;
+                   h = h + z | 0;
+                   l = q[k + 4 >> 2] - q[h + 4 >> 2] | 0;
+                   k = q[k >> 2] - q[h >> 2] | 0;
+                   if (l | k) {
+                    break t;
+                   }
+                   g = b;
+                   break p;
+                  }
+                  h = (f | 0) == (x | 0);
+                  f = b;
+                  if (!h) {
+                   continue;
+                  }
+                  break r;
+                 }
+                 break;
+                }
+                if ((g | 0) >= (f | 0)) {
+                 break q;
+                }
+                while (1) {
+                 h = (g << 3) + y | 0;
+                 q[h >> 2] = k + q[h >> 2];
+                 q[h + 4 >> 2] = l + q[h + 4 >> 2];
+                 g = g + 1 | 0;
+                 if ((g | 0) != (f | 0)) {
+                  continue;
+                 }
+                 break;
+                }
+                break q;
+               }
+               Wi(h + 1 | 0, x, h, f, z, y);
+               if ((f | 0) < 1) {
+                break r;
+               }
+               Wi(g, f + -1 | 0, h, f, z, y);
+              }
+              g = k;
+              break p;
+             }
+             if (!S) {
+              g = b;
+              break p;
+             }
+             while (1) {
+              f = f + 1 | 0;
+              g = (f << 3) + y | 0;
+              q[g >> 2] = k + q[g >> 2];
+              q[g + 4 >> 2] = l + q[g + 4 >> 2];
+              if ((f | 0) != (x | 0)) {
+               continue;
+              }
+              break;
+             }
+             g = b;
+            }
+            I = I + 1 | 0;
+            if ((I | 0) < p[c >> 1]) {
+             continue;
+            }
+            break;
+           }
+          }
+          f = 0;
+          if (!e) {
+           break h;
+          }
+          while (1) {
+           b = f << 3;
+           g = b + y | 0;
+           h = b + z | 0;
+           b = q[g + 4 >> 2] - q[h + 4 >> 2] | 0;
+           g = q[g >> 2] - q[h >> 2] | 0;
+           k = f << 2;
+           h = k + D | 0;
+           l = q[h >> 2];
+           k = k + C | 0;
+           v = q[k >> 2];
+           u : {
+            if (f >>> 0 < E >>> 0) {
+             q[k >> 2] = g + v;
+             q[h >> 2] = b + l;
+             break u;
+            }
+            if (!(r[a + 740 | 0] & 4 | (f | 0) != (E | 0))) {
+             q[k >> 2] = g + v;
+             break u;
+            }
+            if (!(r[a + 740 | 0] & 2 | (f | 0) != (Q | 0))) {
+             q[k >> 2] = g + v;
+             break u;
+            }
+            if (!(r[a + 740 | 0] & 32 | (f | 0) != (P | 0))) {
+             q[h >> 2] = b + l;
+             break u;
+            }
+            if (r[a + 740 | 0] & 16 | (f | 0) != (O | 0)) {
+             break u;
+            }
+            q[h >> 2] = b + l;
+           }
+           f = f + 1 | 0;
+           if ((f | 0) != (e | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         b = V - N | 0;
+         h = -1;
+         if ((F | 0) != -1) {
+          Qe(n, F);
+          h = 0;
+         }
+         Qe(n, G);
+         Qe(n, H);
+         g = q[i >> 2];
+         f = q[i + 36 >> 2];
+         q[i + 32 >> 2] = b >>> 0 < f - g >>> 0 ? g + b | 0 : f;
+        }
+        A = A + U | 0;
+        T = T + 1 | 0;
+        if ((T | 0) != (L | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      if (!e) {
+       break f;
+      }
+      b = q[c + 4 >> 2];
+      f = 0;
+      while (1) {
+       c = f << 3;
+       a = c + d | 0;
+       g = f << 2;
+       h = g + C | 0;
+       q[a >> 2] = q[a >> 2] + (q[h >> 2] + 512 >> 10);
+       g = g + D | 0;
+       q[a + 4 >> 2] = q[a + 4 >> 2] + (q[g >> 2] + 512 >> 10);
+       a = b + c | 0;
+       q[a >> 2] = q[a >> 2] + (q[h >> 2] + 32768 >> 16);
+       q[a + 4 >> 2] = q[a + 4 >> 2] + (q[g >> 2] + 32768 >> 16);
+       f = f + 1 | 0;
+       if ((f | 0) != (e | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     Qe(n, C);
+     Qe(n, D);
+     if ((M | 0) == -1) {
+      break c;
+     }
+    }
+    Qe(n, M);
+   }
+   Qe(n, B);
+   Qe(n, J);
+   Qe(n, K);
+   Ng(i);
+  }
+  Qe(n, z);
+  Qe(n, y);
+  Qe(n, u);
+  u = q[j + 12 >> 2];
+ }
+ Ca = j + 16 | 0;
+ return u;
+}
+function Dz(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ e = Ca - 96 | 0;
+ Ca = e;
+ a : {
+  if (q[a + 24 >> 2] == 13) {
+   c = q[a + 140 >> 2];
+   q[e + 88 >> 2] = q[a + 136 >> 2];
+   q[e + 92 >> 2] = c;
+   c = q[a + 132 >> 2];
+   q[e + 80 >> 2] = q[a + 128 >> 2];
+   q[e + 84 >> 2] = c;
+   j = q[a + 32 >> 2];
+   b : {
+    if (!j) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break b;
+    }
+    c = q[a + 36 >> 2];
+   }
+   k = r[a + 176 | 0];
+   c : {
+    if (!k) {
+     break c;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break c;
+    }
+    h = q[c + 24 >> 2];
+    i = q[a + 172 >> 2];
+    g = v[c >> 3];
+    while (1) {
+     g = g + v[h + (f << 3) >> 3] * +u[i + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((d | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break c;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   if (t[a + 24 >> 2] <= 1) {
+    o[a + 20 | 0] = 1;
+   }
+   d : {
+    if (j >>> 0 <= 1) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break d;
+    }
+    d = q[a + 36 >> 2] + 32 | 0;
+   }
+   e : {
+    if (!k) {
+     break e;
+    }
+    h = q[d + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break e;
+    }
+    i = q[d + 24 >> 2];
+    l = q[a + 172 >> 2];
+    g = v[d >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[i + (f << 3) >> 3] * +u[l + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((h | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = g;
+    if (q[d + 16 >> 2] < 0) {
+     break e;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   v[e + 80 >> 3] = v[e + 80 >> 3] + v[c >> 3];
+   v[e + 88 >> 3] = v[e + 88 >> 3] + v[d >> 3];
+   c = q[e + 92 >> 2];
+   q[e + 72 >> 2] = q[e + 88 >> 2];
+   q[e + 76 >> 2] = c;
+   c = q[e + 84 >> 2];
+   q[e + 64 >> 2] = q[e + 80 >> 2];
+   q[e + 68 >> 2] = c;
+   if (t[a + 24 >> 2] <= 2) {
+    o[a + 20 | 0] = 1;
+   }
+   f : {
+    if (j >>> 0 <= 2) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break f;
+    }
+    c = q[a + 36 >> 2] - -64 | 0;
+   }
+   g : {
+    if (!k) {
+     break g;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break g;
+    }
+    h = q[c + 24 >> 2];
+    i = q[a + 172 >> 2];
+    g = v[c >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[h + (f << 3) >> 3] * +u[i + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((d | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break g;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   if (t[a + 24 >> 2] <= 3) {
+    o[a + 20 | 0] = 1;
+   }
+   h : {
+    if (j >>> 0 <= 3) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break h;
+    }
+    d = q[a + 36 >> 2] + 96 | 0;
+   }
+   i : {
+    if (!k) {
+     break i;
+    }
+    h = q[d + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break i;
+    }
+    i = q[d + 24 >> 2];
+    l = q[a + 172 >> 2];
+    g = v[d >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[i + (f << 3) >> 3] * +u[l + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((h | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = g;
+    if (q[d + 16 >> 2] < 0) {
+     break i;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   v[e + 64 >> 3] = v[e + 64 >> 3] + v[c >> 3];
+   v[e + 72 >> 3] = v[e + 72 >> 3] + v[d >> 3];
+   c = q[e + 76 >> 2];
+   q[e + 56 >> 2] = q[e + 72 >> 2];
+   q[e + 60 >> 2] = c;
+   c = q[e + 68 >> 2];
+   q[e + 48 >> 2] = q[e + 64 >> 2];
+   q[e + 52 >> 2] = c;
+   if (t[a + 24 >> 2] <= 4) {
+    o[a + 20 | 0] = 1;
+   }
+   j : {
+    if (j >>> 0 <= 4) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break j;
+    }
+    c = q[a + 36 >> 2] + 128 | 0;
+   }
+   k : {
+    if (!k) {
+     break k;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break k;
+    }
+    h = q[c + 24 >> 2];
+    i = q[a + 172 >> 2];
+    g = v[c >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[h + (f << 3) >> 3] * +u[i + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((d | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break k;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   if (t[a + 24 >> 2] <= 5) {
+    o[a + 20 | 0] = 1;
+   }
+   l : {
+    if (j >>> 0 <= 5) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break l;
+    }
+    d = q[a + 36 >> 2] + 160 | 0;
+   }
+   m : {
+    if (!k) {
+     break m;
+    }
+    h = q[d + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break m;
+    }
+    i = q[d + 24 >> 2];
+    l = q[a + 172 >> 2];
+    g = v[d >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[i + (f << 3) >> 3] * +u[l + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((h | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = g;
+    if (q[d + 16 >> 2] < 0) {
+     break m;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   v[e + 48 >> 3] = v[e + 48 >> 3] + v[c >> 3];
+   v[e + 56 >> 3] = v[e + 56 >> 3] + v[d >> 3];
+   c = q[e + 60 >> 2];
+   q[e + 40 >> 2] = q[e + 56 >> 2];
+   q[e + 44 >> 2] = c;
+   c = q[e + 52 >> 2];
+   q[e + 32 >> 2] = q[e + 48 >> 2];
+   q[e + 36 >> 2] = c;
+   if (t[a + 24 >> 2] <= 6) {
+    o[a + 20 | 0] = 1;
+   }
+   n : {
+    if (j >>> 0 <= 6) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break n;
+    }
+    c = q[a + 36 >> 2] + 192 | 0;
+   }
+   o : {
+    if (!k) {
+     break o;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break o;
+    }
+    h = q[c + 24 >> 2];
+    i = q[a + 172 >> 2];
+    g = v[c >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[h + (f << 3) >> 3] * +u[i + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((d | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break o;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   if (t[a + 24 >> 2] <= 7) {
+    o[a + 20 | 0] = 1;
+   }
+   p : {
+    if (j >>> 0 <= 7) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break p;
+    }
+    d = q[a + 36 >> 2] + 224 | 0;
+   }
+   q : {
+    if (!k) {
+     break q;
+    }
+    h = q[d + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break q;
+    }
+    i = q[d + 24 >> 2];
+    l = q[a + 172 >> 2];
+    g = v[d >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[i + (f << 3) >> 3] * +u[l + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((h | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = g;
+    if (q[d + 16 >> 2] < 0) {
+     break q;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   v[e + 32 >> 3] = v[e + 32 >> 3] + v[c >> 3];
+   v[e + 40 >> 3] = v[e + 40 >> 3] + v[d >> 3];
+   c = q[e + 44 >> 2];
+   q[e + 24 >> 2] = q[e + 40 >> 2];
+   q[e + 28 >> 2] = c;
+   c = q[e + 36 >> 2];
+   q[e + 16 >> 2] = q[e + 32 >> 2];
+   q[e + 20 >> 2] = c;
+   if (t[a + 24 >> 2] <= 8) {
+    o[a + 20 | 0] = 1;
+   }
+   r : {
+    if (j >>> 0 <= 8) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break r;
+    }
+    c = q[a + 36 >> 2] + 256 | 0;
+   }
+   s : {
+    if (!k) {
+     break s;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break s;
+    }
+    h = q[c + 24 >> 2];
+    i = q[a + 172 >> 2];
+    g = v[c >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[h + (f << 3) >> 3] * +u[i + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((d | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break s;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   if (t[a + 24 >> 2] <= 9) {
+    o[a + 20 | 0] = 1;
+   }
+   t : {
+    if (j >>> 0 <= 9) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break t;
+    }
+    d = q[a + 36 >> 2] + 288 | 0;
+   }
+   u : {
+    if (!k) {
+     break u;
+    }
+    h = q[d + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break u;
+    }
+    i = q[d + 24 >> 2];
+    l = q[a + 172 >> 2];
+    g = v[d >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[i + (f << 3) >> 3] * +u[l + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((h | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = g;
+    if (q[d + 16 >> 2] < 0) {
+     break u;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   v[e + 16 >> 3] = v[e + 16 >> 3] + v[c >> 3];
+   v[e + 24 >> 3] = v[e + 24 >> 3] + v[d >> 3];
+   c = q[e + 28 >> 2];
+   q[e + 8 >> 2] = q[e + 24 >> 2];
+   q[e + 12 >> 2] = c;
+   c = q[e + 20 >> 2];
+   q[e >> 2] = q[e + 16 >> 2];
+   q[e + 4 >> 2] = c;
+   if (t[a + 24 >> 2] <= 10) {
+    o[a + 20 | 0] = 1;
+   }
+   v : {
+    if (j >>> 0 <= 10) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break v;
+    }
+    c = q[a + 36 >> 2] + 320 | 0;
+   }
+   w : {
+    if (!k) {
+     break w;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break w;
+    }
+    h = q[c + 24 >> 2];
+    i = q[a + 172 >> 2];
+    g = v[c >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[h + (f << 3) >> 3] * +u[i + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((d | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break w;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   if (t[a + 24 >> 2] <= 11) {
+    o[a + 20 | 0] = 1;
+   }
+   x : {
+    if (j >>> 0 <= 11) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break x;
+    }
+    d = q[a + 36 >> 2] + 352 | 0;
+   }
+   y : {
+    if (!k) {
+     break y;
+    }
+    j = q[d + 20 >> 2];
+    if (!j | (j | 0) != q[a + 168 >> 2]) {
+     break y;
+    }
+    k = q[d + 24 >> 2];
+    h = q[a + 172 >> 2];
+    g = v[d >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[k + (f << 3) >> 3] * +u[h + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((j | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = g;
+    if (q[d + 16 >> 2] < 0) {
+     break y;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   v[e >> 3] = v[e >> 3] + v[c >> 3];
+   v[e + 8 >> 3] = v[e + 8 >> 3] + v[d >> 3];
+   uz(a, b, e + 80 | 0, e - -64 | 0, e + 48 | 0);
+   uz(a, b, e + 32 | 0, e + 16 | 0, e);
+   break a;
+  }
+  o[a + 40 | 0] = 1;
+ }
+ Ca = e + 96 | 0;
+}
+function dm(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, u = 0, v = 0, x = 0, y = 0, z = 0;
+ f = Ca - 160 | 0;
+ Ca = f;
+ j = q[b + 100 >> 2];
+ e = q[b + 104 >> 2];
+ q[b + 132 >> 2] = 0;
+ d = yg(e, 0);
+ q[f + 156 >> 2] = d;
+ h = c >> 31;
+ k = (h + c ^ h) & 65535;
+ a : {
+  b : {
+   if (d) {
+    break b;
+   }
+   d = Xg(e, 18992, f + 152 | 0);
+   q[f + 156 >> 2] = d;
+   if (d) {
+    break b;
+   }
+   q[f + 156 >> 2] = 2;
+   c : {
+    if (s[f + 152 >> 1] != 23117) {
+     break c;
+    }
+    d = yg(e, s[f + 154 >> 1]);
+    q[f + 156 >> 2] = d;
+    if (d) {
+     break b;
+    }
+    d = Xg(e, 19024, f + 144 | 0);
+    q[f + 156 >> 2] = d;
+    if (d) {
+     break b;
+    }
+    d = 2;
+    q[f + 156 >> 2] = 2;
+    d : {
+     e : {
+      h = s[f + 144 >> 1] + -17742 | 0;
+      f : {
+       if (h >>> 0 > 2) {
+        break f;
+       }
+       g : {
+        h : {
+         i : {
+          j : {
+           switch (h - 1 | 0) {
+           default:
+            d = yg(e, s[f + 146 >> 1] + s[f + 154 >> 1] | 0);
+            q[f + 156 >> 2] = d;
+            if (d) {
+             break b;
+            }
+            d = Kg(e, s[f + 148 >> 1] - s[f + 146 >> 1] | 0);
+            q[f + 156 >> 2] = d;
+            if (d) {
+             break b;
+            }
+            i = Qg(e);
+            if (i >>> 0 > 16) {
+             break i;
+            }
+            g = Qg(e);
+            k : {
+             if (g) {
+              while (1) {
+               d = Qg(e);
+               h = ((q[e + 8 >> 2] + q[e + 32 >> 2] | 0) - q[e + 36 >> 2] | 0) + 4 | 0;
+               if ((g & 65535) == 32776) {
+                break k;
+               }
+               q[e + 32 >> 2] = (q[e + 32 >> 2] + w(d, 12) | 0) + 4;
+               g = Qg(e);
+               if (g) {
+                continue;
+               }
+               break;
+              }
+             }
+             d = 0;
+             h = 0;
+            }
+            Ng(e);
+            if (!(d ? h : 0)) {
+             q[f + 156 >> 2] = 3;
+             break b;
+            }
+            if (w(d, 118) >>> 0 > t[e + 4 >> 2]) {
+             q[f + 156 >> 2] = 3;
+             break b;
+            }
+            q[b >> 2] = d;
+            if ((c | 0) < 0) {
+             break b;
+            }
+            if (k >>> 0 >= d >>> 0) {
+             q[f + 156 >> 2] = 6;
+             break b;
+            }
+            y = b, z = Oe(j, 172, f + 156 | 0), q[y + 132 >> 2] = z;
+            if (q[f + 156 >> 2]) {
+             break b;
+            }
+            d = yg(e, h + w(k, 12) | 0);
+            q[f + 156 >> 2] = d;
+            if (d) {
+             break c;
+            }
+            d = Kg(e, 12);
+            q[f + 156 >> 2] = d;
+            if (d) {
+             break c;
+            }
+            d = Qg(e);
+            q[q[b + 132 >> 2] >> 2] = d << i;
+            d = Qg(e);
+            q[q[b + 132 >> 2] + 164 >> 2] = d << i;
+            q[e + 32 >> 2] = q[e + 32 >> 2] + 8;
+            Ng(e);
+            d = em(q[b + 132 >> 2], e);
+            q[f + 156 >> 2] = d;
+            break f;
+           case 1:
+            break j;
+           case 0:
+            break f;
+           }
+          }
+          d = yg(e, s[f + 154 >> 1]);
+          q[f + 156 >> 2] = d;
+          if (d) {
+           g = 2;
+           break g;
+          }
+          d = Xg(e, 19056, f + 120 | 0);
+          q[f + 156 >> 2] = d;
+          if (d) {
+           g = 2;
+           break g;
+          }
+          if (q[f + 120 >> 2] != 17744 | s[f + 124 >> 1] != 332 | (s[f + 128 >> 1] != 224 | s[f + 130 >> 1] != 267)) {
+           break h;
+          }
+          q[b >> 2] = 0;
+          if (!s[f + 126 >> 1]) {
+           break h;
+          }
+          while (1) {
+           d = Xg(e, 19120, f + 96 | 0);
+           q[f + 156 >> 2] = d;
+           if (d) {
+            g = 2;
+            break g;
+           }
+           if (q[f + 132 >> 2] != q[f + 104 >> 2]) {
+            g = g + 1 | 0;
+            if ((g & 65535) >>> 0 >= s[f + 126 >> 1]) {
+             break h;
+            }
+            continue;
+           }
+           break;
+          }
+          d = yg(e, q[f + 112 >> 2]);
+          q[f + 156 >> 2] = d;
+          if (d) {
+           g = 2;
+           break g;
+          }
+          d = Xg(e, 19152, f + 80 | 0);
+          q[f + 156 >> 2] = d;
+          if (d) {
+           g = 2;
+           break g;
+          }
+          d = 0;
+          g = 0;
+          if (s[f + 94 >> 1] == (0 - s[f + 92 >> 1] | 0)) {
+           break g;
+          }
+          m = q[f + 112 >> 2];
+          u = m + 16 | 0;
+          while (1) {
+           d = yg(e, (i << 3) + u | 0);
+           q[f + 156 >> 2] = d;
+           if (d) {
+            g = 2;
+            break g;
+           }
+           d = Xg(e, 19184, f + 40 | 0);
+           q[f + 156 >> 2] = d;
+           if (d) {
+            g = 2;
+            break g;
+           }
+           d = q[f + 44 >> 2];
+           if ((d | 0) >= 0) {
+            break h;
+           }
+           d = d & 2147483647;
+           q[f + 44 >> 2] = d;
+           h = d + q[f + 112 >> 2] | 0;
+           d = yg(e, h);
+           q[f + 156 >> 2] = d;
+           if (d) {
+            g = 2;
+            break g;
+           }
+           d = Xg(e, 19152, f - -64 | 0);
+           q[f + 156 >> 2] = d;
+           if (d) {
+            g = 2;
+            break g;
+           }
+           if (s[f + 78 >> 1] != (0 - s[f + 76 >> 1] | 0)) {
+            v = h + 16 | 0;
+            d = 0;
+            l = 0;
+            while (1) {
+             d = yg(e, (d << 3) + v | 0);
+             q[f + 156 >> 2] = d;
+             if (d) {
+              g = 2;
+              break g;
+             }
+             d = Xg(e, 19184, f + 32 | 0);
+             q[f + 156 >> 2] = d;
+             if (d) {
+              g = 2;
+              break g;
+             }
+             d = q[f + 36 >> 2];
+             if ((d | 0) >= 0) {
+              break h;
+             }
+             d = d & 2147483647;
+             q[f + 36 >> 2] = d;
+             h = d + q[f + 112 >> 2] | 0;
+             d = yg(e, h);
+             q[f + 156 >> 2] = d;
+             if (d) {
+              g = 2;
+              break g;
+             }
+             d = Xg(e, 19152, f + 48 | 0);
+             q[f + 156 >> 2] = d;
+             if (d) {
+              g = 2;
+              break g;
+             }
+             if (s[f + 62 >> 1] != (0 - s[f + 60 >> 1] | 0)) {
+              x = h + 16 | 0;
+              d = 0;
+              g = 0;
+              while (1) {
+               d = yg(e, x + (d << 3) | 0);
+               q[f + 156 >> 2] = d;
+               if (d) {
+                g = 2;
+                break g;
+               }
+               d = Xg(e, 19184, f + 24 | 0);
+               q[f + 156 >> 2] = d;
+               if (d) {
+                g = 2;
+                break g;
+               }
+               if (q[f + 36 >> 2] <= -1) {
+                break h;
+               }
+               if (q[f + 40 >> 2] == 8) {
+                d = yg(e, q[f + 28 >> 2] + m | 0);
+                q[f + 156 >> 2] = d;
+                if (d) {
+                 g = 2;
+                 break g;
+                }
+                d = Xg(e, 19200, f + 8 | 0);
+                q[f + 156 >> 2] = d;
+                if (d) {
+                 g = 2;
+                 break g;
+                }
+                h = b;
+                d = q[b >> 2];
+                if ((d | 0) == (k | 0)) {
+                 i = Oe(j, 172, f + 156 | 0);
+                 q[b + 132 >> 2] = i;
+                 d = q[f + 156 >> 2];
+                 if (d) {
+                  g = 2;
+                  break g;
+                 }
+                 q[i >> 2] = (q[f + 8 >> 2] + q[f + 112 >> 2] | 0) - q[f + 104 >> 2];
+                 q[i + 164 >> 2] = q[f + 12 >> 2];
+                 d = em(i, e);
+                 q[f + 156 >> 2] = d;
+                 if (d) {
+                  g = 16;
+                  break g;
+                 }
+                 d = q[b >> 2];
+                }
+                q[h >> 2] = d + 1;
+               }
+               g = g + 1 | 0;
+               d = g & 65535;
+               if (s[f + 62 >> 1] + s[f + 60 >> 1] >>> 0 > d >>> 0) {
+                continue;
+               }
+               break;
+              }
+             }
+             l = l + 1 | 0;
+             d = l & 65535;
+             if (s[f + 78 >> 1] + s[f + 76 >> 1] >>> 0 > d >>> 0) {
+              continue;
+             }
+             break;
+            }
+           }
+           d = 0;
+           g = 0;
+           n = n + 1 | 0;
+           i = n & 65535;
+           if (s[f + 94 >> 1] + s[f + 92 >> 1] >>> 0 > i >>> 0) {
+            continue;
+           }
+           break;
+          }
+          break g;
+         }
+         q[f + 156 >> 2] = 3;
+         Ng(e);
+         break b;
+        }
+        d = 3;
+        q[f + 156 >> 2] = 3;
+        g = 2;
+       }
+       if (g) {
+        break e;
+       }
+      }
+      e = q[b >> 2];
+      if (!e) {
+       q[f + 156 >> 2] = 3;
+       break b;
+      }
+      if ((k | 0) < (e | 0)) {
+       break d;
+      }
+      q[f + 156 >> 2] = 6;
+      break b;
+     }
+     h = g + -2 | 0;
+     if (h >>> 0 > 14) {
+      break a;
+     }
+     switch (h - 1 | 0) {
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 8:
+     case 9:
+     case 10:
+     case 11:
+     case 12:
+      break a;
+     case 13:
+      break d;
+     default:
+      break b;
+     }
+    }
+    if (!d) {
+     break b;
+    }
+   }
+   d = q[b + 132 >> 2];
+   if (!d) {
+    break b;
+   }
+   e = q[b + 100 >> 2];
+   if (q[d + 160 >> 2]) {
+    Lg(q[b + 104 >> 2], d + 160 | 0);
+   }
+   Qe(e, q[d + 168 >> 2]);
+   q[d + 168 >> 2] = 0;
+   Qe(e, d);
+   q[b + 132 >> 2] = 0;
+  }
+  e = q[f + 156 >> 2];
+ }
+ q[f + 96 >> 2] = e;
+ l : {
+  if ((c | 0) <= -1) {
+   d = 0;
+   if (!e) {
+    break l;
+   }
+  }
+  m : {
+   n : {
+    o : {
+     if ((e & 255) == 2) {
+      e = Oe(j, 172, f + 96 | 0);
+      q[b + 132 >> 2] = e;
+      d = q[f + 96 >> 2];
+      if (d) {
+       break l;
+      }
+      q[b >> 2] = 1;
+      d = 0;
+      q[e >> 2] = 0;
+      q[e + 164 >> 2] = q[a + 4 >> 2];
+      a = em(e, a);
+      q[f + 96 >> 2] = a;
+      if (!(a | (c | 0) < 0)) {
+       if (!k) {
+        break o;
+       }
+       q[f + 96 >> 2] = 6;
+       break m;
+      }
+      if (a) {
+       break m;
+      }
+      break l;
+     }
+     if (e) {
+      break n;
+     }
+    }
+    a = q[b + 132 >> 2];
+    if (!s[a + 96 >> 1]) {
+     q[f + 96 >> 2] = 3;
+     break m;
+    }
+    q[b + 4 >> 2] = k;
+    c = q[b + 8 >> 2];
+    q[b + 8 >> 2] = c | 18;
+    if (s[a + 100 >> 1] == s[a + 102 >> 1]) {
+     q[b + 8 >> 2] = c | 22;
+    }
+    if (r[a + 86 | 0]) {
+     q[b + 12 >> 2] = q[b + 12 >> 2] | 1;
+    }
+    if (s[a + 90 >> 1] >= 800) {
+     q[b + 12 >> 2] = q[b + 12 >> 2] | 2;
+    }
+    c = Te(j, 16, 0, 1, 0, f + 96 | 0);
+    q[b + 32 >> 2] = c;
+    if (q[f + 96 >> 2]) {
+     break m;
+    }
+    q[b + 28 >> 2] = 1;
+    p[c + 2 >> 1] = s[a + 100 >> 1];
+    p[c >> 1] = s[a + 84 >> 1] + s[a + 96 >> 1];
+    e = s[a + 74 >> 1] << 6;
+    q[c + 4 >> 2] = e;
+    d = s[a + 78 >> 1];
+    h = e;
+    e = s[a + 76 >> 1];
+    e = e ? e : 72;
+    h = ue(h, e, 72) + 32 & -64;
+    q[c + 12 >> 2] = h;
+    g = d ? d : 72;
+    d = s[a + 96 >> 1] << 6;
+    p : {
+     if ((h | 0) <= (d | 0)) {
+      d = q[c + 4 >> 2];
+      break p;
+     }
+     q[c + 12 >> 2] = d;
+     d = ue(d, 72, e);
+     q[c + 4 >> 2] = d;
+    }
+    y = c, z = ue(d, g, 72) + 32 & -64, q[y + 8 >> 2] = z;
+    q[f + 120 >> 2] = b;
+    q[f + 124 >> 2] = 0;
+    q[f + 128 >> 2] = 0;
+    if (r[a + 92 | 0] == 77) {
+     p[f + 128 >> 1] = 1;
+     q[f + 124 >> 2] = 1634889070;
+    }
+    c = Xf(18916, 0, f + 120 | 0, 0);
+    q[f + 96 >> 2] = c;
+    if (c) {
+     break m;
+    }
+    c = r[a + 105 | 0];
+    d = r[a + 104 | 0];
+    if (c >>> 0 < d >>> 0) {
+     q[f + 96 >> 2] = 3;
+     break m;
+    }
+    q[b + 16 >> 2] = (c - d | 0) + 2;
+    c = q[a + 8 >> 2];
+    d = q[a + 116 >> 2];
+    if (c >>> 0 <= d >>> 0) {
+     q[f + 96 >> 2] = 3;
+     break m;
+    }
+    c = c - d | 0;
+    d = Oe(j, c + 1 | 0, f + 96 | 0);
+    q[a + 168 >> 2] = d;
+    if (q[f + 96 >> 2]) {
+     break m;
+    }
+    Y$(d, q[a + 160 >> 2] + q[a + 116 >> 2] | 0, c);
+    o[c + q[a + 168 >> 2] | 0] = 0;
+    d = a;
+    a = q[a + 168 >> 2];
+    a = Te(j, 1, c, g0(a) + 1 | 0, a, f + 96 | 0);
+    q[d + 168 >> 2] = a;
+    if (q[f + 96 >> 2]) {
+     break m;
+    }
+    q[b + 24 >> 2] = 18956;
+    q[b + 20 >> 2] = a;
+    c = q[b + 12 >> 2];
+    a = c & 1;
+    if (c & 2) {
+     if (a) {
+      q[b + 24 >> 2] = 18964;
+      d = 0;
+      break l;
+     }
+     q[b + 24 >> 2] = 18976;
+     d = 0;
+     break l;
+    }
+    d = 0;
+    if (!a) {
+     break l;
+    }
+    q[b + 24 >> 2] = 18981;
+    break l;
+   }
+   d = e;
+   if (!b) {
+    break l;
+   }
+  }
+  c = q[b + 100 >> 2];
+  a = q[b + 132 >> 2];
+  if (a) {
+   if (q[a + 160 >> 2]) {
+    Lg(q[b + 104 >> 2], a + 160 | 0);
+   }
+   Qe(c, q[a + 168 >> 2]);
+   q[a + 168 >> 2] = 0;
+   Qe(c, a);
+   q[b + 132 >> 2] = 0;
+  }
+  Qe(c, q[b + 32 >> 2]);
+  q[b + 28 >> 2] = 0;
+  q[b + 32 >> 2] = 0;
+  d = q[f + 96 >> 2];
+ }
+ Ca = f + 160 | 0;
+ return d | 0;
+}
+function _N(a, b, c, d, e, h) {
+ var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0, t = 0, u = 0, w = 0, x = 0, z = 0, A = 0, B = 0, C = 0, D = 0, F = 0, G = 0, H = 0, I = 0, J = 0;
+ i = Ca - 304 | 0;
+ Ca = i;
+ l = r[d + 28 | 0] | r[d + 29 | 0] << 8 | (r[d + 30 | 0] << 16 | r[d + 31 | 0] << 24);
+ f(0, r[d + 24 | 0] | r[d + 25 | 0] << 8 | (r[d + 26 | 0] << 16 | r[d + 27 | 0] << 24));
+ f(1, l | 0);
+ j = +g();
+ l = r[d + 4 | 0] | r[d + 5 | 0] << 8 | (r[d + 6 | 0] << 16 | r[d + 7 | 0] << 24);
+ f(0, r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24));
+ f(1, l | 0);
+ u = +g();
+ l = r[d + 36 | 0] | r[d + 37 | 0] << 8 | (r[d + 38 | 0] << 16 | r[d + 39 | 0] << 24);
+ f(0, r[d + 32 | 0] | r[d + 33 | 0] << 8 | (r[d + 34 | 0] << 16 | r[d + 35 | 0] << 24));
+ f(1, l | 0);
+ s = +g();
+ l = r[d + 12 | 0] | r[d + 13 | 0] << 8 | (r[d + 14 | 0] << 16 | r[d + 15 | 0] << 24);
+ f(0, r[d + 8 | 0] | r[d + 9 | 0] << 8 | (r[d + 10 | 0] << 16 | r[d + 11 | 0] << 24));
+ f(1, l | 0);
+ B = +g();
+ m = j * u + s * B;
+ x = d + 24 | 0;
+ l = e;
+ u = s * u - j * B;
+ k = u < 0 ? 1 : 2;
+ n = l;
+ a : {
+  b : {
+   c : {
+    if (!(k & l)) {
+     break c;
+    }
+    j = y(u);
+    s = v[d + 16 >> 3];
+    D = j * s;
+    B = v[d + 40 >> 3];
+    H = j * B;
+    d : {
+     w = m * s + B;
+     if (!(w < j)) {
+      break d;
+     }
+     G = s + m * B;
+     if (!(G < j)) {
+      break d;
+     }
+     e : {
+      s = (B * w + s * G) * .5;
+      if (s < D ^ 1 | s < H ^ 1) {
+       break e;
+      }
+      l = q[b + 4 >> 2];
+      q[i + 120 >> 2] = q[b >> 2];
+      q[i + 124 >> 2] = l;
+      if (!bO(a, i + 120 | 0, k, h)) {
+       break a;
+      }
+      f : {
+       if (!(G < 0 ^ 1 ? !(w < 0) : 0)) {
+        j = v[a + 24 >> 3] * 0;
+        g : {
+         if (y(j) < 2147483648) {
+          l = ~~j;
+          break g;
+         }
+         l = -2147483648;
+        }
+        o = k & 1;
+        j = v[a + 16 >> 3] * 0;
+        h : {
+         if (y(j) < 2147483648) {
+          n = ~~j;
+          break h;
+         }
+         n = -2147483648;
+        }
+        t = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+        A = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+        if (o) {
+         q[i + 132 >> 2] = l + t;
+         q[i + 128 >> 2] = n + A;
+         z = q[a >> 2];
+         C = q[i + 132 >> 2];
+         q[i + 96 >> 2] = q[i + 128 >> 2];
+         q[i + 100 >> 2] = C;
+         if (!TN(z, i + 96 | 0, 1)) {
+          break a;
+         }
+        }
+        z = k & 2;
+        if (z) {
+         q[i + 132 >> 2] = t - l;
+         q[i + 128 >> 2] = A - n;
+         l = q[a + 4 >> 2];
+         n = q[i + 132 >> 2];
+         q[i + 88 >> 2] = q[i + 128 >> 2];
+         q[i + 92 >> 2] = n;
+         if (!TN(l, i + 88 | 0, 1)) {
+          break a;
+         }
+        }
+        t = r[b + 20 | 0] | r[b + 21 | 0] << 8 | (r[b + 22 | 0] << 16 | r[b + 23 | 0] << 24);
+        j = v[a + 24 >> 3] * 0;
+        i : {
+         if (y(j) < 2147483648) {
+          l = ~~j;
+          break i;
+         }
+         l = -2147483648;
+        }
+        j = v[a + 16 >> 3] * 0;
+        j : {
+         if (y(j) < 2147483648) {
+          n = ~~j;
+          break j;
+         }
+         n = -2147483648;
+        }
+        A = r[b + 16 | 0] | r[b + 17 | 0] << 8 | (r[b + 18 | 0] << 16 | r[b + 19 | 0] << 24);
+        if (o) {
+         q[i + 132 >> 2] = l + t;
+         q[i + 128 >> 2] = n + A;
+         o = q[a >> 2];
+         C = q[i + 132 >> 2];
+         q[i + 80 >> 2] = q[i + 128 >> 2];
+         q[i + 84 >> 2] = C;
+         if (!TN(o, i + 80 | 0, 1)) {
+          break a;
+         }
+        }
+        if (!z) {
+         break f;
+        }
+        q[i + 132 >> 2] = t - l;
+        q[i + 128 >> 2] = A - n;
+        l = q[a + 4 >> 2];
+        n = q[i + 132 >> 2];
+        q[i + 72 >> 2] = q[i + 128 >> 2];
+        q[i + 76 >> 2] = n;
+        if (TN(l, i + 72 | 0, 1)) {
+         break f;
+        }
+        break a;
+       }
+       j = w / j;
+       s = j * v[d + 8 >> 3] * v[a + 24 >> 3];
+       k : {
+        if (y(s) < 2147483648) {
+         l = ~~s;
+         break k;
+        }
+        l = -2147483648;
+       }
+       A = k & 1;
+       j = j * v[d >> 3] * v[a + 16 >> 3];
+       l : {
+        if (y(j) < 2147483648) {
+         n = ~~j;
+         break l;
+        }
+        n = -2147483648;
+       }
+       o = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+       t = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+       if (A) {
+        q[i + 132 >> 2] = l + o;
+        q[i + 128 >> 2] = n + t;
+        A = q[a >> 2];
+        z = q[i + 132 >> 2];
+        q[i + 112 >> 2] = q[i + 128 >> 2];
+        q[i + 116 >> 2] = z;
+        if (!TN(A, i + 112 | 0, 1)) {
+         break a;
+        }
+       }
+       if (!(k & 2)) {
+        break f;
+       }
+       q[i + 132 >> 2] = o - l;
+       q[i + 128 >> 2] = t - n;
+       l = q[a + 4 >> 2];
+       n = q[i + 132 >> 2];
+       q[i + 104 >> 2] = q[i + 128 >> 2];
+       q[i + 108 >> 2] = n;
+       if (!TN(l, i + 104 | 0, 1)) {
+        break a;
+       }
+      }
+      l = (k ^ -1) & e;
+      if (l) {
+       break e;
+      }
+      b = q[x + 4 >> 2];
+      q[a + 80 >> 2] = q[x >> 2];
+      q[a + 84 >> 2] = b;
+      b = q[x + 12 >> 2];
+      q[a + 88 >> 2] = q[x + 8 >> 2];
+      q[a + 92 >> 2] = b;
+      p = 1;
+      break a;
+     }
+     n = e ^ k;
+     break b;
+    }
+    n = (m + D < 1 ? m + H < 1 ? k : 0 : 0) ^ e;
+   }
+  }
+  m : {
+   if (!n) {
+    break m;
+   }
+   j = m + 3;
+   w = j * j;
+   j = m + 1;
+   if (!(w < j * v[a + 136 >> 3])) {
+    break m;
+   }
+   j = 1 / j;
+   s = v[d + 16 >> 3];
+   w = s + s;
+   B = v[d + 40 >> 3];
+   D = v[a + 152 >> 3];
+   if (!(y(u * (j * w - B)) < D * (w + m * B))) {
+    break m;
+   }
+   w = u;
+   u = B + B;
+   if (!(y(w * (j * u - s)) < D * (m * s + u))) {
+    break m;
+   }
+   o = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+   t = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+   m = v[d + 24 >> 3];
+   u = v[d >> 3];
+   s = v[d + 32 >> 3];
+   B = v[d + 8 >> 3];
+   C = n ^ -1;
+   q[a + 60 >> 2] = C & q[a + 60 >> 2];
+   e = r[a + 84 | 0] | r[a + 85 | 0] << 8 | (r[a + 86 | 0] << 16 | r[a + 87 | 0] << 24);
+   f(0, r[a + 80 | 0] | r[a + 81 | 0] << 8 | (r[a + 82 | 0] << 16 | r[a + 83 | 0] << 24));
+   f(1, e | 0);
+   w = +g() * v[a + 16 >> 3];
+   n : {
+    if (y(w) < 2147483648) {
+     e = ~~w;
+     break n;
+    }
+    e = -2147483648;
+   }
+   A = n & 1;
+   k = r[a + 92 | 0] | r[a + 93 | 0] << 8 | (r[a + 94 | 0] << 16 | r[a + 95 | 0] << 24);
+   f(0, r[a + 88 | 0] | r[a + 89 | 0] << 8 | (r[a + 90 | 0] << 16 | r[a + 91 | 0] << 24));
+   f(1, k | 0);
+   w = +g() * v[a + 24 >> 3];
+   o : {
+    if (y(w) < 2147483648) {
+     k = ~~w;
+     break o;
+    }
+    k = -2147483648;
+   }
+   if (A) {
+    q[i + 132 >> 2] = k + o;
+    q[i + 128 >> 2] = e + t;
+    z = q[a >> 2];
+    F = q[i + 132 >> 2];
+    q[i + 64 >> 2] = q[i + 128 >> 2];
+    q[i + 68 >> 2] = F;
+    if (!TN(z, i - -64 | 0, 2)) {
+     break a;
+    }
+   }
+   F = n & 2;
+   if (F) {
+    q[i + 132 >> 2] = o - k;
+    q[i + 128 >> 2] = t - e;
+    e = q[a + 4 >> 2];
+    n = q[i + 132 >> 2];
+    q[i + 56 >> 2] = q[i + 128 >> 2];
+    q[i + 60 >> 2] = n;
+    if (!TN(e, i + 56 | 0, 2)) {
+     break a;
+    }
+   }
+   m = j * (u + m);
+   t = r[b + 12 | 0] | r[b + 13 | 0] << 8 | (r[b + 14 | 0] << 16 | r[b + 15 | 0] << 24);
+   j = j * (B + s) * v[a + 24 >> 3];
+   p : {
+    if (y(j) < 2147483648) {
+     e = ~~j;
+     break p;
+    }
+    e = -2147483648;
+   }
+   m = m * v[a + 16 >> 3];
+   q : {
+    if (y(m) < 2147483648) {
+     n = ~~m;
+     break q;
+    }
+    n = -2147483648;
+   }
+   z = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+   if (A) {
+    o = q[a >> 2];
+    p = q[o >> 2];
+    k = q[o + 4 >> 2];
+    if (p >>> 0 >= k >>> 0) {
+     p = 0;
+     q[160854] = 0;
+     k = k << 1;
+     I = o, J = Md(q[o + 16 >> 2], k, 8), q[I + 16 >> 2] = J;
+     if (q[160854]) {
+      break a;
+     }
+     q[o + 4 >> 2] = k;
+     p = q[o >> 2];
+    }
+    p = q[o + 16 >> 2] + (p << 3) | 0;
+    q[p >> 2] = n + z;
+    q[p + 4 >> 2] = e + t;
+    q[o >> 2] = q[o >> 2] + 1;
+   }
+   if (F) {
+    k = q[a + 4 >> 2];
+    p = q[k >> 2];
+    o = q[k + 4 >> 2];
+    if (p >>> 0 >= o >>> 0) {
+     p = 0;
+     q[160854] = 0;
+     o = o << 1;
+     I = k, J = Md(q[k + 16 >> 2], o, 8), q[I + 16 >> 2] = J;
+     if (q[160854]) {
+      break a;
+     }
+     q[k + 4 >> 2] = o;
+     p = q[k >> 2];
+    }
+    p = q[k + 16 >> 2] + (p << 3) | 0;
+    q[p >> 2] = z - n;
+    q[p + 4 >> 2] = t - e;
+    q[k >> 2] = q[k >> 2] + 1;
+   }
+   l = l & C;
+   if (l) {
+    break m;
+   }
+   b = q[x + 4 >> 2];
+   q[a + 80 >> 2] = q[x >> 2];
+   q[a + 84 >> 2] = b;
+   b = q[x + 12 >> 2];
+   q[a + 88 >> 2] = q[x + 8 >> 2];
+   q[a + 92 >> 2] = b;
+   p = 1;
+   break a;
+  }
+  n = q[b >> 2];
+  k = q[b + 16 >> 2];
+  e = q[b + 8 >> 2];
+  p = q[b + 4 >> 2];
+  o = q[b + 12 >> 2];
+  t = o + q[b + 20 >> 2] | 0;
+  q[i + 284 >> 2] = t >> 1;
+  p = o + p | 0;
+  o = (p + t | 0) + 2 >> 2;
+  q[i + 276 >> 2] = o;
+  k = e + k | 0;
+  q[i + 280 >> 2] = k >> 1;
+  e = e + n | 0;
+  q[i + 264 >> 2] = e >> 1;
+  q[i + 268 >> 2] = p >> 1;
+  t = (e + k | 0) + 2 >> 2;
+  q[i + 272 >> 2] = t;
+  e = q[b + 4 >> 2];
+  n = q[b >> 2];
+  q[i + 256 >> 2] = n;
+  q[i + 260 >> 2] = e;
+  k = q[b + 20 >> 2];
+  q[i + 288 >> 2] = q[b + 16 >> 2];
+  q[i + 292 >> 2] = k;
+  j = v[c >> 3] * .5;
+  v[i + 208 >> 3] = j;
+  m = v[c + 8 >> 3] * .5;
+  v[i + 216 >> 3] = m;
+  u = v[c + 16 >> 3] * .5;
+  v[i + 240 >> 3] = u;
+  s = v[c + 24 >> 3] * .5;
+  v[i + 248 >> 3] = s;
+  m = (m + s) * .5;
+  v[i + 232 >> 3] = m;
+  j = (j + u) * .5;
+  v[i + 224 >> 3] = j;
+  k = i + 272 | 0;
+  u = E(j * j + m * m);
+  if (!!(u < v[a + 128 >> 3])) {
+   A = l ^ -1;
+   q[a + 60 >> 2] = A & q[a + 60 >> 2];
+   b = r[a + 84 | 0] | r[a + 85 | 0] << 8 | (r[a + 86 | 0] << 16 | r[a + 87 | 0] << 24);
+   f(0, r[a + 80 | 0] | r[a + 81 | 0] << 8 | (r[a + 82 | 0] << 16 | r[a + 83 | 0] << 24));
+   f(1, b | 0);
+   m = +g() * v[a + 16 >> 3];
+   r : {
+    if (y(m) < 2147483648) {
+     b = ~~m;
+     break r;
+    }
+    b = -2147483648;
+   }
+   h = l & 1;
+   c = r[a + 92 | 0] | r[a + 93 | 0] << 8 | (r[a + 94 | 0] << 16 | r[a + 95 | 0] << 24);
+   f(0, r[a + 88 | 0] | r[a + 89 | 0] << 8 | (r[a + 90 | 0] << 16 | r[a + 91 | 0] << 24));
+   f(1, c | 0);
+   m = +g() * v[a + 24 >> 3];
+   s : {
+    if (y(m) < 2147483648) {
+     c = ~~m;
+     break s;
+    }
+    c = -2147483648;
+   }
+   if (h) {
+    q[i + 132 >> 2] = c + e;
+    q[i + 128 >> 2] = b + n;
+    z = q[a >> 2];
+    p = q[i + 132 >> 2];
+    q[i + 48 >> 2] = q[i + 128 >> 2];
+    q[i + 52 >> 2] = p;
+    p = 0;
+    if (!TN(z, i + 48 | 0, 1)) {
+     break a;
+    }
+   }
+   z = l & 2;
+   if (z) {
+    q[i + 132 >> 2] = e - c;
+    q[i + 128 >> 2] = n - b;
+    b = q[a + 4 >> 2];
+    c = q[i + 132 >> 2];
+    q[i + 40 >> 2] = q[i + 128 >> 2];
+    q[i + 44 >> 2] = c;
+    p = 0;
+    if (!TN(b, i + 40 | 0, 1)) {
+     break a;
+    }
+   }
+   b = q[k + 4 >> 2];
+   q[i + 32 >> 2] = q[k >> 2];
+   q[i + 36 >> 2] = b;
+   b = q[x + 12 >> 2];
+   q[i + 24 >> 2] = q[x + 8 >> 2];
+   q[i + 28 >> 2] = b;
+   b = q[x + 4 >> 2];
+   q[i + 16 >> 2] = q[x >> 2];
+   q[i + 20 >> 2] = b;
+   p = 0;
+   if (!ZN(a, i + 32 | 0, i + 16 | 0, l)) {
+    break a;
+   }
+   q[a + 60 >> 2] = A & q[a + 60 >> 2];
+   b = r[d + 36 | 0] | r[d + 37 | 0] << 8 | (r[d + 38 | 0] << 16 | r[d + 39 | 0] << 24);
+   f(0, r[d + 32 | 0] | r[d + 33 | 0] << 8 | (r[d + 34 | 0] << 16 | r[d + 35 | 0] << 24));
+   f(1, b | 0);
+   m = +g() * v[a + 24 >> 3];
+   t : {
+    if (y(m) < 2147483648) {
+     b = ~~m;
+     break t;
+    }
+    b = -2147483648;
+   }
+   c = r[d + 28 | 0] | r[d + 29 | 0] << 8 | (r[d + 30 | 0] << 16 | r[d + 31 | 0] << 24);
+   f(0, r[d + 24 | 0] | r[d + 25 | 0] << 8 | (r[d + 26 | 0] << 16 | r[d + 27 | 0] << 24));
+   f(1, c | 0);
+   m = +g() * v[a + 16 >> 3];
+   u : {
+    if (y(m) < 2147483648) {
+     c = ~~m;
+     break u;
+    }
+    c = -2147483648;
+   }
+   if (h) {
+    q[i + 132 >> 2] = b + o;
+    q[i + 128 >> 2] = c + t;
+    d = q[a >> 2];
+    e = q[i + 132 >> 2];
+    q[i + 8 >> 2] = q[i + 128 >> 2];
+    q[i + 12 >> 2] = e;
+    if (!TN(d, i + 8 | 0, 1)) {
+     break a;
+    }
+   }
+   if (z) {
+    q[i + 132 >> 2] = o - b;
+    q[i + 128 >> 2] = t - c;
+    a = q[a + 4 >> 2];
+    b = q[i + 132 >> 2];
+    q[i >> 2] = q[i + 128 >> 2];
+    q[i + 4 >> 2] = b;
+    if (!TN(a, i, 1)) {
+     break a;
+    }
+   }
+   p = 1;
+   break a;
+  }
+  b = q[d + 4 >> 2];
+  q[i + 128 >> 2] = q[d >> 2];
+  q[i + 132 >> 2] = b;
+  b = q[d + 12 >> 2];
+  q[i + 136 >> 2] = q[d + 8 >> 2];
+  q[i + 140 >> 2] = b;
+  s = v[d + 16 >> 3];
+  w = m;
+  m = 1 / u;
+  v[i + 160 >> 3] = w * m;
+  v[i + 168 >> 3] = u;
+  v[i + 152 >> 3] = j * m;
+  v[i + 144 >> 3] = s * .5;
+  b = q[x + 12 >> 2];
+  q[i + 184 >> 2] = q[x + 8 >> 2];
+  q[i + 188 >> 2] = b;
+  b = q[x + 4 >> 2];
+  q[i + 176 >> 2] = q[x >> 2];
+  q[i + 180 >> 2] = b;
+  v[i + 192 >> 3] = v[d + 40 >> 3] * .5;
+  p = 0;
+  if (!_N(a, i + 256 | 0, i + 208 | 0, i + 128 | 0, l, h)) {
+   break a;
+  }
+  p = _N(a, k, i + 224 | 0, i + 152 | 0, l, 0);
+ }
+ Ca = i + 304 | 0;
+ return p;
+}
+function FW(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, s = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0;
+ l = Ca + -64 | 0;
+ Ca = l;
+ u = q[a + 352 >> 2];
+ k = u + 20 | 0;
+ m = $V(a, k, q[d >> 2], 0);
+ a : {
+  b : {
+   if (m) {
+    break b;
+   }
+   h = u + 80 | 0;
+   f = q[d >> 2];
+   while (1) {
+    g = q[u + 92 >> 2];
+    if ((g | 0) == q[u + 88 >> 2]) {
+     if (!_V(h)) {
+      j = 1;
+      break a;
+     }
+     g = q[u + 92 >> 2];
+    }
+    j = r[f | 0];
+    q[u + 92 >> 2] = g + 1;
+    o[g | 0] = j;
+    g = r[f | 0];
+    f = f + 1 | 0;
+    if (g) {
+     continue;
+    }
+    break;
+   }
+   g = u + 96 | 0;
+   f = q[g >> 2];
+   q[g >> 2] = q[u + 92 >> 2];
+   j = 1;
+   if (!f) {
+    break a;
+   }
+   m = $V(a, k, f, 24);
+   if (!m) {
+    break a;
+   }
+   if (!r[a + 232 | 0]) {
+    break b;
+   }
+   if (!pW(a, m)) {
+    break a;
+   }
+  }
+  s = q[m + 12 >> 2];
+  v = n[q[b + 36 >> 2]](b, c, q[a + 376 >> 2], q[a + 388 >> 2]) | 0;
+  g = s + v | 0;
+  f = q[a + 376 >> 2];
+  c : {
+   if ((g | 0) <= (f | 0)) {
+    break c;
+   }
+   g = g + 16 | 0;
+   q[a + 376 >> 2] = g;
+   g = n[q[a + 16 >> 2]](q[a + 388 >> 2], g << 4) | 0;
+   if (!g) {
+    q[a + 376 >> 2] = f;
+    j = 1;
+    break a;
+   }
+   q[a + 388 >> 2] = g;
+   if ((v | 0) <= (f | 0)) {
+    break c;
+   }
+   n[q[b + 36 >> 2]](b, c, v, g) | 0;
+  }
+  j = 1;
+  t = q[a + 388 >> 2];
+  d : {
+   if ((v | 0) < 1) {
+    h = 0;
+    break d;
+   }
+   c = q[t >> 2];
+   i = qW(a, b, c, (n[q[b + 28 >> 2]](b, c) | 0) + c | 0);
+   if (!i) {
+    break a;
+   }
+   g = a + 424 | 0;
+   k = a + 412 | 0;
+   h = 0;
+   while (1) {
+    c = q[i >> 2] + -1 | 0;
+    if (r[c | 0]) {
+     j = 8;
+     if (q[a + 144 >> 2] != (b | 0)) {
+      break a;
+     }
+     q[a + 284 >> 2] = q[q[a + 388 >> 2] + (p << 4) >> 2];
+     break a;
+    }
+    o[c | 0] = 1;
+    q[t + (h << 2) >> 2] = q[i >> 2];
+    z = h + 1 | 0;
+    e : {
+     f = q[a + 388 >> 2] + (p << 4) | 0;
+     f : {
+      if (!r[f + 12 | 0]) {
+       g : {
+        if (!r[i + 8 | 0] | (s | 0) < 1) {
+         break g;
+        }
+        x = q[m + 20 >> 2];
+        c = 0;
+        while (1) {
+         j = x + w(c, 12) | 0;
+         if (q[j >> 2] == (i | 0)) {
+          j = r[j + 4 | 0];
+          break g;
+         }
+         j = 1;
+         c = c + 1 | 0;
+         if ((s | 0) != (c | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       x = j & 255;
+       j = rW(a, b, x, q[f + 4 >> 2], q[f + 8 >> 2], k);
+       if (j) {
+        break a;
+       }
+       c = q[g >> 2];
+       h : {
+        if ((c | 0) == q[a + 428 >> 2] | x) {
+         break h;
+        }
+        f = c + -1 | 0;
+        if (r[f | 0] != 32) {
+         break h;
+        }
+        q[g >> 2] = f;
+        c = f;
+       }
+       if (q[a + 420 >> 2] == (c | 0)) {
+        if (!_V(k)) {
+         j = 1;
+         break a;
+        }
+        c = q[g >> 2];
+       }
+       q[a + 424 >> 2] = c + 1;
+       o[c | 0] = 0;
+       q[t + (z << 2) >> 2] = q[a + 428 >> 2];
+       break f;
+      }
+      c = q[f + 8 >> 2];
+      q[l + 8 >> 2] = q[f + 4 >> 2];
+      if (!q[g >> 2]) {
+       if (!_V(k)) {
+        break e;
+       }
+      }
+      while (1) {
+       if (n[q[b + 56 >> 2]](b, l + 8 | 0, c, g, q[a + 420 >> 2]) >>> 0 >= 2) {
+        if (_V(k)) {
+         continue;
+        }
+        break e;
+       }
+       break;
+      }
+      if (!q[a + 428 >> 2]) {
+       break e;
+      }
+      c = q[a + 424 >> 2];
+      if ((c | 0) == q[a + 420 >> 2]) {
+       if (!_V(k)) {
+        break e;
+       }
+       c = q[g >> 2];
+      }
+      q[a + 424 >> 2] = c + 1;
+      o[c | 0] = 0;
+      c = q[a + 428 >> 2];
+      q[t + (z << 2) >> 2] = c;
+      if (!c) {
+       break a;
+      }
+     }
+     q[a + 428 >> 2] = q[a + 424 >> 2];
+     c = q[i + 4 >> 2];
+     i : {
+      if (c) {
+       if (r[i + 9 | 0]) {
+        j = bW(a, c, i, q[t + (z << 2) >> 2], e);
+        if (!j) {
+         break i;
+        }
+        break a;
+       }
+       o[q[i >> 2] + -1 | 0] = 2;
+       y = y + 1 | 0;
+      }
+      h = h + 2 | 0;
+     }
+     p = p + 1 | 0;
+     if ((v | 0) == (p | 0)) {
+      break d;
+     }
+     j = 1;
+     c = q[q[a + 388 >> 2] + (p << 4) >> 2];
+     i = qW(a, b, c, (n[q[b + 28 >> 2]](b, c) | 0) + c | 0);
+     if (i) {
+      continue;
+     }
+     break a;
+    }
+    break;
+   }
+   q[t + (z << 2) >> 2] = 0;
+   break a;
+  }
+  q[a + 380 >> 2] = h;
+  j : {
+   k : {
+    b = q[m + 8 >> 2];
+    if (!b) {
+     break k;
+    }
+    b = q[b >> 2];
+    if (!r[b + -1 | 0]) {
+     break k;
+    }
+    if ((h | 0) < 1) {
+     break j;
+    }
+    f = 0;
+    while (1) {
+     if ((b | 0) != q[t + (f << 2) >> 2]) {
+      f = f + 2 | 0;
+      if ((f | 0) < (h | 0)) {
+       continue;
+      }
+      break j;
+     }
+     break;
+    }
+    q[a + 384 >> 2] = f;
+    break j;
+   }
+   q[a + 384 >> 2] = -1;
+  }
+  if ((s | 0) >= 1) {
+   f = 0;
+   while (1) {
+    b = q[m + 20 >> 2] + w(f, 12) | 0;
+    c = q[b >> 2];
+    g = q[c >> 2] + -1 | 0;
+    l : {
+     if (r[g | 0]) {
+      break l;
+     }
+     j = q[b + 8 >> 2];
+     if (!j) {
+      break l;
+     }
+     k = b + 8 | 0;
+     i = q[c + 4 >> 2];
+     if (i) {
+      if (r[c + 9 | 0]) {
+       j = bW(a, i, c, j, e);
+       if (!j) {
+        break l;
+       }
+       break a;
+      }
+      o[g | 0] = 2;
+      c = t + (h << 2) | 0;
+      q[c >> 2] = q[q[b >> 2] >> 2];
+      q[c + 4 >> 2] = q[k >> 2];
+      h = h + 2 | 0;
+      y = y + 1 | 0;
+      break l;
+     }
+     o[g | 0] = 1;
+     c = t + (h << 2) | 0;
+     q[c >> 2] = q[q[b >> 2] >> 2];
+     q[c + 4 >> 2] = q[k >> 2];
+     h = h + 2 | 0;
+    }
+    f = f + 1 | 0;
+    if ((s | 0) != (f | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = 0;
+  q[t + (h << 2) >> 2] = 0;
+  m : {
+   if (!y) {
+    break m;
+   }
+   b = r[a + 400 | 0];
+   n : {
+    o : {
+     if (y << 1 >> b) {
+      f = b;
+      while (1) {
+       k = f & 255;
+       g = f + 1 | 0;
+       f = g;
+       if (y >> k) {
+        continue;
+       }
+       break;
+      }
+      f = (g & 255) >>> 0 > 3 ? g : 3;
+      o[a + 400 | 0] = f;
+      f = f & 255;
+      g = n[q[a + 16 >> 2]](q[a + 392 >> 2], 12 << f) | 0;
+      if (g) {
+       q[a + 392 >> 2] = g;
+       k = 1 << f;
+       break o;
+      }
+      o[a + 400 | 0] = b;
+      j = 1;
+      break a;
+     }
+     k = 1 << b;
+     g = q[a + 396 >> 2];
+     if (g) {
+      break n;
+     }
+    }
+    f = k;
+    while (1) {
+     g = -1;
+     f = f + -1 | 0;
+     q[q[a + 392 >> 2] + w(f, 12) >> 2] = -1;
+     if (f) {
+      continue;
+     }
+     break;
+    }
+   }
+   v = g + -1 | 0;
+   q[a + 396 >> 2] = v;
+   if ((h | 0) < 1) {
+    break m;
+   }
+   E = 0 - k | 0;
+   z = a + 412 | 0;
+   F = u + 40 | 0;
+   C = k + -1 | 0;
+   G = C >>> 2 | 0;
+   H = l + 40 | 0;
+   while (1) {
+    D = t + (c << 2) | 0;
+    g = q[D >> 2];
+    j = g + -1 | 0;
+    p : {
+     if (r[j | 0] == 2) {
+      f = a;
+      while (1) {
+       b = f;
+       f = q[f + 472 >> 2];
+       if (f) {
+        continue;
+       }
+       break;
+      }
+      b = q[b + 492 >> 2];
+      q[l + 56 >> 2] = 0;
+      q[l + 60 >> 2] = 0;
+      q[l + 48 >> 2] = H;
+      q[l + 24 >> 2] = 1852142177;
+      q[l + 28 >> 2] = 1819895653;
+      q[l + 8 >> 2] = 1886610805;
+      q[l + 12 >> 2] = 1936682341;
+      q[l + 32 >> 2] = b ^ 2037671283;
+      q[l + 36 >> 2] = 1952801890;
+      q[l + 16 >> 2] = b ^ 1852075885;
+      q[l + 20 >> 2] = 1685025377;
+      o[j | 0] = 0;
+      j = 1;
+      b = $V(a, F, g, 0);
+      if (!b) {
+       break a;
+      }
+      b = q[b + 4 >> 2];
+      if (!b) {
+       break a;
+      }
+      s = q[b + 4 >> 2];
+      if (!s) {
+       j = 27;
+       break a;
+      }
+      f = q[s + 16 >> 2];
+      i = 0;
+      b = q[s + 20 >> 2];
+      if ((b | 0) >= 1) {
+       while (1) {
+        b = r[f + i | 0];
+        f = q[a + 424 >> 2];
+        if ((f | 0) == q[a + 420 >> 2]) {
+         if (!_V(z)) {
+          break a;
+         }
+         f = q[a + 424 >> 2];
+        }
+        q[a + 424 >> 2] = f + 1;
+        o[f | 0] = b;
+        f = q[s + 16 >> 2];
+        i = i + 1 | 0;
+        b = q[s + 20 >> 2];
+        if ((i | 0) < (b | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      AW(l + 8 | 0, f, b);
+      while (1) {
+       b = r[g | 0];
+       f = g + 1 | 0;
+       g = f;
+       if ((b | 0) != 58) {
+        continue;
+       }
+       break;
+      }
+      i = 0;
+      g = f;
+      if (r[f | 0]) {
+       while (1) {
+        i = i + 1 | 0;
+        b = r[g + 1 | 0];
+        g = g + 1 | 0;
+        if (b) {
+         continue;
+        }
+        break;
+       }
+      }
+      AW(l + 8 | 0, f, i);
+      while (1) {
+       g = q[a + 424 >> 2];
+       if ((g | 0) == q[a + 420 >> 2]) {
+        if (!_V(z)) {
+         break a;
+        }
+        g = q[a + 424 >> 2];
+       }
+       b = r[f | 0];
+       q[a + 424 >> 2] = g + 1;
+       o[g | 0] = b;
+       b = r[f | 0];
+       f = f + 1 | 0;
+       if (b) {
+        continue;
+       }
+       break;
+      }
+      b = BW(l + 8 | 0);
+      p = C & b;
+      B = q[a + 392 >> 2];
+      if (q[w(p, 12) + B >> 2] == (v | 0)) {
+       I = b & E;
+       x = 0;
+       while (1) {
+        q : {
+         g = B + w(p, 12) | 0;
+         if (q[g + 4 >> 2] != (b | 0)) {
+          break q;
+         }
+         f = q[a + 428 >> 2];
+         A = r[f | 0];
+         i = !A;
+         r : {
+          if (!A) {
+           break r;
+          }
+          g = q[g + 8 >> 2];
+          if ((A | 0) != r[g | 0]) {
+           break r;
+          }
+          while (1) {
+           A = r[f + 1 | 0];
+           i = !A;
+           if (!A) {
+            break r;
+           }
+           f = f + 1 | 0;
+           J = r[g + 1 | 0];
+           g = g + 1 | 0;
+           if ((A | 0) == (J | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         if (!i) {
+          break q;
+         }
+         j = 8;
+         break a;
+        }
+        x = x & 255 ? x : I >>> r[a + 400 | 0] + -1 & G | 1;
+        f = x & 255;
+        p = (p - f | 0) + ((p | 0) < (f | 0) ? k : 0) | 0;
+        if (q[B + w(p, 12) >> 2] == (v | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      if (r[a + 233 | 0]) {
+       o[q[a + 424 >> 2] + -1 | 0] = r[a + 468 | 0];
+       f = q[q[s >> 2] >> 2];
+       while (1) {
+        g = q[a + 424 >> 2];
+        if ((g | 0) == q[a + 420 >> 2]) {
+         if (!_V(z)) {
+          break a;
+         }
+         g = q[a + 424 >> 2];
+        }
+        i = r[f | 0];
+        q[a + 424 >> 2] = g + 1;
+        o[g | 0] = i;
+        g = r[f | 0];
+        f = f + 1 | 0;
+        if (g) {
+         continue;
+        }
+        break;
+       }
+      }
+      f = q[a + 428 >> 2];
+      q[a + 428 >> 2] = q[a + 424 >> 2];
+      q[D >> 2] = f;
+      g = w(p, 12);
+      q[g + q[a + 392 >> 2] >> 2] = v;
+      q[(g + q[a + 392 >> 2] | 0) + 4 >> 2] = b;
+      q[(g + q[a + 392 >> 2] | 0) + 8 >> 2] = f;
+      y = y + -1 | 0;
+      if (y) {
+       break p;
+      }
+      c = c + 2 | 0;
+      break m;
+     }
+     o[j | 0] = 0;
+    }
+    c = c + 2 | 0;
+    if ((c | 0) < (h | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  if ((c | 0) < (h | 0)) {
+   while (1) {
+    o[q[t + (c << 2) >> 2] + -1 | 0] = 0;
+    c = c + 2 | 0;
+    if ((c | 0) < (h | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  f = q[e >> 2];
+  if (f) {
+   while (1) {
+    o[q[q[f + 12 >> 2] >> 2] + -1 | 0] = 0;
+    f = q[f + 4 >> 2];
+    if (f) {
+     continue;
+    }
+    break;
+   }
+  }
+  j = 0;
+  if (!r[a + 232 | 0]) {
+   break a;
+  }
+  b = q[m + 4 >> 2];
+  s : {
+   if (b) {
+    h = q[b + 4 >> 2];
+    if (!h) {
+     j = 27;
+     break a;
+    }
+    f = q[d >> 2];
+    while (1) {
+     b = r[f | 0];
+     g = f + 1 | 0;
+     f = g;
+     if ((b | 0) != 58) {
+      continue;
+     }
+     break;
+    }
+    break s;
+   }
+   h = q[u + 156 >> 2];
+   if (!h) {
+    break a;
+   }
+   g = q[d >> 2];
+  }
+  f = 0;
+  b = 0;
+  t : {
+   if (!r[a + 233 | 0]) {
+    break t;
+   }
+   c = 0;
+   e = q[q[h >> 2] >> 2];
+   if (!e) {
+    break t;
+   }
+   while (1) {
+    k = c + e | 0;
+    b = c + 1 | 0;
+    c = b;
+    if (r[k | 0]) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[d + 4 >> 2] = g;
+  q[d + 16 >> 2] = q[h + 20 >> 2];
+  c = q[q[h >> 2] >> 2];
+  q[d + 20 >> 2] = b;
+  q[d + 8 >> 2] = c;
+  while (1) {
+   c = f;
+   f = f + 1 | 0;
+   if (r[c + g | 0]) {
+    continue;
+   }
+   break;
+  }
+  i = q[h + 20 >> 2];
+  e = i + (b + f | 0) | 0;
+  u : {
+   if ((e | 0) <= q[h + 24 >> 2]) {
+    m = q[h + 16 >> 2];
+    break u;
+   }
+   e = e + 24 | 0;
+   m = n[q[a + 12 >> 2]](e) | 0;
+   if (!m) {
+    j = 1;
+    break a;
+   }
+   q[h + 24 >> 2] = e;
+   e = Y$(m, q[h + 16 >> 2], q[h + 20 >> 2]);
+   i = q[a + 360 >> 2];
+   if (i) {
+    while (1) {
+     if (q[i + 12 >> 2] == q[h + 16 >> 2]) {
+      q[i + 12 >> 2] = e;
+     }
+     i = q[i >> 2];
+     if (i) {
+      continue;
+     }
+     break;
+    }
+   }
+   n[q[a + 20 >> 2]](q[h + 16 >> 2]);
+   q[h + 16 >> 2] = e;
+   i = q[h + 20 >> 2];
+  }
+  e = Y$(i + m | 0, g, f);
+  if (b) {
+   c = c + e | 0;
+   o[c | 0] = r[a + 468 | 0];
+   Y$(c + 1 | 0, q[q[h >> 2] >> 2], b);
+  }
+  q[d >> 2] = q[h + 16 >> 2];
+ }
+ Ca = l - -64 | 0;
+ return j;
+}
+function Di(a, b) {
+ var c = 0, d = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            l : {
+             m : {
+              n : {
+               o : {
+                p : {
+                 q : {
+                  r : {
+                   s : {
+                    t : {
+                     u : {
+                      v : {
+                       w : {
+                        x : {
+                         y : {
+                          z : {
+                           A : {
+                            B : {
+                             C : {
+                              D : {
+                               E : {
+                                F : {
+                                 G : {
+                                  H : {
+                                   I : {
+                                    J : {
+                                     K : {
+                                      if ((b | 0) <= 1935833198) {
+                                       if ((b | 0) <= 1751346272) {
+                                        c = b + -1735618608 | 0;
+                                        if (c >>> 0 <= 9) {
+                                         break y;
+                                        }
+                                        if ((b | 0) == 1668311156) {
+                                         break K;
+                                        }
+                                        if ((b | 0) != 1751216995) {
+                                         break a;
+                                        }
+                                        return a + 442 | 0;
+                                       }
+                                       if ((b | 0) <= 1751347821) {
+                                        c = b + -1751346273 | 0;
+                                        if (c >>> 0 > 3) {
+                                         if ((b | 0) != 1751347046) {
+                                          break a;
+                                         }
+                                         return a + 238 | 0;
+                                        }
+                                        switch (c - 1 | 0) {
+                                        case 0:
+                                        case 1:
+                                         break a;
+                                        case 2:
+                                         break I;
+                                        default:
+                                         break J;
+                                        }
+                                       }
+                                       c = b + -1751347822 | 0;
+                                       if (c >>> 0 <= 5) {
+                                        break x;
+                                       }
+                                       if ((b | 0) == 1751413603) {
+                                        break H;
+                                       }
+                                       if ((b | 0) != 1751934832) {
+                                        break a;
+                                       }
+                                       return a + 446 | 0;
+                                      }
+                                      if ((b | 0) <= 1970168942) {
+                                       if ((b | 0) <= 1936750702) {
+                                        c = b + -1935833199 | 0;
+                                        if (c >>> 0 <= 4) {
+                                         break w;
+                                        }
+                                        b = b + -1935833455 | 0;
+                                        if (b >>> 0 > 4) {
+                                         break a;
+                                        }
+                                        switch (b - 1 | 0) {
+                                        case 0:
+                                        case 1:
+                                        case 2:
+                                         break a;
+                                        case 3:
+                                         break F;
+                                        default:
+                                         break G;
+                                        }
+                                       }
+                                       c = b + -1936750703 | 0;
+                                       if (c >>> 0 <= 4) {
+                                        break v;
+                                       }
+                                       c = b + -1936750959 | 0;
+                                       if (c >>> 0 <= 4) {
+                                        break u;
+                                       }
+                                       b = b + -1937011311 | 0;
+                                       if (b >>> 0 > 4) {
+                                        break a;
+                                       }
+                                       switch (b - 1 | 0) {
+                                       case 0:
+                                       case 1:
+                                       case 2:
+                                        break a;
+                                       case 3:
+                                        break D;
+                                       default:
+                                        break E;
+                                       }
+                                      }
+                                      if ((b | 0) <= 1986228845) {
+                                       c = b + -1970168943 | 0;
+                                       if (c >>> 0 <= 4) {
+                                        break t;
+                                       }
+                                       if ((b | 0) == 1986098019) {
+                                        break C;
+                                       }
+                                       if ((b | 0) != 1986228070) {
+                                        break a;
+                                       }
+                                       return a + 318 | 0;
+                                      }
+                                      if ((b | 0) <= 1986815855) {
+                                       c = b + -1986228846 | 0;
+                                       if (c >>> 0 > 5) {
+                                        if ((b | 0) != 1986294627) {
+                                         break a;
+                                        }
+                                        return a + 302 | 0;
+                                       }
+                                       switch (c - 1 | 0) {
+                                       case 0:
+                                       case 1:
+                                       case 2:
+                                       case 3:
+                                        break a;
+                                       case 4:
+                                        break A;
+                                       default:
+                                        break B;
+                                       }
+                                      }
+                                      if ((b | 0) == 1986815856) {
+                                       break z;
+                                      }
+                                      if ((b | 0) != 2020108148) {
+                                       break a;
+                                      }
+                                      return a + 460 | 0;
+                                     }
+                                     return a + 462 | 0;
+                                    }
+                                    return a + 448 | 0;
+                                   }
+                                   return a + 450 | 0;
+                                  }
+                                  return a + 444 | 0;
+                                 }
+                                 return a + 388 | 0;
+                                }
+                                return a + 384 | 0;
+                               }
+                               return a + 400 | 0;
+                              }
+                              return a + 398 | 0;
+                             }
+                             return a + 300 | 0;
+                            }
+                            return a + 316 | 0;
+                           }
+                           return a + 314 | 0;
+                          }
+                          d = a + 304 | 0;
+                          break a;
+                         }
+                         switch (c - 1 | 0) {
+                         case 7:
+                          break j;
+                         case 8:
+                          break k;
+                         case 0:
+                          break c;
+                         case 1:
+                          break d;
+                         case 2:
+                          break e;
+                         case 3:
+                          break f;
+                         case 4:
+                          break g;
+                         case 5:
+                          break h;
+                         case 6:
+                          break i;
+                         default:
+                          break b;
+                         }
+                        }
+                        switch (c - 1 | 0) {
+                        case 0:
+                        case 1:
+                        case 2:
+                        case 3:
+                         break a;
+                        case 4:
+                         break m;
+                        default:
+                         break l;
+                        }
+                       }
+                       switch (c - 1 | 0) {
+                       case 0:
+                       case 1:
+                       case 2:
+                        break a;
+                       case 3:
+                        break o;
+                       default:
+                        break n;
+                       }
+                      }
+                      switch (c - 1 | 0) {
+                      case 0:
+                      case 1:
+                      case 2:
+                       break a;
+                      case 3:
+                       break q;
+                      default:
+                       break p;
+                      }
+                     }
+                     switch (c - 1 | 0) {
+                     case 0:
+                     case 1:
+                     case 2:
+                      break a;
+                     case 3:
+                      break s;
+                     default:
+                      break r;
+                     }
+                    }
+                    L : {
+                     switch (c - 1 | 0) {
+                     case 3:
+                      return a + 486 | 0;
+                     case 0:
+                     case 1:
+                     case 2:
+                      break a;
+                     default:
+                      break L;
+                     }
+                    }
+                    return a + 484 | 0;
+                   }
+                   return a + 392 | 0;
+                  }
+                  return a + 396 | 0;
+                 }
+                 return a + 390 | 0;
+                }
+                return a + 394 | 0;
+               }
+               return a + 382 | 0;
+              }
+              return a + 386 | 0;
+             }
+             return a + 234 | 0;
+            }
+            return a + 236 | 0;
+           }
+           if (s[a + 562 >> 1] < 11) {
+            break a;
+           }
+           return q[a + 564 >> 2] + 36 | 0;
+          }
+          if (s[a + 562 >> 1] < 10) {
+           break a;
+          }
+          return q[a + 564 >> 2] + 32 | 0;
+         }
+         if (s[a + 562 >> 1] < 9) {
+          break a;
+         }
+         return q[a + 564 >> 2] + 28 | 0;
+        }
+        if (s[a + 562 >> 1] < 8) {
+         break a;
+        }
+        return q[a + 564 >> 2] + 24 | 0;
+       }
+       if (s[a + 562 >> 1] < 7) {
+        break a;
+       }
+       return q[a + 564 >> 2] + 20 | 0;
+      }
+      if (s[a + 562 >> 1] < 6) {
+       break a;
+      }
+      return q[a + 564 >> 2] + 16 | 0;
+     }
+     if (s[a + 562 >> 1] < 5) {
+      break a;
+     }
+     return q[a + 564 >> 2] + 12 | 0;
+    }
+    if (s[a + 562 >> 1] < 4) {
+     break a;
+    }
+    return q[a + 564 >> 2] + 8 | 0;
+   }
+   if (s[a + 562 >> 1] < 3) {
+    break a;
+   }
+   return q[a + 564 >> 2] + 4 | 0;
+  }
+  if (s[a + 562 >> 1] < 2) {
+   break a;
+  }
+  return q[a + 564 >> 2];
+ }
+ return d;
+}
+function Fl(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0;
+ y = Ca - 16 | 0;
+ Ca = y;
+ f = 6;
+ l = q[a + 4 >> 2];
+ a : {
+  if (!l) {
+   break a;
+  }
+  x = c ? c + -1 | 0 : 0;
+  if (x >>> 0 >= t[l + 408 >> 2]) {
+   break a;
+  }
+  b : {
+   if (d & 9) {
+    break b;
+   }
+   e = q[l + 380 >> 2];
+   if (!e) {
+    break b;
+   }
+   n = q[l + 416 >> 2];
+   v = q[l + 104 >> 2];
+   f = q[l + 388 >> 2];
+   g = s[b + 12 >> 1];
+   c = 0;
+   while (1) {
+    if (!(q[f + 4 >> 2] == s[b + 14 >> 1] ? (g | 0) == q[f >> 2] : 0)) {
+     f = f + 36 | 0;
+     c = c + 1 | 0;
+     if ((e | 0) != (c | 0)) {
+      continue;
+     }
+     break b;
+    }
+    break;
+   }
+   c = q[f + 8 >> 2];
+   if (yg(v, q[f + 24 >> 2] + q[l + 432 >> 2] | 0)) {
+    break b;
+   }
+   if (Kg(v, w(q[f + 28 >> 2], ((c >>> 1 & 1) + (c & 1 | 4) | 0) + (c >>> 2 & 1) | 0))) {
+    break b;
+   }
+   j = q[f + 8 >> 2];
+   A = j & 1;
+   u = ((A | 4) + (j >>> 1 & 1) | 0) + (j >>> 2 & 1) | 0;
+   m = q[n + (x << 4) >> 2];
+   c = q[f + 28 >> 2];
+   g = q[v + 32 >> 2];
+   if (!(j & 64)) {
+    e = q[v + 36 >> 2];
+    h = j | 128;
+    q[f + 8 >> 2] = h;
+    i = w(c, u);
+    z = i + g | 0;
+    c : {
+     if (z >>> 0 <= e >>> 0) {
+      if ((i | 0) <= 0) {
+       break c;
+      }
+      i = -1;
+      e = g;
+      while (1) {
+       k = r[e | 0];
+       k = A ? r[e + 1 | 0] | k << 8 : k;
+       if ((k | 0) <= (i | 0)) {
+        h = j & -129;
+        q[f + 8 >> 2] = h;
+        break c;
+       }
+       i = k;
+       e = e + u | 0;
+       if (e >>> 0 < z >>> 0) {
+        continue;
+       }
+       break;
+      }
+      break c;
+     }
+     h = j & -129;
+     q[f + 8 >> 2] = h;
+    }
+    j = h | 64;
+    q[f + 8 >> 2] = j;
+   }
+   d : {
+    if (!(j & 128)) {
+     break d;
+    }
+    f = 0;
+    while (1) {
+     if (f >>> 0 >= c >>> 0) {
+      break d;
+     }
+     k = c + f >>> 1 | 0;
+     e = g + w(k, u) | 0;
+     h = f;
+     B = k + 1 | 0;
+     e : {
+      if (A) {
+       i = e + 2 | 0;
+       e = r[e + 1 | 0] | r[e | 0] << 8;
+       break e;
+      }
+      i = e + 1 | 0;
+      e = r[e | 0];
+     }
+     z = e >>> 0 > m >>> 0;
+     f = z ? h : e >>> 0 < m >>> 0 ? B : f;
+     c = z ? k : c;
+     if ((e | 0) != (m | 0)) {
+      continue;
+     }
+     break;
+    }
+    f : {
+     if (j & 2) {
+      f = i + 2 | 0;
+      c = r[i + 1 | 0] | r[i | 0] << 8;
+      break f;
+     }
+     f = i + 1 | 0;
+     c = r[i | 0];
+    }
+    e = r[f | 0];
+    g : {
+     if (j & 4) {
+      m = r[f + 1 | 0] << 8 | e << 16;
+      g = 2;
+      break g;
+     }
+     m = e << 8;
+     g = 1;
+    }
+    e = r[g + f | 0];
+    Ng(v);
+    if (!c) {
+     break b;
+    }
+    g = e | m;
+    h = n + (x << 4) | 0;
+    f = q[h + 4 >> 2];
+    k = q[l + 304 >> 2];
+    e = q[l + 300 >> 2];
+    h : {
+     if ((k | 0) == (e | 0)) {
+      e = f;
+      break h;
+     }
+     e = ue(f, e, k);
+     k = q[l + 304 >> 2];
+     f = q[h + 4 >> 2];
+    }
+    q[a + 56 >> 2] = e;
+    k = ue(s[b + 12 >> 1] << 8, f, k);
+    if (yg(v, g + q[l + 188 >> 2] | 0)) {
+     break b;
+    }
+    if (Kg(v, c)) {
+     break b;
+    }
+    g = q[v + 32 >> 2];
+    h = g + 1 | 0;
+    f = q[v + 36 >> 2];
+    if (h >>> 0 > f >>> 0) {
+     break d;
+    }
+    i : {
+     j : {
+      k : {
+       l : {
+        m : {
+         i = r[g | 0];
+         switch ((i & 3) - 1 | 0) {
+         case 2:
+          break j;
+         case 1:
+          break k;
+         case 0:
+          break l;
+         default:
+          break m;
+         }
+        }
+        e = g + 2 | 0;
+        if (e >>> 0 > f >>> 0) {
+         break d;
+        }
+        g = o[h | 0];
+        u = g >> 4;
+        h = g << 28 >> 28;
+        break i;
+       }
+       e = g + 3 | 0;
+       if (e >>> 0 > f >>> 0) {
+        break d;
+       }
+       h = o[g + 2 | 0];
+       u = o[g + 1 | 0];
+       break i;
+      }
+      e = g + 5 | 0;
+      if (e >>> 0 > f >>> 0) {
+       break d;
+      }
+      h = r[g + 3 | 0] | r[g + 4 | 0] << 8;
+      h = (h << 24 | h << 8 & 16711680) >> 16;
+      g = r[g + 1 | 0] | r[g + 2 | 0] << 8;
+      u = (g << 24 | g << 8 & 16711680) >> 16;
+      break i;
+     }
+     e = g + 7 | 0;
+     if (e >>> 0 > f >>> 0) {
+      break d;
+     }
+     h = r[g + 6 | 0] | (r[g + 5 | 0] << 8 | r[g + 4 | 0] << 16);
+     u = r[g + 3 | 0] | (r[g + 2 | 0] << 8 | r[g + 1 | 0] << 16);
+    }
+    j = i >>> 2 & 3;
+    n = j;
+    n : {
+     o : {
+      switch (j - 1 | 0) {
+      case 0:
+       g = e + 1 | 0;
+       if (g >>> 0 > f >>> 0) {
+        break d;
+       }
+       e = r[e | 0];
+       n = e & 15;
+       j = e >>> 4 | 0;
+       e = g;
+       break n;
+      case 1:
+       g = e + 2 | 0;
+       if (g >>> 0 > f >>> 0) {
+        break d;
+       }
+       n = r[e + 1 | 0];
+       j = r[e | 0];
+       e = g;
+       break n;
+      case 2:
+       break o;
+      default:
+       break n;
+      }
+     }
+     g = e + 4 | 0;
+     if (g >>> 0 > f >>> 0) {
+      break d;
+     }
+     n = r[e + 3 | 0] | r[e + 2 | 0] << 8;
+     j = r[e + 1 | 0] | r[e | 0] << 8;
+     e = g;
+    }
+    p : {
+     q : {
+      r : {
+       s : {
+        i = i >>> 4 | 0;
+        switch ((i & 3) - 1 | 0) {
+        case 2:
+         break q;
+        case 1:
+         break r;
+        case 0:
+         break s;
+        default:
+         break p;
+        }
+       }
+       g = e + 1 | 0;
+       if (g >>> 0 > f >>> 0) {
+        break d;
+       }
+       k = o[e | 0] << 8;
+       e = g;
+       break p;
+      }
+      g = e + 2 | 0;
+      if (g >>> 0 > f >>> 0) {
+       break d;
+      }
+      e = r[e | 0] | r[e + 1 | 0] << 8;
+      k = (e << 24 | e << 8 & 16711680) >> 16;
+      e = g;
+      break p;
+     }
+     g = e + 3 | 0;
+     if (g >>> 0 > f >>> 0) {
+      break d;
+     }
+     k = r[e + 2 | 0] | (r[e + 1 | 0] << 8 | r[e | 0] << 16);
+     e = g;
+    }
+    i = i >>> 2 | 0;
+    if (i >>> 0 > 2) {
+     break d;
+    }
+    t : {
+     u : {
+      switch (i - 1 | 0) {
+      case 0:
+       if (w(j, n) >>> 0 <= w(c, 15) >>> 0) {
+        break t;
+       }
+       break d;
+      case 1:
+       if (w(j, n) >>> 0 > w(c + 1 >>> 1 | 0, 255) >>> 0) {
+        break d;
+       }
+       break t;
+      default:
+       break u;
+      }
+     }
+     if (w(j, n) + 7 >>> 3 >>> 0 > c >>> 0) {
+      break d;
+     }
+    }
+    if ((h | 0) > (2147483647 - n | 0)) {
+     break d;
+    }
+    q[a + 72 >> 2] = 1651078259;
+    q[a + 76 >> 2] = n;
+    q[a + 80 >> 2] = j;
+    o[a + 94 | 0] = 1;
+    f = 0;
+    q[a + 48 >> 2] = 0;
+    q[a + 36 >> 2] = h << 6;
+    q[a + 32 >> 2] = u << 6;
+    q[a + 28 >> 2] = n << 6;
+    c = j << 6;
+    q[a + 24 >> 2] = c;
+    g = j + 7 >>> 3 | 0;
+    q[a + 84 >> 2] = g;
+    q[a + 44 >> 2] = 0 - c >> 1;
+    q[a + 40 >> 2] = (k >> 2) + 32 & -64;
+    c = q[b + 32 >> 2];
+    q[a + 104 >> 2] = h + n;
+    q[a + 100 >> 2] = u;
+    q[a + 52 >> 2] = c;
+    v : {
+     if (d & 4194304) {
+      break v;
+     }
+     if (sf(a, w(g, n))) {
+      break d;
+     }
+     b = q[a + 76 >> 2];
+     if (!b) {
+      break v;
+     }
+     g = q[a + 80 >> 2];
+     if (!g | i >>> 0 > 2) {
+      break v;
+     }
+     x = q[v + 36 >> 2];
+     c = q[a + 84 >> 2];
+     d = q[l + 208 >> 2] & 2;
+     l = d ? c : 0 - c | 0;
+     a = q[a + 88 >> 2];
+     j = d ? a : a + w(c, b + -1 | 0) | 0;
+     k = w(b, g);
+     w : {
+      switch (i - 1 | 0) {
+      default:
+       a = x - e << 3;
+       i = a >>> 0 > k >>> 0 ? k : a;
+       if (!i) {
+        break v;
+       }
+       b = 128;
+       c = 0;
+       a = 0;
+       k = j;
+       d = g;
+       h = i;
+       while (1) {
+        if (!((h ^ i) & 7)) {
+         a = r[e | 0];
+         e = e + 1 | 0;
+        }
+        c = a << 24 >> 31 & b | c;
+        d = d + -1 | 0;
+        x : {
+         if (!d) {
+          o[k | 0] = c;
+          c = 0;
+          b = 128;
+          d = g;
+          j = j + l | 0;
+          k = j;
+          break x;
+         }
+         b = b >>> 1 | 0;
+         if (b) {
+          break x;
+         }
+         o[k | 0] = c;
+         k = k + 1 | 0;
+         c = 0;
+         b = 128;
+        }
+        a = a << 1;
+        h = h + -1 | 0;
+        if (h) {
+         continue;
+        }
+        break;
+       }
+       if ((b | 0) == 128) {
+        break v;
+       }
+       o[k | 0] = c;
+       Ng(v);
+       break a;
+      case 0:
+       if (!k) {
+        break v;
+       }
+       b = 128;
+       m = 0;
+       u = j;
+       i = g;
+       n = 1;
+       d = 0;
+       h = 0;
+       c = 1;
+       while (1) {
+        a = h;
+        y : {
+         if (!n) {
+          break y;
+         }
+         while (1) {
+          z : {
+           if (!c) {
+            c = 1;
+            a = d;
+            break z;
+           }
+           if (e >>> 0 >= x >>> 0) {
+            a = h;
+            break y;
+           }
+           a = r[e | 0];
+           d = a & 15;
+           c = 0;
+           e = e + 1 | 0;
+           a = a >>> 4 | 0;
+          }
+          h = 0;
+          if (!a) {
+           continue;
+          }
+          break;
+         }
+        }
+        m = (c ? b : 0) | m;
+        i = i + -1 | 0;
+        A : {
+         if (!i) {
+          o[u | 0] = m;
+          m = 0;
+          b = 128;
+          i = g;
+          j = j + l | 0;
+          u = j;
+          break A;
+         }
+         b = b >>> 1 | 0;
+         if (b) {
+          break A;
+         }
+         o[u | 0] = m;
+         u = u + 1 | 0;
+         m = 0;
+         b = 128;
+        }
+        n = (a | 0) < 2;
+        h = a + -1 | 0;
+        k = k + -1 | 0;
+        if (k) {
+         continue;
+        }
+        break;
+       }
+       if ((b | 0) == 128) {
+        break v;
+       }
+       o[u | 0] = m;
+       Ng(v);
+       break a;
+      case 1:
+       break w;
+      }
+     }
+     if (!k) {
+      break v;
+     }
+     m = 128;
+     d = 0;
+     i = j;
+     b = g;
+     a = 1;
+     h = 0;
+     c = 1;
+     while (1) {
+      B : {
+       if (!a | e >>> 0 >= x >>> 0) {
+        break B;
+       }
+       C : {
+        while (1) {
+         c = c ^ 1;
+         a = e + 1 | 0;
+         h = r[e | 0];
+         if (h) {
+          break C;
+         }
+         e = a;
+         if ((a | 0) != (x | 0)) {
+          continue;
+         }
+         break;
+        }
+        h = 0;
+        e = x;
+        break B;
+       }
+       e = a;
+      }
+      d = (c ? m : 0) | d;
+      b = b + -1 | 0;
+      D : {
+       if (!b) {
+        o[i | 0] = d;
+        d = 0;
+        m = 128;
+        b = g;
+        j = j + l | 0;
+        i = j;
+        break D;
+       }
+       m = m >>> 1 | 0;
+       if (m) {
+        break D;
+       }
+       o[i | 0] = d;
+       i = i + 1 | 0;
+       d = 0;
+       m = 128;
+      }
+      a = (h | 0) < 2;
+      h = h + -1 | 0;
+      k = k + -1 | 0;
+      if (k) {
+       continue;
+      }
+      break;
+     }
+     if ((m | 0) == 128) {
+      break v;
+     }
+     o[i | 0] = d;
+    }
+    Ng(v);
+    break a;
+   }
+   Ng(v);
+  }
+  f = 6;
+  if (d & 16384) {
+   break a;
+  }
+  g = q[l + 416 >> 2];
+  q[a + 72 >> 2] = 1869968492;
+  q[a + 108 >> 2] = 0;
+  c = g + (x << 4) | 0;
+  e = q[c + 8 >> 2];
+  c = q[c + 12 >> 2];
+  f = q[l + 188 >> 2];
+  h = q[l + 104 >> 2];
+  Pe(q[a + 188 >> 2]);
+  q[a + 176 >> 2] = 0;
+  f = Gl(a + 160 | 0, h, f, c, e);
+  if (f) {
+   break a;
+  }
+  c = q[a + 188 >> 2];
+  f = q[c + 24 >> 2];
+  e = a + 108 | 0;
+  q[e >> 2] = q[c + 20 >> 2];
+  q[e + 4 >> 2] = f;
+  q[e + 16 >> 2] = q[c + 36 >> 2];
+  f = q[c + 32 >> 2];
+  q[e + 8 >> 2] = q[c + 28 >> 2];
+  q[e + 12 >> 2] = f;
+  f = a + 124 | 0;
+  c = q[f >> 2] & -6;
+  q[f >> 2] = c | 4;
+  if (s[b + 14 >> 1] <= 23) {
+   q[a + 124 >> 2] = c | 260;
+  }
+  q[a + 52 >> 2] = 0;
+  q[a + 40 >> 2] = 0;
+  f = q[(g + (x << 4) | 0) + 4 >> 2];
+  c = q[l + 304 >> 2];
+  g = q[l + 300 >> 2];
+  if ((c | 0) != (g | 0)) {
+   f = ue(f, g, c);
+  }
+  E : {
+   if (o[l + 324 | 0] & 1) {
+    q[a + 52 >> 2] = f;
+    h = f;
+    f = q[a + 40 >> 2];
+    break E;
+   }
+   q[a + 40 >> 2] = f;
+   h = q[a + 52 >> 2];
+  }
+  q[a + 60 >> 2] = h;
+  q[a + 56 >> 2] = f;
+  q[a + 44 >> 2] = 0;
+  q[a + 48 >> 2] = 0;
+  if (!(d & 1)) {
+   d = q[b + 20 >> 2];
+   g = q[b + 16 >> 2];
+   b = a;
+   if (p[a + 110 >> 1] >= 1) {
+    f = q[a + 112 >> 2];
+    c = 0;
+    while (1) {
+     C = f, D = Ee(q[f >> 2], g), q[C >> 2] = D;
+     C = f, D = Ee(q[f + 4 >> 2], d), q[C + 4 >> 2] = D;
+     f = f + 8 | 0;
+     c = c + 1 | 0;
+     if ((c | 0) < p[a + 110 >> 1]) {
+      continue;
+     }
+     break;
+    }
+    f = q[a + 40 >> 2];
+   }
+   C = b, D = Ee(f, g), q[C + 40 >> 2] = D;
+   C = a, D = Ee(q[a + 52 >> 2], d), q[C + 52 >> 2] = D;
+  }
+  qf(e, y);
+  b = q[y >> 2];
+  q[a + 24 >> 2] = q[y + 8 >> 2] - b;
+  c = q[y + 12 >> 2];
+  d = q[y + 4 >> 2];
+  q[a + 36 >> 2] = d;
+  q[a + 32 >> 2] = b;
+  q[a + 28 >> 2] = c - d;
+  f = 0;
+ }
+ Ca = y + 16 | 0;
+ return f | 0;
+}
+function kX(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ e = Ca - 208 | 0;
+ Ca = e;
+ a : {
+  if (!b) {
+   break a;
+  }
+  while (1) {
+   d = c;
+   b : {
+    c : {
+     while (1) {
+      c = s[b >> 1];
+      if (c >>> 0 > 40) {
+       break a;
+      }
+      d : {
+       e : {
+        f : {
+         switch (c - 2 | 0) {
+         default:
+          if (d + -1 >>> 0 < 2) {
+           break a;
+          }
+          g : {
+           h : {
+            c = d + 1 | 0;
+            if (c >>> 0 > 10) {
+             break h;
+            }
+            b = 500800;
+            i : {
+             switch (c - 1 | 0) {
+             case 3:
+              b = 500812;
+              break g;
+             case 4:
+              b = 500819;
+              break g;
+             case 5:
+              b = 500824;
+              break g;
+             case 6:
+              b = 500831;
+              break g;
+             case 7:
+              b = 500839;
+              break g;
+             case 0:
+              break g;
+             case 1:
+             case 2:
+              break h;
+             case 8:
+              break i;
+             default:
+              break a;
+             }
+            }
+            b = 500847;
+            break g;
+           }
+           b = 498608;
+          }
+          q[e + 4 >> 2] = b;
+          q[e >> 2] = 500805;
+          VW(a, 1, 500780, e);
+          break a;
+         case 0:
+          c = ((d | 0) == 1 ? 2 : d) + 1 | 0;
+          j : {
+           if (c >>> 0 <= 10) {
+            b = 500800;
+            k : {
+             switch (c - 1 | 0) {
+             case 1:
+             case 2:
+              b = 500805;
+              break j;
+             case 4:
+              b = 500819;
+              break j;
+             case 5:
+              b = 500824;
+              break j;
+             case 6:
+              b = 500831;
+              break j;
+             case 7:
+              b = 500839;
+              break j;
+             case 0:
+              break j;
+             case 9:
+              break k;
+             default:
+              break a;
+             }
+            }
+            b = 500855;
+            break j;
+           }
+           b = 498608;
+          }
+          q[e + 20 >> 2] = b;
+          q[e + 16 >> 2] = 500812;
+          VW(a, 1, 500780, e + 16 | 0);
+          break a;
+         case 1:
+          c = ((d | 0) == 1 ? 2 : d) + 1 | 0;
+          l : {
+           if (c >>> 0 <= 10) {
+            b = 500800;
+            m : {
+             switch (c - 1 | 0) {
+             case 1:
+             case 2:
+              b = 500805;
+              break l;
+             case 3:
+              b = 500812;
+              break l;
+             case 4:
+              b = 500819;
+              break l;
+             case 6:
+              b = 500831;
+              break l;
+             case 7:
+              b = 500839;
+              break l;
+             case 8:
+              b = 500847;
+              break l;
+             case 0:
+              break l;
+             case 9:
+              break m;
+             default:
+              break a;
+             }
+            }
+            b = 500855;
+            break l;
+           }
+           b = 498608;
+          }
+          q[e + 36 >> 2] = b;
+          q[e + 32 >> 2] = 500824;
+          VW(a, 1, 500780, e + 32 | 0);
+          break a;
+         case 3:
+          c = ((d | 0) == 1 ? 2 : d) + 1 | 0;
+          n : {
+           if (c >>> 0 <= 10) {
+            b = 500800;
+            o : {
+             switch (c - 1 | 0) {
+             case 1:
+             case 2:
+              b = 500805;
+              break n;
+             case 3:
+              b = 500812;
+              break n;
+             case 5:
+              b = 500824;
+              break n;
+             case 6:
+              b = 500831;
+              break n;
+             case 7:
+              b = 500839;
+              break n;
+             case 8:
+              b = 500847;
+              break n;
+             case 0:
+              break n;
+             case 9:
+              break o;
+             default:
+              break a;
+             }
+            }
+            b = 500855;
+            break n;
+           }
+           b = 498608;
+          }
+          q[e + 52 >> 2] = b;
+          q[e + 48 >> 2] = 500819;
+          VW(a, 1, 500780, e + 48 | 0);
+          break a;
+         case 4:
+          c = ((d | 0) == 1 ? 2 : d) + 1 | 0;
+          p : {
+           if (c >>> 0 <= 10) {
+            b = 500800;
+            q : {
+             switch (c - 1 | 0) {
+             case 1:
+             case 2:
+              b = 500805;
+              break p;
+             case 3:
+              b = 500812;
+              break p;
+             case 4:
+              b = 500819;
+              break p;
+             case 5:
+              b = 500824;
+              break p;
+             case 7:
+              b = 500839;
+              break p;
+             case 8:
+              b = 500847;
+              break p;
+             case 0:
+              break p;
+             case 9:
+              break q;
+             default:
+              break a;
+             }
+            }
+            b = 500855;
+            break p;
+           }
+           b = 498608;
+          }
+          q[e + 68 >> 2] = b;
+          q[e + 64 >> 2] = 500831;
+          VW(a, 1, 500780, e - -64 | 0);
+          break a;
+         case 5:
+          c = ((d | 0) == 1 ? 2 : d) + 1 | 0;
+          r : {
+           if (c >>> 0 <= 10) {
+            b = 500800;
+            s : {
+             switch (c - 1 | 0) {
+             case 1:
+             case 2:
+              b = 500805;
+              break r;
+             case 4:
+              b = 500819;
+              break r;
+             case 5:
+              b = 500824;
+              break r;
+             case 6:
+              b = 500831;
+              break r;
+             case 7:
+              b = 500839;
+              break r;
+             case 0:
+              break r;
+             case 9:
+              break s;
+             default:
+              break a;
+             }
+            }
+            b = 500855;
+            break r;
+           }
+           b = 498608;
+          }
+          q[e + 84 >> 2] = b;
+          q[e + 80 >> 2] = 500847;
+          VW(a, 1, 500780, e + 80 | 0);
+          break a;
+         case 2:
+          c = ((d | 0) == 1 ? 2 : d) + 1 | 0;
+          t : {
+           if (c >>> 0 <= 10) {
+            b = 500800;
+            u : {
+             switch (c - 1 | 0) {
+             case 1:
+             case 2:
+              b = 500805;
+              break t;
+             case 3:
+              b = 500812;
+              break t;
+             case 4:
+              b = 500819;
+              break t;
+             case 5:
+              b = 500824;
+              break t;
+             case 6:
+              b = 500831;
+              break t;
+             case 7:
+              b = 500839;
+              break t;
+             case 0:
+              break t;
+             case 8:
+              break u;
+             default:
+              break a;
+             }
+            }
+            b = 500847;
+            break t;
+           }
+           b = 498608;
+          }
+          q[e + 100 >> 2] = b;
+          q[e + 96 >> 2] = 500855;
+          VW(a, 1, 500780, e + 96 | 0);
+          break a;
+         case 7:
+          b = cR(eR(q[b + 8 >> 2]));
+          if (!b) {
+           break a;
+          }
+          b = q[b + 4 >> 2];
+          b = (b | 0) == 1 ? 2 : b;
+          c = (d | 0) == 1 ? 2 : d;
+          if ((b | 0) == (c | 0) | ((b | 0) == 8 ? (c | 0) == 3 : 0) | ((b | 0) == -1 | ((b | 0) == 3 ? (c | 0) == 8 : 0))) {
+           break a;
+          }
+          if ((c | 0) == 9 & (b | 0) == 2 | (c | 0) == -1) {
+           break a;
+          }
+          d = 498608;
+          d = b >>> 0 <= 9 ? q[(b << 2) + 502236 >> 2] : d;
+          q[e + 132 >> 2] = c >>> 0 <= 9 ? q[(c << 2) + 502236 >> 2] : 498608;
+          q[e + 128 >> 2] = d;
+          VW(a, 1, 500780, e + 128 | 0);
+          break a;
+         case 8:
+          c = fR(q[b + 8 >> 2]);
+          if (c) {
+           b = cR(q[c + 4 >> 2]);
+           if (!b) {
+            break a;
+           }
+           b = q[b + 4 >> 2];
+           b = (b | 0) == 1 ? 2 : b;
+           c = (d | 0) == 1 ? 2 : d;
+           if ((b | 0) == (c | 0) | ((b | 0) == 8 ? (c | 0) == 3 : 0) | ((b | 0) == -1 | ((b | 0) == 3 ? (c | 0) == 8 : 0))) {
+            break a;
+           }
+           if ((c | 0) == 9 & (b | 0) == 2 | (c | 0) == -1) {
+            break a;
+           }
+           d = 498608;
+           d = b >>> 0 <= 9 ? q[(b << 2) + 502236 >> 2] : d;
+           q[e + 164 >> 2] = c >>> 0 <= 9 ? q[(c << 2) + 502236 >> 2] : 498608;
+           q[e + 160 >> 2] = d;
+           VW(a, 1, 500780, e + 160 | 0);
+           break a;
+          }
+          q[e + 144 >> 2] = q[b + 8 >> 2];
+          VW(a, 1, 500753, e + 144 | 0);
+          break a;
+         case 17:
+          kX(a, q[b + 8 >> 2], 4);
+          b = b + 12 | 0;
+          kX(a, q[q[b >> 2] + 8 >> 2], d);
+          b = q[b >> 2] + 8 | 0;
+          break e;
+         case 20:
+         case 21:
+         case 22:
+         case 23:
+         case 24:
+         case 25:
+         case 26:
+         case 27:
+         case 28:
+          c = ((d | 0) == 1 ? 2 : d) + 1 | 0;
+          v : {
+           if (c >>> 0 <= 10) {
+            b = 500800;
+            w : {
+             switch (c - 1 | 0) {
+             case 1:
+             case 2:
+              b = 500805;
+              break v;
+             case 3:
+              b = 500812;
+              break v;
+             case 5:
+              b = 500824;
+              break v;
+             case 6:
+              b = 500831;
+              break v;
+             case 7:
+              b = 500839;
+              break v;
+             case 8:
+              b = 500847;
+              break v;
+             case 0:
+              break v;
+             case 9:
+              break w;
+             default:
+              break a;
+             }
+            }
+            b = 500855;
+            break v;
+           }
+           b = 498608;
+          }
+          q[e + 180 >> 2] = b;
+          q[e + 176 >> 2] = 500819;
+          VW(a, 1, 500780, e + 176 | 0);
+          break a;
+         case 6:
+         case 9:
+         case 10:
+         case 11:
+         case 12:
+         case 13:
+         case 14:
+         case 15:
+         case 16:
+          break a;
+         case 35:
+         case 36:
+         case 37:
+         case 38:
+          break c;
+         case 33:
+          break d;
+         case 18:
+         case 19:
+         case 29:
+         case 30:
+         case 31:
+         case 32:
+         case 34:
+          break f;
+         }
+        }
+        kX(a, q[b + 8 >> 2], d);
+        b = b + 8 | 0;
+       }
+       b = q[b + 4 >> 2];
+       if (b) {
+        continue;
+       }
+       break a;
+      }
+      break;
+     }
+     c = 4;
+     f = ((d | 0) == 1 ? 2 : d) + 1 | 0;
+     x : {
+      if (f >>> 0 <= 10) {
+       d = 500800;
+       y : {
+        switch (f - 1 | 0) {
+        case 1:
+        case 2:
+         d = 500805;
+         break x;
+        case 3:
+         d = 500812;
+         break x;
+        case 5:
+         d = 500824;
+         break x;
+        case 6:
+         d = 500831;
+         break x;
+        case 7:
+         d = 500839;
+         break x;
+        case 8:
+         d = 500847;
+         break x;
+        case 0:
+         break x;
+        case 9:
+         break y;
+        default:
+         break b;
+        }
+       }
+       d = 500855;
+       break x;
+      }
+      d = 498608;
+     }
+     q[e + 196 >> 2] = d;
+     q[e + 192 >> 2] = 500819;
+     VW(a, 1, 500780, e + 192 | 0);
+     break b;
+    }
+    c = 2;
+    if (d + -1 >>> 0 < 2) {
+     break b;
+    }
+    z : {
+     A : {
+      f = d + 1 | 0;
+      if (f >>> 0 > 10) {
+       break A;
+      }
+      d = 500800;
+      B : {
+       switch (f - 1 | 0) {
+       case 3:
+        d = 500812;
+        break z;
+       case 4:
+        d = 500819;
+        break z;
+       case 5:
+        d = 500824;
+        break z;
+       case 6:
+        d = 500831;
+        break z;
+       case 7:
+        d = 500839;
+        break z;
+       case 0:
+        break z;
+       case 1:
+       case 2:
+        break A;
+       case 8:
+        break B;
+       default:
+        break b;
+       }
+      }
+      d = 500847;
+      break z;
+     }
+     d = 498608;
+    }
+    q[e + 116 >> 2] = d;
+    q[e + 112 >> 2] = 500805;
+    VW(a, 1, 500780, e + 112 | 0);
+   }
+   b = q[b + 8 >> 2];
+   if (b) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = e + 208 | 0;
+}
+function wA(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0;
+ e = Ca - 112 | 0;
+ Ca = e;
+ q[a + 44 >> 2] = 0;
+ q[a + 48 >> 2] = 0;
+ q[a + 100 >> 2] = 0;
+ q[a + 104 >> 2] = 0;
+ q[a + 68 >> 2] = 0;
+ q[a + 72 >> 2] = 0;
+ q[a + 60 >> 2] = 0;
+ q[a + 64 >> 2] = 0;
+ q[a + 52 >> 2] = 0;
+ q[a + 56 >> 2] = 0;
+ q[a + 108 >> 2] = 0;
+ q[a + 112 >> 2] = 0;
+ q[a + 116 >> 2] = 0;
+ q[a + 120 >> 2] = 0;
+ if (!r[a + 40 | 0]) {
+  c = kF(b);
+  o[a + 40 | 0] = 1;
+  q[a + 36 >> 2] = c;
+ }
+ k = a + 4 | 0;
+ b = HB(k, iF(b, 1128678962));
+ q[a >> 2] = b;
+ b = Hq(b);
+ o[a + 24 | 0] = 0;
+ q[a + 32 >> 2] = b;
+ d = q[b + 12 >> 2];
+ q[a + 8 >> 2] = d;
+ b = q[b + 16 >> 2];
+ f = b + d | 0;
+ q[a + 12 >> 2] = f;
+ a : {
+  if ((b | 0) > -1) {
+   q[a + 4 >> 2] = 0;
+   q[a + 28 >> 2] = 0;
+   c = a;
+   if (b >>> 0 > 536870910) {
+    b = 1073741823;
+   } else {
+    b = b << 3;
+    b = b >>> 0 > 16384 ? b : 16384;
+    b = b >>> 0 < 1073741823 ? b : 1073741823;
+   }
+   q[c + 16 >> 2] = b;
+   c = q[a >> 2];
+   g = q[c + 12 >> 2];
+   if (!(t[c + 16 >> 2] > 4 ? (g | 0) != 271040 : 0)) {
+    Lq(a);
+    break a;
+   }
+   c = r[g + 2 | 0] + g | 0;
+   b : {
+    j = r[g + 4 | 0] | r[g + 3 | 0] << 8;
+    if (j) {
+     if (f >>> 0 < c >>> 0 | d >>> 0 > c >>> 0 | f - c >>> 0 < j >>> 0) {
+      break b;
+     }
+     q[a + 16 >> 2] = b + -1;
+    }
+    b = a + 44 | 0;
+    q[e + 32 >> 2] = 0;
+    q[e + 36 >> 2] = 0;
+    q[e + 40 >> 2] = 0;
+    q[e + 44 >> 2] = 0;
+    o[e + 24 | 0] = 0;
+    o[e + 28 | 0] = 0;
+    q[e + 12 >> 2] = j;
+    q[e + 8 >> 2] = c;
+    q[e + 16 >> 2] = 0;
+    q[e + 20 >> 2] = 0;
+    c = L$(4744);
+    c : {
+     if (!c) {
+      q[e + 36 >> 2] = -1;
+      break c;
+     }
+     q[e + 36 >> 2] = 593;
+     q[e + 40 >> 2] = 513;
+     q[e + 44 >> 2] = c;
+     Z$(c, 0, 4104);
+    }
+    o[e + 48 | 0] = 0;
+    q[b + 24 >> 2] = 0;
+    q[b + 28 >> 2] = 0;
+    q[b + 16 >> 2] = 0;
+    q[b + 20 >> 2] = 0;
+    q[b + 8 >> 2] = 0;
+    q[b + 12 >> 2] = 0;
+    q[b >> 2] = 0;
+    q[b + 4 >> 2] = 0;
+    if (!IB(e + 8 | 0, b)) {
+     Lq(a);
+     M$(q[e + 44 >> 2]);
+     break a;
+    }
+    M$(q[e + 44 >> 2]);
+    c = r[g + 2 | 0];
+    f = r[g + 4 | 0];
+    j = r[g + 3 | 0];
+    b = q[a + 68 >> 2];
+    b = b ? b + g | 0 : 271040;
+    q[a + 80 >> 2] = b;
+    d = q[a + 60 >> 2];
+    d = d ? d + g | 0 : 271040;
+    q[a + 84 >> 2] = d;
+    l = q[a - -64 >> 2];
+    q[a + 88 >> 2] = l ? l + g | 0 : 271040;
+    l = q[a + 72 >> 2];
+    q[a + 92 >> 2] = l ? l + g | 0 : 271040;
+    q[a + 76 >> 2] = (c + (f | j << 8) | 0) + g;
+    d : {
+     e : {
+      if ((b | 0) != 271040) {
+       j = q[a + 8 >> 2];
+       if (j >>> 0 > b >>> 0) {
+        break e;
+       }
+       d = q[a + 12 >> 2];
+       if (d >>> 0 < b >>> 0 | d - b >>> 0 < 10) {
+        break e;
+       }
+       f = q[a + 16 >> 2];
+       q[a + 16 >> 2] = f + -1;
+       if ((f | 0) < 1) {
+        break e;
+       }
+       c = b + 2 | 0;
+       b = r[b + 1 | 0] | r[b | 0] << 8;
+       if (b) {
+        if (d >>> 0 < c >>> 0 | j >>> 0 > c >>> 0 | d - c >>> 0 < b >>> 0) {
+         break e;
+        }
+        q[a + 16 >> 2] = f + -2;
+        if ((f | 0) < 2) {
+         break e;
+        }
+       }
+       if (!KA(c, k)) {
+        break e;
+       }
+       d = q[a + 84 >> 2];
+      }
+      if ((d | 0) == 271040) {
+       break e;
+      }
+      if (!JB(d, k)) {
+       break e;
+      }
+      b = q[a + 76 >> 2];
+      if ((b | 0) == 271040) {
+       break e;
+      }
+      if (!JB(b, k)) {
+       break e;
+      }
+      b = q[a + 88 >> 2];
+      if ((b | 0) == 271040) {
+       break e;
+      }
+      if (!JB(b, k)) {
+       break e;
+      }
+      b = q[a + 92 >> 2];
+      if ((b | 0) == 271040) {
+       break d;
+      }
+      c = b;
+      b = q[a + 88 >> 2];
+      b = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+      if (KB(c, k, b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24))) {
+       break d;
+      }
+     }
+     Lq(a);
+     break a;
+    }
+    b = q[a + 84 >> 2];
+    b = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+    b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+    q[a + 124 >> 2] = b;
+    if ((b | 0) != q[a + 36 >> 2]) {
+     Lq(a);
+     break a;
+    }
+    b = q[a + 88 >> 2];
+    b = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+    b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+    q[a + 96 >> 2] = b;
+    d = q[a + 112 >> 2];
+    if ((d | 0) >= 0) {
+     b = (b | 0) > 0 ? b : 0;
+     f : {
+      if (d >>> 0 < b >>> 0) {
+       c = d;
+       while (1) {
+        c = ((c >>> 1 | 0) + c | 0) + 8 | 0;
+        if (c >>> 0 <= b >>> 0) {
+         continue;
+        }
+        break;
+       }
+       g : {
+        if (!(c >>> 0 < d >>> 0 | c >>> 0 > 153391688)) {
+         d = O$(q[a + 120 >> 2], w(c, 28));
+         if (d) {
+          break g;
+         }
+        }
+        q[a + 112 >> 2] = -1;
+        break f;
+       }
+       q[a + 112 >> 2] = c;
+       q[a + 120 >> 2] = d;
+      }
+      c = q[a + 116 >> 2];
+      if (b >>> 0 > c >>> 0) {
+       Z$(q[a + 120 >> 2] + w(c, 28) | 0, 0, w(b - c | 0, 28));
+      }
+      q[a + 116 >> 2] = b;
+     }
+     b = q[a + 96 >> 2];
+    }
+    if (!b) {
+     break a;
+    }
+    y = a + 100 | 0;
+    j = e + 32 | 0;
+    u = e + 16 | 0;
+    l = e + 88 | 0;
+    z = q[67762];
+    A = q[67761];
+    B = q[67760];
+    while (1) {
+     d = B;
+     b = A;
+     f = z;
+     h : {
+      h = q[a + 88 >> 2];
+      c = r[h | 0] | r[h + 1 | 0] << 8 | (r[h + 2 | 0] << 16 | r[h + 3 | 0] << 24);
+      c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+      if (c >>> 0 > i >>> 0) {
+       d = r[h + 4 | 0];
+       m = w(d, c + 1 | 0);
+       f = 0;
+       c = 0;
+       if (d) {
+        b = (h + w(d, i) | 0) + 5 | 0;
+        while (1) {
+         c = r[b | 0] | c << 8;
+         b = b + 1 | 0;
+         d = d + -1 | 0;
+         if (d) {
+          continue;
+         }
+         break;
+        }
+       }
+       d = ((h + 4 | 0) + m | 0) + c | 0;
+       b = LB(h, i);
+      }
+      c = b + 1 | 0;
+      i : {
+       if (c >>> 0 <= 1) {
+        if (c - 1) {
+         break i;
+        }
+        break h;
+       }
+       if (t[a + 8 >> 2] > d >>> 0) {
+        break i;
+       }
+       c = q[a + 12 >> 2];
+       if (c >>> 0 < d >>> 0 | c - d >>> 0 < b >>> 0) {
+        break i;
+       }
+       c = q[a + 16 >> 2];
+       q[a + 16 >> 2] = c + -1;
+       if ((c | 0) > 0) {
+        break h;
+       }
+      }
+      Lq(a);
+      break a;
+     }
+     o[e + 84 | 0] = 0;
+     o[e + 80 | 0] = 0;
+     q[e + 76 >> 2] = 0;
+     q[e + 72 >> 2] = f;
+     q[e + 68 >> 2] = b;
+     q[e + 64 >> 2] = d;
+     b = l;
+     q[b + 8 >> 2] = 0;
+     q[b + 12 >> 2] = 0;
+     q[b >> 2] = 0;
+     q[b + 4 >> 2] = 0;
+     b = L$(4744);
+     j : {
+      if (!b) {
+       q[e + 92 >> 2] = -1;
+       break j;
+      }
+      q[e + 92 >> 2] = 593;
+      q[e + 96 >> 2] = 513;
+      q[e + 100 >> 2] = b;
+      Z$(b, 0, 4104);
+     }
+     o[e + 104 | 0] = 0;
+     k : {
+      l : {
+       m : {
+        n : {
+         d = q[a + 100 >> 2];
+         if ((d | 0) >= 0) {
+          b = d;
+          c = q[a + 104 >> 2];
+          f = c + 1 | 0;
+          f = (f | 0) > 0 ? f : 0;
+          if (b >>> 0 >= f >>> 0) {
+           break m;
+          }
+          while (1) {
+           b = ((b >>> 1 | 0) + b | 0) + 8 | 0;
+           if (b >>> 0 <= f >>> 0) {
+            continue;
+           }
+           break;
+          }
+          if (!(b >>> 0 < d >>> 0 | b >>> 0 > 153391688)) {
+           c = O$(q[a + 108 >> 2], w(b, 28));
+           if (c) {
+            break n;
+           }
+          }
+          q[y >> 2] = -1;
+         }
+         q[160662] = q[67766];
+         b = q[67765];
+         q[160660] = q[67764];
+         q[160661] = b;
+         b = q[67763];
+         q[160658] = q[67762];
+         q[160659] = b;
+         b = q[67761];
+         q[160656] = q[67760];
+         q[160657] = b;
+         break l;
+        }
+        q[a + 100 >> 2] = b;
+        q[a + 108 >> 2] = c;
+        c = q[a + 104 >> 2];
+       }
+       if (f >>> 0 > c >>> 0) {
+        Z$(q[a + 108 >> 2] + w(c, 28) | 0, 0, w(f - c | 0, 28));
+       }
+       q[a + 104 >> 2] = f;
+       b = q[a + 108 >> 2];
+       h = q[67766];
+       q[160662] = h;
+       c = q[67765];
+       m = c;
+       n = q[67764];
+       q[160660] = n;
+       q[160661] = c;
+       c = q[67763];
+       v = c;
+       p = q[67762];
+       q[160658] = p;
+       q[160659] = c;
+       c = q[67761];
+       x = c;
+       s = q[67760];
+       q[160656] = s;
+       q[160657] = c;
+       c = b + w(f + -1 | 0, 28) | 0;
+       if ((c | 0) == 642624) {
+        break l;
+       }
+       b = c;
+       q[b >> 2] = 0;
+       q[b + 4 >> 2] = 0;
+       q[b + 24 >> 2] = 0;
+       q[b + 16 >> 2] = 0;
+       q[b + 20 >> 2] = 0;
+       q[b + 8 >> 2] = 0;
+       q[b + 12 >> 2] = 0;
+       if (!MB(e - -64 | 0, b)) {
+        break l;
+       }
+       b = q[c + 16 >> 2];
+       d = b ? b + g | 0 : 271040;
+       c = q[c + 20 >> 2];
+       b = c + 1 | 0;
+       o : {
+        if (b >>> 0 <= 1) {
+         if (b - 1) {
+          break l;
+         }
+         break o;
+        }
+        if (t[a + 8 >> 2] > d >>> 0) {
+         break l;
+        }
+        b = q[a + 12 >> 2];
+        if (b >>> 0 < d >>> 0 | b - d >>> 0 < c >>> 0) {
+         break l;
+        }
+        b = q[a + 16 >> 2];
+        q[a + 16 >> 2] = b + -1;
+        if ((b | 0) <= 0) {
+         break l;
+        }
+       }
+       o[e + 28 | 0] = 0;
+       q[e + 12 >> 2] = c;
+       q[e + 8 >> 2] = d;
+       b = j;
+       q[b + 8 >> 2] = 0;
+       q[b + 12 >> 2] = 0;
+       q[b >> 2] = 0;
+       q[b + 4 >> 2] = 0;
+       o[u + 8 | 0] = 0;
+       q[u >> 2] = 0;
+       q[u + 4 >> 2] = 0;
+       b = L$(4744);
+       p : {
+        if (!b) {
+         q[e + 36 >> 2] = -1;
+         break p;
+        }
+        q[e + 36 >> 2] = 593;
+        q[e + 40 >> 2] = 513;
+        q[e + 44 >> 2] = b;
+        Z$(b, 0, 4104);
+       }
+       o[e + 56 | 0] = 0;
+       q[e + 52 >> 2] = 0;
+       o[e + 48 | 0] = 0;
+       q : {
+        if (t[a + 116 >> 2] <= i >>> 0) {
+         q[160662] = h;
+         q[160660] = n;
+         q[160661] = m;
+         q[160658] = p;
+         q[160659] = v;
+         q[160656] = s;
+         q[160657] = x;
+         b = 642624;
+         break q;
+        }
+        b = q[a + 120 >> 2] + w(i, 28) | 0;
+       }
+       q[b + 24 >> 2] = 0;
+       q[b + 20 >> 2] = 271040;
+       q[b >> 2] = 0;
+       q[b + 4 >> 2] = 0;
+       q[b + 16 >> 2] = 0;
+       q[b + 8 >> 2] = 0;
+       q[b + 12 >> 2] = 0;
+       f = e + 8 | 0;
+       r : {
+        if (t[a + 116 >> 2] <= i >>> 0) {
+         q[160662] = h;
+         q[160660] = n;
+         q[160661] = m;
+         q[160658] = p;
+         q[160659] = v;
+         q[160656] = s;
+         q[160657] = x;
+         b = 642624;
+         break r;
+        }
+        b = q[a + 120 >> 2] + w(i, 28) | 0;
+       }
+       s : {
+        if (NB(f, b)) {
+         t : {
+          if (t[a + 116 >> 2] > i >>> 0) {
+           d = c ? d : 271040;
+           b = q[a + 120 >> 2] + w(i, 28) | 0;
+           c = q[b + 16 >> 2];
+           c = c ? d + c | 0 : 271040;
+           q[b + 20 >> 2] = c;
+           if ((c | 0) != 271040) {
+            break t;
+           }
+           c = 0;
+           break s;
+          }
+          b = q[67765];
+          q[160660] = q[67764];
+          q[160661] = b;
+          q[160662] = q[67766];
+          b = q[67763];
+          q[160658] = q[67762];
+          q[160659] = b;
+          b = q[67761];
+          q[160656] = q[67760];
+          q[160657] = b;
+          c = 0;
+          if (q[160661] == 271040) {
+           break s;
+          }
+          q[160662] = h;
+          q[160660] = n;
+          q[160661] = m;
+          q[160658] = p;
+          q[160659] = v;
+          q[160656] = s;
+          q[160657] = x;
+          b = 642624;
+         }
+         c = 0;
+         if (JB(q[b + 20 >> 2], k)) {
+          break s;
+         }
+        }
+        Lq(a);
+        c = 1;
+       }
+       b = c;
+       M$(q[e + 44 >> 2]);
+       break k;
+      }
+      Lq(a);
+      b = 1;
+     }
+     M$(q[e + 100 >> 2]);
+     if (b) {
+      break a;
+     }
+     i = i + 1 | 0;
+     if (i >>> 0 < t[a + 96 >> 2]) {
+      continue;
+     }
+     break;
+    }
+    break a;
+   }
+   Lq(a);
+   break a;
+  }
+  J(242576, 242601, 195, 242618);
+  F();
+ }
+ Ca = e + 112 | 0;
+}
+function _J(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0;
+ g = Ca + -64 | 0;
+ Ca = g;
+ q[g + 40 >> 2] = 0;
+ j = r[a + 48 | 0];
+ a : {
+  if (!(q[a + 536 >> 2] | !j)) {
+   e = 8;
+   break a;
+  }
+  e = q[a + 540 >> 2];
+  d = q[e >> 2];
+  if (!d) {
+   f = q[a >> 2];
+   q[e + 4 >> 2] = 678;
+   d = Oe(f, 552, g + 40 | 0);
+   q[q[a + 540 >> 2] >> 2] = d;
+   e = 64;
+   if (q[g + 40 >> 2]) {
+    break a;
+   }
+   q[d >> 2] = f;
+   if (!j) {
+    q[d + 548 >> 2] = q[q[a + 532 >> 2] + 3088 >> 2];
+   }
+   q[d + 168 >> 2] = 0;
+   q[d + 172 >> 2] = 0;
+   q[d + 152 >> 2] = 0;
+   q[d + 156 >> 2] = 0;
+   q[d + 160 >> 2] = 0;
+   q[d + 164 >> 2] = 0;
+   q[d + 148 >> 2] = 679;
+   q[d + 144 >> 2] = 680;
+   q[d + 168 >> 2] = d + 4;
+   q[d + 156 >> 2] = 681;
+   q[d + 164 >> 2] = f;
+  }
+  q[d + 172 >> 2] = a;
+  q[d + 176 >> 2] = a;
+  p = q[a + 4 >> 2];
+  i = o[q[p + 128 >> 2] + 56 | 0];
+  f = q[p + 96 >> 2];
+  h = r[f + 32 | 0];
+  q[g + 8 >> 2] = 0;
+  q[g + 12 >> 2] = 0;
+  q[g + 16 >> 2] = 0;
+  q[g + 20 >> 2] = 0;
+  q[g + 36 >> 2] = b;
+  q[g + 28 >> 2] = b;
+  q[g >> 2] = 0;
+  q[g + 4 >> 2] = 0;
+  q[g + 24 >> 2] = 0;
+  q[g + 32 >> 2] = b ? b + c | 0 : 0;
+  b = q[a + 8 >> 2];
+  e = r[b + 161 | 0];
+  c = g;
+  x = r[b + 160 | 0];
+  b : {
+   if (x) {
+    k = (q[b + 164 >> 2] + 32 | 0) / 64 | 0;
+    q[g >> 2] = k;
+    b = (q[b + 168 >> 2] + 32 | 0) / 64 | 0;
+    break b;
+   }
+   k = 1024;
+   q[g >> 2] = 1024;
+   b = 1024;
+  }
+  q[c + 12 >> 2] = b;
+  c = 0;
+  c = j ? c : r[p + 732 | 0];
+  o[d + 8 | 0] = j;
+  o[d + 9 | 0] = c;
+  c = (x | 0) != 0;
+  q[d + 12 >> 2] = c;
+  if (!(!e | ((i | 0) > -1 | h ? i : 0))) {
+   q[d + 12 >> 2] = c | 2;
+  }
+  q[d + 188 >> 2] = q[f + 36 >> 2];
+  q[d + 192 >> 2] = q[f + 40 >> 2];
+  q[d + 196 >> 2] = q[f + 44 >> 2];
+  q[d + 200 >> 2] = q[f + 48 >> 2];
+  q[d + 204 >> 2] = q[f + 52 >> 2];
+  q[d + 208 >> 2] = q[f + 56 >> 2];
+  q[d + 212 >> 2] = q[f + 60 >> 2];
+  q[d + 216 >> 2] = q[f - -64 >> 2];
+  c = s[q[a + 4 >> 2] + 68 >> 1];
+  q[d + 132 >> 2] = c;
+  if (e) {
+   e = 36;
+   if ((b | 0) < 1 | (k | 0) < 1) {
+    break a;
+   }
+   e = 164;
+   if (c << 16 >> 16 < 0) {
+    break a;
+   }
+   a = Fe(131072e3, c << 16);
+   if ((k | 0) > (a | 0) | (b | 0) > (a | 0)) {
+    break a;
+   }
+   a = q[d + 176 >> 2];
+  }
+  q[g + 48 >> 2] = 0;
+  q[g + 52 >> 2] = 0;
+  e = 0;
+  q[g + 44 >> 2] = 0;
+  b = q[d + 136 >> 2];
+  p = q[d + 140 >> 2];
+  q[g + 60 >> 2] = 0;
+  q[g + 56 >> 2] = 0;
+  q[d + 4 >> 2] = 0;
+  c = q[a + 536 >> 2];
+  if ((c | 0) != q[d + 180 >> 2]) {
+   q[d + 180 >> 2] = c;
+   e = 1;
+  }
+  c : {
+   d : {
+    if (!(r[d + 8 | 0] | !q[q[a + 532 >> 2] + 3112 >> 2])) {
+     f = q[d + 548 >> 2];
+     j = q[a + 4 >> 2];
+     j = n[q[q[j + 548 >> 2] + 40 >> 2]](j, g + 60 | 0, 0, g + 56 | 0, 0) | 0;
+     q[d + 4 >> 2] = j;
+     if (j) {
+      break d;
+     }
+     if (n[q[f + 12 >> 2]](c + 556 | 0, q[c + 548 >> 2], q[g + 60 >> 2], q[g + 56 >> 2])) {
+      n[q[f + 4 >> 2]](q[a + 532 >> 2], c, q[g + 60 >> 2], q[g + 56 >> 2]) | 0;
+      e = 1;
+     }
+     f = q[c + 560 >> 2];
+     o[d + 93 | 0] = 0;
+     q[d + 96 >> 2] = f;
+     q[d + 120 >> 2] = q[c + 548 >> 2];
+     q[d + 124 >> 2] = q[g + 60 >> 2];
+     q[d + 128 >> 2] = q[g + 56 >> 2];
+    }
+    f = s[q[q[a + 4 >> 2] + 88 >> 2] + 14 >> 1] << 16;
+    if ((f | 0) != q[d + 88 >> 2]) {
+     q[d + 88 >> 2] = f;
+     e = 1;
+    }
+    k = q[d + 12 >> 2];
+    o[d + 184 | 0] = k & 1;
+    c = d + 16 | 0;
+    e : {
+     f : {
+      g : {
+       if (!ZY(g, c, 16)) {
+        j = d + 186 | 0;
+        c = k & 2;
+        if ((c | 0) != r[d + 186 | 0]) {
+         break g;
+        }
+        if (e) {
+         break f;
+        }
+        break e;
+       }
+       e = q[g + 4 >> 2];
+       q[c >> 2] = q[g >> 2];
+       q[c + 4 >> 2] = e;
+       e = g + 8 | 0;
+       j = q[e + 4 >> 2];
+       q[c + 8 >> 2] = q[e >> 2];
+       q[c + 12 >> 2] = j;
+       q[d + 32 >> 2] = 0;
+       q[d + 36 >> 2] = 0;
+       c = q[g + 4 >> 2];
+       q[d + 40 >> 2] = q[g >> 2];
+       q[d + 44 >> 2] = c;
+       c = q[e + 4 >> 2];
+       q[d + 48 >> 2] = q[e >> 2];
+       q[d + 52 >> 2] = c;
+       c = q[g + 20 >> 2];
+       q[d + 56 >> 2] = q[g + 16 >> 2];
+       q[d + 60 >> 2] = c;
+       q[d + 72 >> 2] = 0;
+       q[d + 76 >> 2] = 65536;
+       q[d + 64 >> 2] = 65536;
+       q[d + 68 >> 2] = 0;
+       j = d + 186 | 0;
+       c = k & 2;
+       if ((c | 0) == r[d + 186 | 0]) {
+        break f;
+       }
+      }
+      o[j | 0] = c >>> 1;
+     }
+     c = q[q[a + 536 >> 2] + 400 >> 2] << 16;
+     q[d + 220 >> 2] = c;
+     i = (f | 0) > 262144;
+     e = q[d + 132 >> 2];
+     h = e ? e : 1e3;
+     e = 65536e3 / (h | 0) | 0;
+     if ((c | 0) <= 0) {
+      c = Fe(4915200, e);
+      q[d + 220 >> 2] = c;
+     }
+     k = d + 188 | 0;
+     f = i ? f : 262144;
+     h : {
+      if ((b | 0) >= 1) {
+       c = h << 16;
+       if ((b | 0) <= (Fe(c, f) | 0)) {
+        b = Fe(c, f);
+       }
+       q[d + 228 >> 2] = 0;
+       if (!b | (e | 0) < 655) {
+        break h;
+       }
+       q[d + 228 >> 2] = (b | 0) / 2;
+       break h;
+      }
+      dK(e, f, c, d + 228 | 0, 0, r[d + 186 | 0], k);
+     }
+     b = d;
+     c = q[q[a + 536 >> 2] + 396 >> 2];
+     i : {
+      if (c << 16 >= 1) {
+       a = 4915200;
+       if (q[d + 220 >> 2] > c << 17) {
+        break i;
+       }
+      }
+      a = 7208960;
+     }
+     a = Fe(a, e);
+     q[b + 224 >> 2] = a;
+     x = d + 232 | 0;
+     dK(e, f, a, x, p, r[d + 186 | 0], k);
+     a = 1;
+     a = q[d + 228 >> 2] ? a : q[x >> 2] != 0;
+     o[d + 236 | 0] = 0;
+     o[d + 185 | 0] = a;
+     a = q[d + 176 >> 2];
+     A = Z$(d + 244 | 0, 0, 304);
+     q[d + 240 >> 2] = q[d + 52 >> 2];
+     C = d, D = Fe(q[q[a + 536 >> 2] + 384 >> 2], 65536e3), q[C + 252 >> 2] = D;
+     f = q[a + 536 >> 2];
+     q[d + 256 >> 2] = q[f + 388 >> 2] << 16;
+     q[d + 260 >> 2] = q[f + 392 >> 2] << 16;
+     B = r[f + 191 | 0];
+     k = r[f + 190 | 0];
+     p = r[f + 189 | 0];
+     a = r[f + 188 | 0];
+     j : {
+      k : {
+       if (q[f + 524 >> 2] == 1) {
+        if (a >>> 0 > 4) {
+         break k;
+        }
+        l : {
+         switch (a - 1 | 0) {
+         case 3:
+          if (q[f + 192 >> 2] << 16 > -7864321 | q[f + 196 >> 2] << 16 > -7864321 | (q[f + 200 >> 2] << 16 < 57671681 | q[f + 204 >> 2] << 16 < 57671681)) {
+           break k;
+          }
+          break;
+         case 0:
+         case 1:
+         case 2:
+          break k;
+         default:
+          break l;
+         }
+        }
+        q[d + 296 >> 2] = -7864321;
+        a = Ee(-7864321, q[d + 240 >> 2]);
+        q[d + 288 >> 2] = 49;
+        b = q[d + 240 >> 2];
+        q[d + 304 >> 2] = b;
+        q[d + 300 >> 2] = (a + 32768 & -65536) + -32768;
+        a = (q[d + 232 >> 2] << 1) + 57671681 | 0;
+        q[d + 276 >> 2] = a;
+        a = Ee(a, b);
+        q[d + 268 >> 2] = 50;
+        o[d + 249 | 0] = 1;
+        q[d + 284 >> 2] = q[d + 240 >> 2];
+        q[d + 280 >> 2] = a + 32768 & -65536 | 32768;
+        break e;
+       }
+       if (!a) {
+        break j;
+       }
+      }
+      b = q[d + 244 >> 2];
+      c = w(b, 20) + d | 0;
+      l = q[f + 192 >> 2] << 16;
+      q[c + 308 >> 2] = l;
+      e = q[f + 196 >> 2] << 16;
+      q[c + 312 >> 2] = e;
+      l = e - l | 0;
+      m : {
+       if ((l | 0) < 0) {
+        l = 0;
+        break m;
+       }
+       q[c + 316 >> 2] = e;
+       o[c + 324 | 0] = 1;
+       b = b + 1 | 0;
+       q[d + 244 >> 2] = b;
+      }
+      e = 2;
+      if (a >>> 0 <= 2) {
+       break j;
+      }
+      i = f + 192 | 0;
+      while (1) {
+       c = w(b, 20) + d | 0;
+       v = c + 308 | 0;
+       m = e << 2;
+       h = q[m + i >> 2] << 16;
+       q[v >> 2] = h;
+       u = c + 312 | 0;
+       m = q[i + (m | 4) >> 2] << 16;
+       q[u >> 2] = m;
+       z = m - h | 0;
+       if ((z | 0) >= 0) {
+        y = m;
+        m = q[d + 232 >> 2] << 1;
+        q[u >> 2] = y + m;
+        h = h + m | 0;
+        q[v >> 2] = h;
+        q[c + 316 >> 2] = h;
+        o[c + 324 | 0] = 0;
+        b = b + 1 | 0;
+        q[d + 244 >> 2] = b;
+        l = (z | 0) > (l | 0) ? z : l;
+       }
+       e = e + 2 | 0;
+       if (e >>> 0 < a >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (p) {
+      b = q[A >> 2];
+      c = f + 248 | 0;
+      e = 0;
+      while (1) {
+       a = w(b, 20) + d | 0;
+       i = e << 2;
+       h = q[i + c >> 2] << 16;
+       q[a + 308 >> 2] = h;
+       i = q[c + (i | 4) >> 2] << 16;
+       q[a + 312 >> 2] = i;
+       h = i - h | 0;
+       if ((h | 0) >= 0) {
+        q[a + 316 >> 2] = i;
+        o[a + 324 | 0] = 1;
+        b = b + 1 | 0;
+        q[d + 244 >> 2] = b;
+        l = (h | 0) > (l | 0) ? h : l;
+       }
+       e = e + 2 | 0;
+       if (e >>> 0 < p >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     e = Fe(65536, q[d + 240 >> 2]);
+     m = q[d + 244 >> 2];
+     if (m) {
+      p = 0;
+      z = k >>> 0 < 3;
+      while (1) {
+       a = w(p, 20) + d | 0;
+       i = a + 316 | 0;
+       h = q[i >> 2];
+       n : {
+        if (r[a + 324 | 0]) {
+         a = 0;
+         b = 2147483647;
+         o : {
+          if (!B) {
+           break o;
+          }
+          while (1) {
+           v = q[(f + (a << 2 | 4) | 0) + 344 >> 2] << 16;
+           u = h - v | 0;
+           c = u >> 31;
+           p : {
+            c = c ^ c + u;
+            if ((c | 0) >= (b | 0) | (c | 0) >= (e | 0)) {
+             break p;
+            }
+            q[i >> 2] = v;
+            b = c;
+            if (c) {
+             break p;
+            }
+            b = 0;
+            break o;
+           }
+           a = a + 2 | 0;
+           if (a >>> 0 < B >>> 0) {
+            continue;
+           }
+           break;
+          }
+         }
+         if (k >>> 0 < 2) {
+          break n;
+         }
+         c = q[f + 292 >> 2] << 16;
+         h = h - c | 0;
+         a = h >> 31;
+         a = a ^ a + h;
+         if ((a | 0) >= (b | 0) | (a | 0) >= (e | 0)) {
+          break n;
+         }
+         q[i >> 2] = c;
+         break n;
+        }
+        if (z) {
+         break n;
+        }
+        v = q[x >> 2] << 1;
+        a = 2;
+        b = 2147483647;
+        while (1) {
+         u = v + (q[(f + (a << 2) | 0) + 288 >> 2] << 16) | 0;
+         y = h - u | 0;
+         c = y >> 31;
+         c = c ^ c + y;
+         if (!((c | 0) >= (b | 0) | (c | 0) >= (e | 0))) {
+          q[i >> 2] = u;
+          b = c;
+          if (!c) {
+           break n;
+          }
+         }
+         a = a + 2 | 0;
+         if (a >>> 0 < k >>> 0) {
+          continue;
+         }
+         break;
+        }
+       }
+       p = p + 1 | 0;
+       if ((m | 0) != (p | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     q : {
+      if ((l | 0) < 1) {
+       break q;
+      }
+      if (q[d + 252 >> 2] <= (Fe(65536, l) | 0)) {
+       break q;
+      }
+      C = d, D = Fe(65536, l), q[C + 252 >> 2] = D;
+     }
+     a = q[d + 240 >> 2];
+     b = q[d + 252 >> 2];
+     if ((a | 0) < (b | 0)) {
+      o[d + 248 | 0] = 1;
+      a = ue(39322, a, b);
+      q[d + 264 >> 2] = (a | 0) < 6555 ? 32767 : 39322 - a | 0;
+     }
+     if (r[j | 0]) {
+      q[d + 264 >> 2] = 0;
+     }
+     if (!q[A >> 2]) {
+      break e;
+     }
+     c = d + 240 | 0;
+     a = 0;
+     while (1) {
+      b = c + w(a, 20) | 0;
+      e = r[b + 84 | 0];
+      m = b;
+      y = Ee(q[b + 76 >> 2], q[d + 240 >> 2]);
+      b = q[d + 264 >> 2];
+      q[m + 80 >> 2] = (y + (e ? 0 - b | 0 : b) | 0) + 32768 & -65536;
+      a = a + 1 | 0;
+      if (a >>> 0 < t[d + 244 >> 2]) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (q[d + 4 >> 2]) {
+     break d;
+    }
+    o[d + 236 | 0] = 0;
+    b = d + 144 | 0;
+    a = r[d + 185 | 0];
+    while (1) {
+     q[d + 160 >> 2] = 0;
+     Pe(q[q[d + 172 >> 2] + 12 >> 2]);
+     eK(d, g + 24 | 0, b, g + 48 | 0, 0, 0, 0, g + 44 | 0);
+     if (q[d + 4 >> 2]) {
+      break d;
+     }
+     if (!(!(a & 255) | q[d + 160 >> 2] > -1)) {
+      o[d + 236 | 0] = 1;
+      a = 0;
+      continue;
+     }
+     break;
+    }
+    a = q[d + 172 >> 2];
+    WJ(a);
+    Xe(q[a + 12 >> 2]);
+    if (!q[d + 4 >> 2]) {
+     break c;
+    }
+   }
+   e = 3;
+   break a;
+  }
+  a = q[g + 44 >> 2];
+  e = 0;
+  q[d + 4 >> 2] = 0;
+  b = q[d + 172 >> 2];
+  if (r[b + 48 | 0]) {
+   break a;
+  }
+  q[q[b + 544 >> 2] >> 2] = a + 32768 >> 16;
+ }
+ Ca = g - -64 | 0;
+ return e | 0;
+}
+function Az(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            l : {
+             m : {
+              n : {
+               o : {
+                p : {
+                 q : {
+                  r : {
+                   s : {
+                    t : {
+                     u : {
+                      v : {
+                       w : {
+                        x : {
+                         d = a + -1 | 0;
+                         if (d >>> 0 > 30) {
+                          d = a + -255 | 0;
+                          if (d >>> 0 > 38) {
+                           break x;
+                          }
+                          y : {
+                           switch (d - 1 | 0) {
+                           default:
+                            Bz(b + 20 | 0, b);
+                            return;
+                           case 34:
+                            Cz(b, c);
+                            break a;
+                           case 35:
+                            Dz(b, c);
+                            break a;
+                           case 36:
+                            Ez(b, c);
+                            break a;
+                           case 0:
+                           case 1:
+                           case 2:
+                           case 3:
+                           case 4:
+                           case 5:
+                           case 6:
+                           case 7:
+                           case 8:
+                           case 9:
+                           case 10:
+                           case 11:
+                           case 12:
+                           case 13:
+                           case 14:
+                           case 15:
+                           case 16:
+                           case 17:
+                           case 18:
+                           case 19:
+                           case 20:
+                           case 21:
+                           case 22:
+                           case 23:
+                           case 24:
+                           case 25:
+                           case 26:
+                           case 27:
+                           case 28:
+                           case 29:
+                           case 30:
+                           case 31:
+                           case 32:
+                           case 33:
+                            break x;
+                           case 37:
+                            break y;
+                           }
+                          }
+                          Fz(b, c);
+                          break a;
+                         }
+                         switch (d - 1 | 0) {
+                         case 9:
+                          break c;
+                         case 20:
+                          break l;
+                         case 2:
+                          break m;
+                         case 3:
+                          break n;
+                         case 4:
+                          break o;
+                         case 5:
+                          break p;
+                         case 6:
+                          break q;
+                         case 22:
+                          break r;
+                         case 23:
+                          break s;
+                         case 24:
+                          break t;
+                         case 25:
+                          break u;
+                         case 12:
+                          break d;
+                         case 28:
+                          break v;
+                         case 29:
+                          break w;
+                         case 0:
+                         case 7:
+                         case 10:
+                         case 11:
+                         case 13:
+                         case 14:
+                         case 15:
+                         case 26:
+                          break x;
+                         case 8:
+                          break e;
+                         case 27:
+                          break f;
+                         case 1:
+                         case 21:
+                          break h;
+                         case 17:
+                         case 18:
+                          break j;
+                         case 19:
+                          break k;
+                         default:
+                          break g;
+                         }
+                        }
+                        Gz(a, b);
+                        break i;
+                       }
+                       Hz(b, c);
+                       break a;
+                      }
+                      Iz(b, c);
+                      break a;
+                     }
+                     Jz(b, c);
+                     break a;
+                    }
+                    Kz(b, c);
+                    break a;
+                   }
+                   Lz(b, c);
+                   break a;
+                  }
+                  Mz(b, c);
+                  break a;
+                 }
+                 Nz(b, c);
+                 break a;
+                }
+                Oz(b, c);
+                break a;
+               }
+               Pz(b, c);
+               break a;
+              }
+              Qz(b, c);
+              break a;
+             }
+             h = v[b + 136 >> 3];
+             g = q[b + 128 >> 2];
+             i = q[b + 132 >> 2];
+             a = q[b + 24 >> 2];
+             z : {
+              A : {
+               if (a) {
+                a = a + -1 | 0;
+                q[b + 24 >> 2] = a;
+                if (t[b + 32 >> 2] <= a >>> 0) {
+                 break A;
+                }
+                d = q[b + 36 >> 2] + (a << 5) | 0;
+                break z;
+               }
+               o[b + 20 | 0] = 1;
+              }
+              a = q[67767];
+              q[160662] = q[67766];
+              q[160663] = a;
+              a = q[67765];
+              q[160660] = q[67764];
+              q[160661] = a;
+              a = q[67763];
+              q[160658] = q[67762];
+              q[160659] = a;
+              a = q[67761];
+              q[160656] = q[67760];
+              q[160657] = a;
+              d = 642624;
+             }
+             B : {
+              if (!r[b + 176 | 0]) {
+               break B;
+              }
+              e = q[d + 20 >> 2];
+              if (!e | (e | 0) != q[b + 168 >> 2]) {
+               break B;
+              }
+              j = q[d + 24 >> 2];
+              k = q[b + 172 >> 2];
+              f = v[d >> 3];
+              a = 0;
+              while (1) {
+               f = f + v[j + (a << 3) >> 3] * +u[k + (a << 2) >> 2];
+               a = a + 1 | 0;
+               if ((e | 0) != (a | 0)) {
+                continue;
+               }
+               break;
+              }
+              q[d + 8 >> 2] = 0;
+              q[d + 12 >> 2] = 0;
+              v[d >> 3] = f;
+              if (q[d + 16 >> 2] < 0) {
+               break B;
+              }
+              q[d + 20 >> 2] = 0;
+             }
+             f = v[d >> 3];
+             o[c | 0] = 0;
+             v[b + 136 >> 3] = h + f;
+             q[b + 128 >> 2] = g;
+             q[b + 132 >> 2] = i;
+             break b;
+            }
+            g = q[b + 136 >> 2];
+            i = q[b + 140 >> 2];
+            h = v[b + 128 >> 3];
+            a = q[b + 24 >> 2];
+            C : {
+             D : {
+              if (a) {
+               a = a + -1 | 0;
+               q[b + 24 >> 2] = a;
+               if (t[b + 32 >> 2] <= a >>> 0) {
+                break D;
+               }
+               d = q[b + 36 >> 2] + (a << 5) | 0;
+               break C;
+              }
+              o[b + 20 | 0] = 1;
+             }
+             a = q[67767];
+             q[160662] = q[67766];
+             q[160663] = a;
+             a = q[67765];
+             q[160660] = q[67764];
+             q[160661] = a;
+             a = q[67763];
+             q[160658] = q[67762];
+             q[160659] = a;
+             a = q[67761];
+             q[160656] = q[67760];
+             q[160657] = a;
+             d = 642624;
+            }
+            E : {
+             if (!r[b + 176 | 0]) {
+              break E;
+             }
+             e = q[d + 20 >> 2];
+             if (!e | (e | 0) != q[b + 168 >> 2]) {
+              break E;
+             }
+             j = q[d + 24 >> 2];
+             k = q[b + 172 >> 2];
+             f = v[d >> 3];
+             a = 0;
+             while (1) {
+              f = f + v[j + (a << 3) >> 3] * +u[k + (a << 2) >> 2];
+              a = a + 1 | 0;
+              if ((e | 0) != (a | 0)) {
+               continue;
+              }
+              break;
+             }
+             q[d + 8 >> 2] = 0;
+             q[d + 12 >> 2] = 0;
+             v[d >> 3] = f;
+             if (q[d + 16 >> 2] < 0) {
+              break E;
+             }
+             q[d + 20 >> 2] = 0;
+            }
+            f = v[d >> 3];
+            o[c | 0] = 0;
+            q[b + 136 >> 2] = g;
+            q[b + 140 >> 2] = i;
+            v[b + 128 >> 3] = h + f;
+            break b;
+           }
+           Rz(b, c);
+           break b;
+          }
+          F : {
+           if (r[b + 74 | 0]) {
+            a = q[b + 84 >> 2];
+            break F;
+           }
+           o[b + 74 | 0] = 1;
+           a = q[b + 80 >> 2] + (q[b + 24 >> 2] >>> 1 | 0) | 0;
+           q[b + 80 >> 2] = a;
+           a = (a + q[b + 76 >> 2] | 0) + 7 >>> 3 | 0;
+           q[b + 84 >> 2] = a;
+          }
+          if (r[b + 16 | 0]) {
+           break i;
+          }
+          c = q[b + 12 >> 2];
+          d = c + a | 0;
+          a = q[b + 4 >> 2];
+          if (d >>> 0 > a >>> 0) {
+           break i;
+          }
+          q[b + 24 >> 2] = 0;
+          if (c >>> 0 <= a >>> 0) {
+           q[b + 12 >> 2] = d;
+           return;
+          }
+          o[b + 16 | 0] = 1;
+          q[b + 12 >> 2] = a;
+          return;
+         }
+         return;
+        }
+        a = b + 24 | 0;
+        c = q[a >> 2];
+        q[a >> 2] = 0;
+        q[b + 80 >> 2] = q[b + 80 >> 2] + (c >>> 1 | 0);
+        return;
+       }
+       a = b + 24 | 0;
+       c = q[a >> 2];
+       q[a >> 2] = 0;
+       q[b + 76 >> 2] = q[b + 76 >> 2] + (c >>> 1 | 0);
+       return;
+      }
+      Sz(b, b + 108 | 0, 1);
+      return;
+     }
+     Sz(b, b + 116 | 0, 2);
+     return;
+    }
+    o[b + 72 | 0] = 1;
+    break a;
+   }
+   if (r[b + 16 | 0]) {
+    o[b + 40 | 0] = 1;
+   }
+   a = q[b + 92 >> 2];
+   G : {
+    H : {
+     if (a) {
+      a = a + -1 | 0;
+      q[b + 92 >> 2] = a;
+      if (t[b + 100 >> 2] <= a >>> 0) {
+       break H;
+      }
+      a = q[b + 104 >> 2] + w(a, 28) | 0;
+      break G;
+     }
+     o[b + 88 | 0] = 1;
+    }
+    q[160662] = q[67766];
+    a = q[67765];
+    q[160660] = q[67764];
+    q[160661] = a;
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+   }
+   d = q[a + 4 >> 2];
+   q[b + 44 >> 2] = q[a >> 2];
+   q[b + 48 >> 2] = d;
+   q[b + 68 >> 2] = q[a + 24 >> 2];
+   d = a + 16 | 0;
+   c = d;
+   e = q[c + 4 >> 2];
+   q[b + 60 >> 2] = q[c >> 2];
+   q[b + 64 >> 2] = e;
+   c = a + 8 | 0;
+   e = q[c + 4 >> 2];
+   q[b + 52 >> 2] = q[c >> 2];
+   q[b + 56 >> 2] = e;
+   e = q[c >> 2];
+   c = q[c + 4 >> 2];
+   g = q[a >> 2];
+   a = q[a + 4 >> 2];
+   o[b + 16 | 0] = r[d | 0];
+   q[b + 8 >> 2] = e;
+   q[b + 12 >> 2] = c;
+   q[b >> 2] = g;
+   q[b + 4 >> 2] = a;
+   return;
+  }
+  if (!r[b + 73 | 0]) {
+   if (!r[b + 74 | 0]) {
+    o[b + 74 | 0] = 1;
+    a = q[b + 80 >> 2] + (q[b + 24 >> 2] >>> 1 | 0) | 0;
+    q[b + 80 >> 2] = a;
+    q[b + 84 >> 2] = (a + q[b + 76 >> 2] | 0) + 7 >>> 3;
+   }
+   o[b + 73 | 0] = 1;
+  }
+ }
+ q[b + 24 >> 2] = 0;
+}
+function Ql(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0;
+ a = Ca - 336 | 0;
+ Ca = a;
+ q[b >> 2] = 1;
+ y = b + 504 | 0;
+ q[y >> 2] = 0;
+ z = kg(q[b + 96 >> 2], 17680, 1);
+ q[b + 488 >> 2] = z;
+ m = jg(q[q[b + 96 >> 2] + 4 >> 2], 17697);
+ q[b + 492 >> 2] = m;
+ a : {
+  if (!m) {
+   f = 11;
+   break a;
+  }
+  i = q[b + 100 >> 2];
+  Z$(a + 16 | 0, 0, 304);
+  A = b, B = Oe(i, 12, a + 12 | 0), q[A + 496 >> 2] = B;
+  b : {
+   if (q[a + 12 >> 2]) {
+    break b;
+   }
+   q[b + 500 >> 2] = 12;
+   f = q[b + 104 >> 2];
+   n[q[q[m + 4 >> 2] >> 2]](a + 16 | 0, 0, 0, i);
+   o[a + 100 | 0] = 0;
+   q[a + 92 >> 2] = 0;
+   q[a + 96 >> 2] = 0;
+   q[a + 88 >> 2] = f;
+   g = yg(f, 0);
+   q[a + 320 >> 2] = g;
+   c : {
+    d : {
+     if (g) {
+      break d;
+     }
+     g = Kg(f, 17);
+     q[a + 320 >> 2] = g;
+     if (g) {
+      break d;
+     }
+     if (ZY(q[f + 32 >> 2], 17728, 17)) {
+      g = 2;
+      q[a + 320 >> 2] = 2;
+      Ng(f);
+      break d;
+     }
+     Ng(f);
+     g = yg(f, 0);
+     q[a + 320 >> 2] = g;
+     if (g) {
+      break d;
+     }
+     h = q[f + 4 >> 2];
+     e : {
+      if (!q[f + 20 >> 2]) {
+       g = q[f + 8 >> 2];
+       j = q[f >> 2];
+       o[a + 100 | 0] = 1;
+       q[a + 96 >> 2] = h;
+       q[a + 92 >> 2] = g + j;
+       g = Ag(f, h);
+       q[a + 320 >> 2] = g;
+       if (g) {
+        break d;
+       }
+       h = q[a + 96 >> 2];
+       break e;
+      }
+      j = Oe(i, h, a + 320 | 0);
+      q[a + 92 >> 2] = j;
+      g = q[a + 320 >> 2];
+      if (g) {
+       break d;
+      }
+      g = zg(f, j, h);
+      q[a + 320 >> 2] = g;
+      if (g) {
+       break d;
+      }
+      q[a + 96 >> 2] = h;
+     }
+     g = q[a + 92 >> 2];
+     q[a + 20 >> 2] = g;
+     q[a + 16 >> 2] = g;
+     q[a + 24 >> 2] = g + h;
+     q[a + 12 >> 2] = 0;
+     break c;
+    }
+    if (r[a + 100 | 0]) {
+     q[a + 12 >> 2] = g;
+     break b;
+    }
+    Qe(i, q[a + 92 >> 2]);
+    g = 0;
+    q[a + 92 >> 2] = 0;
+    f = q[a + 320 >> 2];
+    q[a + 12 >> 2] = f;
+    if (f) {
+     break b;
+    }
+    h = q[a + 96 >> 2];
+   }
+   q[a + 28 >> 2] = 0;
+   q[a + 16 >> 2] = g;
+   h = g + h | 0;
+   q[a + 24 >> 2] = h;
+   n[q[a + 44 >> 2]](a + 16 | 0);
+   f : {
+    f = q[a + 16 >> 2];
+    if (f >>> 0 < h >>> 0) {
+     t = b + 132 | 0;
+     u = b + 164 | 0;
+     v = b + 464 | 0;
+     while (1) {
+      g : {
+       h : {
+        g = r[f | 0];
+        if (!((g | 0) != 70 | f + 25 >>> 0 >= h >>> 0)) {
+         if (jZ(f, 17746, 13)) {
+          break h;
+         }
+         n[q[a + 48 >> 2]](a + 16 | 0);
+         n[q[a + 44 >> 2]](a + 16 | 0);
+         g = q[a + 16 >> 2];
+         f = g;
+         i : {
+          if (f >>> 0 >= h >>> 0) {
+           break i;
+          }
+          while (1) {
+           j : {
+            if (!(r[f | 0] != 107 | f + 5 >>> 0 >= h >>> 0)) {
+             if (!jZ(f, 17760, 5)) {
+              break j;
+             }
+            }
+            n[q[a + 48 >> 2]](a + 16 | 0);
+            f = q[a + 28 >> 2];
+            if (f) {
+             break f;
+            }
+            n[q[a + 44 >> 2]](a + 16 | 0);
+            f = q[a + 16 >> 2];
+            if (f >>> 0 < h >>> 0) {
+             continue;
+            }
+            break i;
+           }
+           break;
+          }
+          n[q[a + 48 >> 2]](a + 16 | 0);
+          n[q[a + 72 >> 2]](a + 16 | 0, a + 320 | 0);
+          g = q[a + 328 >> 2] == 3 ? q[a + 16 >> 2] : g;
+         }
+         q[a + 16 >> 2] = g;
+         break g;
+        }
+        if ((g | 0) != 47 | f + 2 >>> 0 >= h >>> 0) {
+         break h;
+        }
+        g = f + 1 | 0;
+        q[a + 16 >> 2] = g;
+        n[q[a + 48 >> 2]](a + 16 | 0);
+        f = q[a + 28 >> 2];
+        if (f) {
+         break f;
+        }
+        i = q[a + 16 >> 2];
+        if (i >>> 0 >= h >>> 0) {
+         break g;
+        }
+        f = 0;
+        l = i - g | 0;
+        if (l + -1 >>> 0 > 20) {
+         break g;
+        }
+        while (1) {
+         k : {
+          i = w(f, 36);
+          k = i + 17776 | 0;
+          j = q[k >> 2];
+          if (!j | r[g | 0] != r[j | 0]) {
+           break k;
+          }
+          if ((g0(j) | 0) != (l | 0)) {
+           break k;
+          }
+          if (ZY(g, j, l)) {
+           break k;
+          }
+          g = a;
+          l : {
+           if (f + -15 >>> 0 <= 3) {
+            n[q[i + 17788 >> 2]](b, a + 16 | 0);
+            f = q[a + 28 >> 2];
+            break l;
+           }
+           f = q[i + 17784 >> 2];
+           m : {
+            n : {
+             i = q[i + 17780 >> 2] + -2 | 0;
+             if (i >>> 0 > 3) {
+              break n;
+             }
+             o : {
+              switch (i - 1 | 0) {
+              default:
+               q[a + 320 >> 2] = u;
+               break m;
+              case 0:
+              case 1:
+               break n;
+              case 2:
+               break o;
+              }
+             }
+             q[a + 320 >> 2] = v;
+             break m;
+            }
+            q[a + 320 >> 2] = t;
+           }
+           if (f + -9 >>> 0 <= 1) {
+            f = n[q[a + 84 >> 2]](a + 16 | 0, k, a + 320 | 0, 0, 0) | 0;
+            break l;
+           }
+           f = n[q[a + 80 >> 2]](a + 16 | 0, k, a + 320 | 0, 0, 0) | 0;
+          }
+          q[g + 28 >> 2] = f;
+          if (!f) {
+           break g;
+          }
+          q[a + 12 >> 2] = f;
+          break b;
+         }
+         f = f + 1 | 0;
+         if ((f | 0) != 20) {
+          continue;
+         }
+         break;
+        }
+        break g;
+       }
+       n[q[a + 48 >> 2]](a + 16 | 0);
+       f = q[a + 28 >> 2];
+       if (f) {
+        break f;
+       }
+      }
+      n[q[a + 44 >> 2]](a + 16 | 0);
+      f = q[a + 16 >> 2];
+      if (f >>> 0 < h >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    f = q[a + 28 >> 2];
+    q[a + 12 >> 2] = f;
+    if (f) {
+     break b;
+    }
+    if (r[b + 437 | 0] != 42) {
+     q[a + 12 >> 2] = 2;
+     break b;
+    }
+    i = q[a + 160 >> 2];
+    q[b + 420 >> 2] = i;
+    if (!q[a + 228 >> 2]) {
+     q[a + 12 >> 2] = 3;
+    }
+    h = 0;
+    q[a + 228 >> 2] = 0;
+    q[b + 396 >> 2] = q[a + 216 >> 2];
+    q[b + 428 >> 2] = q[a + 240 >> 2];
+    q[b + 432 >> 2] = q[a + 244 >> 2];
+    q[b + 400 >> 2] = q[a + 164 >> 2];
+    f = a + 188 | 0;
+    q[b + 424 >> 2] = q[f >> 2];
+    q[f >> 2] = 0;
+    q[a + 164 >> 2] = 0;
+    if (q[b + 368 >> 2] != 1) {
+     break b;
+    }
+    t = q[a + 124 >> 2];
+    if ((t | 0) >= 1) {
+     g = 0;
+     while (1) {
+      j = g << 2;
+      l = q[j + q[a + 132 >> 2] >> 2];
+      u = g << 1;
+      p[u + q[b + 384 >> 2] >> 1] = 0;
+      q[j + q[b + 388 >> 2] >> 2] = 17720;
+      p : {
+       if (!l | (i | 0) < 1) {
+        break p;
+       }
+       v = q[b + 424 >> 2];
+       f = 0;
+       while (1) {
+        k = q[v + (f << 2) >> 2];
+        if (!iZ(l, k)) {
+         p[u + q[b + 384 >> 2] >> 1] = f;
+         q[j + q[b + 388 >> 2] >> 2] = k;
+         if (!iZ(17720, k)) {
+          break p;
+         }
+         x = (g | 0) < (x | 0) ? x : g + 1 | 0;
+         h = (g | 0) < (h | 0) ? g : h;
+         break p;
+        }
+        f = f + 1 | 0;
+        if ((i | 0) != (f | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      g = g + 1 | 0;
+      if ((t | 0) != (g | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    q[b + 380 >> 2] = x;
+    q[b + 376 >> 2] = h;
+    q[b + 372 >> 2] = q[a + 104 >> 2];
+    break b;
+   }
+   q[a + 12 >> 2] = f;
+  }
+  f = q[a + 156 >> 2];
+  if (f) {
+   n[f](a + 108 | 0);
+  }
+  f = q[a + 264 >> 2];
+  if (f) {
+   n[f](a + 216 | 0);
+  }
+  f = q[a + 212 >> 2];
+  if (f) {
+   n[f](a + 164 | 0);
+  }
+  f = q[a + 316 >> 2];
+  if (f) {
+   n[f](a + 268 | 0);
+  }
+  if (!r[a + 100 | 0]) {
+   Qe(q[a + 32 >> 2], q[a + 92 >> 2]);
+   q[a + 92 >> 2] = 0;
+  }
+  f = q[a + 40 >> 2];
+  if (f) {
+   n[f](a + 16 | 0);
+  }
+  f = q[a + 12 >> 2];
+  if (f | (c | 0) < 0) {
+   break a;
+  }
+  f = 6;
+  if (c & 65535) {
+   break a;
+  }
+  q[b + 36 >> 2] = 0;
+  q[b + 4 >> 2] = 0;
+  q[b + 16 >> 2] = q[b + 420 >> 2];
+  c = q[b + 8 >> 2];
+  f = c | 529;
+  q[b + 8 >> 2] = f;
+  if (r[b + 156 | 0]) {
+   f = c | 533;
+   q[b + 8 >> 2] = f;
+  }
+  q[b + 24 >> 2] = 17703;
+  q[b + 8 >> 2] = f | 2048;
+  c = q[b + 144 >> 2];
+  q[b + 20 >> 2] = c;
+  q : {
+   if (c) {
+    f = q[b + 140 >> 2];
+    if (!f) {
+     break q;
+    }
+    g = r[f | 0];
+    if (!g) {
+     break q;
+    }
+    while (1) {
+     h = g & 255;
+     g = r[c | 0];
+     r : {
+      if ((h | 0) == (g | 0)) {
+       f = f + 1 | 0;
+       c = c + 1 | 0;
+       break r;
+      }
+      s : {
+       t : {
+        h = h + -32 | 0;
+        if (h >>> 0 > 13) {
+         break t;
+        }
+        switch (h - 1 | 0) {
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+        case 9:
+        case 10:
+        case 11:
+         break t;
+        default:
+         break s;
+        }
+       }
+       h = g + -32 | 0;
+       if (h >>> 0 > 13) {
+        if (g) {
+         break q;
+        }
+        q[b + 24 >> 2] = f;
+        break q;
+       }
+       u : {
+        switch (h - 1 | 0) {
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+        case 9:
+        case 10:
+        case 11:
+         break q;
+        default:
+         break u;
+        }
+       }
+       c = c + 1 | 0;
+       break r;
+      }
+      f = f + 1 | 0;
+     }
+     g = r[f | 0];
+     if (g) {
+      continue;
+     }
+     break;
+    }
+    break q;
+   }
+   c = q[b + 364 >> 2];
+   if (!c) {
+    break q;
+   }
+   q[b + 20 >> 2] = c;
+  }
+  q[b + 28 >> 2] = 0;
+  q[b + 32 >> 2] = 0;
+  q[a + 16 >> 2] = 9;
+  A = a, B = ig(q[q[b + 96 >> 2] + 4 >> 2], 17711), q[A + 36 >> 2] = B;
+  q[a + 20 >> 2] = q[b + 496 >> 2];
+  q[a + 24 >> 2] = q[b + 500 >> 2];
+  if (d) {
+   q[a + 44 >> 2] = e;
+   q[a + 40 >> 2] = d;
+   q[a + 16 >> 2] = 25;
+  }
+  f = If(q[q[b + 96 >> 2] + 4 >> 2], a + 16 | 0, 0, y);
+  if (f) {
+   break a;
+  }
+  Mf(q[q[b + 504 >> 2] + 88 >> 2]);
+  c = q[b + 504 >> 2];
+  d = q[c + 56 >> 2];
+  q[b + 52 >> 2] = q[c + 52 >> 2];
+  q[b + 56 >> 2] = d;
+  d = q[c + 64 >> 2];
+  q[b + 60 >> 2] = q[c + 60 >> 2];
+  q[b + 64 >> 2] = d;
+  p[b + 68 >> 1] = s[c + 68 >> 1];
+  p[b + 70 >> 1] = s[c + 70 >> 1];
+  p[b + 72 >> 1] = s[c + 72 >> 1];
+  p[b + 74 >> 1] = s[c + 74 >> 1];
+  p[b + 76 >> 1] = s[c + 76 >> 1];
+  p[b + 78 >> 1] = s[c + 78 >> 1];
+  p[b + 80 >> 1] = s[b + 158 >> 1];
+  p[b + 82 >> 1] = s[b + 160 >> 1];
+  d = q[b + 152 >> 2] != 0;
+  q[b + 12 >> 2] = d;
+  if (r[c + 12 | 0] & 2) {
+   q[b + 12 >> 2] = d | 2;
+  }
+  if (r[c + 8 | 0] & 32) {
+   q[b + 8 >> 2] = q[b + 8 >> 2] | 32;
+  }
+  if (!z) {
+   f = 0;
+   break a;
+  }
+  c = q[m + 32 >> 2];
+  q[a + 16 >> 2] = b;
+  q[a + 20 >> 2] = 1970170211;
+  q[a + 24 >> 2] = 65539;
+  f = Xf(q[c + 12 >> 2], 0, a + 16 | 0, 0);
+  v : {
+   if (!f) {
+    break v;
+   }
+   d = f & 255;
+   if ((d | 0) == 163) {
+    break v;
+   }
+   if ((d | 0) != 7) {
+    break a;
+   }
+  }
+  p[a + 24 >> 1] = 7;
+  b = q[b + 368 >> 2] + -1 | 0;
+  if (b >>> 0 > 3) {
+   f = 0;
+   break a;
+  }
+  w : {
+   x : {
+    switch (b - 1 | 0) {
+    case 0:
+     p[a + 26 >> 1] = 0;
+     q[a + 20 >> 2] = 1094995778;
+     break w;
+    case 2:
+     p[a + 26 >> 1] = 1;
+     q[a + 20 >> 2] = 1094992453;
+     c = c + 4 | 0;
+     break w;
+    default:
+     p[a + 26 >> 1] = 2;
+     q[a + 20 >> 2] = 1094992451;
+     c = c + 8 | 0;
+     break w;
+    case 1:
+     break x;
+    }
+   }
+   c = c + 12 | 0;
+   p[a + 26 >> 1] = 3;
+   q[a + 20 >> 2] = 1818326065;
+  }
+  f = 0;
+  b = q[c >> 2];
+  if (!b) {
+   break a;
+  }
+  f = Xf(b, 0, a + 16 | 0, 0);
+ }
+ Ca = a + 336 | 0;
+ return f | 0;
+}
+function e_(a, b, c, d, f, g) {
+ a = a | 0;
+ b = +b;
+ c = c | 0;
+ d = d | 0;
+ f = f | 0;
+ g = g | 0;
+ var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0, u = 0, v = 0, x = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0;
+ m = Ca - 560 | 0;
+ Ca = m;
+ q[m + 44 >> 2] = 0;
+ h(+b);
+ i = e(1) | 0;
+ a : {
+  if (G = 1, H = (J = e(0) >>> 0 > 4294967295 ? 0 : 1, K = 0, L = (i | 0) <= -1, L ? J : K), I = (i | 0) < -1, I ? G : H) {
+   C = 1;
+   b = -b;
+   h(+b);
+   i = e(1) | 0;
+   e(0) | 0;
+   D = 507632;
+   break a;
+  }
+  if (f & 2048) {
+   C = 1;
+   D = 507635;
+   break a;
+  }
+  C = f & 1;
+  D = C ? 507638 : 507633;
+ }
+ b : {
+  if ((i & 2146435072) == 2146435072) {
+   p = C + 3 | 0;
+   $Z(a, 32, c, p, f & -65537);
+   YZ(a, D, C);
+   d = g >>> 5 & 1;
+   YZ(a, b != b ? d ? 507659 : 507663 : d ? 507651 : 507655, 3);
+   break b;
+  }
+  x = m + 16 | 0;
+  c : {
+   d : {
+    e : {
+     b = pZ(b, m + 44 | 0);
+     b = b + b;
+     if (b != 0) {
+      i = q[m + 44 >> 2];
+      q[m + 44 >> 2] = i + -1;
+      z = g | 32;
+      if ((z | 0) != 97) {
+       break e;
+      }
+      break c;
+     }
+     z = g | 32;
+     if ((z | 0) == 97) {
+      break c;
+     }
+     j = q[m + 44 >> 2];
+     n = (d | 0) < 0 ? 6 : d;
+     break d;
+    }
+    j = i + -29 | 0;
+    q[m + 44 >> 2] = j;
+    b = b * 268435456;
+    n = (d | 0) < 0 ? 6 : d;
+   }
+   s = (j | 0) < 0 ? m + 48 | 0 : m + 336 | 0;
+   l = s;
+   while (1) {
+    d = l;
+    if (b < 4294967296 & b >= 0) {
+     i = ~~b >>> 0;
+    } else {
+     i = 0;
+    }
+    q[d >> 2] = i;
+    l = l + 4 | 0;
+    b = (b - +(i >>> 0)) * 1e9;
+    if (b != 0) {
+     continue;
+    }
+    break;
+   }
+   f : {
+    if ((j | 0) < 1) {
+     i = l;
+     k = s;
+     break f;
+    }
+    k = s;
+    while (1) {
+     u = (j | 0) < 29 ? j : 29;
+     i = l + -4 | 0;
+     g : {
+      if (i >>> 0 < k >>> 0) {
+       break g;
+      }
+      d = u;
+      j = 0;
+      while (1) {
+       p = i;
+       E = j;
+       v = q[i >> 2];
+       t = d & 31;
+       if (32 <= (d & 63) >>> 0) {
+        j = v << t;
+        v = 0;
+       } else {
+        j = (1 << t) - 1 & v >>> 32 - t;
+        v = v << t;
+       }
+       t = E + v | 0;
+       j = j + F | 0;
+       j = t >>> 0 < v >>> 0 ? j + 1 | 0 : j;
+       j = V0(t, j, 1e9, 0);
+       v = p;
+       p = T0(j, Ea, 1e9, 0);
+       q[v >> 2] = t - p;
+       i = i + -4 | 0;
+       if (i >>> 0 >= k >>> 0) {
+        continue;
+       }
+       break;
+      }
+      if (!j) {
+       break g;
+      }
+      k = k + -4 | 0;
+      q[k >> 2] = j;
+     }
+     while (1) {
+      i = l;
+      if (i >>> 0 > k >>> 0) {
+       l = i + -4 | 0;
+       if (!q[l >> 2]) {
+        continue;
+       }
+      }
+      break;
+     }
+     j = q[m + 44 >> 2] - u | 0;
+     q[m + 44 >> 2] = j;
+     l = i;
+     if ((j | 0) > 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   if ((j | 0) <= -1) {
+    A = ((n + 25 | 0) / 9 | 0) + 1 | 0;
+    u = (z | 0) == 102;
+    while (1) {
+     d = (j | 0) < -9 ? 9 : 0 - j | 0;
+     h : {
+      if (k >>> 0 >= i >>> 0) {
+       k = q[k >> 2] ? k : k + 4 | 0;
+       break h;
+      }
+      p = 1e9 >>> d | 0;
+      t = -1 << d ^ -1;
+      j = 0;
+      l = k;
+      while (1) {
+       v = j;
+       j = q[l >> 2];
+       q[l >> 2] = v + (j >>> d | 0);
+       j = w(p, j & t);
+       l = l + 4 | 0;
+       if (l >>> 0 < i >>> 0) {
+        continue;
+       }
+       break;
+      }
+      k = q[k >> 2] ? k : k + 4 | 0;
+      if (!j) {
+       break h;
+      }
+      q[i >> 2] = j;
+      i = i + 4 | 0;
+     }
+     j = d + q[m + 44 >> 2] | 0;
+     q[m + 44 >> 2] = j;
+     d = u ? s : k;
+     i = i - d >> 2 > (A | 0) ? d + (A << 2) | 0 : i;
+     if ((j | 0) < 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   l = 0;
+   i : {
+    if (k >>> 0 >= i >>> 0) {
+     break i;
+    }
+    l = w(s - k >> 2, 9);
+    j = 10;
+    d = q[k >> 2];
+    if (d >>> 0 < 10) {
+     break i;
+    }
+    while (1) {
+     l = l + 1 | 0;
+     j = w(j, 10);
+     if (d >>> 0 >= j >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   d = (n - ((z | 0) == 102 ? 0 : l) | 0) - ((z | 0) == 103 & (n | 0) != 0) | 0;
+   if ((d | 0) < (w(i - s >> 2, 9) + -9 | 0)) {
+    d = d + 9216 | 0;
+    u = (d | 0) / 9 | 0;
+    p = (s + (u << 2) | 0) + -4092 | 0;
+    j = 10;
+    d = d - w(u, 9) | 0;
+    if ((d | 0) <= 7) {
+     while (1) {
+      j = w(j, 10);
+      d = d + 1 | 0;
+      if ((d | 0) != 8) {
+       continue;
+      }
+      break;
+     }
+    }
+    u = q[p >> 2];
+    t = (u >>> 0) / (j >>> 0) | 0;
+    A = p + 4 | 0;
+    d = u - w(j, t) | 0;
+    j : {
+     if (d ? 0 : (A | 0) == (i | 0)) {
+      break j;
+     }
+     v = j >>> 1 | 0;
+     B = d >>> 0 < v >>> 0 ? .5 : (i | 0) == (A | 0) ? (v | 0) == (d | 0) ? 1 : 1.5 : 1.5;
+     b = t & 1 ? 9007199254740994 : 9007199254740992;
+     if (!(!C | r[D | 0] != 45)) {
+      B = -B;
+      b = -b;
+     }
+     d = u - d | 0;
+     q[p >> 2] = d;
+     if (b + B == b) {
+      break j;
+     }
+     d = d + j | 0;
+     q[p >> 2] = d;
+     if (d >>> 0 >= 1e9) {
+      while (1) {
+       q[p >> 2] = 0;
+       p = p + -4 | 0;
+       if (p >>> 0 < k >>> 0) {
+        k = k + -4 | 0;
+        q[k >> 2] = 0;
+       }
+       d = q[p >> 2] + 1 | 0;
+       q[p >> 2] = d;
+       if (d >>> 0 > 999999999) {
+        continue;
+       }
+       break;
+      }
+     }
+     l = w(s - k >> 2, 9);
+     j = 10;
+     d = q[k >> 2];
+     if (d >>> 0 < 10) {
+      break j;
+     }
+     while (1) {
+      l = l + 1 | 0;
+      j = w(j, 10);
+      if (d >>> 0 >= j >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    d = p + 4 | 0;
+    i = i >>> 0 > d >>> 0 ? d : i;
+   }
+   k : {
+    while (1) {
+     j = i;
+     u = 0;
+     if (i >>> 0 <= k >>> 0) {
+      break k;
+     }
+     i = j + -4 | 0;
+     if (!q[i >> 2]) {
+      continue;
+     }
+     break;
+    }
+    u = 1;
+   }
+   l : {
+    if ((z | 0) != 103) {
+     t = f & 8;
+     break l;
+    }
+    d = n ? n : 1;
+    i = (d | 0) > (l | 0) & (l | 0) > -5;
+    n = (i ? l ^ -1 : -1) + d | 0;
+    g = (i ? -1 : -2) + g | 0;
+    t = f & 8;
+    if (t) {
+     break l;
+    }
+    i = 9;
+    m : {
+     if (!u) {
+      break m;
+     }
+     p = q[j + -4 >> 2];
+     if (!p) {
+      break m;
+     }
+     d = 10;
+     i = 0;
+     if ((p >>> 0) % 10) {
+      break m;
+     }
+     while (1) {
+      i = i + 1 | 0;
+      d = w(d, 10);
+      if (!((p >>> 0) % (d >>> 0))) {
+       continue;
+      }
+      break;
+     }
+    }
+    d = w(j - s >> 2, 9) + -9 | 0;
+    if ((g | 32) == 102) {
+     t = 0;
+     d = d - i | 0;
+     d = (d | 0) > 0 ? d : 0;
+     n = (n | 0) < (d | 0) ? n : d;
+     break l;
+    }
+    t = 0;
+    d = (d + l | 0) - i | 0;
+    d = (d | 0) > 0 ? d : 0;
+    n = (n | 0) < (d | 0) ? n : d;
+   }
+   z = n | t;
+   v = (z | 0) != 0;
+   d = a;
+   E = c;
+   F = g | 32;
+   i = (l | 0) > 0 ? l : 0;
+   n : {
+    if ((F | 0) == 102) {
+     break n;
+    }
+    i = l >> 31;
+    i = c_(i + l ^ i, 0, x);
+    if ((x - i | 0) <= 1) {
+     while (1) {
+      i = i + -1 | 0;
+      o[i | 0] = 48;
+      if ((x - i | 0) < 2) {
+       continue;
+      }
+      break;
+     }
+    }
+    A = i + -2 | 0;
+    o[A | 0] = g;
+    o[i + -1 | 0] = (l | 0) < 0 ? 45 : 43;
+    i = x - A | 0;
+   }
+   p = (i + (v + (n + C | 0) | 0) | 0) + 1 | 0;
+   $Z(d, 32, E, p, f);
+   YZ(a, D, C);
+   $Z(a, 48, c, p, f ^ 65536);
+   o : {
+    p : {
+     q : {
+      if ((F | 0) == 102) {
+       d = m + 16 | 8;
+       g = m + 16 | 9;
+       l = k >>> 0 > s >>> 0 ? s : k;
+       k = l;
+       while (1) {
+        i = c_(q[k >> 2], 0, g);
+        r : {
+         if ((k | 0) != (l | 0)) {
+          if (i >>> 0 <= m + 16 >>> 0) {
+           break r;
+          }
+          while (1) {
+           i = i + -1 | 0;
+           o[i | 0] = 48;
+           if (i >>> 0 > m + 16 >>> 0) {
+            continue;
+           }
+           break;
+          }
+          break r;
+         }
+         if ((g | 0) != (i | 0)) {
+          break r;
+         }
+         o[m + 24 | 0] = 48;
+         i = d;
+        }
+        YZ(a, i, g - i | 0);
+        k = k + 4 | 0;
+        if (k >>> 0 <= s >>> 0) {
+         continue;
+        }
+        break;
+       }
+       if (z) {
+        YZ(a, 507667, 1);
+       }
+       if ((n | 0) < 1 | k >>> 0 >= j >>> 0) {
+        break q;
+       }
+       while (1) {
+        i = c_(q[k >> 2], 0, g);
+        if (i >>> 0 > m + 16 >>> 0) {
+         while (1) {
+          i = i + -1 | 0;
+          o[i | 0] = 48;
+          if (i >>> 0 > m + 16 >>> 0) {
+           continue;
+          }
+          break;
+         }
+        }
+        YZ(a, i, (n | 0) < 9 ? n : 9);
+        i = n + -9 | 0;
+        k = k + 4 | 0;
+        if (k >>> 0 >= j >>> 0) {
+         break p;
+        }
+        d = (n | 0) > 9;
+        n = i;
+        if (d) {
+         continue;
+        }
+        break;
+       }
+       break p;
+      }
+      s : {
+       if ((n | 0) < 0) {
+        break s;
+       }
+       s = u ? j : k + 4 | 0;
+       d = m + 16 | 8;
+       g = m + 16 | 9;
+       l = k;
+       while (1) {
+        i = c_(q[l >> 2], 0, g);
+        if ((g | 0) == (i | 0)) {
+         o[m + 24 | 0] = 48;
+         i = d;
+        }
+        t : {
+         if ((k | 0) != (l | 0)) {
+          if (i >>> 0 <= m + 16 >>> 0) {
+           break t;
+          }
+          while (1) {
+           i = i + -1 | 0;
+           o[i | 0] = 48;
+           if (i >>> 0 > m + 16 >>> 0) {
+            continue;
+           }
+           break;
+          }
+          break t;
+         }
+         YZ(a, i, 1);
+         i = i + 1 | 0;
+         if ((n | 0) < 1 ? !t : 0) {
+          break t;
+         }
+         YZ(a, 507667, 1);
+        }
+        j = i;
+        i = g - i | 0;
+        YZ(a, j, (n | 0) > (i | 0) ? i : n);
+        n = n - i | 0;
+        l = l + 4 | 0;
+        if (l >>> 0 >= s >>> 0) {
+         break s;
+        }
+        if ((n | 0) > -1) {
+         continue;
+        }
+        break;
+       }
+      }
+      $Z(a, 48, n + 18 | 0, 18, 0);
+      YZ(a, A, x - A | 0);
+      break o;
+     }
+     i = n;
+    }
+    $Z(a, 48, i + 9 | 0, 9, 0);
+   }
+   break b;
+  }
+  n = g & 32;
+  j = n ? D + 9 | 0 : D;
+  u : {
+   if (d >>> 0 > 11) {
+    break u;
+   }
+   i = 12 - d | 0;
+   if (!i) {
+    break u;
+   }
+   B = 8;
+   while (1) {
+    B = B * 16;
+    i = i + -1 | 0;
+    if (i) {
+     continue;
+    }
+    break;
+   }
+   if (r[j | 0] == 45) {
+    b = -(B + (-b - B));
+    break u;
+   }
+   b = b + B - B;
+  }
+  l = q[m + 44 >> 2];
+  i = l >> 31;
+  i = c_(i ^ i + l, 0, x);
+  if ((x | 0) == (i | 0)) {
+   o[m + 15 | 0] = 48;
+   i = m + 15 | 0;
+  }
+  l = C | 2;
+  k = q[m + 44 >> 2];
+  s = i + -2 | 0;
+  o[s | 0] = g + 15;
+  o[i + -1 | 0] = (k | 0) < 0 ? 45 : 43;
+  D = f & 8;
+  k = m + 16 | 0;
+  while (1) {
+   g = k;
+   p = n;
+   if (y(b) < 2147483648) {
+    i = ~~b;
+   } else {
+    i = -2147483648;
+   }
+   o[k | 0] = p | r[i + 507616 | 0];
+   b = (b - +(i | 0)) * 16;
+   k = g + 1 | 0;
+   if (!((k - (m + 16 | 0) | 0) != 1 | (b == 0 ? !((d | 0) > 0 | D) : 0))) {
+    o[g + 1 | 0] = 46;
+    k = g + 2 | 0;
+   }
+   if (b != 0) {
+    continue;
+   }
+   break;
+  }
+  g = a;
+  i = c;
+  if (!d | ((k - m | 0) + -18 | 0) >= (d | 0)) {
+   n = ((x - (m + 16 | 0) | 0) - s | 0) + k | 0;
+  } else {
+   n = ((d + x | 0) - s | 0) + 2 | 0;
+  }
+  d = n;
+  p = d + l | 0;
+  $Z(g, 32, i, p, f);
+  YZ(a, j, l);
+  $Z(a, 48, c, p, f ^ 65536);
+  g = k - (m + 16 | 0) | 0;
+  YZ(a, m + 16 | 0, g);
+  d = x - s | 0;
+  $Z(a, 48, n - (d + g | 0) | 0, 0, 0);
+  YZ(a, s, d);
+ }
+ $Z(a, 32, c, p, f ^ 8192);
+ Ca = m + 560 | 0;
+ return ((p | 0) < (c | 0) ? c : p) | 0;
+}
+function VO(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, r = 0, s = 0, t = 0, u = 0, x = 0, z = 0, A = 0, C = 0, D = 0, G = 0, H = 0, I = 0;
+ d = Ca - 384 | 0;
+ Ca = d;
+ a : {
+  if (!!(c < 1.9)) {
+   q[d + 16 >> 2] = 0;
+   q[d + 8 >> 2] = 0;
+   q[d + 12 >> 2] = 0;
+   if (!!(c < .5)) {
+    k = c * .085 * c * c;
+    l = c * .5 + k * -4;
+    c = 0;
+    g = 0;
+    break a;
+   }
+   c = .5 / c;
+   f = I$(-c);
+   l = f * E(c / 3.141592653589793);
+   t = f * f;
+   c = f * t;
+   k = l * c;
+   f = t * c;
+   c = k * f;
+   f = c * (t * f);
+   g = 0;
+   break a;
+  }
+  m = d;
+  b : {
+   if (!!(c < 6.693)) {
+    q[d + 8 >> 2] = 0;
+    e = d;
+    g = 1;
+    c : {
+     if (!!(c < 2.8)) {
+      break c;
+     }
+     g = 2;
+     if (!!(c < 4.4)) {
+      break c;
+     }
+     g = 3;
+    }
+    q[e + 12 >> 2] = g;
+    k = 1;
+    s = g + -1 | 0;
+    break b;
+   }
+   pZ((c + .7) / 26.5, d + 8 | 0);
+   e = q[d + 8 >> 2] + 3 >> 1;
+   q[d + 8 >> 2] = e;
+   k = V$(+(e | 0) * -2);
+   c = k * c;
+   if (!!(c < k * -1.5 + 3.15)) {
+    q[d + 12 >> 2] = 0;
+    s = 0;
+    break b;
+   }
+   if (!!(c < k * -5.2 + 5.3)) {
+    q[d + 12 >> 2] = 1;
+    g = 1;
+    s = 1;
+    break b;
+   }
+   q[d + 12 >> 2] = 2;
+   g = 2;
+   s = 2;
+  }
+  q[m + 16 >> 2] = s;
+  Z$(d + 304 | 0, 0, 80);
+  t = k * k;
+  f = t * 273;
+  l = k * t;
+  C = (k * -126 + 17 + f + l * -164) / 12096;
+  I = C + 0;
+  x = (k * -924 + 486 + t * -546 + l * 984) / 12096;
+  D = (k * 2520 + 5204 + t * 1092 + l * 3280) / 12096;
+  z = D * 0;
+  A = (k * -210 + 2943 - f + l * -2460) / 12096;
+  f = z + A * 0;
+  v[d + 320 >> 3] = C * I + (x * 0 + f);
+  k = x + 0;
+  u = C * k;
+  v[d + 312 >> 3] = u + (f + x * I);
+  t = A + 0;
+  l = C * t;
+  v[d + 304 >> 3] = l + (x * k + (z + A * I));
+  f = D + 0;
+  v[d + 296 >> 3] = C * f + (x * t + (D * C + A * k));
+  t = x * f;
+  f = C + A;
+  v[d + 288 >> 3] = l + (t + (D * x + A * f));
+  l = u + (x * f + (D * A + A * (x + D)));
+  v[d + 280 >> 3] = l;
+  f = C * (C + C) + (x * (x + x) + (D * D + A * (A + A)));
+  v[d + 272 >> 3] = f;
+  r = s << 4;
+  d : {
+   if ((g | 0) < 1) {
+    break d;
+   }
+   e = g << 1;
+   H = ((e | 0) > 1 ? e : 1) + 5 | 0;
+   i = 6;
+   while (1) {
+    e = i + 1 | 0;
+    h = 0;
+    while (1) {
+     u = l;
+     l = f;
+     u = u + (f + f);
+     m = h + 1 | 0;
+     f = v[(d + 272 | 0) + (m << 3) >> 3];
+     v[(d + 272 | 0) + (h << 3) >> 3] = (u + f) * .25;
+     o = (e | 0) != (h | 0);
+     h = m;
+     if (o) {
+      continue;
+     }
+     break;
+    }
+    if ((i | 0) == (H | 0)) {
+     break d;
+    }
+    f = v[d + 272 >> 3];
+    l = v[d + 280 >> 3];
+    i = e;
+    continue;
+   }
+  }
+  f = .5 / c;
+  c = E(f / 3.141592653589793);
+  v[d + 160 >> 3] = c;
+  k = I$(-f);
+  l = k * c;
+  v[d + 168 >> 3] = l;
+  G = q[r + 437932 >> 2];
+  h = G + g | 0;
+  i = h + 3 | 0;
+  if ((h | 0) >= -1) {
+   c = k * k;
+   j = 2;
+   while (1) {
+    k = c * k;
+    l = l * k;
+    v[(d + 160 | 0) + (j << 3) >> 3] = l;
+    e = (j | 0) != (i | 0);
+    j = j + 1 | 0;
+    if (e) {
+     continue;
+    }
+    break;
+   }
+  }
+  j = 0;
+  Z$(((i << 3) + d | 0) + 168 | 0, 0, 72 - (h << 3) | 0);
+  if ((h | 0) >= 0) {
+   f = v[d + 160 >> 3];
+   c = v[d + 184 >> 3];
+   u = v[d + 168 >> 3];
+   t = u;
+   z = v[d + 176 >> 3];
+   k = z;
+   while (1) {
+    l = t;
+    t = f;
+    I = D * f;
+    f = u;
+    u = z;
+    e = (d + 160 | 0) + (j << 3) | 0;
+    z = v[e + 24 >> 3];
+    v[e >> 3] = I + A * (l + f) + x * (u + k) + C * (c + z);
+    e = (h | 0) != (j | 0);
+    j = j + 1 | 0;
+    c = k;
+    k = l;
+    if (e) {
+     continue;
+    }
+    break;
+   }
+  }
+  i = 0;
+  if ((g | 0) > 0) {
+   while (1) {
+    m = h + -1 | 0;
+    if ((h | 0) >= 1) {
+     h = 0;
+     l = v[d + 160 >> 3];
+     f = v[d + 168 >> 3];
+     while (1) {
+      c = f;
+      f = l;
+      e = h + 1 | 0;
+      l = v[(d + 160 | 0) + (e << 3) >> 3];
+      v[(d + 160 | 0) + (h << 3) >> 3] = (c + (f + f) + l) * .25;
+      o = (h | 0) != (m | 0);
+      h = e;
+      if (o) {
+       continue;
+      }
+      break;
+     }
+    }
+    h = m;
+    i = i + 1 | 0;
+    if ((i | 0) != (g | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  H = r + 437920 | 0;
+  k = v[d + 272 >> 3];
+  l = k * 3;
+  e = 0;
+  while (1) {
+   o = s << 4;
+   r = q[(o + (e << 2) | 0) + 437920 >> 2];
+   c = v[(d + 272 | 0) + (r << 3) >> 3];
+   g = e;
+   m = (d + 32 | 0) + (e << 5) | 0;
+   i = e << 3;
+   v[m + i >> 3] = l + v[(d + 272 | 0) + (r << 4) >> 3] + c * -4;
+   e = e + 1 | 0;
+   if (g >>> 0 <= 2) {
+    f = k - c;
+    h = e;
+    while (1) {
+     g = q[(o + (h << 2) | 0) + 437920 >> 2];
+     c = f - v[(d + 272 | 0) + (g << 3) >> 3];
+     c = v[(d + 272 | 0) + (g + r << 3) >> 3] + v[(d + 272 | 0) + (g - r << 3) >> 3] + (c + c);
+     v[i + ((d + 32 | 0) + (h << 5) | 0) >> 3] = c;
+     v[m + (h << 3) >> 3] = c;
+     h = h + 1 | 0;
+     if ((h | 0) != 4) {
+      continue;
+     }
+     break;
+    }
+   }
+   if ((e | 0) != 4) {
+    continue;
+   }
+   break;
+  }
+  j = 0;
+  h = d - -64 | 0;
+  g = d + 128 | 0;
+  e = d + 96 | 0;
+  while (1) {
+   o = (d + 32 | 0) + (j << 5) | 0;
+   m = j << 3;
+   i = o + m | 0;
+   c = v[i >> 3];
+   q[i >> 2] = 0;
+   q[i + 4 >> 2] = 1072693248;
+   f = 1 / c;
+   e : {
+    f : {
+     g : {
+      if (j) {
+       i = m + (d + 32 | 0) | 0;
+       c = v[i >> 3];
+       q[i >> 2] = 0;
+       q[i + 4 >> 2] = 0;
+       c = f * c;
+       v[d + 32 >> 3] = v[d + 32 >> 3] - c * v[o >> 3];
+       v[d + 40 >> 3] = v[d + 40 >> 3] - c * v[o + 8 >> 3];
+       v[d + 48 >> 3] = v[d + 48 >> 3] - c * v[o + 16 >> 3];
+       v[d + 56 >> 3] = v[d + 56 >> 3] - c * v[o + 24 >> 3];
+       if ((j | 0) == 1) {
+        break g;
+       }
+      }
+      i = h + m | 0;
+      c = v[i >> 3];
+      q[i >> 2] = 0;
+      q[i + 4 >> 2] = 0;
+      c = f * c;
+      v[d + 64 >> 3] = v[d + 64 >> 3] - c * v[o >> 3];
+      v[d + 72 >> 3] = v[d + 72 >> 3] - c * v[o + 8 >> 3];
+      v[d + 80 >> 3] = v[d + 80 >> 3] - c * v[o + 16 >> 3];
+      v[d + 88 >> 3] = v[d + 88 >> 3] - c * v[o + 24 >> 3];
+      if ((j | 0) == 2) {
+       break f;
+      }
+     }
+     i = e + m | 0;
+     c = v[i >> 3];
+     q[i >> 2] = 0;
+     q[i + 4 >> 2] = 0;
+     c = f * c;
+     v[d + 96 >> 3] = v[d + 96 >> 3] - c * v[o >> 3];
+     v[d + 104 >> 3] = v[d + 104 >> 3] - c * v[o + 8 >> 3];
+     v[d + 112 >> 3] = v[d + 112 >> 3] - c * v[o + 16 >> 3];
+     v[d + 120 >> 3] = v[d + 120 >> 3] - c * v[o + 24 >> 3];
+     if ((j | 0) == 3) {
+      break e;
+     }
+    }
+    i = g + m | 0;
+    c = v[i >> 3];
+    q[i >> 2] = 0;
+    q[i + 4 >> 2] = 0;
+    c = f * c;
+    v[d + 128 >> 3] = v[d + 128 >> 3] - c * v[o >> 3];
+    v[d + 136 >> 3] = v[d + 136 >> 3] - c * v[o + 8 >> 3];
+    v[d + 144 >> 3] = v[d + 144 >> 3] - c * v[o + 16 >> 3];
+    v[d + 152 >> 3] = v[d + 152 >> 3] - c * v[o + 24 >> 3];
+   }
+   v[o >> 3] = f * v[o >> 3];
+   v[o + 8 >> 3] = f * v[o + 8 >> 3];
+   v[o + 16 >> 3] = f * v[o + 16 >> 3];
+   v[o + 24 >> 3] = f * v[o + 24 >> 3];
+   j = j + 1 | 0;
+   if ((j | 0) != 4) {
+    continue;
+   }
+   break;
+  }
+  e = q[H >> 2] << 3;
+  c = v[d + 160 >> 3];
+  z = v[e + (d + 160 | 0) >> 3] + (k - v[e + (d + 272 | 0) >> 3] - c);
+  g = s << 4;
+  e = q[g + 437924 >> 2] << 3;
+  u = v[e + (d + 160 | 0) >> 3] + (k - v[e + (d + 272 | 0) >> 3] - c);
+  e = q[g + 437928 >> 2] << 3;
+  t = v[e + (d + 160 | 0) >> 3] + (k - v[e + (d + 272 | 0) >> 3] - c);
+  e = G << 3;
+  l = v[e + (d + 160 | 0) >> 3] + (k - v[e + (d + 272 | 0) >> 3] - c);
+  f = B(z * v[d + 128 >> 3] + 0 + u * v[d + 136 >> 3] + t * v[d + 144 >> 3] + l * v[d + 152 >> 3], 0);
+  c = B(z * v[d + 96 >> 3] + 0 + u * v[d + 104 >> 3] + t * v[d + 112 >> 3] + l * v[d + 120 >> 3], 0);
+  k = B(z * v[d + 64 >> 3] + 0 + u * v[d + 72 >> 3] + t * v[d + 80 >> 3] + l * v[d + 88 >> 3], 0);
+  l = B(z * v[d + 32 >> 3] + 0 + u * v[d + 40 >> 3] + t * v[d + 48 >> 3] + l * v[d + 56 >> 3], 0);
+  i = q[d + 8 >> 2];
+  j = q[d + 12 >> 2];
+  g = q[d + 16 >> 2];
+ }
+ e = d;
+ f = f * 65536 + .5;
+ h : {
+  if (y(f) < 2147483648) {
+   m = ~~f;
+   break h;
+  }
+  m = -2147483648;
+ }
+ p[e + 26 >> 1] = m;
+ e = d;
+ c = c * 65536 + .5;
+ i : {
+  if (y(c) < 2147483648) {
+   m = ~~c;
+   break i;
+  }
+  m = -2147483648;
+ }
+ p[e + 24 >> 1] = m;
+ e = d;
+ c = k * 65536 + .5;
+ j : {
+  if (y(c) < 2147483648) {
+   m = ~~c;
+   break j;
+  }
+  m = -2147483648;
+ }
+ p[e + 22 >> 1] = m;
+ e = d;
+ c = l * 65536 + .5;
+ k : {
+  if (y(c) < 2147483648) {
+   m = ~~c;
+   break k;
+  }
+  m = -2147483648;
+ }
+ p[e + 20 >> 1] = m;
+ r = 0;
+ g = ((g + j << 1) + 17 << i) + -5 | 0;
+ l : {
+  e = -1 << i;
+  j = q[b + 8 >> 2];
+  H = e & g + j;
+  m : {
+   if ((H | 0) > 536870914) {
+    break m;
+   }
+   h = q[b + 12 >> 2];
+   G = (e & g + h) + -4 | 0;
+   g = 1 << q[a >> 2] + -1;
+   e = (g + H | 0) + -5 & 0 - g;
+   if ((G | 0) >= (268435455 / (e | 0) | 0)) {
+    break m;
+   }
+   e = w(e, G);
+   m = Jd(g << 1, e << 2, 0);
+   if (!m) {
+    break m;
+   }
+   n[q[a + 36 >> 2]](m, q[b + 20 >> 2], q[b + 16 >> 2], j, h);
+   q[d + 36 >> 2] = m + (e << 1);
+   q[d + 32 >> 2] = m;
+   n : {
+    if ((i | 0) < 1) {
+     g = m;
+     break n;
+    }
+    g = 0;
+    e = m;
+    while (1) {
+     r = r ^ 1;
+     s = q[(d + 32 | 0) + (r << 2) >> 2];
+     n[q[a + 48 >> 2]](s, e, j, h);
+     h = h + 5 >> 1;
+     e = s;
+     g = g + 1 | 0;
+     if ((i | 0) != (g | 0)) {
+      continue;
+     }
+     break;
+    }
+    e = 0;
+    while (1) {
+     r = r ^ 1;
+     g = q[(d + 32 | 0) + (r << 2) >> 2];
+     n[q[a + 44 >> 2]](g, s, j, h);
+     j = j + 5 >> 1;
+     s = g;
+     e = e + 1 | 0;
+     if ((e | 0) != (i | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   o = d + 20 | 0;
+   e = q[d + 12 >> 2];
+   o : {
+    if (!e) {
+     i = g;
+     break o;
+    }
+    r = r ^ 1;
+    i = q[(d + 32 | 0) + (r << 2) >> 2];
+    n[q[((e << 2) + a | 0) + 56 >> 2]](i, g, j, h);
+    j = (e << 1) + j | 0;
+   }
+   r = r ^ 1;
+   n[q[((q[d + 16 >> 2] << 2) + a | 0) + 84 >> 2]](q[(d + 32 | 0) + (r << 2) >> 2], i, j, h, o);
+   j = ((q[d + 16 >> 2] << 1) + j | 0) + 8 | 0;
+   if (q[d + 8 >> 2] >= 1) {
+    s = 0;
+    while (1) {
+     e = r << 2;
+     r = r ^ 1;
+     n[q[a + 52 >> 2]](q[(d + 32 | 0) + (r << 2) >> 2], q[e + (d + 32 | 0) >> 2], j, h);
+     j = (j << 1) + 4 | 0;
+     s = s + 1 | 0;
+     if ((s | 0) < q[d + 8 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   g = q[d + 12 >> 2];
+   if (g) {
+    e = r << 2;
+    r = r ^ 1;
+    n[q[((g << 2) + a | 0) + 68 >> 2]](q[(d + 32 | 0) + (r << 2) >> 2], q[e + (d + 32 | 0) >> 2], j, h);
+    h = (q[d + 12 >> 2] << 1) + h | 0;
+   }
+   g = H + -4 | 0;
+   s = r ^ 1;
+   n[q[((q[d + 16 >> 2] << 2) + a | 0) + 96 >> 2]](q[(d + 32 | 0) + (s << 2) >> 2], q[(d + 32 | 0) + (r << 2) >> 2], j, h, o);
+   h = ((q[d + 16 >> 2] << 1) + h | 0) + 8 | 0;
+   if (q[d + 8 >> 2] >= 1) {
+    r = 0;
+    while (1) {
+     e = s << 2;
+     s = s ^ 1;
+     n[q[a + 56 >> 2]](q[(d + 32 | 0) + (s << 2) >> 2], q[e + (d + 32 | 0) >> 2], j, h);
+     h = (h << 1) + 4 | 0;
+     r = r + 1 | 0;
+     if ((r | 0) < q[d + 8 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   if ((g | 0) != (j | 0) | (h | 0) != (G | 0)) {
+    break l;
+   }
+   if (wO(a, b, g, G)) {
+    e = ((q[d + 12 >> 2] + q[d + 16 >> 2] | 0) + 8 << q[d + 8 >> 2]) + -4 | 0;
+    q[b >> 2] = q[b >> 2] - e;
+    q[b + 4 >> 2] = q[b + 4 >> 2] - e;
+    n[q[a + 40 >> 2]](q[b + 20 >> 2], q[b + 16 >> 2], q[(d + 32 | 0) + (s << 2) >> 2], g, G);
+   }
+   Kd(m);
+  }
+  Ca = d + 384 | 0;
+  return;
+ }
+ J(437824, 437849, 904, 437860);
+ F();
+}
+function Rk(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, s = 0;
+ q[a + 12 >> 2] = b;
+ q[a + 8 >> 2] = c;
+ q[a + 4 >> 2] = b;
+ q[a + 20 >> 2] = q[a + 16 >> 2];
+ m = 6;
+ a : {
+  b : {
+   while (1) {
+    if (b >>> 0 >= c >>> 0) {
+     break b;
+    }
+    e = q[a + 20 >> 2];
+    i = e - q[a + 16 >> 2] | 0;
+    f = i >> 2;
+    h = q[a + 24 >> 2];
+    g = r[b | 0];
+    c : {
+     d : {
+      if (!((g | 0) == 31 | (g + -27 & 255) >>> 0 > 227)) {
+       d = 4;
+       if (f >>> 0 >= h >>> 0) {
+        break c;
+       }
+       q[a + 20 >> 2] = e + 4;
+       q[e >> 2] = b;
+       d = g + -28 | 0;
+       if (d >>> 0 <= 2) {
+        e : {
+         switch (d - 1 | 0) {
+         case 1:
+          while (1) {
+           b = b + 1 | 0;
+           d = 7;
+           if (b >>> 0 >= c >>> 0) {
+            break c;
+           }
+           d = r[b | 0];
+           if ((d & 240) == 240) {
+            break d;
+           }
+           if ((d & 15) != 15) {
+            continue;
+           }
+           break;
+          }
+          break d;
+         default:
+          b = b + 2 | 0;
+          break d;
+         case 0:
+          break e;
+         }
+        }
+        b = b + 4 | 0;
+        break d;
+       }
+       b = g >>> 0 > 246 ? b + 1 | 0 : b;
+       break d;
+      }
+      d = 4;
+      if (f >>> 0 >= h >>> 0) {
+       break c;
+      }
+      q[e >> 2] = b;
+      if ((g | 0) == 12) {
+       b = b + 1 | 0;
+       d = 8;
+       if (b >>> 0 >= c >>> 0) {
+        break c;
+       }
+       g = r[b | 0] | 256;
+      }
+      h = 10432;
+      e = 4;
+      d = q[a + 28 >> 2] | g;
+      f : {
+       if ((d | 0) != 4096) {
+        while (1) {
+         e = q[h + 28 >> 2];
+         if (!e) {
+          break f;
+         }
+         g = q[h + 32 >> 2];
+         h = h + 28 | 0;
+         if ((d | 0) != (g | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       g = q[h + 8 >> 2];
+       j = q[a + 32 >> 2];
+       if (!i) {
+        d = 12;
+        if ((e | 0) != 6) {
+         break c;
+        }
+       }
+       g : {
+        h : {
+         i : {
+          d = e + -1 | 0;
+          if (d >>> 0 <= 5) {
+           i = g + j | 0;
+           j : {
+            switch (d - 1 | 0) {
+            default:
+             k : {
+              d = q[q[a + 16 >> 2] >> 2];
+              f = r[d | 0];
+              if ((f | 0) != 255) {
+               if ((f | 0) != 30) {
+                break k;
+               }
+               e = Vk(a, d, 0, 0) >> 16;
+               break h;
+              }
+              e = ((r[d + 3 | 0] | (r[d + 2 | 0] << 8 | r[d + 1 | 0] << 16)) << 8) + 32768 >> 16;
+              break h;
+             }
+             g = d + 1 | 0;
+             e = f + -28 | 0;
+             if (e >>> 0 <= 1) {
+              if (e - 1) {
+               d = d + 2 | 0;
+               e = 0;
+               if (t[a + 8 >> 2] <= d >>> 0) {
+                break h;
+               }
+               e = (r[d | 0] | r[g | 0] << 8) << 16 >> 16;
+               break h;
+              }
+              e = 0;
+              if (t[a + 8 >> 2] <= d + 4 >>> 0) {
+               break h;
+              }
+              d = r[d + 1 | 0] | r[d + 2 | 0] << 8 | (r[d + 3 | 0] << 16 | r[d + 4 | 0] << 24);
+              e = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+              break h;
+             }
+             e = f + -139 | 0;
+             if (f >>> 0 <= 246) {
+              break h;
+             }
+             d = q[a + 8 >> 2];
+             if (f >>> 0 <= 250) {
+              e = 0;
+              if (d >>> 0 <= g >>> 0) {
+               break h;
+              }
+              e = (r[g | 0] | f << 8) + -63124 | 0;
+              break h;
+             }
+             e = 0;
+             if (d >>> 0 <= g >>> 0) {
+              break h;
+             }
+             e = 64148 - (r[g | 0] | f << 8) | 0;
+             break h;
+            case 0:
+             d = q[q[a + 16 >> 2] >> 2];
+             f = r[d | 0];
+             if ((f | 0) == 30) {
+              e = Vk(a, d, 0, 0);
+              break h;
+             }
+             g = d + 1 | 0;
+             e = f + -28 | 0;
+             l : {
+              m : {
+               if (e >>> 0 <= 1) {
+                if (e - 1) {
+                 e = 0;
+                 d = d + 2 | 0;
+                 if (t[a + 8 >> 2] <= d >>> 0) {
+                  break i;
+                 }
+                 d = (r[d | 0] | r[g | 0] << 8) << 16 >> 16;
+                 break l;
+                }
+                e = 0;
+                if (t[a + 8 >> 2] <= d + 4 >>> 0) {
+                 break i;
+                }
+                d = r[d + 1 | 0] | r[d + 2 | 0] << 8 | (r[d + 3 | 0] << 16 | r[d + 4 | 0] << 24);
+                d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+                break m;
+               }
+               if (f >>> 0 <= 246) {
+                e = f + -139 | 0;
+                break i;
+               }
+               d = q[a + 8 >> 2];
+               if (f >>> 0 <= 250) {
+                e = 0;
+                if (d >>> 0 <= g >>> 0) {
+                 break i;
+                }
+                d = (r[g | 0] | f << 8) + -63124 | 0;
+                break m;
+               }
+               e = 0;
+               if (d >>> 0 <= g >>> 0) {
+                break i;
+               }
+               d = 64148 - (r[g | 0] | f << 8) | 0;
+              }
+              e = 2147483647;
+              if ((d | 0) > 32767) {
+               break h;
+              }
+             }
+             e = (d | 0) < -32767 ? -2147483647 : d << 16;
+             break h;
+            case 1:
+             d = q[q[a + 16 >> 2] >> 2];
+             f = r[d | 0];
+             if ((f | 0) == 30) {
+              e = Vk(a, d, 3, 0);
+              break h;
+             }
+             g = d + 1 | 0;
+             e = f + -28 | 0;
+             n : {
+              if (e >>> 0 <= 1) {
+               if (e - 1) {
+                d = d + 2 | 0;
+                e = 0;
+                if (t[a + 8 >> 2] <= d >>> 0) {
+                 break h;
+                }
+                d = (r[d | 0] | r[g | 0] << 8) << 16 >> 16;
+                break n;
+               }
+               e = 0;
+               if (t[a + 8 >> 2] <= d + 4 >>> 0) {
+                break h;
+               }
+               d = r[d + 1 | 0] | r[d + 2 | 0] << 8 | (r[d + 3 | 0] << 16 | r[d + 4 | 0] << 24);
+               d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+               break n;
+              }
+              d = f + -139 | 0;
+              if (f >>> 0 <= 246) {
+               break n;
+              }
+              d = q[a + 8 >> 2];
+              if (f >>> 0 <= 250) {
+               e = 0;
+               if (d >>> 0 <= g >>> 0) {
+                break h;
+               }
+               d = (r[g | 0] | f << 8) + -63124 | 0;
+               break n;
+              }
+              e = 0;
+              if (d >>> 0 <= g >>> 0) {
+               break h;
+              }
+              d = 64148 - (r[g | 0] | f << 8) | 0;
+             }
+             e = d >> 31;
+             if ((d + e ^ e) >= 2147484) {
+              e = (d | 0) > 0 ? 2147483647 : -2147483647;
+              break h;
+             }
+             f = w(d, 1e3);
+             e = 2147483647;
+             if ((f | 0) > 32767) {
+              break h;
+             }
+             e = (f | 0) < -32767 ? -2147483647 : w(d, 65536e3);
+             break h;
+            case 4:
+             break j;
+            }
+           }
+           g = q[a + 16 >> 2];
+           d = q[h + 20 >> 2];
+           k = f >>> 0 > d >>> 0 ? d : f;
+           o[j + q[h + 24 >> 2] | 0] = k;
+           if (!k) {
+            break g;
+           }
+           d = 0;
+           while (1) {
+            s = d;
+            o : {
+             p : {
+              e = q[g >> 2];
+              j = r[e | 0];
+              if ((j | 0) != 255) {
+               if ((j | 0) != 30) {
+                break p;
+               }
+               f = Vk(a, e, 0, 0) >> 16;
+               break o;
+              }
+              f = ((r[e + 3 | 0] | (r[e + 2 | 0] << 8 | r[e + 1 | 0] << 16)) << 8) + 32768 >> 16;
+              break o;
+             }
+             d = e + 1 | 0;
+             f = j + -28 | 0;
+             if (f >>> 0 <= 1) {
+              if (f - 1) {
+               e = e + 2 | 0;
+               f = 0;
+               if (t[a + 8 >> 2] <= e >>> 0) {
+                break o;
+               }
+               f = (r[e | 0] | r[d | 0] << 8) << 16 >> 16;
+               break o;
+              }
+              f = 0;
+              if (t[a + 8 >> 2] <= e + 4 >>> 0) {
+               break o;
+              }
+              e = r[e + 1 | 0] | r[e + 2 | 0] << 8 | (r[e + 3 | 0] << 16 | r[e + 4 | 0] << 24);
+              f = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+              break o;
+             }
+             f = j + -139 | 0;
+             if (j >>> 0 <= 246) {
+              break o;
+             }
+             e = q[a + 8 >> 2];
+             if (j >>> 0 <= 250) {
+              f = 0;
+              if (e >>> 0 <= d >>> 0) {
+               break o;
+              }
+              f = (r[d | 0] | j << 8) + -63124 | 0;
+              break o;
+             }
+             f = 0;
+             if (e >>> 0 <= d >>> 0) {
+              break o;
+             }
+             f = 64148 - (r[d | 0] | j << 8) | 0;
+            }
+            d = s + f | 0;
+            q : {
+             r : {
+              e = r[h + 12 | 0];
+              f = e + -1 | 0;
+              if (f >>> 0 > 3) {
+               break r;
+              }
+              s : {
+               switch (f - 1 | 0) {
+               default:
+                o[i | 0] = d;
+                e = r[h + 12 | 0];
+                break q;
+               case 0:
+                p[i >> 1] = d;
+                e = 2;
+                break q;
+               case 1:
+                break r;
+               case 2:
+                break s;
+               }
+              }
+              q[i >> 2] = d;
+              e = 4;
+              break q;
+             }
+             q[i >> 2] = d;
+            }
+            g = g + 4 | 0;
+            i = (e & 255) + i | 0;
+            k = k + -1 | 0;
+            if (k) {
+             continue;
+            }
+            break;
+           }
+           break g;
+          }
+          l = n[q[h + 16 >> 2]](a) | 0;
+          d = 7;
+          if (l) {
+           break c;
+          }
+          l = 0;
+          break g;
+         }
+         e = e << 16;
+        }
+        t : {
+         u : {
+          d = r[h + 12 | 0] + -1 | 0;
+          if (d >>> 0 > 3) {
+           break u;
+          }
+          v : {
+           switch (d - 1 | 0) {
+           case 1:
+           case 2:
+            break u;
+           case 0:
+            break v;
+           default:
+            break t;
+           }
+          }
+          p[i >> 1] = e;
+          break g;
+         }
+         q[i >> 2] = e;
+         break g;
+        }
+        o[i | 0] = e;
+       }
+       if (q[h >> 2] == 8) {
+        break d;
+       }
+      }
+      q[a + 20 >> 2] = q[a + 16 >> 2];
+     }
+     b = b + 1 | 0;
+     d = 0;
+    }
+    d = Y0(d, 30);
+    if (!d) {
+     continue;
+    }
+    break;
+   }
+   if (d + -1 >>> 0 < 3) {
+    break a;
+   }
+  }
+  m = l;
+ }
+ return m;
+}
+function LE(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ q[a >> 2] = b;
+ d = q[c + 4 >> 2];
+ q[a + 4 >> 2] = q[c >> 2];
+ q[a + 8 >> 2] = d;
+ d = q[c + 12 >> 2];
+ q[a + 12 >> 2] = q[c + 8 >> 2];
+ q[a + 16 >> 2] = d;
+ q[a + 20 >> 2] = q[c + 16 >> 2];
+ ty(a + 24 | 0, b, c);
+ q[a + 120 >> 2] = b;
+ q[a + 132 >> 2] = 0;
+ q[a + 124 >> 2] = 0;
+ q[a + 128 >> 2] = 0;
+ f = a;
+ d = 0;
+ a : {
+  if (!Uq(b)) {
+   break a;
+  }
+  d = 1;
+  if ((q[c >> 2] & -2) == 4) {
+   break a;
+  }
+  d = !Bt(b);
+ }
+ c = d;
+ b = f;
+ f = r[a + 136 | 0] & -2 | d;
+ o[b + 136 | 0] = f;
+ b : {
+  c : {
+   d : {
+    e : {
+     f : {
+      g : {
+       h : {
+        i : {
+         j : {
+          d = q[a + 8 >> 2];
+          k : {
+           if ((d | 0) <= 1298230883) {
+            if ((d | 0) <= 1198877297) {
+             if ((d | 0) <= 1130457964) {
+              if ((d | 0) <= 1113943654) {
+               if ((d | 0) <= 1098015073) {
+                if ((d | 0) == 1097100397) {
+                 break i;
+                }
+                if ((d | 0) == 1097363309) {
+                 break c;
+                }
+                b = 236144;
+                break b;
+               }
+               if ((d | 0) == 1098015074) {
+                break i;
+               }
+               if ((d | 0) == 1113681001 | (d | 0) == 1113683051) {
+                break c;
+               }
+               b = 236144;
+               break b;
+              }
+              if ((d | 0) <= 1114792295) {
+               if ((d | 0) == 1113943655) {
+                break g;
+               }
+               if ((d | 0) == 1114139507) {
+                break c;
+               }
+               b = 236144;
+               break b;
+              }
+              if ((d | 0) == 1114792296 | (d | 0) == 1114990441 | (d | 0) == 1114990692) {
+               break c;
+              }
+              b = 236144;
+              break b;
+             }
+             if ((d | 0) <= 1164409199) {
+              if ((d | 0) <= 1147500128) {
+               if ((d | 0) == 1130457965 | (d | 0) == 1130914157) {
+                break c;
+               }
+               b = 236144;
+               break b;
+              }
+              if ((d | 0) == 1147500129) {
+               break g;
+              }
+              if ((d | 0) == 1148151666 | (d | 0) == 1148547180) {
+               break c;
+              }
+              b = 236144;
+              break b;
+             }
+             e = d + -1198485095 | 0;
+             if (e >>> 0 <= 6) {
+              break d;
+             }
+             if ((d | 0) == 1164409200 | (d | 0) == 1198678382) {
+              break c;
+             }
+             b = 236144;
+             break b;
+            }
+            if ((d | 0) <= 1265135465) {
+             if ((d | 0) <= 1215131238) {
+              if ((d | 0) <= 1214344806) {
+               if ((d | 0) == 1198877298 | (d | 0) == 1198879349) {
+                break g;
+               }
+               b = 236144;
+               break b;
+              }
+              e = d + -1214344807 | 0;
+              if (e >>> 0 > 8) {
+               b = 236144;
+               if ((d | 0) != 1214603890) {
+                break b;
+               }
+               b = 236256;
+               break b;
+              }
+              b = 236144;
+              switch (e - 1 | 0) {
+              case 0:
+              case 1:
+              case 2:
+              case 3:
+              case 4:
+              case 5:
+              case 6:
+               break b;
+              case 7:
+               break c;
+              default:
+               break h;
+              }
+             }
+             if ((d | 0) <= 1264675944) {
+              if ((d | 0) == 1215131239 | (d | 0) == 1247901281) {
+               break c;
+              }
+              b = 236144;
+              break b;
+             }
+             if ((d | 0) == 1264675945 | (d | 0) == 1265131890) {
+              break c;
+             }
+             b = 236144;
+             if ((d | 0) != 1265134962) {
+              break b;
+             }
+             b = 240016;
+             break b;
+            }
+            if ((d | 0) <= 1281453934) {
+             if ((d | 0) <= 1265920104) {
+              if ((d | 0) == 1265135466) {
+               break c;
+              }
+              if ((d | 0) == 1265525857) {
+               break g;
+              }
+              b = 236144;
+              break b;
+             }
+             if ((d | 0) == 1265920105 | (d | 0) == 1281453665) {
+              break c;
+             }
+             b = 236144;
+             break b;
+            }
+            if ((d | 0) <= 1281977697) {
+             if ((d | 0) == 1281453935) {
+              break k;
+             }
+             if ((d | 0) == 1281716323) {
+              break c;
+             }
+             b = 236144;
+             break b;
+            }
+            if ((d | 0) == 1281977698 | (d | 0) == 1298229354 | (d | 0) == 1298230113) {
+             break c;
+            }
+            b = 236144;
+            break b;
+           }
+           if ((d | 0) <= 1399415907) {
+            if ((d | 0) <= 1315663726) {
+             if ((d | 0) <= 1299148390) {
+              if ((d | 0) <= 1298954604) {
+               e = d + -1298230884 | 0;
+               if (e >>> 0 > 5) {
+                if ((d | 0) == 1298231907) {
+                 break c;
+                }
+                b = 236144;
+                break b;
+               }
+               b = 236144;
+               switch (e - 1 | 0) {
+               case 0:
+               case 1:
+               case 2:
+               case 3:
+                break b;
+               default:
+                break i;
+               }
+              }
+              if ((d | 0) == 1298954605) {
+               break g;
+              }
+              if ((d | 0) == 1299145833) {
+               break c;
+              }
+              b = 236144;
+              break b;
+             }
+             if ((d | 0) <= 1299803505) {
+              if ((d | 0) == 1299148391) {
+               break i;
+              }
+              if ((d | 0) == 1299473769) {
+               break c;
+              }
+              b = 236144;
+              break b;
+             }
+             if ((d | 0) == 1299803506) {
+              break f;
+             }
+             if ((d | 0) == 1315008100 | (d | 0) == 1315272545) {
+              break c;
+             }
+             b = 236144;
+             break b;
+            }
+            if ((d | 0) <= 1365336422) {
+             if ((d | 0) <= 1349017958) {
+              if ((d | 0) == 1315663727) {
+               break i;
+              }
+              if ((d | 0) == 1332902241) {
+               break g;
+              }
+              b = 236144;
+              break b;
+             }
+             if ((d | 0) == 1349017959 | (d | 0) == 1349020784) {
+              break i;
+             }
+             b = 236144;
+             break b;
+            }
+            if ((d | 0) <= 1383032934) {
+             if ((d | 0) == 1365336423) {
+              break e;
+             }
+             if ((d | 0) == 1382706791) {
+              break c;
+             }
+             b = 236144;
+             break b;
+            }
+            if ((d | 0) == 1383032935) {
+             break i;
+            }
+            if ((d | 0) == 1398895986 | (d | 0) == 1399353956) {
+             break c;
+            }
+            b = 236144;
+            break b;
+           }
+           if ((d | 0) <= 1415670884) {
+            if ((d | 0) <= 1400204899) {
+             if ((d | 0) <= 1399809891) {
+              e = d + -1399418468 | 0;
+              if (e >>> 0 > 4) {
+               if ((d | 0) == 1399415908) {
+                break c;
+               }
+               b = 236144;
+               break b;
+              }
+              b = 236144;
+              switch (e - 1 | 0) {
+              case 0:
+              case 1:
+              case 2:
+               break b;
+              case 3:
+               break g;
+              default:
+               break c;
+              }
+             }
+             if ((d | 0) == 1399809892) {
+              break i;
+             }
+             if ((d | 0) == 1399814511) {
+              break c;
+             }
+             b = 236144;
+             break b;
+            }
+            if ((d | 0) <= 1400468066) {
+             if ((d | 0) == 1400204900 | (d | 0) == 1400466543) {
+              break c;
+             }
+             b = 236144;
+             break b;
+            }
+            if ((d | 0) == 1400468067) {
+             break i;
+            }
+            if ((d | 0) == 1415669602 | (d | 0) == 1415670642) {
+             break c;
+            }
+            b = 236144;
+            break b;
+           }
+           if ((d | 0) <= 1416064102) {
+            if ((d | 0) <= 1415673459) {
+             if ((d | 0) == 1415670885) {
+              break c;
+             }
+             if ((d | 0) == 1415671148) {
+              break g;
+             }
+             b = 236144;
+             break b;
+            }
+            if ((d | 0) == 1415673460) {
+             break c;
+            }
+            if ((d | 0) == 1415933045) {
+             break g;
+            }
+            if ((d | 0) == 1415999079) {
+             break c;
+            }
+            b = 236144;
+            break b;
+           }
+           if ((d | 0) > 1416192627) {
+            break j;
+           }
+           if ((d | 0) == 1416064103) {
+            break c;
+           }
+           b = 236144;
+           if ((d | 0) != 1416126825) {
+            break b;
+           }
+          }
+          b = 250812;
+          break b;
+         }
+         if ((d | 0) == 1416192628 | (d | 0) == 1416196712 | (d | 0) == 1516334690) {
+          break c;
+         }
+         b = 236144;
+         break b;
+        }
+        if (!(q[a + 48 >> 2] == 1145457748 ? (d | 0) != 1098015074 : 0)) {
+         b = 251552;
+         if ((q[a + 4 >> 2] & -2) == 4) {
+          break b;
+         }
+        }
+        b = 236144;
+        break b;
+       }
+       b = 255036;
+       break b;
+      }
+      d = q[a + 48 >> 2];
+      if ((d | 0) == 1145457748) {
+       b = 236144;
+       break b;
+      }
+      b = 236144;
+      if ((d | 0) == 1818326126) {
+       break b;
+      }
+      b = (d & 255) == 51 ? 261088 : 263900;
+      break b;
+     }
+     d = q[a + 48 >> 2];
+     if ((d | 0) == 1145457748) {
+      b = 236144;
+      break b;
+     }
+     if ((d | 0) == 1818326126) {
+      b = 236144;
+      break b;
+     }
+     b = 236144;
+     if ((d | 0) == 1836674418) {
+      break b;
+     }
+     b = 267628;
+     break b;
+    }
+    b = 267684;
+    break b;
+   }
+   b = 236144;
+   switch (e - 1 | 0) {
+   case 0:
+   case 1:
+   case 2:
+   case 3:
+   case 4:
+    break b;
+   default:
+    break c;
+   }
+  }
+  d = q[a + 48 >> 2];
+  if ((d | 0) == 1145457748) {
+   b = 236144;
+   break b;
+  }
+  b = 236144;
+  if ((d | 0) == 1818326126) {
+   break b;
+  }
+  b = 261088;
+ }
+ q[a + 140 >> 2] = b;
+ d = f & -3 | (q[b + 48 >> 2] != 0) << 1;
+ o[a + 136 | 0] = d;
+ o[a + 136 | 0] = d & 251 | r[b + 52 | 0] << 2;
+ if (!(c ^ 1 | (b | 0) == 236144)) {
+  q[a + 140 >> 2] = 236200;
+ }
+ return a;
+}
+function ip(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, t = 0, u = 0, v = 0, x = 0, y = 0;
+ f = Ca - 32 | 0;
+ Ca = f;
+ k = 1;
+ i = q[b + 540 >> 2];
+ if ((d | 0) >= 1) {
+  c = 0;
+  while (1) {
+   g = h;
+   l = q[(c << 3) + e >> 2] + -1768386662 | 0;
+   a : {
+    b : {
+     if (l >>> 0 > 13) {
+      break b;
+     }
+     h = 1;
+     c : {
+      switch (l - 1 | 0) {
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 8:
+      case 9:
+      case 10:
+      case 11:
+       break b;
+      case 12:
+       break c;
+      default:
+       break a;
+      }
+     }
+     j = 1;
+    }
+    h = g;
+   }
+   c = c + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ d : {
+  if (q[q[b + 128 >> 2] + 52 >> 2]) {
+   break d;
+  }
+  g = 0;
+  c = s[b + 152 >> 1];
+  e : {
+   if (!c) {
+    break e;
+   }
+   g = q[b + 156 >> 2];
+   d = g + (c << 4) | 0;
+   c = g;
+   while (1) {
+    if (q[c + 12 >> 2] ? q[c >> 2] == 1735162214 : 0) {
+     break d;
+    }
+    c = c + 16 | 0;
+    if (c >>> 0 < d >>> 0) {
+     continue;
+    }
+    break;
+   }
+   c = g;
+   while (1) {
+    if (q[c + 12 >> 2] ? q[c >> 2] == 1128678944 : 0) {
+     break d;
+    }
+    c = c + 16 | 0;
+    if (c >>> 0 < d >>> 0) {
+     continue;
+    }
+    break;
+   }
+   while (1) {
+    if (q[g + 12 >> 2] ? q[g >> 2] == 1128678962 : 0) {
+     break e;
+    }
+    g = g + 16 | 0;
+    if (g >>> 0 < d >>> 0) {
+     continue;
+    }
+    break;
+   }
+   g = 0;
+  }
+  k = (g | 0) != 0;
+ }
+ c = 0;
+ e = n[q[b + 516 >> 2]](b, 1935829368, a, 0) | 0;
+ g = (e | 0) != 0 & k;
+ f : {
+  g : {
+   h : {
+    if (g) {
+     break h;
+    }
+    d = q[i + 68 >> 2];
+    if (!d) {
+     break h;
+    }
+    d = n[d](b, a) | 0;
+    q[f + 28 >> 2] = d;
+    c = !d;
+    if (!e) {
+     break h;
+    }
+    if (!d) {
+     break g;
+    }
+   }
+   d = n[q[i + 24 >> 2]](b, a) | 0;
+   q[f + 28 >> 2] = d;
+   if (d) {
+    break f;
+   }
+  }
+  d = n[q[b + 516 >> 2]](b, 1128418371, a, 0) | 0;
+  e = n[q[b + 516 >> 2]](b, 1128416340, a, 0) | 0;
+  if ((s[b + 178 >> 1] + -16 & 65535) >>> 0 >= 16369) {
+   q[f + 28 >> 2] = 8;
+   break f;
+  }
+  g = g & ((d | 0) != 0 & (e | 0) != 0);
+  n[q[i + 36 >> 2]](b, a) | 0;
+  n[q[i + 32 >> 2]](b, a) | 0;
+  n[q[i + 48 >> 2]](b, a) | 0;
+  d = n[q[i + 44 >> 2]](b, a) | 0;
+  q[f + 28 >> 2] = d;
+  i : {
+   if (c) {
+    break i;
+   }
+   c = n[q[i + 28 >> 2]](b, a, 0) | 0;
+   q[f + 28 >> 2] = c;
+   j : {
+    k : {
+     if (!c) {
+      c = n[q[i + 92 >> 2]](b, a, 0) | 0;
+      q[f + 28 >> 2] = c;
+      if ((c & 255) != 142) {
+       break k;
+      }
+      q[f + 28 >> 2] = 147;
+      c = q[q[b + 128 >> 2] + 52 >> 2];
+      if (!c | !q[q[c >> 2] + 8 >> 2]) {
+       break f;
+      }
+      p[b + 250 >> 1] = 0;
+      q[f + 28 >> 2] = 0;
+      break j;
+     }
+     if ((c & 255) != 142) {
+      break f;
+     }
+     if (q[b + 148 >> 2] == 1953658213) {
+      g = 0;
+      q[f + 28 >> 2] = 0;
+      break j;
+     }
+     q[f + 28 >> 2] = 143;
+     c = q[q[b + 128 >> 2] + 52 >> 2];
+     if (!c | !q[q[c >> 2] + 8 >> 2]) {
+      break f;
+     }
+     p[b + 250 >> 1] = 0;
+     q[f + 28 >> 2] = 0;
+     break j;
+    }
+    if (c) {
+     break f;
+    }
+   }
+   c = n[q[i + 28 >> 2]](b, a, 1) | 0;
+   q[f + 28 >> 2] = c;
+   l : {
+    m : {
+     if (c) {
+      break m;
+     }
+     c = n[q[i + 92 >> 2]](b, a, 1) | 0;
+     q[f + 28 >> 2] = c;
+     if (c) {
+      break m;
+     }
+     o[b + 292 | 0] = 1;
+     break l;
+    }
+    if ((c & 255) != 142) {
+     break f;
+    }
+   }
+   c = n[q[i + 40 >> 2]](b, a) | 0;
+   q[f + 28 >> 2] = c;
+   if (!c) {
+    break i;
+   }
+   p[b + 372 >> 1] = 65535;
+  }
+  c = q[i + 96 >> 2];
+  if (c) {
+   x = f, y = n[c](b, a) | 0, q[x + 28 >> 2] = y;
+  }
+  c = q[i + 112 >> 2];
+  if (c) {
+   n[c](b, a) | 0;
+   x = f, y = n[q[i + 116 >> 2]](b, a) | 0, q[x + 28 >> 2] = y;
+  }
+  n[q[i + 64 >> 2]](b, a) | 0;
+  n[q[i + 60 >> 2]](b, a) | 0;
+  x = f, y = n[q[i + 56 >> 2]](b, a) | 0, q[x + 28 >> 2] = y;
+  q[b + 20 >> 2] = 0;
+  q[b + 24 >> 2] = 0;
+  q[b + 16 >> 2] = s[b + 264 >> 1];
+  a = b + 24 | 0;
+  c = b + 20 | 0;
+  n : {
+   if (!(!(o[b + 437 | 0] & 1) | s[b + 372 >> 1] == 65535)) {
+    o : {
+     if (!(h & 255)) {
+      e = jp(b, 16, c);
+      q[f + 28 >> 2] = e;
+      if (e) {
+       break f;
+      }
+      if (q[c >> 2]) {
+       break o;
+      }
+     }
+     c = jp(b, 1, c);
+     q[f + 28 >> 2] = c;
+     if (c) {
+      break f;
+     }
+    }
+    if (!j) {
+     c = jp(b, 17, a);
+     q[f + 28 >> 2] = c;
+     if (c) {
+      break f;
+     }
+    }
+    if (q[a >> 2]) {
+     break n;
+    }
+    a = jp(b, 2, a);
+    q[f + 28 >> 2] = a;
+    if (!a) {
+     break n;
+    }
+    break f;
+   }
+   e = jp(b, 21, c);
+   q[f + 28 >> 2] = e;
+   if (e) {
+    break f;
+   }
+   e = q[c >> 2];
+   if (!(e | h & 255)) {
+    e = jp(b, 16, c);
+    q[f + 28 >> 2] = e;
+    if (e) {
+     break f;
+    }
+    e = q[c >> 2];
+   }
+   if (!e) {
+    c = jp(b, 1, c);
+    q[f + 28 >> 2] = c;
+    if (c) {
+     break f;
+    }
+   }
+   c = jp(b, 22, a);
+   q[f + 28 >> 2] = c;
+   if (c) {
+    break f;
+   }
+   c = q[a >> 2];
+   if (!(c | j)) {
+    c = jp(b, 17, a);
+    q[f + 28 >> 2] = c;
+    if (c) {
+     break f;
+    }
+    c = q[a >> 2];
+   }
+   if (c) {
+    break n;
+   }
+   a = jp(b, 2, a);
+   q[f + 28 >> 2] = a;
+   if (a) {
+    break f;
+   }
+  }
+  c = q[b + 8 >> 2];
+  a = g | ((q[b + 872 >> 2] ? 0 : (q[b + 796 >> 2] & -2) != 2) ? c : c | 16384);
+  c = a | 24;
+  c = d ? c : q[b + 476 >> 2] == 196608 ? c : a | 536;
+  a = q[b + 488 >> 2] ? c | 4 : c;
+  a = r[b + 292 | 0] ? a | 32 : a;
+  d = q[b + 820 >> 2] ? a | 64 : a;
+  a = b;
+  if (o[b + 740 | 0] & 1) {
+   e = 0;
+   h = s[b + 152 >> 1];
+   p : {
+    if (!h) {
+     break p;
+    }
+    c = q[b + 156 >> 2];
+    k = c + (h << 4) | 0;
+    h = c;
+    while (1) {
+     q : {
+      if (!(!q[h + 12 >> 2] | q[h >> 2] != 1735162214)) {
+       h = c;
+       r : {
+        while (1) {
+         if (q[h + 12 >> 2] ? q[h >> 2] == 1735811442 : 0) {
+          break r;
+         }
+         h = h + 16 | 0;
+         if (h >>> 0 < k >>> 0) {
+          continue;
+         }
+         break;
+        }
+        h = 0;
+       }
+       d = h ? d | 256 : d;
+       break q;
+      }
+      h = h + 16 | 0;
+      if (h >>> 0 < k >>> 0) {
+       continue;
+      }
+     }
+     break;
+    }
+    while (1) {
+     if (!(!q[c + 12 >> 2] | q[c >> 2] != 1128678962)) {
+      e = c;
+      break p;
+     }
+     c = c + 16 | 0;
+     if (c >>> 0 < k >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   d = e ? d | 256 : d;
+  }
+  q[a + 8 >> 2] = d;
+  a = b;
+  s : {
+   if (!(!g | s[b + 372 >> 1] == 65535)) {
+    c = s[b + 436 >> 1];
+    c = c >>> 4 & 2 | (c & 513) != 0;
+    break s;
+   }
+   c = s[b + 204 >> 1];
+   c = c >>> 1 & 1 | c << 1 & 2;
+  }
+  q[a + 12 >> 2] = c | q[b + 12 >> 2];
+  kp(b);
+  h = q[b + 36 >> 2];
+  t : {
+   if ((h | 0) >= 1) {
+    k = q[b + 40 >> 2];
+    a = 0;
+    c = 0;
+    while (1) {
+     u : {
+      v : {
+       d = q[k + (c << 2) >> 2];
+       j = s[d + 8 >> 1];
+       if (j >>> 0 > 3) {
+        break v;
+       }
+       e = p[d + 10 >> 1];
+       g = 162336;
+       w : {
+        x : {
+         switch (j - 1 | 0) {
+         default:
+          g = 162348;
+          break w;
+         case 0:
+          if (e) {
+           break v;
+          }
+          g = 162360;
+          break w;
+         case 1:
+          break w;
+         case 2:
+          break x;
+         }
+        }
+        g = e & 65535;
+        if (g >>> 0 >= 11 | !(1151 >>> g & 1)) {
+         break v;
+        }
+        g = q[(e << 2) + 163476 >> 2];
+       }
+       e = d;
+       d = q[g + 8 >> 2];
+       q[e + 4 >> 2] = d;
+       if ((d | 0) != 1937337698 ? (d | 0) != 1970170211 : 0) {
+        break u;
+       }
+       a = 1;
+       break u;
+      }
+      q[d + 4 >> 2] = 0;
+     }
+     c = c + 1 | 0;
+     if ((h | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+    if (a & 255) {
+     break t;
+    }
+   }
+   q[f >> 2] = b;
+   q[f + 4 >> 2] = 1970170211;
+   q[f + 8 >> 2] = 65539;
+   a = Xf(161768, 0, f, 0);
+   q[f + 28 >> 2] = a;
+   y : {
+    if (!a) {
+     break y;
+    }
+    a = a & 255;
+    if ((a | 0) == 163) {
+     break y;
+    }
+    if ((a | 0) != 7) {
+     break f;
+    }
+   }
+   q[f + 28 >> 2] = 0;
+  }
+  a = q[b + 800 >> 2];
+  z : {
+   if (!a) {
+    break z;
+   }
+   h = q[q[b + 104 >> 2] + 28 >> 2];
+   e = s[b + 178 >> 1];
+   c = s[b + 374 >> 1];
+   A : {
+    if (!(!e | s[b + 372 >> 1] == 65535)) {
+     break A;
+    }
+    e = 1;
+    c = 1;
+   }
+   x = b, y = Te(h, 16, 0, a, 0, f + 28 | 0), q[x + 32 >> 2] = y;
+   if (q[f + 28 >> 2]) {
+    break f;
+   }
+   k = Te(h, 4, 0, a, 0, f + 28 | 0);
+   if (q[f + 28 >> 2]) {
+    break f;
+   }
+   l = a >>> 0 > 1 ? a : 1;
+   u = e >>> 1 | 0;
+   v = c << 16 >> 16;
+   g = 0;
+   c = 0;
+   while (1) {
+    d = q[b + 32 >> 2];
+    j = n[q[i + 108 >> 2]](b, c, f) | 0;
+    q[f + 28 >> 2] = j;
+    B : {
+     if (j) {
+      break B;
+     }
+     d = d + (g << 4) | 0;
+     p[d >> 1] = q[f + 20 >> 2] >>> 6;
+     j = s[f >> 1];
+     q[d + 8 >> 2] = j << 6;
+     p[d + 2 >> 1] = (w(j, v) + u | 0) / (e | 0);
+     m = s[f + 2 >> 1];
+     t = m << 6;
+     q[d + 4 >> 2] = t;
+     q[d + 12 >> 2] = t;
+     if (!j | !m) {
+      break B;
+     }
+     q[(g << 2) + k >> 2] = c;
+     g = g + 1 | 0;
+    }
+    c = c + 1 | 0;
+    if ((l | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   a = Te(h, 4, a, g, k, f + 28 | 0);
+   if (!g) {
+    break z;
+   }
+   q[b + 804 >> 2] = a;
+   q[b + 28 >> 2] = g;
+   q[b + 8 >> 2] = q[b + 8 >> 2] | 2;
+  }
+  c = q[b + 8 >> 2];
+  if (!(c & 3)) {
+   c = c | 1;
+   q[b + 8 >> 2] = c;
+  }
+  if (!(c & 1)) {
+   break f;
+  }
+  p[b + 68 >> 1] = s[b + 178 >> 1];
+  q[b + 52 >> 2] = p[b + 196 >> 1];
+  q[b + 56 >> 2] = p[b + 198 >> 1];
+  q[b + 60 >> 2] = p[b + 200 >> 1];
+  q[b - -64 >> 2] = p[b + 202 >> 1];
+  d = s[b + 372 >> 1] == 65535;
+  C : {
+   if (!(d | !(r[b + 436 | 0] & 128))) {
+    a = s[b + 442 >> 1];
+    p[b + 70 >> 1] = a;
+    c = s[b + 444 >> 1];
+    p[b + 72 >> 1] = c;
+    p[b + 74 >> 1] = s[b + 446 >> 1] + (a - c | 0);
+    break C;
+   }
+   a = s[b + 220 >> 1];
+   p[b + 70 >> 1] = a;
+   c = s[b + 222 >> 1];
+   p[b + 72 >> 1] = c;
+   p[b + 74 >> 1] = s[b + 224 >> 1] + (a - c | 0);
+   if ((a | c) & 65535 | d) {
+    break C;
+   }
+   a = s[b + 442 >> 1];
+   c = s[b + 444 >> 1];
+   if (a | c) {
+    p[b + 72 >> 1] = c;
+    p[b + 70 >> 1] = a;
+    p[b + 74 >> 1] = s[b + 446 >> 1] + (a - c | 0);
+    break C;
+   }
+   a = s[b + 448 >> 1];
+   p[b + 70 >> 1] = a;
+   c = a;
+   a = s[b + 450 >> 1];
+   p[b + 74 >> 1] = c + a;
+   p[b + 72 >> 1] = 0 - a;
+  }
+  p[b + 76 >> 1] = s[b + 226 >> 1];
+  p[b + 78 >> 1] = s[(r[b + 292 | 0] ? 306 : 74) + b >> 1];
+  a = p[b + 486 >> 1];
+  p[b + 82 >> 1] = a;
+  p[b + 80 >> 1] = s[b + 484 >> 1] - ((a | 0) / 2 | 0);
+ }
+ Ca = f + 32 | 0;
+ return q[f + 28 >> 2];
+}
+function HO(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0, t = 0, u = 0, v = 0;
+ e = Ca + -64 | 0;
+ q = d << 4;
+ r = w(c + 15 & -16, d);
+ u = c << 1;
+ v = u + 4 | 0;
+ if (v >>> 0 >= 17) {
+  k = q << 1;
+  l = 16;
+  while (1) {
+   a : {
+    if (!d) {
+     o = a;
+     break a;
+    }
+    o = a + k | 0;
+    t = 0;
+    c = n;
+    while (1) {
+     f = c - q | 0;
+     f = f >>> 0 < r >>> 0 ? (f << 1) + b | 0 : 437888;
+     p[e >> 1] = s[f >> 1];
+     p[e + 2 >> 1] = s[f + 2 >> 1];
+     p[e + 4 >> 1] = s[f + 4 >> 1];
+     p[e + 6 >> 1] = s[f + 6 >> 1];
+     p[e + 8 >> 1] = s[f + 8 >> 1];
+     p[e + 10 >> 1] = s[f + 10 >> 1];
+     p[e + 12 >> 1] = s[f + 12 >> 1];
+     p[e + 14 >> 1] = s[f + 14 >> 1];
+     p[e + 16 >> 1] = s[f + 16 >> 1];
+     p[e + 18 >> 1] = s[f + 18 >> 1];
+     p[e + 20 >> 1] = s[f + 20 >> 1];
+     p[e + 22 >> 1] = s[f + 22 >> 1];
+     p[e + 24 >> 1] = s[f + 24 >> 1];
+     p[e + 26 >> 1] = s[f + 26 >> 1];
+     g = s[f + 28 >> 1];
+     p[e + 28 >> 1] = g;
+     h = s[f + 30 >> 1];
+     p[e + 30 >> 1] = h;
+     f = c >>> 0 < r >>> 0 ? (c << 1) + b | 0 : 437888;
+     i = s[f >> 1];
+     p[e + 32 >> 1] = i;
+     p[e + 34 >> 1] = s[f + 2 >> 1];
+     p[e + 36 >> 1] = s[f + 4 >> 1];
+     p[e + 38 >> 1] = s[f + 6 >> 1];
+     p[e + 40 >> 1] = s[f + 8 >> 1];
+     p[e + 42 >> 1] = s[f + 10 >> 1];
+     p[e + 44 >> 1] = s[f + 12 >> 1];
+     p[e + 46 >> 1] = s[f + 14 >> 1];
+     p[e + 48 >> 1] = s[f + 16 >> 1];
+     p[e + 50 >> 1] = s[f + 18 >> 1];
+     p[e + 52 >> 1] = s[f + 20 >> 1];
+     p[e + 54 >> 1] = s[f + 22 >> 1];
+     p[e + 56 >> 1] = s[f + 24 >> 1];
+     p[e + 58 >> 1] = s[f + 26 >> 1];
+     p[e + 60 >> 1] = s[f + 28 >> 1];
+     p[e + 62 >> 1] = s[f + 30 >> 1];
+     f = (h + ((g + i & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+     h = h + 1 | 0;
+     p[a + 2 >> 1] = (((f + i & 65534) >>> 1 | 0) + h & 65534) >>> 1;
+     p[a >> 1] = (h + ((f + g & 65534) >>> 1 | 0) & 65534) >>> 1;
+     i = s[e + 32 >> 1];
+     g = s[e + 34 >> 1];
+     h = s[e + 30 >> 1];
+     f = (i + ((g + h & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+     j = (f + g & 65534) >>> 1 | 0;
+     g = i + 1 | 0;
+     p[a + 6 >> 1] = (j + g & 65534) >>> 1;
+     p[a + 4 >> 1] = (g + ((f + h & 65534) >>> 1 | 0) & 65534) >>> 1;
+     i = s[e + 34 >> 1];
+     g = s[e + 36 >> 1];
+     h = s[e + 32 >> 1];
+     f = (i + ((g + h & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+     j = (f + g & 65534) >>> 1 | 0;
+     g = i + 1 | 0;
+     p[a + 10 >> 1] = (j + g & 65534) >>> 1;
+     p[a + 8 >> 1] = (g + ((f + h & 65534) >>> 1 | 0) & 65534) >>> 1;
+     i = s[e + 36 >> 1];
+     g = s[e + 38 >> 1];
+     h = s[e + 34 >> 1];
+     f = (i + ((g + h & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+     j = (f + g & 65534) >>> 1 | 0;
+     g = i + 1 | 0;
+     p[a + 14 >> 1] = (j + g & 65534) >>> 1;
+     p[a + 12 >> 1] = (g + ((f + h & 65534) >>> 1 | 0) & 65534) >>> 1;
+     i = s[e + 38 >> 1];
+     g = s[e + 40 >> 1];
+     h = s[e + 36 >> 1];
+     f = (i + ((g + h & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+     j = (f + g & 65534) >>> 1 | 0;
+     g = i + 1 | 0;
+     p[a + 18 >> 1] = (j + g & 65534) >>> 1;
+     p[a + 16 >> 1] = (g + ((f + h & 65534) >>> 1 | 0) & 65534) >>> 1;
+     i = s[e + 40 >> 1];
+     g = s[e + 42 >> 1];
+     h = s[e + 38 >> 1];
+     f = (i + ((g + h & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+     j = (f + g & 65534) >>> 1 | 0;
+     g = i + 1 | 0;
+     p[a + 22 >> 1] = (j + g & 65534) >>> 1;
+     p[a + 20 >> 1] = (g + ((f + h & 65534) >>> 1 | 0) & 65534) >>> 1;
+     i = s[e + 42 >> 1];
+     g = s[e + 44 >> 1];
+     h = s[e + 40 >> 1];
+     f = (i + ((g + h & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+     j = (f + g & 65534) >>> 1 | 0;
+     g = i + 1 | 0;
+     p[a + 26 >> 1] = (j + g & 65534) >>> 1;
+     p[a + 24 >> 1] = (g + ((f + h & 65534) >>> 1 | 0) & 65534) >>> 1;
+     i = s[e + 44 >> 1];
+     g = s[e + 46 >> 1];
+     h = s[e + 42 >> 1];
+     f = (i + ((g + h & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+     j = (f + g & 65534) >>> 1 | 0;
+     g = i + 1 | 0;
+     p[a + 30 >> 1] = (j + g & 65534) >>> 1;
+     p[a + 28 >> 1] = (g + ((f + h & 65534) >>> 1 | 0) & 65534) >>> 1;
+     j = s[e + 46 >> 1];
+     h = s[e + 48 >> 1];
+     i = s[e + 44 >> 1];
+     g = (j + ((h + i & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+     f = a + k | 0;
+     m = (g + h & 65534) >>> 1 | 0;
+     h = j + 1 | 0;
+     p[f + 2 >> 1] = (m + h & 65534) >>> 1;
+     p[f >> 1] = (h + ((g + i & 65534) >>> 1 | 0) & 65534) >>> 1;
+     j = s[e + 48 >> 1];
+     h = s[e + 50 >> 1];
+     i = s[e + 46 >> 1];
+     g = (j + ((h + i & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+     m = (g + h & 65534) >>> 1 | 0;
+     h = j + 1 | 0;
+     p[f + 6 >> 1] = (m + h & 65534) >>> 1;
+     p[f + 4 >> 1] = (h + ((g + i & 65534) >>> 1 | 0) & 65534) >>> 1;
+     j = s[e + 50 >> 1];
+     h = s[e + 52 >> 1];
+     i = s[e + 48 >> 1];
+     g = (j + ((h + i & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+     m = (g + h & 65534) >>> 1 | 0;
+     h = j + 1 | 0;
+     p[f + 10 >> 1] = (m + h & 65534) >>> 1;
+     p[f + 8 >> 1] = (h + ((g + i & 65534) >>> 1 | 0) & 65534) >>> 1;
+     j = s[e + 52 >> 1];
+     h = s[e + 54 >> 1];
+     i = s[e + 50 >> 1];
+     g = (j + ((h + i & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+     m = (g + h & 65534) >>> 1 | 0;
+     h = j + 1 | 0;
+     p[f + 14 >> 1] = (m + h & 65534) >>> 1;
+     p[f + 12 >> 1] = (h + ((g + i & 65534) >>> 1 | 0) & 65534) >>> 1;
+     j = s[e + 54 >> 1];
+     h = s[e + 56 >> 1];
+     i = s[e + 52 >> 1];
+     g = (j + ((h + i & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+     m = (g + h & 65534) >>> 1 | 0;
+     h = j + 1 | 0;
+     p[f + 18 >> 1] = (m + h & 65534) >>> 1;
+     p[f + 16 >> 1] = (h + ((g + i & 65534) >>> 1 | 0) & 65534) >>> 1;
+     j = s[e + 56 >> 1];
+     h = s[e + 58 >> 1];
+     i = s[e + 54 >> 1];
+     g = (j + ((h + i & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+     m = (g + h & 65534) >>> 1 | 0;
+     h = j + 1 | 0;
+     p[f + 22 >> 1] = (m + h & 65534) >>> 1;
+     p[f + 20 >> 1] = (h + ((g + i & 65534) >>> 1 | 0) & 65534) >>> 1;
+     j = s[e + 58 >> 1];
+     h = s[e + 60 >> 1];
+     i = s[e + 56 >> 1];
+     g = (j + ((h + i & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+     m = (g + h & 65534) >>> 1 | 0;
+     h = j + 1 | 0;
+     p[f + 26 >> 1] = (m + h & 65534) >>> 1;
+     p[f + 24 >> 1] = (h + ((g + i & 65534) >>> 1 | 0) & 65534) >>> 1;
+     j = s[e + 60 >> 1];
+     h = s[e + 62 >> 1];
+     i = s[e + 58 >> 1];
+     g = (j + ((h + i & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+     m = (g + h & 65534) >>> 1 | 0;
+     h = j + 1 | 0;
+     p[f + 30 >> 1] = (m + h & 65534) >>> 1;
+     p[f + 28 >> 1] = (h + ((g + i & 65534) >>> 1 | 0) & 65534) >>> 1;
+     c = c + 16 | 0;
+     a = a + 32 | 0;
+     t = t + 1 | 0;
+     if ((t | 0) != (d | 0)) {
+      continue;
+     }
+     break;
+    }
+    n = n + q | 0;
+   }
+   a = k + o | 0;
+   l = l + 32 | 0;
+   if (l >>> 0 < v >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ if (!(!d | u + 3 & 16)) {
+  o = 0;
+  while (1) {
+   c = n - q | 0;
+   c = c >>> 0 < r >>> 0 ? (c << 1) + b | 0 : 437888;
+   p[e >> 1] = s[c >> 1];
+   p[e + 2 >> 1] = s[c + 2 >> 1];
+   p[e + 4 >> 1] = s[c + 4 >> 1];
+   p[e + 6 >> 1] = s[c + 6 >> 1];
+   p[e + 8 >> 1] = s[c + 8 >> 1];
+   p[e + 10 >> 1] = s[c + 10 >> 1];
+   p[e + 12 >> 1] = s[c + 12 >> 1];
+   p[e + 14 >> 1] = s[c + 14 >> 1];
+   p[e + 16 >> 1] = s[c + 16 >> 1];
+   p[e + 18 >> 1] = s[c + 18 >> 1];
+   p[e + 20 >> 1] = s[c + 20 >> 1];
+   p[e + 22 >> 1] = s[c + 22 >> 1];
+   p[e + 24 >> 1] = s[c + 24 >> 1];
+   p[e + 26 >> 1] = s[c + 26 >> 1];
+   f = s[c + 28 >> 1];
+   p[e + 28 >> 1] = f;
+   k = s[c + 30 >> 1];
+   p[e + 30 >> 1] = k;
+   c = n >>> 0 < r >>> 0 ? (n << 1) + b | 0 : 437888;
+   l = s[c >> 1];
+   p[e + 32 >> 1] = l;
+   p[e + 34 >> 1] = s[c + 2 >> 1];
+   p[e + 36 >> 1] = s[c + 4 >> 1];
+   p[e + 38 >> 1] = s[c + 6 >> 1];
+   p[e + 40 >> 1] = s[c + 8 >> 1];
+   p[e + 42 >> 1] = s[c + 10 >> 1];
+   p[e + 44 >> 1] = s[c + 12 >> 1];
+   p[e + 46 >> 1] = s[c + 14 >> 1];
+   p[e + 48 >> 1] = s[c + 16 >> 1];
+   p[e + 50 >> 1] = s[c + 18 >> 1];
+   p[e + 52 >> 1] = s[c + 20 >> 1];
+   p[e + 54 >> 1] = s[c + 22 >> 1];
+   p[e + 56 >> 1] = s[c + 24 >> 1];
+   p[e + 58 >> 1] = s[c + 26 >> 1];
+   p[e + 60 >> 1] = s[c + 28 >> 1];
+   p[e + 62 >> 1] = s[c + 30 >> 1];
+   c = (k + ((f + l & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+   k = k + 1 | 0;
+   p[a + 2 >> 1] = (((c + l & 65534) >>> 1 | 0) + k & 65534) >>> 1;
+   p[a >> 1] = (k + ((c + f & 65534) >>> 1 | 0) & 65534) >>> 1;
+   l = s[e + 32 >> 1];
+   f = s[e + 34 >> 1];
+   k = s[e + 30 >> 1];
+   c = (l + ((f + k & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+   g = (c + f & 65534) >>> 1 | 0;
+   f = l + 1 | 0;
+   p[a + 6 >> 1] = (g + f & 65534) >>> 1;
+   p[a + 4 >> 1] = (f + ((c + k & 65534) >>> 1 | 0) & 65534) >>> 1;
+   l = s[e + 34 >> 1];
+   f = s[e + 36 >> 1];
+   k = s[e + 32 >> 1];
+   c = (l + ((f + k & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+   g = (c + f & 65534) >>> 1 | 0;
+   f = l + 1 | 0;
+   p[a + 10 >> 1] = (g + f & 65534) >>> 1;
+   p[a + 8 >> 1] = (f + ((c + k & 65534) >>> 1 | 0) & 65534) >>> 1;
+   l = s[e + 36 >> 1];
+   f = s[e + 38 >> 1];
+   k = s[e + 34 >> 1];
+   c = (l + ((f + k & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+   g = (c + f & 65534) >>> 1 | 0;
+   f = l + 1 | 0;
+   p[a + 14 >> 1] = (g + f & 65534) >>> 1;
+   p[a + 12 >> 1] = (f + ((c + k & 65534) >>> 1 | 0) & 65534) >>> 1;
+   l = s[e + 38 >> 1];
+   f = s[e + 40 >> 1];
+   k = s[e + 36 >> 1];
+   c = (l + ((f + k & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+   g = (c + f & 65534) >>> 1 | 0;
+   f = l + 1 | 0;
+   p[a + 18 >> 1] = (g + f & 65534) >>> 1;
+   p[a + 16 >> 1] = (f + ((c + k & 65534) >>> 1 | 0) & 65534) >>> 1;
+   l = s[e + 40 >> 1];
+   f = s[e + 42 >> 1];
+   k = s[e + 38 >> 1];
+   c = (l + ((f + k & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+   g = (c + f & 65534) >>> 1 | 0;
+   f = l + 1 | 0;
+   p[a + 22 >> 1] = (g + f & 65534) >>> 1;
+   p[a + 20 >> 1] = (f + ((c + k & 65534) >>> 1 | 0) & 65534) >>> 1;
+   l = s[e + 42 >> 1];
+   f = s[e + 44 >> 1];
+   k = s[e + 40 >> 1];
+   c = (l + ((f + k & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+   g = (c + f & 65534) >>> 1 | 0;
+   f = l + 1 | 0;
+   p[a + 26 >> 1] = (g + f & 65534) >>> 1;
+   p[a + 24 >> 1] = (f + ((c + k & 65534) >>> 1 | 0) & 65534) >>> 1;
+   l = s[e + 44 >> 1];
+   f = s[e + 46 >> 1];
+   k = s[e + 42 >> 1];
+   c = (l + ((f + k & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+   g = (c + f & 65534) >>> 1 | 0;
+   f = l + 1 | 0;
+   p[a + 30 >> 1] = (g + f & 65534) >>> 1;
+   p[a + 28 >> 1] = (f + ((c + k & 65534) >>> 1 | 0) & 65534) >>> 1;
+   n = n + 16 | 0;
+   a = a + 32 | 0;
+   o = o + 1 | 0;
+   if ((o | 0) != (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function wj(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      if (b >>> 0 > 45) {
+       break e;
+      }
+      f = (e | 0) > 0 ? e : 0;
+      f : {
+       g : {
+        switch (b - 1 | 0) {
+        default:
+         b = 1;
+         if (!d | (e | 0) < 1) {
+          break c;
+         }
+         o[d | 0] = r[a + 437 | 0];
+         break b;
+        case 0:
+         if (c >>> 0 > 3) {
+          break e;
+         }
+         b = 4;
+         if (!d | f >>> 0 < 4) {
+          break c;
+         }
+         if (c >>> 0 > 3) {
+          q[d >> 2] = 0;
+          break c;
+         }
+         h : {
+          i : {
+           switch (c - 1 | 0) {
+           default:
+            a = a + 440 | 0;
+            break h;
+           case 0:
+            a = a + 444 | 0;
+            break h;
+           case 1:
+            a = a + 448 | 0;
+            break h;
+           case 2:
+            break i;
+           }
+          }
+          a = a + 452 | 0;
+         }
+         q[d >> 2] = q[a >> 2];
+         break c;
+        case 1:
+         if (c >>> 0 > 3) {
+          break e;
+         }
+         b = 4;
+         if (!d | f >>> 0 < 4) {
+          break c;
+         }
+         if (c >>> 0 > 3) {
+          q[d >> 2] = 0;
+          break c;
+         }
+         j : {
+          k : {
+           switch (c - 1 | 0) {
+           default:
+            a = a + 464 | 0;
+            break j;
+           case 0:
+            a = a + 468 | 0;
+            break j;
+           case 1:
+            a = a + 472 | 0;
+            break j;
+           case 2:
+            break k;
+           }
+          }
+          a = a + 476 | 0;
+         }
+         q[d >> 2] = q[a >> 2];
+         break c;
+        case 2:
+         b = 1;
+         if (!d | (e | 0) < 1) {
+          break c;
+         }
+         o[d | 0] = r[a + 436 | 0];
+         break b;
+        case 3:
+         a = q[a + 364 >> 2];
+         if (!a) {
+          break e;
+         }
+         b = g0(a) + 1 | 0;
+         if (!d | f >>> 0 < b >>> 0) {
+          break f;
+         }
+         Y$(d, a, b);
+         break f;
+        case 4:
+         b = 4;
+         if (!d | f >>> 0 < 4) {
+          break c;
+         }
+         q[d >> 2] = q[a + 168 >> 2];
+         break c;
+        case 5:
+         b = 4;
+         if (!d | f >>> 0 < 4) {
+          break c;
+         }
+         q[d >> 2] = q[a + 420 >> 2];
+         break c;
+        case 6:
+         if (t[a + 420 >> 2] <= c >>> 0) {
+          break e;
+         }
+         a = q[q[a + 424 >> 2] + (c << 2) >> 2];
+         c = g0(a);
+         b = c + 1 | 0;
+         if (!d | f >>> 0 < b >>> 0) {
+          break f;
+         }
+         g = Y$(d, a, b) + c | 0, h = 0, o[g | 0] = h;
+         break f;
+        case 7:
+         if (t[a + 420 >> 2] <= c >>> 0) {
+          break e;
+         }
+         e = q[q[a + 432 >> 2] + (c << 2) >> 2];
+         b = e + 1 | 0;
+         if (!d | f >>> 0 < b >>> 0) {
+          break f;
+         }
+         g = Y$(d, q[q[a + 428 >> 2] + (c << 2) >> 2], e) + e | 0, h = 0, o[g | 0] = h;
+         break f;
+        case 8:
+         b = 4;
+         if (!d | f >>> 0 < 4) {
+          break c;
+         }
+         q[d >> 2] = q[a + 368 >> 2];
+         break c;
+        case 9:
+         if (q[a + 368 >> 2] != 1 | t[a + 372 >> 2] <= c >>> 0) {
+          break e;
+         }
+         c = q[q[a + 388 >> 2] + (c << 2) >> 2];
+         a = g0(c);
+         b = a + 1 | 0;
+         if (!d | f >>> 0 < b >>> 0) {
+          break f;
+         }
+         g = Y$(d, c, a) + a | 0, h = 0, o[g | 0] = h;
+         break f;
+        case 10:
+         b = 4;
+         if (!d | f >>> 0 < 4) {
+          break c;
+         }
+         q[d >> 2] = q[a + 404 >> 2];
+         break c;
+        case 11:
+         b = q[a + 416 >> 2];
+         l : {
+          if (b) {
+           b = ff(c, b);
+           if (!b) {
+            break e;
+           }
+           c = q[b >> 2];
+           break l;
+          }
+          if (t[a + 404 >> 2] <= c >>> 0) {
+           break e;
+          }
+         }
+         e = q[a + 408 >> 2];
+         if (!e) {
+          break e;
+         }
+         a = q[q[a + 412 >> 2] + (c << 2) >> 2];
+         b = a + 1 | 0;
+         if (!d | f >>> 0 < b >>> 0) {
+          break f;
+         }
+         g = Y$(d, q[e + (c << 2) >> 2], a) + a | 0, h = 0, o[g | 0] = h;
+         break f;
+        case 12:
+         b = 2;
+         if (!d | f >>> 0 < 2) {
+          break c;
+         }
+         p[d >> 1] = s[a + 288 >> 1];
+         break a;
+        case 13:
+         b = 2;
+         if (!d | f >>> 0 < 2) {
+          break c;
+         }
+         p[d >> 1] = s[a + 290 >> 1];
+         break a;
+        case 14:
+         b = 1;
+         if (!d | (e | 0) < 1) {
+          break c;
+         }
+         o[d | 0] = r[a + 176 | 0];
+         break b;
+        case 15:
+         if (r[a + 176 | 0] <= c >>> 0) {
+          break e;
+         }
+         b = 2;
+         if (!d | f >>> 0 < 2) {
+          break c;
+         }
+         p[d >> 1] = s[((c << 1) + a | 0) + 180 >> 1];
+         break a;
+        case 23:
+         b = 4;
+         if (!d | f >>> 0 < 4) {
+          break c;
+         }
+         q[d >> 2] = q[a + 276 >> 2];
+         break c;
+        case 16:
+         b = 4;
+         if (!d | f >>> 0 < 4) {
+          break c;
+         }
+         q[d >> 2] = q[a + 284 >> 2];
+         break c;
+        case 24:
+         b = 4;
+         if (!d | f >>> 0 < 4) {
+          break c;
+         }
+         q[d >> 2] = q[a + 280 >> 2];
+         break c;
+        case 17:
+         b = 1;
+         if (!d | (e | 0) < 1) {
+          break c;
+         }
+         o[d | 0] = r[a + 177 | 0];
+         break b;
+        case 18:
+         if (r[a + 177 | 0] <= c >>> 0) {
+          break e;
+         }
+         b = 2;
+         if (!d | f >>> 0 < 2) {
+          break c;
+         }
+         p[d >> 1] = s[((c << 1) + a | 0) + 208 >> 1];
+         break a;
+        case 19:
+         b = 1;
+         if (!d | (e | 0) < 1) {
+          break c;
+         }
+         o[d | 0] = r[a + 178 | 0];
+         break b;
+        case 20:
+         if (r[a + 178 | 0] <= c >>> 0) {
+          break e;
+         }
+         b = 2;
+         if (!d | f >>> 0 < 2) {
+          break c;
+         }
+         p[d >> 1] = s[((c << 1) + a | 0) + 228 >> 1];
+         break a;
+        case 21:
+         b = 1;
+         if (!d | (e | 0) < 1) {
+          break c;
+         }
+         o[d | 0] = r[a + 179 | 0];
+         break b;
+        case 22:
+         if (r[a + 179 | 0] <= c >>> 0) {
+          break e;
+         }
+         b = 2;
+         if (!d | f >>> 0 < 2) {
+          break c;
+         }
+         p[d >> 1] = s[((c << 1) + a | 0) + 256 >> 1];
+         break a;
+        case 25:
+         b = 1;
+         if (!d | (e | 0) < 1) {
+          break c;
+         }
+         o[d | 0] = r[a + 292 | 0];
+         break b;
+        case 26:
+         if (r[a + 292 | 0] <= c >>> 0) {
+          break e;
+         }
+         b = 2;
+         if (!d | f >>> 0 < 2) {
+          break c;
+         }
+         p[d >> 1] = s[((c << 1) + a | 0) + 296 >> 1];
+         break a;
+        case 27:
+         b = 1;
+         if (!d | (e | 0) < 1) {
+          break c;
+         }
+         o[d | 0] = r[a + 293 | 0];
+         break b;
+        case 28:
+         if (r[a + 293 | 0] <= c >>> 0) {
+          break e;
+         }
+         b = 2;
+         if (!d | f >>> 0 < 2) {
+          break c;
+         }
+         p[d >> 1] = s[((c << 1) + a | 0) + 322 >> 1];
+         break a;
+        case 30:
+         b = 1;
+         if (!d | (e | 0) < 1) {
+          break c;
+         }
+         o[d | 0] = r[a + 295 | 0];
+         break b;
+        case 29:
+         b = 1;
+         if (!d | (e | 0) < 1) {
+          break c;
+         }
+         o[d | 0] = r[a + 294 | 0];
+         break b;
+        case 31:
+         if (c >>> 0 > 1) {
+          break e;
+         }
+         b = 2;
+         if (!d | f >>> 0 < 2) {
+          break c;
+         }
+         p[d >> 1] = s[((c << 1) + a | 0) + 360 >> 1];
+         break a;
+        case 32:
+         b = 4;
+         if (!d | f >>> 0 < 4) {
+          break c;
+         }
+         q[d >> 2] = q[a + 172 >> 2];
+         break c;
+        case 33:
+         b = 4;
+         if (!d | f >>> 0 < 4) {
+          break c;
+         }
+         q[d >> 2] = q[a + 356 >> 2];
+         break c;
+        case 34:
+         b = 4;
+         if (!d | f >>> 0 < 4) {
+          break c;
+         }
+         q[d >> 2] = q[a + 352 >> 2];
+         break c;
+        case 40:
+         b = 1;
+         if (!d | (e | 0) < 1) {
+          break c;
+         }
+         o[d | 0] = r[a + 156 | 0];
+         break b;
+        case 41:
+         b = 2;
+         if (!d | f >>> 0 < 2) {
+          break c;
+         }
+         p[d >> 1] = s[a + 158 >> 1];
+         break a;
+        case 42:
+         b = 2;
+         if (!d | f >>> 0 < 2) {
+          break c;
+         }
+         p[d >> 1] = s[a + 160 >> 1];
+         break a;
+        case 43:
+         b = 2;
+         if (!d | f >>> 0 < 2) {
+          break c;
+         }
+         p[d >> 1] = s[a + 164 >> 1];
+         break a;
+        case 35:
+         a = q[a + 132 >> 2];
+         if (!a) {
+          break e;
+         }
+         b = g0(a) + 1 | 0;
+         if (!d | f >>> 0 < b >>> 0) {
+          break f;
+         }
+         Y$(d, a, b);
+         break f;
+        case 36:
+         a = q[a + 136 >> 2];
+         if (!a) {
+          break e;
+         }
+         b = g0(a) + 1 | 0;
+         if (!d | f >>> 0 < b >>> 0) {
+          break f;
+         }
+         Y$(d, a, b);
+         break f;
+        case 37:
+         a = q[a + 140 >> 2];
+         if (!a) {
+          break e;
+         }
+         b = g0(a) + 1 | 0;
+         if (!d | f >>> 0 < b >>> 0) {
+          break f;
+         }
+         Y$(d, a, b);
+         break f;
+        case 38:
+         a = q[a + 144 >> 2];
+         if (!a) {
+          break e;
+         }
+         b = g0(a) + 1 | 0;
+         if (!d | f >>> 0 < b >>> 0) {
+          break f;
+         }
+         Y$(d, a, b);
+         break f;
+        case 44:
+         break d;
+        case 39:
+         break g;
+        }
+       }
+       a = q[a + 148 >> 2];
+       if (!a) {
+        break e;
+       }
+       b = g0(a) + 1 | 0;
+       if (!d | f >>> 0 < b >>> 0) {
+        break f;
+       }
+       Y$(d, a, b);
+      }
+      if (b) {
+       break c;
+      }
+     }
+     return -1;
+    }
+    b = 4;
+    if (!d | f >>> 0 < 4) {
+     break c;
+    }
+    q[d >> 2] = q[a + 152 >> 2];
+   }
+   return b | 0;
+  }
+  return 1;
+ }
+ return 2;
+}
+function Ff(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, s = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0;
+ h = Ca - 32 | 0;
+ Ca = h;
+ u = q[a >> 2];
+ c = xg(b, c, h + 24 | 0, h + 20 | 0);
+ a : {
+  if (c) {
+   break a;
+  }
+  c = 1;
+  b : {
+   c : {
+    d : {
+     e : {
+      f = q[h + 24 >> 2];
+      k = q[h + 20 >> 2];
+      if (!Cg(a, b, f, k, 1347375956, 1, h + 16 | 0, h + 12 | 0)) {
+       v = q[h + 16 >> 2];
+       if (d + 1 >>> 0 > 1) {
+        break e;
+       }
+       c = 10;
+       z = q[h + 12 >> 2];
+       if ((z | 0) < 1) {
+        break e;
+       }
+       w = q[a >> 2];
+       f : {
+        while (1) {
+         d = q[v + (l << 2) >> 2];
+         g : {
+          h : {
+           f = q[b + 20 >> 2];
+           if (f) {
+            if (!n[f](b, d, 0, 0)) {
+             break h;
+            }
+            c = 85;
+            break e;
+           }
+           f = q[b + 4 >> 2];
+           if (f >>> 0 >= d >>> 0) {
+            break g;
+           }
+           c = 85;
+           break d;
+          }
+          f = q[b + 4 >> 2];
+         }
+         q[b + 8 >> 2] = d;
+         if (d + 3 >>> 0 >= f >>> 0) {
+          break f;
+         }
+         i : {
+          j : {
+           f = q[b + 20 >> 2];
+           k : {
+            if (f) {
+             if ((n[f](b, d, h + 28 | 0, 4) | 0) != 4) {
+              break f;
+             }
+             d = q[b + 8 >> 2];
+             f = h + 28 | 0;
+             break k;
+            }
+            f = q[b >> 2];
+            if (!f) {
+             break j;
+            }
+            f = d + f | 0;
+           }
+           f = r[f | 0] | r[f + 1 | 0] << 8 | (r[f + 2 | 0] << 16 | r[f + 3 | 0] << 24);
+           q[b + 8 >> 2] = d + 4;
+           d = f << 8 & 16711680 | f << 24 | (f >>> 8 & 65280 | f >>> 24);
+           if (d >>> 0 <= 16777215) {
+            break i;
+           }
+           c = 9;
+           break e;
+          }
+          q[b + 8 >> 2] = d + 4;
+          d = 0;
+         }
+         f = x + 6 | 0;
+         if (16777215 - d >>> 0 < f >>> 0) {
+          c = 9;
+          break e;
+         }
+         x = d + f | 0;
+         l = l + 1 | 0;
+         if ((z | 0) != (l | 0)) {
+          continue;
+         }
+         break;
+        }
+        m = x + 2 | 0;
+        if (m >>> 0 < 6) {
+         break e;
+        }
+        c = 6;
+        if ((m | 0) < 1) {
+         break e;
+        }
+        c = n[q[w + 4 >> 2]](w, m) | 0;
+        if (!c) {
+         c = 64;
+         break e;
+        }
+        j = Z$(c, 0, m);
+        o[j + 2 | 0] = 0;
+        o[j + 3 | 0] = 0;
+        o[j + 4 | 0] = 0;
+        o[j + 5 | 0] = 0;
+        o[j | 0] = 384;
+        o[j + 1 | 0] = 1;
+        p = 2;
+        k = 6;
+        s = 1;
+        l = 0;
+        l : {
+         while (1) {
+          c = q[v + (l << 2) >> 2];
+          d = q[b + 20 >> 2];
+          m : {
+           if (d) {
+            if (n[d](b, c, 0, 0)) {
+             break l;
+            }
+            d = q[b + 4 >> 2];
+            break m;
+           }
+           d = q[b + 4 >> 2];
+           if (d >>> 0 < c >>> 0) {
+            break l;
+           }
+          }
+          q[b + 8 >> 2] = c;
+          if (c + 3 >>> 0 >= d >>> 0) {
+           break l;
+          }
+          n : {
+           o : {
+            f = q[b + 20 >> 2];
+            if (f) {
+             if ((n[f](b, c, h + 28 | 0, 4) | 0) != 4) {
+              break l;
+             }
+             c = q[b + 8 >> 2];
+             d = h + 28 | 0;
+             break o;
+            }
+            f = q[b >> 2];
+            if (f) {
+             d = c + f | 0;
+             break o;
+            }
+            c = c + 4 | 0;
+            q[b + 8 >> 2] = c;
+            f = 0;
+            break n;
+           }
+           d = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+           c = c + 4 | 0;
+           q[b + 8 >> 2] = c;
+           f = d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24);
+           if ((f | 0) < 0) {
+            break l;
+           }
+           d = q[b + 4 >> 2];
+          }
+          if (c + 1 >>> 0 >= d >>> 0) {
+           break l;
+          }
+          p : {
+           q : {
+            r : {
+             d = q[b + 20 >> 2];
+             if (d) {
+              if ((n[d](b, c, h + 28 | 0, 2) | 0) != 2) {
+               break l;
+              }
+              c = q[b + 8 >> 2];
+              d = h + 28 | 0;
+              break r;
+             }
+             d = q[b >> 2];
+             if (d) {
+              d = c + d | 0;
+              break r;
+             }
+             q[b + 8 >> 2] = c + 2;
+             break q;
+            }
+            i = r[d | 0];
+            q[b + 8 >> 2] = c + 2;
+            if (!i) {
+             break q;
+            }
+            c = f + -2 | 0;
+            d = c >>> 0 > f >>> 0 ? 0 : c;
+            s : {
+             if ((i | 0) == (s | 0)) {
+              f = k;
+              g = d + g | 0;
+              break s;
+             }
+             f = p + 3 | 0;
+             if (f >>> 0 > m >>> 0) {
+              break l;
+             }
+             c = j + p | 0;
+             o[c | 0] = g;
+             o[c + 2 | 0] = g >>> 16;
+             o[c + 1 | 0] = g >>> 8;
+             o[f + j | 0] = g >>> 24;
+             if ((i | 0) == 5) {
+              break p;
+             }
+             f = k + 6 | 0;
+             if (f >>> 0 > m >>> 0) {
+              break l;
+             }
+             g = j + k | 0;
+             o[g | 0] = 128;
+             p = k + 2 | 0;
+             c = p + j | 0;
+             o[c | 0] = 0;
+             o[c + 1 | 0] = 0;
+             o[c + 2 | 0] = 0;
+             o[c + 3 | 0] = 0;
+             o[g + 1 | 0] = i;
+             s = i;
+             g = d;
+            }
+            if (f >>> 0 > x >>> 0) {
+             break l;
+            }
+            k = d + f | 0;
+            if (k >>> 0 > x >>> 0) {
+             break l;
+            }
+            i = q[b + 4 >> 2];
+            c = q[b + 8 >> 2];
+            if (i >>> 0 <= c >>> 0) {
+             break l;
+            }
+            f = f + j | 0;
+            y = q[b + 20 >> 2];
+            t : {
+             if (y) {
+              f = n[y](b, c, f, d) | 0;
+              break t;
+             }
+             y = f;
+             f = i - c | 0;
+             f = f >>> 0 > d >>> 0 ? d : f;
+             Y$(y, c + q[b >> 2] | 0, f);
+            }
+            q[b + 8 >> 2] = c + f;
+            if (f >>> 0 < d >>> 0) {
+             break l;
+            }
+           }
+           l = l + 1 | 0;
+           if ((z | 0) != (l | 0)) {
+            continue;
+           }
+          }
+          break;
+         }
+         c = k + 2 | 0;
+         if (c >>> 0 > m >>> 0) {
+          break l;
+         }
+         b = j + k | 0;
+         o[b | 0] = 896;
+         o[b + 1 | 0] = 3;
+         d = p + 3 | 0;
+         if (d >>> 0 > m >>> 0) {
+          break l;
+         }
+         b = j + p | 0;
+         o[b | 0] = g;
+         o[b + 2 | 0] = g >>> 16;
+         o[b + 1 | 0] = g >>> 8;
+         o[d + j | 0] = g >>> 24;
+         c = bh(a, j, c, 0, 4012, e);
+         break e;
+        }
+        n[q[w + 8 >> 2]](w, j);
+        c = 1;
+        break e;
+       }
+       c = 85;
+       break e;
+      }
+      c = Cg(a, b, f, k, 1936092788, 0, h + 16 | 0, h + 12 | 0);
+      if (c) {
+       break a;
+      }
+      s = q[h + 12 >> 2];
+      c = (d | 0) % (s | 0) | 0;
+      i = c >> 31 ^ c;
+      u : {
+       if ((i | 0) >= (s | 0)) {
+        d = q[h + 16 >> 2];
+        c = 1;
+        break u;
+       }
+       k = q[a >> 2];
+       d = q[h + 16 >> 2];
+       f = q[d + (i << 2) >> 2];
+       v : {
+        w : {
+         c = q[b + 20 >> 2];
+         if (c) {
+          if (!n[c](b, f, 0, 0)) {
+           break w;
+          }
+          c = 85;
+          break u;
+         }
+         c = q[b + 4 >> 2];
+         if (c >>> 0 >= f >>> 0) {
+          break v;
+         }
+         c = 85;
+         break u;
+        }
+        c = q[b + 4 >> 2];
+       }
+       q[b + 8 >> 2] = f;
+       x : {
+        y : {
+         if (f + 3 >>> 0 >= c >>> 0) {
+          break y;
+         }
+         c = q[b + 20 >> 2];
+         if (c) {
+          if ((n[c](b, f, h + 28 | 0, 4) | 0) != 4) {
+           break y;
+          }
+          c = q[b + 8 >> 2];
+          g = h + 28 | 0;
+          break x;
+         }
+         c = q[b >> 2];
+         if (c) {
+          g = c + f | 0;
+          c = f;
+          break x;
+         }
+         q[b + 8 >> 2] = f + 4;
+         c = 1;
+         break u;
+        }
+        c = 85;
+        break u;
+       }
+       g = r[g | 0] | r[g + 1 | 0] << 8 | (r[g + 2 | 0] << 16 | r[g + 3 | 0] << 24);
+       q[b + 8 >> 2] = c + 4;
+       g = g << 8 & 16711680 | g << 24 | (g >>> 8 & 65280 | g >>> 24);
+       c = 1;
+       if ((g | 0) < 1) {
+        break u;
+       }
+       c = 9;
+       if (g >>> 0 > 16777215) {
+        break u;
+       }
+       c = 0;
+       if (!Bf(a, b, i, e)) {
+        break u;
+       }
+       c = f + 4 | 0;
+       z : {
+        f = q[b + 20 >> 2];
+        if (f) {
+         if (!n[f](b, c, 0, 0)) {
+          break z;
+         }
+         c = 85;
+         break u;
+        }
+        if (t[b + 4 >> 2] >= c >>> 0) {
+         break z;
+        }
+        c = 85;
+        break u;
+       }
+       q[b + 8 >> 2] = c;
+       f = n[q[k + 4 >> 2]](k, g) | 0;
+       c = 64;
+       if (!f) {
+        break u;
+       }
+       c = Z$(f, 0, g);
+       A : {
+        i = q[b + 4 >> 2];
+        f = q[b + 8 >> 2];
+        if (i >>> 0 > f >>> 0) {
+         j = q[b + 20 >> 2];
+         B : {
+          if (j) {
+           i = n[j](b, f, c, g) | 0;
+           break B;
+          }
+          i = i - f | 0;
+          i = i >>> 0 > g >>> 0 ? g : i;
+          Y$(c, f + q[b >> 2] | 0, i);
+         }
+         q[b + 8 >> 2] = f + i;
+         if (i >>> 0 >= g >>> 0) {
+          break A;
+         }
+        }
+        n[q[k + 8 >> 2]](k, c);
+        c = 85;
+        break u;
+       }
+       f = g;
+       c = bh(a, c, f, 0, (f | 0) >= 5 ? (r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24)) == 1330926671 ? 4018 : 3848 : 3848, e);
+      }
+      if (d) {
+       n[q[u + 8 >> 2]](u, d);
+      }
+      q[h + 16 >> 2] = 0;
+      if (c) {
+       break a;
+      }
+      q[q[e >> 2] >> 2] = s;
+      break b;
+     }
+     if (!v) {
+      break c;
+     }
+    }
+    n[q[u + 8 >> 2]](u, v);
+   }
+   q[h + 16 >> 2] = 0;
+   if (c) {
+    break a;
+   }
+   q[q[e >> 2] >> 2] = 1;
+  }
+  c = 0;
+ }
+ Ca = h + 32 | 0;
+ return c;
+}
+function Ez(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ e = Ca - 96 | 0;
+ Ca = e;
+ a : {
+  if (q[a + 24 >> 2] == 9) {
+   c = q[a + 140 >> 2];
+   q[e + 88 >> 2] = q[a + 136 >> 2];
+   q[e + 92 >> 2] = c;
+   c = q[a + 132 >> 2];
+   q[e + 80 >> 2] = q[a + 128 >> 2];
+   q[e + 84 >> 2] = c;
+   j = q[a + 32 >> 2];
+   b : {
+    if (!j) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break b;
+    }
+    c = q[a + 36 >> 2];
+   }
+   k = r[a + 176 | 0];
+   c : {
+    if (!k) {
+     break c;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break c;
+    }
+    h = q[c + 24 >> 2];
+    i = q[a + 172 >> 2];
+    g = v[c >> 3];
+    while (1) {
+     g = g + v[h + (f << 3) >> 3] * +u[i + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((d | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break c;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   if (t[a + 24 >> 2] <= 1) {
+    o[a + 20 | 0] = 1;
+   }
+   d : {
+    if (j >>> 0 <= 1) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break d;
+    }
+    d = q[a + 36 >> 2] + 32 | 0;
+   }
+   e : {
+    if (!k) {
+     break e;
+    }
+    h = q[d + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break e;
+    }
+    i = q[d + 24 >> 2];
+    l = q[a + 172 >> 2];
+    g = v[d >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[i + (f << 3) >> 3] * +u[l + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((h | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = g;
+    if (q[d + 16 >> 2] < 0) {
+     break e;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   v[e + 80 >> 3] = v[e + 80 >> 3] + v[c >> 3];
+   v[e + 88 >> 3] = v[e + 88 >> 3] + v[d >> 3];
+   c = q[e + 92 >> 2];
+   q[e + 72 >> 2] = q[e + 88 >> 2];
+   q[e + 76 >> 2] = c;
+   c = q[e + 84 >> 2];
+   q[e + 64 >> 2] = q[e + 80 >> 2];
+   q[e + 68 >> 2] = c;
+   if (t[a + 24 >> 2] <= 2) {
+    o[a + 20 | 0] = 1;
+   }
+   f : {
+    if (j >>> 0 <= 2) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break f;
+    }
+    c = q[a + 36 >> 2] - -64 | 0;
+   }
+   g : {
+    if (!k) {
+     break g;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break g;
+    }
+    h = q[c + 24 >> 2];
+    i = q[a + 172 >> 2];
+    g = v[c >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[h + (f << 3) >> 3] * +u[i + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((d | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break g;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   if (t[a + 24 >> 2] <= 3) {
+    o[a + 20 | 0] = 1;
+   }
+   h : {
+    if (j >>> 0 <= 3) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break h;
+    }
+    d = q[a + 36 >> 2] + 96 | 0;
+   }
+   i : {
+    if (!k) {
+     break i;
+    }
+    h = q[d + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break i;
+    }
+    i = q[d + 24 >> 2];
+    l = q[a + 172 >> 2];
+    g = v[d >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[i + (f << 3) >> 3] * +u[l + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((h | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = g;
+    if (q[d + 16 >> 2] < 0) {
+     break i;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   v[e + 64 >> 3] = v[e + 64 >> 3] + v[c >> 3];
+   v[e + 72 >> 3] = v[e + 72 >> 3] + v[d >> 3];
+   c = q[e + 76 >> 2];
+   q[e + 56 >> 2] = q[e + 72 >> 2];
+   q[e + 60 >> 2] = c;
+   c = q[e + 68 >> 2];
+   q[e + 48 >> 2] = q[e + 64 >> 2];
+   q[e + 52 >> 2] = c;
+   if (t[a + 24 >> 2] <= 4) {
+    o[a + 20 | 0] = 1;
+   }
+   j : {
+    if (j >>> 0 <= 4) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break j;
+    }
+    c = q[a + 36 >> 2] + 128 | 0;
+   }
+   k : {
+    if (!k) {
+     break k;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break k;
+    }
+    h = q[c + 24 >> 2];
+    i = q[a + 172 >> 2];
+    g = v[c >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[h + (f << 3) >> 3] * +u[i + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((d | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break k;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   v[e + 48 >> 3] = v[e + 48 >> 3] + v[c >> 3];
+   c = q[e + 60 >> 2];
+   q[e + 40 >> 2] = q[e + 56 >> 2];
+   q[e + 44 >> 2] = c;
+   c = q[e + 52 >> 2];
+   q[e + 32 >> 2] = q[e + 48 >> 2];
+   q[e + 36 >> 2] = c;
+   if (t[a + 24 >> 2] <= 5) {
+    o[a + 20 | 0] = 1;
+   }
+   l : {
+    if (j >>> 0 <= 5) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break l;
+    }
+    c = q[a + 36 >> 2] + 160 | 0;
+   }
+   m : {
+    if (!k) {
+     break m;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break m;
+    }
+    h = q[c + 24 >> 2];
+    i = q[a + 172 >> 2];
+    g = v[c >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[h + (f << 3) >> 3] * +u[i + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((d | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break m;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   v[e + 32 >> 3] = v[e + 32 >> 3] + v[c >> 3];
+   c = q[e + 44 >> 2];
+   q[e + 24 >> 2] = q[e + 40 >> 2];
+   q[e + 28 >> 2] = c;
+   c = q[e + 36 >> 2];
+   q[e + 16 >> 2] = q[e + 32 >> 2];
+   q[e + 20 >> 2] = c;
+   if (t[a + 24 >> 2] <= 6) {
+    o[a + 20 | 0] = 1;
+   }
+   n : {
+    if (j >>> 0 <= 6) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break n;
+    }
+    c = q[a + 36 >> 2] + 192 | 0;
+   }
+   o : {
+    if (!k) {
+     break o;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break o;
+    }
+    h = q[c + 24 >> 2];
+    i = q[a + 172 >> 2];
+    g = v[c >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[h + (f << 3) >> 3] * +u[i + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((d | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break o;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   if (t[a + 24 >> 2] <= 7) {
+    o[a + 20 | 0] = 1;
+   }
+   p : {
+    if (j >>> 0 <= 7) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break p;
+    }
+    d = q[a + 36 >> 2] + 224 | 0;
+   }
+   q : {
+    if (!k) {
+     break q;
+    }
+    h = q[d + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break q;
+    }
+    i = q[d + 24 >> 2];
+    l = q[a + 172 >> 2];
+    g = v[d >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[i + (f << 3) >> 3] * +u[l + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((h | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = g;
+    if (q[d + 16 >> 2] < 0) {
+     break q;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   v[e + 16 >> 3] = v[e + 16 >> 3] + v[c >> 3];
+   v[e + 24 >> 3] = v[e + 24 >> 3] + v[d >> 3];
+   c = q[e + 28 >> 2];
+   q[e + 8 >> 2] = q[e + 24 >> 2];
+   q[e + 12 >> 2] = c;
+   c = q[e + 20 >> 2];
+   q[e >> 2] = q[e + 16 >> 2];
+   q[e + 4 >> 2] = c;
+   if (t[a + 24 >> 2] <= 8) {
+    o[a + 20 | 0] = 1;
+   }
+   r : {
+    if (j >>> 0 <= 8) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break r;
+    }
+    c = q[a + 36 >> 2] + 256 | 0;
+   }
+   s : {
+    if (!k) {
+     break s;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break s;
+    }
+    j = q[c + 24 >> 2];
+    k = q[a + 172 >> 2];
+    g = v[c >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[j + (f << 3) >> 3] * +u[k + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((d | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break s;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   v[e >> 3] = v[e >> 3] + v[c >> 3];
+   c = q[a + 140 >> 2];
+   q[e + 8 >> 2] = q[a + 136 >> 2];
+   q[e + 12 >> 2] = c;
+   uz(a, b, e + 80 | 0, e - -64 | 0, e + 48 | 0);
+   uz(a, b, e + 32 | 0, e + 16 | 0, e);
+   break a;
+  }
+  o[a + 40 | 0] = 1;
+ }
+ Ca = e + 96 | 0;
+}
+function KH(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0;
+ g = Ca - 48 | 0;
+ Ca = g;
+ O = q[a >> 2];
+ D = q[a + 40 >> 2];
+ c = q[a + 36 >> 2];
+ f = q[q[a + 2748 >> 2] + 40 >> 2];
+ o[g + 39 | 0] = 0;
+ o[g + 40 | 0] = 0;
+ o[g + 41 | 0] = 0;
+ o[g + 42 | 0] = 0;
+ q[g + 32 >> 2] = 0;
+ q[g + 36 >> 2] = 0;
+ q[g + 24 >> 2] = 0;
+ q[g + 28 >> 2] = 0;
+ q[g + 8 >> 2] = 0;
+ q[g + 16 >> 2] = 0;
+ q[g + 20 >> 2] = 0;
+ q[g >> 2] = 0;
+ q[g + 4 >> 2] = 0;
+ d = w(b, 1348) + a | 0;
+ A = d + 44 | 0;
+ q[A >> 2] = 0;
+ d = q[d + 68 >> 2];
+ J = (f >>> 0) / 14 | 0;
+ e = q[a + 28 >> 2];
+ f = q[a + 24 >> 2];
+ i = e + w(f, 40) | 0;
+ a : {
+  if (b) {
+   if ((f | 0) <= 0) {
+    break a;
+   }
+   while (1) {
+    q[e + 24 >> 2] = p[e + 14 >> 1];
+    q[e + 28 >> 2] = p[e + 12 >> 1];
+    e = e + 40 | 0;
+    if (e >>> 0 < i >>> 0) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  if ((f | 0) < 1) {
+   break a;
+  }
+  while (1) {
+   q[e + 24 >> 2] = p[e + 12 >> 1];
+   q[e + 28 >> 2] = p[e + 14 >> 1];
+   e = e + 40 | 0;
+   if (e >>> 0 < i >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ b : {
+  if ((c | 0) >= 1) {
+   S = (c << 2) + D | 0;
+   c = w(b, 1348) + a | 0;
+   K = c + 72 | 0;
+   C = c + 52 | 0;
+   L = c + 48 | 0;
+   P = g + 32 | 0;
+   T = g + 39 | 0;
+   c = d >> 31;
+   E = c + d ^ c;
+   Q = E;
+   c = 0;
+   while (1) {
+    B = q[D >> 2];
+    e = q[B + 36 >> 2];
+    f = o[e + 3 | 0];
+    d = f >> 31;
+    c : {
+     if ((d ^ d + f) != (E | 0)) {
+      break c;
+     }
+     f = o[B + 3 | 0];
+     d = f >> 31;
+     if ((d ^ d + f) != (E | 0)) {
+      break c;
+     }
+     while (1) {
+      if ((e | 0) == (B | 0)) {
+       break c;
+      }
+      e = q[e + 36 >> 2];
+      f = o[e + 3 | 0];
+      d = f >> 31;
+      if ((d ^ d + f) == (E | 0)) {
+       continue;
+      }
+      break;
+     }
+     B = q[e + 32 >> 2];
+    }
+    n = 0;
+    j = -32e3;
+    i = 32e3;
+    e = B;
+    f = 32e3;
+    m = -32e3;
+    v = 0;
+    t = 0;
+    l = 32e3;
+    u = -32e3;
+    R = 0;
+    h = 0;
+    x = 32e3;
+    y = -32e3;
+    F = 32e3;
+    G = -32e3;
+    M = 0;
+    N = 0;
+    H = 32e3;
+    I = -32e3;
+    while (1) {
+     d : {
+      if (n) {
+       k = q[e + 24 >> 2];
+       z = (k | 0) > (j | 0);
+       d = q[e + 28 >> 2];
+       if ((d | 0) < (f | 0)) {
+        v = s[e >> 1];
+        f = d;
+       }
+       j = z ? k : j;
+       i = (k | 0) < (i | 0) ? k : i;
+       k = s[e >> 1];
+       z = k & 3;
+       u = (d | 0) > (u | 0) ? z ? u : d : u;
+       l = (d | 0) < (l | 0) ? z ? l : d : l;
+       z = k;
+       k = (d | 0) > (m | 0);
+       t = k ? z : t;
+       m = k ? d : m;
+       d = c;
+       if (!((e | 0) == (B | 0) | o[e + 3 | 0] != (Q | 0))) {
+        break d;
+       }
+       e : {
+        if (h) {
+         d = q[c + 36 >> 2];
+         if ((d | 0) == q[h + 40 >> 2]) {
+          break e;
+         }
+        }
+        q[c + 40 >> 2] = e;
+        p[c + 4 >> 1] = j - i >>> 1;
+        p[c + 2 >> 1] = i + j >>> 1;
+        if (!(!((t | v) & 3) | (u - l | 0) >= (J | 0))) {
+         o[c | 0] = r[c | 0] | 1;
+        }
+        p[c + 8 >> 1] = m;
+        p[c + 6 >> 1] = f;
+        p[c + 10 >> 1] = m - f;
+        n = 0;
+        h = c;
+        x = i;
+        y = j;
+        F = f;
+        G = m;
+        M = v;
+        N = t;
+        H = l;
+        I = u;
+        d = 0;
+        break d;
+       }
+       f : {
+        if (r[d + 2 | 0] == r[e + 2 | 0]) {
+         q[h + 40 >> 2] = e;
+         d = (G | 0) > (m | 0);
+         m = d ? G : m;
+         p[h + 8 >> 1] = m;
+         k = (F | 0) < (f | 0);
+         f = k ? F : f;
+         p[h + 6 >> 1] = f;
+         p[h + 10 >> 1] = m - f;
+         j = (y | 0) > (j | 0) ? y : j;
+         i = (x | 0) < (i | 0) ? x : i;
+         p[h + 4 >> 1] = j - i >>> 1;
+         p[h + 2 >> 1] = i + j >>> 1;
+         n = r[h | 0];
+         c = n & -2;
+         u = (I | 0) > (u | 0) ? I : u;
+         l = (H | 0) < (l | 0) ? H : l;
+         v = k ? M : v;
+         t = d ? N : t;
+         o[h | 0] = (v | t) & 3 ? (u - l | 0) < (J | 0) ? n | 1 : c : c;
+         break f;
+        }
+        z = G - F | 0;
+        d = z >> 31;
+        k = m - f | 0;
+        n = k >> 31;
+        if ((d ^ d + z) > (n ^ k + n)) {
+         q[h + 40 >> 2] = e;
+         y = (j | 0) > (y | 0) ? j : y;
+         x = (i | 0) < (x | 0) ? i : x;
+         p[h + 4 >> 1] = y - x >>> 1;
+         p[h + 2 >> 1] = x + y >>> 1;
+         break f;
+        }
+        q[c + 40 >> 2] = e;
+        j = (y | 0) > (j | 0) ? y : j;
+        i = (x | 0) < (i | 0) ? x : i;
+        p[c + 4 >> 1] = j - i >>> 1;
+        p[c + 2 >> 1] = i + j >>> 1;
+        if (!(!((t | v) & 3) | (u - l | 0) >= (J | 0))) {
+         o[c | 0] = r[c | 0] | 1;
+        }
+        p[c + 8 >> 1] = m;
+        p[c + 6 >> 1] = f;
+        p[c + 10 >> 1] = k;
+        q[h + 40 >> 2] = q[c + 40 >> 2];
+        d = q[c + 36 >> 2];
+        q[h + 32 >> 2] = q[c + 32 >> 2];
+        q[h + 36 >> 2] = d;
+        d = q[c + 28 >> 2];
+        q[h + 24 >> 2] = q[c + 24 >> 2];
+        q[h + 28 >> 2] = d;
+        d = q[c + 20 >> 2];
+        q[h + 16 >> 2] = q[c + 16 >> 2];
+        q[h + 20 >> 2] = d;
+        d = q[c + 4 >> 2];
+        q[h >> 2] = q[c >> 2];
+        q[h + 4 >> 2] = d;
+        d = q[c + 12 >> 2];
+        q[h + 8 >> 2] = q[c + 8 >> 2];
+        q[h + 12 >> 2] = d;
+        x = i;
+        y = j;
+        F = f;
+        G = m;
+        M = v;
+        N = t;
+        H = l;
+        I = u;
+       }
+       q[A >> 2] = q[A >> 2] + -1;
+       c = 0;
+      }
+      n = 0;
+      d = c;
+     }
+     g : {
+      if ((e | 0) == (B | 0)) {
+       c = R;
+       R = 1;
+       if (c) {
+        break g;
+       }
+      }
+      if (n) {
+       c = d;
+       e = q[e + 32 >> 2];
+       continue;
+      }
+      k = o[e + 3 | 0];
+      c = k >> 31;
+      h : {
+       if ((c ^ c + k) == (E | 0)) {
+        break h;
+       }
+       n = 0;
+       if (q[e + 36 >> 2] == (e | 0)) {
+        break h;
+       }
+       c = d;
+       e = q[e + 32 >> 2];
+       continue;
+      }
+      q[g + 44 >> 2] = 0;
+      c = q[A >> 2];
+      i : {
+       if ((c | 0) <= 17) {
+        if (q[C >> 2]) {
+         break i;
+        }
+        q[C >> 2] = K;
+        q[L >> 2] = 18;
+        break i;
+       }
+       d = q[L >> 2];
+       if ((c | 0) < (d | 0)) {
+        break i;
+       }
+       if ((d | 0) >= 48806446) {
+        l = 64;
+        q[g + 44 >> 2] = 64;
+        break b;
+       }
+       c = (d + (d >> 2) | 0) + 4 | 0;
+       c = (d | 0) < -16 ? 48806446 : (c | 0) > 48806446 ? 48806446 : c;
+       f = q[C >> 2];
+       j : {
+        if ((f | 0) == (K | 0)) {
+         d = Te(O, 44, 0, c, 0, g + 44 | 0);
+         q[C >> 2] = d;
+         l = q[g + 44 >> 2];
+         if (l) {
+          break b;
+         }
+         Y$(d, K, 792);
+         break j;
+        }
+        U = C, V = Te(O, 44, d, c, f, g + 44 | 0), q[U >> 2] = V;
+        l = q[g + 44 >> 2];
+        if (l) {
+         break b;
+        }
+       }
+       q[L >> 2] = c;
+       c = q[A >> 2];
+      }
+      n = 1;
+      j = q[C >> 2];
+      q[A >> 2] = c + 1;
+      t = w(c, 44);
+      c = t + j | 0;
+      o[c | 0] = 0;
+      d = q[g + 20 >> 2];
+      f = q[g + 16 >> 2];
+      o[c + 1 | 0] = f;
+      o[c + 2 | 0] = f >>> 8;
+      o[c + 3 | 0] = f >>> 16;
+      o[c + 4 | 0] = f >>> 24;
+      o[c + 5 | 0] = d;
+      o[c + 6 | 0] = d >>> 8;
+      o[c + 7 | 0] = d >>> 16;
+      o[c + 8 | 0] = d >>> 24;
+      d = q[g + 28 >> 2];
+      f = q[g + 24 >> 2];
+      o[c + 9 | 0] = f;
+      o[c + 10 | 0] = f >>> 8;
+      o[c + 11 | 0] = f >>> 16;
+      o[c + 12 | 0] = f >>> 24;
+      o[c + 13 | 0] = d;
+      o[c + 14 | 0] = d >>> 8;
+      o[c + 15 | 0] = d >>> 16;
+      o[c + 16 | 0] = d >>> 24;
+      d = q[P + 4 >> 2];
+      f = q[P >> 2];
+      o[c + 17 | 0] = f;
+      o[c + 18 | 0] = f >>> 8;
+      o[c + 19 | 0] = f >>> 16;
+      o[c + 20 | 0] = f >>> 24;
+      o[c + 21 | 0] = d;
+      o[c + 22 | 0] = d >>> 8;
+      o[c + 23 | 0] = d >>> 16;
+      o[c + 24 | 0] = d >>> 24;
+      d = T;
+      d = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+      o[c + 24 | 0] = d;
+      o[c + 25 | 0] = d >>> 8;
+      o[c + 26 | 0] = d >>> 16;
+      o[c + 27 | 0] = d >>> 24;
+      q[c + 28 >> 2] = 32e3;
+      q[c + 40 >> 2] = q[g + 8 >> 2];
+      d = q[g + 4 >> 2];
+      q[c + 32 >> 2] = q[g >> 2];
+      q[c + 36 >> 2] = d;
+      o[c + 1 | 0] = k;
+      q[c + 40 >> 2] = e;
+      q[c + 36 >> 2] = e;
+      h = h ? c + -44 | 0 : 0;
+      f = q[e + 28 >> 2];
+      v = s[e >> 1];
+      m = v & 3;
+      u = m ? -32e3 : f;
+      l = m ? 32e3 : f;
+      i = q[e + 24 >> 2];
+      if (q[e + 36 >> 2] == (e | 0)) {
+       d = j + t | 0;
+       p[d + 2 >> 1] = i;
+       if (m) {
+        o[c | 0] = 1;
+       }
+       p[d + 10 >> 1] = 0;
+       p[d + 8 >> 1] = f;
+       p[d + 6 >> 1] = f;
+       n = 0;
+       c = 0;
+      }
+      j = i;
+      m = f;
+      t = v;
+      Q = k;
+      e = q[e + 32 >> 2];
+      continue;
+     }
+     break;
+    }
+    c = d;
+    D = D + 4 | 0;
+    if (D >>> 0 < S >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  l = 0;
+  e = q[(w(b, 1348) + a | 0) + 52 >> 2];
+  if (!e) {
+   break b;
+  }
+  a = q[A >> 2];
+  if ((a | 0) < 1) {
+   break b;
+  }
+  f = w(a, 44) + e | 0;
+  while (1) {
+   b = q[e + 36 >> 2];
+   a = q[q[b + 36 >> 2] + 28 >> 2];
+   b = q[b + 28 >> 2];
+   d = q[e + 40 >> 2];
+   c = q[d + 28 >> 2];
+   k : {
+    if ((b | 0) < (c | 0)) {
+     if ((b | 0) > (a | 0)) {
+      p[e + 10 >> 1] = s[e + 10 >> 1] + (b - a >>> 1 | 0);
+     }
+     a = q[q[d + 32 >> 2] + 28 >> 2];
+     if ((a | 0) <= (c | 0)) {
+      break k;
+     }
+     p[e + 10 >> 1] = s[e + 10 >> 1] + (a - c >>> 1 | 0);
+     break k;
+    }
+    if ((a | 0) > (b | 0)) {
+     p[e + 10 >> 1] = s[e + 10 >> 1] + (a - b >>> 1 | 0);
+    }
+    a = q[q[d + 32 >> 2] + 28 >> 2];
+    if ((c | 0) <= (a | 0)) {
+     break k;
+    }
+    p[e + 10 >> 1] = s[e + 10 >> 1] + (c - a >>> 1 | 0);
+   }
+   e = e + 44 | 0;
+   if (e >>> 0 < f >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = g + 48 | 0;
+ return l;
+}
+function jz(a, b) {
+ var c = 0, d = 0, e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, r = 0, s = 0, t = 0, u = 0;
+ c = Ca - 48 | 0;
+ Ca = c;
+ h = q[a + 24 >> 2];
+ a : {
+  if (!(h & 4)) {
+   if (h >>> 0 < 8) {
+    break a;
+   }
+   l = a + 128 | 0;
+   d = q[67761];
+   t = d;
+   r = q[67760];
+   f(0, r | 0);
+   f(1, d | 0);
+   n = +g();
+   d = 8;
+   while (1) {
+    i = e;
+    e = d;
+    d = l;
+    m = q[d + 12 >> 2];
+    p = c + 40 | 0;
+    j = p;
+    q[j >> 2] = q[d + 8 >> 2];
+    q[j + 4 >> 2] = m;
+    j = q[d + 4 >> 2];
+    q[c + 32 >> 2] = q[d >> 2];
+    q[c + 36 >> 2] = j;
+    if (h >>> 0 <= i >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    j = q[a + 32 >> 2];
+    b : {
+     if (j >>> 0 <= i >>> 0) {
+      q[160656] = r;
+      q[160657] = t;
+      k = n;
+      break b;
+     }
+     k = v[q[a + 36 >> 2] + (i << 3) >> 3];
+    }
+    s = q[p + 4 >> 2];
+    m = c + 24 | 0;
+    d = m;
+    q[d >> 2] = q[p >> 2];
+    q[d + 4 >> 2] = s;
+    v[c + 32 >> 3] = v[c + 32 >> 3] + k;
+    d = q[c + 36 >> 2];
+    q[c + 16 >> 2] = q[c + 32 >> 2];
+    q[c + 20 >> 2] = d;
+    d = i | 1;
+    if (h >>> 0 <= d >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    c : {
+     if (j >>> 0 <= d >>> 0) {
+      q[160656] = r;
+      q[160657] = t;
+      d = 642624;
+      break c;
+     }
+     d = q[a + 36 >> 2] + (d << 3) | 0;
+    }
+    s = i | 2;
+    if (h >>> 0 <= s >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    d : {
+     if (j >>> 0 <= s >>> 0) {
+      q[160656] = r;
+      q[160657] = t;
+      s = 642624;
+      break d;
+     }
+     s = q[a + 36 >> 2] + (s << 3) | 0;
+    }
+    v[c + 16 >> 3] = v[c + 16 >> 3] + v[d >> 3];
+    v[c + 24 >> 3] = v[c + 24 >> 3] + v[s >> 3];
+    u = q[c + 28 >> 2];
+    s = c + 8 | 0;
+    d = s;
+    q[d >> 2] = q[c + 24 >> 2];
+    q[d + 4 >> 2] = u;
+    d = q[c + 20 >> 2];
+    q[c >> 2] = q[c + 16 >> 2];
+    q[c + 4 >> 2] = d;
+    d = i | 3;
+    if (h >>> 0 <= d >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    e : {
+     if (j >>> 0 <= d >>> 0) {
+      q[160656] = r;
+      q[160657] = t;
+      k = n;
+      break e;
+     }
+     k = v[q[a + 36 >> 2] + (d << 3) >> 3];
+    }
+    v[c + 8 >> 3] = v[c + 8 >> 3] + k;
+    uz(a, b, c + 32 | 0, c + 16 | 0, c);
+    d = q[c + 12 >> 2];
+    q[p >> 2] = q[c + 8 >> 2];
+    q[p + 4 >> 2] = d;
+    d = q[c + 4 >> 2];
+    q[c + 32 >> 2] = q[c >> 2];
+    q[c + 36 >> 2] = d;
+    h = q[a + 24 >> 2];
+    d = i | 4;
+    if (h >>> 0 <= d >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    p = q[a + 32 >> 2];
+    f : {
+     if (p >>> 0 <= d >>> 0) {
+      q[160656] = r;
+      q[160657] = t;
+      k = n;
+      break f;
+     }
+     k = v[q[a + 36 >> 2] + (d << 3) >> 3];
+    }
+    v[c + 40 >> 3] = v[c + 40 >> 3] + k;
+    d = q[c + 44 >> 2];
+    q[m >> 2] = q[c + 40 >> 2];
+    q[m + 4 >> 2] = d;
+    d = q[c + 36 >> 2];
+    q[c + 16 >> 2] = q[c + 32 >> 2];
+    q[c + 20 >> 2] = d;
+    d = i | 5;
+    if (h >>> 0 <= d >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    g : {
+     if (p >>> 0 <= d >>> 0) {
+      q[160656] = r;
+      q[160657] = t;
+      d = 642624;
+      break g;
+     }
+     d = q[a + 36 >> 2] + (d << 3) | 0;
+    }
+    j = i | 6;
+    if (h >>> 0 <= j >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    h : {
+     if (p >>> 0 <= j >>> 0) {
+      q[160656] = r;
+      q[160657] = t;
+      j = 642624;
+      break h;
+     }
+     j = q[a + 36 >> 2] + (j << 3) | 0;
+    }
+    v[c + 16 >> 3] = v[c + 16 >> 3] + v[d >> 3];
+    v[c + 24 >> 3] = v[c + 24 >> 3] + v[j >> 3];
+    d = q[c + 28 >> 2];
+    q[s >> 2] = q[c + 24 >> 2];
+    q[s + 4 >> 2] = d;
+    d = q[c + 20 >> 2];
+    q[c >> 2] = q[c + 16 >> 2];
+    q[c + 4 >> 2] = d;
+    d = i | 7;
+    if (h >>> 0 <= d >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    i : {
+     if (p >>> 0 <= d >>> 0) {
+      q[160656] = r;
+      q[160657] = t;
+      k = n;
+      break i;
+     }
+     k = v[q[a + 36 >> 2] + (d << 3) >> 3];
+    }
+    v[c >> 3] = v[c >> 3] + k;
+    if (!(!(h & 1) | h - i >>> 0 > 15)) {
+     if (h >>> 0 <= e >>> 0) {
+      o[a + 20 | 0] = 1;
+     }
+     j : {
+      if (p >>> 0 <= e >>> 0) {
+       q[160656] = r;
+       q[160657] = t;
+       k = n;
+       break j;
+      }
+      k = v[q[a + 36 >> 2] + (e << 3) >> 3];
+     }
+     v[c + 8 >> 3] = v[c + 8 >> 3] + k;
+    }
+    uz(a, b, c + 32 | 0, c + 16 | 0, c);
+    d = e + 8 | 0;
+    h = q[a + 24 >> 2];
+    if (d >>> 0 <= h >>> 0) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  d = q[a + 140 >> 2];
+  q[c + 40 >> 2] = q[a + 136 >> 2];
+  q[c + 44 >> 2] = d;
+  d = q[a + 132 >> 2];
+  q[c + 32 >> 2] = q[a + 128 >> 2];
+  q[c + 36 >> 2] = d;
+  if (!h) {
+   o[a + 20 | 0] = 1;
+  }
+  e = q[a + 32 >> 2];
+  k : {
+   if (!e) {
+    d = q[67761];
+    i = q[67760];
+    q[160656] = i;
+    q[160657] = d;
+    f(0, i | 0);
+    f(1, d | 0);
+    n = +g();
+    break k;
+   }
+   n = v[q[a + 36 >> 2] >> 3];
+  }
+  v[c + 32 >> 3] = v[c + 32 >> 3] + n;
+  d = q[c + 44 >> 2];
+  q[c + 24 >> 2] = q[c + 40 >> 2];
+  q[c + 28 >> 2] = d;
+  d = q[c + 36 >> 2];
+  q[c + 16 >> 2] = q[c + 32 >> 2];
+  q[c + 20 >> 2] = d;
+  if (h >>> 0 <= 1) {
+   o[a + 20 | 0] = 1;
+  }
+  l : {
+   if (e >>> 0 <= 1) {
+    d = q[67761];
+    q[160656] = q[67760];
+    q[160657] = d;
+    d = 642624;
+    break l;
+   }
+   d = q[a + 36 >> 2] + 8 | 0;
+  }
+  if (h >>> 0 <= 2) {
+   o[a + 20 | 0] = 1;
+  }
+  m : {
+   if (e >>> 0 <= 2) {
+    i = q[67761];
+    l = q[67760];
+    q[160656] = l;
+    q[160657] = i;
+    f(0, l | 0);
+    f(1, i | 0);
+    n = +g();
+    break m;
+   }
+   n = v[q[a + 36 >> 2] + 16 >> 3];
+  }
+  k = v[d >> 3];
+  v[c + 24 >> 3] = v[c + 24 >> 3] + n;
+  v[c + 16 >> 3] = k + v[c + 16 >> 3];
+  d = q[c + 28 >> 2];
+  q[c + 8 >> 2] = q[c + 24 >> 2];
+  q[c + 12 >> 2] = d;
+  d = q[c + 20 >> 2];
+  q[c >> 2] = q[c + 16 >> 2];
+  q[c + 4 >> 2] = d;
+  if (h >>> 0 <= 3) {
+   o[a + 20 | 0] = 1;
+  }
+  n : {
+   if (e >>> 0 <= 3) {
+    d = q[67761];
+    i = q[67760];
+    q[160656] = i;
+    q[160657] = d;
+    f(0, i | 0);
+    f(1, d | 0);
+    n = +g();
+    break n;
+   }
+   n = v[q[a + 36 >> 2] + 24 >> 3];
+  }
+  v[c + 8 >> 3] = v[c + 8 >> 3] + n;
+  l = 12;
+  d = 4;
+  if (h >>> 0 >= 12) {
+   t = a + 128 | 0;
+   d = q[67761];
+   r = d;
+   p = q[67760];
+   f(0, p | 0);
+   f(1, d | 0);
+   n = +g();
+   i = 4;
+   while (1) {
+    d = l;
+    uz(a, b, c + 32 | 0, c + 16 | 0, c);
+    e = t;
+    j = q[e + 12 >> 2];
+    l = c + 40 | 0;
+    h = l;
+    q[h >> 2] = q[e + 8 >> 2];
+    q[h + 4 >> 2] = j;
+    h = q[e + 4 >> 2];
+    q[c + 32 >> 2] = q[e >> 2];
+    q[c + 36 >> 2] = h;
+    h = q[a + 24 >> 2];
+    if (h >>> 0 <= i >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    m = q[a + 32 >> 2];
+    o : {
+     if (m >>> 0 <= i >>> 0) {
+      q[160656] = p;
+      q[160657] = r;
+      k = n;
+      break o;
+     }
+     k = v[q[a + 36 >> 2] + (i << 3) >> 3];
+    }
+    v[c + 40 >> 3] = v[c + 40 >> 3] + k;
+    j = q[c + 44 >> 2];
+    s = c + 24 | 0;
+    e = s;
+    q[e >> 2] = q[c + 40 >> 2];
+    q[e + 4 >> 2] = j;
+    e = q[c + 36 >> 2];
+    q[c + 16 >> 2] = q[c + 32 >> 2];
+    q[c + 20 >> 2] = e;
+    e = i | 1;
+    if (h >>> 0 <= e >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    p : {
+     if (m >>> 0 <= e >>> 0) {
+      q[160656] = p;
+      q[160657] = r;
+      e = 642624;
+      break p;
+     }
+     e = q[a + 36 >> 2] + (e << 3) | 0;
+    }
+    j = i | 2;
+    if (h >>> 0 <= j >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    q : {
+     if (m >>> 0 <= j >>> 0) {
+      q[160656] = p;
+      q[160657] = r;
+      j = 642624;
+      break q;
+     }
+     j = q[a + 36 >> 2] + (j << 3) | 0;
+    }
+    v[c + 16 >> 3] = v[c + 16 >> 3] + v[e >> 3];
+    v[c + 24 >> 3] = v[c + 24 >> 3] + v[j >> 3];
+    u = q[c + 28 >> 2];
+    j = c + 8 | 0;
+    e = j;
+    q[e >> 2] = q[c + 24 >> 2];
+    q[e + 4 >> 2] = u;
+    e = q[c + 20 >> 2];
+    q[c >> 2] = q[c + 16 >> 2];
+    q[c + 4 >> 2] = e;
+    e = i | 3;
+    if (h >>> 0 <= e >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    r : {
+     if (m >>> 0 <= e >>> 0) {
+      q[160656] = p;
+      q[160657] = r;
+      k = n;
+      break r;
+     }
+     k = v[q[a + 36 >> 2] + (e << 3) >> 3];
+    }
+    v[c >> 3] = v[c >> 3] + k;
+    uz(a, b, c + 32 | 0, c + 16 | 0, c);
+    e = q[j + 4 >> 2];
+    q[l >> 2] = q[j >> 2];
+    q[l + 4 >> 2] = e;
+    e = q[c + 4 >> 2];
+    q[c + 32 >> 2] = q[c >> 2];
+    q[c + 36 >> 2] = e;
+    h = q[a + 24 >> 2];
+    m = i + 4 | 0;
+    if (h >>> 0 <= m >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    e = q[a + 32 >> 2];
+    s : {
+     if (e >>> 0 <= m >>> 0) {
+      q[160656] = p;
+      q[160657] = r;
+      k = n;
+      break s;
+     }
+     k = v[q[a + 36 >> 2] + (m << 3) >> 3];
+    }
+    m = q[l + 4 >> 2];
+    q[s >> 2] = q[l >> 2];
+    q[s + 4 >> 2] = m;
+    v[c + 32 >> 3] = v[c + 32 >> 3] + k;
+    l = q[c + 36 >> 2];
+    q[c + 16 >> 2] = q[c + 32 >> 2];
+    q[c + 20 >> 2] = l;
+    l = i + 5 | 0;
+    if (h >>> 0 <= l >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    t : {
+     if (e >>> 0 <= l >>> 0) {
+      q[160656] = p;
+      q[160657] = r;
+      l = 642624;
+      break t;
+     }
+     l = q[a + 36 >> 2] + (l << 3) | 0;
+    }
+    m = i + 6 | 0;
+    if (h >>> 0 <= m >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    u : {
+     if (e >>> 0 <= m >>> 0) {
+      q[160656] = p;
+      q[160657] = r;
+      m = 642624;
+      break u;
+     }
+     m = q[a + 36 >> 2] + (m << 3) | 0;
+    }
+    v[c + 16 >> 3] = v[c + 16 >> 3] + v[l >> 3];
+    v[c + 24 >> 3] = v[c + 24 >> 3] + v[m >> 3];
+    l = q[c + 28 >> 2];
+    q[j >> 2] = q[c + 24 >> 2];
+    q[j + 4 >> 2] = l;
+    l = q[c + 20 >> 2];
+    q[c >> 2] = q[c + 16 >> 2];
+    q[c + 4 >> 2] = l;
+    i = i + 7 | 0;
+    if (h >>> 0 <= i >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    v : {
+     if (e >>> 0 <= i >>> 0) {
+      q[160656] = p;
+      q[160657] = r;
+      k = n;
+      break v;
+     }
+     k = v[q[a + 36 >> 2] + (i << 3) >> 3];
+    }
+    v[c + 8 >> 3] = v[c + 8 >> 3] + k;
+    i = d;
+    l = d + 8 | 0;
+    if (l >>> 0 <= h >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (d >>> 0 < h >>> 0) {
+   w : {
+    if (e >>> 0 <= d >>> 0) {
+     d = q[67761];
+     e = q[67760];
+     q[160656] = e;
+     q[160657] = d;
+     f(0, e | 0);
+     f(1, d | 0);
+     n = +g();
+     break w;
+    }
+    n = v[q[a + 36 >> 2] + (d << 3) >> 3];
+   }
+   v[c >> 3] = v[c >> 3] + n;
+  }
+  uz(a, b, c + 32 | 0, c + 16 | 0, c);
+ }
+ Ca = c + 48 | 0;
+}
+function kz(a, b) {
+ var c = 0, d = 0, e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, r = 0, s = 0, t = 0, u = 0;
+ c = Ca - 48 | 0;
+ Ca = c;
+ h = q[a + 24 >> 2];
+ a : {
+  if (!(h & 4)) {
+   if (h >>> 0 < 8) {
+    break a;
+   }
+   j = a + 128 | 0;
+   d = q[67761];
+   t = d;
+   p = q[67760];
+   f(0, p | 0);
+   f(1, d | 0);
+   m = +g();
+   d = 8;
+   while (1) {
+    i = e;
+    e = d;
+    d = j;
+    r = q[d + 12 >> 2];
+    n = c + 40 | 0;
+    k = n;
+    q[k >> 2] = q[d + 8 >> 2];
+    q[k + 4 >> 2] = r;
+    k = q[d + 4 >> 2];
+    q[c + 32 >> 2] = q[d >> 2];
+    q[c + 36 >> 2] = k;
+    if (h >>> 0 <= i >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    r = q[a + 32 >> 2];
+    b : {
+     if (r >>> 0 <= i >>> 0) {
+      q[160656] = p;
+      q[160657] = t;
+      l = m;
+      break b;
+     }
+     l = v[q[a + 36 >> 2] + (i << 3) >> 3];
+    }
+    v[c + 40 >> 3] = v[c + 40 >> 3] + l;
+    k = q[c + 44 >> 2];
+    s = c + 24 | 0;
+    d = s;
+    q[d >> 2] = q[c + 40 >> 2];
+    q[d + 4 >> 2] = k;
+    d = q[c + 36 >> 2];
+    q[c + 16 >> 2] = q[c + 32 >> 2];
+    q[c + 20 >> 2] = d;
+    d = i | 1;
+    if (h >>> 0 <= d >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    c : {
+     if (r >>> 0 <= d >>> 0) {
+      q[160656] = p;
+      q[160657] = t;
+      d = 642624;
+      break c;
+     }
+     d = q[a + 36 >> 2] + (d << 3) | 0;
+    }
+    k = i | 2;
+    if (h >>> 0 <= k >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    d : {
+     if (r >>> 0 <= k >>> 0) {
+      q[160656] = p;
+      q[160657] = t;
+      k = 642624;
+      break d;
+     }
+     k = q[a + 36 >> 2] + (k << 3) | 0;
+    }
+    v[c + 16 >> 3] = v[c + 16 >> 3] + v[d >> 3];
+    v[c + 24 >> 3] = v[c + 24 >> 3] + v[k >> 3];
+    u = q[c + 28 >> 2];
+    k = c + 8 | 0;
+    d = k;
+    q[d >> 2] = q[c + 24 >> 2];
+    q[d + 4 >> 2] = u;
+    d = q[c + 20 >> 2];
+    q[c >> 2] = q[c + 16 >> 2];
+    q[c + 4 >> 2] = d;
+    d = i | 3;
+    if (h >>> 0 <= d >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    e : {
+     if (r >>> 0 <= d >>> 0) {
+      q[160656] = p;
+      q[160657] = t;
+      l = m;
+      break e;
+     }
+     l = v[q[a + 36 >> 2] + (d << 3) >> 3];
+    }
+    v[c >> 3] = v[c >> 3] + l;
+    uz(a, b, c + 32 | 0, c + 16 | 0, c);
+    d = q[k + 4 >> 2];
+    q[n >> 2] = q[k >> 2];
+    q[n + 4 >> 2] = d;
+    d = q[c + 4 >> 2];
+    q[c + 32 >> 2] = q[c >> 2];
+    q[c + 36 >> 2] = d;
+    h = q[a + 24 >> 2];
+    d = i | 4;
+    if (h >>> 0 <= d >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    r = q[a + 32 >> 2];
+    f : {
+     if (r >>> 0 <= d >>> 0) {
+      q[160656] = p;
+      q[160657] = t;
+      l = m;
+      break f;
+     }
+     l = v[q[a + 36 >> 2] + (d << 3) >> 3];
+    }
+    d = q[n + 4 >> 2];
+    q[s >> 2] = q[n >> 2];
+    q[s + 4 >> 2] = d;
+    v[c + 32 >> 3] = v[c + 32 >> 3] + l;
+    d = q[c + 36 >> 2];
+    q[c + 16 >> 2] = q[c + 32 >> 2];
+    q[c + 20 >> 2] = d;
+    d = i | 5;
+    if (h >>> 0 <= d >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    g : {
+     if (r >>> 0 <= d >>> 0) {
+      q[160656] = p;
+      q[160657] = t;
+      d = 642624;
+      break g;
+     }
+     d = q[a + 36 >> 2] + (d << 3) | 0;
+    }
+    n = i | 6;
+    if (h >>> 0 <= n >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    h : {
+     if (r >>> 0 <= n >>> 0) {
+      q[160656] = p;
+      q[160657] = t;
+      n = 642624;
+      break h;
+     }
+     n = q[a + 36 >> 2] + (n << 3) | 0;
+    }
+    v[c + 16 >> 3] = v[c + 16 >> 3] + v[d >> 3];
+    v[c + 24 >> 3] = v[c + 24 >> 3] + v[n >> 3];
+    d = q[c + 28 >> 2];
+    q[k >> 2] = q[c + 24 >> 2];
+    q[k + 4 >> 2] = d;
+    d = q[c + 20 >> 2];
+    q[c >> 2] = q[c + 16 >> 2];
+    q[c + 4 >> 2] = d;
+    d = i | 7;
+    if (h >>> 0 <= d >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    i : {
+     if (r >>> 0 <= d >>> 0) {
+      q[160656] = p;
+      q[160657] = t;
+      l = m;
+      break i;
+     }
+     l = v[q[a + 36 >> 2] + (d << 3) >> 3];
+    }
+    v[c + 8 >> 3] = v[c + 8 >> 3] + l;
+    if (!(!(h & 1) | h - i >>> 0 > 15)) {
+     if (h >>> 0 <= e >>> 0) {
+      o[a + 20 | 0] = 1;
+     }
+     j : {
+      if (r >>> 0 <= e >>> 0) {
+       q[160656] = p;
+       q[160657] = t;
+       l = m;
+       break j;
+      }
+      l = v[q[a + 36 >> 2] + (e << 3) >> 3];
+     }
+     v[c >> 3] = v[c >> 3] + l;
+    }
+    uz(a, b, c + 32 | 0, c + 16 | 0, c);
+    d = e + 8 | 0;
+    h = q[a + 24 >> 2];
+    if (d >>> 0 <= h >>> 0) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  d = q[a + 140 >> 2];
+  q[c + 40 >> 2] = q[a + 136 >> 2];
+  q[c + 44 >> 2] = d;
+  d = q[a + 132 >> 2];
+  q[c + 32 >> 2] = q[a + 128 >> 2];
+  q[c + 36 >> 2] = d;
+  if (!h) {
+   o[a + 20 | 0] = 1;
+  }
+  e = q[a + 32 >> 2];
+  k : {
+   if (!e) {
+    d = q[67761];
+    i = q[67760];
+    q[160656] = i;
+    q[160657] = d;
+    f(0, i | 0);
+    f(1, d | 0);
+    m = +g();
+    break k;
+   }
+   m = v[q[a + 36 >> 2] >> 3];
+  }
+  v[c + 40 >> 3] = v[c + 40 >> 3] + m;
+  d = q[c + 44 >> 2];
+  q[c + 24 >> 2] = q[c + 40 >> 2];
+  q[c + 28 >> 2] = d;
+  d = q[c + 36 >> 2];
+  q[c + 16 >> 2] = q[c + 32 >> 2];
+  q[c + 20 >> 2] = d;
+  if (h >>> 0 <= 1) {
+   o[a + 20 | 0] = 1;
+  }
+  l : {
+   if (e >>> 0 <= 1) {
+    d = q[67761];
+    q[160656] = q[67760];
+    q[160657] = d;
+    d = 642624;
+    break l;
+   }
+   d = q[a + 36 >> 2] + 8 | 0;
+  }
+  if (h >>> 0 <= 2) {
+   o[a + 20 | 0] = 1;
+  }
+  m : {
+   if (e >>> 0 <= 2) {
+    i = q[67761];
+    j = q[67760];
+    q[160656] = j;
+    q[160657] = i;
+    f(0, j | 0);
+    f(1, i | 0);
+    m = +g();
+    break m;
+   }
+   m = v[q[a + 36 >> 2] + 16 >> 3];
+  }
+  l = v[d >> 3];
+  v[c + 24 >> 3] = v[c + 24 >> 3] + m;
+  v[c + 16 >> 3] = l + v[c + 16 >> 3];
+  d = q[c + 28 >> 2];
+  q[c + 8 >> 2] = q[c + 24 >> 2];
+  q[c + 12 >> 2] = d;
+  d = q[c + 20 >> 2];
+  q[c >> 2] = q[c + 16 >> 2];
+  q[c + 4 >> 2] = d;
+  if (h >>> 0 <= 3) {
+   o[a + 20 | 0] = 1;
+  }
+  n : {
+   if (e >>> 0 <= 3) {
+    d = q[67761];
+    i = q[67760];
+    q[160656] = i;
+    q[160657] = d;
+    f(0, i | 0);
+    f(1, d | 0);
+    m = +g();
+    break n;
+   }
+   m = v[q[a + 36 >> 2] + 24 >> 3];
+  }
+  v[c >> 3] = v[c >> 3] + m;
+  j = 12;
+  d = 4;
+  if (h >>> 0 >= 12) {
+   t = a + 128 | 0;
+   d = q[67761];
+   p = d;
+   n = q[67760];
+   f(0, n | 0);
+   f(1, d | 0);
+   m = +g();
+   i = 4;
+   while (1) {
+    d = j;
+    uz(a, b, c + 32 | 0, c + 16 | 0, c);
+    e = t;
+    k = q[e + 12 >> 2];
+    j = c + 40 | 0;
+    h = j;
+    q[h >> 2] = q[e + 8 >> 2];
+    q[h + 4 >> 2] = k;
+    h = q[e + 4 >> 2];
+    q[c + 32 >> 2] = q[e >> 2];
+    q[c + 36 >> 2] = h;
+    h = q[a + 24 >> 2];
+    if (h >>> 0 <= i >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    k = q[a + 32 >> 2];
+    o : {
+     if (k >>> 0 <= i >>> 0) {
+      q[160656] = n;
+      q[160657] = p;
+      l = m;
+      break o;
+     }
+     l = v[q[a + 36 >> 2] + (i << 3) >> 3];
+    }
+    s = q[j + 4 >> 2];
+    r = c + 24 | 0;
+    e = r;
+    q[e >> 2] = q[j >> 2];
+    q[e + 4 >> 2] = s;
+    v[c + 32 >> 3] = v[c + 32 >> 3] + l;
+    e = q[c + 36 >> 2];
+    q[c + 16 >> 2] = q[c + 32 >> 2];
+    q[c + 20 >> 2] = e;
+    e = i | 1;
+    if (h >>> 0 <= e >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    p : {
+     if (k >>> 0 <= e >>> 0) {
+      q[160656] = n;
+      q[160657] = p;
+      e = 642624;
+      break p;
+     }
+     e = q[a + 36 >> 2] + (e << 3) | 0;
+    }
+    s = i | 2;
+    if (h >>> 0 <= s >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    q : {
+     if (k >>> 0 <= s >>> 0) {
+      q[160656] = n;
+      q[160657] = p;
+      s = 642624;
+      break q;
+     }
+     s = q[a + 36 >> 2] + (s << 3) | 0;
+    }
+    v[c + 16 >> 3] = v[c + 16 >> 3] + v[e >> 3];
+    v[c + 24 >> 3] = v[c + 24 >> 3] + v[s >> 3];
+    u = q[c + 28 >> 2];
+    s = c + 8 | 0;
+    e = s;
+    q[e >> 2] = q[c + 24 >> 2];
+    q[e + 4 >> 2] = u;
+    e = q[c + 20 >> 2];
+    q[c >> 2] = q[c + 16 >> 2];
+    q[c + 4 >> 2] = e;
+    e = i | 3;
+    if (h >>> 0 <= e >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    r : {
+     if (k >>> 0 <= e >>> 0) {
+      q[160656] = n;
+      q[160657] = p;
+      l = m;
+      break r;
+     }
+     l = v[q[a + 36 >> 2] + (e << 3) >> 3];
+    }
+    v[c + 8 >> 3] = v[c + 8 >> 3] + l;
+    uz(a, b, c + 32 | 0, c + 16 | 0, c);
+    e = q[c + 12 >> 2];
+    q[j >> 2] = q[c + 8 >> 2];
+    q[j + 4 >> 2] = e;
+    e = q[c + 4 >> 2];
+    q[c + 32 >> 2] = q[c >> 2];
+    q[c + 36 >> 2] = e;
+    h = q[a + 24 >> 2];
+    j = i + 4 | 0;
+    if (h >>> 0 <= j >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    e = q[a + 32 >> 2];
+    s : {
+     if (e >>> 0 <= j >>> 0) {
+      q[160656] = n;
+      q[160657] = p;
+      l = m;
+      break s;
+     }
+     l = v[q[a + 36 >> 2] + (j << 3) >> 3];
+    }
+    v[c + 40 >> 3] = v[c + 40 >> 3] + l;
+    j = q[c + 44 >> 2];
+    q[r >> 2] = q[c + 40 >> 2];
+    q[r + 4 >> 2] = j;
+    j = q[c + 36 >> 2];
+    q[c + 16 >> 2] = q[c + 32 >> 2];
+    q[c + 20 >> 2] = j;
+    j = i + 5 | 0;
+    if (h >>> 0 <= j >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    t : {
+     if (e >>> 0 <= j >>> 0) {
+      q[160656] = n;
+      q[160657] = p;
+      j = 642624;
+      break t;
+     }
+     j = q[a + 36 >> 2] + (j << 3) | 0;
+    }
+    k = i + 6 | 0;
+    if (h >>> 0 <= k >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    u : {
+     if (e >>> 0 <= k >>> 0) {
+      q[160656] = n;
+      q[160657] = p;
+      k = 642624;
+      break u;
+     }
+     k = q[a + 36 >> 2] + (k << 3) | 0;
+    }
+    v[c + 16 >> 3] = v[c + 16 >> 3] + v[j >> 3];
+    v[c + 24 >> 3] = v[c + 24 >> 3] + v[k >> 3];
+    j = q[c + 28 >> 2];
+    q[s >> 2] = q[c + 24 >> 2];
+    q[s + 4 >> 2] = j;
+    j = q[c + 20 >> 2];
+    q[c >> 2] = q[c + 16 >> 2];
+    q[c + 4 >> 2] = j;
+    i = i + 7 | 0;
+    if (h >>> 0 <= i >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    v : {
+     if (e >>> 0 <= i >>> 0) {
+      q[160656] = n;
+      q[160657] = p;
+      l = m;
+      break v;
+     }
+     l = v[q[a + 36 >> 2] + (i << 3) >> 3];
+    }
+    v[c >> 3] = v[c >> 3] + l;
+    i = d;
+    j = d + 8 | 0;
+    if (j >>> 0 <= h >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (d >>> 0 < h >>> 0) {
+   w : {
+    if (e >>> 0 <= d >>> 0) {
+     d = q[67761];
+     e = q[67760];
+     q[160656] = e;
+     q[160657] = d;
+     f(0, e | 0);
+     f(1, d | 0);
+     m = +g();
+     break w;
+    }
+    m = v[q[a + 36 >> 2] + (d << 3) >> 3];
+   }
+   v[c + 8 >> 3] = v[c + 8 >> 3] + m;
+  }
+  uz(a, b, c + 32 | 0, c + 16 | 0, c);
+ }
+ Ca = c + 48 | 0;
+}
+function Ap(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0, x = 0;
+ m = Ca - 16 | 0;
+ Ca = m;
+ i = 8;
+ a : {
+  if (e >>> 0 > 100) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     i = q[a + 32 >> 2];
+     if (!i) {
+      break d;
+     }
+     j = q[a + 40 >> 2];
+     k = q[a + 36 >> 2] + q[a + 28 >> 2] | 0;
+     h = k;
+     while (1) {
+      l = r[h + 1 | 0] | r[h | 0] << 8;
+      if (!((r[h + 3 | 0] | r[h + 2 | 0] << 8) >>> 0 >= b >>> 0 ? l >>> 0 <= b >>> 0 : 0)) {
+       h = h + 8 | 0;
+       i = i + -1 | 0;
+       if (i) {
+        continue;
+       }
+       break d;
+      }
+      break;
+     }
+     i = 8;
+     g = r[h + 4 | 0] | r[h + 5 | 0] << 8 | (r[h + 6 | 0] << 16 | r[h + 7 | 0] << 24);
+     g = g << 24 | g << 8 & 16711680 | (g >>> 8 & 65280 | g >>> 24);
+     if (g >>> 0 > j - k >>> 0) {
+      break a;
+     }
+     h = g + k | 0;
+     g = h + 8 | 0;
+     if (g >>> 0 > j >>> 0) {
+      break d;
+     }
+     i = r[h | 0] | r[h + 1 | 0] << 8;
+     i = ((i << 24 | i << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+     if (i >>> 0 > 18) {
+      break d;
+     }
+     k = r[h + 4 | 0] | r[h + 5 | 0] << 8 | (r[h + 6 | 0] << 16 | r[h + 7 | 0] << 24);
+     u = r[h + 2 | 0] | r[h + 3 | 0] << 8;
+     e : {
+      f : {
+       switch (i - 1 | 0) {
+       default:
+        g = g + (b - l << 2) | 0;
+        if (g + 8 >>> 0 > j >>> 0) {
+         break d;
+        }
+        b = r[g + 4 | 0] | r[g + 5 | 0] << 8 | (r[g + 6 | 0] << 16 | r[g + 7 | 0] << 24);
+        b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+        g = r[g | 0] | r[g + 1 | 0] << 8 | (r[g + 2 | 0] << 16 | r[g + 3 | 0] << 24);
+        g = g << 24 | g << 8 & 16711680 | (g >>> 8 & 65280 | g >>> 24);
+        if ((b | 0) != (g | 0)) {
+         break e;
+        }
+        break d;
+       case 0:
+        if (g + 12 >>> 0 > j >>> 0 | g + 9 >>> 0 > j >>> 0) {
+         break d;
+        }
+        i = r[g | 0] | r[g + 1 | 0] << 8 | (r[g + 2 | 0] << 16 | r[g + 3 | 0] << 24);
+        h = q[a + 12 >> 2];
+        g = g + 4 | 0;
+        p[h >> 1] = r[g | 0];
+        p[h + 2 >> 1] = r[g + 1 | 0];
+        p[h + 4 >> 1] = o[g + 2 | 0];
+        p[h + 6 >> 1] = o[g + 3 | 0];
+        p[h + 8 >> 1] = r[g + 4 | 0];
+        if (g + 8 >>> 0 > j >>> 0) {
+         break d;
+        }
+        p[h + 10 >> 1] = o[g + 5 | 0];
+        p[h + 12 >> 1] = o[g + 6 | 0];
+        p[h + 14 >> 1] = r[g + 7 | 0];
+        o[a + 16 | 0] = 1;
+        g = b - l | 0;
+        b = i << 8 & 16711680 | i << 24 | (i >>> 8 & 65280 | i >>> 24);
+        g = w(g, b);
+        b = g + b | 0;
+        break e;
+       case 1:
+        g = g + (b - l << 1) | 0;
+        if (g + 4 >>> 0 > j >>> 0) {
+         break d;
+        }
+        b = r[g + 3 | 0] | r[g + 2 | 0] << 8;
+        g = r[g + 1 | 0] | r[g | 0] << 8;
+        if ((b | 0) != (g | 0)) {
+         break e;
+        }
+        break d;
+       case 2:
+        h = g + 4 | 0;
+        if (h >>> 0 > j >>> 0 | h + 4 >>> 0 > j >>> 0) {
+         break d;
+        }
+        g = h + -4 | 0;
+        g = r[g | 0] | r[g + 1 | 0] << 8 | (r[g + 2 | 0] << 16 | r[g + 3 | 0] << 24);
+        g = g << 24 | g << 8 & 16711680 | (g >>> 8 & 65280 | g >>> 24);
+        if (g >>> 0 > (j - h >> 2) + -1 >>> 0 | !g) {
+         break d;
+        }
+        i = 0;
+        while (1) {
+         if ((r[h + 1 | 0] | r[h | 0] << 8) == (b | 0)) {
+          b = r[h + 7 | 0] | r[h + 6 | 0] << 8;
+          g = r[h + 3 | 0] | r[h + 2 | 0] << 8;
+          break e;
+         }
+         h = h + 4 | 0;
+         i = i + 1 | 0;
+         if ((g | 0) != (i | 0)) {
+          continue;
+         }
+         break;
+        }
+        break d;
+       case 4:
+       case 5:
+       case 6:
+       case 7:
+       case 8:
+       case 9:
+       case 10:
+       case 11:
+       case 12:
+       case 13:
+       case 14:
+       case 15:
+       case 16:
+        break d;
+       case 3:
+       case 17:
+        break f;
+       }
+      }
+      if (g + 16 >>> 0 > j >>> 0 | g + 9 >>> 0 > j >>> 0) {
+       break d;
+      }
+      i = r[g | 0] | r[g + 1 | 0] << 8 | (r[g + 2 | 0] << 16 | r[g + 3 | 0] << 24);
+      h = q[a + 12 >> 2];
+      g = g + 4 | 0;
+      p[h >> 1] = r[g | 0];
+      p[h + 2 >> 1] = r[g + 1 | 0];
+      p[h + 4 >> 1] = o[g + 2 | 0];
+      p[h + 6 >> 1] = o[g + 3 | 0];
+      p[h + 8 >> 1] = r[g + 4 | 0];
+      l = g + 8 | 0;
+      if (l >>> 0 > j >>> 0) {
+       break d;
+      }
+      p[h + 10 >> 1] = o[g + 5 | 0];
+      p[h + 12 >> 1] = o[g + 6 | 0];
+      p[h + 14 >> 1] = r[g + 7 | 0];
+      o[a + 16 | 0] = 1;
+      g = r[g + 8 | 0] | r[g + 9 | 0] << 8 | (r[g + 10 | 0] << 16 | r[g + 11 | 0] << 24);
+      g = g << 24 | g << 8 & 16711680 | (g >>> 8 & 65280 | g >>> 24);
+      h = l + 4 | 0;
+      if (g >>> 0 > j - h >> 1 >>> 0 | !g) {
+       break d;
+      }
+      j = i << 8 & 16711680 | i << 24 | (i >>> 8 & 65280 | i >>> 24);
+      i = 0;
+      while (1) {
+       if ((r[h + 1 | 0] | r[h | 0] << 8) != (b | 0)) {
+        h = h + 2 | 0;
+        i = i + 1 | 0;
+        if ((g | 0) != (i | 0)) {
+         continue;
+        }
+        break d;
+       }
+       break;
+      }
+      g = w(i, j);
+      b = j + g | 0;
+     }
+     if (b >>> 0 < g >>> 0) {
+      break d;
+     }
+     i = 6;
+     j = b - g | 0;
+     if (!j) {
+      break a;
+     }
+     v = b;
+     b = k << 8 & 16711680 | k << 24 | (k >>> 8 & 65280 | k >>> 24);
+     if (v + b >>> 0 > t[a + 24 >> 2]) {
+      break a;
+     }
+     x = q[a + 4 >> 2];
+     i = yg(x, q[a + 20 >> 2] + (b + g | 0) | 0);
+     if (i) {
+      break a;
+     }
+     i = Jg(x, j, m + 12 | 0);
+     if (i) {
+      break a;
+     }
+     g = q[m + 12 >> 2];
+     b = g;
+     h = (u << 8 & 16711680 | u << 24) >>> 16 | 0;
+     g : {
+      if (h >>> 0 > 18) {
+       break g;
+      }
+      i = 1 << h;
+      h : {
+       if (!(i & 131334)) {
+        b = g;
+        if (!(i & 262848)) {
+         break g;
+        }
+        i = 6;
+        if ((j | 0) < 5) {
+         break b;
+        }
+        k = q[a + 12 >> 2];
+        p[k >> 1] = r[g | 0];
+        p[k + 2 >> 1] = r[g + 1 | 0];
+        p[k + 4 >> 1] = o[g + 2 | 0];
+        p[k + 6 >> 1] = o[g + 3 | 0];
+        p[k + 8 >> 1] = r[g + 4 | 0];
+        if ((j | 0) < 8) {
+         break b;
+        }
+        p[k + 10 >> 1] = o[g + 5 | 0];
+        p[k + 12 >> 1] = o[g + 6 | 0];
+        i = r[g + 7 | 0];
+        b = g + 8 | 0;
+        break h;
+       }
+       i = 6;
+       if ((j | 0) < 5) {
+        break b;
+       }
+       k = q[a + 12 >> 2];
+       p[k >> 1] = r[g | 0];
+       p[k + 2 >> 1] = r[g + 1 | 0];
+       p[k + 4 >> 1] = o[g + 2 | 0];
+       p[k + 6 >> 1] = o[g + 3 | 0];
+       b = r[g + 4 | 0];
+       i = 0;
+       p[k + 10 >> 1] = 0;
+       p[k + 12 >> 1] = 0;
+       p[k + 8 >> 1] = b;
+       b = g + 5 | 0;
+      }
+      p[k + 14 >> 1] = i;
+      o[a + 16 | 0] = 1;
+     }
+     k = h + -1 | 0;
+     if (k >>> 0 > 18) {
+      break c;
+     }
+     l = g + j | 0;
+     i = 7;
+     h = 319;
+     i : {
+      j : {
+       k : {
+        l : {
+         m : {
+          switch (k - 1 | 0) {
+          case 15:
+          case 16:
+          case 17:
+           break b;
+          case 7:
+           break j;
+          case 6:
+           break k;
+          case 3:
+           break l;
+          case 0:
+          case 5:
+           break m;
+          case 1:
+          case 2:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+           break c;
+          default:
+           break i;
+          }
+         }
+         j = q[a + 12 >> 2];
+         g = s[j >> 1];
+         i = s[j + 2 >> 1];
+         j = w(g, i + 7 >>> 3 | 0);
+         if (w(g, i) + 7 >>> 3 >>> 0 >= j >>> 0) {
+          break l;
+         }
+         if ((j | 0) == (l - b | 0)) {
+          break i;
+         }
+        }
+        h = 320;
+        break i;
+       }
+       i = 0;
+       b = b + 1 | 0;
+       if (b >>> 0 > l >>> 0) {
+        break b;
+       }
+      }
+      h = 321;
+     }
+     n : {
+      o : {
+       if (r[a + 17 | 0]) {
+        break o;
+       }
+       if (!r[a + 16 | 0]) {
+        i = 6;
+        break b;
+       }
+       j = q[a + 12 >> 2];
+       k = s[j + 2 >> 1];
+       g = q[a + 8 >> 2];
+       u = s[j >> 1];
+       q[g >> 2] = u;
+       q[g + 4 >> 2] = k;
+       i = 3;
+       j = r[a + 18 | 0] + -1 | 0;
+       if (j >>> 0 > 31) {
+        break b;
+       }
+       v = g;
+       p : {
+        q : {
+         r : {
+          switch (j - 1 | 0) {
+          default:
+           o[g + 18 | 0] = 1;
+           k = k + 7 >>> 3 | 0;
+           j = 2;
+           break p;
+          case 0:
+           o[g + 18 | 0] = 3;
+           k = k + 3 >>> 2 | 0;
+           j = 4;
+           break p;
+          case 2:
+           o[g + 18 | 0] = 4;
+           k = k + 1 >>> 1 | 0;
+           j = 16;
+           break p;
+          case 6:
+           o[g + 18 | 0] = 2;
+           break q;
+          case 1:
+          case 3:
+          case 4:
+          case 5:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 28:
+          case 29:
+           break b;
+          case 30:
+           break r;
+          }
+         }
+         o[g + 18 | 0] = 7;
+         k = k << 2;
+        }
+        j = 256;
+       }
+       p[v + 16 >> 1] = j;
+       q[g + 8 >> 2] = k;
+       if (f) {
+        break o;
+       }
+       g = w(k, u);
+       if (!g) {
+        break o;
+       }
+       i = sf(q[q[a >> 2] + 84 >> 2], g);
+       if (i) {
+        break b;
+       }
+       o[a + 17 | 0] = 1;
+       break n;
+      }
+      i = 0;
+      if (f) {
+       break b;
+      }
+     }
+     i = n[h](a, b, l, c, d, e) | 0;
+     break b;
+    }
+    i = e ? 21 : 157;
+    break a;
+   }
+   i = 8;
+  }
+  Lg(x, m + 12 | 0);
+ }
+ Ca = m + 16 | 0;
+ return i;
+}
+function Mz(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, w = 0, x = 0, y = 0;
+ g = Ca - 48 | 0;
+ Ca = g;
+ e = q[a + 24 >> 2];
+ a : {
+  if (e >>> 0 < 8) {
+   break a;
+  }
+  p = a + 128 | 0;
+  w = e + -2 | 0;
+  c = 6;
+  while (1) {
+   i = h;
+   h = c;
+   c = p;
+   d = q[c + 12 >> 2];
+   q[g + 40 >> 2] = q[c + 8 >> 2];
+   q[g + 44 >> 2] = d;
+   d = q[c + 4 >> 2];
+   q[g + 32 >> 2] = q[c >> 2];
+   q[g + 36 >> 2] = d;
+   if (e >>> 0 <= i >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   l = q[a + 32 >> 2];
+   b : {
+    if (l >>> 0 <= i >>> 0) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break b;
+    }
+    c = q[a + 36 >> 2] + (i << 5) | 0;
+   }
+   m = r[a + 176 | 0];
+   c : {
+    if (!m) {
+     break c;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break c;
+    }
+    j = q[c + 24 >> 2];
+    n = q[a + 172 >> 2];
+    f = v[c >> 3];
+    e = 0;
+    while (1) {
+     f = f + v[j + (e << 3) >> 3] * +u[n + (e << 2) >> 2];
+     e = e + 1 | 0;
+     if ((d | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = f;
+    if (q[c + 16 >> 2] < 0) {
+     break c;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   d = i | 1;
+   if (t[a + 24 >> 2] <= d >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   d : {
+    if (l >>> 0 <= d >>> 0) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break d;
+    }
+    d = q[a + 36 >> 2] + (d << 5) | 0;
+   }
+   e : {
+    if (!m) {
+     break e;
+    }
+    j = q[d + 20 >> 2];
+    if (!j | (j | 0) != q[a + 168 >> 2]) {
+     break e;
+    }
+    n = q[d + 24 >> 2];
+    s = q[a + 172 >> 2];
+    f = v[d >> 3];
+    e = 0;
+    while (1) {
+     f = f + v[n + (e << 3) >> 3] * +u[s + (e << 2) >> 2];
+     e = e + 1 | 0;
+     if ((j | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = f;
+    if (q[d + 16 >> 2] < 0) {
+     break e;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   v[g + 32 >> 3] = v[g + 32 >> 3] + v[c >> 3];
+   v[g + 40 >> 3] = v[g + 40 >> 3] + v[d >> 3];
+   c = q[g + 44 >> 2];
+   q[g + 24 >> 2] = q[g + 40 >> 2];
+   q[g + 28 >> 2] = c;
+   c = q[g + 36 >> 2];
+   q[g + 16 >> 2] = q[g + 32 >> 2];
+   q[g + 20 >> 2] = c;
+   c = i + 2 | 0;
+   if (t[a + 24 >> 2] <= c >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   f : {
+    if (l >>> 0 <= c >>> 0) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break f;
+    }
+    c = q[a + 36 >> 2] + (c << 5) | 0;
+   }
+   g : {
+    if (!m) {
+     break g;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break g;
+    }
+    j = q[c + 24 >> 2];
+    n = q[a + 172 >> 2];
+    f = v[c >> 3];
+    e = 0;
+    while (1) {
+     f = f + v[j + (e << 3) >> 3] * +u[n + (e << 2) >> 2];
+     e = e + 1 | 0;
+     if ((d | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = f;
+    if (q[c + 16 >> 2] < 0) {
+     break g;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   d = i + 3 | 0;
+   if (t[a + 24 >> 2] <= d >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   h : {
+    if (l >>> 0 <= d >>> 0) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break h;
+    }
+    d = q[a + 36 >> 2] + (d << 5) | 0;
+   }
+   i : {
+    if (!m) {
+     break i;
+    }
+    j = q[d + 20 >> 2];
+    if (!j | (j | 0) != q[a + 168 >> 2]) {
+     break i;
+    }
+    n = q[d + 24 >> 2];
+    s = q[a + 172 >> 2];
+    f = v[d >> 3];
+    e = 0;
+    while (1) {
+     f = f + v[n + (e << 3) >> 3] * +u[s + (e << 2) >> 2];
+     e = e + 1 | 0;
+     if ((j | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = f;
+    if (q[d + 16 >> 2] < 0) {
+     break i;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   v[g + 16 >> 3] = v[g + 16 >> 3] + v[c >> 3];
+   v[g + 24 >> 3] = v[g + 24 >> 3] + v[d >> 3];
+   c = q[g + 28 >> 2];
+   q[g + 8 >> 2] = q[g + 24 >> 2];
+   q[g + 12 >> 2] = c;
+   c = q[g + 20 >> 2];
+   q[g >> 2] = q[g + 16 >> 2];
+   q[g + 4 >> 2] = c;
+   c = i + 4 | 0;
+   if (t[a + 24 >> 2] <= c >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   j : {
+    if (l >>> 0 <= c >>> 0) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break j;
+    }
+    c = q[a + 36 >> 2] + (c << 5) | 0;
+   }
+   k : {
+    if (!m) {
+     break k;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break k;
+    }
+    j = q[c + 24 >> 2];
+    n = q[a + 172 >> 2];
+    f = v[c >> 3];
+    e = 0;
+    while (1) {
+     f = f + v[j + (e << 3) >> 3] * +u[n + (e << 2) >> 2];
+     e = e + 1 | 0;
+     if ((d | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = f;
+    if (q[c + 16 >> 2] < 0) {
+     break k;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   d = i + 5 | 0;
+   if (t[a + 24 >> 2] <= d >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   l : {
+    if (l >>> 0 <= d >>> 0) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break l;
+    }
+    d = q[a + 36 >> 2] + (d << 5) | 0;
+   }
+   m : {
+    if (!m) {
+     break m;
+    }
+    i = q[d + 20 >> 2];
+    if (!i | (i | 0) != q[a + 168 >> 2]) {
+     break m;
+    }
+    l = q[d + 24 >> 2];
+    m = q[a + 172 >> 2];
+    f = v[d >> 3];
+    e = 0;
+    while (1) {
+     f = f + v[l + (e << 3) >> 3] * +u[m + (e << 2) >> 2];
+     e = e + 1 | 0;
+     if ((i | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = f;
+    if (q[d + 16 >> 2] < 0) {
+     break m;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   v[g >> 3] = v[g >> 3] + v[c >> 3];
+   v[g + 8 >> 3] = v[g + 8 >> 3] + v[d >> 3];
+   uz(a, b, g + 32 | 0, g + 16 | 0, g);
+   e = q[a + 24 >> 2];
+   c = h + 6 | 0;
+   if (c >>> 0 <= w >>> 0) {
+    continue;
+   }
+   break;
+  }
+  k = v[a + 136 >> 3];
+  x = v[a + 128 >> 3];
+  if (e >>> 0 <= h >>> 0) {
+   o[a + 20 | 0] = 1;
+  }
+  i = q[a + 32 >> 2];
+  n : {
+   if (i >>> 0 <= h >>> 0) {
+    c = q[67767];
+    q[160662] = q[67766];
+    q[160663] = c;
+    c = q[67765];
+    q[160660] = q[67764];
+    q[160661] = c;
+    c = q[67763];
+    q[160658] = q[67762];
+    q[160659] = c;
+    c = q[67761];
+    q[160656] = q[67760];
+    q[160657] = c;
+    c = 642624;
+    break n;
+   }
+   c = q[a + 36 >> 2] + (h << 5) | 0;
+  }
+  p = r[a + 176 | 0];
+  o : {
+   if (!p) {
+    break o;
+   }
+   d = q[c + 20 >> 2];
+   if (!d | (d | 0) != q[a + 168 >> 2]) {
+    break o;
+   }
+   l = q[c + 24 >> 2];
+   m = q[a + 172 >> 2];
+   f = v[c >> 3];
+   e = 0;
+   while (1) {
+    f = f + v[l + (e << 3) >> 3] * +u[m + (e << 2) >> 2];
+    e = e + 1 | 0;
+    if ((d | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[c + 8 >> 2] = 0;
+   q[c + 12 >> 2] = 0;
+   v[c >> 3] = f;
+   if (q[c + 16 >> 2] < 0) {
+    break o;
+   }
+   q[c + 20 >> 2] = 0;
+  }
+  h = h | 1;
+  if (t[a + 24 >> 2] <= h >>> 0) {
+   o[a + 20 | 0] = 1;
+  }
+  p : {
+   if (i >>> 0 <= h >>> 0) {
+    h = q[67767];
+    q[160662] = q[67766];
+    q[160663] = h;
+    h = q[67765];
+    q[160660] = q[67764];
+    q[160661] = h;
+    h = q[67763];
+    q[160658] = q[67762];
+    q[160659] = h;
+    h = q[67761];
+    q[160656] = q[67760];
+    q[160657] = h;
+    h = 642624;
+    break p;
+   }
+   h = q[a + 36 >> 2] + (h << 5) | 0;
+  }
+  q : {
+   if (!p) {
+    break q;
+   }
+   d = q[h + 20 >> 2];
+   if (!d | (d | 0) != q[a + 168 >> 2]) {
+    break q;
+   }
+   i = q[h + 24 >> 2];
+   p = q[a + 172 >> 2];
+   f = v[h >> 3];
+   e = 0;
+   while (1) {
+    f = f + v[i + (e << 3) >> 3] * +u[p + (e << 2) >> 2];
+    e = e + 1 | 0;
+    if ((d | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[h + 8 >> 2] = 0;
+   q[h + 12 >> 2] = 0;
+   v[h >> 3] = f;
+   if (q[h + 16 >> 2] < 0) {
+    break q;
+   }
+   q[h + 20 >> 2] = 0;
+  }
+  y = k + v[h >> 3];
+  f = x + v[c >> 3];
+  r : {
+   if (r[b | 0]) {
+    break r;
+   }
+   o[b | 0] = 1;
+   k = v[a + 128 >> 3];
+   if (!!(v[b + 8 >> 3] > k)) {
+    v[b + 8 >> 3] = k;
+    k = v[a + 128 >> 3];
+   }
+   if (!!(k > v[b + 24 >> 3])) {
+    v[b + 24 >> 3] = k;
+   }
+   k = v[a + 136 >> 3];
+   if (!!(v[b + 16 >> 3] > k)) {
+    v[b + 16 >> 3] = k;
+    k = v[a + 136 >> 3];
+   }
+   if (!(k > v[b + 32 >> 3])) {
+    break r;
+   }
+   v[b + 32 >> 3] = k;
+  }
+  v[a + 136 >> 3] = y;
+  v[a + 128 >> 3] = f;
+  if (!!(v[b + 8 >> 3] > f)) {
+   v[b + 8 >> 3] = f;
+   f = v[a + 128 >> 3];
+  }
+  if (!!(f > v[b + 24 >> 3])) {
+   v[b + 24 >> 3] = f;
+  }
+  f = v[a + 136 >> 3];
+  if (!!(v[b + 16 >> 3] > f)) {
+   v[b + 16 >> 3] = f;
+   f = v[a + 136 >> 3];
+  }
+  if (!(f > v[b + 32 >> 3])) {
+   break a;
+  }
+  v[b + 32 >> 3] = f;
+ }
+ Ca = g + 48 | 0;
+}
+function hn(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ k = q[a + 100 >> 2];
+ q[f + 8 >> 2] = 0;
+ d = ff(b, q[a + 92 >> 2]);
+ a : {
+  if (d) {
+   e = q[a + 80 >> 2];
+   d = q[d >> 2];
+   a = q[(e + (d << 4) | 0) + 4 >> 2] + -1 | 0;
+   if (a >>> 0 > 2) {
+    break a;
+   }
+   b : {
+    switch (a - 1 | 0) {
+    default:
+     a = e + (d << 4) | 0;
+     Qe(k, q[a + 12 >> 2]);
+     q[a + 12 >> 2] = 0;
+     if (!c | !r[c | 0]) {
+      break a;
+     }
+     n = a, p = Zg(k, c, f + 8 | 0), q[n + 12 >> 2] = p;
+     break a;
+    case 0:
+     e = e + (d << 4) | 0;
+     b = 0;
+     c : {
+      if (!c) {
+       break c;
+      }
+      d = 0;
+      a = r[c | 0];
+      b = 0;
+      if (!a) {
+       break c;
+      }
+      if ((a | 0) != 45) {
+       b = c;
+      } else {
+       d = 1;
+       a = r[c + 1 | 0];
+       b = c + 1 | 0;
+      }
+      c = 0;
+      g = r[((a & 248) >>> 3 | 0) + 28592 | 0];
+      a = a << 24 >> 24;
+      d : {
+       if (!(g >>> (a & 7) & 1)) {
+        break d;
+       }
+       while (1) {
+        if ((c | 0) > 214748362) {
+         c = 2147483647;
+         break d;
+        }
+        c = r[a + 28624 | 0] + w(c, 10) | 0;
+        a = o[b + 1 | 0];
+        b = b + 1 | 0;
+        if (r[((a & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1) {
+         continue;
+        }
+        break;
+       }
+      }
+      b = d ? 0 - c | 0 : c;
+     }
+     q[e + 12 >> 2] = b;
+     break a;
+    case 1:
+     break b;
+    }
+   }
+   b = 0;
+   e : {
+    if (!c) {
+     break e;
+    }
+    a = o[c | 0];
+    h = a & 255;
+    if (!h | !(r[(h >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1)) {
+     break e;
+    }
+    while (1) {
+     if (b >>> 0 > 429496727) {
+      b = -1;
+      break e;
+     }
+     b = r[a + 28624 | 0] + w(b, 10) | 0;
+     a = o[c + 1 | 0];
+     c = c + 1 | 0;
+     if (r[((a & 248) >>> 3 | 0) + 28592 | 0] >>> (a & 7) & 1) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[(e + (d << 4) | 0) + 12 >> 2] = b;
+   break a;
+  }
+  f : {
+   h = a + 112 | 0;
+   g = ff(b, h);
+   if (!g) {
+    g = q[a + 100 >> 2];
+    q[f + 12 >> 2] = 0;
+    if (!ff(b, h)) {
+     d = q[a + 108 >> 2];
+     e = Te(g, 16, d, d + 1 | 0, q[a + 104 >> 2], f + 12 | 0);
+     q[a + 104 >> 2] = e;
+     d = q[f + 12 >> 2];
+     if (d) {
+      break f;
+     }
+     e = e + (q[a + 108 >> 2] << 4) | 0;
+     q[e >> 2] = 0;
+     q[e + 4 >> 2] = 0;
+     q[e + 8 >> 2] = 0;
+     q[e + 12 >> 2] = 0;
+     i = g0(b) + 1 | 0;
+     j = Te(g, 1, 0, i, 0, f + 12 | 0);
+     q[e >> 2] = j;
+     d = q[f + 12 >> 2];
+     if (d) {
+      break f;
+     }
+     Y$(j, b, i);
+     q[e + 4 >> 2] = 1;
+     q[e + 8 >> 2] = 0;
+     d = df(q[e >> 2], q[a + 108 >> 2] + 83 | 0, h, g);
+     q[f + 12 >> 2] = d;
+     if (d) {
+      break f;
+     }
+     q[a + 108 >> 2] = q[a + 108 >> 2] + 1;
+    }
+    q[f + 8 >> 2] = 0;
+    g = ff(b, h);
+   }
+   d = q[a + 76 >> 2];
+   if ((d | 0) == q[a + 72 >> 2]) {
+    g : {
+     if (!d) {
+      e = Te(k, 16, 0, 1, 0, f + 8 | 0);
+      q[a + 80 >> 2] = e;
+      if (!q[f + 8 >> 2]) {
+       break g;
+      }
+      break a;
+     }
+     e = Te(k, 16, d, d + 1 | 0, q[a + 80 >> 2], f + 8 | 0);
+     q[a + 80 >> 2] = e;
+     if (q[f + 8 >> 2]) {
+      break a;
+     }
+    }
+    d = (q[a + 72 >> 2] << 4) + e | 0;
+    q[d >> 2] = 0;
+    q[d + 4 >> 2] = 0;
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+   }
+   d = q[g >> 2];
+   h : {
+    if (d >>> 0 >= 83) {
+     d = (q[a + 104 >> 2] + (d << 4) | 0) + -1328 | 0;
+     break h;
+    }
+    d = (d << 4) + 26112 | 0;
+   }
+   g = q[a + 80 >> 2];
+   h = q[a + 76 >> 2];
+   j = g + (h << 4) | 0;
+   q[j >> 2] = q[d >> 2];
+   q[j + 4 >> 2] = q[d + 4 >> 2];
+   q[j + 8 >> 2] = q[d + 8 >> 2];
+   d = q[d + 4 >> 2] + -1 | 0;
+   i : {
+    if (d >>> 0 > 2) {
+     break i;
+    }
+    j : {
+     switch (d - 1 | 0) {
+     default:
+      d = g + (h << 4) | 0;
+      q[d + 12 >> 2] = 0;
+      if (!c | !r[c | 0]) {
+       break i;
+      }
+      n = d, p = Zg(k, c, f + 8 | 0), q[n + 12 >> 2] = p;
+      if (!q[f + 8 >> 2]) {
+       break i;
+      }
+      break a;
+     case 0:
+      l = g + (h << 4) | 0;
+      d = 0;
+      k : {
+       if (!c) {
+        break k;
+       }
+       i = r[c | 0];
+       d = 0;
+       if (!i) {
+        break k;
+       }
+       if ((i | 0) == 45) {
+        m = 1;
+        i = r[c + 1 | 0];
+        c = c + 1 | 0;
+       }
+       d = c;
+       e = 0;
+       c = i << 24 >> 24;
+       l : {
+        if (!(r[((i & 248) >>> 3 | 0) + 28592 | 0] >>> (c & 7) & 1)) {
+         break l;
+        }
+        while (1) {
+         if ((e | 0) > 214748362) {
+          e = 2147483647;
+          break l;
+         }
+         e = r[c + 28624 | 0] + w(e, 10) | 0;
+         c = o[d + 1 | 0];
+         d = d + 1 | 0;
+         if (r[((c & 248) >>> 3 | 0) + 28592 | 0] >>> (c & 7) & 1) {
+          continue;
+         }
+         break;
+        }
+       }
+       d = m ? 0 - e | 0 : e;
+      }
+      q[l + 12 >> 2] = d;
+      break i;
+     case 1:
+      break j;
+     }
+    }
+    d = 0;
+    m : {
+     if (!c) {
+      break m;
+     }
+     e = o[c | 0];
+     i = e & 255;
+     if (!i | !(r[(i >>> 3 | 0) + 28592 | 0] >>> (e & 7) & 1)) {
+      break m;
+     }
+     while (1) {
+      if (d >>> 0 > 429496727) {
+       d = -1;
+       break m;
+      }
+      d = r[e + 28624 | 0] + w(d, 10) | 0;
+      e = o[c + 1 | 0];
+      c = c + 1 | 0;
+      if (r[((e & 248) >>> 3 | 0) + 28592 | 0] >>> (e & 7) & 1) {
+       continue;
+      }
+      break;
+     }
+    }
+    q[(g + (h << 4) | 0) + 12 >> 2] = d;
+   }
+   n : {
+    o : {
+     if (jZ(b, 26088, 7)) {
+      break o;
+     }
+     c = r[b + 7 | 0];
+     if (c >>> 0 > 32) {
+      break o;
+     }
+     switch (c - 1 | 0) {
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 10:
+     case 11:
+     case 13:
+     case 14:
+     case 15:
+     case 16:
+     case 17:
+     case 18:
+     case 19:
+     case 20:
+     case 21:
+     case 22:
+     case 23:
+     case 24:
+     case 25:
+     case 26:
+     case 27:
+     case 28:
+     case 29:
+     case 30:
+      break o;
+     default:
+      break n;
+     }
+    }
+    c = df(q[j >> 2], q[a + 76 >> 2], q[a + 92 >> 2], k);
+    q[f + 8 >> 2] = c;
+    if (c) {
+     break a;
+    }
+   }
+   q[a + 76 >> 2] = q[a + 76 >> 2] + 1;
+   p : {
+    if (jZ(b, 27614, 12)) {
+     break p;
+    }
+    c = r[b + 12 | 0];
+    if (c >>> 0 > 32) {
+     break p;
+    }
+    q : {
+     switch (c - 1 | 0) {
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 10:
+     case 11:
+     case 13:
+     case 14:
+     case 15:
+     case 16:
+     case 17:
+     case 18:
+     case 19:
+     case 20:
+     case 21:
+     case 22:
+     case 23:
+     case 24:
+     case 25:
+     case 26:
+     case 27:
+     case 28:
+     case 29:
+     case 30:
+      break p;
+     default:
+      break q;
+     }
+    }
+    q[a + 36 >> 2] = q[(g + (h << 4) | 0) + 12 >> 2];
+    break a;
+   }
+   r : {
+    if (jZ(b, 27495, 11)) {
+     break r;
+    }
+    c = r[b + 11 | 0];
+    if (c >>> 0 > 32) {
+     break r;
+    }
+    s : {
+     switch (c - 1 | 0) {
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 10:
+     case 11:
+     case 13:
+     case 14:
+     case 15:
+     case 16:
+     case 17:
+     case 18:
+     case 19:
+     case 20:
+     case 21:
+     case 22:
+     case 23:
+     case 24:
+     case 25:
+     case 26:
+     case 27:
+     case 28:
+     case 29:
+     case 30:
+      break r;
+     default:
+      break s;
+     }
+    }
+    q[a + 40 >> 2] = q[(g + (h << 4) | 0) + 12 >> 2];
+    break a;
+   }
+   t : {
+    if (jZ(b, 27507, 12)) {
+     break t;
+    }
+    c = r[b + 12 | 0];
+    if (c >>> 0 > 32) {
+     break t;
+    }
+    u : {
+     switch (c - 1 | 0) {
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 10:
+     case 11:
+     case 13:
+     case 14:
+     case 15:
+     case 16:
+     case 17:
+     case 18:
+     case 19:
+     case 20:
+     case 21:
+     case 22:
+     case 23:
+     case 24:
+     case 25:
+     case 26:
+     case 27:
+     case 28:
+     case 29:
+     case 30:
+      break t;
+     default:
+      break u;
+     }
+    }
+    q[a + 44 >> 2] = q[(g + (h << 4) | 0) + 12 >> 2];
+    break a;
+   }
+   if (jZ(b, 25904, 7)) {
+    break a;
+   }
+   b = r[b + 7 | 0];
+   if (b >>> 0 > 32) {
+    break a;
+   }
+   v : {
+    switch (b - 1 | 0) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 10:
+    case 11:
+    case 13:
+    case 14:
+    case 15:
+    case 16:
+    case 17:
+    case 18:
+    case 19:
+    case 20:
+    case 21:
+    case 22:
+    case 23:
+    case 24:
+    case 25:
+    case 26:
+    case 27:
+    case 28:
+    case 29:
+    case 30:
+     break a;
+    default:
+     break v;
+    }
+   }
+   b = q[(g + (h << 4) | 0) + 12 >> 2];
+   if (!b) {
+    q[f + 8 >> 2] = 3;
+    break a;
+   }
+   b = r[b | 0] + -67 | 0;
+   if (b >>> 0 > 45) {
+    break a;
+   }
+   w : {
+    switch (b - 1 | 0) {
+    case 12:
+    case 44:
+     q[a + 28 >> 2] = 8;
+     break a;
+    case 9:
+    case 41:
+     q[a + 28 >> 2] = 16;
+     break a;
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 10:
+    case 11:
+    case 13:
+    case 14:
+    case 15:
+    case 16:
+    case 17:
+    case 18:
+    case 19:
+    case 20:
+    case 21:
+    case 22:
+    case 23:
+    case 24:
+    case 25:
+    case 26:
+    case 27:
+    case 28:
+    case 29:
+    case 30:
+    case 32:
+    case 33:
+    case 34:
+    case 35:
+    case 36:
+    case 37:
+    case 38:
+    case 39:
+    case 40:
+    case 42:
+    case 43:
+     break a;
+    default:
+     break w;
+    }
+   }
+   q[a + 28 >> 2] = 32;
+   break a;
+  }
+  q[f + 8 >> 2] = d;
+ }
+ Ca = f + 16 | 0;
+ return q[f + 8 >> 2];
+}
+function JU(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0;
+ j = -1;
+ a : {
+  e = c - b | 0;
+  if ((e | 0) < 2) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         k = r[b | 0];
+         if (k) {
+          f = k + -216 | 0;
+          if (f >>> 0 > 39) {
+           break h;
+          }
+          switch (f - 4 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+           break c;
+          case 35:
+           break e;
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 28:
+          case 29:
+          case 30:
+          case 31:
+          case 32:
+          case 33:
+          case 34:
+           break h;
+          default:
+           break f;
+          }
+         }
+         i = r[b + 1 | 0];
+         f = r[(i + a | 0) + 72 | 0] + -5 | 0;
+         if (f >>> 0 > 24) {
+          break c;
+         }
+         switch (f - 1 | 0) {
+         case 16:
+         case 18:
+          break b;
+         case 23:
+          break d;
+         case 1:
+          break f;
+         case 0:
+          break g;
+         default:
+          break c;
+         }
+        }
+        i = r[b + 1 | 0];
+        break d;
+       }
+       j = -2;
+       if ((e | 0) >= 3) {
+        break c;
+       }
+       break a;
+      }
+      j = -2;
+      if ((e | 0) >= 4) {
+       break c;
+      }
+      break a;
+     }
+     i = r[b + 1 | 0];
+     if (i >>> 0 > 253) {
+      break c;
+     }
+    }
+    if (q[(i >>> 3 & 28 | r[k + 492208 | 0] << 5) + 490192 >> 2] >>> (i & 31) & 1) {
+     break b;
+    }
+   }
+   q[d >> 2] = b;
+   return 0;
+  }
+  l = b + 2 | 0;
+  g = c - l | 0;
+  if ((g | 0) < 2) {
+   break a;
+  }
+  n = a + 72 | 0;
+  h = l;
+  a = b;
+  while (1) {
+   i : {
+    f = h;
+    j : {
+     k : {
+      l : {
+       m : {
+        n : {
+         m = r[a + 2 | 0];
+         e = m + -216 | 0;
+         if (e >>> 0 > 39) {
+          if (m) {
+           break l;
+          }
+          e = r[a + 3 | 0];
+          p = r[n + e | 0] + -5 | 0;
+          if (p >>> 0 > 24) {
+           break i;
+          }
+          o : {
+           switch (p - 1 | 0) {
+           case 0:
+            j = -2;
+            if ((g | 0) < 3) {
+             break a;
+            }
+            break i;
+           case 3:
+           case 4:
+           case 15:
+            g = 11;
+            p : {
+             if (k | (h - b | 0) != 6) {
+              break p;
+             }
+             if ((i | 0) == 120) {
+              e = 0;
+             } else {
+              if ((i | 0) != 88) {
+               break p;
+              }
+              e = 1;
+             }
+             if (r[l | 0]) {
+              break p;
+             }
+             h = o[b + 3 | 0];
+             if ((h | 0) != 109) {
+              if ((h | 0) != 77) {
+               break p;
+              }
+              e = 1;
+             }
+             if (r[b + 4 | 0]) {
+              break p;
+             }
+             b = o[b + 5 | 0];
+             if ((b | 0) == 76) {
+              break i;
+             }
+             if ((b | 0) != 108) {
+              break p;
+             }
+             if (e) {
+              break i;
+             }
+             g = 12;
+            }
+            b = a + 4 | 0;
+            f = c - b | 0;
+            if ((f | 0) < 2) {
+             break a;
+            }
+            while (1) {
+             a = b;
+             q : {
+              r : {
+               s : {
+                t : {
+                 u : {
+                  v : {
+                   w : {
+                    b = r[b | 0];
+                    e = b + -216 | 0;
+                    if (e >>> 0 > 39) {
+                     if (b) {
+                      break r;
+                     }
+                     b = r[r[a + 1 | 0] + n | 0];
+                     if (b >>> 0 > 15) {
+                      break r;
+                     }
+                     switch (b - 2 | 0) {
+                     case 0:
+                     case 1:
+                     case 2:
+                     case 3:
+                     case 7:
+                     case 8:
+                     case 9:
+                     case 10:
+                     case 11:
+                     case 12:
+                      break r;
+                     case 13:
+                      break s;
+                     case 5:
+                      break v;
+                     case 4:
+                      break w;
+                     default:
+                      break t;
+                     }
+                    }
+                    switch (e - 4 | 0) {
+                    case 4:
+                    case 5:
+                    case 6:
+                    case 7:
+                    case 8:
+                    case 9:
+                    case 10:
+                    case 11:
+                    case 12:
+                    case 13:
+                    case 14:
+                    case 15:
+                    case 16:
+                    case 17:
+                    case 18:
+                    case 19:
+                    case 20:
+                    case 21:
+                    case 22:
+                    case 23:
+                    case 24:
+                    case 25:
+                    case 26:
+                    case 27:
+                    case 28:
+                    case 29:
+                    case 30:
+                    case 31:
+                    case 32:
+                    case 33:
+                    case 34:
+                     break r;
+                    case 0:
+                    case 1:
+                    case 2:
+                    case 3:
+                     break t;
+                    case 35:
+                     break u;
+                    default:
+                     break v;
+                    }
+                   }
+                   if ((f | 0) < 3) {
+                    return -2;
+                   }
+                   b = a + 3 | 0;
+                   break q;
+                  }
+                  if ((f | 0) < 4) {
+                   return -2;
+                  }
+                  b = a + 4 | 0;
+                  break q;
+                 }
+                 if (r[a + 1 | 0] <= 253) {
+                  break r;
+                 }
+                }
+                q[d >> 2] = a;
+                return 0;
+               }
+               b = a + 2 | 0;
+               if ((c - b | 0) < 2) {
+                break a;
+               }
+               if (r[b | 0] | r[a + 3 | 0] != 62) {
+                break q;
+               }
+               q[d >> 2] = a + 4;
+               return g;
+              }
+              b = a + 2 | 0;
+             }
+             f = c - b | 0;
+             if ((f | 0) > 1) {
+              continue;
+             }
+             break;
+            }
+            break a;
+           case 16:
+           case 18:
+           case 19:
+           case 20:
+           case 21:
+            break j;
+           case 23:
+            break k;
+           case 1:
+            break n;
+           case 9:
+            break o;
+           default:
+            break i;
+           }
+          }
+          e = 11;
+          x : {
+           if (k | (h - b | 0) != 6) {
+            break x;
+           }
+           if ((i | 0) == 120) {
+            g = 0;
+           } else {
+            if ((i | 0) != 88) {
+             break x;
+            }
+            g = 1;
+           }
+           if (r[l | 0]) {
+            break x;
+           }
+           h = o[b + 3 | 0];
+           if ((h | 0) != 109) {
+            if ((h | 0) != 77) {
+             break x;
+            }
+            g = 1;
+           }
+           if (r[b + 4 | 0]) {
+            break x;
+           }
+           b = o[b + 5 | 0];
+           if ((b | 0) == 76) {
+            break i;
+           }
+           if ((b | 0) != 108) {
+            break x;
+           }
+           if (g) {
+            break i;
+           }
+           e = 12;
+          }
+          f = a + 4 | 0;
+          if ((c - f | 0) < 2) {
+           break a;
+          }
+          if (r[f | 0] | r[a + 5 | 0] != 62) {
+           break i;
+          }
+          q[d >> 2] = a + 6;
+          j = e;
+          break a;
+         }
+         switch (e - 4 | 0) {
+         case 0:
+         case 1:
+         case 2:
+         case 3:
+          break i;
+         case 4:
+         case 5:
+         case 6:
+         case 7:
+         case 8:
+         case 9:
+         case 10:
+         case 11:
+         case 12:
+         case 13:
+         case 14:
+         case 15:
+         case 16:
+         case 17:
+         case 18:
+         case 19:
+         case 20:
+         case 21:
+         case 22:
+         case 23:
+         case 24:
+         case 25:
+         case 26:
+         case 27:
+         case 28:
+         case 29:
+         case 30:
+         case 31:
+         case 32:
+         case 33:
+         case 34:
+          break l;
+         case 35:
+          break m;
+         default:
+          break n;
+         }
+        }
+        j = -2;
+        if ((g | 0) >= 4) {
+         break i;
+        }
+        break a;
+       }
+       e = r[a + 3 | 0];
+       if (e >>> 0 > 253) {
+        break i;
+       }
+       break k;
+      }
+      e = r[a + 3 | 0];
+     }
+     if (!(q[(e >>> 3 & 28 | r[m + 492464 | 0] << 5) + 490192 >> 2] >>> (e & 31) & 1)) {
+      break i;
+     }
+    }
+    a = f;
+    h = a + 2 | 0;
+    g = c - h | 0;
+    if ((g | 0) > 1) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  q[d >> 2] = f;
+  return 0;
+ }
+ return j;
+}
+function nU(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0;
+ k = -1;
+ a : {
+  e = c - b | 0;
+  if ((e | 0) < 2) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         l = r[b + 1 | 0];
+         if (l) {
+          f = l + -216 | 0;
+          if (f >>> 0 > 39) {
+           break h;
+          }
+          switch (f - 4 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+           break c;
+          case 35:
+           break e;
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 28:
+          case 29:
+          case 30:
+          case 31:
+          case 32:
+          case 33:
+          case 34:
+           break h;
+          default:
+           break f;
+          }
+         }
+         h = r[b | 0];
+         f = r[(h + a | 0) + 72 | 0] + -5 | 0;
+         if (f >>> 0 > 24) {
+          break c;
+         }
+         switch (f - 1 | 0) {
+         case 16:
+         case 18:
+          break b;
+         case 23:
+          break d;
+         case 1:
+          break f;
+         case 0:
+          break g;
+         default:
+          break c;
+         }
+        }
+        h = r[b | 0];
+        break d;
+       }
+       k = -2;
+       if ((e | 0) >= 3) {
+        break c;
+       }
+       break a;
+      }
+      k = -2;
+      if ((e | 0) >= 4) {
+       break c;
+      }
+      break a;
+     }
+     h = r[b | 0];
+     if (h >>> 0 > 253) {
+      break c;
+     }
+    }
+    if (q[(h >>> 3 & 28 | r[l + 492208 | 0] << 5) + 490192 >> 2] >>> (h & 31) & 1) {
+     break b;
+    }
+   }
+   q[d >> 2] = b;
+   return 0;
+  }
+  j = b + 2 | 0;
+  i = c - j | 0;
+  if ((i | 0) < 2) {
+   break a;
+  }
+  n = a + 72 | 0;
+  g = j;
+  f = b;
+  while (1) {
+   i : {
+    a = g;
+    j : {
+     k : {
+      l : {
+       m : {
+        n : {
+         m = r[f + 3 | 0];
+         e = m + -216 | 0;
+         if (e >>> 0 > 39) {
+          if (m) {
+           break l;
+          }
+          e = r[a | 0];
+          p = r[n + e | 0] + -5 | 0;
+          if (p >>> 0 > 24) {
+           break i;
+          }
+          o : {
+           switch (p - 1 | 0) {
+           case 0:
+            k = -2;
+            if ((i | 0) < 3) {
+             break a;
+            }
+            break i;
+           case 3:
+           case 4:
+           case 15:
+            i = 11;
+            p : {
+             if (l | (g - b | 0) != 6) {
+              break p;
+             }
+             if ((h | 0) == 120) {
+              e = 0;
+             } else {
+              if ((h | 0) != 88) {
+               break p;
+              }
+              e = 1;
+             }
+             if (r[b + 3 | 0]) {
+              break p;
+             }
+             g = o[j | 0];
+             if ((g | 0) != 109) {
+              if ((g | 0) != 77) {
+               break p;
+              }
+              e = 1;
+             }
+             if (r[b + 5 | 0]) {
+              break p;
+             }
+             b = o[b + 4 | 0];
+             if ((b | 0) == 76) {
+              break i;
+             }
+             if ((b | 0) != 108) {
+              break p;
+             }
+             if (e) {
+              break i;
+             }
+             i = 12;
+            }
+            b = f + 4 | 0;
+            e = c - b | 0;
+            if ((e | 0) < 2) {
+             break a;
+            }
+            while (1) {
+             a = b;
+             q : {
+              r : {
+               s : {
+                t : {
+                 u : {
+                  v : {
+                   w : {
+                    b = r[b + 1 | 0];
+                    f = b + -216 | 0;
+                    if (f >>> 0 > 39) {
+                     if (b) {
+                      break r;
+                     }
+                     b = r[r[a | 0] + n | 0];
+                     if (b >>> 0 > 15) {
+                      break r;
+                     }
+                     switch (b - 2 | 0) {
+                     case 0:
+                     case 1:
+                     case 2:
+                     case 3:
+                     case 7:
+                     case 8:
+                     case 9:
+                     case 10:
+                     case 11:
+                     case 12:
+                      break r;
+                     case 13:
+                      break s;
+                     case 5:
+                      break v;
+                     case 4:
+                      break w;
+                     default:
+                      break t;
+                     }
+                    }
+                    switch (f - 4 | 0) {
+                    case 4:
+                    case 5:
+                    case 6:
+                    case 7:
+                    case 8:
+                    case 9:
+                    case 10:
+                    case 11:
+                    case 12:
+                    case 13:
+                    case 14:
+                    case 15:
+                    case 16:
+                    case 17:
+                    case 18:
+                    case 19:
+                    case 20:
+                    case 21:
+                    case 22:
+                    case 23:
+                    case 24:
+                    case 25:
+                    case 26:
+                    case 27:
+                    case 28:
+                    case 29:
+                    case 30:
+                    case 31:
+                    case 32:
+                    case 33:
+                    case 34:
+                     break r;
+                    case 0:
+                    case 1:
+                    case 2:
+                    case 3:
+                     break t;
+                    case 35:
+                     break u;
+                    default:
+                     break v;
+                    }
+                   }
+                   if ((e | 0) < 3) {
+                    return -2;
+                   }
+                   b = a + 3 | 0;
+                   break q;
+                  }
+                  if ((e | 0) < 4) {
+                   return -2;
+                  }
+                  b = a + 4 | 0;
+                  break q;
+                 }
+                 if (r[a | 0] <= 253) {
+                  break r;
+                 }
+                }
+                q[d >> 2] = a;
+                return 0;
+               }
+               b = a + 2 | 0;
+               if ((c - b | 0) < 2) {
+                break a;
+               }
+               if (r[a + 3 | 0] | r[b | 0] != 62) {
+                break q;
+               }
+               q[d >> 2] = a + 4;
+               return i;
+              }
+              b = a + 2 | 0;
+             }
+             e = c - b | 0;
+             if ((e | 0) > 1) {
+              continue;
+             }
+             break;
+            }
+            break a;
+           case 16:
+           case 18:
+           case 19:
+           case 20:
+           case 21:
+            break j;
+           case 23:
+            break k;
+           case 1:
+            break n;
+           case 9:
+            break o;
+           default:
+            break i;
+           }
+          }
+          e = 11;
+          x : {
+           if (l | (g - b | 0) != 6) {
+            break x;
+           }
+           if ((h | 0) == 120) {
+            g = 0;
+           } else {
+            if ((h | 0) != 88) {
+             break x;
+            }
+            g = 1;
+           }
+           if (r[b + 3 | 0]) {
+            break x;
+           }
+           j = o[j | 0];
+           if ((j | 0) != 109) {
+            if ((j | 0) != 77) {
+             break x;
+            }
+            g = 1;
+           }
+           if (r[b + 5 | 0]) {
+            break x;
+           }
+           b = o[b + 4 | 0];
+           if ((b | 0) == 76) {
+            break i;
+           }
+           if ((b | 0) != 108) {
+            break x;
+           }
+           if (g) {
+            break i;
+           }
+           e = 12;
+          }
+          a = f + 4 | 0;
+          if ((c - a | 0) < 2) {
+           break a;
+          }
+          if (r[f + 5 | 0] | r[a | 0] != 62) {
+           break i;
+          }
+          q[d >> 2] = f + 6;
+          k = e;
+          break a;
+         }
+         switch (e - 4 | 0) {
+         case 0:
+         case 1:
+         case 2:
+         case 3:
+          break i;
+         case 4:
+         case 5:
+         case 6:
+         case 7:
+         case 8:
+         case 9:
+         case 10:
+         case 11:
+         case 12:
+         case 13:
+         case 14:
+         case 15:
+         case 16:
+         case 17:
+         case 18:
+         case 19:
+         case 20:
+         case 21:
+         case 22:
+         case 23:
+         case 24:
+         case 25:
+         case 26:
+         case 27:
+         case 28:
+         case 29:
+         case 30:
+         case 31:
+         case 32:
+         case 33:
+         case 34:
+          break l;
+         case 35:
+          break m;
+         default:
+          break n;
+         }
+        }
+        k = -2;
+        if ((i | 0) >= 4) {
+         break i;
+        }
+        break a;
+       }
+       e = r[a | 0];
+       if (e >>> 0 > 253) {
+        break i;
+       }
+       break k;
+      }
+      e = r[a | 0];
+     }
+     if (!(q[(e >>> 3 & 28 | r[m + 492464 | 0] << 5) + 490192 >> 2] >>> (e & 31) & 1)) {
+      break i;
+     }
+    }
+    f = a;
+    g = a + 2 | 0;
+    i = c - g | 0;
+    if ((i | 0) > 1) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  q[d >> 2] = a;
+  return 0;
+ }
+ return k;
+}
+function Qn(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = q[a + 544 >> 2];
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            l : {
+             m : {
+              while (1) {
+               if (d >>> 0 > 7) {
+                return -31;
+               }
+               n : {
+                o : {
+                 switch (d - 1 | 0) {
+                 case 1:
+                  c = q[b + 4 >> 2];
+                  break n;
+                 default:
+                  d = q[b + 4 >> 2];
+                  p : {
+                   if ((d | 0) != 32) {
+                    e = q[b >> 2];
+                    break p;
+                   }
+                   c = q[b + 12 >> 2];
+                   if (!c) {
+                    break b;
+                   }
+                   e = q[b >> 2] >>> 8 | 0;
+                   q[b >> 2] = e;
+                   g = q[b + 8 >> 2];
+                   f = r[g | 0];
+                   q[b + 12 >> 2] = c + -1;
+                   d = 24;
+                   q[b + 4 >> 2] = 24;
+                   q[b + 8 >> 2] = g + 1;
+                   e = e | f << 24;
+                   q[b >> 2] = e;
+                  }
+                  q[b + 4 >> 2] = d + 1;
+                  q[a + 184 >> 2] = 0;
+                  c = 1 << d & e;
+                  p[a + 560 >> 1] = s[a + 560 >> 1] & 65528 | (c | 0) != 0;
+                  if (!c) {
+                   d = 2;
+                   q[a + 544 >> 2] = 2;
+                   continue;
+                  }
+                  q[a + 544 >> 2] = 1;
+                  break;
+                 case 3:
+                  break k;
+                 case 2:
+                  break m;
+                 case 0:
+                  break o;
+                 case 6:
+                  break f;
+                 case 5:
+                  break h;
+                 case 4:
+                  break i;
+                 }
+                }
+                d = q[b + 4 >> 2];
+                q : {
+                 if ((d | 0) != 32) {
+                  e = q[b >> 2];
+                  break q;
+                 }
+                 c = q[b + 12 >> 2];
+                 if (!c) {
+                  break b;
+                 }
+                 e = q[b >> 2] >>> 8 | 0;
+                 q[b >> 2] = e;
+                 g = q[b + 8 >> 2];
+                 f = r[g | 0];
+                 q[b + 12 >> 2] = c + -1;
+                 d = 24;
+                 q[b + 4 >> 2] = 24;
+                 q[b + 8 >> 2] = g + 1;
+                 e = e | f << 24;
+                 q[b >> 2] = e;
+                }
+                c = d + 1 | 0;
+                q[b + 4 >> 2] = c;
+                if (e >>> d & 1) {
+                 q[a + 544 >> 2] = 0;
+                 return 1;
+                }
+                q[a + 544 >> 2] = 2;
+               }
+               r : {
+                if (32 - c >>> 0 >= 2) {
+                 f = q[b >> 2];
+                 break r;
+                }
+                d = q[b + 12 >> 2];
+                e = c;
+                while (1) {
+                 if (!d) {
+                  break b;
+                 }
+                 g = q[b >> 2] >>> 8 | 0;
+                 q[b >> 2] = g;
+                 f = q[b + 8 >> 2];
+                 h = r[f | 0];
+                 d = d + -1 | 0;
+                 q[b + 12 >> 2] = d;
+                 c = e + -8 | 0;
+                 q[b + 4 >> 2] = c;
+                 q[b + 8 >> 2] = f + 1;
+                 f = g | h << 24;
+                 q[b >> 2] = f;
+                 g = 40 - e | 0;
+                 e = c;
+                 if (g >>> 0 < 2) {
+                  continue;
+                 }
+                 break;
+                }
+               }
+               q[b + 4 >> 2] = c + 2;
+               q[a + 4 >> 2] = 0;
+               c = f >>> c & 3;
+               d = s[a + 560 >> 1] & -16321 | c << 6 | 256;
+               p[a + 560 >> 1] = d;
+               if ((c | 0) == 3) {
+                p[a + 560 >> 1] = d | 4;
+                d = 5;
+                q[a + 544 >> 2] = 5;
+                continue;
+               }
+               break;
+              }
+              q[a + 544 >> 2] = 3;
+              c = 0;
+              break l;
+             }
+             d = s[a + 560 >> 1];
+             c = q[a + 4 >> 2];
+            }
+            if ((c | 0) < (d >>> 6 & 255)) {
+             e = q[b + 4 >> 2];
+             while (1) {
+              g = c;
+              s : {
+               if (32 - e >>> 0 >= 4) {
+                f = q[b >> 2];
+                c = e;
+                break s;
+               }
+               d = q[b + 12 >> 2];
+               while (1) {
+                if (!d) {
+                 break d;
+                }
+                f = q[b >> 2] >>> 8 | 0;
+                q[b >> 2] = f;
+                h = q[b + 8 >> 2];
+                i = r[h | 0];
+                d = d + -1 | 0;
+                q[b + 12 >> 2] = d;
+                c = e + -8 | 0;
+                q[b + 4 >> 2] = c;
+                q[b + 8 >> 2] = h + 1;
+                f = f | i << 24;
+                q[b >> 2] = f;
+                h = 40 - e | 0;
+                e = c;
+                if (h >>> 0 < 4) {
+                 continue;
+                }
+                break;
+               }
+              }
+              e = c + 4 | 0;
+              q[b + 4 >> 2] = e;
+              f = f >>> c & 15;
+              c = g + 1 | 0;
+              d = s[a + 560 >> 1];
+              h = d >>> 6 & 255;
+              if (!(f | (c | 0) != (h | 0) | h >>> 0 <= 4)) {
+               return -1;
+              }
+              q[a + 184 >> 2] = q[a + 184 >> 2] | f << (g << 2);
+              if ((c | 0) < (h | 0)) {
+               continue;
+              }
+              break;
+             }
+            }
+            q[a + 544 >> 2] = 4;
+            break j;
+           }
+           d = s[a + 560 >> 1];
+          }
+          if (!(d & 1)) {
+           d = q[b + 4 >> 2];
+           t : {
+            if ((d | 0) != 32) {
+             e = q[b >> 2];
+             break t;
+            }
+            c = q[b + 12 >> 2];
+            if (!c) {
+             break b;
+            }
+            e = q[b >> 2] >>> 8 | 0;
+            q[b >> 2] = e;
+            g = q[b + 8 >> 2];
+            f = r[g | 0];
+            q[b + 12 >> 2] = c + -1;
+            d = 24;
+            q[b + 4 >> 2] = 24;
+            q[b + 8 >> 2] = g + 1;
+            e = e | f << 24;
+            q[b >> 2] = e;
+           }
+           q[b + 4 >> 2] = d + 1;
+           p[a + 560 >> 1] = s[a + 560 >> 1] & 65533 | (e >>> d & 1) << 1;
+          }
+          q[a + 544 >> 2] = 0;
+          q[a + 184 >> 2] = q[a + 184 >> 2] + 1;
+          return 1;
+         }
+         e = q[b + 4 >> 2];
+         u : {
+          if ((e | 0) != 32) {
+           d = q[b >> 2];
+           break u;
+          }
+          c = q[b + 12 >> 2];
+          if (!c) {
+           break b;
+          }
+          d = q[b >> 2] >>> 8 | 0;
+          q[b >> 2] = d;
+          g = q[b + 8 >> 2];
+          f = r[g | 0];
+          q[b + 12 >> 2] = c + -1;
+          e = 24;
+          q[b + 4 >> 2] = 24;
+          q[b + 8 >> 2] = g + 1;
+          d = d | f << 24;
+          q[b >> 2] = d;
+         }
+         c = e + 1 | 0;
+         q[b + 4 >> 2] = c;
+         g = -2;
+         if (d >>> e & 1) {
+          break a;
+         }
+         q[a + 544 >> 2] = 6;
+         break g;
+        }
+        c = q[b + 4 >> 2];
+       }
+       v : {
+        if (32 - c >>> 0 >= 2) {
+         f = q[b >> 2];
+         break v;
+        }
+        d = q[b + 12 >> 2];
+        e = c;
+        while (1) {
+         if (!d) {
+          break b;
+         }
+         g = q[b >> 2] >>> 8 | 0;
+         q[b >> 2] = g;
+         f = q[b + 8 >> 2];
+         h = r[f | 0];
+         d = d + -1 | 0;
+         q[b + 12 >> 2] = d;
+         c = e + -8 | 0;
+         q[b + 4 >> 2] = c;
+         q[b + 8 >> 2] = f + 1;
+         f = g | h << 24;
+         q[b >> 2] = f;
+         g = 40 - e | 0;
+         e = c;
+         if (g >>> 0 < 2) {
+          continue;
+         }
+         break;
+        }
+       }
+       q[b + 4 >> 2] = c + 2;
+       c = f >>> c & 3;
+       if (!c) {
+        q[a + 544 >> 2] = 0;
+        return 1;
+       }
+       q[a + 544 >> 2] = 7;
+       d = s[a + 560 >> 1] & -16321 | c << 6;
+       p[a + 560 >> 1] = d;
+       break e;
+      }
+      d = s[a + 560 >> 1];
+     }
+     e = q[a + 4 >> 2];
+     w : {
+      if ((e | 0) >= (d >>> 6 & 255)) {
+       c = q[a + 184 >> 2];
+       break w;
+      }
+      d = q[b + 4 >> 2];
+      while (1) {
+       g = e;
+       x : {
+        if (32 - d >>> 0 >= 8) {
+         f = q[b >> 2];
+         c = d;
+         break x;
+        }
+        e = q[b + 12 >> 2];
+        while (1) {
+         if (!e) {
+          break c;
+         }
+         f = q[b >> 2] >>> 8 | 0;
+         q[b >> 2] = f;
+         h = q[b + 8 >> 2];
+         i = r[h | 0];
+         e = e + -1 | 0;
+         q[b + 12 >> 2] = e;
+         c = d + -8 | 0;
+         q[b + 4 >> 2] = c;
+         q[b + 8 >> 2] = h + 1;
+         f = f | i << 24;
+         q[b >> 2] = f;
+         h = 40 - d | 0;
+         d = c;
+         if (h >>> 0 < 8) {
+          continue;
+         }
+         break;
+        }
+       }
+       d = c + 8 | 0;
+       q[b + 4 >> 2] = d;
+       c = f >>> c & 255;
+       e = g + 1 | 0;
+       f = s[a + 560 >> 1] >>> 6 & 255;
+       if (!(c | (e | 0) != (f | 0) | f >>> 0 <= 1)) {
+        return -3;
+       }
+       c = q[a + 184 >> 2] | c << (g << 3);
+       q[a + 184 >> 2] = c;
+       if ((e | 0) < (f | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     q[a + 544 >> 2] = 0;
+     q[a + 184 >> 2] = c + 1;
+     return 1;
+    }
+    q[a + 4 >> 2] = g;
+    break b;
+   }
+   q[a + 4 >> 2] = g;
+  }
+  g = 2;
+ }
+ return g;
+}
+function Lz(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, w = 0;
+ g = Ca - 48 | 0;
+ Ca = g;
+ h = q[a + 24 >> 2];
+ if (h >>> 0 >= 8) {
+  j = h + -6 | 0;
+  l = q[a + 32 >> 2];
+  m = r[a + 176 | 0];
+  c = 2;
+  while (1) {
+   i = c;
+   k = v[a + 136 >> 3];
+   s = v[a + 128 >> 3];
+   if (h >>> 0 <= d >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   a : {
+    if (l >>> 0 <= d >>> 0) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     e = 642624;
+     break a;
+    }
+    e = q[a + 36 >> 2] + (d << 5) | 0;
+   }
+   b : {
+    if (!m) {
+     break b;
+    }
+    h = q[e + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break b;
+    }
+    n = q[e + 24 >> 2];
+    p = q[a + 172 >> 2];
+    f = v[e >> 3];
+    c = 0;
+    while (1) {
+     f = f + v[n + (c << 3) >> 3] * +u[p + (c << 2) >> 2];
+     c = c + 1 | 0;
+     if ((h | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[e + 8 >> 2] = 0;
+    q[e + 12 >> 2] = 0;
+    v[e >> 3] = f;
+    if (q[e + 16 >> 2] < 0) {
+     break b;
+    }
+    q[e + 20 >> 2] = 0;
+   }
+   c = d | 1;
+   if (t[a + 24 >> 2] <= c >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   c : {
+    if (l >>> 0 <= c >>> 0) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     d = 642624;
+     break c;
+    }
+    d = q[a + 36 >> 2] + (c << 5) | 0;
+   }
+   d : {
+    if (!m) {
+     break d;
+    }
+    h = q[d + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break d;
+    }
+    n = q[d + 24 >> 2];
+    p = q[a + 172 >> 2];
+    f = v[d >> 3];
+    c = 0;
+    while (1) {
+     f = f + v[n + (c << 3) >> 3] * +u[p + (c << 2) >> 2];
+     c = c + 1 | 0;
+     if ((h | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = f;
+    if (q[d + 16 >> 2] < 0) {
+     break d;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   w = k + v[d >> 3];
+   f = s + v[e >> 3];
+   e : {
+    if (r[b | 0]) {
+     break e;
+    }
+    o[b | 0] = 1;
+    k = v[a + 128 >> 3];
+    if (!!(v[b + 8 >> 3] > k)) {
+     v[b + 8 >> 3] = k;
+     k = v[a + 128 >> 3];
+    }
+    if (!!(k > v[b + 24 >> 3])) {
+     v[b + 24 >> 3] = k;
+    }
+    k = v[a + 136 >> 3];
+    if (!!(v[b + 16 >> 3] > k)) {
+     v[b + 16 >> 3] = k;
+     k = v[a + 136 >> 3];
+    }
+    if (!(k > v[b + 32 >> 3])) {
+     break e;
+    }
+    v[b + 32 >> 3] = k;
+   }
+   v[a + 136 >> 3] = w;
+   v[a + 128 >> 3] = f;
+   if (!!(v[b + 8 >> 3] > f)) {
+    v[b + 8 >> 3] = f;
+    f = v[a + 128 >> 3];
+   }
+   if (!!(f > v[b + 24 >> 3])) {
+    v[b + 24 >> 3] = f;
+   }
+   f = v[a + 136 >> 3];
+   if (!!(v[b + 16 >> 3] > f)) {
+    v[b + 16 >> 3] = f;
+    f = v[a + 136 >> 3];
+   }
+   if (!!(f > v[b + 32 >> 3])) {
+    v[b + 32 >> 3] = f;
+   }
+   h = q[a + 24 >> 2];
+   d = i;
+   c = d + 2 | 0;
+   if (c >>> 0 <= j >>> 0) {
+    continue;
+   }
+   break;
+  }
+  e = q[a + 140 >> 2];
+  q[g + 40 >> 2] = q[a + 136 >> 2];
+  q[g + 44 >> 2] = e;
+  e = q[a + 132 >> 2];
+  q[g + 32 >> 2] = q[a + 128 >> 2];
+  q[g + 36 >> 2] = e;
+  if (h >>> 0 <= i >>> 0) {
+   o[a + 20 | 0] = 1;
+  }
+  l = q[a + 32 >> 2];
+  f : {
+   if (l >>> 0 <= i >>> 0) {
+    e = q[67767];
+    q[160662] = q[67766];
+    q[160663] = e;
+    e = q[67765];
+    q[160660] = q[67764];
+    q[160661] = e;
+    e = q[67763];
+    q[160658] = q[67762];
+    q[160659] = e;
+    e = q[67761];
+    q[160656] = q[67760];
+    q[160657] = e;
+    e = 642624;
+    break f;
+   }
+   e = q[a + 36 >> 2] + (i << 5) | 0;
+  }
+  m = r[a + 176 | 0];
+  g : {
+   if (!m) {
+    break g;
+   }
+   d = q[e + 20 >> 2];
+   if (!d | (d | 0) != q[a + 168 >> 2]) {
+    break g;
+   }
+   j = q[e + 24 >> 2];
+   n = q[a + 172 >> 2];
+   f = v[e >> 3];
+   h = 0;
+   while (1) {
+    f = f + v[j + (h << 3) >> 3] * +u[n + (h << 2) >> 2];
+    h = h + 1 | 0;
+    if ((d | 0) != (h | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[e + 8 >> 2] = 0;
+   q[e + 12 >> 2] = 0;
+   v[e >> 3] = f;
+   if (q[e + 16 >> 2] < 0) {
+    break g;
+   }
+   q[e + 20 >> 2] = 0;
+  }
+  d = i | 1;
+  if (t[a + 24 >> 2] <= d >>> 0) {
+   o[a + 20 | 0] = 1;
+  }
+  h : {
+   if (l >>> 0 <= d >>> 0) {
+    d = q[67767];
+    q[160662] = q[67766];
+    q[160663] = d;
+    d = q[67765];
+    q[160660] = q[67764];
+    q[160661] = d;
+    d = q[67763];
+    q[160658] = q[67762];
+    q[160659] = d;
+    d = q[67761];
+    q[160656] = q[67760];
+    q[160657] = d;
+    d = 642624;
+    break h;
+   }
+   d = q[a + 36 >> 2] + (d << 5) | 0;
+  }
+  i : {
+   if (!m) {
+    break i;
+   }
+   j = q[d + 20 >> 2];
+   if (!j | (j | 0) != q[a + 168 >> 2]) {
+    break i;
+   }
+   n = q[d + 24 >> 2];
+   p = q[a + 172 >> 2];
+   f = v[d >> 3];
+   h = 0;
+   while (1) {
+    f = f + v[n + (h << 3) >> 3] * +u[p + (h << 2) >> 2];
+    h = h + 1 | 0;
+    if ((j | 0) != (h | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[d + 8 >> 2] = 0;
+   q[d + 12 >> 2] = 0;
+   v[d >> 3] = f;
+   if (q[d + 16 >> 2] < 0) {
+    break i;
+   }
+   q[d + 20 >> 2] = 0;
+  }
+  v[g + 32 >> 3] = v[g + 32 >> 3] + v[e >> 3];
+  v[g + 40 >> 3] = v[g + 40 >> 3] + v[d >> 3];
+  e = q[g + 44 >> 2];
+  q[g + 24 >> 2] = q[g + 40 >> 2];
+  q[g + 28 >> 2] = e;
+  e = q[g + 36 >> 2];
+  q[g + 16 >> 2] = q[g + 32 >> 2];
+  q[g + 20 >> 2] = e;
+  if (t[a + 24 >> 2] <= c >>> 0) {
+   o[a + 20 | 0] = 1;
+  }
+  j : {
+   if (l >>> 0 <= c >>> 0) {
+    c = q[67767];
+    q[160662] = q[67766];
+    q[160663] = c;
+    c = q[67765];
+    q[160660] = q[67764];
+    q[160661] = c;
+    c = q[67763];
+    q[160658] = q[67762];
+    q[160659] = c;
+    c = q[67761];
+    q[160656] = q[67760];
+    q[160657] = c;
+    e = 642624;
+    break j;
+   }
+   e = q[a + 36 >> 2] + (c << 5) | 0;
+  }
+  k : {
+   if (!m) {
+    break k;
+   }
+   d = q[e + 20 >> 2];
+   if (!d | (d | 0) != q[a + 168 >> 2]) {
+    break k;
+   }
+   h = q[e + 24 >> 2];
+   j = q[a + 172 >> 2];
+   f = v[e >> 3];
+   c = 0;
+   while (1) {
+    f = f + v[h + (c << 3) >> 3] * +u[j + (c << 2) >> 2];
+    c = c + 1 | 0;
+    if ((d | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[e + 8 >> 2] = 0;
+   q[e + 12 >> 2] = 0;
+   v[e >> 3] = f;
+   if (q[e + 16 >> 2] < 0) {
+    break k;
+   }
+   q[e + 20 >> 2] = 0;
+  }
+  c = i + 3 | 0;
+  if (t[a + 24 >> 2] <= c >>> 0) {
+   o[a + 20 | 0] = 1;
+  }
+  l : {
+   if (l >>> 0 <= c >>> 0) {
+    c = q[67767];
+    q[160662] = q[67766];
+    q[160663] = c;
+    c = q[67765];
+    q[160660] = q[67764];
+    q[160661] = c;
+    c = q[67763];
+    q[160658] = q[67762];
+    q[160659] = c;
+    c = q[67761];
+    q[160656] = q[67760];
+    q[160657] = c;
+    d = 642624;
+    break l;
+   }
+   d = q[a + 36 >> 2] + (c << 5) | 0;
+  }
+  m : {
+   if (!m) {
+    break m;
+   }
+   h = q[d + 20 >> 2];
+   if (!h | (h | 0) != q[a + 168 >> 2]) {
+    break m;
+   }
+   j = q[d + 24 >> 2];
+   n = q[a + 172 >> 2];
+   f = v[d >> 3];
+   c = 0;
+   while (1) {
+    f = f + v[j + (c << 3) >> 3] * +u[n + (c << 2) >> 2];
+    c = c + 1 | 0;
+    if ((h | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[d + 8 >> 2] = 0;
+   q[d + 12 >> 2] = 0;
+   v[d >> 3] = f;
+   if (q[d + 16 >> 2] < 0) {
+    break m;
+   }
+   q[d + 20 >> 2] = 0;
+  }
+  v[g + 16 >> 3] = v[g + 16 >> 3] + v[e >> 3];
+  v[g + 24 >> 3] = v[g + 24 >> 3] + v[d >> 3];
+  c = q[g + 28 >> 2];
+  q[g + 8 >> 2] = q[g + 24 >> 2];
+  q[g + 12 >> 2] = c;
+  c = q[g + 20 >> 2];
+  q[g >> 2] = q[g + 16 >> 2];
+  q[g + 4 >> 2] = c;
+  c = i + 4 | 0;
+  if (t[a + 24 >> 2] <= c >>> 0) {
+   o[a + 20 | 0] = 1;
+  }
+  n : {
+   if (l >>> 0 <= c >>> 0) {
+    c = q[67767];
+    q[160662] = q[67766];
+    q[160663] = c;
+    c = q[67765];
+    q[160660] = q[67764];
+    q[160661] = c;
+    c = q[67763];
+    q[160658] = q[67762];
+    q[160659] = c;
+    c = q[67761];
+    q[160656] = q[67760];
+    q[160657] = c;
+    e = 642624;
+    break n;
+   }
+   e = q[a + 36 >> 2] + (c << 5) | 0;
+  }
+  o : {
+   if (!m) {
+    break o;
+   }
+   d = q[e + 20 >> 2];
+   if (!d | (d | 0) != q[a + 168 >> 2]) {
+    break o;
+   }
+   h = q[e + 24 >> 2];
+   j = q[a + 172 >> 2];
+   f = v[e >> 3];
+   c = 0;
+   while (1) {
+    f = f + v[h + (c << 3) >> 3] * +u[j + (c << 2) >> 2];
+    c = c + 1 | 0;
+    if ((d | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[e + 8 >> 2] = 0;
+   q[e + 12 >> 2] = 0;
+   v[e >> 3] = f;
+   if (q[e + 16 >> 2] < 0) {
+    break o;
+   }
+   q[e + 20 >> 2] = 0;
+  }
+  i = i + 5 | 0;
+  if (t[a + 24 >> 2] <= i >>> 0) {
+   o[a + 20 | 0] = 1;
+  }
+  p : {
+   if (l >>> 0 <= i >>> 0) {
+    i = q[67767];
+    q[160662] = q[67766];
+    q[160663] = i;
+    i = q[67765];
+    q[160660] = q[67764];
+    q[160661] = i;
+    i = q[67763];
+    q[160658] = q[67762];
+    q[160659] = i;
+    i = q[67761];
+    q[160656] = q[67760];
+    q[160657] = i;
+    i = 642624;
+    break p;
+   }
+   i = q[a + 36 >> 2] + (i << 5) | 0;
+  }
+  q : {
+   if (!m) {
+    break q;
+   }
+   d = q[i + 20 >> 2];
+   if (!d | (d | 0) != q[a + 168 >> 2]) {
+    break q;
+   }
+   h = q[i + 24 >> 2];
+   l = q[a + 172 >> 2];
+   f = v[i >> 3];
+   c = 0;
+   while (1) {
+    f = f + v[h + (c << 3) >> 3] * +u[l + (c << 2) >> 2];
+    c = c + 1 | 0;
+    if ((d | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[i + 8 >> 2] = 0;
+   q[i + 12 >> 2] = 0;
+   v[i >> 3] = f;
+   if (q[i + 16 >> 2] < 0) {
+    break q;
+   }
+   q[i + 20 >> 2] = 0;
+  }
+  v[g >> 3] = v[g >> 3] + v[e >> 3];
+  v[g + 8 >> 3] = v[g + 8 >> 3] + v[i >> 3];
+  uz(a, b, g + 32 | 0, g + 16 | 0, g);
+ }
+ Ca = g + 48 | 0;
+}
+function nk(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0;
+ e = Ca - 1488 | 0;
+ Ca = e;
+ a : {
+  if (!a) {
+   d = 37;
+   break a;
+  }
+  g = d | 3;
+  f = b ? d : g;
+  i = f & 1 ? 0 : b;
+  b : {
+   if (!i) {
+    b = q[a + 4 >> 2];
+    break b;
+   }
+   d = 35;
+   h = q[b >> 2];
+   b = q[a + 4 >> 2];
+   if ((h | 0) != (b | 0)) {
+    break a;
+   }
+  }
+  v = q[b + 556 >> 2];
+  m = q[v + 40 >> 2];
+  c : {
+   d : {
+    h = q[b + 712 >> 2];
+    if (q[h + 1504 >> 2] == 65535) {
+     break d;
+    }
+    j = q[h + 1192 >> 2];
+    if (!j) {
+     break d;
+    }
+    if (!c) {
+     c = 0;
+     break c;
+    }
+    d = 6;
+    if (t[h + 1196 >> 2] < c >>> 0) {
+     break a;
+    }
+    c = s[j + (c << 1) >> 1];
+    if (c) {
+     break c;
+    }
+    break a;
+   }
+   d = 6;
+   if (t[h + 20 >> 2] <= c >>> 0) {
+    break a;
+   }
+  }
+  q[a + 164 >> 2] = 65536;
+  q[a + 168 >> 2] = 65536;
+  j = f & 1024 ? g : f;
+  e : {
+   f : {
+    if (!i) {
+     break f;
+    }
+    q[a + 164 >> 2] = q[i + 16 >> 2];
+    q[a + 168 >> 2] = q[i + 20 >> 2];
+    d = q[i + 44 >> 2];
+    if (j & 8 | (d | 0) == -1) {
+     break f;
+    }
+    f = q[i >> 2];
+    g = q[f + 540 >> 2];
+    if (!q[g + 96 >> 2]) {
+     break f;
+    }
+    if (n[q[g + 72 >> 2]](b, d, c, j, q[f + 104 >> 2], a + 76 | 0, e + 704 | 0)) {
+     break f;
+    }
+    q[a + 108 >> 2] = 0;
+    q[a + 24 >> 2] = s[e + 706 >> 1] << 6;
+    q[a + 28 >> 2] = s[e + 704 >> 1] << 6;
+    d = p[e + 708 >> 1];
+    q[a + 32 >> 2] = d << 6;
+    f = p[e + 710 >> 1];
+    q[a + 36 >> 2] = f << 6;
+    q[a + 40 >> 2] = s[e + 712 >> 1] << 6;
+    g = p[e + 714 >> 1];
+    q[a + 44 >> 2] = g << 6;
+    h = p[e + 716 >> 1];
+    q[a + 48 >> 2] = h << 6;
+    i = s[e + 718 >> 1];
+    k = f;
+    f = j & 16;
+    q[a + 104 >> 2] = f ? h : k;
+    q[a + 100 >> 2] = f ? g : d;
+    q[a + 72 >> 2] = 1651078259;
+    q[a + 52 >> 2] = i << 6;
+    n[q[q[b + 540 >> 2] + 140 >> 2]](b, 0, c, e + 32 | 0, e + 48 | 0);
+    q[a + 56 >> 2] = s[e + 48 >> 1];
+    if (!(!r[b + 292 | 0] | !s[b + 330 >> 1])) {
+     n[q[q[b + 540 >> 2] + 140 >> 2]](b, 1, c, e + 32 | 0, e + 48 | 0);
+     q[a + 60 >> 2] = s[e + 48 >> 1];
+     break e;
+    }
+    if (s[b + 372 >> 1] != 65535) {
+     q[a + 60 >> 2] = p[b + 442 >> 1] - p[b + 444 >> 1];
+     break e;
+    }
+    q[a + 60 >> 2] = p[b + 220 >> 1] - p[b + 222 >> 1];
+    break e;
+   }
+   d = 6;
+   if (j & 16384) {
+    break a;
+   }
+   l = q[h + 2024 >> 2];
+   g : {
+    if (l) {
+     d = 0;
+     g = q[h + 3060 >> 2];
+     h : {
+      if (!g) {
+       break h;
+      }
+      f = r[h + 3052 | 0];
+      if (f >>> 0 > 3) {
+       break h;
+      }
+      i : {
+       switch (f - 1 | 0) {
+       default:
+        d = r[c + g | 0];
+        break h;
+       case 0:
+       case 1:
+        break h;
+       case 2:
+        break i;
+       }
+      }
+      if (c - q[h + 3068 >> 2] >>> 0 < t[h + 3072 >> 2]) {
+       d = r[h + 3076 | 0];
+       break h;
+      }
+      d = g + 2 | 0;
+      f = r[g + 1 | 0] | r[g | 0] << 8;
+      k = g + q[h + 3064 >> 2] | 0;
+      while (1) {
+       if (f >>> 0 <= c >>> 0) {
+        g = r[d + 2 | 0] | r[d + 1 | 0] << 8;
+        if (g >>> 0 > c >>> 0) {
+         d = r[d | 0];
+         o[h + 3076 | 0] = d;
+         q[h + 3072 >> 2] = g - f;
+         q[h + 3068 >> 2] = f;
+         break h;
+        }
+        f = g;
+        d = d + 3 | 0;
+        if (d >>> 0 < k >>> 0) {
+         continue;
+        }
+       }
+       break;
+      }
+      d = 0;
+     }
+     l = (h + (((l >>> 0 > (d & 255) >>> 0 ? d : l + -1 | 0) & 255) << 2) | 0) + 2028 | 0;
+     d = q[l >> 2];
+     f = q[d + 68 >> 2];
+     g = q[h + 1440 >> 2];
+     k = q[d + 60 >> 2];
+     q[e + 40 >> 2] = q[d + 56 >> 2];
+     q[e + 44 >> 2] = k;
+     k = q[d + 52 >> 2];
+     q[e + 32 >> 2] = q[d + 48 >> 2];
+     q[e + 36 >> 2] = k;
+     d = q[l >> 2];
+     l = q[d + 72 >> 2];
+     k = q[d + 76 >> 2];
+     if ((f | 0) == (g | 0)) {
+      break g;
+     }
+     z = a, A = ue(q[a + 164 >> 2], g, f), q[z + 164 >> 2] = A;
+     z = a, A = ue(q[a + 168 >> 2], g, f), q[z + 168 >> 2] = A;
+     w = 1;
+     break g;
+    }
+    d = h + 1428 | 0;
+    f = q[d + 4 >> 2];
+    q[e + 40 >> 2] = q[d >> 2];
+    q[e + 44 >> 2] = f;
+    d = h + 1420 | 0;
+    f = q[d + 4 >> 2];
+    q[e + 32 >> 2] = q[d >> 2];
+    q[e + 36 >> 2] = f;
+    k = q[h + 1448 >> 2];
+    l = q[h + 1444 >> 2];
+   }
+   q[a + 108 >> 2] = 0;
+   q[a + 72 >> 2] = 1869968492;
+   x = j & 1;
+   o[a + 161 | 0] = x ^ 1;
+   u = (j >>> 1 ^ -1) & 1;
+   o[a + 160 | 0] = u;
+   n[q[m >> 2]](e + 704 | 0, b, i, a, u, j >>> 16 & 15, 134, 135);
+   if (j & 256) {
+    o[e + 1297 | 0] = 1;
+   }
+   y = j & 1024;
+   o[e + 770 | 0] = y >>> 10;
+   d = q[q[b + 128 >> 2] + 52 >> 2];
+   j : {
+    if (d) {
+     d = n[q[q[d >> 2] >> 2]](q[d + 4 >> 2], c, e + 48 | 0) | 0;
+     q[e + 28 >> 2] = q[e + 48 >> 2];
+     q[e + 24 >> 2] = q[e + 52 >> 2];
+     break j;
+    }
+    d = hk(q[b + 712 >> 2] + 1204 | 0, c, e + 28 | 0, e + 24 | 0);
+   }
+   if (d) {
+    break a;
+   }
+   d = n[q[m + 4 >> 2]](e + 704 | 0, i, c) | 0;
+   if (d) {
+    break a;
+   }
+   n[q[v + 24 >> 2]](e + 48 | 0, e + 704 | 0, 0);
+   f = q[e + 24 >> 2];
+   d = n[q[m + 8 >> 2]](e + 48 | 0, q[e + 28 >> 2], f) | 0;
+   if ((d & 255) == 164) {
+    o[a + 160 | 0] = 0;
+    w = 1;
+    u = 0;
+    d = n[q[m + 8 >> 2]](e + 48 | 0, q[e + 28 >> 2], f) | 0;
+   }
+   g = q[q[b + 128 >> 2] + 52 >> 2];
+   k : {
+    if (g) {
+     q[e + 12 >> 2] = f;
+     q[e + 8 >> 2] = q[e + 28 >> 2];
+     n[q[q[g >> 2] + 4 >> 2]](q[g + 4 >> 2], e + 8 | 0);
+     break k;
+    }
+    g = q[b + 712 >> 2];
+    if (q[g + 1236 >> 2]) {
+     break k;
+    }
+    Lg(q[g + 1204 >> 2], e + 28 | 0);
+   }
+   if (d) {
+    break a;
+   }
+   d = 0;
+   g = 0;
+   l : {
+    if (!q[q[b + 128 >> 2] + 52 >> 2]) {
+     d = q[h + 1232 >> 2];
+     if (!d) {
+      break l;
+     }
+     g = f;
+     d = (q[h + 1236 >> 2] + q[d + (c << 2) >> 2] | 0) + -1 | 0;
+    }
+    q[a + 140 >> 2] = g;
+    q[a + 136 >> 2] = d;
+   }
+   n[q[e + 784 >> 2]](e + 704 | 0);
+   d = q[q[b + 128 >> 2] + 52 >> 2];
+   m : {
+    if (!d) {
+     break m;
+    }
+    f = q[q[d >> 2] + 8 >> 2];
+    if (!f) {
+     break m;
+    }
+    q[e + 12 >> 2] = 0;
+    q[e + 8 >> 2] = q[e + 736 >> 2];
+    g = q[e + 748 >> 2];
+    q[e + 16 >> 2] = q[e + 744 >> 2];
+    q[e + 20 >> 2] = g;
+    d = n[f](q[d + 4 >> 2], c, 0, e + 8 | 0) | 0;
+    q[e + 736 >> 2] = q[e + 8 >> 2];
+    f = q[e + 20 >> 2];
+    q[e + 744 >> 2] = q[e + 16 >> 2];
+    q[e + 748 >> 2] = f;
+    if (d) {
+     break a;
+    }
+   }
+   if (y) {
+    q[a + 32 >> 2] = q[e + 736 >> 2];
+    q[a + 40 >> 2] = q[e + 1288 >> 2];
+    b = q[e + 40 >> 2];
+    c = q[e + 44 >> 2];
+    d = q[e + 32 >> 2];
+    f = q[e + 36 >> 2];
+    a = q[a + 156 >> 2];
+    q[a + 28 >> 2] = l;
+    q[a + 32 >> 2] = k;
+    o[a + 8 | 0] = 1;
+    q[a + 20 >> 2] = b;
+    q[a + 24 >> 2] = c;
+    q[a + 12 >> 2] = d;
+    q[a + 16 >> 2] = f;
+    break e;
+   }
+   n : {
+    if (s[b + 250 >> 1]) {
+     p[e + 8 >> 1] = 0;
+     p[e + 28 >> 1] = 0;
+     n[q[q[b + 540 >> 2] + 140 >> 2]](b, 0, c, e + 8 | 0, e + 28 | 0);
+     d = s[e + 28 >> 1];
+     q[a + 32 >> 2] = p[e + 8 >> 1];
+     break n;
+    }
+    d = q[e + 1288 >> 2];
+   }
+   q[a + 56 >> 2] = d;
+   q[a + 40 >> 2] = d;
+   o[q[a + 156 >> 2] + 8 | 0] = 0;
+   o : {
+    if (!(!r[b + 292 | 0] | !s[b + 330 >> 1])) {
+     p[e + 8 >> 1] = 0;
+     p[e + 28 >> 1] = 0;
+     n[q[q[b + 540 >> 2] + 140 >> 2]](b, 1, c, e + 8 | 0, e + 28 | 0);
+     q[a + 48 >> 2] = p[e + 8 >> 1];
+     b = s[e + 28 >> 1];
+     q[a + 52 >> 2] = b;
+     c = 1;
+     break o;
+    }
+    p : {
+     if (s[b + 372 >> 1] != 65535) {
+      b = p[b + 442 >> 1] - p[b + 444 >> 1] | 0;
+      q[a + 52 >> 2] = b;
+      break p;
+     }
+     b = p[b + 220 >> 1] - p[b + 222 >> 1] | 0;
+     q[a + 52 >> 2] = b;
+    }
+    c = 0;
+   }
+   q[a + 72 >> 2] = 1869968492;
+   q[a + 60 >> 2] = b;
+   q[a + 124 >> 2] = 0;
+   b = 4;
+   f = a + 108 | 0;
+   d = a;
+   if (!(!i | s[i + 14 >> 1] > 23)) {
+    q[a + 124 >> 2] = 256;
+    b = 260;
+   }
+   q[d + 124 >> 2] = b;
+   q : {
+    if (!(q[e + 36 >> 2] | (q[e + 32 >> 2] != 65536 | q[e + 44 >> 2] != 65536))) {
+     if (!q[e + 40 >> 2]) {
+      break q;
+     }
+    }
+    vf(f, e + 32 | 0);
+    z = a, A = Ee(q[a + 40 >> 2], q[e + 32 >> 2]), q[z + 40 >> 2] = A;
+    z = a, A = Ee(q[a + 52 >> 2], q[e + 44 >> 2]), q[z + 52 >> 2] = A;
+   }
+   if (k | l) {
+    wf(f, l, k);
+    q[a + 40 >> 2] = q[a + 40 >> 2] + l;
+    q[a + 52 >> 2] = q[a + 52 >> 2] + k;
+   }
+   if (!(w ? 0 : x)) {
+    b = q[a + 112 >> 2];
+    g = q[a + 168 >> 2];
+    h = q[a + 164 >> 2];
+    r : {
+     if (q[e + 772 >> 2] ? u : 0) {
+      break r;
+     }
+     d = p[a + 110 >> 1];
+     if ((d | 0) < 1) {
+      break r;
+     }
+     d = d & 65535;
+     while (1) {
+      z = b, A = Ee(q[b >> 2], h), q[z >> 2] = A;
+      z = b, A = Ee(q[b + 4 >> 2], g), q[z + 4 >> 2] = A;
+      b = b + 8 | 0;
+      i = (d | 0) > 1;
+      d = d + -1 | 0;
+      if (i) {
+       continue;
+      }
+      break;
+     }
+    }
+    z = a, A = Ee(q[a + 40 >> 2], h), q[z + 40 >> 2] = A;
+    z = a, A = Ee(q[a + 52 >> 2], g), q[z + 52 >> 2] = A;
+   }
+   qf(f, e + 8 | 0);
+   b = q[e + 8 >> 2];
+   q[a + 24 >> 2] = q[e + 16 >> 2] - b;
+   d = q[e + 12 >> 2];
+   f = q[e + 20 >> 2];
+   q[a + 36 >> 2] = f;
+   q[a + 32 >> 2] = b;
+   q[a + 28 >> 2] = f - d;
+   if (c) {
+    q[a + 44 >> 2] = b - (q[a + 40 >> 2] / 2 | 0);
+    break e;
+   }
+   if (!(j & 16)) {
+    break e;
+   }
+   Of(a + 24 | 0, q[a + 52 >> 2]);
+  }
+  d = 0;
+ }
+ Ca = e + 1488 | 0;
+ return d | 0;
+}
+function Qy(a, b, c) {
+ var d = 0, e = 0, f = x(0);
+ e = q[a + 16 >> 2];
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            if ((b | 0) <= 1986098018) {
+             if ((b | 0) == 1751216995) {
+              break k;
+             }
+             if ((b | 0) == 1751413603) {
+              break j;
+             }
+             if ((b | 0) != 1751934832) {
+              break d;
+             }
+             d = e + 68 | 0;
+             b = Ry(d);
+             if (o[(t[b + 16 >> 2] < 78 ? 271040 : q[b + 12 >> 2]) + 63 | 0] > -1) {
+              break i;
+             }
+             b = Ry(d);
+             b = t[b + 16 >> 2] < 78 ? 271040 : q[b + 12 >> 2];
+             if (!(r[b + 4 | 0] << 8 | r[b + 5 | 0] | (r[b + 7 | 0] | r[b + 6 | 0] << 8) | (r[b + 65 | 0] | r[b + 64 | 0] << 8))) {
+              if (!(r[b + 67 | 0] | r[b + 66 | 0] << 8)) {
+               break i;
+              }
+             }
+             if (!c) {
+              break e;
+             }
+             b = Ry(d);
+             b = t[b + 16 >> 2] < 78 ? 271040 : q[b + 12 >> 2];
+             b = r[b + 72 | 0] | r[b + 73 | 0] << 8;
+             e = Sy(e + 124 | 0);
+             f = x(x(Ty(t[e + 16 >> 2] < 12 ? 271040 : q[e + 12 >> 2], 1751934832, q[a + 64 >> 2], q[a + 60 >> 2]) + x((b << 8 & 16711680 | b << 24) >> 16)) * x(q[a + 24 >> 2]));
+             b = q[a + 16 >> 2];
+             a = q[b + 28 >> 2];
+             if (!a) {
+              a = XF(b);
+             }
+             f = x(S(x(x(f / x(a >>> 0)))));
+             if (!(x(y(f)) < x(2147483648))) {
+              break a;
+             }
+             break c;
+            }
+            if ((b | 0) == 1986098019) {
+             break h;
+            }
+            if ((b | 0) == 1986294627) {
+             break g;
+            }
+            if ((b | 0) != 1986815856) {
+             break d;
+            }
+            b = e + 88 | 0;
+            d = MA(b);
+            d = t[d + 16 >> 2] < 36 ? 271040 : q[d + 12 >> 2];
+            if (r[d | 0] << 8 | r[d + 1 | 0]) {
+             break f;
+            }
+            break b;
+           }
+           l : {
+            d = e + 68 | 0;
+            b = Ry(d);
+            if (o[(t[b + 16 >> 2] < 78 ? 271040 : q[b + 12 >> 2]) + 63 | 0] > -1) {
+             break l;
+            }
+            b = Ry(d);
+            b = t[b + 16 >> 2] < 78 ? 271040 : q[b + 12 >> 2];
+            if (!(r[b + 4 | 0] << 8 | r[b + 5 | 0] | (r[b + 7 | 0] | r[b + 6 | 0] << 8) | (r[b + 65 | 0] | r[b + 64 | 0] << 8))) {
+             if (!(r[b + 67 | 0] | r[b + 66 | 0] << 8)) {
+              break l;
+             }
+            }
+            if (!c) {
+             break e;
+            }
+            b = Ry(d);
+            b = t[b + 16 >> 2] < 78 ? 271040 : q[b + 12 >> 2];
+            b = r[b + 68 | 0] | r[b + 69 | 0] << 8;
+            e = Sy(e + 124 | 0);
+            f = x(x(y(x(Ty(t[e + 16 >> 2] < 12 ? 271040 : q[e + 12 >> 2], 1751216995, q[a + 64 >> 2], q[a + 60 >> 2]) + x((b << 8 & 16711680 | b << 24) >> 16)))) * x(q[a + 24 >> 2]));
+            b = q[a + 16 >> 2];
+            a = q[b + 28 >> 2];
+            if (!a) {
+             a = XF(b);
+            }
+            f = x(S(x(x(f / x(a >>> 0)))));
+            if (x(y(f)) < x(2147483648)) {
+             break c;
+            }
+            break a;
+           }
+           b = e + 60 | 0;
+           d = FA(b);
+           d = t[d + 16 >> 2] < 36 ? 271040 : q[d + 12 >> 2];
+           if (!(r[d | 0] << 8 | r[d + 1 | 0])) {
+            break b;
+           }
+           if (!c) {
+            break e;
+           }
+           b = FA(b);
+           b = t[b + 16 >> 2] < 36 ? 271040 : q[b + 12 >> 2];
+           b = r[b + 4 | 0] | r[b + 5 | 0] << 8;
+           e = Sy(e + 124 | 0);
+           f = x(x(y(x(Ty(t[e + 16 >> 2] < 12 ? 271040 : q[e + 12 >> 2], 1751216995, q[a + 64 >> 2], q[a + 60 >> 2]) + x((b << 8 & 16711680 | b << 24) >> 16)))) * x(q[a + 24 >> 2]));
+           b = q[a + 16 >> 2];
+           a = q[b + 28 >> 2];
+           if (!a) {
+            a = XF(b);
+           }
+           f = x(S(x(x(f / x(a >>> 0)))));
+           if (x(y(f)) < x(2147483648)) {
+            break c;
+           }
+           break a;
+          }
+          m : {
+           d = e + 68 | 0;
+           b = Ry(d);
+           if (o[(t[b + 16 >> 2] < 78 ? 271040 : q[b + 12 >> 2]) + 63 | 0] > -1) {
+            break m;
+           }
+           b = Ry(d);
+           b = t[b + 16 >> 2] < 78 ? 271040 : q[b + 12 >> 2];
+           if (!(r[b + 4 | 0] << 8 | r[b + 5 | 0] | (r[b + 7 | 0] | r[b + 6 | 0] << 8) | (r[b + 65 | 0] | r[b + 64 | 0] << 8))) {
+            if (!(r[b + 67 | 0] | r[b + 66 | 0] << 8)) {
+             break m;
+            }
+           }
+           if (!c) {
+            break e;
+           }
+           b = Ry(d);
+           b = t[b + 16 >> 2] < 78 ? 271040 : q[b + 12 >> 2];
+           b = r[b + 70 | 0] | r[b + 71 | 0] << 8;
+           e = Sy(e + 124 | 0);
+           f = Ty(t[e + 16 >> 2] < 12 ? 271040 : q[e + 12 >> 2], 1751413603, q[a + 64 >> 2], q[a + 60 >> 2]);
+           f = x(x(q[a + 24 >> 2]) * x(-x(y(x(f + x((b << 8 & 16711680 | b << 24) >> 16))))));
+           b = q[a + 16 >> 2];
+           a = q[b + 28 >> 2];
+           if (!a) {
+            a = XF(b);
+           }
+           f = x(S(x(x(f / x(a >>> 0)))));
+           if (x(y(f)) < x(2147483648)) {
+            break c;
+           }
+           break a;
+          }
+          b = e + 60 | 0;
+          d = FA(b);
+          d = t[d + 16 >> 2] < 36 ? 271040 : q[d + 12 >> 2];
+          if (!(r[d | 0] << 8 | r[d + 1 | 0])) {
+           break b;
+          }
+          if (!c) {
+           break e;
+          }
+          b = FA(b);
+          b = t[b + 16 >> 2] < 36 ? 271040 : q[b + 12 >> 2];
+          b = r[b + 6 | 0] | r[b + 7 | 0] << 8;
+          e = Sy(e + 124 | 0);
+          f = Ty(t[e + 16 >> 2] < 12 ? 271040 : q[e + 12 >> 2], 1751413603, q[a + 64 >> 2], q[a + 60 >> 2]);
+          f = x(x(q[a + 24 >> 2]) * x(-x(y(x(f + x((b << 8 & 16711680 | b << 24) >> 16))))));
+          b = q[a + 16 >> 2];
+          a = q[b + 28 >> 2];
+          if (!a) {
+           a = XF(b);
+          }
+          f = x(S(x(x(f / x(a >>> 0)))));
+          if (x(y(f)) < x(2147483648)) {
+           break c;
+          }
+          break a;
+         }
+         b = e + 60 | 0;
+         d = FA(b);
+         d = t[d + 16 >> 2] < 36 ? 271040 : q[d + 12 >> 2];
+         if (!(r[d | 0] << 8 | r[d + 1 | 0])) {
+          break b;
+         }
+         if (!c) {
+          break e;
+         }
+         b = FA(b);
+         b = t[b + 16 >> 2] < 36 ? 271040 : q[b + 12 >> 2];
+         b = r[b + 8 | 0] | r[b + 9 | 0] << 8;
+         e = Sy(e + 124 | 0);
+         f = x(x(Ty(t[e + 16 >> 2] < 12 ? 271040 : q[e + 12 >> 2], 1751934832, q[a + 64 >> 2], q[a + 60 >> 2]) + x((b << 8 & 16711680 | b << 24) >> 16)) * x(q[a + 24 >> 2]));
+         b = q[a + 16 >> 2];
+         a = q[b + 28 >> 2];
+         if (!a) {
+          a = XF(b);
+         }
+         f = x(S(x(x(f / x(a >>> 0)))));
+         if (x(y(f)) < x(2147483648)) {
+          break c;
+         }
+         break a;
+        }
+        b = e + 88 | 0;
+        d = MA(b);
+        d = t[d + 16 >> 2] < 36 ? 271040 : q[d + 12 >> 2];
+        if (!(r[d | 0] << 8 | r[d + 1 | 0])) {
+         break b;
+        }
+        if (!c) {
+         break e;
+        }
+        b = MA(b);
+        b = t[b + 16 >> 2] < 36 ? 271040 : q[b + 12 >> 2];
+        b = r[b + 4 | 0] | r[b + 5 | 0] << 8;
+        e = Sy(e + 124 | 0);
+        f = x(x(y(x(Ty(t[e + 16 >> 2] < 12 ? 271040 : q[e + 12 >> 2], 1986098019, q[a + 64 >> 2], q[a + 60 >> 2]) + x((b << 8 & 16711680 | b << 24) >> 16)))) * x(q[a + 20 >> 2]));
+        b = q[a + 16 >> 2];
+        a = q[b + 28 >> 2];
+        if (!a) {
+         a = XF(b);
+        }
+        f = x(S(x(x(f / x(a >>> 0)))));
+        if (x(y(f)) < x(2147483648)) {
+         break c;
+        }
+        break a;
+       }
+       b = e + 88 | 0;
+       d = MA(b);
+       d = t[d + 16 >> 2] < 36 ? 271040 : q[d + 12 >> 2];
+       if (!(r[d | 0] << 8 | r[d + 1 | 0])) {
+        break b;
+       }
+       if (!c) {
+        break e;
+       }
+       b = MA(b);
+       b = t[b + 16 >> 2] < 36 ? 271040 : q[b + 12 >> 2];
+       b = r[b + 6 | 0] | r[b + 7 | 0] << 8;
+       e = Sy(e + 124 | 0);
+       f = Ty(t[e + 16 >> 2] < 12 ? 271040 : q[e + 12 >> 2], 1986294627, q[a + 64 >> 2], q[a + 60 >> 2]);
+       f = x(x(q[a + 20 >> 2]) * x(-x(y(x(f + x((b << 8 & 16711680 | b << 24) >> 16))))));
+       b = q[a + 16 >> 2];
+       a = q[b + 28 >> 2];
+       if (!a) {
+        a = XF(b);
+       }
+       f = x(S(x(x(f / x(a >>> 0)))));
+       if (x(y(f)) < x(2147483648)) {
+        break c;
+       }
+       break a;
+      }
+      if (!c) {
+       break e;
+      }
+      b = MA(b);
+      b = t[b + 16 >> 2] < 36 ? 271040 : q[b + 12 >> 2];
+      b = r[b + 8 | 0] | r[b + 9 | 0] << 8;
+      e = Sy(e + 124 | 0);
+      f = x(x(Ty(t[e + 16 >> 2] < 12 ? 271040 : q[e + 12 >> 2], 1986815856, q[a + 64 >> 2], q[a + 60 >> 2]) + x((b << 8 & 16711680 | b << 24) >> 16)) * x(q[a + 20 >> 2]));
+      b = q[a + 16 >> 2];
+      a = q[b + 28 >> 2];
+      if (!a) {
+       a = XF(b);
+      }
+      f = x(S(x(x(f / x(a >>> 0)))));
+      n : {
+       if (x(y(f)) < x(2147483648)) {
+        a = ~~f;
+        break n;
+       }
+       a = -2147483648;
+      }
+      q[c >> 2] = a;
+     }
+     return 1;
+    }
+    J(241699, 241701, 86, 241718);
+    F();
+   }
+   q[c >> 2] = ~~f;
+   return 1;
+  }
+  return 0;
+ }
+ q[c >> 2] = -2147483648;
+ return 1;
+}
+function wH(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0;
+ n = Ca - 80 | 0;
+ Ca = n;
+ e = xH(b, c);
+ a : {
+  if (e) {
+   break a;
+  }
+  a = q[b + 2740 >> 2];
+  if (!(a & 1)) {
+   e = yH(b, 0);
+   if (e) {
+    break a;
+   }
+   zH(b, d, 0);
+   a = q[b + 2740 >> 2];
+  }
+  if (!(a & 2)) {
+   e = yH(b, 1);
+   if (e) {
+    break a;
+   }
+   zH(b, d, 1);
+  }
+  while (1) {
+   b : {
+    a = q[b + 2740 >> 2];
+    k = h;
+    c : {
+     d : {
+      if (!h) {
+       if (a & 1) {
+        break c;
+       }
+       if (q[d + 24 >> 2] | a & 8) {
+        break d;
+       }
+       AH(n + 16 | 0, b, n + 12 | 0, n + 8 | 0);
+       e = q[b + 24 >> 2];
+       if ((e | 0) < 1) {
+        break c;
+       }
+       a = q[b + 28 >> 2];
+       e = a + w(e, 40) | 0;
+       j = q[n + 8 >> 2];
+       h = q[n + 12 >> 2];
+       while (1) {
+        z = a, A = Ee(p[a + 12 >> 1], h) + j | 0, q[z + 16 >> 2] = A;
+        a = a + 40 | 0;
+        if (a >>> 0 < e >>> 0) {
+         continue;
+        }
+        break;
+       }
+       break c;
+      }
+      if (a & 2) {
+       break b;
+      }
+     }
+     a = w(k, 1348) + b | 0;
+     x = a - -64 | 0;
+     j = q[x >> 2];
+     y = a + 56 | 0;
+     l = q[y >> 2];
+     t = j + w(l, 44) | 0;
+     h = 0;
+     a = j;
+     if ((l | 0) > 0) {
+      while (1) {
+       g = r[a + 12 | 0];
+       e : {
+        if (g & 4) {
+         break e;
+        }
+        f = q[a + 24 >> 2];
+        i = q[a + 20 >> 2];
+        f : {
+         if (i) {
+          e = a;
+          break f;
+         }
+         if (!f) {
+          break e;
+         }
+         i = q[f + 20 >> 2];
+         if (!i) {
+          break e;
+         }
+         g = r[f + 12 | 0];
+         e = f;
+         f = a;
+        }
+        i = q[i + 8 >> 2];
+        o[e + 12 | 0] = g | 4;
+        q[e + 8 >> 2] = i;
+        if (!(q[f + 20 >> 2] | !f)) {
+         z = f, A = BH(b, k, q[f + 4 >> 2] - q[e + 4 >> 2] | 0) + i | 0, q[z + 8 >> 2] = A;
+         o[f + 12 | 0] = r[f + 12 | 0] | 4;
+        }
+        h = h ? h : a;
+       }
+       a = a + 44 | 0;
+       if (a >>> 0 < t >>> 0) {
+        continue;
+       }
+       break;
+      }
+      m = 0;
+      a = j;
+      f = h;
+      i = 0;
+      e = 0;
+      h = 0;
+      while (1) {
+       v = r[a + 12 | 0];
+       g : {
+        if (v & 4) {
+         break g;
+        }
+        g = q[a + 24 >> 2];
+        if (!g) {
+         h = h + 1 | 0;
+         break g;
+        }
+        h : {
+         if (!(e & 255)) {
+          break h;
+         }
+         u = i - -64 | 0;
+         if (q[g + 8 >> 2] >= (u | 0) ? q[a + 8 >> 2] >= (u | 0) : 0) {
+          break h;
+         }
+         h = h + 1 | 0;
+         break g;
+        }
+        if (q[g + 20 >> 2]) {
+         u = BH(b, k, q[a + 4 >> 2] - q[g + 4 >> 2] | 0);
+         g = q[g + 8 >> 2];
+         o[a + 12 | 0] = v | 4;
+         q[a + 8 >> 2] = g + u;
+         break g;
+        }
+        if (g >>> 0 < a >>> 0) {
+         e = BH(b, k, q[a + 4 >> 2] - q[g + 4 >> 2] | 0);
+         g = q[g + 8 >> 2];
+         o[a + 12 | 0] = v | 4;
+         i = e + g | 0;
+         q[a + 8 >> 2] = i;
+         e = 1;
+         break g;
+        }
+        i : {
+         if (!(f | (k | 0) == 1)) {
+          m = CH(b, a, g, 0, 0);
+          break i;
+         }
+         CH(b, a, g, m, k);
+        }
+        o[a + 12 | 0] = r[a + 12 | 0] | 4;
+        o[g + 12 | 0] = r[g + 12 | 0] | 4;
+        i = q[g + 8 >> 2];
+        e = 1;
+        f = a;
+       }
+       a = a + 44 | 0;
+       if (a >>> 0 < t >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     j : {
+      if (k) {
+       break j;
+      }
+      f = l + -6 | 0;
+      if (f >>> 0 > 6) {
+       break j;
+      }
+      e = 4;
+      g = 2;
+      a = j;
+      k : {
+       switch (f - 1 | 0) {
+       case 5:
+        a = j + 44 | 0;
+        e = 9;
+        g = 5;
+        break;
+       case 0:
+       case 1:
+       case 2:
+       case 3:
+       case 4:
+        break j;
+       default:
+        break k;
+       }
+      }
+      if (q[a + 24 >> 2] != (a + 44 | 0)) {
+       break j;
+      }
+      g = j + w(g, 44) | 0;
+      if (q[g + 24 >> 2] != (g + 44 | 0)) {
+       break j;
+      }
+      i = q[g + 4 >> 2];
+      m = w(e, 44);
+      f = m + j | 0;
+      i = i - q[f + 4 >> 2] + (i - q[a + 4 >> 2]) | 0;
+      e = i >> 31;
+      if ((e ^ e + i) > 7) {
+       break j;
+      }
+      e = q[f + 24 >> 2];
+      if ((e | 0) != (m + (j + 44 | 0) | 0)) {
+       break j;
+      }
+      i = q[f + 8 >> 2];
+      a = (q[g + 8 >> 2] << 1) - q[a + 8 >> 2] | 0;
+      q[f + 8 >> 2] = a;
+      a = i - a | 0;
+      if (e) {
+       q[e + 8 >> 2] = q[e + 8 >> 2] - a;
+      }
+      if ((l | 0) == 12) {
+       g = j + 360 | 0;
+       q[g >> 2] = q[g >> 2] - a;
+       g = j + 492 | 0;
+       q[g >> 2] = q[g >> 2] - a;
+      }
+      o[f + 12 | 0] = r[f + 12 | 0] | 4;
+      if (!e) {
+       break j;
+      }
+      o[e + 12 | 0] = r[e + 12 | 0] | 4;
+     }
+     l : {
+      if (!h) {
+       break l;
+      }
+      a = j;
+      f = (l | 0) < 1;
+      if (f) {
+       break l;
+      }
+      while (1) {
+       g = r[a + 12 | 0];
+       m : {
+        if (g & 4) {
+         break m;
+        }
+        e = q[a + 28 >> 2];
+        if (!e) {
+         break m;
+        }
+        l = q[e + 4 >> 2];
+        e = q[e + 8 >> 2];
+        o[a + 12 | 0] = g | 4;
+        q[a + 8 >> 2] = (e + q[a + 4 >> 2] | 0) - l;
+        h = h + -1 | 0;
+       }
+       a = a + 44 | 0;
+       if (a >>> 0 < t >>> 0) {
+        continue;
+       }
+       break;
+      }
+      if (f) {
+       break l;
+      }
+      e = j;
+      if (!h) {
+       break l;
+      }
+      while (1) {
+       a = e;
+       n : {
+        if (r[a + 12 | 0] & 4) {
+         break n;
+        }
+        o : {
+         while (1) {
+          f = a;
+          a = a + -44 | 0;
+          if (a >>> 0 < j >>> 0) {
+           i = 1;
+           l = 0;
+           break o;
+          }
+          if (!(r[f + -32 | 0] & 4)) {
+           continue;
+          }
+          break;
+         }
+         i = 0;
+         l = 1;
+        }
+        h = e;
+        p : {
+         q : {
+          r : {
+           s : {
+            while (1) {
+             g = h;
+             h = g + 44 | 0;
+             if (h >>> 0 >= t >>> 0) {
+              break s;
+             }
+             if (!(r[g + 56 | 0] & 4)) {
+              continue;
+             }
+             break;
+            }
+            if (i) {
+             break r;
+            }
+            f = q[f + -36 >> 2];
+            h = s[h >> 1];
+            a = s[a >> 1];
+            if ((h | 0) != (a | 0)) {
+             break p;
+            }
+            q[e + 8 >> 2] = f;
+            break n;
+           }
+           if (!l) {
+            break n;
+           }
+           if (!i) {
+            break q;
+           }
+          }
+          q[e + 8 >> 2] = (q[e + 4 >> 2] + q[g + 52 >> 2] | 0) - q[g + 48 >> 2];
+          break n;
+         }
+         q[e + 8 >> 2] = (q[e + 4 >> 2] + q[f + -36 >> 2] | 0) - q[f + -40 >> 2];
+         break n;
+        }
+        a = a << 16 >> 16;
+        z = e, A = ue(p[e >> 1] - a | 0, q[g + 52 >> 2] - f | 0, (h << 16 >> 16) - a | 0) + f | 0, q[z + 8 >> 2] = A;
+       }
+       e = e + 44 | 0;
+       if (e >>> 0 < t >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     e = q[y >> 2];
+     i = q[x >> 2];
+     t : {
+      u : {
+       if (!k) {
+        h = 1;
+        break u;
+       }
+       h = 2;
+       j = 0;
+       if ((k | 0) != 1) {
+        break t;
+       }
+      }
+      j = (q[b + 2744 >> 2] & h) != 0;
+     }
+     if ((e | 0) >= 1) {
+      t = w(e, 44) + i | 0;
+      g = k ? 8 : 4;
+      while (1) {
+       l = q[i + 8 >> 2];
+       e = q[i + 36 >> 2];
+       a = e;
+       v : {
+        if (j) {
+         while (1) {
+          h = a + 36 | 0;
+          m = q[a + 40 >> 2];
+          while (1) {
+           f = q[h >> 2];
+           q[f + (k ? 20 : 16) >> 2] = l;
+           p[f >> 1] = g | s[f >> 1];
+           h = f + 32 | 0;
+           if ((f | 0) != (m | 0)) {
+            continue;
+           }
+           break;
+          }
+          a = q[a + 16 >> 2];
+          if ((e | 0) != (a | 0)) {
+           continue;
+          }
+          break v;
+         }
+        }
+        l = l - q[i + 4 >> 2] | 0;
+        a = e;
+        while (1) {
+         h = a + 36 | 0;
+         m = q[a + 40 >> 2];
+         while (1) {
+          f = q[h >> 2];
+          h = f + (k ? 20 : 16) | 0;
+          q[h >> 2] = l + q[h >> 2];
+          p[f >> 1] = g | s[f >> 1];
+          h = f + 32 | 0;
+          if ((f | 0) != (m | 0)) {
+           continue;
+          }
+          break;
+         }
+         a = q[a + 16 >> 2];
+         if ((e | 0) != (a | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       i = i + 44 | 0;
+       if (i >>> 0 < t >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     DH(b, k);
+     EH(b, k);
+    }
+    h = 1;
+    if (!k) {
+     continue;
+    }
+   }
+   break;
+  }
+  d = q[b + 24 >> 2];
+  if ((d | 0) < 1) {
+   e = 0;
+   break a;
+  }
+  a = q[b + 28 >> 2];
+  d = a + w(d, 40) | 0;
+  h = q[c + 4 >> 2];
+  b = q[c + 8 >> 2];
+  while (1) {
+   q[h >> 2] = q[a + 16 >> 2];
+   q[h + 4 >> 2] = q[a + 20 >> 2];
+   e = 0;
+   c = s[a >> 1];
+   o[b | 0] = c & 1 ? 0 : c & 2 ? 2 : 1;
+   b = b + 1 | 0;
+   h = h + 8 | 0;
+   a = a + 40 | 0;
+   if (a >>> 0 < d >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = n + 80 | 0;
+ return e | 0;
+}
+function VH(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0;
+ f = Ca - 6768 | 0;
+ Ca = f;
+ c = q[q[a + 4 >> 2] >> 2];
+ Z$(f - -64 | 4, 0, 2756);
+ q[f + 16 >> 2] = 0;
+ q[f + 20 >> 2] = 0;
+ q[f + 24 >> 2] = 0;
+ q[f + 28 >> 2] = 0;
+ q[f + 32 >> 2] = 0;
+ q[f + 36 >> 2] = 0;
+ q[f + 40 >> 2] = 0;
+ q[f + 44 >> 2] = 0;
+ q[f + 48 >> 2] = 0;
+ q[f + 52 >> 2] = 0;
+ q[f + 56 >> 2] = 0;
+ q[f + 8 >> 2] = 0;
+ q[f + 12 >> 2] = 0;
+ q[f >> 2] = 0;
+ q[f + 4 >> 2] = 0;
+ q[f + 64 >> 2] = c;
+ q[f + 8 >> 2] = f - -64;
+ l = q[b + 4 >> 2];
+ i = q[l + 88 >> 2];
+ a : {
+  if (!i) {
+   c = 36;
+   break a;
+  }
+  k = q[i + 40 >> 2];
+  g = q[l + 84 >> 2];
+  j = q[g + 156 >> 2];
+  y = q[j >> 2];
+  q[f + 6736 >> 2] = 0;
+  b = f + 6728 | 0;
+  q[b >> 2] = 0;
+  q[b + 4 >> 2] = 0;
+  b = f + 6720 | 0;
+  q[b >> 2] = 0;
+  q[b + 4 >> 2] = 0;
+  q[f + 6712 >> 2] = 0;
+  q[f + 6716 >> 2] = 0;
+  c = q[k + 12 >> 2];
+  b : {
+   c : {
+    if (!c) {
+     m = e >>> 16 & 15;
+     break c;
+    }
+    m = e >>> 16 & 15;
+    b = q[k + 4 >> 2];
+    if ((m | 0) == (b | 0)) {
+     break b;
+    }
+   }
+   q[k + 4 >> 2] = m;
+   c = k + 8 | 0;
+   q[c + 24 >> 2] = q[i + 36 >> 2];
+   b = q[i + 32 >> 2];
+   q[c + 16 >> 2] = q[i + 28 >> 2];
+   q[c + 20 >> 2] = b;
+   b = q[i + 24 >> 2];
+   q[c + 8 >> 2] = q[i + 20 >> 2];
+   q[c + 12 >> 2] = b;
+   b = q[i + 16 >> 2];
+   q[c >> 2] = q[i + 12 >> 2];
+   q[c + 4 >> 2] = b;
+   c = q[k + 12 >> 2];
+   b = m;
+  }
+  q[f + 6724 >> 2] = 0;
+  q[f + 6716 >> 2] = c;
+  q[f + 6712 >> 2] = l;
+  c = q[k + 16 >> 2];
+  q[f + 6736 >> 2] = 0;
+  q[f + 6732 >> 2] = b;
+  q[f + 6728 >> 2] = 0;
+  q[f + 6720 >> 2] = c;
+  q[f >> 2] = l;
+  b = q[l + 116 >> 2];
+  q[f + 4 >> 2] = b;
+  if (!b) {
+   c = WH(l, f | 4, a);
+   if (c) {
+    break a;
+   }
+   b = q[f + 4 >> 2];
+   q[l + 116 >> 2] = b;
+   q[l + 120 >> 2] = 596;
+  }
+  q[f + 6744 >> 2] = 0;
+  if (t[b + 4 >> 2] <= d >>> 0) {
+   c = 6;
+   q[f + 6744 >> 2] = 6;
+   break a;
+  }
+  i = d << 1;
+  c = s[i + q[b + 8 >> 2] >> 1] & 16383;
+  x = ((c << 2) + b | 0) + 24 | 0;
+  h = q[x >> 2];
+  d : {
+   if (h) {
+    break d;
+   }
+   e : {
+    f : {
+     while (1) {
+      k = q[q[b >> 2] + 100 >> 2];
+      m = q[(c << 2) + 284080 >> 2];
+      u = q[(q[m + 4 >> 2] << 2) + 283808 >> 2];
+      h = Oe(k, q[u + 4 >> 2], f + 6744 | 0);
+      c = q[f + 6744 >> 2];
+      if (c) {
+       break a;
+      }
+      q[h + 36 >> 2] = b;
+      q[h >> 2] = m;
+      c = q[u + 8 >> 2];
+      if (!c) {
+       break f;
+      }
+      c = n[c](h, q[b >> 2]) | 0;
+      q[f + 6744 >> 2] = c;
+      if (!c) {
+       break f;
+      }
+      c = q[u + 16 >> 2];
+      if (c) {
+       n[c](h);
+      }
+      Qe(k, h);
+      c = q[f + 6744 >> 2];
+      if ((c | 0) != -1) {
+       break e;
+      }
+      c = s[i + q[b + 8 >> 2] >> 1] & 16383;
+      x = ((c << 2) + b | 0) + 24 | 0;
+      if (!q[x >> 2]) {
+       continue;
+      }
+      break;
+     }
+     c = -1;
+     break a;
+    }
+    q[x >> 2] = h;
+    break d;
+   }
+   if (c) {
+    break a;
+   }
+   h = 0;
+  }
+  b = q[q[h >> 2] + 4 >> 2];
+  q[f + 12 >> 2] = h;
+  u = q[(b << 2) + 283808 >> 2];
+  b = q[u + 12 >> 2];
+  g : {
+   if (b) {
+    n[b](h, f + 6712 | 0);
+    break g;
+   }
+   b = q[f + 6716 >> 2];
+   q[h + 4 >> 2] = q[f + 6712 >> 2];
+   q[h + 8 >> 2] = b;
+   q[h + 28 >> 2] = q[f + 6736 >> 2];
+   c = f + 6728 | 0;
+   b = q[c + 4 >> 2];
+   q[h + 20 >> 2] = q[c >> 2];
+   q[h + 24 >> 2] = b;
+   c = f + 6720 | 0;
+   b = q[c + 4 >> 2];
+   q[h + 12 >> 2] = q[c >> 2];
+   q[h + 16 >> 2] = b;
+  }
+  b = q[u + 24 >> 2];
+  if (b) {
+   c = n[b](f - -64 | 0, h) | 0;
+   if (c) {
+    break a;
+   }
+  }
+  c = we(l, d, e & -10246 | 10241);
+  if (c) {
+   break a;
+  }
+  h : {
+   if (q[f + 6732 >> 2] != 1) {
+    break h;
+   }
+   b = o[q[l + 128 >> 2] + 56 | 0];
+   if (r[a + 21 | 0] | (b | 0) > -1 ? b : 0) {
+    break h;
+   }
+   m = q[l + 84 >> 2];
+   x = q[q[l + 88 >> 2] + 40 >> 2];
+   v = q[f + 4 >> 2];
+   q[f + 6704 >> 2] = 0;
+   q[f + 6764 >> 2] = 0;
+   a = s[v + 368 >> 1];
+   b = s[x + 8 >> 1];
+   i = s[l + 68 >> 1] << 16;
+   k = Fe(65536e3, i);
+   c = q[72264];
+   e = f + 6752 | 0;
+   q[e >> 2] = q[72263];
+   q[e + 4 >> 2] = c;
+   c = q[72262];
+   q[f + 6744 >> 2] = q[72261];
+   q[f + 6748 >> 2] = c;
+   if (!s[l + 68 >> 1]) {
+    break h;
+   }
+   c = q[q[(q[q[h >> 2] + 4 >> 2] << 2) + 283808 >> 2] + 20 >> 2];
+   if (!c) {
+    break h;
+   }
+   n[c](h, f + 6764 | 0, f + 6704 | 0);
+   c = q[f + 6704 >> 2];
+   i : {
+    j : {
+     k : {
+      if ((c | 0) == q[v + 372 >> 2] | (c | 0) < 1 ? (a | 0) == (b | 0) : 0) {
+       break k;
+      }
+      e = Fe(Ee(YH(f, l, c) << 16, q[x + 12 >> 2]), k);
+      q[v + 372 >> 2] = q[f + 6704 >> 2];
+      c = s[x + 8 >> 1];
+      q[v + 380 >> 2] = e + 32768 >> 16;
+      p[v + 368 >> 1] = c;
+      if ((a | 0) == (b | 0)) {
+       break k;
+      }
+      a = q[f + 6764 >> 2];
+      break j;
+     }
+     a = q[f + 6764 >> 2];
+     if ((a | 0) < 1 | q[v + 376 >> 2] == (a | 0)) {
+      break i;
+     }
+    }
+    c = YH(f, l, a) << 16;
+    b = Fe(Ee(c, q[x + 16 >> 2]), k);
+    q[v + 376 >> 2] = q[f + 6764 >> 2];
+    a = s[x + 8 >> 1];
+    q[v + 384 >> 2] = b + 32768 >> 16;
+    p[v + 368 >> 1] = a;
+    z = v, A = Fe((i - c | 0) + -524288 | 0, i), q[z + 388 >> 2] = A;
+   }
+   a = m + 108 | 0;
+   tg(a, q[v + 380 >> 2], q[v + 384 >> 2]);
+   q[f + 6756 >> 2] = q[v + 388 >> 2];
+   vf(a, f + 6744 | 0);
+  }
+  a = r[j + 8 | 0];
+  o[f + 16 | 0] = a;
+  l : {
+   if (!a) {
+    break l;
+   }
+   i = q[j + 24 >> 2];
+   m = q[j + 20 >> 2];
+   q[f + 28 >> 2] = m;
+   q[f + 32 >> 2] = i;
+   k = q[j + 16 >> 2];
+   e = q[j + 12 >> 2];
+   q[f + 20 >> 2] = e;
+   q[f + 24 >> 2] = k;
+   c = q[j + 28 >> 2];
+   b = q[j + 32 >> 2];
+   a = f + 6752 | 0;
+   q[a >> 2] = m;
+   q[a + 4 >> 2] = i;
+   q[f + 6744 >> 2] = e;
+   q[f + 6748 >> 2] = k;
+   q[f + 36 >> 2] = c;
+   q[f + 40 >> 2] = b;
+   if (Ge(f + 6744 | 0)) {
+    break l;
+   }
+   xe(f + 36 | 0, f + 6744 | 0);
+  }
+  a = 7;
+  m : {
+   if (q[g + 72 >> 2] != 1869968492) {
+    break m;
+   }
+   if (r[f + 16 | 0]) {
+    wf(g + 108 | 0, q[f + 36 >> 2], q[f + 40 >> 2]);
+   }
+   q[f + 48 >> 2] = q[f + 80 >> 2];
+   q[f + 44 >> 2] = q[f + 72 >> 2];
+   a = Ee(q[g + 40 >> 2], q[f + 68 >> 2]);
+   q[f + 56 >> 2] = q[f + 80 >> 2];
+   q[f + 52 >> 2] = a + q[f + 72 >> 2];
+   a = 0;
+   if (!s[g + 110 >> 1]) {
+    break m;
+   }
+   b = q[u + 28 >> 2];
+   if (b) {
+    c = n[b](d, f - -64 | 0, y + 20 | 0, h) | 0;
+    if (c) {
+     break a;
+    }
+   }
+   if (q[f + 6732 >> 2] != 1) {
+    b = q[f + 120 >> 2];
+    if (!(r[f + 2804 | 0] & 4 | (b | 0) < 2)) {
+     e = q[f + 128 >> 2];
+     b = e + w(b, 44) | 0;
+     i = q[b + -36 >> 2];
+     c = q[b + -40 >> 2];
+     j = q[e + 8 >> 2];
+     k = q[e + 4 >> 2];
+     b = j - k | 0;
+     e = (k | 0) < 24 ? b + -8 | 0 : b;
+     b = e + 32 & -64;
+     q[f + 44 >> 2] = b;
+     m = q[f + 52 >> 2] - c | 0;
+     c = m + i | 0;
+     c = (m | 0) < 24 ? c + 8 | 0 : c;
+     u = c + 32 & -64;
+     q[f + 52 >> 2] = u;
+     if (!((k | 0) < 1 | (b | 0) < (j | 0))) {
+      b = b + -64 | 0;
+      q[f + 44 >> 2] = b;
+     }
+     if (!((m | 0) < 1 | (u | 0) > (i | 0))) {
+      u = u - -64 | 0;
+      q[f + 52 >> 2] = u;
+     }
+     q[g + 148 >> 2] = u - c;
+     q[g + 144 >> 2] = b - e;
+     break m;
+    }
+    j = q[f + 44 >> 2];
+    e = (j + q[f + 2816 >> 2] | 0) + 32 & -64;
+    q[f + 44 >> 2] = e;
+    c = q[f + 52 >> 2];
+    b = (c + q[f + 2820 >> 2] | 0) + 32 & -64;
+    q[f + 52 >> 2] = b;
+    q[g + 148 >> 2] = b - c;
+    q[g + 144 >> 2] = e - j;
+    break m;
+   }
+   j = q[f + 44 >> 2];
+   e = j + 32 & -64;
+   q[f + 44 >> 2] = e;
+   c = q[f + 52 >> 2];
+   b = c + 32 & -64;
+   q[f + 52 >> 2] = b;
+   q[g + 148 >> 2] = b - c;
+   q[g + 144 >> 2] = e - j;
+  }
+  c = q[g + 36 >> 2];
+  b = q[g + 48 >> 2];
+  z = f, A = Ee(q[g + 44 >> 2] - q[g + 32 >> 2] | 0, q[h + 8 >> 2]), q[z + 6704 >> 2] = A;
+  z = f, A = Ee(b - c | 0, q[h + 12 >> 2]), q[z + 6708 >> 2] = A;
+  if (r[f + 16 | 0]) {
+   b = f + 20 | 0;
+   vf(y + 20 | 0, b);
+   xe(f + 6704 | 0, b);
+  }
+  b = q[f + 44 >> 2];
+  if (b) {
+   wf(y + 20 | 0, 0 - b | 0, 0);
+  }
+  qf(y + 20 | 0, f + 6744 | 0);
+  j = q[f + 6744 >> 2] & -64;
+  q[f + 6744 >> 2] = j;
+  e = q[f + 6756 >> 2] + 63 & -64;
+  q[f + 6756 >> 2] = e;
+  c = q[f + 6752 >> 2] + 63 & -64;
+  q[f + 6752 >> 2] = c;
+  b = q[f + 6748 >> 2] & -64;
+  q[f + 6748 >> 2] = b;
+  q[g + 36 >> 2] = e;
+  q[g + 32 >> 2] = j;
+  q[g + 28 >> 2] = e - b;
+  q[g + 24 >> 2] = c - j;
+  q[g + 44 >> 2] = j + q[f + 6704 >> 2] & -64;
+  q[g + 48 >> 2] = e + q[f + 6708 >> 2] & -64;
+  n : {
+   o : {
+    if (q[f + 6732 >> 2] == 1) {
+     break o;
+    }
+    if (!(r[q[g + 4 >> 2] + 8 | 0] & 4)) {
+     b = q[f + 4 >> 2];
+     if (!r[h + 32 | 0] | (t[b + 4 >> 2] <= d >>> 0 | p[q[b + 8 >> 2] + (d << 1) >> 1] > -1)) {
+      break o;
+     }
+    }
+    c = g + 40 | 0;
+    b = Ee(q[c >> 2], q[h + 8 >> 2]);
+    q[g + 144 >> 2] = 0;
+    q[g + 148 >> 2] = 0;
+    q[c >> 2] = b;
+    break n;
+   }
+   if (!q[g + 40 >> 2]) {
+    break n;
+   }
+   q[g + 40 >> 2] = q[f + 52 >> 2] - q[f + 44 >> 2];
+  }
+  c = g + 52 | 0;
+  b = Ee(q[c >> 2], q[h + 12 >> 2]);
+  q[g + 72 >> 2] = 1869968492;
+  q[c >> 2] = b + 32 & -64;
+  b = g + 40 | 0;
+  q[b >> 2] = q[b >> 2] + 32 & -64;
+  c = a;
+ }
+ q[f + 8 >> 2] = 0;
+ q[f >> 2] = 0;
+ q[f + 4 >> 2] = 0;
+ NH(f - -64 | 0);
+ Ca = f + 6768 | 0;
+ return c | 0;
+}
+function Mj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ m = q[b + 16 >> 2];
+ k = q[b + 8 >> 2];
+ e = q[b >> 2];
+ s = q[a + 492 >> 2];
+ a : {
+  b : {
+   c = n[q[b + 36 >> 2]](b) | 0;
+   if ((c | 0) <= -1) {
+    break b;
+   }
+   e = k - e >> 3;
+   e = (c | 0) > (e | 0) ? e : c;
+   if (q[b + 12 >> 2] | !e) {
+    break a;
+   }
+   h = b + 260 | 0;
+   l = b + 156 | 0;
+   i = b + 208 | 0;
+   c : {
+    if (!q[b + 152 >> 2]) {
+     f = e + 6 | 0;
+     c = n[q[q[s >> 2] >> 2]](i, f, m) | 0;
+     q[d + 12 >> 2] = c;
+     if (c) {
+      break c;
+     }
+     c = n[q[q[s >> 2] >> 2]](l, f, m) | 0;
+     q[d + 12 >> 2] = c;
+     if (c) {
+      break c;
+     }
+     c = n[q[q[s >> 2] >> 2]](h, 4, m) | 0;
+     q[d + 12 >> 2] = c;
+     if (c) {
+      break c;
+     }
+    }
+    n[q[b + 28 >> 2]](b);
+    c = q[b >> 2];
+    if (c >>> 0 >= k >>> 0) {
+     break b;
+    }
+    w = e + 5 | 0;
+    d : {
+     e : {
+      while (1) {
+       f : {
+        e = c + 3 | 0;
+        g : {
+         if (e >>> 0 >= k >>> 0) {
+          break g;
+         }
+         e = r[e | 0];
+         if (e >>> 0 > 125) {
+          break g;
+         }
+         h : {
+          switch (e - 1 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 10:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 28:
+          case 29:
+          case 30:
+          case 32:
+          case 33:
+          case 34:
+          case 35:
+          case 37:
+          case 38:
+          case 41:
+          case 42:
+          case 43:
+          case 44:
+          case 45:
+          case 47:
+          case 48:
+          case 49:
+          case 50:
+          case 51:
+          case 52:
+          case 53:
+          case 54:
+          case 55:
+          case 56:
+          case 57:
+          case 58:
+          case 60:
+          case 62:
+          case 63:
+          case 64:
+          case 65:
+          case 66:
+          case 67:
+          case 68:
+          case 69:
+          case 70:
+          case 71:
+          case 72:
+          case 73:
+          case 74:
+          case 75:
+          case 76:
+          case 77:
+          case 78:
+          case 79:
+          case 80:
+          case 81:
+          case 82:
+          case 83:
+          case 84:
+          case 85:
+          case 86:
+          case 87:
+          case 88:
+          case 89:
+          case 91:
+          case 93:
+          case 94:
+          case 95:
+          case 96:
+          case 97:
+          case 98:
+          case 99:
+          case 100:
+          case 101:
+          case 102:
+          case 103:
+          case 104:
+          case 105:
+          case 106:
+          case 107:
+          case 108:
+          case 109:
+          case 110:
+          case 111:
+          case 112:
+          case 113:
+          case 114:
+          case 115:
+          case 116:
+          case 117:
+          case 118:
+          case 119:
+          case 120:
+          case 121:
+          case 123:
+           break g;
+          default:
+           break h;
+          }
+         }
+         e = r[c | 0] + -100 | 0;
+         if (e >>> 0 > 1) {
+          break g;
+         }
+         if (e - 1) {
+          if (!g | r[c + 1 | 0] != 101 | r[c + 2 | 0] != 102) {
+           break g;
+          }
+          break e;
+         }
+         if (r[c + 1 | 0] != 110) {
+          break g;
+         }
+         if (r[c + 2 | 0] == 100) {
+          break f;
+         }
+        }
+        n[q[b + 32 >> 2]](b);
+        p = q[b >> 2];
+        if (p >>> 0 >= k >>> 0) {
+         break b;
+        }
+        if (q[b + 12 >> 2]) {
+         break a;
+        }
+        i : {
+         if (r[c | 0] != 47) {
+          break i;
+         }
+         if (c + 2 >>> 0 >= k >>> 0) {
+          q[d + 12 >> 2] = 3;
+          break d;
+         }
+         j = q[q[a + 128 >> 2] + 52 >> 2];
+         f = q[b + 8 >> 2];
+         n[q[b + 28 >> 2]](b);
+         j : {
+          e = q[b >> 2];
+          k : {
+           if (e >>> 0 >= f >>> 0 | r[e | 0] + -48 >>> 0 > 9) {
+            break k;
+           }
+           e = n[q[b + 36 >> 2]](b) | 0;
+           n[q[b + 32 >> 2]](b);
+           if ((e | 0) < 0) {
+            break k;
+           }
+           x = f;
+           u = q[b >> 2];
+           f = u + 1 | 0;
+           if ((e | 0) < (x - f | 0)) {
+            break j;
+           }
+          }
+          if (j) {
+           break a;
+          }
+          q[b + 12 >> 2] = 3;
+          break a;
+         }
+         q[b >> 2] = (e + u | 0) + 1;
+         if (q[b + 12 >> 2]) {
+          break a;
+         }
+         if (q[b + 152 >> 2]) {
+          break i;
+         }
+         c = c + 1 | 0;
+         p = p - c | 0;
+         j = n[q[b + 200 >> 2]](l, g, c, p + 1 | 0) | 0;
+         q[d + 12 >> 2] = j;
+         if (j) {
+          break d;
+         }
+         j = g << 2;
+         o[p + q[j + q[b + 180 >> 2] >> 2] | 0] = 0;
+         if (r[c | 0] == 46) {
+          c = iZ(6980, q[j + q[b + 180 >> 2] >> 2]);
+          v = c ? v : 1;
+          t = c ? t : g;
+         }
+         l : {
+          m : {
+           if ((g | 0) >= (w | 0)) {
+            break m;
+           }
+           c = q[a + 172 >> 2];
+           if ((c | 0) < 0) {
+            break m;
+           }
+           if (e >>> 0 <= c >>> 0) {
+            q[d + 12 >> 2] = 3;
+            break d;
+           }
+           c = Oe(m, e, d + 12 | 0);
+           if (q[d + 12 >> 2]) {
+            break d;
+           }
+           c = Y$(c, f, e);
+           n[q[s + 16 >> 2]](c, e, 4330);
+           f = q[a + 172 >> 2];
+           y = d, z = n[q[b + 252 >> 2]](i, g, f + c | 0, e - f | 0) | 0, q[y + 12 >> 2] = z;
+           Qe(m, c);
+           c = q[d + 12 >> 2];
+           break l;
+          }
+          c = n[q[b + 252 >> 2]](i, g, f, e) | 0;
+          q[d + 12 >> 2] = c;
+         }
+         if (c) {
+          break d;
+         }
+         g = g + 1 | 0;
+        }
+        n[q[b + 28 >> 2]](b);
+        c = q[b >> 2];
+        if (c >>> 0 < k >>> 0) {
+         continue;
+        }
+       }
+       break;
+      }
+      if (!g) {
+       break b;
+      }
+     }
+     q[b + 152 >> 2] = g;
+     if (v & 255) {
+      a = q[q[b + 180 >> 2] >> 2];
+      if (!iZ(6980, a)) {
+       break a;
+      }
+      c = n[q[b + 304 >> 2]](h, 0, a, q[q[b + 184 >> 2] >> 2]) | 0;
+      q[d + 12 >> 2] = c;
+      if (c) {
+       break c;
+      }
+      c = n[q[b + 304 >> 2]](h, 1, q[q[b + 232 >> 2] >> 2], q[q[b + 236 >> 2] >> 2]) | 0;
+      q[d + 12 >> 2] = c;
+      if (c) {
+       break c;
+      }
+      a = t << 2;
+      c = n[q[b + 304 >> 2]](h, 2, q[a + q[b + 180 >> 2] >> 2], q[a + q[b + 184 >> 2] >> 2]) | 0;
+      q[d + 12 >> 2] = c;
+      if (c) {
+       break c;
+      }
+      c = n[q[b + 304 >> 2]](h, 3, q[a + q[b + 232 >> 2] >> 2], q[a + q[b + 236 >> 2] >> 2]) | 0;
+      q[d + 12 >> 2] = c;
+      if (c) {
+       break c;
+      }
+      c = n[q[b + 200 >> 2]](l, t, q[q[b + 284 >> 2] >> 2], q[q[b + 288 >> 2] >> 2]) | 0;
+      q[d + 12 >> 2] = c;
+      if (c) {
+       break c;
+      }
+      c = n[q[b + 252 >> 2]](i, t, q[q[b + 284 >> 2] + 4 >> 2], q[q[b + 288 >> 2] + 4 >> 2]) | 0;
+      q[d + 12 >> 2] = c;
+      if (c) {
+       break c;
+      }
+      c = n[q[b + 200 >> 2]](l, 0, q[q[b + 284 >> 2] + 8 >> 2], q[q[b + 288 >> 2] + 8 >> 2]) | 0;
+      q[d + 12 >> 2] = c;
+      if (c) {
+       break c;
+      }
+      c = n[q[b + 252 >> 2]](i, 0, q[q[b + 284 >> 2] + 12 >> 2], q[q[b + 288 >> 2] + 12 >> 2]) | 0;
+      q[d + 12 >> 2] = c;
+      if (c) {
+       break c;
+      }
+      break a;
+     }
+     o[d + 8 | 0] = r[9296];
+     q[d + 4 >> 2] = r[9292] | r[9293] << 8 | (r[9294] << 16 | r[9295] << 24);
+     c = n[q[b + 304 >> 2]](h, 0, q[q[b + 180 >> 2] >> 2], q[q[b + 184 >> 2] >> 2]) | 0;
+     q[d + 12 >> 2] = c;
+     if (c) {
+      break c;
+     }
+     c = n[q[b + 304 >> 2]](h, 1, q[q[b + 232 >> 2] >> 2], q[q[b + 236 >> 2] >> 2]) | 0;
+     q[d + 12 >> 2] = c;
+     if (c) {
+      break c;
+     }
+     c = n[q[b + 200 >> 2]](l, 0, 6980, 8) | 0;
+     q[d + 12 >> 2] = c;
+     if (c) {
+      break c;
+     }
+     c = n[q[b + 252 >> 2]](i, 0, d + 4 | 0, 5) | 0;
+     q[d + 12 >> 2] = c;
+     if (c) {
+      break c;
+     }
+     c = n[q[b + 200 >> 2]](l, g, q[q[b + 284 >> 2] >> 2], q[q[b + 288 >> 2] >> 2]) | 0;
+     q[d + 12 >> 2] = c;
+     if (c) {
+      break c;
+     }
+     c = n[q[b + 252 >> 2]](i, g, q[q[b + 284 >> 2] + 4 >> 2], q[q[b + 288 >> 2] + 4 >> 2]) | 0;
+     q[d + 12 >> 2] = c;
+     if (c) {
+      break c;
+     }
+     q[b + 152 >> 2] = q[b + 152 >> 2] + 1;
+     break a;
+    }
+    c = q[d + 12 >> 2];
+   }
+   q[b + 12 >> 2] = c;
+   break a;
+  }
+  q[d + 12 >> 2] = 3;
+  q[b + 12 >> 2] = 3;
+ }
+ Ca = d + 16 | 0;
+}
+function Lt(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0;
+ v = Ca - 176 | 0;
+ Ca = v;
+ f = Mt(v + 24 | 0, 0, d, e);
+ q[f + 100 >> 2] = 431;
+ h = q[a + 56 >> 2];
+ if (h) {
+  while (1) {
+   x = 271040;
+   x = h >>> 0 > z >>> 0 ? q[a + 60 >> 2] + (z << 3) | 0 : x;
+   if (p >>> 0 < t[x >> 2]) {
+    while (1) {
+     g = v;
+     if (t[a + 32 >> 2] <= p >>> 0) {
+      i = 271040;
+     } else {
+      i = q[a + 36 >> 2] + (p << 3) | 0;
+     }
+     y = s[i >> 1];
+     q[g + 16 >> 2] = y;
+     if (Ot(e, d, 228813, v + 16 | 0)) {
+      q[f + 124 >> 2] = y;
+      k = t[a + 32 >> 2] <= p >>> 0;
+      if (k) {
+       g = 271040;
+      } else {
+       g = q[a + 36 >> 2] + (p << 3) | 0;
+      }
+      h = q[g + 4 >> 2];
+      q[f + 32 >> 2] = 0;
+      q[f + 116 >> 2] = h;
+      q[f + 24 >> 2] = 0;
+      q[f + 28 >> 2] = 0;
+      g = q[f + 128 >> 2];
+      q[f + 8 >> 2] = g;
+      q[f + 76 >> 2] = 0;
+      q[f + 16 >> 2] = h;
+      o[f + 13 | 0] = r[f + 142 | 0];
+      q[f + 68 >> 2] = 0;
+      q[f + 72 >> 2] = 0;
+      q[f + 52 >> 2] = g;
+      q[f + 60 >> 2] = -1;
+      o[f + 57 | 0] = 1;
+      i = q[f + 120 >> 2] == 1;
+      o[f + 12 | 0] = i;
+      l = i | r[f + 141 | 0] != 0;
+      o[f + 56 | 0] = l;
+      q[f + 4 >> 2] = f;
+      q[f + 48 >> 2] = f;
+      j = r[(k ? 271040 : q[a + 36 >> 2] + (p << 3) | 0) + 2 | 0];
+      q[f + 32 >> 2] = 0;
+      q[f + 24 >> 2] = 0;
+      q[f + 28 >> 2] = 0;
+      q[f + 76 >> 2] = 0;
+      q[f + 16 >> 2] = h;
+      o[f + 12 | 0] = i;
+      q[f + 8 >> 2] = g;
+      q[f + 68 >> 2] = 0;
+      q[f + 72 >> 2] = 0;
+      q[f + 60 >> 2] = -1;
+      o[f + 57 | 0] = 1;
+      o[f + 56 | 0] = l;
+      q[f + 52 >> 2] = g;
+      j = j >>> 1 & 1;
+      o[f + 142 | 0] = j;
+      o[f + 13 | 0] = j;
+      q[f + 4 >> 2] = f;
+      q[f + 48 >> 2] = f;
+      l = r[(k ? 271040 : q[a + 36 >> 2] + (p << 3) | 0) + 2 | 0];
+      q[f + 32 >> 2] = 0;
+      q[f + 24 >> 2] = 0;
+      q[f + 28 >> 2] = 0;
+      q[f + 76 >> 2] = 0;
+      q[f + 16 >> 2] = h;
+      o[f + 13 | 0] = j;
+      o[f + 12 | 0] = i;
+      q[f + 8 >> 2] = g;
+      q[f + 68 >> 2] = 0;
+      q[f + 72 >> 2] = 0;
+      q[f + 60 >> 2] = -1;
+      o[f + 57 | 0] = 1;
+      q[f + 52 >> 2] = g;
+      g = l & 1;
+      o[f + 141 | 0] = g;
+      o[f + 56 | 0] = g | i;
+      q[f + 4 >> 2] = f;
+      q[f + 48 >> 2] = f;
+      if (r[(k ? 271040 : q[a + 36 >> 2] + (p << 3) | 0) + 2 | 0] & 4) {
+       o[f + 143 | 0] = 1;
+       DG(e, 0, q[e + 76 >> 2]);
+      }
+      h = 271040;
+      g = q[b >> 2];
+      i = r[g + 9 | 0] | r[g + 8 | 0] << 8;
+      g = i ? g + i | 0 : 271040;
+      if ((r[g | 0] << 8 | r[g + 1 | 0]) >>> 0 > y >>> 0) {
+       i = g;
+       g = g + (y << 1) | 0;
+       g = r[g + 2 | 0] << 8 | r[g + 3 | 0];
+       h = g ? i + g | 0 : 271040;
+      }
+      l = q[f + 96 >> 2];
+      a : {
+       if (!q[l + 76 >> 2]) {
+        break a;
+       }
+       g = q[f + 116 >> 2];
+       if (!g) {
+        break a;
+       }
+       k = w(y, 24);
+       j = q[b + 4 >> 2];
+       m = r[h + 3 | 0];
+       i = m | r[h + 2 | 0] << 8;
+       if (m & 16) {
+        m = i;
+        i = (h + 4 | 0) + (r[h + 5 | 0] << 1 | r[h + 4 | 0] << 9) | 0;
+        i = m | r[i + 2 | 0] << 24 | r[i + 3 | 0] << 16;
+       }
+       k = j + k | 0;
+       q[f + 60 >> 2] = -1;
+       o[f + 57 | 0] = 1;
+       q[f + 32 >> 2] = 0;
+       q[f + 128 >> 2] = i;
+       q[f + 24 >> 2] = 0;
+       q[f + 28 >> 2] = 0;
+       q[f + 8 >> 2] = i;
+       q[f + 76 >> 2] = 0;
+       q[f + 16 >> 2] = g;
+       q[f + 68 >> 2] = 0;
+       q[f + 72 >> 2] = 0;
+       q[f + 52 >> 2] = i;
+       o[f + 13 | 0] = r[f + 142 | 0];
+       g = q[f + 120 >> 2] == 1;
+       o[f + 12 | 0] = g;
+       o[f + 56 | 0] = g | r[f + 141 | 0] != 0;
+       q[f + 4 >> 2] = f;
+       q[f + 48 >> 2] = f;
+       b : {
+        g = r[h | 0] | r[h + 1 | 0] << 8;
+        g = ((g << 24 | g << 8 & 16711680) >>> 16 | 0) + -7 | 0;
+        c : {
+         if (g >>> 0 > 1) {
+          break c;
+         }
+         if (!(g - 1)) {
+          break b;
+         }
+         g = r[h + 5 | 0] | r[h + 4 | 0] << 8 ? h + 6 | 0 : 271040;
+         g = r[g | 0] << 8 | r[g + 1 | 0];
+         g = g ? g + h | 0 : 271040;
+         if ((r[g | 0] << 8 | r[g + 1 | 0]) != 1) {
+          break c;
+         }
+         if ((r[g + 3 | 0] | r[g + 2 | 0] << 8) == 8) {
+          break b;
+         }
+        }
+        sG(l);
+        q[l + 72 >> 2] = 0;
+        h = q[f + 96 >> 2];
+        i = q[h + 72 >> 2];
+        if (i >>> 0 >= t[h + 76 >> 2]) {
+         break a;
+        }
+        B = k + 20 | 0;
+        m = k + 16 | 0;
+        C = k + 8 | 0;
+        D = k + 4 | 0;
+        A = 0;
+        while (1) {
+         if (r[h + 68 | 0]) {
+          i = q[h + 88 >> 2] + w(i, 20) | 0;
+          g = q[i >> 2];
+          d : {
+           e : {
+            if (!(q[k >> 2] >>> (g >>> 4 & 31) & 1) | !(q[D >> 2] >>> (g & 31) & 1) | (!(q[C >> 2] >>> (g >>> 9 & 31) & 1) | !(q[f + 116 >> 2] & q[i + 4 >> 2]))) {
+             break e;
+            }
+            j = q[f + 128 >> 2];
+            i = s[i + 12 >> 1];
+            if (j & i & 14) {
+             break e;
+            }
+            if (i & 8) {
+             if (!Pt(f, g, i, j)) {
+              break e;
+             }
+            }
+            i = 0;
+            j = q[m >> 2];
+            if (!j) {
+             break e;
+            }
+            while (1) {
+             g = j >>> 0 <= i >>> 0 ? 271040 : q[B >> 2] + w(i, 20) | 0;
+             u = q[f + 96 >> 2];
+             u = q[q[u + 88 >> 2] + w(q[u + 72 >> 2], 20) >> 2];
+             if (!(!(q[g + 8 >> 2] >>> (u >>> 4 & 31) & 1) | !(q[g + 12 >> 2] >>> (u & 31) & 1) | !(q[g + 16 >> 2] >>> (u >>> 9 & 31) & 1))) {
+              if (n[q[g + 4 >> 2]](q[g >> 2], f)) {
+               A = 1;
+               break d;
+              }
+              j = q[m >> 2];
+             }
+             i = i + 1 | 0;
+             if (i >>> 0 < j >>> 0) {
+              continue;
+             }
+             break;
+            }
+           }
+           if (r[h + 69 | 0]) {
+            f : {
+             if (q[h + 92 >> 2] == q[h + 88 >> 2]) {
+              i = q[h + 80 >> 2];
+              if ((i | 0) == q[h + 72 >> 2]) {
+               break f;
+              }
+             }
+             if (!pG(h, 1, 1)) {
+              break d;
+             }
+             i = q[h + 88 >> 2] + w(q[h + 72 >> 2], 20) | 0;
+             j = q[i + 4 >> 2];
+             g = q[h + 92 >> 2] + w(q[h + 80 >> 2], 20) | 0;
+             q[g >> 2] = q[i >> 2];
+             q[g + 4 >> 2] = j;
+             q[g + 16 >> 2] = q[i + 16 >> 2];
+             j = q[i + 12 >> 2];
+             q[g + 8 >> 2] = q[i + 8 >> 2];
+             q[g + 12 >> 2] = j;
+             i = q[h + 80 >> 2];
+            }
+            q[h + 80 >> 2] = i + 1;
+           }
+           q[h + 72 >> 2] = q[h + 72 >> 2] + 1;
+          }
+          i = q[h + 72 >> 2];
+          if (i >>> 0 < t[h + 76 >> 2]) {
+           continue;
+          }
+         }
+         break;
+        }
+        if (!A) {
+         break a;
+        }
+        uG(l);
+        break a;
+       }
+       rG(l);
+       q[l + 72 >> 2] = q[l + 76 >> 2] + -1;
+       A = k + 20 | 0;
+       l = k + 16 | 0;
+       u = k + 8 | 0;
+       B = k + 4 | 0;
+       i = q[f + 96 >> 2];
+       h = q[i + 72 >> 2];
+       while (1) {
+        h = q[i + 88 >> 2] + w(h, 20) | 0;
+        g = q[h >> 2];
+        g : {
+         if (!(q[k >> 2] >>> (g >>> 4 & 31) & 1) | !(q[B >> 2] >>> (g & 31) & 1) | (!(q[u >> 2] >>> (g >>> 9 & 31) & 1) | !(q[f + 116 >> 2] & q[h + 4 >> 2]))) {
+          break g;
+         }
+         j = q[f + 128 >> 2];
+         h = s[h + 12 >> 1];
+         if (j & h & 14) {
+          break g;
+         }
+         if (h & 8) {
+          if (!Pt(f, g, h, j)) {
+           break g;
+          }
+         }
+         h = 0;
+         j = q[l >> 2];
+         if (!j) {
+          break g;
+         }
+         while (1) {
+          g = j >>> 0 <= h >>> 0 ? 271040 : q[A >> 2] + w(h, 20) | 0;
+          m = q[f + 96 >> 2];
+          m = q[q[m + 88 >> 2] + w(q[m + 72 >> 2], 20) >> 2];
+          if (!(!(q[g + 8 >> 2] >>> (m >>> 4 & 31) & 1) | !(q[g + 12 >> 2] >>> (m & 31) & 1) | !(q[g + 16 >> 2] >>> (m >>> 9 & 31) & 1))) {
+           if (n[q[g + 4 >> 2]](q[g >> 2], f)) {
+            break g;
+           }
+           j = q[l >> 2];
+          }
+          h = h + 1 | 0;
+          if (h >>> 0 < j >>> 0) {
+           continue;
+          }
+          break;
+         }
+        }
+        h = q[i + 72 >> 2] + -1 | 0;
+        q[i + 72 >> 2] = h;
+        if ((h | 0) > -1) {
+         continue;
+        }
+        break;
+       }
+      }
+      q[v >> 2] = y;
+      Ot(e, d, 228829, v);
+     }
+     p = p + 1 | 0;
+     if (p >>> 0 < t[x >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (q[x + 4 >> 2]) {
+    sG(e);
+    n[q[x + 4 >> 2]](c, d, e);
+   }
+   z = z + 1 | 0;
+   h = q[a + 56 >> 2];
+   if (z >>> 0 < h >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = v + 176 | 0;
+}
+function yH(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0;
+ x = Ca - 16 | 0;
+ Ca = x;
+ e = w(b, 1348) + a | 0;
+ i = e + 52 | 0;
+ f = q[i >> 2];
+ a : {
+  b : {
+   if (f) {
+    e = q[e + 44 >> 2];
+    d = KH(a, b);
+    if (d) {
+     break a;
+    }
+    if ((e | 0) < 1) {
+     break b;
+    }
+    e = w(e, 44) + f | 0;
+    while (1) {
+     d = q[f + 36 >> 2];
+     c = s[d >> 1];
+     g = r[f | 0];
+     o[f | 0] = g & 254;
+     h = q[f + 40 >> 2];
+     c : {
+      if ((h | 0) == (d | 0)) {
+       break c;
+      }
+      c = c & 3;
+      while (1) {
+       j = c;
+       d = q[d + 32 >> 2];
+       c = s[d >> 1] & 3;
+       if (!((j | c) & 65535)) {
+        break c;
+       }
+       if ((d | 0) != (h | 0)) {
+        continue;
+       }
+       break;
+      }
+      o[f | 0] = g | 1;
+     }
+     f = f + 44 | 0;
+     if (f >>> 0 < e >>> 0) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   }
+   d = KH(a, b);
+   if (d) {
+    break a;
+   }
+  }
+  n = q[q[a + 2748 >> 2] + 40 >> 2] / 256 | 0;
+  t = w(b, 1348) + a | 0;
+  v = t + 44 | 0;
+  c = q[v >> 2];
+  e = q[i >> 2];
+  f = q[t + 68 >> 2];
+  y = (b ? 12 : 4) + a | 0;
+  u = Fe(192, q[y >> 2]);
+  if ((c | 0) >= 1) {
+   k = w(c, 44) + e | 0;
+   c = e;
+   while (1) {
+    if ((f | 0) == o[c + 1 | 0]) {
+     d = e;
+     while (1) {
+      d : {
+       if ((c | 0) == (d | 0) | (f | 0) != (0 - o[d + 1 | 0] | 0)) {
+        break d;
+       }
+       h = p[d + 2 >> 1] - p[c + 2 >> 1] | 0;
+       if ((h | 0) < 0) {
+        break d;
+       }
+       g = p[d + 8 >> 1];
+       j = p[c + 8 >> 1];
+       z = (j | 0) > (g | 0) ? g : j;
+       g = p[d + 6 >> 1];
+       j = p[c + 6 >> 1];
+       g = z - ((j | 0) < (g | 0) ? g : j) | 0;
+       if ((g | 0) < (n | 0)) {
+        break d;
+       }
+       j = h << 3;
+       l = q[c + 28 >> 2];
+       if (!((j | 0) >= (w(l, 9) | 0) | (q[c + 32 >> 2] >= (g | 0) ? (j | 0) >= (w(l, 7) | 0) : 0))) {
+        q[c + 32 >> 2] = g;
+        q[c + 28 >> 2] = h;
+        q[c + 20 >> 2] = d;
+       }
+       l = q[d + 28 >> 2];
+       if ((j | 0) >= (w(l, 9) | 0) | (q[d + 32 >> 2] >= (g | 0) ? (j | 0) >= (w(l, 7) | 0) : 0)) {
+        break d;
+       }
+       q[d + 32 >> 2] = g;
+       q[d + 28 >> 2] = h;
+       q[d + 20 >> 2] = c;
+      }
+      d = d + 44 | 0;
+      if (d >>> 0 < k >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    c = c + 44 | 0;
+    if (c >>> 0 < k >>> 0) {
+     continue;
+    }
+    break;
+   }
+   c = e;
+   while (1) {
+    j = q[c + 20 >> 2];
+    e : {
+     if (!j | q[j + 20 >> 2] != (c | 0)) {
+      break e;
+     }
+     n = p[j + 2 >> 1];
+     l = p[c + 2 >> 1];
+     if ((n | 0) <= (l | 0)) {
+      break e;
+     }
+     m = q[c + 28 >> 2];
+     if ((m | 0) >= (u | 0)) {
+      break e;
+     }
+     B = m << 2;
+     d = e;
+     while (1) {
+      f : {
+       g : {
+        if ((c | 0) == (d | 0)) {
+         break g;
+        }
+        g = p[d + 2 >> 1];
+        if ((g | 0) > (l | 0)) {
+         break g;
+        }
+        f = q[d + 20 >> 2];
+        if (!f | q[f + 20 >> 2] != (d | 0)) {
+         break g;
+        }
+        h = p[f + 2 >> 1];
+        if ((h | 0) < (n | 0) | ((h | 0) == (n | 0) ? (g | 0) == (l | 0) : 0)) {
+         break g;
+        }
+        g = q[d + 28 >> 2];
+        if ((g | 0) <= (m | 0) | (B | 0) <= (g | 0)) {
+         break g;
+        }
+        h = e;
+        if (q[c + 32 >> 2] < (w(q[d + 32 >> 2], 3) | 0)) {
+         break f;
+        }
+        while (1) {
+         g = j;
+         A = q[h + 20 >> 2];
+         h : {
+          if ((A | 0) != (d | 0)) {
+           g = c;
+           if ((f | 0) != (A | 0)) {
+            break h;
+           }
+          }
+          q[h + 24 >> 2] = g;
+          q[h + 20 >> 2] = 0;
+         }
+         h = h + 44 | 0;
+         if (h >>> 0 < k >>> 0) {
+          continue;
+         }
+         break;
+        }
+       }
+       d = d + 44 | 0;
+       if (d >>> 0 < k >>> 0) {
+        continue;
+       }
+       break e;
+      }
+      break;
+     }
+     q[j + 20 >> 2] = 0;
+     q[c + 20 >> 2] = 0;
+    }
+    c = c + 44 | 0;
+    if (c >>> 0 < k >>> 0) {
+     continue;
+    }
+    break;
+   }
+   while (1) {
+    c = q[e + 20 >> 2];
+    i : {
+     if (!c | q[c + 20 >> 2] == (e | 0)) {
+      break i;
+     }
+     q[e + 20 >> 2] = 0;
+     d = q[c + 28 >> 2];
+     if (q[e + 28 >> 2] >= d << 2 ? (d | 0) >= (u | 0) : 0) {
+      break i;
+     }
+     q[e + 24 >> 2] = q[c + 20 >> 2];
+    }
+    e = e + 44 | 0;
+    if (e >>> 0 < k >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  B = q[a >> 2];
+  i = q[i >> 2];
+  c = q[a + 2748 >> 2];
+  u = t + 56 | 0;
+  q[u >> 2] = 0;
+  e = q[v >> 2];
+  c = (c + w(b, 7452) | 0) + 248 | 0;
+  n = q[y >> 2];
+  j : {
+   if ((Ee(q[c >> 2], n) | 0) >= 17) {
+    g = Fe(16, n);
+    break j;
+   }
+   g = q[c >> 2];
+  }
+  if ((e | 0) >= 1) {
+   y = w(e, 44) + i | 0;
+   A = (w(b, 1348) + a | 0) - -64 | 0;
+   while (1) {
+    k : {
+     l : {
+      C = q[u >> 2];
+      m : {
+       if ((C | 0) <= 0) {
+        t = r[i + 1 | 0];
+        break m;
+       }
+       t = r[i + 1 | 0];
+       l = q[A >> 2];
+       e = 0;
+       h = 65535;
+       f = 0;
+       while (1) {
+        d = w(f, 44);
+        j = d + l | 0;
+        n : {
+         if ((t | 0) != r[j + 13 | 0]) {
+          break n;
+         }
+         k = p[i + 2 >> 1] - p[j >> 1] | 0;
+         c = k >> 31;
+         k = c ^ c + k;
+         if ((k | 0) >= (g | 0) | (k | 0) >= (h | 0)) {
+          break n;
+         }
+         D = q[i + 20 >> 2];
+         if (D) {
+          c = 0;
+          z = q[(d + l | 0) + 36 >> 2];
+          d = z;
+          while (1) {
+           o : {
+            m = q[d + 20 >> 2];
+            if (m) {
+             c = p[D + 2 >> 1];
+             m = p[m + 2 >> 1];
+             c = (c | 0) > (m | 0) ? c - m | 0 : m - c | 0;
+             if ((c | 0) >= (g | 0)) {
+              break o;
+             }
+            }
+            d = q[d + 16 >> 2];
+            if ((z | 0) != (d | 0)) {
+             continue;
+            }
+           }
+           break;
+          }
+          if ((c | 0) >= (g | 0)) {
+           break n;
+          }
+         }
+         h = k;
+         e = j;
+        }
+        f = f + 1 | 0;
+        if ((C | 0) != (f | 0)) {
+         continue;
+        }
+        break;
+       }
+       if (e) {
+        break l;
+       }
+      }
+      d = aI(v, p[i + 2 >> 1], t << 24 >> 24, 0, B, x + 12 | 0);
+      if (d) {
+       break a;
+      }
+      e = q[x + 12 >> 2];
+      q[e + 40 >> 2] = i;
+      q[e + 36 >> 2] = i;
+      q[e >> 2] = 0;
+      q[e + 4 >> 2] = 0;
+      q[e + 32 >> 2] = 0;
+      q[e + 24 >> 2] = 0;
+      q[e + 28 >> 2] = 0;
+      q[e + 16 >> 2] = 0;
+      q[e + 20 >> 2] = 0;
+      c = e + 8 | 0;
+      q[c >> 2] = 0;
+      q[c + 4 >> 2] = 0;
+      o[e + 13 | 0] = r[i + 1 | 0];
+      d = p[i + 2 >> 1];
+      p[e >> 1] = d;
+      h = c;
+      c = Ee(d, n);
+      q[h >> 2] = c;
+      q[e + 4 >> 2] = c;
+      q[i + 16 >> 2] = i;
+      break k;
+     }
+     q[i + 16 >> 2] = q[e + 36 >> 2];
+     q[q[e + 40 >> 2] + 16 >> 2] = i;
+     q[e + 40 >> 2] = i;
+    }
+    i = i + 44 | 0;
+    if (i >>> 0 < y >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = q[u >> 2];
+  if ((c | 0) >= 1) {
+   e = q[(w(b, 1348) + a | 0) - -64 >> 2];
+   g = e + w(c, 44) | 0;
+   c = e;
+   while (1) {
+    a = q[c + 36 >> 2];
+    d = a;
+    if (d) {
+     while (1) {
+      q[d + 12 >> 2] = c;
+      d = q[d + 16 >> 2];
+      if ((a | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    c = c + 44 | 0;
+    if (c >>> 0 < g >>> 0) {
+     continue;
+    }
+    break;
+   }
+   while (1) {
+    h = 0;
+    b = 0;
+    a = q[e + 36 >> 2];
+    if (a) {
+     j = e + 28 | 0;
+     k = e + 24 | 0;
+     d = a;
+     while (1) {
+      c = 0;
+      n = o[d | 0] & 1;
+      l = n ^ 1;
+      f = q[d + 24 >> 2];
+      if (f) {
+       c = q[f + 12 >> 2] != (e | 0);
+      }
+      p : {
+       if (q[d + 20 >> 2] ? 0 : !c) {
+        break p;
+       }
+       i = q[(c ? d + 24 | 0 : d + 20 | 0) >> 2];
+       f = q[(c ? j : k) >> 2];
+       q : {
+        if (f) {
+         m = p[e >> 1] - p[f >> 1] | 0;
+         t = m >> 31;
+         v = p[d + 2 >> 1];
+         u = p[i + 2 >> 1];
+         if ((((v | 0) > (u | 0) ? v - u | 0 : u - v | 0) | 0) >= (t ^ t + m)) {
+          break q;
+         }
+        }
+        f = q[i + 12 >> 2];
+       }
+       if (c) {
+        q[j >> 2] = f;
+        o[f + 12 | 0] = r[f + 12 | 0] | 2;
+        break p;
+       }
+       q[k >> 2] = f;
+      }
+      h = h + n | 0;
+      b = b + l | 0;
+      d = q[d + 16 >> 2];
+      if ((a | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    o[e + 12 | 0] = (h | 0) > 0 & (h | 0) >= (b | 0);
+    if (!(!q[e + 28 >> 2] | !q[e + 24 >> 2])) {
+     q[e + 28 >> 2] = 0;
+    }
+    e = e + 44 | 0;
+    if (e >>> 0 < g >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = 0;
+ }
+ Ca = x + 16 | 0;
+ return d;
+}
+function rh(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, u = 0, v = 0, x = 0, y = 0;
+ g = Ca - 128 | 0;
+ Ca = g;
+ h = jg(q[q[b + 96 >> 2] + 4 >> 2], 4856);
+ a : {
+  if (!h) {
+   f = 11;
+   break a;
+  }
+  f = yg(a, 0);
+  if (f) {
+   break a;
+  }
+  f = n[q[h + 4 >> 2]](a, b, c, d, e) | 0;
+  if (f) {
+   break a;
+  }
+  i = q[b + 104 >> 2];
+  f = 2;
+  a = q[b + 148 >> 2];
+  b : {
+   if ((a | 0) <= 65535) {
+    if ((a | 0) == -1519689116 | (a | 0) == -1519619212) {
+     break b;
+    }
+    break a;
+   }
+   if ((a | 0) == 65536 | (a | 0) == 1953658213) {
+    break b;
+   }
+   if ((a | 0) != 131072) {
+    break a;
+   }
+  }
+  q[b + 8 >> 2] = q[b + 8 >> 2] | 2048;
+  f = 0;
+  if ((c | 0) < 0) {
+   break a;
+  }
+  f = n[q[h + 8 >> 2]](i, b, c, d, e) | 0;
+  if (f) {
+   break a;
+  }
+  c : {
+   d : {
+    a = q[b + 20 >> 2];
+    if (a) {
+     f = 0;
+     while (1) {
+      if (UY(a, w(f, 20) + 5248 | 0)) {
+       break d;
+      }
+      f = f + 1 | 0;
+      if ((f | 0) != 26) {
+       continue;
+      }
+      break;
+     }
+    }
+    m = Z$(g, 0, 116);
+    a = 0;
+    e = s[b + 152 >> 1];
+    if (e) {
+     while (1) {
+      h = 1;
+      j = 0;
+      d = q[b + 156 >> 2];
+      u = p << 4;
+      f = q[d + u >> 2];
+      e : {
+       if ((f | 0) != 1668707360) {
+        f : {
+         if ((f | 0) != 1886545264) {
+          if ((f | 0) != 1718642541) {
+           break e;
+          }
+          j = 1;
+          break f;
+         }
+         j = 2;
+        }
+        h = a;
+       }
+       f = 0;
+       a = 0;
+       while (1) {
+        d = d + u | 0;
+        v = w(f, 24) + (j << 3) | 0;
+        if (q[d + 12 >> 2] == q[v + 5780 >> 2]) {
+         g : {
+          if (a) {
+           break g;
+          }
+          e = q[b + 516 >> 2];
+          if (!e) {
+           a = 0;
+           break g;
+          }
+          a = 0;
+          if (n[e](b, q[d >> 2], q[b + 104 >> 2], 0)) {
+           break g;
+          }
+          d = q[b + 104 >> 2];
+          e = q[(u + q[b + 156 >> 2] | 0) + 12 >> 2];
+          if (Kg(d, e)) {
+           break g;
+          }
+          if (e >>> 0 > 3) {
+           while (1) {
+            a = Rg(d) + a | 0;
+            e = e + -4 | 0;
+            if (e >>> 0 > 3) {
+             continue;
+            }
+            break;
+           }
+          }
+          k = 3;
+          if (e) {
+           while (1) {
+            a = ((Og(d) & 255) << (k << 3)) + a | 0;
+            k = k + -1 | 0;
+            e = e + -1 | 0;
+            if (e) {
+             continue;
+            }
+            break;
+           }
+          }
+          Ng(d);
+         }
+         d = m + (f << 2) | 0;
+         e = q[d >> 2];
+         if (q[v + 5776 >> 2] == (a | 0)) {
+          e = e + 1 | 0;
+          q[d >> 2] = e;
+         }
+         if ((e | 0) == 3) {
+          break d;
+         }
+        }
+        f = f + 1 | 0;
+        if ((f | 0) != 29) {
+         d = q[b + 156 >> 2];
+         continue;
+        }
+        break;
+       }
+       e = s[b + 152 >> 1];
+       a = h;
+      }
+      p = p + 1 | 0;
+      if (p >>> 0 < (e & 65535) >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    a = a & 255;
+    while (1) {
+     d = m + (l << 2) | 0;
+     f = q[d >> 2];
+     if (!(l + -16 >>> 0 > 11 | a)) {
+      f = f + 1 | 0;
+      q[d >> 2] = f;
+     }
+     if ((f | 0) == 3) {
+      break d;
+     }
+     l = l + 1 | 0;
+     if ((l | 0) != 29) {
+      continue;
+     }
+     break;
+    }
+    break c;
+   }
+   q[b + 8 >> 2] = q[b + 8 >> 2] | 8192;
+  }
+  k = q[i + 28 >> 2];
+  a = n[q[b + 516 >> 2]](b, 1751412088, i, g + 124 | 0) | 0;
+  q[g >> 2] = a;
+  h : {
+   if (a) {
+    break h;
+   }
+   a = q[g + 124 >> 2];
+   if (a >>> 0 <= 7) {
+    break h;
+   }
+   j = b + 768 | 0;
+   f = Jg(i, a, j);
+   q[g >> 2] = f;
+   if (f) {
+    break a;
+   }
+   i : {
+    j : {
+     k : {
+      e = q[j >> 2];
+      d = r[e + 2 | 0] << 8 | r[e + 3 | 0];
+      if (d >>> 0 <= 255) {
+       l = q[g + 124 >> 2];
+       a = r[e + 4 | 0] | r[e + 5 | 0] << 8 | (r[e + 6 | 0] << 16 | r[e + 7 | 0] << 24);
+       a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+       h = a >>> 0 > 4294901759 ? a & 65535 : a;
+       if (!d | h + -4 >>> 0 < 65534) {
+        break k;
+       }
+      }
+      q[g >> 2] = 3;
+      break j;
+     }
+     f = 0;
+     x = b, y = Te(k, 1, 0, d, 0, g), q[x + 784 >> 2] = y;
+     if (q[g >> 2]) {
+      break j;
+     }
+     l : {
+      if (!d) {
+       break l;
+      }
+      a = e + 8 | 0;
+      j = e + l | 0;
+      while (1) {
+       e = a + h | 0;
+       if (e >>> 0 > j >>> 0) {
+        break l;
+       }
+       o[q[b + 784 >> 2] + f | 0] = r[a | 0];
+       a = e;
+       f = f + 1 | 0;
+       if ((d | 0) != (f | 0)) {
+        continue;
+       }
+       break;
+      }
+      f = d;
+     }
+     q[b + 776 >> 2] = f;
+     a = q[g + 124 >> 2];
+     q[b + 780 >> 2] = h;
+     q[b + 772 >> 2] = a;
+     break i;
+    }
+    Lg(i, j);
+    q[b + 772 >> 2] = 0;
+   }
+   f = q[g >> 2];
+   if (f) {
+    break a;
+   }
+  }
+  f = 0;
+  m : {
+   if (!(o[b + 8 | 0] & 1)) {
+    break m;
+   }
+   if (!q[q[b + 128 >> 2] + 52 >> 2]) {
+    a = b;
+    j = b + 724 | 0;
+    f = n[q[b + 516 >> 2]](b, 1735162214, i, j) | 0;
+    n : {
+     o : {
+      if ((f & 255) == 142) {
+       q[j >> 2] = 0;
+       d = 0;
+       break o;
+      }
+      if (f) {
+       break n;
+      }
+      d = 0;
+      if (q[q[b + 128 >> 2] + 52 >> 2]) {
+       break o;
+      }
+      d = q[i + 8 >> 2];
+     }
+     q[a + 728 >> 2] = d;
+     f = 144;
+     if (n[q[b + 516 >> 2]](b, 1819239265, i, g)) {
+      break n;
+     }
+     h = q[g >> 2];
+     p : {
+      if (s[b + 210 >> 1]) {
+       if (h >>> 0 >= 262144) {
+        q[g >> 2] = 262143;
+        h = 262143;
+       }
+       f = h >>> 2 | 0;
+       q[b + 760 >> 2] = f;
+       d = 2;
+       break p;
+      }
+      if (h >>> 0 >= 131072) {
+       q[g >> 2] = 131071;
+       h = 131071;
+      }
+      f = h >>> 1 | 0;
+      q[b + 760 >> 2] = f;
+      d = 1;
+     }
+     a = q[b + 16 >> 2];
+     q : {
+      if (f >>> 0 > a >>> 0) {
+       break q;
+      }
+      e = a + 1 | 0;
+      if ((e | 0) == (f | 0)) {
+       break q;
+      }
+      a = q[b + 156 >> 2];
+      h = e << d;
+      d = q[i + 8 >> 2];
+      e = s[b + 152 >> 1];
+      r : {
+       if (e) {
+        l = (e << 4) + a | 0;
+        f = 2147483647;
+        e = 0;
+        while (1) {
+         k = q[a + 8 >> 2] - d | 0;
+         m = (k | 0) > 0 & (k | 0) < (f | 0);
+         e = m ? 1 : e;
+         f = m ? k : f;
+         a = a + 16 | 0;
+         if (a >>> 0 < l >>> 0) {
+          continue;
+         }
+         break;
+        }
+        if (e & 255) {
+         break r;
+        }
+       }
+       f = q[i + 4 >> 2] - d | 0;
+      }
+      if (h >>> 0 <= f >>> 0) {
+       q[b + 760 >> 2] = q[b + 16 >> 2] + 1;
+       q[g >> 2] = h;
+       break q;
+      }
+      a = q[b + 760 >> 2];
+      q[b + 16 >> 2] = a ? a + -1 | 0 : 0;
+      h = q[g >> 2];
+     }
+     f = Jg(i, h, b + 764 | 0);
+    }
+    if (!(!q[j >> 2] | (f & 255) != 142) | f) {
+     break a;
+    }
+   }
+   f = sh(b, i);
+   if ((f & 255) != 142 ? f : 0) {
+    break a;
+   }
+   s : {
+    if (n[q[b + 516 >> 2]](b, 1718642541, i, g)) {
+     q[b + 684 >> 2] = 0;
+     q[b + 688 >> 2] = 0;
+     break s;
+    }
+    a = q[g >> 2];
+    q[b + 684 >> 2] = a;
+    f = Jg(i, a, b + 688 | 0);
+    if (!f) {
+     break s;
+    }
+    if ((f & 255) != 142) {
+     break a;
+    }
+   }
+   t : {
+    if (n[q[b + 516 >> 2]](b, 1886545264, i, g)) {
+     q[b + 692 >> 2] = 0;
+     q[b + 696 >> 2] = 0;
+     f = 0;
+     break t;
+    }
+    a = q[g >> 2];
+    q[b + 692 >> 2] = a;
+    f = Jg(i, a, b + 696 | 0);
+    if (!f) {
+     break t;
+    }
+    if ((f & 255) != 142) {
+     break a;
+    }
+   }
+   if (q[q[b + 128 >> 2] + 52 >> 2] | !q[b + 28 >> 2] | (!q[b + 764 >> 2] | !q[b + 760 >> 2])) {
+    break m;
+   }
+   d = 0;
+   e = 0;
+   a = 0;
+   while (1) {
+    th(b, a, g + 124 | 0);
+    if (q[g + 124 >> 2]) {
+     e = a;
+     d = d + 1 | 0;
+     if (d >>> 0 > 1) {
+      break m;
+     }
+    }
+    a = a + 1 | 0;
+    if (a >>> 0 < t[b + 760 >> 2]) {
+     continue;
+    }
+    break;
+   }
+   if ((d | 0) != 1) {
+    break m;
+   }
+   if (e) {
+    if (ag(b, e, g, 8) | r[g | 0] != 46 | ((r[g | 0] | r[g + 1 | 0] << 8 | (r[g + 2 | 0] << 16 | r[g + 3 | 0] << 24)) != 1953459758 | (r[g + 4 | 0] | r[g + 5 | 0] << 8 | (r[g + 6 | 0] << 16 | r[g + 7 | 0] << 24)) != 6710628)) {
+     break m;
+    }
+   }
+   q[b + 8 >> 2] = q[b + 8 >> 2] & -2;
+  }
+  a = c >>> 16 | 0;
+  if (!(!a | !(q[b + 8 >> 2] & 256))) {
+   f = uh(b, a);
+   if (f) {
+    break a;
+   }
+   vh(b);
+   f = 0;
+  }
+  q[b + 528 >> 2] = 23;
+  q[b + 536 >> 2] = 24;
+  q[b + 532 >> 2] = 25;
+  q[b + 520 >> 2] = 26;
+  q[b + 524 >> 2] = 27;
+ }
+ Ca = g + 128 | 0;
+ return f | 0;
+}
+function eE(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ g = q[c + 88 >> 2];
+ h = 39;
+ f = 1;
+ b = 0;
+ a = 0;
+ i = q[c + 76 >> 2];
+ d = 0;
+ a : {
+  if (i) {
+   break a;
+  }
+  d = 1;
+ }
+ while (1) {
+  b : {
+   c : {
+    d : {
+     if (!d) {
+      j = h << 1;
+      l = p[j + 265760 >> 1] + 264400 | 0;
+      d = o[h + 266048 | 0];
+      b = r[h + 266800 | 0] == 10 ? a : b;
+      h = r[(g + w(a, 20) | 0) + 18 | 0];
+      m = r[j + 264112 | 0];
+      if (h >>> 0 >= m >>> 0) {
+       d = h >>> 0 > r[j + 264113 | 0] ? d : h - m | 0;
+      }
+      d = r[d + l | 0];
+      break d;
+     }
+     if ((h | 0) == 39) {
+      break c;
+     }
+     a = i;
+     d = p[(h << 1) + 266512 >> 1] + -1 | 0;
+    }
+    h = r[d + 266192 | 0];
+    d = o[d + 266352 | 0];
+    e : {
+     if (!d) {
+      break e;
+     }
+     d = d + -1 | 0;
+     if (d >>> 0 > 18) {
+      break e;
+     }
+     f : {
+      g : {
+       switch (d - 1 | 0) {
+       case 0:
+        e = a + 1 | 0;
+        break e;
+       case 9:
+        e = a + 1 | 0;
+        if (b >>> 0 < e >>> 0) {
+         j = f << 4 | 5;
+         d = b;
+         while (1) {
+          o[(g + w(d, 20) | 0) + 15 | 0] = j;
+          l = (a | 0) == (d | 0);
+          d = d + 1 | 0;
+          if (!l) {
+           continue;
+          }
+          break;
+         }
+        }
+        d = f + 1 | 0;
+        f = (d | 0) == 16 ? 1 : d;
+        break e;
+       case 11:
+        if (b >>> 0 < a >>> 0) {
+         d = f << 4;
+         e = b;
+         while (1) {
+          o[(g + w(e, 20) | 0) + 15 | 0] = d;
+          e = e + 1 | 0;
+          if ((e | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        e = f + 1 | 0;
+        f = (e | 0) == 16 ? 1 : e;
+        e = a;
+        a = a + -1 | 0;
+        break e;
+       case 12:
+        if (b >>> 0 < a >>> 0) {
+         d = f << 4 | 1;
+         e = b;
+         while (1) {
+          o[(g + w(e, 20) | 0) + 15 | 0] = d;
+          e = e + 1 | 0;
+          if ((e | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        e = f + 1 | 0;
+        f = (e | 0) == 16 ? 1 : e;
+        e = a;
+        a = a + -1 | 0;
+        break e;
+       case 15:
+        if (b >>> 0 < a >>> 0) {
+         d = f << 4 | 2;
+         e = b;
+         while (1) {
+          o[(g + w(e, 20) | 0) + 15 | 0] = d;
+          e = e + 1 | 0;
+          if ((e | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        e = f + 1 | 0;
+        f = (e | 0) == 16 ? 1 : e;
+        e = a;
+        a = a + -1 | 0;
+        break e;
+       case 17:
+        if (b >>> 0 < a >>> 0) {
+         d = f << 4 | 3;
+         e = b;
+         while (1) {
+          o[(g + w(e, 20) | 0) + 15 | 0] = d;
+          e = e + 1 | 0;
+          if ((e | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        e = f + 1 | 0;
+        f = (e | 0) == 16 ? 1 : e;
+        e = a;
+        a = a + -1 | 0;
+        break e;
+       case 13:
+        if (b >>> 0 < a >>> 0) {
+         d = f << 4 | 4;
+         e = b;
+         while (1) {
+          o[(g + w(e, 20) | 0) + 15 | 0] = d;
+          e = e + 1 | 0;
+          if ((e | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        e = f + 1 | 0;
+        f = (e | 0) == 16 ? 1 : e;
+        e = a;
+        a = a + -1 | 0;
+        break e;
+       case 14:
+        if (b >>> 0 < a >>> 0) {
+         d = f << 4 | 5;
+         e = b;
+         while (1) {
+          o[(g + w(e, 20) | 0) + 15 | 0] = d;
+          e = e + 1 | 0;
+          if ((e | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        e = f + 1 | 0;
+        f = (e | 0) == 16 ? 1 : e;
+        e = a;
+        a = a + -1 | 0;
+        break e;
+       default:
+        if (b >>> 0 < e >>> 0) {
+         d = f << 4;
+         a = b;
+         while (1) {
+          o[(g + w(a, 20) | 0) + 15 | 0] = d;
+          a = a + 1 | 0;
+          if ((e | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        a = e + -1 | 0;
+        d = f + 1 | 0;
+        f = (d | 0) == 16 ? 1 : d;
+        break e;
+       case 1:
+        if (b >>> 0 < e >>> 0) {
+         d = f << 4 | 1;
+         a = b;
+         while (1) {
+          o[(g + w(a, 20) | 0) + 15 | 0] = d;
+          a = a + 1 | 0;
+          if ((e | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        a = e + -1 | 0;
+        d = f + 1 | 0;
+        f = (d | 0) == 16 ? 1 : d;
+        break e;
+       case 5:
+        if (b >>> 0 < e >>> 0) {
+         d = f << 4 | 2;
+         a = b;
+         while (1) {
+          o[(g + w(a, 20) | 0) + 15 | 0] = d;
+          a = a + 1 | 0;
+          if ((e | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        a = e + -1 | 0;
+        d = f + 1 | 0;
+        f = (d | 0) == 16 ? 1 : d;
+        break e;
+       case 6:
+        if (b >>> 0 < e >>> 0) {
+         d = f << 4 | 3;
+         a = b;
+         while (1) {
+          o[(g + w(a, 20) | 0) + 15 | 0] = d;
+          a = a + 1 | 0;
+          if ((e | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        a = e + -1 | 0;
+        d = f + 1 | 0;
+        f = (d | 0) == 16 ? 1 : d;
+        break e;
+       case 2:
+        if (b >>> 0 < e >>> 0) {
+         d = f << 4 | 4;
+         a = b;
+         while (1) {
+          o[(g + w(a, 20) | 0) + 15 | 0] = d;
+          a = a + 1 | 0;
+          if ((e | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        a = e + -1 | 0;
+        d = f + 1 | 0;
+        f = (d | 0) == 16 ? 1 : d;
+        break e;
+       case 4:
+        d = k + -1 | 0;
+        if (d >>> 0 > 5) {
+         break e;
+        }
+        h : {
+         switch (d - 1 | 0) {
+         default:
+          if (b >>> 0 < e >>> 0) {
+           d = f << 4;
+           a = b;
+           while (1) {
+            o[(g + w(a, 20) | 0) + 15 | 0] = d;
+            a = a + 1 | 0;
+            if ((e | 0) != (a | 0)) {
+             continue;
+            }
+            break;
+           }
+          }
+          a = e + -1 | 0;
+          k = 1;
+          d = f + 1 | 0;
+          f = (d | 0) == 16 ? 1 : d;
+          break e;
+         case 3:
+          if (b >>> 0 < e >>> 0) {
+           d = f << 4 | 4;
+           a = b;
+           while (1) {
+            o[(g + w(a, 20) | 0) + 15 | 0] = d;
+            a = a + 1 | 0;
+            if ((e | 0) != (a | 0)) {
+             continue;
+            }
+            break;
+           }
+          }
+          a = e + -1 | 0;
+          d = f + 1 | 0;
+          f = (d | 0) == 16 ? 1 : d;
+          k = 5;
+          break e;
+         case 4:
+          break h;
+         case 0:
+         case 1:
+         case 2:
+          break e;
+         }
+        }
+        if (b >>> 0 < e >>> 0) {
+         d = f << 4 | 5;
+         a = b;
+         while (1) {
+          o[(g + w(a, 20) | 0) + 15 | 0] = d;
+          a = a + 1 | 0;
+          if ((e | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        a = e + -1 | 0;
+        d = f + 1 | 0;
+        f = (d | 0) == 16 ? 1 : d;
+        break f;
+       case 16:
+        k = 1;
+        e = a + 1 | 0;
+        break e;
+       case 3:
+        e = a + 1 | 0;
+        k = 5;
+        break e;
+       case 10:
+        break g;
+       case 7:
+       case 8:
+        break e;
+       }
+      }
+      e = a + 1 | 0;
+     }
+     k = 6;
+    }
+    b = r[h + 266944 | 0] == 9 ? 0 : b;
+    a = a + 1 | 0;
+    if ((i | 0) != (a | 0)) {
+     break b;
+    }
+    d = 1;
+    continue;
+   }
+   e = q[c + 76 >> 2];
+   if (e) {
+    b = e + -1 | 0;
+    a = 0;
+    d = q[c + 88 >> 2];
+    i = r[d + 15 | 0];
+    while (1) {
+     i : {
+      if ((a | 0) == (b | 0)) {
+       a = e;
+       break i;
+      }
+      a = a + 1 | 0;
+      if ((i | 0) == r[(d + w(a, 20) | 0) + 15 | 0]) {
+       continue;
+      }
+     }
+     break;
+    }
+    i = 0;
+    d = e;
+    while (1) {
+     b = a;
+     if (a - i >>> 0 >= 2) {
+      DG(c, i, b);
+      d = q[c + 76 >> 2];
+     }
+     a = b + 1 | 0;
+     i = d >>> 0 > a >>> 0 ? d : a;
+     f = i + -1 | 0;
+     g = q[c + 88 >> 2];
+     h = r[(g + w(b, 20) | 0) + 15 | 0];
+     a = b;
+     while (1) {
+      j : {
+       if ((a | 0) == (f | 0)) {
+        a = i;
+        break j;
+       }
+       a = a + 1 | 0;
+       if ((h | 0) == r[(g + w(a, 20) | 0) + 15 | 0]) {
+        continue;
+       }
+      }
+      break;
+     }
+     i = b;
+     if (b >>> 0 < e >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   return;
+  }
+  d = 0;
+  continue;
+ }
+}
+function w$(a, b, c, d, e, f, g, h, i) {
+ var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0;
+ n = Ca - 96 | 0;
+ Ca = n;
+ p = c;
+ k = g;
+ u = (k & 131071) << 15 | f >>> 17;
+ j = i & 65535;
+ w = j;
+ s = h;
+ k = h;
+ B = k << 15 | g >>> 17;
+ o = (e ^ i) & -2147483648;
+ k = e & 65535;
+ m = k;
+ r = d;
+ E = k;
+ k = j;
+ C = (k & 131071) << 15 | h >>> 17;
+ N = i >>> 16 & 32767;
+ O = e >>> 16 & 32767;
+ a : {
+  b : {
+   if (O + -1 >>> 0 <= 32765) {
+    v = 0;
+    if (N + -1 >>> 0 < 32766) {
+     break b;
+    }
+   }
+   x = e & 2147483647;
+   j = x;
+   k = d;
+   if (!(!d & (j | 0) == 2147418112 ? !(b | c) : (j | 0) == 2147418112 & d >>> 0 < 0 | j >>> 0 < 2147418112)) {
+    y = d;
+    o = e | 32768;
+    break a;
+   }
+   x = i & 2147483647;
+   e = x;
+   d = h;
+   if (!(!d & (e | 0) == 2147418112 ? !(f | g) : (e | 0) == 2147418112 & d >>> 0 < 0 | e >>> 0 < 2147418112)) {
+    y = h;
+    o = i | 32768;
+    b = f;
+    c = g;
+    break a;
+   }
+   if (!(b | k | (j ^ 2147418112 | c))) {
+    if (!(d | f | (e | g))) {
+     o = 2147450880;
+     b = 0;
+     c = 0;
+     break a;
+    }
+    o = o | 2147418112;
+    b = 0;
+    c = 0;
+    break a;
+   }
+   if (!(d | f | (e ^ 2147418112 | g))) {
+    d = b | k;
+    e = c | j;
+    b = 0;
+    c = 0;
+    if (!(d | e)) {
+     o = 2147450880;
+     break a;
+    }
+    o = o | 2147418112;
+    break a;
+   }
+   if (!(b | k | (c | j))) {
+    b = 0;
+    c = 0;
+    break a;
+   }
+   if (!(d | f | (e | g))) {
+    b = 0;
+    c = 0;
+    break a;
+   }
+   if ((j | 0) == 65535 & k >>> 0 <= 4294967295 | j >>> 0 < 65535) {
+    j = b;
+    k = c;
+    h = !(m | r);
+    i = h << 6;
+    l = z(h ? b : r) + 32 | 0;
+    b = z(h ? c : m);
+    b = i + ((b | 0) == 32 ? l : b) | 0;
+    n$(n + 80 | 0, j, k, r, m, b + -15 | 0);
+    r = q[n + 88 >> 2];
+    p = q[n + 84 >> 2];
+    E = q[n + 92 >> 2];
+    l = 16 - b | 0;
+    b = q[n + 80 >> 2];
+   }
+   v = l;
+   if ((e | 0) == 65535 & d >>> 0 > 4294967295 | e >>> 0 > 65535) {
+    break b;
+   }
+   c = !(s | w);
+   d = c << 6;
+   e = z(c ? f : s) + 32 | 0;
+   c = z(c ? g : w);
+   c = d + ((c | 0) == 32 ? e : c) | 0;
+   h = c;
+   n$(n - -64 | 0, f, g, s, w, c + -15 | 0);
+   f = q[n + 76 >> 2];
+   c = f;
+   i = q[n + 68 >> 2];
+   g = i;
+   e = q[n + 72 >> 2];
+   d = e;
+   B = d << 15 | g >>> 17;
+   d = g;
+   f = q[n + 64 >> 2];
+   u = (d & 131071) << 15 | f >>> 17;
+   C = (c & 131071) << 15 | e >>> 17;
+   v = (l - h | 0) + 16 | 0;
+  }
+  d = u;
+  s = 0;
+  i = T0(d, 0, b, s);
+  c = Ea;
+  D = c;
+  A = f << 15 & -32768;
+  f = T0(A, 0, p, 0);
+  e = f + i | 0;
+  l = Ea + c | 0;
+  l = e >>> 0 < f >>> 0 ? l + 1 | 0 : l;
+  c = e;
+  f = 0;
+  g = T0(A, F, b, s);
+  e = f + g | 0;
+  j = Ea + c | 0;
+  j = e >>> 0 < g >>> 0 ? j + 1 | 0 : j;
+  u = e;
+  g = j;
+  X = (c | 0) == (j | 0) & e >>> 0 < f >>> 0 | j >>> 0 < c >>> 0;
+  Q = T0(d, G, p, P);
+  J = Ea;
+  x = r;
+  f = T0(A, F, r, 0);
+  e = f + Q | 0;
+  m = Ea + J | 0;
+  m = e >>> 0 < f >>> 0 ? m + 1 | 0 : m;
+  R = e;
+  h = T0(B, 0, b, s);
+  e = e + h | 0;
+  f = Ea + m | 0;
+  K = e;
+  f = e >>> 0 < h >>> 0 ? f + 1 | 0 : f;
+  w = f;
+  h = f;
+  f = (l | 0) == (D | 0) & c >>> 0 < i >>> 0 | l >>> 0 < D >>> 0;
+  e = l;
+  c = e + K | 0;
+  j = f + h | 0;
+  D = c;
+  j = c >>> 0 < e >>> 0 ? j + 1 | 0 : j;
+  e = j;
+  h = c;
+  T = T0(d, G, r, S);
+  L = Ea;
+  c = A;
+  H = E | 65536;
+  A = t;
+  f = T0(c, F, H, t);
+  c = f + T | 0;
+  j = Ea + L | 0;
+  j = c >>> 0 < f >>> 0 ? j + 1 | 0 : j;
+  U = c;
+  k = T0(p, P, B, V);
+  c = c + k | 0;
+  t = j;
+  f = j + Ea | 0;
+  f = c >>> 0 < k >>> 0 ? f + 1 | 0 : f;
+  M = c;
+  I = C & 2147483647 | -2147483648;
+  c = T0(I, 0, b, s);
+  b = M + c | 0;
+  s = f;
+  k = f + Ea | 0;
+  F = b;
+  c = b >>> 0 < c >>> 0 ? k + 1 | 0 : k;
+  j = e + b | 0;
+  f = 0;
+  b = f + h | 0;
+  if (b >>> 0 < f >>> 0) {
+   j = j + 1 | 0;
+  }
+  E = b;
+  C = j;
+  f = j;
+  h = b + X | 0;
+  if (h >>> 0 < b >>> 0) {
+   f = f + 1 | 0;
+  }
+  i = f;
+  r = (v + (N + O | 0) | 0) + -16383 | 0;
+  f = T0(x, S, B, V);
+  b = Ea;
+  l = 0;
+  k = T0(d, G, H, A);
+  d = k + f | 0;
+  j = Ea + b | 0;
+  j = d >>> 0 < k >>> 0 ? j + 1 | 0 : j;
+  v = d;
+  k = d;
+  d = j;
+  j = (b | 0) == (d | 0) & k >>> 0 < f >>> 0 | d >>> 0 < b >>> 0;
+  f = T0(I, W, p, P);
+  b = f + k | 0;
+  k = Ea + d | 0;
+  k = b >>> 0 < f >>> 0 ? k + 1 | 0 : k;
+  p = b;
+  f = b;
+  b = k;
+  d = (d | 0) == (b | 0) & f >>> 0 < v >>> 0 | b >>> 0 < d >>> 0;
+  f = j + d | 0;
+  if (f >>> 0 < d >>> 0) {
+   l = 1;
+  }
+  k = f;
+  d = b;
+  f = l;
+  G = k;
+  j = 0;
+  k = (m | 0) == (w | 0) & K >>> 0 < R >>> 0 | w >>> 0 < m >>> 0;
+  m = k + ((m | 0) == (J | 0) & R >>> 0 < Q >>> 0 | m >>> 0 < J >>> 0) | 0;
+  if (m >>> 0 < k >>> 0) {
+   j = 1;
+  }
+  l = m;
+  m = m + p | 0;
+  k = d + j | 0;
+  v = m;
+  j = m;
+  k = j >>> 0 < l >>> 0 ? k + 1 | 0 : k;
+  d = k;
+  b = (b | 0) == (d | 0) & j >>> 0 < p >>> 0 | d >>> 0 < b >>> 0;
+  k = G + b | 0;
+  if (k >>> 0 < b >>> 0) {
+   f = f + 1 | 0;
+  }
+  b = k;
+  k = T0(I, W, H, A);
+  b = b + k | 0;
+  j = Ea + f | 0;
+  j = b >>> 0 < k >>> 0 ? j + 1 | 0 : j;
+  l = b;
+  m = T0(I, W, x, S);
+  f = Ea;
+  p = T0(B, V, H, A);
+  b = p + m | 0;
+  k = Ea + f | 0;
+  k = b >>> 0 < p >>> 0 ? k + 1 | 0 : k;
+  p = b;
+  b = k;
+  k = (f | 0) == (b | 0) & p >>> 0 < m >>> 0 | b >>> 0 < f >>> 0;
+  f = b + l | 0;
+  l = j + k | 0;
+  k = f >>> 0 < b >>> 0 ? l + 1 | 0 : l;
+  x = f;
+  j = d + p | 0;
+  l = 0;
+  b = l + v | 0;
+  if (b >>> 0 < l >>> 0) {
+   j = j + 1 | 0;
+  }
+  m = b;
+  f = b;
+  b = j;
+  d = (d | 0) == (b | 0) & f >>> 0 < v >>> 0 | b >>> 0 < d >>> 0;
+  f = x + d | 0;
+  if (f >>> 0 < d >>> 0) {
+   k = k + 1 | 0;
+  }
+  p = f;
+  l = b;
+  j = 0;
+  f = (t | 0) == (s | 0) & M >>> 0 < U >>> 0 | s >>> 0 < t >>> 0;
+  t = f + ((t | 0) == (L | 0) & U >>> 0 < T >>> 0 | t >>> 0 < L >>> 0) | 0;
+  if (t >>> 0 < f >>> 0) {
+   j = 1;
+  }
+  f = t + ((c | 0) == (s | 0) & F >>> 0 < M >>> 0 | c >>> 0 < s >>> 0) | 0;
+  d = c;
+  c = d + m | 0;
+  l = f + l | 0;
+  l = c >>> 0 < d >>> 0 ? l + 1 | 0 : l;
+  t = c;
+  d = c;
+  c = l;
+  b = (b | 0) == (c | 0) & d >>> 0 < m >>> 0 | c >>> 0 < b >>> 0;
+  d = b + p | 0;
+  if (d >>> 0 < b >>> 0) {
+   k = k + 1 | 0;
+  }
+  b = c;
+  j = k;
+  k = d;
+  f = 0;
+  d = (e | 0) == (C | 0) & E >>> 0 < D >>> 0 | C >>> 0 < e >>> 0;
+  e = d + ((e | 0) == (w | 0) & D >>> 0 < K >>> 0 | e >>> 0 < w >>> 0) | 0;
+  if (e >>> 0 < d >>> 0) {
+   f = 1;
+  }
+  d = e + t | 0;
+  l = b + f | 0;
+  l = d >>> 0 < e >>> 0 ? l + 1 | 0 : l;
+  b = d;
+  e = l;
+  b = (c | 0) == (e | 0) & b >>> 0 < t >>> 0 | e >>> 0 < c >>> 0;
+  c = k + b | 0;
+  if (c >>> 0 < b >>> 0) {
+   j = j + 1 | 0;
+  }
+  b = c;
+  c = j;
+  c : {
+   if (c & 65536) {
+    r = r + 1 | 0;
+    break c;
+   }
+   m = g >>> 31 | 0;
+   j = c << 1 | b >>> 31;
+   b = b << 1 | e >>> 31;
+   c = j;
+   j = e << 1 | d >>> 31;
+   d = d << 1 | i >>> 31;
+   e = j;
+   k = u;
+   j = g << 1 | k >>> 31;
+   u = k << 1;
+   g = j;
+   k = i << 1 | h >>> 31;
+   h = h << 1 | m;
+   i = k;
+  }
+  if ((r | 0) >= 32767) {
+   o = o | 2147418112;
+   b = 0;
+   c = 0;
+   break a;
+  }
+  d : {
+   if ((r | 0) <= 0) {
+    f = 1 - r | 0;
+    if (f >>> 0 <= 127) {
+     k = r + 127 | 0;
+     n$(n + 48 | 0, u, g, h, i, k);
+     n$(n + 32 | 0, d, e, b, c, k);
+     v$(n + 16 | 0, u, g, h, i, f);
+     v$(n, d, e, b, c, f);
+     u = (q[n + 48 >> 2] | q[n + 56 >> 2]) != 0 | (q[n + 52 >> 2] | q[n + 60 >> 2]) != 0 | (q[n + 32 >> 2] | q[n + 16 >> 2]);
+     g = q[n + 36 >> 2] | q[n + 20 >> 2];
+     h = q[n + 40 >> 2] | q[n + 24 >> 2];
+     i = q[n + 44 >> 2] | q[n + 28 >> 2];
+     d = q[n >> 2];
+     e = q[n + 4 >> 2];
+     c = q[n + 12 >> 2];
+     b = q[n + 8 >> 2];
+     break d;
+    }
+    b = 0;
+    c = 0;
+    break a;
+   }
+   c = c & 65535 | r << 16;
+  }
+  y = b | y;
+  o = c | o;
+  if (!(!h & (i | 0) == -2147483648 ? !(g | u) : (i | 0) > -1 ? 1 : (i | 0) >= -1 ? h >>> 0 <= 4294967295 ? 0 : 1 : 0)) {
+   l = o;
+   m = e;
+   b = d + 1 | 0;
+   if (b >>> 0 < 1) {
+    m = m + 1 | 0;
+   }
+   c = m;
+   d = (e | 0) == (c | 0) & b >>> 0 < d >>> 0 | c >>> 0 < e >>> 0;
+   e = d + y | 0;
+   if (e >>> 0 < d >>> 0) {
+    l = l + 1 | 0;
+   }
+   y = e;
+   o = l;
+   break a;
+  }
+  if (h | u | (i ^ -2147483648 | g)) {
+   b = d;
+   c = e;
+   break a;
+  }
+  m = o;
+  j = e;
+  b = d & 1;
+  c = b + d | 0;
+  if (c >>> 0 < b >>> 0) {
+   j = j + 1 | 0;
+  }
+  b = c;
+  c = j;
+  d = (e | 0) == (c | 0) & b >>> 0 < d >>> 0 | c >>> 0 < e >>> 0;
+  e = d + y | 0;
+  if (e >>> 0 < d >>> 0) {
+   m = m + 1 | 0;
+  }
+  y = e;
+  o = m;
+ }
+ q[a >> 2] = b;
+ q[a + 4 >> 2] = c;
+ q[a + 8 >> 2] = y;
+ q[a + 12 >> 2] = o;
+ Ca = n + 96 | 0;
+}
+function Ms(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, G = 0, H = 0, I = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0;
+ a : {
+  b : {
+   if (r[a + 12 | 0] != 1) {
+    break b;
+   }
+   q[a + 16 >> 2] = -1;
+   c : {
+    d : {
+     c = q[a + 36 >> 2];
+     if (!c) {
+      break d;
+     }
+     d = q[b + 36 >> 2];
+     if (!d) {
+      break d;
+     }
+     k = q[b + 24 >> 2];
+     m = q[a + 24 >> 2];
+     p = q[67761];
+     g = q[67760];
+     l = g;
+     while (1) {
+      e : {
+       f : {
+        n = m >>> 0 > f >>> 0;
+        g : {
+         if (!n) {
+          q[160656] = g;
+          q[160657] = p;
+          i = l;
+          break g;
+         }
+         i = q[q[a + 28 >> 2] + (f << 3) >> 2];
+        }
+        o = k >>> 0 <= e >>> 0;
+        j = 271040;
+        h : {
+         if (o) {
+          break h;
+         }
+         j = q[b + 28 >> 2] + (e << 3) | 0;
+        }
+        i : {
+         if ((i | 0) == q[j >> 2]) {
+          e = e + 1 | 0;
+          break i;
+         }
+         j : {
+          if (!n) {
+           q[160656] = g;
+           q[160657] = p;
+           i = l;
+           break j;
+          }
+          i = q[q[a + 28 >> 2] + (f << 3) >> 2];
+         }
+         if (i >>> 0 >= t[(o ? 271040 : q[b + 28 >> 2] + (e << 3) | 0) >> 2]) {
+          break f;
+         }
+        }
+        f = f + 1 | 0;
+        h = h + 1 | 0;
+        break e;
+       }
+       e = e + 1 | 0;
+      }
+      if (e >>> 0 < d >>> 0 ? c >>> 0 > f >>> 0 : 0) {
+       continue;
+      }
+      break;
+     }
+     l = (c - f | 0) + h | 0;
+     if (!Ls(a, l)) {
+      break b;
+     }
+     f = q[67761];
+     k = f;
+     p = f;
+     j = q[67760];
+     i = j;
+     h = l;
+     while (1) {
+      n = q[a + 24 >> 2];
+      f = c + -1 | 0;
+      m = n >>> 0 > f >>> 0;
+      k : {
+       if (!m) {
+        q[160656] = j;
+        q[160657] = k;
+        e = i;
+        break k;
+       }
+       e = q[q[a + 28 >> 2] + (f << 3) >> 2];
+      }
+      g = e;
+      e = d + -1 | 0;
+      s = t[b + 24 >> 2] <= e >>> 0;
+      o = 271040;
+      l : {
+       if (s) {
+        break l;
+       }
+       o = q[b + 28 >> 2] + (e << 3) | 0;
+      }
+      m : {
+       if ((g | 0) == q[o >> 2]) {
+        h = h + -1 | 0;
+        n : {
+         if (!m) {
+          q[160656] = j;
+          q[160657] = k;
+          c = 642624;
+          break n;
+         }
+         c = q[a + 28 >> 2] + (f << 3) | 0;
+        }
+        o : {
+         if (n >>> 0 <= h >>> 0) {
+          q[160656] = j;
+          q[160657] = k;
+          d = 642624;
+          break o;
+         }
+         d = q[a + 28 >> 2] + (h << 3) | 0;
+        }
+        g = q[c + 4 >> 2];
+        q[d >> 2] = q[c >> 2];
+        q[d + 4 >> 2] = g;
+        p : {
+         if (t[a + 24 >> 2] <= f >>> 0) {
+          q[160656] = j;
+          q[160657] = k;
+          c = p;
+          break p;
+         }
+         c = q[(q[a + 28 >> 2] + (f << 3) | 0) + 4 >> 2];
+        }
+        q : {
+         if (t[a + 36 >> 2] <= c >>> 0) {
+          c = q[67775];
+          q[160670] = q[67774];
+          q[160671] = c;
+          c = q[67773];
+          q[160668] = q[67772];
+          q[160669] = c;
+          c = q[67771];
+          q[160666] = q[67770];
+          q[160667] = c;
+          c = q[67769];
+          q[160664] = q[67768];
+          q[160665] = c;
+          c = q[67767];
+          q[160662] = q[67766];
+          q[160663] = c;
+          c = q[67765];
+          q[160660] = q[67764];
+          q[160661] = c;
+          c = q[67763];
+          q[160658] = q[67762];
+          q[160659] = c;
+          q[160656] = j;
+          q[160657] = k;
+          d = 642624;
+          break q;
+         }
+         d = q[a + 40 >> 2] + (c << 6) | 0;
+        }
+        c = 271040;
+        g = q[(t[b + 24 >> 2] > e >>> 0 ? q[b + 28 >> 2] + (e << 3) | 0 : 271040) + 4 >> 2];
+        if (t[b + 36 >> 2] > g >>> 0) {
+         c = q[b + 40 >> 2] + (g << 6) | 0;
+        }
+        g = q[c + 56 >> 2] ^ -1;
+        m = q[c + 60 >> 2] ^ -1;
+        n = q[d + 56 >> 2];
+        o = q[d + 60 >> 2];
+        s = q[c + 48 >> 2] ^ -1;
+        u = q[c + 52 >> 2] ^ -1;
+        v = q[d + 48 >> 2];
+        w = q[d + 52 >> 2];
+        x = q[c + 40 >> 2] ^ -1;
+        y = q[c + 44 >> 2] ^ -1;
+        z = q[d + 40 >> 2];
+        A = q[d + 44 >> 2];
+        B = q[c + 32 >> 2] ^ -1;
+        C = q[c + 36 >> 2] ^ -1;
+        D = q[d + 32 >> 2];
+        E = q[d + 36 >> 2];
+        G = q[c + 24 >> 2] ^ -1;
+        H = q[c + 28 >> 2] ^ -1;
+        I = q[d + 24 >> 2];
+        K = q[d + 28 >> 2];
+        L = q[c + 16 >> 2] ^ -1;
+        M = q[c + 20 >> 2] ^ -1;
+        N = q[d + 16 >> 2];
+        O = q[d + 20 >> 2];
+        P = q[c + 8 >> 2] ^ -1;
+        Q = q[c + 12 >> 2] ^ -1;
+        R = q[d + 8 >> 2];
+        S = q[d + 12 >> 2];
+        T = q[c >> 2] ^ -1;
+        U = q[c + 4 >> 2] ^ -1;
+        V = q[d >> 2];
+        d = q[d + 4 >> 2];
+        r : {
+         if (t[a + 24 >> 2] <= h >>> 0) {
+          q[160656] = j;
+          q[160657] = k;
+          c = p;
+          break r;
+         }
+         c = q[(q[a + 28 >> 2] + (h << 3) | 0) + 4 >> 2];
+        }
+        g = g & n;
+        m = m & o;
+        n = s & v;
+        o = u & w;
+        s = x & z;
+        u = y & A;
+        v = B & D;
+        w = C & E;
+        x = G & I;
+        y = H & K;
+        z = L & N;
+        A = M & O;
+        B = P & R;
+        C = Q & S;
+        D = T & V;
+        d = d & U;
+        s : {
+         if (t[a + 36 >> 2] <= c >>> 0) {
+          c = q[67775];
+          q[160670] = q[67774];
+          q[160671] = c;
+          c = q[67773];
+          q[160668] = q[67772];
+          q[160669] = c;
+          c = q[67771];
+          q[160666] = q[67770];
+          q[160667] = c;
+          c = q[67769];
+          q[160664] = q[67768];
+          q[160665] = c;
+          c = q[67767];
+          q[160662] = q[67766];
+          q[160663] = c;
+          c = q[67765];
+          q[160660] = q[67764];
+          q[160661] = c;
+          c = q[67763];
+          q[160658] = q[67762];
+          q[160659] = c;
+          q[160656] = j;
+          q[160657] = k;
+          c = 642624;
+          break s;
+         }
+         c = q[a + 40 >> 2] + (c << 6) | 0;
+        }
+        q[c + 56 >> 2] = g;
+        q[c + 60 >> 2] = m;
+        q[c + 48 >> 2] = n;
+        q[c + 52 >> 2] = o;
+        q[c + 40 >> 2] = s;
+        q[c + 44 >> 2] = u;
+        q[c + 32 >> 2] = v;
+        q[c + 36 >> 2] = w;
+        q[c + 24 >> 2] = x;
+        q[c + 28 >> 2] = y;
+        q[c + 16 >> 2] = z;
+        q[c + 20 >> 2] = A;
+        q[c + 8 >> 2] = B;
+        q[c + 12 >> 2] = C;
+        q[c >> 2] = D;
+        q[c + 4 >> 2] = d;
+        break m;
+       }
+       t : {
+        if (!m) {
+         q[160656] = j;
+         q[160657] = k;
+         g = i;
+         break t;
+        }
+        g = q[q[a + 28 >> 2] + (f << 3) >> 2];
+       }
+       if (g >>> 0 <= t[(s ? 271040 : q[b + 28 >> 2] + (e << 3) | 0) >> 2]) {
+        f = c;
+        break m;
+       }
+       h = h + -1 | 0;
+       u : {
+        if (!m) {
+         q[160656] = j;
+         q[160657] = k;
+         c = 642624;
+         break u;
+        }
+        c = q[a + 28 >> 2] + (f << 3) | 0;
+       }
+       v : {
+        if (n >>> 0 <= h >>> 0) {
+         q[160656] = j;
+         q[160657] = k;
+         e = 642624;
+         break v;
+        }
+        e = q[a + 28 >> 2] + (h << 3) | 0;
+       }
+       g = q[c + 4 >> 2];
+       q[e >> 2] = q[c >> 2];
+       q[e + 4 >> 2] = g;
+       e = d;
+      }
+      if (!f) {
+       c = l;
+       break c;
+      }
+      c = f;
+      d = e;
+      if (d) {
+       continue;
+      }
+      break;
+     }
+     c = l;
+     break c;
+    }
+    f = c;
+    h = c;
+    if (!Ls(a, c)) {
+     break b;
+    }
+   }
+   if (f) {
+    d = q[67760];
+    p = q[67761];
+    e = h;
+    b = f;
+    while (1) {
+     e = e + -1 | 0;
+     i = q[a + 24 >> 2];
+     b = b + -1 | 0;
+     w : {
+      if (i >>> 0 <= b >>> 0) {
+       q[160656] = d;
+       q[160657] = p;
+       l = 642624;
+       break w;
+      }
+      l = q[a + 28 >> 2] + (b << 3) | 0;
+     }
+     x : {
+      if (i >>> 0 <= e >>> 0) {
+       q[160656] = d;
+       q[160657] = p;
+       i = 642624;
+       break x;
+      }
+      i = q[a + 28 >> 2] + (e << 3) | 0;
+     }
+     g = q[l + 4 >> 2];
+     q[i >> 2] = q[l >> 2];
+     q[i + 4 >> 2] = g;
+     if (b) {
+      continue;
+     }
+     break;
+    }
+    h = h - f | 0;
+   }
+   if (h) {
+    break a;
+   }
+   if (t[a + 36 >> 2] <= c >>> 0) {
+    break b;
+   }
+   Ls(a, c);
+  }
+  return;
+ }
+ J(228324, 228331, 653, 228343);
+ F();
+}
+function xi(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, t = 0, u = 0, v = 0, x = 0, y = 0;
+ g = Ca - 48 | 0;
+ Ca = g;
+ q[g + 12 >> 2] = 0;
+ o[a + 733 | 0] = 0;
+ v = q[a + 100 >> 2];
+ a : {
+  b : {
+   i = q[a + 736 >> 2];
+   if (!i) {
+    f = zi(a, 0);
+    q[g + 12 >> 2] = f;
+    if (f) {
+     break a;
+    }
+    i = q[a + 736 >> 2];
+   }
+   u = q[i + 12 >> 2];
+   j = q[u >> 2];
+   b = j >>> 0 < b >>> 0 ? j : b;
+   if (!b) {
+    break b;
+   }
+   while (1) {
+    if (q[(e << 2) + c >> 2] + 65536 >>> 0 < 131073) {
+     e = e + 1 | 0;
+     if ((e | 0) != (b | 0)) {
+      continue;
+     }
+     break b;
+    }
+    break;
+   }
+   f = 6;
+   q[g + 12 >> 2] = 6;
+   break a;
+  }
+  if (!(r[a + 732 | 0] | q[i + 72 >> 2])) {
+   h = q[a + 104 >> 2];
+   k = q[h + 28 >> 2];
+   f = n[q[a + 516 >> 2]](a, 1735811442, h, g + 40 | 0) | 0;
+   q[g + 44 >> 2] = f;
+   c : {
+    if (f) {
+     break c;
+    }
+    j = q[h + 8 >> 2];
+    f = Xg(h, 5056, g + 16 | 0);
+    q[g + 44 >> 2] = f;
+    if (f) {
+     break c;
+    }
+    d : {
+     if (q[g + 16 >> 2] != 65536) {
+      break d;
+     }
+     e = s[g + 20 >> 1];
+     if ((e | 0) != s[q[i + 12 >> 2] >> 1]) {
+      break d;
+     }
+     t = w(e, s[g + 22 >> 1]);
+     e = q[g + 40 >> 2];
+     if (t >>> 0 > e >>> 1 >>> 0) {
+      break d;
+     }
+     f = w(s[g + 28 >> 1] + 1 | 0, o[g + 30 | 0] & 1 ? 4 : 2);
+     if (f >>> 0 > e >>> 0) {
+      break d;
+     }
+     q[i + 76 >> 2] = e;
+     e = q[g + 32 >> 2];
+     f = Kg(h, f);
+     q[g + 44 >> 2] = f;
+     if (f) {
+      break c;
+     }
+     f = 0;
+     x = i, y = Te(k, 4, 0, s[g + 28 >> 1] + 1 | 0, 0, g + 44 | 0), q[x + 72 >> 2] = y;
+     e : {
+      f : {
+       g : {
+        if (q[g + 44 >> 2]) {
+         break g;
+        }
+        m = e + j | 0;
+        e = j + q[g + 40 >> 2] | 0;
+        h : {
+         if (!(o[g + 30 | 0] & 1)) {
+          while (1) {
+           p = m + (Pg(h) << 1) | 0;
+           f = f >>> 0 > p >>> 0 ? f : p;
+           q[q[i + 72 >> 2] + (l << 2) >> 2] = e >>> 0 < f >>> 0 ? e : f;
+           p = s[g + 28 >> 1];
+           t = l >>> 0 < p >>> 0;
+           l = l + 1 | 0;
+           if (t) {
+            continue;
+           }
+           break;
+          }
+          break h;
+         }
+         while (1) {
+          p = Rg(h) + m | 0;
+          l = l >>> 0 > p >>> 0 ? l : p;
+          q[q[i + 72 >> 2] + (f << 2) >> 2] = e >>> 0 < l >>> 0 ? e : l;
+          p = s[g + 28 >> 1];
+          t = f >>> 0 < p >>> 0;
+          f = f + 1 | 0;
+          if (t) {
+           continue;
+          }
+          break;
+         }
+        }
+        q[i + 68 >> 2] = p;
+        Ng(h);
+        if (!s[g + 22 >> 1]) {
+         break e;
+        }
+        e = yg(h, j + q[g + 24 >> 2] | 0);
+        q[g + 44 >> 2] = e;
+        if (e) {
+         break f;
+        }
+        e = Kg(h, w(s[g + 22 >> 1], s[g + 20 >> 1]) << 1);
+        q[g + 44 >> 2] = e;
+        if (e) {
+         break f;
+        }
+        j = 0;
+        x = i, y = Te(k, 4, 0, w(s[g + 22 >> 1], s[g + 20 >> 1]), 0, g + 44 | 0), q[x + 64 >> 2] = y;
+        if (q[g + 44 >> 2]) {
+         break g;
+        }
+        e = s[g + 22 >> 1];
+        if (e) {
+         k = 0;
+         m = s[g + 20 >> 1];
+         j = e;
+         while (1) {
+          f = 0;
+          i : {
+           if (!(m & 65535)) {
+            m = 0;
+            break i;
+           }
+           while (1) {
+            e = Pg(h);
+            m = s[g + 20 >> 1];
+            q[q[i + 64 >> 2] + (w(k, m) + f << 2) >> 2] = e << 16 >> 16 << 2;
+            f = f + 1 | 0;
+            if (f >>> 0 < m >>> 0) {
+             continue;
+            }
+            break;
+           }
+           j = s[g + 22 >> 1];
+          }
+          k = k + 1 | 0;
+          if (k >>> 0 < (j & 65535) >>> 0) {
+           continue;
+          }
+          break;
+         }
+        }
+        q[i + 60 >> 2] = j & 65535;
+        Ng(h);
+        break e;
+       }
+       Ng(h);
+      }
+      Qe(k, q[i + 72 >> 2]);
+      q[i + 68 >> 2] = 0;
+      q[i + 72 >> 2] = 0;
+     }
+     f = q[g + 44 >> 2];
+     break c;
+    }
+    f = 8;
+    q[g + 44 >> 2] = 8;
+   }
+   q[g + 12 >> 2] = f;
+   if (f) {
+    break a;
+   }
+  }
+  p = 0;
+  if (!q[i + 4 >> 2]) {
+   x = i, y = Te(v, 4, 0, q[u >> 2], 0, g + 12 | 0), q[x + 4 >> 2] = y;
+   f = q[g + 12 >> 2];
+   if (f) {
+    break a;
+   }
+   p = 1;
+  }
+  j : {
+   k : {
+    l : {
+     m : {
+      n : {
+       l = q[i + 8 >> 2];
+       if (l) {
+        e = 0;
+        if (b) {
+         break n;
+        }
+        break m;
+       }
+       l = Te(v, 4, 0, q[u >> 2], 0, g + 12 | 0);
+       q[i + 8 >> 2] = l;
+       f = q[g + 12 >> 2];
+       if (f) {
+        break a;
+       }
+       j = q[u >> 2];
+       t = 1;
+       break k;
+      }
+      f = 1;
+      while (1) {
+       j = e << 2;
+       t = 2;
+       if (q[j + l >> 2] != q[c + j >> 2]) {
+        break l;
+       }
+       e = e + 1 | 0;
+       if ((e | 0) != (b | 0)) {
+        continue;
+       }
+       break;
+      }
+      e = b;
+     }
+     f = 0;
+     t = 0;
+    }
+    j = q[u >> 2];
+    k = q[a + 4 >> 2];
+    o : {
+     if (k & 2147418112) {
+      if (e >>> 0 >= j >>> 0) {
+       break o;
+      }
+      h = q[i + 20 >> 2] + (w((k >>> 16 | 0) + -1 | 0, j) << 2) | 0;
+      k = e << 2;
+      m = h + k | 0;
+      h = k + l | 0;
+      k = e;
+      while (1) {
+       f = q[h >> 2] == q[m >> 2] ? f : 1;
+       h = h + 4 | 0;
+       m = m + 4 | 0;
+       k = k + 1 | 0;
+       if ((k | 0) != (j | 0)) {
+        continue;
+       }
+       break;
+      }
+      break o;
+     }
+     if (e >>> 0 >= j >>> 0) {
+      break o;
+     }
+     m = (e << 2) + l | 0;
+     h = e;
+     while (1) {
+      f = q[m >> 2] ? 1 : f;
+      m = m + 4 | 0;
+      h = h + 1 | 0;
+      if (h >>> 0 < j >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (!(f & 255)) {
+     break j;
+    }
+    if (e >>> 0 >= j >>> 0) {
+     break k;
+    }
+    while (1) {
+     if (!q[(e << 2) + l >> 2]) {
+      e = e + 1 | 0;
+      if (e >>> 0 < j >>> 0) {
+       continue;
+      }
+      break k;
+     }
+     break;
+    }
+    t = 2;
+   }
+   q[i >> 2] = j;
+   Y$(l, c, b << 2);
+   p : {
+    if (!d) {
+     break p;
+    }
+    f = q[i + 4 >> 2];
+    c = q[a + 736 >> 2];
+    d = q[c >> 2];
+    b = p ? q[i >> 2] : b;
+    j = d >>> 0 < b >>> 0 ? d : b;
+    if (j) {
+     k = q[i + 8 >> 2];
+     e = 0;
+     while (1) {
+      h = e << 2;
+      q[h + f >> 2] = q[h + k >> 2];
+      e = e + 1 | 0;
+      if ((j | 0) != (e | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (d >>> 0 < b >>> 0) {
+     Z$(f + (j << 2) | 0, 0, b - j << 2);
+    }
+    q : {
+     if (!j) {
+      break q;
+     }
+     k = q[c + 28 >> 2];
+     if (!k) {
+      break q;
+     }
+     i = 0;
+     while (1) {
+      h = s[k >> 1];
+      r : {
+       if (h >>> 0 < 2) {
+        break r;
+       }
+       l = f + (i << 2) | 0;
+       b = q[l >> 2];
+       d = q[k + 4 >> 2];
+       e = 1;
+       while (1) {
+        m = e << 3;
+        p = m + d | 0;
+        u = q[p + 4 >> 2];
+        if ((b | 0) < (u | 0)) {
+         h = b;
+         b = m + -8 | 0;
+         d = b + d | 0;
+         e = q[d + 4 >> 2];
+         x = l, y = ue(h - e | 0, q[p >> 2] - q[d >> 2] | 0, u - e | 0) + q[b + q[k + 4 >> 2] >> 2] | 0, q[x >> 2] = y;
+         break r;
+        }
+        e = e + 1 | 0;
+        if ((h | 0) != (e | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      k = k + 8 | 0;
+      i = i + 1 | 0;
+      if ((j | 0) != (i | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (!j) {
+     break p;
+    }
+    b = q[q[c + 12 >> 2] + 12 >> 2];
+    c = 0;
+    while (1) {
+     i = f + (c << 2) | 0;
+     k = q[i >> 2];
+     s : {
+      t : {
+       if ((k | 0) <= -1) {
+        e = q[b + 4 >> 2];
+        h = q[b + 8 >> 2];
+        d = h;
+        break t;
+       }
+       e = q[b + 8 >> 2];
+       d = e;
+       if (!k) {
+        break s;
+       }
+       h = q[b + 12 >> 2];
+       d = e;
+      }
+      d = Ee(k, h - e | 0) + d | 0;
+     }
+     q[i >> 2] = d;
+     b = b + 24 | 0;
+     c = c + 1 | 0;
+     if ((j | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   o[a + 733 | 0] = 1;
+   b = q[a + 704 >> 2];
+   u : {
+    if (!b) {
+     break u;
+    }
+    c = t + -1 | 0;
+    if (c >>> 0 > 1) {
+     break u;
+    }
+    if (!(c - 1)) {
+     Qe(v, b);
+     q[a + 704 >> 2] = 0;
+     x = g, y = sh(a, q[a + 104 >> 2]), q[x + 12 >> 2] = y;
+     break u;
+    }
+    x = g, y = Ii(a, q[a + 104 >> 2]), q[x + 12 >> 2] = y;
+   }
+   Qe(v, q[a + 720 >> 2]);
+   q[a + 720 >> 2] = 0;
+   f = q[g + 12 >> 2];
+   break a;
+  }
+  o[a + 733 | 0] = 1;
+  f = -1;
+ }
+ Ca = g + 48 | 0;
+ return f;
+}
+function fE(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0;
+ g = Ca - 32 | 0;
+ Ca = g;
+ d = q[a + 112 >> 2];
+ i = q[d >> 2];
+ a : {
+  if (q[i + 12 >> 2] != 1) {
+   break a;
+  }
+  f = q[d + 8 >> 2];
+  q[g + 8 >> 2] = f;
+  if ((f | 0) == -1) {
+   e = d;
+   b : {
+    c : {
+     f = q[i + 8 >> 2];
+     if (!f) {
+      break c;
+     }
+     q[g + 8 >> 2] = 0;
+     i = f;
+     f = q[b + 72 >> 2];
+     if (!n[q[f + 156 >> 2]](b, q[b + 76 >> 2], i, g + 8 | 0, q[f + 20 >> 2])) {
+      break c;
+     }
+     f = q[g + 8 >> 2];
+     break b;
+    }
+    q[g + 8 >> 2] = 0;
+    f = 0;
+   }
+   q[e + 8 >> 2] = f;
+  }
+  if (!f) {
+   break a;
+  }
+  m = q[c + 76 >> 2];
+  if (!m) {
+   break a;
+  }
+  u = q[c + 88 >> 2];
+  i = q[b + 16 >> 2];
+  j = g + 12 | 0;
+  while (1) {
+   e = u + w(k, 20) | 0;
+   if (r[e + 19 | 0] == 4) {
+    v = e + 16 | 0;
+    e = q[e >> 2];
+    q[g + 16 >> 2] = f;
+    q[g + 12 >> 2] = e;
+    q[g + 8 >> 2] = f;
+    e = 0;
+    d : {
+     e : {
+      if (!q[d + 40 >> 2]) {
+       break e;
+      }
+      while (1) {
+       h = 8;
+       if (Ct(i, s[q[d + 36 >> 2] + (e << 3) >> 1], g + 8 | 0, 2, r[d + 44 | 0])) {
+        break d;
+       }
+       e = e + 1 | 0;
+       l = q[d + 40 >> 2];
+       if (e >>> 0 < l >>> 0) {
+        continue;
+       }
+       break;
+      }
+      e = 0;
+      if (!l) {
+       break e;
+      }
+      while (1) {
+       if (Ct(i, s[q[d + 36 >> 2] + (e << 3) >> 1], j, 2, r[d + 44 | 0])) {
+        break d;
+       }
+       e = e + 1 | 0;
+       if (e >>> 0 < t[d + 40 >> 2]) {
+        continue;
+       }
+       break;
+      }
+     }
+     e = 0;
+     f : {
+      if (!q[d + 64 >> 2]) {
+       break f;
+      }
+      while (1) {
+       h = 8;
+       if (Ct(i, s[q[d + 60 >> 2] + (e << 3) >> 1], g + 8 | 0, 2, r[d + 68 | 0])) {
+        break d;
+       }
+       e = e + 1 | 0;
+       l = q[d + 64 >> 2];
+       if (e >>> 0 < l >>> 0) {
+        continue;
+       }
+       break;
+      }
+      e = 0;
+      if (!l) {
+       break f;
+      }
+      while (1) {
+       if (Ct(i, s[q[d + 60 >> 2] + (e << 3) >> 1], j, 2, r[d + 68 | 0])) {
+        break d;
+       }
+       e = e + 1 | 0;
+       if (e >>> 0 < t[d + 64 >> 2]) {
+        continue;
+       }
+       break;
+      }
+     }
+     e = 0;
+     g : {
+      if (!q[d + 52 >> 2]) {
+       break g;
+      }
+      while (1) {
+       h = 11;
+       if (Ct(i, s[q[d + 48 >> 2] + (e << 3) >> 1], g + 8 | 0, 2, r[d + 56 | 0])) {
+        break d;
+       }
+       e = e + 1 | 0;
+       l = q[d + 52 >> 2];
+       if (e >>> 0 < l >>> 0) {
+        continue;
+       }
+       break;
+      }
+      e = 0;
+      if (!l) {
+       break g;
+      }
+      while (1) {
+       if (Ct(i, s[q[d + 48 >> 2] + (e << 3) >> 1], j, 2, r[d + 56 | 0])) {
+        break d;
+       }
+       e = e + 1 | 0;
+       if (e >>> 0 < t[d + 52 >> 2]) {
+        continue;
+       }
+       break;
+      }
+     }
+     e = 0;
+     h = 4;
+     if (!q[d + 28 >> 2]) {
+      break d;
+     }
+     h : {
+      while (1) {
+       if (Ct(i, s[q[d + 24 >> 2] + (e << 3) >> 1], g + 8 | 0, 2, r[d + 32 | 0])) {
+        break h;
+       }
+       e = e + 1 | 0;
+       l = q[d + 28 >> 2];
+       if (e >>> 0 < l >>> 0) {
+        continue;
+       }
+       break;
+      }
+      e = 0;
+      if (!l) {
+       break d;
+      }
+      while (1) {
+       if (Ct(i, s[q[d + 24 >> 2] + (e << 3) >> 1], j, 2, r[d + 32 | 0])) {
+        break h;
+       }
+       e = e + 1 | 0;
+       if (e >>> 0 < t[d + 28 >> 2]) {
+        continue;
+       }
+       break;
+      }
+      break d;
+     }
+     h = 11;
+    }
+    o[v + 3 | 0] = h;
+   }
+   k = k + 1 | 0;
+   if ((m | 0) != (k | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ i : {
+  if (r[c + 16 | 0] & 16) {
+   break i;
+  }
+  f = q[c + 76 >> 2];
+  if (!f) {
+   break i;
+  }
+  e = q[c + 88 >> 2];
+  d = 0;
+  while (1) {
+   if ((r[(e + w(d, 20) | 0) + 15 | 0] & 15) != 4) {
+    d = d + 1 | 0;
+    if ((f | 0) != (d | 0)) {
+     continue;
+    }
+    break i;
+   }
+   break;
+  }
+  q[g + 28 >> 2] = 0;
+  d = q[b + 72 >> 2];
+  if (!n[q[d + 156 >> 2]](b, q[b + 76 >> 2], 9676, g + 28 | 0, q[d + 20 >> 2])) {
+   break i;
+  }
+  j = g + 20 | 0;
+  d = j;
+  q[d >> 2] = 0;
+  q[d + 4 >> 2] = 0;
+  q[g + 12 >> 2] = 0;
+  q[g + 16 >> 2] = 0;
+  q[g + 8 >> 2] = 9676;
+  nE(g + 8 | 0);
+  m = q[g + 28 >> 2];
+  q[g + 8 >> 2] = m;
+  sG(c);
+  q[c + 72 >> 2] = 0;
+  h = q[c + 76 >> 2];
+  j : {
+   if (!h) {
+    break j;
+   }
+   u = q[g + 24 >> 2];
+   v = j + 2 | 0;
+   d = 0;
+   i = 0;
+   while (1) {
+    if (!r[c + 68 | 0]) {
+     break j;
+    }
+    e = q[c + 88 >> 2];
+    k = e + w(d, 20) | 0;
+    f = r[k + 15 | 0];
+    k : {
+     if (!((f | 0) == (i | 0) | (f & 15) != 4)) {
+      p[g + 4 >> 1] = s[j >> 1];
+      o[g + 6 | 0] = r[v | 0];
+      l = q[k + 4 >> 2];
+      k = q[k + 8 >> 2];
+      l : {
+       if (d >>> 0 >= h >>> 0) {
+        break l;
+       }
+       while (1) {
+        if (r[(w(d, 20) + e | 0) + 18 | 0] != 15) {
+         break l;
+        }
+        m : {
+         if (r[c + 69 | 0]) {
+          i = c;
+          n : {
+           if (q[c + 92 >> 2] == (e | 0)) {
+            e = d;
+            if (q[c + 80 >> 2] == (d | 0)) {
+             break n;
+            }
+           }
+           if (!pG(c, 1, 1)) {
+            d = q[c + 72 >> 2];
+            break m;
+           }
+           e = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+           h = q[e + 4 >> 2];
+           d = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+           q[d >> 2] = q[e >> 2];
+           q[d + 4 >> 2] = h;
+           q[d + 16 >> 2] = q[e + 16 >> 2];
+           h = q[e + 12 >> 2];
+           q[d + 8 >> 2] = q[e + 8 >> 2];
+           q[d + 12 >> 2] = h;
+           d = q[c + 72 >> 2];
+           e = q[c + 80 >> 2];
+          }
+          q[i + 80 >> 2] = e + 1;
+         }
+         d = d + 1 | 0;
+         q[c + 72 >> 2] = d;
+        }
+        if (!r[c + 68 | 0] | d >>> 0 >= t[c + 76 >> 2]) {
+         break l;
+        }
+        e = q[c + 88 >> 2];
+        if ((f | 0) == r[(e + w(d, 20) | 0) + 15 | 0]) {
+         continue;
+        }
+        break;
+       }
+      }
+      if (pG(c, 0, 1)) {
+       d = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+       q[d + 8 >> 2] = k;
+       q[d + 4 >> 2] = l;
+       q[d >> 2] = m;
+       p[d + 12 >> 1] = s[g + 4 >> 1];
+       o[d + 14 | 0] = r[g + 6 | 0];
+       q[d + 16 >> 2] = u;
+       o[d + 15 | 0] = f;
+       q[c + 80 >> 2] = q[c + 80 >> 2] + 1;
+      }
+      i = f;
+      break k;
+     }
+     if (r[c + 69 | 0]) {
+      h = c;
+      o : {
+       if (q[c + 92 >> 2] == (e | 0)) {
+        f = d;
+        if (q[c + 80 >> 2] == (d | 0)) {
+         break o;
+        }
+       }
+       if (!pG(c, 1, 1)) {
+        break k;
+       }
+       f = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+       e = q[f + 4 >> 2];
+       d = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+       q[d >> 2] = q[f >> 2];
+       q[d + 4 >> 2] = e;
+       q[d + 16 >> 2] = q[f + 16 >> 2];
+       e = q[f + 12 >> 2];
+       q[d + 8 >> 2] = q[f + 8 >> 2];
+       q[d + 12 >> 2] = e;
+       d = q[c + 72 >> 2];
+       f = q[c + 80 >> 2];
+      }
+      q[h + 80 >> 2] = f + 1;
+     }
+     q[c + 72 >> 2] = d + 1;
+    }
+    d = q[c + 72 >> 2];
+    h = q[c + 76 >> 2];
+    if (d >>> 0 < h >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  uG(c);
+ }
+ i = q[c + 76 >> 2];
+ if (i) {
+  f = i + -1 | 0;
+  d = 0;
+  e = q[c + 88 >> 2];
+  h = r[e + 15 | 0];
+  while (1) {
+   p : {
+    if ((d | 0) == (f | 0)) {
+     d = i;
+     break p;
+    }
+    d = d + 1 | 0;
+    if ((h | 0) == r[(e + w(d, 20) | 0) + 15 | 0]) {
+     continue;
+    }
+   }
+   break;
+  }
+  h = q[c + 88 >> 2];
+  j = r[h + 15 | 0];
+  e = 0;
+  while (1) {
+   f = d;
+   d = j & 15;
+   q : {
+    if (d >>> 0 > 4) {
+     break q;
+    }
+    j = q[b + 16 >> 2];
+    r : {
+     s : {
+      switch (d - 2 | 0) {
+      case 1:
+       break q;
+      case 0:
+      case 2:
+       break s;
+      default:
+       break r;
+      }
+     }
+     if (!r[q[a + 112 >> 2] + 5 | 0]) {
+      break r;
+     }
+     if (r[(w(f, 20) + h | 0) + -2 | 0] == 12) {
+      break q;
+     }
+    }
+    oE(a, j, c, e, f);
+   }
+   k = q[c + 76 >> 2];
+   d = f + 1 | 0;
+   e = k >>> 0 > d >>> 0 ? k : d;
+   h = q[c + 88 >> 2];
+   j = r[(h + w(f, 20) | 0) + 15 | 0];
+   d = f;
+   while (1) {
+    t : {
+     d = d + 1 | 0;
+     if (d >>> 0 >= k >>> 0) {
+      d = e;
+      break t;
+     }
+     if ((j | 0) == r[(w(d, 20) + h | 0) + 15 | 0]) {
+      continue;
+     }
+    }
+    break;
+   }
+   e = f;
+   if (e >>> 0 < i >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = g + 32 | 0;
+}
+function Yo(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ j = Ca - 16 | 0;
+ Ca = j;
+ g = q[a + 16 >> 2];
+ d = r[g + 6 | 0] | r[g + 7 | 0] << 8 | (r[g + 8 | 0] << 16 | r[g + 9 | 0] << 24);
+ h = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+ l = g + 13 | 0;
+ a : {
+  while (1) {
+   if (e >>> 0 >= h >>> 0) {
+    break a;
+   }
+   d = e + h >>> 1 | 0;
+   i = l + w(d, 11) | 0;
+   k = i + -3 | 0;
+   k = r[k + 1 | 0] << 8 | r[k | 0] << 16 | r[k + 2 | 0];
+   if (k >>> 0 > c >>> 0) {
+    h = d;
+    continue;
+   }
+   e = d + 1 | 0;
+   if (k >>> 0 < c >>> 0) {
+    continue;
+   }
+   break;
+  }
+  c = r[i + 4 | 0] | r[i + 5 | 0] << 8 | (r[i + 6 | 0] << 16 | r[i + 7 | 0] << 24);
+  c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  d = r[i | 0] | r[i + 1 | 0] << 8 | (r[i + 2 | 0] << 16 | r[i + 3 | 0] << 24);
+  e = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  if (!(c | e)) {
+   break a;
+  }
+  b : {
+   if (!e) {
+    f = q[a + 28 >> 2];
+    c = c + g | 0;
+    d = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+    q[j + 12 >> 2] = 0;
+    g = d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24);
+    d = g + 1 | 0;
+    c : {
+     if (f >>> 0 >= d >>> 0) {
+      f = q[a + 32 >> 2];
+      break c;
+     }
+     q[a + 36 >> 2] = b;
+     e = b;
+     b = a + 32 | 0;
+     f = Te(e, 4, f, d, q[b >> 2], j + 12 | 0);
+     q[b >> 2] = f;
+     if (q[j + 12 >> 2]) {
+      break b;
+     }
+     q[a + 28 >> 2] = d;
+    }
+    if (g) {
+     e = c + 4 | 0;
+     d = 0;
+     while (1) {
+      q[(d << 2) + f >> 2] = r[e + 2 | 0] | (r[e + 1 | 0] << 8 | r[e | 0] << 16);
+      e = e + 5 | 0;
+      d = d + 1 | 0;
+      if ((g | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    q[(g << 2) + f >> 2] = 0;
+    break a;
+   }
+   if (!c) {
+    d = e + g | 0;
+    f = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+    g = f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24);
+    c = 1;
+    d : {
+     if (!g) {
+      break d;
+     }
+     e = d + 7 | 0;
+     h = 0;
+     f = g;
+     while (1) {
+      h = (r[e | 0] + h | 0) + 1 | 0;
+      e = e + 4 | 0;
+      f = f + -1 | 0;
+      if (f) {
+       continue;
+      }
+      break;
+     }
+     c = h + 1 | 0;
+    }
+    f = q[a + 28 >> 2];
+    q[j + 12 >> 2] = 0;
+    e : {
+     if (f >>> 0 >= c >>> 0) {
+      f = q[a + 32 >> 2];
+      break e;
+     }
+     q[a + 36 >> 2] = b;
+     e = b;
+     b = a + 32 | 0;
+     f = Te(e, 4, f, c, q[b >> 2], j + 12 | 0);
+     q[b >> 2] = f;
+     if (q[j + 12 >> 2]) {
+      break b;
+     }
+     q[a + 28 >> 2] = c;
+    }
+    c = f;
+    if (g) {
+     while (1) {
+      e = r[d + 6 | 0] | (r[d + 5 | 0] << 8 | r[d + 4 | 0] << 16);
+      a = d + 4 | 0;
+      b = r[d + 7 | 0];
+      h = b + 1 | 0;
+      d = c;
+      while (1) {
+       q[d >> 2] = e;
+       d = d + 4 | 0;
+       e = e + 1 | 0;
+       h = h + -1 | 0;
+       if (h) {
+        continue;
+       }
+       break;
+      }
+      c = ((b << 2) + c | 0) + 4 | 0;
+      d = a;
+      g = g + -1 | 0;
+      if (g) {
+       continue;
+      }
+      break;
+     }
+    }
+    q[c >> 2] = 0;
+    break a;
+   }
+   c = c + g | 0;
+   d = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+   l = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   d = c + 4 | 0;
+   f : {
+    g : {
+     h : {
+      c = e + g | 0;
+      f = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+      i = f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24);
+      i : {
+       if (i) {
+        h = 0;
+        f = i;
+        g = c + 7 | 0;
+        e = g;
+        while (1) {
+         h = (r[e | 0] + h | 0) + 1 | 0;
+         e = e + 4 | 0;
+         f = f + -1 | 0;
+         if (f) {
+          continue;
+         }
+         break;
+        }
+        if (l) {
+         break h;
+        }
+        e = 0;
+        d = i;
+        while (1) {
+         e = (r[g | 0] + e | 0) + 1 | 0;
+         g = g + 4 | 0;
+         d = d + -1 | 0;
+         if (d) {
+          continue;
+         }
+         break;
+        }
+        d = e + 1 | 0;
+        break i;
+       }
+       if (l) {
+        break g;
+       }
+       d = 1;
+      }
+      f = q[a + 28 >> 2];
+      q[j + 12 >> 2] = 0;
+      j : {
+       if (f >>> 0 >= d >>> 0) {
+        f = q[a + 32 >> 2];
+        break j;
+       }
+       q[a + 36 >> 2] = b;
+       g = b;
+       b = a + 32 | 0;
+       f = Te(g, 4, f, d, q[b >> 2], j + 12 | 0);
+       q[b >> 2] = f;
+       if (q[j + 12 >> 2]) {
+        break b;
+       }
+       q[a + 28 >> 2] = d;
+      }
+      g = f;
+      if (i) {
+       while (1) {
+        e = r[c + 6 | 0] | (r[c + 5 | 0] << 8 | r[c + 4 | 0] << 16);
+        a = c + 4 | 0;
+        b = r[c + 7 | 0];
+        h = b + 1 | 0;
+        d = g;
+        while (1) {
+         q[d >> 2] = e;
+         d = d + 4 | 0;
+         e = e + 1 | 0;
+         h = h + -1 | 0;
+         if (h) {
+          continue;
+         }
+         break;
+        }
+        g = ((b << 2) + g | 0) + 4 | 0;
+        c = a;
+        i = i + -1 | 0;
+        if (i) {
+         continue;
+        }
+        break;
+       }
+      }
+      q[g >> 2] = 0;
+      break a;
+     }
+     if (h) {
+      break f;
+     }
+    }
+    c = q[a + 28 >> 2];
+    q[j + 12 >> 2] = 0;
+    g = l + 1 | 0;
+    k : {
+     if (c >>> 0 >= g >>> 0) {
+      f = q[a + 32 >> 2];
+      break k;
+     }
+     q[a + 36 >> 2] = b;
+     f = b;
+     b = a + 32 | 0;
+     f = Te(f, 4, c, g, q[b >> 2], j + 12 | 0);
+     q[b >> 2] = f;
+     if (q[j + 12 >> 2]) {
+      break b;
+     }
+     q[a + 28 >> 2] = g;
+    }
+    e = 0;
+    while (1) {
+     q[(e << 2) + f >> 2] = r[d + 2 | 0] | (r[d + 1 | 0] << 8 | r[d | 0] << 16);
+     d = d + 5 | 0;
+     e = e + 1 | 0;
+     if ((l | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[(l << 2) + f >> 2] = 0;
+    break a;
+   }
+   f = q[a + 28 >> 2];
+   q[j + 12 >> 2] = 0;
+   g = (h + l | 0) + 1 | 0;
+   l : {
+    if (f >>> 0 >= g >>> 0) {
+     f = q[a + 32 >> 2];
+     break l;
+    }
+    q[a + 36 >> 2] = b;
+    e = b;
+    b = a + 32 | 0;
+    f = Te(e, 4, f, g, q[b >> 2], j + 12 | 0);
+    q[b >> 2] = f;
+    if (q[j + 12 >> 2]) {
+     break b;
+    }
+    q[a + 28 >> 2] = g;
+   }
+   b = r[d + 2 | 0] | (r[d + 1 | 0] << 8 | r[d | 0] << 16);
+   a = c + 4 | 0;
+   h = r[a + 1 | 0] << 8 | r[a | 0] << 16 | r[a + 2 | 0];
+   m = d + 5 | 0;
+   g = a + 4 | 0;
+   c = r[a + 3 | 0];
+   e = 0;
+   a = 1;
+   k = 1;
+   while (1) {
+    m : {
+     d = 0;
+     if (b >>> 0 > c + h >>> 0) {
+      while (1) {
+       q[(e << 2) + f >> 2] = d + h;
+       e = e + 1 | 0;
+       d = d + 1 | 0;
+       if (d >>> 0 <= c >>> 0) {
+        continue;
+       }
+       break;
+      }
+      a = a + 1 | 0;
+      if (a >>> 0 > i >>> 0) {
+       break m;
+      }
+      h = r[g + 2 | 0] | (r[g + 1 | 0] << 8 | r[g | 0] << 16);
+      c = r[g + 3 | 0];
+      g = g + 4 | 0;
+      continue;
+     }
+     if (b >>> 0 < h >>> 0) {
+      q[(e << 2) + f >> 2] = b;
+      e = e + 1 | 0;
+     }
+     k = k + 1 | 0;
+     if (k >>> 0 > l >>> 0) {
+      break m;
+     }
+     b = r[m + 2 | 0] | (r[m + 1 | 0] << 8 | r[m | 0] << 16);
+     m = m + 5 | 0;
+     continue;
+    }
+    break;
+   }
+   n : {
+    if (k >>> 0 <= l >>> 0) {
+     q[(e << 2) + f >> 2] = b;
+     d = e + 1 | 0;
+     if (k >>> 0 >= l >>> 0) {
+      e = d;
+      break n;
+     }
+     a = (e + l | 0) + 1 | 0;
+     e = k;
+     while (1) {
+      q[(d << 2) + f >> 2] = r[m + 2 | 0] | (r[m + 1 | 0] << 8 | r[m | 0] << 16);
+      d = d + 1 | 0;
+      m = m + 5 | 0;
+      e = e + 1 | 0;
+      if ((l | 0) != (e | 0)) {
+       continue;
+      }
+      break;
+     }
+     e = a - k | 0;
+     break n;
+    }
+    if (a >>> 0 > i >>> 0) {
+     break n;
+    }
+    d = 0;
+    while (1) {
+     q[(e << 2) + f >> 2] = d + h;
+     e = e + 1 | 0;
+     d = d + 1 | 0;
+     if (d >>> 0 <= c >>> 0) {
+      continue;
+     }
+     break;
+    }
+    if (a >>> 0 >= i >>> 0) {
+     break n;
+    }
+    while (1) {
+     c = r[g + 2 | 0] | (r[g + 1 | 0] << 8 | r[g | 0] << 16);
+     h = e + 1 | 0;
+     b = r[g + 3 | 0];
+     d = 0;
+     while (1) {
+      q[(e << 2) + f >> 2] = c + d;
+      e = e + 1 | 0;
+      k = (b | 0) != (d | 0);
+      d = d + 1 | 0;
+      if (k) {
+       continue;
+      }
+      break;
+     }
+     e = b + h | 0;
+     g = g + 4 | 0;
+     a = a + 1 | 0;
+     if ((i | 0) != (a | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[(e << 2) + f >> 2] = 0;
+   break a;
+  }
+  f = 0;
+ }
+ Ca = j + 16 | 0;
+ return f | 0;
+}
+function oP(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ e = 35;
+ a : {
+  b : {
+   if (!(r[a + 8 | 0] & 8)) {
+    break b;
+   }
+   c : {
+    d : {
+     e : {
+      f = c;
+      f : {
+       g : {
+        h : {
+         d = q[c + 20 >> 2];
+         i : {
+          if (d) {
+           e = 85;
+           if (n[d](c, 0, 0, 0)) {
+            break b;
+           }
+           q[c + 8 >> 2] = 0;
+           if (!q[c + 20 >> 2]) {
+            break i;
+           }
+           h = q[c + 28 >> 2];
+           d = n[q[h + 4 >> 2]](h, 4) | 0;
+           if (!d) {
+            break a;
+           }
+           q[c >> 2] = d;
+           g = n[q[c + 20 >> 2]](c, q[c + 8 >> 2], d, 4) | 0;
+           e = 0;
+           i = q[c >> 2];
+           d = i;
+           if (g >>> 0 >= 4) {
+            break g;
+           }
+           e = 85;
+           if (i) {
+            break h;
+           }
+           d = 0;
+           break g;
+          }
+          q[c + 8 >> 2] = 0;
+         }
+         e = 85;
+         if (t[c + 4 >> 2] < 4) {
+          break b;
+         }
+         q[c + 8 >> 2] = 4;
+         d = q[c >> 2];
+         q[c + 32 >> 2] = d;
+         q[c + 36 >> 2] = d + 4;
+         f = 0;
+         break f;
+        }
+        n[q[h + 8 >> 2]](h, i);
+        q[c >> 2] = 0;
+        d = 0;
+       }
+       q[f + 32 >> 2] = d;
+       q[c + 36 >> 2] = d + 4;
+       q[c + 8 >> 2] = g + q[c + 8 >> 2];
+       if (e) {
+        break b;
+       }
+       f = q[c + 20 >> 2];
+      }
+      q[c + 32 >> 2] = d + 4;
+      e = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+      e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+      if (f) {
+       f = q[c + 28 >> 2];
+       n[q[f + 8 >> 2]](f, d);
+       q[c >> 2] = 0;
+      }
+      q[c + 32 >> 2] = 0;
+      q[c + 36 >> 2] = 0;
+      f = 0;
+      if ((e | 0) != 1953784678) {
+       break c;
+      }
+      d = q[a + 4 >> 2];
+      f = d << 2;
+      a = f + 12 | 0;
+      j : {
+       h = q[c + 20 >> 2];
+       if (h) {
+        e = 85;
+        if (n[h](c, a, 0, 0)) {
+         break b;
+        }
+        q[c + 8 >> 2] = a;
+        if (q[c + 20 >> 2]) {
+         break j;
+        }
+        break e;
+       }
+       e = 85;
+       if ((d | 0) < -3 | t[c + 4 >> 2] < a >>> 0) {
+        break b;
+       }
+       q[c + 8 >> 2] = a;
+       break e;
+      }
+      f = q[c + 28 >> 2];
+      a = n[q[f + 4 >> 2]](f, 4) | 0;
+      if (!a) {
+       break a;
+      }
+      q[c >> 2] = a;
+      h = n[q[c + 20 >> 2]](c, q[c + 8 >> 2], a, 4) | 0;
+      e = 0;
+      a = c;
+      g = q[c >> 2];
+      d = g;
+      k : {
+       if (h >>> 0 >= 4) {
+        break k;
+       }
+       e = 85;
+       d = 0;
+       if (!g) {
+        break k;
+       }
+       n[q[f + 8 >> 2]](f, g);
+       q[c >> 2] = 0;
+       d = 0;
+      }
+      q[a + 32 >> 2] = d;
+      q[c + 36 >> 2] = d + 4;
+      q[c + 8 >> 2] = h + q[c + 8 >> 2];
+      if (e) {
+       break b;
+      }
+      e = d;
+      f = q[c + 20 >> 2];
+      break d;
+     }
+     d = q[c + 4 >> 2];
+     if (a >>> 0 >= d >>> 0) {
+      break b;
+     }
+     f = f + 16 | 0;
+     if (f >>> 0 > d >>> 0) {
+      break b;
+     }
+     q[c + 8 >> 2] = f;
+     d = q[c >> 2];
+     e = a + d | 0;
+     q[c + 32 >> 2] = e;
+     q[c + 36 >> 2] = e + 4;
+     f = 0;
+    }
+    q[c + 32 >> 2] = e + 4;
+    a = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+    e = a >>> 8 & 65280 | a >>> 24;
+    a = a << 8 & 16711680 | a << 24;
+    if (!(!f | !d)) {
+     f = q[c + 28 >> 2];
+     n[q[f + 8 >> 2]](f, d);
+     q[c >> 2] = 0;
+    }
+    q[c + 32 >> 2] = 0;
+    q[c + 36 >> 2] = 0;
+    f = a | e;
+   }
+   a = f;
+   g = a + 4 | 0;
+   l : {
+    m : {
+     n : {
+      f = c;
+      o : {
+       p : {
+        q : {
+         d = q[c + 20 >> 2];
+         r : {
+          if (d) {
+           e = 85;
+           if (n[d](c, g, 0, 0)) {
+            break b;
+           }
+           q[c + 8 >> 2] = g;
+           h = c + 8 | 0;
+           d = h;
+           if (!q[c + 20 >> 2]) {
+            break r;
+           }
+           g = q[c + 28 >> 2];
+           d = n[q[g + 4 >> 2]](g, 2) | 0;
+           if (!d) {
+            break a;
+           }
+           q[c >> 2] = d;
+           i = n[q[c + 20 >> 2]](c, q[c + 8 >> 2], d, 2) | 0;
+           e = 0;
+           j = q[c >> 2];
+           d = j;
+           if (i >>> 0 >= 2) {
+            break p;
+           }
+           e = 85;
+           if (j) {
+            break q;
+           }
+           d = 0;
+           break p;
+          }
+          e = 85;
+          if ((g | 0) < 0 | t[c + 4 >> 2] < g >>> 0) {
+           break b;
+          }
+          q[c + 8 >> 2] = g;
+          d = c + 8 | 0;
+         }
+         h = d;
+         d = q[c + 4 >> 2];
+         if (g >>> 0 >= d >>> 0) {
+          break b;
+         }
+         f = a + 6 | 0;
+         if (f >>> 0 > d >>> 0) {
+          break b;
+         }
+         q[c + 8 >> 2] = f;
+         d = q[c >> 2];
+         e = g + d | 0;
+         q[c + 32 >> 2] = e;
+         q[c + 36 >> 2] = e + 2;
+         f = 0;
+         break o;
+        }
+        n[q[g + 8 >> 2]](g, j);
+        q[c >> 2] = 0;
+        d = 0;
+       }
+       q[f + 32 >> 2] = d;
+       q[c + 36 >> 2] = d + 2;
+       q[c + 8 >> 2] = i + q[c + 8 >> 2];
+       if (e) {
+        break b;
+       }
+       e = d;
+       f = q[c + 20 >> 2];
+      }
+      q[c + 32 >> 2] = e + 2;
+      i = r[e + 1 | 0] | r[e | 0] << 8;
+      if (!f) {
+       q[c + 32 >> 2] = 0;
+       q[c + 36 >> 2] = 0;
+       a = a + 12 | 0;
+       break n;
+      }
+      s : {
+       if (!d) {
+        q[c + 32 >> 2] = 0;
+        q[c + 36 >> 2] = 0;
+        a = a + 12 | 0;
+        break s;
+       }
+       e = q[c + 28 >> 2];
+       n[q[e + 8 >> 2]](e, d);
+       q[c >> 2] = 0;
+       q[c + 32 >> 2] = 0;
+       q[c + 36 >> 2] = 0;
+       a = a + 12 | 0;
+       f = q[c + 20 >> 2];
+       if (!f) {
+        break n;
+       }
+      }
+      e = 85;
+      if (n[f](c, a, 0, 0)) {
+       break b;
+      }
+      q[c + 8 >> 2] = a;
+      g = i << 4;
+      d = q[c + 20 >> 2];
+      f = g;
+      if (!d) {
+       break m;
+      }
+      j = q[c + 28 >> 2];
+      e = 0;
+      if (i) {
+       k = n[q[j + 4 >> 2]](j, g) | 0;
+       if (!k) {
+        break a;
+       }
+       a = q[c + 8 >> 2];
+       d = q[c + 20 >> 2];
+       f = g;
+      } else {
+       f = 0;
+      }
+      q[c >> 2] = k;
+      k = n[d](c, a, k, f) | 0;
+      d = c;
+      l = q[c >> 2];
+      a = l;
+      t : {
+       if (k >>> 0 >= g >>> 0) {
+        break t;
+       }
+       e = 85;
+       a = 0;
+       if (!l) {
+        break t;
+       }
+       n[q[j + 8 >> 2]](j, l);
+       q[c >> 2] = 0;
+       a = 0;
+      }
+      q[d + 32 >> 2] = a;
+      q[c + 36 >> 2] = a + f;
+      q[c + 8 >> 2] = k + q[c + 8 >> 2];
+      if (e) {
+       break b;
+      }
+      break l;
+     }
+     e = 85;
+     if ((a | 0) < 0 | t[c + 4 >> 2] < a >>> 0) {
+      break b;
+     }
+     q[h >> 2] = a;
+     f = i << 4;
+    }
+    d = q[c + 4 >> 2];
+    if (a >>> 0 >= d >>> 0) {
+     break b;
+    }
+    g = a + f | 0;
+    if (g >>> 0 > d >>> 0) {
+     break b;
+    }
+    q[c + 8 >> 2] = g;
+    a = q[c >> 2] + a | 0;
+    q[c + 32 >> 2] = a;
+    q[c + 36 >> 2] = a + f;
+   }
+   e = 142;
+   u : {
+    v : {
+     if (!i) {
+      break v;
+     }
+     d = 0;
+     while (1) {
+      w : {
+       q[c + 32 >> 2] = a + 4;
+       f = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+       q[c + 32 >> 2] = a + 12;
+       g = r[a + 11 | 0];
+       j = r[a + 10 | 0];
+       k = r[a + 9 | 0];
+       l = r[a + 8 | 0];
+       a = a + 16 | 0;
+       q[c + 32 >> 2] = a;
+       if ((f << 8 & 16711680 | f << 24 | (f >>> 8 & 65280 | f >>> 24)) == (b | 0)) {
+        break w;
+       }
+       d = d + 1 | 0;
+       if ((i | 0) != (d | 0)) {
+        continue;
+       }
+       break v;
+      }
+      break;
+     }
+     a = g | (k << 16 | l << 24 | j << 8);
+     b = q[c + 20 >> 2];
+     x : {
+      if (b) {
+       e = 85;
+       if (!n[b](c, a, 0, 0)) {
+        break x;
+       }
+       break v;
+      }
+      if ((a | 0) < 0) {
+       e = 85;
+       break u;
+      }
+      e = 85;
+      if (t[c + 4 >> 2] < a >>> 0) {
+       break v;
+      }
+     }
+     q[h >> 2] = a;
+     e = 0;
+    }
+    if (!q[c + 20 >> 2]) {
+     break u;
+    }
+    a = q[c >> 2];
+    if (!a) {
+     break u;
+    }
+    b = q[c + 28 >> 2];
+    n[q[b + 8 >> 2]](b, a);
+    q[c >> 2] = 0;
+   }
+   q[c + 32 >> 2] = 0;
+   q[c + 36 >> 2] = 0;
+  }
+  return e;
+ }
+ q[c >> 2] = 0;
+ return 64;
+}
+function UU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ k = a + 72 | 0;
+ f = 1;
+ while (1) {
+  g = b;
+  a = g + 2 | 0;
+  a : {
+   b : {
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         h : {
+          i : {
+           j : {
+            k : {
+             l : {
+              m : {
+               n : {
+                o : {
+                 p : {
+                  q : {
+                   b = r[g + 2 | 0];
+                   h = b + -216 | 0;
+                   if (h >>> 0 > 39) {
+                    if (b) {
+                     break n;
+                    }
+                    b = a;
+                    j = r[g + 3 | 0];
+                    h = r[j + k | 0] + -3 | 0;
+                    if (h >>> 0 > 26) {
+                     continue;
+                    }
+                    switch (h - 1 | 0) {
+                    case 0:
+                    case 4:
+                    case 10:
+                    case 11:
+                    case 12:
+                    case 14:
+                    case 15:
+                    case 16:
+                    case 19:
+                    case 21:
+                    case 22:
+                    case 23:
+                    case 24:
+                     continue;
+                    case 17:
+                     break i;
+                    case 9:
+                     break k;
+                    case 8:
+                     break l;
+                    case 18:
+                    case 20:
+                    case 25:
+                     break n;
+                    case 3:
+                     break o;
+                    case 2:
+                     break p;
+                    case 1:
+                     break q;
+                    case 7:
+                    case 13:
+                     break g;
+                    case 5:
+                    case 6:
+                     break h;
+                    default:
+                     break j;
+                    }
+                   }
+                   b = a;
+                   r : {
+                    switch (h - 4 | 0) {
+                    case 0:
+                    case 1:
+                    case 2:
+                    case 3:
+                     continue;
+                    case 4:
+                    case 5:
+                    case 6:
+                    case 7:
+                    case 8:
+                    case 9:
+                    case 10:
+                    case 11:
+                    case 12:
+                    case 13:
+                    case 14:
+                    case 15:
+                    case 16:
+                    case 17:
+                    case 18:
+                    case 19:
+                    case 20:
+                    case 21:
+                    case 22:
+                    case 23:
+                    case 24:
+                    case 25:
+                    case 26:
+                    case 27:
+                    case 28:
+                    case 29:
+                    case 30:
+                    case 31:
+                    case 32:
+                    case 33:
+                    case 34:
+                     break n;
+                    case 35:
+                     break r;
+                    default:
+                     break o;
+                    }
+                   }
+                   if (r[g + 3 | 0] >= 254 | f) {
+                    continue;
+                   }
+                   break m;
+                  }
+                  if (f) {
+                   continue;
+                  }
+                  f = 1;
+                  if ((e | 0) >= (c | 0)) {
+                   continue;
+                  }
+                  b = (e << 4) + d | 0;
+                  o[b + 12 | 0] = 1;
+                  q[b >> 2] = a;
+                  b = a;
+                  continue;
+                 }
+                 b = g + 3 | 0;
+                 if (f) {
+                  continue;
+                 }
+                 f = 1;
+                 if ((e | 0) >= (c | 0)) {
+                  continue;
+                 }
+                 g = (e << 4) + d | 0;
+                 o[g + 12 | 0] = 1;
+                 q[g >> 2] = a;
+                 continue;
+                }
+                s : {
+                 if (f) {
+                  break s;
+                 }
+                 f = 1;
+                 if ((e | 0) >= (c | 0)) {
+                  break s;
+                 }
+                 b = (e << 4) + d | 0;
+                 o[b + 12 | 0] = 1;
+                 q[b >> 2] = a;
+                }
+                b = g + 4 | 0;
+                continue;
+               }
+               b = a;
+               if (f) {
+                continue;
+               }
+              }
+              f = 1;
+              if ((e | 0) >= (c | 0)) {
+               continue;
+              }
+              b = (e << 4) + d | 0;
+              o[b + 12 | 0] = 1;
+              q[b >> 2] = a;
+              b = a;
+              continue;
+             }
+             if ((f | 0) != 2) {
+              i = 12;
+              f = 2;
+              if ((e | 0) >= (c | 0)) {
+               continue;
+              }
+              q[((e << 4) + d | 0) + 4 >> 2] = g + 4;
+              continue;
+             }
+             f = 2;
+             if ((i | 0) != 12) {
+              continue;
+             }
+             if ((e | 0) < (c | 0)) {
+              q[((e << 4) + d | 0) + 8 >> 2] = a;
+             }
+             e = e + 1 | 0;
+             i = 12;
+             break a;
+            }
+            if ((f | 0) != 2) {
+             i = 13;
+             f = 2;
+             if ((e | 0) >= (c | 0)) {
+              continue;
+             }
+             q[((e << 4) + d | 0) + 4 >> 2] = g + 4;
+             continue;
+            }
+            f = 2;
+            if ((i | 0) != 13) {
+             continue;
+            }
+            if ((e | 0) < (c | 0)) {
+             q[((e << 4) + d | 0) + 8 >> 2] = a;
+            }
+            e = e + 1 | 0;
+            i = 13;
+            break a;
+           }
+           if ((e | 0) >= (c | 0)) {
+            continue;
+           }
+           o[((e << 4) + d | 0) + 12 | 0] = 0;
+           continue;
+          }
+          h = f + -1 | 0;
+          if (h >>> 0 > 1) {
+           continue;
+          }
+          f = 0;
+          if (h - 1) {
+           continue;
+          }
+          f = 2;
+          if ((e | 0) >= (c | 0)) {
+           continue;
+          }
+          h = (e << 4) + d | 0;
+          if (!r[h + 12 | 0]) {
+           continue;
+          }
+          if ((a | 0) == q[h + 4 >> 2] | (j | 0) != 32) {
+           break b;
+          }
+          b = r[g + 5 | 0];
+          g = r[g + 4 | 0];
+          j = g + -216 | 0;
+          if (j >>> 0 <= 39) {
+           break f;
+          }
+          if (g) {
+           break e;
+          }
+          if ((b | 0) == 32) {
+           break b;
+          }
+          g = r[b + k | 0];
+          break c;
+         }
+         a = f + -1 | 0;
+         if (a >>> 0 > 1) {
+          continue;
+         }
+         f = 0;
+         if (a - 1) {
+          continue;
+         }
+         f = 2;
+         if ((e | 0) >= (c | 0)) {
+          continue;
+         }
+         o[((e << 4) + d | 0) + 12 | 0] = 0;
+         continue;
+        }
+        a = (f | 0) == 2;
+        f = 2;
+        if (a) {
+         continue;
+        }
+        return e | 0;
+       }
+       g = 7;
+       t : {
+        switch (j - 4 | 0) {
+        case 35:
+         break t;
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+         break d;
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+        case 9:
+        case 10:
+        case 11:
+        case 12:
+        case 13:
+        case 14:
+        case 15:
+        case 16:
+        case 17:
+        case 18:
+        case 19:
+        case 20:
+        case 21:
+        case 22:
+        case 23:
+        case 24:
+        case 25:
+        case 26:
+        case 27:
+        case 28:
+        case 29:
+        case 30:
+        case 31:
+        case 32:
+        case 33:
+        case 34:
+         break e;
+        default:
+         break c;
+        }
+       }
+       g = 0;
+       if (b >>> 0 > 253) {
+        break c;
+       }
+      }
+      g = 29;
+      break c;
+     }
+     g = 8;
+    }
+    b = a;
+    if ((g | 0) != (i | 0)) {
+     continue;
+    }
+   }
+   o[h + 12 | 0] = 0;
+   b = a;
+   continue;
+  }
+  f = 0;
+  continue;
+ }
+}
+function yU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ k = a + 72 | 0;
+ f = 1;
+ while (1) {
+  g = b;
+  a = g + 2 | 0;
+  a : {
+   b : {
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         h : {
+          i : {
+           j : {
+            k : {
+             l : {
+              m : {
+               n : {
+                o : {
+                 p : {
+                  q : {
+                   b = r[g + 3 | 0];
+                   h = b + -216 | 0;
+                   if (h >>> 0 > 39) {
+                    if (b) {
+                     break n;
+                    }
+                    b = a;
+                    j = r[a | 0];
+                    h = r[j + k | 0] + -3 | 0;
+                    if (h >>> 0 > 26) {
+                     continue;
+                    }
+                    switch (h - 1 | 0) {
+                    case 0:
+                    case 4:
+                    case 10:
+                    case 11:
+                    case 12:
+                    case 14:
+                    case 15:
+                    case 16:
+                    case 19:
+                    case 21:
+                    case 22:
+                    case 23:
+                    case 24:
+                     continue;
+                    case 17:
+                     break i;
+                    case 9:
+                     break k;
+                    case 8:
+                     break l;
+                    case 18:
+                    case 20:
+                    case 25:
+                     break n;
+                    case 3:
+                     break o;
+                    case 2:
+                     break p;
+                    case 1:
+                     break q;
+                    case 7:
+                    case 13:
+                     break g;
+                    case 5:
+                    case 6:
+                     break h;
+                    default:
+                     break j;
+                    }
+                   }
+                   b = a;
+                   r : {
+                    switch (h - 4 | 0) {
+                    case 0:
+                    case 1:
+                    case 2:
+                    case 3:
+                     continue;
+                    case 4:
+                    case 5:
+                    case 6:
+                    case 7:
+                    case 8:
+                    case 9:
+                    case 10:
+                    case 11:
+                    case 12:
+                    case 13:
+                    case 14:
+                    case 15:
+                    case 16:
+                    case 17:
+                    case 18:
+                    case 19:
+                    case 20:
+                    case 21:
+                    case 22:
+                    case 23:
+                    case 24:
+                    case 25:
+                    case 26:
+                    case 27:
+                    case 28:
+                    case 29:
+                    case 30:
+                    case 31:
+                    case 32:
+                    case 33:
+                    case 34:
+                     break n;
+                    case 35:
+                     break r;
+                    default:
+                     break o;
+                    }
+                   }
+                   if (r[a | 0] >= 254 | f) {
+                    continue;
+                   }
+                   break m;
+                  }
+                  if (f) {
+                   continue;
+                  }
+                  f = 1;
+                  if ((e | 0) >= (c | 0)) {
+                   continue;
+                  }
+                  b = (e << 4) + d | 0;
+                  o[b + 12 | 0] = 1;
+                  q[b >> 2] = a;
+                  b = a;
+                  continue;
+                 }
+                 b = g + 3 | 0;
+                 if (f) {
+                  continue;
+                 }
+                 f = 1;
+                 if ((e | 0) >= (c | 0)) {
+                  continue;
+                 }
+                 g = (e << 4) + d | 0;
+                 o[g + 12 | 0] = 1;
+                 q[g >> 2] = a;
+                 continue;
+                }
+                s : {
+                 if (f) {
+                  break s;
+                 }
+                 f = 1;
+                 if ((e | 0) >= (c | 0)) {
+                  break s;
+                 }
+                 b = (e << 4) + d | 0;
+                 o[b + 12 | 0] = 1;
+                 q[b >> 2] = a;
+                }
+                b = g + 4 | 0;
+                continue;
+               }
+               b = a;
+               if (f) {
+                continue;
+               }
+              }
+              f = 1;
+              if ((e | 0) >= (c | 0)) {
+               continue;
+              }
+              b = (e << 4) + d | 0;
+              o[b + 12 | 0] = 1;
+              q[b >> 2] = a;
+              b = a;
+              continue;
+             }
+             if ((f | 0) != 2) {
+              i = 12;
+              f = 2;
+              if ((e | 0) >= (c | 0)) {
+               continue;
+              }
+              q[((e << 4) + d | 0) + 4 >> 2] = g + 4;
+              continue;
+             }
+             f = 2;
+             if ((i | 0) != 12) {
+              continue;
+             }
+             if ((e | 0) < (c | 0)) {
+              q[((e << 4) + d | 0) + 8 >> 2] = a;
+             }
+             e = e + 1 | 0;
+             i = 12;
+             break a;
+            }
+            if ((f | 0) != 2) {
+             i = 13;
+             f = 2;
+             if ((e | 0) >= (c | 0)) {
+              continue;
+             }
+             q[((e << 4) + d | 0) + 4 >> 2] = g + 4;
+             continue;
+            }
+            f = 2;
+            if ((i | 0) != 13) {
+             continue;
+            }
+            if ((e | 0) < (c | 0)) {
+             q[((e << 4) + d | 0) + 8 >> 2] = a;
+            }
+            e = e + 1 | 0;
+            i = 13;
+            break a;
+           }
+           if ((e | 0) >= (c | 0)) {
+            continue;
+           }
+           o[((e << 4) + d | 0) + 12 | 0] = 0;
+           continue;
+          }
+          h = f + -1 | 0;
+          if (h >>> 0 > 1) {
+           continue;
+          }
+          f = 0;
+          if (h - 1) {
+           continue;
+          }
+          f = 2;
+          if ((e | 0) >= (c | 0)) {
+           continue;
+          }
+          h = (e << 4) + d | 0;
+          if (!r[h + 12 | 0]) {
+           continue;
+          }
+          if ((a | 0) == q[h + 4 >> 2] | (j | 0) != 32) {
+           break b;
+          }
+          b = r[g + 4 | 0];
+          g = r[g + 5 | 0];
+          j = g + -216 | 0;
+          if (j >>> 0 <= 39) {
+           break f;
+          }
+          if (g) {
+           break e;
+          }
+          if ((b | 0) == 32) {
+           break b;
+          }
+          g = r[b + k | 0];
+          break c;
+         }
+         a = f + -1 | 0;
+         if (a >>> 0 > 1) {
+          continue;
+         }
+         f = 0;
+         if (a - 1) {
+          continue;
+         }
+         f = 2;
+         if ((e | 0) >= (c | 0)) {
+          continue;
+         }
+         o[((e << 4) + d | 0) + 12 | 0] = 0;
+         continue;
+        }
+        a = (f | 0) == 2;
+        f = 2;
+        if (a) {
+         continue;
+        }
+        return e | 0;
+       }
+       g = 7;
+       t : {
+        switch (j - 4 | 0) {
+        case 35:
+         break t;
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+         break d;
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+        case 9:
+        case 10:
+        case 11:
+        case 12:
+        case 13:
+        case 14:
+        case 15:
+        case 16:
+        case 17:
+        case 18:
+        case 19:
+        case 20:
+        case 21:
+        case 22:
+        case 23:
+        case 24:
+        case 25:
+        case 26:
+        case 27:
+        case 28:
+        case 29:
+        case 30:
+        case 31:
+        case 32:
+        case 33:
+        case 34:
+         break e;
+        default:
+         break c;
+        }
+       }
+       g = 0;
+       if (b >>> 0 > 253) {
+        break c;
+       }
+      }
+      g = 29;
+      break c;
+     }
+     g = 8;
+    }
+    b = a;
+    if ((g | 0) != (i | 0)) {
+     continue;
+    }
+   }
+   o[h + 12 | 0] = 0;
+   b = a;
+   continue;
+  }
+  f = 0;
+  continue;
+ }
+}
+function mO(a, b, c, d, e, f, g, h, i) {
+ var j = 0, k = 0, l = 0, m = 0, o = 0, p = 0, r = 0, s = 0, t = 0, u = 0, v = 0, x = 0, y = 0, A = 0, B = 0, C = 0, D = 0, E = 0, G = 0, H = 0, I = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0;
+ o = Ca - 32 | 0;
+ Ca = o;
+ a : {
+  b : {
+   if (!((d | 0) < 1 | (e | 0) <= 0)) {
+    c : {
+     if (g >>> 0 > 1) {
+      break c;
+     }
+     t = q[h + 4 >> 2];
+     p = q[h >> 2];
+     A = t + p | 0;
+     G = ((g << 2) + b | 0) + 28 | 0;
+     l = q[G >> 2];
+     if (A >>> 0 > l >>> 0) {
+      break c;
+     }
+     r = q[a + 4 >> 2];
+     j = -1 << r ^ -1;
+     if (!(j & d)) {
+      if (!(e & j)) {
+       B = q[((g << 2) + b | 0) + 20 >> 2];
+       C = (l - p | 0) - t | 0;
+       s = B + w(C, 40) | 0;
+       l = w(p, 40);
+       v = q[i >> 2];
+       m = 10;
+       j = 10;
+       d : {
+        if (p >>> 0 > 1) {
+         break d;
+        }
+        j = (v | 0) != 0;
+        if (p - 1) {
+         break d;
+        }
+        j = q[(w(C, 40) + B | 0) + 20 >> 2];
+        j = (j & 1 ^ (j & 6) != 6) + v | 0;
+        j = j ? (j | 0) == 1 ? 2 : 1 : 6;
+       }
+       u = l + s | 0;
+       x = q[i + 4 >> 2];
+       e : {
+        if (t >>> 0 > 1) {
+         break e;
+        }
+        if (t - 1) {
+         m = (x | 0) != 0;
+         break e;
+        }
+        l = q[u + 20 >> 2];
+        l = (l & 1 ^ (l & 6) != 6) + x | 0;
+        m = l ? (l | 0) == 1 ? 2 : 1 : 6;
+       }
+       l = j | m;
+       if ((l & 3) == 2) {
+        break b;
+       }
+       m = 1;
+       g = e >>> r | 0;
+       if ((g | 0) >= 1) {
+        i = d >>> r | 0;
+        d = f << r;
+        b = l & 1;
+        e = 0;
+        while (1) {
+         h = 0;
+         if ((i | 0) > 0) {
+          while (1) {
+           n[q[a + 8 >> 2]]((h << r) + c | 0, f, b);
+           h = h + 1 | 0;
+           if ((i | 0) != (h | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         c = c + d | 0;
+         e = e + 1 | 0;
+         if ((g | 0) != (e | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       q[G >> 2] = C;
+       break a;
+      }
+      J(436996, 436873, 637, 437148);
+      F();
+     }
+     J(436953, 436873, 636, 437148);
+     F();
+    }
+    J(437170, 436873, 635, 437148);
+    F();
+   }
+   J(436913, 436873, 634, 437148);
+   F();
+  }
+  f : {
+   g : {
+    h : {
+     i : {
+      j : {
+       if (!(!((j ^ m) & 2) | l & 8)) {
+        h = 1 << r;
+        b = h + -1 | 0;
+        if (b & d) {
+         break j;
+        }
+        if (b & e) {
+         break i;
+        }
+        b = m & 2 ? u : s;
+        g = q[b + 16 >> 2];
+        K = l & 4 ? 0 - g | 0 : g;
+        m = q[b >> 2];
+        s = q[b + 4 >> 2];
+        D = q[b + 12 >> 2];
+        E = q[b + 8 >> 2];
+        if (!((d | 0) != (h | 0) | (e | 0) != (h | 0))) {
+         n[q[a + 12 >> 2]](c, f, E, D, m, s, K);
+         break f;
+        }
+        l = e >>> r | 0;
+        if ((l | 0) < 1) {
+         break f;
+        }
+        b = D >> 31;
+        e = b + D ^ b;
+        b = E >> 31;
+        g = e + (b + E ^ b) | 0;
+        e = r + 5 | 0;
+        b = e;
+        h = b & 31;
+        if (32 <= (b & 63) >>> 0) {
+         y = g << h;
+         L = 0;
+        } else {
+         y = (1 << h) - 1 & g >>> 32 - h;
+         L = g << h;
+        }
+        u = y;
+        b = 1 << e;
+        h = b;
+        i = b >> 31;
+        M = D >> 31;
+        N = E >> 31;
+        e = M + N | 0;
+        p = D;
+        t = E;
+        g = t;
+        b = p + g | 0;
+        if (b >>> 0 < g >>> 0) {
+         e = e + 1 | 0;
+        }
+        A = T0(h, i, b, e);
+        B = Ea;
+        P = f << r;
+        b = d >>> r | 0;
+        Q = b;
+        R = (b | 0) < 1;
+        while (1) {
+         if (!R) {
+          j = T0(O, k, p, M);
+          S = Ea;
+          H = 0;
+          e = 0;
+          while (1) {
+           b = A;
+           i = B;
+           h = s;
+           g = m;
+           d = 1 << q[a + 4 >> 2] + 6;
+           v = d;
+           I = d >> 31;
+           d = j;
+           x = T0(H, e, t, N) + d | 0;
+           y = S + Ea | 0;
+           d = T0(v, I, x, x >>> 0 < d >>> 0 ? y + 1 | 0 : y);
+           v = g - d | 0;
+           I = h - (Ea + (g >>> 0 < d >>> 0) | 0) | 0;
+           d = b;
+           b = v;
+           g = i - (I + (d >>> 0 < b >>> 0) | 0) | 0;
+           d = d - b | 0;
+           b = g;
+           h = b >> 31;
+           y = b + h | 0;
+           x = b >> 31;
+           g = x;
+           i = g + d | 0;
+           if (i >>> 0 < g >>> 0) {
+            y = y + 1 | 0;
+           }
+           g = h ^ y;
+           k : {
+            if ((g | 0) < (u | 0) ? 1 : (g | 0) <= (u | 0) ? (i ^ x) >>> 0 >= L >>> 0 ? 0 : 1 : 0) {
+             n[q[a + 12 >> 2]]((H << r) + c | 0, f, E, D, v, I, K);
+             break k;
+            }
+            n[q[a + 8 >> 2]]((H << r) + c | 0, f, (b ^ K) & -2147483648);
+           }
+           b = H + 1 | 0;
+           if (b >>> 0 < 1) {
+            e = e + 1 | 0;
+           }
+           H = b;
+           if ((Q | 0) != (b | 0) | e) {
+            continue;
+           }
+           break;
+          }
+         }
+         c = c + P | 0;
+         b = O + 1 | 0;
+         if (b >>> 0 < 1) {
+          k = k + 1 | 0;
+         }
+         O = b;
+         if ((l | 0) != (b | 0) | k) {
+          continue;
+         }
+         break;
+        }
+        break f;
+       }
+       k = 1 << r;
+       if (!((k | 0) != (d | 0) | (e | 0) != (k | 0))) {
+        if (!(m & 2)) {
+         n[q[a + 16 >> 2]](c, f, s, p, v);
+         break f;
+        }
+        if (!(j & 2)) {
+         n[q[a + 16 >> 2]](c, f, u, t, x);
+         break f;
+        }
+        l : {
+         if (j & 8) {
+          n[q[a + 16 >> 2]](c, f, s, p, v);
+          break l;
+         }
+         k = w(C, 40) + B | 0;
+         g = q[k + 16 >> 2];
+         n[q[a + 12 >> 2]](c, f, q[k + 8 >> 2], q[k + 12 >> 2], q[s >> 2], q[s + 4 >> 2], j & 4 ? 0 - g | 0 : g);
+        }
+        m : {
+         if (m & 8) {
+          n[q[a + 16 >> 2]](q[b + 48 >> 2], d, u, q[h + 4 >> 2], q[i + 4 >> 2]);
+          break m;
+         }
+         g = q[u + 16 >> 2];
+         n[q[a + 12 >> 2]](q[b + 48 >> 2], d, q[u + 8 >> 2], q[u + 12 >> 2], q[u >> 2], q[u + 4 >> 2], m & 4 ? 0 - g | 0 : g);
+        }
+        n[q[a + 20 >> 2]](c, f, q[b + 48 >> 2], d, e, d);
+        break f;
+       }
+       t = g ^ 1;
+       j = (t << 2) + b | 0;
+       B = j + 36 | 0;
+       k = q[B >> 2];
+       m = A;
+       A = j + 28 | 0;
+       p = q[A >> 2];
+       l = m + p | 0;
+       n : {
+        if (k >>> 0 >= l >>> 0) {
+         k = q[j + 20 >> 2];
+         break n;
+        }
+        k = k << 1;
+        k = k >>> 0 > 64 ? k : 64;
+        while (1) {
+         j = k;
+         k = k << 1;
+         if (j >>> 0 < l >>> 0) {
+          continue;
+         }
+         break;
+        }
+        l = ((t << 2) + b | 0) + 20 | 0;
+        k = O$(q[l >> 2], w(j, 40));
+        if (!k) {
+         m = 0;
+         break a;
+        }
+        q[l >> 2] = k;
+        q[B >> 2] = j;
+        x = q[i + 4 >> 2];
+        v = q[i >> 2];
+       }
+       q[o + 12 >> 2] = x;
+       q[o + 8 >> 2] = v;
+       k = w(p, 40) + k | 0;
+       o : {
+        if ((d | 0) > (e | 0)) {
+         j = h;
+         h = 1 << (z(d + -1 | 0) ^ 31);
+         kO(s, j, s, o + 24 | 0, k, o + 16 | 0, o + 8 | 0, h << 6);
+         d = d - h | 0;
+         j = e;
+         k = h;
+         break o;
+        }
+        j = h;
+        m = k;
+        k = z(e + -1 | 0) ^ 31;
+        h = 1 << k;
+        lO(s, j, s, o + 24 | 0, m, o + 16 | 0, o + 8 | 0, h << 6);
+        j = e - h | 0;
+        e = h;
+        h = d;
+        k = f << k;
+       }
+       q[G >> 2] = q[o + 28 >> 2] + (q[o + 24 >> 2] + C | 0);
+       q[A >> 2] = q[o + 20 >> 2] + (p + q[o + 16 >> 2] | 0);
+       m = 0;
+       if (!mO(a, b, c, h, e, f, g, o + 24 | 0, i)) {
+        break a;
+       }
+       if (q[G >> 2] != (C | 0)) {
+        break h;
+       }
+       if (!mO(a, b, c + k | 0, d, j, f, t, o + 16 | 0, o + 8 | 0)) {
+        break a;
+       }
+       m = 1;
+       if ((p | 0) != q[A >> 2]) {
+        break g;
+       }
+       break a;
+      }
+      J(436953, 436873, 562, 437298);
+      F();
+     }
+     J(436996, 436873, 563, 437298);
+     F();
+    }
+    J(437239, 436873, 716, 437148);
+    F();
+   }
+   J(437268, 436873, 719, 437148);
+   F();
+  }
+  q[G >> 2] = C;
+  m = 1;
+ }
+ Ca = o + 32 | 0;
+ return m;
+}
+function zi(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0;
+ e = Ca + -64 | 0;
+ Ca = e;
+ m = q[a + 100 >> 2];
+ h = q[a + 104 >> 2];
+ q[e + 52 >> 2] = 0;
+ f = q[a + 736 >> 2];
+ a : {
+  b : {
+   if (!f) {
+    c = n[q[a + 516 >> 2]](a, 1735811442, h, e + 56 | 0) | 0;
+    q[e + 52 >> 2] = c;
+    if (c) {
+     c = n[q[a + 516 >> 2]](a, 1128678962, h, e + 56 | 0) | 0;
+     q[e + 52 >> 2] = c;
+     if (c) {
+      break a;
+     }
+    }
+    c = n[q[a + 516 >> 2]](a, 1719034226, h, e + 56 | 0) | 0;
+    q[e + 52 >> 2] = c;
+    if (c) {
+     break a;
+    }
+    v = q[h + 8 >> 2];
+    c = Xg(h, 5104, e + 32 | 0);
+    q[e + 52 >> 2] = c;
+    if (c) {
+     break a;
+    }
+    d = s[e + 38 >> 1];
+    g = s[e + 44 >> 1];
+    c = Oe(m, 80, e + 52 | 0);
+    q[a + 736 >> 2] = c;
+    if (q[e + 52 >> 2]) {
+     break a;
+    }
+    i = s[e + 38 >> 1];
+    q[c >> 2] = i;
+    B = (g | 0) == ((d << 2) + 6 | 0);
+    break b;
+   }
+   i = q[f >> 2];
+   c = f;
+  }
+  j = q[a + 12 >> 2] >>> 16 | 0;
+  x = w(j, 12);
+  y = (i << 1) + 3 & -4;
+  C = w(i, j);
+  z = C << 2;
+  A = (w(i, 24) | 4) + -1 & -8;
+  c : {
+   if (f) {
+    break c;
+   }
+   f = c;
+   c = ((((w(i, 5) + y | 0) + A | 0) + x | 0) + z | 0) + 20 | 0;
+   q[f + 16 >> 2] = c;
+   g = Oe(m, c, e + 52 | 0);
+   if (q[e + 52 >> 2]) {
+    break a;
+   }
+   q[q[a + 736 >> 2] + 12 >> 2] = g;
+   k = g + 20 | 0;
+   l = y + k | 0;
+   q[g + 12 >> 2] = l;
+   q[g + 8 >> 2] = j;
+   q[g + 4 >> 2] = -1;
+   q[g >> 2] = i;
+   u = l + A | 0;
+   q[g + 16 >> 2] = u;
+   f = u + x | 0;
+   if (j) {
+    d = 0;
+    D = i << 2;
+    c = f;
+    while (1) {
+     q[u + w(d, 12) >> 2] = c;
+     c = c + D | 0;
+     d = d + 1 | 0;
+     if ((j | 0) != (d | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (i) {
+    d = f + z | 0;
+    c = 0;
+    while (1) {
+     q[l + w(c, 24) >> 2] = d;
+     d = d + 5 | 0;
+     c = c + 1 | 0;
+     if ((i | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   c = yg(h, s[e + 36 >> 1] + v | 0);
+   q[e + 52 >> 2] = c;
+   if (c) {
+    break a;
+   }
+   if (i) {
+    d = q[g + 12 >> 2];
+    f = 0;
+    while (1) {
+     c = Xg(h, 5152, e + 8 | 0);
+     q[e + 52 >> 2] = c;
+     if (c) {
+      break a;
+     }
+     c = q[e + 8 >> 2];
+     q[d + 16 >> 2] = c;
+     q[d + 4 >> 2] = q[e + 12 >> 2];
+     q[d + 8 >> 2] = q[e + 16 >> 2];
+     q[d + 12 >> 2] = q[e + 20 >> 2];
+     q[d + 20 >> 2] = s[e + 26 >> 1];
+     o[q[d >> 2]] = c >>> 24;
+     o[q[d >> 2] + 1 | 0] = s[d + 18 >> 1];
+     o[q[d >> 2] + 2 | 0] = q[d + 16 >> 2] >>> 8;
+     o[q[d >> 2] + 3 | 0] = q[d + 16 >> 2];
+     o[q[d >> 2] + 4 | 0] = 0;
+     p[k >> 1] = s[e + 24 >> 1];
+     c = q[d + 8 >> 2];
+     if (!((c | 0) <= q[d + 12 >> 2] ? q[d + 4 >> 2] <= (c | 0) : 0)) {
+      q[d + 12 >> 2] = c;
+      q[d + 4 >> 2] = c;
+     }
+     k = k + 2 | 0;
+     d = d + 24 | 0;
+     f = f + 1 | 0;
+     if ((f | 0) != (i | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   d = 0;
+   c = Te(m, 4, 0, C, 0, e + 52 | 0);
+   f = q[a + 736 >> 2];
+   q[f + 20 >> 2] = c;
+   if (q[e + 52 >> 2]) {
+    break a;
+   }
+   d : {
+    if (!s[e + 42 >> 1]) {
+     break d;
+    }
+    if (!r[f + 24 | 0]) {
+     c = q[h + 8 >> 2];
+     Ai(a);
+     c = yg(h, c);
+     q[e + 52 >> 2] = c;
+     if (c) {
+      break a;
+     }
+     if (!s[e + 42 >> 1]) {
+      break d;
+     }
+    }
+    u = i << 2;
+    v = u + (B ? 6 : 4) | 0;
+    f = q[g + 16 >> 2];
+    k = q[q[a + 736 >> 2] + 20 >> 2];
+    l = 0;
+    while (1) {
+     c = Kg(h, v);
+     q[e + 52 >> 2] = c;
+     if (c) {
+      break a;
+     }
+     E = f, F = Pg(h), q[E + 4 >> 2] = F;
+     Pg(h);
+     if (i) {
+      d = q[f >> 2];
+      c = 0;
+      while (1) {
+       E = d, F = Rg(h), q[E >> 2] = F;
+       d = d + 4 | 0;
+       c = c + 1 | 0;
+       if ((i | 0) != (c | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     c = f;
+     if (B) {
+      d = Pg(h);
+     } else {
+      d = 65535;
+     }
+     q[c + 8 >> 2] = d;
+     Bi(a, i, q[f >> 2], k);
+     Ng(h);
+     f = f + 12 | 0;
+     k = k + u | 0;
+     l = l + 1 | 0;
+     d = s[e + 42 >> 1];
+     if (l >>> 0 < d >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   e : {
+    if ((d | 0) == (j | 0)) {
+     break e;
+    }
+    c = 17;
+    f = q[a + 540 >> 2];
+    if (!n[q[f + 148 >> 2]](a, 17, e + 8 | 0, e + 60 | 0)) {
+     c = 2;
+     if (!n[q[f + 148 >> 2]](a, 2, e + 8 | 0, e + 60 | 0)) {
+      break e;
+     }
+    }
+    if (!n[q[f + 148 >> 2]](a, 6, e + 8 | 0, e + 60 | 0)) {
+     break e;
+    }
+    f = q[g + 16 >> 2] + w(s[e + 42 >> 1], 12) | 0;
+    q[f + 8 >> 2] = 6;
+    q[f + 4 >> 2] = c;
+    if (!i) {
+     break e;
+    }
+    d = q[f >> 2];
+    c = q[g + 12 >> 2];
+    f = 0;
+    while (1) {
+     q[d >> 2] = q[c + 8 >> 2];
+     d = d + 4 | 0;
+     c = c + 24 | 0;
+     f = f + 1 | 0;
+     if ((i | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   d = q[a + 736 >> 2];
+   f = q[a + 104 >> 2];
+   c = q[f + 28 >> 2];
+   h = n[q[a + 516 >> 2]](a, 1297498450, f, e + 60 | 0) | 0;
+   q[e + 8 >> 2] = h;
+   if (h) {
+    break c;
+   }
+   h = q[f + 8 >> 2];
+   g = Bg(f, e + 8 | 0);
+   if (q[e + 8 >> 2]) {
+    break c;
+   }
+   j = Ag(f, 2);
+   q[e + 8 >> 2] = j;
+   if (j | (g | 0) != 1) {
+    break c;
+   }
+   E = d, F = Oe(c, 28, e + 8 | 0), q[E + 56 >> 2] = F;
+   if (q[e + 8 >> 2]) {
+    break c;
+   }
+   g = Ag(f, 4);
+   q[e + 8 >> 2] = g;
+   if (g) {
+    break c;
+   }
+   g = Bg(f, e + 8 | 0);
+   p[q[d + 56 >> 2] >> 1] = g;
+   if (q[e + 8 >> 2]) {
+    break c;
+   }
+   g = Bg(f, e + 8 | 0);
+   if (q[e + 8 >> 2]) {
+    break c;
+   }
+   j = q[f + 8 >> 2];
+   h = Ci(a, g + h | 0, q[d + 56 >> 2] + 4 | 0);
+   q[e + 8 >> 2] = h;
+   if (h) {
+    break c;
+   }
+   c = Te(c, 12, 0, s[q[d + 56 >> 2] >> 1], 0, e + 8 | 0);
+   q[q[d + 56 >> 2] + 24 >> 2] = c;
+   if (q[e + 8 >> 2]) {
+    break c;
+   }
+   c = yg(f, j);
+   q[e + 8 >> 2] = c;
+   if (c) {
+    break c;
+   }
+   c = Kg(f, s[q[d + 56 >> 2] >> 1] << 3);
+   q[e + 8 >> 2] = c;
+   if (c) {
+    break c;
+   }
+   h = q[d + 56 >> 2];
+   g = s[h >> 1];
+   f : {
+    if (!g) {
+     break f;
+    }
+    c = q[h + 24 >> 2];
+    g = c + w(g, 12) | 0;
+    while (1) {
+     g : {
+      E = c, F = Rg(f), q[E >> 2] = F;
+      E = c, F = Pg(f), p[E + 4 >> 1] = F;
+      j = Pg(f);
+      p[c + 6 >> 1] = j;
+      k = s[c + 4 >> 1];
+      if (t[h + 4 >> 2] <= k >>> 0 | t[q[h + 8 >> 2] + (k << 4) >> 2] <= j >>> 0) {
+       break g;
+      }
+      c = c + 12 | 0;
+      if (c >>> 0 < g >>> 0) {
+       continue;
+      }
+      break f;
+     }
+     break;
+    }
+    q[e + 8 >> 2] = 8;
+   }
+   Ng(f);
+   if (q[e + 8 >> 2]) {
+    break c;
+   }
+   c = q[d + 56 >> 2];
+   f = s[c >> 1];
+   if (f) {
+    d = q[c + 24 >> 2];
+    c = d + w(f, 12) | 0;
+    while (1) {
+     f = Di(a, q[d >> 2]);
+     if (f) {
+      p[d + 8 >> 1] = s[f >> 1];
+     }
+     d = d + 12 | 0;
+     if (d >>> 0 < c >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[a + 740 >> 2] = q[a + 740 >> 2] | 256;
+  }
+  if (!b) {
+   break a;
+  }
+  c = Oe(m, q[q[a + 736 >> 2] + 16 >> 2], e + 52 | 0);
+  if (q[e + 52 >> 2]) {
+   break a;
+  }
+  a = q[a + 736 >> 2];
+  h = Y$(c, q[a + 12 >> 2], q[a + 16 >> 2]);
+  a = (h + y | 0) + 20 | 0;
+  g = A + a | 0;
+  q[h + 16 >> 2] = g;
+  q[h + 12 >> 2] = a;
+  f = g + x | 0;
+  j = q[h + 8 >> 2];
+  if (j) {
+   d = 0;
+   m = i << 2;
+   c = f;
+   while (1) {
+    q[g + w(d, 12) >> 2] = c;
+    c = c + m | 0;
+    d = d + 1 | 0;
+    if ((j | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (i) {
+   d = f + z | 0;
+   f = 0;
+   while (1) {
+    q[a >> 2] = d;
+    c = a;
+    j = c;
+    h : {
+     i : {
+      j : {
+       g = q[c + 16 >> 2];
+       if ((g | 0) <= 2003072103) {
+        if ((g | 0) == 1869640570) {
+         break j;
+        }
+        if ((g | 0) != 1936486004) {
+         break h;
+        }
+        c = 5209;
+        break i;
+       }
+       c = 5184;
+       if ((g | 0) == 2003265652) {
+        break i;
+       }
+       if ((g | 0) != 2003072104) {
+        break h;
+       }
+       c = 5191;
+       break i;
+      }
+      c = 5197;
+     }
+     q[j >> 2] = c;
+    }
+    a = a + 24 | 0;
+    d = d + 5 | 0;
+    f = f + 1 | 0;
+    if ((i | 0) != (f | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[b >> 2] = h;
+ }
+ Ca = e - -64 | 0;
+ return q[e + 52 >> 2];
+}
+function v_(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0;
+ g = Ca - 432 | 0;
+ Ca = g;
+ h = q[b + 4 >> 2];
+ a : {
+  if (h >>> 0 < t[b + 104 >> 2]) {
+   q[b + 4 >> 2] = h + 1;
+   i = r[h | 0];
+   break a;
+  }
+  i = p_(b);
+ }
+ b : {
+  c : {
+   while (1) {
+    d : {
+     if ((i | 0) != 48) {
+      if ((i | 0) != 46) {
+       break b;
+      }
+      h = q[b + 4 >> 2];
+      if (h >>> 0 >= t[b + 104 >> 2]) {
+       break d;
+      }
+      q[b + 4 >> 2] = h + 1;
+      i = r[h | 0];
+      break c;
+     }
+     h = q[b + 4 >> 2];
+     if (h >>> 0 < t[b + 104 >> 2]) {
+      z = 1;
+      q[b + 4 >> 2] = h + 1;
+      i = r[h | 0];
+     } else {
+      z = 1;
+      i = p_(b);
+     }
+     continue;
+    }
+    break;
+   }
+   i = p_(b);
+  }
+  y = 1;
+  if ((i | 0) != 48) {
+   break b;
+  }
+  while (1) {
+   j = j + -1 | 0;
+   h = v + -1 | 0;
+   if (h >>> 0 < 4294967295) {
+    j = j + 1 | 0;
+   }
+   v = h;
+   h = q[b + 4 >> 2];
+   e : {
+    if (h >>> 0 < t[b + 104 >> 2]) {
+     q[b + 4 >> 2] = h + 1;
+     i = r[h | 0];
+     break e;
+    }
+    i = p_(b);
+   }
+   if ((i | 0) == 48) {
+    continue;
+   }
+   break;
+  }
+  z = 1;
+ }
+ h = 1073676288;
+ while (1) {
+  f : {
+   A = i | 32;
+   g : {
+    h : {
+     B = i + -48 | 0;
+     if (B >>> 0 < 10) {
+      break h;
+     }
+     if (A + -97 >>> 0 > 5 ? (i | 0) != 46 : 0) {
+      break f;
+     }
+     if ((i | 0) != 46) {
+      break h;
+     }
+     if (y) {
+      break f;
+     }
+     y = 1;
+     v = n;
+     j = k;
+     break g;
+    }
+    i = (i | 0) > 57 ? A + -87 | 0 : B;
+    i : {
+     if ((k | 0) < 0 ? 1 : (k | 0) <= 0 ? n >>> 0 > 7 ? 0 : 1 : 0) {
+      p = i + (p << 4) | 0;
+      break i;
+     }
+     if ((k | 0) < 0 ? 1 : (k | 0) <= 0 ? n >>> 0 > 28 ? 0 : 1 : 0) {
+      t$(g + 48 | 0, i);
+      w$(g + 32 | 0, w, x, o, h, 0, 0, 0, 1073414144);
+      w = q[g + 32 >> 2];
+      x = q[g + 36 >> 2];
+      o = q[g + 40 >> 2];
+      h = q[g + 44 >> 2];
+      w$(g + 16 | 0, w, x, o, h, q[g + 48 >> 2], q[g + 52 >> 2], q[g + 56 >> 2], q[g + 60 >> 2]);
+      m$(g, l, m, s, u, q[g + 16 >> 2], q[g + 20 >> 2], q[g + 24 >> 2], q[g + 28 >> 2]);
+      s = q[g + 8 >> 2];
+      u = q[g + 12 >> 2];
+      l = q[g >> 2];
+      m = q[g + 4 >> 2];
+      break i;
+     }
+     if (!i | E) {
+      break i;
+     }
+     w$(g + 80 | 0, w, x, o, h, 0, 0, 0, 1073610752);
+     m$(g - -64 | 0, l, m, s, u, q[g + 80 >> 2], q[g + 84 >> 2], q[g + 88 >> 2], q[g + 92 >> 2]);
+     s = q[g + 72 >> 2];
+     u = q[g + 76 >> 2];
+     E = 1;
+     l = q[g + 64 >> 2];
+     m = q[g + 68 >> 2];
+    }
+    n = n + 1 | 0;
+    if (n >>> 0 < 1) {
+     k = k + 1 | 0;
+    }
+    z = 1;
+   }
+   i = q[b + 4 >> 2];
+   if (i >>> 0 < t[b + 104 >> 2]) {
+    q[b + 4 >> 2] = i + 1;
+    i = r[i | 0];
+   } else {
+    i = p_(b);
+   }
+   continue;
+  }
+  break;
+ }
+ j : {
+  k : {
+   l : {
+    if (!z) {
+     if (!q[b + 104 >> 2]) {
+      if (f) {
+       break k;
+      }
+      break l;
+     }
+     c = q[b + 4 >> 2];
+     q[b + 4 >> 2] = c + -1;
+     if (!f) {
+      break l;
+     }
+     q[b + 4 >> 2] = c + -2;
+     if (!y) {
+      break k;
+     }
+     q[b + 4 >> 2] = c + -3;
+     break k;
+    }
+    if ((k | 0) < 0 ? 1 : (k | 0) <= 0 ? n >>> 0 > 7 ? 0 : 1 : 0) {
+     o = n;
+     h = k;
+     while (1) {
+      p = p << 4;
+      i = o + 1 | 0;
+      if (i >>> 0 < 1) {
+       h = h + 1 | 0;
+      }
+      o = i;
+      if ((i | 0) != 8 | h) {
+       continue;
+      }
+      break;
+     }
+    }
+    m : {
+     if ((A | 0) == 112) {
+      o = x_(b, f);
+      i = Ea;
+      h = i;
+      if (o | (h | 0) != -2147483648) {
+       break m;
+      }
+      if (f) {
+       o = 0;
+       h = 0;
+       if (!q[b + 104 >> 2]) {
+        break m;
+       }
+       q[b + 4 >> 2] = q[b + 4 >> 2] + -1;
+       break m;
+      }
+      l = 0;
+      m = 0;
+      o_(b, 0, 0);
+      c = 0;
+      b = 0;
+      break j;
+     }
+     o = 0;
+     h = 0;
+     if (!q[b + 104 >> 2]) {
+      break m;
+     }
+     q[b + 4 >> 2] = q[b + 4 >> 2] + -1;
+    }
+    if (!p) {
+     r$(g + 112 | 0, +(e | 0) * 0);
+     l = q[g + 112 >> 2];
+     m = q[g + 116 >> 2];
+     c = q[g + 120 >> 2];
+     b = q[g + 124 >> 2];
+     break j;
+    }
+    f = y ? v : n;
+    j = (y ? j : k) << 2 | f >>> 30;
+    b = o + (f << 2) | 0;
+    f = h + j | 0;
+    f = b >>> 0 < o >>> 0 ? f + 1 | 0 : f;
+    b = b + -32 | 0;
+    h = f + -1 | 0;
+    h = b >>> 0 < 4294967264 ? h + 1 | 0 : h;
+    n = b;
+    b = 0 - d | 0;
+    f = n >>> 0 <= b >>> 0 ? 0 : 1;
+    k = h;
+    b = b >> 31;
+    if ((h | 0) > (b | 0) ? 1 : (h | 0) >= (b | 0) ? f : 0) {
+     q[160854] = 68;
+     t$(g + 160 | 0, e);
+     w$(g + 144 | 0, q[g + 160 >> 2], q[g + 164 >> 2], q[g + 168 >> 2], q[g + 172 >> 2], -1, -1, -1, 2147418111);
+     w$(g + 128 | 0, q[g + 144 >> 2], q[g + 148 >> 2], q[g + 152 >> 2], q[g + 156 >> 2], -1, -1, -1, 2147418111);
+     l = q[g + 128 >> 2];
+     m = q[g + 132 >> 2];
+     c = q[g + 136 >> 2];
+     b = q[g + 140 >> 2];
+     break j;
+    }
+    b = d + -226 | 0;
+    f = n >>> 0 < b >>> 0 ? 0 : 1;
+    b = b >> 31;
+    if ((k | 0) > (b | 0) ? 1 : (k | 0) >= (b | 0) ? f : 0) {
+     if ((p | 0) > -1) {
+      while (1) {
+       m$(g + 416 | 0, l, m, s, u, 0, 0, 0, -1073807360);
+       h = p$(l, m, s, u);
+       f = (h | 0) < 0;
+       b = f;
+       m$(g + 400 | 0, l, m, s, u, b ? l : q[g + 416 >> 2], b ? m : q[g + 420 >> 2], b ? s : q[g + 424 >> 2], b ? u : q[g + 428 >> 2]);
+       k = k + -1 | 0;
+       b = n + -1 | 0;
+       if (b >>> 0 < 4294967295) {
+        k = k + 1 | 0;
+       }
+       n = b;
+       s = q[g + 408 >> 2];
+       u = q[g + 412 >> 2];
+       l = q[g + 400 >> 2];
+       m = q[g + 404 >> 2];
+       p = p << 1 | (h | 0) > -1;
+       if ((p | 0) > -1) {
+        continue;
+       }
+       break;
+      }
+     }
+     b = d;
+     o = (n - b | 0) + 32 | 0;
+     j = k - ((b >> 31) + (n >>> 0 < b >>> 0) | 0) | 0;
+     b = o;
+     d = (b | 0) > 0 ? b : 0;
+     h = c;
+     j = b >>> 0 < 32 ? j + 1 | 0 : j;
+     b = h >> 31;
+     c = ((j | 0) < (b | 0) ? 1 : (j | 0) <= (b | 0) ? o >>> 0 >= h >>> 0 ? 0 : 1 : 0) ? d : h;
+     n : {
+      if ((c | 0) >= 113) {
+       t$(g + 384 | 0, e);
+       v = q[g + 392 >> 2];
+       j = q[g + 396 >> 2];
+       w = q[g + 384 >> 2];
+       x = q[g + 388 >> 2];
+       d = 0;
+       b = 0;
+       break n;
+      }
+      r$(g + 352 | 0, W$(1, 144 - c | 0));
+      t$(g + 336 | 0, e);
+      w = q[g + 336 >> 2];
+      x = q[g + 340 >> 2];
+      v = q[g + 344 >> 2];
+      j = q[g + 348 >> 2];
+      s_(g + 368 | 0, q[g + 352 >> 2], q[g + 356 >> 2], q[g + 360 >> 2], q[g + 364 >> 2], w, x, v, j);
+      C = q[g + 376 >> 2];
+      D = q[g + 380 >> 2];
+      d = q[g + 372 >> 2];
+      b = q[g + 368 >> 2];
+     }
+     c = !(p & 1) & ((o$(l, m, s, u, 0, 0, 0, 0) | 0) != 0 & (c | 0) < 32);
+     u$(g + 320 | 0, c + p | 0);
+     w$(g + 304 | 0, w, x, v, j, q[g + 320 >> 2], q[g + 324 >> 2], q[g + 328 >> 2], q[g + 332 >> 2]);
+     m$(g + 272 | 0, q[g + 304 >> 2], q[g + 308 >> 2], q[g + 312 >> 2], q[g + 316 >> 2], b, d, C, D);
+     w$(g + 288 | 0, c ? 0 : l, c ? 0 : m, c ? 0 : s, c ? 0 : u, w, x, v, j);
+     m$(g + 256 | 0, q[g + 288 >> 2], q[g + 292 >> 2], q[g + 296 >> 2], q[g + 300 >> 2], q[g + 272 >> 2], q[g + 276 >> 2], q[g + 280 >> 2], q[g + 284 >> 2]);
+     y$(g + 240 | 0, q[g + 256 >> 2], q[g + 260 >> 2], q[g + 264 >> 2], q[g + 268 >> 2], b, d, C, D);
+     e = q[g + 240 >> 2];
+     d = q[g + 244 >> 2];
+     c = q[g + 248 >> 2];
+     b = q[g + 252 >> 2];
+     if (!o$(e, d, c, b, 0, 0, 0, 0)) {
+      q[160854] = 68;
+     }
+     t_(g + 224 | 0, e, d, c, b, n);
+     l = q[g + 224 >> 2];
+     m = q[g + 228 >> 2];
+     c = q[g + 232 >> 2];
+     b = q[g + 236 >> 2];
+     break j;
+    }
+    q[160854] = 68;
+    t$(g + 208 | 0, e);
+    w$(g + 192 | 0, q[g + 208 >> 2], q[g + 212 >> 2], q[g + 216 >> 2], q[g + 220 >> 2], 0, 0, 0, 65536);
+    w$(g + 176 | 0, q[g + 192 >> 2], q[g + 196 >> 2], q[g + 200 >> 2], q[g + 204 >> 2], 0, 0, 0, 65536);
+    l = q[g + 176 >> 2];
+    m = q[g + 180 >> 2];
+    c = q[g + 184 >> 2];
+    b = q[g + 188 >> 2];
+    break j;
+   }
+   o_(b, 0, 0);
+  }
+  r$(g + 96 | 0, +(e | 0) * 0);
+  l = q[g + 96 >> 2];
+  m = q[g + 100 >> 2];
+  c = q[g + 104 >> 2];
+  b = q[g + 108 >> 2];
+ }
+ q[a >> 2] = l;
+ q[a + 4 >> 2] = m;
+ q[a + 8 >> 2] = c;
+ q[a + 12 >> 2] = b;
+ Ca = g + 432 | 0;
+}
+function Cz(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ d = Ca - 96 | 0;
+ Ca = d;
+ a : {
+  if (q[a + 24 >> 2] == 7) {
+   c = q[a + 140 >> 2];
+   q[d + 88 >> 2] = q[a + 136 >> 2];
+   q[d + 92 >> 2] = c;
+   c = q[a + 132 >> 2];
+   q[d + 80 >> 2] = q[a + 128 >> 2];
+   q[d + 84 >> 2] = c;
+   j = q[a + 32 >> 2];
+   b : {
+    if (!j) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break b;
+    }
+    c = q[a + 36 >> 2];
+   }
+   k = r[a + 176 | 0];
+   c : {
+    if (!k) {
+     break c;
+    }
+    e = q[c + 20 >> 2];
+    if (!e | (e | 0) != q[a + 168 >> 2]) {
+     break c;
+    }
+    h = q[c + 24 >> 2];
+    i = q[a + 172 >> 2];
+    g = v[c >> 3];
+    while (1) {
+     g = g + v[h + (f << 3) >> 3] * +u[i + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((e | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break c;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   v[d + 80 >> 3] = v[d + 80 >> 3] + v[c >> 3];
+   c = q[d + 92 >> 2];
+   q[d + 72 >> 2] = q[d + 88 >> 2];
+   q[d + 76 >> 2] = c;
+   c = q[d + 84 >> 2];
+   q[d + 64 >> 2] = q[d + 80 >> 2];
+   q[d + 68 >> 2] = c;
+   if (t[a + 24 >> 2] <= 1) {
+    o[a + 20 | 0] = 1;
+   }
+   d : {
+    if (j >>> 0 <= 1) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break d;
+    }
+    c = q[a + 36 >> 2] + 32 | 0;
+   }
+   e : {
+    if (!k) {
+     break e;
+    }
+    e = q[c + 20 >> 2];
+    if (!e | (e | 0) != q[a + 168 >> 2]) {
+     break e;
+    }
+    h = q[c + 24 >> 2];
+    i = q[a + 172 >> 2];
+    g = v[c >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[h + (f << 3) >> 3] * +u[i + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((e | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break e;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   if (t[a + 24 >> 2] <= 2) {
+    o[a + 20 | 0] = 1;
+   }
+   f : {
+    if (j >>> 0 <= 2) {
+     e = q[67767];
+     q[160662] = q[67766];
+     q[160663] = e;
+     e = q[67765];
+     q[160660] = q[67764];
+     q[160661] = e;
+     e = q[67763];
+     q[160658] = q[67762];
+     q[160659] = e;
+     e = q[67761];
+     q[160656] = q[67760];
+     q[160657] = e;
+     e = 642624;
+     break f;
+    }
+    e = q[a + 36 >> 2] - -64 | 0;
+   }
+   g : {
+    if (!k) {
+     break g;
+    }
+    h = q[e + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break g;
+    }
+    i = q[e + 24 >> 2];
+    l = q[a + 172 >> 2];
+    g = v[e >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[i + (f << 3) >> 3] * +u[l + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((h | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[e + 8 >> 2] = 0;
+    q[e + 12 >> 2] = 0;
+    v[e >> 3] = g;
+    if (q[e + 16 >> 2] < 0) {
+     break g;
+    }
+    q[e + 20 >> 2] = 0;
+   }
+   v[d + 64 >> 3] = v[d + 64 >> 3] + v[c >> 3];
+   v[d + 72 >> 3] = v[d + 72 >> 3] + v[e >> 3];
+   c = q[d + 76 >> 2];
+   q[d + 56 >> 2] = q[d + 72 >> 2];
+   q[d + 60 >> 2] = c;
+   c = q[d + 68 >> 2];
+   q[d + 48 >> 2] = q[d + 64 >> 2];
+   q[d + 52 >> 2] = c;
+   if (t[a + 24 >> 2] <= 3) {
+    o[a + 20 | 0] = 1;
+   }
+   h : {
+    if (j >>> 0 <= 3) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break h;
+    }
+    c = q[a + 36 >> 2] + 96 | 0;
+   }
+   i : {
+    if (!k) {
+     break i;
+    }
+    e = q[c + 20 >> 2];
+    if (!e | (e | 0) != q[a + 168 >> 2]) {
+     break i;
+    }
+    h = q[c + 24 >> 2];
+    i = q[a + 172 >> 2];
+    g = v[c >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[h + (f << 3) >> 3] * +u[i + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((e | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break i;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   v[d + 48 >> 3] = v[d + 48 >> 3] + v[c >> 3];
+   c = q[d + 60 >> 2];
+   q[d + 40 >> 2] = q[d + 56 >> 2];
+   q[d + 44 >> 2] = c;
+   c = q[d + 52 >> 2];
+   q[d + 32 >> 2] = q[d + 48 >> 2];
+   q[d + 36 >> 2] = c;
+   if (t[a + 24 >> 2] <= 4) {
+    o[a + 20 | 0] = 1;
+   }
+   j : {
+    if (j >>> 0 <= 4) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break j;
+    }
+    c = q[a + 36 >> 2] + 128 | 0;
+   }
+   k : {
+    if (!k) {
+     break k;
+    }
+    e = q[c + 20 >> 2];
+    if (!e | (e | 0) != q[a + 168 >> 2]) {
+     break k;
+    }
+    h = q[c + 24 >> 2];
+    i = q[a + 172 >> 2];
+    g = v[c >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[h + (f << 3) >> 3] * +u[i + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((e | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break k;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   v[d + 32 >> 3] = v[d + 32 >> 3] + v[c >> 3];
+   c = q[d + 44 >> 2];
+   q[d + 24 >> 2] = q[d + 40 >> 2];
+   q[d + 28 >> 2] = c;
+   c = q[d + 36 >> 2];
+   q[d + 16 >> 2] = q[d + 32 >> 2];
+   q[d + 20 >> 2] = c;
+   if (t[a + 24 >> 2] <= 5) {
+    o[a + 20 | 0] = 1;
+   }
+   l : {
+    if (j >>> 0 <= 5) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break l;
+    }
+    c = q[a + 36 >> 2] + 160 | 0;
+   }
+   m : {
+    if (!k) {
+     break m;
+    }
+    e = q[c + 20 >> 2];
+    if (!e | (e | 0) != q[a + 168 >> 2]) {
+     break m;
+    }
+    h = q[c + 24 >> 2];
+    i = q[a + 172 >> 2];
+    g = v[c >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[h + (f << 3) >> 3] * +u[i + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((e | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break m;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   g = v[c >> 3];
+   c = q[d + 92 >> 2];
+   e = q[d + 88 >> 2];
+   q[d + 24 >> 2] = e;
+   q[d + 28 >> 2] = c;
+   v[d + 16 >> 3] = g + v[d + 16 >> 3];
+   q[d + 8 >> 2] = e;
+   q[d + 12 >> 2] = c;
+   c = q[d + 20 >> 2];
+   q[d >> 2] = q[d + 16 >> 2];
+   q[d + 4 >> 2] = c;
+   if (t[a + 24 >> 2] <= 6) {
+    o[a + 20 | 0] = 1;
+   }
+   n : {
+    if (j >>> 0 <= 6) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break n;
+    }
+    c = q[a + 36 >> 2] + 192 | 0;
+   }
+   o : {
+    if (!k) {
+     break o;
+    }
+    e = q[c + 20 >> 2];
+    if (!e | (e | 0) != q[a + 168 >> 2]) {
+     break o;
+    }
+    j = q[c + 24 >> 2];
+    k = q[a + 172 >> 2];
+    g = v[c >> 3];
+    f = 0;
+    while (1) {
+     g = g + v[j + (f << 3) >> 3] * +u[k + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((e | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break o;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   v[d >> 3] = v[d >> 3] + v[c >> 3];
+   uz(a, b, d + 80 | 0, d - -64 | 0, d + 48 | 0);
+   uz(a, b, d + 32 | 0, d + 16 | 0, d);
+   break a;
+  }
+  o[a + 40 | 0] = 1;
+ }
+ Ca = d + 96 | 0;
+}
+function MJ(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, s = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0;
+ f = Ca - 48 | 0;
+ Ca = f;
+ KJ(a, f + 32 | 0);
+ v = f;
+ a : {
+  b : {
+   c : {
+    k = q[f + 40 >> 2];
+    if (!k) {
+     break c;
+    }
+    j = q[f + 32 >> 2];
+    q[f + 28 >> 2] = j;
+    h = 7;
+    i = q[f + 36 >> 2];
+    g = q[b + 8 >> 2];
+    d : {
+     if ((g | 0) == 7) {
+      g = q[a + 8 >> 2];
+      e = i + -1 | 0;
+      q[a + 8 >> 2] = e;
+      l = 1;
+      m = q[a >> 2];
+      j = j + 1 | 0;
+      q[a >> 2] = j;
+      KJ(a, f);
+      q[a + 8 >> 2] = g;
+      q[a >> 2] = m;
+      if (q[f + 8 >> 2] != 3) {
+       break d;
+      }
+      if (!d) {
+       break c;
+      }
+      q[f + 28 >> 2] = j;
+      h = 8;
+      i = e;
+      n = 1;
+      break d;
+     }
+     if ((k | 0) != 3) {
+      e = 1;
+     } else {
+      if (!d) {
+       break c;
+      }
+      n = 1;
+      q[f + 28 >> 2] = j + 1;
+      i = i + -1 | 0;
+      e = d;
+     }
+     l = e;
+     h = g;
+    }
+    x = w(d, 3);
+    y = d << 1;
+    z = d << 2;
+    u = h + -1 | 0;
+    A = u >>> 0 > 7;
+    m = k + -2 | 0;
+    while (1) {
+     e = q[(n << 2) + c >> 2];
+     g = q[b + 16 >> 2];
+     wJ(f + 28 | 0, i);
+     if (A) {
+      break c;
+     }
+     k = e + g | 0;
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           switch (u - 1 | 0) {
+           default:
+            k : {
+             h = q[f + 28 >> 2];
+             e = h + 3 | 0;
+             if (e >>> 0 >= i >>> 0 | r[h | 0] != 116 | (r[h + 1 | 0] != 114 | r[h + 2 | 0] != 117)) {
+              break k;
+             }
+             if (r[e | 0] != 101) {
+              break k;
+             }
+             g = 1;
+             q[f + 28 >> 2] = h + 5;
+             break i;
+            }
+            g = 0;
+            l : {
+             if (r[h | 0] != 102 | h + 4 >>> 0 >= i >>> 0 | (r[h + 1 | 0] != 97 | r[h + 2 | 0] != 108)) {
+              break l;
+             }
+             if (r[e | 0] != 115) {
+              break l;
+             }
+             h = r[h + 4 | 0] == 101 ? h + 6 | 0 : h;
+            }
+            q[f + 28 >> 2] = h;
+            break i;
+           case 1:
+            g = EJ(f + 28 | 0, i, 0);
+            break i;
+           case 2:
+            g = EJ(f + 28 | 0, i, 3);
+            break i;
+           case 6:
+            break f;
+           case 5:
+            break g;
+           case 3:
+           case 4:
+            break h;
+           case 0:
+            break j;
+           }
+          }
+          j = q[f + 28 >> 2];
+          q[f >> 2] = j;
+          e = CJ(f, i, 10);
+          g = 0;
+          h = q[f >> 2];
+          if ((j | 0) == (h | 0)) {
+           break i;
+          }
+          if (!(r[h | 0] != 35 | h >>> 0 >= i >>> 0)) {
+           j = h + 1 | 0;
+           q[f >> 2] = j;
+           e = CJ(f, i, e);
+           h = q[f >> 2];
+           if ((j | 0) == (h | 0)) {
+            break i;
+           }
+          }
+          q[f + 28 >> 2] = h;
+          g = e;
+         }
+         m : {
+          e = r[b + 20 | 0] + -1 | 0;
+          if (e >>> 0 > 3) {
+           break m;
+          }
+          n : {
+           switch (e - 1 | 0) {
+           default:
+            o[k | 0] = g;
+            break e;
+           case 1:
+           case 2:
+            break m;
+           case 0:
+            break n;
+           }
+          }
+          p[k >> 1] = g;
+          break e;
+         }
+         q[k >> 2] = g;
+         break e;
+        }
+        e = q[f + 28 >> 2];
+        if (i >>> 0 <= e >>> 0) {
+         break e;
+        }
+        if (m >>> 0 > 2) {
+         break c;
+        }
+        g = i - e | 0;
+        j = q[a + 16 >> 2];
+        o : {
+         p : {
+          switch (m - 1 | 0) {
+          default:
+           e = e + 1 | 0;
+           q[f + 28 >> 2] = e;
+           h = g + -2 | 0;
+           break o;
+          case 1:
+           break p;
+          case 0:
+           break c;
+          }
+         }
+         e = e + 1 | 0;
+         q[f + 28 >> 2] = e;
+         h = g + -1 | 0;
+        }
+        g = q[k >> 2];
+        if (g) {
+         Qe(j, g);
+         q[k >> 2] = 0;
+        }
+        j = Oe(j, h + 1 | 0, f + 24 | 0);
+        g = q[f + 24 >> 2];
+        if (g) {
+         break a;
+        }
+        e = Y$(j, e, h);
+        o[e + h | 0] = 0;
+        q[k >> 2] = e;
+        break e;
+       }
+       h = q[f + 28 >> 2];
+       q[f + 44 >> 2] = h;
+       q : {
+        if (h >>> 0 >= i >>> 0) {
+         break q;
+        }
+        e = r[h | 0];
+        j = (e | 0) == 91 ? 93 : (e | 0) == 123 ? 125 : 0;
+        if (j) {
+         h = h + 1 | 0;
+         q[f + 44 >> 2] = h;
+        }
+        g = 0;
+        if (h >>> 0 >= i >>> 0) {
+         break q;
+        }
+        r : {
+         while (1) {
+          s : {
+           wJ(f + 44 | 0, i);
+           h = q[f + 44 >> 2];
+           if (h >>> 0 >= i >>> 0) {
+            e = h;
+            break s;
+           }
+           if ((j | 0) == r[h | 0]) {
+            e = h + 1 | 0;
+            q[f + 44 >> 2] = e;
+            break s;
+           }
+           if ((g | 0) == 4) {
+            q[f + 28 >> 2] = h;
+            break r;
+           }
+           D = (g << 2) + f | 0, E = EJ(f + 44 | 0, i, 0), q[D >> 2] = E;
+           e = q[f + 44 >> 2];
+           if ((h | 0) == (e | 0)) {
+            q[f + 28 >> 2] = h;
+            break c;
+           }
+           g = g + 1 | 0;
+           if (!j) {
+            break s;
+           }
+           if (e >>> 0 < i >>> 0) {
+            continue;
+           }
+          }
+          break;
+         }
+         q[f + 28 >> 2] = e;
+         if ((g | 0) < 4) {
+          break c;
+         }
+        }
+        D = k, E = Ae(q[f >> 2]), q[D >> 2] = E;
+        D = k, E = Ae(q[f + 4 >> 2]), q[D + 4 >> 2] = E;
+        D = k, E = Ae(q[f + 8 >> 2]), q[D + 8 >> 2] = E;
+        D = k, E = Ae(q[f + 12 >> 2]), q[D + 12 >> 2] = E;
+        break e;
+       }
+       q[f + 28 >> 2] = h;
+       break c;
+      }
+      s = q[a + 16 >> 2];
+      k = Te(s, 4, 0, z, 0, f + 24 | 0);
+      g = q[f + 24 >> 2];
+      if (g) {
+       break a;
+      }
+      B = !k;
+      j = 0;
+      while (1) {
+       g = q[f + 28 >> 2];
+       q[f >> 2] = g;
+       h = 0;
+       t : {
+        if (g >>> 0 >= i >>> 0) {
+         break t;
+        }
+        e = r[g | 0];
+        t = (e | 0) == 91 ? 93 : (e | 0) == 123 ? 125 : 0;
+        if (t) {
+         g = g + 1 | 0;
+         q[f >> 2] = g;
+        }
+        if (g >>> 0 >= i >>> 0) {
+         break t;
+        }
+        C = k + (w(d, j) << 2) | 0;
+        while (1) {
+         wJ(f, i);
+         g = q[f >> 2];
+         if (g >>> 0 >= i >>> 0) {
+          break t;
+         }
+         if ((t | 0) == r[g | 0]) {
+          g = g + 1 | 0;
+          q[f >> 2] = g;
+          break t;
+         }
+         if ((B ^ 1) & (h | 0) >= (d | 0)) {
+          break t;
+         }
+         D = k ? (h << 2) + C | 0 : f + 44 | 0, E = EJ(f, i, 0), q[D >> 2] = E;
+         e = q[f >> 2];
+         if ((e | 0) == (g | 0)) {
+          h = -1;
+          break t;
+         }
+         h = h + 1 | 0;
+         if (e >>> 0 < i >>> 0 ? t : 0) {
+          continue;
+         }
+         break;
+        }
+        g = e;
+       }
+       q[f + 28 >> 2] = g;
+       if (!(h >>> 0 >= d >>> 0 ? (h | 0) >= 0 : 0)) {
+        q[f + 24 >> 2] = 3;
+        Qe(s, k);
+        g = q[f + 24 >> 2];
+        break a;
+       }
+       wJ(f + 28 | 0, i);
+       j = j + 1 | 0;
+       if ((j | 0) != 4) {
+        continue;
+       }
+       break;
+      }
+      g = 0;
+      if (d) {
+       while (1) {
+        h = g << 2;
+        e = q[h + c >> 2];
+        D = e, E = Ae(q[h + k >> 2]), q[D >> 2] = E;
+        D = e, E = Ae(q[k + (d + g << 2) >> 2]), q[D + 4 >> 2] = E;
+        D = e, E = Ae(q[k + (g + y << 2) >> 2]), q[D + 8 >> 2] = E;
+        D = e, E = Ae(q[k + (g + x << 2) >> 2]), q[D + 12 >> 2] = E;
+        g = g + 1 | 0;
+        if ((g | 0) != (d | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      Qe(s, k);
+     }
+     n = n + 1 | 0;
+     l = l + -1 | 0;
+     if (l) {
+      continue;
+     }
+     break;
+    }
+    g = 0;
+    break b;
+   }
+   g = 3;
+  }
+  q[v + 24 >> 2] = g;
+ }
+ Ca = f + 48 | 0;
+ return g | 0;
+}
+function Cg(a, b, c, d, e, f, g, h) {
+ var i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, s = 0, u = 0, v = 0;
+ k = Ca - 16 | 0;
+ Ca = k;
+ m = q[a >> 2];
+ j = q[b + 20 >> 2];
+ a : {
+  b : {
+   if (j) {
+    a = 85;
+    if (n[j](b, c, 0, 0)) {
+     break a;
+    }
+    i = q[b + 4 >> 2];
+    break b;
+   }
+   a = 85;
+   i = q[b + 4 >> 2];
+   if (i >>> 0 < c >>> 0) {
+    break a;
+   }
+  }
+  q[b + 8 >> 2] = c;
+  c : {
+   d : {
+    e : {
+     f : {
+      if (c + 1 >>> 0 >= i >>> 0) {
+       break f;
+      }
+      g : {
+       h : {
+        a = q[b + 20 >> 2];
+        i : {
+         if (a) {
+          if ((n[a](b, c, k + 10 | 0, 2) | 0) != 2) {
+           break f;
+          }
+          i = k + 10 | 0;
+          a = q[b + 8 >> 2];
+          break i;
+         }
+         a = q[b >> 2];
+         if (!a) {
+          break h;
+         }
+         i = a + c | 0;
+         a = c;
+        }
+        j = r[i | 0] | r[i + 1 | 0] << 8;
+        i = a + 2 | 0;
+        q[b + 8 >> 2] = i;
+        a = 8;
+        u = (j << 8 & 16711680 | j << 24) >> 16;
+        if ((u | 0) > 4078) {
+         break a;
+        }
+        if ((u | 0) >= 0) {
+         break g;
+        }
+        a = 1;
+        break a;
+       }
+       i = c + 2 | 0;
+       q[b + 8 >> 2] = i;
+      }
+      while (1) {
+       j : {
+        k : {
+         l : {
+          l = q[b + 4 >> 2];
+          if (i + 3 >>> 0 >= l >>> 0) {
+           break l;
+          }
+          a = q[b + 20 >> 2];
+          m : {
+           if (a) {
+            if ((n[a](b, i, k + 12 | 0, 4) | 0) != 4) {
+             break l;
+            }
+            l = q[b + 4 >> 2];
+            i = q[b + 8 >> 2];
+            a = k + 12 | 0;
+            break m;
+           }
+           a = q[b >> 2];
+           if (!a) {
+            break k;
+           }
+           a = a + i | 0;
+          }
+          a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+          o = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+          break j;
+         }
+         a = 85;
+         break a;
+        }
+        o = 0;
+       }
+       a = i + 4 | 0;
+       q[b + 8 >> 2] = a;
+       n : {
+        o : {
+         p : {
+          if (i + 5 >>> 0 >= l >>> 0) {
+           break p;
+          }
+          j = q[b + 20 >> 2];
+          q : {
+           if (j) {
+            if ((n[j](b, a, k + 10 | 0, 2) | 0) != 2) {
+             break p;
+            }
+            l = q[b + 4 >> 2];
+            a = q[b + 8 >> 2];
+            j = k + 10 | 0;
+            break q;
+           }
+           j = q[b >> 2];
+           if (!j) {
+            break o;
+           }
+           j = a + j | 0;
+          }
+          j = r[j | 0] | r[j + 1 | 0] << 8;
+          v = (j << 24 | j << 8 & 16711680) >>> 16 | 0;
+          break n;
+         }
+         a = 85;
+         break a;
+        }
+        v = 0;
+       }
+       i = a + 2 | 0;
+       q[b + 8 >> 2] = i;
+       r : {
+        s : {
+         t : {
+          if (a + 3 >>> 0 >= l >>> 0) {
+           break t;
+          }
+          a = q[b + 20 >> 2];
+          u : {
+           if (a) {
+            if ((n[a](b, i, k + 10 | 0, 2) | 0) != 2) {
+             break t;
+            }
+            i = q[b + 8 >> 2];
+            a = k + 10 | 0;
+            break u;
+           }
+           a = q[b >> 2];
+           if (!a) {
+            break s;
+           }
+           a = a + i | 0;
+          }
+          a = r[a | 0] | r[a + 1 | 0] << 8;
+          j = (a << 24 | a << 8 & 16711680) >> 16;
+          break r;
+         }
+         a = 85;
+         break a;
+        }
+        j = 0;
+       }
+       i = i + 2 | 0;
+       q[b + 8 >> 2] = i;
+       if ((e | 0) != (o | 0)) {
+        a = 1;
+        j = (s | 0) == (u | 0);
+        s = s + 1 | 0;
+        if (j) {
+         break a;
+        }
+        continue;
+       }
+       break;
+      }
+      q[h >> 2] = (v << 16 >> 16) + 1;
+      a = 8;
+      if (v >>> 0 > 2726) {
+       break a;
+      }
+      e = c + j | 0;
+      c = q[b + 20 >> 2];
+      v : {
+       if (c) {
+        a = 85;
+        if (!n[c](b, e, 0, 0)) {
+         break v;
+        }
+        break a;
+       }
+       a = 85;
+       if (t[b + 4 >> 2] < e >>> 0) {
+        break a;
+       }
+      }
+      q[b + 8 >> 2] = e;
+      i = 0;
+      c = q[h >> 2];
+      if ((c | 0) < 0) {
+       a = 6;
+       break a;
+      }
+      if (c) {
+       a = 10;
+       if ((c | 0) > 268435455) {
+        break a;
+       }
+       a = c << 3;
+       i = n[q[m + 4 >> 2]](m, a) | 0;
+       if (!i) {
+        a = 64;
+        break a;
+       }
+       Z$(i, 0, a);
+      }
+      e = q[h >> 2];
+      if ((e | 0) >= 1) {
+       c = q[b + 8 >> 2];
+       l = 0;
+       while (1) {
+        if (c + 1 >>> 0 >= t[b + 4 >> 2]) {
+         break e;
+        }
+        a = q[b + 20 >> 2];
+        w : {
+         x : {
+          if (a) {
+           if ((n[a](b, c, k + 10 | 0, 2) | 0) != 2) {
+            break e;
+           }
+           e = q[b + 20 >> 2];
+           c = q[b + 8 >> 2];
+           a = k + 10 | 0;
+           break x;
+          }
+          e = 0;
+          a = q[b >> 2];
+          o = 0;
+          if (!a) {
+           break w;
+          }
+          a = a + c | 0;
+         }
+         a = r[a | 0] | r[a + 1 | 0] << 8;
+         o = (a << 24 | a << 8 & 16711680) >>> 16 | 0;
+        }
+        q[b + 8 >> 2] = c + 2;
+        j = (l << 3) + i | 0;
+        p[j >> 1] = o;
+        a = c + 4 | 0;
+        y : {
+         z : {
+          if (e) {
+           if (!n[e](b, a, 0, 0)) {
+            break z;
+           }
+           a = 85;
+           break c;
+          }
+          e = q[b + 4 >> 2];
+          if (e >>> 0 >= a >>> 0) {
+           break y;
+          }
+          a = 85;
+          break c;
+         }
+         e = q[b + 4 >> 2];
+        }
+        q[b + 8 >> 2] = a;
+        if (c + 7 >>> 0 >= e >>> 0) {
+         break d;
+        }
+        A : {
+         B : {
+          C : {
+           e = q[b + 20 >> 2];
+           D : {
+            if (e) {
+             if ((n[e](b, a, k + 12 | 0, 4) | 0) != 4) {
+              break d;
+             }
+             s = q[b + 20 >> 2];
+             a = q[b + 8 >> 2];
+             c = k + 12 | 0;
+             break D;
+            }
+            e = q[b >> 2];
+            if (!e) {
+             break C;
+            }
+            s = 0;
+            c = a + e | 0;
+           }
+           c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+           q[b + 8 >> 2] = a + 4;
+           e = c << 8 & 16711680 | c << 24 | (c >>> 8 & 65280 | c >>> 24);
+           c = a + 8 | 0;
+           a = c;
+           if (!s) {
+            break B;
+           }
+           if (!n[s](b, c, 0, 0)) {
+            break A;
+           }
+           a = 85;
+           break c;
+          }
+          q[b + 8 >> 2] = c + 8;
+          e = 0;
+          a = c + 12 | 0;
+         }
+         c = a;
+         if (t[b + 4 >> 2] >= a >>> 0) {
+          break A;
+         }
+         a = 85;
+         break c;
+        }
+        q[b + 8 >> 2] = c;
+        if ((e | 0) < 0) {
+         a = 8;
+         break c;
+        }
+        q[j + 4 >> 2] = e & 16777215;
+        l = l + 1 | 0;
+        e = q[h >> 2];
+        if ((l | 0) < (e | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      c = 0;
+      if (f) {
+       M_(i, e, 8, 12);
+       e = q[h >> 2];
+      }
+      a = 6;
+      E : {
+       if ((e | 0) < 0) {
+        break E;
+       }
+       if (e) {
+        a = 10;
+        if ((e | 0) > 536870911) {
+         break E;
+        }
+        b = e << 2;
+        c = n[q[m + 4 >> 2]](m, b) | 0;
+        a = 64;
+        if (!c) {
+         break E;
+        }
+        Z$(c, 0, b);
+       }
+       if (q[h >> 2] >= 1) {
+        b = 0;
+        while (1) {
+         q[(b << 2) + c >> 2] = q[((b << 3) + i | 0) + 4 >> 2] + d;
+         b = b + 1 | 0;
+         if ((b | 0) < q[h >> 2]) {
+          continue;
+         }
+         break;
+        }
+       }
+       q[g >> 2] = c;
+       a = 0;
+      }
+      if (!i) {
+       break a;
+      }
+      break c;
+     }
+     a = 85;
+     break a;
+    }
+    p[(l << 3) + i >> 1] = 0;
+   }
+   a = 85;
+  }
+  n[q[m + 8 >> 2]](m, i);
+ }
+ Ca = k + 16 | 0;
+ return a;
+}
+function Iy(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0;
+ e = Ca + -64 | 0;
+ Ca = e;
+ a : {
+  if (r[c + 16 | 0] & 16) {
+   break a;
+  }
+  g = q[c + 76 >> 2];
+  if (!g) {
+   break a;
+  }
+  k = q[c + 88 >> 2];
+  while (1) {
+   if ((r[(k + w(d, 20) | 0) + 15 | 0] & 15) != 1) {
+    d = d + 1 | 0;
+    if ((g | 0) != (d | 0)) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  q[e + 16 >> 2] = 0;
+  d = b;
+  g = q[b + 76 >> 2];
+  b = q[b + 72 >> 2];
+  if (!n[q[b + 156 >> 2]](d, g, 9676, e + 16 | 0, q[b + 20 >> 2])) {
+   break a;
+  }
+  l = e + 52 | 0;
+  b = l;
+  q[b >> 2] = 0;
+  q[b + 4 >> 2] = 0;
+  q[e + 44 >> 2] = 0;
+  q[e + 48 >> 2] = 0;
+  q[e + 40 >> 2] = 9676;
+  Py(e + 40 | 0);
+  f = q[e + 16 >> 2];
+  q[e + 40 >> 2] = f;
+  sG(c);
+  q[c + 72 >> 2] = 0;
+  b = q[c + 76 >> 2];
+  b : {
+   if (!b) {
+    break b;
+   }
+   h = q[e + 56 >> 2];
+   u = l + 2 | 0;
+   d = 0;
+   while (1) {
+    if (!r[c + 68 | 0]) {
+     break b;
+    }
+    j = q[c + 88 >> 2];
+    k = j + w(d, 20) | 0;
+    g = r[k + 15 | 0];
+    c : {
+     if (!((g | 0) == (i | 0) | (g & 15) != 1)) {
+      p[e + 12 >> 1] = s[l >> 1];
+      o[e + 14 | 0] = r[u | 0];
+      i = q[k + 4 >> 2];
+      x = q[k + 8 >> 2];
+      d : {
+       if (d >>> 0 >= b >>> 0) {
+        break d;
+       }
+       while (1) {
+        if (r[(w(d, 20) + j | 0) + 18 | 0] != 15) {
+         break d;
+        }
+        e : {
+         if (r[c + 69 | 0]) {
+          k = c;
+          f : {
+           if (q[c + 92 >> 2] == (j | 0)) {
+            b = d;
+            m = b;
+            if (q[c + 80 >> 2] == (b | 0)) {
+             break f;
+            }
+           }
+           if (!pG(c, 1, 1)) {
+            d = q[c + 72 >> 2];
+            break e;
+           }
+           d = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+           j = q[d + 4 >> 2];
+           b = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+           q[b >> 2] = q[d >> 2];
+           q[b + 4 >> 2] = j;
+           q[b + 16 >> 2] = q[d + 16 >> 2];
+           j = q[d + 12 >> 2];
+           q[b + 8 >> 2] = q[d + 8 >> 2];
+           q[b + 12 >> 2] = j;
+           d = q[c + 72 >> 2];
+           m = q[c + 80 >> 2];
+          }
+          q[k + 80 >> 2] = m + 1;
+         }
+         d = d + 1 | 0;
+         q[c + 72 >> 2] = d;
+        }
+        if (!r[c + 68 | 0] | d >>> 0 >= t[c + 76 >> 2]) {
+         break d;
+        }
+        j = q[c + 88 >> 2];
+        if ((g | 0) == r[(j + w(d, 20) | 0) + 15 | 0]) {
+         continue;
+        }
+        break;
+       }
+      }
+      if (pG(c, 0, 1)) {
+       b = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+       q[b + 8 >> 2] = x;
+       q[b + 4 >> 2] = i;
+       q[b >> 2] = f;
+       p[b + 12 >> 1] = s[e + 12 >> 1];
+       o[b + 14 | 0] = r[e + 14 | 0];
+       q[b + 16 >> 2] = h;
+       o[b + 15 | 0] = g;
+       q[c + 80 >> 2] = q[c + 80 >> 2] + 1;
+      }
+      i = g;
+      break c;
+     }
+     if (r[c + 69 | 0]) {
+      g = c;
+      g : {
+       if (q[c + 92 >> 2] == (j | 0)) {
+        b = d;
+        k = b;
+        if (q[c + 80 >> 2] == (b | 0)) {
+         break g;
+        }
+       }
+       if (!pG(c, 1, 1)) {
+        break c;
+       }
+       d = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+       k = q[d + 4 >> 2];
+       b = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+       q[b >> 2] = q[d >> 2];
+       q[b + 4 >> 2] = k;
+       q[b + 16 >> 2] = q[d + 16 >> 2];
+       k = q[d + 12 >> 2];
+       q[b + 8 >> 2] = q[d + 8 >> 2];
+       q[b + 12 >> 2] = k;
+       d = q[c + 72 >> 2];
+       k = q[c + 80 >> 2];
+      }
+      q[g + 80 >> 2] = k + 1;
+     }
+     q[c + 72 >> 2] = d + 1;
+    }
+    d = q[c + 72 >> 2];
+    b = q[c + 76 >> 2];
+    if (d >>> 0 < b >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  uG(c);
+ }
+ k = q[c + 76 >> 2];
+ if (k) {
+  b = k + -1 | 0;
+  d = 0;
+  g = q[c + 88 >> 2];
+  l = r[g + 15 | 0];
+  while (1) {
+   h : {
+    if ((b | 0) == (d | 0)) {
+     d = k;
+     break h;
+    }
+    d = d + 1 | 0;
+    if ((l | 0) == r[(g + w(d, 20) | 0) + 15 | 0]) {
+     continue;
+    }
+   }
+   break;
+  }
+  j = q[c + 88 >> 2];
+  i = r[j + 15 | 0];
+  l = 0;
+  b = k;
+  while (1) {
+   g = d;
+   i : {
+    if (i & 14) {
+     break i;
+    }
+    d = l + 1 | 0;
+    if (d >>> 0 >= g >>> 0) {
+     break i;
+    }
+    u = q[a + 112 >> 2];
+    i = q[u + 24 >> 2] | q[u + 20 >> 2] | q[u + 28 >> 2];
+    b = d;
+    while (1) {
+     f = w(b, 20) + j | 0;
+     q[f + 4 >> 2] = i | q[f + 4 >> 2];
+     b = b + 1 | 0;
+     if ((g | 0) != (b | 0)) {
+      continue;
+     }
+     break;
+    }
+    x = w(d, 20) + j | 0;
+    i = w(l, 20) + j | 0;
+    B = i + 40 | 0;
+    v = 0;
+    while (1) {
+     b = d;
+     f = w(b, 20) + j | 0;
+     h = r[f + 18 | 0];
+     j : {
+      if (!((h | 0) != 14 | v >>> 0 > 2)) {
+       d = b + 1 | 0;
+       if (d >>> 0 >= g >>> 0) {
+        break j;
+       }
+       h = w(d, 20) + j | 0;
+       if (r[h + 18 | 0] != 16) {
+        v = v + 1 | 0;
+        break j;
+       }
+       q[f + 4 >> 2] = q[f + 4 >> 2] | q[u + 16 >> 2];
+       q[h + 4 >> 2] = q[h + 4 >> 2] | q[u + 16 >> 2];
+       v = b + 2 | 0;
+       if (v - l >>> 0 >= 2) {
+        wG(c, l, v);
+       }
+       A = e + 56 | 0;
+       q[A >> 2] = q[f + 16 >> 2];
+       z = q[f + 12 >> 2];
+       y = e + 48 | 0;
+       m = y;
+       q[m >> 2] = q[f + 8 >> 2];
+       q[m + 4 >> 2] = z;
+       m = q[f + 4 >> 2];
+       q[e + 40 >> 2] = q[f >> 2];
+       q[e + 44 >> 2] = m;
+       m = e + 32 | 0;
+       q[m >> 2] = q[h + 16 >> 2];
+       z = q[h + 12 >> 2];
+       f = e + 24 | 0;
+       q[f >> 2] = q[h + 8 >> 2];
+       q[f + 4 >> 2] = z;
+       z = q[h + 4 >> 2];
+       q[e + 16 >> 2] = q[h >> 2];
+       q[e + 20 >> 2] = z;
+       _$(B, i, w(b - l | 0, 20));
+       q[i + 16 >> 2] = q[A >> 2];
+       h = q[y + 4 >> 2];
+       q[i + 8 >> 2] = q[y >> 2];
+       q[i + 12 >> 2] = h;
+       h = q[e + 44 >> 2];
+       q[i >> 2] = q[e + 40 >> 2];
+       q[i + 4 >> 2] = h;
+       q[x + 16 >> 2] = q[m >> 2];
+       h = q[f + 4 >> 2];
+       q[x + 8 >> 2] = q[f >> 2];
+       q[x + 12 >> 2] = h;
+       f = q[e + 20 >> 2];
+       q[x >> 2] = q[e + 16 >> 2];
+       q[x + 4 >> 2] = f;
+       k : {
+        if (v >>> 0 >= g >>> 0) {
+         break k;
+        }
+        f = q[u + 32 >> 2];
+        if (!f) {
+         break k;
+        }
+        h = w(v, 20) + j | 0;
+        q[h + 4 >> 2] = f | q[h + 4 >> 2];
+        b = b + 3 | 0;
+        if (b >>> 0 >= g >>> 0) {
+         break k;
+        }
+        while (1) {
+         f = w(b, 20) + j | 0;
+         q[f + 4 >> 2] = q[f + 4 >> 2] | q[u + 32 >> 2];
+         b = b + 1 | 0;
+         if ((g | 0) != (b | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       v = 2;
+       break j;
+      }
+      d = b + 1 | 0;
+      if ((h | 0) != 28) {
+       break j;
+      }
+      if (d - l >>> 0 >= 2) {
+       wG(c, l, d);
+      }
+      y = e + 56 | 0;
+      q[y >> 2] = q[f + 16 >> 2];
+      m = q[f + 12 >> 2];
+      h = e + 48 | 0;
+      q[h >> 2] = q[f + 8 >> 2];
+      q[h + 4 >> 2] = m;
+      A = q[f + 4 >> 2];
+      q[e + 40 >> 2] = q[f >> 2];
+      q[e + 44 >> 2] = A;
+      _$(x, i, w(b - l | 0, 20));
+      q[i + 16 >> 2] = q[y >> 2];
+      b = q[h + 4 >> 2];
+      q[i + 8 >> 2] = q[h >> 2];
+      q[i + 12 >> 2] = b;
+      b = q[e + 44 >> 2];
+      q[i >> 2] = q[e + 40 >> 2];
+      q[i + 4 >> 2] = b;
+     }
+     if ((d | 0) != (g | 0)) {
+      continue;
+     }
+     break;
+    }
+    b = q[c + 76 >> 2];
+    j = q[c + 88 >> 2];
+   }
+   d = g + 1 | 0;
+   l = b >>> 0 > d >>> 0 ? b : d;
+   i = r[(w(g, 20) + j | 0) + 15 | 0];
+   d = g;
+   while (1) {
+    l : {
+     d = d + 1 | 0;
+     if (d >>> 0 >= b >>> 0) {
+      d = l;
+      break l;
+     }
+     if (r[(w(d, 20) + j | 0) + 15 | 0] == (i & 255)) {
+      continue;
+     }
+    }
+    break;
+   }
+   l = g;
+   if (g >>> 0 < k >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ a = r[c + 164 | 0];
+ if (a & 64) {
+  o[c + 164 | 0] = a & 191;
+  Ca = e - -64 | 0;
+  return;
+ }
+ J(241548, 241518, 160, 241533);
+ F();
+}
+function zf(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ q[i + 12 >> 2] = 0;
+ q[i + 8 >> 2] = 0;
+ f = 6;
+ a : {
+  if (!b | !d & (c | 0) > -1) {
+   break a;
+  }
+  k = r[b | 0] & 2 ? q[b + 16 >> 2] != 0 : k;
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         f = lf(a, b, i + 12 | 0);
+         i : {
+          if (f) {
+           break i;
+          }
+          l = q[a >> 2];
+          j : {
+           j = q[b >> 2];
+           if (!(j & 8)) {
+            break j;
+           }
+           h = q[b + 20 >> 2];
+           if (!h) {
+            break j;
+           }
+           f = 32;
+           if (o[q[h >> 2]] & 1) {
+            f = 0;
+            a = 0;
+            if (j & 16) {
+             f = q[b + 24 >> 2];
+             a = q[b + 28 >> 2];
+            }
+            f = Af(h, i + 12 | 0, k, c, f, a, i + 8 | 0);
+            if (!f) {
+             break h;
+            }
+           }
+           a = q[i + 12 >> 2];
+           if (!a) {
+            break b;
+           }
+           b = q[a + 28 >> 2];
+           c = q[a + 24 >> 2];
+           if (c) {
+            n[c](a);
+           }
+           if (k) {
+            break b;
+           }
+           n[q[b + 8 >> 2]](b, a);
+           break b;
+          }
+          h = q[a + 16 >> 2];
+          if ((h | 0) < 1) {
+           f = 11;
+           h = 0;
+           break c;
+          }
+          m = ((h << 2) + a | 0) + 20 | 0;
+          j = a + 20 | 0;
+          f = 11;
+          while (1) {
+           h = q[j >> 2];
+           if (o[q[h >> 2]] & 1) {
+            f = 0;
+            g = 0;
+            if (r[b | 0] & 16) {
+             f = q[b + 24 >> 2];
+             g = q[b + 28 >> 2];
+            }
+            f = Af(h, i + 12 | 0, k, c, f, g, i + 8 | 0);
+            if (!f) {
+             break h;
+            }
+            k : {
+             if (!e) {
+              break k;
+             }
+             if (iZ(q[q[q[j >> 2] >> 2] + 8 >> 2], 3848) | (f & 255) != 142) {
+              break k;
+             }
+             g = q[i + 12 >> 2];
+             f = q[g + 20 >> 2];
+             if (f) {
+              if (n[f](g, 0, 0, 0)) {
+               break e;
+              }
+             }
+             q[g + 8 >> 2] = 0;
+             f = Bf(a, g, c, d);
+             if (f) {
+              break k;
+             }
+             a = q[g + 28 >> 2];
+             b = q[g + 24 >> 2];
+             if (b) {
+              n[b](g);
+             }
+             f = 0;
+             if (k) {
+              break a;
+             }
+             n[q[a + 8 >> 2]](a, g);
+             break a;
+            }
+            if ((f & 255) != 2) {
+             break i;
+            }
+            g = h;
+           }
+           j = j + 4 | 0;
+           if (j >>> 0 < m >>> 0) {
+            continue;
+           }
+           break;
+          }
+          h = g;
+         }
+         g = f & 255;
+         j = g + -81 | 0;
+         if (j >>> 0 <= 4) {
+          break g;
+         }
+         if ((g | 0) != 2) {
+          break c;
+         }
+         break f;
+        }
+        b = n[q[l + 4 >> 2]](l, 12) | 0;
+        if (!b) {
+         f = 64;
+         break b;
+        }
+        a = q[i + 8 >> 2];
+        q[b + 8 >> 2] = a;
+        g = q[a + 96 >> 2];
+        h = g + 20 | 0;
+        e = q[h >> 2];
+        q[b >> 2] = e;
+        q[b + 4 >> 2] = 0;
+        q[(e ? e + 4 | 0 : g + 16 | 0) >> 2] = b;
+        q[h >> 2] = b;
+        l : {
+         if ((c | 0) >= 0) {
+          f = tf(a, 0);
+          if (f) {
+           break l;
+          }
+          f = Cf(a, i + 4 | 0);
+          if (f) {
+           break l;
+          }
+          q[a + 88 >> 2] = q[i + 4 >> 2];
+         }
+         c = q[a + 8 >> 2];
+         m : {
+          if (!(c & 1)) {
+           break m;
+          }
+          b = p[a + 74 >> 1];
+          if ((b | 0) <= -1) {
+           b = 0 - b | 0;
+           p[a + 74 >> 1] = b;
+          }
+          if (c & 32) {
+           break m;
+          }
+          p[a + 78 >> 1] = b;
+         }
+         n : {
+          if (!(c & 2)) {
+           break n;
+          }
+          g = q[a + 28 >> 2];
+          if ((g | 0) < 1) {
+           break n;
+          }
+          h = q[a + 32 >> 2];
+          b = 0;
+          while (1) {
+           c = h + (b << 4) | 0;
+           j = p[c >> 1];
+           if ((j | 0) <= -1) {
+            j = 0 - j | 0;
+            p[c >> 1] = j;
+           }
+           e = c + 8 | 0;
+           f = q[c + 8 >> 2];
+           if ((f | 0) <= -1) {
+            q[e >> 2] = 0 - f;
+           }
+           f = q[c + 12 >> 2];
+           if ((f | 0) <= -1) {
+            q[c + 12 >> 2] = 0 - f;
+           }
+           if (j << 16 >> 16 <= -1) {
+            q[c >> 2] = 0;
+            q[c + 4 >> 2] = 0;
+            q[e >> 2] = 0;
+            q[e + 4 >> 2] = 0;
+           }
+           b = b + 1 | 0;
+           if ((g | 0) != (b | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         b = q[a + 128 >> 2];
+         q[b + 64 >> 2] = 1;
+         q[b + 16 >> 2] = 0;
+         q[b + 20 >> 2] = 0;
+         q[b + 8 >> 2] = 0;
+         q[b + 12 >> 2] = 65536;
+         q[b >> 2] = 65536;
+         q[b + 4 >> 2] = 0;
+         o[b + 56 | 0] = 255;
+         if (d) {
+          q[d >> 2] = a;
+          f = 0;
+          break a;
+         }
+         c = q[a + 96 >> 2];
+         if (!c) {
+          f = 0;
+          break a;
+         }
+         f = 0;
+         q[b + 64 >> 2] = 0;
+         b = q[c + 16 >> 2];
+         if (!b) {
+          break a;
+         }
+         g = c + 16 | 0;
+         d = q[c + 8 >> 2];
+         while (1) {
+          if ((a | 0) != q[b + 8 >> 2]) {
+           b = q[b + 4 >> 2];
+           if (b) {
+            continue;
+           }
+           break a;
+          }
+          break;
+         }
+         e = q[b >> 2];
+         h = e ? e + 4 | 0 : g;
+         g = q[b + 4 >> 2];
+         q[h >> 2] = g;
+         q[(g ? g : c + 20 | 0) >> 2] = e;
+         n[q[d + 8 >> 2]](d, b);
+         Df(d, a, c);
+         break a;
+        }
+        if (!a) {
+         break a;
+        }
+        c = q[a + 96 >> 2];
+        if (!c) {
+         break a;
+        }
+        d = q[a + 128 >> 2];
+        b = q[d + 64 >> 2];
+        q[d + 64 >> 2] = b + -1;
+        if ((b | 0) > 1) {
+         break a;
+        }
+        b = q[c + 16 >> 2];
+        if (!b) {
+         break a;
+        }
+        g = c + 16 | 0;
+        d = q[c + 8 >> 2];
+        while (1) {
+         if ((a | 0) != q[b + 8 >> 2]) {
+          b = q[b + 4 >> 2];
+          if (b) {
+           continue;
+          }
+          break a;
+         }
+         break;
+        }
+        e = q[b >> 2];
+        h = e ? e + 4 | 0 : g;
+        g = q[b + 4 >> 2];
+        q[h >> 2] = g;
+        q[(g ? g : c + 20 | 0) >> 2] = e;
+        n[q[d + 8 >> 2]](d, b);
+        Df(d, a, c);
+        break a;
+       }
+       switch (j - 1 | 0) {
+       case 0:
+       case 1:
+       case 2:
+        break c;
+       default:
+        break f;
+       }
+      }
+      if (!e) {
+       break d;
+      }
+      g = q[i + 12 >> 2];
+     }
+     f = Ef(a, g, c, d);
+     if ((f & 255) == 2) {
+      f = Ff(a, g, 0, c, d);
+     }
+     e = f & 255;
+     if (!(((e | 0) != 2 ? (e | 0) != 85 : 0) | !(r[b | 0] & 4))) {
+      f = Gf(a, g, c, d, b);
+     }
+     if (f) {
+      break d;
+     }
+     f = 0;
+     if (!g) {
+      break a;
+     }
+     a = q[g + 28 >> 2];
+     b = q[g + 24 >> 2];
+     if (b) {
+      n[b](g);
+     }
+     if (k) {
+      break a;
+     }
+     n[q[a + 8 >> 2]](a, g);
+     break a;
+    }
+    f = (f & 255) == 2 ? 2 : f;
+   }
+   a = q[i + 12 >> 2];
+   if (!a) {
+    break b;
+   }
+   b = q[a + 28 >> 2];
+   c = q[a + 24 >> 2];
+   if (c) {
+    n[c](a);
+   }
+   if (k) {
+    break b;
+   }
+   n[q[b + 8 >> 2]](b, a);
+  }
+  a = q[i + 8 >> 2];
+  if (!a) {
+   break a;
+  }
+  Df(l, a, h);
+ }
+ Ca = i + 16 | 0;
+ return f;
+}
+function AE(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, p = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0;
+ h = Ca - 32 | 0;
+ Ca = h;
+ if (!(e - d >>> 0 < 2 | e >>> 0 <= d >>> 0)) {
+  J = q[c + 88 >> 2];
+  K = h + 8 | 0;
+  while (1) {
+   l = w(d, 20);
+   a : {
+    if (1 << (s[(l + J | 0) + 16 >> 1] & 31) & 7168) {
+     A = d;
+     break a;
+    }
+    i = d + 1 | 0;
+    m = i >>> 0 < e >>> 0 ? e : i;
+    j = m + -1 | 0;
+    g = d;
+    while (1) {
+     b : {
+      A = g;
+      g = g + 1 | 0;
+      if (g >>> 0 >= e >>> 0) {
+       A = j;
+       g = m;
+       break b;
+      }
+      if (1 << (s[(w(g, 20) + J | 0) + 16 >> 1] & 31) & 7168) {
+       continue;
+      }
+     }
+     break;
+    }
+    if (g - d >>> 0 >= 2) {
+     DG(c, d, g);
+    }
+    d = q[l + q[c + 88 >> 2] >> 2];
+    q[K >> 2] = 0;
+    q[K + 4 >> 2] = 0;
+    q[h >> 2] = 0;
+    q[h + 4 >> 2] = 0;
+    j = d;
+    d = q[b + 72 >> 2];
+    if (!n[q[d + 200 >> 2]](b, q[b + 76 >> 2], j, h, q[d - -64 >> 2])) {
+     if (i >>> 0 >= g >>> 0) {
+      break a;
+     }
+     g = q[c + 88 >> 2];
+     while (1) {
+      j = w(i, 20);
+      if ((s[(j + g | 0) + 16 >> 1] & 31) == 12) {
+       d = q[c + 96 >> 2];
+       if (f) {
+        m = d + j | 0;
+        q[m + 8 >> 2] = q[m + 8 >> 2] - q[m >> 2];
+        q[m + 12 >> 2] = q[m + 12 >> 2] - q[m + 4 >> 2];
+       }
+       d = d + j | 0;
+       q[d >> 2] = 0;
+       q[d + 4 >> 2] = 0;
+      }
+      d = (i | 0) == (A | 0);
+      i = i + 1 | 0;
+      if (!d) {
+       continue;
+      }
+      break;
+     }
+     break a;
+    }
+    d = q[(l + q[c + 96 >> 2] | 0) + 12 >> 2];
+    x = 0;
+    q[h >> 2] = 0;
+    q[h + 4 >> 2] = d + q[h + 4 >> 2];
+    d = q[b + 72 >> 2];
+    E = n[q[d + 168 >> 2]](b, q[b + 76 >> 2], q[l + q[c + 88 >> 2] >> 2], q[d + 32 >> 2]) | 0;
+    q[h + 8 >> 2] = E;
+    y = 0;
+    if ((q[c + 48 >> 2] & -3) == 4) {
+     d = l + q[c + 96 >> 2] | 0;
+     x = 0 - q[d + 4 >> 2] | 0;
+     y = 0 - q[d >> 2] | 0;
+    }
+    if (i >>> 0 >= g >>> 0) {
+     break a;
+    }
+    L = q[c + 88 >> 2];
+    d = l + L | 0;
+    g = r[d + 14 | 0];
+    u = g & 16 ? r[d + 12 | 0] & 4 ? g & 15 : 1 : 1;
+    M = g >>> 5 | 0;
+    l = -1;
+    j = 255;
+    B = 0;
+    F = q[h >> 2];
+    v = F;
+    G = q[h + 4 >> 2];
+    p = G;
+    C = E;
+    H = q[h + 12 >> 2];
+    d = H;
+    while (1) {
+     m = i;
+     c : {
+      d : {
+       D = w(i, 20);
+       o = D + L | 0;
+       t = s[o + 16 >> 1];
+       if (t >>> 0 < 256) {
+        break d;
+       }
+       k = 1 << (t & 31) & 7168;
+       if (!k) {
+        break d;
+       }
+       g = j;
+       e : {
+        if (u >>> 0 < 2) {
+         break e;
+        }
+        i = r[o + 14 | 0];
+        j = i & 16 ? 0 : i & 15;
+        i = M ? (i >>> 5 | 0) == (M | 0) ? u >>> 0 >= j >>> 0 ? j : u : u : u;
+        j = i + -1 | 0;
+        if ((j | 0) == (l | 0)) {
+         break e;
+        }
+        H = q[h + 12 >> 2];
+        l = q[h + 8 >> 2];
+        G = q[h + 4 >> 2];
+        g = q[h >> 2];
+        f : {
+         if (B) {
+          break f;
+         }
+         B = q[a >> 2];
+         if ((B & -2) == 4) {
+          break f;
+         }
+         B = Aq(q[a + 4 >> 2]);
+         t = s[o + 16 >> 1];
+         k = 1 << (t & 31) & 7168;
+        }
+        F = g + ((w(l, (B | 0) == 4 ? j : u - i | 0) | 0) / (u | 0) | 0) | 0;
+        E = (l | 0) / (u | 0) | 0;
+        l = j;
+        g = 255;
+       }
+       i = q[D + q[c + 88 >> 2] >> 2];
+       q[h + 24 >> 2] = 0;
+       q[h + 28 >> 2] = 0;
+       q[h + 16 >> 2] = 0;
+       q[h + 20 >> 2] = 0;
+       j = k ? t >>> 8 | 0 : 0;
+       g = (g | 0) == (j | 0);
+       v = g ? v : F;
+       p = g ? p : G;
+       C = g ? C : E;
+       d = g ? d : H;
+       g = q[b + 72 >> 2];
+       g : {
+        if (!n[q[g + 200 >> 2]](b, q[b + 76 >> 2], i, h + 16 | 0, q[g - -64 >> 2])) {
+         t = q[c + 96 >> 2];
+         break g;
+        }
+        I = q[b + 24 >> 2];
+        t = q[c + 96 >> 2];
+        o = D + t | 0;
+        q[o + 8 >> 2] = 0;
+        q[o + 12 >> 2] = 0;
+        N = o + 8 | 0;
+        h : {
+         i : {
+          j : {
+           k : {
+            k = j + -200 | 0;
+            i = k >>> 0 > 34;
+            if (i) {
+             break k;
+            }
+            l : {
+             switch (k - 1 | 0) {
+             case 15:
+             case 21:
+             case 31:
+              break i;
+             case 0:
+             case 1:
+             case 2:
+             case 3:
+             case 4:
+             case 5:
+             case 6:
+             case 7:
+             case 8:
+             case 9:
+             case 10:
+             case 11:
+             case 12:
+             case 13:
+             case 14:
+             case 16:
+             case 18:
+             case 19:
+             case 20:
+             case 22:
+             case 23:
+             case 24:
+             case 25:
+             case 26:
+             case 28:
+             case 29:
+             case 30:
+              break k;
+             case 32:
+             case 33:
+              break l;
+             default:
+              break j;
+             }
+            }
+            g = q[c + 48 >> 2] + -4 | 0;
+            if (g >>> 0 > 1) {
+             break k;
+            }
+            z = ((v + C | 0) + (q[h + 24 >> 2] / -2 | 0) | 0) - q[h + 16 >> 2] | 0;
+            if (g - 1) {
+             break h;
+            }
+            z = ((q[h + 24 >> 2] / -2 | 0) + v | 0) - q[h + 16 >> 2] | 0;
+            break h;
+           }
+           z = (v - q[h + 16 >> 2] | 0) + ((C - q[h + 24 >> 2] | 0) / 2 | 0) | 0;
+           break h;
+          }
+          z = v - q[h + 16 >> 2] | 0;
+          break h;
+         }
+         z = ((v + C | 0) - q[h + 24 >> 2] | 0) - q[h + 16 >> 2] | 0;
+        }
+        q[N >> 2] = z;
+        if (i) {
+         break g;
+        }
+        g = (I | 0) / 16 | 0;
+        o = o + 12 | 0;
+        m : {
+         switch (k - 1 | 0) {
+         case 17:
+         case 19:
+         case 21:
+         case 32:
+          d = d - g | 0;
+         default:
+          i = (d + p | 0) - q[h + 20 >> 2] | 0;
+          g = (I | 0) < 16 ^ (i | 0) > 0;
+          q[o >> 2] = g ? 0 : i;
+          d = (q[h + 28 >> 2] + d | 0) + (g ? 0 - i | 0 : 0) | 0;
+          break g;
+         case 27:
+         case 29:
+         case 31:
+         case 33:
+          d = d - g | 0;
+          p = g + p | 0;
+          break;
+         case 0:
+         case 2:
+         case 3:
+         case 4:
+         case 5:
+         case 6:
+         case 7:
+         case 8:
+         case 9:
+         case 10:
+         case 11:
+         case 12:
+         case 14:
+         case 16:
+         case 18:
+         case 20:
+         case 22:
+         case 23:
+         case 24:
+         case 25:
+         case 26:
+         case 28:
+         case 30:
+          break g;
+         case 13:
+         case 15:
+          break m;
+         }
+        }
+        i = q[h + 28 >> 2];
+        k = (p - q[h + 20 >> 2] | 0) - i | 0;
+        if (((I | 0) > 15 | 0) != ((k | 0) > 0 | 0)) {
+         g = (k | 0) / -2 | 0;
+         k = g + k | 0;
+         p = g + p | 0;
+         d = d - g | 0;
+        }
+        q[o >> 2] = k;
+        d = d + i | 0;
+        p = p - i | 0;
+       }
+       g = t + D | 0;
+       q[g >> 2] = 0;
+       q[g + 4 >> 2] = 0;
+       q[g + 8 >> 2] = q[g + 8 >> 2] + y;
+       q[g + 12 >> 2] = q[g + 12 >> 2] + x;
+       break c;
+      }
+      i = D + q[c + 96 >> 2] | 0;
+      g = q[i >> 2];
+      if ((q[c + 48 >> 2] & -3) == 4) {
+       y = y - g | 0;
+       x = x - q[i + 4 >> 2] | 0;
+       break c;
+      }
+      y = g + y | 0;
+      x = q[i + 4 >> 2] + x | 0;
+     }
+     i = m + 1 | 0;
+     if ((m | 0) != (A | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   d = A + 1 | 0;
+   if (d >>> 0 < e >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = h + 32 | 0;
+}
+function iz(a, b) {
+ var c = 0, d = 0, e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, r = 0, s = 0, t = 0, u = 0, w = 0, x = 0, z = 0, A = 0, B = 0;
+ c = Ca - 96 | 0;
+ Ca = c;
+ a : {
+  if (q[a + 24 >> 2] != 11) {
+   o[a + 40 | 0] = 1;
+   break a;
+  }
+  e = q[67760];
+  h = q[67761];
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            l : {
+             m : {
+              n : {
+               o : {
+                p : {
+                 q : {
+                  r : {
+                   s : {
+                    m = q[a + 32 >> 2];
+                    t : {
+                     if (!m) {
+                      q[160656] = e;
+                      q[160657] = h;
+                      i = 642624;
+                      break t;
+                     }
+                     z = 1;
+                     i = q[a + 36 >> 2];
+                     if ((m | 0) != 1) {
+                      break s;
+                     }
+                    }
+                    z = 0;
+                    q[160656] = e;
+                    q[160657] = h;
+                    f(0, e | 0);
+                    f(1, h | 0);
+                    j = +g() + 0;
+                    k = v[i >> 3] + 0;
+                    break r;
+                   }
+                   j = v[i + 8 >> 3] + 0;
+                   k = v[i >> 3] + 0;
+                   if (m >>> 0 > 2) {
+                    break q;
+                   }
+                  }
+                  q[160656] = e;
+                  q[160657] = h;
+                  d = 642624;
+                  break p;
+                 }
+                 if ((m | 0) != 3) {
+                  break o;
+                 }
+                 r = 1;
+                 d = i + 16 | 0;
+                }
+                q[160656] = e;
+                q[160657] = h;
+                f(0, e | 0);
+                f(1, h | 0);
+                j = j + +g();
+                k = k + v[d >> 3];
+                d = 0;
+                break n;
+               }
+               j = j + v[i + 24 >> 3];
+               k = k + v[i + 16 >> 3];
+               if (m >>> 0 > 4) {
+                break m;
+               }
+               r = 1;
+               d = 1;
+              }
+              q[160656] = e;
+              q[160657] = h;
+              p = 642624;
+              break l;
+             }
+             if ((m | 0) != 5) {
+              break k;
+             }
+             d = 1;
+             r = 1;
+             t = 1;
+             p = i + 32 | 0;
+            }
+            q[160656] = e;
+            q[160657] = h;
+            f(0, e | 0);
+            f(1, h | 0);
+            j = j + +g();
+            k = k + v[p >> 3];
+            p = 0;
+            break j;
+           }
+           j = j + v[i + 40 >> 3];
+           k = k + v[i + 32 >> 3];
+           if (m >>> 0 > 6) {
+            break i;
+           }
+           t = 1;
+           r = 1;
+           d = 1;
+           p = 1;
+          }
+          q[160656] = e;
+          q[160657] = h;
+          i = 642624;
+          break h;
+         }
+         if ((m | 0) != 7) {
+          break g;
+         }
+         p = 1;
+         d = 1;
+         r = 1;
+         t = 1;
+         u = 1;
+         i = i + 48 | 0;
+        }
+        q[160656] = e;
+        q[160657] = h;
+        f(0, e | 0);
+        f(1, h | 0);
+        j = j + +g();
+        k = k + v[i >> 3];
+        i = 0;
+        break f;
+       }
+       j = j + v[i + 56 >> 3];
+       k = k + v[i + 48 >> 3];
+       if (m >>> 0 > 8) {
+        break e;
+       }
+       u = 1;
+       t = 1;
+       r = 1;
+       d = 1;
+       p = 1;
+       i = 1;
+      }
+      q[160656] = e;
+      q[160657] = h;
+      l = 642624;
+      x = 0;
+      break d;
+     }
+     l = i - -64 | 0;
+     if ((m | 0) != 9) {
+      break c;
+     }
+     i = 1;
+     p = 1;
+     d = 1;
+     r = 1;
+     t = 1;
+     u = 1;
+     x = 1;
+    }
+    q[160656] = e;
+    q[160657] = h;
+    f(0, e | 0);
+    f(1, h | 0);
+    w = +g();
+    A = 0;
+    break b;
+   }
+   w = v[i + 72 >> 3];
+   i = 1;
+   p = 1;
+   d = 1;
+   r = 1;
+   t = 1;
+   u = 1;
+   x = 1;
+   A = 1;
+  }
+  B = v[l >> 3];
+  l = q[a + 140 >> 2];
+  q[c + 88 >> 2] = q[a + 136 >> 2];
+  q[c + 92 >> 2] = l;
+  l = q[a + 132 >> 2];
+  q[c + 80 >> 2] = q[a + 128 >> 2];
+  q[c + 84 >> 2] = l;
+  u : {
+   if (!m) {
+    q[160656] = e;
+    q[160657] = h;
+    l = 642624;
+    break u;
+   }
+   l = q[a + 36 >> 2];
+  }
+  v : {
+   if (!z) {
+    q[160656] = e;
+    q[160657] = h;
+    f(0, e | 0);
+    f(1, h | 0);
+    n = +g();
+    break v;
+   }
+   n = v[q[a + 36 >> 2] + 8 >> 3];
+  }
+  s = v[l >> 3];
+  v[c + 88 >> 3] = v[c + 88 >> 3] + n;
+  v[c + 80 >> 3] = s + v[c + 80 >> 3];
+  l = q[c + 92 >> 2];
+  q[c + 72 >> 2] = q[c + 88 >> 2];
+  q[c + 76 >> 2] = l;
+  l = q[c + 84 >> 2];
+  q[c + 64 >> 2] = q[c + 80 >> 2];
+  q[c + 68 >> 2] = l;
+  w : {
+   if (!r) {
+    q[160656] = e;
+    q[160657] = h;
+    l = 642624;
+    break w;
+   }
+   l = q[a + 36 >> 2] + 16 | 0;
+  }
+  x : {
+   if (!d) {
+    q[160656] = e;
+    q[160657] = h;
+    f(0, e | 0);
+    f(1, h | 0);
+    n = +g();
+    break x;
+   }
+   n = v[q[a + 36 >> 2] + 24 >> 3];
+  }
+  s = v[l >> 3];
+  v[c + 72 >> 3] = v[c + 72 >> 3] + n;
+  v[c + 64 >> 3] = s + v[c + 64 >> 3];
+  d = q[c + 76 >> 2];
+  q[c + 56 >> 2] = q[c + 72 >> 2];
+  q[c + 60 >> 2] = d;
+  d = q[c + 68 >> 2];
+  q[c + 48 >> 2] = q[c + 64 >> 2];
+  q[c + 52 >> 2] = d;
+  y : {
+   if (!t) {
+    q[160656] = e;
+    q[160657] = h;
+    d = 642624;
+    break y;
+   }
+   d = q[a + 36 >> 2] + 32 | 0;
+  }
+  z : {
+   if (!p) {
+    q[160656] = e;
+    q[160657] = h;
+    f(0, e | 0);
+    f(1, h | 0);
+    n = +g();
+    break z;
+   }
+   n = v[q[a + 36 >> 2] + 40 >> 3];
+  }
+  s = v[d >> 3];
+  v[c + 56 >> 3] = v[c + 56 >> 3] + n;
+  v[c + 48 >> 3] = s + v[c + 48 >> 3];
+  d = q[c + 60 >> 2];
+  q[c + 40 >> 2] = q[c + 56 >> 2];
+  q[c + 44 >> 2] = d;
+  d = q[c + 52 >> 2];
+  q[c + 32 >> 2] = q[c + 48 >> 2];
+  q[c + 36 >> 2] = d;
+  A : {
+   if (!u) {
+    q[160656] = e;
+    q[160657] = h;
+    d = 642624;
+    break A;
+   }
+   d = q[a + 36 >> 2] + 48 | 0;
+  }
+  B : {
+   if (!i) {
+    q[160656] = e;
+    q[160657] = h;
+    f(0, e | 0);
+    f(1, h | 0);
+    n = +g();
+    break B;
+   }
+   n = v[q[a + 36 >> 2] + 56 >> 3];
+  }
+  s = v[d >> 3];
+  v[c + 40 >> 3] = v[c + 40 >> 3] + n;
+  v[c + 32 >> 3] = s + v[c + 32 >> 3];
+  d = q[c + 44 >> 2];
+  q[c + 24 >> 2] = q[c + 40 >> 2];
+  q[c + 28 >> 2] = d;
+  d = q[c + 36 >> 2];
+  q[c + 16 >> 2] = q[c + 32 >> 2];
+  q[c + 20 >> 2] = d;
+  C : {
+   if (!x) {
+    q[160656] = e;
+    q[160657] = h;
+    d = 642624;
+    break C;
+   }
+   d = q[a + 36 >> 2] - -64 | 0;
+  }
+  w = j + w;
+  k = k + B;
+  D : {
+   if (!A) {
+    q[160656] = e;
+    q[160657] = h;
+    f(0, e | 0);
+    f(1, h | 0);
+    j = +g();
+    break D;
+   }
+   j = v[q[a + 36 >> 2] + 72 >> 3];
+  }
+  n = v[d >> 3];
+  v[c + 24 >> 3] = v[c + 24 >> 3] + j;
+  v[c + 16 >> 3] = n + v[c + 16 >> 3];
+  d = q[c + 28 >> 2];
+  q[c + 8 >> 2] = q[c + 24 >> 2];
+  q[c + 12 >> 2] = d;
+  d = q[c + 20 >> 2];
+  q[c >> 2] = q[c + 16 >> 2];
+  q[c + 4 >> 2] = d;
+  E : {
+   if (y(k) > y(w)) {
+    F : {
+     if (m >>> 0 <= 10) {
+      q[160656] = e;
+      q[160657] = h;
+      f(0, e | 0);
+      f(1, h | 0);
+      j = +g();
+      break F;
+     }
+     j = v[q[a + 36 >> 2] + 80 >> 3];
+    }
+    v[c >> 3] = v[c >> 3] + j;
+    d = q[a + 140 >> 2];
+    q[c + 8 >> 2] = q[a + 136 >> 2];
+    q[c + 12 >> 2] = d;
+    break E;
+   }
+   d = q[a + 132 >> 2];
+   q[c >> 2] = q[a + 128 >> 2];
+   q[c + 4 >> 2] = d;
+   G : {
+    if (m >>> 0 <= 10) {
+     q[160656] = e;
+     q[160657] = h;
+     f(0, e | 0);
+     f(1, h | 0);
+     j = +g();
+     break G;
+    }
+    j = v[q[a + 36 >> 2] + 80 >> 3];
+   }
+   v[c + 8 >> 3] = v[c + 8 >> 3] + j;
+  }
+  uz(a, b, c + 80 | 0, c - -64 | 0, c + 48 | 0);
+  uz(a, b, c + 32 | 0, c + 16 | 0, c);
+ }
+ Ca = c + 96 | 0;
+}
+function cO(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ g = Ca - 48 | 0;
+ Ca = g;
+ a : {
+  if (!NN(a, 100, 100)) {
+   break a;
+  }
+  q[b + 12 >> 2] = -2147483648;
+  q[b >> 2] = 2147483647;
+  q[b + 4 >> 2] = 2147483647;
+  q[b + 8 >> 2] = -2147483648;
+  q[g + 32 >> 2] = c;
+  b : {
+   if (!c) {
+    break b;
+   }
+   e = r[c | 0];
+   if (!e) {
+    break b;
+   }
+   f = -1;
+   while (1) {
+    h = f;
+    c : {
+     d : {
+      if (!(!m | (e & 255) != 99)) {
+       k = 0;
+       e = q[m + 12 >> 2];
+       if (!e | q[e >> 2] != 5) {
+        break d;
+       }
+       e = q[e + 12 >> 2];
+       if (!e | q[e >> 2] != 5) {
+        break d;
+       }
+       k = N$(1, 20);
+       q[i + 12 >> 2] = k;
+       q[k >> 2] = 5;
+       q[k + 16 >> 2] = i;
+       e = q[m + 8 >> 2];
+       q[k + 4 >> 2] = q[m + 4 >> 2];
+       q[k + 8 >> 2] = e;
+       f = q[m + 12 >> 2];
+       j = N$(1, 20);
+       q[k + 12 >> 2] = j;
+       q[j >> 2] = 5;
+       q[j + 16 >> 2] = k;
+       e = q[f + 8 >> 2];
+       q[j + 4 >> 2] = q[f + 4 >> 2];
+       q[j + 8 >> 2] = e;
+       f = q[f + 12 >> 2];
+       i = N$(1, 20);
+       q[j + 12 >> 2] = i;
+       q[i >> 2] = 5;
+       q[i + 16 >> 2] = j;
+       e = q[f + 8 >> 2];
+       q[i + 4 >> 2] = q[f + 4 >> 2];
+       q[i + 8 >> 2] = e;
+       k = 0;
+       e = c;
+       f = h;
+       m = 0;
+       break c;
+      }
+      e : {
+       f : {
+        g : {
+         if (k >>> 0 > 1) {
+          break g;
+         }
+         if (k - 1) {
+          if (!Rd(g + 32 | 0, g + 40 | 0)) {
+           break g;
+          }
+          e = q[g + 32 >> 2] + -1 | 0;
+          q[g + 32 >> 2] = e;
+          n = v[g + 40 >> 3] * 64;
+          if (y(n) < 2147483648) {
+           o = ~~n;
+           break e;
+          }
+          o = -2147483648;
+          break e;
+         }
+         if (Rd(g + 32 | 0, g + 40 | 0)) {
+          break f;
+         }
+        }
+        k = 0;
+        h : {
+         e = q[g + 32 >> 2];
+         c = r[e | 0] + -98 | 0;
+         if (c >>> 0 > 17) {
+          break h;
+         }
+         f = 0;
+         i : {
+          switch (c - 1 | 0) {
+          case 11:
+           f = 1;
+           break c;
+          case 9:
+           f = 2;
+           break c;
+          default:
+           f = 3;
+           break c;
+          case 14:
+           f = 4;
+           break c;
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 12:
+          case 13:
+          case 15:
+           break h;
+          case 16:
+           break i;
+          case 10:
+           break c;
+          }
+         }
+         f = 5;
+         break c;
+        }
+        f = h;
+        break c;
+       }
+       f = -1;
+       e = q[g + 32 >> 2] + -1 | 0;
+       q[g + 32 >> 2] = e;
+       c = (h | 0) == -1;
+       n = v[g + 40 >> 3] * 64;
+       j : {
+        if (y(n) < 2147483648) {
+         j = ~~n;
+         break j;
+        }
+        j = -2147483648;
+       }
+       if (c) {
+        k = 2;
+        break c;
+       }
+       k = 0;
+       c = N$(1, 20);
+       k : {
+        if (!l) {
+         i = 0;
+         l = c;
+         break k;
+        }
+        q[i + 12 >> 2] = c;
+        q[c + 16 >> 2] = i;
+       }
+       q[c + 8 >> 2] = j;
+       q[c + 4 >> 2] = o;
+       q[c >> 2] = h;
+       f = (m | 0) != 0 | (h | 0) != 5;
+       m = f ? m : i;
+       f = f ? h : 5;
+       i = c;
+       break c;
+      }
+      k = 1;
+      break c;
+     }
+     e = c;
+    }
+    c = e + 1 | 0;
+    q[g + 32 >> 2] = c;
+    e = r[e + 1 | 0];
+    if (e) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[g + 40 >> 2] = 0;
+  q[g + 44 >> 2] = 0;
+  l : {
+   m : {
+    if (!l) {
+     break m;
+    }
+    e = l;
+    i = 0;
+    while (1) {
+     n : {
+      o : {
+       p : {
+        q : {
+         c = q[e >> 2];
+         if (c >>> 0 > 5) {
+          break q;
+         }
+         r : {
+          switch (c - 1 | 0) {
+          case 0:
+           j = q[e + 8 >> 2];
+           c = q[e + 4 >> 2];
+           q[g + 40 >> 2] = c;
+           q[g + 44 >> 2] = j;
+           f = q[b >> 2];
+           q[b >> 2] = (f | 0) > (c | 0) ? c : f;
+           f = q[b + 8 >> 2];
+           q[b + 8 >> 2] = (f | 0) > (c | 0) ? f : c;
+           h = j;
+           c = q[b + 4 >> 2];
+           q[b + 4 >> 2] = (c | 0) > (h | 0) ? h : c;
+           c = q[b + 12 >> 2];
+           q[b + 12 >> 2] = (c | 0) > (h | 0) ? c : h;
+           break q;
+          default:
+           j = q[e + 8 >> 2];
+           c = q[e + 4 >> 2];
+           q[g + 40 >> 2] = c;
+           q[g + 44 >> 2] = j;
+           f = q[b >> 2];
+           q[b >> 2] = (f | 0) > (c | 0) ? c : f;
+           f = q[b + 8 >> 2];
+           q[b + 8 >> 2] = (f | 0) > (c | 0) ? f : c;
+           h = j;
+           c = q[b + 4 >> 2];
+           q[b + 4 >> 2] = (c | 0) > (h | 0) ? h : c;
+           c = q[b + 12 >> 2];
+           q[b + 12 >> 2] = (c | 0) > (h | 0) ? c : h;
+           if (i) {
+            if (!UN(a)) {
+             break l;
+            }
+            if (!VN(a)) {
+             break l;
+            }
+           }
+           i = 0;
+           e = q[e + 12 >> 2];
+           if (e) {
+            continue;
+           }
+           break m;
+          case 1:
+           j = q[e + 8 >> 2];
+           c = q[e + 4 >> 2];
+           q[g + 32 >> 2] = c;
+           q[g + 36 >> 2] = j;
+           f = q[b >> 2];
+           q[b >> 2] = (f | 0) > (c | 0) ? c : f;
+           f = q[b + 8 >> 2];
+           q[b + 8 >> 2] = (f | 0) > (c | 0) ? f : c;
+           h = j;
+           c = q[b + 4 >> 2];
+           q[b + 4 >> 2] = (c | 0) > (h | 0) ? h : c;
+           c = q[b + 12 >> 2];
+           q[b + 12 >> 2] = (c | 0) > (h | 0) ? c : h;
+           if (!i) {
+            c = q[g + 44 >> 2];
+            q[g + 24 >> 2] = q[g + 40 >> 2];
+            q[g + 28 >> 2] = c;
+            if (!TN(a, g + 24 | 0, 0)) {
+             break l;
+            }
+           }
+           c = q[g + 36 >> 2];
+           q[g + 16 >> 2] = q[g + 32 >> 2];
+           q[g + 20 >> 2] = c;
+           if (!TN(a, g + 16 | 0, 1)) {
+            break l;
+           }
+           break o;
+          case 2:
+           c = q[e + 12 >> 2];
+           if (!c | q[c >> 2] != 3) {
+            break q;
+           }
+           h = q[c + 12 >> 2];
+           if (!h | q[h >> 2] != 3) {
+            break q;
+           }
+           h = q[e + 16 >> 2];
+           if (h) {
+            break p;
+           }
+           break n;
+          case 3:
+           break q;
+          case 4:
+           break r;
+          }
+         }
+         c = q[e + 12 >> 2];
+         if (!c | q[c >> 2] != 5) {
+          break q;
+         }
+         h = q[c + 12 >> 2];
+         if (!h | q[h >> 2] != 5) {
+          break q;
+         }
+         h = q[e + 16 >> 2];
+         if (!h) {
+          break n;
+         }
+         if (dO(a, b, h, 1, i)) {
+          break o;
+         }
+         break l;
+        }
+        c = q[e + 12 >> 2];
+        break n;
+       }
+       if (!dO(a, b, h, 0, i)) {
+        break l;
+       }
+       i = 1;
+       c = q[q[q[e + 12 >> 2] + 12 >> 2] + 12 >> 2];
+       break n;
+      }
+      i = 1;
+      c = q[e + 12 >> 2];
+     }
+     e = c;
+     if (c) {
+      continue;
+     }
+     break;
+    }
+    if (!i) {
+     break m;
+    }
+    if (!UN(a)) {
+     break l;
+    }
+    if (!VN(a)) {
+     break l;
+    }
+   }
+   if (d) {
+    b = q[a >> 2];
+    q[g + 4 >> 2] = q[a + 8 >> 2];
+    q[g >> 2] = b;
+    Yd(d, 6, 436774, g);
+   }
+   f = 1;
+   if (!l) {
+    break a;
+   }
+   while (1) {
+    a = q[l + 12 >> 2];
+    M$(l);
+    l = a;
+    if (a) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  while (1) {
+   b = q[l + 12 >> 2];
+   M$(l);
+   l = b;
+   if (b) {
+    continue;
+   }
+   break;
+  }
+  ON(a);
+  f = 0;
+ }
+ Ca = g + 48 | 0;
+ return f;
+}
+function Bm(a, b, c, d, e, f, g, h, i, j) {
+ var k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0;
+ l = Ca - 192 | 0;
+ Ca = l;
+ q[l + 144 >> 2] = 0;
+ q[l + 148 >> 2] = 0;
+ q[l + 152 >> 2] = 0;
+ q[l + 156 >> 2] = 0;
+ q[l + 160 >> 2] = 0;
+ q[l + 164 >> 2] = 0;
+ q[l + 168 >> 2] = 0;
+ q[l + 172 >> 2] = 0;
+ q[l + 176 >> 2] = 0;
+ q[l + 180 >> 2] = 0;
+ q[l + 184 >> 2] = 0;
+ q[l + 188 >> 2] = 0;
+ q[l + 128 >> 2] = 0;
+ q[l + 132 >> 2] = 0;
+ q[l + 136 >> 2] = 0;
+ q[l + 140 >> 2] = 0;
+ t = l + 128 | 4;
+ m = b;
+ k = a;
+ while (1) {
+  s = (l + 128 | 0) + (q[k >> 2] << 2) | 0;
+  q[s >> 2] = q[s >> 2] + 1;
+  k = k + 4 | 0;
+  m = m + -1 | 0;
+  if (m) {
+   continue;
+  }
+  break;
+ }
+ a : {
+  if (q[l + 128 >> 2] == (b | 0)) {
+   q[f >> 2] = 0;
+   q[g >> 2] = 0;
+   break a;
+  }
+  k = q[g >> 2];
+  n = 1;
+  m = g;
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        s = q[l + 132 >> 2];
+        if (s) {
+         break g;
+        }
+        n = 2;
+        if (q[l + 136 >> 2]) {
+         break g;
+        }
+        n = 3;
+        if (q[l + 140 >> 2]) {
+         break g;
+        }
+        n = 4;
+        if (q[l + 144 >> 2]) {
+         break g;
+        }
+        n = 5;
+        if (q[l + 148 >> 2]) {
+         break g;
+        }
+        n = 6;
+        if (q[l + 152 >> 2]) {
+         break g;
+        }
+        n = 7;
+        if (q[l + 156 >> 2]) {
+         break g;
+        }
+        n = 8;
+        if (q[l + 160 >> 2]) {
+         break g;
+        }
+        n = 9;
+        if (q[l + 164 >> 2]) {
+         break g;
+        }
+        n = 10;
+        if (q[l + 168 >> 2]) {
+         break g;
+        }
+        n = 11;
+        if (q[l + 172 >> 2]) {
+         break g;
+        }
+        n = 12;
+        if (q[l + 176 >> 2]) {
+         break g;
+        }
+        n = 13;
+        if (q[l + 180 >> 2]) {
+         break g;
+        }
+        n = 14;
+        if (q[l + 184 >> 2]) {
+         break g;
+        }
+        if (q[l + 188 >> 2]) {
+         n = 15;
+         k = k >>> 0 > 15 ? k : 15;
+         p = 15;
+         break e;
+        }
+        n = 16;
+        k = k >>> 0 > 16 ? k : 16;
+        break f;
+       }
+       k = k >>> 0 < n >>> 0 ? n : k;
+       if (!q[l + 188 >> 2]) {
+        break f;
+       }
+       p = 15;
+       u = k >>> 0 < 15 ? k : 15;
+       q[g >> 2] = u;
+       m = 1 << n;
+       break c;
+      }
+      p = 14;
+      if (q[l + 184 >> 2]) {
+       break d;
+      }
+      p = 13;
+      if (q[l + 180 >> 2]) {
+       break d;
+      }
+      p = 12;
+      if (q[l + 176 >> 2]) {
+       break d;
+      }
+      p = 11;
+      if (q[l + 172 >> 2]) {
+       break d;
+      }
+      p = 10;
+      if (q[l + 168 >> 2]) {
+       break d;
+      }
+      p = 9;
+      if (q[l + 164 >> 2]) {
+       break d;
+      }
+      p = 8;
+      if (q[l + 160 >> 2]) {
+       break d;
+      }
+      p = 7;
+      if (q[l + 156 >> 2]) {
+       break d;
+      }
+      p = 6;
+      if (q[l + 152 >> 2]) {
+       break d;
+      }
+      p = 5;
+      if (q[l + 148 >> 2]) {
+       break d;
+      }
+      p = 4;
+      if (q[l + 144 >> 2]) {
+       break d;
+      }
+      p = 3;
+      if (q[l + 140 >> 2]) {
+       break d;
+      }
+      p = 2;
+      if (q[l + 136 >> 2]) {
+       break d;
+      }
+      p = (s | 0) != 0;
+     }
+     u = k >>> 0 > p >>> 0 ? p : k;
+     q[m >> 2] = u;
+     m = 1 << n;
+     break b;
+    }
+    u = k >>> 0 > p >>> 0 ? p : k;
+    q[g >> 2] = u;
+    m = 1 << n;
+    if (n >>> 0 >= p >>> 0) {
+     break b;
+    }
+   }
+   k = n;
+   while (1) {
+    g = m - q[(l + 128 | 0) + (k << 2) >> 2] | 0;
+    if ((g | 0) < 0) {
+     C = -3;
+     break a;
+    }
+    m = g << 1;
+    k = k + 1 | 0;
+    if ((p | 0) != (k | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  C = -3;
+  g = (l + 128 | 0) + (p << 2) | 0;
+  D = m - q[g >> 2] | 0;
+  if ((D | 0) < 0) {
+   break a;
+  }
+  q[g >> 2] = m;
+  q[l + 4 >> 2] = 0;
+  m = p + -1 | 0;
+  if (m) {
+   k = l | 8;
+   s = 0;
+   while (1) {
+    s = q[t >> 2] + s | 0;
+    q[k >> 2] = s;
+    k = k + 4 | 0;
+    t = t + 4 | 0;
+    m = m + -1 | 0;
+    if (m) {
+     continue;
+    }
+    break;
+   }
+  }
+  g = b >>> 0 > 1 ? b : 1;
+  k = 0;
+  while (1) {
+   b = q[a >> 2];
+   if (b) {
+    m = (b << 2) + l | 0;
+    b = q[m >> 2];
+    q[m >> 2] = b + 1;
+    q[(b << 2) + j >> 2] = k;
+   }
+   a = a + 4 | 0;
+   k = k + 1 | 0;
+   if ((g | 0) != (k | 0)) {
+    continue;
+   }
+   break;
+  }
+  q[l + 64 >> 2] = 0;
+  a = q[(p << 2) + l >> 2];
+  q[l >> 2] = 0;
+  if (n >>> 0 <= p >>> 0) {
+   t = 0 - u | 0;
+   G = (a << 2) + j | 0;
+   b = 0;
+   s = -1;
+   while (1) {
+    E = (l + 128 | 0) + (n << 2) | 0;
+    y = q[E >> 2];
+    if (y) {
+     H = 1 << n + -1;
+     while (1) {
+      k = t + u | 0;
+      h : {
+       if ((n | 0) <= (k | 0)) {
+        g = n - t | 0;
+        break h;
+       }
+       B = p - k | 0;
+       v = t;
+       a = s;
+       while (1) {
+        t = k;
+        g = n - k | 0;
+        m = g;
+        k = 1 << m;
+        i : {
+         if (k >>> 0 <= y >>> 0) {
+          break i;
+         }
+         m = g;
+         s = p - t | 0;
+         w = s >>> 0 > u >>> 0 ? u : s;
+         if (m >>> 0 >= w >>> 0) {
+          break i;
+         }
+         m = g + 1 | 0;
+         if (m >>> 0 >= w >>> 0) {
+          break i;
+         }
+         z = B >>> 0 > u >>> 0 ? u : B;
+         s = k - y | 0;
+         k = E;
+         while (1) {
+          s = s << 1;
+          A = q[k + 4 >> 2];
+          if (s >>> 0 <= A >>> 0) {
+           break i;
+          }
+          k = k + 4 | 0;
+          s = s - A | 0;
+          m = m + 1 | 0;
+          if (m >>> 0 < w >>> 0) {
+           continue;
+          }
+          break;
+         }
+         m = z;
+        }
+        w = 1 << m;
+        k = q[i >> 2];
+        A = w + k | 0;
+        if (A >>> 0 > 1440) {
+         break a;
+        }
+        s = a + 1 | 0;
+        F = s << 2;
+        z = (k << 3) + h | 0;
+        q[F + (l - -64 | 0) >> 2] = z;
+        q[i >> 2] = A;
+        j : {
+         if (s) {
+          q[l + F >> 2] = b;
+          k = b >>> v | 0;
+          v = q[(l - -64 | 0) + (a << 2) >> 2];
+          a = (k << 3) + v | 0;
+          o[a + 1 | 0] = u;
+          o[a | 0] = m;
+          x = (z - v >> 3) - k | 0;
+          q[a + 4 >> 2] = x;
+          break j;
+         }
+         q[f >> 2] = z;
+        }
+        B = B - u | 0;
+        v = t;
+        a = s;
+        k = t + u | 0;
+        if ((n | 0) > (k | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      a = 192;
+      k : {
+       if (j >>> 0 >= G >>> 0) {
+        break k;
+       }
+       x = q[j >> 2];
+       if (x >>> 0 < c >>> 0) {
+        a = x >>> 0 < 256 ? 0 : 96;
+        j = j + 4 | 0;
+        break k;
+       }
+       j = j + 4 | 0;
+       k = x - c << 2;
+       a = r[k + e | 0] + 80 | 0;
+       x = q[d + k >> 2];
+      }
+      k = b >>> t | 0;
+      if (k >>> 0 < w >>> 0) {
+       v = 1 << g;
+       while (1) {
+        m = (k << 3) + z | 0;
+        q[m + 4 >> 2] = x;
+        o[m + 1 | 0] = g;
+        o[m | 0] = a;
+        k = k + v | 0;
+        if (k >>> 0 < w >>> 0) {
+         continue;
+        }
+        break;
+       }
+      }
+      y = y + -1 | 0;
+      m = b;
+      k = H;
+      while (1) {
+       a = k & m;
+       b = k ^ m;
+       m = b;
+       k = k >>> 1 | 0;
+       if (a) {
+        continue;
+       }
+       break;
+      }
+      if (q[(s << 2) + l >> 2] != ((-1 << t ^ -1) & b)) {
+       while (1) {
+        s = s + -1 | 0;
+        t = t - u | 0;
+        if (q[(s << 2) + l >> 2] != ((-1 << t ^ -1) & b)) {
+         continue;
+        }
+        break;
+       }
+      }
+      if (y) {
+       continue;
+      }
+      break;
+     }
+    }
+    a = (n | 0) != (p | 0);
+    n = n + 1 | 0;
+    if (a) {
+     continue;
+    }
+    break;
+   }
+  }
+  C = (p | 0) != 1 ? D ? -5 : 0 : 0;
+ }
+ Ca = l + 192 | 0;
+ return C;
+}
+function HX(a, b, c) {
+ var d = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ d = Ca - 560 | 0;
+ Ca = d;
+ cS(d + 536 | 0, a);
+ cS(d + 520 | 0, c);
+ a = q[d + 548 >> 2];
+ i = a;
+ c = q[d + 544 >> 2];
+ q[d + 8 >> 2] = c;
+ q[d + 12 >> 2] = i;
+ k = q[d + 540 >> 2];
+ a = q[d + 536 >> 2];
+ a : {
+  if (a >>> 0 > 3) {
+   break a;
+  }
+  f(0, c | 0);
+  f(1, i | 0);
+  j = +g();
+  i = q[d + 520 >> 2];
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       switch (a - 1 | 0) {
+       default:
+        a = 0;
+        c = i + -5 | 0;
+        if (c >>> 0 > 3) {
+         break a;
+        }
+        g : {
+         switch (c - 1 | 0) {
+         case 1:
+          break a;
+         case 0:
+          break d;
+         case 2:
+          break e;
+         default:
+          break g;
+         }
+        }
+        q[d + 8 >> 2] = 437968;
+        a = 5;
+        break a;
+       case 1:
+        break b;
+       case 0:
+        break c;
+       case 2:
+        break f;
+       }
+      }
+      a = 3;
+      if ((i | 0) != 8) {
+       break a;
+      }
+      m = d, n = QP(c, d + 264 | 0), q[m + 8 >> 2] = n;
+      a = 8;
+      break a;
+     }
+     m = d, n = QP(0, d + 264 | 0), q[m + 8 >> 2] = n;
+     a = 8;
+     break a;
+    }
+    m = d, n = HR(d + 264 | 0), q[m + 8 >> 2] = n;
+    a = 6;
+    break a;
+   }
+   j = +(c | 0);
+   v[d + 8 >> 3] = j;
+  }
+  a = 2;
+  if ((i | 0) != 9) {
+   break a;
+  }
+  m = d, n = iP(j, d + 264 | 0), q[m + 8 >> 2] = n;
+  a = 9;
+ }
+ c = q[d + 12 >> 2];
+ q[d + 544 >> 2] = q[d + 8 >> 2];
+ q[d + 548 >> 2] = c;
+ q[d + 540 >> 2] = k;
+ q[d + 536 >> 2] = a;
+ c = q[d + 532 >> 2];
+ k = c;
+ i = q[d + 528 >> 2];
+ q[d + 552 >> 2] = i;
+ q[d + 556 >> 2] = c;
+ l = q[d + 524 >> 2];
+ c = q[d + 520 >> 2];
+ h : {
+  if (c >>> 0 > 3) {
+   break h;
+  }
+  f(0, i | 0);
+  f(1, k | 0);
+  j = +g();
+  i : {
+   j : {
+    k : {
+     l : {
+      m : {
+       switch (c - 1 | 0) {
+       default:
+        c = 0;
+        a = a + -5 | 0;
+        if (a >>> 0 > 3) {
+         break h;
+        }
+        n : {
+         switch (a - 1 | 0) {
+         case 0:
+          break k;
+         case 2:
+          break l;
+         case 1:
+          break h;
+         default:
+          break n;
+         }
+        }
+        q[d + 552 >> 2] = 437968;
+        c = 5;
+        break h;
+       case 1:
+        break i;
+       case 0:
+        break j;
+       case 2:
+        break m;
+       }
+      }
+      c = 3;
+      if ((a | 0) != 8) {
+       break h;
+      }
+      m = d, n = QP(i, d + 8 | 0), q[m + 552 >> 2] = n;
+      c = 8;
+      break h;
+     }
+     m = d, n = QP(0, d + 8 | 0), q[m + 552 >> 2] = n;
+     c = 8;
+     break h;
+    }
+    m = d, n = HR(d + 8 | 0), q[m + 552 >> 2] = n;
+    c = 6;
+    break h;
+   }
+   j = +(i | 0);
+   v[d + 552 >> 3] = j;
+  }
+  c = 2;
+  if ((a | 0) != 9) {
+   break h;
+  }
+  m = d, n = iP(j, d + 8 | 0), q[m + 552 >> 2] = n;
+  c = 9;
+ }
+ j = v[d + 552 >> 3];
+ v[d + 528 >> 3] = j;
+ q[d + 524 >> 2] = l;
+ q[d + 520 >> 2] = c;
+ o : {
+  p : {
+   q : {
+    r : {
+     if (q[d + 536 >> 2] == (c | 0)) {
+      a = 0;
+      if (c >>> 0 > 9) {
+       break o;
+      }
+      h(+j);
+      e(1) | 0;
+      i = e(0) | 0;
+      s : {
+       switch (c - 1 | 0) {
+       case 1:
+        b = (b & 65535) + -22 | 0;
+        if (b >>> 0 > 8) {
+         break o;
+        }
+        t : {
+         switch (b - 1 | 0) {
+         default:
+          a = v[d + 544 >> 3] == j;
+          break o;
+         case 0:
+         case 3:
+          a = v[d + 544 >> 3] != j;
+          break o;
+         case 4:
+          a = v[d + 544 >> 3] < j;
+          break o;
+         case 5:
+          a = v[d + 544 >> 3] <= j;
+          break o;
+         case 6:
+          a = v[d + 544 >> 3] > j;
+          break o;
+         case 7:
+          break t;
+         }
+        }
+        a = v[d + 544 >> 3] >= j;
+        break o;
+       case 3:
+        b = (b & 65535) + -22 | 0;
+        if (b >>> 0 > 8) {
+         break o;
+        }
+        u : {
+         switch (b - 1 | 0) {
+         default:
+          a = (i | 0) == q[d + 544 >> 2];
+          break o;
+         case 1:
+         case 2:
+          a = q[d + 544 >> 2];
+          a = (a | 0) > 1 | (a | 0) == (i | 0);
+          break o;
+         case 0:
+          a = (i | 0) != q[d + 544 >> 2];
+          break o;
+         case 3:
+          a = q[d + 544 >> 2];
+          a = (a | 0) < 2 & (a | 0) != (i | 0);
+          break o;
+         case 4:
+          a = (i | 0) != q[d + 544 >> 2] & (i | 0) > 1;
+          break o;
+         case 5:
+          a = (i | 0) == q[d + 544 >> 2] | (i | 0) > 1;
+          break o;
+         case 6:
+          a = q[d + 544 >> 2];
+          a = (a | 0) > 1 & (a | 0) != (i | 0);
+          break o;
+         case 7:
+          break u;
+         }
+        }
+        a = q[d + 544 >> 2];
+        a = (a | 0) > 1 | (a | 0) == (i | 0);
+        break o;
+       case 2:
+        c = (b & 65535) + -22 | 0;
+        if (c >>> 0 > 4) {
+         break o;
+        }
+        v : {
+         switch (c - 1 | 0) {
+         default:
+          a = q[d + 544 >> 2];
+          if (b & 65536) {
+           a = !aQ(a, i);
+           break o;
+          }
+          a = !$P(a, i);
+          break o;
+         case 1:
+          a = (gQ(q[d + 544 >> 2], i) | 0) != 0;
+          break o;
+         case 0:
+          a = q[d + 544 >> 2];
+          if (b & 65536) {
+           a = (aQ(a, i) | 0) != 0;
+           break o;
+          }
+          a = ($P(a, i) | 0) != 0;
+          break o;
+         case 3:
+          break v;
+         }
+        }
+        a = !gQ(q[d + 544 >> 2], i);
+        break o;
+       case 4:
+        b = b & 65535;
+        if (b >>> 0 > 26) {
+         break o;
+        }
+        b = 1 << b;
+        if (b & 54525952) {
+         break q;
+        }
+        if (!(b & 75497472)) {
+         break o;
+        }
+        a = !YO(q[d + 544 >> 2], i);
+        break o;
+       case 5:
+        b = (b & 65535) + -22 | 0;
+        if (b >>> 0 > 4) {
+         break o;
+        }
+        w : {
+         switch (b - 1 | 0) {
+         case 1:
+         case 2:
+          a = RR(i, q[d + 544 >> 2]);
+          break o;
+         case 3:
+          a = !RR(i, q[d + 544 >> 2]);
+          break o;
+         default:
+          a = NR(q[d + 544 >> 2], i);
+          break o;
+         case 0:
+          break w;
+         }
+        }
+        a = !NR(q[d + 544 >> 2], i);
+        break o;
+       case 7:
+        b = (b & 65535) + -22 | 0;
+        if (b >>> 0 > 4) {
+         break o;
+        }
+        x : {
+         switch (b - 1 | 0) {
+         case 1:
+         case 2:
+          a = TP(q[d + 544 >> 2], i);
+          break o;
+         case 3:
+          a = !TP(q[d + 544 >> 2], i);
+          break o;
+         default:
+          a = SP(q[d + 544 >> 2], i);
+          break o;
+         case 0:
+          break x;
+         }
+        }
+        a = !SP(q[d + 544 >> 2], i);
+        break o;
+       case 6:
+        b = b & 65535;
+        if (b >>> 0 > 26) {
+         break o;
+        }
+        b = 1 << b;
+        if (b & 54525952) {
+         break p;
+        }
+        if (!(b & 75497472)) {
+         break o;
+        }
+        a = (i | 0) != q[d + 544 >> 2];
+        break o;
+       case 0:
+        break o;
+       case 8:
+        break s;
+       default:
+        break r;
+       }
+      }
+      a = jP(b & 65535, q[d + 544 >> 2], i);
+      break o;
+     }
+     a = 0;
+     b = (b & 65535) + -23 | 0;
+     if (b >>> 0 > 3) {
+      break o;
+     }
+     y : {
+      switch (b - 1 | 0) {
+      case 0:
+      case 1:
+       break o;
+      default:
+       break y;
+      }
+     }
+     a = 1;
+     break o;
+    }
+    b = b + -22 | 0;
+    if ((b & 65535) >>> 0 >= 4) {
+     break o;
+    }
+    a = q[(b << 16 >> 16 << 2) + 503732 >> 2];
+    break o;
+   }
+   a = YO(q[d + 544 >> 2], i);
+   break o;
+  }
+  a = (i | 0) == q[d + 544 >> 2];
+ }
+ Ca = d + 560 | 0;
+ return a;
+}
+function q_(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, u = 0, v = 0;
+ m = Ca - 16 | 0;
+ Ca = m;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       if (b >>> 0 <= 36) {
+        while (1) {
+         f = q[a + 4 >> 2];
+         g : {
+          if (f >>> 0 < t[a + 104 >> 2]) {
+           q[a + 4 >> 2] = f + 1;
+           f = r[f | 0];
+           break g;
+          }
+          f = p_(a);
+         }
+         if (vY(f)) {
+          continue;
+         }
+         break;
+        }
+        j = f + -43 | 0;
+        h : {
+         if (j >>> 0 > 2 | !(j - 1)) {
+          break h;
+         }
+         p = (f | 0) == 45 ? -1 : 0;
+         f = q[a + 4 >> 2];
+         if (f >>> 0 < t[a + 104 >> 2]) {
+          q[a + 4 >> 2] = f + 1;
+          f = r[f | 0];
+          break h;
+         }
+         f = p_(a);
+        }
+        i : {
+         if (!(b & -17 | (f | 0) != 48)) {
+          f = q[a + 4 >> 2];
+          j : {
+           if (f >>> 0 < t[a + 104 >> 2]) {
+            q[a + 4 >> 2] = f + 1;
+            f = r[f | 0];
+            break j;
+           }
+           f = p_(a);
+          }
+          if ((f | 32) == 120) {
+           b = 16;
+           f = q[a + 4 >> 2];
+           k : {
+            if (f >>> 0 < t[a + 104 >> 2]) {
+             q[a + 4 >> 2] = f + 1;
+             f = r[f | 0];
+             break k;
+            }
+            f = p_(a);
+           }
+           if (r[f + 507681 | 0] < 16) {
+            break e;
+           }
+           if (!q[a + 104 >> 2]) {
+            d = 0;
+            e = 0;
+            if (c) {
+             break a;
+            }
+            break b;
+           }
+           b = q[a + 4 >> 2];
+           q[a + 4 >> 2] = b + -1;
+           if (!c) {
+            break b;
+           }
+           q[a + 4 >> 2] = b + -2;
+           d = 0;
+           e = 0;
+           break a;
+          }
+          if (b) {
+           break i;
+          }
+          b = 8;
+          break e;
+         }
+         b = b ? b : 10;
+         if (b >>> 0 > r[f + 507681 | 0]) {
+          break i;
+         }
+         if (q[a + 104 >> 2]) {
+          q[a + 4 >> 2] = q[a + 4 >> 2] + -1;
+         }
+         d = 0;
+         e = 0;
+         o_(a, 0, 0);
+         q[160854] = 28;
+         break a;
+        }
+        if ((b | 0) != 10) {
+         break e;
+        }
+        c = f + -48 | 0;
+        if (c >>> 0 <= 9) {
+         b = 0;
+         while (1) {
+          b = w(b, 10) + c | 0;
+          c = q[a + 4 >> 2];
+          l : {
+           if (c >>> 0 < t[a + 104 >> 2]) {
+            q[a + 4 >> 2] = c + 1;
+            f = r[c | 0];
+            break l;
+           }
+           f = p_(a);
+          }
+          c = f + -48 | 0;
+          if (b >>> 0 < 429496729 ? c >>> 0 <= 9 : 0) {
+           continue;
+          }
+          break;
+         }
+         g = b;
+        }
+        if (c >>> 0 > 9) {
+         break f;
+        }
+        i = T0(g, 0, 10, 0);
+        b = Ea;
+        while (1) {
+         h = b;
+         b = c + i | 0;
+         if (b >>> 0 < c >>> 0) {
+          h = h + 1 | 0;
+         }
+         g = b;
+         j = (h | 0) == 429496729 & b >>> 0 >= 2576980378 | h >>> 0 > 429496729;
+         b = q[a + 4 >> 2];
+         m : {
+          if (b >>> 0 < t[a + 104 >> 2]) {
+           q[a + 4 >> 2] = b + 1;
+           f = r[b | 0];
+           break m;
+          }
+          f = p_(a);
+         }
+         c = f + -48 | 0;
+         if (j | c >>> 0 > 9) {
+          break f;
+         }
+         i = T0(g, h, 10, 0);
+         b = Ea;
+         if ((b | 0) == -1 & i >>> 0 <= (c ^ -1) >>> 0 | b >>> 0 < 4294967295) {
+          continue;
+         }
+         break;
+        }
+        b = 10;
+        break d;
+       }
+       q[160854] = 28;
+       d = 0;
+       e = 0;
+       break a;
+      }
+      b = 10;
+      if (c >>> 0 <= 9) {
+       break d;
+      }
+      break c;
+     }
+     if (b + -1 & b) {
+      c = r[f + 507681 | 0];
+      if (b >>> 0 > c >>> 0) {
+       while (1) {
+        g = w(b, g) + c | 0;
+        n = g >>> 0 <= 119304646;
+        j = b;
+        f = q[a + 4 >> 2];
+        n : {
+         if (f >>> 0 < t[a + 104 >> 2]) {
+          q[a + 4 >> 2] = f + 1;
+          f = r[f | 0];
+          break n;
+         }
+         f = p_(a);
+        }
+        c = r[f + 507681 | 0];
+        if (j >>> 0 > c >>> 0 ? n : 0) {
+         continue;
+        }
+        break;
+       }
+      }
+      if (b >>> 0 <= c >>> 0) {
+       break d;
+      }
+      k = b;
+      while (1) {
+       l = T0(g, h, k, 0);
+       j = Ea;
+       i = j;
+       c = c & 255;
+       if ((i | 0) == -1 & l >>> 0 > (c ^ -1) >>> 0 | i >>> 0 > 4294967295) {
+        break d;
+       }
+       h = j;
+       f = c + l | 0;
+       if (f >>> 0 < c >>> 0) {
+        h = h + 1 | 0;
+       }
+       g = f;
+       j = b;
+       f = q[a + 4 >> 2];
+       o : {
+        if (f >>> 0 < t[a + 104 >> 2]) {
+         q[a + 4 >> 2] = f + 1;
+         f = r[f | 0];
+         break o;
+        }
+        f = p_(a);
+       }
+       c = r[f + 507681 | 0];
+       if (j >>> 0 <= c >>> 0) {
+        break d;
+       }
+       x$(m, k, 0, g, h);
+       if (!(q[m + 8 >> 2] | q[m + 12 >> 2])) {
+        continue;
+       }
+       break;
+      }
+      break d;
+     }
+     l = o[(w(b, 23) >>> 5 & 7) + 507937 | 0];
+     j = l;
+     c = j;
+     i = c & 31;
+     if (32 <= (c & 63) >>> 0) {
+      n = -1 >>> i | 0;
+     } else {
+      k = -1 >>> i | 0;
+      n = (1 << i) - 1 << 32 - i | -1 >>> i;
+     }
+     i = n;
+     s = k;
+     c = r[f + 507681 | 0];
+     if (b >>> 0 > c >>> 0) {
+      while (1) {
+       g = g << l | c;
+       u = g >>> 0 <= 134217727;
+       v = b;
+       f = q[a + 4 >> 2];
+       p : {
+        if (f >>> 0 < t[a + 104 >> 2]) {
+         q[a + 4 >> 2] = f + 1;
+         f = r[f | 0];
+         break p;
+        }
+        f = p_(a);
+       }
+       c = r[f + 507681 | 0];
+       if (v >>> 0 > c >>> 0 ? u : 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (!s & i >>> 0 < g >>> 0 | s >>> 0 < 0 | b >>> 0 <= c >>> 0) {
+      break d;
+     }
+     while (1) {
+      i = c & 255;
+      f = g;
+      c = j;
+      g = c & 31;
+      if (32 <= (c & 63) >>> 0) {
+       h = f << g;
+       c = 0;
+      } else {
+       h = (1 << g) - 1 & f >>> 32 - g | h << g;
+       c = f << g;
+      }
+      g = i | c;
+      c = q[a + 4 >> 2];
+      q : {
+       if (c >>> 0 < t[a + 104 >> 2]) {
+        q[a + 4 >> 2] = c + 1;
+        f = r[c | 0];
+        break q;
+       }
+       f = p_(a);
+      }
+      if ((h | 0) == (k | 0) & g >>> 0 > n >>> 0 | h >>> 0 > k >>> 0) {
+       break d;
+      }
+      c = r[f + 507681 | 0];
+      if (b >>> 0 > c >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (b >>> 0 <= r[f + 507681 | 0]) {
+     break c;
+    }
+    while (1) {
+     c = b;
+     f = q[a + 4 >> 2];
+     r : {
+      if (f >>> 0 < t[a + 104 >> 2]) {
+       q[a + 4 >> 2] = f + 1;
+       f = r[f | 0];
+       break r;
+      }
+      f = p_(a);
+     }
+     if (c >>> 0 > r[f + 507681 | 0]) {
+      continue;
+     }
+     break;
+    }
+    q[160854] = 68;
+    p = d & 1 ? 0 : p;
+    g = d;
+    h = e;
+   }
+   if (q[a + 104 >> 2]) {
+    q[a + 4 >> 2] = q[a + 4 >> 2] + -1;
+   }
+   s : {
+    if ((e | 0) == (h | 0) & g >>> 0 < d >>> 0 | h >>> 0 < e >>> 0) {
+     break s;
+    }
+    if (!(p | d & 1)) {
+     q[160854] = 68;
+     e = e + -1 | 0;
+     a = d + -1 | 0;
+     if (a >>> 0 < 4294967295) {
+      e = e + 1 | 0;
+     }
+     d = a;
+     break a;
+    }
+    if ((e | 0) == (h | 0) & g >>> 0 <= d >>> 0 | h >>> 0 < e >>> 0) {
+     break s;
+    }
+    q[160854] = 68;
+    break a;
+   }
+   a = p;
+   c = a ^ g;
+   d = c - a | 0;
+   b = a >> 31;
+   e = (b ^ h) - (b + (c >>> 0 < a >>> 0) | 0) | 0;
+   break a;
+  }
+  d = 0;
+  e = 0;
+  o_(a, 0, 0);
+ }
+ Ca = m + 16 | 0;
+ Ea = e;
+ return d;
+}
+function HE(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ c = q[a + 4 >> 2];
+ d = q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2];
+ q[e + 12 >> 2] = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     if (b) {
+      b = q[a + 8 >> 2];
+      q[e + 12 >> 2] = 0;
+      f = b;
+      g = q[b + 76 >> 2];
+      b = q[b + 72 >> 2];
+      if (!n[q[b + 156 >> 2]](f, g, d, e + 12 | 0, q[b + 20 >> 2])) {
+       break d;
+      }
+      q[(q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0) + 12 >> 2] = q[e + 12 >> 2];
+      if (r[c + 69 | 0]) {
+       e : {
+        if (q[c + 92 >> 2] == q[c + 88 >> 2]) {
+         a = q[c + 80 >> 2];
+         if ((a | 0) == q[c + 72 >> 2]) {
+          break e;
+         }
+        }
+        if (!pG(c, 1, 1)) {
+         break a;
+        }
+        b = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+        d = q[b + 4 >> 2];
+        a = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+        q[a >> 2] = q[b >> 2];
+        q[a + 4 >> 2] = d;
+        q[a + 16 >> 2] = q[b + 16 >> 2];
+        d = q[b + 12 >> 2];
+        q[a + 8 >> 2] = q[b + 8 >> 2];
+        q[a + 12 >> 2] = d;
+        a = q[c + 80 >> 2];
+       }
+       q[c + 80 >> 2] = a + 1;
+      }
+      q[c + 72 >> 2] = q[c + 72 >> 2] + 1;
+      break a;
+     }
+     if (KE(a, 0, d)) {
+      break b;
+     }
+     b = q[a + 8 >> 2];
+     q[e + 12 >> 2] = 0;
+     f = b;
+     g = q[b + 76 >> 2];
+     b = q[b + 72 >> 2];
+     if (!n[q[b + 156 >> 2]](f, g, d, e + 12 | 0, q[b + 20 >> 2])) {
+      break c;
+     }
+     q[(q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0) + 12 >> 2] = q[e + 12 >> 2];
+     if (r[c + 69 | 0]) {
+      f : {
+       if (q[c + 92 >> 2] == q[c + 88 >> 2]) {
+        a = q[c + 80 >> 2];
+        if ((a | 0) == q[c + 72 >> 2]) {
+         break f;
+        }
+       }
+       if (!pG(c, 1, 1)) {
+        break a;
+       }
+       b = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+       d = q[b + 4 >> 2];
+       a = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+       q[a >> 2] = q[b >> 2];
+       q[a + 4 >> 2] = d;
+       q[a + 16 >> 2] = q[b + 16 >> 2];
+       d = q[b + 12 >> 2];
+       q[a + 8 >> 2] = q[b + 8 >> 2];
+       q[a + 12 >> 2] = d;
+       a = q[c + 80 >> 2];
+      }
+      q[c + 80 >> 2] = a + 1;
+     }
+     q[c + 72 >> 2] = q[c + 72 >> 2] + 1;
+     break a;
+    }
+    if (KE(a, 1, d)) {
+     break b;
+    }
+   }
+   g : {
+    if ((s[(q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0) + 16 >> 1] & 31) != 29) {
+     break g;
+    }
+    h : {
+     if ((d | 0) <= 8191) {
+      b = 4608;
+      if ((d | 0) == 32 | (d | 0) == 160) {
+       break h;
+      }
+      break g;
+     }
+     i : {
+      b = d + -8192 | 0;
+      if (b >>> 0 > 95) {
+       if ((d | 0) != 12288) {
+        break g;
+       }
+       break i;
+      }
+      j : {
+       switch (b - 1 | 0) {
+       default:
+        b = 512;
+        break h;
+       case 3:
+        b = 768;
+        break h;
+       case 4:
+        b = 1024;
+        break h;
+       case 5:
+        b = 1536;
+        break h;
+       case 6:
+        b = 4864;
+        break h;
+       case 7:
+        b = 5120;
+        break h;
+       case 8:
+        b = 1280;
+        break h;
+       case 9:
+        b = 4096;
+        break h;
+       case 46:
+        b = 5376;
+        break h;
+       case 10:
+       case 11:
+       case 12:
+       case 13:
+       case 14:
+       case 15:
+       case 16:
+       case 17:
+       case 18:
+       case 19:
+       case 20:
+       case 21:
+       case 22:
+       case 23:
+       case 24:
+       case 25:
+       case 26:
+       case 27:
+       case 28:
+       case 29:
+       case 30:
+       case 31:
+       case 32:
+       case 33:
+       case 34:
+       case 35:
+       case 36:
+       case 37:
+       case 38:
+       case 39:
+       case 40:
+       case 41:
+       case 42:
+       case 43:
+       case 44:
+       case 45:
+       case 47:
+       case 48:
+       case 49:
+       case 50:
+       case 51:
+       case 52:
+       case 53:
+       case 54:
+       case 55:
+       case 56:
+       case 57:
+       case 58:
+       case 59:
+       case 60:
+       case 61:
+       case 62:
+       case 63:
+       case 64:
+       case 65:
+       case 66:
+       case 67:
+       case 68:
+       case 69:
+       case 70:
+       case 71:
+       case 72:
+       case 73:
+       case 74:
+       case 75:
+       case 76:
+       case 77:
+       case 78:
+       case 79:
+       case 80:
+       case 81:
+       case 82:
+       case 83:
+       case 84:
+       case 85:
+       case 86:
+       case 87:
+       case 88:
+       case 89:
+       case 90:
+       case 91:
+       case 92:
+       case 93:
+        break g;
+       case 0:
+       case 2:
+        break i;
+       case 94:
+        break j;
+       }
+      }
+      b = 4352;
+      break h;
+     }
+     b = 256;
+    }
+    f = q[a + 8 >> 2];
+    q[e + 8 >> 2] = 0;
+    g = f;
+    h = q[f + 76 >> 2];
+    f = q[f + 72 >> 2];
+    if (!n[q[f + 156 >> 2]](g, h, 32, e + 8 | 0, q[f + 20 >> 2])) {
+     break g;
+    }
+    a = q[c + 88 >> 2];
+    d = q[c + 72 >> 2];
+    f = a + w(d, 20) | 0;
+    g = s[f + 16 >> 1];
+    if ((g & 31) == 29) {
+     p[f + 16 >> 1] = g & 255 | b;
+     d = q[c + 72 >> 2];
+     a = q[c + 88 >> 2];
+    }
+    q[(a + w(d, 20) | 0) + 12 >> 2] = q[e + 8 >> 2];
+    k : {
+     if (r[c + 69 | 0]) {
+      l : {
+       if (q[c + 92 >> 2] == q[c + 88 >> 2]) {
+        a = q[c + 80 >> 2];
+        if ((a | 0) == q[c + 72 >> 2]) {
+         break l;
+        }
+       }
+       if (!pG(c, 1, 1)) {
+        break k;
+       }
+       b = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+       d = q[b + 4 >> 2];
+       a = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+       q[a >> 2] = q[b >> 2];
+       q[a + 4 >> 2] = d;
+       q[a + 16 >> 2] = q[b + 16 >> 2];
+       d = q[b + 12 >> 2];
+       q[a + 8 >> 2] = q[b + 8 >> 2];
+       q[a + 12 >> 2] = d;
+       a = q[c + 80 >> 2];
+      }
+      q[c + 80 >> 2] = a + 1;
+     }
+     q[c + 72 >> 2] = q[c + 72 >> 2] + 1;
+    }
+    q[c + 32 >> 2] = q[c + 32 >> 2] | 4;
+    break a;
+   }
+   m : {
+    if ((d | 0) != 8209) {
+     break m;
+    }
+    a = q[a + 8 >> 2];
+    q[e + 4 >> 2] = 0;
+    b = a;
+    f = q[a + 76 >> 2];
+    a = q[a + 72 >> 2];
+    if (!n[q[a + 156 >> 2]](b, f, 8208, e + 4 | 0, q[a + 20 >> 2])) {
+     break m;
+    }
+    q[(q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0) + 12 >> 2] = q[e + 4 >> 2];
+    if (r[c + 69 | 0]) {
+     n : {
+      if (q[c + 92 >> 2] == q[c + 88 >> 2]) {
+       a = q[c + 80 >> 2];
+       if ((a | 0) == q[c + 72 >> 2]) {
+        break n;
+       }
+      }
+      if (!pG(c, 1, 1)) {
+       break a;
+      }
+      b = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+      d = q[b + 4 >> 2];
+      a = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+      q[a >> 2] = q[b >> 2];
+      q[a + 4 >> 2] = d;
+      q[a + 16 >> 2] = q[b + 16 >> 2];
+      d = q[b + 12 >> 2];
+      q[a + 8 >> 2] = q[b + 8 >> 2];
+      q[a + 12 >> 2] = d;
+      a = q[c + 80 >> 2];
+     }
+     q[c + 80 >> 2] = a + 1;
+    }
+    q[c + 72 >> 2] = q[c + 72 >> 2] + 1;
+    break a;
+   }
+   q[(q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0) + 12 >> 2] = q[e + 12 >> 2];
+   if (r[c + 69 | 0]) {
+    o : {
+     if (q[c + 92 >> 2] == q[c + 88 >> 2]) {
+      a = q[c + 80 >> 2];
+      if ((a | 0) == q[c + 72 >> 2]) {
+       break o;
+      }
+     }
+     if (!pG(c, 1, 1)) {
+      break a;
+     }
+     b = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+     d = q[b + 4 >> 2];
+     a = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+     q[a >> 2] = q[b >> 2];
+     q[a + 4 >> 2] = d;
+     q[a + 16 >> 2] = q[b + 16 >> 2];
+     d = q[b + 12 >> 2];
+     q[a + 8 >> 2] = q[b + 8 >> 2];
+     q[a + 12 >> 2] = d;
+     a = q[c + 80 >> 2];
+    }
+    q[c + 80 >> 2] = a + 1;
+   }
+   q[c + 72 >> 2] = q[c + 72 >> 2] + 1;
+   break a;
+  }
+  q[c + 72 >> 2] = q[c + 72 >> 2] + 1;
+ }
+ Ca = e + 16 | 0;
+}
+function tE(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ d = q[a >> 2];
+ f = Fy(d);
+ e = f >>> 8 | 0;
+ b = 1;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            l : {
+             m : {
+              n : {
+               o : {
+                p : {
+                 q : {
+                  if ((d | 0) <= 8209) {
+                   if ((d | 0) <= 4099) {
+                    if ((d | 0) == 45 | (d | 0) == 160) {
+                     break c;
+                    }
+                    if ((d | 0) != 215) {
+                     break d;
+                    }
+                    break c;
+                   }
+                   c = d + -4100 | 0;
+                   if (c >>> 0 > 152) {
+                    break d;
+                   }
+                   switch (c - 1 | 0) {
+                   case 73:
+                    break a;
+                   case 56:
+                   case 125:
+                    break j;
+                   case 55:
+                    break k;
+                   case 57:
+                   case 91:
+                    break l;
+                   case 59:
+                   case 60:
+                   case 61:
+                   case 62:
+                   case 63:
+                   case 64:
+                   case 65:
+                   case 66:
+                   case 67:
+                   case 68:
+                   case 139:
+                   case 140:
+                   case 141:
+                   case 142:
+                   case 143:
+                   case 144:
+                   case 145:
+                   case 146:
+                   case 147:
+                   case 148:
+                    break m;
+                   case 53:
+                    break n;
+                   case 52:
+                    break o;
+                   case 45:
+                   case 49:
+                    break p;
+                   case 0:
+                   case 1:
+                   case 2:
+                   case 3:
+                   case 4:
+                   case 5:
+                   case 6:
+                   case 7:
+                   case 8:
+                   case 9:
+                   case 10:
+                   case 11:
+                   case 12:
+                   case 13:
+                   case 14:
+                   case 15:
+                   case 16:
+                   case 17:
+                   case 18:
+                   case 19:
+                   case 20:
+                   case 21:
+                   case 23:
+                   case 24:
+                   case 25:
+                   case 26:
+                   case 27:
+                   case 28:
+                   case 29:
+                   case 30:
+                   case 31:
+                   case 32:
+                   case 33:
+                   case 34:
+                   case 35:
+                   case 36:
+                   case 37:
+                   case 38:
+                   case 39:
+                   case 40:
+                   case 41:
+                   case 42:
+                   case 43:
+                   case 44:
+                   case 46:
+                   case 47:
+                   case 48:
+                   case 50:
+                   case 58:
+                   case 71:
+                   case 72:
+                   case 74:
+                   case 75:
+                   case 76:
+                   case 77:
+                   case 78:
+                   case 79:
+                   case 80:
+                   case 81:
+                   case 82:
+                   case 83:
+                   case 84:
+                   case 86:
+                   case 87:
+                   case 88:
+                   case 92:
+                   case 93:
+                   case 96:
+                   case 97:
+                   case 98:
+                   case 99:
+                   case 105:
+                   case 106:
+                   case 107:
+                   case 108:
+                   case 109:
+                   case 110:
+                   case 111:
+                   case 112:
+                   case 113:
+                   case 114:
+                   case 115:
+                   case 116:
+                   case 117:
+                   case 118:
+                   case 119:
+                   case 120:
+                   case 121:
+                   case 122:
+                   case 123:
+                   case 124:
+                   case 126:
+                   case 127:
+                   case 128:
+                   case 129:
+                   case 137:
+                    break d;
+                   case 69:
+                   case 70:
+                    break f;
+                   case 51:
+                   case 130:
+                   case 131:
+                   case 132:
+                   case 133:
+                   case 134:
+                   case 135:
+                   case 136:
+                   case 138:
+                   case 149:
+                   case 150:
+                   case 151:
+                    break g;
+                   case 94:
+                   case 95:
+                   case 100:
+                   case 101:
+                   case 102:
+                   case 103:
+                   case 104:
+                    break h;
+                   case 54:
+                   case 89:
+                   case 90:
+                    break i;
+                   default:
+                    break q;
+                   }
+                  }
+                  r : {
+                   if ((d | 0) <= 9722) {
+                    c = d + -8210 | 0;
+                    if (c >>> 0 <= 16) {
+                     break r;
+                    }
+                    break e;
+                   }
+                   c = d + -43636 | 0;
+                   if (c >>> 0 > 7) {
+                    if (d + -9723 >>> 0 < 4) {
+                     break c;
+                    }
+                    break d;
+                   }
+                   switch (c - 3 | 0) {
+                   case 0:
+                   case 1:
+                   case 2:
+                   case 3:
+                    break d;
+                   case 4:
+                    break h;
+                   default:
+                    break a;
+                   }
+                  }
+                  if (!(1 << c & 65551)) {
+                   break e;
+                  }
+                  break c;
+                 }
+                 b = 16;
+                 break a;
+                }
+                b = 10;
+                break a;
+               }
+               b = 4;
+               break a;
+              }
+              b = 18;
+              break a;
+             }
+             b = 32;
+             break a;
+            }
+            b = 21;
+            break a;
+           }
+           b = 22;
+           break a;
+          }
+          b = 23;
+          break a;
+         }
+         b = 24;
+         break a;
+        }
+        b = 25;
+        break a;
+       }
+       b = 8;
+       break a;
+      }
+      b = 31;
+      break a;
+     }
+     if ((d | 0) == 9676) {
+      break c;
+     }
+    }
+    b = 7;
+    c = (d & -16) == 65024 ? 30 : f & 127;
+    if ((c | 0) == 7) {
+     break b;
+    }
+    b = c;
+    break a;
+   }
+   b = 11;
+   break a;
+  }
+  c = e + -3 | 0;
+  if (c >>> 0 > 8) {
+   break a;
+  }
+  s : {
+   switch (c - 1 | 0) {
+   default:
+    e = 2;
+    b = 28;
+    break a;
+   case 2:
+    b = 26;
+    break a;
+   case 4:
+    b = 27;
+    break a;
+   case 0:
+   case 1:
+   case 3:
+   case 5:
+   case 6:
+    break a;
+   case 7:
+    break s;
+   }
+  }
+  b = 29;
+ }
+ o[a + 19 | 0] = e;
+ o[a + 18 | 0] = b;
+}
+function _D(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0, x = 0, y = 0;
+ f = Ca - 32 | 0;
+ Ca = f;
+ a : {
+  if (r[c + 16 | 0] & 16) {
+   break a;
+  }
+  e = q[c + 76 >> 2];
+  if (!e) {
+   break a;
+  }
+  a = q[c + 88 >> 2];
+  while (1) {
+   if ((r[(a + w(d, 20) | 0) + 15 | 0] & 15) != 7) {
+    d = d + 1 | 0;
+    if ((e | 0) != (d | 0)) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  q[f + 24 >> 2] = 0;
+  q[f + 16 >> 2] = 0;
+  q[f + 20 >> 2] = 0;
+  q[f + 8 >> 2] = 0;
+  q[f + 12 >> 2] = 0;
+  a = q[b + 72 >> 2];
+  if (!n[q[a + 156 >> 2]](b, q[b + 76 >> 2], 9676, f + 8 | 0, q[a + 20 >> 2])) {
+   break a;
+  }
+  x = f, y = UD(9676), o[x + 26 | 0] = y;
+  sG(c);
+  q[c + 72 >> 2] = 0;
+  b = q[c + 76 >> 2];
+  b : {
+   if (!b) {
+    break b;
+   }
+   m = f + 20 | 0;
+   u = m + 2 | 0;
+   d = 0;
+   while (1) {
+    if (!r[c + 68 | 0]) {
+     break b;
+    }
+    a = q[c + 88 >> 2];
+    j = a + w(d, 20) | 0;
+    e = r[j + 15 | 0];
+    c : {
+     if (!((e | 0) == (h | 0) | (e & 15) != 7)) {
+      p[f + 4 >> 1] = s[m >> 1];
+      o[f + 6 | 0] = r[u | 0];
+      g = q[j + 4 >> 2];
+      i = q[j + 8 >> 2];
+      j = q[f + 24 >> 2];
+      h = q[f + 8 >> 2];
+      d : {
+       if (d >>> 0 >= b >>> 0) {
+        break d;
+       }
+       while (1) {
+        if (r[(w(d, 20) + a | 0) + 18 | 0] != 18) {
+         break d;
+        }
+        e : {
+         if (r[c + 69 | 0]) {
+          v = c;
+          f : {
+           if (q[c + 92 >> 2] == (a | 0)) {
+            a = d;
+            b = a;
+            if (q[c + 80 >> 2] == (a | 0)) {
+             break f;
+            }
+           }
+           if (!pG(c, 1, 1)) {
+            d = q[c + 72 >> 2];
+            break e;
+           }
+           d = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+           a = q[d + 4 >> 2];
+           k = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+           q[k >> 2] = q[d >> 2];
+           q[k + 4 >> 2] = a;
+           q[k + 16 >> 2] = q[d + 16 >> 2];
+           a = q[d + 12 >> 2];
+           q[k + 8 >> 2] = q[d + 8 >> 2];
+           q[k + 12 >> 2] = a;
+           d = q[c + 72 >> 2];
+           b = q[c + 80 >> 2];
+          }
+          q[v + 80 >> 2] = b + 1;
+         }
+         d = d + 1 | 0;
+         q[c + 72 >> 2] = d;
+        }
+        if (!r[c + 68 | 0] | d >>> 0 >= t[c + 76 >> 2]) {
+         break d;
+        }
+        a = q[c + 88 >> 2];
+        if ((e | 0) == r[(a + w(d, 20) | 0) + 15 | 0]) {
+         continue;
+        }
+        break;
+       }
+      }
+      if (pG(c, 0, 1)) {
+       a = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+       q[a + 8 >> 2] = i;
+       q[a + 4 >> 2] = g;
+       q[a >> 2] = h;
+       p[a + 12 >> 1] = s[f + 4 >> 1];
+       o[a + 14 | 0] = r[f + 6 | 0];
+       q[a + 16 >> 2] = j;
+       o[a + 15 | 0] = e;
+       q[c + 80 >> 2] = q[c + 80 >> 2] + 1;
+      }
+      h = e;
+      break c;
+     }
+     if (r[c + 69 | 0]) {
+      v = c;
+      g : {
+       if (q[c + 92 >> 2] == (a | 0)) {
+        a = d;
+        b = a;
+        if (q[c + 80 >> 2] == (a | 0)) {
+         break g;
+        }
+       }
+       if (!pG(c, 1, 1)) {
+        break c;
+       }
+       d = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+       a = q[d + 4 >> 2];
+       e = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+       q[e >> 2] = q[d >> 2];
+       q[e + 4 >> 2] = a;
+       q[e + 16 >> 2] = q[d + 16 >> 2];
+       a = q[d + 12 >> 2];
+       q[e + 8 >> 2] = q[d + 8 >> 2];
+       q[e + 12 >> 2] = a;
+       d = q[c + 72 >> 2];
+       b = q[c + 80 >> 2];
+      }
+      q[v + 80 >> 2] = b + 1;
+     }
+     q[c + 72 >> 2] = d + 1;
+    }
+    d = q[c + 72 >> 2];
+    b = q[c + 76 >> 2];
+    if (d >>> 0 < b >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  uG(c);
+ }
+ u = q[c + 76 >> 2];
+ if (u) {
+  h = u + -1 | 0;
+  a = 0;
+  d = q[c + 88 >> 2];
+  b = r[d + 15 | 0];
+  while (1) {
+   h : {
+    if ((a | 0) == (h | 0)) {
+     a = u;
+     break h;
+    }
+    a = a + 1 | 0;
+    if ((b | 0) == r[(d + w(a, 20) | 0) + 15 | 0]) {
+     continue;
+    }
+   }
+   break;
+  }
+  l = q[c + 88 >> 2];
+  b = r[l + 15 | 0];
+  d = 0;
+  while (1) {
+   h = a;
+   i : {
+    if (!(1 << (b & 15) & 142)) {
+     break i;
+    }
+    j : {
+     if (h - d >>> 0 < 2) {
+      break j;
+     }
+     i = w(d, 20) + l | 0;
+     if (r[i + 18 | 0] != 18) {
+      break j;
+     }
+     j = d + 1 | 0;
+     if (j >>> 0 >= h >>> 0) {
+      break j;
+     }
+     g = h + -1 | 0;
+     a = j;
+     k : {
+      while (1) {
+       l : {
+        m = w(a, 20) + l | 0;
+        e = r[m + 18 | 0];
+        if (e >>> 0 <= 63) {
+         b = e;
+         k = b & 31;
+         if (32 <= (b & 63) >>> 0) {
+          b = 1 << k;
+          v = 0;
+         } else {
+          b = (1 << k) - 1 & 1 >>> 32 - k;
+          v = 1 << k;
+         }
+         if (v & 2143289600 | b & 238) {
+          break l;
+         }
+        }
+        m : {
+         if ((e | 32) == 44) {
+          b = s[m + 12 >> 1] & 32;
+          if (b ? (a | 0) != (g | 0) : 0) {
+           break m;
+          }
+          if (!b) {
+           break l;
+          }
+          break k;
+         }
+         if ((a | 0) != (g | 0)) {
+          break m;
+         }
+         a = g;
+         break k;
+        }
+        a = a + 1 | 0;
+        if ((h | 0) != (a | 0)) {
+         continue;
+        }
+        break j;
+       }
+       break;
+      }
+      a = a + -1 | 0;
+     }
+     b = a + 1 | 0;
+     if (b - d >>> 0 >= 2) {
+      wG(c, d, b);
+     }
+     g = f + 24 | 0;
+     q[g >> 2] = q[i + 16 >> 2];
+     b = q[i + 12 >> 2];
+     m = f + 16 | 0;
+     e = m;
+     q[e >> 2] = q[i + 8 >> 2];
+     q[e + 4 >> 2] = b;
+     b = q[i + 4 >> 2];
+     q[f + 8 >> 2] = q[i >> 2];
+     q[f + 12 >> 2] = b;
+     _$(i, w(j, 20) + l | 0, w(a - d | 0, 20));
+     b = w(a, 20) + l | 0;
+     q[b + 16 >> 2] = q[g >> 2];
+     a = q[e + 4 >> 2];
+     q[b + 8 >> 2] = q[e >> 2];
+     q[b + 12 >> 2] = a;
+     a = q[f + 12 >> 2];
+     q[b >> 2] = q[f + 8 >> 2];
+     q[b + 4 >> 2] = a;
+    }
+    a = d;
+    if (h >>> 0 <= a >>> 0) {
+     break i;
+    }
+    while (1) {
+     g = w(d, 20) + l | 0;
+     b = r[g + 18 | 0];
+     n : {
+      if (!((b | 32) != 44 | r[g + 12 | 0] & 32)) {
+       a = d + 1 | 0;
+       break n;
+      }
+      if (!(1 << b & 12582912) | b >>> 0 > 31 | d >>> 0 <= a >>> 0) {
+       break n;
+      }
+      b = r[g + 14 | 0];
+      if (!((b & 16) >>> 4 | !(b & 15))) {
+       break n;
+      }
+      b = d + 1 | 0;
+      if (b - a >>> 0 >= 2) {
+       wG(c, a, b);
+      }
+      j = f + 24 | 0;
+      q[j >> 2] = q[g + 16 >> 2];
+      b = q[g + 12 >> 2];
+      i = f + 16 | 0;
+      e = i;
+      q[e >> 2] = q[g + 8 >> 2];
+      q[e + 4 >> 2] = b;
+      b = q[g + 4 >> 2];
+      q[f + 8 >> 2] = q[g >> 2];
+      q[f + 12 >> 2] = b;
+      e = w(a, 20) + l | 0;
+      _$(e + 20 | 0, e, w(d - a | 0, 20));
+      q[e + 16 >> 2] = q[j >> 2];
+      b = q[i + 4 >> 2];
+      q[e + 8 >> 2] = q[i >> 2];
+      q[e + 12 >> 2] = b;
+      b = q[f + 12 >> 2];
+      q[e >> 2] = q[f + 8 >> 2];
+      q[e + 4 >> 2] = b;
+     }
+     d = d + 1 | 0;
+     if ((h | 0) != (d | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   e = q[c + 76 >> 2];
+   a = h + 1 | 0;
+   d = e >>> 0 > a >>> 0 ? e : a;
+   l = q[c + 88 >> 2];
+   b = r[(l + w(h, 20) | 0) + 15 | 0];
+   a = h;
+   while (1) {
+    o : {
+     a = a + 1 | 0;
+     if (a >>> 0 >= e >>> 0) {
+      a = d;
+      break o;
+     }
+     if (r[(w(a, 20) + l | 0) + 15 | 0] == (b & 255)) {
+      continue;
+     }
+    }
+    break;
+   }
+   d = h;
+   if (d >>> 0 < u >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ a = r[c + 164 | 0];
+ if (a & 64) {
+  o[c + 164 | 0] = a & 191;
+  Ca = f + 32 | 0;
+  return;
+ }
+ J(263816, 263786, 160, 263801);
+ F();
+}
+function tD(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ j = Ca - 32 | 0;
+ Ca = j;
+ sG(b);
+ q[b + 72 >> 2] = 0;
+ h = q[b + 76 >> 2];
+ a : {
+  b : {
+   if (!h) {
+    break b;
+   }
+   while (1) {
+    if (!r[b + 68 | 0]) {
+     break b;
+    }
+    e = q[b + 88 >> 2];
+    g = q[e + w(d, 20) >> 2];
+    c : {
+     if ((g & -129) != 3635) {
+      if (r[b + 69 | 0]) {
+       f = b;
+       d : {
+        if ((e | 0) == q[b + 92 >> 2]) {
+         e = d;
+         if (q[b + 80 >> 2] == (d | 0)) {
+          break d;
+         }
+        }
+        if (!pG(b, 1, 1)) {
+         break c;
+        }
+        e = q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0;
+        g = q[e + 4 >> 2];
+        d = q[b + 92 >> 2] + w(q[b + 80 >> 2], 20) | 0;
+        q[d >> 2] = q[e >> 2];
+        q[d + 4 >> 2] = g;
+        q[d + 16 >> 2] = q[e + 16 >> 2];
+        g = q[e + 12 >> 2];
+        q[d + 8 >> 2] = q[e + 8 >> 2];
+        q[d + 12 >> 2] = g;
+        d = q[b + 72 >> 2];
+        e = q[b + 80 >> 2];
+       }
+       q[f + 80 >> 2] = e + 1;
+      }
+      q[b + 72 >> 2] = d + 1;
+      break c;
+     }
+     e : {
+      if (!pG(b, 0, 1)) {
+       q[160660] = q[67764];
+       d = q[67763];
+       q[160658] = q[67762];
+       q[160659] = d;
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break e;
+      }
+      d = q[b + 72 >> 2];
+      e = q[b + 76 >> 2];
+      if (!(q[b + 80 >> 2] | (d | 0) != (e | 0))) {
+       q[160660] = q[67764];
+       d = q[67763];
+       q[160658] = q[67762];
+       q[160659] = d;
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break e;
+      }
+      i = g + 26 | 0;
+      f : {
+       if (d >>> 0 < e >>> 0) {
+        e = q[b + 80 >> 2];
+        f = q[b + 92 >> 2];
+        d = q[b + 88 >> 2] + w(d, 20) | 0;
+        break f;
+       }
+       f = q[b + 92 >> 2];
+       e = q[b + 80 >> 2];
+       d = (f + w(e, 20) | 0) + -20 | 0;
+      }
+      e = w(e, 20) + f | 0;
+      f = q[d + 4 >> 2];
+      q[e >> 2] = q[d >> 2];
+      q[e + 4 >> 2] = f;
+      q[e + 16 >> 2] = q[d + 16 >> 2];
+      f = q[d + 12 >> 2];
+      q[e + 8 >> 2] = q[d + 8 >> 2];
+      q[e + 12 >> 2] = f;
+      e = q[b + 80 >> 2];
+      d = q[b + 92 >> 2] + w(e, 20) | 0;
+      q[d >> 2] = i;
+      q[b + 80 >> 2] = e + 1;
+     }
+     p[d + 16 >> 1] = s[d + 16 >> 1] | 128;
+     i = q[b + 92 >> 2];
+     g : {
+      h : {
+       if ((i | 0) == q[b + 88 >> 2]) {
+        e = q[b + 80 >> 2];
+        d = e;
+        if ((d | 0) == q[b + 72 >> 2]) {
+         break h;
+        }
+       }
+       if (!pG(b, 1, 1)) {
+        break g;
+       }
+       e = q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0;
+       f = q[e + 4 >> 2];
+       d = q[b + 92 >> 2] + w(q[b + 80 >> 2], 20) | 0;
+       q[d >> 2] = q[e >> 2];
+       q[d + 4 >> 2] = f;
+       q[d + 16 >> 2] = q[e + 16 >> 2];
+       f = q[e + 12 >> 2];
+       q[d + 8 >> 2] = q[e + 8 >> 2];
+       q[d + 12 >> 2] = f;
+       e = q[b + 72 >> 2];
+       d = q[b + 80 >> 2];
+       i = q[b + 92 >> 2];
+      }
+      q[w(d, 20) + i >> 2] = g + -1;
+      q[b + 80 >> 2] = d + 1;
+      q[b + 72 >> 2] = e + 1;
+     }
+     if (r[b + 68 | 0] != 1) {
+      break a;
+     }
+     f = q[b + 80 >> 2];
+     e = f + -2 | 0;
+     g = w(e, 20);
+     d = g + q[b + 92 >> 2] | 0;
+     p[d + 16 >> 1] = s[d + 16 >> 1] & 224 | 12;
+     i : {
+      j : {
+       while (1) {
+        d = e;
+        if (!d) {
+         break j;
+        }
+        e = d + -1 | 0;
+        i = q[q[b + 92 >> 2] + w(e, 20) >> 2];
+        k = i & -129;
+        if ((k | 0) == 3633 | (i & -132) == 3636 | k + -3655 >>> 0 < 8) {
+         continue;
+        }
+        break;
+       }
+       if (d + 2 >>> 0 < f >>> 0) {
+        break i;
+       }
+       if (q[b + 20 >> 2]) {
+        break c;
+       }
+       BG(b, e, f);
+       break c;
+      }
+      if (f >>> 0 <= 2) {
+       break c;
+      }
+     }
+     BG(b, d, f);
+     i = j + 24 | 0;
+     k = q[b + 92 >> 2];
+     e = k + g | 0;
+     q[i >> 2] = q[e + 16 >> 2];
+     m = q[e + 12 >> 2];
+     g = j + 16 | 0;
+     q[g >> 2] = q[e + 8 >> 2];
+     q[g + 4 >> 2] = m;
+     l = q[e + 4 >> 2];
+     q[j + 8 >> 2] = q[e >> 2];
+     q[j + 12 >> 2] = l;
+     e = w(d, 20);
+     k = e + k | 0;
+     _$(k + 20 | 0, k, w(f - d | 0, 20) + -40 | 0);
+     d = e + q[b + 92 >> 2] | 0;
+     e = q[j + 12 >> 2];
+     q[d >> 2] = q[j + 8 >> 2];
+     q[d + 4 >> 2] = e;
+     q[d + 16 >> 2] = q[i >> 2];
+     e = q[g + 4 >> 2];
+     q[d + 8 >> 2] = q[g >> 2];
+     q[d + 12 >> 2] = e;
+    }
+    d = q[b + 72 >> 2];
+    if (d >>> 0 < h >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  uG(b);
+  if (r[a + 32 | 0] | q[a + 4 >> 2] != 1416126825) {
+   break a;
+  }
+  m = q[b + 76 >> 2];
+  if (!m) {
+   break a;
+  }
+  k = q[b + 88 >> 2];
+  a = 3;
+  i = 2;
+  f = 0;
+  g = 0;
+  while (1) {
+   d = 0;
+   k : {
+    l : {
+     l = w(g, 20) + k | 0;
+     e = q[l >> 2];
+     if ((e | 0) == 3633 | (e & -4) == 3636) {
+      break l;
+     }
+     h = e + -3655 | 0;
+     if (1 << h & 193 ? h >>> 0 <= 7 : 0) {
+      break l;
+     }
+     d = 1;
+     if (e + -3640 >>> 0 < 3) {
+      break l;
+     }
+     d = 2;
+     if (e + -3656 >>> 0 < 5) {
+      break l;
+     }
+     m : {
+      n : {
+       d = e + -3597 | 0;
+       if (d >>> 0 <= 18) {
+        d = 1 << d;
+        a = 1;
+        if (d & 344064) {
+         break m;
+        }
+        if (d & 9) {
+         break n;
+        }
+       }
+       a = 3;
+       if ((e | 1) == 3599) {
+        break m;
+       }
+       a = (e + -3585 >>> 0 > 45) << 2;
+       break m;
+      }
+      a = 2;
+     }
+     a = a << 2;
+     i = q[a + 250912 >> 2];
+     a = q[a + 250880 >> 2];
+     f = g;
+     break k;
+    }
+    d = d << 3;
+    e = d + w(i, 24) | 0;
+    a = d + w(a, 24) | 0;
+    d = q[a + 250944 >> 2];
+    if (!d) {
+     d = q[e + 251040 >> 2];
+    }
+    e = e + 251044 | 0;
+    a = a + 250948 | 0;
+    if (g - f >>> 0 >= 2) {
+     DG(b, f, g);
+    }
+    i = q[e >> 2];
+    a = q[a >> 2];
+    if ((d | 0) == 4) {
+     l = w(f, 20) + k | 0;
+     e = q[l >> 2];
+     h = e + -3597 | 0;
+     o : {
+      if (h >>> 0 > 3) {
+       break o;
+      }
+      d = 251472;
+      p : {
+       switch (h - 1 | 0) {
+       case 2:
+        d = 251484;
+        break;
+       case 0:
+       case 1:
+        break o;
+       default:
+        break p;
+       }
+      }
+      h = d + 4 | 0;
+      q : {
+       if (bD(c, q[d + 4 >> 2], j + 8 | 0)) {
+        break q;
+       }
+       if (!bD(c, q[d + 8 >> 2], j + 8 | 0)) {
+        break o;
+       }
+       h = d + 8 | 0;
+      }
+      e = q[h >> 2];
+     }
+     q[l >> 2] = e;
+     break k;
+    }
+    h = q[l >> 2];
+    e = 0;
+    r : {
+     s : {
+      if (d >>> 0 > 3) {
+       break s;
+      }
+      t : {
+       switch (d - 1 | 0) {
+       case 0:
+        e = 251120;
+        break s;
+       case 2:
+        e = 251232;
+        break s;
+       case 1:
+        break t;
+       default:
+        break r;
+       }
+      }
+      e = 251312;
+     }
+     d = e;
+     e = q[d >> 2];
+     if (!e) {
+      break r;
+     }
+     while (1) {
+      if ((e | 0) == (h | 0)) {
+       if (bD(c, q[d + 4 >> 2], j + 8 | 0)) {
+        h = q[d + 4 >> 2];
+        break r;
+       }
+       if (!bD(c, q[d + 8 >> 2], j + 8 | 0)) {
+        break r;
+       }
+       h = q[d + 8 >> 2];
+       break r;
+      }
+      e = q[d + 12 >> 2];
+      d = d + 12 | 0;
+      if (e) {
+       continue;
+      }
+      break;
+     }
+    }
+    q[l >> 2] = h;
+   }
+   g = g + 1 | 0;
+   if ((m | 0) != (g | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = j + 32 | 0;
+}
+function ME(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ d = q[a + 8 >> 2];
+ q[b >> 2] = q[a + 4 >> 2];
+ q[b + 4 >> 2] = d;
+ q[b + 16 >> 2] = q[a + 20 >> 2];
+ d = q[a + 16 >> 2];
+ q[b + 8 >> 2] = q[a + 12 >> 2];
+ q[b + 12 >> 2] = d;
+ q[b + 20 >> 2] = q[a + 140 >> 2];
+ yy(a + 24 | 0, b + 24 | 0, c);
+ if (o[a + 136 | 0] & 1) {
+  wE(a + 120 | 0, b + 100 | 0);
+ }
+ k = a + 4 | 0;
+ j = q[b + 48 >> 2];
+ l = b;
+ a : {
+  b : {
+   c : {
+    d : {
+     m = q[b + 44 >> 2];
+     if ((m | 0) >= 1) {
+      d = m + -1 | 0;
+      e = d;
+      c = b;
+      e : {
+       f : {
+        while (1) {
+         g = e + h >>> 1 | 0;
+         f = q[j + w(g, 36) >> 2];
+         g : {
+          if (f >>> 0 >= 1718772068) {
+           e = g + -1 | 0;
+           break g;
+          }
+          if ((f | 0) == 1718772067) {
+           break f;
+          }
+          h = g + 1 | 0;
+         }
+         if ((h | 0) <= (e | 0)) {
+          continue;
+         }
+         break;
+        }
+        i = 0;
+        break e;
+       }
+       i = q[(j + w(g, 36) | 0) + 28 >> 2];
+      }
+      q[c + 116 >> 2] = i;
+      h = 0;
+      e = d;
+      c = b;
+      h : {
+       i : {
+        while (1) {
+         g = e + h >>> 1 | 0;
+         f = q[j + w(g, 36) >> 2];
+         j : {
+          if (f >>> 0 >= 1853189491) {
+           e = g + -1 | 0;
+           break j;
+          }
+          if ((f | 0) == 1853189490) {
+           break i;
+          }
+          h = g + 1 | 0;
+         }
+         if ((h | 0) <= (e | 0)) {
+          continue;
+         }
+         break;
+        }
+        g = 0;
+        break h;
+       }
+       g = q[(j + w(g, 36) | 0) + 28 >> 2];
+      }
+      q[c + 120 >> 2] = g;
+      h = 0;
+      e = d;
+      n = b;
+      k : {
+       l : {
+        while (1) {
+         c = e + h >>> 1 | 0;
+         f = q[j + w(c, 36) >> 2];
+         m : {
+          if (f >>> 0 >= 1684959086) {
+           e = c + -1 | 0;
+           break m;
+          }
+          if ((f | 0) == 1684959085) {
+           break l;
+          }
+          h = c + 1 | 0;
+         }
+         if ((h | 0) <= (e | 0)) {
+          continue;
+         }
+         break;
+        }
+        f = 0;
+        break k;
+       }
+       f = q[(j + w(c, 36) | 0) + 28 >> 2];
+      }
+      q[n + 124 >> 2] = f;
+      c = b;
+      e = 4;
+      n : {
+       if (i) {
+        break n;
+       }
+       e = 0;
+       if (!g) {
+        break n;
+       }
+       e = ((f | 0) != 0) << 2;
+      }
+      g = e | s[b + 140 >> 1] & -5;
+      p[c + 140 >> 1] = g;
+      f = b + 140 | 0;
+      h = 0;
+      e = d;
+      while (1) {
+       i = e + h >>> 1 | 0;
+       c = q[j + w(i, 36) >> 2];
+       o : {
+        if (c >>> 0 >= 1920232558) {
+         e = i + -1 | 0;
+         break o;
+        }
+        if ((c | 0) == 1920232557) {
+         break d;
+        }
+        h = i + 1 | 0;
+       }
+       if ((h | 0) <= (e | 0)) {
+        continue;
+       }
+       break;
+      }
+      c = 0;
+      break c;
+     }
+     q[b + 116 >> 2] = 0;
+     q[b + 120 >> 2] = 0;
+     q[b + 124 >> 2] = 0;
+     q[b + 128 >> 2] = 0;
+     g = s[b + 140 >> 1] & -5;
+     p[b + 140 >> 1] = g;
+     f = b + 140 | 0;
+     break b;
+    }
+    c = q[(j + w(i, 36) | 0) + 28 >> 2];
+   }
+   q[l + 128 >> 2] = c;
+   e = 0;
+   while (1) {
+    p : {
+     i = d + e >>> 1 | 0;
+     c = q[j + w(i, 36) >> 2];
+     q : {
+      if (c >>> 0 >= 1986359925) {
+       d = i + -1 | 0;
+       break q;
+      }
+      if ((c | 0) == 1986359924) {
+       break p;
+      }
+      e = i + 1 | 0;
+     }
+     if ((e | 0) <= (d | 0)) {
+      continue;
+     }
+     break b;
+    }
+    break;
+   }
+   c = 8;
+   if (q[(j + w(i, 36) | 0) + 28 >> 2]) {
+    break a;
+   }
+  }
+  c = 0;
+ }
+ g = c | g & -9;
+ p[f >> 1] = g;
+ k = (q[k >> 2] & -2) == 4 ? 1801810542 : 1986753134;
+ c = b;
+ i = (m | 0) < 1;
+ d = 0;
+ r : {
+  if (i) {
+   break r;
+  }
+  e = m + -1 | 0;
+  h = 0;
+  s : {
+   while (1) {
+    l = e + h >>> 1 | 0;
+    d = q[j + w(l, 36) >> 2];
+    t : {
+     if (d >>> 0 > k >>> 0) {
+      e = l + -1 | 0;
+      break t;
+     }
+     if (d >>> 0 >= k >>> 0) {
+      break s;
+     }
+     h = l + 1 | 0;
+    }
+    if ((h | 0) <= (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   d = 0;
+   break r;
+  }
+  d = q[(j + w(l, 36) | 0) + 24 >> 2];
+ }
+ q[c + 132 >> 2] = d;
+ g = g & -2 | (d | 0) != 0;
+ p[b + 140 >> 1] = g;
+ c = f;
+ u : {
+  v : {
+   w : {
+    if (!i) {
+     e = m + -1 | 0;
+     h = 0;
+     while (1) {
+      i = e + h >>> 1 | 0;
+      d = q[j + w(i, 36) >> 2];
+      x : {
+       if (d >>> 0 >= 1953653100) {
+        e = i + -1 | 0;
+        break x;
+       }
+       if ((d | 0) == 1953653099) {
+        break w;
+       }
+       h = i + 1 | 0;
+      }
+      if ((h | 0) <= (e | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    q[b + 136 >> 2] = 0;
+    break v;
+   }
+   d = q[(j + w(i, 36) | 0) + 24 >> 2];
+   q[b + 136 >> 2] = d;
+   e = 2;
+   if (d) {
+    break u;
+   }
+  }
+  e = 0;
+ }
+ p[c >> 1] = e | g & 65533;
+ g = 65535;
+ y : {
+  if ((m | 0) < 1) {
+   break y;
+  }
+  e = m + -1 | 0;
+  h = 0;
+  while (1) {
+   z : {
+    d = e + h >>> 1 | 0;
+    c = q[j + w(d, 36) >> 2];
+    A : {
+     if (c >>> 0 > k >>> 0) {
+      e = d + -1 | 0;
+      break A;
+     }
+     if (c >>> 0 >= k >>> 0) {
+      break z;
+     }
+     h = d + 1 | 0;
+    }
+    if ((h | 0) <= (e | 0)) {
+     continue;
+    }
+    break y;
+   }
+   break;
+  }
+  g = q[(j + w(d, 36) | 0) + 8 >> 2];
+ }
+ c = q[q[b + 20 >> 2] + 40 >> 2];
+ d = 0;
+ B : {
+  if (!c) {
+   break B;
+  }
+  d = (c | 0) != q[b + 28 >> 2];
+ }
+ e = _s(q[a >> 2]);
+ c = s[f >> 1];
+ if (!e) {
+  c = c | 64;
+  p[f >> 1] = c;
+ }
+ p[f >> 1] = c & 61439 | (o[a + 136 | 0] & 1) << 12;
+ C : {
+  if (_q(q[a >> 2])) {
+   p[f >> 1] = s[f >> 1] | 2048;
+   break C;
+  }
+  if (d | o[a + 136 | 0] & 1) {
+   break C;
+  }
+  if (!Gt(q[a >> 2])) {
+   break C;
+  }
+  p[f >> 1] = s[f >> 1] | 512;
+ }
+ c = s[f >> 1];
+ D : {
+  if (c & 2048 | (c & 512 ? (g | 0) != 65535 : 0)) {
+   break D;
+  }
+  if (_q(q[a >> 2])) {
+   p[f >> 1] = s[f >> 1] | 2048;
+   break D;
+  }
+  if (!Os(q[a >> 2])) {
+   break D;
+  }
+  p[f >> 1] = s[f >> 1] | 1024;
+ }
+ c = 0;
+ E : {
+  if (!(r[a + 136 | 0] & 2)) {
+   break E;
+  }
+  d = s[f >> 1];
+  if (d & 2048) {
+   break E;
+  }
+  c = 32;
+  if (!(d & 1024)) {
+   break E;
+  }
+  c = Ps(q[a >> 2] + 128 | 0);
+  c = Qs(t[c + 16 >> 2] < 4 ? 271040 : q[c + 12 >> 2]) ? 0 : 32;
+ }
+ l = s[b + 140 >> 1];
+ g = l & -33 | c;
+ p[b + 140 >> 1] = g;
+ e = f;
+ c = q[b + 44 >> 2];
+ F : {
+  G : {
+   if ((c | 0) < 1) {
+    break G;
+   }
+   i = q[b + 48 >> 2];
+   c = c + -1 | 0;
+   d = 0;
+   while (1) {
+    H : {
+     k = c + d >>> 1 | 0;
+     b = q[i + w(k, 36) >> 2];
+     I : {
+      if (b >>> 0 >= 1835102828) {
+       c = k + -1 | 0;
+       break I;
+      }
+      if ((b | 0) == 1835102827) {
+       break H;
+      }
+      d = k + 1 | 0;
+     }
+     if ((d | 0) <= (c | 0)) {
+      continue;
+     }
+     break G;
+    }
+    break;
+   }
+   b = 16;
+   if (q[(i + w(k, 36) | 0) + 28 >> 2]) {
+    break F;
+   }
+  }
+  b = 0;
+ }
+ c = b | g & -17;
+ p[e >> 1] = c;
+ b = f;
+ J : {
+  K : {
+   if (!(l & 2560)) {
+    if (!(l & 1024)) {
+     break K;
+    }
+    c = Ps(q[a >> 2] + 128 | 0);
+    d = Rs(t[c + 16 >> 2] < 4 ? 271040 : q[c + 12 >> 2]);
+    c = s[f >> 1];
+    if (!d) {
+     break K;
+    }
+   }
+   c = c & 65279;
+   p[f >> 1] = c;
+   d = 0;
+   break J;
+  }
+  c = c | 256;
+  p[f >> 1] = c;
+  d = r[a + 136 | 0] << 5 & 128;
+ }
+ d = d | c & -129;
+ p[b >> 1] = d;
+ e = 0;
+ if (c & 2) {
+  e = ((er(q[a >> 2]) | 0) != 0) << 13;
+  d = s[f >> 1];
+ }
+ p[f >> 1] = d & 57343 | e;
+}
+function GF(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ if (b) {
+  o[b | 0] = 0;
+ }
+ d = 271040;
+ h = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ a : {
+  if (!h) {
+   break a;
+  }
+  g = h + -1 | 0;
+  while (1) {
+   b : {
+    e = g + f >>> 1 | 0;
+    c = (e << 3) + a | 0;
+    i = c + 4 | 0;
+    c = 3 - (r[i | 0] << 8 | r[c + 5 | 0]) | 0;
+    if (!c) {
+     c = 0 - (r[i + 3 | 0] | r[i + 2 | 0] << 8) | 0;
+    }
+    c : {
+     if ((c | 0) <= -1) {
+      g = e + -1 | 0;
+      break c;
+     }
+     if (!c) {
+      break b;
+     }
+     f = e + 1 | 0;
+    }
+    if ((f | 0) <= (g | 0)) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  d = ((e << 3) + a | 0) + 4 | 0;
+ }
+ d : {
+  d = r[d + 4 | 0] | r[d + 5 | 0] << 8 | (r[d + 6 | 0] << 16 | r[d + 7 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  c = d ? d + a | 0 : 0;
+  if (c) {
+   if (!b) {
+    break d;
+   }
+   o[b | 0] = 1;
+   break d;
+  }
+  b = 271040;
+  e : {
+   if (!h) {
+    break e;
+   }
+   g = h + -1 | 0;
+   f = 0;
+   while (1) {
+    f : {
+     d = g + f >>> 1 | 0;
+     c = (d << 3) + a | 0;
+     e = c + 4 | 0;
+     c = 3 - (r[e | 0] << 8 | r[c + 5 | 0]) | 0;
+     if (!c) {
+      c = 10 - (r[e + 3 | 0] | r[e + 2 | 0] << 8) | 0;
+     }
+     g : {
+      if ((c | 0) <= -1) {
+       g = d + -1 | 0;
+       break g;
+      }
+      if (!c) {
+       break f;
+      }
+      f = d + 1 | 0;
+     }
+     if ((f | 0) <= (g | 0)) {
+      continue;
+     }
+     break e;
+    }
+    break;
+   }
+   b = ((d << 3) + a | 0) + 4 | 0;
+  }
+  b = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+  b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+  c = b ? b + a | 0 : 0;
+  if (c) {
+   break d;
+  }
+  b = 271040;
+  h : {
+   if (!h) {
+    break h;
+   }
+   g = h + -1 | 0;
+   c = 0;
+   while (1) {
+    i : {
+     f = c + g >>> 1 | 0;
+     e = (f << 3) + a | 0;
+     d = e + 4 | 0;
+     e = r[d | 0] << 8 | r[e + 5 | 0];
+     j : {
+      if (e) {
+       d = 0 - e | 0;
+       break j;
+      }
+      d = 6 - (r[d + 3 | 0] | r[d + 2 | 0] << 8) | 0;
+     }
+     k : {
+      if ((d | 0) <= -1) {
+       g = f + -1 | 0;
+       break k;
+      }
+      if (!d) {
+       break i;
+      }
+      c = f + 1 | 0;
+     }
+     if ((c | 0) <= (g | 0)) {
+      continue;
+     }
+     break h;
+    }
+    break;
+   }
+   b = ((f << 3) + a | 0) + 4 | 0;
+  }
+  b = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+  b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+  c = b ? b + a | 0 : 0;
+  if (c) {
+   break d;
+  }
+  b = 271040;
+  l : {
+   if (!h) {
+    break l;
+   }
+   g = h + -1 | 0;
+   c = 0;
+   while (1) {
+    m : {
+     f = c + g >>> 1 | 0;
+     e = (f << 3) + a | 0;
+     d = e + 4 | 0;
+     e = r[d | 0] << 8 | r[e + 5 | 0];
+     n : {
+      if (e) {
+       d = 0 - e | 0;
+       break n;
+      }
+      d = 4 - (r[d + 3 | 0] | r[d + 2 | 0] << 8) | 0;
+     }
+     o : {
+      if ((d | 0) <= -1) {
+       g = f + -1 | 0;
+       break o;
+      }
+      if (!d) {
+       break m;
+      }
+      c = f + 1 | 0;
+     }
+     if ((c | 0) <= (g | 0)) {
+      continue;
+     }
+     break l;
+    }
+    break;
+   }
+   b = ((f << 3) + a | 0) + 4 | 0;
+  }
+  b = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+  b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+  c = b ? b + a | 0 : 0;
+  if (c) {
+   break d;
+  }
+  b = 271040;
+  p : {
+   if (!h) {
+    break p;
+   }
+   g = h + -1 | 0;
+   f = 0;
+   while (1) {
+    q : {
+     d = g + f >>> 1 | 0;
+     c = (d << 3) + a | 0;
+     e = c + 4 | 0;
+     c = 3 - (r[e | 0] << 8 | r[c + 5 | 0]) | 0;
+     if (!c) {
+      c = 1 - (r[e + 3 | 0] | r[e + 2 | 0] << 8) | 0;
+     }
+     r : {
+      if ((c | 0) <= -1) {
+       g = d + -1 | 0;
+       break r;
+      }
+      if (!c) {
+       break q;
+      }
+      f = d + 1 | 0;
+     }
+     if ((f | 0) <= (g | 0)) {
+      continue;
+     }
+     break p;
+    }
+    break;
+   }
+   b = ((d << 3) + a | 0) + 4 | 0;
+  }
+  b = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+  b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+  c = b ? b + a | 0 : 0;
+  if (c) {
+   break d;
+  }
+  b = 271040;
+  s : {
+   if (!h) {
+    break s;
+   }
+   g = h + -1 | 0;
+   c = 0;
+   while (1) {
+    t : {
+     f = c + g >>> 1 | 0;
+     e = (f << 3) + a | 0;
+     d = e + 4 | 0;
+     e = r[d | 0] << 8 | r[e + 5 | 0];
+     u : {
+      if (e) {
+       d = 0 - e | 0;
+       break u;
+      }
+      d = 3 - (r[d + 3 | 0] | r[d + 2 | 0] << 8) | 0;
+     }
+     v : {
+      if ((d | 0) <= -1) {
+       g = f + -1 | 0;
+       break v;
+      }
+      if (!d) {
+       break t;
+      }
+      c = f + 1 | 0;
+     }
+     if ((c | 0) <= (g | 0)) {
+      continue;
+     }
+     break s;
+    }
+    break;
+   }
+   b = ((f << 3) + a | 0) + 4 | 0;
+  }
+  b = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+  b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+  c = b ? b + a | 0 : 0;
+  if (c) {
+   break d;
+  }
+  b = 271040;
+  w : {
+   if (!h) {
+    break w;
+   }
+   g = h + -1 | 0;
+   c = 0;
+   while (1) {
+    x : {
+     f = c + g >>> 1 | 0;
+     e = (f << 3) + a | 0;
+     d = e + 4 | 0;
+     e = r[d | 0] << 8 | r[e + 5 | 0];
+     y : {
+      if (e) {
+       d = 0 - e | 0;
+       break y;
+      }
+      d = 2 - (r[d + 3 | 0] | r[d + 2 | 0] << 8) | 0;
+     }
+     z : {
+      if ((d | 0) <= -1) {
+       g = f + -1 | 0;
+       break z;
+      }
+      if (!d) {
+       break x;
+      }
+      c = f + 1 | 0;
+     }
+     if ((c | 0) <= (g | 0)) {
+      continue;
+     }
+     break w;
+    }
+    break;
+   }
+   b = ((f << 3) + a | 0) + 4 | 0;
+  }
+  b = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+  b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+  c = b ? b + a | 0 : 0;
+  if (c) {
+   break d;
+  }
+  b = 271040;
+  A : {
+   if (!h) {
+    break A;
+   }
+   g = h + -1 | 0;
+   c = 0;
+   while (1) {
+    B : {
+     f = c + g >>> 1 | 0;
+     e = (f << 3) + a | 0;
+     d = e + 4 | 0;
+     e = r[d | 0] << 8 | r[e + 5 | 0];
+     C : {
+      if (e) {
+       d = 0 - e | 0;
+       break C;
+      }
+      d = 1 - (r[d + 3 | 0] | r[d + 2 | 0] << 8) | 0;
+     }
+     D : {
+      if ((d | 0) <= -1) {
+       g = f + -1 | 0;
+       break D;
+      }
+      if (!d) {
+       break B;
+      }
+      c = f + 1 | 0;
+     }
+     if ((c | 0) <= (g | 0)) {
+      continue;
+     }
+     break A;
+    }
+    break;
+   }
+   b = ((f << 3) + a | 0) + 4 | 0;
+  }
+  b = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+  b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+  c = b ? b + a | 0 : 0;
+  if (c) {
+   break d;
+  }
+  d = a;
+  b = 271040;
+  E : {
+   if (!h) {
+    break E;
+   }
+   f = h + -1 | 0;
+   g = 0;
+   F : {
+    while (1) {
+     b = g + f >>> 1 | 0;
+     c = (b << 3) + a | 0;
+     h = c + 4 | 0;
+     c = r[h | 0] << 8 | r[c + 5 | 0];
+     if (!c) {
+      c = r[h + 3 | 0] | r[h + 2 | 0] << 8;
+     }
+     G : {
+      if ((c | 0) >= 1) {
+       f = b + -1 | 0;
+       break G;
+      }
+      if (!c) {
+       break F;
+      }
+      g = b + 1 | 0;
+     }
+     if ((g | 0) <= (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    b = 271040;
+    break E;
+   }
+   b = ((b << 3) + a | 0) + 4 | 0;
+  }
+  a = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+  a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  a = a ? d + a | 0 : 0;
+  return a ? a : 271040;
+ }
+ return c;
+}
+function pO(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, r = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0;
+ i = Ca - 592 | 0;
+ Ca = i;
+ Z$(i + 80 | 0, 0, 512);
+ q[i - -64 >> 2] = 0;
+ q[i + 56 >> 2] = 0;
+ q[i + 60 >> 2] = 0;
+ q[i + 48 >> 2] = 0;
+ q[i + 52 >> 2] = 0;
+ q[i + 40 >> 2] = 0;
+ q[i + 44 >> 2] = 0;
+ q[i + 32 >> 2] = 0;
+ q[i + 36 >> 2] = 0;
+ a : {
+  b : {
+   c : {
+    if (d) {
+     B = w(d, 40) + c | 0;
+     while (1) {
+      f = q[c + 32 >> 2];
+      if (f >>> 0 >= 1024) {
+       break c;
+      }
+      g = q[c + 36 >> 2];
+      if (g + -1 >>> 0 >= 1024) {
+       break b;
+      }
+      if ((f | 0) > (g | 0)) {
+       break a;
+      }
+      d = f >>> 6 | 0;
+      h = d + 1 | 0;
+      j = (i + 32 | 0) + (h << 1) | 0;
+      t = j;
+      r = s[j >> 1];
+      j = q[c + 20 >> 2];
+      k = j << 2 & 4;
+      n = q[c + 24 >> 2] ? k : j & 4 ? k ^ 4 : k;
+      y = j & 2;
+      m = y ? n : k;
+      j = f & 63;
+      l = w(m, j);
+      p[t >> 1] = r - l;
+      v = (i + 32 | 0) + (d << 1) | 0;
+      p[v >> 1] = l + (s[v >> 1] - (m << 6) | 0);
+      v = g >>> 6 | 0;
+      l = (i + 32 | 0) + (v << 1) | 0;
+      m = l + 2 | 0;
+      t = m;
+      r = s[m >> 1];
+      m = g & 63;
+      k = y ? k : n;
+      n = w(m, k);
+      p[t >> 1] = r + n;
+      p[l >> 1] = s[l >> 1] + ((k << 6) - n | 0);
+      d : {
+       if ((f | 0) == (g | 0)) {
+        break d;
+       }
+       z = q[c >> 2];
+       f = q[c + 4 >> 2];
+       g = q[c + 12 >> 2];
+       l = g;
+       n = g >> 31;
+       g = q[c + 16 >> 2];
+       t = g;
+       k = q[c + 8 >> 2];
+       p[i >> 1] = 0;
+       u = g >> 31;
+       k = T0(g, u, k, k >> 31);
+       g = Ea + 131072 | 0;
+       r = (k >>> 0 < 0 ? g + 1 | 0 : g) >> 2;
+       g = r >> 16;
+       p[i + 2 >> 1] = g;
+       p[i + 30 >> 1] = w(g, 15);
+       p[i + 28 >> 1] = w(g, 14);
+       p[i + 26 >> 1] = w(g, 13);
+       p[i + 24 >> 1] = w(g, 12);
+       p[i + 22 >> 1] = w(g, 11);
+       p[i + 20 >> 1] = w(g, 10);
+       p[i + 18 >> 1] = w(g, 9);
+       p[i + 16 >> 1] = g << 3;
+       p[i + 14 >> 1] = w(g, 7);
+       p[i + 12 >> 1] = w(g, 6);
+       p[i + 10 >> 1] = w(g, 5);
+       p[i + 8 >> 1] = g << 2;
+       p[i + 6 >> 1] = w(g, 3);
+       p[i + 4 >> 1] = g << 1;
+       k = T0(t, u, l, n);
+       n = Ea + 131072 | 0;
+       l = (k >>> 0 < 0 ? n + 1 | 0 : n) >> 18;
+       k = l >> 31;
+       y = (k ^ k + l) & 65535;
+       k = g;
+       g = r >> 31;
+       k = k + g ^ g;
+       f = f << 21 | z >>> 11;
+       g = T0(t, u, f, f >> 31);
+       f = Ea + 4096 | 0;
+       g = (((g >>> 0 < 0 ? f + 1 | 0 : f) >>> 13 | 0) - (r >> 17) | 0) - w(d, l) | 0;
+       e : {
+        if (!j) {
+         h = d;
+         break e;
+        }
+        if ((d | 0) == (v | 0)) {
+         h = m - j | 0;
+         f = ((h << 4) - k | 0) + 1024 | 0;
+         v = (f << 16 >> 16 < 1024 ? f : 1024) << 19 >> 16;
+         f = w(l, j + m | 0) << 9 >> 16;
+         j = w(h, y) << 10 >> 16;
+         j = ((j | 0) < (k | 0) ? j : k) + 2 >> 2;
+         k = h - (w(v, f - j | 0) >>> 16 | 0) | 0;
+         m = h - (w(v, f + j | 0) >>> 16 | 0) | 0;
+         f = h << 1;
+         g = g << 16 >> 16;
+         h = 0;
+         j = 0;
+         while (1) {
+          l = ((i + 80 | 0) + (d << 5) | 0) + (j << 1) | 0;
+          t = l;
+          r = s[l >> 1];
+          h = w(v, g - (h << 16 >> 16) | 0) >> 16;
+          l = h + m << 16 >> 16;
+          l = (l | 0) > 0 ? l : 0;
+          h = h + k << 16 >> 16;
+          h = (h | 0) > 0 ? h : 0;
+          p[t >> 1] = r + (((l | 0) > (f | 0) ? f : l) + ((h | 0) > (f | 0) ? f : h) | 0);
+          j = j + 1 | 0;
+          if ((j | 0) == 16) {
+           break d;
+          }
+          h = s[(j << 1) + i >> 1];
+          continue;
+         }
+        }
+        f = 64 - j | 0;
+        n = w(f, y) << 10 >>> 16 | 0;
+        n = ((n | 0) < (k | 0) ? n : k) + 2 >>> 2 | 0;
+        t = ((f << 4) - k | 0) + 1024 | 0;
+        t = (t << 16 >> 16 < 1024 ? t : 1024) << 19 >> 16;
+        j = w(l, j << 9 | 32768) >> 16;
+        u = f - (w(t, j - n | 0) >>> 16 | 0) | 0;
+        r = f - (w(t, j + n | 0) >>> 16 | 0) | 0;
+        z = g << 16 >> 16;
+        n = f << 1;
+        f = 0;
+        j = 0;
+        while (1) {
+         x = ((i + 80 | 0) + (d << 5) | 0) + (j << 1) | 0;
+         A = x;
+         C = s[x >> 1];
+         f = w(t, z - (f << 16 >> 16) | 0) >> 16;
+         x = f + r << 16 >> 16;
+         x = (x | 0) > 0 ? x : 0;
+         f = f + u << 16 >> 16;
+         f = (f | 0) > 0 ? f : 0;
+         p[A >> 1] = C + (((x | 0) > (n | 0) ? n : x) + ((f | 0) > (n | 0) ? n : f) | 0);
+         j = j + 1 | 0;
+         if ((j | 0) != 16) {
+          f = s[(j << 1) + i >> 1];
+          continue;
+         }
+         break;
+        }
+        g = g - l | 0;
+       }
+       if ((h | 0) < (v | 0)) {
+        d = 512 - (l >> 1) | 0;
+        f = ((k | 0) > (y | 0) ? y : k) + 2 >>> 2 | 0;
+        j = d - f | 0;
+        n = d + f | 0;
+        t = w(l, h - v | 0);
+        f = g;
+        while (1) {
+         d = 0;
+         while (1) {
+          u = d << 1;
+          r = u + ((i + 80 | 0) + (h << 5) | 0) | 0;
+          x = r;
+          A = s[r >> 1];
+          u = f - s[i + u >> 1] | 0;
+          r = u + n << 16 >> 16;
+          r = (r | 0) > 0 ? r : 0;
+          u = j + u << 16 >> 16;
+          u = (u | 0) > 0 ? u : 0;
+          p[x >> 1] = A + (((r | 0) < 1024 ? r : 1024) + ((u | 0) < 1024 ? u : 1024) >>> 3 | 0);
+          d = d + 1 | 0;
+          if ((d | 0) != 16) {
+           continue;
+          }
+          break;
+         }
+         f = f - l | 0;
+         h = h + 1 | 0;
+         if ((v | 0) != (h | 0)) {
+          continue;
+         }
+         break;
+        }
+        g = g + t | 0;
+       }
+       if (!m) {
+        break d;
+       }
+       d = w(l, m) << 9 >> 16;
+       h = w(m, y) << 10 >>> 16 | 0;
+       f = ((h | 0) < (k | 0) ? h : k) + 2 >>> 2 | 0;
+       h = ((m << 4) - k | 0) + 1024 | 0;
+       h = (h << 16 >> 16 < 1024 ? h : 1024) << 19 >> 16;
+       k = m - (w(d - f | 0, h) >>> 16 | 0) | 0;
+       f = m - (w(h, d + f | 0) >>> 16 | 0) | 0;
+       d = m << 1;
+       g = g << 16 >> 16;
+       j = 0;
+       while (1) {
+        m = j << 1;
+        l = m + ((i + 80 | 0) + (v << 5) | 0) | 0;
+        t = l;
+        r = s[l >> 1];
+        m = w(h, g - p[i + m >> 1] | 0) >> 16;
+        l = m + f << 16 >> 16;
+        l = (l | 0) > 0 ? l : 0;
+        m = k + m << 16 >> 16;
+        m = (m | 0) > 0 ? m : 0;
+        p[t >> 1] = r + (((l | 0) > (d | 0) ? d : l) + ((m | 0) > (d | 0) ? d : m) | 0);
+        j = j + 1 | 0;
+        if ((j | 0) != 16) {
+         continue;
+        }
+        break;
+       }
+      }
+      c = c + 40 | 0;
+      if ((B | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    f = e << 8;
+    h = 0;
+    while (1) {
+     f = s[(i + 32 | 0) + (h << 1) >> 1] + f | 0;
+     d = 0;
+     while (1) {
+      c = s[((i + 80 | 0) + (h << 5) | 0) + (d << 1) >> 1] + f | 0;
+      e = 0 - c | 0;
+      c = (c << 16 >> 16 > e << 16 >> 16 ? c : e) << 16 >> 16;
+      o[a + d | 0] = (c | 0) < 255 ? c : 255;
+      d = d + 1 | 0;
+      if ((d | 0) != 16) {
+       continue;
+      }
+      break;
+     }
+     a = a + b | 0;
+     h = h + 1 | 0;
+     if ((h | 0) != 16) {
+      continue;
+     }
+     break;
+    }
+    Ca = i + 592 | 0;
+    return;
+   }
+   J(437324, 437366, 187, 437385);
+   F();
+  }
+  J(437411, 437366, 188, 437385);
+  F();
+ }
+ J(437453, 437366, 189, 437385);
+ F();
+}
+function KE(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ q[f + 12 >> 2] = 0;
+ q[f + 8 >> 2] = 0;
+ q[f + 4 >> 2] = 0;
+ q[f >> 2] = 0;
+ e = q[a + 8 >> 2];
+ d = q[a + 4 >> 2];
+ a : {
+  if (!n[q[a + 16 >> 2]](a, c, f + 12 | 0, f + 8 | 0)) {
+   break a;
+  }
+  c = q[f + 8 >> 2];
+  if (c) {
+   q[f >> 2] = 0;
+   h = c;
+   c = q[e + 72 >> 2];
+   if (!n[q[c + 156 >> 2]](e, q[e + 76 >> 2], h, f, q[c + 20 >> 2])) {
+    break a;
+   }
+  }
+  q[f + 4 >> 2] = 0;
+  c = q[e + 72 >> 2];
+  c = n[q[c + 156 >> 2]](e, q[e + 76 >> 2], q[f + 12 >> 2], f + 4 | 0, q[c + 20 >> 2]) | 0;
+  g = q[f + 12 >> 2];
+  b : {
+   c : {
+    d : {
+     if (!(!c | !b)) {
+      q[(q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) | 0) + 12 >> 2] = q[f + 4 >> 2];
+      e : {
+       if (!pG(d, 0, 1)) {
+        q[160660] = q[67764];
+        a = q[67763];
+        q[160658] = q[67762];
+        q[160659] = a;
+        a = q[67761];
+        q[160656] = q[67760];
+        q[160657] = a;
+        e = q[d + 92 >> 2];
+        a = q[d + 80 >> 2];
+        break e;
+       }
+       a = q[d + 72 >> 2];
+       b = q[d + 76 >> 2];
+       if (!(q[d + 80 >> 2] | (a | 0) != (b | 0))) {
+        q[160660] = q[67764];
+        a = q[67763];
+        q[160658] = q[67762];
+        q[160659] = a;
+        a = q[67761];
+        q[160656] = q[67760];
+        q[160657] = a;
+        e = q[d + 92 >> 2];
+        break d;
+       }
+       f : {
+        if (a >>> 0 < b >>> 0) {
+         e = q[d + 80 >> 2];
+         c = q[d + 92 >> 2];
+         a = q[d + 88 >> 2] + w(a, 20) | 0;
+         break f;
+        }
+        c = q[d + 92 >> 2];
+        e = q[d + 80 >> 2];
+        a = (c + w(e, 20) | 0) + -20 | 0;
+       }
+       b = w(e, 20) + c | 0;
+       c = b;
+       e = q[a + 4 >> 2];
+       q[c >> 2] = q[a >> 2];
+       q[c + 4 >> 2] = e;
+       q[c + 16 >> 2] = q[a + 16 >> 2];
+       c = q[a + 12 >> 2];
+       q[b + 8 >> 2] = q[a + 8 >> 2];
+       q[b + 12 >> 2] = c;
+       e = q[d + 92 >> 2];
+       a = q[d + 80 >> 2];
+       q[e + w(a, 20) >> 2] = g;
+       a = a + 1 | 0;
+       q[d + 80 >> 2] = a;
+      }
+      if (!a) {
+       break d;
+      }
+      a = a + -1 | 0;
+      break c;
+     }
+     g : {
+      h : {
+       g = KE(a, b, g);
+       if (g) {
+        h = q[f + 8 >> 2];
+        if (!h) {
+         break a;
+        }
+        q[(q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) | 0) + 12 >> 2] = q[f >> 2];
+        i : {
+         if (!pG(d, 0, 1)) {
+          q[160660] = q[67764];
+          a = q[67763];
+          q[160658] = q[67762];
+          q[160659] = a;
+          a = q[67761];
+          q[160656] = q[67760];
+          q[160657] = a;
+          e = q[d + 92 >> 2];
+          a = q[d + 80 >> 2];
+          break i;
+         }
+         a = q[d + 72 >> 2];
+         b = q[d + 76 >> 2];
+         if (!(q[d + 80 >> 2] | (a | 0) != (b | 0))) {
+          q[160660] = q[67764];
+          a = q[67763];
+          q[160658] = q[67762];
+          q[160659] = a;
+          a = q[67761];
+          q[160656] = q[67760];
+          q[160657] = a;
+          e = q[d + 92 >> 2];
+          break h;
+         }
+         j : {
+          if (a >>> 0 < b >>> 0) {
+           e = q[d + 80 >> 2];
+           b = q[d + 92 >> 2];
+           a = q[d + 88 >> 2] + w(a, 20) | 0;
+           break j;
+          }
+          b = q[d + 92 >> 2];
+          e = q[d + 80 >> 2];
+          a = (b + w(e, 20) | 0) + -20 | 0;
+         }
+         b = w(e, 20) + b | 0;
+         c = b;
+         e = q[a + 4 >> 2];
+         q[c >> 2] = q[a >> 2];
+         q[c + 4 >> 2] = e;
+         q[c + 16 >> 2] = q[a + 16 >> 2];
+         c = q[a + 12 >> 2];
+         q[b + 8 >> 2] = q[a + 8 >> 2];
+         q[b + 12 >> 2] = c;
+         e = q[d + 92 >> 2];
+         a = q[d + 80 >> 2];
+         q[e + w(a, 20) >> 2] = h;
+         a = a + 1 | 0;
+         q[d + 80 >> 2] = a;
+        }
+        if (!a) {
+         break h;
+        }
+        a = a + -1 | 0;
+        break g;
+       }
+       if (!c) {
+        g = 0;
+        break a;
+       }
+       g = q[f + 12 >> 2];
+       q[(q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) | 0) + 12 >> 2] = q[f + 4 >> 2];
+       k : {
+        l : {
+         m : {
+          if (!pG(d, 0, 1)) {
+           q[160660] = q[67764];
+           a = q[67763];
+           q[160658] = q[67762];
+           q[160659] = a;
+           a = q[67761];
+           q[160656] = q[67760];
+           q[160657] = a;
+           e = q[d + 92 >> 2];
+           a = q[d + 80 >> 2];
+           break m;
+          }
+          a = q[d + 72 >> 2];
+          b = q[d + 76 >> 2];
+          if (!(q[d + 80 >> 2] | (a | 0) != (b | 0))) {
+           q[160660] = q[67764];
+           a = q[67763];
+           q[160658] = q[67762];
+           q[160659] = a;
+           a = q[67761];
+           q[160656] = q[67760];
+           q[160657] = a;
+           e = q[d + 92 >> 2];
+           break l;
+          }
+          n : {
+           if (a >>> 0 < b >>> 0) {
+            e = q[d + 80 >> 2];
+            c = q[d + 92 >> 2];
+            a = q[d + 88 >> 2] + w(a, 20) | 0;
+            break n;
+           }
+           c = q[d + 92 >> 2];
+           e = q[d + 80 >> 2];
+           a = (c + w(e, 20) | 0) + -20 | 0;
+          }
+          b = w(e, 20) + c | 0;
+          c = b;
+          e = q[a + 4 >> 2];
+          q[c >> 2] = q[a >> 2];
+          q[c + 4 >> 2] = e;
+          q[c + 16 >> 2] = q[a + 16 >> 2];
+          c = q[a + 12 >> 2];
+          q[b + 8 >> 2] = q[a + 8 >> 2];
+          q[b + 12 >> 2] = c;
+          e = q[d + 92 >> 2];
+          a = q[d + 80 >> 2];
+          q[e + w(a, 20) >> 2] = g;
+          a = a + 1 | 0;
+          q[d + 80 >> 2] = a;
+         }
+         if (!a) {
+          break l;
+         }
+         a = a + -1 | 0;
+         break k;
+        }
+        a = 0;
+       }
+       break b;
+      }
+      a = 0;
+     }
+     JE(w(a, 20) + e | 0, d);
+     g = g + 1 | 0;
+     break a;
+    }
+    a = 0;
+   }
+  }
+  JE(w(a, 20) + e | 0, d);
+  g = q[f + 8 >> 2];
+  if (!g) {
+   g = 1;
+   break a;
+  }
+  q[(q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) | 0) + 12 >> 2] = q[f >> 2];
+  o : {
+   p : {
+    q : {
+     if (!pG(d, 0, 1)) {
+      q[160660] = q[67764];
+      a = q[67763];
+      q[160658] = q[67762];
+      q[160659] = a;
+      a = q[67761];
+      q[160656] = q[67760];
+      q[160657] = a;
+      e = q[d + 92 >> 2];
+      a = q[d + 80 >> 2];
+      break q;
+     }
+     a = q[d + 72 >> 2];
+     b = q[d + 76 >> 2];
+     if (!(q[d + 80 >> 2] | (a | 0) != (b | 0))) {
+      q[160660] = q[67764];
+      a = q[67763];
+      q[160658] = q[67762];
+      q[160659] = a;
+      a = q[67761];
+      q[160656] = q[67760];
+      q[160657] = a;
+      e = q[d + 92 >> 2];
+      break p;
+     }
+     r : {
+      if (a >>> 0 < b >>> 0) {
+       e = q[d + 80 >> 2];
+       c = q[d + 92 >> 2];
+       a = q[d + 88 >> 2] + w(a, 20) | 0;
+       break r;
+      }
+      c = q[d + 92 >> 2];
+      e = q[d + 80 >> 2];
+      a = (c + w(e, 20) | 0) + -20 | 0;
+     }
+     b = w(e, 20) + c | 0;
+     c = b;
+     e = q[a + 4 >> 2];
+     q[c >> 2] = q[a >> 2];
+     q[c + 4 >> 2] = e;
+     q[c + 16 >> 2] = q[a + 16 >> 2];
+     c = q[a + 12 >> 2];
+     q[b + 8 >> 2] = q[a + 8 >> 2];
+     q[b + 12 >> 2] = c;
+     e = q[d + 92 >> 2];
+     a = q[d + 80 >> 2];
+     q[e + w(a, 20) >> 2] = g;
+     a = a + 1 | 0;
+     q[d + 80 >> 2] = a;
+    }
+    if (!a) {
+     break p;
+    }
+    a = a + -1 | 0;
+    break o;
+   }
+   a = 0;
+  }
+  JE(w(a, 20) + e | 0, d);
+  g = 2;
+ }
+ Ca = f + 16 | 0;
+ return g;
+}
+function xH(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0;
+ l = Ca - 16 | 0;
+ Ca = l;
+ q[l + 12 >> 2] = 0;
+ q[a + 1404 >> 2] = 0;
+ q[a + 1392 >> 2] = 0;
+ q[a + 56 >> 2] = 0;
+ q[a + 44 >> 2] = 0;
+ q[a + 36 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+ d = q[a >> 2];
+ m = q[a + 16 >> 2];
+ k = q[a + 8 >> 2];
+ j = q[a + 12 >> 2];
+ u = q[a + 4 >> 2];
+ g = p[b >> 1];
+ a : {
+  b : {
+   if (g >>> 0 <= 8) {
+    if (q[a + 40 >> 2]) {
+     break b;
+    }
+    q[a + 32 >> 2] = 8;
+    q[a + 40 >> 2] = a + 2760;
+    break b;
+   }
+   c = q[a + 32 >> 2];
+   if (c >>> 0 >= g >>> 0) {
+    break b;
+   }
+   e = a;
+   h = d;
+   f = c;
+   g = g + 3 & -4;
+   n = g;
+   c = q[a + 40 >> 2];
+   if ((c | 0) == (a + 2760 | 0)) {
+    q[a + 40 >> 2] = 0;
+    c = 0;
+   }
+   C = e, D = Te(h, 4, f, n, c, l + 12 | 0), q[C + 40 >> 2] = D;
+   if (q[l + 12 >> 2]) {
+    break a;
+   }
+   q[a + 32 >> 2] = g;
+  }
+  c = p[b + 2 >> 1];
+  e = c + 2 | 0;
+  c : {
+   if (e >>> 0 <= 96) {
+    if (q[a + 28 >> 2]) {
+     break c;
+    }
+    q[a + 20 >> 2] = 96;
+    q[a + 28 >> 2] = a + 2792;
+    break c;
+   }
+   f = e;
+   e = q[a + 20 >> 2];
+   if (f >>> 0 <= e >>> 0) {
+    break c;
+   }
+   h = a;
+   f = c + 11 & -8;
+   g = f;
+   c = q[a + 28 >> 2];
+   if ((c | 0) == (a + 2792 | 0)) {
+    q[a + 28 >> 2] = 0;
+    c = 0;
+   }
+   C = h, D = Te(d, 40, e, g, c, l + 12 | 0), q[C + 28 >> 2] = D;
+   if (q[l + 12 >> 2]) {
+    break a;
+   }
+   q[a + 20 >> 2] = f;
+   c = p[b + 2 >> 1];
+  }
+  q[a + 24 >> 2] = c;
+  c = p[b >> 1];
+  q[a + 1416 >> 2] = -1;
+  q[a + 68 >> 2] = 2;
+  q[a + 36 >> 2] = c;
+  if ((ug(b) | 0) == 1) {
+   q[a + 1416 >> 2] = 1;
+   q[a + 68 >> 2] = -2;
+  }
+  q[a + 12 >> 2] = j;
+  q[a + 4 >> 2] = u;
+  q[a + 2752 >> 2] = 0;
+  q[a + 2756 >> 2] = 0;
+  q[a + 16 >> 2] = m;
+  q[a + 8 >> 2] = k;
+  n = q[a + 24 >> 2];
+  if (!n) {
+   break a;
+  }
+  h = q[a + 28 >> 2];
+  x = h + w(n, 40) | 0;
+  d = q[b + 12 >> 2];
+  y = w(s[q[q[a + 2748 >> 2] + 4 >> 2] + 68 >> 1], 20) >>> 11 | 0;
+  if ((n | 0) >= 1) {
+   e = q[b + 4 >> 2];
+   g = q[b + 8 >> 2];
+   c = h;
+   t = p[d >> 1];
+   f = c + w(t, 40) | 0;
+   d = f;
+   while (1) {
+    p[c + 2 >> 1] = 1028;
+    i = q[e >> 2];
+    p[c + 12 >> 1] = i;
+    p[c + 14 >> 1] = q[e + 4 >> 2];
+    i = Ee(i, u) + k | 0;
+    q[c + 4 >> 2] = i;
+    q[c + 16 >> 2] = i;
+    i = Ee(q[e + 4 >> 2], j) + m | 0;
+    q[c + 8 >> 2] = i;
+    q[c + 20 >> 2] = i;
+    i = q[b + 4 >> 2] + (t << 16 >> 16 << 3) | 0;
+    p[f + 12 >> 1] = q[i >> 2];
+    p[f + 14 >> 1] = q[i + 4 >> 2];
+    i = r[g | 0] & 3;
+    p[c >> 1] = i ? ((i | 0) == 2) << 1 : 1;
+    A = p[c + 14 >> 1] - p[d + 14 >> 1] | 0;
+    i = A >> 31;
+    B = p[c + 12 >> 1] - p[d + 12 >> 1] | 0;
+    v = B >> 31;
+    if (((i ^ i + A) + (v ^ v + B) | 0) < (y | 0)) {
+     p[d >> 1] = s[d >> 1] | 32;
+    }
+    q[c + 36 >> 2] = d;
+    q[d + 32 >> 2] = c;
+    d : {
+     if ((c | 0) != (f | 0)) {
+      d = c;
+      break d;
+     }
+     z = z + 1 | 0;
+     if ((z | 0) >= p[b >> 1]) {
+      d = c;
+      f = c;
+      break d;
+     }
+     t = p[q[b + 12 >> 2] + (z << 1) >> 1];
+     d = w(t, 40) + h | 0;
+     f = d;
+    }
+    g = g + 1 | 0;
+    e = e + 8 | 0;
+    c = c + 40 | 0;
+    if (c >>> 0 < x >>> 0) {
+     continue;
+    }
+    break;
+   }
+   d = q[b + 12 >> 2];
+  }
+  b = q[a + 36 >> 2];
+  if ((b | 0) >= 1) {
+   c = q[a + 40 >> 2];
+   f = c + (b << 2) | 0;
+   e = 0;
+   while (1) {
+    q[c >> 2] = w(e << 16 >> 16, 40) + h;
+    e = p[d >> 1] + 1 | 0;
+    d = d + 2 | 0;
+    c = c + 4 | 0;
+    if (c >>> 0 < f >>> 0) {
+     continue;
+    }
+    break;
+   }
+   m = q[a + 40 >> 2];
+   i = m + (b << 2) | 0;
+   v = (y << 1) + -1 | 0;
+   while (1) {
+    e = q[m >> 2];
+    c = e;
+    while (1) {
+     e : {
+      f = c;
+      g = p[c + 12 >> 1];
+      c = q[c + 36 >> 2];
+      if ((e | 0) == (c | 0)) {
+       b = s[f + 14 >> 1];
+       break e;
+      }
+      b = p[f + 14 >> 1];
+      k = b - p[c + 14 >> 1] | 0;
+      a = k >> 31;
+      j = g - p[c + 12 >> 1] | 0;
+      d = j >> 31;
+      if (((a ^ a + k) + (d ^ d + j) | 0) < (v | 0)) {
+       continue;
+      }
+     }
+     break;
+    }
+    q[f + 24 >> 2] = 0;
+    q[f + 28 >> 2] = 0;
+    d = 0;
+    e = f;
+    a = e;
+    c = 0;
+    while (1) {
+     j = g << 16;
+     g = b << 16;
+     e = q[e + 32 >> 2];
+     b = p[e + 14 >> 1];
+     c = (b - (g >> 16) | 0) + c | 0;
+     k = c >> 31;
+     g = p[e + 12 >> 1];
+     d = (g - (j >> 16) | 0) + d | 0;
+     j = d >> 31;
+     f : {
+      if (((k ^ c + k) + (j ^ d + j) | 0) < (y | 0)) {
+       p[e >> 1] = s[e >> 1] | 16;
+       break f;
+      }
+      k = 0 - d | 0;
+      j = (e - a | 0) / 40 | 0;
+      q[a + 24 >> 2] = j;
+      q[e + 28 >> 2] = 0 - j;
+      g : {
+       if ((c | 0) >= (d | 0)) {
+        u = (c | 0) >= (k | 0);
+        t = u ? 2 : -1;
+        j = u ? d : c;
+        d = u ? c : k;
+        break g;
+       }
+       k = (c | 0) >= (k | 0);
+       t = k ? 1 : -2;
+       j = k ? c : d;
+       d = k ? d : 0 - c | 0;
+      }
+      c = j >> 31;
+      d = (d | 0) > (w(c + j ^ c, 14) | 0) ? t : 4;
+      o[a + 3 | 0] = d;
+      c = q[a + 32 >> 2];
+      if ((e | 0) != (c | 0)) {
+       while (1) {
+        o[c + 3 | 0] = d;
+        o[c + 2 | 0] = d;
+        c = q[c + 32 >> 2];
+        if ((e | 0) != (c | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      o[e + 2 | 0] = d;
+      a = (f - e | 0) / 40 | 0;
+      q[e + 24 >> 2] = a;
+      d = 0;
+      q[f + 28 >> 2] = 0 - a;
+      a = e;
+      c = 0;
+     }
+     if ((e | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    m = m + 4 | 0;
+    if (m >>> 0 < i >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  if ((n | 0) <= 0) {
+   break a;
+  }
+  c = h;
+  while (1) {
+   d = s[c >> 1];
+   h : {
+    if (d & 16 | r[c + 2 | 0] != 4 | r[c + 3 | 0] != 4) {
+     break h;
+    }
+    e = q[c + 24 >> 2];
+    a = w(e, 40) + c | 0;
+    b = p[c + 12 >> 1];
+    n = p[a + 12 >> 1] - b | 0;
+    g = b;
+    f = q[c + 28 >> 2];
+    b = w(f, 40) + c | 0;
+    if ((n ^ g - p[b + 12 >> 1]) < 0) {
+     break h;
+    }
+    g = p[c + 14 >> 1];
+    if ((g - p[b + 14 >> 1] ^ p[a + 14 >> 1] - g) < 0) {
+     break h;
+    }
+    p[c >> 1] = d | 16;
+    d = b;
+    b = (w(e - f | 0, 40) | 0) / 40 | 0;
+    q[d + 24 >> 2] = b;
+    q[a + 28 >> 2] = 0 - b;
+   }
+   c = c + 40 | 0;
+   if (c >>> 0 < x >>> 0) {
+    continue;
+   }
+   break;
+  }
+  while (1) {
+   c = s[h >> 1];
+   i : {
+    if (c & 16) {
+     break i;
+    }
+    j : {
+     if (c & 3) {
+      break j;
+     }
+     a = r[h + 3 | 0];
+     b = r[h + 2 | 0];
+     if ((a | 0) == (b | 0)) {
+      if ((a | 0) != 4) {
+       break j;
+      }
+      c = p[h + 12 >> 1];
+      d = q[h + 28 >> 2];
+      a = w(d, 40) + h | 0;
+      e = p[h + 14 >> 1];
+      f = q[h + 24 >> 2];
+      b = w(f, 40) + h | 0;
+      if (!Me(c - p[a + 12 >> 1] | 0, e - p[a + 14 >> 1] | 0, p[b + 12 >> 1] - c | 0, p[b + 14 >> 1] - e | 0)) {
+       break i;
+      }
+      c = a;
+      a = (w(f - d | 0, 40) | 0) / 40 | 0;
+      q[c + 24 >> 2] = a;
+      q[b + 28 >> 2] = 0 - a;
+      c = s[h >> 1];
+      break j;
+     }
+     if ((0 - (a << 24 >> 24) | 0) != b << 24 >> 24) {
+      break i;
+     }
+    }
+    p[h >> 1] = c | 16;
+   }
+   h = h + 40 | 0;
+   if (h >>> 0 < x >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = l + 16 | 0;
+ return q[l + 12 >> 2];
+}
+function aY(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0, u = 0, x = 0;
+ g = Ca - 96 | 0;
+ Ca = g;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            if (a) {
+             if (!c) {
+              break k;
+             }
+             if (!e) {
+              break j;
+             }
+             q[e >> 2] = 1;
+             if (o[643388] & 1) {
+              d0(503810, 0);
+              XS(c);
+             }
+             if ((b | 0) < 1) {
+              break i;
+             }
+             while (1) {
+              i = q[(f << 2) + a >> 2];
+              if (i) {
+               j = q[i >> 2] + j | 0;
+              }
+              f = f + 1 | 0;
+              if ((f | 0) != (b | 0)) {
+               continue;
+              }
+              break;
+             }
+             if (!j) {
+              break i;
+             }
+             f = 0;
+             while (1) {
+              s = f;
+              f = f + 1 | 0;
+              if (!AS(c, s, g + 80 | 0)) {
+               continue;
+              }
+              break;
+             }
+             t = s << 2;
+             l = w(j, 220);
+             n = L$(t + l | 0);
+             if (!n) {
+              break c;
+             }
+             m = w(j, 216) + n | 0;
+             x = m + (j << 2) | 0;
+             h = n;
+             i = m;
+             while (1) {
+              k = q[(p << 2) + a >> 2];
+              if (!(!k | q[k >> 2] < 1)) {
+               j = 0;
+               while (1) {
+                if (r[643388] & 2) {
+                 q[g + 32 >> 2] = j;
+                 d0(503821, g + 32 | 0);
+                 XS(q[q[k + 8 >> 2] + (j << 2) >> 2]);
+                }
+                f = q[q[k + 8 >> 2] + (j << 2) >> 2];
+                q[h >> 2] = f;
+                if (!$X(c, f, h + 8 | 0, e)) {
+                 break d;
+                }
+                if (r[643388] & 2) {
+                 f = 0;
+                 d0(503830, 0);
+                 while (1) {
+                  v[g + 16 >> 3] = v[((f << 3) + h | 0) + 8 >> 3];
+                  e0(503836, g + 16 | 0);
+                  f = f + 1 | 0;
+                  if ((f | 0) != 26) {
+                   continue;
+                  }
+                  break;
+                 }
+                 OZ(10);
+                }
+                q[i >> 2] = h;
+                i = i + 4 | 0;
+                h = h + 216 | 0;
+                j = j + 1 | 0;
+                if ((j | 0) < q[k >> 2]) {
+                 continue;
+                }
+                break;
+               }
+              }
+              p = p + 1 | 0;
+              if ((p | 0) != (b | 0)) {
+               continue;
+              }
+              break;
+             }
+             p = h - n | 0;
+             k = (p | 0) / 216 | 0;
+             M_(m, k, 4, 985);
+             if (s) {
+              Z$(l + n | 0, 0, t);
+             }
+             if ((p | 0) >= 1) {
+              i = (k | 0) > 1 ? k : 1;
+              a = 0;
+              while (1) {
+               l = (a << 2) + m | 0;
+               h = q[l >> 2];
+               l : {
+                m : {
+                 if (!(v[h + 80 >> 3] < 2e3)) {
+                  break m;
+                 }
+                 f = 0;
+                 if (!s) {
+                  break m;
+                 }
+                 while (1) {
+                  n : {
+                   b = (f << 2) + x | 0;
+                   if (q[b >> 2]) {
+                    break n;
+                   }
+                   if (AS(c, f, g + 80 | 0)) {
+                    break n;
+                   }
+                   if (AS(q[q[l >> 2] >> 2], 0, g - -64 | 0)) {
+                    break n;
+                   }
+                   u = cY(g + 80 | 0, g - -64 | 0, g + 48 | 0);
+                   if (u >= 0 ^ 1 | !(u < 2)) {
+                    break n;
+                   }
+                   o : {
+                    if (!(r[643388] & 2)) {
+                     break o;
+                    }
+                    if (ES(q[q[l >> 2] >> 2], 503840, 0, g + 44 | 0)) {
+                     break o;
+                    }
+                    if (ES(q[q[l >> 2] >> 2], 503847, 0, g + 40 | 0)) {
+                     break o;
+                    }
+                    q[g >> 2] = q[g + 44 >> 2];
+                    q[g + 4 >> 2] = q[g + 40 >> 2];
+                    q[g + 8 >> 2] = f;
+                    d0(503853, g);
+                   }
+                   q[b >> 2] = 1;
+                   break l;
+                  }
+                  f = f + 1 | 0;
+                  if ((s | 0) != (f | 0)) {
+                   continue;
+                  }
+                  break;
+                 }
+                 h = q[l >> 2];
+                }
+                q[h + 80 >> 2] = 0;
+                q[h + 84 >> 2] = 1086556160;
+               }
+               a = a + 1 | 0;
+               if ((i | 0) != (a | 0)) {
+                continue;
+               }
+               break;
+              }
+             }
+             M_(m, k, 4, 985);
+             f = qP();
+             if (!f) {
+              break d;
+             }
+             i = GR();
+             if (!i) {
+              break e;
+             }
+             a = 1;
+             if ((p | 0) >= 1) {
+              h = 0;
+              while (1) {
+               c = q[m >> 2];
+               q[g + 64 >> 2] = 0;
+               p : {
+                q : {
+                 if (i) {
+                  if (GS(q[c >> 2], 504767, g + 48 | 0)) {
+                   break p;
+                  }
+                  if (!QR(i, q[g + 48 >> 2], g - -64 | 0)) {
+                   break q;
+                  }
+                  b = q[g + 64 >> 2];
+                 } else {
+                  b = 0;
+                 }
+                 if (h ? !b : 0) {
+                  break p;
+                 }
+                 JS(q[c >> 2]);
+                 if (r[643388] & 2) {
+                  d0(504775, 0);
+                  XS(q[c >> 2]);
+                 }
+                 if (sP(f, q[c >> 2])) {
+                  break p;
+                 }
+                 gS(q[c >> 2]);
+                 a = 0;
+                 break h;
+                }
+                a = 0;
+                break g;
+               }
+               m = m + 4 | 0;
+               h = h + 1 | 0;
+               if ((k | 0) != (h | 0)) {
+                continue;
+               }
+               break;
+              }
+             }
+             if (!d) {
+              break h;
+             }
+             q[d >> 2] = i;
+             break b;
+            }
+            J(503758, 503748, 1018, 503796);
+            F();
+           }
+           J(503771, 503748, 1019, 503796);
+           F();
+          }
+          J(503781, 503748, 1020, 503796);
+          F();
+         }
+         f = qP();
+         break a;
+        }
+        if (!i) {
+         break f;
+        }
+       }
+       IR(i);
+      }
+      if (a) {
+       break b;
+      }
+     }
+     rP(f);
+    }
+    M$(n);
+   }
+   f = 0;
+   break a;
+  }
+  M$(n);
+  if (o[643388] & 1) {
+   d0(503885, 0);
+   XS(q[q[f + 8 >> 2] >> 2]);
+  }
+  if (q[f >> 2] < 1) {
+   break a;
+  }
+  q[e >> 2] = 0;
+ }
+ Ca = g + 96 | 0;
+ return f;
+}
+function rW(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, s = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ l = a + 448 | 0;
+ m = a + 436 | 0;
+ j = f + 12 | 0;
+ k = q[a + 352 >> 2];
+ p = (k + 80 | 0) != (f | 0);
+ while (1) {
+  a : {
+   b : {
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         h : {
+          g = (n[q[b + 16 >> 2]](b, d, e, i + 8 | 0) | 0) + 4 | 0;
+          if (g >>> 0 > 43) {
+           break h;
+          }
+          h = 0;
+          i : {
+           j : {
+            k : {
+             switch (g - 1 | 0) {
+             case 3:
+              h = 4;
+              if (q[a + 144 >> 2] != (b | 0)) {
+               break a;
+              }
+              q[a + 284 >> 2] = q[i + 8 >> 2];
+              break a;
+             case 2:
+              h = 4;
+              break d;
+             case 13:
+              h = n[q[b + 40 >> 2]](b, d) | 0;
+              if ((h | 0) <= -1) {
+               h = 14;
+               if (q[a + 144 >> 2] != (b | 0)) {
+                break a;
+               }
+               q[a + 284 >> 2] = d;
+               break a;
+              }
+              if (!((h | 0) != 32 | c)) {
+               d = q[f + 12 >> 2];
+               if ((d | 0) == q[f + 16 >> 2] | r[d + -1 | 0] == 32) {
+                break b;
+               }
+              }
+              d = 0;
+              h = lT(h, i + 12 | 0);
+              if ((h | 0) < 1) {
+               break b;
+              }
+              while (1) {
+               g = q[f + 12 >> 2];
+               if ((g | 0) == q[f + 8 >> 2]) {
+                if (!_V(f)) {
+                 break j;
+                }
+                g = q[j >> 2];
+               }
+               s = r[(i + 12 | 0) + d | 0];
+               q[j >> 2] = g + 1;
+               o[g | 0] = s;
+               d = d + 1 | 0;
+               if ((h | 0) != (d | 0)) {
+                continue;
+               }
+               break;
+              }
+              break b;
+             case 9:
+              h = q[i + 8 >> 2];
+              q[i + 12 >> 2] = d;
+              if (!q[j >> 2]) {
+               if (!_V(f)) {
+                break j;
+               }
+              }
+              while (1) {
+               if (n[q[b + 56 >> 2]](b, i + 12 | 0, h, j, q[f + 8 >> 2]) >>> 0 >= 2) {
+                if (_V(f)) {
+                 continue;
+                }
+                break j;
+               }
+               break;
+              }
+              if (!q[f + 16 >> 2]) {
+               break j;
+              }
+              break b;
+             case 0:
+              q[i + 8 >> 2] = q[b + 64 >> 2] + d;
+             case 10:
+             case 42:
+              g = q[j >> 2];
+              if (q[f + 16 >> 2] == (g | 0) | r[g + -1 | 0] == 32 ? !c : 0) {
+               break b;
+              }
+              if (q[f + 8 >> 2] == (g | 0)) {
+               if (!_V(f)) {
+                break j;
+               }
+               g = q[j >> 2];
+              }
+              q[j >> 2] = g + 1;
+              o[g | 0] = 32;
+              d = q[i + 8 >> 2];
+              continue;
+             case 12:
+              break k;
+             case 1:
+             case 4:
+             case 5:
+             case 6:
+             case 7:
+             case 8:
+             case 11:
+             case 14:
+             case 15:
+             case 16:
+             case 17:
+             case 18:
+             case 19:
+             case 20:
+             case 21:
+             case 22:
+             case 23:
+             case 24:
+             case 25:
+             case 26:
+             case 27:
+             case 28:
+             case 29:
+             case 30:
+             case 31:
+             case 32:
+             case 33:
+             case 34:
+             case 35:
+             case 36:
+             case 37:
+             case 38:
+             case 39:
+             case 40:
+             case 41:
+              break h;
+             default:
+              break a;
+             }
+            }
+            h = q[b + 64 >> 2];
+            h = n[q[b + 44 >> 2]](b, h + d | 0, q[i + 8 >> 2] - h | 0) | 0;
+            if (h & 255) {
+             g = q[f + 12 >> 2];
+             if ((g | 0) == q[f + 8 >> 2]) {
+              if (!_V(f)) {
+               break j;
+              }
+              g = q[j >> 2];
+             }
+             q[j >> 2] = g + 1;
+             o[g | 0] = h;
+             d = q[i + 8 >> 2];
+             continue;
+            }
+            h = q[i + 8 >> 2];
+            g = q[b + 64 >> 2];
+            q[i + 12 >> 2] = g + d;
+            if (!q[l >> 2]) {
+             if (!_V(m)) {
+              break j;
+             }
+            }
+            h = h - g | 0;
+            while (1) {
+             if (n[q[b + 56 >> 2]](b, i + 12 | 0, h, l, q[a + 444 >> 2]) >>> 0 < 2) {
+              break i;
+             }
+             if (_V(m)) {
+              continue;
+             }
+             break;
+            }
+           }
+           h = 1;
+           break a;
+          }
+          h = 1;
+          if (!q[a + 452 >> 2]) {
+           break a;
+          }
+          g = q[a + 448 >> 2];
+          if ((g | 0) == q[a + 444 >> 2]) {
+           if (!_V(m)) {
+            break a;
+           }
+           g = q[l >> 2];
+          }
+          q[a + 448 >> 2] = g + 1;
+          o[g | 0] = 0;
+          g = q[a + 452 >> 2];
+          if (!g) {
+           break a;
+          }
+          g = $V(a, k, g, 0);
+          q[a + 448 >> 2] = q[a + 452 >> 2];
+          l : {
+           m : {
+            if (!p) {
+             if (!q[a + 268 >> 2]) {
+              if (g) {
+               break e;
+              }
+              break b;
+             }
+             if (!r[k + 130 | 0]) {
+              break m;
+             }
+             h = (g | 0) != 0;
+             if (!q[a + 296 >> 2]) {
+              break g;
+             }
+             break l;
+            }
+            if (!r[k + 129 | 0]) {
+             if (g) {
+              break f;
+             }
+             h = 11;
+             break a;
+            }
+            h = (g | 0) != 0;
+            if (!r[k + 130 | 0]) {
+             break l;
+            }
+            break g;
+           }
+           h = (g | 0) != 0;
+           if (!r[k + 129 | 0]) {
+            break g;
+           }
+          }
+          if (!h) {
+           break b;
+          }
+          break e;
+         }
+         h = 23;
+         break d;
+        }
+        if (h) {
+         break f;
+        }
+        h = 11;
+        break a;
+       }
+       if (r[g + 34 | 0]) {
+        break e;
+       }
+       h = 24;
+       break a;
+      }
+      if (r[g + 32 | 0]) {
+       h = 12;
+       break d;
+      }
+      if (q[g + 28 >> 2]) {
+       h = 15;
+       break d;
+      }
+      h = q[g + 4 >> 2];
+      if (h) {
+       break c;
+      }
+      h = 16;
+     }
+     if (q[a + 144 >> 2] != (b | 0)) {
+      break a;
+     }
+     q[a + 284 >> 2] = d;
+     break a;
+    }
+    o[g + 32 | 0] = 1;
+    h = rW(a, q[a + 224 >> 2], c, h, h + q[g + 8 >> 2] | 0, f);
+    o[g + 32 | 0] = 0;
+    if (h) {
+     break a;
+    }
+   }
+   d = q[i + 8 >> 2];
+   continue;
+  }
+  break;
+ }
+ Ca = i + 16 | 0;
+ return h;
+}
+function Bf(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, p = 0, s = 0, u = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       k = q[b + 8 >> 2];
+       if (k + 3 >>> 0 >= t[b + 4 >> 2]) {
+        break f;
+       }
+       o = q[a >> 2];
+       e = q[b + 20 >> 2];
+       if (e) {
+        if ((n[e](b, k, i + 10 | 0, 4) | 0) != 4) {
+         break f;
+        }
+        e = q[b + 8 >> 2];
+        f = i + 10 | 0;
+        break e;
+       }
+       e = q[b >> 2];
+       if (e) {
+        f = e + k | 0;
+        e = k;
+        break e;
+       }
+       q[b + 8 >> 2] = k + 4;
+       g = 2;
+       break d;
+      }
+      f = 85;
+      break a;
+     }
+     f = r[f | 0] | r[f + 1 | 0] << 8 | (r[f + 2 | 0] << 16 | r[f + 3 | 0] << 24);
+     j = e + 4 | 0;
+     q[b + 8 >> 2] = j;
+     g = 2;
+     if ((f << 8 & 16711680 | f << 24 | (f >>> 8 & 65280 | f >>> 24)) != 1954115633) {
+      break d;
+     }
+     g = q[b + 4 >> 2];
+     if (e + 5 >>> 0 >= g >>> 0) {
+      break b;
+     }
+     g : {
+      h : {
+       i : {
+        f = q[b + 20 >> 2];
+        j : {
+         if (f) {
+          if ((n[f](b, j, i + 14 | 0, 2) | 0) != 2) {
+           break b;
+          }
+          g = q[b + 20 >> 2];
+          j = q[b + 8 >> 2];
+          e = i + 14 | 0;
+          break j;
+         }
+         f = q[b >> 2];
+         if (!f) {
+          break i;
+         }
+         g = 0;
+         e = f + j | 0;
+        }
+        f = r[e + 1 | 0];
+        h = r[e | 0];
+        q[b + 8 >> 2] = j + 2;
+        e = j + 8 | 0;
+        p = f | h << 8;
+        if (!g) {
+         g = q[b + 4 >> 2];
+         break h;
+        }
+        f = 85;
+        if (!n[g](b, e, 0, 0)) {
+         break g;
+        }
+        break a;
+       }
+       q[b + 8 >> 2] = e + 6;
+       e = e + 12 | 0;
+      }
+      f = 85;
+      if (g >>> 0 < e >>> 0) {
+       break a;
+      }
+     }
+     q[b + 8 >> 2] = e;
+     f = 142;
+     if (!p) {
+      break a;
+     }
+     l = (c | 0) > 0 ? c & 65535 : c;
+     m = -1;
+     while (1) {
+      g = q[b + 4 >> 2];
+      if (e + 3 >>> 0 >= g >>> 0) {
+       break c;
+      }
+      k : {
+       l : {
+        m : {
+         n : {
+          c = q[b + 20 >> 2];
+          o : {
+           if (c) {
+            if ((n[c](b, e, i + 10 | 0, 4) | 0) != 4) {
+             break c;
+            }
+            g = q[b + 20 >> 2];
+            e = q[b + 8 >> 2];
+            c = i + 10 | 0;
+            break o;
+           }
+           c = q[b >> 2];
+           if (!c) {
+            break n;
+           }
+           g = 0;
+           c = c + e | 0;
+          }
+          c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+          q[b + 8 >> 2] = e + 4;
+          j = c << 8 & 16711680 | c << 24 | (c >>> 8 & 65280 | c >>> 24);
+          c = e + 8 | 0;
+          if (!g) {
+           g = q[b + 4 >> 2];
+           break m;
+          }
+          if (!n[g](b, c, 0, 0)) {
+           break l;
+          }
+          f = 85;
+          break a;
+         }
+         q[b + 8 >> 2] = e + 4;
+         c = e + 8 | 0;
+         j = 0;
+        }
+        if (g >>> 0 >= c >>> 0) {
+         break k;
+        }
+        f = 85;
+        break a;
+       }
+       g = q[b + 4 >> 2];
+      }
+      q[b + 8 >> 2] = c;
+      p : {
+       q : {
+        r : {
+         if (e + 11 >>> 0 >= g >>> 0) {
+          break r;
+         }
+         e = q[b + 20 >> 2];
+         s : {
+          if (e) {
+           if ((n[e](b, c, i + 10 | 0, 4) | 0) != 4) {
+            break r;
+           }
+           g = q[b + 4 >> 2];
+           c = q[b + 8 >> 2];
+           e = i + 10 | 0;
+           break s;
+          }
+          e = q[b >> 2];
+          if (!e) {
+           break q;
+          }
+          e = c + e | 0;
+         }
+         e = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+         e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+         break p;
+        }
+        f = 85;
+        break a;
+       }
+       e = 0;
+      }
+      h = e;
+      e = c + 4 | 0;
+      q[b + 8 >> 2] = e;
+      t : {
+       u : {
+        v : {
+         if (c + 7 >>> 0 >= g >>> 0) {
+          break v;
+         }
+         c = q[b + 20 >> 2];
+         w : {
+          if (c) {
+           if ((n[c](b, e, i + 10 | 0, 4) | 0) != 4) {
+            break v;
+           }
+           e = q[b + 8 >> 2];
+           c = i + 10 | 0;
+           break w;
+          }
+          c = q[b >> 2];
+          if (!c) {
+           break u;
+          }
+          c = c + e | 0;
+         }
+         c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+         c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+         break t;
+        }
+        f = 85;
+        break a;
+       }
+       c = 0;
+      }
+      e = e + 4 | 0;
+      q[b + 8 >> 2] = e;
+      x : {
+       y : {
+        if ((j | 0) != 1415139377) {
+         if ((j | 0) != 1128875040) {
+          break y;
+         }
+         c = c + -22 | 0;
+         h = h + 22 | 0;
+         s = 1;
+         if ((l | 0) < 0) {
+          break x;
+         }
+         m = m + 1 | 0;
+         break y;
+        }
+        c = c + -24 | 0;
+        h = h + 24 | 0;
+        s = 0;
+        if ((l | 0) < 0) {
+         break x;
+        }
+        m = m + 1 | 0;
+       }
+       if ((l | 0) == (m | 0) ? (l | 0) >= 0 : 0) {
+        break x;
+       }
+       u = u + 1 | 0;
+       if ((u | 0) == (p | 0)) {
+        break a;
+       }
+       continue;
+      }
+      break;
+     }
+     f = 8;
+     e = q[b + 4 >> 2];
+     if (e >>> 0 < h >>> 0 | c >>> 0 > e - h >>> 0) {
+      break a;
+     }
+     g = h + k | 0;
+     h = q[b + 20 >> 2];
+     z : {
+      if (h) {
+       f = 85;
+       if (!n[h](b, g, 0, 0)) {
+        break z;
+       }
+       break a;
+      }
+      f = 85;
+      if (e >>> 0 < g >>> 0) {
+       break a;
+      }
+     }
+     q[b + 8 >> 2] = g;
+     e = 0;
+     A : {
+      if ((c | 0) <= 0) {
+       f = 6;
+       if (!c) {
+        break A;
+       }
+       break a;
+      }
+      e = n[q[o + 4 >> 2]](o, c) | 0;
+      if (!e) {
+       f = 64;
+       break a;
+      }
+      Z$(e, 0, c);
+      g = q[b + 8 >> 2];
+     }
+     B : {
+      f = q[b + 4 >> 2];
+      if (f >>> 0 > g >>> 0) {
+       h = q[b + 20 >> 2];
+       C : {
+        if (h) {
+         f = n[h](b, g, e, c) | 0;
+         break C;
+        }
+        f = f - g | 0;
+        f = f >>> 0 > c >>> 0 ? c : f;
+        Y$(e, q[b >> 2] + g | 0, f);
+       }
+       q[b + 8 >> 2] = f + g;
+       if (f >>> 0 >= c >>> 0) {
+        break B;
+       }
+      }
+      f = 85;
+      if (!e) {
+       break a;
+      }
+      n[q[o + 8 >> 2]](o, e);
+      break a;
+     }
+     g = bh(a, e, c, l >> 31 & l, s ? 4008 : 4012, d);
+     f = g;
+     if ((f & 255) != 2) {
+      break a;
+     }
+    }
+    a = q[b + 20 >> 2];
+    D : {
+     if (a) {
+      f = 85;
+      if (!n[a](b, k, 0, 0)) {
+       break D;
+      }
+      break a;
+     }
+     f = 85;
+     if (t[b + 4 >> 2] < k >>> 0) {
+      break a;
+     }
+    }
+    q[b + 8 >> 2] = k;
+    f = g;
+    break a;
+   }
+   f = 85;
+   break a;
+  }
+  f = 85;
+ }
+ Ca = i + 16 | 0;
+ return f;
+}
+function Nz(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0;
+ f = Ca - 48 | 0;
+ Ca = f;
+ e = q[a + 24 >> 2];
+ if (e >>> 0 >= 6) {
+  p = a + 128 | 0;
+  d = 6;
+  while (1) {
+   i = n;
+   n = d;
+   d = p;
+   c = q[d + 12 >> 2];
+   q[f + 40 >> 2] = q[d + 8 >> 2];
+   q[f + 44 >> 2] = c;
+   c = q[d + 4 >> 2];
+   q[f + 32 >> 2] = q[d >> 2];
+   q[f + 36 >> 2] = c;
+   if (e >>> 0 <= i >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   k = q[a + 32 >> 2];
+   a : {
+    if (k >>> 0 <= i >>> 0) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break a;
+    }
+    d = q[a + 36 >> 2] + (i << 5) | 0;
+   }
+   l = r[a + 176 | 0];
+   b : {
+    if (!l) {
+     break b;
+    }
+    c = q[d + 20 >> 2];
+    if (!c | (c | 0) != q[a + 168 >> 2]) {
+     break b;
+    }
+    h = q[d + 24 >> 2];
+    j = q[a + 172 >> 2];
+    g = v[d >> 3];
+    e = 0;
+    while (1) {
+     g = g + v[h + (e << 3) >> 3] * +u[j + (e << 2) >> 2];
+     e = e + 1 | 0;
+     if ((c | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = g;
+    if (q[d + 16 >> 2] < 0) {
+     break b;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   c = i | 1;
+   if (t[a + 24 >> 2] <= c >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   c : {
+    if (k >>> 0 <= c >>> 0) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break c;
+    }
+    c = q[a + 36 >> 2] + (c << 5) | 0;
+   }
+   d : {
+    if (!l) {
+     break d;
+    }
+    h = q[c + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break d;
+    }
+    j = q[c + 24 >> 2];
+    m = q[a + 172 >> 2];
+    g = v[c >> 3];
+    e = 0;
+    while (1) {
+     g = g + v[j + (e << 3) >> 3] * +u[m + (e << 2) >> 2];
+     e = e + 1 | 0;
+     if ((h | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break d;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   v[f + 32 >> 3] = v[f + 32 >> 3] + v[d >> 3];
+   v[f + 40 >> 3] = v[f + 40 >> 3] + v[c >> 3];
+   d = q[f + 44 >> 2];
+   q[f + 24 >> 2] = q[f + 40 >> 2];
+   q[f + 28 >> 2] = d;
+   d = q[f + 36 >> 2];
+   q[f + 16 >> 2] = q[f + 32 >> 2];
+   q[f + 20 >> 2] = d;
+   d = i + 2 | 0;
+   if (t[a + 24 >> 2] <= d >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   e : {
+    if (k >>> 0 <= d >>> 0) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break e;
+    }
+    d = q[a + 36 >> 2] + (d << 5) | 0;
+   }
+   f : {
+    if (!l) {
+     break f;
+    }
+    c = q[d + 20 >> 2];
+    if (!c | (c | 0) != q[a + 168 >> 2]) {
+     break f;
+    }
+    h = q[d + 24 >> 2];
+    j = q[a + 172 >> 2];
+    g = v[d >> 3];
+    e = 0;
+    while (1) {
+     g = g + v[h + (e << 3) >> 3] * +u[j + (e << 2) >> 2];
+     e = e + 1 | 0;
+     if ((c | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = g;
+    if (q[d + 16 >> 2] < 0) {
+     break f;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   c = i + 3 | 0;
+   if (t[a + 24 >> 2] <= c >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   g : {
+    if (k >>> 0 <= c >>> 0) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break g;
+    }
+    c = q[a + 36 >> 2] + (c << 5) | 0;
+   }
+   h : {
+    if (!l) {
+     break h;
+    }
+    h = q[c + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break h;
+    }
+    j = q[c + 24 >> 2];
+    m = q[a + 172 >> 2];
+    g = v[c >> 3];
+    e = 0;
+    while (1) {
+     g = g + v[j + (e << 3) >> 3] * +u[m + (e << 2) >> 2];
+     e = e + 1 | 0;
+     if ((h | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break h;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   v[f + 16 >> 3] = v[f + 16 >> 3] + v[d >> 3];
+   v[f + 24 >> 3] = v[f + 24 >> 3] + v[c >> 3];
+   d = q[f + 28 >> 2];
+   q[f + 8 >> 2] = q[f + 24 >> 2];
+   q[f + 12 >> 2] = d;
+   d = q[f + 20 >> 2];
+   q[f >> 2] = q[f + 16 >> 2];
+   q[f + 4 >> 2] = d;
+   d = i + 4 | 0;
+   if (t[a + 24 >> 2] <= d >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   i : {
+    if (k >>> 0 <= d >>> 0) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break i;
+    }
+    d = q[a + 36 >> 2] + (d << 5) | 0;
+   }
+   j : {
+    if (!l) {
+     break j;
+    }
+    c = q[d + 20 >> 2];
+    if (!c | (c | 0) != q[a + 168 >> 2]) {
+     break j;
+    }
+    h = q[d + 24 >> 2];
+    j = q[a + 172 >> 2];
+    g = v[d >> 3];
+    e = 0;
+    while (1) {
+     g = g + v[h + (e << 3) >> 3] * +u[j + (e << 2) >> 2];
+     e = e + 1 | 0;
+     if ((c | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = g;
+    if (q[d + 16 >> 2] < 0) {
+     break j;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   c = i + 5 | 0;
+   if (t[a + 24 >> 2] <= c >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   k : {
+    if (k >>> 0 <= c >>> 0) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break k;
+    }
+    c = q[a + 36 >> 2] + (c << 5) | 0;
+   }
+   l : {
+    if (!l) {
+     break l;
+    }
+    i = q[c + 20 >> 2];
+    if (!i | (i | 0) != q[a + 168 >> 2]) {
+     break l;
+    }
+    k = q[c + 24 >> 2];
+    l = q[a + 172 >> 2];
+    g = v[c >> 3];
+    e = 0;
+    while (1) {
+     g = g + v[k + (e << 3) >> 3] * +u[l + (e << 2) >> 2];
+     e = e + 1 | 0;
+     if ((i | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = g;
+    if (q[c + 16 >> 2] < 0) {
+     break l;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   v[f >> 3] = v[f >> 3] + v[d >> 3];
+   v[f + 8 >> 3] = v[f + 8 >> 3] + v[c >> 3];
+   uz(a, b, f + 32 | 0, f + 16 | 0, f);
+   d = n + 6 | 0;
+   e = q[a + 24 >> 2];
+   if (d >>> 0 <= e >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = f + 48 | 0;
+}
+function we(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, t = 0, u = 0;
+ e = 35;
+ a : {
+  if (!a | !q[a + 88 >> 2]) {
+   break a;
+  }
+  d = q[a + 84 >> 2];
+  if (!d) {
+   break a;
+  }
+  b : {
+   c : {
+    e = q[d + 156 >> 2];
+    if (!e) {
+     break c;
+    }
+    f = q[e + 4 >> 2];
+    if (!(f & 1)) {
+     break c;
+    }
+    g = q[d + 88 >> 2];
+    if (g) {
+     e = q[q[d + 4 >> 2] + 100 >> 2];
+     n[q[e + 8 >> 2]](e, g);
+     e = q[d + 156 >> 2];
+     f = q[e + 4 >> 2];
+    }
+    q[d + 88 >> 2] = 0;
+    q[e + 4 >> 2] = f & -2;
+    break b;
+   }
+   q[d + 88 >> 2] = 0;
+  }
+  q[d + 24 >> 2] = 0;
+  q[d + 28 >> 2] = 0;
+  q[d + 72 >> 2] = 0;
+  q[d + 76 >> 2] = 0;
+  q[d + 100 >> 2] = 0;
+  q[d + 104 >> 2] = 0;
+  o[d + 94 | 0] = 0;
+  q[d + 32 >> 2] = 0;
+  q[d + 36 >> 2] = 0;
+  q[d + 40 >> 2] = 0;
+  q[d + 44 >> 2] = 0;
+  q[d + 48 >> 2] = 0;
+  q[d + 52 >> 2] = 0;
+  q[d + 56 >> 2] = 0;
+  q[d + 60 >> 2] = 0;
+  q[d + 80 >> 2] = 0;
+  q[d + 84 >> 2] = 0;
+  q[d + 108 >> 2] = 0;
+  q[d + 112 >> 2] = 0;
+  q[d + 116 >> 2] = 0;
+  q[d + 120 >> 2] = 0;
+  q[d + 124 >> 2] = 0;
+  q[d + 128 >> 2] = 0;
+  q[d + 132 >> 2] = 0;
+  q[d + 136 >> 2] = 0;
+  q[d + 140 >> 2] = 0;
+  q[d + 144 >> 2] = 0;
+  q[d + 148 >> 2] = 0;
+  q[d + 152 >> 2] = 0;
+  k = d + 72 | 0;
+  e = q[a + 96 >> 2];
+  d : {
+   e : {
+    c = c & 1024 ? c | 2049 : c;
+    c = c & 1 ? c & -15 | 10 : c;
+    h = c & 4194304 ? c & -5 : c;
+    if (h & 32770) {
+     break e;
+    }
+    g = q[q[e + 4 >> 2] + 160 >> 2];
+    if (!g) {
+     break e;
+    }
+    c = q[a + 8 >> 2];
+    if ((c & 8193) != 1) {
+     break e;
+    }
+    f : {
+     if (h & 2048) {
+      break f;
+     }
+     i = q[a + 128 >> 2];
+     f = q[i >> 2];
+     if (!q[i + 8 >> 2]) {
+      if (f) {
+       break f;
+      }
+      break e;
+     }
+     if (f) {
+      break e;
+     }
+    }
+    g : {
+     if (h & 32) {
+      break g;
+     }
+     f = q[e >> 2];
+     if (!(r[f + 1 | 0] & 4)) {
+      break g;
+     }
+     c = 0;
+     f = q[f + 32 >> 2];
+     if (f) {
+      f = n[f](e, 3762) | 0;
+     } else {
+      f = 0;
+     }
+     if (UY(f, 3774)) {
+      c = q[e + 28 >> 2] == 1;
+     }
+     if (!(c | (r[q[e >> 2] + 1 | 0] & 8) >>> 3 | (h & 983040) != 65536)) {
+      c = q[a + 8 >> 2];
+      break g;
+     }
+     c = q[a + 8 >> 2];
+     if (!(c & 8) | !q[a + 760 >> 2] | (s[a + 286 >> 1] | q[a + 684 >> 2])) {
+      break e;
+     }
+     if (q[a + 692 >> 2]) {
+      break e;
+     }
+    }
+    h : {
+     if (!(c & 2) | h & 8) {
+      break h;
+     }
+     if (n[q[q[e + 12 >> 2] + 72 >> 2]](d, q[a + 88 >> 2], b, h | 16384)) {
+      break h;
+     }
+     if (q[k >> 2] == 1651078259) {
+      break d;
+     }
+    }
+    c = q[a + 128 >> 2];
+    e = q[c + 24 >> 2];
+    q[c + 24 >> 2] = 0;
+    l = n[q[q[q[g >> 2] + 20 >> 2] + 12 >> 2]](g, d, q[a + 88 >> 2], b, h) | 0;
+    q[c + 24 >> 2] = e;
+    break d;
+   }
+   e = n[q[q[e + 12 >> 2] + 72 >> 2]](d, q[a + 88 >> 2], b, h) | 0;
+   if (e) {
+    break a;
+   }
+   if (q[k >> 2] != 1869968492) {
+    break d;
+   }
+   j = p[d + 108 >> 1];
+   i = p[d + 110 >> 1];
+   if ((j | i) & 65535) {
+    e = 6;
+    if ((i | 0) < 1 | (j | 0) < 1) {
+     break a;
+    }
+    m = q[d + 120 >> 2];
+    c = -1;
+    f = 0;
+    while (1) {
+     g = p[(f << 1) + m >> 1];
+     if ((g | 0) >= (i | 0) | (c | 0) >= (g | 0)) {
+      break a;
+     }
+     c = g;
+     f = f + 1 | 0;
+     if ((j | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    if ((g | 0) != (i + -1 | 0)) {
+     break a;
+    }
+   }
+   if (h & 2) {
+    break d;
+   }
+   c = d;
+   i : {
+    if (h & 16) {
+     e = d + 32 | 0;
+     q[e >> 2] = q[e >> 2] & -64;
+     g = d + 44 | 0;
+     f = q[g >> 2];
+     e = f & -64;
+     q[g >> 2] = e;
+     i = d + 48 | 0;
+     j = q[i >> 2];
+     g = j & -64;
+     q[i >> 2] = g;
+     i = d + 36 | 0;
+     q[i >> 2] = q[i >> 2] + 63 & -64;
+     q[d + 24 >> 2] = ((f + q[d + 24 >> 2] | 0) + 63 & -64) - e;
+     e = ((j + q[d + 28 >> 2] | 0) + 63 & -64) - g | 0;
+     break i;
+    }
+    e = d + 44 | 0;
+    q[e >> 2] = q[e >> 2] & -64;
+    e = d + 48 | 0;
+    q[e >> 2] = q[e >> 2] & -64;
+    g = d + 32 | 0;
+    f = q[g >> 2];
+    e = f & -64;
+    q[g >> 2] = e;
+    i = d + 36 | 0;
+    j = q[i >> 2];
+    g = j + 63 & -64;
+    q[i >> 2] = g;
+    q[d + 24 >> 2] = ((f + q[d + 24 >> 2] | 0) + 63 & -64) - e;
+    e = g - (j - q[d + 28 >> 2] & -64) | 0;
+   }
+   q[c + 28 >> 2] = e;
+   c = d + 40 | 0;
+   q[c >> 2] = q[c >> 2] + 32 & -64;
+   c = d + 52 | 0;
+   q[c >> 2] = q[c >> 2] + 32 & -64;
+  }
+  j : {
+   if (h & 16) {
+    f = 0;
+    c = q[d + 52 >> 2];
+    break j;
+   }
+   f = q[d + 40 >> 2];
+   c = 0;
+  }
+  q[d + 64 >> 2] = f;
+  q[d + 68 >> 2] = c;
+  if (!(!(o[a + 8 | 0] & 1) | h & 8192)) {
+   c = q[a + 88 >> 2];
+   t = d, u = ue(q[d + 56 >> 2], q[c + 16 >> 2], 64), q[t + 56 >> 2] = u;
+   t = d, u = ue(q[d + 60 >> 2], q[c + 20 >> 2], 64), q[t + 60 >> 2] = u;
+  }
+  k : {
+   if (h & 2048) {
+    e = l;
+    break k;
+   }
+   g = q[a + 128 >> 2];
+   c = q[g + 24 >> 2];
+   if (!c) {
+    e = l;
+    break k;
+   }
+   l : {
+    m : {
+     a = q[q[q[d + 4 >> 2] + 96 >> 2] + 4 >> 2];
+     e = q[a + 156 >> 2];
+     n : {
+      o : {
+       if (!e) {
+        f = q[k >> 2];
+        break o;
+       }
+       f = q[k >> 2];
+       if ((f | 0) == q[e + 16 >> 2]) {
+        break n;
+       }
+      }
+      if (!a) {
+       break m;
+      }
+      a = q[a + 148 >> 2];
+      if (!a) {
+       break m;
+      }
+      while (1) {
+       e = q[a + 8 >> 2];
+       if (q[e + 16 >> 2] != (f | 0)) {
+        a = q[a + 4 >> 2];
+        if (a) {
+         continue;
+        }
+        break m;
+       }
+       break;
+      }
+      if (!e) {
+       break m;
+      }
+     }
+     e = n[q[q[e + 12 >> 2] + 44 >> 2]](e, d, g, g + 16 | 0) | 0;
+     break l;
+    }
+    p : {
+     if ((f | 0) != 1869968492) {
+      break p;
+     }
+     q : {
+      if (!(c & 1) | !g) {
+       break q;
+      }
+      a = q[d + 112 >> 2];
+      if (!a) {
+       break q;
+      }
+      e = p[d + 110 >> 1];
+      if ((e | 0) < 1) {
+       break q;
+      }
+      c = (e << 3) + a | 0;
+      while (1) {
+       xe(a, g);
+       a = a + 8 | 0;
+       if (a >>> 0 < c >>> 0) {
+        continue;
+       }
+       break;
+      }
+      c = q[g + 24 >> 2];
+     }
+     if (!(c & 2)) {
+      break p;
+     }
+     c = p[d + 110 >> 1];
+     if ((c | 0) < 1) {
+      break p;
+     }
+     f = q[g + 20 >> 2];
+     i = q[g + 16 >> 2];
+     a = q[d + 112 >> 2];
+     e = 0;
+     while (1) {
+      q[a >> 2] = i + q[a >> 2];
+      q[a + 4 >> 2] = f + q[a + 4 >> 2];
+      a = a + 8 | 0;
+      e = e + 1 | 0;
+      if ((e & 65535) >>> 0 < (c & 65535) >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    e = l;
+   }
+   xe(d - -64 | 0, g);
+  }
+  q[d + 12 >> 2] = b;
+  q[q[d + 156 >> 2] + 40 >> 2] = h;
+  if (e) {
+   break a;
+  }
+  e = 0;
+  if (h & 1) {
+   break a;
+  }
+  a = q[k >> 2];
+  if ((a | 0) == 1651078259 | (a | 0) == 1668246896) {
+   break a;
+  }
+  a = h >>> 16 & 15;
+  a = a ? a : h >>> 11 & 2;
+  if (h & 4) {
+   b = q[d + 4 >> 2];
+   if (!b) {
+    return 6;
+   }
+   return ye(q[q[b + 96 >> 2] + 4 >> 2], d, a);
+  }
+  ze(d, a, 0);
+ }
+ return e;
+}
+function xE(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ l = w(b, c) + a | 0;
+ if (b >>> 0 >= 10) {
+  m = 0 - c | 0;
+  while (1) {
+   j = w(b + -1 | 0, c);
+   k = j + a | 0;
+   e = k + m | 0;
+   d = a + c | 0;
+   g = q[d >> 2];
+   f = w(b >>> 1 | 0, c) + a | 0;
+   b = q[f >> 2];
+   a : {
+    if ((g | 0) != (b | 0)) {
+     b = (g | 0) < (b | 0) ? -1 : 1;
+     break a;
+    }
+    g = q[d + 8 >> 2];
+    h = q[f + 8 >> 2];
+    b = -1;
+    if (g >>> 0 < h >>> 0) {
+     break a;
+    }
+    b = g >>> 0 > h >>> 0;
+   }
+   h = (b | 0) > 0;
+   b = h ? d : f;
+   i = q[b >> 2];
+   g = q[e >> 2];
+   b : {
+    c : {
+     if ((i | 0) != (g | 0)) {
+      if ((i | 0) >= (g | 0)) {
+       break c;
+      }
+      break b;
+     }
+     if (t[b + 8 >> 2] <= t[e + 8 >> 2]) {
+      break b;
+     }
+    }
+    d = h ? f : d;
+    f = q[d >> 2];
+    d : {
+     if ((f | 0) != (g | 0)) {
+      b = e;
+      if ((f | 0) >= (g | 0)) {
+       break d;
+      }
+      break b;
+     }
+     b = e;
+     if (t[d + 8 >> 2] <= t[b + 8 >> 2]) {
+      break b;
+     }
+    }
+    b = d;
+   }
+   if (!((b | 0) == (k | 0) | (c | 0) < 1)) {
+    e = b + c | 0;
+    d = k;
+    while (1) {
+     f = r[b | 0];
+     o[b | 0] = r[d | 0];
+     o[d | 0] = f;
+     d = d + 1 | 0;
+     b = b + 1 | 0;
+     if (b >>> 0 < e >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   e : {
+    if ((j | 0) < 1) {
+     e = k;
+     g = e;
+     f = a;
+     break e;
+    }
+    g = k;
+    e = g;
+    f = a;
+    i = f;
+    while (1) {
+     if (i >>> 0 >= e >>> 0) {
+      break e;
+     }
+     while (1) {
+      f : {
+       b = q[k >> 2];
+       d = q[i >> 2];
+       g : {
+        if ((b | 0) != (d | 0)) {
+         if ((d | 0) < (b | 0)) {
+          break g;
+         }
+         break f;
+        }
+        j = q[i + 8 >> 2];
+        h = q[k + 8 >> 2];
+        if (j >>> 0 < h >>> 0) {
+         break g;
+        }
+        if (j >>> 0 > h >>> 0) {
+         break f;
+        }
+        h : {
+         if ((c | 0) < 1 | f >>> 0 >= i >>> 0) {
+          break h;
+         }
+         b = r[f | 0];
+         o[f | 0] = d;
+         o[i | 0] = b;
+         if ((c | 0) == 1) {
+          break h;
+         }
+         j = c + f | 0;
+         b = f + 1 | 0;
+         d = i;
+         while (1) {
+          h = r[b | 0];
+          o[b | 0] = r[d + 1 | 0];
+          o[d + 1 | 0] = h;
+          d = d + 1 | 0;
+          b = b + 1 | 0;
+          if (b >>> 0 < j >>> 0) {
+           continue;
+          }
+          break;
+         }
+        }
+        f = c + f | 0;
+       }
+       i = c + i | 0;
+       if (i >>> 0 < e >>> 0) {
+        continue;
+       }
+       break e;
+      }
+      break;
+     }
+     j = e;
+     i : {
+      if (i >>> 0 >= e >>> 0) {
+       break i;
+      }
+      while (1) {
+       j : {
+        e = j + m | 0;
+        d = q[e >> 2];
+        k : {
+         if ((d | 0) != (b | 0)) {
+          if ((d | 0) >= (b | 0)) {
+           break k;
+          }
+          break j;
+         }
+         b = q[e + 8 >> 2];
+         h = q[k + 8 >> 2];
+         if (b >>> 0 < h >>> 0) {
+          break j;
+         }
+         if (b >>> 0 > h >>> 0) {
+          break k;
+         }
+         h = g + m | 0;
+         l : {
+          if ((c | 0) < 1 | j >>> 0 >= g >>> 0) {
+           break l;
+          }
+          o[e | 0] = r[h | 0];
+          o[h | 0] = d;
+          b = h;
+          d = e + 1 | 0;
+          if (d >>> 0 >= j >>> 0) {
+           break l;
+          }
+          while (1) {
+           g = r[d | 0];
+           o[d | 0] = r[b + 1 | 0];
+           o[b + 1 | 0] = g;
+           b = b + 1 | 0;
+           d = d + 1 | 0;
+           if (d >>> 0 < j >>> 0) {
+            continue;
+           }
+           break;
+          }
+         }
+         g = h;
+        }
+        if (i >>> 0 >= e >>> 0) {
+         break i;
+        }
+        b = q[k >> 2];
+        j = e;
+        continue;
+       }
+       break;
+      }
+      m : {
+       if ((c | 0) < 1 | i >>> 0 >= e >>> 0) {
+        break m;
+       }
+       b = r[i | 0];
+       o[i | 0] = d;
+       o[e | 0] = b;
+       if ((c | 0) == 1) {
+        break m;
+       }
+       j = c + i | 0;
+       b = i + 1 | 0;
+       d = e;
+       while (1) {
+        h = r[b | 0];
+        o[b | 0] = r[d + 1 | 0];
+        o[d + 1 | 0] = h;
+        d = d + 1 | 0;
+        b = b + 1 | 0;
+        if (b >>> 0 < j >>> 0) {
+         continue;
+        }
+        break;
+       }
+      }
+      i = c + i | 0;
+     }
+     if (i >>> 0 < e >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = f - a | 0;
+   k = e - f | 0;
+   n : {
+    if (!b | !k) {
+     break n;
+    }
+    if (b >>> 0 > k >>> 0) {
+     if ((k | 0) < 1) {
+      break n;
+     }
+     d = a + k | 0;
+     b = a;
+     while (1) {
+      j = r[b | 0];
+      o[b | 0] = r[f | 0];
+      o[f | 0] = j;
+      f = f + 1 | 0;
+      b = b + 1 | 0;
+      if (b >>> 0 < d >>> 0) {
+       continue;
+      }
+      break;
+     }
+     break n;
+    }
+    if ((b | 0) < 1) {
+     break n;
+    }
+    b = a + k | 0;
+    d = a;
+    while (1) {
+     j = r[d | 0];
+     o[d | 0] = r[b | 0];
+     o[b | 0] = j;
+     b = b + 1 | 0;
+     d = d + 1 | 0;
+     if (d >>> 0 < f >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   d = g - e | 0;
+   o : {
+    if (!d) {
+     break o;
+    }
+    b = l - g | 0;
+    if (!b) {
+     break o;
+    }
+    if (d >>> 0 > b >>> 0) {
+     if ((b | 0) < 1) {
+      break o;
+     }
+     b = b + e | 0;
+     while (1) {
+      f = r[e | 0];
+      o[e | 0] = r[g | 0];
+      o[g | 0] = f;
+      g = g + 1 | 0;
+      e = e + 1 | 0;
+      if (e >>> 0 < b >>> 0) {
+       continue;
+      }
+      break;
+     }
+     break o;
+    }
+    if ((d | 0) < 1) {
+     break o;
+    }
+    b = b + e | 0;
+    while (1) {
+     f = r[e | 0];
+     o[e | 0] = r[b | 0];
+     o[b | 0] = f;
+     b = b + 1 | 0;
+     e = e + 1 | 0;
+     if (e >>> 0 < g >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   xE(a, (k >>> 0) / (c >>> 0) | 0, c);
+   a = l - d | 0;
+   b = (d >>> 0) / (c >>> 0) | 0;
+   l = a + w(c, b) | 0;
+   if (b >>> 0 >= 10) {
+    continue;
+   }
+   break;
+  }
+ }
+ g = a + c | 0;
+ if (g >>> 0 < l >>> 0) {
+  k = 0 - c | 0;
+  j = (c | 0) < 1;
+  while (1) {
+   f = g;
+   p : {
+    if (f >>> 0 <= a >>> 0) {
+     break p;
+    }
+    while (1) {
+     e = f;
+     f = e + k | 0;
+     b = q[f >> 2];
+     d = q[e >> 2];
+     q : {
+      if ((b | 0) != (d | 0)) {
+       if ((b | 0) >= (d | 0)) {
+        break q;
+       }
+       break p;
+      }
+      if (t[f + 8 >> 2] <= t[e + 8 >> 2]) {
+       break p;
+      }
+     }
+     r : {
+      if (j) {
+       break r;
+      }
+      o[f | 0] = d;
+      o[e | 0] = b;
+      d = f + 1 | 0;
+      b = e;
+      if (d >>> 0 >= b >>> 0) {
+       break r;
+      }
+      while (1) {
+       h = r[d | 0];
+       o[d | 0] = r[b + 1 | 0];
+       o[b + 1 | 0] = h;
+       b = b + 1 | 0;
+       d = d + 1 | 0;
+       if ((e | 0) != (d | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (f >>> 0 > a >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   g = c + g | 0;
+   if (g >>> 0 < l >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Rt(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0;
+ p = Ca - 176 | 0;
+ Ca = p;
+ f = Mt(p + 24 | 0, 1, d, e);
+ q[f + 100 >> 2] = 432;
+ a : {
+  g = q[a + 68 >> 2];
+  if (g) {
+   while (1) {
+    u = 271040;
+    u = g >>> 0 > y >>> 0 ? q[a + 72 >> 2] + (y << 3) | 0 : u;
+    if (l >>> 0 < t[u >> 2]) {
+     while (1) {
+      g = p;
+      if (t[a + 44 >> 2] <= l >>> 0) {
+       h = 271040;
+      } else {
+       h = q[a + 48 >> 2] + (l << 3) | 0;
+      }
+      v = s[h >> 1];
+      q[g + 16 >> 2] = v;
+      if (Ot(e, d, 228813, p + 16 | 0)) {
+       q[f + 124 >> 2] = v;
+       i = t[a + 44 >> 2] <= l >>> 0;
+       if (i) {
+        g = 271040;
+       } else {
+        g = q[a + 48 >> 2] + (l << 3) | 0;
+       }
+       h = q[g + 4 >> 2];
+       q[f + 32 >> 2] = 0;
+       q[f + 116 >> 2] = h;
+       q[f + 24 >> 2] = 0;
+       q[f + 28 >> 2] = 0;
+       g = q[f + 128 >> 2];
+       q[f + 8 >> 2] = g;
+       q[f + 76 >> 2] = 0;
+       q[f + 16 >> 2] = h;
+       o[f + 13 | 0] = r[f + 142 | 0];
+       q[f + 68 >> 2] = 0;
+       q[f + 72 >> 2] = 0;
+       q[f + 52 >> 2] = g;
+       q[f + 60 >> 2] = -1;
+       o[f + 57 | 0] = 1;
+       j = q[f + 120 >> 2] == 1;
+       o[f + 12 | 0] = j;
+       m = j | r[f + 141 | 0] != 0;
+       o[f + 56 | 0] = m;
+       q[f + 4 >> 2] = f;
+       q[f + 48 >> 2] = f;
+       k = r[(i ? 271040 : q[a + 48 >> 2] + (l << 3) | 0) + 2 | 0];
+       q[f + 32 >> 2] = 0;
+       q[f + 24 >> 2] = 0;
+       q[f + 28 >> 2] = 0;
+       q[f + 76 >> 2] = 0;
+       q[f + 16 >> 2] = h;
+       o[f + 12 | 0] = j;
+       q[f + 8 >> 2] = g;
+       q[f + 68 >> 2] = 0;
+       q[f + 72 >> 2] = 0;
+       q[f + 60 >> 2] = -1;
+       o[f + 57 | 0] = 1;
+       o[f + 56 | 0] = m;
+       q[f + 52 >> 2] = g;
+       k = k >>> 1 & 1;
+       o[f + 142 | 0] = k;
+       o[f + 13 | 0] = k;
+       q[f + 4 >> 2] = f;
+       q[f + 48 >> 2] = f;
+       m = r[(i ? 271040 : q[a + 48 >> 2] + (l << 3) | 0) + 2 | 0];
+       q[f + 32 >> 2] = 0;
+       q[f + 24 >> 2] = 0;
+       q[f + 28 >> 2] = 0;
+       q[f + 76 >> 2] = 0;
+       q[f + 16 >> 2] = h;
+       o[f + 13 | 0] = k;
+       o[f + 12 | 0] = j;
+       q[f + 8 >> 2] = g;
+       q[f + 68 >> 2] = 0;
+       q[f + 72 >> 2] = 0;
+       q[f + 60 >> 2] = -1;
+       o[f + 57 | 0] = 1;
+       q[f + 52 >> 2] = g;
+       g = m & 1;
+       o[f + 141 | 0] = g;
+       o[f + 56 | 0] = g | j;
+       q[f + 4 >> 2] = f;
+       q[f + 48 >> 2] = f;
+       if (r[(i ? 271040 : q[a + 48 >> 2] + (l << 3) | 0) + 2 | 0] & 4) {
+        o[f + 143 | 0] = 1;
+        DG(e, 0, q[e + 76 >> 2]);
+       }
+       h = 271040;
+       g = q[b >> 2];
+       j = r[g + 9 | 0] | r[g + 8 | 0] << 8;
+       g = j ? g + j | 0 : 271040;
+       if ((r[g | 0] << 8 | r[g + 1 | 0]) >>> 0 > v >>> 0) {
+        h = g;
+        g = g + (v << 1) | 0;
+        g = r[g + 2 | 0] << 8 | r[g + 3 | 0];
+        h = g ? h + g | 0 : 271040;
+       }
+       g = q[f + 96 >> 2];
+       b : {
+        if (!q[g + 76 >> 2]) {
+         break b;
+        }
+        i = q[f + 116 >> 2];
+        if (!i) {
+         break b;
+        }
+        k = q[b + 4 >> 2];
+        m = r[h + 3 | 0];
+        j = m | r[h + 2 | 0] << 8;
+        if (m & 16) {
+         h = (h + 4 | 0) + (r[h + 5 | 0] << 1 | r[h + 4 | 0] << 9) | 0;
+         j = r[h + 2 | 0] << 24 | j | r[h + 3 | 0] << 16;
+        }
+        h = 0;
+        q[f + 32 >> 2] = 0;
+        q[f + 128 >> 2] = j;
+        q[f + 24 >> 2] = 0;
+        q[f + 28 >> 2] = 0;
+        q[f + 8 >> 2] = j;
+        q[f + 76 >> 2] = 0;
+        q[f + 16 >> 2] = i;
+        q[f + 68 >> 2] = 0;
+        q[f + 72 >> 2] = 0;
+        q[f + 52 >> 2] = j;
+        q[f + 60 >> 2] = -1;
+        o[f + 57 | 0] = 1;
+        o[f + 13 | 0] = r[f + 142 | 0];
+        j = q[f + 120 >> 2] == 1;
+        o[f + 12 | 0] = j;
+        o[f + 56 | 0] = j | r[f + 141 | 0] != 0;
+        q[f + 4 >> 2] = f;
+        q[f + 48 >> 2] = f;
+        q[g + 72 >> 2] = 0;
+        j = k + w(v, 24) | 0;
+        A = j + 20 | 0;
+        m = j + 16 | 0;
+        B = j + 8 | 0;
+        C = j + 4 | 0;
+        z = 0;
+        while (1) {
+         if (r[g + 68 | 0]) {
+          i = q[g + 88 >> 2] + w(h, 20) | 0;
+          h = q[i >> 2];
+          c : {
+           d : {
+            if (!(q[j >> 2] >>> (h >>> 4 & 31) & 1) | !(q[C >> 2] >>> (h & 31) & 1) | (!(q[B >> 2] >>> (h >>> 9 & 31) & 1) | !(q[f + 116 >> 2] & q[i + 4 >> 2]))) {
+             break d;
+            }
+            k = q[f + 128 >> 2];
+            i = s[i + 12 >> 1];
+            if (k & i & 14) {
+             break d;
+            }
+            if (i & 8) {
+             if (!Pt(f, h, i, k)) {
+              break d;
+             }
+            }
+            h = 0;
+            k = q[m >> 2];
+            if (!k) {
+             break d;
+            }
+            while (1) {
+             i = k >>> 0 > h >>> 0 ? q[A >> 2] + w(h, 20) | 0 : 271040;
+             x = q[f + 96 >> 2];
+             x = q[q[x + 88 >> 2] + w(q[x + 72 >> 2], 20) >> 2];
+             if (!(!(q[i + 8 >> 2] >>> (x >>> 4 & 31) & 1) | !(q[i + 12 >> 2] >>> (x & 31) & 1) | !(q[i + 16 >> 2] >>> (x >>> 9 & 31) & 1))) {
+              if (n[q[i + 4 >> 2]](q[i >> 2], f)) {
+               z = 1;
+               break c;
+              }
+              k = q[m >> 2];
+             }
+             h = h + 1 | 0;
+             if (h >>> 0 < k >>> 0) {
+              continue;
+             }
+             break;
+            }
+           }
+           if (r[g + 69 | 0]) {
+            e : {
+             if (q[g + 92 >> 2] == q[g + 88 >> 2]) {
+              h = q[g + 80 >> 2];
+              if ((h | 0) == q[g + 72 >> 2]) {
+               break e;
+              }
+             }
+             if (!pG(g, 1, 1)) {
+              break c;
+             }
+             i = q[g + 88 >> 2] + w(q[g + 72 >> 2], 20) | 0;
+             k = q[i + 4 >> 2];
+             h = q[g + 92 >> 2] + w(q[g + 80 >> 2], 20) | 0;
+             q[h >> 2] = q[i >> 2];
+             q[h + 4 >> 2] = k;
+             q[h + 16 >> 2] = q[i + 16 >> 2];
+             k = q[i + 12 >> 2];
+             q[h + 8 >> 2] = q[i + 8 >> 2];
+             q[h + 12 >> 2] = k;
+             h = q[g + 80 >> 2];
+            }
+            q[g + 80 >> 2] = h + 1;
+           }
+           q[g + 72 >> 2] = q[g + 72 >> 2] + 1;
+          }
+          h = q[g + 72 >> 2];
+          if (h >>> 0 < t[g + 76 >> 2]) {
+           continue;
+          }
+         }
+         break;
+        }
+        if (!z) {
+         break b;
+        }
+        if (q[g + 88 >> 2] != q[g + 92 >> 2]) {
+         break a;
+        }
+       }
+       q[p >> 2] = v;
+       Ot(e, d, 228829, p);
+      }
+      l = l + 1 | 0;
+      if (l >>> 0 < t[u >> 2]) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (q[u + 4 >> 2]) {
+     sG(e);
+     n[q[u + 4 >> 2]](c, d, e);
+    }
+    y = y + 1 | 0;
+    g = q[a + 68 >> 2];
+    if (y >>> 0 < g >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  Ca = p + 176 | 0;
+  return;
+ }
+ J(228843, 228875, 1927, 228891);
+ F();
+}
+function Fm(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ j = Ca - 16 | 0;
+ Ca = j;
+ d = q[a + 72 >> 2];
+ m = q[a + 64 >> 2];
+ i = q[a + 68 >> 2];
+ a : {
+  if (!c) {
+   break a;
+  }
+  e = q[a >> 2];
+  if (e >>> 0 > 2) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        switch (e - 1 | 0) {
+        default:
+         if (yg(q[a + 164 >> 2], 2)) {
+          break f;
+         }
+         if ((Ig(q[a + 164 >> 2], j + 12 | 0, 1) | 0) != 1) {
+          break f;
+         }
+         f = r[j + 12 | 0];
+         q[a + 44 >> 2] = f & 128;
+         g = f & 31;
+         q[a + 40 >> 2] = g;
+         e = 1 << g;
+         q[a + 48 >> 2] = e + -256;
+         if (g >>> 0 > 16) {
+          break f;
+         }
+         q[a + 52 >> 2] = 9;
+         q[a + 56 >> 2] = f >>> 7;
+         q[a + 60 >> 2] = g >>> 0 > 9 ? 256 : e + -255 | 0;
+         d = 0;
+         e = Gm(a);
+         if (e >>> 0 > 255) {
+          break f;
+         }
+         if (b) {
+          o[b | 0] = e;
+         }
+         if (c >>> 0 < 2) {
+          break e;
+         }
+         n = 1;
+         q[a >> 2] = 1;
+         i = e;
+         m = e;
+         break;
+        case 1:
+         break d;
+        case 0:
+         break g;
+        }
+       }
+       e = 0;
+       break c;
+      }
+      break b;
+     }
+     n = 1;
+     i = e;
+     m = e;
+     break a;
+    }
+    e = 1;
+   }
+   while (1) {
+    if (!e) {
+     e = Gm(a);
+     if ((e | 0) < 0) {
+      break b;
+     }
+     h : {
+      i : {
+       j : {
+        while (1) {
+         if ((e | 0) != 256) {
+          break j;
+         }
+         if (!q[a + 44 >> 2]) {
+          break i;
+         }
+         o[a + 32 | 0] = 1;
+         m = 0;
+         q[a + 56 >> 2] = 0;
+         i = 0;
+         e = Gm(a);
+         if ((e | 0) >= 0) {
+          continue;
+         }
+         break;
+        }
+        break b;
+       }
+       f = e;
+       if (e >>> 0 < 256) {
+        break h;
+       }
+      }
+      f = e;
+      g = e + -256 | 0;
+      d = q[a + 56 >> 2];
+      if (g >>> 0 >= d >>> 0) {
+       if (g >>> 0 > d >>> 0) {
+        d = e;
+        break b;
+       }
+       d = q[a + 92 >> 2];
+       h = q[a + 96 >> 2];
+       k : {
+        if (d >>> 0 < h >>> 0) {
+         h = q[a + 88 >> 2];
+         break k;
+        }
+        f = ((h >>> 1 | 0) + h | 0) + 4 | 0;
+        g = q[a + 168 >> 2];
+        l : {
+         m : {
+          n : {
+           o : {
+            k = q[a + 88 >> 2];
+            if ((k | 0) != (a + 100 | 0)) {
+             d = 65536;
+             if (f >>> 0 > 65536) {
+              break o;
+             }
+             d = f;
+             break n;
+            }
+            k = 0;
+            q[a + 88 >> 2] = 0;
+            d = f >>> 0 < 65536 ? f : 65536;
+            h = 0;
+            break n;
+           }
+           if ((h | 0) == 65536) {
+            break m;
+           }
+          }
+          h = Te(g, 1, h, d, k, j + 12 | 0);
+          q[a + 88 >> 2] = h;
+          if (!q[j + 12 >> 2]) {
+           break l;
+          }
+         }
+         d = e;
+         break b;
+        }
+        q[a + 96 >> 2] = d;
+        d = q[a + 92 >> 2];
+       }
+       q[a + 92 >> 2] = d + 1;
+       o[d + h | 0] = i;
+       f = m;
+       if (f >>> 0 < 256) {
+        break h;
+       }
+      }
+      l = a + 100 | 0;
+      d = q[a + 76 >> 2];
+      while (1) {
+       if (!d) {
+        d = e;
+        break b;
+       }
+       d = q[a + 92 >> 2];
+       h = q[a + 96 >> 2];
+       p : {
+        if (d >>> 0 < h >>> 0) {
+         h = q[a + 88 >> 2];
+         break p;
+        }
+        d = ((h >>> 1 | 0) + h | 0) + 4 | 0;
+        g = q[a + 168 >> 2];
+        q : {
+         k = q[a + 88 >> 2];
+         r : {
+          s : {
+           if ((l | 0) != (k | 0)) {
+            if (d >>> 0 <= 65536) {
+             break s;
+            }
+            d = 65536;
+            if ((h | 0) == 65536) {
+             break r;
+            }
+            break s;
+           }
+           k = 0;
+           q[a + 88 >> 2] = 0;
+           d = d >>> 0 < 65536 ? d : 65536;
+           h = 0;
+          }
+          h = Te(g, 1, h, d, k, j + 12 | 0);
+          q[a + 88 >> 2] = h;
+          if (!q[j + 12 >> 2]) {
+           break q;
+          }
+         }
+         d = e;
+         break b;
+        }
+        q[a + 96 >> 2] = d;
+        d = q[a + 92 >> 2];
+       }
+       g = f + -256 | 0;
+       f = r[g + q[a + 80 >> 2] | 0];
+       q[a + 92 >> 2] = d + 1;
+       o[d + h | 0] = f;
+       d = q[a + 76 >> 2];
+       f = s[d + (g << 1) >> 1];
+       if (f >>> 0 > 255) {
+        continue;
+       }
+       break;
+      }
+     }
+     i = q[a + 92 >> 2];
+     d = q[a + 96 >> 2];
+     t : {
+      if (i >>> 0 < d >>> 0) {
+       d = q[a + 88 >> 2];
+       break t;
+      }
+      g = ((d >>> 1 | 0) + d | 0) + 4 | 0;
+      l = q[a + 168 >> 2];
+      u : {
+       v : {
+        w : {
+         x : {
+          k = q[a + 88 >> 2];
+          if ((k | 0) != (a + 100 | 0)) {
+           i = 65536;
+           if (g >>> 0 > 65536) {
+            break x;
+           }
+           i = g;
+           break w;
+          }
+          k = 0;
+          q[a + 88 >> 2] = 0;
+          i = g >>> 0 < 65536 ? g : 65536;
+          d = 0;
+          break w;
+         }
+         if ((d | 0) == 65536) {
+          break v;
+         }
+        }
+        d = Te(l, 1, d, i, k, j + 12 | 0);
+        q[a + 88 >> 2] = d;
+        if (!q[j + 12 >> 2]) {
+         break u;
+        }
+       }
+       i = f;
+       d = e;
+       break b;
+      }
+      q[a + 96 >> 2] = i;
+      i = q[a + 92 >> 2];
+     }
+     q[a + 92 >> 2] = i + 1;
+     o[d + i | 0] = f;
+     q[a >> 2] = 2;
+     i = f;
+     d = e;
+     e = 1;
+     continue;
+    }
+    y : {
+     while (1) {
+      e = q[a + 92 >> 2];
+      if (!e) {
+       break y;
+      }
+      e = e + -1 | 0;
+      q[a + 92 >> 2] = e;
+      if (b) {
+       o[b + n | 0] = r[e + q[a + 88 >> 2] | 0];
+      }
+      n = n + 1 | 0;
+      if ((n | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     n = c;
+     break a;
+    }
+    e = q[a + 56 >> 2];
+    if (e >>> 0 < t[a + 48 >> 2]) {
+     l = q[a + 84 >> 2];
+     if (e >>> 0 >= l >>> 0) {
+      g = l ? l + (l >>> 2 | 0) | 0 : 512;
+      f = Te(q[a + 168 >> 2], 3, l, g, q[a + 76 >> 2], j + 12 | 0);
+      q[a + 76 >> 2] = f;
+      if (q[j + 12 >> 2]) {
+       break b;
+      }
+      e = f + (g << 1) | 0;
+      q[a + 80 >> 2] = e;
+      _$(e, f + (l << 1) | 0, l);
+      q[a + 84 >> 2] = g;
+      e = q[a + 56 >> 2];
+     }
+     p[q[a + 76 >> 2] + (e << 1) >> 1] = m;
+     o[q[a + 80 >> 2] + e | 0] = i;
+     q[a + 56 >> 2] = q[a + 56 >> 2] + 1;
+    }
+    q[a >> 2] = 1;
+    m = d;
+    e = 0;
+    continue;
+   }
+  }
+  q[a >> 2] = 3;
+ }
+ q[a + 72 >> 2] = d;
+ q[a + 68 >> 2] = i;
+ q[a + 64 >> 2] = m;
+ Ca = j + 16 | 0;
+ return n;
+}
+function bl(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, u = 0;
+ k = Ca - 16 | 0;
+ Ca = k;
+ b = 3;
+ f = q[a + 32 >> 2];
+ a : {
+  if (!f) {
+   break a;
+  }
+  e = q[f + 364 >> 2];
+  if (!e) {
+   break a;
+  }
+  h = q[e + 588 >> 2];
+  b = q[e + 584 >> 2];
+  f = q[f + 360 >> 2];
+  b : {
+   if (!(!r[e + 556 | 0] | (f | 0) != q[e + 564 >> 2] | (b | 0) != q[e + 568 >> 2])) {
+    if (!b) {
+     break b;
+    }
+    if (!ZY(h, q[e + 572 >> 2], b << 2)) {
+     break b;
+    }
+   }
+   b = Uk(e + 556 | 0, f, b, h);
+   if (b) {
+    break a;
+   }
+  }
+  c : {
+   d : {
+    e : {
+     d = q[a + 20 >> 2];
+     b = q[d + -4 >> 2];
+     h = r[b | 0];
+     if ((h | 0) != 255) {
+      if ((h | 0) != 30) {
+       break e;
+      }
+      f = Vk(a, b, 0, 0) >> 16;
+      break d;
+     }
+     f = ((r[b + 3 | 0] | (r[b + 2 | 0] << 8 | r[b + 1 | 0] << 16)) << 8) + 32768 >> 16;
+     break d;
+    }
+    c = b + 1 | 0;
+    f = h + -28 | 0;
+    if (f >>> 0 <= 1) {
+     if (f - 1) {
+      b = b + 2 | 0;
+      if (t[a + 8 >> 2] <= b >>> 0) {
+       break c;
+      }
+      f = (r[b | 0] | r[c | 0] << 8) << 16 >> 16;
+      break d;
+     }
+     if (t[a + 8 >> 2] <= b + 4 >>> 0) {
+      break c;
+     }
+     b = r[b + 1 | 0] | r[b + 2 | 0] << 8 | (r[b + 3 | 0] << 16 | r[b + 4 | 0] << 24);
+     f = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+     break d;
+    }
+    f = h + -139 | 0;
+    if (h >>> 0 <= 246) {
+     break d;
+    }
+    b = q[a + 8 >> 2];
+    if (h >>> 0 <= 250) {
+     if (b >>> 0 <= c >>> 0) {
+      break c;
+     }
+     f = (r[c | 0] | h << 8) + -63124 | 0;
+     break d;
+    }
+    if (b >>> 0 <= c >>> 0) {
+     break c;
+    }
+    f = 64148 - (r[c | 0] | h << 8) | 0;
+   }
+   b = 3;
+   n = f;
+   if (f >>> 0 > t[a + 24 >> 2]) {
+    break a;
+   }
+   d = q[a + 20 >> 2];
+  }
+  f = q[q[e + 560 >> 2] + 8 >> 2];
+  q[k + 12 >> 2] = 0;
+  d = (d - q[a + 16 >> 2] | 0) + -4 >> 2;
+  g = w(q[e + 576 >> 2], n);
+  f : {
+   if (d >>> 0 < g >>> 0) {
+    b = 161;
+    q[k + 12 >> 2] = 161;
+    break f;
+   }
+   j = q[e + 600 >> 2];
+   h = w(n, 5);
+   b = q[e + 604 >> 2];
+   g : {
+    if (j + h >>> 0 <= b >>> 0) {
+     break g;
+    }
+    i = q[e + 596 >> 2];
+    c = f;
+    f = q[e + 592 >> 2];
+    c = Te(c, 1, b, b + h | 0, f, k + 12 | 0);
+    q[e + 592 >> 2] = c;
+    b = q[k + 12 >> 2];
+    if (b) {
+     break f;
+    }
+    j = q[e + 600 >> 2];
+    q[e + 596 >> 2] = c + j;
+    q[e + 604 >> 2] = h + q[e + 604 >> 2];
+    if (!f | (c | 0) == (f | 0)) {
+     break g;
+    }
+    b = q[a + 16 >> 2];
+    l = q[a + 20 >> 2];
+    if (b >>> 0 >= l >>> 0) {
+     break g;
+    }
+    m = c - f | 0;
+    while (1) {
+     c = q[b >> 2];
+     if (!(c >>> 0 < f >>> 0 | c >>> 0 >= i >>> 0)) {
+      q[b >> 2] = c + m;
+      l = q[a + 20 >> 2];
+     }
+     b = b + 4 | 0;
+     if (b >>> 0 < l >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[e + 600 >> 2] = h + j;
+   s = d - g | 0;
+   h = s + n | 0;
+   if (n) {
+    f = h;
+    while (1) {
+     b = q[e + 580 >> 2];
+     h : {
+      i : {
+       u = p + s << 2;
+       c = q[u + q[a + 16 >> 2] >> 2];
+       g = r[c | 0];
+       if ((g | 0) != 255) {
+        if ((g | 0) != 30) {
+         break i;
+        }
+        d = Vk(a, c, 0, 0) >> 16;
+        break h;
+       }
+       d = ((r[c + 3 | 0] | (r[c + 2 | 0] << 8 | r[c + 1 | 0] << 16)) << 8) + 32768 >> 16;
+       break h;
+      }
+      i = c + 1 | 0;
+      d = g + -28 | 0;
+      if (d >>> 0 <= 1) {
+       if (d - 1) {
+        c = c + 2 | 0;
+        d = 0;
+        if (t[a + 8 >> 2] <= c >>> 0) {
+         break h;
+        }
+        d = (r[c | 0] | r[i | 0] << 8) << 16 >> 16;
+        break h;
+       }
+       d = 0;
+       if (t[a + 8 >> 2] <= c + 4 >>> 0) {
+        break h;
+       }
+       c = r[c + 1 | 0] | r[c + 2 | 0] << 8 | (r[c + 3 | 0] << 16 | r[c + 4 | 0] << 24);
+       d = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+       break h;
+      }
+      d = g + -139 | 0;
+      if (g >>> 0 <= 246) {
+       break h;
+      }
+      c = q[a + 8 >> 2];
+      if (g >>> 0 <= 250) {
+       d = 0;
+       if (c >>> 0 <= i >>> 0) {
+        break h;
+       }
+       d = (r[i | 0] | g << 8) + -63124 | 0;
+       break h;
+      }
+      d = 0;
+      if (c >>> 0 <= i >>> 0) {
+       break h;
+      }
+      d = 64148 - (r[i | 0] | g << 8) | 0;
+     }
+     i = d << 16;
+     l = 1;
+     j = q[e + 576 >> 2];
+     if (j >>> 0 >= 2) {
+      while (1) {
+       b = b + 4 | 0;
+       j : {
+        k : {
+         c = q[q[a + 16 >> 2] + (f << 2) >> 2];
+         g = r[c | 0];
+         if ((g | 0) != 255) {
+          if ((g | 0) != 30) {
+           break k;
+          }
+          d = Vk(a, c, 0, 0) >> 16;
+          j = q[e + 576 >> 2];
+          break j;
+         }
+         d = ((r[c + 3 | 0] | (r[c + 2 | 0] << 8 | r[c + 1 | 0] << 16)) << 8) + 32768 >> 16;
+         break j;
+        }
+        m = c + 1 | 0;
+        d = g + -28 | 0;
+        if (d >>> 0 <= 1) {
+         if (d - 1) {
+          d = 0;
+          c = c + 2 | 0;
+          if (t[a + 8 >> 2] <= c >>> 0) {
+           break j;
+          }
+          d = (r[c | 0] | r[m | 0] << 8) << 16 >> 16;
+          break j;
+         }
+         d = 0;
+         if (t[a + 8 >> 2] <= c + 4 >>> 0) {
+          break j;
+         }
+         c = r[c + 1 | 0] | r[c + 2 | 0] << 8 | (r[c + 3 | 0] << 16 | r[c + 4 | 0] << 24);
+         d = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+         break j;
+        }
+        if (g >>> 0 <= 246) {
+         d = g + -139 | 0;
+         break j;
+        }
+        c = q[a + 8 >> 2];
+        if (g >>> 0 <= 250) {
+         d = 0;
+         if (c >>> 0 <= m >>> 0) {
+          break j;
+         }
+         d = (r[m | 0] | g << 8) + -63124 | 0;
+         break j;
+        }
+        d = 0;
+        if (c >>> 0 <= m >>> 0) {
+         break j;
+        }
+        d = 64148 - (r[m | 0] | g << 8) | 0;
+       }
+       f = f + 1 | 0;
+       i = w(q[b >> 2], d) + i | 0;
+       l = l + 1 | 0;
+       if (l >>> 0 < j >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     q[q[a + 16 >> 2] + u >> 2] = q[e + 596 >> 2];
+     b = q[e + 596 >> 2];
+     q[e + 596 >> 2] = b + 1;
+     o[b | 0] = 255;
+     b = q[e + 596 >> 2];
+     q[e + 596 >> 2] = b + 1;
+     o[b | 0] = i >>> 24;
+     b = q[e + 596 >> 2];
+     q[e + 596 >> 2] = b + 1;
+     o[b | 0] = i >>> 16;
+     b = q[e + 596 >> 2];
+     q[e + 596 >> 2] = b + 1;
+     o[b | 0] = i >>> 8;
+     b = q[e + 596 >> 2];
+     q[e + 596 >> 2] = b + 1;
+     o[b | 0] = i;
+     p = p + 1 | 0;
+     if ((p | 0) != (n | 0)) {
+      continue;
+     }
+     break;
+    }
+    b = q[k + 12 >> 2];
+   } else {
+    b = 0;
+   }
+   q[a + 20 >> 2] = q[a + 16 >> 2] + (h << 2);
+  }
+  o[e + 557 | 0] = 1;
+ }
+ Ca = k + 16 | 0;
+ return b | 0;
+}
+function LT(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = 1;
+ a : {
+  b : {
+   c : {
+    d : {
+     f = c - b | 0;
+     if ((f | 0) < 1) {
+      break d;
+     }
+     e : {
+      f : {
+       g : {
+        j = a + 72 | 0;
+        g = r[j + r[b | 0] | 0] + -5 | 0;
+        h : {
+         if (g >>> 0 > 24) {
+          break h;
+         }
+         i : {
+          switch (g - 1 | 0) {
+          default:
+           e = 2;
+           h = -2;
+           if ((f | 0) < 2) {
+            break f;
+           }
+           if (n[q[a + 340 >> 2]](a, b)) {
+            break g;
+           }
+           break h;
+          case 0:
+           e = 3;
+           h = -2;
+           if ((f | 0) < 3) {
+            break f;
+           }
+           if (!n[q[a + 344 >> 2]](a, b)) {
+            break h;
+           }
+           break g;
+          case 16:
+          case 18:
+           break g;
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+          case 15:
+          case 17:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+           break h;
+          case 1:
+           break i;
+          }
+         }
+         e = 4;
+         h = -2;
+         if ((f | 0) < 4) {
+          break f;
+         }
+         if (n[q[a + 348 >> 2]](a, b)) {
+          break g;
+         }
+        }
+        q[d >> 2] = b;
+        return 0;
+       }
+       e = b + e | 0;
+       i = c - e | 0;
+       if ((i | 0) < 1) {
+        break d;
+       }
+       j : {
+        while (1) {
+         h = r[r[e | 0] + j | 0] + -5 | 0;
+         if (h >>> 0 > 24) {
+          f = e;
+          break b;
+         }
+         g = 1;
+         f = e;
+         k : {
+          l : {
+           m : {
+            switch (h - 1 | 0) {
+            default:
+             if ((i | 0) < 2) {
+              break a;
+             }
+             g = 2;
+             if (n[q[a + 328 >> 2]](a, e)) {
+              break l;
+             }
+             break c;
+            case 0:
+             if ((i | 0) < 3) {
+              break a;
+             }
+             g = 3;
+             if (!n[q[a + 332 >> 2]](a, e)) {
+              break c;
+             }
+             break l;
+            case 2:
+            case 5:
+            case 6:
+            case 7:
+            case 8:
+            case 10:
+            case 11:
+            case 12:
+            case 13:
+            case 14:
+            case 17:
+            case 22:
+             break b;
+            case 9:
+             break j;
+            case 3:
+            case 4:
+            case 15:
+             break k;
+            case 16:
+            case 18:
+            case 19:
+            case 20:
+            case 21:
+             break l;
+            case 1:
+             break m;
+            case 23:
+             break c;
+            }
+           }
+           if ((i | 0) < 4) {
+            break a;
+           }
+           g = 4;
+           if (!n[q[a + 336 >> 2]](a, e)) {
+            break c;
+           }
+          }
+          e = e + g | 0;
+          i = c - e | 0;
+          if ((i | 0) > 0) {
+           continue;
+          }
+          break d;
+         }
+         break;
+        }
+        i = 11;
+        n : {
+         if ((e - b | 0) != 3) {
+          break n;
+         }
+         g = o[b | 0];
+         f = 0;
+         o : {
+          if ((g | 0) == 120) {
+           break o;
+          }
+          if ((g | 0) != 88) {
+           break n;
+          }
+          f = 1;
+         }
+         g = o[b + 1 | 0];
+         if ((g | 0) != 109) {
+          if ((g | 0) != 77) {
+           break n;
+          }
+          f = 1;
+         }
+         b = o[b + 2 | 0];
+         if ((b | 0) == 76) {
+          break c;
+         }
+         if ((b | 0) != 108) {
+          break n;
+         }
+         if (f) {
+          break c;
+         }
+         i = 12;
+        }
+        e = e + 1 | 0;
+        f = c - e | 0;
+        if ((f | 0) < 1) {
+         break d;
+        }
+        while (1) {
+         p : {
+          q : {
+           b = e;
+           e = r[r[b | 0] + j | 0];
+           if (e >>> 0 > 15) {
+            break q;
+           }
+           r : {
+            switch (e - 2 | 0) {
+            case 3:
+             if ((f | 0) < 2) {
+              break a;
+             }
+             if (n[q[a + 352 >> 2]](a, b)) {
+              break e;
+             }
+             e = b + 2 | 0;
+             break p;
+            case 4:
+             if ((f | 0) < 3) {
+              break a;
+             }
+             if (n[q[a + 356 >> 2]](a, b)) {
+              break e;
+             }
+             e = b + 3 | 0;
+             break p;
+            case 5:
+             if ((f | 0) < 4) {
+              break a;
+             }
+             if (n[q[a + 360 >> 2]](a, b)) {
+              break e;
+             }
+             e = b + 4 | 0;
+             break p;
+            case 0:
+            case 1:
+            case 2:
+            case 7:
+            case 8:
+            case 9:
+            case 10:
+            case 11:
+            case 12:
+             break q;
+            case 13:
+             break r;
+            default:
+             break e;
+            }
+           }
+           e = b + 1 | 0;
+           if ((c - e | 0) < 1) {
+            break d;
+           }
+           if (r[e | 0] != 62) {
+            break p;
+           }
+           q[d >> 2] = b + 2;
+           return i;
+          }
+          e = b + 1 | 0;
+         }
+         f = c - e | 0;
+         if ((f | 0) > 0) {
+          continue;
+         }
+         break;
+        }
+        break d;
+       }
+       g = 11;
+       s : {
+        if ((e - b | 0) != 3) {
+         break s;
+        }
+        f = o[b | 0];
+        a = 0;
+        t : {
+         if ((f | 0) == 120) {
+          break t;
+         }
+         if ((f | 0) != 88) {
+          break s;
+         }
+         a = 1;
+        }
+        f = o[b + 1 | 0];
+        if ((f | 0) != 109) {
+         if ((f | 0) != 77) {
+          break s;
+         }
+         a = 1;
+        }
+        b = o[b + 2 | 0];
+        if ((b | 0) == 76) {
+         break c;
+        }
+        if ((b | 0) != 108) {
+         break s;
+        }
+        if (a) {
+         break c;
+        }
+        g = 12;
+       }
+       f = e + 1 | 0;
+       h = -1;
+       if ((c - f | 0) < 1) {
+        break f;
+       }
+       if (r[f | 0] != 62) {
+        break b;
+       }
+       q[d >> 2] = e + 2;
+       h = g;
+      }
+      return h;
+     }
+     q[d >> 2] = b;
+     return 0;
+    }
+    return -1;
+   }
+   q[d >> 2] = e;
+   return 0;
+  }
+  q[d >> 2] = f;
+  return 0;
+ }
+ return -2;
+}
+function zs(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, s = 0, u = 0, v = 0;
+ g = Ca - 32 | 0;
+ Ca = g;
+ m = q[b + 4 >> 2];
+ a : {
+  b : {
+   if (!r[a + 12 | 0]) {
+    break b;
+   }
+   e = r[c + 5 | 0] | r[c + 4 | 0] << 8;
+   if ((e | 0) == 65535) {
+    break b;
+   }
+   s = q[m + 72 >> 2];
+   if (s >>> 0 >= t[m + 76 >> 2]) {
+    break b;
+   }
+   u = q[m + 96 >> 2];
+   b = q[a + 4 >> 2];
+   c : {
+    if (b >>> 0 > 2) {
+     break c;
+    }
+    d : {
+     switch (b - 1 | 0) {
+     default:
+      d = q[a >> 2];
+      i = q[a + 8 >> 2];
+      b = i + (e << 1) | 0;
+      if (t[d + 20 >> 2] > b >>> 0) {
+       break a;
+      }
+      f = q[d + 24 >> 2];
+      if (f >>> 0 < b >>> 0 | f - b >>> 0 < 4) {
+       break a;
+      }
+      h = d + 28 | 0;
+      f = q[h >> 2];
+      q[h >> 2] = f + -1;
+      if ((f | 0) < 1) {
+       break a;
+      }
+      f = r[b + 3 | 0];
+      i = r[(i + (e << 1) | 0) + 1 | 0];
+      h = r[b + 2 | 0];
+      j = r[b | 0];
+      q[g + 20 >> 2] = 0;
+      q[g + 16 >> 2] = 0;
+      q[g + 12 >> 2] = 0;
+      q[g + 8 >> 2] = 0;
+      e = q[q[q[d + 12 >> 2] + 88 >> 2] + w(q[a + 16 >> 2], 20) >> 2];
+      b = q[d + 4 >> 2];
+      q[g + 20 >> 2] = 0;
+      q[g + 16 >> 2] = 0;
+      d = q[b + 72 >> 2];
+      if (!n[q[d + 204 >> 2]](b, q[b + 76 >> 2], e, i | j << 8, g + 20 | 0, g + 16 | 0, q[d + 68 >> 2])) {
+       break a;
+      }
+      hu(b, e, g + 28 | 0, g + 24 | 0);
+      q[g + 20 >> 2] = q[g + 20 >> 2] - q[g + 28 >> 2];
+      q[g + 16 >> 2] = q[g + 16 >> 2] - q[g + 24 >> 2];
+      b = q[a >> 2];
+      d = q[b + 12 >> 2];
+      d = q[q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) >> 2];
+      b = q[b + 4 >> 2];
+      q[g + 12 >> 2] = 0;
+      q[g + 8 >> 2] = 0;
+      e = q[b + 72 >> 2];
+      if (!n[q[e + 204 >> 2]](b, q[b + 76 >> 2], d, f | h << 8, g + 12 | 0, g + 8 | 0, q[e + 68 >> 2])) {
+       break a;
+      }
+      hu(b, d, g + 28 | 0, g + 24 | 0);
+      q[g + 8 >> 2] = q[g + 8 >> 2] - q[g + 24 >> 2];
+      b = w(s, 20) + u | 0;
+      q[b + 8 >> 2] = q[g + 20 >> 2] + (q[g + 28 >> 2] - q[g + 12 >> 2] | 0);
+      q[b + 12 >> 2] = q[g + 16 >> 2] - q[g + 8 >> 2];
+      break c;
+     case 0:
+      d = q[a >> 2];
+      i = q[a + 8 >> 2];
+      b = i + (e << 1) | 0;
+      if (t[d + 20 >> 2] > b >>> 0) {
+       break a;
+      }
+      f = q[d + 24 >> 2];
+      if (f >>> 0 < b >>> 0 | f - b >>> 0 < 4) {
+       break a;
+      }
+      h = d + 28 | 0;
+      f = q[h >> 2];
+      q[h >> 2] = f + -1;
+      if ((f | 0) < 1) {
+       break a;
+      }
+      h = r[b + 2 | 0];
+      j = r[b + 3 | 0];
+      k = r[b | 0];
+      l = r[(i + (e << 1) | 0) + 1 | 0];
+      f = 271040;
+      i = 271040;
+      b = q[d + 56 >> 2];
+      e = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+      e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+      e = Kr(e ? b + e | 0 : 271450, q[q[q[d + 12 >> 2] + 88 >> 2] + w(q[a + 16 >> 2], 20) >> 2], q[d + 48 >> 2]);
+      if (e) {
+       d = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+       b = (b + (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) | 0) + (r[e + 1 | 0] | r[e | 0] << 8) | 0;
+       d = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+       e = k << 8 | l;
+       i = (d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24)) >>> 0 > e >>> 0 ? (b + (e << 2) | 0) + 4 | 0 : 271040;
+      }
+      e = q[a >> 2];
+      b = q[e + 56 >> 2];
+      d = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+      d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+      k = d ? b + d | 0 : 271450;
+      d = q[e + 12 >> 2];
+      e = Kr(k, q[q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) >> 2], q[e + 48 >> 2]);
+      if (e) {
+       d = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+       b = (b + (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) | 0) + (r[e + 1 | 0] | r[e | 0] << 8) | 0;
+       d = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+       e = j | h << 8;
+       f = (d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24)) >>> 0 > e >>> 0 ? (b + (e << 2) | 0) + 4 | 0 : 271040;
+      }
+      h = q[q[a >> 2] + 4 >> 2];
+      d = h;
+      b = q[d + 36 >> 2];
+      j = q[d + 32 >> 2];
+      d = b;
+      b = r[i | 0] | r[i + 1 | 0] << 8;
+      b = b << 24 | b << 8 & 16711680;
+      e = b >> 31;
+      b = T0(j, d, b >> 16, e);
+      k = w(s, 20) + u | 0;
+      l = (Ea & 65535) << 16 | b >>> 16;
+      b = r[f | 0] | r[f + 1 | 0] << 8;
+      b = b << 24 | b << 8 & 16711680;
+      e = b >> 31;
+      b = T0(j, d, b >> 16, e);
+      q[k + 8 >> 2] = l - ((Ea & 65535) << 16 | b >>> 16);
+      b = q[h + 44 >> 2];
+      d = b;
+      h = q[h + 40 >> 2];
+      b = r[i + 2 | 0] | r[i + 3 | 0] << 8;
+      b = b << 24 | b << 8 & 16711680;
+      e = b >> 31;
+      b = T0(h, d, b >> 16, e);
+      j = (Ea & 65535) << 16 | b >>> 16;
+      b = r[f + 2 | 0] | r[f + 3 | 0] << 8;
+      b = b << 24 | b << 8 & 16711680;
+      e = b >> 31;
+      b = T0(h, d, b >> 16, e);
+      q[k + 12 >> 2] = j - ((Ea & 65535) << 16 | b >>> 16);
+      break c;
+     case 1:
+      break d;
+     }
+    }
+    b = q[a >> 2];
+    l = q[a + 8 >> 2];
+    f = l + (e << 1) | 0;
+    if (t[b + 20 >> 2] > f >>> 0) {
+     break a;
+    }
+    d = q[b + 24 >> 2];
+    if (d >>> 0 < f >>> 0 | d - f >>> 0 < 8) {
+     break a;
+    }
+    i = b + 28 | 0;
+    d = q[i >> 2];
+    q[i >> 2] = d + -1;
+    if ((d | 0) < 1) {
+     break a;
+    }
+    i = r[f + 6 | 0] | r[f + 7 | 0] << 8;
+    h = r[f + 2 | 0] | r[f + 3 | 0] << 8;
+    j = q[b + 4 >> 2];
+    d = j;
+    b = q[d + 36 >> 2];
+    k = q[d + 32 >> 2];
+    d = b;
+    b = (r[(l + (e << 1) | 0) + 1 | 0] | r[f | 0] << 8) << 16;
+    e = b >> 31;
+    b = T0(k, d, b >> 16, e);
+    l = w(s, 20) + u | 0;
+    v = (Ea & 65535) << 16 | b >>> 16;
+    b = r[f + 4 | 0] | r[f + 5 | 0] << 8;
+    b = b << 24 | b << 8 & 16711680;
+    e = b >> 31;
+    b = T0(k, d, b >> 16, e);
+    q[l + 8 >> 2] = v - ((Ea & 65535) << 16 | b >>> 16);
+    b = q[j + 44 >> 2];
+    d = b;
+    f = q[j + 40 >> 2];
+    b = h << 8 & 16711680 | h << 24;
+    e = b >> 31;
+    b = T0(f, d, b >> 16, e);
+    h = (Ea & 65535) << 16 | b >>> 16;
+    b = i << 8 & 16711680 | i << 24;
+    e = b >> 31;
+    b = T0(f, d, b >> 16, e);
+    q[l + 12 >> 2] = h - ((Ea & 65535) << 16 | b >>> 16);
+   }
+   b = w(s, 20) + u | 0;
+   o[b + 18 | 0] = 1;
+   p[b + 16 >> 1] = q[a + 16 >> 2] - q[m + 72 >> 2];
+   q[m + 32 >> 2] = q[m + 32 >> 2] | 8;
+  }
+  if (o[c + 2 | 0] > -1) {
+   break a;
+  }
+  o[a + 12 | 0] = 1;
+  q[a + 16 >> 2] = q[m + 72 >> 2];
+ }
+ Ca = g + 32 | 0;
+}
+function nO(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0;
+ f = a;
+ a = c ? -1 : 0;
+ e = a;
+ o[f + 8 | 0] = e;
+ o[f + 9 | 0] = e >>> 8;
+ o[f + 10 | 0] = e >>> 16;
+ o[f + 11 | 0] = e >>> 24;
+ e = c ? -1 : 0;
+ o[f + 12 | 0] = e;
+ o[f + 13 | 0] = e >>> 8;
+ o[f + 14 | 0] = e >>> 16;
+ o[f + 15 | 0] = e >>> 24;
+ c = a;
+ o[f | 0] = c;
+ o[f + 1 | 0] = c >>> 8;
+ o[f + 2 | 0] = c >>> 16;
+ o[f + 3 | 0] = c >>> 24;
+ o[f + 4 | 0] = e;
+ o[f + 5 | 0] = e >>> 8;
+ o[f + 6 | 0] = e >>> 16;
+ o[f + 7 | 0] = e >>> 24;
+ d = b + f | 0;
+ o[d + 8 | 0] = c;
+ o[d + 9 | 0] = c >>> 8;
+ o[d + 10 | 0] = c >>> 16;
+ o[d + 11 | 0] = c >>> 24;
+ o[d + 12 | 0] = e;
+ o[d + 13 | 0] = e >>> 8;
+ o[d + 14 | 0] = e >>> 16;
+ o[d + 15 | 0] = e >>> 24;
+ o[d | 0] = c;
+ o[d + 1 | 0] = c >>> 8;
+ o[d + 2 | 0] = c >>> 16;
+ o[d + 3 | 0] = c >>> 24;
+ o[d + 4 | 0] = e;
+ o[d + 5 | 0] = e >>> 8;
+ o[d + 6 | 0] = e >>> 16;
+ o[d + 7 | 0] = e >>> 24;
+ d = (b << 1) + f | 0;
+ o[d + 8 | 0] = c;
+ o[d + 9 | 0] = c >>> 8;
+ o[d + 10 | 0] = c >>> 16;
+ o[d + 11 | 0] = c >>> 24;
+ o[d + 12 | 0] = e;
+ o[d + 13 | 0] = e >>> 8;
+ o[d + 14 | 0] = e >>> 16;
+ o[d + 15 | 0] = e >>> 24;
+ o[d | 0] = c;
+ o[d + 1 | 0] = c >>> 8;
+ o[d + 2 | 0] = c >>> 16;
+ o[d + 3 | 0] = c >>> 24;
+ o[d + 4 | 0] = e;
+ o[d + 5 | 0] = e >>> 8;
+ o[d + 6 | 0] = e >>> 16;
+ o[d + 7 | 0] = e >>> 24;
+ d = w(b, 3) + f | 0;
+ o[d + 8 | 0] = c;
+ o[d + 9 | 0] = c >>> 8;
+ o[d + 10 | 0] = c >>> 16;
+ o[d + 11 | 0] = c >>> 24;
+ o[d + 12 | 0] = e;
+ o[d + 13 | 0] = e >>> 8;
+ o[d + 14 | 0] = e >>> 16;
+ o[d + 15 | 0] = e >>> 24;
+ o[d | 0] = c;
+ o[d + 1 | 0] = c >>> 8;
+ o[d + 2 | 0] = c >>> 16;
+ o[d + 3 | 0] = c >>> 24;
+ o[d + 4 | 0] = e;
+ o[d + 5 | 0] = e >>> 8;
+ o[d + 6 | 0] = e >>> 16;
+ o[d + 7 | 0] = e >>> 24;
+ d = (b << 2) + f | 0;
+ o[d + 8 | 0] = c;
+ o[d + 9 | 0] = c >>> 8;
+ o[d + 10 | 0] = c >>> 16;
+ o[d + 11 | 0] = c >>> 24;
+ o[d + 12 | 0] = e;
+ o[d + 13 | 0] = e >>> 8;
+ o[d + 14 | 0] = e >>> 16;
+ o[d + 15 | 0] = e >>> 24;
+ o[d | 0] = c;
+ o[d + 1 | 0] = c >>> 8;
+ o[d + 2 | 0] = c >>> 16;
+ o[d + 3 | 0] = c >>> 24;
+ o[d + 4 | 0] = e;
+ o[d + 5 | 0] = e >>> 8;
+ o[d + 6 | 0] = e >>> 16;
+ o[d + 7 | 0] = e >>> 24;
+ d = w(b, 5) + f | 0;
+ o[d + 8 | 0] = c;
+ o[d + 9 | 0] = c >>> 8;
+ o[d + 10 | 0] = c >>> 16;
+ o[d + 11 | 0] = c >>> 24;
+ o[d + 12 | 0] = e;
+ o[d + 13 | 0] = e >>> 8;
+ o[d + 14 | 0] = e >>> 16;
+ o[d + 15 | 0] = e >>> 24;
+ o[d | 0] = c;
+ o[d + 1 | 0] = c >>> 8;
+ o[d + 2 | 0] = c >>> 16;
+ o[d + 3 | 0] = c >>> 24;
+ o[d + 4 | 0] = e;
+ o[d + 5 | 0] = e >>> 8;
+ o[d + 6 | 0] = e >>> 16;
+ o[d + 7 | 0] = e >>> 24;
+ d = w(b, 6) + f | 0;
+ o[d + 8 | 0] = c;
+ o[d + 9 | 0] = c >>> 8;
+ o[d + 10 | 0] = c >>> 16;
+ o[d + 11 | 0] = c >>> 24;
+ o[d + 12 | 0] = e;
+ o[d + 13 | 0] = e >>> 8;
+ o[d + 14 | 0] = e >>> 16;
+ o[d + 15 | 0] = e >>> 24;
+ o[d | 0] = c;
+ o[d + 1 | 0] = c >>> 8;
+ o[d + 2 | 0] = c >>> 16;
+ o[d + 3 | 0] = c >>> 24;
+ o[d + 4 | 0] = e;
+ o[d + 5 | 0] = e >>> 8;
+ o[d + 6 | 0] = e >>> 16;
+ o[d + 7 | 0] = e >>> 24;
+ d = w(b, 7) + f | 0;
+ o[d + 8 | 0] = c;
+ o[d + 9 | 0] = c >>> 8;
+ o[d + 10 | 0] = c >>> 16;
+ o[d + 11 | 0] = c >>> 24;
+ o[d + 12 | 0] = e;
+ o[d + 13 | 0] = e >>> 8;
+ o[d + 14 | 0] = e >>> 16;
+ o[d + 15 | 0] = e >>> 24;
+ o[d | 0] = c;
+ o[d + 1 | 0] = c >>> 8;
+ o[d + 2 | 0] = c >>> 16;
+ o[d + 3 | 0] = c >>> 24;
+ o[d + 4 | 0] = e;
+ o[d + 5 | 0] = e >>> 8;
+ o[d + 6 | 0] = e >>> 16;
+ o[d + 7 | 0] = e >>> 24;
+ d = (b << 3) + f | 0;
+ o[d + 8 | 0] = c;
+ o[d + 9 | 0] = c >>> 8;
+ o[d + 10 | 0] = c >>> 16;
+ o[d + 11 | 0] = c >>> 24;
+ o[d + 12 | 0] = e;
+ o[d + 13 | 0] = e >>> 8;
+ o[d + 14 | 0] = e >>> 16;
+ o[d + 15 | 0] = e >>> 24;
+ o[d | 0] = c;
+ o[d + 1 | 0] = c >>> 8;
+ o[d + 2 | 0] = c >>> 16;
+ o[d + 3 | 0] = c >>> 24;
+ o[d + 4 | 0] = e;
+ o[d + 5 | 0] = e >>> 8;
+ o[d + 6 | 0] = e >>> 16;
+ o[d + 7 | 0] = e >>> 24;
+ d = w(b, 9) + f | 0;
+ o[d + 8 | 0] = c;
+ o[d + 9 | 0] = c >>> 8;
+ o[d + 10 | 0] = c >>> 16;
+ o[d + 11 | 0] = c >>> 24;
+ o[d + 12 | 0] = e;
+ o[d + 13 | 0] = e >>> 8;
+ o[d + 14 | 0] = e >>> 16;
+ o[d + 15 | 0] = e >>> 24;
+ o[d | 0] = c;
+ o[d + 1 | 0] = c >>> 8;
+ o[d + 2 | 0] = c >>> 16;
+ o[d + 3 | 0] = c >>> 24;
+ o[d + 4 | 0] = e;
+ o[d + 5 | 0] = e >>> 8;
+ o[d + 6 | 0] = e >>> 16;
+ o[d + 7 | 0] = e >>> 24;
+ d = w(b, 10) + f | 0;
+ o[d + 8 | 0] = c;
+ o[d + 9 | 0] = c >>> 8;
+ o[d + 10 | 0] = c >>> 16;
+ o[d + 11 | 0] = c >>> 24;
+ o[d + 12 | 0] = e;
+ o[d + 13 | 0] = e >>> 8;
+ o[d + 14 | 0] = e >>> 16;
+ o[d + 15 | 0] = e >>> 24;
+ o[d | 0] = c;
+ o[d + 1 | 0] = c >>> 8;
+ o[d + 2 | 0] = c >>> 16;
+ o[d + 3 | 0] = c >>> 24;
+ o[d + 4 | 0] = e;
+ o[d + 5 | 0] = e >>> 8;
+ o[d + 6 | 0] = e >>> 16;
+ o[d + 7 | 0] = e >>> 24;
+ d = w(b, 11) + f | 0;
+ o[d + 8 | 0] = c;
+ o[d + 9 | 0] = c >>> 8;
+ o[d + 10 | 0] = c >>> 16;
+ o[d + 11 | 0] = c >>> 24;
+ o[d + 12 | 0] = e;
+ o[d + 13 | 0] = e >>> 8;
+ o[d + 14 | 0] = e >>> 16;
+ o[d + 15 | 0] = e >>> 24;
+ o[d | 0] = c;
+ o[d + 1 | 0] = c >>> 8;
+ o[d + 2 | 0] = c >>> 16;
+ o[d + 3 | 0] = c >>> 24;
+ o[d + 4 | 0] = e;
+ o[d + 5 | 0] = e >>> 8;
+ o[d + 6 | 0] = e >>> 16;
+ o[d + 7 | 0] = e >>> 24;
+ d = w(b, 12) + f | 0;
+ o[d + 8 | 0] = c;
+ o[d + 9 | 0] = c >>> 8;
+ o[d + 10 | 0] = c >>> 16;
+ o[d + 11 | 0] = c >>> 24;
+ o[d + 12 | 0] = e;
+ o[d + 13 | 0] = e >>> 8;
+ o[d + 14 | 0] = e >>> 16;
+ o[d + 15 | 0] = e >>> 24;
+ o[d | 0] = c;
+ o[d + 1 | 0] = c >>> 8;
+ o[d + 2 | 0] = c >>> 16;
+ o[d + 3 | 0] = c >>> 24;
+ o[d + 4 | 0] = e;
+ o[d + 5 | 0] = e >>> 8;
+ o[d + 6 | 0] = e >>> 16;
+ o[d + 7 | 0] = e >>> 24;
+ d = w(b, 13) + f | 0;
+ o[d + 8 | 0] = c;
+ o[d + 9 | 0] = c >>> 8;
+ o[d + 10 | 0] = c >>> 16;
+ o[d + 11 | 0] = c >>> 24;
+ o[d + 12 | 0] = e;
+ o[d + 13 | 0] = e >>> 8;
+ o[d + 14 | 0] = e >>> 16;
+ o[d + 15 | 0] = e >>> 24;
+ o[d | 0] = c;
+ o[d + 1 | 0] = c >>> 8;
+ o[d + 2 | 0] = c >>> 16;
+ o[d + 3 | 0] = c >>> 24;
+ o[d + 4 | 0] = e;
+ o[d + 5 | 0] = e >>> 8;
+ o[d + 6 | 0] = e >>> 16;
+ o[d + 7 | 0] = e >>> 24;
+ d = w(b, 14) + f | 0;
+ o[d + 8 | 0] = c;
+ o[d + 9 | 0] = c >>> 8;
+ o[d + 10 | 0] = c >>> 16;
+ o[d + 11 | 0] = c >>> 24;
+ o[d + 12 | 0] = e;
+ o[d + 13 | 0] = e >>> 8;
+ o[d + 14 | 0] = e >>> 16;
+ o[d + 15 | 0] = e >>> 24;
+ o[d | 0] = c;
+ o[d + 1 | 0] = c >>> 8;
+ o[d + 2 | 0] = c >>> 16;
+ o[d + 3 | 0] = c >>> 24;
+ o[d + 4 | 0] = e;
+ o[d + 5 | 0] = e >>> 8;
+ o[d + 6 | 0] = e >>> 16;
+ o[d + 7 | 0] = e >>> 24;
+ c = w(b, 15) + f | 0;
+ b = a;
+ o[c + 8 | 0] = b;
+ o[c + 9 | 0] = b >>> 8;
+ o[c + 10 | 0] = b >>> 16;
+ o[c + 11 | 0] = b >>> 24;
+ o[c + 12 | 0] = e;
+ o[c + 13 | 0] = e >>> 8;
+ o[c + 14 | 0] = e >>> 16;
+ o[c + 15 | 0] = e >>> 24;
+ o[c | 0] = b;
+ o[c + 1 | 0] = b >>> 8;
+ o[c + 2 | 0] = b >>> 16;
+ o[c + 3 | 0] = b >>> 24;
+ o[c + 4 | 0] = e;
+ o[c + 5 | 0] = e >>> 8;
+ o[c + 6 | 0] = e >>> 16;
+ o[c + 7 | 0] = e >>> 24;
+}
+function oB(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0;
+ m = w(b, c) + a | 0;
+ if (b >>> 0 >= 10) {
+  n = 0 - c | 0;
+  while (1) {
+   e = w(b >>> 1 | 0, c) + a | 0;
+   d = q[e + 4 >> 2];
+   g = a + c | 0;
+   h = q[g + 4 >> 2];
+   f = jZ(q[g >> 2], q[e >> 2], h >>> 0 > d >>> 0 ? d : h);
+   k = ((f ? f : h - d | 0) | 0) > 0;
+   d = k ? g : e;
+   i = w(b + -1 | 0, c);
+   h = i + a | 0;
+   f = h + n | 0;
+   l = q[f >> 2];
+   b = q[f + 4 >> 2];
+   j = q[d + 4 >> 2];
+   p = jZ(q[d >> 2], l, j >>> 0 > b >>> 0 ? b : j);
+   if (((p ? p : j - b | 0) | 0) >= 1) {
+    d = k ? e : g;
+    e = q[d + 4 >> 2];
+    g = d;
+    d = jZ(q[d >> 2], l, e >>> 0 > b >>> 0 ? b : e);
+    d = ((d ? d : e - b | 0) | 0) > 0 ? g : f;
+   }
+   if (!((d | 0) == (h | 0) | (c | 0) < 1)) {
+    e = c + d | 0;
+    b = h;
+    while (1) {
+     g = r[d | 0];
+     o[d | 0] = r[b | 0];
+     o[b | 0] = g;
+     b = b + 1 | 0;
+     d = d + 1 | 0;
+     if (d >>> 0 < e >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   a : {
+    if ((i | 0) < 1) {
+     e = h;
+     g = e;
+     j = a;
+     break a;
+    }
+    g = h;
+    e = h;
+    j = a;
+    i = j;
+    b : while (1) {
+     if (i >>> 0 >= e >>> 0) {
+      break a;
+     }
+     while (1) {
+      k = q[i >> 2];
+      b = q[h >> 2];
+      d = q[h + 4 >> 2];
+      f = q[i + 4 >> 2];
+      l = jZ(k, b, f >>> 0 > d >>> 0 ? d : f);
+      f = l ? l : f - d | 0;
+      if ((f | 0) >= 1) {
+       f = e;
+       c : {
+        if (i >>> 0 >= e >>> 0) {
+         break c;
+        }
+        while (1) {
+         d : {
+          e : {
+           e = f + n | 0;
+           l = q[e >> 2];
+           k = b;
+           b = q[e + 4 >> 2];
+           k = jZ(l, k, b >>> 0 > d >>> 0 ? d : b);
+           b = k ? k : b - d | 0;
+           if (!b) {
+            k = g + n | 0;
+            if ((c | 0) < 1 | f >>> 0 >= g >>> 0) {
+             break e;
+            }
+            o[e | 0] = r[k | 0];
+            o[k | 0] = l;
+            d = k;
+            b = e + 1 | 0;
+            if (b >>> 0 >= f >>> 0) {
+             break e;
+            }
+            while (1) {
+             g = r[b | 0];
+             o[b | 0] = r[d + 1 | 0];
+             o[d + 1 | 0] = g;
+             d = d + 1 | 0;
+             b = b + 1 | 0;
+             if (b >>> 0 < f >>> 0) {
+              continue;
+             }
+             break;
+            }
+            break e;
+           }
+           if ((b | 0) > -1) {
+            break d;
+           }
+           f : {
+            if ((c | 0) < 1 | i >>> 0 >= e >>> 0) {
+             break f;
+            }
+            b = r[i | 0];
+            o[i | 0] = l;
+            o[e | 0] = b;
+            if ((c | 0) == 1) {
+             break f;
+            }
+            f = c + i | 0;
+            d = i + 1 | 0;
+            b = e;
+            while (1) {
+             k = r[d | 0];
+             o[d | 0] = r[b + 1 | 0];
+             o[b + 1 | 0] = k;
+             b = b + 1 | 0;
+             d = d + 1 | 0;
+             if (d >>> 0 < f >>> 0) {
+              continue;
+             }
+             break;
+            }
+           }
+           i = c + i | 0;
+           break c;
+          }
+          g = k;
+         }
+         if (i >>> 0 >= e >>> 0) {
+          break c;
+         }
+         b = q[h >> 2];
+         d = q[h + 4 >> 2];
+         f = e;
+         continue;
+        }
+       }
+       if (i >>> 0 < e >>> 0) {
+        continue b;
+       }
+       break a;
+      }
+      if (!f) {
+       g : {
+        if ((c | 0) < 1 | j >>> 0 >= i >>> 0) {
+         break g;
+        }
+        b = r[j | 0];
+        o[j | 0] = k;
+        o[i | 0] = b;
+        if ((c | 0) == 1) {
+         break g;
+        }
+        f = c + j | 0;
+        d = j + 1 | 0;
+        b = i;
+        while (1) {
+         k = r[d | 0];
+         o[d | 0] = r[b + 1 | 0];
+         o[b + 1 | 0] = k;
+         b = b + 1 | 0;
+         d = d + 1 | 0;
+         if (d >>> 0 < f >>> 0) {
+          continue;
+         }
+         break;
+        }
+       }
+       j = c + j | 0;
+      }
+      i = c + i | 0;
+      if (i >>> 0 < e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     break;
+    }
+   }
+   b = j - a | 0;
+   h = e - j | 0;
+   h : {
+    if (!b | !h) {
+     break h;
+    }
+    if (b >>> 0 > h >>> 0) {
+     if ((h | 0) < 1) {
+      break h;
+     }
+     b = a + h | 0;
+     d = a;
+     while (1) {
+      f = r[d | 0];
+      o[d | 0] = r[j | 0];
+      o[j | 0] = f;
+      j = j + 1 | 0;
+      d = d + 1 | 0;
+      if (d >>> 0 < b >>> 0) {
+       continue;
+      }
+      break;
+     }
+     break h;
+    }
+    if ((b | 0) < 1) {
+     break h;
+    }
+    d = a + h | 0;
+    b = a;
+    while (1) {
+     f = r[b | 0];
+     o[b | 0] = r[d | 0];
+     o[d | 0] = f;
+     d = d + 1 | 0;
+     b = b + 1 | 0;
+     if (b >>> 0 < j >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = g - e | 0;
+   i : {
+    if (!b) {
+     break i;
+    }
+    d = m - g | 0;
+    if (!d) {
+     break i;
+    }
+    if (b >>> 0 > d >>> 0) {
+     if ((d | 0) < 1) {
+      break i;
+     }
+     d = d + e | 0;
+     while (1) {
+      f = r[e | 0];
+      o[e | 0] = r[g | 0];
+      o[g | 0] = f;
+      g = g + 1 | 0;
+      e = e + 1 | 0;
+      if (e >>> 0 < d >>> 0) {
+       continue;
+      }
+      break;
+     }
+     break i;
+    }
+    if ((b | 0) < 1) {
+     break i;
+    }
+    d = d + e | 0;
+    while (1) {
+     f = r[e | 0];
+     o[e | 0] = r[d | 0];
+     o[d | 0] = f;
+     d = d + 1 | 0;
+     e = e + 1 | 0;
+     if (e >>> 0 < g >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   oB(a, (h >>> 0) / (c >>> 0) | 0, c);
+   a = m - b | 0;
+   b = (b >>> 0) / (c >>> 0) | 0;
+   m = a + w(c, b) | 0;
+   if (b >>> 0 >= 10) {
+    continue;
+   }
+   break;
+  }
+ }
+ g = a + c | 0;
+ if (g >>> 0 < m >>> 0) {
+  f = 0 - c | 0;
+  while (1) {
+   e = g;
+   j : {
+    if (e >>> 0 <= a >>> 0) {
+     break j;
+    }
+    while (1) {
+     h = e;
+     e = e + f | 0;
+     j = q[e >> 2];
+     k = q[h >> 2];
+     b = q[h + 4 >> 2];
+     d = q[e + 4 >> 2];
+     i = jZ(j, k, d >>> 0 > b >>> 0 ? b : d);
+     if (((i ? i : d - b | 0) | 0) < 1) {
+      break j;
+     }
+     k : {
+      if ((c | 0) < 1) {
+       break k;
+      }
+      o[e | 0] = k;
+      o[h | 0] = j;
+      b = e + 1 | 0;
+      d = h;
+      if (b >>> 0 >= d >>> 0) {
+       break k;
+      }
+      while (1) {
+       j = r[b | 0];
+       o[b | 0] = r[d + 1 | 0];
+       o[d + 1 | 0] = j;
+       d = d + 1 | 0;
+       b = b + 1 | 0;
+       if ((h | 0) != (b | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (e >>> 0 > a >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   g = c + g | 0;
+   if (g >>> 0 < m >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Kj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, s = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ j = q[a + 492 >> 2];
+ g = q[b + 8 >> 2];
+ n[q[b + 28 >> 2]](b);
+ a : {
+  d = q[b >> 2];
+  b : {
+   if (d >>> 0 >= g >>> 0) {
+    q[b + 12 >> 2] = 3;
+    break b;
+   }
+   c = r[d | 0];
+   if (!(c + -48 >>> 0 > 9 ? (c | 0) != 91 : 0)) {
+    f = q[b + 16 >> 2];
+    c : {
+     if ((c | 0) == 91) {
+      q[b >> 2] = d + 1;
+      k = 256;
+      h = 256;
+      c = 1;
+      break c;
+     }
+     k = n[q[b + 36 >> 2]](b) | 0;
+     h = (k | 0) < 256 ? k : 256;
+     c = 0;
+    }
+    n[q[b + 28 >> 2]](b);
+    if (t[b >> 2] >= g >>> 0) {
+     break a;
+    }
+    m = c;
+    l = b + 100 | 0;
+    c = q[a + 384 >> 2];
+    d : {
+     if (!c) {
+      break d;
+     }
+     Qe(f, c);
+     q[a + 384 >> 2] = 0;
+     c = a + 388 | 0;
+     Qe(f, q[c >> 2]);
+     q[c >> 2] = 0;
+     c = q[b + 148 >> 2];
+     if (!c) {
+      break d;
+     }
+     n[c](l);
+    }
+    q[a + 372 >> 2] = h;
+    q[b + 96 >> 2] = h;
+    p = a, s = Te(f, 2, 0, h, 0, i + 12 | 0), q[p + 384 >> 2] = s;
+    e : {
+     e = q[i + 12 >> 2];
+     if (e) {
+      break e;
+     }
+     p = a, s = Te(f, 4, 0, h, 0, i + 12 | 0), q[p + 388 >> 2] = s;
+     e = q[i + 12 >> 2];
+     if (e) {
+      break e;
+     }
+     e = n[q[q[j >> 2] >> 2]](l, h, f) | 0;
+     q[i + 12 >> 2] = e;
+     if (e) {
+      break e;
+     }
+     if ((h | 0) >= 1) {
+      c = 0;
+      while (1) {
+       n[q[b + 144 >> 2]](l, c, 6980, 8) | 0;
+       c = c + 1 | 0;
+       if ((h | 0) != (c | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     n[q[b + 28 >> 2]](b);
+     c = q[b >> 2];
+     f : {
+      if (c >>> 0 >= g >>> 0) {
+       break f;
+      }
+      e = 0;
+      while (1) {
+       g : {
+        f = r[c | 0];
+        d = f + -93 | 0;
+        if (d >>> 0 > 7) {
+         break g;
+        }
+        h : {
+         switch (d - 1 | 0) {
+         case 6:
+          d = c + 3 | 0;
+          if (r[c + 1 | 0] != 101 | d >>> 0 >= g >>> 0 | r[c + 2 | 0] != 102) {
+           break g;
+          }
+          j = r[d | 0];
+          if (j >>> 0 > 125) {
+           break g;
+          }
+          switch (j - 1 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 10:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 28:
+          case 29:
+          case 30:
+          case 32:
+          case 33:
+          case 34:
+          case 35:
+          case 37:
+          case 38:
+          case 41:
+          case 42:
+          case 43:
+          case 44:
+          case 45:
+          case 47:
+          case 48:
+          case 49:
+          case 50:
+          case 51:
+          case 52:
+          case 53:
+          case 54:
+          case 55:
+          case 56:
+          case 57:
+          case 58:
+          case 60:
+          case 62:
+          case 63:
+          case 64:
+          case 65:
+          case 66:
+          case 67:
+          case 68:
+          case 69:
+          case 70:
+          case 71:
+          case 72:
+          case 73:
+          case 74:
+          case 75:
+          case 76:
+          case 77:
+          case 78:
+          case 79:
+          case 80:
+          case 81:
+          case 82:
+          case 83:
+          case 84:
+          case 85:
+          case 86:
+          case 87:
+          case 88:
+          case 89:
+          case 91:
+          case 93:
+          case 94:
+          case 95:
+          case 96:
+          case 97:
+          case 98:
+          case 99:
+          case 100:
+          case 101:
+          case 102:
+          case 103:
+          case 104:
+          case 105:
+          case 106:
+          case 107:
+          case 108:
+          case 109:
+          case 110:
+          case 111:
+          case 112:
+          case 113:
+          case 114:
+          case 115:
+          case 116:
+          case 117:
+          case 118:
+          case 119:
+          case 120:
+          case 121:
+          case 123:
+           break g;
+          default:
+           break f;
+          }
+         case 0:
+         case 1:
+         case 2:
+         case 3:
+         case 4:
+         case 5:
+          break g;
+         default:
+          break h;
+         }
+        }
+        d = c + 1 | 0;
+        break f;
+       }
+       i : {
+        j : {
+         if (!(f + -48 >>> 0 > 9 ? !m : 0)) {
+          if (m) {
+           d = c;
+           j = e;
+           break j;
+          }
+          j = n[q[b + 36 >> 2]](b) | 0;
+          n[q[b + 28 >> 2]](b);
+          d = q[b >> 2];
+          if ((c | 0) != (d | 0)) {
+           break j;
+          }
+          q[b + 12 >> 2] = 2;
+          break a;
+         }
+         n[q[b + 32 >> 2]](b);
+         d = c;
+         if (q[b + 12 >> 2]) {
+          break a;
+         }
+         break i;
+        }
+        if (!((e | 0) >= (k | 0) | d + 2 >>> 0 >= g >>> 0 | r[d | 0] != 47)) {
+         d = d + 1 | 0;
+         q[b >> 2] = d;
+         n[q[b + 32 >> 2]](b);
+         c = q[b >> 2];
+         if (q[b + 12 >> 2] | c >>> 0 >= g >>> 0) {
+          break a;
+         }
+         if ((e | 0) < (h | 0)) {
+          f = c - d | 0;
+          c = n[q[b + 144 >> 2]](l, j, d, f + 1 | 0) | 0;
+          q[b + 12 >> 2] = c;
+          if (c) {
+           break a;
+          }
+          o[f + q[q[b + 124 >> 2] + (j << 2) >> 2] | 0] = 0;
+         }
+         e = e + 1 | 0;
+         break i;
+        }
+        if (!m) {
+         break i;
+        }
+        q[b + 12 >> 2] = 2;
+        break a;
+       }
+       n[q[b + 28 >> 2]](b);
+       c = q[b >> 2];
+       if (c >>> 0 < g >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     q[a + 368 >> 2] = 1;
+     q[b >> 2] = d;
+     break a;
+    }
+    q[b + 12 >> 2] = e;
+    break a;
+   }
+   k : {
+    if (d + 17 >>> 0 >= g >>> 0) {
+     break k;
+    }
+    if (jZ(d, 9234, 16)) {
+     break k;
+    }
+    q[a + 368 >> 2] = 2;
+    break b;
+   }
+   l : {
+    if (d + 15 >>> 0 >= g >>> 0) {
+     break l;
+    }
+    if (jZ(d, 9251, 14)) {
+     break l;
+    }
+    q[a + 368 >> 2] = 4;
+    break b;
+   }
+   m : {
+    if (d + 18 >>> 0 >= g >>> 0) {
+     break m;
+    }
+    if (jZ(d, 9266, 17)) {
+     break m;
+    }
+    q[a + 368 >> 2] = 3;
+    break b;
+   }
+   q[b + 12 >> 2] = 162;
+  }
+  Ca = i + 16 | 0;
+  return;
+ }
+ Ca = i + 16 | 0;
+}
+function yE(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = q[a + 76 >> 2];
+ if (f) {
+  h = q[a + 88 >> 2];
+  a = 0;
+  while (1) {
+   c = w(a, 20) + h | 0;
+   e = s[c + 16 >> 1];
+   if ((e & 31) == 12) {
+    i = c + 16 | 0;
+    d = e >>> 8 | 0;
+    a : {
+     if (e >>> 0 > 51199) {
+      b = d;
+      break a;
+     }
+     b : {
+      c : {
+       b = q[c >> 2];
+       if ((b & -256) == 3584) {
+        if (!d) {
+         c = 0;
+         d = b + -3633 | 0;
+         if (d >>> 0 > 156) {
+          break b;
+         }
+         d : {
+          switch (d - 1 | 0) {
+          case 127:
+          case 130:
+          case 131:
+          case 132:
+          case 133:
+          case 137:
+          case 154:
+          case 155:
+           c = 230;
+           break b;
+          case 138:
+           break d;
+          case 0:
+          case 1:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 29:
+          case 30:
+          case 31:
+          case 32:
+          case 33:
+          case 34:
+          case 35:
+          case 36:
+          case 37:
+          case 38:
+          case 39:
+          case 40:
+          case 41:
+          case 42:
+          case 43:
+          case 44:
+          case 45:
+          case 46:
+          case 47:
+          case 48:
+          case 49:
+          case 50:
+          case 51:
+          case 52:
+          case 53:
+          case 54:
+          case 55:
+          case 56:
+          case 57:
+          case 58:
+          case 59:
+          case 60:
+          case 61:
+          case 62:
+          case 63:
+          case 64:
+          case 65:
+          case 66:
+          case 67:
+          case 68:
+          case 69:
+          case 70:
+          case 71:
+          case 72:
+          case 73:
+          case 74:
+          case 75:
+          case 76:
+          case 77:
+          case 78:
+          case 79:
+          case 80:
+          case 81:
+          case 82:
+          case 83:
+          case 84:
+          case 85:
+          case 86:
+          case 87:
+          case 88:
+          case 89:
+          case 90:
+          case 91:
+          case 92:
+          case 93:
+          case 94:
+          case 95:
+          case 96:
+          case 97:
+          case 98:
+          case 99:
+          case 100:
+          case 101:
+          case 102:
+          case 103:
+          case 104:
+          case 105:
+          case 106:
+          case 107:
+          case 108:
+          case 109:
+          case 110:
+          case 111:
+          case 112:
+          case 113:
+          case 114:
+          case 115:
+          case 116:
+          case 117:
+          case 118:
+          case 119:
+          case 120:
+          case 121:
+          case 122:
+          case 123:
+          case 124:
+          case 125:
+          case 126:
+          case 128:
+          case 129:
+          case 134:
+          case 135:
+          case 136:
+          case 139:
+          case 140:
+          case 141:
+          case 142:
+          case 143:
+          case 144:
+          case 145:
+          case 146:
+          case 147:
+          case 148:
+          case 149:
+          case 150:
+          case 151:
+          case 152:
+          case 153:
+           break b;
+          default:
+           break c;
+          }
+         }
+         c = 220;
+         break b;
+        }
+        c = 222;
+        if ((b | 0) == 3642) {
+         break b;
+        }
+       }
+       g = d + -3 | 0;
+       if (g >>> 0 > 129) {
+        c = d;
+        break b;
+       }
+       b = 220;
+       c = d;
+       e : {
+        switch (g - 1 | 0) {
+        case 9:
+         b = 214;
+         break a;
+        case 6:
+         b = 232;
+         break a;
+        case 7:
+        case 10:
+         b = 228;
+         break a;
+        case 22:
+        case 23:
+        case 24:
+        case 25:
+        case 27:
+        case 28:
+        case 30:
+        case 31:
+        case 32:
+         b = 230;
+         break a;
+        default:
+         b = 222;
+         break a;
+        case 103:
+         b = 232;
+         break a;
+        case 118:
+        case 128:
+         break e;
+        case 11:
+        case 12:
+        case 13:
+        case 14:
+        case 15:
+        case 16:
+        case 17:
+        case 18:
+        case 19:
+        case 20:
+        case 21:
+        case 26:
+        case 29:
+        case 114:
+        case 125:
+        case 127:
+         break a;
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 8:
+        case 33:
+        case 34:
+        case 35:
+        case 36:
+        case 37:
+        case 38:
+        case 39:
+        case 40:
+        case 41:
+        case 42:
+        case 43:
+        case 44:
+        case 45:
+        case 46:
+        case 47:
+        case 48:
+        case 49:
+        case 50:
+        case 51:
+        case 52:
+        case 53:
+        case 54:
+        case 55:
+        case 56:
+        case 57:
+        case 58:
+        case 59:
+        case 60:
+        case 61:
+        case 62:
+        case 63:
+        case 64:
+        case 65:
+        case 66:
+        case 67:
+        case 68:
+        case 69:
+        case 70:
+        case 71:
+        case 72:
+        case 73:
+        case 74:
+        case 75:
+        case 76:
+        case 77:
+        case 78:
+        case 79:
+        case 80:
+        case 81:
+        case 82:
+        case 83:
+        case 84:
+        case 85:
+        case 86:
+        case 87:
+        case 88:
+        case 89:
+        case 90:
+        case 91:
+        case 92:
+        case 93:
+        case 94:
+        case 95:
+        case 96:
+        case 97:
+        case 98:
+        case 99:
+        case 100:
+        case 101:
+        case 102:
+        case 104:
+        case 105:
+        case 106:
+        case 107:
+        case 108:
+        case 109:
+        case 110:
+        case 111:
+        case 112:
+        case 113:
+        case 115:
+        case 116:
+        case 117:
+        case 119:
+        case 120:
+        case 121:
+        case 122:
+        case 123:
+        case 124:
+        case 126:
+         break b;
+        }
+       }
+       b = 230;
+       break a;
+      }
+      c = 232;
+     }
+     b = c;
+    }
+    p[i >> 1] = e & 255 | b << 8;
+   }
+   a = a + 1 | 0;
+   if ((f | 0) != (a | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function m$(a, b, c, d, e, f, g, h, i) {
+ var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0, u = 0, v = 0;
+ l = Ca - 112 | 0;
+ Ca = l;
+ m = h;
+ o = i & 2147483647;
+ k = c + -1 | 0;
+ j = b + -1 | 0;
+ if (j >>> 0 < 4294967295) {
+  k = k + 1 | 0;
+ }
+ n = j;
+ r = (j | 0) == -1 & (k | 0) == -1;
+ p = e & 2147483647;
+ j = p;
+ s = d;
+ k = (c | 0) == (k | 0) & n >>> 0 < b >>> 0 | k >>> 0 < c >>> 0;
+ n = d + k | 0;
+ if (n >>> 0 < k >>> 0) {
+  j = j + 1 | 0;
+ }
+ n = n + -1 | 0;
+ k = j + -1 | 0;
+ j = n;
+ a : {
+  b : {
+   k = j >>> 0 < 4294967295 ? k + 1 | 0 : k;
+   if (!((j | 0) == -1 & (k | 0) == 2147418111 ? r : (k | 0) == 2147418111 & j >>> 0 > 4294967295 | k >>> 0 > 2147418111)) {
+    k = g + -1 | 0;
+    j = f + -1 | 0;
+    if (j >>> 0 < 4294967295) {
+     k = k + 1 | 0;
+    }
+    n = j;
+    r = (j | 0) != -1 | (k | 0) != -1;
+    j = o;
+    k = (g | 0) == (k | 0) & n >>> 0 < f >>> 0 | k >>> 0 < g >>> 0;
+    n = k + m | 0;
+    if (n >>> 0 < k >>> 0) {
+     j = j + 1 | 0;
+    }
+    k = n + -1 | 0;
+    j = j + -1 | 0;
+    j = k >>> 0 < 4294967295 ? j + 1 | 0 : j;
+    if ((k | 0) == -1 & (j | 0) == 2147418111 ? r : (j | 0) == 2147418111 & k >>> 0 < 4294967295 | j >>> 0 < 2147418111) {
+     break b;
+    }
+   }
+   if (!(!s & (p | 0) == 2147418112 ? !(b | c) : (p | 0) == 2147418112 & s >>> 0 < 0 | p >>> 0 < 2147418112)) {
+    h = d;
+    i = e | 32768;
+    f = b;
+    g = c;
+    break a;
+   }
+   if (!(!m & (o | 0) == 2147418112 ? !(f | g) : (o | 0) == 2147418112 & m >>> 0 < 0 | o >>> 0 < 2147418112)) {
+    i = i | 32768;
+    break a;
+   }
+   if (!(b | s | (p ^ 2147418112 | c))) {
+    j = d;
+    d = !(b ^ f | d ^ h | (c ^ g | e ^ i ^ -2147483648));
+    h = d ? 0 : j;
+    i = d ? 2147450880 : e;
+    f = d ? 0 : b;
+    g = d ? 0 : c;
+    break a;
+   }
+   if (!(f | m | (o ^ 2147418112 | g))) {
+    break a;
+   }
+   if (!(b | s | (c | p))) {
+    if (f | m | (g | o)) {
+     break a;
+    }
+    f = b & f;
+    g = c & g;
+    h = d & h;
+    i = e & i;
+    break a;
+   }
+   if (f | m | (g | o)) {
+    break b;
+   }
+   f = b;
+   g = c;
+   h = d;
+   i = e;
+   break a;
+  }
+  k = (m | 0) == (s | 0) & (o | 0) == (p | 0) ? (c | 0) == (g | 0) & f >>> 0 > b >>> 0 | g >>> 0 > c >>> 0 : (o | 0) == (p | 0) & m >>> 0 > s >>> 0 | o >>> 0 > p >>> 0;
+  j = k;
+  p = j ? f : b;
+  o = j ? g : c;
+  m = j ? i : e;
+  s = m;
+  t = j ? h : d;
+  n = t;
+  j = m & 65535;
+  i = k ? e : i;
+  u = i;
+  e = k ? d : h;
+  r = i >>> 16 & 32767;
+  m = m >>> 16 & 32767;
+  if (!m) {
+   d = !(j | n);
+   h = d << 6;
+   i = z(d ? p : n) + 32 | 0;
+   d = z(d ? o : j);
+   d = h + ((d | 0) == 32 ? i : d) | 0;
+   n$(l + 96 | 0, p, o, n, j, d + -15 | 0);
+   n = q[l + 104 >> 2];
+   p = q[l + 96 >> 2];
+   o = q[l + 100 >> 2];
+   m = 16 - d | 0;
+   j = q[l + 108 >> 2];
+  }
+  f = k ? b : f;
+  g = k ? c : g;
+  b = e;
+  c = u & 65535;
+  if (r) {
+   d = b;
+   b = c;
+  } else {
+   i = b;
+   d = !(b | c);
+   h = d << 6;
+   k = z(d ? f : b) + 32 | 0;
+   b = z(d ? g : c);
+   b = h + ((b | 0) == 32 ? k : b) | 0;
+   n$(l + 80 | 0, f, g, i, c, b + -15 | 0);
+   r = 16 - b | 0;
+   f = q[l + 80 >> 2];
+   g = q[l + 84 >> 2];
+   d = q[l + 88 >> 2];
+   b = q[l + 92 >> 2];
+  }
+  c = d;
+  k = b << 3 | c >>> 29;
+  h = c << 3 | g >>> 29;
+  i = k | 524288;
+  b = n;
+  d = j << 3 | b >>> 29;
+  k = b << 3 | o >>> 29;
+  v = d;
+  t = e ^ t;
+  n = s ^ u;
+  b = f;
+  j = g << 3 | b >>> 29;
+  b = b << 3;
+  c = j;
+  e = m - r | 0;
+  d = b;
+  c : {
+   if (!e) {
+    break c;
+   }
+   if (e >>> 0 > 127) {
+    h = 0;
+    i = 0;
+    j = 0;
+    d = 1;
+    break c;
+   }
+   n$(l - -64 | 0, b, c, h, i, 128 - e | 0);
+   v$(l + 48 | 0, b, c, h, i, e);
+   h = q[l + 56 >> 2];
+   i = q[l + 60 >> 2];
+   j = q[l + 52 >> 2];
+   d = q[l + 48 >> 2] | ((q[l + 64 >> 2] | q[l + 72 >> 2]) != 0 | (q[l + 68 >> 2] | q[l + 76 >> 2]) != 0);
+  }
+  g = j;
+  e = k;
+  r = v | 524288;
+  b = p;
+  j = o << 3 | b >>> 29;
+  c = b << 3;
+  d : {
+   if ((n | 0) < -1 ? 1 : (n | 0) <= -1 ? t >>> 0 > 4294967295 ? 0 : 1 : 0) {
+    o = d;
+    b = c - d | 0;
+    p = e - h | 0;
+    d = (g | 0) == (j | 0) & c >>> 0 < d >>> 0 | j >>> 0 < g >>> 0;
+    f = p - d | 0;
+    c = j - ((c >>> 0 < o >>> 0) + g | 0) | 0;
+    g = (r - ((e >>> 0 < h >>> 0) + i | 0) | 0) - (p >>> 0 < d >>> 0) | 0;
+    if (!(b | f | (c | g))) {
+     f = 0;
+     g = 0;
+     h = 0;
+     i = 0;
+     break a;
+    }
+    if ((g | 0) == 524287 & f >>> 0 > 4294967295 | g >>> 0 > 524287) {
+     break d;
+    }
+    h = b;
+    d = !(f | g);
+    e = d << 6;
+    i = z(d ? b : f) + 32 | 0;
+    b = z(d ? c : g);
+    b = e + ((b | 0) == 32 ? i : b) | 0;
+    b = b + -12 | 0;
+    n$(l + 32 | 0, h, c, f, g, b);
+    m = m - b | 0;
+    f = q[l + 40 >> 2];
+    g = q[l + 44 >> 2];
+    b = q[l + 32 >> 2];
+    c = q[l + 36 >> 2];
+    break d;
+   }
+   k = g + j | 0;
+   b = d;
+   c = b + c | 0;
+   if (c >>> 0 < b >>> 0) {
+    k = k + 1 | 0;
+   }
+   b = c;
+   c = k;
+   g = (g | 0) == (c | 0) & b >>> 0 < d >>> 0 | c >>> 0 < g >>> 0;
+   k = i + r | 0;
+   d = e + h | 0;
+   if (d >>> 0 < e >>> 0) {
+    k = k + 1 | 0;
+   }
+   f = d;
+   e = g + d | 0;
+   d = k;
+   d = e >>> 0 < f >>> 0 ? d + 1 | 0 : d;
+   f = e;
+   g = d;
+   if (!(d & 1048576)) {
+    break d;
+   }
+   b = b & 1 | ((c & 1) << 31 | b >>> 1);
+   c = f << 31 | c >>> 1;
+   m = m + 1 | 0;
+   f = (g & 1) << 31 | f >>> 1;
+   g = g >>> 1 | 0;
+  }
+  h = 0;
+  j = s & -2147483648;
+  if ((m | 0) >= 32767) {
+   i = j | 2147418112;
+   f = 0;
+   g = 0;
+   break a;
+  }
+  e = 0;
+  e : {
+   if ((m | 0) > 0) {
+    e = m;
+    break e;
+   }
+   n$(l + 16 | 0, b, c, f, g, m + 127 | 0);
+   v$(l, b, c, f, g, 1 - m | 0);
+   b = q[l >> 2] | ((q[l + 16 >> 2] | q[l + 24 >> 2]) != 0 | (q[l + 20 >> 2] | q[l + 28 >> 2]) != 0);
+   c = q[l + 4 >> 2];
+   f = q[l + 8 >> 2];
+   g = q[l + 12 >> 2];
+  }
+  h = h | ((g & 7) << 29 | f >>> 3);
+  e = j | g >>> 3 & 65535 | e << 16;
+  j = f << 29;
+  d = 0;
+  f = j;
+  g = (c & 7) << 29 | b >>> 3 | d;
+  j = e;
+  d = c >>> 3 | f;
+  k = d;
+  e = b & 7;
+  b = e >>> 0 > 4;
+  c = b + g | 0;
+  if (c >>> 0 < b >>> 0) {
+   k = k + 1 | 0;
+  }
+  b = c;
+  c = k;
+  d = (d | 0) == (c | 0) & b >>> 0 < g >>> 0 | c >>> 0 < d >>> 0;
+  f = d + h | 0;
+  if (f >>> 0 < d >>> 0) {
+   j = j + 1 | 0;
+  }
+  e = (e | 0) == 4;
+  d = e ? b & 1 : 0;
+  i = j;
+  h = f;
+  e = 0;
+  j = c + e | 0;
+  c = b + d | 0;
+  if (c >>> 0 < b >>> 0) {
+   j = j + 1 | 0;
+  }
+  f = c;
+  b = c;
+  g = j;
+  b = (e | 0) == (j | 0) & b >>> 0 < d >>> 0 | j >>> 0 < e >>> 0;
+  c = h + b | 0;
+  if (c >>> 0 < b >>> 0) {
+   i = i + 1 | 0;
+  }
+  h = c;
+ }
+ q[a >> 2] = f;
+ q[a + 4 >> 2] = g;
+ q[a + 8 >> 2] = h;
+ q[a + 12 >> 2] = i;
+ Ca = l + 112 | 0;
+}
+function gn(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0;
+ g = Ca - 160 | 0;
+ Ca = g;
+ a : {
+  b : {
+   if (jZ(a, 28752, 13)) {
+    break b;
+   }
+   c = r[a + 13 | 0];
+   if (c >>> 0 > 32) {
+    break b;
+   }
+   c : {
+    switch (c - 1 | 0) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 10:
+    case 11:
+    case 13:
+    case 14:
+    case 15:
+    case 16:
+    case 17:
+    case 18:
+    case 19:
+    case 20:
+    case 21:
+    case 22:
+    case 23:
+    case 24:
+    case 25:
+    case 26:
+    case 27:
+    case 28:
+    case 29:
+    case 30:
+     break b;
+    default:
+     break c;
+    }
+   }
+   a = q[e + 32 >> 2];
+   d : {
+    e : {
+     if (!a | !q[a + 72 >> 2]) {
+      break e;
+     }
+     if (!ff(27495, q[a + 92 >> 2])) {
+      break e;
+     }
+     if (q[a + 80 >> 2]) {
+      break d;
+     }
+    }
+    b = q[e + 32 >> 2];
+    a = p[b + 12 >> 1];
+    q[b + 40 >> 2] = a;
+    q[g + 16 >> 2] = a;
+    PZ(g + 32 | 0, g + 16 | 0);
+    c = hn(q[e + 32 >> 2], 27495, g + 32 | 0);
+    if (c) {
+     break a;
+    }
+   }
+   a = q[e + 32 >> 2];
+   f : {
+    g : {
+     if (!a | !q[a + 72 >> 2]) {
+      break g;
+     }
+     if (!ff(27507, q[a + 92 >> 2])) {
+      break g;
+     }
+     if (q[a + 80 >> 2]) {
+      break f;
+     }
+    }
+    b = q[e + 32 >> 2];
+    a = p[b + 14 >> 1];
+    q[b + 44 >> 2] = a;
+    q[g >> 2] = a;
+    PZ(g + 32 | 0, g);
+    c = hn(q[e + 32 >> 2], 27507, g + 32 | 0);
+    if (c) {
+     break a;
+    }
+   }
+   q[e >> 2] = q[e >> 2] & -17;
+   q[d >> 2] = 293;
+   c = 0;
+   break a;
+  }
+  h : {
+   if (jZ(a, 28766, 21)) {
+    break h;
+   }
+   d = r[a + 21 | 0];
+   if (d >>> 0 > 32) {
+    break h;
+   }
+   c = 0;
+   switch (d - 1 | 0) {
+   case 0:
+   case 1:
+   case 2:
+   case 3:
+   case 4:
+   case 5:
+   case 6:
+   case 7:
+   case 10:
+   case 11:
+   case 13:
+   case 14:
+   case 15:
+   case 16:
+   case 17:
+   case 18:
+   case 19:
+   case 20:
+   case 21:
+   case 22:
+   case 23:
+   case 24:
+   case 25:
+   case 26:
+   case 27:
+   case 28:
+   case 29:
+   case 30:
+    break h;
+   default:
+    break a;
+   }
+  }
+  i : {
+   if (jZ(a, 26088, 7)) {
+    break i;
+   }
+   d = r[a + 7 | 0];
+   if (d >>> 0 > 32) {
+    break i;
+   }
+   c = a + 7 | 0;
+   j : {
+    switch (d - 1 | 0) {
+    case 8:
+    case 9:
+    case 12:
+    case 31:
+     o[a + 7 | 0] = 0;
+     c = a + 8 | 0;
+     break;
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 10:
+    case 11:
+    case 13:
+    case 14:
+    case 15:
+    case 16:
+    case 17:
+    case 18:
+    case 19:
+    case 20:
+    case 21:
+    case 22:
+    case 23:
+    case 24:
+    case 25:
+    case 26:
+    case 27:
+    case 28:
+    case 29:
+    case 30:
+     break i;
+    default:
+     break j;
+    }
+   }
+   c = hn(q[e + 32 >> 2], a, c);
+   break a;
+  }
+  h = q[e + 32 >> 2];
+  c = a;
+  while (1) {
+   k : {
+    l : {
+     m : {
+      d = r[c | 0];
+      if (d >>> 0 > 9) {
+       if ((d | 0) == 32) {
+        break m;
+       }
+       break k;
+      }
+      f = -1;
+      switch (d - 1 | 0) {
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+       break k;
+      case 8:
+       break m;
+      default:
+       break l;
+      }
+     }
+     o[c | 0] = 0;
+     f = d;
+    }
+    d = 0;
+    n : {
+     if (!a | !r[a | 0]) {
+      break n;
+     }
+     i = ff(a, h + 112 | 0);
+     if (!i) {
+      break n;
+     }
+     d = q[i >> 2];
+     if (d >>> 0 >= 83) {
+      d = (q[h + 104 >> 2] + (d << 4) | 0) + -1328 | 0;
+      break n;
+     }
+     d = (d << 4) + 26112 | 0;
+    }
+    if ((f | 0) != -1) {
+     o[c | 0] = f;
+    }
+    if (!(q[d + 4 >> 2] != 1 ? d : 0)) {
+     if (r[c | 0]) {
+      o[c | 0] = 0;
+      c = c + 1 | 0;
+     }
+     f = a + b | 0;
+     while (1) {
+      b = r[c | 0];
+      if (!((b | 0) != 9 ? (b | 0) != 32 : 0)) {
+       c = c + 1 | 0;
+       continue;
+      }
+      break;
+     }
+     b = (b | 0) == 34 ? c + 1 | 0 : c;
+     o : {
+      if (f >>> 0 <= b >>> 0) {
+       break o;
+      }
+      while (1) {
+       f = f + -1 | 0;
+       c = r[f | 0] + -9 | 0;
+       if (c >>> 0 > 25) {
+        break o;
+       }
+       p : {
+        switch (c - 1 | 0) {
+        default:
+         o[f | 0] = 0;
+         if (f >>> 0 > b >>> 0) {
+          continue;
+         }
+         break o;
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+        case 9:
+        case 10:
+        case 11:
+        case 12:
+        case 13:
+        case 14:
+        case 15:
+        case 16:
+        case 17:
+        case 18:
+        case 19:
+        case 20:
+        case 21:
+        case 23:
+         break o;
+        case 24:
+         break p;
+        }
+       }
+       break;
+      }
+      o[f | 0] = 0;
+     }
+     c = hn(q[e + 32 >> 2], a, b);
+     break a;
+    }
+    i = e + 40 | 0;
+    c = fn(i, 27456, a, b);
+    if (c) {
+     break a;
+    }
+    c = 1;
+    b = q[e + 40 >> 2];
+    j = q[b >> 2];
+    a = 0;
+    q : {
+     r : {
+      d = q[e + 48 >> 2];
+      if (d >>> 0 <= 1) {
+       if (d - 1) {
+        break q;
+       }
+       break r;
+      }
+      q[b >> 2] = q[b + 4 >> 2];
+      b = d + -1 | 0;
+      if ((b | 0) != 1) {
+       d = 1;
+       while (1) {
+        f = q[i >> 2];
+        d = d + 1 | 0;
+        q[f + (c << 2) >> 2] = q[f + (d << 2) >> 2];
+        c = c + 1 | 0;
+        if ((c | 0) != (b | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      q[e + 48 >> 2] = b;
+      if (!b) {
+       break q;
+      }
+      d = 0;
+      h = q[q[i >> 2] >> 2];
+      c = h;
+      while (1) {
+       f = r[c | 0];
+       if (f) {
+        while (1) {
+         o[d + h | 0] = f;
+         d = d + 1 | 0;
+         f = r[c + 1 | 0];
+         c = c + 1 | 0;
+         if (f) {
+          continue;
+         }
+         break;
+        }
+        b = q[e + 48 >> 2];
+       }
+       a = a + 1 | 0;
+       if (a >>> 0 < b >>> 0) {
+        o[d + h | 0] = 32;
+        d = d + 1 | 0;
+        b = q[e + 48 >> 2];
+       }
+       if (a >>> 0 < b >>> 0) {
+        c = q[q[i >> 2] + (a << 2) >> 2];
+        continue;
+       }
+       break;
+      }
+      a = 28577;
+      if ((h | 0) == 28577) {
+       break q;
+      }
+      o[d + h | 0] = 0;
+      a = h;
+      break q;
+     }
+     q[e + 48 >> 2] = 0;
+    }
+    c = hn(q[e + 32 >> 2], j, a);
+    break a;
+   }
+   c = c + 1 | 0;
+   continue;
+  }
+ }
+ Ca = g + 160 | 0;
+ return c | 0;
+}
+function MU(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = -1;
+ g = c - b | 0;
+ a : {
+  if ((g | 0) < 2) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          i = r[b | 0];
+          e = i + -216 | 0;
+          if (e >>> 0 > 39) {
+           if (i) {
+            break f;
+           }
+           e = r[b + 1 | 0];
+           f = a + 72 | 0;
+           j = r[e + f | 0] + -5 | 0;
+           if (j >>> 0 > 24) {
+            break d;
+           }
+           j : {
+            switch (j - 1 | 0) {
+            case 0:
+             h = -2;
+             if ((g | 0) >= 3) {
+              break d;
+             }
+             break a;
+            case 13:
+             break j;
+            case 16:
+            case 18:
+             break c;
+            case 23:
+             break e;
+            case 1:
+             break g;
+            default:
+             break d;
+            }
+           }
+           e = b + 2 | 0;
+           if ((c - e | 0) < 2) {
+            break a;
+           }
+           k : {
+            if (r[e | 0]) {
+             break k;
+            }
+            a = r[b + 3 | 0];
+            if ((a | 0) == 120) {
+             e = b + 4 | 0;
+             if ((c - e | 0) < 2) {
+              break a;
+             }
+             if (r[e | 0] | (r[f + r[b + 5 | 0] | 0] & 254) != 24) {
+              break i;
+             }
+             b = b + 6 | 0;
+             if ((c - b | 0) <= 1) {
+              break a;
+             }
+             while (1) {
+              l : {
+               m : {
+                if (r[b | 0]) {
+                 break m;
+                }
+                a = r[f + r[e + 3 | 0] | 0];
+                if (a + -24 >>> 0 < 2) {
+                 break l;
+                }
+                if ((a | 0) != 18) {
+                 break m;
+                }
+                q[d >> 2] = e + 4;
+                return 10;
+               }
+               q[d >> 2] = b;
+               break b;
+              }
+              e = b;
+              b = b + 2 | 0;
+              if ((c - b | 0) > 1) {
+               continue;
+              }
+              break;
+             }
+             break a;
+            }
+            if (r[a + f | 0] != 25) {
+             break k;
+            }
+            while (1) {
+             a = e;
+             e = e + 2 | 0;
+             if ((c - e | 0) < 2) {
+              break a;
+             }
+             if (r[e | 0]) {
+              break k;
+             }
+             b = r[f + r[a + 3 | 0] | 0];
+             if ((b | 0) == 25) {
+              continue;
+             }
+             break;
+            }
+            if ((b | 0) != 18) {
+             break k;
+            }
+            q[d >> 2] = a + 4;
+            return 10;
+           }
+           q[d >> 2] = e;
+           break b;
+          }
+          switch (e - 4 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+           break d;
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 28:
+          case 29:
+          case 30:
+          case 31:
+          case 32:
+          case 33:
+          case 34:
+           break f;
+          case 35:
+           break h;
+          default:
+           break g;
+          }
+         }
+         q[d >> 2] = e;
+         break b;
+        }
+        e = r[b + 1 | 0];
+        if (e >>> 0 <= 253) {
+         break e;
+        }
+        break d;
+       }
+       h = -2;
+       if ((g | 0) >= 4) {
+        break d;
+       }
+       break a;
+      }
+      e = r[b + 1 | 0];
+     }
+     if (q[(e >>> 3 & 28 | r[i + 492208 | 0] << 5) + 490192 >> 2] >>> (e & 31) & 1) {
+      break c;
+     }
+    }
+    q[d >> 2] = b;
+    break b;
+   }
+   e = b + 2 | 0;
+   f = c - e | 0;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   i = a + 72 | 0;
+   while (1) {
+    n : {
+     o : {
+      p : {
+       q : {
+        r : {
+         g = r[b + 2 | 0];
+         a = g + -216 | 0;
+         if (a >>> 0 > 39) {
+          if (g) {
+           break q;
+          }
+          a = r[b + 3 | 0];
+          j = r[i + a | 0] + -5 | 0;
+          if (j >>> 0 > 24) {
+           break n;
+          }
+          s : {
+           switch (j - 1 | 0) {
+           case 0:
+            h = -2;
+            if ((f | 0) >= 3) {
+             break n;
+            }
+            break a;
+           case 16:
+           case 18:
+           case 19:
+           case 20:
+           case 21:
+            break o;
+           case 23:
+            break p;
+           case 1:
+            break r;
+           case 12:
+            break s;
+           default:
+            break n;
+           }
+          }
+          q[d >> 2] = b + 4;
+          return 9;
+         }
+         t : {
+          switch (a - 4 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+           break n;
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 28:
+          case 29:
+          case 30:
+          case 31:
+          case 32:
+          case 33:
+          case 34:
+           break q;
+          case 35:
+           break t;
+          default:
+           break r;
+          }
+         }
+         a = r[b + 3 | 0];
+         if (a >>> 0 <= 253) {
+          break p;
+         }
+         break n;
+        }
+        h = -2;
+        if ((f | 0) >= 4) {
+         break n;
+        }
+        break a;
+       }
+       a = r[b + 3 | 0];
+      }
+      if (!(q[(a >>> 3 & 28 | r[g + 492464 | 0] << 5) + 490192 >> 2] >>> (a & 31) & 1)) {
+       break n;
+      }
+     }
+     b = e;
+     e = b + 2 | 0;
+     f = c - e | 0;
+     if ((f | 0) > 1) {
+      continue;
+     }
+     break a;
+    }
+    break;
+   }
+   q[d >> 2] = e;
+  }
+  h = 0;
+ }
+ return h;
+}
+function J$(a, b) {
+ var c = 0, d = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, w = 0, x = 0, z = 0, A = 0, B = 0;
+ d = 1;
+ h(+b);
+ i = e(1) | 0;
+ j = e(0) | 0;
+ p = i;
+ a : {
+  b : {
+   q = i;
+   l = i & 2147483647;
+   c : {
+    if (!(j | l)) {
+     break c;
+    }
+    h(+a);
+    k = e(1) | 0;
+    w = e(0) | 0;
+    i = k;
+    if ((k | 0) == 1072693248 ? !w : 0) {
+     break c;
+    }
+    d : {
+     k = i & 2147483647;
+     if (!(k >>> 0 > 2146435072 | (k | 0) == 2146435072 & (w | 0) != 0 | l >>> 0 > 2146435072)) {
+      if (!j | (l | 0) != 2146435072) {
+       break d;
+      }
+     }
+     return a + b;
+    }
+    e : {
+     f : {
+      g : {
+       n = 0;
+       h : {
+        if ((i | 0) > -1) {
+         break h;
+        }
+        n = 2;
+        if (l >>> 0 > 1128267775) {
+         break h;
+        }
+        n = 0;
+        if (l >>> 0 < 1072693248) {
+         break h;
+        }
+        t = l >>> 20 | 0;
+        if (l >>> 0 < 1094713344) {
+         break g;
+        }
+        c = 1075 - t | 0;
+        t = j >>> c | 0;
+        n = 0;
+        if ((j | 0) != t << c) {
+         break h;
+        }
+        n = 2 - (t & 1) | 0;
+       }
+       c = n;
+       n = c;
+       if (!j) {
+        break f;
+       }
+       break e;
+      }
+      if (j) {
+       break e;
+      }
+      c = 1043 - t | 0;
+      j = l >>> c | 0;
+      n = 0;
+      if ((l | 0) != j << c) {
+       break f;
+      }
+      n = 2 - (j & 1) | 0;
+     }
+     c = n;
+     if ((l | 0) == 2146435072) {
+      if (!(k + -1072693248 | w)) {
+       break c;
+      }
+      if (k >>> 0 >= 1072693248) {
+       return (q | 0) > -1 ? b : 0;
+      }
+      return (q | 0) > -1 ? 0 : -b;
+     }
+     if ((l | 0) == 1072693248) {
+      if ((q | 0) > -1) {
+       return a;
+      }
+      return 1 / a;
+     }
+     if ((q | 0) == 1073741824) {
+      return a * a;
+     }
+     if ((q | 0) != 1071644672 | (i | 0) < 0) {
+      break e;
+     }
+     return E(a);
+    }
+    d = y(a);
+    if (!(((k | 1073741824) != 2146435072 ? k : 0) | w)) {
+     d = (q | 0) < 0 ? 1 / d : d;
+     if ((i | 0) > -1) {
+      break c;
+     }
+     if (!(k + -1072693248 | c)) {
+      a = d - d;
+      return a / a;
+     }
+     return (c | 0) == 1 ? -d : d;
+    }
+    r = 1;
+    if (!((i | 0) > -1 | c >>> 0 > 1)) {
+     if (c - 1) {
+      a = a - a;
+      return a / a;
+     }
+     r = -1;
+    }
+    i : {
+     if (l >>> 0 >= 1105199105) {
+      if (l >>> 0 >= 1139802113) {
+       if (k >>> 0 <= 1072693247) {
+        return (q | 0) < 0 ? H : 0;
+       }
+       return (q | 0) > 0 ? H : 0;
+      }
+      if (k >>> 0 <= 1072693246) {
+       return (q | 0) < 0 ? r * 1e+300 * 1e+300 : r * 1e-300 * 1e-300;
+      }
+      if (k >>> 0 >= 1072693249) {
+       return (q | 0) > 0 ? r * 1e+300 * 1e+300 : r * 1e-300 * 1e-300;
+      }
+      a = d + -1;
+      d = a * 1.4426950216293335;
+      o = a * 1.9259629911266175e-8 + a * a * (.5 - a * (a * -.25 + .3333333333333333)) * -1.4426950408889634;
+      h(+(d + o));
+      c = e(1) | 0;
+      e(0) | 0;
+      f(0, 0);
+      f(1, c | 0);
+      a = +g();
+      m = a - d;
+      break i;
+     }
+     a = d * 9007199254740992;
+     c = k >>> 0 < 1048576;
+     d = c ? a : d;
+     h(+a);
+     j = e(1) | 0;
+     e(0) | 0;
+     i = c ? j : k;
+     k = i & 1048575;
+     j = k | 1072693248;
+     l = (i >> 20) + (c ? -1076 : -1023) | 0;
+     i = 0;
+     j : {
+      if (k >>> 0 < 235663) {
+       break j;
+      }
+      if (k >>> 0 < 767610) {
+       i = 1;
+       break j;
+      }
+      j = j + -1048576 | 0;
+      l = l + 1 | 0;
+     }
+     k = i << 3;
+     u = v[k + 636672 >> 3];
+     h(+d);
+     e(1) | 0;
+     f(0, e(0) | 0);
+     f(1, j | 0);
+     o = +g();
+     m = v[k + 636640 >> 3];
+     s = o - m;
+     x = 1 / (m + o);
+     d = s * x;
+     h(+d);
+     c = e(1) | 0;
+     e(0) | 0;
+     f(0, 0);
+     f(1, c | 0);
+     a = +g();
+     A = a;
+     z = a * a;
+     B = s;
+     f(0, 0);
+     f(1, ((j >> 1 | 536870912) + (i << 18) | 0) + 524288 | 0);
+     s = +g();
+     o = x * (B - a * s - a * (o - (s - m)));
+     m = (d + a) * o;
+     a = d * d;
+     m = m + a * a * (a * (a * (a * (a * (a * .20697501780033842 + .23066074577556175) + .272728123808534) + .33333332981837743) + .4285714285785502) + .5999999999999946);
+     h(+(z + 3 + m));
+     c = e(1) | 0;
+     e(0) | 0;
+     f(0, 0);
+     f(1, c | 0);
+     a = +g();
+     s = A * a;
+     d = o * a + d * (m - (a + -3 - z));
+     h(+(s + d));
+     c = e(1) | 0;
+     e(0) | 0;
+     f(0, 0);
+     f(1, c | 0);
+     a = +g();
+     m = a * .9617967009544373;
+     o = v[k + 636656 >> 3] + ((d - (a - s)) * .9617966939259756 + a * -7.028461650952758e-9);
+     d = +(l | 0);
+     h(+(u + (m + o) + d));
+     c = e(1) | 0;
+     e(0) | 0;
+     f(0, 0);
+     f(1, c | 0);
+     a = +g();
+     m = a - d - u - m;
+    }
+    f(0, 0);
+    f(1, p | 0);
+    u = +g();
+    d = a * u;
+    a = (o - m) * b + (b - u) * a;
+    b = d + a;
+    h(+b);
+    i = e(1) | 0;
+    p = e(0) | 0;
+    k : {
+     j = i;
+     c = j;
+     if ((c | 0) >= 1083179008) {
+      if (p | c + -1083179008) {
+       break b;
+      }
+      if (!(a + 8.008566259537294e-17 > b - d)) {
+       break k;
+      }
+      break b;
+     }
+     if ((c & 2147482624) >>> 0 < 1083231232) {
+      break k;
+     }
+     if (p | c + 1064252416) {
+      break a;
+     }
+     if (!(a <= b - d)) {
+      break k;
+     }
+     break a;
+    }
+    i = 0;
+    p = c & 2147483647;
+    if (p >>> 0 >= 1071644673) {
+     j = c + (1048576 >>> (p >>> 20 | 0) + -1022 | 0) | 0;
+     p = j >>> 20 & 2047;
+     i = (j & 1048575 | 1048576) >>> 1043 - p | 0;
+     i = (c | 0) < 0 ? 0 - i | 0 : i;
+     f(0, 0);
+     f(1, j & -1048576 >> p + -1023);
+     d = d - +g();
+     h(+(a + d));
+     c = e(1) | 0;
+     e(0) | 0;
+    } else {
+     c = j;
+    }
+    f(0, 0);
+    f(1, c | 0);
+    b = +g();
+    o = b * .6931471824645996;
+    d = (a - (b - d)) * .6931471805599453 + b * -1.904654299957768e-9;
+    a = o + d;
+    b = a * a;
+    b = a - b * (b * (b * (b * (b * 4.1381367970572385e-8 + -16533902205465252e-22) + 6613756321437934e-20) + -.0027777777777015593) + .16666666666666602);
+    m = a * b / (b + -2);
+    b = d - (a - o);
+    a = a - (m - (b + a * b)) + 1;
+    h(+a);
+    c = e(1) | 0;
+    j = e(0) | 0;
+    c = (i << 20) + c | 0;
+    l : {
+     if ((c | 0) <= 1048575) {
+      a = W$(a, i);
+      break l;
+     }
+     f(0, j | 0);
+     f(1, c | 0);
+     a = +g();
+    }
+    d = r * a;
+   }
+   return d;
+  }
+  return r * 1e+300 * 1e+300;
+ }
+ return r * 1e-300 * 1e-300;
+}
+function qU(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = -1;
+ g = c - b | 0;
+ a : {
+  if ((g | 0) < 2) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          i = r[b + 1 | 0];
+          e = i + -216 | 0;
+          if (e >>> 0 > 39) {
+           if (i) {
+            break f;
+           }
+           e = r[b | 0];
+           f = a + 72 | 0;
+           j = r[e + f | 0] + -5 | 0;
+           if (j >>> 0 > 24) {
+            break d;
+           }
+           j : {
+            switch (j - 1 | 0) {
+            case 0:
+             h = -2;
+             if ((g | 0) >= 3) {
+              break d;
+             }
+             break a;
+            case 13:
+             break j;
+            case 16:
+            case 18:
+             break c;
+            case 23:
+             break e;
+            case 1:
+             break g;
+            default:
+             break d;
+            }
+           }
+           e = b + 2 | 0;
+           if ((c - e | 0) < 2) {
+            break a;
+           }
+           k : {
+            if (r[b + 3 | 0]) {
+             break k;
+            }
+            a = r[e | 0];
+            if ((a | 0) == 120) {
+             e = b + 4 | 0;
+             if ((c - e | 0) < 2) {
+              break a;
+             }
+             if (r[b + 5 | 0] | (r[f + r[e | 0] | 0] & 254) != 24) {
+              break i;
+             }
+             b = b + 6 | 0;
+             if ((c - b | 0) <= 1) {
+              break a;
+             }
+             while (1) {
+              l : {
+               m : {
+                if (r[e + 3 | 0]) {
+                 break m;
+                }
+                a = r[f + r[b | 0] | 0];
+                if (a + -24 >>> 0 < 2) {
+                 break l;
+                }
+                if ((a | 0) != 18) {
+                 break m;
+                }
+                q[d >> 2] = e + 4;
+                return 10;
+               }
+               q[d >> 2] = b;
+               break b;
+              }
+              e = b;
+              b = e + 2 | 0;
+              if ((c - b | 0) > 1) {
+               continue;
+              }
+              break;
+             }
+             break a;
+            }
+            if (r[a + f | 0] != 25) {
+             break k;
+            }
+            while (1) {
+             a = e;
+             e = e + 2 | 0;
+             if ((c - e | 0) < 2) {
+              break a;
+             }
+             if (r[a + 3 | 0]) {
+              break k;
+             }
+             b = r[f + r[e | 0] | 0];
+             if ((b | 0) == 25) {
+              continue;
+             }
+             break;
+            }
+            if ((b | 0) != 18) {
+             break k;
+            }
+            q[d >> 2] = a + 4;
+            return 10;
+           }
+           q[d >> 2] = e;
+           break b;
+          }
+          switch (e - 4 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+           break d;
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 28:
+          case 29:
+          case 30:
+          case 31:
+          case 32:
+          case 33:
+          case 34:
+           break f;
+          case 35:
+           break h;
+          default:
+           break g;
+          }
+         }
+         q[d >> 2] = e;
+         break b;
+        }
+        e = r[b | 0];
+        if (e >>> 0 <= 253) {
+         break e;
+        }
+        break d;
+       }
+       h = -2;
+       if ((g | 0) >= 4) {
+        break d;
+       }
+       break a;
+      }
+      e = r[b | 0];
+     }
+     if (q[(e >>> 3 & 28 | r[i + 492208 | 0] << 5) + 490192 >> 2] >>> (e & 31) & 1) {
+      break c;
+     }
+    }
+    q[d >> 2] = b;
+    break b;
+   }
+   e = b + 2 | 0;
+   f = c - e | 0;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   i = a + 72 | 0;
+   while (1) {
+    n : {
+     o : {
+      p : {
+       q : {
+        r : {
+         g = r[b + 3 | 0];
+         a = g + -216 | 0;
+         if (a >>> 0 > 39) {
+          if (g) {
+           break q;
+          }
+          a = r[e | 0];
+          j = r[i + a | 0] + -5 | 0;
+          if (j >>> 0 > 24) {
+           break n;
+          }
+          s : {
+           switch (j - 1 | 0) {
+           case 0:
+            h = -2;
+            if ((f | 0) >= 3) {
+             break n;
+            }
+            break a;
+           case 16:
+           case 18:
+           case 19:
+           case 20:
+           case 21:
+            break o;
+           case 23:
+            break p;
+           case 1:
+            break r;
+           case 12:
+            break s;
+           default:
+            break n;
+           }
+          }
+          q[d >> 2] = b + 4;
+          return 9;
+         }
+         t : {
+          switch (a - 4 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+           break n;
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 28:
+          case 29:
+          case 30:
+          case 31:
+          case 32:
+          case 33:
+          case 34:
+           break q;
+          case 35:
+           break t;
+          default:
+           break r;
+          }
+         }
+         a = r[e | 0];
+         if (a >>> 0 <= 253) {
+          break p;
+         }
+         break n;
+        }
+        h = -2;
+        if ((f | 0) >= 4) {
+         break n;
+        }
+        break a;
+       }
+       a = r[e | 0];
+      }
+      if (!(q[(a >>> 3 & 28 | r[g + 492464 | 0] << 5) + 490192 >> 2] >>> (a & 31) & 1)) {
+       break n;
+      }
+     }
+     b = e;
+     e = e + 2 | 0;
+     f = c - e | 0;
+     if ((f | 0) > 1) {
+      continue;
+     }
+     break a;
+    }
+    break;
+   }
+   q[d >> 2] = e;
+  }
+  h = 0;
+ }
+ return h;
+}
+function WA(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = x(0), j = 0, k = x(0), l = 0, m = 0;
+ e = q[a >> 2];
+ h = e + 10 | 0;
+ j = q[a + 4 >> 2];
+ e = r[e | 0] | r[e + 1 | 0] << 8;
+ g = (e << 24 | e << 8 & 16711680) >> 16;
+ m = g + 1 | 0;
+ e = h + (m << 1) | 0;
+ a : {
+  if (j >>> 0 > e >>> 0) {
+   break a;
+  }
+  j = j + q[a + 8 >> 2] | 0;
+  if (e >>> 0 > j >>> 0 | j - e >>> 0 < 2) {
+   break a;
+  }
+  f = (h + (g << 1) | 0) + -2 | 0;
+  j = r[f | 0] << 8 | r[f + 1 | 0];
+  e = q[b >> 2];
+  b : {
+   if ((e | 0) < 0) {
+    break b;
+   }
+   l = j + 1 | 0;
+   if (e >>> 0 <= j >>> 0) {
+    f = e;
+    while (1) {
+     f = ((f >>> 1 | 0) + f | 0) + 8 | 0;
+     if (f >>> 0 <= l >>> 0) {
+      continue;
+     }
+     break;
+    }
+    c : {
+     if (!(f >>> 0 < e >>> 0 | f >>> 0 > 268435454)) {
+      e = O$(q[b + 8 >> 2], f << 4);
+      if (e) {
+       break c;
+      }
+     }
+     q[b >> 2] = -1;
+     break b;
+    }
+    q[b >> 2] = f;
+    q[b + 8 >> 2] = e;
+   }
+   f = q[b + 4 >> 2];
+   if (j >>> 0 >= f >>> 0) {
+    Z$(q[b + 8 >> 2] + (f << 4) | 0, 0, l - f << 4);
+   }
+   q[b + 4 >> 2] = l;
+  }
+  f = q[b + 4 >> 2];
+  if (f) {
+   d = f;
+   e = 0;
+   while (1) {
+    d : {
+     if (d >>> 0 <= e >>> 0) {
+      d = q[67763];
+      q[160658] = q[67762];
+      q[160659] = d;
+      d = q[67761];
+      q[160656] = q[67760];
+      q[160657] = d;
+      d = q[b + 4 >> 2];
+      f = 642624;
+      break d;
+     }
+     f = q[b + 8 >> 2] + (e << 4) | 0;
+    }
+    q[f + 4 >> 2] = 0;
+    q[f + 8 >> 2] = 0;
+    o[f | 0] = 0;
+    o[f + 12 | 0] = 0;
+    e = e + 1 | 0;
+    if (e >>> 0 < d >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  f = 1;
+  if (c) {
+   break a;
+  }
+  e : {
+   if ((g | 0) < 1) {
+    break e;
+   }
+   e = 0;
+   while (1) {
+    c = h + (e << 1) | 0;
+    c = r[c | 0] << 8 | r[c + 1 | 0];
+    f : {
+     if (d >>> 0 <= c >>> 0) {
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      c = 642624;
+      break f;
+     }
+     c = q[b + 8 >> 2] + (c << 4) | 0;
+    }
+    o[c + 12 | 0] = 1;
+    e = e + 1 | 0;
+    if ((g | 0) == (e | 0)) {
+     break e;
+    }
+    d = q[b + 4 >> 2];
+    continue;
+   }
+  }
+  c = h + (g << 1) | 0;
+  c = (h + (m << 1) | 0) + (r[c | 0] << 8 | r[c + 1 | 0]) | 0;
+  f = 0;
+  e = 0;
+  while (1) {
+   d = q[a + 4 >> 2];
+   if (d >>> 0 > c >>> 0 | d + q[a + 8 >> 2] >>> 0 <= c >>> 0) {
+    break a;
+   }
+   h = r[c | 0];
+   d = c + 1 | 0;
+   g : {
+    if (t[b + 4 >> 2] <= e >>> 0) {
+     g = q[67763];
+     q[160658] = q[67762];
+     q[160659] = g;
+     g = q[67761];
+     q[160656] = q[67760];
+     q[160657] = g;
+     g = 642624;
+     break g;
+    }
+    g = q[b + 8 >> 2] + (e << 4) | 0;
+   }
+   o[g | 0] = h;
+   if (h & 8) {
+    g = q[a + 4 >> 2];
+    if (g >>> 0 > d >>> 0 | g + q[a + 8 >> 2] >>> 0 <= d >>> 0) {
+     break a;
+    }
+    d = c + 2 | 0;
+    c = r[c + 1 | 0];
+    h : {
+     if (!c) {
+      break h;
+     }
+     while (1) {
+      e = e + 1 | 0;
+      if (e >>> 0 > j >>> 0) {
+       break h;
+      }
+      c = c + -1 | 0;
+      i : {
+       if (t[b + 4 >> 2] <= e >>> 0) {
+        g = q[67763];
+        q[160658] = q[67762];
+        q[160659] = g;
+        g = q[67761];
+        q[160656] = q[67760];
+        q[160657] = g;
+        g = 642624;
+        break i;
+       }
+       g = q[b + 8 >> 2] + (e << 4) | 0;
+      }
+      o[g | 0] = h;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+    }
+   }
+   c = d;
+   e = e + 1 | 0;
+   if (e >>> 0 <= j >>> 0) {
+    continue;
+   }
+   break;
+  }
+  d = q[b + 4 >> 2];
+  if (!d) {
+   return 1;
+  }
+  e = 0;
+  while (1) {
+   j : {
+    if (d >>> 0 <= e >>> 0) {
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break j;
+    }
+    d = q[b + 8 >> 2] + (e << 4) | 0;
+   }
+   h = r[d | 0];
+   k : {
+    if (h & 2) {
+     d = q[a + 4 >> 2];
+     if (d >>> 0 > c >>> 0 | d + q[a + 8 >> 2] >>> 0 <= c >>> 0) {
+      break a;
+     }
+     d = c + 1 | 0;
+     k = x(r[c | 0]);
+     if (h & 16) {
+      i = x(i + k);
+      c = d;
+      break k;
+     }
+     i = x(i - k);
+     c = d;
+     break k;
+    }
+    if (h & 16) {
+     break k;
+    }
+    d = q[a + 4 >> 2];
+    if (d >>> 0 > c >>> 0) {
+     break a;
+    }
+    d = d + q[a + 8 >> 2] | 0;
+    if (c >>> 0 > d >>> 0 | d - c >>> 0 < 2) {
+     break a;
+    }
+    d = r[c | 0] | r[c + 1 | 0] << 8;
+    i = x(i + x((d << 24 | d << 8 & 16711680) >> 16));
+    c = c + 2 | 0;
+   }
+   d = q[b + 4 >> 2];
+   l : {
+    if (d >>> 0 <= e >>> 0) {
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = q[b + 4 >> 2];
+     h = 642624;
+     break l;
+    }
+    h = q[b + 8 >> 2] + (e << 4) | 0;
+   }
+   u[h + 4 >> 2] = i;
+   e = e + 1 | 0;
+   if (e >>> 0 < d >>> 0) {
+    continue;
+   }
+   break;
+  }
+  if (!d) {
+   return 1;
+  }
+  i = x(0);
+  e = 0;
+  while (1) {
+   m : {
+    if (d >>> 0 <= e >>> 0) {
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break m;
+    }
+    d = q[b + 8 >> 2] + (e << 4) | 0;
+   }
+   h = r[d | 0];
+   n : {
+    if (h & 4) {
+     f = 0;
+     d = q[a + 4 >> 2];
+     if (d >>> 0 > c >>> 0 | d + q[a + 8 >> 2] >>> 0 <= c >>> 0) {
+      break a;
+     }
+     d = c + 1 | 0;
+     k = x(r[c | 0]);
+     if (h & 32) {
+      i = x(i + k);
+      c = d;
+      break n;
+     }
+     i = x(i - k);
+     c = d;
+     break n;
+    }
+    if (h & 32) {
+     break n;
+    }
+    f = 0;
+    d = q[a + 4 >> 2];
+    if (d >>> 0 > c >>> 0) {
+     break a;
+    }
+    d = d + q[a + 8 >> 2] | 0;
+    if (c >>> 0 > d >>> 0 | d - c >>> 0 < 2) {
+     break a;
+    }
+    d = r[c | 0] | r[c + 1 | 0] << 8;
+    i = x(i + x((d << 24 | d << 8 & 16711680) >> 16));
+    c = c + 2 | 0;
+   }
+   d = q[b + 4 >> 2];
+   o : {
+    if (d >>> 0 <= e >>> 0) {
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = q[b + 4 >> 2];
+     f = 642624;
+     break o;
+    }
+    f = q[b + 8 >> 2] + (e << 4) | 0;
+   }
+   u[f + 8 >> 2] = i;
+   f = 1;
+   e = e + 1 | 0;
+   if (e >>> 0 < d >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ return f;
+}
+function M$(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  d = a + -8 | 0;
+  c = q[a + -4 >> 2];
+  a = c & -8;
+  f = d + a | 0;
+  b : {
+   if (c & 1) {
+    break b;
+   }
+   if (!(c & 3)) {
+    break a;
+   }
+   c = q[d >> 2];
+   d = d - c | 0;
+   if (d >>> 0 < t[161180]) {
+    break a;
+   }
+   a = a + c | 0;
+   if (q[161181] != (d | 0)) {
+    if (c >>> 0 <= 255) {
+     e = q[d + 8 >> 2];
+     c = c >>> 3 | 0;
+     b = q[d + 12 >> 2];
+     if ((b | 0) == (e | 0)) {
+      i = 644704, j = q[161176] & Y0(-2, c), q[i >> 2] = j;
+      break b;
+     }
+     q[e + 12 >> 2] = b;
+     q[b + 8 >> 2] = e;
+     break b;
+    }
+    h = q[d + 24 >> 2];
+    c = q[d + 12 >> 2];
+    c : {
+     if ((c | 0) != (d | 0)) {
+      b = q[d + 8 >> 2];
+      q[b + 12 >> 2] = c;
+      q[c + 8 >> 2] = b;
+      break c;
+     }
+     d : {
+      e = d + 20 | 0;
+      b = q[e >> 2];
+      if (b) {
+       break d;
+      }
+      e = d + 16 | 0;
+      b = q[e >> 2];
+      if (b) {
+       break d;
+      }
+      c = 0;
+      break c;
+     }
+     while (1) {
+      g = e;
+      c = b;
+      e = c + 20 | 0;
+      b = q[e >> 2];
+      if (b) {
+       continue;
+      }
+      e = c + 16 | 0;
+      b = q[c + 16 >> 2];
+      if (b) {
+       continue;
+      }
+      break;
+     }
+     q[g >> 2] = 0;
+    }
+    if (!h) {
+     break b;
+    }
+    e = q[d + 28 >> 2];
+    b = (e << 2) + 645008 | 0;
+    e : {
+     if (q[b >> 2] == (d | 0)) {
+      q[b >> 2] = c;
+      if (c) {
+       break e;
+      }
+      i = 644708, j = q[161177] & Y0(-2, e), q[i >> 2] = j;
+      break b;
+     }
+     q[h + (q[h + 16 >> 2] == (d | 0) ? 16 : 20) >> 2] = c;
+     if (!c) {
+      break b;
+     }
+    }
+    q[c + 24 >> 2] = h;
+    b = q[d + 16 >> 2];
+    if (b) {
+     q[c + 16 >> 2] = b;
+     q[b + 24 >> 2] = c;
+    }
+    b = q[d + 20 >> 2];
+    if (!b) {
+     break b;
+    }
+    q[c + 20 >> 2] = b;
+    q[b + 24 >> 2] = c;
+    break b;
+   }
+   c = q[f + 4 >> 2];
+   if ((c & 3) != 3) {
+    break b;
+   }
+   q[161178] = a;
+   q[f + 4 >> 2] = c & -2;
+   q[d + 4 >> 2] = a | 1;
+   q[a + d >> 2] = a;
+   return;
+  }
+  if (f >>> 0 <= d >>> 0) {
+   break a;
+  }
+  c = q[f + 4 >> 2];
+  if (!(c & 1)) {
+   break a;
+  }
+  f : {
+   if (!(c & 2)) {
+    if ((f | 0) == q[161182]) {
+     q[161182] = d;
+     a = q[161179] + a | 0;
+     q[161179] = a;
+     q[d + 4 >> 2] = a | 1;
+     if (q[161181] != (d | 0)) {
+      break a;
+     }
+     q[161178] = 0;
+     q[161181] = 0;
+     return;
+    }
+    if ((f | 0) == q[161181]) {
+     q[161181] = d;
+     a = q[161178] + a | 0;
+     q[161178] = a;
+     q[d + 4 >> 2] = a | 1;
+     q[a + d >> 2] = a;
+     return;
+    }
+    a = (c & -8) + a | 0;
+    g : {
+     if (c >>> 0 <= 255) {
+      b = q[f + 8 >> 2];
+      c = c >>> 3 | 0;
+      e = q[f + 12 >> 2];
+      if ((b | 0) == (e | 0)) {
+       i = 644704, j = q[161176] & Y0(-2, c), q[i >> 2] = j;
+       break g;
+      }
+      q[b + 12 >> 2] = e;
+      q[e + 8 >> 2] = b;
+      break g;
+     }
+     h = q[f + 24 >> 2];
+     c = q[f + 12 >> 2];
+     h : {
+      if ((f | 0) != (c | 0)) {
+       b = q[f + 8 >> 2];
+       q[b + 12 >> 2] = c;
+       q[c + 8 >> 2] = b;
+       break h;
+      }
+      i : {
+       e = f + 20 | 0;
+       b = q[e >> 2];
+       if (b) {
+        break i;
+       }
+       e = f + 16 | 0;
+       b = q[e >> 2];
+       if (b) {
+        break i;
+       }
+       c = 0;
+       break h;
+      }
+      while (1) {
+       g = e;
+       c = b;
+       e = c + 20 | 0;
+       b = q[e >> 2];
+       if (b) {
+        continue;
+       }
+       e = c + 16 | 0;
+       b = q[c + 16 >> 2];
+       if (b) {
+        continue;
+       }
+       break;
+      }
+      q[g >> 2] = 0;
+     }
+     if (!h) {
+      break g;
+     }
+     e = q[f + 28 >> 2];
+     b = (e << 2) + 645008 | 0;
+     j : {
+      if ((f | 0) == q[b >> 2]) {
+       q[b >> 2] = c;
+       if (c) {
+        break j;
+       }
+       i = 644708, j = q[161177] & Y0(-2, e), q[i >> 2] = j;
+       break g;
+      }
+      q[h + ((f | 0) == q[h + 16 >> 2] ? 16 : 20) >> 2] = c;
+      if (!c) {
+       break g;
+      }
+     }
+     q[c + 24 >> 2] = h;
+     b = q[f + 16 >> 2];
+     if (b) {
+      q[c + 16 >> 2] = b;
+      q[b + 24 >> 2] = c;
+     }
+     b = q[f + 20 >> 2];
+     if (!b) {
+      break g;
+     }
+     q[c + 20 >> 2] = b;
+     q[b + 24 >> 2] = c;
+    }
+    q[d + 4 >> 2] = a | 1;
+    q[a + d >> 2] = a;
+    if (q[161181] != (d | 0)) {
+     break f;
+    }
+    q[161178] = a;
+    return;
+   }
+   q[f + 4 >> 2] = c & -2;
+   q[d + 4 >> 2] = a | 1;
+   q[a + d >> 2] = a;
+  }
+  if (a >>> 0 <= 255) {
+   a = a >>> 3 | 0;
+   c = (a << 3) + 644744 | 0;
+   b = q[161176];
+   a = 1 << a;
+   k : {
+    if (!(b & a)) {
+     q[161176] = a | b;
+     a = c;
+     break k;
+    }
+    a = q[c + 8 >> 2];
+   }
+   q[c + 8 >> 2] = d;
+   q[a + 12 >> 2] = d;
+   q[d + 12 >> 2] = c;
+   q[d + 8 >> 2] = a;
+   return;
+  }
+  q[d + 16 >> 2] = 0;
+  q[d + 20 >> 2] = 0;
+  c = d;
+  e = a >>> 8 | 0;
+  b = 0;
+  l : {
+   if (!e) {
+    break l;
+   }
+   b = 31;
+   if (a >>> 0 > 16777215) {
+    break l;
+   }
+   b = e;
+   e = e + 1048320 >>> 16 & 8;
+   b = b << e;
+   h = b + 520192 >>> 16 & 4;
+   b = b << h;
+   g = b + 245760 >>> 16 & 2;
+   b = (b << g >>> 15 | 0) - (g | (e | h)) | 0;
+   b = (b << 1 | a >>> b + 21 & 1) + 28 | 0;
+  }
+  q[c + 28 >> 2] = b;
+  g = (b << 2) + 645008 | 0;
+  m : {
+   n : {
+    e = q[161177];
+    c = 1 << b;
+    o : {
+     if (!(e & c)) {
+      q[161177] = c | e;
+      q[g >> 2] = d;
+      q[d + 24 >> 2] = g;
+      break o;
+     }
+     e = a << ((b | 0) == 31 ? 0 : 25 - (b >>> 1 | 0) | 0);
+     c = q[g >> 2];
+     while (1) {
+      b = c;
+      if ((q[c + 4 >> 2] & -8) == (a | 0)) {
+       break n;
+      }
+      c = e >>> 29 | 0;
+      e = e << 1;
+      g = (b + (c & 4) | 0) + 16 | 0;
+      c = q[g >> 2];
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     q[g >> 2] = d;
+     q[d + 24 >> 2] = b;
+    }
+    q[d + 12 >> 2] = d;
+    q[d + 8 >> 2] = d;
+    break m;
+   }
+   a = q[b + 8 >> 2];
+   q[a + 12 >> 2] = d;
+   q[b + 8 >> 2] = d;
+   q[d + 24 >> 2] = 0;
+   q[d + 12 >> 2] = b;
+   q[d + 8 >> 2] = a;
+  }
+  a = q[161184] + -1 | 0;
+  q[161184] = a;
+  if (a) {
+   break a;
+  }
+  d = 645160;
+  while (1) {
+   a = q[d >> 2];
+   d = a + 8 | 0;
+   if (a) {
+    continue;
+   }
+   break;
+  }
+  q[161184] = -1;
+ }
+}
+function Ii(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, p = 0, r = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ k = q[b + 28 >> 2];
+ j = q[a + 736 >> 2];
+ q[d >> 2] = 0;
+ a : {
+  b : {
+   if (j) {
+    c : {
+     if (!q[a + 704 >> 2]) {
+      break c;
+     }
+     c = n[q[a + 516 >> 2]](a, 1668702578, b, d + 8 | 0) | 0;
+     q[d + 12 >> 2] = c;
+     if (c) {
+      break c;
+     }
+     c = Kg(b, q[d + 8 >> 2]);
+     q[d + 12 >> 2] = c;
+     if (c) {
+      break c;
+     }
+     m = q[b >> 2];
+     g = q[b + 32 >> 2];
+     d : {
+      if ((Rg(b) | 0) != 65536) {
+       q[d + 12 >> 2] = 0;
+       break d;
+      }
+      p = Te(k, 4, 0, q[j >> 2], 0, d + 12 | 0);
+      if (q[d + 12 >> 2]) {
+       break d;
+      }
+      u = Te(k, 4, 0, q[j >> 2], 0, d + 12 | 0);
+      if (q[d + 12 >> 2]) {
+       break d;
+      }
+      v = Te(k, 4, 0, q[j >> 2], 0, d + 12 | 0);
+      if (q[d + 12 >> 2]) {
+       break d;
+      }
+      e = Pg(b);
+      x = e & 4095;
+      c = Pg(b);
+      h = q[d + 8 >> 2];
+      if ((x << 2) + c >>> 0 > h >>> 0) {
+       q[d + 12 >> 2] = 8;
+       break d;
+      }
+      o = c + (g - m | 0) | 0;
+      e : {
+       if (!(e & 32768)) {
+        break e;
+       }
+       e = q[b + 32 >> 2];
+       m = q[b >> 2];
+       c = q[b + 36 >> 2];
+       q[b + 32 >> 2] = o >>> 0 < c - m >>> 0 ? m + o | 0 : c;
+       y = Ji(b, h, d);
+       h = q[b + 32 >> 2];
+       g = q[b >> 2];
+       e = e - m | 0;
+       c = q[b + 36 >> 2];
+       q[b + 32 >> 2] = e >>> 0 < c - g >>> 0 ? g + e | 0 : c;
+       o = h - g | 0;
+      }
+      r = Te(k, 4, 0, q[a + 700 >> 2], 0, d + 12 | 0);
+      f : {
+       if (q[d + 12 >> 2]) {
+        break f;
+       }
+       if (x) {
+        m = q[d >> 2];
+        while (1) {
+         C = Pg(b);
+         g = Pg(b);
+         g : {
+          if (g & 32768) {
+           f = 0;
+           if (!q[j >> 2]) {
+            break g;
+           }
+           while (1) {
+            D = (f << 2) + p | 0, E = Pg(b) << 16 >> 16 << 2, q[D >> 2] = E;
+            f = f + 1 | 0;
+            if (f >>> 0 < t[j >> 2]) {
+             continue;
+            }
+            break;
+           }
+           break g;
+          }
+          c = g & 4095;
+          if (c >>> 0 >= t[j + 60 >> 2]) {
+           q[d + 12 >> 2] = 8;
+           break f;
+          }
+          e = q[j + 64 >> 2];
+          if (!e) {
+           q[d + 12 >> 2] = 8;
+           break f;
+          }
+          h = c;
+          c = q[j >> 2];
+          Y$(p, e + (w(h, c) << 2) | 0, c << 2);
+         }
+         h : {
+          if (!(g & 16384)) {
+           break h;
+          }
+          f = 0;
+          if (!q[j >> 2]) {
+           break h;
+          }
+          while (1) {
+           D = (f << 2) + u | 0, E = Pg(b) << 16 >> 16 << 2, q[D >> 2] = E;
+           f = f + 1 | 0;
+           c = q[j >> 2];
+           if (f >>> 0 < c >>> 0) {
+            continue;
+           }
+           break;
+          }
+          f = 0;
+          if (!c) {
+           break h;
+          }
+          while (1) {
+           D = (f << 2) + v | 0, E = Pg(b) << 16 >> 16 << 2, q[D >> 2] = E;
+           f = f + 1 | 0;
+           if (f >>> 0 < t[j >> 2]) {
+            continue;
+           }
+           break;
+          }
+         }
+         z = Ki(j, g, p, u, v);
+         if (z) {
+          h = q[b + 32 >> 2];
+          l = q[b >> 2];
+          c = q[b + 36 >> 2];
+          q[b + 32 >> 2] = o >>> 0 < c - l >>> 0 ? l + o | 0 : c;
+          i : {
+           if (g & 8192) {
+            c = Ji(b, q[d + 8 >> 2], d + 4 | 0);
+            e = q[d + 4 >> 2];
+            i = c;
+            break i;
+           }
+           q[d + 4 >> 2] = m;
+           e = m;
+           c = i;
+           i = y;
+          }
+          g = i;
+          i = e;
+          A = h - l | 0;
+          h = b;
+          l = q[d + 8 >> 2];
+          if (!e) {
+           i = q[a + 700 >> 2];
+          }
+          l = Li(h, l, i);
+          j : {
+           k : {
+            l : {
+             if (!g | !l) {
+              break l;
+             }
+             if ((c | 0) != -1) {
+              f = 0;
+              if (!e) {
+               break k;
+              }
+              while (1) {
+               i = s[g + (f << 1) >> 1];
+               if (t[a + 700 >> 2] > i >>> 0) {
+                h = (i << 2) + r | 0;
+                i = q[h >> 2];
+                D = h, E = Ee(q[l + (f << 2) >> 2], z) + i | 0, q[D >> 2] = E;
+               }
+               f = f + 1 | 0;
+               if ((e | 0) != (f | 0)) {
+                continue;
+               }
+               break;
+              }
+              break l;
+             }
+             i = -1;
+             if (q[a + 700 >> 2] != (e | 0)) {
+              break j;
+             }
+             f = 0;
+             if (!e) {
+              break j;
+             }
+             while (1) {
+              h = f << 2;
+              e = h + r | 0;
+              i = q[e >> 2];
+              D = e, E = Ee(q[h + l >> 2], z) + i | 0, q[D >> 2] = E;
+              f = f + 1 | 0;
+              if (f >>> 0 < t[a + 700 >> 2]) {
+               continue;
+              }
+              break;
+             }
+            }
+            i = -1;
+            if ((c | 0) == -1) {
+             break j;
+            }
+           }
+           Qe(k, c);
+           i = 0;
+          }
+          Qe(k, l);
+          e = q[b >> 2];
+          c = q[b + 36 >> 2];
+          q[b + 32 >> 2] = A >>> 0 < c - e >>> 0 ? e + A | 0 : c;
+         }
+         o = o + C | 0;
+         B = B + 1 | 0;
+         if ((B | 0) != (x | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       h = q[a + 700 >> 2];
+       if (!h) {
+        break f;
+       }
+       e = q[a + 704 >> 2];
+       g = 0;
+       while (1) {
+        c = g << 2;
+        i = c + e | 0;
+        q[i >> 2] = q[i >> 2] + (q[c + r >> 2] + 512 >> 10);
+        g = g + 1 | 0;
+        if ((h | 0) != (g | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      Ng(b);
+      if ((y | 0) == -1) {
+       break a;
+      }
+      break b;
+     }
+     Ng(b);
+     break b;
+    }
+   }
+   q[d + 12 >> 2] = 0;
+  }
+  Qe(k, y);
+ }
+ Qe(k, p);
+ Qe(k, u);
+ Qe(k, v);
+ Qe(k, r);
+ $g(a + 108 | 0, 56);
+ Ca = d + 16 | 0;
+ return q[d + 12 >> 2];
+}
+function D$(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0, u = 0, x = 0, z = 0;
+ h = Ca - 560 | 0;
+ Ca = h;
+ f = c;
+ c = (c + -3 | 0) / 24 | 0;
+ r = (c | 0) > 0 ? c : 0;
+ l = f + w(r, -24) | 0;
+ m = q[158445];
+ i = d + -1 | 0;
+ if ((m + i | 0) >= 0) {
+  f = d + m | 0;
+  c = r - i | 0;
+  while (1) {
+   v[(h + 320 | 0) + (g << 3) >> 3] = (c | 0) < 0 ? 0 : +q[(c << 2) + 633792 >> 2];
+   c = c + 1 | 0;
+   g = g + 1 | 0;
+   if ((f | 0) != (g | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ k = l + -24 | 0;
+ f = 0;
+ s = (m | 0) > 0 ? m : 0;
+ g = (d | 0) < 1;
+ while (1) {
+  a : {
+   if (g) {
+    e = 0;
+    break a;
+   }
+   j = f + i | 0;
+   c = 0;
+   e = 0;
+   while (1) {
+    e = e + v[(c << 3) + a >> 3] * v[(h + 320 | 0) + (j - c << 3) >> 3];
+    c = c + 1 | 0;
+    if ((d | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  v[(f << 3) + h >> 3] = e;
+  c = (f | 0) == (s | 0);
+  f = f + 1 | 0;
+  if (!c) {
+   continue;
+  }
+  break;
+ }
+ z = 23 - k | 0;
+ t = 24 - k | 0;
+ f = m;
+ b : {
+  while (1) {
+   e = v[(f << 3) + h >> 3];
+   c = 0;
+   g = f;
+   p = (f | 0) < 1;
+   if (!p) {
+    while (1) {
+     i = (h + 480 | 0) + (c << 2) | 0;
+     n = e;
+     e = e * 5.960464477539063e-8;
+     c : {
+      if (y(e) < 2147483648) {
+       j = ~~e;
+       break c;
+      }
+      j = -2147483648;
+     }
+     e = +(j | 0);
+     n = n + e * -16777216;
+     d : {
+      if (y(n) < 2147483648) {
+       j = ~~n;
+       break d;
+      }
+      j = -2147483648;
+     }
+     q[i >> 2] = j;
+     g = g + -1 | 0;
+     e = v[(g << 3) + h >> 3] + e;
+     c = c + 1 | 0;
+     if ((f | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   e = W$(e, k);
+   e = e + C(e * .125) * -8;
+   e : {
+    if (y(e) < 2147483648) {
+     j = ~~e;
+     break e;
+    }
+    j = -2147483648;
+   }
+   e = e - +(j | 0);
+   f : {
+    g : {
+     h : {
+      u = (k | 0) < 1;
+      i : {
+       if (!u) {
+        g = ((f << 2) + h | 0) + 476 | 0;
+        i = q[g >> 2];
+        c = i >> t;
+        o = g;
+        g = i - (c << t) | 0;
+        q[o >> 2] = g;
+        j = c + j | 0;
+        i = g >> z;
+        break i;
+       }
+       if (k) {
+        break h;
+       }
+       i = q[((f << 2) + h | 0) + 476 >> 2] >> 23;
+      }
+      if ((i | 0) < 1) {
+       break f;
+      }
+      break g;
+     }
+     i = 2;
+     if (!!(e >= .5)) {
+      break g;
+     }
+     i = 0;
+     break f;
+    }
+    c = 0;
+    o = 0;
+    if (!p) {
+     while (1) {
+      g = (h + 480 | 0) + (c << 2) | 0;
+      p = q[g >> 2];
+      j : {
+       k : {
+        if (o) {
+         x = 16777215;
+        } else {
+         if (!p) {
+          break k;
+         }
+         o = 1;
+         x = 16777216;
+        }
+        q[g >> 2] = x - p;
+        break j;
+       }
+       o = 0;
+      }
+      c = c + 1 | 0;
+      if ((f | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    l : {
+     if (u) {
+      break l;
+     }
+     c = k + -1 | 0;
+     if (c >>> 0 > 1) {
+      break l;
+     }
+     if (c - 1) {
+      c = ((f << 2) + h | 0) + 476 | 0;
+      q[c >> 2] = q[c >> 2] & 8388607;
+      break l;
+     }
+     c = ((f << 2) + h | 0) + 476 | 0;
+     q[c >> 2] = q[c >> 2] & 4194303;
+    }
+    j = j + 1 | 0;
+    if ((i | 0) != 2) {
+     break f;
+    }
+    e = 1 - e;
+    i = 2;
+    if (!o) {
+     break f;
+    }
+    e = e - W$(1, k);
+   }
+   if (e == 0) {
+    g = 0;
+    m : {
+     c = f;
+     if ((c | 0) <= (m | 0)) {
+      break m;
+     }
+     while (1) {
+      c = c + -1 | 0;
+      g = q[(h + 480 | 0) + (c << 2) >> 2] | g;
+      if ((c | 0) > (m | 0)) {
+       continue;
+      }
+      break;
+     }
+     if (!g) {
+      break m;
+     }
+     l = k;
+     while (1) {
+      l = l + -24 | 0;
+      f = f + -1 | 0;
+      if (!q[(h + 480 | 0) + (f << 2) >> 2]) {
+       continue;
+      }
+      break;
+     }
+     break b;
+    }
+    c = 1;
+    while (1) {
+     g = c;
+     c = c + 1 | 0;
+     if (!q[(h + 480 | 0) + (m - g << 2) >> 2]) {
+      continue;
+     }
+     break;
+    }
+    g = f + g | 0;
+    while (1) {
+     i = d + f | 0;
+     f = f + 1 | 0;
+     v[(h + 320 | 0) + (i << 3) >> 3] = q[(r + f << 2) + 633792 >> 2];
+     c = 0;
+     e = 0;
+     if ((d | 0) >= 1) {
+      while (1) {
+       e = e + v[(c << 3) + a >> 3] * v[(h + 320 | 0) + (i - c << 3) >> 3];
+       c = c + 1 | 0;
+       if ((d | 0) != (c | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     v[(f << 3) + h >> 3] = e;
+     if ((f | 0) < (g | 0)) {
+      continue;
+     }
+     break;
+    }
+    f = g;
+    continue;
+   }
+   break;
+  }
+  e = W$(e, 0 - k | 0);
+  n : {
+   if (!!(e >= 16777216)) {
+    a = (h + 480 | 0) + (f << 2) | 0;
+    n = e;
+    e = e * 5.960464477539063e-8;
+    o : {
+     if (y(e) < 2147483648) {
+      c = ~~e;
+      break o;
+     }
+     c = -2147483648;
+    }
+    e = n + +(c | 0) * -16777216;
+    p : {
+     if (y(e) < 2147483648) {
+      d = ~~e;
+      break p;
+     }
+     d = -2147483648;
+    }
+    q[a >> 2] = d;
+    f = f + 1 | 0;
+    break n;
+   }
+   if (y(e) < 2147483648) {
+    c = ~~e;
+   } else {
+    c = -2147483648;
+   }
+   l = k;
+  }
+  q[(h + 480 | 0) + (f << 2) >> 2] = c;
+ }
+ e = W$(1, l);
+ if ((f | 0) >= 0) {
+  c = f;
+  while (1) {
+   v[(c << 3) + h >> 3] = e * +q[(h + 480 | 0) + (c << 2) >> 2];
+   e = e * 5.960464477539063e-8;
+   a = 0;
+   d = (c | 0) > 0;
+   c = c + -1 | 0;
+   if (d) {
+    continue;
+   }
+   break;
+  }
+  g = f;
+  while (1) {
+   d = s >>> 0 < a >>> 0 ? s : a;
+   k = f - g | 0;
+   c = 0;
+   e = 0;
+   while (1) {
+    e = e + v[(c << 3) + 636560 >> 3] * v[(c + g << 3) + h >> 3];
+    l = (c | 0) != (d | 0);
+    c = c + 1 | 0;
+    if (l) {
+     continue;
+    }
+    break;
+   }
+   v[(h + 160 | 0) + (k << 3) >> 3] = e;
+   g = g + -1 | 0;
+   c = (a | 0) != (f | 0);
+   a = a + 1 | 0;
+   if (c) {
+    continue;
+   }
+   break;
+  }
+ }
+ e = 0;
+ if ((f | 0) >= 0) {
+  c = f;
+  while (1) {
+   e = e + v[(h + 160 | 0) + (c << 3) >> 3];
+   a = (c | 0) > 0;
+   c = c + -1 | 0;
+   if (a) {
+    continue;
+   }
+   break;
+  }
+ }
+ v[b >> 3] = i ? -e : e;
+ e = v[h + 160 >> 3] - e;
+ c = 1;
+ if ((f | 0) >= 1) {
+  while (1) {
+   e = e + v[(h + 160 | 0) + (c << 3) >> 3];
+   a = (c | 0) != (f | 0);
+   c = c + 1 | 0;
+   if (a) {
+    continue;
+   }
+   break;
+  }
+ }
+ v[b + 8 >> 3] = i ? -e : e;
+ Ca = h + 560 | 0;
+ return j & 7;
+}
+function Kz(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0;
+ e = Ca - 48 | 0;
+ Ca = e;
+ c = q[a + 140 >> 2];
+ q[e + 40 >> 2] = q[a + 136 >> 2];
+ q[e + 44 >> 2] = c;
+ c = q[a + 132 >> 2];
+ q[e + 32 >> 2] = q[a + 128 >> 2];
+ q[e + 36 >> 2] = c;
+ f = q[a + 24 >> 2];
+ if (f & 1) {
+  if (!f) {
+   o[a + 20 | 0] = 1;
+  }
+  a : {
+   if (!q[a + 32 >> 2]) {
+    g = q[67767];
+    q[160662] = q[67766];
+    q[160663] = g;
+    g = q[67765];
+    q[160660] = q[67764];
+    q[160661] = g;
+    g = q[67763];
+    q[160658] = q[67762];
+    q[160659] = g;
+    g = q[67761];
+    q[160656] = q[67760];
+    q[160657] = g;
+    g = 642624;
+    break a;
+   }
+   g = q[a + 36 >> 2];
+  }
+  b : {
+   if (!r[a + 176 | 0]) {
+    break b;
+   }
+   c = q[g + 20 >> 2];
+   if (!c | (c | 0) != q[a + 168 >> 2]) {
+    break b;
+   }
+   d = q[g + 24 >> 2];
+   i = q[a + 172 >> 2];
+   h = v[g >> 3];
+   f = 0;
+   while (1) {
+    h = h + v[d + (f << 3) >> 3] * +u[i + (f << 2) >> 2];
+    f = f + 1 | 0;
+    if ((c | 0) != (f | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[g + 8 >> 2] = 0;
+   q[g + 12 >> 2] = 0;
+   v[g >> 3] = h;
+   if (q[g + 16 >> 2] < 0) {
+    break b;
+   }
+   q[g + 20 >> 2] = 0;
+  }
+  v[e + 32 >> 3] = v[e + 32 >> 3] + v[g >> 3];
+  f = q[a + 24 >> 2];
+  g = 1;
+ }
+ c = g | 4;
+ if (c >>> 0 <= f >>> 0) {
+  p = a + 128 | 0;
+  n = e + 24 | 0;
+  while (1) {
+   i = g;
+   g = c;
+   if (f >>> 0 <= i >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   k = q[a + 32 >> 2];
+   c : {
+    if (k >>> 0 <= i >>> 0) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break c;
+    }
+    c = q[a + 36 >> 2] + (i << 5) | 0;
+   }
+   m = r[a + 176 | 0];
+   d : {
+    if (!m) {
+     break d;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break d;
+    }
+    j = q[c + 24 >> 2];
+    l = q[a + 172 >> 2];
+    h = v[c >> 3];
+    f = 0;
+    while (1) {
+     h = h + v[j + (f << 3) >> 3] * +u[l + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((d | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = h;
+    if (q[c + 16 >> 2] < 0) {
+     break d;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   v[e + 40 >> 3] = v[e + 40 >> 3] + v[c >> 3];
+   c = q[e + 44 >> 2];
+   q[n >> 2] = q[e + 40 >> 2];
+   q[n + 4 >> 2] = c;
+   c = q[e + 36 >> 2];
+   q[e + 16 >> 2] = q[e + 32 >> 2];
+   q[e + 20 >> 2] = c;
+   c = i + 1 | 0;
+   if (t[a + 24 >> 2] <= c >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   e : {
+    if (k >>> 0 <= c >>> 0) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break e;
+    }
+    c = q[a + 36 >> 2] + (c << 5) | 0;
+   }
+   f : {
+    if (!m) {
+     break f;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break f;
+    }
+    j = q[c + 24 >> 2];
+    l = q[a + 172 >> 2];
+    h = v[c >> 3];
+    f = 0;
+    while (1) {
+     h = h + v[j + (f << 3) >> 3] * +u[l + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((d | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = h;
+    if (q[c + 16 >> 2] < 0) {
+     break f;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   d = i + 2 | 0;
+   if (t[a + 24 >> 2] <= d >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   g : {
+    if (k >>> 0 <= d >>> 0) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break g;
+    }
+    d = q[a + 36 >> 2] + (d << 5) | 0;
+   }
+   h : {
+    if (!m) {
+     break h;
+    }
+    j = q[d + 20 >> 2];
+    if (!j | (j | 0) != q[a + 168 >> 2]) {
+     break h;
+    }
+    l = q[d + 24 >> 2];
+    s = q[a + 172 >> 2];
+    h = v[d >> 3];
+    f = 0;
+    while (1) {
+     h = h + v[l + (f << 3) >> 3] * +u[s + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((j | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = h;
+    if (q[d + 16 >> 2] < 0) {
+     break h;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   v[e + 16 >> 3] = v[e + 16 >> 3] + v[c >> 3];
+   v[e + 24 >> 3] = v[e + 24 >> 3] + v[d >> 3];
+   c = q[e + 28 >> 2];
+   q[e + 8 >> 2] = q[e + 24 >> 2];
+   q[e + 12 >> 2] = c;
+   c = q[e + 20 >> 2];
+   q[e >> 2] = q[e + 16 >> 2];
+   q[e + 4 >> 2] = c;
+   c = i + 3 | 0;
+   if (t[a + 24 >> 2] <= c >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   i : {
+    if (k >>> 0 <= c >>> 0) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break i;
+    }
+    c = q[a + 36 >> 2] + (c << 5) | 0;
+   }
+   j : {
+    if (!m) {
+     break j;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break j;
+    }
+    i = q[c + 24 >> 2];
+    k = q[a + 172 >> 2];
+    h = v[c >> 3];
+    f = 0;
+    while (1) {
+     h = h + v[i + (f << 3) >> 3] * +u[k + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((d | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = h;
+    if (q[c + 16 >> 2] < 0) {
+     break j;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   v[e + 8 >> 3] = v[e + 8 >> 3] + v[c >> 3];
+   uz(a, b, e + 32 | 0, e + 16 | 0, e);
+   c = p;
+   d = q[c + 12 >> 2];
+   q[e + 40 >> 2] = q[c + 8 >> 2];
+   q[e + 44 >> 2] = d;
+   d = q[c + 4 >> 2];
+   q[e + 32 >> 2] = q[c >> 2];
+   q[e + 36 >> 2] = d;
+   c = g + 4 | 0;
+   f = q[a + 24 >> 2];
+   if (c >>> 0 <= f >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = e + 48 | 0;
+}
+function Jz(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0;
+ f = Ca - 48 | 0;
+ Ca = f;
+ c = q[a + 140 >> 2];
+ q[f + 40 >> 2] = q[a + 136 >> 2];
+ q[f + 44 >> 2] = c;
+ c = q[a + 132 >> 2];
+ q[f + 32 >> 2] = q[a + 128 >> 2];
+ q[f + 36 >> 2] = c;
+ e = q[a + 24 >> 2];
+ if (e & 1) {
+  if (!e) {
+   o[a + 20 | 0] = 1;
+  }
+  a : {
+   if (!q[a + 32 >> 2]) {
+    g = q[67767];
+    q[160662] = q[67766];
+    q[160663] = g;
+    g = q[67765];
+    q[160660] = q[67764];
+    q[160661] = g;
+    g = q[67763];
+    q[160658] = q[67762];
+    q[160659] = g;
+    g = q[67761];
+    q[160656] = q[67760];
+    q[160657] = g;
+    g = 642624;
+    break a;
+   }
+   g = q[a + 36 >> 2];
+  }
+  b : {
+   if (!r[a + 176 | 0]) {
+    break b;
+   }
+   c = q[g + 20 >> 2];
+   if (!c | (c | 0) != q[a + 168 >> 2]) {
+    break b;
+   }
+   d = q[g + 24 >> 2];
+   i = q[a + 172 >> 2];
+   h = v[g >> 3];
+   e = 0;
+   while (1) {
+    h = h + v[d + (e << 3) >> 3] * +u[i + (e << 2) >> 2];
+    e = e + 1 | 0;
+    if ((c | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[g + 8 >> 2] = 0;
+   q[g + 12 >> 2] = 0;
+   v[g >> 3] = h;
+   if (q[g + 16 >> 2] < 0) {
+    break b;
+   }
+   q[g + 20 >> 2] = 0;
+  }
+  v[f + 40 >> 3] = v[f + 40 >> 3] + v[g >> 3];
+  e = q[a + 24 >> 2];
+  g = 1;
+ }
+ c = g | 4;
+ if (c >>> 0 <= e >>> 0) {
+  p = a + 128 | 0;
+  while (1) {
+   i = g;
+   g = c;
+   if (e >>> 0 <= i >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   k = q[a + 32 >> 2];
+   c : {
+    if (k >>> 0 <= i >>> 0) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break c;
+    }
+    c = q[a + 36 >> 2] + (i << 5) | 0;
+   }
+   m = r[a + 176 | 0];
+   d : {
+    if (!m) {
+     break d;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break d;
+    }
+    l = q[c + 24 >> 2];
+    j = q[a + 172 >> 2];
+    h = v[c >> 3];
+    e = 0;
+    while (1) {
+     h = h + v[l + (e << 3) >> 3] * +u[j + (e << 2) >> 2];
+     e = e + 1 | 0;
+     if ((d | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = h;
+    if (q[c + 16 >> 2] < 0) {
+     break d;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   v[f + 32 >> 3] = v[f + 32 >> 3] + v[c >> 3];
+   l = f + 40 | 0;
+   c = l;
+   d = q[c + 4 >> 2];
+   q[f + 24 >> 2] = q[c >> 2];
+   q[f + 28 >> 2] = d;
+   c = q[f + 36 >> 2];
+   q[f + 16 >> 2] = q[f + 32 >> 2];
+   q[f + 20 >> 2] = c;
+   c = i + 1 | 0;
+   if (t[a + 24 >> 2] <= c >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   e : {
+    if (k >>> 0 <= c >>> 0) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break e;
+    }
+    c = q[a + 36 >> 2] + (c << 5) | 0;
+   }
+   f : {
+    if (!m) {
+     break f;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break f;
+    }
+    j = q[c + 24 >> 2];
+    n = q[a + 172 >> 2];
+    h = v[c >> 3];
+    e = 0;
+    while (1) {
+     h = h + v[j + (e << 3) >> 3] * +u[n + (e << 2) >> 2];
+     e = e + 1 | 0;
+     if ((d | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = h;
+    if (q[c + 16 >> 2] < 0) {
+     break f;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   d = i + 2 | 0;
+   if (t[a + 24 >> 2] <= d >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   g : {
+    if (k >>> 0 <= d >>> 0) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break g;
+    }
+    d = q[a + 36 >> 2] + (d << 5) | 0;
+   }
+   h : {
+    if (!m) {
+     break h;
+    }
+    j = q[d + 20 >> 2];
+    if (!j | (j | 0) != q[a + 168 >> 2]) {
+     break h;
+    }
+    n = q[d + 24 >> 2];
+    s = q[a + 172 >> 2];
+    h = v[d >> 3];
+    e = 0;
+    while (1) {
+     h = h + v[n + (e << 3) >> 3] * +u[s + (e << 2) >> 2];
+     e = e + 1 | 0;
+     if ((j | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = h;
+    if (q[d + 16 >> 2] < 0) {
+     break h;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   v[f + 16 >> 3] = v[f + 16 >> 3] + v[c >> 3];
+   v[f + 24 >> 3] = v[f + 24 >> 3] + v[d >> 3];
+   c = q[f + 28 >> 2];
+   q[f + 8 >> 2] = q[f + 24 >> 2];
+   q[f + 12 >> 2] = c;
+   c = q[f + 20 >> 2];
+   q[f >> 2] = q[f + 16 >> 2];
+   q[f + 4 >> 2] = c;
+   c = i + 3 | 0;
+   if (t[a + 24 >> 2] <= c >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   i : {
+    if (k >>> 0 <= c >>> 0) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break i;
+    }
+    c = q[a + 36 >> 2] + (c << 5) | 0;
+   }
+   j : {
+    if (!m) {
+     break j;
+    }
+    d = q[c + 20 >> 2];
+    if (!d | (d | 0) != q[a + 168 >> 2]) {
+     break j;
+    }
+    i = q[c + 24 >> 2];
+    k = q[a + 172 >> 2];
+    h = v[c >> 3];
+    e = 0;
+    while (1) {
+     h = h + v[i + (e << 3) >> 3] * +u[k + (e << 2) >> 2];
+     e = e + 1 | 0;
+     if ((d | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = h;
+    if (q[c + 16 >> 2] < 0) {
+     break j;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   v[f >> 3] = v[f >> 3] + v[c >> 3];
+   uz(a, b, f + 32 | 0, f + 16 | 0, f);
+   c = p;
+   d = q[c + 12 >> 2];
+   q[l >> 2] = q[c + 8 >> 2];
+   q[l + 4 >> 2] = d;
+   d = q[c + 4 >> 2];
+   q[f + 32 >> 2] = q[c >> 2];
+   q[f + 36 >> 2] = d;
+   c = g + 4 | 0;
+   e = q[a + 24 >> 2];
+   if (c >>> 0 <= e >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = f + 48 | 0;
+}
+function LM(a, b, c, d, e, f, g, h, i, j) {
+ var k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0, t = 0, u = 0, v = 0, x = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0;
+ t = Ca + -64 | 0;
+ Ca = t;
+ a : {
+  if (r[a + 416 | 0]) {
+   p = q[a - -64 >> 2];
+   x = q[a + 56 >> 2];
+   B = q[a + 412 >> 2];
+   n = q[a + 408 >> 2];
+   k = q[a + 400 >> 2];
+   o = q[a + 404 >> 2];
+   l = q[a + 160 >> 2];
+   C = q[l + 36 >> 2];
+   D = q[a + 148 >> 2];
+   K = q[l + 40 >> 2];
+   L = q[a + 144 >> 2];
+   l = q[b + 8 >> 2];
+   s = q[b >> 2];
+   A = q[b + 4 >> 2];
+   a = q[b + 12 >> 2];
+   q[t + 12 >> 2] = a;
+   q[t >> 2] = 0;
+   q[t + 4 >> 2] = 0;
+   s = c + s | 0;
+   c = k - s | 0;
+   k = (c | 0) > (l | 0) ? l : c;
+   q[t + 8 >> 2] = k;
+   E = (a | 0) > 0;
+   k = E & (k | 0) > 0;
+   m = (k << 4) + t | 0;
+   v = o;
+   o = d + A | 0;
+   d = v - o | 0;
+   A = (d | 0) > (a | 0) ? a : d;
+   q[m + 12 >> 2] = A;
+   d = n - s | 0;
+   n = (d | 0) > (l | 0) ? l : d;
+   q[m + 8 >> 2] = n;
+   q[m + 4 >> 2] = 0;
+   v = m;
+   m = (c | 0) > 0 ? c : 0;
+   q[v >> 2] = m;
+   v = (n | 0) > (m | 0);
+   k = (A | 0) > 0 ? v ? k ? 2 : 1 : k : k;
+   c = (k << 4) + t | 0;
+   q[c + 12 >> 2] = a;
+   q[c + 8 >> 2] = n;
+   n = B - o | 0;
+   n = (n | 0) > 0 ? n : 0;
+   q[c + 4 >> 2] = n;
+   q[c >> 2] = m;
+   k = k + (v & (a | 0) > (n | 0)) | 0;
+   c = (k << 4) + t | 0;
+   q[c + 12 >> 2] = a;
+   q[c + 8 >> 2] = l;
+   q[c + 4 >> 2] = 0;
+   a = c;
+   c = (d | 0) > 0 ? d : 0;
+   q[a >> 2] = c;
+   F = +(L | 0);
+   u = +(K | 0);
+   G = +(x | 0);
+   z = F * 0 / u + G;
+   b : {
+    if (y(z) < 2147483648) {
+     a = ~~z;
+     break b;
+    }
+    a = -2147483648;
+   }
+   d = (l | 0) > (c | 0);
+   H = +(D | 0);
+   z = +(C | 0);
+   I = +(p | 0);
+   J = H * 0 / z + I;
+   c : {
+    if (y(J) < 2147483648) {
+     c = ~~J;
+     break c;
+    }
+    c = -2147483648;
+   }
+   l = d & E;
+   u = F * u / u + G;
+   d : {
+    if (y(u) < 2147483648) {
+     d = ~~u;
+     break d;
+    }
+    d = -2147483648;
+   }
+   n = k + l | 0;
+   u = H * z / z + I;
+   e : {
+    if (y(u) < 2147483648) {
+     l = ~~u;
+     break e;
+    }
+    l = -2147483648;
+   }
+   if (!n) {
+    break a;
+   }
+   x = d - o | 0;
+   B = l - s | 0;
+   C = a - o | 0;
+   D = c - s | 0;
+   k = 0;
+   while (1) {
+    m = (k << 4) + t | 0;
+    p = q[m >> 2];
+    q[m >> 2] = (p + s | 0) < (c | 0) ? D : p;
+    p = q[m + 4 >> 2];
+    q[m + 4 >> 2] = (o + p | 0) < (a | 0) ? C : p;
+    p = q[m + 8 >> 2];
+    q[m + 8 >> 2] = (p + s | 0) > (l | 0) ? B : p;
+    v = m;
+    m = q[m + 12 >> 2];
+    q[v + 12 >> 2] = (m + o | 0) > (d | 0) ? x : m;
+    k = k + 1 | 0;
+    if ((n | 0) != (k | 0)) {
+     continue;
+    }
+    break;
+   }
+   a = 0;
+   while (1) {
+    c = (a << 4) + t | 0;
+    m = q[c + 8 >> 2];
+    l = q[c >> 2];
+    f : {
+     if ((m | 0) <= (l | 0)) {
+      break f;
+     }
+     x = q[c + 12 >> 2];
+     k = q[c + 4 >> 2];
+     if ((x | 0) <= (k | 0)) {
+      break f;
+     }
+     g : {
+      if ((l | 0) >= (g | 0)) {
+       c = g;
+       break g;
+      }
+      c = q[b + 16 >> 2];
+      p = l + (q[b + 20 >> 2] + w(c, k) | 0) | 0;
+      d = L$(48);
+      if (!d) {
+       if (j) {
+        break a;
+       }
+       Kd(p);
+       break a;
+      }
+      q[d + 36 >> 2] = j;
+      q[d + 16 >> 2] = e;
+      q[d + 12 >> 2] = p;
+      q[d + 8 >> 2] = c;
+      q[d + 24 >> 2] = k + o;
+      q[d + 20 >> 2] = l + s;
+      q[d + 4 >> 2] = x - k;
+      c = (m | 0) < (g | 0) ? m : g;
+      q[d >> 2] = c - l;
+      qM(j);
+      q[d + 44 >> 2] = 0;
+      q[d + 40 >> 2] = j ? 0 : p;
+      q[d + 32 >> 2] = i;
+      q[h >> 2] = d;
+      h = d + 28 | 0;
+     }
+     if ((c | 0) >= (m | 0)) {
+      break f;
+     }
+     l = (c | 0) < (l | 0) ? l : c;
+     p = q[b + 16 >> 2];
+     d = l + (q[b + 20 >> 2] + w(p, k) | 0) | 0;
+     c = L$(48);
+     if (!c) {
+      if (j) {
+       break a;
+      }
+      Kd(d);
+      break a;
+     }
+     q[c + 36 >> 2] = j;
+     q[c + 16 >> 2] = f;
+     q[c + 12 >> 2] = d;
+     q[c + 8 >> 2] = p;
+     q[c + 24 >> 2] = k + o;
+     q[c + 20 >> 2] = l + s;
+     q[c + 4 >> 2] = x - k;
+     q[c >> 2] = m - l;
+     qM(j);
+     q[c + 44 >> 2] = 0;
+     q[c + 40 >> 2] = j ? 0 : d;
+     q[c + 32 >> 2] = i;
+     q[h >> 2] = c;
+     h = c + 28 | 0;
+    }
+    a = a + 1 | 0;
+    if ((n | 0) != (a | 0)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  n = q[b >> 2];
+  s = n + c | 0;
+  l = q[a + 136 >> 2];
+  c = q[a + 400 >> 2];
+  c = (c | 0) > 0 ? c : 0;
+  c = s - ((c | 0) > (l | 0) ? l : c) | 0;
+  c = c >> 31 & 0 - c;
+  k = q[a + 408 >> 2];
+  k = (k | 0) > 0 ? k : 0;
+  l = ((k | 0) > (l | 0) ? l : k) - s | 0;
+  k = q[b + 8 >> 2];
+  l = (l | 0) < (k | 0) ? l : k;
+  if ((c | 0) >= (l | 0)) {
+   break a;
+  }
+  k = q[a + 140 >> 2];
+  o = q[a + 412 >> 2];
+  o = (o | 0) > 0 ? o : 0;
+  m = (o | 0) > (k | 0) ? k : o;
+  o = q[b + 4 >> 2] + d | 0;
+  d = m - o | 0;
+  m = q[b + 12 >> 2];
+  m = (d | 0) < (m | 0) ? d : m;
+  a = q[a + 404 >> 2];
+  a = (a | 0) > 0 ? a : 0;
+  a = o - ((a | 0) > (k | 0) ? k : a) | 0;
+  d = a >> 31 & 0 - a;
+  if ((m | 0) <= (d | 0)) {
+   break a;
+  }
+  k = g - n | 0;
+  if ((k | 0) > (c | 0)) {
+   n = q[b + 16 >> 2];
+   g = c + (q[b + 20 >> 2] + w(n, d) | 0) | 0;
+   a = L$(48);
+   if (!a) {
+    if (j) {
+     break a;
+    }
+    Kd(g);
+    break a;
+   }
+   q[a + 36 >> 2] = j;
+   q[a + 16 >> 2] = e;
+   q[a + 12 >> 2] = g;
+   q[a + 8 >> 2] = n;
+   q[a + 24 >> 2] = d + o;
+   q[a + 20 >> 2] = c + s;
+   q[a + 4 >> 2] = m - d;
+   k = (k | 0) > (l | 0) ? l : k;
+   q[a >> 2] = k - c;
+   qM(j);
+   q[a + 44 >> 2] = 0;
+   q[a + 40 >> 2] = j ? 0 : g;
+   q[a + 32 >> 2] = i;
+   q[h >> 2] = a;
+   h = a + 28 | 0;
+  }
+  if ((k | 0) >= (l | 0)) {
+   break a;
+  }
+  c = (k | 0) < (c | 0) ? c : k;
+  e = q[b + 16 >> 2];
+  b = c + (q[b + 20 >> 2] + w(e, d) | 0) | 0;
+  a = L$(48);
+  if (!a) {
+   if (j) {
+    break a;
+   }
+   Kd(b);
+   break a;
+  }
+  q[a + 36 >> 2] = j;
+  q[a + 16 >> 2] = f;
+  q[a + 12 >> 2] = b;
+  q[a + 8 >> 2] = e;
+  q[a + 24 >> 2] = d + o;
+  q[a + 20 >> 2] = c + s;
+  q[a + 4 >> 2] = m - d;
+  q[a >> 2] = l - c;
+  qM(j);
+  q[a + 44 >> 2] = 0;
+  q[a + 40 >> 2] = j ? 0 : b;
+  q[a + 32 >> 2] = i;
+  q[h >> 2] = a;
+  h = a + 28 | 0;
+ }
+ Ca = t - -64 | 0;
+ return h;
+}
+function EM(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, p = 0, s = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0;
+ d = Z$(b, 0, 72);
+ A = q[a + 20 >> 2];
+ a : {
+  if (!A) {
+   g = 2147483647;
+   i = -2147483648;
+   m = -2147483648;
+   h = 2147483647;
+   s = -2147483648;
+   t = -2147483648;
+   l = 2147483647;
+   o = 2147483647;
+   break a;
+  }
+  v = q[a + 24 >> 2];
+  t = -2147483648;
+  o = 2147483647;
+  l = 2147483647;
+  s = -2147483648;
+  h = 2147483647;
+  g = 2147483647;
+  m = -2147483648;
+  i = -2147483648;
+  while (1) {
+   k = w(x, 24);
+   b = k + v | 0;
+   j = q[b >> 2];
+   if (j) {
+    e = k + v | 0;
+    p = q[j >> 2] + (r[e + 8 | 0] | r[e + 9 | 0] << 8 | (r[e + 10 | 0] << 16 | r[e + 11 | 0] << 24)) | 0;
+    h = (h | 0) > (p | 0) ? p : h;
+    p = p + q[j + 8 >> 2] | 0;
+    m = (m | 0) > (p | 0) ? m : p;
+    e = q[j + 4 >> 2] + (r[e + 12 | 0] | r[e + 13 | 0] << 8 | (r[e + 14 | 0] << 16 | r[e + 15 | 0] << 24)) | 0;
+    g = (g | 0) > (e | 0) ? e : g;
+    e = e + q[j + 12 >> 2] | 0;
+    i = (i | 0) > (e | 0) ? i : e;
+    y = y + 1 | 0;
+    e = b;
+   }
+   j = q[b + 4 >> 2];
+   if (j) {
+    f = k + v | 0;
+    k = q[j >> 2] + (r[f + 16 | 0] | r[f + 17 | 0] << 8 | (r[f + 18 | 0] << 16 | r[f + 19 | 0] << 24)) | 0;
+    o = (o | 0) > (k | 0) ? k : o;
+    k = k + q[j + 8 >> 2] | 0;
+    t = (t | 0) > (k | 0) ? t : k;
+    f = q[j + 4 >> 2] + (r[f + 20 | 0] | r[f + 21 | 0] << 8 | (r[f + 22 | 0] << 16 | r[f + 23 | 0] << 24)) | 0;
+    l = (l | 0) > (f | 0) ? f : l;
+    f = f + q[j + 12 >> 2] | 0;
+    s = (s | 0) > (f | 0) ? s : f;
+    z = z + 1 | 0;
+    f = b;
+   }
+   x = x + 1 | 0;
+   if ((A | 0) != (x | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ b : {
+  c : {
+   d : {
+    e : {
+     b = CO(q[a + 4 >> 2]);
+     f : {
+      if (!(b | (y | 0) != 1)) {
+       yO(q[c + 764 >> 2], d, q[e >> 2]);
+       q[d >> 2] = q[d >> 2] + q[e + 8 >> 2];
+       q[d + 4 >> 2] = q[d + 4 >> 2] + q[e + 12 >> 2];
+       break f;
+      }
+      if (!y) {
+       break f;
+      }
+      e = b << 1;
+      if (!vO(q[c + 764 >> 2], d, e + (m - h | 0) | 0, e + (i - g | 0) | 0)) {
+       break f;
+      }
+      q[d + 4 >> 2] = g - b;
+      q[d >> 2] = h - b;
+      h = q[a + 20 >> 2];
+      if (!h) {
+       break f;
+      }
+      e = 0;
+      while (1) {
+       i = q[a + 24 >> 2] + w(e, 24) | 0;
+       g = q[i >> 2];
+       if (g) {
+        h = (q[g >> 2] + q[i + 8 >> 2] | 0) - q[d >> 2] | 0;
+        if ((h | 0) < 0) {
+         break e;
+        }
+        m = q[g + 8 >> 2];
+        if ((m + h | 0) > q[d + 8 >> 2]) {
+         break e;
+        }
+        i = (q[g + 4 >> 2] + q[i + 12 >> 2] | 0) - q[d + 4 >> 2] | 0;
+        if ((i | 0) < 0) {
+         break d;
+        }
+        j = q[g + 12 >> 2];
+        if ((j + i | 0) > q[d + 12 >> 2]) {
+         break d;
+        }
+        k = i;
+        i = q[d + 16 >> 2];
+        n[q[q[c + 764 >> 2] + 20 >> 2]](h + (q[d + 20 >> 2] + w(k, i) | 0) | 0, i, q[g + 20 >> 2], q[g + 16 >> 2], j, m);
+        h = q[a + 20 >> 2];
+       }
+       e = e + 1 | 0;
+       if (e >>> 0 < h >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     g : {
+      if (!(b | (z | 0) != 1)) {
+       yO(q[c + 764 >> 2], d + 24 | 0, q[f + 4 >> 2]);
+       q[d + 24 >> 2] = q[d + 24 >> 2] + q[f + 16 >> 2];
+       q[d + 28 >> 2] = q[d + 28 >> 2] + q[f + 20 >> 2];
+       break g;
+      }
+      if (!z) {
+       break g;
+      }
+      e = b << 1;
+      if (!vO(q[c + 764 >> 2], d + 24 | 0, e + (t - o | 0) | 0, e + (s - l | 0) | 0)) {
+       break g;
+      }
+      q[d + 28 >> 2] = l - b;
+      q[d + 24 >> 2] = o - b;
+      h = q[a + 20 >> 2];
+      if (!h) {
+       break g;
+      }
+      e = 0;
+      while (1) {
+       f = q[a + 24 >> 2] + w(e, 24) | 0;
+       b = q[f + 4 >> 2];
+       if (b) {
+        g = (q[b >> 2] + q[f + 16 >> 2] | 0) - q[d + 24 >> 2] | 0;
+        if ((g | 0) < 0) {
+         break c;
+        }
+        h = q[b + 8 >> 2];
+        if ((h + g | 0) > q[d + 32 >> 2]) {
+         break c;
+        }
+        f = (q[b + 4 >> 2] + q[f + 20 >> 2] | 0) - q[d + 28 >> 2] | 0;
+        if ((f | 0) < 0) {
+         break b;
+        }
+        l = q[b + 12 >> 2];
+        if ((l + f | 0) > q[d + 36 >> 2]) {
+         break b;
+        }
+        i = f;
+        f = q[d + 40 >> 2];
+        n[q[q[c + 764 >> 2] + 20 >> 2]](g + (q[d + 44 >> 2] + w(i, f) | 0) | 0, f, q[b + 20 >> 2], q[b + 16 >> 2], l, h);
+        h = q[a + 20 >> 2];
+       }
+       e = e + 1 | 0;
+       if (e >>> 0 < h >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     u = qZ(+q[a + 8 >> 2] * .00390625) * 32;
+     u = u * u;
+     b = q[a >> 2];
+     f = b & -5;
+     if ((f | 0) != 2) {
+      uO(q[c + 764 >> 2], d, q[a + 4 >> 2], u);
+     }
+     e = d + 24 | 0;
+     uO(q[c + 764 >> 2], e, q[a + 4 >> 2], u);
+     if (b & 4) {
+      h : {
+       if (b & 2) {
+        b = d + 48 | 0;
+        yO(q[c + 764 >> 2], b, e);
+        break h;
+       }
+       if (b & 1) {
+        b = q[e + 4 >> 2];
+        q[d + 48 >> 2] = q[e >> 2];
+        q[d + 52 >> 2] = b;
+        b = e + 16 | 0;
+        g = q[b + 4 >> 2];
+        c = d - -64 | 0;
+        q[c >> 2] = q[b >> 2];
+        q[c + 4 >> 2] = g;
+        c = e + 8 | 0;
+        g = q[c + 4 >> 2];
+        q[d + 56 >> 2] = q[c >> 2];
+        q[d + 60 >> 2] = g;
+        q[e >> 2] = 0;
+        q[e + 4 >> 2] = 0;
+        q[c >> 2] = 0;
+        q[c + 4 >> 2] = 0;
+        q[b >> 2] = 0;
+        q[b + 4 >> 2] = 0;
+        b = d + 48 | 0;
+        break h;
+       }
+       b = d + 48 | 0;
+       yO(q[c + 764 >> 2], b, d);
+      }
+      c = q[a + 12 >> 2];
+      q[d + 48 >> 2] = q[d + 48 >> 2] + (c >> 6);
+      a = q[a + 16 >> 2];
+      q[d + 52 >> 2] = q[d + 52 >> 2] + (a >> 6);
+      BO(b, c & 63, a & 63);
+     }
+     if ((f | 0) == 2) {
+      AO(d, e);
+     }
+     return ((w(q[d + 12 >> 2], q[d + 16 >> 2]) + w(q[d + 36 >> 2], q[d + 40 >> 2]) | 0) + w(q[d + 60 >> 2], q[d + 64 >> 2]) | 0) + 100 | 0;
+    }
+    J(355394, 355425, 2415, 355438);
+    F();
+   }
+   J(355462, 355425, 2416, 355438);
+   F();
+  }
+  J(355394, 355425, 2440, 355438);
+  F();
+ }
+ J(355462, 355425, 2441, 355438);
+ F();
+}
+function oH(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0;
+ h = Ca - 432 | 0;
+ Ca = h;
+ z = q[b + 92 >> 2];
+ q[a + 40 >> 2] = s[b + 68 >> 1];
+ if (!Vf(b, 1970170211)) {
+  pH(a, b);
+  d = q[q[a >> 2] + 12 >> 2];
+  o = GG();
+  d = (d << 3) + 278240 | 0;
+  c = q[d >> 2];
+  if ((c | 0) != 5326) {
+   A = a + 7496 | 0;
+   B = a + 44 | 0;
+   while (1) {
+    n = d;
+    d = c + 272912 | 0;
+    c = r[d | 0];
+    a : {
+     if (!c) {
+      break a;
+     }
+     v = r[n + 4 | 0] & 2 ? B : A;
+     m = 0;
+     i = 0;
+     x = 1;
+     while (1) {
+      c = c & 255;
+      if ((c | 0) != 32) {
+       b : {
+        c : {
+         if ((c | 0) == 124) {
+          d = d + 1 | 0;
+          break c;
+         }
+         d = qH(d, a, o, h + 12 | 0);
+         if (t[h + 12 >> 2] > 1) {
+          break b;
+         }
+         c = LG(o, h + 428 | 0);
+         MG(o, h + 428 | 0);
+         if (!q[h + 428 >> 2]) {
+          break b;
+         }
+         c = q[c >> 2];
+         if (!c) {
+          break b;
+         }
+         if (we(b, c, 1)) {
+          break b;
+         }
+         e = q[b + 84 >> 2];
+         if (p[e + 110 >> 1] < 3) {
+          break b;
+         }
+         c = 0;
+         y = p[e + 108 >> 1];
+         d : {
+          if ((y | 0) < 1) {
+           e = 0;
+           break d;
+          }
+          C = q[e + 120 >> 2];
+          l = q[e + 112 >> 2];
+          g = -1;
+          u = 0;
+          e = 0;
+          while (1) {
+           j = p[(u << 1) + C >> 1];
+           e : {
+            if ((c | 0) >= (j | 0)) {
+             break e;
+            }
+            k = s[n + 4 >> 1];
+            f = k & 1;
+            if (k & 2) {
+             if (f) {
+              while (1) {
+               f = q[l + (c << 3) >> 2];
+               k = (g | 0) < 0 | (f | 0) > (e | 0);
+               g = k ? c : g;
+               e = k ? f : e;
+               f = (c | 0) == (j | 0);
+               c = c + 1 | 0;
+               if (!f) {
+                continue;
+               }
+               break e;
+              }
+             }
+             while (1) {
+              f = q[l + (c << 3) >> 2];
+              k = (g | 0) < 0 | (f | 0) < (e | 0);
+              g = k ? c : g;
+              e = k ? f : e;
+              f = (c | 0) == (j | 0);
+              c = c + 1 | 0;
+              if (!f) {
+               continue;
+              }
+              break;
+             }
+             break e;
+            }
+            if (f) {
+             while (1) {
+              f = q[(l + (c << 3) | 0) + 4 >> 2];
+              k = (g | 0) < 0 | (f | 0) > (e | 0);
+              g = k ? c : g;
+              e = k ? f : e;
+              f = (c | 0) == (j | 0);
+              c = c + 1 | 0;
+              if (!f) {
+               continue;
+              }
+              break e;
+             }
+            }
+            while (1) {
+             f = q[(l + (c << 3) | 0) + 4 >> 2];
+             k = (g | 0) < 0 | (f | 0) < (e | 0);
+             g = k ? c : g;
+             e = k ? f : e;
+             f = (c | 0) != (j | 0);
+             c = c + 1 | 0;
+             if (f) {
+              continue;
+             }
+             break;
+            }
+           }
+           c = j + 1 | 0;
+           u = u + 1 | 0;
+           if ((y | 0) != (u | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         if (x) {
+          q[(h + 224 | 0) + (m << 2) >> 2] = e;
+          m = m + 1 | 0;
+          break b;
+         }
+         q[(h + 16 | 0) + (i << 2) >> 2] = e;
+         i = i + 1 | 0;
+        }
+        x = 0;
+       }
+       c = r[d | 0];
+       if (c) {
+        continue;
+       }
+       if (!(i | m)) {
+        break a;
+       }
+       c = 1;
+       if (m >>> 0 >= 2) {
+        while (1) {
+         g = q[(h + 224 | 0) + (c << 2) >> 2];
+         d = c;
+         while (1) {
+          e = d + -1 | 0;
+          j = (h + 224 | 0) + (e << 2) | 0;
+          l = q[j >> 2];
+          if ((g | 0) < (l | 0)) {
+           q[(h + 224 | 0) + (d << 2) >> 2] = l;
+           q[j >> 2] = g;
+           d = e;
+           if (d) {
+            continue;
+           }
+          }
+          break;
+         }
+         c = c + 1 | 0;
+         if ((m | 0) != (c | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       c = 1;
+       if (i >>> 0 >= 2) {
+        while (1) {
+         g = q[(h + 16 | 0) + (c << 2) >> 2];
+         d = c;
+         while (1) {
+          e = d + -1 | 0;
+          j = (h + 16 | 0) + (e << 2) | 0;
+          l = q[j >> 2];
+          if ((g | 0) < (l | 0)) {
+           q[(h + 16 | 0) + (d << 2) >> 2] = l;
+           q[j >> 2] = g;
+           d = e;
+           if (d) {
+            continue;
+           }
+          }
+          break;
+         }
+         c = c + 1 | 0;
+         if ((i | 0) != (c | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       d = q[v + 216 >> 2];
+       q[v + 216 >> 2] = d + 1;
+       j = w(d, 28) + v | 0;
+       d = j + 232 | 0;
+       c = j + 220 | 0;
+       f : {
+        g : {
+         if (!(!i | !m)) {
+          e = q[(h + 224 | 0) + (m << 1 & -4) >> 2];
+          q[c >> 2] = e;
+          i = q[(h + 16 | 0) + (i << 1 & -4) >> 2];
+          q[d >> 2] = i;
+          if ((e | 0) == (i | 0)) {
+           break g;
+          }
+          g = s[n + 4 >> 1];
+          if ((g & 1) == ((i | 0) < (e | 0) | 0)) {
+           break f;
+          }
+          f = d;
+          d = (e + i | 0) / 2 | 0;
+          q[f >> 2] = d;
+          q[c >> 2] = d;
+          break f;
+         }
+         e = d;
+         d = q[((i ? i : m) << 1 & -4) + (i ? h + 16 | 0 : h + 224 | 0) >> 2];
+         q[e >> 2] = d;
+         q[c >> 2] = d;
+        }
+        g = s[n + 4 >> 1];
+       }
+       q[j + 244 >> 2] = g << 1 & 2;
+      } else {
+       c = r[d + 1 | 0];
+       d = d + 1 | 0;
+       continue;
+      }
+      break;
+     }
+    }
+    d = n + 8 | 0;
+    c = q[n + 8 >> 2];
+    if ((c | 0) != 5326) {
+     continue;
+    }
+    break;
+   }
+  }
+  HG(o);
+  rH(a);
+ }
+ Wf(b, z);
+ Ca = h + 432 | 0;
+ return 0;
+}
+function vz(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = x(0), j = 0, k = 0, l = 0, m = 0, n = x(0), p = 0;
+ e = Ca - 240 | 0;
+ Ca = e;
+ if (!(!q[a >> 2] | t[a + 124 >> 2] <= c >>> 0)) {
+  p = wz(q[a + 92 >> 2], c);
+  o[e + 72 | 0] = 0;
+  g = e - -64 | 0;
+  q[g >> 2] = 0;
+  q[g + 4 >> 2] = 0;
+  q[e + 92 >> 2] = 0;
+  q[e + 84 >> 2] = 0;
+  q[e + 88 >> 2] = 0;
+  q[e + 108 >> 2] = 0;
+  q[e + 112 >> 2] = 0;
+  o[e + 116 | 0] = 0;
+  q[e + 160 >> 2] = 0;
+  q[e + 152 >> 2] = 0;
+  q[e + 156 >> 2] = 0;
+  q[e + 228 >> 2] = 0;
+  q[e + 56 >> 2] = 0;
+  q[e + 60 >> 2] = 0;
+  q[e + 100 >> 2] = 0;
+  q[e + 104 >> 2] = 0;
+  q[e + 220 >> 2] = 0;
+  q[e + 224 >> 2] = 0;
+  k = q[a + 84 >> 2];
+  g = r[k | 0] | r[k + 1 | 0] << 8 | (r[k + 2 | 0] << 16 | r[k + 3 | 0] << 24);
+  g = g << 24 | g << 8 & 16711680 | (g >>> 8 & 65280 | g >>> 24);
+  a : {
+   if (g >>> 0 <= c >>> 0) {
+    q[e + 48 >> 2] = q[67762];
+    c = q[67761];
+    q[e + 40 >> 2] = q[67760];
+    q[e + 44 >> 2] = c;
+    break a;
+   }
+   h = r[k + 4 | 0];
+   j = (k + w(h, g + 1 | 0) | 0) + 5 | 0;
+   if (h) {
+    g = (k + w(c, h) | 0) + 5 | 0;
+    while (1) {
+     f = r[g | 0] | f << 8;
+     g = g + 1 | 0;
+     h = h + -1 | 0;
+     if (h) {
+      continue;
+     }
+     break;
+    }
+   }
+   c = LB(k, c);
+   q[e + 48 >> 2] = 0;
+   q[e + 44 >> 2] = c;
+   q[e + 40 >> 2] = (f + j | 0) + -1;
+  }
+  k = q[b + 64 >> 2];
+  j = q[b + 60 >> 2];
+  g = w(p, 28);
+  xz(e + 56 | 0, e + 40 | 0, q[a + 76 >> 2], q[(t[a + 116 >> 2] > p >>> 0 ? g + q[a + 120 >> 2] | 0 : 271040) + 20 >> 2]);
+  q[e + 204 >> 2] = j;
+  q[e + 200 >> 2] = k;
+  f = q[a + 80 >> 2];
+  q[e + 208 >> 2] = f;
+  o[e + 233 | 0] = 0;
+  o[e + 234 | 0] = 0;
+  q[e + 228 >> 2] = 0;
+  q[e + 220 >> 2] = 0;
+  q[e + 224 >> 2] = 0;
+  c = e;
+  h = 0;
+  b : {
+   if (!k) {
+    break b;
+   }
+   h = 0;
+   if (!j) {
+    break b;
+   }
+   h = (f | 0) != 271040;
+  }
+  o[c + 232 | 0] = h;
+  q[e + 216 >> 2] = q[(t[a + 116 >> 2] > p >>> 0 ? g + q[a + 120 >> 2] | 0 : 271040) + 24 >> 2];
+  o[e + 128 | 0] = 0;
+  q[e + 32 >> 2] = 0;
+  q[e + 36 >> 2] = -1042284544;
+  q[e + 24 >> 2] = 0;
+  q[e + 28 >> 2] = -1042284544;
+  q[e + 16 >> 2] = -4194304;
+  q[e + 20 >> 2] = 1105199103;
+  q[e + 8 >> 2] = -4194304;
+  q[e + 12 >> 2] = 1105199103;
+  o[e | 0] = 0;
+  c = r[271040];
+  a = c | 256;
+  f = r[e + 72 | 0];
+  c : {
+   while (1) {
+    d : {
+     e : {
+      f : {
+       g : {
+        if (f & 255) {
+         break g;
+        }
+        f = q[e + 68 >> 2];
+        j = f + 1 | 0;
+        h = q[e + 60 >> 2];
+        if (j >>> 0 > h >>> 0) {
+         break g;
+        }
+        if (f >>> 0 < h >>> 0) {
+         k = q[e + 56 >> 2];
+         g = r[k + f | 0];
+         if ((g | 0) == 12) {
+          if (j >>> 0 >= h >>> 0) {
+           break f;
+          }
+          f = r[k + j | 0];
+          q[e + 68 >> 2] = j;
+          g = f | 256;
+          f = j;
+         }
+         if (f >>> 0 >= h >>> 0) {
+          f = g;
+          break e;
+         }
+         q[e + 68 >> 2] = f + 1;
+         break d;
+        }
+        o[e + 72 | 0] = 1;
+        g = 65535;
+        f = c;
+        if ((f | 0) == 12) {
+         break d;
+        }
+        break e;
+       }
+       g = q[e + 148 >> 2] ? 11 : 14;
+       break d;
+      }
+      o[e + 72 | 0] = 1;
+      q[e + 68 >> 2] = h;
+      f = a;
+     }
+     o[e + 72 | 0] = 1;
+     q[e + 68 >> 2] = h;
+     g = f;
+    }
+    yz(g, e + 56 | 0, e);
+    g = 0;
+    f = r[e + 72 | 0];
+    j = 0;
+    if (r[e + 76 | 0] | (f | (r[e + 96 | 0] | r[e + 144 | 0]))) {
+     break c;
+    }
+    j = 0;
+    if ((q[e + 84 >> 2] | q[e + 152 >> 2]) < 0) {
+     break c;
+    }
+    if (!r[e + 128 | 0]) {
+     continue;
+    }
+    break;
+   }
+   m = v[e + 24 >> 3];
+   l = v[e + 8 >> 3];
+   h : {
+    if (!(m > l)) {
+     q[d >> 2] = 0;
+     q[d + 8 >> 2] = 0;
+     break h;
+    }
+    n = x(q[b + 20 >> 2]);
+    i = x(x(l) * n);
+    f = q[b + 16 >> 2];
+    h = q[f + 28 >> 2];
+    if (!h) {
+     h = XF(f);
+     n = x(q[b + 20 >> 2]);
+     l = v[e + 8 >> 3];
+     m = v[e + 24 >> 3];
+     f = q[b + 16 >> 2];
+    }
+    a = d;
+    i = x(S(x(x(i / x(h >>> 0)))));
+    i : {
+     if (x(y(i)) < x(2147483648)) {
+      c = ~~i;
+      break i;
+     }
+     c = -2147483648;
+    }
+    q[a >> 2] = c;
+    c = d;
+    i = x(n * x(m - l));
+    a = q[f + 28 >> 2];
+    if (!a) {
+     a = XF(f);
+    }
+    i = x(S(x(x(i / x(a >>> 0)))));
+    j : {
+     if (x(y(i)) < x(2147483648)) {
+      a = ~~i;
+      break j;
+     }
+     a = -2147483648;
+    }
+    q[c + 8 >> 2] = a;
+   }
+   l = v[e + 32 >> 3];
+   m = v[e + 16 >> 3];
+   k : {
+    if (!(l > m)) {
+     q[d + 4 >> 2] = 0;
+     q[d + 12 >> 2] = 0;
+     break k;
+    }
+    n = x(q[b + 24 >> 2]);
+    i = x(x(l) * n);
+    f = q[b + 16 >> 2];
+    h = q[f + 28 >> 2];
+    if (!h) {
+     h = XF(f);
+     n = x(q[b + 24 >> 2]);
+     l = v[e + 32 >> 3];
+     m = v[e + 16 >> 3];
+     f = q[b + 16 >> 2];
+    }
+    a = d;
+    i = x(S(x(x(i / x(h >>> 0)))));
+    l : {
+     if (x(y(i)) < x(2147483648)) {
+      b = ~~i;
+      break l;
+     }
+     b = -2147483648;
+    }
+    q[a + 4 >> 2] = b;
+    i = x(n * x(m - l));
+    a = q[f + 28 >> 2];
+    if (!a) {
+     a = XF(f);
+    }
+    i = x(S(x(x(i / x(a >>> 0)))));
+    m : {
+     if (x(y(i)) < x(2147483648)) {
+      a = ~~i;
+      break m;
+     }
+     a = -2147483648;
+    }
+    q[d + 12 >> 2] = a;
+   }
+   j = 1;
+  }
+  M$(q[e + 228 >> 2]);
+  q[e + 228 >> 2] = 0;
+  q[e + 220 >> 2] = 0;
+  q[e + 224 >> 2] = 0;
+  b = q[e + 88 >> 2];
+  if (b) {
+   while (1) {
+    c = q[e + 92 >> 2] + (g << 5) | 0;
+    a = c + 24 | 0;
+    M$(q[a >> 2]);
+    q[a >> 2] = 0;
+    q[c + 16 >> 2] = 0;
+    q[c + 20 >> 2] = 0;
+    g = g + 1 | 0;
+    if ((b | 0) != (g | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  M$(q[e + 92 >> 2]);
+  q[e + 92 >> 2] = 0;
+  q[e + 84 >> 2] = 0;
+  q[e + 88 >> 2] = 0;
+  M$(q[e + 160 >> 2]);
+  q[e + 160 >> 2] = 0;
+  q[e + 152 >> 2] = 0;
+  q[e + 156 >> 2] = 0;
+  M$(q[e + 228 >> 2]);
+  q[e + 228 >> 2] = 0;
+  q[e + 220 >> 2] = 0;
+  q[e + 224 >> 2] = 0;
+  M$(q[e + 160 >> 2]);
+  q[e + 160 >> 2] = 0;
+  q[e + 152 >> 2] = 0;
+  q[e + 156 >> 2] = 0;
+  M$(q[e + 92 >> 2]);
+ }
+ Ca = e + 240 | 0;
+ return j;
+}
+function YK(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0;
+ h = Ca - 96 | 0;
+ Ca = h;
+ q[h + 80 >> 2] = 0;
+ q[h + 84 >> 2] = 0;
+ q[h + 72 >> 2] = 0;
+ q[h + 76 >> 2] = 0;
+ g = h - -64 | 0;
+ q[g >> 2] = 0;
+ q[g + 4 >> 2] = 0;
+ q[h + 56 >> 2] = 0;
+ q[h + 60 >> 2] = 0;
+ q[h + 48 >> 2] = 0;
+ q[h + 52 >> 2] = 0;
+ q[b + 16 >> 2] = 0;
+ q[b + 20 >> 2] = 0;
+ m = c + 10 | 0;
+ g = Te(a, 8, 0, m, 0, h + 92 | 0);
+ q[b + 20 >> 2] = g;
+ j = q[h + 92 >> 2];
+ if (!j) {
+  a : {
+   if (!c) {
+    break a;
+   }
+   while (1) {
+    j = n[d](f, l) | 0;
+    b : {
+     if (!j) {
+      break b;
+     }
+     i = 0;
+     c : {
+      d : {
+       if (!iZ(353760, j)) {
+        break d;
+       }
+       i = 1;
+       if (!iZ(353766, j)) {
+        break d;
+       }
+       i = 2;
+       if (!iZ(353772, j)) {
+        break d;
+       }
+       i = 3;
+       if (!iZ(353781, j)) {
+        break d;
+       }
+       i = 4;
+       if (!iZ(353788, j)) {
+        break d;
+       }
+       i = 5;
+       if (!iZ(353795, j)) {
+        break d;
+       }
+       i = 6;
+       if (!iZ(353798, j)) {
+        break d;
+       }
+       i = 7;
+       if (!iZ(353813, j)) {
+        break d;
+       }
+       i = 8;
+       if (!iZ(353819, j)) {
+        break d;
+       }
+       if (iZ(353832, j)) {
+        break c;
+       }
+       i = 9;
+      }
+      k = i << 2;
+      i = k + (h + 48 | 0) | 0;
+      if (q[i >> 2]) {
+       break c;
+      }
+      q[i >> 2] = 1;
+      q[h + k >> 2] = l;
+     }
+     i = WK(j);
+     if (i & 2147483647) {
+      o = h + 48 | 0;
+      e : {
+       f : {
+        g : {
+         h : {
+          i : {
+           j : {
+            k : {
+             l : {
+              m : {
+               n : {
+                if ((i | 0) <= 915) {
+                 k = i + -160 | 0;
+                 if (k >>> 0 <= 13) {
+                  break l;
+                 }
+                 k = i + -538 | 0;
+                 if (k >>> 0 > 1) {
+                  if ((i | 0) != 713) {
+                   break e;
+                  }
+                  k = 4;
+                  break f;
+                 }
+                 if (k - 1) {
+                  break n;
+                 }
+                 break m;
+                }
+                k = i + -937 | 0;
+                if (k >>> 0 <= 19) {
+                 break k;
+                }
+                k = i + -8725 | 0;
+                if (k >>> 0 > 4) {
+                 k = 0;
+                 if ((i | 0) == 916) {
+                  break f;
+                 }
+                 break e;
+                }
+                o : {
+                 switch (k - 1 | 0) {
+                 default:
+                  k = 2;
+                  break f;
+                 case 3:
+                  break o;
+                 case 0:
+                 case 1:
+                 case 2:
+                  break e;
+                 }
+                }
+                k = 6;
+                break f;
+               }
+               k = 8;
+               break f;
+              }
+              k = 9;
+              break f;
+             }
+             switch (k - 1 | 0) {
+             case 12:
+              break h;
+             case 0:
+             case 1:
+             case 2:
+             case 3:
+             case 4:
+             case 5:
+             case 6:
+             case 7:
+             case 8:
+             case 9:
+             case 10:
+             case 11:
+              break e;
+             default:
+              break j;
+             }
+            }
+            switch (k - 1 | 0) {
+            case 18:
+             break i;
+            case 0:
+            case 1:
+            case 2:
+            case 3:
+            case 4:
+            case 5:
+            case 6:
+            case 7:
+            case 8:
+            case 9:
+            case 10:
+            case 11:
+            case 12:
+            case 13:
+            case 14:
+            case 15:
+            case 16:
+            case 17:
+             break e;
+            default:
+             break g;
+            }
+           }
+           k = 7;
+           break f;
+          }
+          k = 5;
+          break f;
+         }
+         k = 3;
+         break f;
+        }
+        k = 1;
+       }
+       q[o + (k << 2) >> 2] = 2;
+      }
+      q[g + 4 >> 2] = l;
+      q[g >> 2] = i;
+      g = g + 8 | 0;
+     }
+     if (!e) {
+      break b;
+     }
+     n[e](f, j);
+    }
+    l = l + 1 | 0;
+    if ((l | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   if (q[h + 48 >> 2] != 1) {
+    break a;
+   }
+   q[g >> 2] = 916;
+   q[g + 4 >> 2] = q[h >> 2];
+   g = g + 8 | 0;
+  }
+  if (q[h + 52 >> 2] == 1) {
+   q[g >> 2] = 937;
+   q[g + 4 >> 2] = q[h + 4 >> 2];
+   g = g + 8 | 0;
+  }
+  if (q[h + 56 >> 2] == 1) {
+   q[g >> 2] = 8725;
+   q[g + 4 >> 2] = q[h + 8 >> 2];
+   g = g + 8 | 0;
+  }
+  if (q[h + 60 >> 2] == 1) {
+   q[g >> 2] = 173;
+   q[g + 4 >> 2] = q[h + 12 >> 2];
+   g = g + 8 | 0;
+  }
+  if (q[h + 64 >> 2] == 1) {
+   q[g >> 2] = 713;
+   q[g + 4 >> 2] = q[h + 16 >> 2];
+   g = g + 8 | 0;
+  }
+  if (q[h + 68 >> 2] == 1) {
+   q[g >> 2] = 956;
+   q[g + 4 >> 2] = q[h + 20 >> 2];
+   g = g + 8 | 0;
+  }
+  if (q[h + 72 >> 2] == 1) {
+   q[g >> 2] = 8729;
+   q[g + 4 >> 2] = q[h + 24 >> 2];
+   g = g + 8 | 0;
+  }
+  if (q[h + 76 >> 2] == 1) {
+   q[g >> 2] = 160;
+   q[g + 4 >> 2] = q[h + 28 >> 2];
+   g = g + 8 | 0;
+  }
+  if (q[h + 80 >> 2] == 1) {
+   q[g >> 2] = 538;
+   q[g + 4 >> 2] = q[h + 32 >> 2];
+   g = g + 8 | 0;
+  }
+  if (q[h + 84 >> 2] == 1) {
+   q[g >> 2] = 539;
+   q[g + 4 >> 2] = q[h + 36 >> 2];
+   g = g + 8 | 0;
+  }
+  j = q[b + 20 >> 2];
+  e = g - j | 0;
+  d = e >> 3;
+  p : {
+   if (!e) {
+    Qe(a, j);
+    q[b + 20 >> 2] = 0;
+    j = q[h + 92 >> 2];
+    if (j) {
+     break p;
+    }
+    j = 163;
+    q[h + 92 >> 2] = 163;
+    break p;
+   }
+   if (d >>> 0 < c >>> 1 >>> 0) {
+    j = Te(a, 8, m, d, j, h + 92 | 0);
+    q[b + 20 >> 2] = j;
+    q[h + 92 >> 2] = 0;
+   }
+   M_(j, d, 8, 745);
+   j = q[h + 92 >> 2];
+  }
+  q[b + 16 >> 2] = d;
+ }
+ Ca = h + 96 | 0;
+ return j | 0;
+}
+function mR(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ g = Ca - 144 | 0;
+ Ca = g;
+ j = CX(a, b);
+ i = BX(a, b);
+ k = i ? b : 0;
+ a = i ? i : b;
+ if (j) {
+  b = g0(a);
+  e = b;
+  d = g0(j);
+  h = d + b | 0;
+  l = L$(h + 1 | 0);
+  b = Y$(l, a, b);
+  Y$(e + b | 0, j, d + 1 | 0);
+  o[b + h | 0] = 0;
+  k = k ? k : a;
+  a = b;
+ }
+ q[g + 48 >> 2] = -1732584194;
+ q[g + 52 >> 2] = 271733878;
+ q[g + 40 >> 2] = 1732584193;
+ q[g + 44 >> 2] = -271733879;
+ h = g0(a);
+ q[g + 60 >> 2] = h >>> 29;
+ e = h << 3;
+ q[g + 56 >> 2] = e;
+ d = g - -64 | 0;
+ a : {
+  if (h >>> 0 < 64) {
+   b = a;
+   break a;
+  }
+  b = a;
+  while (1) {
+   e = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+   f = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+   o[d | 0] = f;
+   o[d + 1 | 0] = f >>> 8;
+   o[d + 2 | 0] = f >>> 16;
+   o[d + 3 | 0] = f >>> 24;
+   o[d + 4 | 0] = e;
+   o[d + 5 | 0] = e >>> 8;
+   o[d + 6 | 0] = e >>> 16;
+   o[d + 7 | 0] = e >>> 24;
+   e = r[b + 60 | 0] | r[b + 61 | 0] << 8 | (r[b + 62 | 0] << 16 | r[b + 63 | 0] << 24);
+   f = r[b + 56 | 0] | r[b + 57 | 0] << 8 | (r[b + 58 | 0] << 16 | r[b + 59 | 0] << 24);
+   o[d + 56 | 0] = f;
+   o[d + 57 | 0] = f >>> 8;
+   o[d + 58 | 0] = f >>> 16;
+   o[d + 59 | 0] = f >>> 24;
+   o[d + 60 | 0] = e;
+   o[d + 61 | 0] = e >>> 8;
+   o[d + 62 | 0] = e >>> 16;
+   o[d + 63 | 0] = e >>> 24;
+   e = r[b + 52 | 0] | r[b + 53 | 0] << 8 | (r[b + 54 | 0] << 16 | r[b + 55 | 0] << 24);
+   f = r[b + 48 | 0] | r[b + 49 | 0] << 8 | (r[b + 50 | 0] << 16 | r[b + 51 | 0] << 24);
+   o[d + 48 | 0] = f;
+   o[d + 49 | 0] = f >>> 8;
+   o[d + 50 | 0] = f >>> 16;
+   o[d + 51 | 0] = f >>> 24;
+   o[d + 52 | 0] = e;
+   o[d + 53 | 0] = e >>> 8;
+   o[d + 54 | 0] = e >>> 16;
+   o[d + 55 | 0] = e >>> 24;
+   e = r[b + 44 | 0] | r[b + 45 | 0] << 8 | (r[b + 46 | 0] << 16 | r[b + 47 | 0] << 24);
+   f = r[b + 40 | 0] | r[b + 41 | 0] << 8 | (r[b + 42 | 0] << 16 | r[b + 43 | 0] << 24);
+   o[d + 40 | 0] = f;
+   o[d + 41 | 0] = f >>> 8;
+   o[d + 42 | 0] = f >>> 16;
+   o[d + 43 | 0] = f >>> 24;
+   o[d + 44 | 0] = e;
+   o[d + 45 | 0] = e >>> 8;
+   o[d + 46 | 0] = e >>> 16;
+   o[d + 47 | 0] = e >>> 24;
+   e = r[b + 36 | 0] | r[b + 37 | 0] << 8 | (r[b + 38 | 0] << 16 | r[b + 39 | 0] << 24);
+   f = r[b + 32 | 0] | r[b + 33 | 0] << 8 | (r[b + 34 | 0] << 16 | r[b + 35 | 0] << 24);
+   o[d + 32 | 0] = f;
+   o[d + 33 | 0] = f >>> 8;
+   o[d + 34 | 0] = f >>> 16;
+   o[d + 35 | 0] = f >>> 24;
+   o[d + 36 | 0] = e;
+   o[d + 37 | 0] = e >>> 8;
+   o[d + 38 | 0] = e >>> 16;
+   o[d + 39 | 0] = e >>> 24;
+   e = r[b + 28 | 0] | r[b + 29 | 0] << 8 | (r[b + 30 | 0] << 16 | r[b + 31 | 0] << 24);
+   f = r[b + 24 | 0] | r[b + 25 | 0] << 8 | (r[b + 26 | 0] << 16 | r[b + 27 | 0] << 24);
+   o[d + 24 | 0] = f;
+   o[d + 25 | 0] = f >>> 8;
+   o[d + 26 | 0] = f >>> 16;
+   o[d + 27 | 0] = f >>> 24;
+   o[d + 28 | 0] = e;
+   o[d + 29 | 0] = e >>> 8;
+   o[d + 30 | 0] = e >>> 16;
+   o[d + 31 | 0] = e >>> 24;
+   e = r[b + 20 | 0] | r[b + 21 | 0] << 8 | (r[b + 22 | 0] << 16 | r[b + 23 | 0] << 24);
+   f = r[b + 16 | 0] | r[b + 17 | 0] << 8 | (r[b + 18 | 0] << 16 | r[b + 19 | 0] << 24);
+   o[d + 16 | 0] = f;
+   o[d + 17 | 0] = f >>> 8;
+   o[d + 18 | 0] = f >>> 16;
+   o[d + 19 | 0] = f >>> 24;
+   o[d + 20 | 0] = e;
+   o[d + 21 | 0] = e >>> 8;
+   o[d + 22 | 0] = e >>> 16;
+   o[d + 23 | 0] = e >>> 24;
+   e = r[b + 12 | 0] | r[b + 13 | 0] << 8 | (r[b + 14 | 0] << 16 | r[b + 15 | 0] << 24);
+   f = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+   o[d + 8 | 0] = f;
+   o[d + 9 | 0] = f >>> 8;
+   o[d + 10 | 0] = f >>> 16;
+   o[d + 11 | 0] = f >>> 24;
+   o[d + 12 | 0] = e;
+   o[d + 13 | 0] = e >>> 8;
+   o[d + 14 | 0] = e >>> 16;
+   o[d + 15 | 0] = e >>> 24;
+   oR(g + 40 | 0, d);
+   b = b - -64 | 0;
+   h = h + -64 | 0;
+   if (h >>> 0 > 63) {
+    continue;
+   }
+   break;
+  }
+  e = q[g + 56 >> 2];
+ }
+ b = Y$(d, b, h);
+ h = e >>> 3 & 63;
+ d = h + (g + 40 | 0) | 0;
+ o[d + 24 | 0] = 128;
+ d = d + 25 | 0;
+ h = h ^ 63;
+ b : {
+  if (h >>> 0 <= 7) {
+   Z$(d, 0, h);
+   oR(g + 40 | 0, b);
+   q[b + 48 >> 2] = 0;
+   q[b + 52 >> 2] = 0;
+   q[b + 40 >> 2] = 0;
+   q[b + 44 >> 2] = 0;
+   q[b + 32 >> 2] = 0;
+   q[b + 36 >> 2] = 0;
+   q[b + 24 >> 2] = 0;
+   q[b + 28 >> 2] = 0;
+   q[b + 16 >> 2] = 0;
+   q[b + 20 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   q[b >> 2] = 0;
+   q[b + 4 >> 2] = 0;
+   e = q[g + 56 >> 2];
+   break b;
+  }
+  Z$(d, 0, h + -8 | 0);
+ }
+ q[g + 120 >> 2] = e;
+ q[g + 124 >> 2] = q[g + 60 >> 2];
+ oR(g + 40 | 0, b);
+ b = q[g + 52 >> 2];
+ q[g + 136 >> 2] = q[g + 48 >> 2];
+ q[g + 140 >> 2] = b;
+ b = q[g + 44 >> 2];
+ q[g + 128 >> 2] = q[g + 40 >> 2];
+ q[g + 132 >> 2] = b;
+ b = 0;
+ Z$(g + 40 | 0, 0, 88);
+ if (l) {
+  M$(l);
+ }
+ o[c | 0] = 47;
+ d = c + 1 | 0;
+ while (1) {
+  h = b << 1;
+  e = r[(g + 128 | 0) + b | 0];
+  o[h + d | 0] = r[(e >>> 4 | 0) + 488384 | 0];
+  o[d + (h | 1) | 0] = r[(e & 15) + 488384 | 0];
+  b = b + 1 | 0;
+  if ((b | 0) != 16) {
+   continue;
+  }
+  break;
+ }
+ o[c + 33 | 0] = 0;
+ b = g0(c) + c | 0;
+ d = r[488084] | r[488085] << 8 | (r[488086] << 16 | r[488087] << 24);
+ h = r[488080] | r[488081] << 8 | (r[488082] << 16 | r[488083] << 24);
+ o[b | 0] = h;
+ o[b + 1 | 0] = h >>> 8;
+ o[b + 2 | 0] = h >>> 16;
+ o[b + 3 | 0] = h >>> 24;
+ o[b + 4 | 0] = d;
+ o[b + 5 | 0] = d >>> 8;
+ o[b + 6 | 0] = d >>> 16;
+ o[b + 7 | 0] = d >>> 24;
+ d = r[488092] | r[488093] << 8 | (r[488094] << 16 | r[488095] << 24);
+ h = r[488088] | r[488089] << 8 | (r[488090] << 16 | r[488091] << 24);
+ o[b + 8 | 0] = h;
+ o[b + 9 | 0] = h >>> 8;
+ o[b + 10 | 0] = h >>> 16;
+ o[b + 11 | 0] = h >>> 24;
+ o[b + 12 | 0] = d;
+ o[b + 13 | 0] = d >>> 8;
+ o[b + 14 | 0] = d >>> 16;
+ o[b + 15 | 0] = d >>> 24;
+ if (r[643388] & 16) {
+  q[g + 24 >> 2] = j ? j : 488444;
+  q[g + 20 >> 2] = j ? 488447 : 488444;
+  q[g + 16 >> 2] = i ? 488445 : 488444;
+  q[g >> 2] = c;
+  q[g + 12 >> 2] = i ? i : 488444;
+  q[g + 8 >> 2] = i ? 488431 : 488444;
+  q[g + 4 >> 2] = k ? k : a;
+  d0(488400, g);
+ }
+ if (i) {
+  M$(i);
+ }
+ Ca = g + 144 | 0;
+}
+function sW(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, s = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ f = a + 272 | 0;
+ m = q[f >> 2];
+ q[f >> 2] = 1;
+ g = q[a + 352 >> 2];
+ j = g + 104 | 0;
+ a : {
+  b : {
+   if (q[g + 104 >> 2]) {
+    break b;
+   }
+   if (_V(j)) {
+    break b;
+   }
+   f = 1;
+   break a;
+  }
+  p = g + 132 | 0;
+  k = a + 424 | 0;
+  l = a + 412 | 0;
+  i = g + 116 | 0;
+  while (1) {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        e = (n[q[b + 20 >> 2]](b, c, d, h + 8 | 0) | 0) + 4 | 0;
+        if (e >>> 0 > 32) {
+         break g;
+        }
+        f = 0;
+        h : {
+         switch (e - 1 | 0) {
+         case 31:
+          if (!(q[a + 144 >> 2] == (b | 0) ? !r[a + 484 | 0] : 0)) {
+           f = q[h + 8 >> 2];
+           e = q[b + 64 >> 2];
+           q[h + 12 >> 2] = e + c;
+           i : {
+            j : {
+             if (!q[k >> 2]) {
+              if (!_V(l)) {
+               break j;
+              }
+             }
+             f = f - e | 0;
+             while (1) {
+              if (n[q[b + 56 >> 2]](b, h + 12 | 0, f, k, q[a + 420 >> 2]) >>> 0 < 2) {
+               break i;
+              }
+              if (_V(l)) {
+               continue;
+              }
+              break;
+             }
+            }
+            f = 1;
+            break d;
+           }
+           f = 1;
+           if (!q[a + 428 >> 2]) {
+            break d;
+           }
+           e = q[a + 424 >> 2];
+           if ((e | 0) == q[a + 420 >> 2]) {
+            if (!_V(l)) {
+             break d;
+            }
+            e = q[k >> 2];
+           }
+           q[a + 424 >> 2] = e + 1;
+           o[e | 0] = 0;
+           e = q[a + 428 >> 2];
+           if (!e) {
+            break d;
+           }
+           e = $V(a, p, e, 0);
+           q[a + 424 >> 2] = q[a + 428 >> 2];
+           if (!e) {
+            o[g + 128 | 0] = r[g + 130 | 0];
+            f = 0;
+            break d;
+           }
+           if (r[e + 32 | 0]) {
+            f = 12;
+            if (q[a + 144 >> 2] != (b | 0)) {
+             break d;
+            }
+            q[a + 284 >> 2] = c;
+            break d;
+           }
+           if (!q[e + 16 >> 2]) {
+            break e;
+           }
+           if (!q[a + 112 >> 2]) {
+            break f;
+           }
+           o[g + 131 | 0] = 0;
+           o[e + 32 | 0] = 1;
+           c = n[q[a + 112 >> 2]](q[a + 116 >> 2], 0, q[e + 20 >> 2], q[e + 16 >> 2], q[e + 24 >> 2]) | 0;
+           o[e + 32 | 0] = 0;
+           if (!c) {
+            f = 21;
+            break d;
+           }
+           if (r[g + 131 | 0]) {
+            break c;
+           }
+           o[g + 128 | 0] = r[g + 130 | 0];
+           c = q[h + 8 >> 2];
+           continue;
+          }
+          q[a + 284 >> 2] = c;
+          f = 10;
+          break d;
+         case 9:
+         case 12:
+          f = q[h + 8 >> 2];
+          q[h + 12 >> 2] = c;
+          k : {
+           l : {
+            if (!q[i >> 2]) {
+             if (!_V(j)) {
+              break l;
+             }
+            }
+            while (1) {
+             if (n[q[b + 56 >> 2]](b, h + 12 | 0, f, i, q[g + 112 >> 2]) >>> 0 < 2) {
+              break k;
+             }
+             if (_V(j)) {
+              continue;
+             }
+             break;
+            }
+           }
+           f = 1;
+           break d;
+          }
+          if (q[g + 120 >> 2]) {
+           break c;
+          }
+          f = 1;
+          break d;
+         case 0:
+          q[h + 8 >> 2] = q[b + 64 >> 2] + c;
+         case 10:
+          e = q[g + 116 >> 2];
+          if ((e | 0) == q[g + 112 >> 2]) {
+           if (!_V(j)) {
+            f = 1;
+            break d;
+           }
+           e = q[i >> 2];
+          }
+          q[i >> 2] = e + 1;
+          o[e | 0] = 10;
+          c = q[h + 8 >> 2];
+          continue;
+         case 13:
+          f = n[q[b + 40 >> 2]](b, c) | 0;
+          if ((f | 0) <= -1) {
+           f = 14;
+           if (q[a + 144 >> 2] != (b | 0)) {
+            break d;
+           }
+           q[a + 284 >> 2] = c;
+           break d;
+          }
+          c = 0;
+          f = lT(f, h + 12 | 0);
+          if ((f | 0) < 1) {
+           break c;
+          }
+          while (1) {
+           e = q[g + 116 >> 2];
+           if ((e | 0) == q[g + 112 >> 2]) {
+            if (!_V(j)) {
+             f = 1;
+             break d;
+            }
+            e = q[i >> 2];
+           }
+           s = r[(h + 12 | 0) + c | 0];
+           q[i >> 2] = e + 1;
+           o[e | 0] = s;
+           c = c + 1 | 0;
+           if ((f | 0) != (c | 0)) {
+            continue;
+           }
+           break;
+          }
+          break c;
+         case 2:
+          f = 4;
+          if (q[a + 144 >> 2] != (b | 0)) {
+           break d;
+          }
+          q[a + 284 >> 2] = c;
+          break d;
+         case 1:
+         case 4:
+         case 5:
+         case 6:
+         case 7:
+         case 8:
+         case 11:
+         case 14:
+         case 15:
+         case 16:
+         case 17:
+         case 18:
+         case 19:
+         case 20:
+         case 21:
+         case 22:
+         case 23:
+         case 24:
+         case 25:
+         case 26:
+         case 27:
+         case 28:
+         case 29:
+         case 30:
+          break g;
+         case 3:
+          break h;
+         default:
+          break d;
+         }
+        }
+        f = 4;
+        if (q[a + 144 >> 2] != (b | 0)) {
+         break d;
+        }
+        q[a + 284 >> 2] = q[h + 8 >> 2];
+        break d;
+       }
+       f = 23;
+       if (q[a + 144 >> 2] != (b | 0)) {
+        break d;
+       }
+       q[a + 284 >> 2] = c;
+       break d;
+      }
+      o[g + 128 | 0] = r[g + 130 | 0];
+      break c;
+     }
+     o[e + 32 | 0] = 1;
+     c = q[e + 4 >> 2];
+     f = sW(a, q[a + 224 >> 2], c, c + q[e + 8 >> 2] | 0);
+     o[e + 32 | 0] = 0;
+     if (!f) {
+      break c;
+     }
+    }
+    q[a + 272 >> 2] = m;
+    break a;
+   }
+   c = q[h + 8 >> 2];
+   continue;
+  }
+ }
+ Ca = h + 16 | 0;
+ return f;
+}
+function YR(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ f = L$(16);
+ if (!f) {
+  return 0;
+ }
+ q[f + 8 >> 2] = 0;
+ q[f + 12 >> 2] = 0;
+ q[f >> 2] = 1;
+ q[f + 4 >> 2] = 0;
+ a : {
+  b : {
+   if (q[b + 4 >> 2] < 1) {
+    break b;
+   }
+   while (1) {
+    c = q[b + 8 >> 2] + b | 0;
+    d = q[c + (i << 2) >> 2] + c | 0;
+    h = Y0(Y0(Y0(Y0(Y0(Y0(Y0(q[d >> 2], 1) ^ q[d + 4 >> 2], 1) ^ q[d + 8 >> 2], 1) ^ q[d + 12 >> 2], 1) ^ q[d + 16 >> 2], 1) ^ q[d + 20 >> 2], 1) ^ q[d + 24 >> 2], 1) ^ q[d + 28 >> 2];
+    k = ((h >>> 0) % 257 << 2) + a | 0;
+    c = q[k >> 2];
+    c : {
+     if (c) {
+      while (1) {
+       if ((h | 0) == q[c + 4 >> 2]) {
+        e = c + 8 | 0;
+        if (!ZY(e, d, 32)) {
+         break c;
+        }
+       }
+       c = q[c >> 2];
+       if (c) {
+        continue;
+       }
+       break;
+      }
+     }
+     c = q[a + 1576 >> 2];
+     d : {
+      if (c) {
+       e = c + -1 | 0;
+       c = q[a + 1572 >> 2];
+       break d;
+      }
+      c = q[a + 1032 >> 2] + 1 | 0;
+      q[a + 1032 >> 2] = c;
+      g = 0;
+      e = O$(q[a + 1028 >> 2], c << 2);
+      if (!e) {
+       break a;
+      }
+      q[a + 1028 >> 2] = e;
+      c = L$(4080);
+      q[(e + (q[a + 1032 >> 2] << 2) | 0) + -4 >> 2] = c;
+      q[a + 1572 >> 2] = c;
+      if (!c) {
+       break a;
+      }
+      q[a + 1576 >> 2] = 102;
+      e = 101;
+     }
+     q[a + 1576 >> 2] = e;
+     q[a + 1572 >> 2] = c + 40;
+     q[a + 1588 >> 2] = q[a + 1588 >> 2] + 1;
+     if (!c) {
+      g = 0;
+      break a;
+     }
+     e = q[d + 4 >> 2];
+     q[c + 8 >> 2] = q[d >> 2];
+     q[c + 12 >> 2] = e;
+     e = q[d + 28 >> 2];
+     q[c + 32 >> 2] = q[d + 24 >> 2];
+     q[c + 36 >> 2] = e;
+     e = q[d + 20 >> 2];
+     q[c + 24 >> 2] = q[d + 16 >> 2];
+     q[c + 28 >> 2] = e;
+     e = q[d + 12 >> 2];
+     q[c + 16 >> 2] = q[d + 8 >> 2];
+     q[c + 20 >> 2] = e;
+     q[c + 4 >> 2] = h;
+     q[c >> 2] = q[k >> 2];
+     q[k >> 2] = c;
+     e = c + 8 | 0;
+    }
+    g = s[(q[b + 12 >> 2] + b | 0) + (i << 1) >> 1];
+    c = -1;
+    e : {
+     f : {
+      k = q[f + 12 >> 2] + f | 0;
+      if (!k) {
+       break f;
+      }
+      l = q[f + 4 >> 2];
+      d = l + -1 | 0;
+      h = 0;
+      g : {
+       if ((l | 0) >= 1) {
+        while (1) {
+         j = d + h | 0;
+         c = j >> 1;
+         j = s[k + (j & -2) >> 1];
+         if ((j | 0) == (g | 0)) {
+          break g;
+         }
+         j = j >>> 0 < g >>> 0;
+         h = j ? c + 1 | 0 : h;
+         d = j ? d : c + -1 | 0;
+         if ((h | 0) <= (d | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       if (!((d | 0) >= (l | 0) | s[k + (d << 1) >> 1] >= g >>> 0 ? (d | 0) >= 0 : 0)) {
+        d = d + 1 | 0;
+       }
+       c = d ^ -1;
+      }
+      if ((c | 0) < 0) {
+       break f;
+      }
+      d = q[f + 8 >> 2] + f | 0;
+      c = c << 2;
+      M$(q[d + c >> 2] + d | 0);
+      d = c;
+      c = q[f + 8 >> 2] + f | 0;
+      q[d + c >> 2] = e - c;
+      break e;
+     }
+     if (KR(f, g << 8, e, c ^ -1)) {
+      break e;
+     }
+     g = 0;
+     break a;
+    }
+    i = i + 1 | 0;
+    if ((i | 0) < q[b + 4 >> 2]) {
+     continue;
+    }
+    break;
+   }
+   e = q[f + 4 >> 2];
+   if ((e | 0) < 1) {
+    i = 0;
+    break b;
+   }
+   g = q[f + 8 >> 2] + f | 0;
+   d = 0;
+   i = 0;
+   while (1) {
+    c = g + q[g + (d << 2) >> 2] | 0;
+    i = q[c + 28 >> 2] ^ Y0(i, 1) ^ Y0(q[c + 24 >> 2] ^ Y0(q[c + 20 >> 2] ^ Y0(q[c + 16 >> 2] ^ Y0(q[c + 12 >> 2] ^ Y0(q[c + 8 >> 2] ^ Y0(q[c + 4 >> 2] ^ Y0(q[c >> 2], 1), 1), 1), 1), 1), 1), 1);
+    d = d + 1 | 0;
+    if ((e | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+   d = q[f + 12 >> 2] + f | 0;
+   c = 0;
+   while (1) {
+    n = 1;
+    i = s[d + (c << 1) >> 1] ^ Y0(i, 1);
+    c = c + 1 | 0;
+    if ((e | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  k = (((i >>> 0) % 67 << 2) + a | 0) + 1036 | 0;
+  h = q[k >> 2];
+  h : {
+   if (h) {
+    o = e << 1;
+    while (1) {
+     i : {
+      if (q[h + 4 >> 2] != (i | 0) | q[h + 12 >> 2] != (e | 0)) {
+       break i;
+      }
+      g = h + 8 | 0;
+      if (ZY(g + q[h + 20 >> 2] | 0, q[f + 12 >> 2] + f | 0, o)) {
+       break i;
+      }
+      if (!n) {
+       break h;
+      }
+      l = q[f + 8 >> 2] + f | 0;
+      j = q[h + 16 >> 2] + g | 0;
+      d = 1;
+      c = 0;
+      while (1) {
+       m = d;
+       d = c << 2;
+       d = (j + q[d + j >> 2] | 0) == (l + q[d + l >> 2] | 0) ? m : 0;
+       c = c + 1 | 0;
+       if ((e | 0) != (c | 0)) {
+        continue;
+       }
+       break;
+      }
+      if (d) {
+       break h;
+      }
+     }
+     h = q[h >> 2];
+     if (h) {
+      continue;
+     }
+     break;
+    }
+   }
+   d = L$(w(e, 6) + 24 | 0);
+   if (!d) {
+    g = 0;
+    break h;
+   }
+   q[a + 1592 >> 2] = q[a + 1592 >> 2] + 1;
+   q[d + 12 >> 2] = e;
+   q[d + 8 >> 2] = -1;
+   g = d + 8 | 0;
+   j : {
+    if (e) {
+     q[d + 16 >> 2] = 16;
+     c = (e << 2) + 16 | 0;
+     q[d + 20 >> 2] = c;
+     if (n) {
+      h = g + 16 | 0;
+      l = -16 - g | 0;
+      c = 0;
+      while (1) {
+       e = c << 2;
+       j = e + h | 0;
+       m = e;
+       e = q[f + 8 >> 2] + f | 0;
+       q[j >> 2] = (l + q[m + e >> 2] | 0) + e;
+       c = c + 1 | 0;
+       e = q[f + 4 >> 2];
+       if ((c | 0) < (e | 0)) {
+        continue;
+       }
+       break;
+      }
+      c = q[d + 20 >> 2];
+     }
+     Y$(c + g | 0, q[f + 12 >> 2] + f | 0, e << 1);
+     break j;
+    }
+    q[d + 16 >> 2] = 0;
+    q[d + 20 >> 2] = 0;
+   }
+   q[d + 4 >> 2] = i;
+   q[d >> 2] = q[k >> 2];
+   q[k >> 2] = d;
+  }
+  d = (b >>> 0) % 67 | 0;
+  c = L$(12);
+  if (!c) {
+   g = 0;
+   break a;
+  }
+  q[c + 8 >> 2] = g;
+  q[c + 4 >> 2] = b;
+  d = ((d << 2) + a | 0) + 1304 | 0;
+  q[c >> 2] = q[d >> 2];
+  q[d >> 2] = c;
+  q[a + 1584 >> 2] = q[a + 1584 >> 2] + 1;
+  q[a + 1580 >> 2] = q[a + 1580 >> 2] + q[b + 4 >> 2];
+ }
+ k : {
+  if (!q[f + 4 >> 2]) {
+   break k;
+  }
+  M$(q[f + 8 >> 2] + f | 0);
+  if (!q[f + 4 >> 2]) {
+   break k;
+  }
+  M$(q[f + 12 >> 2] + f | 0);
+ }
+ M$(f);
+ return g;
+}
+function VI(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  e = q[a + 92 >> 2];
+  b : {
+   c : {
+    if (e >>> 0 > 2) {
+     break c;
+    }
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          switch (e - 1 | 0) {
+          default:
+           f = q[a + 64 >> 2];
+           if ((f | 0) < (c | 0)) {
+            g = q[a + 4 >> 2];
+            h = q[a + 8 >> 2];
+            j : {
+             if (q[a + 84 >> 2]) {
+              e = q[a + 36 >> 2];
+              break j;
+             }
+             e = q[a + 36 >> 2];
+             q[a + 84 >> 2] = e;
+             q[a + 80 >> 2] = e;
+             e = e + 32 | 0;
+             q[a + 36 >> 2] = e;
+            }
+            if (e >>> 0 < t[a + 32 >> 2]) {
+             d = q[a + 80 >> 2];
+             q[d + 16 >> 2] = 0;
+             q[d + 20 >> 2] = 0;
+             q[d + 8 >> 2] = e;
+             q[d + 28 >> 2] = 0;
+             q[d + 4 >> 2] = 0;
+             p[d + 12 >> 1] = r[a + 164 | 0] | ((((f + g | 0) + -1 & 0 - g) - f | 0) < (h | 0) ? 8 : 40);
+             if (!q[a + 88 >> 2]) {
+              q[a + 88 >> 2] = d;
+             }
+             break f;
+            }
+            break a;
+           }
+           if ((f | 0) <= (c | 0)) {
+            break c;
+           }
+           g = q[a + 4 >> 2];
+           h = q[a + 8 >> 2];
+           k : {
+            if (q[a + 84 >> 2]) {
+             e = q[a + 36 >> 2];
+             break k;
+            }
+            e = q[a + 36 >> 2];
+            q[a + 84 >> 2] = e;
+            q[a + 80 >> 2] = e;
+            e = e + 32 | 0;
+            q[a + 36 >> 2] = e;
+           }
+           if (e >>> 0 < t[a + 32 >> 2]) {
+            d = q[a + 80 >> 2];
+            q[d + 16 >> 2] = 0;
+            q[d + 20 >> 2] = 0;
+            q[d + 8 >> 2] = e;
+            q[d + 28 >> 2] = 0;
+            q[d + 4 >> 2] = 0;
+            e = r[a + 164 | 0];
+            p[d + 12 >> 1] = (f & g + -1) < (h | 0) ? e : e | 16;
+            if (!q[a + 88 >> 2]) {
+             q[a + 88 >> 2] = d;
+            }
+            break h;
+           }
+           break a;
+          case 0:
+           break i;
+          case 1:
+           break g;
+          }
+         }
+         d = q[a + 64 >> 2];
+         if ((d | 0) <= (c | 0)) {
+          break e;
+         }
+         f = q[a + 36 >> 2];
+         e = q[a + 80 >> 2];
+         g = f - q[e + 8 >> 2] | 0;
+         if ((g | 0) <= -1) {
+          q[a + 40 >> 2] = 99;
+          return 1;
+         }
+         h = q[a + 4 >> 2] + -1 & d;
+         i = q[a + 8 >> 2];
+         l : {
+          if (!g) {
+           d = f;
+           break l;
+          }
+          q[e + 16 >> 2] = g >> 2;
+          if ((h | 0) >= (i | 0)) {
+           d = s[e + 12 >> 1];
+           p[e + 12 >> 1] = (d & 8 ? 16 : 32) | d;
+          }
+          q[a + 80 >> 2] = f;
+          d = f + 32 | 0;
+          q[a + 36 >> 2] = d;
+          q[f + 8 >> 2] = d;
+          q[f + 16 >> 2] = 0;
+          q[e + 28 >> 2] = f;
+          p[a + 76 >> 1] = s[a + 76 >> 1] + 1;
+          e = f;
+         }
+         g = q[a + 32 >> 2];
+         if (d >>> 0 >= g >>> 0) {
+          break a;
+         }
+         o[a + 79 | 0] = 0;
+         if (!q[a + 84 >> 2]) {
+          q[a + 84 >> 2] = d;
+          q[a + 80 >> 2] = d;
+          f = d + 32 | 0;
+          q[a + 36 >> 2] = f;
+          e = d;
+          d = f;
+         }
+         if (d >>> 0 >= g >>> 0) {
+          break a;
+         }
+         q[e + 16 >> 2] = 0;
+         q[e + 20 >> 2] = 0;
+         q[e + 8 >> 2] = d;
+         q[e + 28 >> 2] = 0;
+         q[e + 4 >> 2] = 0;
+         d = r[a + 164 | 0];
+         p[e + 12 >> 1] = (h | 0) >= (i | 0) ? d | 16 : d;
+         if (!q[a + 88 >> 2]) {
+          q[a + 88 >> 2] = e;
+         }
+        }
+        o[a + 78 | 0] = 1;
+        q[a + 92 >> 2] = 2;
+        o[a + 79 | 0] = 0;
+        d = q[a + 64 >> 2];
+        break d;
+       }
+       d = q[a + 64 >> 2];
+       if ((d | 0) >= (c | 0)) {
+        break d;
+       }
+       f = q[a + 36 >> 2];
+       e = q[a + 80 >> 2];
+       g = f - q[e + 8 >> 2] | 0;
+       if ((g | 0) <= -1) {
+        q[a + 40 >> 2] = 99;
+        return 1;
+       }
+       h = q[a + 4 >> 2];
+       h = ((h + d | 0) + -1 & 0 - h) - d | 0;
+       i = q[a + 8 >> 2];
+       m : {
+        if (!g) {
+         d = f;
+         break m;
+        }
+        q[e + 16 >> 2] = g >> 2;
+        if ((h | 0) >= (i | 0)) {
+         d = s[e + 12 >> 1];
+         p[e + 12 >> 1] = (d & 8 ? 16 : 32) | d;
+        }
+        q[a + 80 >> 2] = f;
+        d = f + 32 | 0;
+        q[a + 36 >> 2] = d;
+        q[f + 8 >> 2] = d;
+        q[f + 16 >> 2] = 0;
+        q[e + 28 >> 2] = f;
+        p[a + 76 >> 1] = s[a + 76 >> 1] + 1;
+        e = f;
+       }
+       g = q[a + 32 >> 2];
+       if (d >>> 0 >= g >>> 0) {
+        break a;
+       }
+       o[a + 79 | 0] = 0;
+       if (!q[a + 84 >> 2]) {
+        q[a + 84 >> 2] = d;
+        q[a + 80 >> 2] = d;
+        f = d + 32 | 0;
+        q[a + 36 >> 2] = f;
+        e = d;
+        d = f;
+       }
+       if (d >>> 0 >= g >>> 0) {
+        break a;
+       }
+       q[e + 16 >> 2] = 0;
+       q[e + 20 >> 2] = 0;
+       q[e + 8 >> 2] = d;
+       q[e + 28 >> 2] = 0;
+       q[e + 4 >> 2] = 0;
+       p[e + 12 >> 1] = r[a + 164 | 0] | ((h | 0) >= (i | 0) ? 40 : 8);
+       if (!q[a + 88 >> 2]) {
+        q[a + 88 >> 2] = e;
+       }
+      }
+      o[a + 78 | 0] = 1;
+      q[a + 92 >> 2] = 1;
+      o[a + 79 | 0] = 0;
+      d = q[a + 64 >> 2];
+     }
+     f = 1;
+     if (YI(a, q[a + 60 >> 2], d, b, c, q[a + 68 >> 2], q[a + 72 >> 2])) {
+      break b;
+     }
+     break c;
+    }
+    e = r[a + 78 | 0];
+    d = YI(a, q[a + 60 >> 2], 0 - d | 0, b, 0 - c | 0, 0 - q[a + 72 >> 2] | 0, 0 - q[a + 68 >> 2] | 0);
+    if (!(r[a + 78 | 0] | !e)) {
+     e = q[a + 80 >> 2];
+     q[e + 20 >> 2] = 0 - q[e + 20 >> 2];
+    }
+    f = 1;
+    if (d) {
+     break b;
+    }
+   }
+   q[a + 64 >> 2] = c;
+   q[a + 60 >> 2] = b;
+   f = 0;
+  }
+  return f;
+ }
+ q[a + 40 >> 2] = 98;
+ return 1;
+}
+function tg(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, r = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0;
+ n = Ca - 16 | 0;
+ Ca = n;
+ a : {
+  if (!a | (c + 1 >>> 0 < 3 ? b + 1 >>> 0 <= 2 : 0)) {
+   break a;
+  }
+  C = (c | 0) / 2 | 0;
+  D = (b | 0) / 2 | 0;
+  E = ug(a);
+  if ((E | 0) == 2) {
+   break a;
+  }
+  k = p[a >> 1];
+  if ((k | 0) < 1) {
+   break a;
+  }
+  J = q[a + 4 >> 2];
+  c = (c | 0) < -1;
+  F = c ? 0 - C | 0 : C;
+  S = F >>> 16 | 0;
+  O = F & 65535;
+  b = (b | 0) < -1;
+  G = b ? 0 - D | 0 : D;
+  T = G >>> 16 | 0;
+  P = G & 65535;
+  Q = c ? -1 : 1;
+  U = 0 - Q | 0;
+  R = b ? -1 : 1;
+  V = 0 - R | 0;
+  while (1) {
+   v = p[q[a + 12 >> 2] + (K << 1) >> 1];
+   b : {
+    if ((H | 0) == (v | 0)) {
+     break b;
+    }
+    x = -1;
+    c = H;
+    L = 0;
+    u = 0;
+    M = 0;
+    N = 0;
+    o = 0;
+    l = 0;
+    b = v;
+    if ((b | 0) == -1) {
+     break b;
+    }
+    while (1) {
+     c : {
+      d : {
+       if ((c | 0) != (x | 0)) {
+        k = (c << 3) + J | 0;
+        m = (b << 3) + J | 0;
+        q[n + 8 >> 2] = q[k >> 2] - q[m >> 2];
+        q[n + 12 >> 2] = q[k + 4 >> 2] - q[m + 4 >> 2];
+        k = Ke(n + 8 | 0);
+        if (k) {
+         break d;
+        }
+        break c;
+       }
+       q[n + 12 >> 2] = N;
+       q[n + 8 >> 2] = M;
+       k = L;
+      }
+      e : {
+       if (!u) {
+        l = q[n + 12 >> 2];
+        m = q[n + 8 >> 2];
+        break e;
+       }
+       r = (o | 0) < 0;
+       m = r ? -1 : 1;
+       d = 0 - m | 0;
+       e = m;
+       m = q[n + 8 >> 2];
+       y = (m | 0) < 0;
+       e = y ? d : e;
+       z = (l | 0) < 0;
+       t = z ? -1 : 1;
+       f = 0 - t | 0;
+       d = t;
+       t = q[n + 12 >> 2];
+       A = (t | 0) < 0;
+       B = A ? f : d;
+       d = m >> 31;
+       f = d + m ^ d;
+       d = o >> 31;
+       g = d + o ^ d;
+       f : {
+        if ((f >>> 8 | 0) + g >>> 0 <= 8190) {
+         d = w(f, g) + 32768 >>> 16 | 0;
+         break f;
+        }
+        d = g & 65535;
+        d = w(d, f >>> 16 | 0) + w(f, g >>> 16 | 0) + (w(d, f & 65535) + 32768 >>> 16) | 0;
+       }
+       W = (e | 0) < 0 ? 0 - d | 0 : d;
+       d = t >> 31;
+       i = d + t ^ d;
+       d = l >> 31;
+       h = d + l ^ d;
+       g : {
+        if ((i >>> 8 | 0) + h >>> 0 <= 8190) {
+         j = w(h, i) + 32768 >>> 16 | 0;
+         break g;
+        }
+        d = h & 65535;
+        j = w(d, i >>> 16 | 0) + w(i, h >>> 16 | 0) + (w(d, i & 65535) + 32768 >>> 16) | 0;
+       }
+       I = (x | 0) < 0;
+       e = 0;
+       j = W + ((B | 0) < 0 ? 0 - j | 0 : j) | 0;
+       d = 0;
+       h : {
+        if ((j | 0) < -61439) {
+         break h;
+        }
+        d = y ? -1 : 1;
+        e = z ? 0 - d | 0 : d;
+        if (f + (h >>> 8 | 0) >>> 0 <= 8190) {
+         d = w(f, h) + 32768 >>> 16 | 0;
+        } else {
+         d = f & 65535;
+         d = w(d, h >>> 16 | 0) + w(h, f >>> 16 | 0) + (w(d, h & 65535) + 32768 >>> 16) | 0;
+        }
+        f = A ? -1 : 1;
+        f = r ? 0 - f | 0 : f;
+        h = (e | 0) < 0 ? 0 - d | 0 : d;
+        if (i + (g >>> 8 | 0) >>> 0 <= 8190) {
+         e = w(g, i) + 32768 >>> 16 | 0;
+        } else {
+         d = i & 65535;
+         e = w(d, g >>> 16 | 0) + w(g, i >>> 16 | 0) + (w(d, g & 65535) + 32768 >>> 16) | 0;
+        }
+        d = j + 65536 | 0;
+        e = h - ((f | 0) < 0 ? 0 - e | 0 : e) | 0;
+        h = E ? e : 0 - e | 0;
+        r = (h | 0) < 0;
+        g = r ? V : R;
+        i = (u | 0) < (k | 0) ? u : k;
+        e = l + t | 0;
+        j = E ? e : 0 - e | 0;
+        e = h >> 31;
+        f = e + h ^ e;
+        y = f >>> 8 | 0;
+        i : {
+         if (y + G >>> 0 <= 8190) {
+          e = w(f, G) + 32768 >>> 16 | 0;
+          break i;
+         }
+         e = w(f >>> 16 | 0, P) + w(f, T) + (w(f & 65535, P) + 32768 >>> 16) | 0;
+        }
+        B = (g | 0) < 0 ? 0 - e | 0 : e;
+        e = i >> 31;
+        g = e + i ^ e;
+        A = g + (d >>> 8 | 0) >>> 0 > 8190;
+        j : {
+         if (!A) {
+          e = w(d, g) + 32768 >>> 16 | 0;
+          break j;
+         }
+         e = g & 65535;
+         e = w(e, d >>> 16 | 0) + w(d, g >>> 16 | 0) + (w(e, d & 65535) + 32768 >>> 16) | 0;
+        }
+        z = (i | 0) < 0;
+        k : {
+         if ((B | 0) <= ((z ? 0 - e | 0 : e) | 0)) {
+          e = ue(j, D, d);
+          break k;
+         }
+         e = ue(j, i, h);
+        }
+        j = r ? U : Q;
+        r = o + m | 0;
+        B = 0 - r | 0;
+        f = F + y >>> 0 <= 8190 ? w(f, F) + 32768 >>> 16 | 0 : w(f >>> 16 | 0, O) + w(f, S) + (w(f & 65535, O) + 32768 >>> 16) | 0;
+        j = (j | 0) < 0 ? 0 - f | 0 : f;
+        if (A) {
+         f = g & 65535;
+         f = w(f, d >>> 16 | 0) + w(d, g >>> 16 | 0) + (w(f, d & 65535) + 32768 >>> 16) | 0;
+        } else {
+         f = w(d, g) + 32768 >>> 16 | 0;
+        }
+        g = E ? B : r;
+        if ((j | 0) <= ((z ? 0 - f | 0 : f) | 0)) {
+         d = ue(g, C, d);
+         break h;
+        }
+        d = ue(g, i, h);
+       }
+       x = I ? b : x;
+       L = I ? u : L;
+       M = I ? o : M;
+       N = I ? l : N;
+       if ((b | 0) != (c | 0)) {
+        o = d + C | 0;
+        u = e + D | 0;
+        while (1) {
+         l = (b << 3) + J | 0;
+         q[l >> 2] = u + q[l >> 2];
+         q[l + 4 >> 2] = o + q[l + 4 >> 2];
+         b = (b | 0) < (v | 0) ? b + 1 | 0 : H;
+         if ((c | 0) != (b | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       l = t;
+      }
+      o = m;
+      u = k;
+      b = c;
+     }
+     c = (c | 0) < (v | 0) ? c + 1 | 0 : H;
+     if ((b | 0) != (x | 0) ? (c | 0) != (b | 0) : 0) {
+      continue;
+     }
+     break;
+    }
+    k = s[a >> 1];
+   }
+   H = v + 1 | 0;
+   K = K + 1 | 0;
+   if ((K | 0) < k << 16 >> 16) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = n + 16 | 0;
+}
+function Oz(a, b) {
+ var c = 0, d = 0, e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0;
+ i = q[a + 24 >> 2];
+ if (i >>> 0 >= 2) {
+  l = q[a + 32 >> 2];
+  m = r[a + 176 | 0];
+  d = 2;
+  while (1) {
+   h = d;
+   n = v[a + 136 >> 3];
+   e = v[a + 128 >> 3];
+   if (i >>> 0 <= j >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   a : {
+    if (l >>> 0 <= j >>> 0) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break a;
+    }
+    d = q[a + 36 >> 2] + (j << 5) | 0;
+   }
+   b : {
+    if (!m) {
+     break b;
+    }
+    k = q[d + 20 >> 2];
+    if (!k | (k | 0) != q[a + 168 >> 2]) {
+     break b;
+    }
+    p = q[d + 24 >> 2];
+    s = q[a + 172 >> 2];
+    c = v[d >> 3];
+    i = 0;
+    while (1) {
+     c = c + v[p + (i << 3) >> 3] * +u[s + (i << 2) >> 2];
+     i = i + 1 | 0;
+     if ((k | 0) != (i | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = c;
+    if (q[d + 16 >> 2] < 0) {
+     break b;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   n = n + v[d >> 3];
+   c : {
+    if (r[b | 0]) {
+     break c;
+    }
+    o[b | 0] = 1;
+    c = v[a + 128 >> 3];
+    if (!!(v[b + 8 >> 3] > c)) {
+     v[b + 8 >> 3] = c;
+     c = v[a + 128 >> 3];
+    }
+    if (!!(c > v[b + 24 >> 3])) {
+     v[b + 24 >> 3] = c;
+    }
+    c = v[a + 136 >> 3];
+    if (!!(v[b + 16 >> 3] > c)) {
+     v[b + 16 >> 3] = c;
+     c = v[a + 136 >> 3];
+    }
+    if (!(c > v[b + 32 >> 3])) {
+     break c;
+    }
+    v[b + 32 >> 3] = c;
+   }
+   v[a + 136 >> 3] = n;
+   v[a + 128 >> 3] = e;
+   c = e;
+   if (!!(v[b + 8 >> 3] > c)) {
+    v[b + 8 >> 3] = e;
+    c = v[a + 128 >> 3];
+   }
+   if (!!(c > v[b + 24 >> 3])) {
+    v[b + 24 >> 3] = c;
+   }
+   c = v[a + 136 >> 3];
+   if (!!(v[b + 16 >> 3] > c)) {
+    v[b + 16 >> 3] = c;
+    c = v[a + 136 >> 3];
+   }
+   if (!!(c > v[b + 32 >> 3])) {
+    v[b + 32 >> 3] = c;
+   }
+   d = j | 1;
+   if (t[a + 24 >> 2] <= d >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   d : {
+    if (l >>> 0 <= d >>> 0) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break d;
+    }
+    d = q[a + 36 >> 2] + (d << 5) | 0;
+   }
+   e : {
+    if (!m) {
+     break e;
+    }
+    j = q[d + 20 >> 2];
+    if (!j | (j | 0) != q[a + 168 >> 2]) {
+     break e;
+    }
+    k = q[d + 24 >> 2];
+    p = q[a + 172 >> 2];
+    c = v[d >> 3];
+    i = 0;
+    while (1) {
+     c = c + v[k + (i << 3) >> 3] * +u[p + (i << 2) >> 2];
+     i = i + 1 | 0;
+     if ((j | 0) != (i | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = c;
+    if (q[d + 16 >> 2] < 0) {
+     break e;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   c = e + v[d >> 3];
+   f : {
+    if (r[b | 0]) {
+     break f;
+    }
+    o[b | 0] = 1;
+    e = v[a + 128 >> 3];
+    if (!!(v[b + 8 >> 3] > e)) {
+     v[b + 8 >> 3] = e;
+     e = v[a + 128 >> 3];
+    }
+    if (!!(e > v[b + 24 >> 3])) {
+     v[b + 24 >> 3] = e;
+    }
+    e = v[a + 136 >> 3];
+    if (!!(v[b + 16 >> 3] > e)) {
+     v[b + 16 >> 3] = e;
+     e = v[a + 136 >> 3];
+    }
+    if (!(e > v[b + 32 >> 3])) {
+     break f;
+    }
+    v[b + 32 >> 3] = e;
+   }
+   v[a + 136 >> 3] = n;
+   v[a + 128 >> 3] = c;
+   if (!!(v[b + 8 >> 3] > c)) {
+    v[b + 8 >> 3] = c;
+    c = v[a + 128 >> 3];
+   }
+   if (!!(c > v[b + 24 >> 3])) {
+    v[b + 24 >> 3] = c;
+   }
+   c = v[a + 136 >> 3];
+   if (!!(v[b + 16 >> 3] > c)) {
+    v[b + 16 >> 3] = c;
+    c = v[a + 136 >> 3];
+   }
+   if (!!(c > v[b + 32 >> 3])) {
+    v[b + 32 >> 3] = c;
+   }
+   j = h;
+   d = h + 2 | 0;
+   i = q[a + 24 >> 2];
+   if (d >>> 0 <= i >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ g : {
+  if (h >>> 0 >= i >>> 0) {
+   break g;
+  }
+  e = v[a + 136 >> 3];
+  d = q[a + 128 >> 2];
+  j = q[a + 132 >> 2];
+  h : {
+   if (t[a + 32 >> 2] <= h >>> 0) {
+    h = q[67767];
+    q[160662] = q[67766];
+    q[160663] = h;
+    h = q[67765];
+    q[160660] = q[67764];
+    q[160661] = h;
+    h = q[67763];
+    q[160658] = q[67762];
+    q[160659] = h;
+    h = q[67761];
+    q[160656] = q[67760];
+    q[160657] = h;
+    h = 642624;
+    break h;
+   }
+   h = q[a + 36 >> 2] + (h << 5) | 0;
+  }
+  i : {
+   if (!r[a + 176 | 0]) {
+    break i;
+   }
+   l = q[h + 20 >> 2];
+   if (!l | (l | 0) != q[a + 168 >> 2]) {
+    break i;
+   }
+   m = q[h + 24 >> 2];
+   k = q[a + 172 >> 2];
+   c = v[h >> 3];
+   i = 0;
+   while (1) {
+    c = c + v[m + (i << 3) >> 3] * +u[k + (i << 2) >> 2];
+    i = i + 1 | 0;
+    if ((l | 0) != (i | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[h + 8 >> 2] = 0;
+   q[h + 12 >> 2] = 0;
+   v[h >> 3] = c;
+   if (q[h + 16 >> 2] < 0) {
+    break i;
+   }
+   q[h + 20 >> 2] = 0;
+  }
+  c = e + v[h >> 3];
+  j : {
+   if (r[b | 0]) {
+    break j;
+   }
+   o[b | 0] = 1;
+   e = v[a + 128 >> 3];
+   if (!!(v[b + 8 >> 3] > e)) {
+    v[b + 8 >> 3] = e;
+    e = v[a + 128 >> 3];
+   }
+   if (!!(e > v[b + 24 >> 3])) {
+    v[b + 24 >> 3] = e;
+   }
+   e = v[a + 136 >> 3];
+   if (!!(v[b + 16 >> 3] > e)) {
+    v[b + 16 >> 3] = e;
+    e = v[a + 136 >> 3];
+   }
+   if (!(e > v[b + 32 >> 3])) {
+    break j;
+   }
+   v[b + 32 >> 3] = e;
+  }
+  v[a + 136 >> 3] = c;
+  q[a + 128 >> 2] = d;
+  q[a + 132 >> 2] = j;
+  e = v[b + 8 >> 3];
+  f(0, d | 0);
+  f(1, j | 0);
+  c = +g();
+  if (!!(e > c)) {
+   q[b + 8 >> 2] = d;
+   q[b + 12 >> 2] = j;
+   c = v[a + 128 >> 3];
+  }
+  if (!!(c > v[b + 24 >> 3])) {
+   v[b + 24 >> 3] = c;
+  }
+  c = v[a + 136 >> 3];
+  if (!!(v[b + 16 >> 3] > c)) {
+   v[b + 16 >> 3] = c;
+   c = v[a + 136 >> 3];
+  }
+  if (!(c > v[b + 32 >> 3])) {
+   break g;
+  }
+  v[b + 32 >> 3] = c;
+ }
+}
+function Pz(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ g = q[a + 24 >> 2];
+ if (g >>> 0 >= 2) {
+  j = q[a + 32 >> 2];
+  k = r[a + 176 | 0];
+  d = 2;
+  while (1) {
+   f = d;
+   l = v[a + 136 >> 3];
+   e = v[a + 128 >> 3];
+   if (g >>> 0 <= h >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   a : {
+    if (j >>> 0 <= h >>> 0) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break a;
+    }
+    d = q[a + 36 >> 2] + (h << 5) | 0;
+   }
+   b : {
+    if (!k) {
+     break b;
+    }
+    i = q[d + 20 >> 2];
+    if (!i | (i | 0) != q[a + 168 >> 2]) {
+     break b;
+    }
+    m = q[d + 24 >> 2];
+    n = q[a + 172 >> 2];
+    c = v[d >> 3];
+    g = 0;
+    while (1) {
+     c = c + v[m + (g << 3) >> 3] * +u[n + (g << 2) >> 2];
+     g = g + 1 | 0;
+     if ((i | 0) != (g | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = c;
+    if (q[d + 16 >> 2] < 0) {
+     break b;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   e = e + v[d >> 3];
+   c : {
+    if (r[b | 0]) {
+     break c;
+    }
+    o[b | 0] = 1;
+    c = v[a + 128 >> 3];
+    if (!!(v[b + 8 >> 3] > c)) {
+     v[b + 8 >> 3] = c;
+     c = v[a + 128 >> 3];
+    }
+    if (!!(c > v[b + 24 >> 3])) {
+     v[b + 24 >> 3] = c;
+    }
+    c = v[a + 136 >> 3];
+    if (!!(v[b + 16 >> 3] > c)) {
+     v[b + 16 >> 3] = c;
+     c = v[a + 136 >> 3];
+    }
+    if (!(c > v[b + 32 >> 3])) {
+     break c;
+    }
+    v[b + 32 >> 3] = c;
+   }
+   v[a + 136 >> 3] = l;
+   v[a + 128 >> 3] = e;
+   c = e;
+   if (!!(v[b + 8 >> 3] > c)) {
+    v[b + 8 >> 3] = e;
+    c = v[a + 128 >> 3];
+   }
+   if (!!(c > v[b + 24 >> 3])) {
+    v[b + 24 >> 3] = c;
+   }
+   c = v[a + 136 >> 3];
+   if (!!(v[b + 16 >> 3] > c)) {
+    v[b + 16 >> 3] = c;
+    c = v[a + 136 >> 3];
+   }
+   if (!!(c > v[b + 32 >> 3])) {
+    v[b + 32 >> 3] = c;
+   }
+   d = h | 1;
+   if (t[a + 24 >> 2] <= d >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   d : {
+    if (j >>> 0 <= d >>> 0) {
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break d;
+    }
+    d = q[a + 36 >> 2] + (d << 5) | 0;
+   }
+   e : {
+    if (!k) {
+     break e;
+    }
+    h = q[d + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break e;
+    }
+    i = q[d + 24 >> 2];
+    m = q[a + 172 >> 2];
+    c = v[d >> 3];
+    g = 0;
+    while (1) {
+     c = c + v[i + (g << 3) >> 3] * +u[m + (g << 2) >> 2];
+     g = g + 1 | 0;
+     if ((h | 0) != (g | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[d + 8 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    v[d >> 3] = c;
+    if (q[d + 16 >> 2] < 0) {
+     break e;
+    }
+    q[d + 20 >> 2] = 0;
+   }
+   l = l + v[d >> 3];
+   f : {
+    if (r[b | 0]) {
+     break f;
+    }
+    o[b | 0] = 1;
+    c = v[a + 128 >> 3];
+    if (!!(v[b + 8 >> 3] > c)) {
+     v[b + 8 >> 3] = c;
+     c = v[a + 128 >> 3];
+    }
+    if (!!(c > v[b + 24 >> 3])) {
+     v[b + 24 >> 3] = c;
+    }
+    c = v[a + 136 >> 3];
+    if (!!(v[b + 16 >> 3] > c)) {
+     v[b + 16 >> 3] = c;
+     c = v[a + 136 >> 3];
+    }
+    if (!(c > v[b + 32 >> 3])) {
+     break f;
+    }
+    v[b + 32 >> 3] = c;
+   }
+   v[a + 136 >> 3] = l;
+   v[a + 128 >> 3] = e;
+   if (!!(v[b + 8 >> 3] > e)) {
+    v[b + 8 >> 3] = e;
+    e = v[a + 128 >> 3];
+   }
+   if (!!(e > v[b + 24 >> 3])) {
+    v[b + 24 >> 3] = e;
+   }
+   c = v[a + 136 >> 3];
+   if (!!(v[b + 16 >> 3] > c)) {
+    v[b + 16 >> 3] = c;
+    c = v[a + 136 >> 3];
+   }
+   if (!!(c > v[b + 32 >> 3])) {
+    v[b + 32 >> 3] = c;
+   }
+   h = f;
+   d = f + 2 | 0;
+   g = q[a + 24 >> 2];
+   if (d >>> 0 <= g >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ g : {
+  if (f >>> 0 >= g >>> 0) {
+   break g;
+  }
+  h = q[a + 136 >> 2];
+  j = q[a + 140 >> 2];
+  e = v[a + 128 >> 3];
+  h : {
+   if (t[a + 32 >> 2] <= f >>> 0) {
+    f = q[67767];
+    q[160662] = q[67766];
+    q[160663] = f;
+    f = q[67765];
+    q[160660] = q[67764];
+    q[160661] = f;
+    f = q[67763];
+    q[160658] = q[67762];
+    q[160659] = f;
+    f = q[67761];
+    q[160656] = q[67760];
+    q[160657] = f;
+    f = 642624;
+    break h;
+   }
+   f = q[a + 36 >> 2] + (f << 5) | 0;
+  }
+  i : {
+   if (!r[a + 176 | 0]) {
+    break i;
+   }
+   d = q[f + 20 >> 2];
+   if (!d | (d | 0) != q[a + 168 >> 2]) {
+    break i;
+   }
+   k = q[f + 24 >> 2];
+   i = q[a + 172 >> 2];
+   c = v[f >> 3];
+   g = 0;
+   while (1) {
+    c = c + v[k + (g << 3) >> 3] * +u[i + (g << 2) >> 2];
+    g = g + 1 | 0;
+    if ((d | 0) != (g | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[f + 8 >> 2] = 0;
+   q[f + 12 >> 2] = 0;
+   v[f >> 3] = c;
+   if (q[f + 16 >> 2] < 0) {
+    break i;
+   }
+   q[f + 20 >> 2] = 0;
+  }
+  c = e + v[f >> 3];
+  j : {
+   if (r[b | 0]) {
+    break j;
+   }
+   o[b | 0] = 1;
+   e = v[a + 128 >> 3];
+   if (!!(v[b + 8 >> 3] > e)) {
+    v[b + 8 >> 3] = e;
+    e = v[a + 128 >> 3];
+   }
+   if (!!(e > v[b + 24 >> 3])) {
+    v[b + 24 >> 3] = e;
+   }
+   e = v[a + 136 >> 3];
+   if (!!(v[b + 16 >> 3] > e)) {
+    v[b + 16 >> 3] = e;
+    e = v[a + 136 >> 3];
+   }
+   if (!(e > v[b + 32 >> 3])) {
+    break j;
+   }
+   v[b + 32 >> 3] = e;
+  }
+  q[a + 136 >> 2] = h;
+  q[a + 140 >> 2] = j;
+  v[a + 128 >> 3] = c;
+  if (!!(v[b + 8 >> 3] > c)) {
+   v[b + 8 >> 3] = c;
+   c = v[a + 128 >> 3];
+  }
+  if (!!(c > v[b + 24 >> 3])) {
+   v[b + 24 >> 3] = c;
+  }
+  c = v[a + 136 >> 3];
+  if (!!(v[b + 16 >> 3] > c)) {
+   v[b + 16 >> 3] = c;
+   c = v[a + 136 >> 3];
+  }
+  if (!(c > v[b + 32 >> 3])) {
+   break g;
+  }
+  v[b + 32 >> 3] = c;
+ }
+}
+function S$(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ f = a + b | 0;
+ a : {
+  b : {
+   c = q[a + 4 >> 2];
+   if (c & 1) {
+    break b;
+   }
+   if (!(c & 3)) {
+    break a;
+   }
+   c = q[a >> 2];
+   b = c + b | 0;
+   a = a - c | 0;
+   if ((a | 0) != q[161181]) {
+    if (c >>> 0 <= 255) {
+     e = c >>> 3 | 0;
+     c = q[a + 8 >> 2];
+     d = q[a + 12 >> 2];
+     if ((d | 0) == (c | 0)) {
+      i = 644704, j = q[161176] & Y0(-2, e), q[i >> 2] = j;
+      break b;
+     }
+     q[c + 12 >> 2] = d;
+     q[d + 8 >> 2] = c;
+     break b;
+    }
+    h = q[a + 24 >> 2];
+    c = q[a + 12 >> 2];
+    c : {
+     if ((c | 0) != (a | 0)) {
+      d = q[a + 8 >> 2];
+      q[d + 12 >> 2] = c;
+      q[c + 8 >> 2] = d;
+      break c;
+     }
+     d : {
+      d = a + 20 | 0;
+      e = q[d >> 2];
+      if (e) {
+       break d;
+      }
+      d = a + 16 | 0;
+      e = q[d >> 2];
+      if (e) {
+       break d;
+      }
+      c = 0;
+      break c;
+     }
+     while (1) {
+      g = d;
+      c = e;
+      d = c + 20 | 0;
+      e = q[d >> 2];
+      if (e) {
+       continue;
+      }
+      d = c + 16 | 0;
+      e = q[c + 16 >> 2];
+      if (e) {
+       continue;
+      }
+      break;
+     }
+     q[g >> 2] = 0;
+    }
+    if (!h) {
+     break b;
+    }
+    d = q[a + 28 >> 2];
+    e = (d << 2) + 645008 | 0;
+    e : {
+     if (q[e >> 2] == (a | 0)) {
+      q[e >> 2] = c;
+      if (c) {
+       break e;
+      }
+      i = 644708, j = q[161177] & Y0(-2, d), q[i >> 2] = j;
+      break b;
+     }
+     q[h + (q[h + 16 >> 2] == (a | 0) ? 16 : 20) >> 2] = c;
+     if (!c) {
+      break b;
+     }
+    }
+    q[c + 24 >> 2] = h;
+    d = q[a + 16 >> 2];
+    if (d) {
+     q[c + 16 >> 2] = d;
+     q[d + 24 >> 2] = c;
+    }
+    d = q[a + 20 >> 2];
+    if (!d) {
+     break b;
+    }
+    q[c + 20 >> 2] = d;
+    q[d + 24 >> 2] = c;
+    break b;
+   }
+   c = q[f + 4 >> 2];
+   if ((c & 3) != 3) {
+    break b;
+   }
+   q[161178] = b;
+   q[f + 4 >> 2] = c & -2;
+   q[a + 4 >> 2] = b | 1;
+   q[f >> 2] = b;
+   return;
+  }
+  c = q[f + 4 >> 2];
+  f : {
+   if (!(c & 2)) {
+    if ((f | 0) == q[161182]) {
+     q[161182] = a;
+     b = q[161179] + b | 0;
+     q[161179] = b;
+     q[a + 4 >> 2] = b | 1;
+     if (q[161181] != (a | 0)) {
+      break a;
+     }
+     q[161178] = 0;
+     q[161181] = 0;
+     return;
+    }
+    if ((f | 0) == q[161181]) {
+     q[161181] = a;
+     b = q[161178] + b | 0;
+     q[161178] = b;
+     q[a + 4 >> 2] = b | 1;
+     q[a + b >> 2] = b;
+     return;
+    }
+    b = (c & -8) + b | 0;
+    g : {
+     if (c >>> 0 <= 255) {
+      e = c >>> 3 | 0;
+      c = q[f + 8 >> 2];
+      d = q[f + 12 >> 2];
+      if ((c | 0) == (d | 0)) {
+       i = 644704, j = q[161176] & Y0(-2, e), q[i >> 2] = j;
+       break g;
+      }
+      q[c + 12 >> 2] = d;
+      q[d + 8 >> 2] = c;
+      break g;
+     }
+     h = q[f + 24 >> 2];
+     c = q[f + 12 >> 2];
+     h : {
+      if ((f | 0) != (c | 0)) {
+       d = q[f + 8 >> 2];
+       q[d + 12 >> 2] = c;
+       q[c + 8 >> 2] = d;
+       break h;
+      }
+      i : {
+       d = f + 20 | 0;
+       e = q[d >> 2];
+       if (e) {
+        break i;
+       }
+       d = f + 16 | 0;
+       e = q[d >> 2];
+       if (e) {
+        break i;
+       }
+       c = 0;
+       break h;
+      }
+      while (1) {
+       g = d;
+       c = e;
+       d = c + 20 | 0;
+       e = q[d >> 2];
+       if (e) {
+        continue;
+       }
+       d = c + 16 | 0;
+       e = q[c + 16 >> 2];
+       if (e) {
+        continue;
+       }
+       break;
+      }
+      q[g >> 2] = 0;
+     }
+     if (!h) {
+      break g;
+     }
+     d = q[f + 28 >> 2];
+     e = (d << 2) + 645008 | 0;
+     j : {
+      if ((f | 0) == q[e >> 2]) {
+       q[e >> 2] = c;
+       if (c) {
+        break j;
+       }
+       i = 644708, j = q[161177] & Y0(-2, d), q[i >> 2] = j;
+       break g;
+      }
+      q[h + ((f | 0) == q[h + 16 >> 2] ? 16 : 20) >> 2] = c;
+      if (!c) {
+       break g;
+      }
+     }
+     q[c + 24 >> 2] = h;
+     d = q[f + 16 >> 2];
+     if (d) {
+      q[c + 16 >> 2] = d;
+      q[d + 24 >> 2] = c;
+     }
+     d = q[f + 20 >> 2];
+     if (!d) {
+      break g;
+     }
+     q[c + 20 >> 2] = d;
+     q[d + 24 >> 2] = c;
+    }
+    q[a + 4 >> 2] = b | 1;
+    q[a + b >> 2] = b;
+    if (q[161181] != (a | 0)) {
+     break f;
+    }
+    q[161178] = b;
+    return;
+   }
+   q[f + 4 >> 2] = c & -2;
+   q[a + 4 >> 2] = b | 1;
+   q[a + b >> 2] = b;
+  }
+  if (b >>> 0 <= 255) {
+   c = b >>> 3 | 0;
+   b = (c << 3) + 644744 | 0;
+   d = q[161176];
+   c = 1 << c;
+   k : {
+    if (!(d & c)) {
+     q[161176] = c | d;
+     c = b;
+     break k;
+    }
+    c = q[b + 8 >> 2];
+   }
+   q[b + 8 >> 2] = a;
+   q[c + 12 >> 2] = a;
+   q[a + 12 >> 2] = b;
+   q[a + 8 >> 2] = c;
+   return;
+  }
+  q[a + 16 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  d = a;
+  e = b >>> 8 | 0;
+  c = 0;
+  l : {
+   if (!e) {
+    break l;
+   }
+   c = 31;
+   if (b >>> 0 > 16777215) {
+    break l;
+   }
+   g = e + 1048320 >>> 16 & 8;
+   e = e << g;
+   c = e + 520192 >>> 16 & 4;
+   f = e << c;
+   e = f + 245760 >>> 16 & 2;
+   c = (f << e >>> 15 | 0) - (e | (c | g)) | 0;
+   c = (c << 1 | b >>> c + 21 & 1) + 28 | 0;
+  }
+  q[d + 28 >> 2] = c;
+  e = (c << 2) + 645008 | 0;
+  m : {
+   d = q[161177];
+   g = 1 << c;
+   n : {
+    if (!(d & g)) {
+     q[161177] = d | g;
+     q[e >> 2] = a;
+     break n;
+    }
+    d = b << ((c | 0) == 31 ? 0 : 25 - (c >>> 1 | 0) | 0);
+    c = q[e >> 2];
+    while (1) {
+     e = c;
+     if ((q[c + 4 >> 2] & -8) == (b | 0)) {
+      break m;
+     }
+     c = d >>> 29 | 0;
+     d = d << 1;
+     g = (e + (c & 4) | 0) + 16 | 0;
+     c = q[g >> 2];
+     if (c) {
+      continue;
+     }
+     break;
+    }
+    q[g >> 2] = a;
+   }
+   q[a + 24 >> 2] = e;
+   q[a + 12 >> 2] = a;
+   q[a + 8 >> 2] = a;
+   return;
+  }
+  b = q[e + 8 >> 2];
+  q[b + 12 >> 2] = a;
+  q[e + 8 >> 2] = a;
+  q[a + 24 >> 2] = 0;
+  q[a + 12 >> 2] = e;
+  q[a + 8 >> 2] = b;
+ }
+}
+function lO(a, b, c, d, e, f, g, h) {
+ var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0, u = 0, v = 0;
+ i = q[b >> 2];
+ b = q[b + 4 >> 2];
+ q[d >> 2] = 0;
+ q[d + 4 >> 2] = 0;
+ q[f >> 2] = 0;
+ q[f + 4 >> 2] = 0;
+ a : {
+  u = w(i, 40) + a | 0;
+  v = u + w(b, 40) | 0;
+  if ((v | 0) != (a | 0)) {
+   b = h;
+   s = h >> 31;
+   while (1) {
+    l = q[a + 20 >> 2];
+    i = 0;
+    b : {
+     if (q[a + 24 >> 2]) {
+      break b;
+     }
+     i = 0;
+     if (!(l & 4)) {
+      break b;
+     }
+     i = q[a + 12 >> 2] > -1 ? -1 : 1;
+    }
+    t = a >>> 0 >= u >>> 0;
+    if (l & 32) {
+     j = q[a + 36 >> 2] <= (h | 0);
+    } else {
+     o = q[a + 4 >> 2];
+     k = q[a >> 2];
+     j = q[a + 12 >> 2];
+     p = j;
+     m = j >> 31;
+     n = T0(j, m, b, s);
+     j = k - n | 0;
+     o = o - (Ea + (k >>> 0 < n >>> 0) | 0) | 0;
+     k = q[(l & 2 ? 28 : 24) + a >> 2];
+     n = k;
+     r = k >> 31;
+     k = q[a + 8 >> 2];
+     k = T0(n, r, k, k >> 31);
+     n = j - k | 0;
+     m = (m | 0) > 0 ? 1 : (m | 0) >= 0 ? p >>> 0 <= 0 ? 0 : 1 : 0;
+     j = o - (Ea + (j >>> 0 < k >>> 0) | 0) | 0;
+     j = (m ? 0 - (j + (0 < n >>> 0) | 0) | 0 : j) >>> 31 ^ 1;
+    }
+    c : {
+     d : {
+      if (j) {
+       j = t << 2;
+       l = j + g | 0;
+       q[l >> 2] = i + q[l >> 2];
+       if (q[a + 32 >> 2] >= (h | 0)) {
+        break c;
+       }
+       i = q[a + 36 >> 2];
+       q[c + 32 >> 2] = q[a + 32 >> 2];
+       q[c + 36 >> 2] = i;
+       i = q[a + 4 >> 2];
+       q[c >> 2] = q[a >> 2];
+       q[c + 4 >> 2] = i;
+       i = q[a + 28 >> 2];
+       q[c + 24 >> 2] = q[a + 24 >> 2];
+       q[c + 28 >> 2] = i;
+       i = q[a + 20 >> 2];
+       q[c + 16 >> 2] = q[a + 16 >> 2];
+       q[c + 20 >> 2] = i;
+       i = q[a + 12 >> 2];
+       q[c + 8 >> 2] = q[a + 8 >> 2];
+       q[c + 12 >> 2] = i;
+       i = q[c + 36 >> 2];
+       q[c + 36 >> 2] = (i | 0) < (h | 0) ? i : h;
+       i = d + j | 0;
+       q[i >> 2] = q[i >> 2] + 1;
+       break d;
+      }
+      if (l & 16) {
+       j = q[a + 32 >> 2] >= (h | 0);
+      } else {
+       o = q[a + 4 >> 2];
+       k = q[a >> 2];
+       j = q[a + 12 >> 2];
+       p = j;
+       m = j >> 31;
+       n = T0(j, m, b, s);
+       j = k - n | 0;
+       o = o - (Ea + (k >>> 0 < n >>> 0) | 0) | 0;
+       k = q[(l & 2 ? 24 : 28) + a >> 2];
+       n = k;
+       r = k >> 31;
+       k = q[a + 8 >> 2];
+       k = T0(n, r, k, k >> 31);
+       n = j - k | 0;
+       m = (m | 0) < 0 ? 1 : (m | 0) <= 0 ? p >>> 0 >= 0 ? 0 : 1 : 0;
+       j = o - (Ea + (j >>> 0 < k >>> 0) | 0) | 0;
+       j = (m ? 0 - (j + (0 < n >>> 0) | 0) | 0 : j) >>> 31 ^ 1;
+      }
+      if (j) {
+       j = q[a + 36 >> 2];
+       l = e + 32 | 0;
+       i = l;
+       m = q[a + 32 >> 2];
+       q[i >> 2] = m;
+       q[i + 4 >> 2] = j;
+       i = q[a + 12 >> 2];
+       q[e + 8 >> 2] = q[a + 8 >> 2];
+       q[e + 12 >> 2] = i;
+       j = q[a + 4 >> 2];
+       o = j;
+       i = q[a >> 2];
+       q[e >> 2] = i;
+       q[e + 4 >> 2] = j;
+       j = q[a + 28 >> 2];
+       q[e + 24 >> 2] = q[a + 24 >> 2];
+       q[e + 28 >> 2] = j;
+       j = q[a + 20 >> 2];
+       q[e + 16 >> 2] = q[a + 16 >> 2];
+       q[e + 20 >> 2] = j;
+       q[e + 36 >> 2] = q[e + 36 >> 2] - h;
+       m = m - h | 0;
+       j = (m | 0) > 0;
+       q[l >> 2] = j ? m : 0;
+       l = q[e + 12 >> 2];
+       l = T0(l, l >> 31, b, s);
+       q[e >> 2] = i - l;
+       q[e + 4 >> 2] = o - (Ea + (i >>> 0 < l >>> 0) | 0);
+       e : {
+        if (j) {
+         break e;
+        }
+        i = q[e + 20 >> 2];
+        if ((i & 18) != 18) {
+         break e;
+        }
+        q[e + 20 >> 2] = i & -5;
+       }
+       i = (t << 2) + f | 0;
+       q[i >> 2] = q[i >> 2] + 1;
+       e = e + 40 | 0;
+       break c;
+      }
+      if (l & 2) {
+       j = (t << 2) + g | 0;
+       q[j >> 2] = i + q[j >> 2];
+      }
+      i = q[a + 4 >> 2];
+      q[c >> 2] = q[a >> 2];
+      q[c + 4 >> 2] = i;
+      l = q[a + 36 >> 2];
+      j = c + 32 | 0;
+      i = j;
+      k = q[a + 32 >> 2];
+      q[i >> 2] = k;
+      q[i + 4 >> 2] = l;
+      m = q[a + 28 >> 2];
+      l = c + 24 | 0;
+      i = l;
+      q[i >> 2] = q[a + 24 >> 2];
+      q[i + 4 >> 2] = m;
+      o = q[a + 20 >> 2];
+      m = c + 16 | 0;
+      i = m;
+      q[i >> 2] = q[a + 16 >> 2];
+      q[i + 4 >> 2] = o;
+      p = q[a + 12 >> 2];
+      o = c + 8 | 0;
+      i = o;
+      q[i >> 2] = q[a + 8 >> 2];
+      q[i + 4 >> 2] = p;
+      if (q[c + 36 >> 2] <= (h | 0) | (k | 0) >= (h | 0)) {
+       break a;
+      }
+      k = q[c + 4 >> 2];
+      i = q[c >> 2];
+      q[e >> 2] = i;
+      q[e + 4 >> 2] = k;
+      r = q[j + 4 >> 2];
+      p = e + 32 | 0;
+      n = p;
+      q[n >> 2] = q[j >> 2];
+      q[n + 4 >> 2] = r;
+      j = q[l + 4 >> 2];
+      q[e + 24 >> 2] = q[l >> 2];
+      q[e + 28 >> 2] = j;
+      j = q[m + 4 >> 2];
+      q[e + 16 >> 2] = q[m >> 2];
+      q[e + 20 >> 2] = j;
+      j = q[o + 4 >> 2];
+      q[e + 8 >> 2] = q[o >> 2];
+      q[e + 12 >> 2] = j;
+      j = q[c + 12 >> 2];
+      q[n >> 2] = 0;
+      q[e + 36 >> 2] = q[e + 36 >> 2] - h;
+      j = T0(j, j >> 31, b, s);
+      q[e >> 2] = i - j;
+      q[e + 4 >> 2] = k - (Ea + (i >>> 0 < j >>> 0) | 0);
+      q[c + 36 >> 2] = h;
+      q[c + 20 >> 2] = q[c + 20 >> 2] & -5;
+      l = q[e + 20 >> 2] & -9;
+      q[e + 20 >> 2] = l;
+      j = c;
+      i = q[j + 20 >> 2];
+      if (i & 2) {
+       q[c + 20 >> 2] = l;
+       q[e + 20 >> 2] = i;
+       i = q[c + 20 >> 2];
+      }
+      q[j + 20 >> 2] = i | 32;
+      q[e + 20 >> 2] = q[e + 20 >> 2] | 16;
+      i = t << 2;
+      j = i + d | 0;
+      q[j >> 2] = q[j >> 2] + 1;
+      i = f + i | 0;
+      q[i >> 2] = q[i >> 2] + 1;
+      e = e + 40 | 0;
+     }
+     c = c + 40 | 0;
+    }
+    a = a + 40 | 0;
+    if ((v | 0) != (a | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  return;
+ }
+ J(437094, 436873, 378, 437129);
+ F();
+}
+function IM(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0;
+ n = Ld(c);
+ if (n) {
+  a : {
+   if ((c | 0) <= 0) {
+    M_(n, 0, 16, 796);
+    break a;
+   }
+   while (1) {
+    j = (o << 5) + b | 0;
+    b : {
+     if (!q[j + 20 >> 2]) {
+      break b;
+     }
+     d = q[j + 28 >> 2];
+     e = q[d + 52 >> 2];
+     if (!e) {
+      e = N$(1, 20);
+      q[d + 52 >> 2] = e;
+      if (!e) {
+       break b;
+      }
+     }
+     if (q[a + 112 >> 2] != q[e + 16 >> 2]) {
+      q[e >> 2] = 0;
+      q[e + 4 >> 2] = 0;
+      q[e + 16 >> 2] = 0;
+      q[e + 8 >> 2] = 0;
+      q[e + 12 >> 2] = 0;
+      e = q[d + 52 >> 2];
+      q[e + 16 >> 2] = q[a + 112 >> 2];
+     }
+     if (!e) {
+      break b;
+     }
+     d = q[e + 4 >> 2];
+     if ((d | 0) < 1) {
+      break b;
+     }
+     l = q[e + 12 >> 2];
+     g = l;
+     p = q[e + 8 >> 2];
+     h = p;
+     k = q[e >> 2];
+     i = k;
+     f = d;
+     if ((d | 0) != q[j + 8 >> 2]) {
+      g = 0;
+      Yd(q[a >> 2], 2, 355808, 0);
+      q[e + 8 >> 2] = 0;
+      q[e + 12 >> 2] = 0;
+      q[e >> 2] = 0;
+      q[e + 4 >> 2] = 0;
+      h = 0;
+      i = 0;
+      f = 0;
+     }
+     if ((m | 0) >= 1) {
+      r = l + p | 0;
+      s = d + k | 0;
+      d = 0;
+      while (1) {
+       l = (d << 4) + n | 0;
+       if (!((k | 0) >= q[l + 4 >> 2] | q[l >> 2] >= (s | 0) | ((p | 0) >= q[l + 12 >> 2] | q[l + 8 >> 2] >= (r | 0)))) {
+        q[e >> 2] = 0;
+        q[e + 4 >> 2] = 0;
+        q[e + 8 >> 2] = 0;
+        q[e + 12 >> 2] = 0;
+        g = 0;
+        h = 0;
+        i = 0;
+        f = 0;
+       }
+       d = d + 1 | 0;
+       if ((m | 0) != (d | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     if ((f | 0) < 1) {
+      break b;
+     }
+     d = (m << 4) + n | 0;
+     q[d + 12 >> 2] = g + h;
+     q[d + 8 >> 2] = h;
+     q[d + 4 >> 2] = f + i;
+     q[d >> 2] = i;
+     e = j + 4 | 0;
+     d = q[j >> 2];
+     if (d) {
+      h = i - q[j + 4 >> 2] | 0;
+      j = q[a + 140 >> 2];
+      while (1) {
+       f = h + q[d + 24 >> 2] | 0;
+       q[d + 24 >> 2] = f;
+       g = q[d + 4 >> 2];
+       if ((f | 0) <= -1) {
+        q[d + 24 >> 2] = 0;
+        g = f + g | 0;
+        q[d + 4 >> 2] = g;
+        q[d + 12 >> 2] = q[d + 12 >> 2] - w(f, q[d + 8 >> 2]);
+        f = 0;
+       }
+       f = f + g | 0;
+       if ((j | 0) <= (f | 0)) {
+        g = (j - f | 0) + g | 0;
+        q[d + 4 >> 2] = g;
+       }
+       if ((g | 0) <= 0) {
+        q[d + 24 >> 2] = 0;
+        q[d + 4 >> 2] = 0;
+       }
+       d = q[d + 28 >> 2];
+       if (d) {
+        continue;
+       }
+       break;
+      }
+     }
+     m = m + 1 | 0;
+     q[e >> 2] = i;
+    }
+    o = o + 1 | 0;
+    if ((o | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   M_(n, m, 16, 796);
+   l = 0;
+   while (1) {
+    i = (l << 5) + b | 0;
+    c : {
+     if (!q[i + 20 >> 2]) {
+      break c;
+     }
+     d = q[i + 28 >> 2];
+     h = q[d + 52 >> 2];
+     if (!h) {
+      h = N$(1, 20);
+      q[d + 52 >> 2] = h;
+      if (!h) {
+       break c;
+      }
+     }
+     if (q[a + 112 >> 2] != q[h + 16 >> 2]) {
+      q[h >> 2] = 0;
+      q[h + 4 >> 2] = 0;
+      q[h + 16 >> 2] = 0;
+      q[h + 8 >> 2] = 0;
+      q[h + 12 >> 2] = 0;
+      h = q[d + 52 >> 2];
+      q[h + 16 >> 2] = q[a + 112 >> 2];
+     }
+     if (q[h + 4 >> 2] | !h) {
+      break c;
+     }
+     o = q[i + 12 >> 2];
+     p = o + q[i + 16 >> 2] | 0;
+     j = q[i + 4 >> 2];
+     g = j + q[i + 8 >> 2] | 0;
+     d : {
+      if (q[i + 24 >> 2] == 1) {
+       e = 0;
+       d = 0;
+       if ((m | 0) < 1) {
+        break d;
+       }
+       while (1) {
+        f = (d << 4) + n | 0;
+        e : {
+         if ((e + g | 0) <= q[f >> 2]) {
+          break e;
+         }
+         k = q[f + 4 >> 2];
+         if ((p | 0) <= q[f + 8 >> 2] | (e + j | 0) >= (k | 0)) {
+          break e;
+         }
+         e = (o | 0) < q[f + 12 >> 2] ? k - j | 0 : e;
+        }
+        d = d + 1 | 0;
+        if ((m | 0) != (d | 0)) {
+         continue;
+        }
+        break;
+       }
+       break d;
+      }
+      e = 0;
+      d = m;
+      if ((d | 0) < 1) {
+       break d;
+      }
+      while (1) {
+       f = d;
+       d = d + -1 | 0;
+       k = (d << 4) + n | 0;
+       r = q[k >> 2];
+       if (!((e + g | 0) <= (r | 0) | (e + j | 0) >= q[k + 4 >> 2] | (p | 0) <= q[k + 8 >> 2])) {
+        e = (o | 0) < q[k + 12 >> 2] ? r - g | 0 : e;
+       }
+       if ((f | 0) > 1) {
+        continue;
+       }
+       break;
+      }
+     }
+     r = i + 16 | 0;
+     s = i + 12 | 0;
+     t = i + 8 | 0;
+     k = i + 4 | 0;
+     d = (m << 4) + n | 0;
+     q[d + 12 >> 2] = p;
+     q[d + 8 >> 2] = o;
+     q[d + 4 >> 2] = e + g;
+     q[d >> 2] = e + j;
+     m = m + 1 | 0;
+     M_(n, m, 16, 796);
+     f : {
+      if (!e) {
+       d = q[k >> 2];
+       break f;
+      }
+      d = q[i >> 2];
+      if (d) {
+       i = q[a + 140 >> 2];
+       while (1) {
+        f = q[d + 24 >> 2] + e | 0;
+        q[d + 24 >> 2] = f;
+        g = q[d + 4 >> 2];
+        j = i;
+        if ((f | 0) <= -1) {
+         q[d + 24 >> 2] = 0;
+         g = f + g | 0;
+         q[d + 4 >> 2] = g;
+         q[d + 12 >> 2] = q[d + 12 >> 2] - w(f, q[d + 8 >> 2]);
+         f = 0;
+        }
+        f = f + g | 0;
+        if ((j | 0) <= (f | 0)) {
+         g = (i - f | 0) + g | 0;
+         q[d + 4 >> 2] = g;
+        }
+        if ((g | 0) <= 0) {
+         q[d + 24 >> 2] = 0;
+         q[d + 4 >> 2] = 0;
+        }
+        d = q[d + 28 >> 2];
+        if (d) {
+         continue;
+        }
+        break;
+       }
+      }
+      d = q[k >> 2] + e | 0;
+      q[k >> 2] = d;
+     }
+     q[h >> 2] = d;
+     q[h + 4 >> 2] = q[t >> 2];
+     q[h + 8 >> 2] = q[s >> 2];
+     q[h + 12 >> 2] = q[r >> 2];
+    }
+    l = l + 1 | 0;
+    if ((l | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  M$(n);
+ }
+}
+function kO(a, b, c, d, e, f, g, h) {
+ var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0, u = 0, v = 0;
+ i = q[b >> 2];
+ b = q[b + 4 >> 2];
+ q[d >> 2] = 0;
+ q[d + 4 >> 2] = 0;
+ q[f >> 2] = 0;
+ q[f + 4 >> 2] = 0;
+ a : {
+  u = w(i, 40) + a | 0;
+  v = u + w(b, 40) | 0;
+  if ((v | 0) != (a | 0)) {
+   b = h;
+   r = h >> 31;
+   while (1) {
+    m = q[a + 20 >> 2];
+    i = 0;
+    b : {
+     if (q[a + 32 >> 2]) {
+      break b;
+     }
+     i = 0;
+     if (!(m & 16)) {
+      break b;
+     }
+     i = q[a + 8 >> 2] > -1 ? -1 : 1;
+    }
+    s = a >>> 0 >= u >>> 0;
+    if (m & 8) {
+     p = q[a + 28 >> 2] <= (h | 0);
+    } else {
+     o = q[a + 4 >> 2];
+     k = q[a >> 2];
+     j = q[a + 8 >> 2];
+     p = j;
+     l = j >> 31;
+     n = T0(j, l, b, r);
+     j = k - n | 0;
+     o = o - (Ea + (k >>> 0 < n >>> 0) | 0) | 0;
+     k = q[(m & 2 ? 36 : 32) + a >> 2];
+     n = k;
+     t = k >> 31;
+     k = q[a + 12 >> 2];
+     k = T0(n, t, k, k >> 31);
+     n = j - k | 0;
+     l = (l | 0) > 0 ? 1 : (l | 0) >= 0 ? p >>> 0 <= 0 ? 0 : 1 : 0;
+     j = o - (Ea + (j >>> 0 < k >>> 0) | 0) | 0;
+     p = (l ? 0 - (j + (0 < n >>> 0) | 0) | 0 : j) >>> 31 ^ 1;
+    }
+    c : {
+     d : {
+      if (p) {
+       j = s << 2;
+       m = j + g | 0;
+       q[m >> 2] = i + q[m >> 2];
+       if (q[a + 24 >> 2] >= (h | 0)) {
+        break c;
+       }
+       i = q[a + 28 >> 2];
+       q[c + 24 >> 2] = q[a + 24 >> 2];
+       q[c + 28 >> 2] = i;
+       i = q[a + 4 >> 2];
+       q[c >> 2] = q[a >> 2];
+       q[c + 4 >> 2] = i;
+       i = q[a + 36 >> 2];
+       q[c + 32 >> 2] = q[a + 32 >> 2];
+       q[c + 36 >> 2] = i;
+       i = q[a + 20 >> 2];
+       q[c + 16 >> 2] = q[a + 16 >> 2];
+       q[c + 20 >> 2] = i;
+       i = q[a + 12 >> 2];
+       q[c + 8 >> 2] = q[a + 8 >> 2];
+       q[c + 12 >> 2] = i;
+       i = q[c + 28 >> 2];
+       q[c + 28 >> 2] = (i | 0) > (h | 0) ? h : i;
+       i = d + j | 0;
+       q[i >> 2] = q[i >> 2] + 1;
+       break d;
+      }
+      if (m & 4) {
+       p = q[a + 24 >> 2] >= (h | 0);
+      } else {
+       o = q[a + 4 >> 2];
+       k = q[a >> 2];
+       j = q[a + 8 >> 2];
+       p = j;
+       l = j >> 31;
+       n = T0(j, l, b, r);
+       j = k - n | 0;
+       o = o - (Ea + (k >>> 0 < n >>> 0) | 0) | 0;
+       k = q[(m & 2 ? 32 : 36) + a >> 2];
+       n = k;
+       t = k >> 31;
+       k = q[a + 12 >> 2];
+       k = T0(n, t, k, k >> 31);
+       n = j - k | 0;
+       l = (l | 0) < 0 ? 1 : (l | 0) <= 0 ? p >>> 0 >= 0 ? 0 : 1 : 0;
+       j = o - (Ea + (j >>> 0 < k >>> 0) | 0) | 0;
+       p = (l ? 0 - (j + (0 < n >>> 0) | 0) | 0 : j) >>> 31 ^ 1;
+      }
+      if (p) {
+       j = q[a + 28 >> 2];
+       l = e + 24 | 0;
+       i = l;
+       o = q[a + 24 >> 2];
+       q[i >> 2] = o;
+       q[i + 4 >> 2] = j;
+       i = q[a + 4 >> 2];
+       m = q[a >> 2];
+       q[e >> 2] = m;
+       q[e + 4 >> 2] = i;
+       j = q[a + 36 >> 2];
+       q[e + 32 >> 2] = q[a + 32 >> 2];
+       q[e + 36 >> 2] = j;
+       j = q[a + 20 >> 2];
+       q[e + 16 >> 2] = q[a + 16 >> 2];
+       q[e + 20 >> 2] = j;
+       j = q[a + 12 >> 2];
+       p = q[a + 8 >> 2];
+       q[e + 8 >> 2] = p;
+       q[e + 12 >> 2] = j;
+       q[e + 28 >> 2] = q[e + 28 >> 2] - h;
+       o = o - h | 0;
+       k = (o | 0) > 0;
+       q[l >> 2] = k ? o : 0;
+       l = i;
+       i = p;
+       j = i >> 31;
+       i = T0(i, j, b, r);
+       q[e >> 2] = m - i;
+       q[e + 4 >> 2] = l - (Ea + (m >>> 0 < i >>> 0) | 0);
+       e : {
+        if (k) {
+         break e;
+        }
+        i = q[e + 20 >> 2];
+        if ((i & 6) != 6) {
+         break e;
+        }
+        q[e + 20 >> 2] = i & -17;
+       }
+       i = (s << 2) + f | 0;
+       q[i >> 2] = q[i >> 2] + 1;
+       e = e + 40 | 0;
+       break c;
+      }
+      if (m & 2) {
+       j = (s << 2) + g | 0;
+       q[j >> 2] = i + q[j >> 2];
+      }
+      i = q[a + 4 >> 2];
+      q[c >> 2] = q[a >> 2];
+      q[c + 4 >> 2] = i;
+      j = q[a + 36 >> 2];
+      m = c + 32 | 0;
+      i = m;
+      q[i >> 2] = q[a + 32 >> 2];
+      q[i + 4 >> 2] = j;
+      j = q[a + 28 >> 2];
+      l = c + 24 | 0;
+      i = l;
+      k = q[a + 24 >> 2];
+      q[i >> 2] = k;
+      q[i + 4 >> 2] = j;
+      j = q[a + 20 >> 2];
+      o = c + 16 | 0;
+      i = o;
+      q[i >> 2] = q[a + 16 >> 2];
+      q[i + 4 >> 2] = j;
+      p = q[a + 12 >> 2];
+      i = c + 8 | 0;
+      q[i >> 2] = q[a + 8 >> 2];
+      q[i + 4 >> 2] = p;
+      if (q[c + 28 >> 2] <= (h | 0) | (k | 0) >= (h | 0)) {
+       break a;
+      }
+      k = q[c + 4 >> 2];
+      j = q[c >> 2];
+      q[e >> 2] = j;
+      q[e + 4 >> 2] = k;
+      p = q[m + 4 >> 2];
+      q[e + 32 >> 2] = q[m >> 2];
+      q[e + 36 >> 2] = p;
+      n = q[l + 4 >> 2];
+      m = e + 24 | 0;
+      q[m >> 2] = q[l >> 2];
+      q[m + 4 >> 2] = n;
+      l = q[o + 4 >> 2];
+      q[e + 16 >> 2] = q[o >> 2];
+      q[e + 20 >> 2] = l;
+      l = q[i + 4 >> 2];
+      q[e + 8 >> 2] = q[i >> 2];
+      q[e + 12 >> 2] = l;
+      i = q[i >> 2];
+      q[m >> 2] = 0;
+      q[e + 28 >> 2] = q[e + 28 >> 2] - h;
+      i = T0(i, i >> 31, b, r);
+      q[e >> 2] = j - i;
+      q[e + 4 >> 2] = k - (Ea + (j >>> 0 < i >>> 0) | 0);
+      q[c + 28 >> 2] = h;
+      q[c + 20 >> 2] = q[c + 20 >> 2] & -17;
+      m = q[e + 20 >> 2] & -33;
+      q[e + 20 >> 2] = m;
+      j = c;
+      i = q[j + 20 >> 2];
+      if (i & 2) {
+       q[c + 20 >> 2] = m;
+       q[e + 20 >> 2] = i;
+       i = q[c + 20 >> 2];
+      }
+      q[j + 20 >> 2] = i | 8;
+      q[e + 20 >> 2] = q[e + 20 >> 2] | 4;
+      i = s << 2;
+      j = i + d | 0;
+      q[j >> 2] = q[j >> 2] + 1;
+      i = f + i | 0;
+      q[i >> 2] = q[i >> 2] + 1;
+      e = e + 40 | 0;
+     }
+     c = c + 40 | 0;
+    }
+    a = a + 40 | 0;
+    if ((v | 0) != (a | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  return;
+ }
+ J(437040, 436873, 357, 437075);
+ F();
+}
+function Jn(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, u = 0, v = 0;
+ k = Ca - 16 | 0;
+ Ca = k;
+ e = q[d + 628 >> 2];
+ a : {
+  if (e >>> 0 > 4) {
+   f = -31;
+   break a;
+  }
+  l = d + 8 | 0;
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       switch (e - 1 | 0) {
+       case 2:
+        b = q[d + 2428 >> 2];
+        break d;
+       case 1:
+        f = q[d + 2424 >> 2];
+        break e;
+       default:
+        f = Sn(d, l, b);
+        if ((f | 0) != 1) {
+         break a;
+        }
+        q[b >> 2] = q[b >> 2] + 1;
+        q[d + 2420 >> 2] = 0;
+        e = n[q[d + 24 >> 2]](q[d + 32 >> 2], a) | 0;
+        q[c >> 2] = e;
+        if (!e) {
+         f = -25;
+         break a;
+        }
+        f = 1;
+        if (t[b >> 2] <= 1) {
+         Z$(e, 0, a);
+         break a;
+        }
+        q[d + 628 >> 2] = 1;
+        break;
+       case 3:
+        break c;
+       case 0:
+        break f;
+       }
+      }
+      e = q[d + 12 >> 2];
+      g : {
+       if (32 - e >>> 0 >= 5) {
+        h = q[l >> 2];
+        break g;
+       }
+       f = q[d + 20 >> 2];
+       g = e;
+       while (1) {
+        if (!f) {
+         f = 2;
+         break a;
+        }
+        i = q[d + 8 >> 2] >>> 8 | 0;
+        q[d + 8 >> 2] = i;
+        h = q[d + 16 >> 2];
+        m = r[h | 0];
+        f = f + -1 | 0;
+        q[d + 20 >> 2] = f;
+        e = g + -8 | 0;
+        q[d + 12 >> 2] = e;
+        q[d + 16 >> 2] = h + 1;
+        h = i | m << 24;
+        q[d + 8 >> 2] = h;
+        i = 40 - g | 0;
+        g = e;
+        if (i >>> 0 < 5) {
+         continue;
+        }
+        break;
+       }
+      }
+      q[d + 628 >> 2] = 2;
+      i = e;
+      e = h >>> e | 0;
+      g = e & 1;
+      q[d + 12 >> 2] = i + (g ? 5 : 1);
+      f = (e >>> 1 & 15) + 1 & 0 - g;
+      q[d + 2424 >> 2] = f;
+     }
+     b = q[b >> 2] + f | 0;
+     f = Kn(b, b, d + 2432 | 0, 0, d);
+     if ((f | 0) != 1) {
+      break a;
+     }
+     q[d + 628 >> 2] = 3;
+     q[d + 2428 >> 2] = 65535;
+     b = 65535;
+    }
+    p = q[d + 2424 >> 2];
+    i = q[d + 2420 >> 2];
+    m = q[c >> 2];
+    q[k + 12 >> 2] = b;
+    if ((b | 0) == 65535 ? i >>> 0 >= a >>> 0 : 0) {
+     break c;
+    }
+    f = (b | 0) != 65535;
+    u = d + 2432 | 0;
+    while (1) {
+     h : {
+      i : {
+       j : {
+        if (f & 1) {
+         break j;
+        }
+        k : {
+         l : {
+          e = q[d + 12 >> 2];
+          m : {
+           if (32 - e >>> 0 >= 15) {
+            h = q[l >> 2];
+            break m;
+           }
+           f = q[d + 20 >> 2];
+           g = e;
+           while (1) {
+            if (!f) {
+             break l;
+            }
+            b = q[d + 8 >> 2] >>> 8 | 0;
+            q[d + 8 >> 2] = b;
+            h = q[d + 16 >> 2];
+            j = r[h | 0];
+            f = f + -1 | 0;
+            q[d + 20 >> 2] = f;
+            e = g + -8 | 0;
+            q[d + 12 >> 2] = e;
+            q[d + 16 >> 2] = h + 1;
+            h = b | j << 24;
+            q[d + 8 >> 2] = h;
+            b = 40 - g | 0;
+            g = e;
+            if (b >>> 0 < 15) {
+             continue;
+            }
+            break;
+           }
+          }
+          g = d;
+          h = h >>> e | 0;
+          j = ((h & 255) << 2) + d | 0;
+          f = j + 2432 | 0;
+          b = r[f | 0];
+          if (b >>> 0 >= 9) {
+           e = e + 8 | 0;
+           q[d + 12 >> 2] = e;
+           f = (s[j + 2434 >> 1] + (q[(b << 2) + 153248 >> 2] & h >>> 8 & 127) << 2) + f | 0;
+           b = r[f | 0];
+          }
+          q[g + 12 >> 2] = (b & 255) + e;
+          b = s[f + 2 >> 1];
+          q[k + 12 >> 2] = b;
+          break k;
+         }
+         if (!Tn(u, l, k + 12 | 0)) {
+          b = 65535;
+          break b;
+         }
+         b = q[k + 12 >> 2];
+        }
+        if (!b) {
+         b = 0;
+         o[i + m | 0] = 0;
+         break i;
+        }
+        if (b >>> 0 <= p >>> 0) {
+         break j;
+        }
+        o[i + m | 0] = b - p;
+        break i;
+       }
+       e = q[d + 12 >> 2];
+       n : {
+        if (32 - e >>> 0 >= b >>> 0) {
+         h = q[l >> 2];
+         break n;
+        }
+        f = q[d + 20 >> 2];
+        g = e;
+        while (1) {
+         if (!f) {
+          break b;
+         }
+         h = q[d + 8 >> 2] >>> 8 | 0;
+         q[d + 8 >> 2] = h;
+         j = q[d + 16 >> 2];
+         v = r[j | 0];
+         f = f + -1 | 0;
+         q[d + 20 >> 2] = f;
+         e = g + -8 | 0;
+         q[d + 12 >> 2] = e;
+         q[d + 16 >> 2] = j + 1;
+         h = h | v << 24;
+         q[d + 8 >> 2] = h;
+         j = 40 - g | 0;
+         g = e;
+         if (j >>> 0 < b >>> 0) {
+          continue;
+         }
+         break;
+        }
+       }
+       q[d + 12 >> 2] = b + e;
+       e = q[(b << 2) + 153280 >> 2] & h >>> e;
+       g = 1 << b;
+       f = e + g | 0;
+       if (f + i >>> 0 > a >>> 0) {
+        f = -8;
+        break a;
+       }
+       Z$(i + m | 0, 0, f);
+       i = g + (e + i | 0) | 0;
+       break h;
+      }
+      i = i + 1 | 0;
+     }
+     f = 0;
+     if (i >>> 0 < a >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   g = q[d + 12 >> 2];
+   o : {
+    p : {
+     if ((g | 0) != 32) {
+      b = q[l >> 2];
+      break p;
+     }
+     b = q[d + 20 >> 2];
+     if (!b) {
+      f = 2;
+      e = 4;
+      break o;
+     }
+     e = q[d + 8 >> 2] >>> 8 | 0;
+     q[d + 8 >> 2] = e;
+     i = q[d + 16 >> 2];
+     f = r[i | 0];
+     q[d + 20 >> 2] = b + -1;
+     g = 24;
+     q[d + 12 >> 2] = 24;
+     q[d + 16 >> 2] = i + 1;
+     b = e | f << 24;
+     q[d + 8 >> 2] = b;
+    }
+    f = 1;
+    q[d + 12 >> 2] = g + 1;
+    e = 0;
+    if (!(b >>> g & 1)) {
+     break o;
+    }
+    Un(q[c >> 2], a, d);
+   }
+   q[d + 628 >> 2] = e;
+   break a;
+  }
+  q[d + 2420 >> 2] = i;
+  q[d + 2428 >> 2] = b;
+  f = 2;
+ }
+ Ca = k + 16 | 0;
+ return f;
+}
+
+
+
+function Hy(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ h = q[c + 88 >> 2];
+ i = 20;
+ f = 1;
+ b = 0;
+ a = 0;
+ g = q[c + 76 >> 2];
+ d = 0;
+ a : {
+  if (g) {
+   break a;
+  }
+  d = 1;
+ }
+ while (1) {
+  b : {
+   c : {
+    d : {
+     if (!d) {
+      k = i << 1;
+      j = p[k + 241104 >> 1] + 240256 | 0;
+      d = o[i + 241184 | 0];
+      b = r[i + 241376 | 0] == 7 ? a : b;
+      i = r[(h + w(a, 20) | 0) + 18 | 0];
+      m = r[k + 240160 | 0];
+      if (i >>> 0 >= m >>> 0) {
+       d = i >>> 0 > r[k + 240161 | 0] ? d : i - m | 0;
+      }
+      d = o[d + j | 0];
+      break d;
+     }
+     if ((i | 0) == 20) {
+      break c;
+     }
+     a = g;
+     d = r[i + 241328 | 0] + -1 | 0;
+    }
+    i = o[d + 241232 | 0];
+    j = d & 31;
+    e : {
+     if ((32 <= (d & 63) >>> 0 ? 12095 >>> j | 0 : ((1 << j) - 1 & 12095) << 32 - j | 1096567522 >>> j) & 1) {
+      break e;
+     }
+     d = o[d + 241280 | 0] + -1 | 0;
+     if (d >>> 0 > 11) {
+      break e;
+     }
+     f : {
+      g : {
+       switch (d - 1 | 0) {
+       case 0:
+        e = a + 1 | 0;
+        break e;
+       case 6:
+        e = a + 1 | 0;
+        if (b >>> 0 < e >>> 0) {
+         k = f << 4 | 2;
+         d = b;
+         while (1) {
+          o[(h + w(d, 20) | 0) + 15 | 0] = k;
+          j = (a | 0) == (d | 0);
+          d = d + 1 | 0;
+          if (!j) {
+           continue;
+          }
+          break;
+         }
+        }
+        d = f + 1 | 0;
+        f = (d | 0) == 16 ? 1 : d;
+        break e;
+       case 8:
+        if (b >>> 0 < a >>> 0) {
+         e = f << 4;
+         d = b;
+         while (1) {
+          o[(h + w(d, 20) | 0) + 15 | 0] = e;
+          d = d + 1 | 0;
+          if ((d | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        d = f + 1 | 0;
+        f = (d | 0) == 16 ? 1 : d;
+        e = a;
+        a = a + -1 | 0;
+        break e;
+       case 10:
+        if (b >>> 0 < a >>> 0) {
+         e = f << 4 | 1;
+         d = b;
+         while (1) {
+          o[(h + w(d, 20) | 0) + 15 | 0] = e;
+          d = d + 1 | 0;
+          if ((d | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        d = f + 1 | 0;
+        f = (d | 0) == 16 ? 1 : d;
+        e = a;
+        a = a + -1 | 0;
+        break e;
+       case 9:
+        if (b >>> 0 < a >>> 0) {
+         e = f << 4 | 2;
+         d = b;
+         while (1) {
+          o[(h + w(d, 20) | 0) + 15 | 0] = e;
+          d = d + 1 | 0;
+          if ((d | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        d = f + 1 | 0;
+        f = (d | 0) == 16 ? 1 : d;
+        e = a;
+        a = a + -1 | 0;
+        break e;
+       default:
+        if (b >>> 0 < e >>> 0) {
+         d = f << 4;
+         a = b;
+         while (1) {
+          o[(h + w(a, 20) | 0) + 15 | 0] = d;
+          a = a + 1 | 0;
+          if ((e | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        a = e + -1 | 0;
+        d = f + 1 | 0;
+        f = (d | 0) == 16 ? 1 : d;
+        break e;
+       case 3:
+        if (b >>> 0 < e >>> 0) {
+         d = f << 4 | 1;
+         a = b;
+         while (1) {
+          o[(h + w(a, 20) | 0) + 15 | 0] = d;
+          a = a + 1 | 0;
+          if ((e | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        a = e + -1 | 0;
+        d = f + 1 | 0;
+        f = (d | 0) == 16 ? 1 : d;
+        break e;
+       case 1:
+        d = l + -2 | 0;
+        if (d >>> 0 > 1) {
+         break e;
+        }
+        if (d - 1) {
+         if (b >>> 0 < e >>> 0) {
+          d = f << 4 | 1;
+          a = b;
+          while (1) {
+           o[(h + w(a, 20) | 0) + 15 | 0] = d;
+           a = a + 1 | 0;
+           if ((e | 0) != (a | 0)) {
+            continue;
+           }
+           break;
+          }
+         }
+         a = e + -1 | 0;
+         d = f + 1 | 0;
+         f = (d | 0) == 16 ? 1 : d;
+         l = 2;
+         break e;
+        }
+        if (b >>> 0 < e >>> 0) {
+         d = f << 4 | 2;
+         a = b;
+         while (1) {
+          o[(h + w(a, 20) | 0) + 15 | 0] = d;
+          a = a + 1 | 0;
+          if ((e | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        a = e + -1 | 0;
+        d = f + 1 | 0;
+        f = (d | 0) == 16 ? 1 : d;
+        break f;
+       case 2:
+        e = a + 1 | 0;
+        l = 2;
+        break e;
+       case 7:
+        break g;
+       case 4:
+       case 5:
+        break e;
+       }
+      }
+      e = a + 1 | 0;
+     }
+     l = 3;
+    }
+    b = r[i + 241424 | 0] == 6 ? 0 : b;
+    a = a + 1 | 0;
+    if ((g | 0) != (a | 0)) {
+     break b;
+    }
+    d = 1;
+    continue;
+   }
+   d = q[c + 76 >> 2];
+   if (d) {
+    b = d + -1 | 0;
+    a = 0;
+    e = q[c + 88 >> 2];
+    g = r[e + 15 | 0];
+    while (1) {
+     h : {
+      if ((a | 0) == (b | 0)) {
+       a = d;
+       break h;
+      }
+      a = a + 1 | 0;
+      if ((g | 0) == r[(e + w(a, 20) | 0) + 15 | 0]) {
+       continue;
+      }
+     }
+     break;
+    }
+    g = 0;
+    e = d;
+    while (1) {
+     b = a;
+     if (a - g >>> 0 >= 2) {
+      DG(c, g, b);
+      e = q[c + 76 >> 2];
+     }
+     a = b + 1 | 0;
+     g = e >>> 0 > a >>> 0 ? e : a;
+     k = g + -1 | 0;
+     f = q[c + 88 >> 2];
+     h = r[(f + w(b, 20) | 0) + 15 | 0];
+     a = b;
+     while (1) {
+      i : {
+       if ((a | 0) == (k | 0)) {
+        a = g;
+        break i;
+       }
+       a = a + 1 | 0;
+       if ((h | 0) == r[(f + w(a, 20) | 0) + 15 | 0]) {
+        continue;
+       }
+      }
+      break;
+     }
+     g = b;
+     if (b >>> 0 < d >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   return;
+  }
+  d = 0;
+  continue;
+ }
+}
+function rE(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ i = Ca - 32 | 0;
+ Ca = i;
+ a : {
+  if (r[c + 16 | 0] & 16) {
+   break a;
+  }
+  d = q[c + 76 >> 2];
+  if (!d) {
+   break a;
+  }
+  e = q[c + 88 >> 2];
+  a = 0;
+  while (1) {
+   if ((r[(e + w(a, 20) | 0) + 15 | 0] & 15) != 2) {
+    a = a + 1 | 0;
+    if ((d | 0) != (a | 0)) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  q[i + 28 >> 2] = 0;
+  a = q[b + 72 >> 2];
+  if (!n[q[a + 156 >> 2]](b, q[b + 76 >> 2], 9676, i + 28 | 0, q[a + 20 >> 2])) {
+   break a;
+  }
+  f = i + 20 | 0;
+  q[f >> 2] = 0;
+  q[f + 4 >> 2] = 0;
+  q[i + 12 >> 2] = 0;
+  q[i + 16 >> 2] = 0;
+  q[i + 8 >> 2] = 9676;
+  tE(i + 8 | 0);
+  h = q[i + 28 >> 2];
+  q[i + 8 >> 2] = h;
+  sG(c);
+  q[c + 72 >> 2] = 0;
+  b : {
+   if (!q[c + 76 >> 2]) {
+    break b;
+   }
+   k = q[i + 24 >> 2];
+   a = 0;
+   b = 0;
+   while (1) {
+    if (!r[c + 68 | 0]) {
+     break b;
+    }
+    d = q[c + 88 >> 2];
+    g = d + w(a, 20) | 0;
+    e = r[g + 15 | 0];
+    c : {
+     if (!((e | 0) == (b | 0) | (e & 15) != 2)) {
+      p[i + 4 >> 1] = s[f >> 1];
+      o[i + 6 | 0] = r[f + 2 | 0];
+      b = q[g + 4 >> 2];
+      a = q[g + 8 >> 2];
+      if (pG(c, 0, 1)) {
+       d = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+       q[d + 8 >> 2] = a;
+       q[d + 4 >> 2] = b;
+       q[d >> 2] = h;
+       p[d + 12 >> 1] = s[i + 4 >> 1];
+       o[d + 14 | 0] = r[i + 6 | 0];
+       q[d + 16 >> 2] = k;
+       o[d + 15 | 0] = e;
+       q[c + 80 >> 2] = q[c + 80 >> 2] + 1;
+      }
+      b = e;
+      break c;
+     }
+     if (r[c + 69 | 0]) {
+      l = c;
+      d : {
+       if ((d | 0) == q[c + 92 >> 2]) {
+        e = a;
+        if (q[c + 80 >> 2] == (a | 0)) {
+         break d;
+        }
+       }
+       if (!pG(c, 1, 1)) {
+        break c;
+       }
+       d = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+       a = q[d + 4 >> 2];
+       g = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+       q[g >> 2] = q[d >> 2];
+       q[g + 4 >> 2] = a;
+       q[g + 16 >> 2] = q[d + 16 >> 2];
+       a = q[d + 12 >> 2];
+       q[g + 8 >> 2] = q[d + 8 >> 2];
+       q[g + 12 >> 2] = a;
+       a = q[c + 72 >> 2];
+       e = q[c + 80 >> 2];
+      }
+      q[l + 80 >> 2] = e + 1;
+     }
+     q[c + 72 >> 2] = a + 1;
+    }
+    a = q[c + 72 >> 2];
+    if (a >>> 0 < t[c + 76 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  uG(c);
+ }
+ k = q[c + 76 >> 2];
+ if (k) {
+  d = k + -1 | 0;
+  a = 0;
+  e = q[c + 88 >> 2];
+  b = r[e + 15 | 0];
+  while (1) {
+   e : {
+    if ((a | 0) == (d | 0)) {
+     a = k;
+     break e;
+    }
+    a = a + 1 | 0;
+    if ((b | 0) == r[(e + w(a, 20) | 0) + 15 | 0]) {
+     continue;
+    }
+   }
+   break;
+  }
+  j = q[c + 88 >> 2];
+  e = r[j + 15 | 0];
+  f = k;
+  b = 0;
+  while (1) {
+   d = a;
+   a = e & 15;
+   if (!(a >>> 0 > 2 | !(a - 1))) {
+    h = 0;
+    a = b;
+    e = a + 3 | 0;
+    f = a;
+    f : {
+     if (e >>> 0 > d >>> 0) {
+      break f;
+     }
+     g = w(a, 20) + j | 0;
+     f = b;
+     if (r[g + 18 | 0] != 16) {
+      break f;
+     }
+     f = b;
+     if (r[g + 38 | 0] != 18) {
+      break f;
+     }
+     a = r[g + 58 | 0] == 4;
+     h = a ? 3 : 0;
+     f = a ? e : b;
+    }
+    a = f;
+    f = b;
+    g : {
+     if (a >>> 0 >= d >>> 0) {
+      break g;
+     }
+     while (1) {
+      h : {
+       e = w(a, 20) + j | 0;
+       if (r[e + 12 | 0] & 32) {
+        break h;
+       }
+       e = r[e + 18 | 0];
+       if (e >>> 0 > 31 | !(1 << e & 727046)) {
+        break h;
+       }
+       f = a;
+       break g;
+      }
+      a = a + 1 | 0;
+      if ((d | 0) != (a | 0)) {
+       continue;
+      }
+      break;
+     }
+     f = b;
+    }
+    e = f;
+    a = b;
+    f = a;
+    g = 5;
+    h = a + h | 0;
+    if (h >>> 0 > a >>> 0) {
+     while (1) {
+      o[(w(f, 20) + j | 0) + 19 | 0] = 5;
+      f = f + 1 | 0;
+      if ((h | 0) != (f | 0)) {
+       continue;
+      }
+      break;
+     }
+     a = h;
+    }
+    if (a >>> 0 < e >>> 0) {
+     while (1) {
+      o[(w(a, 20) + j | 0) + 19 | 0] = 3;
+      a = a + 1 | 0;
+      if ((e | 0) != (a | 0)) {
+       continue;
+      }
+      break;
+     }
+     a = e;
+    }
+    if (a >>> 0 < d >>> 0) {
+     o[(w(a, 20) + j | 0) + 19 | 0] = 4;
+     a = a + 1 | 0;
+    }
+    if (a >>> 0 < d >>> 0) {
+     while (1) {
+      f = w(a, 20) + j | 0;
+      e = f + 16 | 0;
+      h = 3;
+      l = r[f + 18 | 0];
+      i : {
+       j : {
+        if ((l | 0) == 22) {
+         break j;
+        }
+        if (r[e + 3 | 0] < 4) {
+         break i;
+        }
+        if ((l | 0) == 30) {
+         h = r[f + -1 | 0];
+         break j;
+        }
+        h = 8;
+        if (!((g | 0) != 5 | (l | 0) != 27)) {
+         g = 8;
+         break j;
+        }
+        if ((g | 0) == 8) {
+         h = 7;
+         g = 8;
+         if ((l | 0) == 10) {
+          break j;
+         }
+         h = (l | 0) == 27 ? 8 : 9;
+         g = h;
+         break j;
+        }
+        h = g;
+       }
+       o[e + 3 | 0] = h;
+      }
+      a = a + 1 | 0;
+      if ((d | 0) != (a | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    QG(c, b, d, 558);
+    j = q[c + 88 >> 2];
+    f = q[c + 76 >> 2];
+   }
+   a = d + 1 | 0;
+   b = f >>> 0 > a >>> 0 ? f : a;
+   e = r[(w(d, 20) + j | 0) + 15 | 0];
+   a = d;
+   while (1) {
+    k : {
+     a = a + 1 | 0;
+     if (a >>> 0 >= f >>> 0) {
+      a = b;
+      break k;
+     }
+     if ((e | 0) == r[(w(a, 20) + j | 0) + 15 | 0]) {
+      continue;
+     }
+    }
+    break;
+   }
+   b = d;
+   if (d >>> 0 < k >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ a = r[c + 164 | 0];
+ if (a & 64) {
+  l : {
+   a = a << 24 >> 24;
+   o[c + 164 | 0] = a & 191;
+   if ((a | 0) >= 0) {
+    break l;
+   }
+   o[c + 164 | 0] = a & 63;
+   Ca = i + 32 | 0;
+   return;
+  }
+ }
+ J(269762, 269732, 160, 269747);
+ F();
+}
+function am(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0;
+ f = q[a + 492 >> 2];
+ g = q[b + 16 >> 2];
+ e = q[b + 8 >> 2];
+ n[q[b + 28 >> 2]](b);
+ c = 3;
+ a = q[b >> 2];
+ a : {
+  b : {
+   if (a >>> 0 >= e >>> 0) {
+    break b;
+   }
+   a = r[a | 0];
+   c : {
+    if (a + -48 >>> 0 <= 9) {
+     a = n[q[b + 36 >> 2]](b) | 0;
+     q[b + 144 >> 2] = a;
+     if (q[b + 12 >> 2]) {
+      break a;
+     }
+     if ((a | 0) < 0) {
+      break b;
+     }
+     m = a;
+     a = q[b >> 2];
+     d = e - a >> 2;
+     if ((m | 0) <= (d | 0)) {
+      break c;
+     }
+     q[b + 144 >> 2] = d;
+     break c;
+    }
+    if ((a | 0) != 60) {
+     break b;
+    }
+    n[q[b + 32 >> 2]](b);
+    if (q[b + 12 >> 2]) {
+     break a;
+    }
+    n[q[b + 28 >> 2]](b);
+    d = q[b >> 2];
+    if (e >>> 0 <= d >>> 0) {
+     a = d;
+     break c;
+    }
+    a = d;
+    while (1) {
+     a = r[a | 0] + -47 | 0;
+     d : {
+      if (a >>> 0 > 15) {
+       break d;
+      }
+      e : {
+       switch (a - 1 | 0) {
+       case 14:
+        q[b >> 2] = d;
+        q[b + 144 >> 2] = h;
+        a = d;
+        break c;
+       case 0:
+       case 1:
+       case 2:
+       case 3:
+       case 4:
+       case 5:
+       case 6:
+       case 7:
+       case 8:
+       case 9:
+       case 10:
+       case 11:
+       case 12:
+       case 13:
+        break d;
+       default:
+        break e;
+       }
+      }
+      h = h + 1 | 0;
+     }
+     n[q[b + 32 >> 2]](b);
+     if (q[b + 12 >> 2]) {
+      break a;
+     }
+     n[q[b + 28 >> 2]](b);
+     a = q[b >> 2];
+     if (a >>> 0 < e >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (q[b + 264 >> 2] | a >>> 0 >= e >>> 0) {
+    break b;
+   }
+   j = b + 200 | 0;
+   c = n[q[q[f >> 2] >> 2]](j, q[b + 144 >> 2], g) | 0;
+   if (c) {
+    break b;
+   }
+   k = b + 148 | 0;
+   c = n[q[q[f >> 2] >> 2]](k, q[b + 144 >> 2], g) | 0;
+   if (c) {
+    break b;
+   }
+   h = b + 252 | 0;
+   c = n[q[q[f >> 2] >> 2]](h, 4, g) | 0;
+   if (c) {
+    break b;
+   }
+   n[q[b + 28 >> 2]](b);
+   a = q[b >> 2];
+   if (a >>> 0 >= e >>> 0) {
+    q[b + 144 >> 2] = 0;
+    c = 3;
+    break b;
+   }
+   d = 0;
+   while (1) {
+    f : {
+     g : {
+      c = r[a | 0];
+      if ((c | 0) != 101) {
+       if ((c | 0) == 62) {
+        break f;
+       }
+       break g;
+      }
+      c = a + 3 | 0;
+      if (r[a + 1 | 0] != 110 | c >>> 0 >= e >>> 0 | r[a + 2 | 0] != 100) {
+       break g;
+      }
+      c = r[c | 0];
+      if (c >>> 0 > 32) {
+       break g;
+      }
+      switch (c - 1 | 0) {
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 10:
+      case 13:
+      case 14:
+      case 15:
+      case 16:
+      case 17:
+      case 18:
+      case 19:
+      case 20:
+      case 21:
+      case 22:
+      case 23:
+      case 24:
+      case 25:
+      case 26:
+      case 27:
+      case 28:
+      case 29:
+      case 30:
+       break g;
+      default:
+       break f;
+      }
+     }
+     n[q[b + 32 >> 2]](b);
+     g = q[b >> 2];
+     if (g >>> 0 >= e >>> 0) {
+      c = 3;
+      break b;
+     }
+     if (q[b + 12 >> 2]) {
+      break a;
+     }
+     f = r[a | 0];
+     c = f + -40 | 0;
+     h : {
+      if (c >>> 0 > 7) {
+       break h;
+      }
+      i : {
+       switch (c - 1 | 0) {
+       case 0:
+       case 1:
+       case 2:
+       case 3:
+       case 4:
+       case 5:
+        break h;
+       default:
+        break i;
+       }
+      }
+      c = 3;
+      i = (f | 0) == 40;
+      if ((i ? 3 : 2) + a >>> 0 >= e >>> 0) {
+       break b;
+      }
+      a = a + 1 | 0;
+      g = (g - a | 0) - i | 0;
+      c = n[q[b + 192 >> 2]](k, d, a, g + 1 | 0) | 0;
+      if (c) {
+       break b;
+      }
+      i = d << 2;
+      o[g + q[i + q[b + 172 >> 2] >> 2] | 0] = 0;
+      if (r[a | 0] == 46) {
+       a = iZ(17720, q[i + q[b + 172 >> 2] >> 2]);
+       p = a ? p : 1;
+       l = a ? l : d;
+      }
+      n[q[b + 28 >> 2]](b);
+      if ((f | 0) == 40) {
+       n[q[b + 32 >> 2]](b);
+      }
+      a = q[b >> 2];
+      n[q[b + 36 >> 2]](b) | 0;
+      c = 3;
+      f = q[b >> 2];
+      if (f >>> 0 >= e >>> 0) {
+       break b;
+      }
+      m = a;
+      a = f - a | 0;
+      c = n[q[b + 244 >> 2]](j, d, m, a + 1 | 0) | 0;
+      if (c) {
+       break b;
+      }
+      o[a + q[i + q[b + 224 >> 2] >> 2] | 0] = 0;
+      d = d + 1 | 0;
+      if ((d | 0) >= q[b + 144 >> 2]) {
+       break f;
+      }
+     }
+     n[q[b + 28 >> 2]](b);
+     a = q[b >> 2];
+     if (a >>> 0 < e >>> 0) {
+      continue;
+     }
+    }
+    break;
+   }
+   q[b + 144 >> 2] = d;
+   if (!(p & 255)) {
+    c = 3;
+    break b;
+   }
+   a = q[q[b + 172 >> 2] >> 2];
+   if (!iZ(17720, a)) {
+    break a;
+   }
+   c = n[q[b + 296 >> 2]](h, 0, a, q[q[b + 176 >> 2] >> 2]) | 0;
+   if (c) {
+    break b;
+   }
+   c = n[q[b + 296 >> 2]](h, 1, q[q[b + 224 >> 2] >> 2], q[q[b + 228 >> 2] >> 2]) | 0;
+   if (c) {
+    break b;
+   }
+   a = l << 2;
+   c = n[q[b + 296 >> 2]](h, 2, q[a + q[b + 172 >> 2] >> 2], q[a + q[b + 176 >> 2] >> 2]) | 0;
+   if (c) {
+    break b;
+   }
+   c = n[q[b + 296 >> 2]](h, 3, q[a + q[b + 224 >> 2] >> 2], q[a + q[b + 228 >> 2] >> 2]) | 0;
+   if (c) {
+    break b;
+   }
+   c = n[q[b + 192 >> 2]](k, l, q[q[b + 276 >> 2] >> 2], q[q[b + 280 >> 2] >> 2]) | 0;
+   if (c) {
+    break b;
+   }
+   c = n[q[b + 244 >> 2]](j, l, q[q[b + 276 >> 2] + 4 >> 2], q[q[b + 280 >> 2] + 4 >> 2]) | 0;
+   if (c) {
+    break b;
+   }
+   c = n[q[b + 192 >> 2]](k, 0, q[q[b + 276 >> 2] + 8 >> 2], q[q[b + 280 >> 2] + 8 >> 2]) | 0;
+   if (c) {
+    break b;
+   }
+   c = n[q[b + 244 >> 2]](j, 0, q[q[b + 276 >> 2] + 12 >> 2], q[q[b + 280 >> 2] + 12 >> 2]) | 0;
+   if (!c) {
+    break a;
+   }
+  }
+  q[b + 12 >> 2] = c;
+ }
+}
+function rn(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ l = Ca - 16 | 0;
+ Ca = l;
+ q[l + 12 >> 2] = 0;
+ a : {
+  if (!a) {
+   d = 33;
+   break a;
+  }
+  d = 6;
+  if (!b | !c) {
+   break a;
+  }
+  b : {
+   if (r[b + 18 | 0] + -1 >>> 0 <= 6) {
+    e = q[a >> 2];
+    o[c + 18 | 0] = 2;
+    i = q[c >> 2];
+    g = q[b >> 2];
+    q[c >> 2] = g;
+    q[c + 4 >> 2] = q[b + 4 >> 2];
+    f = q[c + 8 >> 2];
+    a = q[b + 4 >> 2];
+    d = (a | 0) % 1 | 0;
+    a = (d ? 1 - d | 0 : 0) + a | 0;
+    if ((a | 0) >= 1) {
+     d = 6;
+     T0(a, 0, g, 0);
+     if (Ea) {
+      break a;
+     }
+    }
+    d = f;
+    f = f >> 31;
+    g = Yg(e, w(i, d + f ^ f), w(a, g), q[c + 12 >> 2], l + 12 | 0);
+    q[c + 12 >> 2] = g;
+    d = q[l + 12 >> 2];
+    if (d) {
+     break a;
+    }
+    q[c + 8 >> 2] = q[c + 8 >> 2] < 0 ? 0 - a | 0 : a;
+    break b;
+   }
+   q[l + 12 >> 2] = 6;
+   g = q[c + 12 >> 2];
+  }
+  f = q[b + 12 >> 2];
+  e = q[b + 8 >> 2];
+  if ((e | 0) <= -1) {
+   f = f - w(q[b >> 2] + -1 | 0, e) | 0;
+  }
+  h = q[c + 8 >> 2];
+  if ((h | 0) <= -1) {
+   g = g - w(q[c >> 2] + -1 | 0, h) | 0;
+  }
+  a = r[b + 18 | 0] + -1 | 0;
+  c : {
+   if (a >>> 0 > 6) {
+    break c;
+   }
+   d : {
+    switch (a - 1 | 0) {
+    default:
+     p[c + 16 >> 1] = 2;
+     k = q[b >> 2];
+     if (!k) {
+      break c;
+     }
+     while (1) {
+      d = q[b + 4 >> 2];
+      a = d >>> 3 | 0;
+      e : {
+       if (!a) {
+        e = g;
+        i = f;
+        break e;
+       }
+       e = (d & -8) + g | 0;
+       h = a;
+       d = g;
+       i = f;
+       while (1) {
+        j = r[i | 0];
+        o[d + 7 | 0] = j & 1;
+        o[d | 0] = j >>> 7;
+        o[d + 6 | 0] = j >>> 1 & 1;
+        o[d + 5 | 0] = j >>> 2 & 1;
+        o[d + 4 | 0] = j >>> 3 & 1;
+        o[d + 3 | 0] = j >>> 4 & 1;
+        o[d + 2 | 0] = j >>> 5 & 1;
+        o[d + 1 | 0] = j >>> 6 & 1;
+        i = i + 1 | 0;
+        d = d + 8 | 0;
+        h = h + -1 | 0;
+        if (h) {
+         continue;
+        }
+        break;
+       }
+       d = q[b + 4 >> 2];
+       i = a + f | 0;
+      }
+      a = d & 7;
+      if (a) {
+       d = r[i | 0];
+       while (1) {
+        o[e | 0] = (d & 128) >>> 7;
+        e = e + 1 | 0;
+        d = d << 1;
+        a = a + -1 | 0;
+        if (a) {
+         continue;
+        }
+        break;
+       }
+      }
+      g = q[c + 8 >> 2] + g | 0;
+      f = q[b + 8 >> 2] + f | 0;
+      k = k + -1 | 0;
+      if (k) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    case 0:
+    case 3:
+    case 4:
+     a = q[b + 4 >> 2];
+     p[c + 16 >> 1] = 256;
+     d = q[b >> 2];
+     if (!d) {
+      break c;
+     }
+     while (1) {
+      g = Y$(g, f, a) + q[c + 8 >> 2] | 0;
+      f = q[b + 8 >> 2] + f | 0;
+      d = d + -1 | 0;
+      if (d) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    case 1:
+     p[c + 16 >> 1] = 4;
+     j = q[b >> 2];
+     if (!j) {
+      break c;
+     }
+     while (1) {
+      a = q[b + 4 >> 2];
+      h = a >>> 2 | 0;
+      f : {
+       if (!h) {
+        i = f;
+        d = g;
+        break f;
+       }
+       k = a & -4;
+       i = h;
+       d = g;
+       e = f;
+       while (1) {
+        a = r[e | 0];
+        o[d + 3 | 0] = a & 3;
+        o[d | 0] = a >>> 6;
+        o[d + 2 | 0] = a >>> 2 & 3;
+        o[d + 1 | 0] = a >>> 4 & 3;
+        d = d + 4 | 0;
+        e = e + 1 | 0;
+        i = i + -1 | 0;
+        if (i) {
+         continue;
+        }
+        break;
+       }
+       i = f + h | 0;
+       a = q[b + 4 >> 2];
+       d = g + k | 0;
+      }
+      e = a & 3;
+      if (e) {
+       a = r[i | 0];
+       while (1) {
+        o[d | 0] = (a & 192) >>> 6;
+        d = d + 1 | 0;
+        a = a << 2;
+        e = e + -1 | 0;
+        if (e) {
+         continue;
+        }
+        break;
+       }
+      }
+      g = q[c + 8 >> 2] + g | 0;
+      f = q[b + 8 >> 2] + f | 0;
+      j = j + -1 | 0;
+      if (j) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    case 2:
+     p[c + 16 >> 1] = 16;
+     j = q[b >> 2];
+     if (!j) {
+      break c;
+     }
+     while (1) {
+      d = q[b + 4 >> 2];
+      i = d >>> 1 | 0;
+      g : {
+       if (!i) {
+        e = g;
+        a = f;
+        break g;
+       }
+       h = d & -2;
+       e = i;
+       d = g;
+       a = f;
+       while (1) {
+        k = r[a | 0];
+        o[d + 1 | 0] = k & 15;
+        o[d | 0] = k >>> 4;
+        d = d + 2 | 0;
+        a = a + 1 | 0;
+        e = e + -1 | 0;
+        if (e) {
+         continue;
+        }
+        break;
+       }
+       e = g + h | 0;
+       d = q[b + 4 >> 2];
+       a = f + i | 0;
+      }
+      if (d & 1) {
+       o[e | 0] = r[a | 0] >>> 4;
+      }
+      g = q[c + 8 >> 2] + g | 0;
+      f = q[b + 8 >> 2] + f | 0;
+      j = j + -1 | 0;
+      if (j) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    case 5:
+     break d;
+    }
+   }
+   p[c + 16 >> 1] = 256;
+   j = q[b >> 2];
+   if (!j) {
+    break c;
+   }
+   while (1) {
+    a = g;
+    d = f;
+    i = q[b + 4 >> 2];
+    if (i) {
+     while (1) {
+      e = a;
+      k = r[d + 3 | 0];
+      h = 0;
+      h : {
+       if (!k) {
+        break h;
+       }
+       h = r[d + 1 | 0];
+       m = w(w(h, h), 46871);
+       h = r[d | 0];
+       m = m + w(w(h, h), 4732) | 0;
+       h = r[d + 2 | 0];
+       h = k - ((m + w(w(h, h), 13933) >>> 16 >>> 0) / (k >>> 0) | 0) | 0;
+      }
+      o[e | 0] = h;
+      a = a + 1 | 0;
+      d = d + 4 | 0;
+      i = i + -1 | 0;
+      if (i) {
+       continue;
+      }
+      break;
+     }
+     h = q[c + 8 >> 2];
+     e = q[b + 8 >> 2];
+    }
+    g = g + h | 0;
+    f = f + e | 0;
+    j = j + -1 | 0;
+    if (j) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = q[l + 12 >> 2];
+ }
+ Ca = l + 16 | 0;
+ return d;
+}
+function HW(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, s = 0, t = 0, u = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ k = q[c >> 2];
+ q[g + 4 >> 2] = k;
+ a : {
+  if (q[a + 144 >> 2] == (b | 0)) {
+   q[a + 284 >> 2] = k;
+   p = a + 284 | 0;
+   t = a + 288 | 0;
+   break a;
+  }
+  p = q[a + 296 >> 2];
+  t = p + 4 | 0;
+ }
+ q[p >> 2] = k;
+ q[c >> 2] = 0;
+ s = a + 288 | 0;
+ k = a + 284 | 0;
+ l = 35;
+ b : {
+  c : {
+   while (1) {
+    h = n[q[b + 8 >> 2]](b, q[g + 4 >> 2], d, g) | 0;
+    j = q[g >> 2];
+    q[t >> 2] = j;
+    d : {
+     e : {
+      f : {
+       h = h + 4 | 0;
+       if (h >>> 0 > 44) {
+        break f;
+       }
+       g : {
+        switch (h - 1 | 0) {
+        case 43:
+         d = q[a + 76 >> 2];
+         h : {
+          if (d) {
+           n[d](q[a + 4 >> 2]);
+           break h;
+          }
+          d = q[a + 80 >> 2];
+          if (!d) {
+           break h;
+          }
+          f = q[g + 4 >> 2];
+          q[g + 12 >> 2] = f;
+          if (!r[b + 68 | 0]) {
+           if (q[a + 144 >> 2] != (b | 0)) {
+            k = q[a + 296 >> 2];
+            s = k + 4 | 0;
+           }
+           while (1) {
+            q[g + 8 >> 2] = q[a + 44 >> 2];
+            f = n[q[b + 56 >> 2]](b, g + 12 | 0, j, g + 8 | 0, q[a + 48 >> 2]) | 0;
+            q[s >> 2] = q[g + 12 >> 2];
+            d = q[a + 44 >> 2];
+            n[q[a + 80 >> 2]](q[a + 4 >> 2], d, q[g + 8 >> 2] - d | 0);
+            q[k >> 2] = q[g + 12 >> 2];
+            if (f >>> 0 > 1) {
+             continue;
+            }
+            break;
+           }
+           break h;
+          }
+          n[d](q[a + 4 >> 2], f, j - f | 0);
+         }
+         b = q[g >> 2];
+         q[c >> 2] = b;
+         q[e >> 2] = b;
+         l = q[a + 476 >> 2] == 2 ? 35 : 0;
+         break b;
+        case 10:
+         h = q[a + 60 >> 2];
+         if (h) {
+          o[g + 12 | 0] = 10;
+          n[h](q[a + 4 >> 2], g + 12 | 0, 1);
+          break d;
+         }
+         h = q[a + 80 >> 2];
+         if (!h) {
+          break d;
+         }
+         i = q[g + 4 >> 2];
+         q[g + 12 >> 2] = i;
+         if (!r[b + 68 | 0]) {
+          i = k;
+          h = s;
+          if (q[a + 144 >> 2] != (b | 0)) {
+           i = q[a + 296 >> 2];
+           h = i + 4 | 0;
+          }
+          while (1) {
+           q[g + 8 >> 2] = q[a + 44 >> 2];
+           u = n[q[b + 56 >> 2]](b, g + 12 | 0, j, g + 8 | 0, q[a + 48 >> 2]) | 0;
+           q[h >> 2] = q[g + 12 >> 2];
+           m = q[a + 44 >> 2];
+           n[q[a + 80 >> 2]](q[a + 4 >> 2], m, q[g + 8 >> 2] - m | 0);
+           q[i >> 2] = q[g + 12 >> 2];
+           if (u >>> 0 > 1) {
+            continue;
+           }
+           break;
+          }
+          break d;
+         }
+         n[h](q[a + 4 >> 2], i, j - i | 0);
+         break d;
+        case 9:
+         m = q[a + 60 >> 2];
+         if (m) {
+          if (r[b + 68 | 0]) {
+           break e;
+          }
+          while (1) {
+           q[g + 12 >> 2] = q[a + 44 >> 2];
+           i = n[q[b + 56 >> 2]](b, g + 4 | 0, j, g + 12 | 0, q[a + 48 >> 2]) | 0;
+           q[t >> 2] = q[g >> 2];
+           h = q[a + 44 >> 2];
+           n[m](q[a + 4 >> 2], h, q[g + 12 >> 2] - h | 0);
+           if (i >>> 0 < 2) {
+            break d;
+           }
+           q[p >> 2] = q[g + 4 >> 2];
+           j = q[g >> 2];
+           continue;
+          }
+         }
+         h = q[a + 80 >> 2];
+         if (!h) {
+          break d;
+         }
+         i = q[g + 4 >> 2];
+         q[g + 12 >> 2] = i;
+         if (!r[b + 68 | 0]) {
+          i = k;
+          h = s;
+          if (q[a + 144 >> 2] != (b | 0)) {
+           i = q[a + 296 >> 2];
+           h = i + 4 | 0;
+          }
+          while (1) {
+           q[g + 8 >> 2] = q[a + 44 >> 2];
+           u = n[q[b + 56 >> 2]](b, g + 12 | 0, j, g + 8 | 0, q[a + 48 >> 2]) | 0;
+           q[h >> 2] = q[g + 12 >> 2];
+           m = q[a + 44 >> 2];
+           n[q[a + 80 >> 2]](q[a + 4 >> 2], m, q[g + 8 >> 2] - m | 0);
+           q[i >> 2] = q[g + 12 >> 2];
+           if (u >>> 0 > 1) {
+            continue;
+           }
+           break;
+          }
+          break d;
+         }
+         n[h](q[a + 4 >> 2], i, j - i | 0);
+         break d;
+        case 1:
+         if (!f) {
+          l = 6;
+          break b;
+         }
+         q[e >> 2] = q[g + 4 >> 2];
+         l = 0;
+         break b;
+        case 3:
+         break c;
+        case 0:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+        case 11:
+        case 12:
+        case 13:
+        case 14:
+        case 15:
+        case 16:
+        case 17:
+        case 18:
+        case 19:
+        case 20:
+        case 21:
+        case 22:
+        case 23:
+        case 24:
+        case 25:
+        case 26:
+        case 27:
+        case 28:
+        case 29:
+        case 30:
+        case 31:
+        case 32:
+        case 33:
+        case 34:
+        case 35:
+        case 36:
+        case 37:
+        case 38:
+        case 39:
+        case 40:
+        case 41:
+        case 42:
+         break f;
+        default:
+         break g;
+        }
+       }
+       if (!f) {
+        l = 20;
+        break b;
+       }
+       q[e >> 2] = q[g + 4 >> 2];
+       l = 0;
+       break b;
+      }
+      q[p >> 2] = j;
+      l = 23;
+      break b;
+     }
+     h = q[g + 4 >> 2];
+     n[m](q[a + 4 >> 2], h, j - h | 0);
+    }
+    h = q[g >> 2];
+    q[g + 4 >> 2] = h;
+    q[p >> 2] = h;
+    h = q[a + 476 >> 2] + -2 | 0;
+    if (h >>> 0 > 1) {
+     continue;
+    }
+    break;
+   }
+   if (h - 1) {
+    break b;
+   }
+   q[e >> 2] = q[g >> 2];
+   l = 0;
+   break b;
+  }
+  q[p >> 2] = j;
+  l = 4;
+ }
+ Ca = g + 16 | 0;
+ return l;
+}
+function oR(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0;
+ l = q[b + 16 >> 2];
+ i = q[b + 32 >> 2];
+ m = q[b + 48 >> 2];
+ n = q[b + 36 >> 2];
+ o = q[b + 52 >> 2];
+ p = q[b + 4 >> 2];
+ g = q[b + 20 >> 2];
+ h = q[a + 4 >> 2];
+ j = q[b >> 2];
+ A = q[a >> 2];
+ r = q[a + 12 >> 2];
+ k = q[a + 8 >> 2];
+ d = h + Y0(((j + A | 0) + (r ^ (r ^ k) & h) | 0) + -680876936 | 0, 7) | 0;
+ s = q[b + 12 >> 2];
+ t = q[b + 8 >> 2];
+ e = Y0(((p + r | 0) + (d & (h ^ k) ^ k) | 0) + -389564586 | 0, 12) + d | 0;
+ c = Y0(((t + k | 0) + (e & (d ^ h) ^ h) | 0) + 606105819 | 0, 17) + e | 0;
+ f = Y0(((h + s | 0) + (d ^ c & (d ^ e)) | 0) + -1044525330 | 0, 22) + c | 0;
+ d = Y0(((d + l | 0) + (e ^ f & (c ^ e)) | 0) + -176418897 | 0, 7) + f | 0;
+ u = q[b + 28 >> 2];
+ v = q[b + 24 >> 2];
+ e = Y0(((e + g | 0) + (c ^ d & (c ^ f)) | 0) + 1200080426 | 0, 12) + d | 0;
+ c = Y0(((c + v | 0) + (f ^ e & (d ^ f)) | 0) + -1473231341 | 0, 17) + e | 0;
+ f = Y0(((f + u | 0) + (d ^ c & (d ^ e)) | 0) + -45705983 | 0, 22) + c | 0;
+ d = Y0(((d + i | 0) + (e ^ f & (c ^ e)) | 0) + 1770035416 | 0, 7) + f | 0;
+ w = q[b + 44 >> 2];
+ x = q[b + 40 >> 2];
+ e = Y0(((e + n | 0) + (c ^ d & (c ^ f)) | 0) + -1958414417 | 0, 12) + d | 0;
+ c = Y0(((c + x | 0) + (f ^ e & (d ^ f)) | 0) + -42063 | 0, 17) + e | 0;
+ f = Y0(((f + w | 0) + (d ^ c & (d ^ e)) | 0) + -1990404162 | 0, 22) + c | 0;
+ d = Y0(((d + m | 0) + (e ^ f & (c ^ e)) | 0) + 1804603682 | 0, 7) + f | 0;
+ y = q[b + 56 >> 2];
+ z = q[b + 60 >> 2];
+ e = Y0(((e + o | 0) + (c ^ d & (c ^ f)) | 0) + -40341101 | 0, 12) + d | 0;
+ b = e + Y0(((c + y | 0) + (f ^ (d ^ f) & e) | 0) + -1502002290 | 0, 17) | 0;
+ B = b + w | 0;
+ c = d + p | 0;
+ d = Y0(((f + z | 0) + (d ^ b & (d ^ e)) | 0) + 1236535329 | 0, 22) + b | 0;
+ c = Y0((c + (b ^ (d ^ b) & e) | 0) + -165796510 | 0, 5) + d | 0;
+ b = Y0(((e + v | 0) + (d ^ b & (d ^ c)) | 0) + -1069501632 | 0, 9) + c | 0;
+ e = Y0((B + ((c ^ b) & d ^ c) | 0) + 643717713 | 0, 14) + b | 0;
+ d = Y0(((d + j | 0) + (b ^ c & (b ^ e)) | 0) + -373897302 | 0, 20) + e | 0;
+ c = Y0(((c + g | 0) + (e ^ b & (d ^ e)) | 0) + -701558691 | 0, 5) + d | 0;
+ b = Y0(((b + x | 0) + (d ^ e & (d ^ c)) | 0) + 38016083 | 0, 9) + c | 0;
+ e = Y0(((z + e | 0) + ((c ^ b) & d ^ c) | 0) + -660478335 | 0, 14) + b | 0;
+ d = Y0(((d + l | 0) + (b ^ c & (b ^ e)) | 0) + -405537848 | 0, 20) + e | 0;
+ c = Y0(((c + n | 0) + (e ^ b & (d ^ e)) | 0) + 568446438 | 0, 5) + d | 0;
+ b = Y0(((b + y | 0) + (d ^ e & (d ^ c)) | 0) + -1019803690 | 0, 9) + c | 0;
+ e = Y0(((e + s | 0) + ((c ^ b) & d ^ c) | 0) + -187363961 | 0, 14) + b | 0;
+ d = Y0(((d + i | 0) + (b ^ c & (b ^ e)) | 0) + 1163531501 | 0, 20) + e | 0;
+ c = Y0(((c + o | 0) + (e ^ b & (d ^ e)) | 0) + -1444681467 | 0, 5) + d | 0;
+ b = Y0(((b + t | 0) + (d ^ e & (d ^ c)) | 0) + -51403784 | 0, 9) + c | 0;
+ e = Y0(((e + u | 0) + ((c ^ b) & d ^ c) | 0) + 1735328473 | 0, 14) + b | 0;
+ f = b ^ e;
+ d = Y0(((d + m | 0) + (b ^ f & c) | 0) + -1926607734 | 0, 20) + e | 0;
+ c = Y0(((c + g | 0) + (d ^ f) | 0) + -378558 | 0, 4) + d | 0;
+ b = Y0(((b + i | 0) + (d ^ e ^ c) | 0) + -2022574463 | 0, 11) + c | 0;
+ e = Y0(((e + w | 0) + (b ^ (d ^ c)) | 0) + 1839030562 | 0, 16) + b | 0;
+ d = Y0(((d + y | 0) + (e ^ (b ^ c)) | 0) + -35309556 | 0, 23) + e | 0;
+ c = Y0(((c + p | 0) + (d ^ (b ^ e)) | 0) + -1530992060 | 0, 4) + d | 0;
+ b = Y0(((b + l | 0) + (c ^ (d ^ e)) | 0) + 1272893353 | 0, 11) + c | 0;
+ e = Y0(((e + u | 0) + (b ^ (d ^ c)) | 0) + -155497632 | 0, 16) + b | 0;
+ d = Y0(((d + x | 0) + (e ^ (b ^ c)) | 0) + -1094730640 | 0, 23) + e | 0;
+ c = Y0(((c + o | 0) + (d ^ (b ^ e)) | 0) + 681279174 | 0, 4) + d | 0;
+ b = Y0(((b + j | 0) + (c ^ (d ^ e)) | 0) + -358537222 | 0, 11) + c | 0;
+ e = Y0(((e + s | 0) + (b ^ (d ^ c)) | 0) + -722521979 | 0, 16) + b | 0;
+ d = Y0(((d + v | 0) + (e ^ (b ^ c)) | 0) + 76029189 | 0, 23) + e | 0;
+ c = Y0(((c + n | 0) + (d ^ (b ^ e)) | 0) + -640364487 | 0, 4) + d | 0;
+ b = Y0(((b + m | 0) + (c ^ (d ^ e)) | 0) + -421815835 | 0, 11) + c | 0;
+ f = c + j | 0;
+ j = b ^ c;
+ c = Y0(((e + z | 0) + (b ^ (d ^ c)) | 0) + 530742520 | 0, 16) + b | 0;
+ e = Y0(((d + t | 0) + (j ^ c) | 0) + -995338651 | 0, 23) + c | 0;
+ d = Y0((f + ((e | b ^ -1) ^ c) | 0) + -198630844 | 0, 6) + e | 0;
+ f = e + g | 0;
+ g = c + y | 0;
+ c = Y0(((b + u | 0) + (e ^ (d | c ^ -1)) | 0) + 1126891415 | 0, 10) + d | 0;
+ e = Y0((g + (d ^ (c | e ^ -1)) | 0) + -1416354905 | 0, 15) + c | 0;
+ b = Y0((f + ((e | d ^ -1) ^ c) | 0) + -57434055 | 0, 21) + e | 0;
+ f = e + x | 0;
+ g = c + s | 0;
+ c = Y0(((d + m | 0) + (e ^ (b | c ^ -1)) | 0) + 1700485571 | 0, 6) + b | 0;
+ e = Y0((g + (b ^ (c | e ^ -1)) | 0) + -1894986606 | 0, 10) + c | 0;
+ d = Y0((f + ((e | b ^ -1) ^ c) | 0) + -1051523 | 0, 15) + e | 0;
+ f = e + z | 0;
+ i = c + i | 0;
+ c = Y0(((b + p | 0) + (e ^ (d | c ^ -1)) | 0) + -2054922799 | 0, 21) + d | 0;
+ e = Y0((i + (d ^ (c | e ^ -1)) | 0) + 1873313359 | 0, 6) + c | 0;
+ b = Y0((f + ((e | d ^ -1) ^ c) | 0) + -30611744 | 0, 10) + e | 0;
+ d = Y0(((d + v | 0) + (e ^ (b | c ^ -1)) | 0) + -1560198380 | 0, 15) + b | 0;
+ c = Y0(((c + o | 0) + (b ^ (d | e ^ -1)) | 0) + 1309151649 | 0, 21) + d | 0;
+ e = Y0(((e + l | 0) + ((c | b ^ -1) ^ d) | 0) + -145523070 | 0, 6) + c | 0;
+ q[a >> 2] = e + A;
+ b = Y0(((b + w | 0) + (c ^ (e | d ^ -1)) | 0) + -1120210379 | 0, 10) + e | 0;
+ q[a + 12 >> 2] = b + r;
+ d = Y0(((d + t | 0) + (e ^ (b | c ^ -1)) | 0) + 718787259 | 0, 15) + b | 0;
+ q[a + 8 >> 2] = d + k;
+ C = a, D = Y0(((c + n | 0) + (b ^ (d | e ^ -1)) | 0) + -343485551 | 0, 21) + (d + h | 0) | 0, q[C + 4 >> 2] = D;
+}
+function OR(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, p = 0, r = 0, t = 0, u = 0, v = 0;
+ r = Ca - 32 | 0;
+ Ca = r;
+ a : {
+  if (!a | !b) {
+   break a;
+  }
+  l = L$(16);
+  if (!l) {
+   break a;
+  }
+  q[l + 8 >> 2] = 0;
+  q[l + 12 >> 2] = 0;
+  q[l >> 2] = 1;
+  q[l + 4 >> 2] = 0;
+  f = q[a + 4 >> 2];
+  m = -1;
+  j = -1;
+  i = q[a + 12 >> 2] + a | 0;
+  b : {
+   c : {
+    if (i) {
+     e = f + -1 | 0;
+     d : {
+      e : {
+       if ((f | 0) < 1) {
+        h = e;
+        break e;
+       }
+       while (1) {
+        g = e >> 1;
+        j = g;
+        if (!s[i + (e & -2) >> 1]) {
+         break d;
+        }
+        j = (e | 0) > 1;
+        h = g + -1 | 0;
+        e = h;
+        if (j) {
+         continue;
+        }
+        break;
+       }
+      }
+      j = (h >>> 31 | 0) + h ^ -1;
+     }
+     e = 0;
+     if ((j | 0) > -1) {
+      break c;
+     }
+    }
+    g = j ^ -1;
+    j = 0;
+    k = 0;
+    if ((f | 0) == (g | 0)) {
+     break b;
+    }
+    j = g;
+    e = s[i + (g << 1) >> 1] << 8;
+   }
+   m = e;
+   g = q[a + 8 >> 2] + a | 0;
+   k = q[g + (j << 2) >> 2] + g | 0;
+  }
+  i = q[b + 4 >> 2];
+  h = -1;
+  g = -1;
+  o = q[b + 12 >> 2] + b | 0;
+  f : {
+   g : {
+    if (o) {
+     e = i + -1 | 0;
+     h : {
+      i : {
+       if ((i | 0) < 1) {
+        f = e;
+        break i;
+       }
+       while (1) {
+        f = e >> 1;
+        g = f;
+        if (!s[o + (e & -2) >> 1]) {
+         break h;
+        }
+        g = (e | 0) > 1;
+        f = f + -1 | 0;
+        e = f;
+        if (g) {
+         continue;
+        }
+        break;
+       }
+      }
+      g = (f >>> 31 | 0) + f ^ -1;
+     }
+     e = 0;
+     if ((g | 0) > -1) {
+      break g;
+     }
+    }
+    e = g ^ -1;
+    g = 0;
+    f = 0;
+    if ((e | 0) == (i | 0)) {
+     break f;
+    }
+    g = e;
+    e = s[o + (e << 1) >> 1] << 8;
+   }
+   h = e;
+   e = q[b + 8 >> 2] + b | 0;
+   f = q[e + (g << 2) >> 2] + e | 0;
+  }
+  while (1) {
+   j : {
+    k : {
+     if (!k) {
+      if (d) {
+       break k;
+      }
+      e = l;
+      break a;
+     }
+     break j;
+    }
+    e = l;
+    if (!f) {
+     break a;
+    }
+   }
+   l : {
+    if (m >>> 0 < h >>> 0) {
+     e = JR(l, m);
+     if (!e) {
+      break l;
+     }
+     i = q[k + 4 >> 2];
+     q[e >> 2] = q[k >> 2];
+     q[e + 4 >> 2] = i;
+     i = q[k + 28 >> 2];
+     q[e + 24 >> 2] = q[k + 24 >> 2];
+     q[e + 28 >> 2] = i;
+     i = q[k + 20 >> 2];
+     q[e + 16 >> 2] = q[k + 16 >> 2];
+     q[e + 20 >> 2] = i;
+     i = q[k + 12 >> 2];
+     q[e + 8 >> 2] = q[k + 8 >> 2];
+     q[e + 12 >> 2] = i;
+     k = 0;
+     m = -1;
+     e = j + 1 | 0;
+     if ((e | 0) >= q[a + 4 >> 2]) {
+      continue;
+     }
+     j = q[a + 8 >> 2] + a | 0;
+     k = q[j + (e << 2) >> 2] + j | 0;
+     m = s[(q[a + 12 >> 2] + a | 0) + (e << 1) >> 1] << 8;
+     j = e;
+     continue;
+    }
+    if (h >>> 0 < m >>> 0) {
+     if (d) {
+      e = JR(l, h);
+      if (!e) {
+       break l;
+      }
+      h = q[f + 4 >> 2];
+      q[e >> 2] = q[f >> 2];
+      q[e + 4 >> 2] = h;
+      h = q[f + 28 >> 2];
+      q[e + 24 >> 2] = q[f + 24 >> 2];
+      q[e + 28 >> 2] = h;
+      h = q[f + 20 >> 2];
+      q[e + 16 >> 2] = q[f + 16 >> 2];
+      q[e + 20 >> 2] = h;
+      h = q[f + 12 >> 2];
+      q[e + 8 >> 2] = q[f + 8 >> 2];
+      q[e + 12 >> 2] = h;
+      f = 0;
+      h = -1;
+      e = g + 1 | 0;
+      if ((e | 0) >= q[b + 4 >> 2]) {
+       continue;
+      }
+      g = q[b + 8 >> 2] + b | 0;
+      f = q[g + (e << 2) >> 2] + g | 0;
+      h = s[(q[b + 12 >> 2] + b | 0) + (e << 1) >> 1] << 8;
+      g = e;
+      continue;
+     }
+     o = q[b + 4 >> 2];
+     h = -1;
+     e = -1;
+     t = q[b + 12 >> 2] + b | 0;
+     m : {
+      if (t) {
+       u = m >>> 8 | 0;
+       f = o + -1 | 0;
+       i = 0;
+       n : {
+        if ((o | 0) >= 1) {
+         while (1) {
+          p = f + i | 0;
+          e = p >> 1;
+          p = s[(p & -2) + t >> 1];
+          v = u & 65535;
+          if ((p | 0) == (v | 0)) {
+           break n;
+          }
+          p = p >>> 0 < v >>> 0;
+          i = p ? e + 1 | 0 : i;
+          f = p ? f : e + -1 | 0;
+          if ((i | 0) <= (f | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        if (!((f | 0) >= (o | 0) | s[(f << 1) + t >> 1] >= (u & 65535) >>> 0 ? (f | 0) >= 0 : 0)) {
+         f = f + 1 | 0;
+        }
+        e = f ^ -1;
+       }
+       i = m;
+       if ((e | 0) > -1) {
+        break m;
+       }
+      }
+      f = 0;
+      e = e ^ -1;
+      if ((o | 0) == (e | 0)) {
+       continue;
+      }
+      i = s[(e << 1) + t >> 1] << 8;
+     }
+     g = q[b + 8 >> 2] + b | 0;
+     f = q[g + (e << 2) >> 2] + g | 0;
+     g = e;
+     h = i;
+     continue;
+    }
+    if (n[c](r, k, f)) {
+     h = JR(l, m);
+     if (!h) {
+      break l;
+     }
+     e = r;
+     f = q[e + 4 >> 2];
+     q[h >> 2] = q[e >> 2];
+     q[h + 4 >> 2] = f;
+     f = q[e + 28 >> 2];
+     q[h + 24 >> 2] = q[e + 24 >> 2];
+     q[h + 28 >> 2] = f;
+     f = q[e + 20 >> 2];
+     q[h + 16 >> 2] = q[e + 16 >> 2];
+     q[h + 20 >> 2] = f;
+     f = q[e + 12 >> 2];
+     q[h + 8 >> 2] = q[e + 8 >> 2];
+     q[h + 12 >> 2] = f;
+    }
+    f = 0;
+    h = -1;
+    m = -1;
+    k = 0;
+    e = j + 1 | 0;
+    if ((e | 0) < q[a + 4 >> 2]) {
+     j = q[a + 8 >> 2] + a | 0;
+     k = q[j + (e << 2) >> 2] + j | 0;
+     m = s[(q[a + 12 >> 2] + a | 0) + (e << 1) >> 1] << 8;
+     j = e;
+    }
+    e = g + 1 | 0;
+    if ((e | 0) >= q[b + 4 >> 2]) {
+     continue;
+    }
+    g = q[b + 8 >> 2] + b | 0;
+    f = q[g + (e << 2) >> 2] + g | 0;
+    h = s[(q[b + 12 >> 2] + b | 0) + (e << 1) >> 1] << 8;
+    g = e;
+    continue;
+   }
+   break;
+  }
+  IR(l);
+  e = 0;
+ }
+ Ca = r + 32 | 0;
+ return e;
+}
+function nF(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ g = b >>> 9 | 0;
+ f = q[a + 36 >> 2];
+ b = 0;
+ a : {
+  d = q[a + 24 >> 2];
+  b : {
+   c : {
+    if ((d | 0) >= 1) {
+     i = q[a + 28 >> 2];
+     e = d + -1 | 0;
+     while (1) {
+      c = b + e >>> 1 | 0;
+      h = g - q[(c << 3) + i >> 2] | 0;
+      d : {
+       if ((h | 0) <= -1) {
+        e = c + -1 | 0;
+        break d;
+       }
+       if (!h) {
+        b = c;
+        break c;
+       }
+       b = c + 1 | 0;
+      }
+      if ((b | 0) <= (e | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (r[a + 12 | 0] != 1) {
+     break b;
+    }
+    e : {
+     f : {
+      d = q[a + 32 >> 2];
+      g : {
+       if ((d | 0) < 0) {
+        break g;
+       }
+       c = f;
+       e = c + 1 | 0;
+       e = (e | 0) > 0 ? e : 0;
+       if (d >>> 0 < e >>> 0) {
+        c = d;
+        while (1) {
+         c = ((c >>> 1 | 0) + c | 0) + 8 | 0;
+         if (c >>> 0 <= e >>> 0) {
+          continue;
+         }
+         break;
+        }
+        h : {
+         if (!(c >>> 0 < d >>> 0 | c >>> 0 > 67108862)) {
+          d = O$(q[a + 40 >> 2], c << 6);
+          if (d) {
+           break h;
+          }
+         }
+         break a;
+        }
+        q[a + 32 >> 2] = c;
+        q[a + 40 >> 2] = d;
+        c = q[a + 36 >> 2];
+       }
+       if (e >>> 0 > c >>> 0) {
+        Z$(q[a + 40 >> 2] + (c << 6) | 0, 0, e - c << 6);
+       }
+       q[a + 36 >> 2] = e;
+       i : {
+        j : {
+         k : {
+          l : {
+           d = q[a + 20 >> 2];
+           if ((d | 0) >= 0) {
+            if (d >>> 0 >= e >>> 0) {
+             break k;
+            }
+            c = d;
+            while (1) {
+             c = ((c >>> 1 | 0) + c | 0) + 8 | 0;
+             if (c >>> 0 <= e >>> 0) {
+              continue;
+             }
+             break;
+            }
+            if (!(c >>> 0 < d >>> 0 | c >>> 0 > 536870910)) {
+             d = O$(q[a + 28 >> 2], c << 3);
+             if (d) {
+              break l;
+             }
+            }
+            q[a + 20 >> 2] = -1;
+           }
+           b = q[a + 32 >> 2];
+           if ((b | 0) < 0) {
+            break g;
+           }
+           c = q[a + 24 >> 2];
+           f = (c | 0) > 0 ? c : 0;
+           if (b >>> 0 >= f >>> 0) {
+            break i;
+           }
+           c = b;
+           while (1) {
+            c = ((c >>> 1 | 0) + c | 0) + 8 | 0;
+            if (c >>> 0 <= f >>> 0) {
+             continue;
+            }
+            break;
+           }
+           if (!(c >>> 0 < b >>> 0 | c >>> 0 > 67108862)) {
+            b = O$(q[a + 40 >> 2], c << 6);
+            if (b) {
+             break j;
+            }
+           }
+           break a;
+          }
+          q[a + 20 >> 2] = c;
+          q[a + 28 >> 2] = d;
+         }
+         c = q[a + 24 >> 2];
+         if (e >>> 0 > c >>> 0) {
+          Z$(q[a + 28 >> 2] + (c << 3) | 0, 0, e - c << 3);
+         }
+         q[a + 24 >> 2] = e;
+         if (t[a + 36 >> 2] > f >>> 0) {
+          break f;
+         }
+         c = q[67775];
+         q[160670] = q[67774];
+         q[160671] = c;
+         c = q[67773];
+         q[160668] = q[67772];
+         q[160669] = c;
+         c = q[67771];
+         q[160666] = q[67770];
+         q[160667] = c;
+         c = q[67769];
+         q[160664] = q[67768];
+         q[160665] = c;
+         c = q[67767];
+         q[160662] = q[67766];
+         q[160663] = c;
+         c = q[67765];
+         q[160660] = q[67764];
+         q[160661] = c;
+         c = q[67763];
+         q[160658] = q[67762];
+         q[160659] = c;
+         c = q[67761];
+         q[160656] = q[67760];
+         q[160657] = c;
+         c = 642624;
+         break e;
+        }
+        q[a + 32 >> 2] = c;
+        q[a + 40 >> 2] = b;
+       }
+       b = q[a + 36 >> 2];
+       if (f >>> 0 > b >>> 0) {
+        Z$(q[a + 40 >> 2] + (b << 6) | 0, 0, f - b << 6);
+       }
+       q[a + 36 >> 2] = f;
+      }
+      o[a + 12 | 0] = 0;
+      return 0;
+     }
+     c = q[a + 40 >> 2] + (f << 6) | 0;
+    }
+    q[c >> 2] = 0;
+    q[c + 4 >> 2] = 0;
+    q[c + 56 >> 2] = 0;
+    q[c + 60 >> 2] = 0;
+    q[c + 48 >> 2] = 0;
+    q[c + 52 >> 2] = 0;
+    q[c + 40 >> 2] = 0;
+    q[c + 44 >> 2] = 0;
+    q[c + 32 >> 2] = 0;
+    q[c + 36 >> 2] = 0;
+    q[c + 24 >> 2] = 0;
+    q[c + 28 >> 2] = 0;
+    q[c + 16 >> 2] = 0;
+    q[c + 20 >> 2] = 0;
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    c = b << 3;
+    d = c + q[a + 28 >> 2] | 0;
+    _$(d + 8 | 0, d, q[a + 24 >> 2] + (b ^ -1) << 3);
+    m : {
+     if (t[a + 24 >> 2] <= b >>> 0) {
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      c = 642624;
+      break m;
+     }
+     c = c + q[a + 28 >> 2] | 0;
+    }
+    q[c >> 2] = g;
+    q[c + 4 >> 2] = f;
+    d = q[a + 24 >> 2];
+   }
+   n : {
+    if (d >>> 0 <= b >>> 0) {
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     b = c;
+     break n;
+    }
+    b = q[(q[a + 28 >> 2] + (b << 3) | 0) + 4 >> 2];
+   }
+   if (t[a + 36 >> 2] <= b >>> 0) {
+    a = q[67775];
+    q[160670] = q[67774];
+    q[160671] = a;
+    a = q[67773];
+    q[160668] = q[67772];
+    q[160669] = a;
+    a = q[67771];
+    q[160666] = q[67770];
+    q[160667] = a;
+    a = q[67769];
+    q[160664] = q[67768];
+    q[160665] = a;
+    a = q[67767];
+    q[160662] = q[67766];
+    q[160663] = a;
+    a = q[67765];
+    q[160660] = q[67764];
+    q[160661] = a;
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    return 642624;
+   }
+   j = q[a + 40 >> 2] + (b << 6) | 0;
+  }
+  return j;
+ }
+ q[a + 32 >> 2] = -1;
+ o[a + 12 | 0] = 0;
+ return 0;
+}
+function PN(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ a : {
+  if (b) {
+   d = p[b + 2 >> 1];
+   if (d) {
+    break a;
+   }
+  }
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  q[a + 16 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+  return 1;
+ }
+ c = L$(d << 4);
+ q[a + 16 >> 2] = c;
+ e = L$(d);
+ q[a + 20 >> 2] = e;
+ b : {
+  c : {
+   if (!(e ? c : 0)) {
+    M$(c);
+    M$(q[a + 20 >> 2]);
+    q[a + 16 >> 2] = 0;
+    q[a + 20 >> 2] = 0;
+    q[a + 8 >> 2] = 0;
+    q[a + 12 >> 2] = 0;
+    q[a >> 2] = 0;
+    q[a + 4 >> 2] = 0;
+    break c;
+   }
+   q[a + 12 >> 2] = d;
+   q[a + 8 >> 2] = 0;
+   q[a >> 2] = 0;
+   c = 1;
+   q[a + 4 >> 2] = d << 1;
+   f = s[b >> 1];
+   if (!f) {
+    break b;
+   }
+   e = 0;
+   d : {
+    while (1) {
+     e : {
+      h = p[q[b + 12 >> 2] + (k << 1) >> 1];
+      if (e >>> 0 > h >>> 0 | (h | 0) >= p[b + 2 >> 1]) {
+       break e;
+      }
+      f : {
+       if (h - e >>> 0 <= 1) {
+        e = h + 1 | 0;
+        break f;
+       }
+       d = q[b + 8 >> 2];
+       f = r[d + e | 0] & 3;
+       if (f >>> 0 > 1) {
+        break e;
+       }
+       l = 0;
+       c = 0;
+       if (f - 1) {
+        l = 1;
+        d = r[d + h | 0] & 3;
+        if (d >>> 0 > 1) {
+         break e;
+        }
+        g = q[b + 4 >> 2];
+        c = g + (h << 3) | 0;
+        f = 0 - q[c + 4 >> 2] | 0;
+        c = q[c >> 2];
+        if (d - 1) {
+         d = g + (e << 3) | 0;
+         f = f - q[d + 4 >> 2] >> 1;
+         l = 0;
+         c = q[d >> 2] + c >> 1;
+        }
+        d = q[a >> 2];
+        q[a >> 2] = d + 1;
+        d = q[a + 16 >> 2] + (d << 3) | 0;
+        q[d + 4 >> 2] = f;
+        q[d >> 2] = c;
+        c = 1;
+       }
+       d = q[b + 4 >> 2] + (e << 3) | 0;
+       f = q[d >> 2];
+       d = q[d + 4 >> 2];
+       g = q[a >> 2];
+       q[a >> 2] = g + 1;
+       i = q[a + 16 >> 2] + (g << 3) | 0;
+       g = 0 - d | 0;
+       q[i + 4 >> 2] = g;
+       q[i >> 2] = f;
+       e = e + 1 | 0;
+       if (e >>> 0 <= h >>> 0) {
+        while (1) {
+         d = r[q[b + 8 >> 2] + e | 0] & 3;
+         if (d >>> 0 > 2) {
+          break d;
+         }
+         g : {
+          h : {
+           switch (d - 1 | 0) {
+           case 0:
+            if (c >>> 0 > 3) {
+             break d;
+            }
+            i : {
+             switch (c - 1 | 0) {
+             default:
+              c = q[a + 8 >> 2];
+              q[a + 8 >> 2] = c + 1;
+              o[c + q[a + 20 >> 2] | 0] = 1;
+              c = 0;
+              break g;
+             case 0:
+              c = q[a + 8 >> 2];
+              q[a + 8 >> 2] = c + 1;
+              o[c + q[a + 20 >> 2] | 0] = 2;
+              c = 0;
+              break g;
+             case 2:
+              break i;
+             case 1:
+              break d;
+             }
+            }
+            c = q[a + 8 >> 2];
+            q[a + 8 >> 2] = c + 1;
+            o[c + q[a + 20 >> 2] | 0] = 3;
+            c = 0;
+            break g;
+           default:
+            if (c >>> 0 > 1) {
+             break d;
+            }
+            d = c;
+            c = 1;
+            if (d - 1) {
+             break g;
+            }
+            d = q[a + 8 >> 2];
+            q[a + 8 >> 2] = d + 1;
+            o[d + q[a + 20 >> 2] | 0] = 2;
+            d = q[b + 4 >> 2] + (e << 3) | 0;
+            i = q[d >> 2];
+            d = q[d + 4 >> 2];
+            j = q[a >> 2];
+            q[a >> 2] = j + 1;
+            j = q[a + 16 >> 2] + (j << 3) | 0;
+            q[j + 4 >> 2] = g - d >> 1;
+            q[j >> 2] = f + i >> 1;
+            break g;
+           case 1:
+            break h;
+           }
+          }
+          if (c >>> 0 > 2) {
+           break e;
+          }
+          d = c;
+          c = 2;
+          j : {
+           switch (d - 1 | 0) {
+           case 1:
+            break j;
+           case 0:
+            break e;
+           default:
+            break g;
+           }
+          }
+          c = 3;
+         }
+         d = q[b + 4 >> 2] + (e << 3) | 0;
+         f = q[d >> 2];
+         d = q[d + 4 >> 2];
+         g = q[a >> 2];
+         q[a >> 2] = g + 1;
+         i = q[a + 16 >> 2] + (g << 3) | 0;
+         g = 0 - d | 0;
+         q[i + 4 >> 2] = g;
+         q[i >> 2] = f;
+         e = e + 1 | 0;
+         if (e >>> 0 <= h >>> 0) {
+          continue;
+         }
+         break;
+        }
+       }
+       if (c >>> 0 > 3) {
+        break d;
+       }
+       k : {
+        l : {
+         switch (c - 1 | 0) {
+         default:
+          if (l) {
+           q[a >> 2] = q[a >> 2] + -1;
+           break k;
+          }
+          c = q[a + 8 >> 2];
+          q[a + 8 >> 2] = c + 1;
+          o[c + q[a + 20 >> 2] | 0] = 1;
+          break k;
+         case 0:
+          c = q[a + 8 >> 2];
+          q[a + 8 >> 2] = c + 1;
+          o[c + q[a + 20 >> 2] | 0] = 2;
+          break k;
+         case 2:
+          break l;
+         case 1:
+          break d;
+         }
+        }
+        c = q[a + 8 >> 2];
+        q[a + 8 >> 2] = c + 1;
+        o[c + q[a + 20 >> 2] | 0] = 3;
+       }
+       c = (q[a + 8 >> 2] + q[a + 20 >> 2] | 0) + -1 | 0;
+       o[c | 0] = r[c | 0] | 4;
+       f = s[b >> 1];
+      }
+      c = 1;
+      k = k + 1 | 0;
+      if (k >>> 0 < f << 16 >> 16 >>> 0) {
+       continue;
+      }
+      break b;
+     }
+     break;
+    }
+    if (!a) {
+     break c;
+    }
+   }
+   M$(q[a + 16 >> 2]);
+   M$(q[a + 20 >> 2]);
+   q[a + 16 >> 2] = 0;
+   q[a + 20 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+   q[a + 12 >> 2] = 0;
+   q[a >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+  }
+  c = 0;
+ }
+ return c;
+}
+function zd(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0;
+ e = Ca - 48 | 0;
+ Ca = e;
+ l = mZ(q[a + 28 >> 2]);
+ a : {
+  if (!q[a >> 2]) {
+   f = q[a + 4 >> 2];
+   if ((f | 0) <= -1) {
+    break a;
+   }
+   h = a;
+   b : {
+    if (f) {
+     f = q[a + 16 >> 2];
+     d = 0;
+     break b;
+    }
+    q[a + 4 >> 2] = 20;
+    f = O$(q[a + 16 >> 2], 2880);
+    q[a + 16 >> 2] = f;
+    d = q[a >> 2];
+   }
+   q[h >> 2] = d + 1;
+   h = f;
+   f = w(d, 144);
+   Z$(h + f | 0, 0, 144);
+   f = f + q[a + 16 >> 2] | 0;
+   n = f, p = mZ(2498), q[n >> 2] = p;
+   h = mZ(2506);
+   q[f + 116 >> 2] = 20;
+   q[f + 104 >> 2] = 2;
+   q[f + 96 >> 2] = 0;
+   q[f + 100 >> 2] = 1074266112;
+   q[f + 88 >> 2] = 0;
+   q[f + 92 >> 2] = 1073741824;
+   q[f + 80 >> 2] = 1;
+   q[f + 64 >> 2] = 0;
+   q[f + 68 >> 2] = 0;
+   q[f + 56 >> 2] = 0;
+   q[f + 60 >> 2] = 1072693248;
+   q[f + 48 >> 2] = 0;
+   q[f + 52 >> 2] = 1072693248;
+   q[f + 32 >> 2] = 200;
+   q[f + 24 >> 2] = 0;
+   q[f + 28 >> 2] = 128;
+   q[f + 16 >> 2] = -256;
+   q[f + 20 >> 2] = 16776960;
+   q[f + 8 >> 2] = 0;
+   q[f + 12 >> 2] = 1077018624;
+   q[f + 4 >> 2] = h;
+   q[f + 108 >> 2] = 20;
+   q[f + 112 >> 2] = 20;
+   q[a + 76 >> 2] = d;
+  }
+  q[e + 44 >> 2] = l;
+  Nd(e + 44 | 0);
+  g = q[e + 44 >> 2];
+  d = r[g | 0];
+  c : {
+   if (!d) {
+    break c;
+   }
+   while (1) {
+    f = g;
+    d : {
+     while (1) {
+      if (!d) {
+       break d;
+      }
+      if ((d | 0) != 44) {
+       h = f + 1 | 0;
+       q[e + 44 >> 2] = h;
+       d = r[f + 1 | 0];
+       f = h;
+       continue;
+      }
+      break;
+     }
+     o[f | 0] = 0;
+     f = q[e + 44 >> 2] + 1 | 0;
+    }
+    Od(e + 44 | 0, g);
+    o[q[e + 44 >> 2]] = 0;
+    if (!be(g, 2900)) {
+     a = mZ(c);
+     q[b + 48 >> 2] = a;
+     e : {
+      if (!r[a | 0]) {
+       break e;
+      }
+      c = (g0(a) + a | 0) + -1 | 0;
+      if (c >>> 0 < a >>> 0 | r[c | 0] != 13) {
+       break e;
+      }
+      o[c | 0] = 0;
+     }
+     a = q[b + 8 >> 2];
+     c = q[b >> 2];
+     f = q[b + 12 >> 2] - (q[b + 4 >> 2] + (a >>> 0 < c >>> 0) | 0) | 0;
+     q[b + 8 >> 2] = a - c;
+     q[b + 12 >> 2] = f;
+     break c;
+    }
+    q[e + 44 >> 2] = c;
+    Nd(e + 44 | 0);
+    i = q[e + 44 >> 2];
+    c = i;
+    d = r[i | 0];
+    if (!d) {
+     break c;
+    }
+    f : {
+     while (1) {
+      if (!d) {
+       break f;
+      }
+      if ((d | 0) != 44) {
+       h = c + 1 | 0;
+       q[e + 44 >> 2] = h;
+       d = r[c + 1 | 0];
+       c = h;
+       continue;
+      }
+      break;
+     }
+     o[c | 0] = 0;
+     c = q[e + 44 >> 2] + 1 | 0;
+    }
+    Od(e + 44 | 0, i);
+    o[q[e + 44 >> 2]] = 0;
+    d = be(g, 2905) ? g : 2909;
+    g : {
+     if (!be(d, 2918)) {
+      n = b, p = T_(i), q[n + 20 >> 2] = p;
+      break g;
+     }
+     if (!be(d, 2924)) {
+      n = b, p = $d(a, i), q[n + 24 >> 2] = p;
+      break g;
+     }
+     if (!be(d, 2493)) {
+      d = q[b + 28 >> 2];
+      if (d) {
+       M$(d);
+      }
+      n = b, p = mZ(i), q[n + 28 >> 2] = p;
+      break g;
+     }
+     if (!be(d, 2930)) {
+      d = q[b + 44 >> 2];
+      if (d) {
+       M$(d);
+      }
+      n = b, p = mZ(i), q[n + 44 >> 2] = p;
+      break g;
+     }
+     if (!be(d, 1487)) {
+      n = b, p = T_(i), q[n + 32 >> 2] = p;
+      break g;
+     }
+     if (!be(d, 1495)) {
+      n = b, p = T_(i), q[n + 36 >> 2] = p;
+      break g;
+     }
+     if (!be(d, 1503)) {
+      n = b, p = T_(i), q[n + 40 >> 2] = p;
+      break g;
+     }
+     if (!be(d, 2937)) {
+      d = q[a + 84 >> 2];
+      q[e >> 2] = e + 44;
+      q[e + 4 >> 2] = e + 40;
+      q[e + 8 >> 2] = e + 36;
+      q[e + 12 >> 2] = e + 32;
+      if ((E_(i, e) | 0) <= 3) {
+       Yd(d, 2, 2955, 0);
+       q[b >> 2] = 0;
+       q[b + 4 >> 2] = 0;
+       break g;
+      }
+      d = b;
+      h = q[e + 36 >> 2];
+      g = h;
+      i = g >> 31;
+      k = g;
+      h = q[e + 40 >> 2];
+      g = q[e + 44 >> 2];
+      j = T0(g, g >> 31, 60, 0);
+      g = h + j | 0;
+      h = Ea + (h >> 31) | 0;
+      j = T0(g, g >>> 0 < j >>> 0 ? h + 1 | 0 : h, 60, 0);
+      h = k + j | 0;
+      g = Ea + i | 0;
+      g = T0(h, h >>> 0 < j >>> 0 ? g + 1 | 0 : g, 1e3, 0);
+      i = Ea;
+      d = q[e + 32 >> 2];
+      j = T0(d, d >> 31, 10, 0);
+      g = j + g | 0;
+      d = Ea + i | 0;
+      q[b >> 2] = g;
+      q[b + 4 >> 2] = g >>> 0 < j >>> 0 ? d + 1 | 0 : d;
+      break g;
+     }
+     if (be(d, 2909)) {
+      break g;
+     }
+     d = q[a + 84 >> 2];
+     q[e + 16 >> 2] = e + 44;
+     q[e + 20 >> 2] = e + 40;
+     q[e + 24 >> 2] = e + 36;
+     q[e + 28 >> 2] = e + 32;
+     h = b;
+     m = b;
+     h : {
+      if ((E_(i, e + 16 | 0) | 0) <= 3) {
+       Yd(d, 2, 2955, 0);
+       d = 0;
+       g = 0;
+       break h;
+      }
+      d = q[e + 36 >> 2];
+      i = d >> 31;
+      k = d;
+      d = q[e + 40 >> 2];
+      g = q[e + 44 >> 2];
+      j = T0(g, g >> 31, 60, 0);
+      g = d + j | 0;
+      d = Ea + (d >> 31) | 0;
+      j = T0(g, g >>> 0 < j >>> 0 ? d + 1 | 0 : d, 60, 0);
+      d = k + j | 0;
+      g = Ea + i | 0;
+      d = T0(d, d >>> 0 < j >>> 0 ? g + 1 | 0 : g, 1e3, 0);
+      i = Ea;
+      g = d;
+      d = q[e + 32 >> 2];
+      j = T0(d, d >> 31, 10, 0);
+      g = g + j | 0;
+      d = Ea + i | 0;
+      d = g >>> 0 < j >>> 0 ? d + 1 | 0 : d;
+     }
+     q[m + 8 >> 2] = g;
+     q[h + 12 >> 2] = d;
+    }
+    q[e + 44 >> 2] = f;
+    Nd(e + 44 | 0);
+    g = q[e + 44 >> 2];
+    d = r[g | 0];
+    if (d) {
+     continue;
+    }
+    break;
+   }
+  }
+  M$(l);
+  Ca = e + 48 | 0;
+  return;
+ }
+ J(1149, 1186, 104, 1192);
+ F();
+}
+function BI(a, b, c, d, e, f, g) {
+ var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, r = 0, s = 0;
+ o = g ? a + 1032 | 0 : a;
+ q[o >> 2] = 0;
+ l = g ? a + 1548 | 0 : a + 516 | 0;
+ q[l >> 2] = 0;
+ if (b >>> 0 >= 2) {
+  while (1) {
+   a : {
+    if (!(h & 1)) {
+     n = p[c + 2 >> 1];
+     s = 0;
+     i = c;
+     h = j;
+     g = l;
+     break a;
+    }
+    i = c + 2 | 0;
+    n = p[c >> 1];
+    s = 1;
+    h = m;
+    g = o;
+   }
+   a = g + 4 | 0;
+   k = p[i >> 1] - n | 0;
+   b : {
+    c : {
+     if (!h) {
+      break c;
+     }
+     g = (g + (h << 5) | 0) + 4 | 0;
+     d : {
+      while (1) {
+       i = q[a >> 2];
+       if ((n | 0) < (i | 0)) {
+        break d;
+       }
+       if ((i | 0) == (n | 0)) {
+        g = q[a + 4 >> 2];
+        if ((k | 0) <= -1) {
+         if ((k | 0) >= (g | 0)) {
+          break b;
+         }
+         q[a + 4 >> 2] = k;
+         break b;
+        }
+        if ((k | 0) <= (g | 0)) {
+         break b;
+        }
+        q[a + 4 >> 2] = k;
+        break b;
+       }
+       a = a + 32 | 0;
+       h = h + -1 | 0;
+       if (h) {
+        continue;
+       }
+       break;
+      }
+      a = g;
+      break c;
+     }
+     while (1) {
+      g = (h << 5) + a | 0;
+      h = h + -1 | 0;
+      i = (h << 5) + a | 0;
+      r = q[i + 4 >> 2];
+      q[g >> 2] = q[i >> 2];
+      q[g + 4 >> 2] = r;
+      r = q[i + 28 >> 2];
+      q[g + 24 >> 2] = q[i + 24 >> 2];
+      q[g + 28 >> 2] = r;
+      r = q[i + 20 >> 2];
+      q[g + 16 >> 2] = q[i + 16 >> 2];
+      q[g + 20 >> 2] = r;
+      r = q[i + 12 >> 2];
+      q[g + 8 >> 2] = q[i + 8 >> 2];
+      q[g + 12 >> 2] = r;
+      if (h) {
+       continue;
+      }
+      break;
+     }
+    }
+    q[a + 4 >> 2] = k;
+    q[a >> 2] = n;
+    if (s) {
+     m = m + 1 | 0;
+     break b;
+    }
+    j = j + 1 | 0;
+   }
+   c = c + 4 | 0;
+   h = 1;
+   b = b + -2 | 0;
+   if (b >>> 0 > 1) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[o >> 2] = m;
+ q[l >> 2] = j;
+ if (d >>> 0 >= 2) {
+  b = l + 4 | 0;
+  while (1) {
+   n = p[e + 2 >> 1];
+   k = p[e >> 1] - n | 0;
+   i = b;
+   e : {
+    f : {
+     if (!j) {
+      break f;
+     }
+     i = ((j << 5) + l | 0) + 4 | 0;
+     a = b;
+     h = j;
+     while (1) {
+      c = q[a >> 2];
+      if ((c | 0) <= (n | 0)) {
+       if ((c | 0) == (n | 0)) {
+        c = q[a + 4 >> 2];
+        if ((k | 0) <= -1) {
+         if ((k | 0) >= (c | 0)) {
+          break e;
+         }
+         q[a + 4 >> 2] = k;
+         break e;
+        }
+        if ((k | 0) <= (c | 0)) {
+         break e;
+        }
+        q[a + 4 >> 2] = k;
+        break e;
+       }
+       a = a + 32 | 0;
+       h = h + -1 | 0;
+       if (h) {
+        continue;
+       }
+       break f;
+      }
+      break;
+     }
+     while (1) {
+      c = (h << 5) + a | 0;
+      h = h + -1 | 0;
+      g = (h << 5) + a | 0;
+      i = q[g + 4 >> 2];
+      q[c >> 2] = q[g >> 2];
+      q[c + 4 >> 2] = i;
+      i = q[g + 28 >> 2];
+      q[c + 24 >> 2] = q[g + 24 >> 2];
+      q[c + 28 >> 2] = i;
+      i = q[g + 20 >> 2];
+      q[c + 16 >> 2] = q[g + 16 >> 2];
+      q[c + 20 >> 2] = i;
+      i = q[g + 12 >> 2];
+      q[c + 8 >> 2] = q[g + 8 >> 2];
+      q[c + 12 >> 2] = i;
+      if (h) {
+       continue;
+      }
+      break;
+     }
+     i = a;
+    }
+    q[i + 4 >> 2] = k;
+    q[i >> 2] = n;
+    j = j + 1 | 0;
+   }
+   e = e + 4 | 0;
+   d = d + -2 | 0;
+   if (d >>> 0 > 1) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[o >> 2] = m;
+ q[l >> 2] = j;
+ g : {
+  if (!m) {
+   break g;
+  }
+  h = o + 4 | 0;
+  a = m;
+  while (1) {
+   h : {
+    if (a >>> 0 <= 1) {
+     if (a - 1) {
+      break g;
+     }
+     i = q[h + 4 >> 2];
+     g = q[h >> 2];
+     break h;
+    }
+    b = q[h + 4 >> 2];
+    g = q[h >> 2];
+    i = q[h + 32 >> 2] - g | 0;
+    if ((b | 0) <= (i | 0)) {
+     i = b;
+     break h;
+    }
+    q[h + 4 >> 2] = i;
+   }
+   q[h + 12 >> 2] = g;
+   q[h + 8 >> 2] = g + i;
+   h = h + 32 | 0;
+   a = a + -1 | 0;
+   continue;
+  }
+ }
+ i : {
+  if (!j) {
+   break i;
+  }
+  h = l + 4 | 0;
+  a = j;
+  while (1) {
+   j : {
+    if (a >>> 0 <= 1) {
+     if (a - 1) {
+      break i;
+     }
+     i = q[h + 4 >> 2];
+     g = q[h >> 2];
+     break j;
+    }
+    b = q[h + 4 >> 2];
+    g = q[h >> 2];
+    i = g - q[h + 32 >> 2] | 0;
+    if ((b | 0) >= (i | 0)) {
+     i = b;
+     break j;
+    }
+    q[h + 4 >> 2] = i;
+   }
+   q[h + 8 >> 2] = g;
+   q[h + 12 >> 2] = g + i;
+   h = h + 32 | 0;
+   a = a + -1 | 0;
+   continue;
+  }
+ }
+ if (m) {
+  h = o + 4 | 0;
+  a = o + 16 | 0;
+  q[a >> 2] = q[a >> 2] - f;
+  a = q[o + 12 >> 2];
+  g = m + -1 | 0;
+  k : {
+   if (!g) {
+    b = h;
+    break k;
+   }
+   b = ((m << 5) + o | 0) + -28 | 0;
+   while (1) {
+    c = h + 44 | 0;
+    d = q[c >> 2];
+    e = (d - a | 0) / 2 | 0;
+    i = e + a | 0;
+    m = a + f | 0;
+    a = (e | 0) < (f | 0);
+    q[h + 8 >> 2] = a ? i : m;
+    q[c >> 2] = a ? i : d - f | 0;
+    a = q[h + 40 >> 2];
+    h = h + 32 | 0;
+    g = g + -1 | 0;
+    if (g) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[b + 8 >> 2] = a + f;
+ }
+ if (j) {
+  h = l + 4 | 0;
+  a = l + 16 | 0;
+  q[a >> 2] = q[a >> 2] - f;
+  a = q[l + 12 >> 2];
+  g = j + -1 | 0;
+  l : {
+   if (!g) {
+    e = h;
+    break l;
+   }
+   e = ((j << 5) + l | 0) + -28 | 0;
+   while (1) {
+    b = h + 44 | 0;
+    c = q[b >> 2];
+    d = (c - a | 0) / 2 | 0;
+    i = d + a | 0;
+    j = a + f | 0;
+    a = (d | 0) < (f | 0);
+    q[h + 8 >> 2] = a ? i : j;
+    q[b >> 2] = a ? i : c - f | 0;
+    a = q[h + 40 >> 2];
+    h = h + 32 | 0;
+    g = g + -1 | 0;
+    if (g) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[e + 8 >> 2] = a + f;
+ }
+}
+function BD(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, G = 0, H = 0;
+ a : {
+  b : {
+   c : {
+    if (!(o[b + 35 | 0] & 1)) {
+     break c;
+    }
+    G = q[c + 20 >> 2] > -1 ? 1 : -1;
+    while (1) {
+     A = q[b + 76 >> 2];
+     D = A + C | 0;
+     d : {
+      if (!A) {
+       k = D;
+       break d;
+      }
+      u = q[b + 96 >> 2];
+      p = q[b + 88 >> 2];
+      k = D;
+      a = A;
+      while (1) {
+       v = 0;
+       i = 0;
+       f = 0;
+       d = a;
+       h = w(d + -1 | 0, 20);
+       g = h + p | 0;
+       e : {
+        if ((r[g + 18 | 0] & 254) != 8) {
+         if ((x | 0) != 1) {
+          break e;
+         }
+         d = q[g + 4 >> 2];
+         k = k + -1 | 0;
+         f = w(k, 20);
+         j = f + p | 0;
+         e = j;
+         q[e >> 2] = q[g >> 2];
+         q[e + 4 >> 2] = d;
+         q[e + 16 >> 2] = q[g + 16 >> 2];
+         d = q[g + 12 >> 2];
+         q[e + 8 >> 2] = q[g + 8 >> 2];
+         q[e + 12 >> 2] = d;
+         e = f + u | 0;
+         f = h + u | 0;
+         q[e + 16 >> 2] = q[f + 16 >> 2];
+         d = q[f + 12 >> 2];
+         q[e + 8 >> 2] = q[f + 8 >> 2];
+         q[e + 12 >> 2] = d;
+         d = q[f + 4 >> 2];
+         q[e >> 2] = q[f >> 2];
+         q[e + 4 >> 2] = d;
+         break e;
+        }
+        f : {
+         while (1) {
+          e = d + -1 | 0;
+          h = w(e, 20) + p | 0;
+          if ((r[h + 18 | 0] & 254) == 8) {
+           j = 0;
+           d = q[c + 72 >> 2];
+           g = n[q[d + 168 >> 2]](c, q[c + 76 >> 2], q[h >> 2], q[d + 32 >> 2]) | 0;
+           h = r[h + 18 | 0];
+           d = (h | 0) == 8;
+           v = (d ? g : 0) + v | 0;
+           f = (d ? 0 : g) + f | 0;
+           i = ((h | 0) != 8) + i | 0;
+           l = 0;
+           h = 0;
+           d = e;
+           if (e) {
+            continue;
+           }
+           break f;
+          }
+          break;
+         }
+         h = d;
+         l = 0;
+         g : {
+          while (1) {
+           e = h + -1 | 0;
+           g = w(e, 20);
+           y = g + p | 0;
+           if ((r[y + 18 | 0] & 254) == 8) {
+            break g;
+           }
+           j = s[y + 16 >> 1];
+           if (1 << (j & 31) & 125893836 ? 0 : !(r[y + 12 | 0] & 32 ? 0 : j & 32)) {
+            break g;
+           }
+           l = q[g + u >> 2] + l | 0;
+           h = e;
+           if (e) {
+            continue;
+           }
+           break;
+          }
+          h = 0;
+         }
+         j = d;
+        }
+        g = w(l - v | 0, G);
+        H = 0;
+        e = w(f, G);
+        d = 0;
+        h : {
+         if ((e | 0) < 1) {
+          break h;
+         }
+         d = 0;
+         if ((g | 0) <= (e | 0)) {
+          break h;
+         }
+         d = ((g | 0) / (e | 0) | 0) + -1 | 0;
+        }
+        i : {
+         if ((i | 0) < 1) {
+          f = d;
+          break i;
+         }
+         f = d + 1 | 0;
+         if ((g | 0) <= (w(e, f) | 0)) {
+          f = d;
+          break i;
+         }
+         d = w(e, d + 2 | 0) - g | 0;
+         if ((d | 0) < 1) {
+          break i;
+         }
+         H = (d | 0) / (w(f, i) | 0) | 0;
+        }
+        d = j + 1 | 0;
+        if (!x) {
+         C = w(f, i) + C | 0;
+         a = d;
+         break e;
+        }
+        if (a - h >>> 0 >= 2) {
+         DG(b, h, a);
+        }
+        if (a >>> 0 <= j >>> 0) {
+         a = d;
+         break e;
+        }
+        v = f + 1 | 0;
+        l = 0;
+        while (1) {
+         a = a + -1 | 0;
+         h = w(a, 20);
+         m = h + p | 0;
+         f = q[c + 72 >> 2];
+         y = n[q[f + 168 >> 2]](c, q[c + 76 >> 2], q[m >> 2], q[f + 32 >> 2]) | 0;
+         i = r[m + 18 | 0] == 9 ? v : 1;
+         if (i) {
+          B = h + u | 0;
+          E = B + 8 | 0;
+          h = 0;
+          f = k;
+          while (1) {
+           l = (l - y | 0) + (h ? H : 0) | 0;
+           q[E >> 2] = l;
+           f = f + -1 | 0;
+           g = w(f, 20);
+           z = g + p | 0;
+           q[z + 16 >> 2] = q[m + 16 >> 2];
+           e = q[m + 12 >> 2];
+           q[z + 8 >> 2] = q[m + 8 >> 2];
+           q[z + 12 >> 2] = e;
+           e = q[m + 4 >> 2];
+           q[z >> 2] = q[m >> 2];
+           q[z + 4 >> 2] = e;
+           g = g + u | 0;
+           q[g + 16 >> 2] = q[B + 16 >> 2];
+           e = q[E + 4 >> 2];
+           q[g + 8 >> 2] = q[E >> 2];
+           q[g + 12 >> 2] = e;
+           e = q[B + 4 >> 2];
+           q[g >> 2] = q[B >> 2];
+           q[g + 4 >> 2] = e;
+           h = h + 1 | 0;
+           if ((i | 0) != (h | 0)) {
+            continue;
+           }
+           break;
+          }
+          k = k - i | 0;
+         }
+         if (a >>> 0 > j >>> 0) {
+          continue;
+         }
+         break;
+        }
+        a = d;
+       }
+       a = a + -1 | 0;
+       if (a) {
+        continue;
+       }
+       break;
+      }
+     }
+     j : {
+      if (!x) {
+       a = C + A | 0;
+       if (!a | t[b + 84 >> 2] > a >>> 0) {
+        break j;
+       }
+       if (oG(b, a)) {
+        break j;
+       }
+       break c;
+      }
+      if (k) {
+       break b;
+      }
+      q[b + 76 >> 2] = D;
+     }
+     x = x + 1 | 0;
+     if ((x | 0) != 2) {
+      continue;
+     }
+     break;
+    }
+   }
+   a = r[b + 164 | 0];
+   if (!(a & 64)) {
+    break a;
+   }
+   o[b + 164 | 0] = a & 191;
+   return;
+  }
+  J(254884, 254891, 590, 254921);
+  F();
+ }
+ J(254947, 251608, 160, 254932);
+ F();
+}
+function Ue(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ f = q[a >> 2];
+ a : {
+  b : {
+   e = Se(a);
+   if (e) {
+    break b;
+   }
+   h = p[a + 58 >> 1] + (p[a + 22 >> 1] + b | 0) | 0;
+   b = q[a + 4 >> 2];
+   if (h >>> 0 > b >>> 0) {
+    e = 10;
+    g = h + 7 | 0;
+    h = g & -8;
+    if (h >>> 0 > 32767) {
+     break b;
+    }
+    d = 6;
+    if ((b | g) < 0) {
+     break a;
+    }
+    d = q[a + 24 >> 2];
+    c : {
+     d : {
+      e : {
+       if (!h) {
+        if (d) {
+         n[q[f + 8 >> 2]](f, d);
+        }
+        g = 0;
+        q[a + 24 >> 2] = 0;
+        e = a + 28 | 0;
+        d = q[e >> 2];
+        if (!d) {
+         break e;
+        }
+        n[q[f + 8 >> 2]](f, d);
+        q[e >> 2] = 0;
+        break c;
+       }
+       i = (h | 0) <= (b | 0);
+       j = i;
+       f : {
+        if (!b) {
+         e = n[q[f + 4 >> 2]](f, h << 3) | 0;
+         d = !e << 6;
+         break f;
+        }
+        g = n[q[f + 12 >> 2]](f, b << 3, h << 3, d) | 0;
+        e = g ? g : d;
+        d = !g << 6;
+       }
+       g : {
+        if (!(e ? !(j | d) : 0)) {
+         q[a + 24 >> 2] = e;
+         if (!d) {
+          break g;
+         }
+         break a;
+        }
+        Z$((b << 3) + e | 0, 0, h - b << 3);
+        q[a + 24 >> 2] = e;
+       }
+       e = a + 28 | 0;
+       h : {
+        if (!b) {
+         g = n[q[f + 4 >> 2]](f, h) | 0;
+         d = !g << 6;
+         break h;
+        }
+        g = q[e >> 2];
+        d = n[q[f + 12 >> 2]](f, b, h, g) | 0;
+        g = d ? d : g;
+        d = !d << 6;
+       }
+       if (d | i | !g) {
+        break d;
+       }
+       Z$(b + g | 0, 0, h - b | 0);
+      }
+      q[e >> 2] = g;
+      break c;
+     }
+     q[e >> 2] = g;
+     if (d) {
+      break a;
+     }
+    }
+    if (r[a + 16 | 0]) {
+     d = 6;
+     i = h << 1;
+     g = b << 1;
+     if ((i | g) < 0) {
+      break a;
+     }
+     d = q[a + 40 >> 2];
+     i : {
+      j : {
+       k : {
+        if (!h) {
+         e = 0;
+         if (!d) {
+          break k;
+         }
+         n[q[f + 8 >> 2]](f, d);
+         q[a + 40 >> 2] = 0;
+         break i;
+        }
+        l : {
+         if (!g) {
+          e = n[q[f + 4 >> 2]](f, h << 4) | 0;
+          d = !e << 6;
+          break l;
+         }
+         j = n[q[f + 12 >> 2]](f, b << 4, h << 4, d) | 0;
+         e = j ? j : d;
+         d = !j << 6;
+        }
+        if (d | (i | 0) <= (g | 0) | !e) {
+         break j;
+        }
+        Z$((b << 4) + e | 0, 0, i - g << 3);
+       }
+       q[a + 40 >> 2] = e;
+       break i;
+      }
+      q[a + 40 >> 2] = e;
+      if (d) {
+       break a;
+      }
+     }
+     d = h << 3;
+     b = b << 3;
+     _$(d + e | 0, b + e | 0, b);
+     q[a + 44 >> 2] = d + q[a + 40 >> 2];
+    }
+    q[a + 4 >> 2] = h;
+    d = 1;
+   }
+   e = Se(a);
+   if (e) {
+    break b;
+   }
+   m : {
+    c = p[a + 56 >> 1] + (p[a + 20 >> 1] + c | 0) | 0;
+    b = q[a + 8 >> 2];
+    if (c >>> 0 > b >>> 0) {
+     e = 10;
+     d = c + 3 | 0;
+     c = d & -4;
+     if (c >>> 0 > 32767) {
+      break b;
+     }
+     if ((b | d) < 0) {
+      d = 6;
+      break a;
+     }
+     d = q[a + 32 >> 2];
+     n : {
+      o : {
+       p : {
+        if (!c) {
+         e = 0;
+         if (!d) {
+          break p;
+         }
+         n[q[f + 8 >> 2]](f, d);
+         q[a + 32 >> 2] = 0;
+         break n;
+        }
+        q : {
+         if (!b) {
+          e = n[q[f + 4 >> 2]](f, c << 1) | 0;
+          d = !e << 6;
+          break q;
+         }
+         f = n[q[f + 12 >> 2]](f, b << 1, c << 1, d) | 0;
+         e = f ? f : d;
+         d = !f << 6;
+        }
+        if (d | (c | 0) <= (b | 0) | !e) {
+         break o;
+        }
+        Z$((b << 1) + e | 0, 0, c - b << 1);
+       }
+       q[a + 32 >> 2] = e;
+       break n;
+      }
+      q[a + 32 >> 2] = e;
+      if (d) {
+       break a;
+      }
+     }
+     q[a + 8 >> 2] = c;
+     break m;
+    }
+    if (d) {
+     break m;
+    }
+    e = 0;
+    break b;
+   }
+   e = 0;
+   b = a;
+   c = q[a + 24 >> 2];
+   if (c) {
+    c = c + (p[a + 22 >> 1] << 3) | 0;
+   } else {
+    c = 0;
+   }
+   q[b + 60 >> 2] = c;
+   c = a - -64 | 0;
+   b = q[a + 28 >> 2];
+   if (b) {
+    b = b + p[a + 22 >> 1] | 0;
+   } else {
+    b = 0;
+   }
+   q[c >> 2] = b;
+   b = a;
+   c = q[a + 32 >> 2];
+   if (c) {
+    c = c + (p[a + 20 >> 1] << 1) | 0;
+   } else {
+    c = 0;
+   }
+   q[b + 68 >> 2] = c;
+   if (!r[a + 16 | 0]) {
+    break b;
+   }
+   b = p[a + 22 >> 1] << 3;
+   q[a + 76 >> 2] = b + q[a + 40 >> 2];
+   q[a + 80 >> 2] = b + q[a + 44 >> 2];
+   return 0;
+  }
+  return e;
+ }
+ b = q[a >> 2];
+ c = q[a + 24 >> 2];
+ if (c) {
+  n[q[b + 8 >> 2]](b, c);
+ }
+ q[a + 24 >> 2] = 0;
+ c = q[a + 28 >> 2];
+ if (c) {
+  n[q[b + 8 >> 2]](b, c);
+ }
+ q[a + 28 >> 2] = 0;
+ c = q[a + 32 >> 2];
+ if (c) {
+  n[q[b + 8 >> 2]](b, c);
+ }
+ q[a + 32 >> 2] = 0;
+ c = q[a + 40 >> 2];
+ if (c) {
+  n[q[b + 8 >> 2]](b, c);
+ }
+ q[a + 40 >> 2] = 0;
+ c = q[a + 52 >> 2];
+ if (c) {
+  n[q[b + 8 >> 2]](b, c);
+ }
+ q[a + 20 >> 2] = 0;
+ b = a + 44 | 0;
+ q[b >> 2] = 0;
+ q[a + 48 >> 2] = 0;
+ q[a + 52 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 8 >> 2] = 0;
+ q[a + 88 >> 2] = 0;
+ c = q[a + 24 >> 2];
+ q[a + 56 >> 2] = q[a + 20 >> 2];
+ q[a + 60 >> 2] = c;
+ e = q[a + 32 >> 2];
+ c = a - -64 | 0;
+ q[c >> 2] = q[a + 28 >> 2];
+ q[c + 4 >> 2] = e;
+ c = q[a + 40 >> 2];
+ q[a + 72 >> 2] = q[a + 36 >> 2];
+ q[a + 76 >> 2] = c;
+ c = q[b + 4 >> 2];
+ q[a + 80 >> 2] = q[b >> 2];
+ q[a + 84 >> 2] = c;
+ return d;
+}
+function bJ(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, s = 0;
+ c = Ca - 16832 | 0;
+ Ca = c;
+ a : {
+  b : {
+   if (!a) {
+    break b;
+   }
+   a = 19;
+   d = q[b + 8 >> 2];
+   if (!(d & 1)) {
+    break a;
+   }
+   a = 20;
+   f = q[b + 4 >> 2];
+   if (!f) {
+    break a;
+   }
+   i = p[f + 2 >> 1];
+   if (!i) {
+    a = 0;
+    break a;
+   }
+   e = p[f >> 1];
+   if ((e | 0) < 1) {
+    a = 0;
+    break a;
+   }
+   g = q[f + 12 >> 2];
+   if (!g | !q[f + 4 >> 2] | (i | 0) != (p[(g + (e << 1) | 0) + -2 >> 1] + 1 | 0)) {
+    break a;
+   }
+   e = q[b >> 2];
+   q[c + 232 >> 2] = q[f + 16 >> 2];
+   a = q[f + 12 >> 2];
+   q[c + 224 >> 2] = q[f + 8 >> 2];
+   q[c + 228 >> 2] = a;
+   a = q[f + 4 >> 2];
+   q[c + 216 >> 2] = q[f >> 2];
+   q[c + 220 >> 2] = a;
+   c : {
+    if (d & 2) {
+     a = q[b + 12 >> 2];
+     if (!a) {
+      a = 0;
+      break a;
+     }
+     q[c + 244 >> 2] = a;
+     a = q[b + 28 >> 2];
+     q[c + 312 >> 2] = 0;
+     q[c + 248 >> 2] = a;
+     a = q[b + 32 >> 2];
+     q[c + 164 >> 2] = a;
+     j = q[b + 36 >> 2];
+     q[c + 172 >> 2] = j;
+     d = q[b + 40 >> 2];
+     q[c + 168 >> 2] = d;
+     i = q[b + 44 >> 2];
+     break c;
+    }
+    if (!e) {
+     break b;
+    }
+    d = q[e + 4 >> 2];
+    if (!d) {
+     a = 0;
+     break a;
+    }
+    i = q[e >> 2];
+    if (!i) {
+     a = 0;
+     break a;
+    }
+    a = 6;
+    b = q[e + 12 >> 2];
+    if (!b) {
+     break a;
+    }
+    a = q[e + 8 >> 2];
+    q[c + 240 >> 2] = a;
+    q[c + 244 >> 2] = 0;
+    q[c + 248 >> 2] = 0;
+    q[c + 172 >> 2] = 0;
+    q[c + 164 >> 2] = 0;
+    q[c + 168 >> 2] = d;
+    q[c + 312 >> 2] = -1;
+    q[c + 236 >> 2] = (a | 0) < 0 ? b : b + w(a, i + -1 | 0) | 0;
+    a = 0;
+   }
+   q[c + 176 >> 2] = i;
+   if ((d | 0) <= (a | 0)) {
+    a = 0;
+    break a;
+   }
+   a = 0;
+   if ((i | 0) <= (j | 0)) {
+    break a;
+   }
+   k = i - j | 0;
+   if (k >>> 0 >= 129) {
+    a = k + 127 >>> 7 | 0;
+    k = ((a + k | 0) + -1 >>> 0) / (a >>> 0) | 0;
+   }
+   l = k << 2;
+   a = l + 15 >>> 4 | 0;
+   q[c + 200 >> 2] = 1024 - a;
+   q[c + 196 >> 2] = (c + 448 | 0) + (a << 4);
+   q[c + 192 >> 2] = c + 448;
+   m = c + 252 | 0;
+   g = 0;
+   while (1) {
+    q[c + 172 >> 2] = j;
+    q[c + 324 >> 2] = j;
+    j = j + k | 0;
+    d = (j | 0) < (i | 0) ? j : i;
+    q[c + 176 >> 2] = d;
+    q[c + 320 >> 2] = d;
+    f = 0;
+    while (1) {
+     a = 1;
+     b = f + 1 | 0;
+     h = (c + 320 | 0) + (b << 2) | 0;
+     e = q[h >> 2];
+     Z$(q[c + 192 >> 2], 0, l);
+     q[c + 188 >> 2] = 1;
+     q[c + 204 >> 2] = 0;
+     q[c + 176 >> 2] = d;
+     q[c + 172 >> 2] = e;
+     d : {
+      g = cJ(c, g);
+      if ((g | 0) != 64) {
+       if (g) {
+        break a;
+       }
+       a = q[c + 172 >> 2];
+       e = a;
+       if ((a | 0) >= q[c + 176 >> 2]) {
+        break d;
+       }
+       while (1) {
+        a = q[q[c + 192 >> 2] + (e - a << 2) >> 2];
+        e : {
+         if (!a) {
+          break e;
+         }
+         g = 0;
+         d = q[c + 164 >> 2];
+         b = 0;
+         while (1) {
+          f : {
+           if (!g) {
+            break f;
+           }
+           g = q[a >> 2];
+           if ((g | 0) <= (d | 0)) {
+            break f;
+           }
+           dJ(c, d, e, b, g - d | 0);
+          }
+          b = (q[a + 4 >> 2] << 9) + b | 0;
+          d = b - q[a + 8 >> 2] | 0;
+          g : {
+           if (!d) {
+            break g;
+           }
+           g = q[a >> 2];
+           if ((g | 0) < q[c + 164 >> 2]) {
+            break g;
+           }
+           h = d >> 9;
+           h : {
+            if (r[c + 232 | 0] & 2) {
+             d = h & 511;
+             d = d >>> 0 > 255 ? d ^ 511 : d;
+             break h;
+            }
+            d = h ^ d >> 31;
+            d = (d | 0) < 255 ? d : 255;
+           }
+           h = q[c + 312 >> 2];
+           if ((h | 0) >= 0) {
+            s = h + 1 | 0;
+            q[c + 312 >> 2] = s;
+            h = w(h, 6) + c | 0;
+            o[h + 256 | 0] = d;
+            p[h + 254 >> 1] = 1;
+            p[h + 252 >> 1] = g;
+            if ((s | 0) != 10) {
+             break g;
+            }
+            n[q[c + 244 >> 2]](e, 10, m, q[c + 248 >> 2]);
+            q[c + 312 >> 2] = 0;
+            break g;
+           }
+           o[g + (q[c + 236 >> 2] - w(q[c + 240 >> 2], e) | 0) | 0] = d;
+          }
+          g = (b | 0) != 0;
+          d = q[a >> 2] + 1 | 0;
+          a = q[a + 12 >> 2];
+          if (a) {
+           continue;
+          }
+          break;
+         }
+         if (!b) {
+          break e;
+         }
+         dJ(c, d, e, b, q[c + 168 >> 2] - d | 0);
+        }
+        a = q[c + 312 >> 2];
+        if ((a | 0) >= 1) {
+         n[q[c + 244 >> 2]](e, a, m, q[c + 248 >> 2]);
+         q[c + 312 >> 2] = 0;
+        }
+        e = e + 1 | 0;
+        if ((e | 0) >= q[c + 176 >> 2]) {
+         break d;
+        }
+        a = q[c + 172 >> 2];
+        continue;
+       }
+      }
+      f = d - e >> 1;
+      if (!f) {
+       break a;
+      }
+      q[h + 4 >> 2] = e;
+      d = e + f | 0;
+      q[h >> 2] = d;
+      g = 1;
+      f = b;
+      continue;
+     }
+     if ((f | 0) >= 1) {
+      f = f + -1 | 0;
+      d = q[(c + 320 | 0) + (f << 2) >> 2];
+      g = 1;
+      continue;
+     }
+     break;
+    }
+    g = 1;
+    if ((j | 0) < (i | 0)) {
+     continue;
+    }
+    break;
+   }
+   a = 0;
+   break a;
+  }
+  a = 6;
+ }
+ Ca = c + 16832 | 0;
+ return a | 0;
+}
+function mW(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = Ca - 32 | 0;
+ Ca = e;
+ q[e + 20 >> 2] = 0;
+ q[e + 16 >> 2] = 0;
+ q[e + 12 >> 2] = 0;
+ q[e + 4 >> 2] = -1;
+ i = a + 284 | 0;
+ a : {
+  if (!n[r[a + 232 | 0] ? 971 : 972](b, q[a + 144 >> 2], c, d, i, e + 12 | 0, e + 8 | 0, e + 20 | 0, e + 16 | 0, e + 4 | 0)) {
+   d = b ? 31 : 30;
+   break a;
+  }
+  b : {
+   if (b | q[e + 4 >> 2] != 1) {
+    break b;
+   }
+   o[q[a + 352 >> 2] + 130 | 0] = 1;
+   if (q[a + 488 >> 2] != 1) {
+    break b;
+   }
+   q[a + 488 >> 2] = 0;
+  }
+  c : {
+   if (q[a + 140 >> 2]) {
+    b = q[e + 20 >> 2];
+    if (b) {
+     c = q[a + 144 >> 2];
+     d = n[q[c + 28 >> 2]](c, b) | 0;
+     q[e + 28 >> 2] = b;
+     f = a + 436 | 0;
+     d : {
+      g = a + 448 | 0;
+      e : {
+       if (!q[g >> 2]) {
+        if (!_V(f)) {
+         break e;
+        }
+       }
+       b = b + d | 0;
+       while (1) {
+        if (n[q[c + 56 >> 2]](c, e + 28 | 0, b, g, q[a + 444 >> 2]) >>> 0 < 2) {
+         break d;
+        }
+        if (_V(f)) {
+         continue;
+        }
+        break;
+       }
+      }
+      d = 1;
+      break a;
+     }
+     d = 1;
+     if (!q[a + 452 >> 2]) {
+      break a;
+     }
+     c = q[a + 448 >> 2];
+     if ((c | 0) == q[a + 444 >> 2]) {
+      if (!_V(f)) {
+       break a;
+      }
+      c = q[g >> 2];
+     }
+     q[a + 448 >> 2] = c + 1;
+     o[c | 0] = 0;
+     f = q[a + 452 >> 2];
+     if (!f) {
+      break a;
+     }
+     q[a + 452 >> 2] = q[a + 448 >> 2];
+    }
+    b = q[e + 12 >> 2];
+    if (b) {
+     c = q[a + 144 >> 2];
+     d = q[c + 64 >> 2];
+     h = q[e + 8 >> 2];
+     q[e + 28 >> 2] = b;
+     b = a + 436 | 0;
+     f : {
+      g = a + 448 | 0;
+      g : {
+       if (!q[g >> 2]) {
+        if (!_V(b)) {
+         break g;
+        }
+       }
+       d = h - d | 0;
+       while (1) {
+        if (n[q[c + 56 >> 2]](c, e + 28 | 0, d, g, q[a + 444 >> 2]) >>> 0 < 2) {
+         break f;
+        }
+        if (_V(b)) {
+         continue;
+        }
+        break;
+       }
+      }
+      d = 1;
+      break a;
+     }
+     d = 1;
+     if (!q[a + 452 >> 2]) {
+      break a;
+     }
+     c = q[a + 448 >> 2];
+     if ((c | 0) == q[a + 444 >> 2]) {
+      if (!_V(b)) {
+       break a;
+      }
+      c = q[g >> 2];
+     }
+     q[a + 448 >> 2] = c + 1;
+     o[c | 0] = 0;
+     h = q[a + 452 >> 2];
+     if (!h) {
+      break a;
+     }
+    }
+    n[q[a + 140 >> 2]](q[a + 4 >> 2], h, f, q[e + 4 >> 2]);
+    break c;
+   }
+   g = q[a + 80 >> 2];
+   h : {
+    if (!g) {
+     break h;
+    }
+    b = q[a + 144 >> 2];
+    q[e + 28 >> 2] = c;
+    if (!r[b + 68 | 0]) {
+     while (1) {
+      q[e + 24 >> 2] = q[a + 44 >> 2];
+      c = n[q[b + 56 >> 2]](b, e + 28 | 0, d, e + 24 | 0, q[a + 48 >> 2]) | 0;
+      q[a + 288 >> 2] = q[e + 28 >> 2];
+      g = q[a + 44 >> 2];
+      n[q[a + 80 >> 2]](q[a + 4 >> 2], g, q[e + 24 >> 2] - g | 0);
+      q[a + 284 >> 2] = q[e + 28 >> 2];
+      if (c >>> 0 > 1) {
+       continue;
+      }
+      break h;
+     }
+    }
+    n[g](q[a + 4 >> 2], c, d - c | 0);
+   }
+  }
+  i : {
+   if (q[a + 228 >> 2]) {
+    break i;
+   }
+   j : {
+    b = q[e + 16 >> 2];
+    if (b) {
+     d = q[b + 64 >> 2];
+     c = q[a + 144 >> 2];
+     if ((b | 0) == (c | 0) | (d | 0) != 2 ? (d | 0) == q[c + 64 >> 2] : 0) {
+      break j;
+     }
+     q[i >> 2] = q[e + 20 >> 2];
+     d = 19;
+     break a;
+    }
+    b = q[e + 20 >> 2];
+    if (!b) {
+     break i;
+    }
+    if (!f) {
+     c = q[a + 144 >> 2];
+     d = n[q[c + 28 >> 2]](c, b) | 0;
+     q[e + 28 >> 2] = b;
+     f = a + 436 | 0;
+     k : {
+      g = a + 448 | 0;
+      l : {
+       if (!q[g >> 2]) {
+        if (!_V(f)) {
+         break l;
+        }
+       }
+       b = b + d | 0;
+       while (1) {
+        if (n[q[c + 56 >> 2]](c, e + 28 | 0, b, g, q[a + 444 >> 2]) >>> 0 < 2) {
+         break k;
+        }
+        if (_V(f)) {
+         continue;
+        }
+        break;
+       }
+      }
+      d = 1;
+      break a;
+     }
+     d = 1;
+     if (!q[a + 452 >> 2]) {
+      break a;
+     }
+     c = q[a + 448 >> 2];
+     if ((c | 0) == q[a + 444 >> 2]) {
+      if (!_V(f)) {
+       break a;
+      }
+      c = q[g >> 2];
+     }
+     q[a + 448 >> 2] = c + 1;
+     o[c | 0] = 0;
+     f = q[a + 452 >> 2];
+     if (!f) {
+      break a;
+     }
+    }
+    d = cW(a, f);
+    c = q[a + 440 >> 2];
+    m : {
+     if (!c) {
+      q[a + 440 >> 2] = q[a + 436 >> 2];
+      break m;
+     }
+     b = q[a + 436 >> 2];
+     if (!b) {
+      break m;
+     }
+     while (1) {
+      f = q[b >> 2];
+      q[b >> 2] = c;
+      q[a + 440 >> 2] = b;
+      c = b;
+      b = f;
+      if (b) {
+       continue;
+      }
+      break;
+     }
+    }
+    q[a + 436 >> 2] = 0;
+    q[a + 452 >> 2] = 0;
+    q[a + 444 >> 2] = 0;
+    q[a + 448 >> 2] = 0;
+    if ((d | 0) != 18) {
+     break a;
+    }
+    q[i >> 2] = q[e + 20 >> 2];
+    d = 18;
+    break a;
+   }
+   q[a + 144 >> 2] = b;
+  }
+  d = 0;
+  if (!(f | h)) {
+   break a;
+  }
+  c = q[a + 440 >> 2];
+  n : {
+   if (!c) {
+    q[a + 440 >> 2] = q[a + 436 >> 2];
+    break n;
+   }
+   d = q[a + 436 >> 2];
+   if (!d) {
+    break n;
+   }
+   while (1) {
+    b = q[d >> 2];
+    q[d >> 2] = c;
+    q[a + 440 >> 2] = d;
+    c = d;
+    d = b;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = 0;
+  q[a + 436 >> 2] = 0;
+  q[a + 452 >> 2] = 0;
+  q[a + 444 >> 2] = 0;
+  q[a + 448 >> 2] = 0;
+ }
+ Ca = e + 32 | 0;
+ return d;
+}
+function Zn(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, t = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ t = g;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      l = q[a + 204 >> 2];
+      f : {
+       if (l >>> 0 < 2) {
+        break f;
+       }
+       h = a + 8 | 0;
+       k = q[a + 172 >> 2];
+       i = q[a + 168 >> 2];
+       o = q[a + 20 >> 2];
+       p = q[a + 16 >> 2];
+       m = q[a + 8 >> 2];
+       d = m;
+       g : {
+        h : {
+         n = q[a + 12 >> 2];
+         e = n;
+         if (32 - e >>> 0 <= 14) {
+          f = p;
+          d = m;
+          b = o;
+          c = n;
+          while (1) {
+           if (!b) {
+            break h;
+           }
+           d = d >>> 8 | 0;
+           q[a + 8 >> 2] = d;
+           j = r[f | 0];
+           b = b + -1 | 0;
+           q[a + 20 >> 2] = b;
+           e = c + -8 | 0;
+           q[a + 12 >> 2] = e;
+           f = f + 1 | 0;
+           q[a + 16 >> 2] = f;
+           d = d | j << 24;
+           q[a + 8 >> 2] = d;
+           j = 40 - c | 0;
+           c = e;
+           if (j >>> 0 < 15) {
+            continue;
+           }
+           break;
+          }
+         }
+         f = a;
+         d = d >>> e | 0;
+         b = i + ((d & 255) << 2) | 0;
+         c = r[b | 0];
+         if (c >>> 0 >= 9) {
+          e = e + 8 | 0;
+          q[a + 12 >> 2] = e;
+          b = (s[b + 2 >> 1] + (q[(c << 2) + 153248 >> 2] & d >>> 8 & 127) << 2) + b | 0;
+          c = r[b | 0];
+         }
+         q[f + 12 >> 2] = (c & 255) + e;
+         q[g + 8 >> 2] = s[b + 2 >> 1];
+         break g;
+        }
+        if (!Tn(i, h, g + 8 | 0)) {
+         break f;
+        }
+       }
+       i = g;
+       i : {
+        j : {
+         k : {
+          if (!q[a + 556 >> 2]) {
+           l : {
+            c = q[a + 12 >> 2];
+            m : {
+             if (32 - c >>> 0 >= 15) {
+              d = q[h >> 2];
+              break m;
+             }
+             b = q[a + 20 >> 2];
+             f = c;
+             while (1) {
+              if (!b) {
+               break l;
+              }
+              d = q[a + 8 >> 2] >>> 8 | 0;
+              q[a + 8 >> 2] = d;
+              e = q[a + 16 >> 2];
+              j = r[e | 0];
+              b = b + -1 | 0;
+              q[a + 20 >> 2] = b;
+              c = f + -8 | 0;
+              q[a + 12 >> 2] = c;
+              q[a + 16 >> 2] = e + 1;
+              d = d | j << 24;
+              q[a + 8 >> 2] = d;
+              e = 40 - f | 0;
+              f = c;
+              if (e >>> 0 < 15) {
+               continue;
+              }
+              break;
+             }
+            }
+            e = a;
+            d = d >>> c | 0;
+            b = k + ((d & 255) << 2) | 0;
+            f = r[b | 0];
+            if (f >>> 0 >= 9) {
+             c = c + 8 | 0;
+             q[a + 12 >> 2] = c;
+             b = (s[b + 2 >> 1] + (q[(f << 2) + 153248 >> 2] & d >>> 8 & 127) << 2) + b | 0;
+             f = r[b | 0];
+            }
+            q[e + 12 >> 2] = (f & 255) + c;
+            e = s[b + 2 >> 1];
+            break k;
+           }
+           if (!Tn(k, h, g + 12 | 0)) {
+            break i;
+           }
+           e = q[g + 12 >> 2];
+           break j;
+          }
+          e = q[a + 188 >> 2];
+         }
+         q[i + 12 >> 2] = e;
+        }
+        n : {
+         c = q[a + 12 >> 2];
+         i = r[(e << 2) + 153170 | 0];
+         o : {
+          if (32 - c >>> 0 >= i >>> 0) {
+           d = q[h >> 2];
+           break o;
+          }
+          b = q[a + 20 >> 2];
+          f = c;
+          while (1) {
+           if (!b) {
+            break n;
+           }
+           d = q[a + 8 >> 2] >>> 8 | 0;
+           q[a + 8 >> 2] = d;
+           h = q[a + 16 >> 2];
+           k = r[h | 0];
+           b = b + -1 | 0;
+           q[a + 20 >> 2] = b;
+           c = f + -8 | 0;
+           q[a + 12 >> 2] = c;
+           q[a + 16 >> 2] = h + 1;
+           d = d | k << 24;
+           q[a + 8 >> 2] = d;
+           h = 40 - f | 0;
+           f = c;
+           if (h >>> 0 < i >>> 0) {
+            continue;
+           }
+           break;
+          }
+         }
+         q[a + 556 >> 2] = 0;
+         q[a + 12 >> 2] = c + i;
+         q[a + 192 >> 2] = s[(e << 2) + 153168 >> 1] + (q[(i << 2) + 153280 >> 2] & d >>> c);
+         c = q[g + 8 >> 2];
+         if (c >>> 0 > 1) {
+          break c;
+         }
+         if (c - 1) {
+          break d;
+         }
+         break e;
+        }
+        q[a + 556 >> 2] = 1;
+        q[a + 188 >> 2] = e;
+       }
+       q[a + 20 >> 2] = o;
+       q[a + 16 >> 2] = p;
+       q[a + 12 >> 2] = n;
+       q[a + 8 >> 2] = m;
+       q[a + 556 >> 2] = 0;
+      }
+      a = 0;
+      break a;
+     }
+     b = q[a + 220 >> 2] + 1 | 0;
+     break b;
+    }
+    b = q[a + 216 >> 2];
+    break b;
+   }
+   b = c + -2 | 0;
+  }
+  q[t + 8 >> 2] = b;
+  if (b >>> 0 >= l >>> 0) {
+   b = b - l | 0;
+   q[g + 8 >> 2] = b;
+  }
+  c = a + 220 | 0;
+  f = q[c >> 2];
+  q[c >> 2] = b;
+  q[a + 216 >> 2] = f;
+  c = q[a + 576 >> 2] + (b << 6) | 0;
+  q[a + 112 >> 2] = c;
+  q[a + 176 >> 2] = q[((b >>> 3 & 536870908) + a | 0) + 592 >> 2] >>> (b & 31) & 1;
+  q[a + 256 >> 2] = q[q[a + 120 >> 2] + (r[c | 0] << 2) >> 2];
+  q[a + 108 >> 2] = ((r[q[a + 580 >> 2] + b | 0] & 3) << 9) + 153424;
+  a = 1;
+ }
+ Ca = g + 16 | 0;
+ return a;
+}
+function WH(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ e = Oe(q[a + 100 >> 2], (q[a + 16 >> 2] << 1) + 396 | 0, h + 4 | 0);
+ d = q[h + 4 >> 2];
+ if (!d) {
+  q[e >> 2] = a;
+  d = q[a + 16 >> 2];
+  q[e + 392 >> 2] = c;
+  q[e + 8 >> 2] = e + 396;
+  q[e + 4 >> 2] = d;
+  q[e + 372 >> 2] = 0;
+  q[e + 376 >> 2] = 0;
+  d = 0;
+  p[e + 368 >> 1] = 0;
+  q[e + 380 >> 2] = 0;
+  q[e + 384 >> 2] = 0;
+  q[e + 388 >> 2] = 0;
+  n = e, o = _G(a), q[n + 12 >> 2] = o;
+  n = e, o = GG(), q[n + 16 >> 2] = o;
+  f = q[e + 8 >> 2];
+  g = q[e >> 2];
+  l = q[g + 92 >> 2];
+  a = q[e + 4 >> 2];
+  if (a) {
+   while (1) {
+    p[(d << 1) + f >> 1] = 16383;
+    d = d + 1 | 0;
+    if ((a | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  a : {
+   if (Vf(g, 1970170211)) {
+    break a;
+   }
+   k = -1;
+   d = 282024;
+   while (1) {
+    c = q[d + 8 >> 2];
+    j = q[(c << 2) + 283840 >> 2];
+    a = q[j + 4 >> 2];
+    b : {
+     if (!a) {
+      break b;
+     }
+     if (q[d + 16 >> 2] == 10) {
+      m = (c | 0) == q[q[e + 392 >> 2] + 16 >> 2];
+      d = q[a >> 2];
+      if (d) {
+       while (1) {
+        c = a;
+        a = xf(g, d);
+        q[h + 12 >> 2] = a;
+        c : {
+         if (!a | a >>> 0 >= t[e + 4 >> 2]) {
+          break c;
+         }
+         a = (a << 1) + f | 0;
+         if ((s[a >> 1] & 16383) != 16383) {
+          break c;
+         }
+         p[a >> 1] = i;
+        }
+        d = Zf(g, d, h + 12 | 0);
+        while (1) {
+         a = q[h + 12 >> 2];
+         if (!(!a | d >>> 0 > t[c + 4 >> 2])) {
+          d : {
+           if (a >>> 0 >= t[e + 4 >> 2]) {
+            break d;
+           }
+           a = (a << 1) + f | 0;
+           if ((s[a >> 1] & 16383) != 16383) {
+            break d;
+           }
+           p[a >> 1] = i;
+          }
+          d = Zf(g, d, h + 12 | 0);
+          continue;
+         }
+         break;
+        }
+        a = c + 8 | 0;
+        d = q[c + 8 >> 2];
+        if (d) {
+         continue;
+        }
+        break;
+       }
+      }
+      k = m ? i : k;
+      a = q[j + 8 >> 2];
+      d = q[a >> 2];
+      if (!d) {
+       break b;
+      }
+      while (1) {
+       c = a;
+       a = xf(g, d);
+       q[h + 8 >> 2] = a;
+       e : {
+        if (!a | a >>> 0 >= t[e + 4 >> 2]) {
+         break e;
+        }
+        a = (a << 1) + f | 0;
+        j = s[a >> 1];
+        if ((j & 16383) != (i & 65535)) {
+         break e;
+        }
+        p[a >> 1] = j | 16384;
+       }
+       d = Zf(g, d, h + 8 | 0);
+       while (1) {
+        a = q[h + 8 >> 2];
+        if (!(!a | d >>> 0 > t[c + 4 >> 2])) {
+         f : {
+          if (a >>> 0 >= t[e + 4 >> 2]) {
+           break f;
+          }
+          a = (a << 1) + f | 0;
+          j = s[a >> 1];
+          if ((j & 16383) != (i & 65535)) {
+           break f;
+          }
+          p[a >> 1] = j | 16384;
+         }
+         d = Zf(g, d, h + 8 | 0);
+         continue;
+        }
+        break;
+       }
+       a = c + 8 | 0;
+       d = q[c + 8 >> 2];
+       if (d) {
+        continue;
+       }
+       break;
+      }
+      break b;
+     }
+     $H(e, d, f, 0);
+    }
+    i = i + 1 | 0;
+    d = q[(i << 2) + 284080 >> 2];
+    if ((i | 0) != 86) {
+     continue;
+    }
+    break;
+   }
+   d = 0;
+   a = 282024;
+   while (1) {
+    if (q[a + 16 >> 2] == 10) {
+     $H(e, a, f, 0);
+    }
+    d = d + 1 | 0;
+    a = q[(d << 2) + 284080 >> 2];
+    if ((d | 0) != 86) {
+     continue;
+    }
+    break;
+   }
+   $H(e, q[(k << 2) + 284080 >> 2], f, 1);
+   a = xf(g, 48);
+   if (!(!a | a >>> 0 >= t[e + 4 >> 2])) {
+    a = (a << 1) + f | 0;
+    p[a >> 1] = s[a >> 1] | 32768;
+   }
+   a = xf(g, 49);
+   if (!(!a | a >>> 0 >= t[e + 4 >> 2])) {
+    a = (a << 1) + f | 0;
+    p[a >> 1] = s[a >> 1] | 32768;
+   }
+   a = xf(g, 50);
+   if (!(!a | a >>> 0 >= t[e + 4 >> 2])) {
+    a = (a << 1) + f | 0;
+    p[a >> 1] = s[a >> 1] | 32768;
+   }
+   a = xf(g, 51);
+   if (!(!a | a >>> 0 >= t[e + 4 >> 2])) {
+    a = (a << 1) + f | 0;
+    p[a >> 1] = s[a >> 1] | 32768;
+   }
+   a = xf(g, 52);
+   if (!(!a | a >>> 0 >= t[e + 4 >> 2])) {
+    a = (a << 1) + f | 0;
+    p[a >> 1] = s[a >> 1] | 32768;
+   }
+   a = xf(g, 53);
+   if (!(!a | a >>> 0 >= t[e + 4 >> 2])) {
+    a = (a << 1) + f | 0;
+    p[a >> 1] = s[a >> 1] | 32768;
+   }
+   a = xf(g, 54);
+   if (!(!a | a >>> 0 >= t[e + 4 >> 2])) {
+    a = (a << 1) + f | 0;
+    p[a >> 1] = s[a >> 1] | 32768;
+   }
+   a = xf(g, 55);
+   if (!(!a | a >>> 0 >= t[e + 4 >> 2])) {
+    a = (a << 1) + f | 0;
+    p[a >> 1] = s[a >> 1] | 32768;
+   }
+   a = xf(g, 56);
+   if (!(!a | a >>> 0 >= t[e + 4 >> 2])) {
+    a = (a << 1) + f | 0;
+    p[a >> 1] = s[a >> 1] | 32768;
+   }
+   a = xf(g, 57);
+   if (!a | a >>> 0 >= t[e + 4 >> 2]) {
+    break a;
+   }
+   a = (a << 1) + f | 0;
+   p[a >> 1] = s[a >> 1] | 32768;
+  }
+  a = q[q[e + 392 >> 2] + 12 >> 2];
+  g : {
+   if ((a | 0) == 16383) {
+    break g;
+   }
+   c = q[e + 4 >> 2];
+   if ((c | 0) < 1) {
+    break g;
+   }
+   d = 0;
+   while (1) {
+    i = (d << 1) + f | 0;
+    k = s[i >> 1];
+    if ((k & 16383) == 16383) {
+     p[i >> 1] = a | k & 49152;
+    }
+    d = d + 1 | 0;
+    if ((c | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  Wf(g, l);
+  q[h + 4 >> 2] = 0;
+  q[e + 20 >> 2] = 0;
+  d = 0;
+ }
+ q[b >> 2] = e;
+ Ca = h + 16 | 0;
+ return d;
+}
+function Qw(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ g = Ca - 272 | 0;
+ Ca = g;
+ i = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ a : {
+  if (i >>> 0 <= 1) {
+   if (i - 1) {
+    break a;
+   }
+   h = r[a + 1 | 0] | r[a | 0] << 8;
+   Iw(b, h, 0, 0, 0);
+   a = q[b + 96 >> 2];
+   c = q[a + 92 >> 2];
+   b : {
+    if ((c | 0) == q[a + 88 >> 2]) {
+     b = q[a + 80 >> 2];
+     f = b;
+     if (q[a + 72 >> 2] == (b | 0)) {
+      break b;
+     }
+    }
+    c = 1;
+    if (!pG(a, 1, 1)) {
+     break a;
+    }
+    c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+    f = q[c + 4 >> 2];
+    b = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+    q[b >> 2] = q[c >> 2];
+    q[b + 4 >> 2] = f;
+    q[b + 16 >> 2] = q[c + 16 >> 2];
+    f = q[c + 12 >> 2];
+    q[b + 8 >> 2] = q[c + 8 >> 2];
+    q[b + 12 >> 2] = f;
+    b = q[a + 72 >> 2];
+    f = q[a + 80 >> 2];
+    c = q[a + 92 >> 2];
+   }
+   q[w(f, 20) + c >> 2] = h;
+   c = 1;
+   q[a + 80 >> 2] = f + 1;
+   q[a + 72 >> 2] = b + 1;
+   break a;
+  }
+  q[g + 268 >> 2] = 0;
+  q[g + 264 >> 2] = 0;
+  if (!Rw(b, i, i >>> 0 < 2 ? 271040 : a + 4 | 0, 447, 0, g + 264 | 0, g, g + 268 | 0)) {
+   break a;
+  }
+  c = r[a | 0] << 8;
+  a = r[a + 1 | 0];
+  d = q[b + 96 >> 2];
+  k = q[g + 268 >> 2];
+  f = q[g + 264 >> 2];
+  if (f >>> 0 >= 2) {
+   h = q[d + 72 >> 2];
+   wG(d, h, f + h | 0);
+  }
+  h = a | c;
+  e = q[d + 88 >> 2];
+  c = s[(e + w(q[g >> 2], 20) | 0) + 12 >> 1];
+  a = !(c & 8);
+  l = !(c & 2);
+  f = 1;
+  c = 1;
+  c : {
+   d : {
+    while (1) {
+     if (!(r[(e + w(q[(c << 2) + g >> 2], 20) | 0) + 12 | 0] & 8)) {
+      break d;
+     }
+     c = c + 1 | 0;
+     if ((i | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+    f = a;
+    break c;
+   }
+   l = 1;
+  }
+  l = f & l;
+  if ((l | 0) == 1) {
+   c = q[d + 100 >> 2];
+   while (1) {
+    a = c;
+    c = a + 1 | 0;
+    if (!(a & 7)) {
+     continue;
+    }
+    break;
+   }
+   q[d + 100 >> 2] = c;
+   n = a << 5 & 224;
+  }
+  c = l ? 4 : 0;
+  a = e + w(q[d + 72 >> 2], 20) | 0;
+  e = r[a + 12 | 0] & 4;
+  j = r[a + 14 | 0];
+  m = j & 15;
+  e : {
+   if (!l) {
+    break e;
+   }
+   o[a + 14 | 0] = k & 15 | n | 16;
+   a = q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) | 0;
+   k = s[a + 16 >> 1];
+   if ((k & 31) != 12) {
+    break e;
+   }
+   p[a + 16 >> 1] = k & 224 | 7;
+  }
+  m = e ? m : 1;
+  j = j & 16;
+  Iw(b, h, c, 1, 0);
+  a = q[b + 96 >> 2];
+  c = q[a + 92 >> 2];
+  f : {
+   g : {
+    if ((c | 0) == q[a + 88 >> 2]) {
+     e = q[a + 80 >> 2];
+     b = e;
+     if ((b | 0) == q[a + 72 >> 2]) {
+      break g;
+     }
+    }
+    if (!pG(a, 1, 1)) {
+     break f;
+    }
+    c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+    e = q[c + 4 >> 2];
+    b = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+    q[b >> 2] = q[c >> 2];
+    q[b + 4 >> 2] = e;
+    q[b + 16 >> 2] = q[c + 16 >> 2];
+    e = q[c + 12 >> 2];
+    q[b + 8 >> 2] = q[c + 8 >> 2];
+    q[b + 12 >> 2] = e;
+    e = q[a + 72 >> 2];
+    b = q[a + 80 >> 2];
+    c = q[a + 92 >> 2];
+   }
+   q[w(b, 20) + c >> 2] = h;
+   q[a + 80 >> 2] = b + 1;
+   q[a + 72 >> 2] = e + 1;
+  }
+  b = q[d + 72 >> 2];
+  k = 1;
+  e = j ? m : 1;
+  a = e;
+  while (1) {
+   h = a;
+   j = q[(k << 2) + g >> 2];
+   h : {
+    if (b >>> 0 >= j >>> 0) {
+     break h;
+    }
+    m = h - e | 0;
+    while (1) {
+     if (!r[d + 68 | 0]) {
+      break h;
+     }
+     if (l) {
+      b = (q[d + 88 >> 2] + w(b, 20) | 0) + 14 | 0;
+      a = r[b | 0];
+      a = a & 16 ? 0 : a & 15;
+      a = a ? a : e;
+      o[b | 0] = m + (a >>> 0 > e >>> 0 ? e : a) & 15 | n;
+     }
+     i : {
+      if (r[d + 69 | 0]) {
+       j : {
+        if (q[d + 92 >> 2] == q[d + 88 >> 2]) {
+         c = q[d + 80 >> 2];
+         if ((c | 0) == q[d + 72 >> 2]) {
+          break j;
+         }
+        }
+        if (!pG(d, 1, 1)) {
+         b = q[d + 72 >> 2];
+         break i;
+        }
+        b = q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) | 0;
+        c = q[b + 4 >> 2];
+        a = q[d + 92 >> 2] + w(q[d + 80 >> 2], 20) | 0;
+        q[a >> 2] = q[b >> 2];
+        q[a + 4 >> 2] = c;
+        q[a + 16 >> 2] = q[b + 16 >> 2];
+        c = q[b + 12 >> 2];
+        q[a + 8 >> 2] = q[b + 8 >> 2];
+        q[a + 12 >> 2] = c;
+        c = q[d + 80 >> 2];
+       }
+       q[d + 80 >> 2] = c + 1;
+      }
+      b = q[d + 72 >> 2] + 1 | 0;
+      q[d + 72 >> 2] = b;
+     }
+     if (b >>> 0 < j >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   j = q[d + 88 >> 2];
+   a = j + w(b, 20) | 0;
+   c = r[a + 14 | 0];
+   a = s[a + 12 >> 1];
+   b = b + 1 | 0;
+   q[d + 72 >> 2] = b;
+   e = c & 16 ? a & 4 ? c & 15 : 1 : 1;
+   a = h + e | 0;
+   k = k + 1 | 0;
+   if ((i | 0) != (k | 0)) {
+    continue;
+   }
+   break;
+  }
+  i = c >>> 5 | 0;
+  if (!((i | 0) != 0 & f)) {
+   c = 1;
+   break a;
+  }
+  if (b >>> 0 >= t[d + 76 >> 2]) {
+   c = 1;
+   break a;
+  }
+  a = (j + w(b, 20) | 0) + 14 | 0;
+  f = r[a | 0];
+  if ((i | 0) != (f >>> 5 | 0)) {
+   c = 1;
+   break a;
+  }
+  while (1) {
+   c = f & 16 ? 0 : f & 15;
+   if (!c) {
+    c = 1;
+    break a;
+   }
+   o[a | 0] = h + (e >>> 0 < c >>> 0 ? e : c) & 15 | n;
+   c = 1;
+   b = b + 1 | 0;
+   if (b >>> 0 >= t[d + 76 >> 2]) {
+    break a;
+   }
+   a = (q[d + 88 >> 2] + w(b, 20) | 0) + 14 | 0;
+   f = r[a | 0];
+   if ((i | 0) == (f >>> 5 | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = g + 272 | 0;
+ return c;
+}
+function NU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0;
+ f = -4;
+ a : {
+  b : {
+   if (b >>> 0 >= c >>> 0) {
+    break b;
+   }
+   e = c - b | 0;
+   if (e & 1) {
+    c = e & -2;
+    if (!c) {
+     break a;
+    }
+    c = b + c | 0;
+   }
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            l : {
+             e = r[b | 0];
+             f = e + -216 | 0;
+             if (f >>> 0 > 39) {
+              if (e) {
+               break d;
+              }
+              e = a + 72 | 0;
+              f = r[e + r[b + 1 | 0] | 0];
+              if (f >>> 0 > 10) {
+               break d;
+              }
+              switch (f - 2 | 0) {
+              case 3:
+               break i;
+              case 8:
+               break j;
+              case 7:
+               break k;
+              case 2:
+               break l;
+              case 0:
+              case 1:
+               break d;
+              case 5:
+               break g;
+              case 4:
+               break h;
+              default:
+               break e;
+              }
+             }
+             switch (f - 4 | 0) {
+             case 4:
+             case 5:
+             case 6:
+             case 7:
+             case 8:
+             case 9:
+             case 10:
+             case 11:
+             case 12:
+             case 13:
+             case 14:
+             case 15:
+             case 16:
+             case 17:
+             case 18:
+             case 19:
+             case 20:
+             case 21:
+             case 22:
+             case 23:
+             case 24:
+             case 25:
+             case 26:
+             case 27:
+             case 28:
+             case 29:
+             case 30:
+             case 31:
+             case 32:
+             case 33:
+             case 34:
+              break d;
+             case 0:
+             case 1:
+             case 2:
+             case 3:
+              break e;
+             case 35:
+              break f;
+             default:
+              break g;
+             }
+            }
+            f = -1;
+            e = b + 2 | 0;
+            if ((c - e | 0) < 2) {
+             break b;
+            }
+            if (r[e | 0] | r[b + 3 | 0] != 93) {
+             break c;
+            }
+            g = b + 4 | 0;
+            if ((c - g | 0) < 2) {
+             break b;
+            }
+            if (r[g | 0] | r[b + 5 | 0] != 62) {
+             break c;
+            }
+            q[d >> 2] = b + 6;
+            return 40;
+           }
+           f = -1;
+           a = b + 2 | 0;
+           if ((c - a | 0) < 2) {
+            break b;
+           }
+           if (!r[a | 0]) {
+            a = r[e + r[b + 3 | 0] | 0] == 10 ? b + 4 | 0 : a;
+           }
+           q[d >> 2] = a;
+           return 7;
+          }
+          q[d >> 2] = b + 2;
+          return 7;
+         }
+         f = -2;
+         if ((c - b | 0) < 2) {
+          break b;
+         }
+         e = b + 2 | 0;
+         break c;
+        }
+        f = -2;
+        if ((c - b | 0) < 3) {
+         break b;
+        }
+        e = b + 3 | 0;
+        break c;
+       }
+       f = -2;
+       if ((c - b | 0) < 4) {
+        break b;
+       }
+       e = b + 4 | 0;
+       break c;
+      }
+      if (r[b + 1 | 0] <= 253) {
+       break d;
+      }
+     }
+     q[d >> 2] = b;
+     return 0;
+    }
+    e = b + 2 | 0;
+   }
+   f = c - e | 0;
+   m : {
+    if ((f | 0) < 2) {
+     break m;
+    }
+    g = a + 72 | 0;
+    while (1) {
+     b = 2;
+     n : {
+      o : {
+       p : {
+        q : {
+         a = r[e | 0];
+         h = a + -216 | 0;
+         if (h >>> 0 > 39) {
+          if (a) {
+           break n;
+          }
+          a = r[r[e + 1 | 0] + g | 0];
+          if (a >>> 0 > 10) {
+           break n;
+          }
+          if ((a | 0) == 6) {
+           break q;
+          }
+          if ((a | 0) == 7) {
+           break p;
+          }
+          if (!(1 << a & 1811)) {
+           break n;
+          }
+          break m;
+         }
+         switch (h - 4 | 0) {
+         case 0:
+         case 1:
+         case 2:
+         case 3:
+          break m;
+         case 4:
+         case 5:
+         case 6:
+         case 7:
+         case 8:
+         case 9:
+         case 10:
+         case 11:
+         case 12:
+         case 13:
+         case 14:
+         case 15:
+         case 16:
+         case 17:
+         case 18:
+         case 19:
+         case 20:
+         case 21:
+         case 22:
+         case 23:
+         case 24:
+         case 25:
+         case 26:
+         case 27:
+         case 28:
+         case 29:
+         case 30:
+         case 31:
+         case 32:
+         case 33:
+         case 34:
+          break n;
+         case 35:
+          break o;
+         default:
+          break p;
+         }
+        }
+        b = 3;
+        if ((f | 0) > 2) {
+         break n;
+        }
+        break m;
+       }
+       b = 4;
+       if ((f | 0) > 3) {
+        break n;
+       }
+       break m;
+      }
+      if (r[e + 1 | 0] > 253) {
+       break m;
+      }
+     }
+     e = b + e | 0;
+     f = c - e | 0;
+     if ((f | 0) > 1) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[d >> 2] = e;
+   f = 6;
+  }
+  return f | 0;
+ }
+ return -1;
+}
+function rU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0;
+ f = -4;
+ a : {
+  b : {
+   if (b >>> 0 >= c >>> 0) {
+    break b;
+   }
+   e = c - b | 0;
+   if (e & 1) {
+    c = e & -2;
+    if (!c) {
+     break a;
+    }
+    c = b + c | 0;
+   }
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           k : {
+            l : {
+             e = r[b + 1 | 0];
+             f = e + -216 | 0;
+             if (f >>> 0 > 39) {
+              if (e) {
+               break d;
+              }
+              e = a + 72 | 0;
+              f = r[e + r[b | 0] | 0];
+              if (f >>> 0 > 10) {
+               break d;
+              }
+              switch (f - 2 | 0) {
+              case 3:
+               break i;
+              case 8:
+               break j;
+              case 7:
+               break k;
+              case 2:
+               break l;
+              case 0:
+              case 1:
+               break d;
+              case 5:
+               break g;
+              case 4:
+               break h;
+              default:
+               break e;
+              }
+             }
+             switch (f - 4 | 0) {
+             case 4:
+             case 5:
+             case 6:
+             case 7:
+             case 8:
+             case 9:
+             case 10:
+             case 11:
+             case 12:
+             case 13:
+             case 14:
+             case 15:
+             case 16:
+             case 17:
+             case 18:
+             case 19:
+             case 20:
+             case 21:
+             case 22:
+             case 23:
+             case 24:
+             case 25:
+             case 26:
+             case 27:
+             case 28:
+             case 29:
+             case 30:
+             case 31:
+             case 32:
+             case 33:
+             case 34:
+              break d;
+             case 0:
+             case 1:
+             case 2:
+             case 3:
+              break e;
+             case 35:
+              break f;
+             default:
+              break g;
+             }
+            }
+            f = -1;
+            e = b + 2 | 0;
+            if ((c - e | 0) < 2) {
+             break b;
+            }
+            if (r[b + 3 | 0] | r[e | 0] != 93) {
+             break c;
+            }
+            g = b + 4 | 0;
+            if ((c - g | 0) < 2) {
+             break b;
+            }
+            if (r[b + 5 | 0] | r[g | 0] != 62) {
+             break c;
+            }
+            q[d >> 2] = b + 6;
+            return 40;
+           }
+           f = -1;
+           a = b + 2 | 0;
+           if ((c - a | 0) < 2) {
+            break b;
+           }
+           if (!r[b + 3 | 0]) {
+            a = r[e + r[b + 2 | 0] | 0] == 10 ? b + 4 | 0 : a;
+           }
+           q[d >> 2] = a;
+           return 7;
+          }
+          q[d >> 2] = b + 2;
+          return 7;
+         }
+         f = -2;
+         if ((c - b | 0) < 2) {
+          break b;
+         }
+         e = b + 2 | 0;
+         break c;
+        }
+        f = -2;
+        if ((c - b | 0) < 3) {
+         break b;
+        }
+        e = b + 3 | 0;
+        break c;
+       }
+       f = -2;
+       if ((c - b | 0) < 4) {
+        break b;
+       }
+       e = b + 4 | 0;
+       break c;
+      }
+      if (r[b | 0] <= 253) {
+       break d;
+      }
+     }
+     q[d >> 2] = b;
+     return 0;
+    }
+    e = b + 2 | 0;
+   }
+   f = c - e | 0;
+   m : {
+    if ((f | 0) < 2) {
+     break m;
+    }
+    g = a + 72 | 0;
+    while (1) {
+     b = 2;
+     n : {
+      o : {
+       p : {
+        q : {
+         a = r[e + 1 | 0];
+         h = a + -216 | 0;
+         if (h >>> 0 > 39) {
+          if (a) {
+           break n;
+          }
+          a = r[r[e | 0] + g | 0];
+          if (a >>> 0 > 10) {
+           break n;
+          }
+          if ((a | 0) == 6) {
+           break q;
+          }
+          if ((a | 0) == 7) {
+           break p;
+          }
+          if (!(1 << a & 1811)) {
+           break n;
+          }
+          break m;
+         }
+         switch (h - 4 | 0) {
+         case 0:
+         case 1:
+         case 2:
+         case 3:
+          break m;
+         case 4:
+         case 5:
+         case 6:
+         case 7:
+         case 8:
+         case 9:
+         case 10:
+         case 11:
+         case 12:
+         case 13:
+         case 14:
+         case 15:
+         case 16:
+         case 17:
+         case 18:
+         case 19:
+         case 20:
+         case 21:
+         case 22:
+         case 23:
+         case 24:
+         case 25:
+         case 26:
+         case 27:
+         case 28:
+         case 29:
+         case 30:
+         case 31:
+         case 32:
+         case 33:
+         case 34:
+          break n;
+         case 35:
+          break o;
+         default:
+          break p;
+         }
+        }
+        b = 3;
+        if ((f | 0) > 2) {
+         break n;
+        }
+        break m;
+       }
+       b = 4;
+       if ((f | 0) > 3) {
+        break n;
+       }
+       break m;
+      }
+      if (r[e | 0] > 253) {
+       break m;
+      }
+     }
+     e = b + e | 0;
+     f = c - e | 0;
+     if ((f | 0) > 1) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[d >> 2] = e;
+   f = 6;
+  }
+  return f | 0;
+ }
+ return -1;
+}
+function ZS(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ b = Ca - 112 | 0;
+ Ca = b;
+ a : {
+  b : {
+   if (a) {
+    while (1) {
+     c = s[a >> 1];
+     if (c >>> 0 > 41) {
+      break a;
+     }
+     c : {
+      d : {
+       e : {
+        switch (c - 1 | 0) {
+        default:
+         q[b >> 2] = q[a + 8 >> 2];
+         d0(489346, b);
+         break a;
+        case 0:
+         v[b + 16 >> 3] = v[a + 8 >> 3];
+         e0(489349, b + 16 | 0);
+         break a;
+        case 1:
+         q[b + 32 >> 2] = q[a + 8 >> 2];
+         d0(489352, b + 32 | 0);
+         break a;
+        case 2:
+         OZ(91);
+         ZS(q[q[a + 8 >> 2] >> 2]);
+         OZ(32);
+         ZS(q[q[a + 8 >> 2] + 4 >> 2]);
+         d0(489357, 0);
+         ZS(q[q[a + 8 >> 2] + 8 >> 2]);
+         OZ(32);
+         ZS(q[q[a + 8 >> 2] + 12 >> 2]);
+         OZ(93);
+         Ca = b + 112 | 0;
+         return;
+        case 3:
+         a = q[a + 8 >> 2];
+         e = v[a >> 3];
+         v[b + 56 >> 3] = v[a + 8 >> 3];
+         v[b + 48 >> 3] = e;
+         e0(489360, b + 48 | 0);
+         break a;
+        case 4:
+         q[b + 64 >> 2] = q[a + 8 >> 2] ? 489369 : 489374;
+         d0(488951, b - -64 | 0);
+         break a;
+        case 5:
+         f0(489677);
+         break a;
+        case 6:
+         d0(489380, 0);
+         US(q[a + 8 >> 2]);
+         OZ(10);
+         break a;
+        case 7:
+         f0(489673);
+         break a;
+        case 8:
+         f = b, g = eR(q[a + 8 >> 2]), q[f + 80 >> 2] = g;
+         d0(489389, b + 80 | 0);
+         a = q[a + 12 >> 2];
+         if (a >>> 0 > 1) {
+          break a;
+         }
+         if (a - 1) {
+          d0(489393, 0);
+          break a;
+         }
+         d0(489404, 0);
+         break a;
+        case 9:
+         q[b + 96 >> 2] = q[a + 8 >> 2];
+         d0(488951, b + 96 | 0);
+         break a;
+        case 18:
+         ZS(q[a + 8 >> 2]);
+         d0(489412, 0);
+         a = a + 12 | 0;
+         ZS(q[q[a >> 2] + 8 >> 2]);
+         d0(489420, 0);
+         a = q[a >> 2] + 12 | 0;
+         break c;
+        case 10:
+        case 11:
+        case 12:
+        case 13:
+        case 14:
+        case 15:
+        case 19:
+        case 20:
+        case 21:
+        case 22:
+        case 23:
+        case 24:
+        case 25:
+        case 26:
+        case 27:
+        case 28:
+        case 29:
+        case 30:
+        case 31:
+        case 32:
+        case 33:
+        case 35:
+         ZS(q[a + 8 >> 2]);
+         OZ(32);
+         c = a + 8 | 0;
+         d = s[a >> 1] + -11 | 0;
+         f : {
+          if (d >>> 0 > 25) {
+           break f;
+          }
+          g : {
+           switch (d - 1 | 0) {
+           default:
+            d0(489092, 0);
+            break f;
+           case 0:
+            d0(489099, 0);
+            break f;
+           case 1:
+            d0(489121, 0);
+            break f;
+           case 2:
+            d0(489113, 0);
+            break f;
+           case 3:
+            d0(489134, 0);
+            break f;
+           case 4:
+            d0(489141, 0);
+            break f;
+           case 8:
+            d0(489175, 0);
+            break f;
+           case 9:
+            d0(489178, 0);
+            break f;
+           case 10:
+            d0(489182, 0);
+            if (!(o[a + 2 | 0] & 1)) {
+             break f;
+            }
+            d0(489188, 0);
+            break f;
+           case 11:
+            d0(489204, 0);
+            if (!(o[a + 2 | 0] & 1)) {
+             break f;
+            }
+            d0(489188, 0);
+            break f;
+           case 15:
+            d0(489213, 0);
+            break f;
+           case 16:
+            d0(489218, 0);
+            break f;
+           case 17:
+            d0(489228, 0);
+            break f;
+           case 18:
+            d0(489233, 0);
+            break f;
+           case 12:
+            d0(489243, 0);
+            break f;
+           case 13:
+            d0(489325, 0);
+            if (!(o[a + 2 | 0] & 1)) {
+             break f;
+            }
+            d0(489188, 0);
+            break f;
+           case 14:
+            d0(489252, 0);
+            break f;
+           case 19:
+            d0(489264, 0);
+            break f;
+           case 20:
+            d0(489269, 0);
+            break f;
+           case 21:
+            d0(489275, 0);
+            break f;
+           case 22:
+            d0(489281, 0);
+            break f;
+           case 5:
+           case 6:
+           case 7:
+           case 23:
+            break f;
+           case 24:
+            break g;
+           }
+          }
+          d0(489296, 0);
+         }
+         OZ(32);
+         a = c + 4 | 0;
+         break c;
+        case 34:
+         d0(489428, 0);
+         break d;
+        case 36:
+         d0(489433, 0);
+         break d;
+        case 37:
+         d0(489440, 0);
+         break d;
+        case 38:
+         d0(489446, 0);
+         break d;
+        case 16:
+        case 17:
+         break a;
+        case 40:
+         break b;
+        case 39:
+         break e;
+        }
+       }
+       d0(489453, 0);
+      }
+      a = a + 8 | 0;
+     }
+     a = q[a >> 2];
+     if (a) {
+      continue;
+     }
+     break;
+    }
+   }
+   d0(489341, 0);
+   break a;
+  }
+  d0(489333, 0);
+ }
+ Ca = b + 112 | 0;
+}
+function MK(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, p = 0, r = 0, s = 0, t = 0, u = 0, v = 0;
+ g = Ca - 48 | 0;
+ Ca = g;
+ f = q[a + 11748 >> 2] == 2;
+ h = f ? a + 11760 | 0 : a + 11776 | 0;
+ o = q[h + 4 >> 2];
+ p = q[h >> 2];
+ l = q[c >> 2];
+ i = q[c + 4 >> 2];
+ a : {
+  if ((i | 0) == (o | 0) ? (p | 0) == (l | 0) : 0) {
+   break a;
+  }
+  j = q[d >> 2];
+  f = f ? a + 11752 | 0 : a + 11768 | 0;
+  k = q[f + 4 >> 2];
+  m = q[f >> 2];
+  r = (p - m | 0) + 16 >> 5;
+  d = q[d + 4 >> 2];
+  p = (d - i | 0) + 16 >> 5;
+  t = (o - k | 0) + 16 >> 5;
+  o = (j - l | 0) + 16 >> 5;
+  r = Ee(r, p) - Ee(t, o) | 0;
+  if (!r) {
+   k = 0;
+   m = 0;
+   break a;
+  }
+  k = Fe(Ee((l - m | 0) + 16 >> 5, p) - Ee((i - k | 0) + 16 >> 5, o) | 0, r);
+  m = q[f >> 2];
+  m = Ee(k, q[h >> 2] - m | 0) + m | 0;
+  o = q[f + 4 >> 2];
+  l = Ee(k, q[h + 4 >> 2] - o | 0);
+  k = q[f >> 2];
+  p = q[h >> 2];
+  if ((k | 0) == (p | 0)) {
+   r = m - k | 0;
+   i = r >> 31;
+   m = (i ^ i + r) < q[a + 11700 >> 2] ? k : m;
+  }
+  k = l + o | 0;
+  f = q[f + 4 >> 2];
+  o = q[h + 4 >> 2];
+  if ((f | 0) == (o | 0)) {
+   l = k - f | 0;
+   i = l >> 31;
+   k = (i ^ i + l) < q[a + 11700 >> 2] ? f : k;
+  }
+  i = q[c >> 2];
+  if ((i | 0) == (j | 0)) {
+   l = m - j | 0;
+   f = l >> 31;
+   m = (f ^ f + l) < q[a + 11700 >> 2] ? j : m;
+  }
+  j = q[c + 4 >> 2];
+  if ((j | 0) == (d | 0)) {
+   l = k - d | 0;
+   f = l >> 31;
+   k = (f ^ f + l) < q[a + 11700 >> 2] ? d : k;
+  }
+  f = m - ((i + p | 0) / 2 | 0) | 0;
+  d = f >> 31;
+  d = d ^ d + f;
+  f = q[a + 11696 >> 2];
+  if ((d | 0) > (f | 0)) {
+   break a;
+  }
+  j = k - ((j + o | 0) / 2 | 0) | 0;
+  d = j >> 31;
+  if ((d ^ d + j) > (f | 0)) {
+   break a;
+  }
+  q[h >> 2] = m;
+  q[h + 4 >> 2] = k;
+  s = 1;
+ }
+ f = q[a + 11732 >> 2];
+ h = f;
+ d = q[a + 11728 >> 2];
+ q[g + 8 >> 2] = d;
+ q[g + 12 >> 2] = f;
+ f = q[a + 11748 >> 2] + -2 | 0;
+ b : {
+  if (f >>> 0 > 2) {
+   break b;
+  }
+  c : {
+   switch (f - 1 | 0) {
+   default:
+    f = d;
+    q[g + 40 >> 2] = 2;
+    d : {
+     if (e) {
+      i = q[a + 11764 >> 2];
+      j = Ee(q[a + 11644 >> 2], q[a + 11760 >> 2]) + Ee(q[a + 11648 >> 2], i) | 0;
+      i = UK(a + 3876 | 0, i);
+      break d;
+     }
+     i = q[a + 11764 >> 2];
+     j = Ee(q[a + 11644 >> 2], q[a + 11760 >> 2]) + Ee(q[a + 11648 >> 2], i) | 0;
+     i = UK(b, i);
+    }
+    o = Ee(q[q[a >> 2] + 64 >> 2], j);
+    l = Ee(q[q[a >> 2] + 72 >> 2], i);
+    p = q[a + 11656 >> 2];
+    j = (Ee(q[q[a >> 2] + 68 >> 2], j) + Ee(q[q[a >> 2] + 76 >> 2], i) | 0) + q[a + 11660 >> 2] | 0;
+    q[g + 20 >> 2] = j;
+    i = p + (l + o | 0) | 0;
+    q[g + 16 >> 2] = i;
+    if ((h | 0) == (j | 0) ? (f | 0) == (i | 0) : 0) {
+     break b;
+    }
+    d = q[a + 4 >> 2];
+    n[q[d + 4 >> 2]](d, g + 8 | 0);
+    d = q[g + 20 >> 2];
+    q[a + 11728 >> 2] = q[g + 16 >> 2];
+    q[a + 11732 >> 2] = d;
+    break b;
+   case 0:
+    break b;
+   case 1:
+    break c;
+   }
+  }
+  q[g + 40 >> 2] = 4;
+  d = q[a + 11764 >> 2];
+  h = Ee(q[a + 11644 >> 2], q[a + 11760 >> 2]);
+  f = Ee(q[a + 11648 >> 2], d);
+  d = UK(b, d);
+  h = f + h | 0;
+  u = g, v = (Ee(q[q[a >> 2] + 64 >> 2], h) + Ee(q[q[a >> 2] + 72 >> 2], d) | 0) + q[a + 11656 >> 2] | 0, q[u + 16 >> 2] = v;
+  f = Ee(q[q[a >> 2] + 68 >> 2], h) + Ee(q[q[a >> 2] + 76 >> 2], d) | 0;
+  d = a + 11660 | 0;
+  q[g + 20 >> 2] = f + q[d >> 2];
+  h = q[a + 11772 >> 2];
+  f = Ee(q[a + 11644 >> 2], q[a + 11768 >> 2]);
+  j = Ee(q[a + 11648 >> 2], h);
+  h = UK(b, h);
+  f = f + j | 0;
+  u = g, v = (Ee(q[q[a >> 2] + 64 >> 2], f) + Ee(q[q[a >> 2] + 72 >> 2], h) | 0) + q[a + 11656 >> 2] | 0, q[u + 24 >> 2] = v;
+  u = g, v = (Ee(q[q[a >> 2] + 68 >> 2], f) + Ee(q[q[a >> 2] + 76 >> 2], h) | 0) + q[d >> 2] | 0, q[u + 28 >> 2] = v;
+  h = q[a + 11780 >> 2];
+  f = Ee(q[a + 11644 >> 2], q[a + 11776 >> 2]);
+  j = Ee(q[a + 11648 >> 2], h);
+  h = UK(b, h);
+  f = f + j | 0;
+  u = g, v = (Ee(q[q[a >> 2] + 64 >> 2], f) + Ee(q[q[a >> 2] + 72 >> 2], h) | 0) + q[a + 11656 >> 2] | 0, q[u + 32 >> 2] = v;
+  u = g, v = (Ee(q[q[a >> 2] + 68 >> 2], f) + Ee(q[q[a >> 2] + 76 >> 2], h) | 0) + q[d >> 2] | 0, q[u + 36 >> 2] = v;
+  d = q[a + 4 >> 2];
+  n[q[d + 12 >> 2]](d, g + 8 | 0);
+  d = q[g + 36 >> 2];
+  q[a + 11728 >> 2] = q[g + 32 >> 2];
+  q[a + 11732 >> 2] = d;
+ }
+ e : {
+  if (s ? !e : 0) {
+   break e;
+  }
+  f : {
+   if (e) {
+    b = q[c + 4 >> 2];
+    j = Ee(q[a + 11644 >> 2], q[c >> 2]) + Ee(q[a + 11648 >> 2], b) | 0;
+    b = UK(a + 3876 | 0, b);
+    break f;
+   }
+   d = q[c + 4 >> 2];
+   j = Ee(q[a + 11644 >> 2], q[c >> 2]) + Ee(q[a + 11648 >> 2], d) | 0;
+   b = UK(b, d);
+  }
+  u = g, v = (Ee(q[q[a >> 2] + 64 >> 2], j) + Ee(q[q[a >> 2] + 72 >> 2], b) | 0) + q[a + 11656 >> 2] | 0, q[u + 16 >> 2] = v;
+  b = (Ee(q[q[a >> 2] + 68 >> 2], j) + Ee(q[q[a >> 2] + 76 >> 2], b) | 0) + q[a + 11660 >> 2] | 0;
+  q[g + 20 >> 2] = b;
+  if ((b | 0) == q[a + 11732 >> 2] ? q[g + 16 >> 2] == q[a + 11728 >> 2] : 0) {
+   break e;
+  }
+  q[g + 40 >> 2] = 2;
+  b = q[a + 11732 >> 2];
+  q[g + 8 >> 2] = q[a + 11728 >> 2];
+  q[g + 12 >> 2] = b;
+  b = q[a + 4 >> 2];
+  n[q[b + 4 >> 2]](b, g + 8 | 0);
+  b = q[g + 20 >> 2];
+  q[a + 11728 >> 2] = q[g + 16 >> 2];
+  q[a + 11732 >> 2] = b;
+ }
+ if (s) {
+  q[c >> 2] = m;
+  q[c + 4 >> 2] = k;
+ }
+ Ca = g + 48 | 0;
+}
+function Xk(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ g = q[a + 16 >> 2];
+ if (t[a + 20 >> 2] >= g + 16 >>> 0) {
+  h = q[a + 32 >> 2];
+  f = h;
+  d = q[g >> 2];
+  c = r[d | 0];
+  a : {
+   if ((c | 0) == 30) {
+    c = Vk(a, d, 0, 0);
+    break a;
+   }
+   e = d + 1 | 0;
+   b : {
+    b = c + -28 | 0;
+    c : {
+     d : {
+      if (b >>> 0 <= 1) {
+       if (b - 1) {
+        b = 0;
+        d = d + 2 | 0;
+        if (t[a + 8 >> 2] <= d >>> 0) {
+         break b;
+        }
+        b = (r[d | 0] | r[e | 0] << 8) << 16 >> 16;
+        break c;
+       }
+       b = 0;
+       if (t[a + 8 >> 2] <= d + 4 >>> 0) {
+        break b;
+       }
+       b = r[d + 1 | 0] | r[d + 2 | 0] << 8 | (r[d + 3 | 0] << 16 | r[d + 4 | 0] << 24);
+       b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+       break d;
+      }
+      if (c >>> 0 <= 246) {
+       b = c + -139 | 0;
+       break b;
+      }
+      d = q[a + 8 >> 2];
+      if (c >>> 0 <= 250) {
+       b = 0;
+       if (d >>> 0 <= e >>> 0) {
+        break b;
+       }
+       b = (r[e | 0] | c << 8) + -63124 | 0;
+       break d;
+      }
+      b = 0;
+      if (d >>> 0 <= e >>> 0) {
+       break b;
+      }
+      b = 64148 - (r[e | 0] | c << 8) | 0;
+     }
+     c = 2147483647;
+     if ((b | 0) > 32767) {
+      break a;
+     }
+    }
+    c = (b | 0) < -32767 ? -2147483647 : b << 16;
+    break a;
+   }
+   c = b << 16;
+  }
+  i = f, j = Ae(c), q[i + 84 >> 2] = j;
+  f = h;
+  c = q[g + 4 >> 2];
+  e = r[c | 0];
+  e : {
+   if ((e | 0) == 30) {
+    c = Vk(a, c, 0, 0);
+    break e;
+   }
+   d = c + 1 | 0;
+   f : {
+    b = e + -28 | 0;
+    g : {
+     h : {
+      if (b >>> 0 <= 1) {
+       if (b - 1) {
+        b = 0;
+        c = c + 2 | 0;
+        if (t[a + 8 >> 2] <= c >>> 0) {
+         break f;
+        }
+        b = (r[c | 0] | r[d | 0] << 8) << 16 >> 16;
+        break g;
+       }
+       b = 0;
+       if (t[a + 8 >> 2] <= c + 4 >>> 0) {
+        break f;
+       }
+       b = r[c + 1 | 0] | r[c + 2 | 0] << 8 | (r[c + 3 | 0] << 16 | r[c + 4 | 0] << 24);
+       b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+       break h;
+      }
+      if (e >>> 0 <= 246) {
+       b = e + -139 | 0;
+       break f;
+      }
+      c = q[a + 8 >> 2];
+      if (e >>> 0 <= 250) {
+       b = 0;
+       if (c >>> 0 <= d >>> 0) {
+        break f;
+       }
+       b = (r[d | 0] | e << 8) + -63124 | 0;
+       break h;
+      }
+      b = 0;
+      if (c >>> 0 <= d >>> 0) {
+       break f;
+      }
+      b = 64148 - (r[d | 0] | e << 8) | 0;
+     }
+     c = 2147483647;
+     if ((b | 0) > 32767) {
+      break e;
+     }
+    }
+    c = (b | 0) < -32767 ? -2147483647 : b << 16;
+    break e;
+   }
+   c = b << 16;
+  }
+  i = f, j = Ae(c), q[i + 88 >> 2] = j;
+  f = h;
+  b = q[g + 8 >> 2];
+  e = r[b | 0];
+  i : {
+   if ((e | 0) == 30) {
+    c = Vk(a, b, 0, 0);
+    break i;
+   }
+   d = b + 1 | 0;
+   c = e + -28 | 0;
+   j : {
+    k : {
+     if (c >>> 0 <= 1) {
+      if (c - 1) {
+       b = b + 2 | 0;
+       c = 0;
+       if (t[a + 8 >> 2] <= b >>> 0) {
+        break i;
+       }
+       b = (r[b | 0] | r[d | 0] << 8) << 16 >> 16;
+       break j;
+      }
+      c = 0;
+      if (t[a + 8 >> 2] <= b + 4 >>> 0) {
+       break i;
+      }
+      b = r[b + 1 | 0] | r[b + 2 | 0] << 8 | (r[b + 3 | 0] << 16 | r[b + 4 | 0] << 24);
+      b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+      break k;
+     }
+     c = (e << 16) + -9109504 | 0;
+     if (e >>> 0 <= 246) {
+      break i;
+     }
+     b = q[a + 8 >> 2];
+     if (e >>> 0 <= 250) {
+      c = 0;
+      if (b >>> 0 <= d >>> 0) {
+       break i;
+      }
+      b = (r[d | 0] | e << 8) + -63124 | 0;
+      break k;
+     }
+     c = 0;
+     if (b >>> 0 <= d >>> 0) {
+      break i;
+     }
+     b = 64148 - (r[d | 0] | e << 8) | 0;
+    }
+    c = 2147483647;
+    if ((b | 0) > 32767) {
+     break i;
+    }
+   }
+   c = (b | 0) < -32767 ? -2147483647 : b << 16;
+  }
+  i = f, j = Ae(c), q[i + 92 >> 2] = j;
+  b = q[g + 12 >> 2];
+  c = r[b | 0];
+  l : {
+   if ((c | 0) == 30) {
+    f = Vk(a, b, 0, 0);
+    break l;
+   }
+   e = b + 1 | 0;
+   d = c + -28 | 0;
+   m : {
+    n : {
+     if (d >>> 0 <= 1) {
+      if (d - 1) {
+       c = q[a + 8 >> 2];
+       a = b + 2 | 0;
+       f = 0;
+       if (c >>> 0 <= a >>> 0) {
+        break l;
+       }
+       a = (r[a | 0] | r[e | 0] << 8) << 16 >> 16;
+       break m;
+      }
+      f = 0;
+      if (t[a + 8 >> 2] <= b + 4 >>> 0) {
+       break l;
+      }
+      a = r[b + 1 | 0] | r[b + 2 | 0] << 8 | (r[b + 3 | 0] << 16 | r[b + 4 | 0] << 24);
+      a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+      break n;
+     }
+     f = (c << 16) + -9109504 | 0;
+     if (c >>> 0 <= 246) {
+      break l;
+     }
+     a = q[a + 8 >> 2];
+     if (c >>> 0 <= 250) {
+      f = 0;
+      if (a >>> 0 <= e >>> 0) {
+       break l;
+      }
+      a = (r[e | 0] | c << 8) + -63124 | 0;
+      break n;
+     }
+     f = 0;
+     if (a >>> 0 <= e >>> 0) {
+      break l;
+     }
+     a = 64148 - (r[e | 0] | c << 8) | 0;
+    }
+    f = 2147483647;
+    if ((a | 0) > 32767) {
+     break l;
+    }
+   }
+   f = (a | 0) < -32767 ? -2147483647 : a << 16;
+  }
+  i = h, j = Ae(f), q[i + 96 >> 2] = j;
+  a = 0;
+ } else {
+  a = 161;
+ }
+ return a | 0;
+}
+function no(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0;
+ n = q[a + 16 >> 2];
+ l = r[n + 6 | 0] << 8 | r[n + 7 | 0] & 254;
+ if (!l) {
+  return 0;
+ }
+ A = q[a >> 2];
+ E = q[A + 508 >> 2] + q[A + 512 >> 2] | 0;
+ y = l + 2 | 0;
+ x = n + 14 | 0;
+ i = q[b >> 2] + ((c | 0) != 0) | 0;
+ z = l >>> 1 | 0;
+ g = z;
+ a : {
+  b : {
+   while (1) {
+    c : {
+     e = g + k | 0;
+     d = (e & -2) + x | 0;
+     j = r[d | 0] << 8 | r[d + 1 | 0];
+     e = e >>> 1 | 0;
+     f = e;
+     d = d + y | 0;
+     v = r[d | 0] << 8 | r[d + 1 | 0];
+     if (i >>> 0 >= v >>> 0) {
+      if (i >>> 0 <= j >>> 0) {
+       break c;
+      }
+      k = e + 1 | 0;
+      f = g;
+     }
+     g = f;
+     if (k >>> 0 < f >>> 0) {
+      continue;
+     }
+     break b;
+    }
+    break;
+   }
+   k = 0;
+   d = d + l | 0;
+   f = d + l | 0;
+   B = r[f | 0] << 8 | r[f + 1 | 0];
+   h = (v | 0) == 65535 & e >>> 0 >= z + -1 >>> 0 & (j | 0) == 65535 & (B | 0) != 0 & (f + B | 0) + 2 >>> 0 > E >>> 0;
+   o = h ? 0 : B;
+   d = r[d | 0] | r[d + 1 | 0] << 8;
+   F = (d << 24 | d << 8 & 16711680) >> 16;
+   m = h ? 1 : F;
+   d : {
+    e : {
+     f : {
+      if (r[a + 20 | 0] & 2) {
+       p = e + 1 | 0;
+       h = (o | 0) == 65535 ? p : e;
+       if (!e) {
+        break f;
+       }
+       g = e + -1 | 0;
+       u = g << 1;
+       d = u + x | 0;
+       s = r[d | 0] << 8 | r[d + 1 | 0];
+       if (i >>> 0 > s >>> 0) {
+        k = e;
+        break f;
+       }
+       n = (n + w(l, 3) | 0) + 16 | 0;
+       m = x + y | 0;
+       g : {
+        while (1) {
+         h : {
+          d = s;
+          k = g;
+          C = m + u | 0;
+          D = C + l | 0;
+          f = D + l | 0;
+          o = r[f | 0] << 8 | r[f + 1 | 0];
+          h = (o | 0) == 65535 ? h : g;
+          if (!g) {
+           break h;
+          }
+          g = k + -1 | 0;
+          u = g << 1;
+          s = u + x | 0;
+          s = r[s | 0] << 8 | r[s + 1 | 0];
+          if (i >>> 0 <= s >>> 0) {
+           continue;
+          }
+          break g;
+         }
+         break;
+        }
+        k = 0;
+        f = n;
+       }
+       g = r[D | 0] | r[D + 1 | 0] << 8;
+       m = (g << 24 | g << 8 & 16711680) >> 16;
+       u = r[C + 1 | 0] | r[C | 0] << 8;
+       break e;
+      }
+      g = 0;
+      if ((o | 0) != 65535) {
+       break d;
+      }
+      break a;
+     }
+     d = j;
+     u = v;
+    }
+    i : {
+     if ((h | 0) != (p | 0)) {
+      break i;
+     }
+     h = (e | 0) == (k | 0);
+     d = h ? d : j;
+     g = 0;
+     if (p >>> 0 >= z >>> 0) {
+      j = d;
+      break a;
+     }
+     k = p << 1;
+     j = x + k | 0;
+     f = y + j | 0;
+     n = r[f | 0] << 8 | r[f + 1 | 0];
+     j : {
+      if (i >>> 0 < n >>> 0) {
+       m = h ? m : F;
+       o = h ? o : B;
+       u = h ? u : v;
+       h = e;
+       break j;
+      }
+      v = (x + y | 0) + l | 0;
+      h = e;
+      k : {
+       while (1) {
+        l : {
+         d = j;
+         u = n;
+         s = k + v | 0;
+         f = s + l | 0;
+         o = r[f | 0] << 8 | r[f + 1 | 0];
+         h = (o | 0) == 65535 ? h : p;
+         p = p + 1 | 0;
+         if ((z | 0) == (p | 0)) {
+          break l;
+         }
+         k = p << 1;
+         j = x + k | 0;
+         f = y + j | 0;
+         n = r[f | 0] << 8 | r[f + 1 | 0];
+         if (i >>> 0 >= n >>> 0) {
+          continue;
+         }
+         break k;
+        }
+        break;
+       }
+       p = z;
+      }
+      j = r[s | 0] | r[s + 1 | 0] << 8;
+      m = (j << 24 | j << 8 & 16711680) >> 16;
+      d = r[d + 1 | 0] | r[d | 0] << 8;
+     }
+     k = p + -1 | 0;
+     if ((e | 0) != (h | 0)) {
+      break i;
+     }
+     e = k;
+     j = d;
+     break a;
+    }
+    if ((h | 0) == (k | 0)) {
+     e = h;
+     j = d;
+     v = u;
+     break d;
+    }
+    e = (h << 1) + x | 0;
+    j = r[e | 0] << 8 | r[e + 1 | 0];
+    e = e + y | 0;
+    v = r[e | 0] << 8 | r[e + 1 | 0];
+    e = e + l | 0;
+    f = e + l | 0;
+    o = r[f | 0] << 8 | r[f + 1 | 0];
+    e = r[e | 0] | r[e + 1 | 0] << 8;
+    m = (e << 24 | e << 8 & 16711680) >> 16;
+    e = h;
+   }
+   if (o) {
+    g = 0;
+    d = ((i - v << 1) + o | 0) + f | 0;
+    if (d >>> 0 > E >>> 0 ? c : 0) {
+     break a;
+    }
+    d = r[d + 1 | 0] | r[d | 0] << 8;
+    if (!d) {
+     break a;
+    }
+    d = d + m & 65535;
+    g = d >>> 0 < t[A + 16 >> 2] ? d : 0;
+    break a;
+   }
+   h = i + m | 0;
+   g = h & 65535;
+   if (!c | g >>> 0 < t[A + 16 >> 2]) {
+    break a;
+   }
+   d = j + m | 0;
+   m : {
+    if ((h | 0) > -1) {
+     break m;
+    }
+    g = 0;
+    if ((d | 0) < 0) {
+     break m;
+    }
+    i = 0 - m | 0;
+    break a;
+   }
+   i = (h | 0) < 65536 ? (d | 0) > 65535 ? 65536 - m | 0 : i : i;
+  }
+  g = 0;
+ }
+ if (!c) {
+  return g;
+ }
+ n : {
+  if (i >>> 0 > j >>> 0) {
+   f = 0;
+   e = e + 1 | 0;
+   if ((z | 0) == (e | 0)) {
+    break n;
+   }
+  }
+  if (lq(a, e)) {
+   if (!g) {
+    return 0;
+   }
+   q[b >> 2] = i;
+   return g;
+  }
+  q[a + 24 >> 2] = i;
+  o : {
+   if (g) {
+    q[a + 28 >> 2] = g;
+    f = g;
+    break o;
+   }
+   q[a + 24 >> 2] = i;
+   po(a);
+   f = q[a + 28 >> 2];
+   if (!f) {
+    return 0;
+   }
+   i = q[a + 24 >> 2];
+  }
+  q[b >> 2] = i;
+ }
+ return f;
+}
+function YV(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ if (a) {
+  c = q[a + 360 >> 2];
+  while (1) {
+   a : {
+    if (!c) {
+     c = q[a + 364 >> 2];
+     if (!c) {
+      break a;
+     }
+     q[a + 364 >> 2] = 0;
+    }
+    d = q[c >> 2];
+    n[q[a + 20 >> 2]](q[c + 36 >> 2]);
+    b = q[c + 44 >> 2];
+    if (b) {
+     while (1) {
+      e = q[b + 4 >> 2];
+      n[q[a + 20 >> 2]](q[b + 16 >> 2]);
+      n[q[a + 20 >> 2]](b);
+      b = e;
+      if (b) {
+       continue;
+      }
+      break;
+     }
+    }
+    n[q[a + 20 >> 2]](c);
+    c = d;
+    continue;
+   }
+   break;
+  }
+  b = q[a + 296 >> 2];
+  while (1) {
+   b : {
+    if (!b) {
+     b = q[a + 300 >> 2];
+     if (!b) {
+      break b;
+     }
+     q[a + 300 >> 2] = 0;
+    }
+    c = q[b + 8 >> 2];
+    n[q[a + 20 >> 2]](b);
+    b = c;
+    continue;
+   }
+   break;
+  }
+  b = q[a + 372 >> 2];
+  if (b) {
+   while (1) {
+    c = q[b + 4 >> 2];
+    n[q[a + 20 >> 2]](q[b + 16 >> 2]);
+    n[q[a + 20 >> 2]](b);
+    b = c;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  b = q[a + 368 >> 2];
+  if (b) {
+   while (1) {
+    c = q[b + 4 >> 2];
+    n[q[a + 20 >> 2]](q[b + 16 >> 2]);
+    n[q[a + 20 >> 2]](b);
+    b = c;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  b = q[a + 412 >> 2];
+  if (b) {
+   while (1) {
+    c = q[b >> 2];
+    n[q[q[a + 432 >> 2] + 8 >> 2]](b);
+    b = c;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  b = q[a + 416 >> 2];
+  if (b) {
+   while (1) {
+    c = q[b >> 2];
+    n[q[q[a + 432 >> 2] + 8 >> 2]](b);
+    b = c;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  b = q[a + 436 >> 2];
+  if (b) {
+   while (1) {
+    c = q[b >> 2];
+    n[q[q[a + 456 >> 2] + 8 >> 2]](b);
+    b = c;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  b = q[a + 440 >> 2];
+  if (b) {
+   while (1) {
+    c = q[b >> 2];
+    n[q[q[a + 456 >> 2] + 8 >> 2]](b);
+    b = c;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  n[q[a + 20 >> 2]](q[a + 228 >> 2]);
+  c : {
+   if (r[a + 484 | 0]) {
+    break c;
+   }
+   d = q[a + 352 >> 2];
+   if (!d) {
+    break c;
+   }
+   b = q[d + 20 >> 2];
+   f = b + (q[d + 28 >> 2] << 2) | 0;
+   g = q[a + 472 >> 2];
+   while (1) {
+    if ((b | 0) != (f | 0)) {
+     e = q[b >> 2];
+     c = b + 4 | 0;
+     b = c;
+     if (!e) {
+      continue;
+     }
+     b = c;
+     if (!q[e + 16 >> 2]) {
+      continue;
+     }
+     n[q[a + 20 >> 2]](q[e + 20 >> 2]);
+     continue;
+    }
+    break;
+   }
+   c = q[d >> 2];
+   e = q[q[d + 16 >> 2] + 8 >> 2];
+   if (q[d + 8 >> 2]) {
+    b = 0;
+    while (1) {
+     n[e](q[(b << 2) + c >> 2]);
+     c = q[d >> 2];
+     e = q[q[d + 16 >> 2] + 8 >> 2];
+     b = b + 1 | 0;
+     if (b >>> 0 < t[d + 8 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   n[e](c);
+   c = q[q[d + 148 >> 2] + 8 >> 2];
+   e = q[d + 132 >> 2];
+   if (q[d + 140 >> 2]) {
+    b = 0;
+    while (1) {
+     n[c](q[(b << 2) + e >> 2]);
+     e = q[d + 132 >> 2];
+     c = q[q[d + 148 >> 2] + 8 >> 2];
+     b = b + 1 | 0;
+     if (b >>> 0 < t[d + 140 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   n[c](e);
+   c = q[q[d + 36 >> 2] + 8 >> 2];
+   e = q[d + 20 >> 2];
+   if (q[d + 28 >> 2]) {
+    b = 0;
+    while (1) {
+     n[c](q[(b << 2) + e >> 2]);
+     e = q[d + 20 >> 2];
+     c = q[q[d + 36 >> 2] + 8 >> 2];
+     b = b + 1 | 0;
+     if (b >>> 0 < t[d + 28 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   n[c](e);
+   c = q[q[d + 56 >> 2] + 8 >> 2];
+   e = q[d + 40 >> 2];
+   if (q[d + 48 >> 2]) {
+    b = 0;
+    while (1) {
+     n[c](q[(b << 2) + e >> 2]);
+     e = q[d + 40 >> 2];
+     c = q[q[d + 56 >> 2] + 8 >> 2];
+     b = b + 1 | 0;
+     if (b >>> 0 < t[d + 48 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   n[c](e);
+   c = q[q[d + 76 >> 2] + 8 >> 2];
+   e = q[d + 60 >> 2];
+   if (q[d + 68 >> 2]) {
+    b = 0;
+    while (1) {
+     n[c](q[(b << 2) + e >> 2]);
+     e = q[d + 60 >> 2];
+     c = q[q[d + 76 >> 2] + 8 >> 2];
+     b = b + 1 | 0;
+     if (b >>> 0 < t[d + 68 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   n[c](e);
+   b = q[d + 80 >> 2];
+   if (b) {
+    while (1) {
+     c = q[b >> 2];
+     n[q[q[d + 100 >> 2] + 8 >> 2]](b);
+     b = c;
+     if (b) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = q[d + 84 >> 2];
+   if (b) {
+    while (1) {
+     c = q[b >> 2];
+     n[q[q[d + 100 >> 2] + 8 >> 2]](b);
+     b = c;
+     if (b) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = q[d + 104 >> 2];
+   if (b) {
+    while (1) {
+     c = q[b >> 2];
+     n[q[q[d + 124 >> 2] + 8 >> 2]](b);
+     b = c;
+     if (b) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = q[d + 108 >> 2];
+   if (b) {
+    while (1) {
+     c = q[b >> 2];
+     n[q[q[d + 124 >> 2] + 8 >> 2]](b);
+     b = c;
+     if (b) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (!g) {
+    n[q[a + 20 >> 2]](q[d + 184 >> 2]);
+    n[q[a + 20 >> 2]](q[d + 164 >> 2]);
+   }
+   n[q[a + 20 >> 2]](d);
+  }
+  n[q[a + 20 >> 2]](q[a + 388 >> 2]);
+  n[q[a + 20 >> 2]](q[a + 460 >> 2]);
+  n[q[a + 20 >> 2]](q[a + 8 >> 2]);
+  n[q[a + 20 >> 2]](q[a + 44 >> 2]);
+  n[q[a + 20 >> 2]](q[a + 392 >> 2]);
+  n[q[a + 20 >> 2]](q[a + 236 >> 2]);
+  b = q[a + 248 >> 2];
+  if (b) {
+   n[b](q[a + 240 >> 2]);
+  }
+  n[q[a + 20 >> 2]](a);
+ }
+}
+function Rr(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ j = r[c + 2 | 0];
+ k = r[c + 3 | 0];
+ d = q[b + 4 >> 2];
+ l = q[d + 80 >> 2];
+ b = r[c + 7 | 0] | r[c + 6 | 0] << 8;
+ if ((b | 0) != 65535) {
+  i = q[a + 12 >> 2] + (b << 1) | 0;
+  b = k & 31;
+  a : {
+   if (b) {
+    e = q[a + 4 >> 2];
+    if (t[e + 20 >> 2] > i >>> 0) {
+     break a;
+    }
+    f = q[e + 24 >> 2];
+    if (f >>> 0 < i >>> 0 | f - i >>> 0 < b << 1 >>> 0) {
+     break a;
+    }
+    f = e + 28 | 0;
+    e = q[f >> 2];
+    q[f >> 2] = e + -1;
+    if ((e | 0) < 1) {
+     break a;
+    }
+   }
+   h = b;
+  }
+  xG(d, q[a + 8 >> 2]);
+  n = j & 4;
+  b : {
+   if (n | t[d + 72 >> 2] >= t[d + 76 >> 2]) {
+    break b;
+   }
+   if (!pG(d, 0, 1)) {
+    break b;
+   }
+   e = q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) | 0;
+   f = q[e + 4 >> 2];
+   b = q[d + 92 >> 2] + w(q[d + 80 >> 2], 20) | 0;
+   q[b >> 2] = q[e >> 2];
+   q[b + 4 >> 2] = f;
+   q[b + 16 >> 2] = q[e + 16 >> 2];
+   f = q[e + 12 >> 2];
+   q[b + 8 >> 2] = q[e + 8 >> 2];
+   q[b + 12 >> 2] = f;
+   q[d + 80 >> 2] = q[d + 80 >> 2] + 1;
+  }
+  if (h) {
+   e = 0;
+   while (1) {
+    b = i + (e << 1) | 0;
+    f = r[b | 0];
+    g = r[b + 1 | 0];
+    c : {
+     if (!pG(d, 0, 1)) {
+      q[160660] = q[67764];
+      b = q[67763];
+      q[160658] = q[67762];
+      q[160659] = b;
+      b = q[67761];
+      q[160656] = q[67760];
+      q[160657] = b;
+      break c;
+     }
+     b = q[d + 72 >> 2];
+     m = q[d + 76 >> 2];
+     if (!(q[d + 80 >> 2] | (b | 0) != (m | 0))) {
+      q[160660] = q[67764];
+      b = q[67763];
+      q[160658] = q[67762];
+      q[160659] = b;
+      b = q[67761];
+      q[160656] = q[67760];
+      q[160657] = b;
+      break c;
+     }
+     o = g | f << 8;
+     d : {
+      if (b >>> 0 < m >>> 0) {
+       f = q[d + 80 >> 2];
+       g = q[d + 92 >> 2];
+       b = q[d + 88 >> 2] + w(b, 20) | 0;
+       break d;
+      }
+      g = q[d + 92 >> 2];
+      f = q[d + 80 >> 2];
+      b = (g + w(f, 20) | 0) + -20 | 0;
+     }
+     m = q[b + 4 >> 2];
+     f = w(f, 20) + g | 0;
+     q[f >> 2] = q[b >> 2];
+     q[f + 4 >> 2] = m;
+     q[f + 16 >> 2] = q[b + 16 >> 2];
+     g = q[b + 12 >> 2];
+     q[f + 8 >> 2] = q[b + 8 >> 2];
+     q[f + 12 >> 2] = g;
+     b = q[d + 80 >> 2];
+     q[q[d + 92 >> 2] + w(b, 20) >> 2] = o;
+     q[d + 80 >> 2] = b + 1;
+    }
+    e = e + 1 | 0;
+    if ((h | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  e : {
+   if (n) {
+    break e;
+   }
+   b = q[d + 72 >> 2];
+   if (b >>> 0 >= t[d + 76 >> 2]) {
+    break e;
+   }
+   q[d + 72 >> 2] = b + 1;
+  }
+  xG(d, h + l | 0);
+  b = q[d + 76 >> 2];
+  h = q[d + 72 >> 2] + 1 | 0;
+  EG(d, q[a + 8 >> 2], h >>> 0 > b >>> 0 ? b : h);
+ }
+ if (j & 128) {
+  q[a + 8 >> 2] = l;
+ }
+ b = r[c + 5 | 0] | r[c + 4 | 0] << 8;
+ if ((b | 0) != 65535) {
+  c = q[a + 12 >> 2] + (b << 1) | 0;
+  b = (j << 8 | k) >>> 5 & 31;
+  f : {
+   if (b) {
+    h = 0;
+    a = q[a + 4 >> 2];
+    if (t[a + 20 >> 2] > c >>> 0) {
+     break f;
+    }
+    e = q[a + 24 >> 2];
+    if (e >>> 0 < c >>> 0 | e - c >>> 0 < b << 1 >>> 0) {
+     break f;
+    }
+    e = a + 28 | 0;
+    a = q[e >> 2];
+    q[e >> 2] = a + -1;
+    if ((a | 0) < 1) {
+     break f;
+    }
+   }
+   h = b;
+  }
+  i = q[d + 80 >> 2];
+  k = j & 8;
+  g : {
+   if (k | t[d + 72 >> 2] >= t[d + 76 >> 2]) {
+    break g;
+   }
+   if (!pG(d, 0, 1)) {
+    break g;
+   }
+   b = q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) | 0;
+   e = q[b + 4 >> 2];
+   a = q[d + 92 >> 2] + w(q[d + 80 >> 2], 20) | 0;
+   q[a >> 2] = q[b >> 2];
+   q[a + 4 >> 2] = e;
+   q[a + 16 >> 2] = q[b + 16 >> 2];
+   e = q[b + 12 >> 2];
+   q[a + 8 >> 2] = q[b + 8 >> 2];
+   q[a + 12 >> 2] = e;
+   q[d + 80 >> 2] = q[d + 80 >> 2] + 1;
+  }
+  if (h) {
+   e = 0;
+   while (1) {
+    a = c + (e << 1) | 0;
+    b = r[a | 0];
+    f = r[a + 1 | 0];
+    h : {
+     if (!pG(d, 0, 1)) {
+      q[160660] = q[67764];
+      a = q[67763];
+      q[160658] = q[67762];
+      q[160659] = a;
+      a = q[67761];
+      q[160656] = q[67760];
+      q[160657] = a;
+      break h;
+     }
+     a = q[d + 72 >> 2];
+     g = q[d + 76 >> 2];
+     if (!(q[d + 80 >> 2] | (a | 0) != (g | 0))) {
+      q[160660] = q[67764];
+      a = q[67763];
+      q[160658] = q[67762];
+      q[160659] = a;
+      a = q[67761];
+      q[160656] = q[67760];
+      q[160657] = a;
+      break h;
+     }
+     l = f | b << 8;
+     i : {
+      if (a >>> 0 < g >>> 0) {
+       f = q[d + 80 >> 2];
+       g = q[d + 92 >> 2];
+       a = q[d + 88 >> 2] + w(a, 20) | 0;
+       break i;
+      }
+      g = q[d + 92 >> 2];
+      f = q[d + 80 >> 2];
+      a = (g + w(f, 20) | 0) + -20 | 0;
+     }
+     b = w(f, 20) + g | 0;
+     g = q[a + 4 >> 2];
+     q[b >> 2] = q[a >> 2];
+     q[b + 4 >> 2] = g;
+     q[b + 16 >> 2] = q[a + 16 >> 2];
+     f = q[a + 12 >> 2];
+     q[b + 8 >> 2] = q[a + 8 >> 2];
+     q[b + 12 >> 2] = f;
+     a = q[d + 80 >> 2];
+     q[q[d + 92 >> 2] + w(a, 20) >> 2] = l;
+     q[d + 80 >> 2] = a + 1;
+    }
+    e = e + 1 | 0;
+    if ((h | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  j : {
+   if (k) {
+    break j;
+   }
+   a = q[d + 72 >> 2];
+   if (a >>> 0 >= t[d + 76 >> 2]) {
+    break j;
+   }
+   q[d + 72 >> 2] = a + 1;
+  }
+  xG(d, i + (j & 64 ? 0 : h) | 0);
+ }
+}
+function $V(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0;
+ f = Ca + -64 | 0;
+ Ca = f;
+ a : {
+  b : {
+   if (!q[b + 8 >> 2]) {
+    if (!d) {
+     break a;
+    }
+    q[b + 8 >> 2] = 64;
+    o[b + 4 | 0] = 6;
+    e = n[q[q[b + 16 >> 2] >> 2]](256) | 0;
+    q[b >> 2] = e;
+    if (!e) {
+     q[b + 8 >> 2] = 0;
+     break a;
+    }
+    Z$(e, 0, 256);
+    while (1) {
+     e = a;
+     a = q[e + 472 >> 2];
+     if (a) {
+      continue;
+     }
+     break;
+    }
+    a = q[e + 492 >> 2];
+    q[f + 56 >> 2] = 0;
+    q[f + 60 >> 2] = 0;
+    q[f + 48 >> 2] = f + 40;
+    q[f + 24 >> 2] = 1852142177;
+    q[f + 28 >> 2] = 1819895653;
+    q[f + 8 >> 2] = 1886610805;
+    q[f + 12 >> 2] = 1936682341;
+    q[f + 32 >> 2] = a ^ 2037671283;
+    q[f + 36 >> 2] = 1952801890;
+    q[f + 16 >> 2] = a ^ 1852075885;
+    q[f + 20 >> 2] = 1685025377;
+    if (r[c | 0]) {
+     e = c;
+     while (1) {
+      h = h + 1 | 0;
+      a = r[e + 1 | 0];
+      e = e + 1 | 0;
+      if (a) {
+       continue;
+      }
+      break;
+     }
+    }
+    AW(f + 8 | 0, c, h);
+    i = BW(f + 8 | 0) & q[b + 8 >> 2] + -1;
+    break b;
+   }
+   e = a;
+   while (1) {
+    g = e;
+    e = q[e + 472 >> 2];
+    if (e) {
+     continue;
+    }
+    break;
+   }
+   e = q[g + 492 >> 2];
+   q[f + 56 >> 2] = 0;
+   q[f + 60 >> 2] = 0;
+   q[f + 48 >> 2] = f + 40;
+   q[f + 24 >> 2] = 1852142177;
+   q[f + 28 >> 2] = 1819895653;
+   q[f + 8 >> 2] = 1886610805;
+   q[f + 12 >> 2] = 1936682341;
+   q[f + 32 >> 2] = e ^ 2037671283;
+   q[f + 36 >> 2] = 1952801890;
+   q[f + 16 >> 2] = e ^ 1852075885;
+   q[f + 20 >> 2] = 1685025377;
+   if (r[c | 0]) {
+    e = c;
+    while (1) {
+     h = h + 1 | 0;
+     g = r[e + 1 | 0];
+     e = e + 1 | 0;
+     if (g) {
+      continue;
+     }
+     break;
+    }
+   }
+   AW(f + 8 | 0, c, h);
+   u = BW(f + 8 | 0);
+   m = q[b + 8 >> 2];
+   e = m + -1 | 0;
+   i = u & e;
+   v = q[b >> 2];
+   j = q[(i << 2) + v >> 2];
+   if (j) {
+    y = e >>> 2 | 0;
+    z = 0 - m & u;
+    g = r[c | 0];
+    w = g;
+    while (1) {
+     e = g;
+     h = c;
+     k = q[j >> 2];
+     if ((w | 0) == r[k | 0]) {
+      while (1) {
+       if (!(e & 255)) {
+        break a;
+       }
+       p = r[k + 1 | 0];
+       e = r[h + 1 | 0];
+       k = k + 1 | 0;
+       h = h + 1 | 0;
+       if ((e | 0) == (p | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     s = s & 255 ? s : y & z >>> r[b + 4 | 0] + -1 | 1;
+     e = s & 255;
+     i = (i - e | 0) + (i >>> 0 < e >>> 0 ? m : 0) | 0;
+     j = q[v + (i << 2) >> 2];
+     if (j) {
+      continue;
+     }
+     break;
+    }
+   }
+   j = 0;
+   if (!d) {
+    break a;
+   }
+   e = r[b + 4 | 0];
+   if (!(q[b + 12 >> 2] >>> e + -1)) {
+    break b;
+   }
+   m = e + 1 | 0;
+   A = m & 255;
+   l = 1 << A;
+   g = l << 2;
+   e = n[q[q[b + 16 >> 2] >> 2]](g) | 0;
+   if (!e) {
+    break a;
+   }
+   x = l + -1 | 0;
+   t = Z$(e, 0, g);
+   e = q[b + 8 >> 2];
+   if (e) {
+    s = x >>> 2 | 0;
+    v = A + -1 | 0;
+    y = 0 - l | 0;
+    z = f + 40 | 0;
+    while (1) {
+     w = j << 2;
+     g = q[w + q[b >> 2] >> 2];
+     if (g) {
+      p = q[g >> 2];
+      e = a;
+      while (1) {
+       g = e;
+       e = q[e + 472 >> 2];
+       if (e) {
+        continue;
+       }
+       break;
+      }
+      e = q[g + 492 >> 2];
+      q[f + 56 >> 2] = 0;
+      q[f + 60 >> 2] = 0;
+      q[f + 48 >> 2] = z;
+      q[f + 24 >> 2] = 1852142177;
+      q[f + 28 >> 2] = 1819895653;
+      q[f + 8 >> 2] = 1886610805;
+      q[f + 12 >> 2] = 1936682341;
+      q[f + 32 >> 2] = e ^ 2037671283;
+      q[f + 36 >> 2] = 1952801890;
+      q[f + 16 >> 2] = e ^ 1852075885;
+      q[f + 20 >> 2] = 1685025377;
+      h = 0;
+      e = p;
+      if (r[e | 0]) {
+       while (1) {
+        h = h + 1 | 0;
+        g = r[e + 1 | 0];
+        e = e + 1 | 0;
+        if (g) {
+         continue;
+        }
+        break;
+       }
+      }
+      AW(f + 8 | 0, p, h);
+      g = BW(f + 8 | 0);
+      e = g & x;
+      k = t + (e << 2) | 0;
+      if (q[k >> 2]) {
+       p = s & (g & y) >>> v | 1;
+       h = 0;
+       while (1) {
+        h = h & 255 ? h : p;
+        g = h & 255;
+        e = (e - g | 0) + (e >>> 0 < g >>> 0 ? l : 0) | 0;
+        k = t + (e << 2) | 0;
+        if (q[k >> 2]) {
+         continue;
+        }
+        break;
+       }
+      }
+      q[k >> 2] = q[w + q[b >> 2] >> 2];
+      e = q[b + 8 >> 2];
+     }
+     j = j + 1 | 0;
+     if (j >>> 0 < e >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   n[q[q[b + 16 >> 2] + 8 >> 2]](q[b >> 2]);
+   q[b + 8 >> 2] = l;
+   o[b + 4 | 0] = m;
+   q[b >> 2] = t;
+   i = x & u;
+   if (!q[t + (i << 2) >> 2]) {
+    break b;
+   }
+   g = (0 - l & u) >>> A + -1 & x >>> 2 | 1;
+   e = 0;
+   while (1) {
+    e = e & 255 ? e : g;
+    a = e & 255;
+    i = (i - a | 0) + (i >>> 0 < a >>> 0 ? l : 0) | 0;
+    if (q[t + (i << 2) >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = n[q[q[b + 16 >> 2] >> 2]](d) | 0;
+  e = i << 2;
+  q[e + q[b >> 2] >> 2] = a;
+  a = q[e + q[b >> 2] >> 2];
+  if (!a) {
+   j = 0;
+   break a;
+  }
+  Z$(a, 0, d);
+  q[q[e + q[b >> 2] >> 2] >> 2] = c;
+  q[b + 12 >> 2] = q[b + 12 >> 2] + 1;
+  j = q[e + q[b >> 2] >> 2];
+ }
+ Ca = f - -64 | 0;
+ return j;
+}
+function Ay(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0;
+ m = w(b, c) + a | 0;
+ if (b >>> 0 >= 10) {
+  p = 0 - c | 0;
+  while (1) {
+   f = a + c | 0;
+   g = w(b >>> 1 | 0, c) + a | 0;
+   h = (n[d](f, g) | 0) > 0;
+   e = h ? f : g;
+   k = w(b + -1 | 0, c);
+   j = k + a | 0;
+   b = p + j | 0;
+   if ((n[d](e, b) | 0) >= 1) {
+    f = h ? g : f;
+    e = (n[d](f, b) | 0) > 0 ? f : b;
+   }
+   if (!((e | 0) == (j | 0) | (c | 0) < 1)) {
+    f = c + e | 0;
+    b = j;
+    while (1) {
+     g = r[e | 0];
+     o[e | 0] = r[b | 0];
+     o[b | 0] = g;
+     b = b + 1 | 0;
+     e = e + 1 | 0;
+     if (e >>> 0 < f >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   i = j;
+   f = i;
+   g = a;
+   h = g;
+   a : {
+    if ((k | 0) < 1) {
+     f = j;
+     i = f;
+     break a;
+    }
+    b : while (1) {
+     if (h >>> 0 >= f >>> 0) {
+      break a;
+     }
+     while (1) {
+      b = n[d](h, j) | 0;
+      if ((b | 0) >= 1) {
+       c : {
+        if (h >>> 0 >= f >>> 0) {
+         break c;
+        }
+        while (1) {
+         l = f;
+         d : {
+          e : {
+           f = f + p | 0;
+           b = n[d](f, j) | 0;
+           if (!b) {
+            k = i + p | 0;
+            if ((c | 0) < 1) {
+             break e;
+            }
+            e = f;
+            b = k;
+            if (l >>> 0 >= i >>> 0) {
+             break e;
+            }
+            while (1) {
+             i = r[e | 0];
+             o[e | 0] = r[b | 0];
+             o[b | 0] = i;
+             b = b + 1 | 0;
+             e = e + 1 | 0;
+             if (e >>> 0 < l >>> 0) {
+              continue;
+             }
+             break;
+            }
+            break e;
+           }
+           if ((b | 0) > -1) {
+            break d;
+           }
+           if (!((c | 0) < 1 | h >>> 0 >= f >>> 0)) {
+            k = c + h | 0;
+            e = h;
+            b = f;
+            while (1) {
+             l = r[e | 0];
+             o[e | 0] = r[b | 0];
+             o[b | 0] = l;
+             b = b + 1 | 0;
+             e = e + 1 | 0;
+             if (e >>> 0 < k >>> 0) {
+              continue;
+             }
+             break;
+            }
+           }
+           h = c + h | 0;
+           break c;
+          }
+          i = k;
+         }
+         if (h >>> 0 < f >>> 0) {
+          continue;
+         }
+         break;
+        }
+       }
+       if (h >>> 0 < f >>> 0) {
+        continue b;
+       }
+       break a;
+      }
+      if (!b) {
+       if (!((c | 0) < 1 | g >>> 0 >= h >>> 0)) {
+        k = c + g | 0;
+        e = g;
+        b = h;
+        while (1) {
+         l = r[e | 0];
+         o[e | 0] = r[b | 0];
+         o[b | 0] = l;
+         b = b + 1 | 0;
+         e = e + 1 | 0;
+         if (e >>> 0 < k >>> 0) {
+          continue;
+         }
+         break;
+        }
+       }
+       g = c + g | 0;
+      }
+      h = c + h | 0;
+      if (h >>> 0 < f >>> 0) {
+       continue;
+      }
+      break;
+     }
+     break;
+    }
+   }
+   b = g - a | 0;
+   h = f - g | 0;
+   f : {
+    if (!b | !h) {
+     break f;
+    }
+    if (b >>> 0 > h >>> 0) {
+     if ((h | 0) < 1) {
+      break f;
+     }
+     b = a + h | 0;
+     e = a;
+     while (1) {
+      j = r[e | 0];
+      o[e | 0] = r[g | 0];
+      o[g | 0] = j;
+      g = g + 1 | 0;
+      e = e + 1 | 0;
+      if (e >>> 0 < b >>> 0) {
+       continue;
+      }
+      break;
+     }
+     break f;
+    }
+    if ((b | 0) < 1) {
+     break f;
+    }
+    e = a + h | 0;
+    b = a;
+    while (1) {
+     j = r[b | 0];
+     o[b | 0] = r[e | 0];
+     o[e | 0] = j;
+     e = e + 1 | 0;
+     b = b + 1 | 0;
+     if (b >>> 0 < g >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = i - f | 0;
+   g : {
+    if (!b) {
+     break g;
+    }
+    e = m - i | 0;
+    if (!e) {
+     break g;
+    }
+    if (b >>> 0 > e >>> 0) {
+     if ((e | 0) < 1) {
+      break g;
+     }
+     e = e + f | 0;
+     while (1) {
+      g = r[f | 0];
+      o[f | 0] = r[i | 0];
+      o[i | 0] = g;
+      i = i + 1 | 0;
+      f = f + 1 | 0;
+      if (f >>> 0 < e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     break g;
+    }
+    if ((b | 0) < 1) {
+     break g;
+    }
+    e = e + f | 0;
+    while (1) {
+     g = r[f | 0];
+     o[f | 0] = r[e | 0];
+     o[e | 0] = g;
+     e = e + 1 | 0;
+     f = f + 1 | 0;
+     if (f >>> 0 < i >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   Ay(a, (h >>> 0) / (c >>> 0) | 0, c, d);
+   a = m - b | 0;
+   b = (b >>> 0) / (c >>> 0) | 0;
+   m = a + w(c, b) | 0;
+   if (b >>> 0 >= 10) {
+    continue;
+   }
+   break;
+  }
+ }
+ g = a + c | 0;
+ if (g >>> 0 < m >>> 0) {
+  j = 0 - c | 0;
+  while (1) {
+   f = g;
+   h : {
+    if (f >>> 0 <= a >>> 0) {
+     break h;
+    }
+    while (1) {
+     h = f + j | 0;
+     if ((n[d](h, f) | 0) < 1) {
+      break h;
+     }
+     e = h;
+     b = f;
+     if ((c | 0) >= 1) {
+      while (1) {
+       i = r[e | 0];
+       o[e | 0] = r[b | 0];
+       o[b | 0] = i;
+       b = b + 1 | 0;
+       e = e + 1 | 0;
+       if (e >>> 0 < f >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     f = h;
+     if (f >>> 0 > a >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   g = c + g | 0;
+   if (g >>> 0 < m >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function _n(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, t = 0, u = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ u = g;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      l = q[a + 212 >> 2];
+      f : {
+       if (l >>> 0 < 2) {
+        break f;
+       }
+       h = a + 8 | 0;
+       j = q[a + 172 >> 2];
+       i = q[a + 168 >> 2] + 5056 | 0;
+       p = q[a + 20 >> 2];
+       t = q[a + 16 >> 2];
+       m = q[a + 8 >> 2];
+       d = m;
+       g : {
+        h : {
+         n = q[a + 12 >> 2];
+         e = n;
+         if (32 - e >>> 0 <= 14) {
+          f = t;
+          d = m;
+          b = p;
+          c = n;
+          while (1) {
+           if (!b) {
+            break h;
+           }
+           d = d >>> 8 | 0;
+           q[a + 8 >> 2] = d;
+           k = r[f | 0];
+           b = b + -1 | 0;
+           q[a + 20 >> 2] = b;
+           e = c + -8 | 0;
+           q[a + 12 >> 2] = e;
+           f = f + 1 | 0;
+           q[a + 16 >> 2] = f;
+           d = d | k << 24;
+           q[a + 8 >> 2] = d;
+           k = 40 - c | 0;
+           c = e;
+           if (k >>> 0 < 15) {
+            continue;
+           }
+           break;
+          }
+         }
+         f = a;
+         d = d >>> e | 0;
+         b = i + ((d & 255) << 2) | 0;
+         c = r[b | 0];
+         if (c >>> 0 >= 9) {
+          e = e + 8 | 0;
+          q[a + 12 >> 2] = e;
+          b = (s[b + 2 >> 1] + (q[(c << 2) + 153248 >> 2] & d >>> 8 & 127) << 2) + b | 0;
+          c = r[b | 0];
+         }
+         q[f + 12 >> 2] = (c & 255) + e;
+         q[g + 8 >> 2] = s[b + 2 >> 1];
+         break g;
+        }
+        if (!Tn(i, h, g + 8 | 0)) {
+         break f;
+        }
+       }
+       i = g;
+       i : {
+        j : {
+         k : {
+          if (!q[a + 556 >> 2]) {
+           j = j + 3168 | 0;
+           l : {
+            c = q[a + 12 >> 2];
+            m : {
+             if (32 - c >>> 0 >= 15) {
+              d = q[h >> 2];
+              break m;
+             }
+             b = q[a + 20 >> 2];
+             f = c;
+             while (1) {
+              if (!b) {
+               break l;
+              }
+              d = q[a + 8 >> 2] >>> 8 | 0;
+              q[a + 8 >> 2] = d;
+              e = q[a + 16 >> 2];
+              k = r[e | 0];
+              b = b + -1 | 0;
+              q[a + 20 >> 2] = b;
+              c = f + -8 | 0;
+              q[a + 12 >> 2] = c;
+              q[a + 16 >> 2] = e + 1;
+              d = d | k << 24;
+              q[a + 8 >> 2] = d;
+              e = 40 - f | 0;
+              f = c;
+              if (e >>> 0 < 15) {
+               continue;
+              }
+              break;
+             }
+            }
+            e = a;
+            d = d >>> c | 0;
+            b = j + ((d & 255) << 2) | 0;
+            f = r[b | 0];
+            if (f >>> 0 >= 9) {
+             c = c + 8 | 0;
+             q[a + 12 >> 2] = c;
+             b = (s[b + 2 >> 1] + (q[(f << 2) + 153248 >> 2] & d >>> 8 & 127) << 2) + b | 0;
+             f = r[b | 0];
+            }
+            q[e + 12 >> 2] = (f & 255) + c;
+            e = s[b + 2 >> 1];
+            break k;
+           }
+           if (!Tn(j, h, g + 12 | 0)) {
+            break i;
+           }
+           e = q[g + 12 >> 2];
+           break j;
+          }
+          e = q[a + 188 >> 2];
+         }
+         q[i + 12 >> 2] = e;
+        }
+        n : {
+         c = q[a + 12 >> 2];
+         i = r[(e << 2) + 153170 | 0];
+         o : {
+          if (32 - c >>> 0 >= i >>> 0) {
+           d = q[h >> 2];
+           break o;
+          }
+          b = q[a + 20 >> 2];
+          f = c;
+          while (1) {
+           if (!b) {
+            break n;
+           }
+           d = q[a + 8 >> 2] >>> 8 | 0;
+           q[a + 8 >> 2] = d;
+           h = q[a + 16 >> 2];
+           j = r[h | 0];
+           b = b + -1 | 0;
+           q[a + 20 >> 2] = b;
+           c = f + -8 | 0;
+           q[a + 12 >> 2] = c;
+           q[a + 16 >> 2] = h + 1;
+           d = d | j << 24;
+           q[a + 8 >> 2] = d;
+           h = 40 - f | 0;
+           f = c;
+           if (h >>> 0 < i >>> 0) {
+            continue;
+           }
+           break;
+          }
+         }
+         q[a + 556 >> 2] = 0;
+         q[a + 12 >> 2] = c + i;
+         q[a + 200 >> 2] = s[(e << 2) + 153168 >> 1] + (q[(i << 2) + 153280 >> 2] & d >>> c);
+         c = q[g + 8 >> 2];
+         if (c >>> 0 > 1) {
+          break c;
+         }
+         if (c - 1) {
+          break d;
+         }
+         break e;
+        }
+        q[a + 556 >> 2] = 1;
+        q[a + 188 >> 2] = e;
+       }
+       q[a + 20 >> 2] = p;
+       q[a + 16 >> 2] = t;
+       q[a + 12 >> 2] = n;
+       q[a + 8 >> 2] = m;
+       q[a + 556 >> 2] = 0;
+      }
+      a = 0;
+      break a;
+     }
+     b = q[a + 236 >> 2] + 1 | 0;
+     break b;
+    }
+    b = q[a + 232 >> 2];
+    break b;
+   }
+   b = c + -2 | 0;
+  }
+  q[u + 8 >> 2] = b;
+  if (b >>> 0 >= l >>> 0) {
+   b = b - l | 0;
+   q[g + 8 >> 2] = b;
+  }
+  c = a + 236 | 0;
+  f = q[c >> 2];
+  q[c >> 2] = b;
+  q[a + 232 >> 2] = f;
+  c = q[a + 252 >> 2] + (b << 2) | 0;
+  q[a + 116 >> 2] = c;
+  o[a + 260 | 0] = r[c + q[a + 180 >> 2] | 0];
+  a = 1;
+ }
+ Ca = g + 16 | 0;
+ return a;
+}
+function TH(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, s = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0;
+ t = Ca - 16 | 0;
+ Ca = t;
+ e = KH(a, d);
+ a : {
+  if (e) {
+   break a;
+  }
+  LH(a, b, c, d);
+  u = q[a >> 2];
+  f = q[a + 2748 >> 2];
+  g = q[q[f >> 2] + 8 >> 2];
+  b = w(d, 1348) + a | 0;
+  k = b + 56 | 0;
+  q[k >> 2] = 0;
+  m = b + 44 | 0;
+  e = q[m >> 2];
+  c = q[b + 52 >> 2];
+  h = q[(d ? 12 : 4) + a >> 2];
+  b = 0;
+  b = (d | 0) == 1 ? r[q[(g << 2) + 283840 >> 2] + 12 | 0] : b;
+  f = f + 44 | 0;
+  if (!d) {
+   i = Fe(64, q[a + 12 >> 2]);
+  }
+  z = Fe(32, h);
+  f = Ee(q[(f + w(d, 9516) | 0) + 204 >> 2], h);
+  l = Fe((f | 0) < 16 ? f : 16, h);
+  if ((e | 0) >= 1) {
+   n = w(e, 44) + c | 0;
+   A = w(i, 3);
+   s = (w(d, 1348) + a | 0) - -64 | 0;
+   B = b & 255;
+   b = c;
+   while (1) {
+    e = p[b + 10 >> 1];
+    b : {
+     if ((z | 0) < p[b + 4 >> 1] | (i | 0) > (e | 0)) {
+      break b;
+     }
+     j = r[b + 1 | 0];
+     if ((j | 0) == 4 | (q[b + 24 >> 2] ? e << 1 < (A | 0) : 0)) {
+      break b;
+     }
+     c : {
+      x = q[k >> 2];
+      d : {
+       if ((x | 0) <= 0) {
+        g = p[b + 2 >> 1];
+        break d;
+       }
+       g = p[b + 2 >> 1];
+       C = q[s >> 2];
+       e = 0;
+       while (1) {
+        f = C + w(e, 44) | 0;
+        y = g - p[f >> 1] | 0;
+        v = y >> 31;
+        if ((j | 0) == r[f + 13 | 0] ? (v ^ v + y) < (l | 0) : 0) {
+         break c;
+        }
+        e = e + 1 | 0;
+        if ((x | 0) != (e | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      e = aI(m, g, j << 24 >> 24, B, u, t + 12 | 0);
+      if (e) {
+       break a;
+      }
+      e = q[t + 12 >> 2];
+      q[e + 40 >> 2] = b;
+      q[e + 36 >> 2] = b;
+      q[e >> 2] = 0;
+      q[e + 4 >> 2] = 0;
+      q[e + 32 >> 2] = 0;
+      q[e + 24 >> 2] = 0;
+      q[e + 28 >> 2] = 0;
+      q[e + 16 >> 2] = 0;
+      q[e + 20 >> 2] = 0;
+      f = e + 8 | 0;
+      q[f >> 2] = 0;
+      q[f + 4 >> 2] = 0;
+      o[e + 13 | 0] = r[b + 1 | 0];
+      g = p[b + 2 >> 1];
+      p[e >> 1] = g;
+      j = f;
+      f = Ee(g, h);
+      q[j >> 2] = f;
+      q[e + 4 >> 2] = f;
+      q[b + 16 >> 2] = b;
+      break b;
+     }
+     q[b + 16 >> 2] = q[f + 36 >> 2];
+     q[q[f + 40 >> 2] + 16 >> 2] = b;
+     q[f + 40 >> 2] = b;
+    }
+    b = b + 44 | 0;
+    if (b >>> 0 < n >>> 0) {
+     continue;
+    }
+    break;
+   }
+   while (1) {
+    e : {
+     if (r[c + 1 | 0] != 4) {
+      break e;
+     }
+     f = q[k >> 2];
+     if ((f | 0) < 1) {
+      break e;
+     }
+     g = p[c + 2 >> 1];
+     i = q[s >> 2];
+     b = 0;
+     while (1) {
+      e = i + w(b, 44) | 0;
+      j = g - p[e >> 1] | 0;
+      h = j >> 31;
+      if ((h ^ h + j) >= (l | 0)) {
+       b = b + 1 | 0;
+       if ((f | 0) != (b | 0)) {
+        continue;
+       }
+       break e;
+      }
+      break;
+     }
+     q[c + 16 >> 2] = q[e + 36 >> 2];
+     q[q[e + 40 >> 2] + 16 >> 2] = c;
+     q[e + 40 >> 2] = c;
+    }
+    c = c + 44 | 0;
+    if (c >>> 0 < n >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  e = 0;
+  h = q[(w(d, 1348) + a | 0) - -64 >> 2];
+  if (!h) {
+   break a;
+  }
+  a = q[k >> 2];
+  if ((a | 0) < 1) {
+   break a;
+  }
+  n = w(a, 44) + h | 0;
+  e = h;
+  while (1) {
+   a = q[e + 36 >> 2];
+   b = a;
+   if (b) {
+    while (1) {
+     q[b + 12 >> 2] = e;
+     b = q[b + 16 >> 2];
+     if ((a | 0) != (b | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   e = e + 44 | 0;
+   if (e >>> 0 < n >>> 0) {
+    continue;
+   }
+   break;
+  }
+  while (1) {
+   f = h + 28 | 0;
+   d = h + 24 | 0;
+   s = q[h + 36 >> 2];
+   b = s;
+   c = 0;
+   k = 0;
+   while (1) {
+    j = o[b | 0] & 1;
+    v = j ^ 1;
+    f : {
+     g : {
+      h : {
+       i : {
+        g = q[b + 24 >> 2];
+        if (g) {
+         a = q[g + 12 >> 2];
+         i = (a | 0) != 0 & (a | 0) != (h | 0);
+         e = q[b + 20 >> 2];
+         if (!e) {
+          break i;
+         }
+         if (!(i | q[e + 12 >> 2] != 0)) {
+          break f;
+         }
+         l = 0;
+         a = d;
+         if (i) {
+          break h;
+         }
+         break g;
+        }
+        e = q[b + 20 >> 2];
+        if (!e) {
+         break f;
+        }
+        l = 0;
+        a = d;
+        if (q[e + 12 >> 2]) {
+         break g;
+        }
+        break f;
+       }
+       if (!i) {
+        break f;
+       }
+      }
+      l = 1;
+      e = g;
+      a = f;
+     }
+     g = q[a >> 2];
+     j : {
+      if (g) {
+       u = p[b + 2 >> 1] - p[e + 2 >> 1] | 0;
+       a = u >> 31;
+       m = p[h >> 1] - p[g >> 1] | 0;
+       i = m >> 31;
+       if ((a ^ a + u) >= (i ^ i + m)) {
+        break j;
+       }
+      }
+      g = q[e + 12 >> 2];
+     }
+     if (l) {
+      q[f >> 2] = g;
+      o[g + 12 | 0] = r[g + 12 | 0] | 2;
+      break f;
+     }
+     q[d >> 2] = g;
+    }
+    c = c + j | 0;
+    k = k + v | 0;
+    b = q[b + 16 >> 2];
+    if ((s | 0) != (b | 0)) {
+     continue;
+    }
+    break;
+   }
+   o[h + 12 | 0] = (c | 0) != 0 & c >>> 0 >= k >>> 0;
+   if (!(!q[h + 28 >> 2] | !q[d >> 2])) {
+    q[f >> 2] = 0;
+   }
+   h = h + 44 | 0;
+   if (h >>> 0 < n >>> 0) {
+    continue;
+   }
+   break;
+  }
+  e = 0;
+ }
+ Ca = t + 16 | 0;
+ return e;
+}
+function Yn(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, t = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ t = g;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      l = q[a + 208 >> 2];
+      f : {
+       if (l >>> 0 < 2) {
+        break f;
+       }
+       h = a + 8 | 0;
+       j = q[a + 172 >> 2];
+       i = q[a + 168 >> 2] + 2528 | 0;
+       o = q[a + 20 >> 2];
+       p = q[a + 16 >> 2];
+       m = q[a + 8 >> 2];
+       d = m;
+       g : {
+        h : {
+         n = q[a + 12 >> 2];
+         e = n;
+         if (32 - e >>> 0 <= 14) {
+          f = p;
+          d = m;
+          b = o;
+          c = n;
+          while (1) {
+           if (!b) {
+            break h;
+           }
+           d = d >>> 8 | 0;
+           q[a + 8 >> 2] = d;
+           k = r[f | 0];
+           b = b + -1 | 0;
+           q[a + 20 >> 2] = b;
+           e = c + -8 | 0;
+           q[a + 12 >> 2] = e;
+           f = f + 1 | 0;
+           q[a + 16 >> 2] = f;
+           d = d | k << 24;
+           q[a + 8 >> 2] = d;
+           k = 40 - c | 0;
+           c = e;
+           if (k >>> 0 < 15) {
+            continue;
+           }
+           break;
+          }
+         }
+         f = a;
+         d = d >>> e | 0;
+         b = i + ((d & 255) << 2) | 0;
+         c = r[b | 0];
+         if (c >>> 0 >= 9) {
+          e = e + 8 | 0;
+          q[a + 12 >> 2] = e;
+          b = (s[b + 2 >> 1] + (q[(c << 2) + 153248 >> 2] & d >>> 8 & 127) << 2) + b | 0;
+          c = r[b | 0];
+         }
+         q[f + 12 >> 2] = (c & 255) + e;
+         q[g + 8 >> 2] = s[b + 2 >> 1];
+         break g;
+        }
+        if (!Tn(i, h, g + 8 | 0)) {
+         break f;
+        }
+       }
+       i = g;
+       i : {
+        j : {
+         k : {
+          if (!q[a + 556 >> 2]) {
+           j = j + 1584 | 0;
+           l : {
+            c = q[a + 12 >> 2];
+            m : {
+             if (32 - c >>> 0 >= 15) {
+              d = q[h >> 2];
+              break m;
+             }
+             b = q[a + 20 >> 2];
+             f = c;
+             while (1) {
+              if (!b) {
+               break l;
+              }
+              d = q[a + 8 >> 2] >>> 8 | 0;
+              q[a + 8 >> 2] = d;
+              e = q[a + 16 >> 2];
+              k = r[e | 0];
+              b = b + -1 | 0;
+              q[a + 20 >> 2] = b;
+              c = f + -8 | 0;
+              q[a + 12 >> 2] = c;
+              q[a + 16 >> 2] = e + 1;
+              d = d | k << 24;
+              q[a + 8 >> 2] = d;
+              e = 40 - f | 0;
+              f = c;
+              if (e >>> 0 < 15) {
+               continue;
+              }
+              break;
+             }
+            }
+            e = a;
+            d = d >>> c | 0;
+            b = j + ((d & 255) << 2) | 0;
+            f = r[b | 0];
+            if (f >>> 0 >= 9) {
+             c = c + 8 | 0;
+             q[a + 12 >> 2] = c;
+             b = (s[b + 2 >> 1] + (q[(f << 2) + 153248 >> 2] & d >>> 8 & 127) << 2) + b | 0;
+             f = r[b | 0];
+            }
+            q[e + 12 >> 2] = (f & 255) + c;
+            e = s[b + 2 >> 1];
+            break k;
+           }
+           if (!Tn(j, h, g + 12 | 0)) {
+            break i;
+           }
+           e = q[g + 12 >> 2];
+           break j;
+          }
+          e = q[a + 188 >> 2];
+         }
+         q[i + 12 >> 2] = e;
+        }
+        n : {
+         c = q[a + 12 >> 2];
+         i = r[(e << 2) + 153170 | 0];
+         o : {
+          if (32 - c >>> 0 >= i >>> 0) {
+           d = q[h >> 2];
+           break o;
+          }
+          b = q[a + 20 >> 2];
+          f = c;
+          while (1) {
+           if (!b) {
+            break n;
+           }
+           d = q[a + 8 >> 2] >>> 8 | 0;
+           q[a + 8 >> 2] = d;
+           h = q[a + 16 >> 2];
+           j = r[h | 0];
+           b = b + -1 | 0;
+           q[a + 20 >> 2] = b;
+           c = f + -8 | 0;
+           q[a + 12 >> 2] = c;
+           q[a + 16 >> 2] = h + 1;
+           d = d | j << 24;
+           q[a + 8 >> 2] = d;
+           h = 40 - f | 0;
+           f = c;
+           if (h >>> 0 < i >>> 0) {
+            continue;
+           }
+           break;
+          }
+         }
+         q[a + 556 >> 2] = 0;
+         q[a + 12 >> 2] = c + i;
+         q[a + 196 >> 2] = s[(e << 2) + 153168 >> 1] + (q[(i << 2) + 153280 >> 2] & d >>> c);
+         c = q[g + 8 >> 2];
+         if (c >>> 0 > 1) {
+          break c;
+         }
+         if (c - 1) {
+          break d;
+         }
+         break e;
+        }
+        q[a + 556 >> 2] = 1;
+        q[a + 188 >> 2] = e;
+       }
+       q[a + 20 >> 2] = o;
+       q[a + 16 >> 2] = p;
+       q[a + 12 >> 2] = n;
+       q[a + 8 >> 2] = m;
+       q[a + 556 >> 2] = 0;
+      }
+      a = 0;
+      break a;
+     }
+     b = q[a + 228 >> 2] + 1 | 0;
+     break b;
+    }
+    b = q[a + 224 >> 2];
+    break b;
+   }
+   b = c + -2 | 0;
+  }
+  q[t + 8 >> 2] = b;
+  if (b >>> 0 >= l >>> 0) {
+   b = b - l | 0;
+   q[g + 8 >> 2] = b;
+  }
+  c = a + 228 | 0;
+  f = q[c >> 2];
+  q[c >> 2] = b;
+  q[a + 224 >> 2] = f;
+  q[a + 104 >> 2] = q[q[a + 136 >> 2] + (b << 2) >> 2];
+  a = 1;
+ }
+ Ca = g + 16 | 0;
+ return a;
+}
+function qE(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ i = q[c + 88 >> 2];
+ e = 1;
+ b = 0;
+ h = q[c + 76 >> 2];
+ a = 0;
+ a : {
+  if (h) {
+   break a;
+  }
+  a = 1;
+ }
+ while (1) {
+  b : {
+   c : {
+    d : {
+     if (!a) {
+      f = j << 1;
+      g = p[f + 269200 >> 1] + 267856 | 0;
+      a = o[j + 269312 | 0];
+      b = r[j + 269616 | 0] == 2 ? d : b;
+      j = r[(i + w(d, 20) | 0) + 18 | 0];
+      k = r[f + 267744 | 0];
+      if (j >>> 0 >= k >>> 0) {
+       a = j >>> 0 > r[f + 267745 | 0] ? a : j - k | 0;
+      }
+      a = o[a + g | 0];
+      break d;
+     }
+     if (!j) {
+      break c;
+     }
+     d = h;
+     a = p[(j << 1) + 269504 >> 1] + -1 | 0;
+    }
+    j = o[a + 269376 | 0];
+    g = a & 31;
+    e : {
+     if ((32 <= (a & 63) >>> 0 ? 33529855 >>> g | 0 : ((1 << g) - 1 & 33529855) << 32 - g | -18874386 >>> g) & 1) {
+      break e;
+     }
+     a = o[a + 269440 | 0] + -3 | 0;
+     if (a >>> 0 > 7) {
+      break e;
+     }
+     f : {
+      switch (a - 1 | 0) {
+      case 2:
+       if (b >>> 0 < d + 1 >>> 0) {
+        f = e << 4;
+        a = b;
+        while (1) {
+         o[(i + w(a, 20) | 0) + 15 | 0] = f;
+         g = (a | 0) == (d | 0);
+         a = a + 1 | 0;
+         if (!g) {
+          continue;
+         }
+         break;
+        }
+       }
+       a = e + 1 | 0;
+       e = (a | 0) == 16 ? 1 : a;
+       break e;
+      case 0:
+       if (b >>> 0 < d + 1 >>> 0) {
+        f = e << 4 | 3;
+        a = b;
+        while (1) {
+         o[(i + w(a, 20) | 0) + 15 | 0] = f;
+         g = (a | 0) == (d | 0);
+         a = a + 1 | 0;
+         if (!g) {
+          continue;
+         }
+         break;
+        }
+       }
+       a = e + 1 | 0;
+       e = (a | 0) == 16 ? 1 : a;
+       break e;
+      case 6:
+       if (b >>> 0 < d + 1 >>> 0) {
+        f = e << 4 | 1;
+        a = b;
+        while (1) {
+         o[(i + w(a, 20) | 0) + 15 | 0] = f;
+         g = (a | 0) == (d | 0);
+         a = a + 1 | 0;
+         if (!g) {
+          continue;
+         }
+         break;
+        }
+       }
+       a = e + 1 | 0;
+       e = (a | 0) == 16 ? 1 : a;
+       break e;
+      case 4:
+       if (b >>> 0 < d + 1 >>> 0) {
+        f = e << 4 | 2;
+        a = b;
+        while (1) {
+         o[(i + w(a, 20) | 0) + 15 | 0] = f;
+         g = (a | 0) == (d | 0);
+         a = a + 1 | 0;
+         if (!g) {
+          continue;
+         }
+         break;
+        }
+       }
+       a = e + 1 | 0;
+       e = (a | 0) == 16 ? 1 : a;
+       break e;
+      default:
+       if (b >>> 0 < d + 1 >>> 0) {
+        f = e << 4 | 3;
+        a = b;
+        while (1) {
+         o[(i + w(a, 20) | 0) + 15 | 0] = f;
+         g = (a | 0) == (d | 0);
+         a = a + 1 | 0;
+         if (!g) {
+          continue;
+         }
+         break;
+        }
+       }
+       a = e + 1 | 0;
+       e = (a | 0) == 16 ? 1 : a;
+       break e;
+      case 1:
+       if (b >>> 0 < d >>> 0) {
+        f = e << 4;
+        a = b;
+        while (1) {
+         o[(i + w(a, 20) | 0) + 15 | 0] = f;
+         a = a + 1 | 0;
+         if ((d | 0) != (a | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       d = d + -1 | 0;
+       a = e + 1 | 0;
+       e = (a | 0) == 16 ? 1 : a;
+       break e;
+      case 3:
+       if (b >>> 0 < d >>> 0) {
+        f = e << 4 | 2;
+        a = b;
+        while (1) {
+         o[(i + w(a, 20) | 0) + 15 | 0] = f;
+         a = a + 1 | 0;
+         if ((d | 0) != (a | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       d = d + -1 | 0;
+       a = e + 1 | 0;
+       e = (a | 0) == 16 ? 1 : a;
+       break e;
+      case 5:
+       break f;
+      }
+     }
+     if (b >>> 0 < d >>> 0) {
+      f = e << 4 | 3;
+      a = b;
+      while (1) {
+       o[(i + w(a, 20) | 0) + 15 | 0] = f;
+       a = a + 1 | 0;
+       if ((d | 0) != (a | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     d = d + -1 | 0;
+     a = e + 1 | 0;
+     e = (a | 0) == 16 ? 1 : a;
+    }
+    b = r[j + 269680 | 0] == 1 ? 0 : b;
+    d = d + 1 | 0;
+    if ((h | 0) != (d | 0)) {
+     break b;
+    }
+    a = 1;
+    continue;
+   }
+   b = q[c + 76 >> 2];
+   if (b) {
+    a = b + -1 | 0;
+    d = 0;
+    h = q[c + 88 >> 2];
+    f = r[h + 15 | 0];
+    while (1) {
+     g : {
+      if ((a | 0) == (d | 0)) {
+       d = b;
+       break g;
+      }
+      d = d + 1 | 0;
+      if ((f | 0) == r[(h + w(d, 20) | 0) + 15 | 0]) {
+       continue;
+      }
+     }
+     break;
+    }
+    h = 0;
+    f = b;
+    while (1) {
+     a = d;
+     if (a - h >>> 0 >= 2) {
+      DG(c, h, a);
+      f = q[c + 76 >> 2];
+     }
+     d = a + 1 | 0;
+     h = f >>> 0 > d >>> 0 ? f : d;
+     e = h + -1 | 0;
+     i = q[c + 88 >> 2];
+     j = r[(i + w(a, 20) | 0) + 15 | 0];
+     d = a;
+     while (1) {
+      h : {
+       if ((d | 0) == (e | 0)) {
+        d = h;
+        break h;
+       }
+       d = d + 1 | 0;
+       if ((j | 0) == r[(i + w(d, 20) | 0) + 15 | 0]) {
+        continue;
+       }
+      }
+      break;
+     }
+     h = a;
+     if (a >>> 0 < b >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   return;
+  }
+  a = 0;
+  continue;
+ }
+}
+function Lp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, t = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ l = q[a + 100 >> 2];
+ q[e + 8 >> 2] = 0;
+ c = n[q[a + 516 >> 2]](a, 1129333068, b, e + 4 | 0) | 0;
+ q[e + 12 >> 2] = c;
+ a : {
+  b : {
+   if (c) {
+    break b;
+   }
+   c : {
+    c = q[e + 4 >> 2];
+    if (c >>> 0 < 12) {
+     break c;
+    }
+    c = Jg(b, c, e + 8 | 0);
+    q[e + 12 >> 2] = c;
+    if (c) {
+     break b;
+    }
+    c = q[e + 8 >> 2];
+    k = Oe(l, 20, e + 12 | 0);
+    if (q[e + 12 >> 2]) {
+     break b;
+    }
+    d = r[c | 0] | r[c + 1 | 0] << 8;
+    h = (d << 24 | d << 8 & 16711680) >>> 16 | 0;
+    p[k >> 1] = h;
+    if (h >>> 0 > 1) {
+     break c;
+    }
+    d = r[c + 2 | 0] | r[c + 3 | 0] << 8;
+    t = (d << 24 | d << 8 & 16711680) >>> 16 | 0;
+    p[a + 660 >> 1] = t;
+    d = r[c + 4 | 0] | r[c + 5 | 0] << 8;
+    j = (d << 24 | d << 8 & 16711680) >>> 16 | 0;
+    p[a + 648 >> 1] = j;
+    d = r[c + 6 | 0] | r[c + 7 | 0] << 8;
+    i = (d << 24 | d << 8 & 16711680) >>> 16 | 0;
+    p[k + 2 >> 1] = i;
+    g = j << 1;
+    d = q[e + 4 >> 2];
+    if (g + 12 >>> 0 > d >>> 0) {
+     break c;
+    }
+    f = r[c + 8 | 0] | r[c + 9 | 0] << 8 | (r[c + 10 | 0] << 16 | r[c + 11 | 0] << 24);
+    m = f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24);
+    if (d >>> 0 <= m >>> 0 | t >>> 0 > i >>> 0 | i << 2 >>> 0 > d - m >>> 0) {
+     break c;
+    }
+    c = c + 12 | 0;
+    q[k + 8 >> 2] = c;
+    f = q[e + 8 >> 2];
+    q[k + 4 >> 2] = m + f;
+    d : {
+     if ((h | 0) != 1) {
+      break d;
+     }
+     if (g + 24 >>> 0 > d >>> 0) {
+      break c;
+     }
+     c = c + g | 0;
+     h = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+     i = r[c + 8 | 0] | r[c + 9 | 0] << 8 | (r[c + 10 | 0] << 16 | r[c + 11 | 0] << 24);
+     c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+     c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+     if (c) {
+      if (d >>> 0 <= c >>> 0 | g >>> 0 > d - c >>> 0) {
+       break c;
+      }
+      d = Te(l, 2, 0, j, 0, e + 12 | 0);
+      if (q[e + 12 >> 2]) {
+       break b;
+      }
+      f = q[e + 8 >> 2];
+      j = d + (s[a + 648 >> 1] << 1) | 0;
+      if (j >>> 0 > d >>> 0) {
+       g = c + f | 0;
+       c = d;
+       while (1) {
+        m = r[g | 0] | r[g + 1 | 0] << 8;
+        p[c >> 1] = (m << 24 | m << 8 & 16711680) >>> 16;
+        g = g + 2 | 0;
+        c = c + 2 | 0;
+        if (c >>> 0 < j >>> 0) {
+         continue;
+        }
+        break;
+       }
+      }
+      q[a + 656 >> 2] = d;
+     }
+     c = h << 8 & 16711680 | h << 24 | (h >>> 8 & 65280 | h >>> 24);
+     if (c) {
+      d = q[e + 4 >> 2];
+      if (d >>> 0 <= c >>> 0) {
+       break c;
+      }
+      f = s[a + 648 >> 1];
+      if (f << 1 >>> 0 > d - c >>> 0) {
+       break c;
+      }
+      d = Te(l, 2, 0, f, 0, e + 12 | 0);
+      if (q[e + 12 >> 2]) {
+       break b;
+      }
+      f = q[e + 8 >> 2];
+      h = d + (s[a + 648 >> 1] << 1) | 0;
+      if (h >>> 0 > d >>> 0) {
+       g = c + f | 0;
+       c = d;
+       while (1) {
+        j = r[g | 0] | r[g + 1 | 0] << 8;
+        p[c >> 1] = (j << 24 | j << 8 & 16711680) >>> 16;
+        g = g + 2 | 0;
+        c = c + 2 | 0;
+        if (c >>> 0 < h >>> 0) {
+         continue;
+        }
+        break;
+       }
+      }
+      q[a + 652 >> 2] = d;
+     }
+     c = i << 8 & 16711680 | i << 24 | (i >>> 8 & 65280 | i >>> 24);
+     if (!c) {
+      break d;
+     }
+     d = q[e + 4 >> 2];
+     if (d >>> 0 <= c >>> 0) {
+      break c;
+     }
+     f = s[a + 660 >> 1];
+     if (f << 1 >>> 0 > d - c >>> 0) {
+      break c;
+     }
+     d = Te(l, 2, 0, f, 0, e + 12 | 0);
+     if (q[e + 12 >> 2]) {
+      break b;
+     }
+     f = q[e + 8 >> 2];
+     h = d + (s[a + 660 >> 1] << 1) | 0;
+     if (h >>> 0 > d >>> 0) {
+      g = c + f | 0;
+      c = d;
+      while (1) {
+       i = r[g | 0] | r[g + 1 | 0] << 8;
+       p[c >> 1] = (i << 24 | i << 8 & 16711680) >>> 16;
+       g = g + 2 | 0;
+       c = c + 2 | 0;
+       if (c >>> 0 < h >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     q[a + 664 >> 2] = d;
+    }
+    q[k + 12 >> 2] = f;
+    q[k + 16 >> 2] = q[e + 4 >> 2];
+    q[a + 868 >> 2] = k;
+    f = Te(l, 4, 0, s[a + 660 >> 1], 0, e + 12 | 0);
+    q[a + 672 >> 2] = f;
+    if (q[e + 12 >> 2]) {
+     break b;
+    }
+    c = q[a + 868 >> 2];
+    if (!c | !s[a + 648 >> 1]) {
+     break c;
+    }
+    d = q[c + 8 >> 2];
+    g = r[d | 0] << 8 | r[d + 1 | 0];
+    d = s[a + 660 >> 1];
+    if (g + d >>> 0 > s[c + 2 >> 1]) {
+     break c;
+    }
+    a = 0;
+    if (!d) {
+     break a;
+    }
+    d = (d << 2) + f | 0;
+    b = q[c + 4 >> 2] + (g << 2) | 0;
+    while (1) {
+     o[f | 0] = r[b | 0];
+     o[f + 1 | 0] = r[b + 1 | 0];
+     o[f + 2 | 0] = r[b + 2 | 0];
+     o[f + 3 | 0] = r[b + 3 | 0];
+     b = b + 4 | 0;
+     f = f + 4 | 0;
+     if (f >>> 0 < d >>> 0) {
+      continue;
+     }
+     break;
+    }
+    break a;
+   }
+   q[e + 12 >> 2] = 8;
+  }
+  Lg(b, e + 8 | 0);
+  Qe(l, k);
+  q[a + 868 >> 2] = 0;
+  a = q[e + 12 >> 2];
+ }
+ Ca = e + 16 | 0;
+ return a | 0;
+}
+function gJ(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, s = 0, u = 0, v = 0, x = 0, y = 0;
+ f = Ca + -64 | 0;
+ Ca = f;
+ q[f + 60 >> 2] = 0;
+ j = b + 108 | 0;
+ l = q[a + 8 >> 2];
+ a : {
+  b : {
+   c : {
+    if (q[b + 72 >> 2] != q[a + 16 >> 2]) {
+     q[f + 60 >> 2] = 6;
+     break c;
+    }
+    if ((c | 0) != (e | 0)) {
+     q[f + 60 >> 2] = 19;
+     break c;
+    }
+    if (o[q[b + 156 >> 2] + 4 | 0] & 1) {
+     e = b + 88 | 0;
+     Qe(l, q[e >> 2]);
+     q[e >> 2] = 0;
+     e = q[b + 156 >> 2];
+     q[e + 4 >> 2] = q[e + 4 >> 2] & -2;
+    }
+    if (ze(b, c, d)) {
+     q[f + 60 >> 2] = 98;
+     break c;
+    }
+    h = b + 76 | 0;
+    g = q[h >> 2];
+    d : {
+     if (!g) {
+      e = 0;
+      break d;
+     }
+     e = 0;
+     k = q[b + 84 >> 2];
+     if (!k) {
+      break d;
+     }
+     x = b, y = Te(l, k, 0, g, 0, f + 60 | 0), q[x + 88 >> 2] = y;
+     if (q[f + 60 >> 2]) {
+      break b;
+     }
+     e = q[b + 156 >> 2];
+     q[e + 4 >> 2] = q[e + 4 >> 2] | 1;
+     e = q[b + 76 >> 2] << 6;
+     e = (r[b + 94 | 0] == 6 ? (e | 0) / 3 | 0 : e) - (q[b + 104 >> 2] << 6) | 0;
+     i = q[b + 100 >> 2] << 6;
+     if (d) {
+      e = q[d + 4 >> 2] + e | 0;
+      d = q[d >> 2];
+     } else {
+      d = 0;
+     }
+     i = d - i | 0;
+     if (i | e) {
+      wf(j, i, e);
+     }
+     q[f + 12 >> 2] = j;
+     q[f + 8 >> 2] = h;
+     q[f + 16 >> 2] = 1;
+     c = c + -3 | 0;
+     e : {
+      if (c >>> 0 <= 1) {
+       if (c - 1) {
+        k = q[b + 80 >> 2];
+        h = q[b + 84 >> 2];
+        s = q[b + 76 >> 2];
+        c = q[b >> 2];
+        wf(j, 0 - q[c + 180 >> 2] | 0, 0 - q[c + 184 >> 2] | 0);
+        d = n[q[a + 56 >> 2]](q[a + 52 >> 2], f + 8 | 0) | 0;
+        q[f + 60 >> 2] = d;
+        if (d) {
+         break b;
+        }
+        d = (k >>> 0) / 3 | 0;
+        q[b + 88 >> 2] = d + q[b + 88 >> 2];
+        wf(j, q[c + 180 >> 2] - q[c + 188 >> 2] | 0, q[c + 184 >> 2] - q[c + 192 >> 2] | 0);
+        g = n[q[a + 56 >> 2]](q[a + 52 >> 2], f + 8 | 0) | 0;
+        q[f + 60 >> 2] = g;
+        m = q[b + 88 >> 2] - d | 0;
+        q[b + 88 >> 2] = m;
+        if (g) {
+         break b;
+        }
+        g = d << 1;
+        q[b + 88 >> 2] = g + m;
+        wf(j, q[c + 188 >> 2] - q[c + 196 >> 2] | 0, q[c + 192 >> 2] - q[c + 200 >> 2] | 0);
+        a = n[q[a + 56 >> 2]](q[a + 52 >> 2], f + 8 | 0) | 0;
+        q[f + 60 >> 2] = a;
+        q[b + 88 >> 2] = q[b + 88 >> 2] - g;
+        if (a) {
+         break b;
+        }
+        e = e - q[c + 200 >> 2] | 0;
+        i = i - q[c + 196 >> 2] | 0;
+        g = Oe(l, h, f + 60 | 0);
+        if (q[f + 60 >> 2]) {
+         break b;
+        }
+        if (s) {
+         m = d >>> 0 > 1 ? d : 1;
+         v = k >>> 0 < 3;
+         while (1) {
+          c = q[b + 88 >> 2] + w(h, p) | 0;
+          a = 0;
+          if (!v) {
+           while (1) {
+            k = g + w(a, 3) | 0;
+            o[k | 0] = r[a + c | 0];
+            u = a + d | 0;
+            o[k + 1 | 0] = r[u + c | 0];
+            o[k + 2 | 0] = r[c + (d + u | 0) | 0];
+            a = a + 1 | 0;
+            if ((m | 0) != (a | 0)) {
+             continue;
+            }
+            break;
+           }
+          }
+          Y$(c, g, h);
+          p = p + 1 | 0;
+          if ((s | 0) != (p | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        Qe(l, g);
+        a = q[f + 60 >> 2];
+        break e;
+       }
+       d = q[b + 84 >> 2];
+       q[b + 84 >> 2] = w(d, 3);
+       q[b + 76 >> 2] = t[b + 76 >> 2] / 3;
+       c = q[b >> 2];
+       wf(j, 0 - q[c + 184 >> 2] | 0, q[c + 180 >> 2]);
+       h = n[q[a + 56 >> 2]](q[a + 52 >> 2], f + 8 | 0) | 0;
+       q[f + 60 >> 2] = h;
+       if (h) {
+        break b;
+       }
+       q[b + 88 >> 2] = d + q[b + 88 >> 2];
+       wf(j, q[c + 184 >> 2] - q[c + 192 >> 2] | 0, q[c + 188 >> 2] - q[c + 180 >> 2] | 0);
+       h = n[q[a + 56 >> 2]](q[a + 52 >> 2], f + 8 | 0) | 0;
+       q[f + 60 >> 2] = h;
+       g = q[b + 88 >> 2] - d | 0;
+       q[b + 88 >> 2] = g;
+       if (h) {
+        break b;
+       }
+       d = d << 1;
+       q[b + 88 >> 2] = d + g;
+       wf(j, q[c + 192 >> 2] - q[c + 200 >> 2] | 0, q[c + 196 >> 2] - q[c + 188 >> 2] | 0);
+       a = n[q[a + 56 >> 2]](q[a + 52 >> 2], f + 8 | 0) | 0;
+       q[f + 60 >> 2] = a;
+       q[b + 88 >> 2] = q[b + 88 >> 2] - d;
+       if (a) {
+        break b;
+       }
+       a = q[c + 200 >> 2];
+       c = q[c + 196 >> 2];
+       q[b + 84 >> 2] = q[b + 84 >> 2] / 3;
+       q[b + 76 >> 2] = w(q[b + 76 >> 2], 3);
+       e = c + e | 0;
+       i = i - a | 0;
+       break d;
+      }
+      a = n[q[a + 56 >> 2]](q[a + 52 >> 2], f + 8 | 0) | 0;
+      q[f + 60 >> 2] = a;
+     }
+     if (a) {
+      break b;
+     }
+    }
+    q[b + 72 >> 2] = 1651078259;
+    break a;
+   }
+   e = 0;
+  }
+  if (!(o[q[b + 156 >> 2] + 4 | 0] & 1)) {
+   break a;
+  }
+  a = b + 88 | 0;
+  Qe(l, q[a >> 2]);
+  q[a >> 2] = 0;
+  a = q[b + 156 >> 2];
+  q[a + 4 >> 2] = q[a + 4 >> 2] & -2;
+ }
+ if (e | i) {
+  wf(j, 0 - i | 0, 0 - e | 0);
+ }
+ Ca = f - -64 | 0;
+ return q[f + 60 >> 2];
+}
+function hI(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0, t = 0, u = 0;
+ if (!(r[a + 16 | 0] & 8)) {
+  e = w(c, 204) + b | 0;
+  n = q[e + 200 >> 2];
+  g = q[e + 204 >> 2] + Ee(q[a >> 2], n) | 0;
+  f = Ee(q[a + 4 >> 2], n);
+  a : {
+   b : {
+    c : {
+     d : {
+      e : {
+       if (c >>> 0 <= 1) {
+        f : {
+         if (!(c - 1)) {
+          if (r[d + 121 | 0]) {
+           break f;
+          }
+          break b;
+         }
+         if (!r[d + 120 | 0]) {
+          break b;
+         }
+         e = r[d + 122 | 0] != 0;
+         break e;
+        }
+        o = r[d + 123 | 0];
+        q[a + 12 >> 2] = f;
+        p = q[a >> 2];
+        u = r[b + 2492 | 0];
+        m = 2;
+        i = q[b + 412 >> 2];
+        g : {
+         h : {
+          if (!i) {
+           break h;
+          }
+          l = p + q[a + 4 >> 2] | 0;
+          h = b + 416 | 0;
+          k = q[b + 2488 >> 2];
+          e = 0 - k | 0;
+          while (1) {
+           j = l - q[h + 12 >> 2] | 0;
+           if ((j | 0) < (e | 0)) {
+            break h;
+           }
+           if ((k + q[h + 8 >> 2] | 0) >= (l | 0)) {
+            if (!u) {
+             e = 0;
+             if ((j | 0) > q[b + 2484 >> 2]) {
+              break g;
+             }
+            }
+            s = q[h + 16 >> 2];
+            m = 3;
+            e = 1;
+            break g;
+           }
+           h = h + 32 | 0;
+           i = i + -1 | 0;
+           if (i) {
+            continue;
+           }
+           break;
+          }
+         }
+         e = 0;
+        }
+        i = q[b + 928 >> 2];
+        i : {
+         if (!i) {
+          break i;
+         }
+         l = q[b + 2488 >> 2];
+         k = 0 - l | 0;
+         h = ((i << 5) + b | 0) + 932 | 0;
+         while (1) {
+          j = q[h + -24 >> 2] - p | 0;
+          if ((j | 0) < (k | 0)) {
+           break i;
+          }
+          if ((q[h + -20 >> 2] - l | 0) > (p | 0)) {
+           h = h + -32 | 0;
+           i = i + -1 | 0;
+           if (i) {
+            continue;
+           }
+           break i;
+          }
+          break;
+         }
+         if ((j | 0) >= q[b + 2484 >> 2] ? !u : 0) {
+          break i;
+         }
+         t = q[h + -16 >> 2];
+         e = m;
+        }
+        e = e + -1 | 0;
+        if (e >>> 0 > 2) {
+         j = (o | 0) != 0;
+         break d;
+        }
+        j : {
+         switch (e - 1 | 0) {
+         case 0:
+          q[a + 8 >> 2] = t;
+          if (!o) {
+           break a;
+          }
+          q[a + 12 >> 2] = (f | 0) < 64 ? 64 : f + 32 & -64;
+          break a;
+         case 1:
+          break j;
+         default:
+          break c;
+         }
+        }
+        q[a + 8 >> 2] = t;
+        q[a + 12 >> 2] = s - t;
+        break a;
+       }
+       e = 0;
+      }
+      j = e;
+      q[a + 12 >> 2] = f;
+     }
+     e = q[a + 20 >> 2];
+     if (e) {
+      if (!(r[e + 16 | 0] & 8)) {
+       hI(e, b, c, d);
+      }
+      g = ((q[e + 8 >> 2] - (f >> 1) | 0) + (q[e + 12 >> 2] >> 1) | 0) + Ee((q[a >> 2] - (q[e >> 2] + (q[e + 4 >> 2] >> 1) | 0) | 0) + (q[a + 4 >> 2] >> 1) | 0, n) | 0;
+     }
+     q[a + 12 >> 2] = f;
+     q[a + 8 >> 2] = g;
+     m = a;
+     e = f;
+     k : {
+      if (!r[d + 124 | 0]) {
+       break k;
+      }
+      if ((f | 0) <= 64) {
+       if ((f | 0) >= 32) {
+        g = (f >>> 1 | 0) + g & -64;
+        e = 64;
+        break k;
+       }
+       b = g + 32 & -64;
+       if ((f | 0) < 1) {
+        g = b;
+        e = f;
+        break k;
+       }
+       e = b - g | 0;
+       k = e >> 31;
+       c = f + g | 0;
+       d = c + 32 & -64;
+       c = d - c | 0;
+       g = c >> 31;
+       g = (k ^ e + k) > (g ^ c + g) ? d : b;
+       e = f;
+       break k;
+      }
+      b = q[(w(c, 204) + b | 0) + 12 >> 2];
+      c = f - b | 0;
+      d = c >> 31;
+      if ((d ^ c + d) <= 39) {
+       f = b;
+       e = 54;
+       if ((b | 0) < 49) {
+        break k;
+       }
+      }
+      if ((f | 0) <= 191) {
+       c = f & 63;
+       e = f;
+       if (c >>> 0 < 10) {
+        break k;
+       }
+       b = f & -64;
+       e = b | 10;
+       if (c >>> 0 <= 31) {
+        break k;
+       }
+       e = f;
+       if (c >>> 0 > 53) {
+        break k;
+       }
+       e = b | 54;
+       break k;
+      }
+      e = f + 32 & -64;
+     }
+     b = e;
+     q[m + 12 >> 2] = b;
+     c = g + 32 | 0;
+     e = ((c + b & -64) - g | 0) - b | 0;
+     d = (c & -64) - g | 0;
+     c = d >> 31;
+     f = c ^ c + d;
+     c = e >> 31;
+     c = ((f | 0) > (c + e ^ c) ? e : d) + g | 0;
+     q[a + 8 >> 2] = c;
+     if (!j) {
+      break a;
+     }
+     d = (b | 0) < 64 ? 64 : b + 32 & -64;
+     q[a + 12 >> 2] = d;
+     b = c;
+     c = d >> 1;
+     b = b + c | 0;
+     q[a + 8 >> 2] = (d & 64 ? b & -64 | 32 : b + 32 & -64) - c;
+     break a;
+    }
+    q[a + 8 >> 2] = s - f;
+    if (!o) {
+     break a;
+    }
+    b = (f | 0) < 64 ? 64 : f + 32 & -64;
+    q[a + 12 >> 2] = b;
+    q[a + 8 >> 2] = s - b;
+    break a;
+   }
+   q[a + 12 >> 2] = f;
+   q[a + 8 >> 2] = g;
+  }
+  q[a + 16 >> 2] = q[a + 16 >> 2] | 8;
+ }
+}
+function Gz(a, b) {
+ var c = 0, d = 0;
+ a : {
+  b : {
+   c : {
+    c = a + -247 | 0;
+    if (c >>> 0 > 7) {
+     if ((a | 0) == 28) {
+      a = q[b + 12 >> 2];
+      d = q[b + 4 >> 2];
+      d : {
+       if (a >>> 0 >= d >>> 0) {
+        o[b + 16 | 0] = 1;
+        c = 271040;
+        break d;
+       }
+       c = a + q[b >> 2] | 0;
+      }
+      c = r[c | 0];
+      a = a + 1 | 0;
+      e : {
+       if (a >>> 0 >= d >>> 0) {
+        o[b + 16 | 0] = 1;
+        a = 271040;
+        break e;
+       }
+       a = a + q[b >> 2] | 0;
+      }
+      c = r[a | 0] | c << 8;
+      a = q[b + 24 >> 2];
+      f : {
+       if (a >>> 0 < t[b + 32 >> 2]) {
+        q[b + 24 >> 2] = a + 1;
+        a = q[b + 36 >> 2] + (a << 5) | 0;
+        break f;
+       }
+       o[b + 20 | 0] = 1;
+       a = q[67767];
+       q[160662] = q[67766];
+       q[160663] = a;
+       a = q[67765];
+       q[160660] = q[67764];
+       q[160661] = a;
+       a = q[67763];
+       q[160658] = q[67762];
+       q[160659] = a;
+       a = q[67761];
+       q[160656] = q[67760];
+       q[160657] = a;
+       a = 642624;
+      }
+      q[a + 8 >> 2] = 0;
+      q[a + 12 >> 2] = 0;
+      if (q[a + 16 >> 2] >= 0) {
+       q[a + 20 >> 2] = 0;
+      }
+      v[a >> 3] = c << 16 >> 16;
+      if (r[b + 16 | 0]) {
+       a = q[b + 4 >> 2];
+       break c;
+      }
+      c = q[b + 12 >> 2];
+      a = q[b + 4 >> 2];
+      if (c >>> 0 > a >>> 0) {
+       break c;
+      }
+      c = c + 2 | 0;
+      if (c >>> 0 > a >>> 0) {
+       break c;
+      }
+      break b;
+     }
+     if (a + -32 >>> 0 <= 214) {
+      c = a + -139 | 0;
+      a = q[b + 24 >> 2];
+      g : {
+       if (a >>> 0 < t[b + 32 >> 2]) {
+        q[b + 24 >> 2] = a + 1;
+        a = q[b + 36 >> 2] + (a << 5) | 0;
+        break g;
+       }
+       o[b + 20 | 0] = 1;
+       a = q[67767];
+       q[160662] = q[67766];
+       q[160663] = a;
+       a = q[67765];
+       q[160660] = q[67764];
+       q[160661] = a;
+       a = q[67763];
+       q[160658] = q[67762];
+       q[160659] = a;
+       a = q[67761];
+       q[160656] = q[67760];
+       q[160657] = a;
+       a = 642624;
+      }
+      q[a + 8 >> 2] = 0;
+      q[a + 12 >> 2] = 0;
+      if (q[a + 16 >> 2] >= 0) {
+       q[a + 20 >> 2] = 0;
+      }
+      v[a >> 3] = c | 0;
+      return;
+     }
+     o[b + 40 | 0] = 1;
+     q[b + 24 >> 2] = 0;
+     return;
+    }
+    h : {
+     switch (c - 4 | 0) {
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+      c = (a << 16) + -16449536 >> 8;
+      a = q[b + 12 >> 2];
+      i : {
+       if (a >>> 0 >= t[b + 4 >> 2]) {
+        o[b + 16 | 0] = 1;
+        a = 271040;
+        break i;
+       }
+       a = a + q[b >> 2] | 0;
+      }
+      c = -108 - (c + r[a | 0] | 0) | 0;
+      a = q[b + 24 >> 2];
+      j : {
+       if (a >>> 0 < t[b + 32 >> 2]) {
+        q[b + 24 >> 2] = a + 1;
+        a = q[b + 36 >> 2] + (a << 5) | 0;
+        break j;
+       }
+       o[b + 20 | 0] = 1;
+       a = q[67767];
+       q[160662] = q[67766];
+       q[160663] = a;
+       a = q[67765];
+       q[160660] = q[67764];
+       q[160661] = a;
+       a = q[67763];
+       q[160658] = q[67762];
+       q[160659] = a;
+       a = q[67761];
+       q[160656] = q[67760];
+       q[160657] = a;
+       a = 642624;
+      }
+      q[a + 8 >> 2] = 0;
+      q[a + 12 >> 2] = 0;
+      if (q[a + 16 >> 2] >= 0) {
+       q[a + 20 >> 2] = 0;
+      }
+      v[a >> 3] = c | 0;
+      k : {
+       if (r[b + 16 | 0]) {
+        a = q[b + 4 >> 2];
+        break k;
+       }
+       c = q[b + 12 >> 2];
+       a = q[b + 4 >> 2];
+       if (c >>> 0 > a >>> 0) {
+        break k;
+       }
+       c = c + 1 | 0;
+       if (c >>> 0 > a >>> 0) {
+        break k;
+       }
+       break b;
+      }
+      break a;
+     default:
+      break h;
+     }
+    }
+    c = (a << 8) + 2304 | 0;
+    a = q[b + 12 >> 2];
+    l : {
+     if (a >>> 0 >= t[b + 4 >> 2]) {
+      o[b + 16 | 0] = 1;
+      a = 271040;
+      break l;
+     }
+     a = a + q[b >> 2] | 0;
+    }
+    c = ((c | r[a | 0]) << 16) + 7077888 >> 16;
+    a = q[b + 24 >> 2];
+    m : {
+     if (a >>> 0 < t[b + 32 >> 2]) {
+      q[b + 24 >> 2] = a + 1;
+      a = q[b + 36 >> 2] + (a << 5) | 0;
+      break m;
+     }
+     o[b + 20 | 0] = 1;
+     a = q[67767];
+     q[160662] = q[67766];
+     q[160663] = a;
+     a = q[67765];
+     q[160660] = q[67764];
+     q[160661] = a;
+     a = q[67763];
+     q[160658] = q[67762];
+     q[160659] = a;
+     a = q[67761];
+     q[160656] = q[67760];
+     q[160657] = a;
+     a = 642624;
+    }
+    q[a + 8 >> 2] = 0;
+    q[a + 12 >> 2] = 0;
+    if (q[a + 16 >> 2] >= 0) {
+     q[a + 20 >> 2] = 0;
+    }
+    v[a >> 3] = c | 0;
+    n : {
+     if (r[b + 16 | 0]) {
+      a = q[b + 4 >> 2];
+      break n;
+     }
+     c = q[b + 12 >> 2];
+     a = q[b + 4 >> 2];
+     if (c >>> 0 > a >>> 0) {
+      break n;
+     }
+     c = c + 1 | 0;
+     if (c >>> 0 > a >>> 0) {
+      break n;
+     }
+     break b;
+    }
+    break a;
+   }
+   o[b + 16 | 0] = 1;
+   q[b + 12 >> 2] = a;
+   return;
+  }
+  q[b + 12 >> 2] = c;
+  return;
+ }
+ o[b + 16 | 0] = 1;
+ q[b + 12 >> 2] = a;
+}
+function QF(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ f = q[b + 4 >> 2];
+ a : {
+  if (f >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0) {
+   break a;
+  }
+  g = e - a | 0;
+  if (g >>> 0 < 2) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  c = 1;
+  if ((d | 0) < 1) {
+   c = 0;
+   break a;
+  }
+  h = r[a | 0] | r[a + 1 | 0] << 8;
+  h = (h << 24 | h << 8 & 16711680) >>> 16 | 0;
+  if (h >>> 0 > 14) {
+   break a;
+  }
+  b : {
+   switch (h - 1 | 0) {
+   default:
+    c = 0;
+    if (g >>> 0 < 262) {
+     break a;
+    }
+    q[b + 12 >> 2] = d + -2;
+    c = (d | 0) > 1;
+    break a;
+   case 3:
+    c = RF(a, b);
+    break a;
+   case 5:
+    if (g >>> 0 < 10) {
+     c = 0;
+     break a;
+    }
+    q[b + 12 >> 2] = d + -2;
+    if ((d | 0) < 2) {
+     c = 0;
+     break a;
+    }
+    c = a + 8 | 0;
+    if (f >>> 0 > c >>> 0) {
+     c = 0;
+     break a;
+    }
+    if (e >>> 0 < c >>> 0) {
+     c = 0;
+     break a;
+    }
+    if (e - c >>> 0 < 2) {
+     c = 0;
+     break a;
+    }
+    q[b + 12 >> 2] = d + -3;
+    if ((d | 0) < 3) {
+     c = 0;
+     break a;
+    }
+    c = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+    if (c) {
+     a = a + 10 | 0;
+     if (f >>> 0 > a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e >>> 0 < a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e - a >>> 0 < c << 1 >>> 0) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -4;
+     c = 0;
+     if ((d | 0) < 4) {
+      break a;
+     }
+    }
+    c = 1;
+    break a;
+   case 9:
+    if (g >>> 0 < 20) {
+     c = 0;
+     break a;
+    }
+    q[b + 12 >> 2] = d + -2;
+    if ((d | 0) < 2) {
+     c = 0;
+     break a;
+    }
+    c = a + 16 | 0;
+    if (f >>> 0 > c >>> 0) {
+     c = 0;
+     break a;
+    }
+    if (e >>> 0 < c >>> 0) {
+     c = 0;
+     break a;
+    }
+    if (e - c >>> 0 < 4) {
+     c = 0;
+     break a;
+    }
+    q[b + 12 >> 2] = d + -3;
+    if ((d | 0) < 3) {
+     c = 0;
+     break a;
+    }
+    c = r[a + 16 | 0] | r[a + 17 | 0] << 8 | (r[a + 18 | 0] << 16 | r[a + 19 | 0] << 24);
+    c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    if (c >>> 0 > 2147483646) {
+     c = 0;
+     break a;
+    }
+    if (c) {
+     a = a + 20 | 0;
+     if (f >>> 0 > a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e >>> 0 < a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e - a >>> 0 < c << 1 >>> 0) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -4;
+     c = 0;
+     if ((d | 0) < 4) {
+      break a;
+     }
+    }
+    c = 1;
+    break a;
+   case 11:
+    if (g >>> 0 < 16) {
+     c = 0;
+     break a;
+    }
+    q[b + 12 >> 2] = d + -2;
+    if ((d | 0) < 2) {
+     c = 0;
+     break a;
+    }
+    c = a + 12 | 0;
+    if (f >>> 0 > c >>> 0) {
+     c = 0;
+     break a;
+    }
+    if (e >>> 0 < c >>> 0) {
+     c = 0;
+     break a;
+    }
+    if (e - c >>> 0 < 4) {
+     c = 0;
+     break a;
+    }
+    q[b + 12 >> 2] = d + -3;
+    if ((d | 0) < 3) {
+     c = 0;
+     break a;
+    }
+    c = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+    c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    if (c >>> 0 > 357913940) {
+     c = 0;
+     break a;
+    }
+    c = w(c, 12);
+    if (c) {
+     a = a + 16 | 0;
+     if (f >>> 0 > a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e >>> 0 < a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e - a >>> 0 < c >>> 0) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -4;
+     c = 0;
+     if ((d | 0) < 4) {
+      break a;
+     }
+    }
+    c = 1;
+    break a;
+   case 12:
+    if (g >>> 0 < 16) {
+     c = 0;
+     break a;
+    }
+    q[b + 12 >> 2] = d + -2;
+    if ((d | 0) < 2) {
+     c = 0;
+     break a;
+    }
+    c = a + 12 | 0;
+    if (f >>> 0 > c >>> 0) {
+     c = 0;
+     break a;
+    }
+    if (e >>> 0 < c >>> 0) {
+     c = 0;
+     break a;
+    }
+    if (e - c >>> 0 < 4) {
+     c = 0;
+     break a;
+    }
+    q[b + 12 >> 2] = d + -3;
+    if ((d | 0) < 3) {
+     c = 0;
+     break a;
+    }
+    c = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+    c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    if (c >>> 0 > 357913940) {
+     c = 0;
+     break a;
+    }
+    c = w(c, 12);
+    if (c) {
+     a = a + 16 | 0;
+     if (f >>> 0 > a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e >>> 0 < a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e - a >>> 0 < c >>> 0) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -4;
+     c = 0;
+     if ((d | 0) < 4) {
+      break a;
+     }
+    }
+    c = 1;
+    break a;
+   case 0:
+   case 1:
+   case 2:
+   case 4:
+   case 6:
+   case 7:
+   case 8:
+   case 10:
+    break a;
+   case 13:
+    break b;
+   }
+  }
+  if (g >>> 0 <= 9) {
+   c = 0;
+   break a;
+  }
+  q[b + 12 >> 2] = d + -2;
+  c = 0;
+  if ((d | 0) < 2) {
+   break a;
+  }
+  q[i + 12 >> 2] = a;
+  c = SF(a + 6 | 0, b, i + 12 | 0);
+ }
+ Ca = i + 16 | 0;
+ return c;
+}
+function BW(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0, t = 0, u = 0;
+ i = a + 32 | 0;
+ f = q[a + 40 >> 2] - i | 0;
+ d = f;
+ c = d + q[a + 48 >> 2] | 0;
+ h = c << 24;
+ t = a;
+ d = q[a + 8 >> 2];
+ c = q[a + 12 >> 2];
+ b = Z0(d, c, 13);
+ e = Ea;
+ g = b;
+ b = q[a + 4 >> 2] + c | 0;
+ c = d;
+ d = q[a >> 2];
+ c = c + d | 0;
+ if (c >>> 0 < d >>> 0) {
+  b = b + 1 | 0;
+ }
+ j = c;
+ d = g ^ c;
+ g = b;
+ b = b ^ e;
+ c = b;
+ l = Z0(d, b, 17);
+ o = Ea;
+ b = (f << 24 >> 24) + -1 | 0;
+ if (b >>> 0 <= 6) {
+  a : {
+   switch (b - 1 | 0) {
+   case 5:
+    h = h | r[a + 38 | 0] << 16;
+   case 4:
+    h = h | r[a + 37 | 0] << 8;
+   case 3:
+    h = h | r[a + 36 | 0];
+   case 2:
+    e = r[a + 35 | 0];
+    b = e >>> 8 | 0;
+    s = s | e << 24;
+    h = b | h;
+   case 1:
+    e = r[a + 34 | 0];
+    b = e >>> 16 | 0;
+    s = s | e << 16;
+    h = b | h;
+   case 0:
+    e = r[a + 33 | 0];
+    b = e >>> 24 | 0;
+    s = s | e << 8;
+    h = b | h;
+    break;
+   default:
+    break a;
+   }
+  }
+  s = r[i | 0] | s;
+ }
+ n = h ^ q[a + 28 >> 2];
+ b = n + q[a + 20 >> 2] | 0;
+ k = s ^ q[a + 24 >> 2];
+ f = q[a + 16 >> 2];
+ e = k + f | 0;
+ if (e >>> 0 < f >>> 0) {
+  b = b + 1 | 0;
+ }
+ m = e;
+ e = b;
+ b = b + c | 0;
+ c = m;
+ d = c + d | 0;
+ if (d >>> 0 < c >>> 0) {
+  b = b + 1 | 0;
+ }
+ u = d;
+ i = b;
+ f = l ^ d;
+ d = b ^ o;
+ l = Z0(f, d, 13);
+ o = Ea;
+ c = Z0(j, g, 32);
+ b = Ea;
+ k = Z0(k, n, 16) ^ m;
+ n = e ^ Ea;
+ b = n + b | 0;
+ e = c;
+ c = k;
+ e = e + c | 0;
+ if (e >>> 0 < c >>> 0) {
+  b = b + 1 | 0;
+ }
+ m = e;
+ g = l;
+ e = b;
+ b = b + d | 0;
+ c = m;
+ d = c + f | 0;
+ if (d >>> 0 < c >>> 0) {
+  b = b + 1 | 0;
+ }
+ l = d;
+ d = g ^ d;
+ g = b;
+ c = b ^ o;
+ o = Z0(d, c, 17);
+ f = Ea;
+ p = Z0(k, n, 21) ^ m;
+ j = Ea ^ e;
+ e = Z0(u, i, 32);
+ i = e + p | 0;
+ b = Ea + j | 0;
+ b = i >>> 0 < e >>> 0 ? b + 1 | 0 : b;
+ e = b;
+ b = b + c | 0;
+ c = i;
+ d = c + d | 0;
+ if (d >>> 0 < c >>> 0) {
+  b = b + 1 | 0;
+ }
+ n = d;
+ d = d ^ o;
+ c = f;
+ f = b;
+ c = c ^ b;
+ k = Z0(d, c, 13);
+ m = Ea;
+ p = Z0(p, j, 16) ^ i;
+ j = e ^ Ea;
+ e = Z0(l, g, 32);
+ g = e + p | 0;
+ b = Ea + j | 0;
+ l = g;
+ e = g >>> 0 < e >>> 0 ? b + 1 | 0 : b;
+ b = (h ^ e) + c | 0;
+ c = d;
+ d = g ^ s;
+ c = c + d | 0;
+ if (c >>> 0 < d >>> 0) {
+  b = b + 1 | 0;
+ }
+ o = c;
+ d = c ^ k;
+ i = b;
+ c = b ^ m;
+ g = Z0(d, c, 17);
+ k = Ea;
+ p = Z0(p, j, 21) ^ l;
+ j = Ea ^ e;
+ e = Z0(n, f, 32) ^ 255;
+ f = e + p | 0;
+ b = Ea + j | 0;
+ m = f;
+ n = g;
+ g = f >>> 0 < e >>> 0 ? b + 1 | 0 : b;
+ b = g + c | 0;
+ c = f;
+ d = c + d | 0;
+ if (d >>> 0 < c >>> 0) {
+  b = b + 1 | 0;
+ }
+ l = d;
+ e = n ^ d;
+ f = b;
+ d = b ^ k;
+ h = Z0(e, d, 13);
+ k = Ea;
+ c = Z0(o, i, 32);
+ b = Ea;
+ m = Z0(p, j, 16) ^ m;
+ o = g ^ Ea;
+ b = o + b | 0;
+ g = c;
+ c = m;
+ g = g + c | 0;
+ if (g >>> 0 < c >>> 0) {
+  b = b + 1 | 0;
+ }
+ i = g;
+ c = d;
+ d = b;
+ b = c + b | 0;
+ c = g;
+ e = c + e | 0;
+ if (e >>> 0 < c >>> 0) {
+  b = b + 1 | 0;
+ }
+ n = e;
+ e = e ^ h;
+ g = b;
+ c = b ^ k;
+ h = Z0(e, c, 17);
+ k = Ea;
+ p = Z0(m, o, 21) ^ i;
+ j = Ea ^ d;
+ d = Z0(l, f, 32);
+ f = d + p | 0;
+ b = Ea + j | 0;
+ i = f;
+ d = f >>> 0 < d >>> 0 ? b + 1 | 0 : b;
+ b = d + c | 0;
+ c = f;
+ e = c + e | 0;
+ if (e >>> 0 < c >>> 0) {
+  b = b + 1 | 0;
+ }
+ o = e;
+ e = e ^ h;
+ f = b;
+ c = b ^ k;
+ k = Z0(e, c, 13);
+ m = Ea;
+ j = Z0(p, j, 16) ^ i;
+ l = d ^ Ea;
+ d = Z0(n, g, 32);
+ g = d + j | 0;
+ b = Ea + l | 0;
+ i = g;
+ d = g >>> 0 < d >>> 0 ? b + 1 | 0 : b;
+ b = d + c | 0;
+ c = g;
+ e = c + e | 0;
+ if (e >>> 0 < c >>> 0) {
+  b = b + 1 | 0;
+ }
+ n = e;
+ e = e ^ k;
+ g = b;
+ c = b ^ m;
+ h = Z0(e, c, 17);
+ k = Ea;
+ j = Z0(j, l, 21) ^ i;
+ l = Ea ^ d;
+ d = Z0(o, f, 32);
+ f = d + j | 0;
+ b = Ea + l | 0;
+ m = f;
+ i = h;
+ d = f >>> 0 < d >>> 0 ? b + 1 | 0 : b;
+ b = d + c | 0;
+ c = f;
+ e = c + e | 0;
+ if (e >>> 0 < c >>> 0) {
+  b = b + 1 | 0;
+ }
+ h = e;
+ i = i ^ e;
+ f = b;
+ c = b ^ k;
+ o = c;
+ e = i;
+ p = Z0(j, l, 16) ^ m;
+ l = d ^ Ea;
+ d = Z0(n, g, 32);
+ g = d + p | 0;
+ b = Ea + l | 0;
+ b = g >>> 0 < d >>> 0 ? b + 1 | 0 : b;
+ d = b;
+ b = b + c | 0;
+ c = g;
+ e = c + e | 0;
+ if (e >>> 0 < c >>> 0) {
+  b = b + 1 | 0;
+ }
+ j = e;
+ e = b;
+ k = Z0(j, b, 32);
+ m = Ea;
+ n = Z0(p, l, 21) ^ g;
+ c = Ea ^ d;
+ b = c;
+ g = Z0(n, b, 16);
+ d = Ea;
+ c = Z0(h, f, 32);
+ f = c + n | 0;
+ b = Ea + b | 0;
+ l = f;
+ c = f >>> 0 < c >>> 0 ? b + 1 | 0 : b;
+ h = c ^ d;
+ b = h + m | 0;
+ d = k;
+ k = g ^ f;
+ f = k;
+ d = d + f | 0;
+ if (d >>> 0 < f >>> 0) {
+  b = b + 1 | 0;
+ }
+ n = d;
+ d = b;
+ q[t >> 2] = n;
+ q[t + 4 >> 2] = b;
+ g = a;
+ f = Z0(i, o, 13) ^ j;
+ b = e ^ Ea;
+ e = b;
+ b = Z0(f, b, 17);
+ m = Ea;
+ o = b;
+ b = c + e | 0;
+ c = f;
+ e = c + l | 0;
+ if (e >>> 0 < c >>> 0) {
+  b = b + 1 | 0;
+ }
+ i = e;
+ t = o ^ e;
+ c = b ^ m;
+ f = c;
+ q[g + 8 >> 2] = t;
+ q[g + 12 >> 2] = c;
+ e = Z0(k, h, 21);
+ q[a + 24 >> 2] = e ^ n;
+ c = d;
+ d = Ea;
+ q[a + 28 >> 2] = c ^ d;
+ g = Z0(i, b, 32);
+ c = Ea;
+ b = c;
+ q[a + 16 >> 2] = g;
+ q[a + 20 >> 2] = b;
+ Ea = b ^ (d ^ f);
+ return g ^ (e ^ t);
+}
+function kj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, t = 0, u = 0, v = 0, w = 0;
+ f = Ca - 32 | 0;
+ Ca = f;
+ i = q[b + 28 >> 2];
+ q[f + 4 >> 2] = 2;
+ c = q[a + 496 >> 2];
+ if (c) {
+  Qe(i, q[c + 36 >> 2]);
+  q[c + 36 >> 2] = 0;
+  q[c + 40 >> 2] = 0;
+  Qe(i, q[c + 28 >> 2]);
+  q[c + 28 >> 2] = 0;
+  q[c + 32 >> 2] = 0;
+  Qe(i, c);
+  q[a + 496 >> 2] = 0;
+ }
+ c = Oe(i, 44, f + 4 | 0);
+ a : {
+  if (q[f + 4 >> 2]) {
+   break a;
+  }
+  d = Kg(b, q[b + 4 >> 2]);
+  q[f + 4 >> 2] = d;
+  if (d) {
+   break a;
+  }
+  d = q[a + 476 >> 2];
+  q[c + 12 >> 2] = q[a + 472 >> 2];
+  q[c + 16 >> 2] = d;
+  k = a + 464 | 0;
+  d = k;
+  e = q[d + 4 >> 2];
+  q[c + 4 >> 2] = q[d >> 2];
+  q[c + 8 >> 2] = e;
+  q[c + 20 >> 2] = q[a + 476 >> 2];
+  q[c + 24 >> 2] = q[a + 468 >> 2];
+  e = q[a + 492 >> 2];
+  d = q[e + 36 >> 2];
+  b : {
+   if (d) {
+    d = n[q[d >> 2]](f + 8 | 0, q[b + 28 >> 2], q[b + 32 >> 2], q[b + 36 >> 2]) | 0;
+    q[f + 4 >> 2] = d;
+    if (!d) {
+     q[f + 24 >> 2] = a + 132;
+     q[f + 20 >> 2] = 85;
+     q[f + 16 >> 2] = c;
+     v = f, w = n[q[q[e + 36 >> 2] + 8 >> 2]](f + 8 | 0) | 0, q[v + 4 >> 2] = w;
+     n[q[q[e + 36 >> 2] + 4 >> 2]](f + 8 | 0);
+     d = q[f + 4 >> 2];
+    }
+    c : {
+     if ((d & 255) != 2) {
+      break c;
+     }
+     g = q[b + 4 >> 2];
+     if (g >>> 0 < 7) {
+      break c;
+     }
+     e = q[b + 32 >> 2];
+     if (r[e + 1 | 0] > 3 | (g | 0) != (r[e + 2 | 0] | r[e + 3 | 0] << 8 | (r[e + 4 | 0] << 16 | r[e + 5 | 0] << 24))) {
+      break c;
+     }
+     d = 0;
+     q[f + 28 >> 2] = 0;
+     l = q[b + 28 >> 2];
+     d : {
+      e : {
+       h = q[b + 36 >> 2];
+       if (e + 101 >>> 0 > h >>> 0) {
+        q[f + 28 >> 2] = 2;
+        break e;
+       }
+       g = (e + 99 | 0) + (r[e + 99 | 0] | r[e + 100 | 0] << 8) | 0;
+       if (g + 36 >>> 0 > h >>> 0) {
+        break d;
+       }
+       g = g + 18 | 0;
+       if ((r[g | 0] | r[g + 1 | 0] << 8) >>> 0 < 18) {
+        break d;
+       }
+       g = r[g + 14 | 0] | r[g + 15 | 0] << 8 | (r[g + 16 | 0] << 16 | r[g + 17 | 0] << 24);
+       if (!g) {
+        break d;
+       }
+       g = e + g | 0;
+       e = g + 2 | 0;
+       if (e >>> 0 > h >>> 0) {
+        q[f + 28 >> 2] = 2;
+        break e;
+       }
+       j = r[g | 0] | r[g + 1 | 0] << 8;
+       q[c + 40 >> 2] = j;
+       if ((j << 2) + e >>> 0 > h >>> 0) {
+        q[f + 28 >> 2] = 2;
+        break e;
+       }
+       if (!j) {
+        break d;
+       }
+       d = Te(l, 16, 0, j, 0, f + 28 | 0);
+       q[c + 36 >> 2] = d;
+       if (q[f + 28 >> 2]) {
+        break e;
+       }
+       t = q[c + 40 >> 2];
+       j = q[a + 92 >> 2];
+       m = q[a + 36 >> 2];
+       f : {
+        if ((m | 0) < 1) {
+         break f;
+        }
+        u = q[a + 40 >> 2];
+        h = 0;
+        while (1) {
+         o = q[(h << 2) + u >> 2];
+         if (s[o + 8 >> 1] != 7) {
+          h = h + 1 | 0;
+          if ((m | 0) != (h | 0)) {
+           continue;
+          }
+          break f;
+         }
+         break;
+        }
+        h = Wf(a, o);
+        q[f + 28 >> 2] = h;
+        if (h) {
+         break e;
+        }
+       }
+       h = t << 2;
+       if ((h | 0) >= 1) {
+        g = g + (h | 2) | 0;
+        while (1) {
+         v = d, w = xf(a, r[e | 0]), q[v >> 2] = w;
+         v = d, w = xf(a, r[e + 1 | 0]), q[v + 4 >> 2] = w;
+         h = (r[e + 2 | 0] | r[e + 3 | 0] << 8) << 16 >> 16;
+         q[d + 12 >> 2] = 0;
+         q[d + 8 >> 2] = h;
+         d = d + 16 | 0;
+         e = e + 4 | 0;
+         if (e >>> 0 < g >>> 0) {
+          continue;
+         }
+         break;
+        }
+       }
+       g : {
+        if (j) {
+         d = Wf(a, j);
+         q[f + 28 >> 2] = d;
+         break g;
+        }
+        d = q[f + 28 >> 2];
+       }
+       if (d) {
+        break e;
+       }
+       M_(q[c + 36 >> 2], q[c + 40 >> 2], 16, 86);
+       if (q[f + 28 >> 2]) {
+        break e;
+       }
+       d = 0;
+       break d;
+      }
+      Qe(l, q[c + 36 >> 2]);
+      q[c + 36 >> 2] = 0;
+      q[c + 40 >> 2] = 0;
+      d = q[f + 28 >> 2];
+     }
+     q[f + 4 >> 2] = d;
+    }
+    if (d) {
+     break b;
+    }
+   }
+   d = c + 4 | 0;
+   e = q[d + 4 >> 2];
+   q[k >> 2] = q[d >> 2];
+   q[k + 4 >> 2] = e;
+   e = q[d + 12 >> 2];
+   q[k + 8 >> 2] = q[d + 8 >> 2];
+   q[k + 12 >> 2] = e;
+   q[a + 52 >> 2] = q[c + 4 >> 2] >> 16;
+   q[a + 56 >> 2] = q[c + 8 >> 2] >> 16;
+   q[a + 60 >> 2] = q[c + 12 >> 2] + 65535 >> 16;
+   q[a - -64 >> 2] = q[c + 16 >> 2] + 65535 >> 16;
+   p[a + 70 >> 1] = q[c + 20 >> 2] + 32768 >>> 16;
+   p[a + 72 >> 1] = q[c + 24 >> 2] + 32768 >>> 16;
+   if (!q[c + 40 >> 2]) {
+    break b;
+   }
+   q[a + 496 >> 2] = c;
+   q[a + 8 >> 2] = q[a + 8 >> 2] | 64;
+   c = 0;
+  }
+  Ng(b);
+ }
+ if (c) {
+  Qe(i, q[c + 36 >> 2]);
+  q[c + 36 >> 2] = 0;
+  q[c + 40 >> 2] = 0;
+  Qe(i, q[c + 28 >> 2]);
+  q[c + 28 >> 2] = 0;
+  q[c + 32 >> 2] = 0;
+  Qe(i, c);
+ }
+ Ca = f + 32 | 0;
+ return q[f + 4 >> 2];
+}
+function pg(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, s = 0, t = 0, u = 0, v = 0, w = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ a : {
+  if (!a) {
+   g = 20;
+   break a;
+  }
+  if (!b) {
+   g = 6;
+   break a;
+  }
+  if (p[a >> 1] < 1) {
+   break a;
+  }
+  h = q[b + 20 >> 2];
+  i = q[b + 16 >> 2];
+  b : {
+   while (1) {
+    m = p[q[a + 12 >> 2] + (o << 1) >> 1];
+    if ((m | 0) < 0) {
+     g = 20;
+     break a;
+    }
+    e = q[a + 4 >> 2];
+    f = e + (s << 3) | 0;
+    j = q[f + 4 >> 2];
+    k = (q[f >> 2] << i) - h | 0;
+    q[d + 32 >> 2] = k;
+    t = (j << i) - h | 0;
+    q[d + 36 >> 2] = t;
+    l = e + (m << 3) | 0;
+    e = q[l >> 2];
+    w = q[l + 4 >> 2];
+    g = q[d + 36 >> 2];
+    q[d + 40 >> 2] = q[d + 32 >> 2];
+    q[d + 44 >> 2] = g;
+    u = q[a + 8 >> 2];
+    j = u + s | 0;
+    v = r[j | 0] & 3;
+    c : {
+     if ((v | 0) == 3) {
+      break c;
+     }
+     g = 20;
+     d : {
+      switch (v - 1 | 0) {
+      case 1:
+       break a;
+      case 0:
+       break c;
+      default:
+       break d;
+      }
+     }
+     g = (w << i) - h | 0;
+     e = (e << i) - h | 0;
+     e : {
+      if ((r[m + u | 0] & 3) == 1) {
+       q[d + 36 >> 2] = g;
+       q[d + 32 >> 2] = e;
+       l = l + -8 | 0;
+       break e;
+      }
+      q[d + 36 >> 2] = (g + t | 0) / 2;
+      q[d + 32 >> 2] = (e + k | 0) / 2;
+     }
+     j = j + -1 | 0;
+     f = f + -8 | 0;
+    }
+    e = n[q[b >> 2]](d + 32 | 0, c) | 0;
+    if (e) {
+     break b;
+    }
+    f : {
+     g : {
+      if (f >>> 0 < l >>> 0) {
+       while (1) {
+        h : {
+         i : {
+          e = r[j + 1 | 0] & 3;
+          if (e >>> 0 <= 1) {
+           j = j + 1 | 0;
+           g = f + 8 | 0;
+           if (!(e - 1)) {
+            q[d + 24 >> 2] = (q[f + 8 >> 2] << i) - h;
+            q[d + 28 >> 2] = (q[f + 12 >> 2] << i) - h;
+            f = g;
+            g = n[q[b + 4 >> 2]](d + 24 | 0, c) | 0;
+            if (g) {
+             break a;
+            }
+            break h;
+           }
+           q[d + 40 >> 2] = (q[f + 8 >> 2] << i) - h;
+           q[d + 44 >> 2] = (q[f + 12 >> 2] << i) - h;
+           if (g >>> 0 < l >>> 0) {
+            while (1) {
+             f = r[j + 1 | 0];
+             e = (q[g + 8 >> 2] << i) - h | 0;
+             q[d + 24 >> 2] = e;
+             k = (q[g + 12 >> 2] << i) - h | 0;
+             q[d + 28 >> 2] = k;
+             j = j + 1 | 0;
+             g = g + 8 | 0;
+             j : {
+              f = f & 3;
+              k : {
+               if (f) {
+                if ((f | 0) != 1) {
+                 k = 7;
+                 e = 0;
+                 break i;
+                }
+                e = n[q[b + 8 >> 2]](d + 40 | 0, d + 24 | 0, c) | 0;
+                if (e) {
+                 break k;
+                }
+                f = g;
+                break h;
+               }
+               q[d + 16 >> 2] = (e + q[d + 40 >> 2] | 0) / 2;
+               q[d + 20 >> 2] = (k + q[d + 44 >> 2] | 0) / 2;
+               e = n[q[b + 8 >> 2]](d + 40 | 0, d + 16 | 0, c) | 0;
+               if (!e) {
+                break j;
+               }
+              }
+              k = 10;
+              break i;
+             }
+             f = q[d + 28 >> 2];
+             q[d + 40 >> 2] = q[d + 24 >> 2];
+             q[d + 44 >> 2] = f;
+             if (g >>> 0 < l >>> 0) {
+              continue;
+             }
+             break;
+            }
+           }
+           e = n[q[b + 8 >> 2]](d + 40 | 0, d + 32 | 0, c) | 0;
+           break g;
+          }
+          k = 7;
+          e = 0;
+          if ((r[j + 2 | 0] & 3) != 2 | f + 16 >>> 0 > l >>> 0) {
+           break i;
+          }
+          q[d + 24 >> 2] = (q[f + 8 >> 2] << i) - h;
+          q[d + 28 >> 2] = (q[f + 12 >> 2] << i) - h;
+          q[d + 16 >> 2] = (q[f + 16 >> 2] << i) - h;
+          q[d + 20 >> 2] = (q[f + 20 >> 2] << i) - h;
+          g = f + 24 | 0;
+          if (g >>> 0 <= l >>> 0) {
+           q[d + 8 >> 2] = (q[f + 24 >> 2] << i) - h;
+           q[d + 12 >> 2] = (q[f + 28 >> 2] << i) - h;
+           e = n[q[b + 12 >> 2]](d + 24 | 0, d + 16 | 0, d + 8 | 0, c) | 0;
+           if (e) {
+            k = 10;
+            break i;
+           }
+           j = j + 3 | 0;
+           f = g;
+           break h;
+          }
+          e = n[q[b + 12 >> 2]](d + 24 | 0, d + 16 | 0, d + 32 | 0, c) | 0;
+          break g;
+         }
+         if (!k) {
+          break f;
+         }
+         g = 20;
+         if ((k | 0) == 7) {
+          break a;
+         }
+         break b;
+        }
+        if (f >>> 0 < l >>> 0) {
+         continue;
+        }
+        break;
+       }
+      }
+      e = n[q[b + 4 >> 2]](d + 32 | 0, c) | 0;
+     }
+     if (e) {
+      break b;
+     }
+     s = m + 1 | 0;
+    }
+    o = o + 1 | 0;
+    if ((o | 0) < p[a >> 1]) {
+     continue;
+    }
+    break;
+   }
+   e = 0;
+  }
+  g = e;
+ }
+ Ca = d + 48 | 0;
+ return g | 0;
+}
+function ZN(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0, u = 0;
+ e = Ca - 304 | 0;
+ Ca = e;
+ a : {
+  if (r[a + 52 | 0]) {
+   o[a + 52 | 0] = 0;
+   q[a + 56 >> 2] = 0;
+   q[a + 60 >> 2] = 0;
+   d = c + 8 | 0;
+   f = d;
+   i = q[f + 4 >> 2];
+   q[a + 88 >> 2] = q[f >> 2];
+   q[a + 92 >> 2] = i;
+   f = q[c + 4 >> 2];
+   q[a + 80 >> 2] = q[c >> 2];
+   q[a + 84 >> 2] = f;
+   f = q[c + 4 >> 2];
+   q[a + 64 >> 2] = q[c >> 2];
+   q[a + 68 >> 2] = f;
+   c = q[d + 4 >> 2];
+   q[a + 72 >> 2] = q[d >> 2];
+   q[a + 76 >> 2] = c;
+   c = q[b + 4 >> 2];
+   q[a + 96 >> 2] = q[b >> 2];
+   q[a + 100 >> 2] = c;
+   g = 1;
+   break a;
+  }
+  g = 1;
+  l = v[a + 80 >> 3];
+  h = v[c >> 3];
+  k = v[a + 88 >> 3];
+  t = v[c + 8 >> 3];
+  j = l * h + k * t;
+  if (!!(j > v[a + 112 >> 3])) {
+   j = 1 / (j + 1);
+   v[a + 88 >> 3] = (k + t) * j;
+   v[a + 80 >> 3] = j * (h + l);
+   break a;
+  }
+  g = q[c + 4 >> 2];
+  f = a + 80 | 0;
+  q[f >> 2] = q[c >> 2];
+  q[f + 4 >> 2] = g;
+  i = q[c + 12 >> 2];
+  q[f + 8 >> 2] = q[c + 8 >> 2];
+  q[f + 12 >> 2] = i;
+  m = l * t - k * h < 0 ? 1 : 2;
+  b : {
+   if (!(m & d)) {
+    break b;
+   }
+   p = m & (q[a + 60 >> 2] ^ -1);
+   h = k * v[a + 24 >> 3];
+   c : {
+    if (y(h) < 2147483648) {
+     f = ~~h;
+     break c;
+    }
+    f = -2147483648;
+   }
+   g = p & 1;
+   h = l * v[a + 16 >> 3];
+   d : {
+    if (y(h) < 2147483648) {
+     i = ~~h;
+     break d;
+    }
+    i = -2147483648;
+   }
+   n = q[b + 4 >> 2];
+   s = q[b >> 2];
+   if (g) {
+    q[e + 180 >> 2] = f + n;
+    q[e + 176 >> 2] = i + s;
+    u = q[a >> 2];
+    g = q[e + 180 >> 2];
+    q[e + 112 >> 2] = q[e + 176 >> 2];
+    q[e + 116 >> 2] = g;
+    g = 0;
+    if (!TN(u, e + 112 | 0, 1)) {
+     break a;
+    }
+   }
+   if (p & 2) {
+    q[e + 180 >> 2] = n - f;
+    q[e + 176 >> 2] = s - i;
+    f = q[a + 4 >> 2];
+    i = q[e + 180 >> 2];
+    q[e + 104 >> 2] = q[e + 176 >> 2];
+    q[e + 108 >> 2] = i;
+    g = 0;
+    if (!TN(f, e + 104 | 0, 1)) {
+     break a;
+    }
+   }
+   h = v[a + 24 >> 3] * 0;
+   e : {
+    if (y(h) < 2147483648) {
+     f = ~~h;
+     break e;
+    }
+    f = -2147483648;
+   }
+   g = m & 1;
+   h = v[a + 16 >> 3] * 0;
+   f : {
+    if (y(h) < 2147483648) {
+     i = ~~h;
+     break f;
+    }
+    i = -2147483648;
+   }
+   if (g) {
+    q[e + 180 >> 2] = f + n;
+    q[e + 176 >> 2] = i + s;
+    p = q[a >> 2];
+    g = q[e + 180 >> 2];
+    q[e + 96 >> 2] = q[e + 176 >> 2];
+    q[e + 100 >> 2] = g;
+    g = 0;
+    if (!TN(p, e + 96 | 0, 1)) {
+     break a;
+    }
+   }
+   if (!(m & 2)) {
+    break b;
+   }
+   q[e + 180 >> 2] = n - f;
+   q[e + 176 >> 2] = s - i;
+   f = q[a + 4 >> 2];
+   i = q[e + 180 >> 2];
+   q[e + 88 >> 2] = q[e + 176 >> 2];
+   q[e + 92 >> 2] = i;
+   g = 0;
+   if (!TN(f, e + 88 | 0, 1)) {
+    break a;
+   }
+  }
+  q[a + 60 >> 2] = m;
+  d = (m ^ -1) & d;
+  if (!d) {
+   g = 1;
+   break a;
+  }
+  f = q[c + 12 >> 2];
+  q[e + 152 >> 2] = q[c + 8 >> 2];
+  q[e + 156 >> 2] = f;
+  f = q[c >> 2];
+  c = q[c + 4 >> 2];
+  v[e + 136 >> 3] = k;
+  v[e + 128 >> 3] = l;
+  q[e + 144 >> 2] = f;
+  q[e + 148 >> 2] = c;
+  c = q[b + 4 >> 2];
+  q[e + 120 >> 2] = q[b >> 2];
+  q[e + 124 >> 2] = c;
+  if (!(j < 0)) {
+   b = 1;
+  } else {
+   h = (d & 2 ? -.7071067811865476 : .7071067811865476) / E(1 - j);
+   v[e + 160 >> 3] = h * (v[e + 152 >> 3] - k);
+   v[e + 168 >> 3] = h * (l - v[e + 144 >> 3]);
+   j = E(B(j * .5 + .5, 0));
+   b = 0;
+  }
+  l = j + 1;
+  h = j;
+  j = v[a + 120 >> 3];
+  g : {
+   if (!(h < j)) {
+    c = 15;
+    break g;
+   }
+   c = 15;
+   while (1) {
+    k = .7071067811865476 / E(l);
+    v[(e + 176 | 0) + (c << 3) >> 3] = k;
+    k = l * k;
+    l = k + 1;
+    c = c + -1 | 0;
+    if (!c) {
+     break g;
+    }
+    if (k < j) {
+     continue;
+    }
+    break;
+   }
+  }
+  f = (e + 176 | 0) + (c << 3) | 0;
+  v[f >> 3] = 1 / l;
+  i = 15 - c | 0;
+  c = e + 128 | 0;
+  if (!b) {
+   b = q[e + 140 >> 2];
+   q[e + 72 >> 2] = q[e + 136 >> 2];
+   q[e + 76 >> 2] = b;
+   b = q[e + 172 >> 2];
+   q[e + 56 >> 2] = q[e + 168 >> 2];
+   q[e + 60 >> 2] = b;
+   b = q[e + 124 >> 2];
+   q[e + 80 >> 2] = q[e + 120 >> 2];
+   q[e + 84 >> 2] = b;
+   b = q[e + 132 >> 2];
+   q[e + 64 >> 2] = q[e + 128 >> 2];
+   q[e + 68 >> 2] = b;
+   b = q[e + 164 >> 2];
+   q[e + 48 >> 2] = q[e + 160 >> 2];
+   q[e + 52 >> 2] = b;
+   g = 0;
+   c = e + 160 | 0;
+   if (!aO(a, e + 80 | 0, e - -64 | 0, e + 48 | 0, f, i, d)) {
+    break a;
+   }
+  }
+  b = q[e + 124 >> 2];
+  q[e + 40 >> 2] = q[e + 120 >> 2];
+  q[e + 44 >> 2] = b;
+  b = q[c + 8 >> 2];
+  g = q[c + 12 >> 2];
+  m = q[c >> 2];
+  c = q[c + 4 >> 2];
+  n = q[e + 156 >> 2];
+  q[e + 16 >> 2] = q[e + 152 >> 2];
+  q[e + 20 >> 2] = n;
+  q[e + 32 >> 2] = b;
+  q[e + 36 >> 2] = g;
+  b = q[e + 148 >> 2];
+  q[e + 8 >> 2] = q[e + 144 >> 2];
+  q[e + 12 >> 2] = b;
+  q[e + 24 >> 2] = m;
+  q[e + 28 >> 2] = c;
+  g = aO(a, e + 40 | 0, e + 24 | 0, e + 8 | 0, f, i, d);
+ }
+ Ca = e + 304 | 0;
+ return g;
+}
+function pL(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, p = 0, s = 0, t = 0, u = 0, v = 0;
+ g = Ca - 4208 | 0;
+ Ca = g;
+ j = N$(1, 36);
+ a : {
+  if (!j) {
+   j = 0;
+   break a;
+  }
+  q[j >> 2] = 1;
+  i = j;
+  if (c) {
+   c = mZ(c);
+  } else {
+   c = 0;
+  }
+  q[i + 4 >> 2] = c;
+  if (d) {
+   h = mZ(d);
+  }
+  q[j + 12 >> 2] = 0;
+  q[j + 8 >> 2] = h;
+  i = N$(1, 44);
+  b : {
+   if (!i) {
+    q[j + 32 >> 2] = 0;
+    Yd(a, 2, 354113, 0);
+    break b;
+   }
+   q[i >> 2] = j;
+   q[i + 36 >> 2] = q[88594];
+   c = q[88593];
+   q[i + 28 >> 2] = q[88592];
+   q[i + 32 >> 2] = c;
+   c = q[88591];
+   q[i + 20 >> 2] = q[88590];
+   q[i + 24 >> 2] = c;
+   c = q[88589];
+   q[i + 12 >> 2] = q[88588];
+   q[i + 16 >> 2] = c;
+   c = q[88587];
+   q[i + 4 >> 2] = q[88586];
+   q[i + 8 >> 2] = c;
+   d = q[a >> 2];
+   c : {
+    if (!d | !r[d | 0]) {
+     break c;
+    }
+    h = EY(d);
+    if (!h) {
+     break c;
+    }
+    c = FY(h);
+    if (c) {
+     while (1) {
+      d : {
+       if (r[c + 19 | 0] == 46) {
+        break d;
+       }
+       q[g + 80 >> 2] = d;
+       l = c + 19 | 0;
+       q[g + 84 >> 2] = l;
+       GZ(g + 96 | 0, g + 80 | 0);
+       q[g + 4204 >> 2] = 0;
+       q[g + 64 >> 2] = g + 96;
+       Yd(a, 4, 354386, g - -64 | 0);
+       c = Cd(a, g + 96 | 0, g + 4204 | 0);
+       if (!c) {
+        break d;
+       }
+       ke(a, l, c, q[g + 4204 >> 2]);
+       M$(c);
+      }
+      c = FY(h);
+      if (c) {
+       continue;
+      }
+      break;
+     }
+    }
+    GY(h);
+   }
+   if (q[a + 16 >> 2] >= 1) {
+    o = g + 120 | 0;
+    p = g + 112 | 0;
+    s = g + 104 | 0;
+    while (1) {
+     c = q[a + 12 >> 2] + w(m, 12) | 0;
+     u = q[c + 8 >> 2];
+     v = q[c + 4 >> 2];
+     l = q[c >> 2];
+     t = 1;
+     d = 0;
+     while (1) {
+      e : {
+       if (Hf(b, v, u, d, g + 4204 | 0)) {
+        q[g + 48 >> 2] = l;
+        Yd(a, 2, 354409, g + 48 | 0);
+        break e;
+       }
+       c = q[g + 4204 >> 2];
+       t = q[c >> 2];
+       IL(a, c);
+       q[o >> 2] = 0;
+       q[o + 4 >> 2] = 0;
+       q[p >> 2] = 0;
+       q[p + 4 >> 2] = 0;
+       q[s >> 2] = 0;
+       q[s + 4 >> 2] = 0;
+       q[g + 96 >> 2] = 0;
+       q[g + 100 >> 2] = 0;
+       if (!oL(q[g + 4204 >> 2], g + 96 | 0)) {
+        q[g + 32 >> 2] = l;
+        Yd(a, 2, 354440, g + 32 | 0);
+        Jf(q[g + 4204 >> 2]);
+        break e;
+       }
+       c = N$(1, 12);
+       if (!c) {
+        h = q[g + 108 >> 2];
+        if ((h | 0) >= 1) {
+         c = 0;
+         k = q[g + 96 >> 2];
+         while (1) {
+          M$(q[k + (c << 2) >> 2]);
+          c = c + 1 | 0;
+          if ((h | 0) != (c | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        k = q[g + 112 >> 2];
+        f : {
+         if ((k | 0) <= 0) {
+          h = q[g + 100 >> 2];
+          break f;
+         }
+         c = 0;
+         h = q[g + 100 >> 2];
+         while (1) {
+          M$(q[(c << 2) + h >> 2]);
+          c = c + 1 | 0;
+          if ((k | 0) != (c | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        M$(q[g + 96 >> 2]);
+        M$(h);
+        Jf(q[g + 4204 >> 2]);
+        break e;
+       }
+       q[c >> 2] = a;
+       h = q[g + 4204 >> 2];
+       q[c + 8 >> 2] = m;
+       q[c + 4 >> 2] = h;
+       if (!iL(i, g + 96 | 0, 0, d, c)) {
+        q[g + 16 >> 2] = l;
+        Yd(a, 2, 354486, g + 16 | 0);
+       }
+       h = q[g + 108 >> 2];
+       if ((h | 0) >= 1) {
+        c = 0;
+        k = q[g + 96 >> 2];
+        while (1) {
+         M$(q[k + (c << 2) >> 2]);
+         c = c + 1 | 0;
+         if ((h | 0) != (c | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       k = q[g + 112 >> 2];
+       g : {
+        if ((k | 0) <= 0) {
+         h = q[g + 100 >> 2];
+         break g;
+        }
+        c = 0;
+        h = q[g + 100 >> 2];
+        while (1) {
+         M$(q[(c << 2) + h >> 2]);
+         c = c + 1 | 0;
+         if ((k | 0) != (c | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       M$(q[g + 96 >> 2]);
+       M$(h);
+      }
+      d = d + 1 | 0;
+      if ((d | 0) < (t | 0)) {
+       continue;
+      }
+      break;
+     }
+     m = m + 1 | 0;
+     if ((m | 0) < q[a + 16 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[j + 32 >> 2] = i;
+  }
+  if (!f) {
+   break a;
+  }
+  c = 0;
+  d = q[160453];
+  h : {
+   if (!d) {
+    break h;
+   }
+   b = (f | 0) == 1;
+   while (1) {
+    i : {
+     if (q[w(c, 12) + 641808 >> 2] != (f | 0) ? !b : 0) {
+      break i;
+     }
+     d = n[d](a, j, e) | 0;
+     q[j + 28 >> 2] = d;
+     if (!d) {
+      break i;
+     }
+     q[g >> 2] = q[w(c, 12) + 641816 >> 2];
+     Yd(a, 4, 354153, g);
+     break h;
+    }
+    c = c + 1 | 0;
+    d = q[w(c, 12) + 641812 >> 2];
+    if (d) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (q[j + 28 >> 2]) {
+   break a;
+  }
+  Yd(a, 2, 354176, 0);
+ }
+ Ca = g + 4208 | 0;
+ return j;
+}
+function yh(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, s = 0, u = 0, v = 0, w = 0;
+ m = Ca - 16 | 0;
+ Ca = m;
+ g = q[a + 12 >> 2];
+ k = q[a + 200 >> 2];
+ b = q[a + 196 >> 2];
+ l = p[a + 32 >> 1];
+ a : {
+  if (l) {
+   if (p[g + 56 >> 1] + (p[g + 20 >> 1] + l | 0) >>> 0 > t[g + 8 >> 2]) {
+    c = Ue(g, 0, l);
+    if (c) {
+     break a;
+    }
+   }
+   c = 20;
+   if ((l | 0) > 4094) {
+    break a;
+   }
+  }
+  c = 20;
+  e = l << 1;
+  if ((e + b | 0) + 2 >>> 0 > k >>> 0) {
+   break a;
+  }
+  d = q[g + 68 >> 2];
+  h = r[b | 0];
+  j = r[b + 1 | 0] | h << 8;
+  h = h << 24 >> 16;
+  if ((l | 0) >= 1) {
+   p[d >> 1] = j;
+  }
+  if ((h | 0) < 0) {
+   break a;
+  }
+  h = d + e | 0;
+  while (1) {
+   e = d + 2 | 0;
+   if (e >>> 0 < h >>> 0) {
+    d = r[b + 2 | 0] | r[b + 3 | 0] << 8;
+    f = d << 24 | d << 8 & 16711680;
+    p[e >> 1] = f >>> 16;
+    i = j << 16;
+    d = e;
+    e = f >> 16;
+    j = e;
+    b = b + 2 | 0;
+    if ((e | 0) > i >> 16) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  b : {
+   c : {
+    d : {
+     if ((l | 0) < 1) {
+      c = 4;
+      h = 0;
+      break d;
+     }
+     d = p[d >> 1];
+     if ((d | 0) < -1) {
+      break a;
+     }
+     c = d + 5 | 0;
+     if (!c) {
+      break c;
+     }
+     h = d + 1 | 0;
+    }
+    if (p[g + 58 >> 1] + (p[g + 22 >> 1] + c | 0) >>> 0 <= t[g + 4 >> 2]) {
+     break b;
+    }
+    c = Ue(g, c, 0);
+    if (c) {
+     break a;
+    }
+    break b;
+   }
+   h = -4;
+  }
+  d = q[a + 8 >> 2];
+  q[d + 136 >> 2] = 0;
+  q[d + 140 >> 2] = 0;
+  e = b + 4 | 0;
+  if (e >>> 0 > k >>> 0) {
+   c = 20;
+   break a;
+  }
+  b = r[b + 2 | 0] | r[b + 3 | 0] << 8;
+  b = (b << 24 | b << 8 & 16711680) >>> 16 | 0;
+  e : {
+   if (r[a + 16 | 0] & 2) {
+    break e;
+   }
+   c = 22;
+   if ((k - e | 0) < (b | 0)) {
+    break a;
+   }
+   d = q[a + 156 >> 2];
+   c = q[d + 392 >> 2];
+   f : {
+    if (c >>> 0 >= b >>> 0) {
+     q[d + 392 >> 2] = c & 65535;
+     break f;
+    }
+    v = d, w = Te(q[d + 8 >> 2], 1, c, b, q[d + 396 >> 2], m + 12 | 0), q[v + 396 >> 2] = w;
+    d = q[a + 156 >> 2];
+    f = c;
+    c = q[m + 12 >> 2];
+    q[d + 392 >> 2] = (c ? f : b) & 65535;
+    if (c) {
+     break a;
+    }
+   }
+   c = q[a + 8 >> 2];
+   q[c + 140 >> 2] = b;
+   d = q[d + 396 >> 2];
+   q[c + 136 >> 2] = d;
+   if (!b) {
+    b = 0;
+    break e;
+   }
+   Y$(d, e, b);
+  }
+  b = b + e | 0;
+  g : {
+   h : {
+    if ((h | 0) >= 1) {
+     c = q[g - -64 >> 2];
+     j = h + c | 0;
+     while (1) {
+      d = b + 1 | 0;
+      if (d >>> 0 > k >>> 0) {
+       c = 20;
+       break a;
+      }
+      i = r[b | 0];
+      o[c | 0] = i;
+      e = c + 1 | 0;
+      i : {
+       if (!(i & 8)) {
+        b = d;
+        d = e;
+        break i;
+       }
+       b = b + 2 | 0;
+       if (b >>> 0 > k >>> 0) {
+        c = 20;
+        break a;
+       }
+       f = r[d | 0];
+       if (f + e >>> 0 > j >>> 0) {
+        c = 20;
+        break a;
+       }
+       d = e;
+       if (!f) {
+        break i;
+       }
+       Z$(e, i, f);
+       d = ((f + -1 & 255) + c | 0) + 2 | 0;
+      }
+      c = d;
+      if (c >>> 0 < j >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (b >>> 0 <= k >>> 0) {
+      break h;
+     }
+     c = 20;
+     break a;
+    }
+    c = 20;
+    if (b >>> 0 <= k >>> 0) {
+     break g;
+    }
+    break a;
+   }
+   e = q[g + 60 >> 2];
+   s = e + (h << 3) | 0;
+   d = e;
+   j = q[g + 64 >> 2];
+   c = j;
+   while (1) {
+    n = r[c | 0];
+    j : {
+     if (n & 2) {
+      f = b + 1 | 0;
+      if (f >>> 0 > k >>> 0) {
+       c = 20;
+       break a;
+      }
+      b = r[b | 0];
+      i = n & 16 ? b : 0 - b | 0;
+      b = f;
+      break j;
+     }
+     i = 0;
+     if (n & 16) {
+      break j;
+     }
+     f = b + 2 | 0;
+     if (f >>> 0 > k >>> 0) {
+      c = 20;
+      break a;
+     }
+     b = r[b | 0] | r[b + 1 | 0] << 8;
+     i = (b << 24 | b << 8 & 16711680) >> 16;
+     b = f;
+    }
+    u = i + u | 0;
+    q[d >> 2] = u;
+    c = c + 1 | 0;
+    d = d + 8 | 0;
+    if (d >>> 0 < s >>> 0) {
+     continue;
+    }
+    break;
+   }
+   i = 0;
+   while (1) {
+    f = r[j | 0];
+    k : {
+     if (f & 4) {
+      c = b + 1 | 0;
+      if (c >>> 0 > k >>> 0) {
+       c = 20;
+       break a;
+      }
+      b = r[b | 0];
+      d = f & 32 ? b : 0 - b | 0;
+      b = c;
+      break k;
+     }
+     d = 0;
+     if (f & 32) {
+      break k;
+     }
+     c = b + 2 | 0;
+     if (c >>> 0 > k >>> 0) {
+      c = 20;
+      break a;
+     }
+     b = r[b | 0] | r[b + 1 | 0] << 8;
+     d = (b << 24 | b << 8 & 16711680) >> 16;
+     b = c;
+    }
+    i = d + i | 0;
+    q[e + 4 >> 2] = i;
+    o[j | 0] = f & 1;
+    j = j + 1 | 0;
+    e = e + 8 | 0;
+    if (e >>> 0 < s >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  p[g + 56 >> 1] = l;
+  p[g + 58 >> 1] = h;
+  q[a + 196 >> 2] = b;
+  c = 0;
+ }
+ Ca = m + 16 | 0;
+ return c | 0;
+}
+function bm(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ m = q[b + 16 >> 2];
+ j = q[b + 8 >> 2];
+ n[q[b + 28 >> 2]](b);
+ a : {
+  b : {
+   c : {
+    d : {
+     d = q[b >> 2];
+     if (d >>> 0 < j >>> 0) {
+      q[b >> 2] = d + 1;
+      if (r[d | 0] == 91) {
+       break d;
+      }
+     }
+     c = 3;
+     q[g + 12 >> 2] = 3;
+     break c;
+    }
+    n[q[b + 28 >> 2]](b);
+    e : {
+     f : {
+      f = q[b >> 2];
+      g : {
+       if (f >>> 0 >= j >>> 0) {
+        break g;
+       }
+       while (1) {
+        h : {
+         i : {
+          j : {
+           d = r[f | 0];
+           if ((d | 0) != 60) {
+            if ((d | 0) != 93) {
+             break j;
+            }
+            q[b >> 2] = f + 1;
+            break b;
+           }
+           if (k ? 0 : i) {
+            break e;
+           }
+           n[q[b + 32 >> 2]](b);
+           if (q[b + 12 >> 2]) {
+            break b;
+           }
+           c = q[b >> 2];
+           d = (c + (f ^ -1) | 0) / 2 | 0;
+           if (c - f >>> 0 <= 2) {
+            break g;
+           }
+           i = Te(m, 1, t, d, i, g + 12 | 0);
+           c = q[g + 12 >> 2];
+           if (c) {
+            break c;
+           }
+           q[b >> 2] = f;
+           k = 1;
+           n[q[b + 44 >> 2]](b, i, d, g + 8 | 0, 1) | 0;
+           h = q[g + 8 >> 2];
+           break i;
+          }
+          if (d + -48 >>> 0 > 9) {
+           d = t;
+           break i;
+          }
+          if (k) {
+           break g;
+          }
+          h = n[q[b + 36 >> 2]](b) | 0;
+          if ((h | 0) <= -1) {
+           break e;
+          }
+          n[q[b + 32 >> 2]](b);
+          if (q[b + 12 >> 2]) {
+           break a;
+          }
+          d = q[b >> 2];
+          i = d + 1 | 0;
+          if (j - d >>> 0 <= h >>> 0) {
+           break e;
+          }
+          q[b >> 2] = (d + h | 0) + 1;
+          k = 0;
+          break h;
+         }
+         if (!i) {
+          break f;
+         }
+         t = d;
+        }
+        if (h & 1) {
+         d = h + -1 | 0;
+         h = r[d + i | 0] ? h : d;
+        }
+        if (!h) {
+         break g;
+        }
+        d = j - q[b >> 2] | 0;
+        p = 0;
+        while (1) {
+         if (e >>> 0 <= 2) {
+          k : {
+           l : {
+            switch (e - 1 | 0) {
+            default:
+             e = 0;
+             if ((l | 0) < 12) {
+              break k;
+             }
+             c = q[a + 496 >> 2];
+             s = (r[c + 4 | 0] << 4) + r[c + 5 | 0] | 0;
+             f = s << 4 | 12;
+             q[a + 500 >> 2] = f;
+             if ((d | 0) < (f | 0)) {
+              break g;
+             }
+             w = a, x = Te(m, 1, 12, f, c, g + 12 | 0), q[w + 496 >> 2] = x;
+             c = q[g + 12 >> 2];
+             if (c) {
+              break c;
+             }
+            case 0:
+             e = 1;
+             c = q[a + 500 >> 2];
+             if ((l | 0) < (c | 0)) {
+              break k;
+             }
+             u = q[a + 496 >> 2];
+             if ((s | 0) >= 1) {
+              v = u + 24 | 0;
+              f = 0;
+              while (1) {
+               e = (f << 4) + v | 0;
+               e = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+               e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+               if (d >>> 0 < e >>> 0 | (c | 0) > (d - e | 0)) {
+                break g;
+               }
+               c = (e + 3 & -4) + c | 0;
+               q[a + 500 >> 2] = c;
+               f = f + 1 | 0;
+               if ((s | 0) != (f | 0)) {
+                continue;
+               }
+               break;
+              }
+             }
+             w = a, x = Te(m, 1, s << 4 | 12, c + 1 | 0, u, g + 12 | 0), q[w + 496 >> 2] = x;
+             c = q[g + 12 >> 2];
+             if (c) {
+              break c;
+             }
+             break;
+            case 1:
+             break l;
+            }
+           }
+           e = 2;
+           if ((l | 0) >= q[a + 500 >> 2]) {
+            break g;
+           }
+          }
+          o[q[a + 496 >> 2] + l | 0] = r[i + p | 0];
+          l = l + 1 | 0;
+         }
+         p = p + 1 | 0;
+         if ((p | 0) != (h | 0)) {
+          continue;
+         }
+         break;
+        }
+        n[q[b + 28 >> 2]](b);
+        f = q[b >> 2];
+        if (f >>> 0 < j >>> 0) {
+         continue;
+        }
+        break;
+       }
+      }
+      c = 3;
+      q[g + 12 >> 2] = 3;
+      break c;
+     }
+     c = 3;
+     q[g + 12 >> 2] = 3;
+     i = 0;
+     break c;
+    }
+    c = 3;
+    q[g + 12 >> 2] = 3;
+    k = 0;
+   }
+   q[b + 12 >> 2] = c;
+  }
+  if (!k) {
+   break a;
+  }
+  Qe(m, i);
+ }
+ Ca = g + 16 | 0;
+}
+function Lr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ sG(q[a + 4 >> 2]);
+ d = q[a + 4 >> 2];
+ q[d + 72 >> 2] = 0;
+ a : {
+  if (!r[d + 68 | 0]) {
+   break a;
+  }
+  while (1) {
+   e = 0;
+   b : {
+    if (c >>> 0 >= t[d + 76 >> 2]) {
+     break b;
+    }
+    f = q[q[d + 88 >> 2] + w(c, 20) >> 2];
+    e = 2;
+    if ((f | 0) == 65535) {
+     break b;
+    }
+    c = q[a >> 2];
+    d = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+    c = Kr((d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24)) + c | 0, f, q[a + 8 >> 2]);
+    e = 1;
+    if (!c) {
+     break b;
+    }
+    e = r[c + 1 | 0] | r[c | 0] << 8;
+   }
+   c = q[a >> 2];
+   d = r[c + 12 | 0] | r[c + 13 | 0] << 8 | (r[c + 14 | 0] << 16 | r[c + 15 | 0] << 24);
+   j = (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + c | 0;
+   d = r[c + 8 | 0] | r[c + 9 | 0] << 8 | (r[c + 10 | 0] << 16 | r[c + 11 | 0] << 24);
+   d = c + (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) | 0;
+   c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+   c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+   c = d + ((c >>> 0 > e >>> 0 ? e : 1) + w(c, h) << 1) | 0;
+   f = j + ((r[c | 0] << 8 | r[c + 1 | 0]) << 3) | 0;
+   c : {
+    if (!h) {
+     break c;
+    }
+    c = q[a + 4 >> 2];
+    d = q[(r[c + 69 | 0] ? 80 : 72) + c >> 2];
+    if (!d) {
+     break c;
+    }
+    e = q[c + 72 >> 2];
+    if (e >>> 0 >= t[c + 76 >> 2]) {
+     break c;
+    }
+    i = r[f + 3 | 0];
+    g = r[f + 2 | 0] << 8;
+    if (!(r[f + 1 | 0] | r[f | 0] << 8 | ((r[f + 5 | 0] | r[f + 4 | 0] << 8) != 65535 | (r[f + 7 | 0] | r[f + 6 | 0] << 8) != 65535 ? i | g & 768 : 0))) {
+     if ((g | i) == 16384) {
+      break c;
+     }
+    }
+    EG(c, d + -1 | 0, e + 1 | 0);
+   }
+   e = q[a + 4 >> 2];
+   g = q[e + 72 >> 2];
+   i = g + 2 | 0;
+   d : {
+    if (i >>> 0 > t[e + 76 >> 2]) {
+     break d;
+    }
+    c = q[a >> 2];
+    d = r[c + 12 | 0] | r[c + 13 | 0] << 8 | (r[c + 14 | 0] << 16 | r[c + 15 | 0] << 24);
+    j = (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + c | 0;
+    d = r[c + 8 | 0] | r[c + 9 | 0] << 8 | (r[c + 10 | 0] << 16 | r[c + 11 | 0] << 24);
+    d = c + (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) | 0;
+    c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+    c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    c = d + (w(c, h) + !c << 1) | 0;
+    c = j + ((r[c | 0] << 8 | r[c + 1 | 0]) << 3) | 0;
+    if (!(r[c + 2 | 0] << 8 & 768 | r[c + 3 | 0]) | ((r[c + 7 | 0] | r[c + 6 | 0] << 8) == 65535 ? (r[c + 5 | 0] | r[c + 4 | 0] << 8) == 65535 : 0)) {
+     break d;
+    }
+    DG(e, g, i);
+   }
+   Rr(b, a, f);
+   d = q[a + 4 >> 2];
+   e = q[d + 72 >> 2];
+   if ((e | 0) != q[d + 76 >> 2]) {
+    h = r[f | 0];
+    g = r[f + 1 | 0];
+    e : {
+     if (r[f + 2 | 0] & 64) {
+      c = q[d + 40 >> 2];
+      q[d + 40 >> 2] = c + -1;
+      if ((c | 0) > 0) {
+       break e;
+      }
+     }
+     if (r[d + 69 | 0]) {
+      f : {
+       if (q[d + 92 >> 2] == q[d + 88 >> 2]) {
+        c = e;
+        if ((c | 0) == q[d + 80 >> 2]) {
+         break f;
+        }
+       }
+       if (!pG(d, 1, 1)) {
+        break e;
+       }
+       e = q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) | 0;
+       f = q[e + 4 >> 2];
+       c = q[d + 92 >> 2] + w(q[d + 80 >> 2], 20) | 0;
+       q[c >> 2] = q[e >> 2];
+       q[c + 4 >> 2] = f;
+       q[c + 16 >> 2] = q[e + 16 >> 2];
+       f = q[e + 12 >> 2];
+       q[c + 8 >> 2] = q[e + 8 >> 2];
+       q[c + 12 >> 2] = f;
+       e = q[d + 72 >> 2];
+       c = q[d + 80 >> 2];
+      }
+      q[d + 80 >> 2] = c + 1;
+     }
+     q[d + 72 >> 2] = e + 1;
+    }
+    d = q[a + 4 >> 2];
+    if (!r[d + 68 | 0]) {
+     break a;
+    }
+    h = g | h << 8;
+    c = q[d + 72 >> 2];
+    continue;
+   }
+   break;
+  }
+  if (!r[d + 68 | 0]) {
+   break a;
+  }
+  while (1) {
+   c = q[d + 72 >> 2];
+   if (c >>> 0 >= t[d + 76 >> 2]) {
+    break a;
+   }
+   g : {
+    if (r[d + 69 | 0]) {
+     e = d;
+     h : {
+      if (q[d + 92 >> 2] == q[d + 88 >> 2]) {
+       b = c;
+       if (q[d + 80 >> 2] == (c | 0)) {
+        break h;
+       }
+      }
+      if (!pG(d, 1, 1)) {
+       break g;
+      }
+      c = q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) | 0;
+      f = q[c + 4 >> 2];
+      b = q[d + 92 >> 2] + w(q[d + 80 >> 2], 20) | 0;
+      q[b >> 2] = q[c >> 2];
+      q[b + 4 >> 2] = f;
+      q[b + 16 >> 2] = q[c + 16 >> 2];
+      f = q[c + 12 >> 2];
+      q[b + 8 >> 2] = q[c + 8 >> 2];
+      q[b + 12 >> 2] = f;
+      c = q[d + 72 >> 2];
+      b = q[d + 80 >> 2];
+     }
+     q[e + 80 >> 2] = b + 1;
+    }
+    q[d + 72 >> 2] = c + 1;
+   }
+   d = q[a + 4 >> 2];
+   if (r[d + 68 | 0]) {
+    continue;
+   }
+   break;
+  }
+ }
+ uG(d);
+}
+function Vs(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = q[a + 16 >> 2];
+ a = 1;
+ e = q[Ws(b + 136 | 0) >> 2];
+ d = q[(e ? e : 271040) + 16 >> 2];
+ e = d >>> 11 | 0;
+ b = q[Xs(b + 140 | 0) >> 2];
+ d = q[(b ? b : 271040) + 16 >> 2] | d << 21;
+ b = c << 10 | e;
+ c = b;
+ a : {
+  b : {
+   if ((c | 0) < 987147 ? 1 : (c | 0) <= 987147 ? d >>> 0 > 2743134887 ? 0 : 1 : 0) {
+    if ((c | 0) < 452609 ? 1 : (c | 0) <= 452609 ? d >>> 0 > 1732289589 ? 0 : 1 : 0) {
+     if ((c | 0) < 196614 ? 1 : (c | 0) <= 196614 ? d >>> 0 > 843062357 ? 0 : 1 : 0) {
+      if ((c | 0) < 192512 ? 1 : (c | 0) <= 192512 ? d >>> 0 > 553651553 ? 0 : 1 : 0) {
+       if ((d | 0) == 1606425686 & (c | 0) == 184326) {
+        break a;
+       }
+       if ((d | 0) != 520097548 | (c | 0) != 192512) {
+        break b;
+       }
+       break a;
+      }
+      if ((d | 0) == 553651554 & (c | 0) == 192512) {
+       break a;
+      }
+      if ((d | 0) != 734010454 | (c | 0) != 196614) {
+       break b;
+      }
+      break a;
+     }
+     if ((c | 0) < 440321 ? 1 : (c | 0) <= 440321 ? d >>> 0 > 1732288213 ? 0 : 1 : 0) {
+      if ((d | 0) == 843062358 & (c | 0) == 196614) {
+       break a;
+      }
+      if ((d | 0) != 1732286926 | (c | 0) != 440321) {
+       break b;
+      }
+      break a;
+     }
+     if ((d | 0) == 1732288214 & (c | 0) == 440321) {
+      break a;
+     }
+     if ((d | 0) != 1732286668 | (c | 0) != 452609) {
+      break b;
+     }
+     break a;
+    }
+    if ((c | 0) < 864259 ? 1 : (c | 0) <= 864259 ? d >>> 0 > 2428547489 ? 0 : 1 : 0) {
+     if ((c | 0) < 501761 ? 1 : (c | 0) <= 501761 ? d >>> 0 > 2092999333 ? 0 : 1 : 0) {
+      if ((d | 0) == 1732289590 & (c | 0) == 452609) {
+       break a;
+      }
+      if ((d | 0) != 2092999598 | (c | 0) != 489473) {
+       break b;
+      }
+      break a;
+     }
+     if ((d | 0) == 2092999334 & (c | 0) == 501761) {
+      break a;
+     }
+     if ((d | 0) != -1820280774 | (c | 0) != 851971) {
+      break b;
+     }
+     break a;
+    }
+    if ((c | 0) < 931846 ? 1 : (c | 0) <= 931846 ? d >>> 0 > 583055987 ? 0 : 1 : 0) {
+     if ((d | 0) == -1866419806 & (c | 0) == 864259) {
+      break a;
+     }
+     if ((d | 0) != 557888902 | (c | 0) != 919558) {
+      break b;
+     }
+     break a;
+    }
+    if ((d | 0) == 583055988 & (c | 0) == 931846 | (d | 0) == 1614866372 & (c | 0) == 950283) {
+     break a;
+    }
+    if ((d | 0) != 1640033596 | (c | 0) != 962571) {
+     break b;
+    }
+    break a;
+   }
+   c : {
+    if ((c | 0) < 1071126 ? 1 : (c | 0) <= 1071126 ? d >>> 0 > 4139790647 ? 0 : 1 : 0) {
+     if ((c | 0) < 1030155 ? 1 : (c | 0) <= 1030155 ? d >>> 0 > 4072730923 ? 0 : 1 : 0) {
+      if ((c | 0) < 1017867 ? 1 : (c | 0) <= 1017867 ? d >>> 0 > 4081118127 ? 0 : 1 : 0) {
+       if ((d | 0) == -1551832408 & (c | 0) == 987147) {
+        break a;
+       }
+       if ((d | 0) != -1560219632 | (c | 0) != 999435) {
+        break b;
+       }
+       break a;
+      }
+      if ((d | 0) == -213849168 & (c | 0) == 1017867) {
+       break a;
+      }
+      if ((d | 0) != -629130764 | (c | 0) != 1028124) {
+       break b;
+      }
+      break a;
+     }
+     b = c + -1030157 | 0;
+     e = d + -61346 | 0;
+     if (e >>> 0 < 4294905950) {
+      b = b + 1 | 0;
+     }
+     if (!b & e >>> 0 <= 6 | b >>> 0 < 0) {
+      break c;
+     }
+     b = c + -1042444 | 0;
+     e = d + 8325780 | 0;
+     if (e >>> 0 < 8325780) {
+      b = b + 1 | 0;
+     }
+     if (!b & e >>> 0 > 6 | b >>> 0 > 0) {
+      if ((d | 0) != -222236372 | (c | 0) != 1030155) {
+       break b;
+      }
+      break a;
+     }
+     switch (e - 1 | 0) {
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+      break b;
+     default:
+      break a;
+     }
+    }
+    if ((c | 0) < 1083427 ? 1 : (c | 0) <= 1083427 ? d >>> 0 > 239092841 ? 0 : 1 : 0) {
+     if ((c | 0) < 1071139 ? 1 : (c | 0) <= 1071139 ? d >>> 0 > 230704581 ? 0 : 1 : 0) {
+      if ((d | 0) == -155176648 & (c | 0) == 1071126) {
+       break a;
+      }
+      if ((d | 0) != 226509528 | (c | 0) != 1071139) {
+       break b;
+      }
+      break a;
+     }
+     if ((d | 0) == 230704582 & (c | 0) == 1071139) {
+      break a;
+     }
+     if ((d | 0) != -150983126 | (c | 0) != 1083414) {
+      break b;
+     }
+     break a;
+    }
+    if ((c | 0) < 1361973 ? 1 : (c | 0) <= 1361973 ? d >>> 0 > 2852184657 ? 0 : 1 : 0) {
+     if ((d | 0) == 239092842 & (c | 0) == 1083427) {
+      break a;
+     }
+     if ((d | 0) != 243286402 | (c | 0) != 1083427) {
+      break b;
+     }
+     break a;
+    }
+    if ((d | 0) == -1442782638 & (c | 0) == 1361973 | (d | 0) == -1442781604 & (c | 0) == 1361973) {
+     break a;
+    }
+    break b;
+   }
+   switch (e - 1 | 0) {
+   case 0:
+   case 1:
+   case 2:
+   case 3:
+   case 4:
+    break b;
+   default:
+    break a;
+   }
+  }
+  a = 0;
+ }
+ return a;
+}
+function Ci(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, r = 0, u = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ g = q[a + 104 >> 2];
+ l = q[g + 28 >> 2];
+ i = q[a + 736 >> 2];
+ e = yg(g, b);
+ q[d + 12 >> 2] = e;
+ a = 0;
+ a : {
+  if (e) {
+   break a;
+  }
+  e = Bg(g, d + 12 | 0);
+  if (q[d + 12 >> 2]) {
+   break a;
+  }
+  if ((e | 0) != 1) {
+   q[d + 12 >> 2] = 8;
+   break a;
+  }
+  h = Eg(g, d + 12 | 0);
+  if (q[d + 12 >> 2]) {
+   break a;
+  }
+  f = Bg(g, d + 12 | 0);
+  q[c >> 2] = f;
+  if (q[d + 12 >> 2]) {
+   break a;
+  }
+  if (!f) {
+   q[d + 12 >> 2] = 8;
+   break a;
+  }
+  e = 0;
+  a = Te(l, 4, 0, f, 0, d + 12 | 0);
+  if (q[d + 12 >> 2]) {
+   break a;
+  }
+  if (q[c >> 2]) {
+   while (1) {
+    r = (e << 2) + a | 0, u = Eg(g, d + 12 | 0), q[r >> 2] = u;
+    if (q[d + 12 >> 2]) {
+     break a;
+    }
+    e = e + 1 | 0;
+    if (e >>> 0 < t[c >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  e = yg(g, b + h | 0);
+  q[d + 12 >> 2] = e;
+  if (e) {
+   break a;
+  }
+  r = c, u = Bg(g, d + 12 | 0), p[r + 8 >> 1] = u;
+  if (q[d + 12 >> 2]) {
+   break a;
+  }
+  e = Bg(g, d + 12 | 0);
+  q[c + 12 >> 2] = e;
+  if (q[d + 12 >> 2]) {
+   break a;
+  }
+  if (q[q[i + 12 >> 2] >> 2] != s[c + 8 >> 1]) {
+   q[d + 12 >> 2] = 8;
+   break a;
+  }
+  r = c, u = Te(l, 4, 0, e, 0, d + 12 | 0), q[r + 16 >> 2] = u;
+  if (q[d + 12 >> 2]) {
+   break a;
+  }
+  if (q[c + 12 >> 2]) {
+   f = s[c + 8 >> 1];
+   while (1) {
+    i = Te(l, 12, 0, f & 65535, 0, d + 12 | 0);
+    q[q[c + 16 >> 2] + (k << 2) >> 2] = i;
+    if (q[d + 12 >> 2]) {
+     break a;
+    }
+    f = 0;
+    if (s[c + 8 >> 1]) {
+     e = 0;
+     while (1) {
+      h = Bg(g, d + 12 | 0);
+      if (q[d + 12 >> 2]) {
+       break a;
+      }
+      m = Bg(g, d + 12 | 0);
+      if (q[d + 12 >> 2]) {
+       break a;
+      }
+      j = Bg(g, d + 12 | 0);
+      if (q[d + 12 >> 2]) {
+       break a;
+      }
+      f = i + w(e, 12) | 0;
+      q[f + 8 >> 2] = j << 16 >> 16 << 2;
+      q[f + 4 >> 2] = m << 16 >> 16 << 2;
+      q[f >> 2] = h << 16 >> 16 << 2;
+      e = e + 1 | 0;
+      f = s[c + 8 >> 1];
+      if (e >>> 0 < f >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    k = k + 1 | 0;
+    if (k >>> 0 < t[c + 12 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  e = Te(l, 16, 0, q[c >> 2], 0, d + 12 | 0);
+  q[c + 4 >> 2] = e;
+  if (q[d + 12 >> 2] | !q[c >> 2]) {
+   break a;
+  }
+  f = yg(g, q[a >> 2] + b | 0);
+  q[d + 12 >> 2] = f;
+  if (f) {
+   break a;
+  }
+  while (1) {
+   h = (n << 4) + e | 0;
+   r = h, u = Bg(g, d + 12 | 0), q[r >> 2] = u;
+   if (q[d + 12 >> 2]) {
+    break a;
+   }
+   i = Bg(g, d + 12 | 0);
+   if (q[d + 12 >> 2]) {
+    break a;
+   }
+   e = Bg(g, d + 12 | 0);
+   q[h + 4 >> 2] = e;
+   if (q[d + 12 >> 2]) {
+    break a;
+   }
+   if (i >>> 0 > e >>> 0) {
+    q[d + 12 >> 2] = 8;
+    break a;
+   }
+   if (t[c + 12 >> 2] < e >>> 0) {
+    q[d + 12 >> 2] = 8;
+    break a;
+   }
+   r = h, u = Te(l, 4, 0, e, 0, d + 12 | 0), q[r + 8 >> 2] = u;
+   if (q[d + 12 >> 2]) {
+    break a;
+   }
+   e = 0;
+   b : {
+    m = h + 4 | 0;
+    if (!q[m >> 2]) {
+     f = 0;
+     break b;
+    }
+    k = h + 8 | 0;
+    while (1) {
+     f = Bg(g, d + 12 | 0);
+     q[q[k >> 2] + (e << 2) >> 2] = f;
+     if (q[d + 12 >> 2]) {
+      break a;
+     }
+     if (t[c + 12 >> 2] > f >>> 0) {
+      e = e + 1 | 0;
+      f = q[m >> 2];
+      if (e >>> 0 >= f >>> 0) {
+       break b;
+      }
+      continue;
+     }
+     break;
+    }
+    q[d + 12 >> 2] = 8;
+    break a;
+   }
+   r = h, u = Te(l, 2, 0, w(q[h >> 2], f), 0, d + 12 | 0), q[r + 12 >> 2] = u;
+   if (q[d + 12 >> 2]) {
+    break a;
+   }
+   j = q[m >> 2];
+   if (w(j, q[h >> 2])) {
+    o = h + 12 | 0;
+    e = 0;
+    while (1) {
+     if (i) {
+      k = e + i | 0;
+      f = 0;
+      while (1) {
+       j = Bg(g, d + 12 | 0);
+       if (q[d + 12 >> 2]) {
+        break a;
+       }
+       p[q[o >> 2] + (e << 1) >> 1] = j;
+       e = e + 1 | 0;
+       f = f + 1 | 0;
+       if ((i | 0) != (f | 0)) {
+        continue;
+       }
+       break;
+      }
+      j = q[m >> 2];
+      e = k;
+     }
+     f = i;
+     if (j >>> 0 > f >>> 0) {
+      while (1) {
+       k = Tg(g, d + 12 | 0);
+       if (q[d + 12 >> 2]) {
+        break a;
+       }
+       p[q[o >> 2] + (e << 1) >> 1] = k;
+       e = e + 1 | 0;
+       f = f + 1 | 0;
+       j = q[m >> 2];
+       if (f >>> 0 < j >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (e >>> 0 < w(q[h >> 2], j) >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   n = n + 1 | 0;
+   if (n >>> 0 >= t[c >> 2]) {
+    break a;
+   }
+   e = q[c + 4 >> 2];
+   f = yg(g, q[(n << 2) + a >> 2] + b | 0);
+   q[d + 12 >> 2] = f;
+   if (!f) {
+    continue;
+   }
+   break;
+  }
+ }
+ Qe(l, a);
+ Ca = d + 16 | 0;
+ return q[d + 12 >> 2];
+}
+function u_(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ g = Ca - 48 | 0;
+ Ca = g;
+ a : {
+  if (c >>> 0 <= 2) {
+   f = b + 4 | 0;
+   c = c << 2;
+   i = q[c + 508236 >> 2];
+   l = q[c + 508224 >> 2];
+   while (1) {
+    c = q[b + 4 >> 2];
+    b : {
+     if (c >>> 0 < t[b + 104 >> 2]) {
+      q[f >> 2] = c + 1;
+      c = r[c | 0];
+      break b;
+     }
+     c = p_(b);
+    }
+    if (vY(c)) {
+     continue;
+    }
+    break;
+   }
+   e = c + -43 | 0;
+   c : {
+    if (e >>> 0 > 2) {
+     h = 1;
+     break c;
+    }
+    h = 1;
+    if (!(e - 1)) {
+     break c;
+    }
+    h = (c | 0) == 45 ? -1 : 1;
+    c = q[b + 4 >> 2];
+    if (c >>> 0 < t[b + 104 >> 2]) {
+     q[f >> 2] = c + 1;
+     c = r[c | 0];
+     break c;
+    }
+    c = p_(b);
+   }
+   e = 0;
+   d : {
+    e : {
+     while (1) {
+      if (o[e + 508156 | 0] == (c | 32)) {
+       f : {
+        if (e >>> 0 > 6) {
+         break f;
+        }
+        c = q[b + 4 >> 2];
+        if (c >>> 0 < t[b + 104 >> 2]) {
+         q[f >> 2] = c + 1;
+         c = r[c | 0];
+         break f;
+        }
+        c = p_(b);
+       }
+       e = e + 1 | 0;
+       if ((e | 0) != 8) {
+        continue;
+       }
+       break e;
+      }
+      break;
+     }
+     if ((e | 0) != 3) {
+      if ((e | 0) == 8) {
+       break e;
+      }
+      if (!d | e >>> 0 < 4) {
+       break d;
+      }
+      if ((e | 0) == 8) {
+       break e;
+      }
+     }
+     b = q[b + 104 >> 2];
+     if (b) {
+      q[f >> 2] = q[f >> 2] + -1;
+     }
+     if (!d | e >>> 0 < 4) {
+      break e;
+     }
+     while (1) {
+      if (b) {
+       q[f >> 2] = q[f >> 2] + -1;
+      }
+      e = e + -1 | 0;
+      if (e >>> 0 > 3) {
+       continue;
+      }
+      break;
+     }
+    }
+    s$(g, x(x(h | 0) * x(H)));
+    h = q[g + 8 >> 2];
+    i = q[g + 12 >> 2];
+    j = q[g >> 2];
+    k = q[g + 4 >> 2];
+    break a;
+   }
+   g : {
+    h : {
+     i : {
+      if (e) {
+       break i;
+      }
+      e = 0;
+      while (1) {
+       if (o[e + 508165 | 0] != (c | 32)) {
+        break i;
+       }
+       j : {
+        if (e >>> 0 > 1) {
+         break j;
+        }
+        c = q[b + 4 >> 2];
+        if (c >>> 0 < t[b + 104 >> 2]) {
+         q[f >> 2] = c + 1;
+         c = r[c | 0];
+         break j;
+        }
+        c = p_(b);
+       }
+       e = e + 1 | 0;
+       if ((e | 0) != 3) {
+        continue;
+       }
+       break;
+      }
+      break h;
+     }
+     k : {
+      l : {
+       if (e >>> 0 > 3) {
+        break l;
+       }
+       switch (e - 1 | 0) {
+       case 2:
+        break h;
+       case 0:
+       case 1:
+        break l;
+       default:
+        break k;
+       }
+      }
+      if (q[b + 104 >> 2]) {
+       q[f >> 2] = q[f >> 2] + -1;
+      }
+      break g;
+     }
+     m : {
+      if ((c | 0) != 48) {
+       break m;
+      }
+      e = q[b + 4 >> 2];
+      n : {
+       if (e >>> 0 < t[b + 104 >> 2]) {
+        q[f >> 2] = e + 1;
+        e = r[e | 0];
+        break n;
+       }
+       e = p_(b);
+      }
+      if ((e | 32) == 120) {
+       v_(g + 16 | 0, b, l, i, h, d);
+       h = q[g + 24 >> 2];
+       i = q[g + 28 >> 2];
+       j = q[g + 16 >> 2];
+       k = q[g + 20 >> 2];
+       break a;
+      }
+      if (!q[b + 104 >> 2]) {
+       break m;
+      }
+      q[f >> 2] = q[f >> 2] + -1;
+     }
+     w_(g + 32 | 0, b, c, l, i, h, d);
+     h = q[g + 40 >> 2];
+     i = q[g + 44 >> 2];
+     j = q[g + 32 >> 2];
+     k = q[g + 36 >> 2];
+     break a;
+    }
+    o : {
+     c = q[b + 4 >> 2];
+     p : {
+      if (c >>> 0 < t[b + 104 >> 2]) {
+       q[f >> 2] = c + 1;
+       c = r[c | 0];
+       break p;
+      }
+      c = p_(b);
+     }
+     if ((c | 0) == 40) {
+      e = 1;
+      break o;
+     }
+     h = 0;
+     i = 2147450880;
+     if (!q[b + 104 >> 2]) {
+      break a;
+     }
+     q[f >> 2] = q[f >> 2] + -1;
+     break a;
+    }
+    while (1) {
+     q : {
+      c = q[b + 4 >> 2];
+      r : {
+       if (c >>> 0 < t[b + 104 >> 2]) {
+        q[f >> 2] = c + 1;
+        c = r[c | 0];
+        break r;
+       }
+       c = p_(b);
+      }
+      if (!(c + -48 >>> 0 < 10 | c + -65 >>> 0 < 26 | (c | 0) == 95)) {
+       if (c + -97 >>> 0 >= 26) {
+        break q;
+       }
+      }
+      e = e + 1 | 0;
+      continue;
+     }
+     break;
+    }
+    h = 0;
+    i = 2147450880;
+    if ((c | 0) == 41) {
+     break a;
+    }
+    c = q[b + 104 >> 2];
+    if (c) {
+     q[f >> 2] = q[f >> 2] + -1;
+    }
+    if (d) {
+     if (!e) {
+      break a;
+     }
+     while (1) {
+      e = e + -1 | 0;
+      if (c) {
+       q[f >> 2] = q[f >> 2] + -1;
+      }
+      if (e) {
+       continue;
+      }
+      break;
+     }
+     break a;
+    }
+   }
+   q[160854] = 28;
+   o_(b, 0, 0);
+  }
+  h = 0;
+  i = 0;
+ }
+ q[a >> 2] = j;
+ q[a + 4 >> 2] = k;
+ q[a + 8 >> 2] = h;
+ q[a + 12 >> 2] = i;
+ Ca = g + 48 | 0;
+}
+function Cn(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, t = 0;
+ f = Ca - 112 | 0;
+ d = s[c + 2 >> 1] + -1 | 0;
+ q[f + 4 >> 2] = d;
+ d = d + s[c + 4 >> 1] | 0;
+ q[f + 8 >> 2] = d;
+ d = d + s[c + 6 >> 1] | 0;
+ q[f + 12 >> 2] = d;
+ d = d + s[c + 8 >> 1] | 0;
+ q[f + 16 >> 2] = d;
+ e = s[c + 10 >> 1];
+ q[f >> 2] = 17;
+ q[f + 20 >> 2] = d + e;
+ j = 2;
+ e = (r[b + 17 | 0] << 2) + f | 0;
+ d = q[e >> 2];
+ q[e >> 2] = d + -1;
+ q[(f + 32 | 0) + (d << 2) >> 2] = 17;
+ e = (r[b + 16 | 0] << 2) + f | 0;
+ d = q[e >> 2];
+ q[e >> 2] = d + -1;
+ q[(f + 32 | 0) + (d << 2) >> 2] = 16;
+ e = (r[b + 15 | 0] << 2) + f | 0;
+ d = q[e >> 2];
+ q[e >> 2] = d + -1;
+ q[(f + 32 | 0) + (d << 2) >> 2] = 15;
+ e = (r[b + 14 | 0] << 2) + f | 0;
+ d = q[e >> 2];
+ q[e >> 2] = d + -1;
+ q[(f + 32 | 0) + (d << 2) >> 2] = 14;
+ e = (r[b + 13 | 0] << 2) + f | 0;
+ d = q[e >> 2];
+ q[e >> 2] = d + -1;
+ q[(f + 32 | 0) + (d << 2) >> 2] = 13;
+ e = (r[b + 12 | 0] << 2) + f | 0;
+ d = q[e >> 2];
+ q[e >> 2] = d + -1;
+ q[(f + 32 | 0) + (d << 2) >> 2] = 12;
+ e = (r[b + 11 | 0] << 2) + f | 0;
+ d = q[e >> 2];
+ q[e >> 2] = d + -1;
+ q[(f + 32 | 0) + (d << 2) >> 2] = 11;
+ e = (r[b + 10 | 0] << 2) + f | 0;
+ d = q[e >> 2];
+ q[e >> 2] = d + -1;
+ q[(f + 32 | 0) + (d << 2) >> 2] = 10;
+ e = (r[b + 9 | 0] << 2) + f | 0;
+ d = q[e >> 2];
+ q[e >> 2] = d + -1;
+ q[(f + 32 | 0) + (d << 2) >> 2] = 9;
+ e = (r[b + 8 | 0] << 2) + f | 0;
+ d = q[e >> 2];
+ q[e >> 2] = d + -1;
+ q[(f + 32 | 0) + (d << 2) >> 2] = 8;
+ e = (r[b + 7 | 0] << 2) + f | 0;
+ d = q[e >> 2];
+ q[e >> 2] = d + -1;
+ q[(f + 32 | 0) + (d << 2) >> 2] = 7;
+ e = (r[b + 6 | 0] << 2) + f | 0;
+ d = q[e >> 2];
+ q[e >> 2] = d + -1;
+ q[(f + 32 | 0) + (d << 2) >> 2] = 6;
+ e = (r[b + 5 | 0] << 2) + f | 0;
+ d = q[e >> 2];
+ q[e >> 2] = d + -1;
+ q[(f + 32 | 0) + (d << 2) >> 2] = 5;
+ e = (r[b + 4 | 0] << 2) + f | 0;
+ d = q[e >> 2];
+ q[e >> 2] = d + -1;
+ q[(f + 32 | 0) + (d << 2) >> 2] = 4;
+ e = (r[b + 3 | 0] << 2) + f | 0;
+ d = q[e >> 2];
+ q[e >> 2] = d + -1;
+ q[(f + 32 | 0) + (d << 2) >> 2] = 3;
+ e = (r[b + 2 | 0] << 2) + f | 0;
+ d = q[e >> 2];
+ q[e >> 2] = d + -1;
+ q[(f + 32 | 0) + (d << 2) >> 2] = 2;
+ e = (r[b + 1 | 0] << 2) + f | 0;
+ d = q[e >> 2];
+ q[e >> 2] = d + -1;
+ g = 1;
+ q[(f + 32 | 0) + (d << 2) >> 2] = 1;
+ d = (r[b | 0] << 2) + f | 0;
+ b = q[d >> 2];
+ q[d >> 2] = b + -1;
+ q[(f + 32 | 0) + (b << 2) >> 2] = 0;
+ if (q[f >> 2]) {
+  h = 128;
+  while (1) {
+   d = s[(g << 1) + c >> 1];
+   if (d) {
+    o = w(d, h) + i | 0;
+    k = d;
+    e = l;
+    while (1) {
+     t = (r[i + 152848 | 0] << 2) + a | 0;
+     m = q[(f + 32 | 0) + (e << 2) >> 2] << 16 | g;
+     b = 32;
+     while (1) {
+      b = b - j | 0;
+      n = t + (b << 2) | 0;
+      p[n >> 1] = m;
+      p[n + 2 >> 1] = m >>> 16;
+      if ((b | 0) > 0) {
+       continue;
+      }
+      break;
+     }
+     i = i + h | 0;
+     e = e + 1 | 0;
+     k = k + -1 | 0;
+     if (k) {
+      continue;
+     }
+     break;
+    }
+    l = d + l | 0;
+    i = o;
+   }
+   h = h >>> 1 | 0;
+   j = j << 1;
+   g = g + 1 | 0;
+   if ((g | 0) != 6) {
+    continue;
+   }
+   break;
+  }
+  return;
+ }
+ b = q[f + 32 >> 2] << 16;
+ p[a + 124 >> 1] = b;
+ p[a + 126 >> 1] = b >>> 16;
+ p[a + 120 >> 1] = b;
+ p[a + 122 >> 1] = b >>> 16;
+ p[a + 116 >> 1] = b;
+ p[a + 118 >> 1] = b >>> 16;
+ p[a + 112 >> 1] = b;
+ p[a + 114 >> 1] = b >>> 16;
+ p[a + 108 >> 1] = b;
+ p[a + 110 >> 1] = b >>> 16;
+ p[a + 104 >> 1] = b;
+ p[a + 106 >> 1] = b >>> 16;
+ p[a + 100 >> 1] = b;
+ p[a + 102 >> 1] = b >>> 16;
+ p[a + 96 >> 1] = b;
+ p[a + 98 >> 1] = b >>> 16;
+ p[a + 92 >> 1] = b;
+ p[a + 94 >> 1] = b >>> 16;
+ p[a + 88 >> 1] = b;
+ p[a + 90 >> 1] = b >>> 16;
+ p[a + 84 >> 1] = b;
+ p[a + 86 >> 1] = b >>> 16;
+ p[a + 80 >> 1] = b;
+ p[a + 82 >> 1] = b >>> 16;
+ p[a + 76 >> 1] = b;
+ p[a + 78 >> 1] = b >>> 16;
+ p[a + 72 >> 1] = b;
+ p[a + 74 >> 1] = b >>> 16;
+ p[a + 68 >> 1] = b;
+ p[a + 70 >> 1] = b >>> 16;
+ p[a + 64 >> 1] = b;
+ p[a + 66 >> 1] = b >>> 16;
+ p[a + 60 >> 1] = b;
+ p[a + 62 >> 1] = b >>> 16;
+ p[a + 56 >> 1] = b;
+ p[a + 58 >> 1] = b >>> 16;
+ p[a + 52 >> 1] = b;
+ p[a + 54 >> 1] = b >>> 16;
+ p[a + 48 >> 1] = b;
+ p[a + 50 >> 1] = b >>> 16;
+ p[a + 44 >> 1] = b;
+ p[a + 46 >> 1] = b >>> 16;
+ p[a + 40 >> 1] = b;
+ p[a + 42 >> 1] = b >>> 16;
+ p[a + 36 >> 1] = b;
+ p[a + 38 >> 1] = b >>> 16;
+ p[a + 32 >> 1] = b;
+ p[a + 34 >> 1] = b >>> 16;
+ p[a + 28 >> 1] = b;
+ p[a + 30 >> 1] = b >>> 16;
+ p[a + 24 >> 1] = b;
+ p[a + 26 >> 1] = b >>> 16;
+ p[a + 20 >> 1] = b;
+ p[a + 22 >> 1] = b >>> 16;
+ p[a + 16 >> 1] = b;
+ p[a + 18 >> 1] = b >>> 16;
+ p[a + 12 >> 1] = b;
+ p[a + 14 >> 1] = b >>> 16;
+ p[a + 8 >> 1] = b;
+ p[a + 10 >> 1] = b >>> 16;
+ p[a + 4 >> 1] = b;
+ p[a + 6 >> 1] = b >>> 16;
+ p[a >> 1] = b;
+ p[a + 2 >> 1] = b >>> 16;
+}
+function Tt(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  g = q[a + 96 >> 2];
+  if (!q[g + 76 >> 2]) {
+   break a;
+  }
+  e = q[a + 116 >> 2];
+  if (!e) {
+   break a;
+  }
+  f = r[b + 3 | 0];
+  d = f | r[b + 2 | 0] << 8;
+  if (f & 16) {
+   f = d;
+   d = (b + 4 | 0) + (r[b + 5 | 0] << 1 | r[b + 4 | 0] << 9) | 0;
+   d = f | r[d + 2 | 0] << 24 | r[d + 3 | 0] << 16;
+  }
+  q[a + 32 >> 2] = 0;
+  q[a + 128 >> 2] = d;
+  q[a + 8 >> 2] = d;
+  q[a + 24 >> 2] = 0;
+  q[a + 28 >> 2] = 0;
+  q[a + 76 >> 2] = 0;
+  q[a + 48 >> 2] = a;
+  q[a + 16 >> 2] = e;
+  o[a + 13 | 0] = r[a + 142 | 0];
+  q[a + 68 >> 2] = 0;
+  q[a + 72 >> 2] = 0;
+  q[a + 52 >> 2] = d;
+  e = q[a + 120 >> 2] == 1;
+  o[a + 12 | 0] = e;
+  q[a + 4 >> 2] = a;
+  d = 1;
+  d = e ? d : r[a + 141 | 0] != 0;
+  q[a + 60 >> 2] = -1;
+  o[a + 57 | 0] = 1;
+  o[a + 56 | 0] = d;
+  b : {
+   d = r[b | 0] | r[b + 1 | 0] << 8;
+   d = ((d << 24 | d << 8 & 16711680) >>> 16 | 0) + -7 | 0;
+   c : {
+    if (d >>> 0 > 1) {
+     break c;
+    }
+    if (!(d - 1)) {
+     break b;
+    }
+    d = b;
+    b = r[b + 5 | 0] | r[b + 4 | 0] << 8 ? b + 6 | 0 : 271040;
+    b = r[b | 0] << 8 | r[b + 1 | 0];
+    b = b ? d + b | 0 : 271040;
+    if ((r[b | 0] << 8 | r[b + 1 | 0]) != 1) {
+     break c;
+    }
+    if ((r[b + 3 | 0] | r[b + 2 | 0] << 8) == 8) {
+     break b;
+    }
+   }
+   sG(g);
+   q[g + 72 >> 2] = 0;
+   b = q[a + 96 >> 2];
+   d = q[b + 72 >> 2];
+   if (d >>> 0 >= t[b + 76 >> 2]) {
+    break a;
+   }
+   while (1) {
+    if (r[b + 68 | 0]) {
+     e = q[b + 88 >> 2] + w(d, 20) | 0;
+     d = q[e >> 2];
+     d : {
+      e : {
+       if (!(q[c >> 2] >>> (d >>> 4 & 31) & 1) | !(q[c + 4 >> 2] >>> (d & 31) & 1) | (!(q[c + 8 >> 2] >>> (d >>> 9 & 31) & 1) | !(q[a + 116 >> 2] & q[e + 4 >> 2]))) {
+        break e;
+       }
+       f = q[a + 128 >> 2];
+       e = s[e + 12 >> 1];
+       if (f & e & 14) {
+        break e;
+       }
+       if (e & 8) {
+        if (!Pt(a, d, e, f)) {
+         break e;
+        }
+       }
+       d = 0;
+       e = q[c + 16 >> 2];
+       if (!e) {
+        break e;
+       }
+       while (1) {
+        f = e >>> 0 > d >>> 0 ? q[c + 20 >> 2] + w(d, 20) | 0 : 271040;
+        h = q[a + 96 >> 2];
+        h = q[q[h + 88 >> 2] + w(q[h + 72 >> 2], 20) >> 2];
+        if (!(!(q[f + 8 >> 2] >>> (h >>> 4 & 31) & 1) | !(q[f + 12 >> 2] >>> (h & 31) & 1) | !(q[f + 16 >> 2] >>> (h >>> 9 & 31) & 1))) {
+         if (n[q[f + 4 >> 2]](q[f >> 2], a)) {
+          i = 1;
+          break d;
+         }
+         e = q[c + 16 >> 2];
+        }
+        d = d + 1 | 0;
+        if (d >>> 0 < e >>> 0) {
+         continue;
+        }
+        break;
+       }
+      }
+      if (r[b + 69 | 0]) {
+       f : {
+        if (q[b + 92 >> 2] == q[b + 88 >> 2]) {
+         d = q[b + 80 >> 2];
+         if ((d | 0) == q[b + 72 >> 2]) {
+          break f;
+         }
+        }
+        if (!pG(b, 1, 1)) {
+         break d;
+        }
+        e = q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0;
+        f = q[e + 4 >> 2];
+        d = q[b + 92 >> 2] + w(q[b + 80 >> 2], 20) | 0;
+        q[d >> 2] = q[e >> 2];
+        q[d + 4 >> 2] = f;
+        q[d + 16 >> 2] = q[e + 16 >> 2];
+        f = q[e + 12 >> 2];
+        q[d + 8 >> 2] = q[e + 8 >> 2];
+        q[d + 12 >> 2] = f;
+        d = q[b + 80 >> 2];
+       }
+       q[b + 80 >> 2] = d + 1;
+      }
+      q[b + 72 >> 2] = q[b + 72 >> 2] + 1;
+     }
+     d = q[b + 72 >> 2];
+     if (d >>> 0 < t[b + 76 >> 2]) {
+      continue;
+     }
+    }
+    break;
+   }
+   if (!i) {
+    break a;
+   }
+   uG(g);
+   return;
+  }
+  rG(g);
+  q[g + 72 >> 2] = q[g + 76 >> 2] + -1;
+  g = q[a + 96 >> 2];
+  b = q[g + 72 >> 2];
+  while (1) {
+   d = q[g + 88 >> 2] + w(b, 20) | 0;
+   b = q[d >> 2];
+   g : {
+    if (!(q[c >> 2] >>> (b >>> 4 & 31) & 1) | !(q[c + 4 >> 2] >>> (b & 31) & 1) | (!(q[c + 8 >> 2] >>> (b >>> 9 & 31) & 1) | !(q[a + 116 >> 2] & q[d + 4 >> 2]))) {
+     break g;
+    }
+    e = q[a + 128 >> 2];
+    d = s[d + 12 >> 1];
+    if (e & d & 14) {
+     break g;
+    }
+    if (d & 8) {
+     if (!Pt(a, b, d, e)) {
+      break g;
+     }
+    }
+    b = 0;
+    e = q[c + 16 >> 2];
+    if (!e) {
+     break g;
+    }
+    while (1) {
+     d = e >>> 0 > b >>> 0 ? q[c + 20 >> 2] + w(b, 20) | 0 : 271040;
+     f = q[a + 96 >> 2];
+     f = q[q[f + 88 >> 2] + w(q[f + 72 >> 2], 20) >> 2];
+     if (!(!(q[d + 8 >> 2] >>> (f >>> 4 & 31) & 1) | !(q[d + 12 >> 2] >>> (f & 31) & 1) | !(q[d + 16 >> 2] >>> (f >>> 9 & 31) & 1))) {
+      if (n[q[d + 4 >> 2]](q[d >> 2], a)) {
+       break g;
+      }
+      e = q[c + 16 >> 2];
+     }
+     b = b + 1 | 0;
+     if (b >>> 0 < e >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = q[g + 72 >> 2] + -1 | 0;
+   q[g + 72 >> 2] = b;
+   if ((b | 0) > -1) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function xg(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, s = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0;
+ e = Ca - 48 | 0;
+ Ca = e;
+ f = q[a + 20 >> 2];
+ a : {
+  b : {
+   if (f) {
+    g = 85;
+    if (n[f](a, b, 0, 0)) {
+     break a;
+    }
+    f = q[a + 4 >> 2];
+    break b;
+   }
+   g = 85;
+   f = q[a + 4 >> 2];
+   if (f >>> 0 < b >>> 0) {
+    break a;
+   }
+  }
+  q[a + 8 >> 2] = b;
+  if (f >>> 0 <= b >>> 0) {
+   break a;
+  }
+  g = q[a + 20 >> 2];
+  c : {
+   if (g) {
+    g = n[g](a, b, e + 16 | 0, 16) | 0;
+    break c;
+   }
+   g = f - b | 0;
+   g = g >>> 0 < 16 ? g : 16;
+   Y$(e + 16 | 0, q[a >> 2] + b | 0, g);
+  }
+  q[a + 8 >> 2] = b + g;
+  if (g >>> 0 < 16) {
+   g = 85;
+   break a;
+  }
+  g = 2;
+  f = o[e + 16 | 0];
+  if ((f | 0) < 0) {
+   break a;
+  }
+  h = o[e + 20 | 0];
+  if ((h | 0) < 0) {
+   break a;
+  }
+  i = o[e + 24 | 0];
+  if ((i | 0) < 0) {
+   break a;
+  }
+  j = o[e + 28 | 0];
+  if ((j | 0) < 0) {
+   break a;
+  }
+  f = r[e + 19 | 0] | (r[e + 17 | 0] << 16 | (f & 255) << 24 | r[e + 18 | 0] << 8);
+  q[d >> 2] = f;
+  h = r[e + 23 | 0] | (r[e + 21 | 0] << 16 | (h & 255) << 24 | r[e + 22 | 0] << 8);
+  if (!h) {
+   break a;
+  }
+  k = r[e + 31 | 0];
+  j = k | (r[e + 29 | 0] << 16 | (j & 255) << 24 | r[e + 30 | 0] << 8);
+  i = r[e + 27 | 0] | (r[e + 25 | 0] << 16 | (i & 255) << 24 | r[e + 26 | 0] << 8);
+  d : {
+   if ((f | 0) < (h | 0)) {
+    if ((f | 0) <= (h - i | 0)) {
+     break d;
+    }
+    break a;
+   }
+   if ((h | 0) > (f - j | 0)) {
+    break a;
+   }
+  }
+  if ((i ^ 2147483647) < (f | 0) | (j ^ 2147483647) < (h | 0) | ((2147483647 - (f + i | 0) | 0) < (b | 0) | (h + j ^ 2147483647) < (b | 0))) {
+   break a;
+  }
+  f = b + f | 0;
+  l = f + i | 0;
+  i = q[a + 4 >> 2];
+  if (l >>> 0 > i >>> 0) {
+   break a;
+  }
+  b = b + h | 0;
+  if (j + b >>> 0 > i >>> 0) {
+   break a;
+  }
+  q[d >> 2] = f;
+  e : {
+   f : {
+    d = q[a + 20 >> 2];
+    if (d) {
+     if (!n[d](a, b, 0, 0)) {
+      break f;
+     }
+     g = 85;
+     break a;
+    }
+    f = q[a + 4 >> 2];
+    if (f >>> 0 >= b >>> 0) {
+     break e;
+    }
+    g = 85;
+    break a;
+   }
+   f = q[a + 4 >> 2];
+   k = r[e + 31 | 0];
+  }
+  q[a + 8 >> 2] = b;
+  o[e + 15 | 0] = k + 1;
+  if (f >>> 0 <= b >>> 0) {
+   g = 85;
+   break a;
+  }
+  d = q[a + 20 >> 2];
+  g : {
+   if (d) {
+    f = n[d](a, b, e, 16) | 0;
+    break g;
+   }
+   d = f - b | 0;
+   f = d >>> 0 < 16 ? d : 16;
+   Y$(e, q[a >> 2] + b | 0, f);
+  }
+  d = b + f | 0;
+  q[a + 8 >> 2] = d;
+  if (f >>> 0 < 16) {
+   g = 85;
+   break a;
+  }
+  f = r[e + 1 | 0];
+  h = r[e | 0];
+  j = r[e + 2 | 0];
+  i = r[e + 3 | 0];
+  k = r[e + 4 | 0];
+  l = r[e + 5 | 0];
+  m = r[e + 6 | 0];
+  p = r[e + 7 | 0];
+  s = r[e + 8 | 0];
+  u = r[e + 9 | 0];
+  v = r[e + 10 | 0];
+  w = r[e + 11 | 0];
+  x = r[e + 12 | 0];
+  y = r[e + 13 | 0];
+  z = r[e + 14 | 0];
+  A = r[e + 15 | 0];
+  if ((A | (z | (y | (x | (w | (v | (f | h | j | i | k | l | m | p | s | u))))))) & 255 ? !((f | 0) == r[e + 17 | 0] & (h | 0) == r[e + 16 | 0] & (j | 0) == r[e + 18 | 0] & (i | 0) == r[e + 19 | 0] & (k | 0) == r[e + 20 | 0] & (l | 0) == r[e + 21 | 0] & (m | 0) == r[e + 22 | 0] & (p | 0) == r[e + 23 | 0] & (s | 0) == r[e + 24 | 0] & (u | 0) == r[e + 25 | 0] & (v | 0) == r[e + 26 | 0] & (w | 0) == r[e + 27 | 0] & (x | 0) == r[e + 28 | 0] & (y | 0) == r[e + 29 | 0] & (z | 0) == r[e + 30 | 0] & (A | 0) == r[e + 31 | 0]) : 0) {
+   break a;
+  }
+  g = d + 8 | 0;
+  f = q[a + 20 >> 2];
+  h : {
+   i : {
+    if (f) {
+     if (!n[f](a, g, 0, 0)) {
+      break i;
+     }
+     d = q[a + 8 >> 2];
+     break h;
+    }
+    if (t[a + 4 >> 2] < g >>> 0) {
+     break h;
+    }
+   }
+   q[a + 8 >> 2] = g;
+   d = g;
+  }
+  j : {
+   if (d + 1 >>> 0 >= t[a + 4 >> 2]) {
+    break j;
+   }
+   k : {
+    l : {
+     m : {
+      g = q[a + 20 >> 2];
+      n : {
+       if (g) {
+        if ((n[g](a, d, e + 46 | 0, 2) | 0) != 2) {
+         break j;
+        }
+        d = q[a + 8 >> 2];
+        f = e + 46 | 0;
+        break n;
+       }
+       g = q[a >> 2];
+       if (!g) {
+        break m;
+       }
+       f = d + g | 0;
+      }
+      g = 2;
+      f = r[f | 0] | r[f + 1 | 0] << 8;
+      q[a + 8 >> 2] = d + 2;
+      d = (f << 8 & 16711680 | f << 24) >> 16;
+      if ((d | 0) < 0) {
+       break a;
+      }
+      b = (d & 65535) + b | 0;
+      d = q[a + 20 >> 2];
+      if (!d) {
+       break l;
+      }
+      g = 85;
+      if (!n[d](a, b, 0, 0)) {
+       break k;
+      }
+      break a;
+     }
+     q[a + 8 >> 2] = d + 2;
+    }
+    g = 85;
+    if (t[a + 4 >> 2] < b >>> 0) {
+     break a;
+    }
+   }
+   q[a + 8 >> 2] = b;
+   q[c >> 2] = b;
+   g = 0;
+   break a;
+  }
+  g = 85;
+ }
+ Ca = e + 48 | 0;
+ return g;
+}
+function $l(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ j = q[a + 492 >> 2];
+ g = q[b + 8 >> 2];
+ n[q[b + 28 >> 2]](b);
+ a : {
+  b : {
+   d = q[b >> 2];
+   c : {
+    if (d >>> 0 >= g >>> 0) {
+     q[b + 12 >> 2] = 3;
+     break c;
+    }
+    c = r[d | 0];
+    if (!(c + -48 >>> 0 > 9 ? (c | 0) != 91 : 0)) {
+     f = q[b + 16 >> 2];
+     if ((c | 0) == 91) {
+      l = 1;
+      q[b >> 2] = d + 1;
+      h = 256;
+      break b;
+     }
+     h = n[q[b + 36 >> 2]](b) | 0;
+     if ((h | 0) < 257) {
+      break b;
+     }
+     q[b + 12 >> 2] = 3;
+     break a;
+    }
+    d : {
+     if (d + 17 >>> 0 >= g >>> 0) {
+      break d;
+     }
+     if (jZ(d, 18694, 16)) {
+      break d;
+     }
+     q[a + 368 >> 2] = 2;
+     break c;
+    }
+    e : {
+     if (d + 15 >>> 0 >= g >>> 0) {
+      break e;
+     }
+     if (jZ(d, 18711, 14)) {
+      break e;
+     }
+     q[a + 368 >> 2] = 4;
+     break c;
+    }
+    f : {
+     if (d + 18 >>> 0 >= g >>> 0) {
+      break f;
+     }
+     if (jZ(d, 18726, 17)) {
+      break f;
+     }
+     q[a + 368 >> 2] = 3;
+     break c;
+    }
+    q[b + 12 >> 2] = 162;
+   }
+   Ca = i + 16 | 0;
+   return;
+  }
+  n[q[b + 28 >> 2]](b);
+  if (t[b >> 2] >= g >>> 0) {
+   break a;
+  }
+  k = b + 92 | 0;
+  c = q[a + 384 >> 2];
+  g : {
+   if (!c) {
+    break g;
+   }
+   Qe(f, c);
+   q[a + 384 >> 2] = 0;
+   c = a + 388 | 0;
+   Qe(f, q[c >> 2]);
+   q[c >> 2] = 0;
+   c = q[b + 140 >> 2];
+   if (!c) {
+    break g;
+   }
+   n[c](k);
+  }
+  q[a + 372 >> 2] = h;
+  q[b + 88 >> 2] = h;
+  m = a, p = Te(f, 2, 0, h, 0, i + 12 | 0), q[m + 384 >> 2] = p;
+  h : {
+   e = q[i + 12 >> 2];
+   if (e) {
+    break h;
+   }
+   m = a, p = Te(f, 4, 0, h, 0, i + 12 | 0), q[m + 388 >> 2] = p;
+   e = q[i + 12 >> 2];
+   if (e) {
+    break h;
+   }
+   e = n[q[q[j >> 2] >> 2]](k, h, f) | 0;
+   q[i + 12 >> 2] = e;
+   if (e) {
+    break h;
+   }
+   if ((h | 0) >= 1) {
+    c = 0;
+    while (1) {
+     n[q[b + 136 >> 2]](k, c, 17720, 8) | 0;
+     c = c + 1 | 0;
+     if ((h | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   n[q[b + 28 >> 2]](b);
+   c = q[b >> 2];
+   i : {
+    if (c >>> 0 >= g >>> 0) {
+     break i;
+    }
+    e = 0;
+    while (1) {
+     j : {
+      f = r[c | 0];
+      d = f + -93 | 0;
+      if (d >>> 0 > 7) {
+       break j;
+      }
+      k : {
+       switch (d - 1 | 0) {
+       case 6:
+        d = c + 3 | 0;
+        if (r[c + 1 | 0] != 101 | d >>> 0 >= g >>> 0 | r[c + 2 | 0] != 102) {
+         break j;
+        }
+        j = r[d | 0];
+        if (j >>> 0 > 32) {
+         break j;
+        }
+        switch (j - 1 | 0) {
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 10:
+        case 13:
+        case 14:
+        case 15:
+        case 16:
+        case 17:
+        case 18:
+        case 19:
+        case 20:
+        case 21:
+        case 22:
+        case 23:
+        case 24:
+        case 25:
+        case 26:
+        case 27:
+        case 28:
+        case 29:
+        case 30:
+         break j;
+        default:
+         break i;
+        }
+       case 0:
+       case 1:
+       case 2:
+       case 3:
+       case 4:
+       case 5:
+        break j;
+       default:
+        break k;
+       }
+      }
+      d = c + 1 | 0;
+      break i;
+     }
+     l : {
+      m : {
+       if (!(f + -48 >>> 0 > 9 ? !l : 0)) {
+        if (l) {
+         d = c;
+         j = e;
+         break m;
+        }
+        j = n[q[b + 36 >> 2]](b) | 0;
+        n[q[b + 28 >> 2]](b);
+        d = q[b >> 2];
+        if ((c | 0) != (d | 0)) {
+         break m;
+        }
+        q[b + 12 >> 2] = 2;
+        break a;
+       }
+       n[q[b + 32 >> 2]](b);
+       d = c;
+       if (q[b + 12 >> 2]) {
+        break a;
+       }
+       break l;
+      }
+      if (!((e | 0) >= (h | 0) | d + 2 >>> 0 >= g >>> 0 | r[d | 0] != 47)) {
+       d = d + 1 | 0;
+       q[b >> 2] = d;
+       n[q[b + 32 >> 2]](b);
+       c = q[b >> 2];
+       if (q[b + 12 >> 2] | c >>> 0 >= g >>> 0) {
+        break a;
+       }
+       f = c - d | 0;
+       c = n[q[b + 136 >> 2]](k, j, d, f + 1 | 0) | 0;
+       q[b + 12 >> 2] = c;
+       if (c) {
+        break a;
+       }
+       o[f + q[q[b + 116 >> 2] + (j << 2) >> 2] | 0] = 0;
+       e = e + 1 | 0;
+       break l;
+      }
+      if (!l) {
+       break l;
+      }
+      q[b + 12 >> 2] = 2;
+      break a;
+     }
+     n[q[b + 28 >> 2]](b);
+     c = q[b >> 2];
+     if (c >>> 0 < g >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[a + 368 >> 2] = 1;
+   q[b >> 2] = d;
+   break a;
+  }
+  q[b + 12 >> 2] = e;
+ }
+ Ca = i + 16 | 0;
+}
+function cI(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ e = Ca - 48 | 0;
+ Ca = e;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       if (!iZ(b, 289108)) {
+        f = 6;
+        if (d) {
+         break a;
+        }
+        c = q[c >> 2];
+        b = 0;
+        d = 282024;
+        while (1) {
+         if (q[d + 16 >> 2] == 10 ? (c | 0) == q[d + 8 >> 2] : 0) {
+          break f;
+         }
+         b = b + 1 | 0;
+         d = q[(b << 2) + 284080 >> 2];
+         if ((b | 0) != 86) {
+          continue;
+         }
+         break;
+        }
+        break a;
+       }
+       if (!iZ(b, 289124)) {
+        f = 6;
+        if (d) {
+         break a;
+        }
+        q[a + 16 >> 2] = q[c >> 2];
+        break c;
+       }
+       if (!iZ(b, 289139)) {
+        f = 6;
+        if (d) {
+         break a;
+        }
+        b = q[c >> 2];
+        if (!b) {
+         f = 35;
+         break a;
+        }
+        d = q[b + 116 >> 2];
+        q[e + 16 >> 2] = d;
+        if (!d) {
+         f = WH(b, e + 16 | 0, a);
+         if (f) {
+          break a;
+         }
+         d = q[e + 16 >> 2];
+         q[b + 116 >> 2] = d;
+         q[b + 120 >> 2] = 596;
+        }
+        q[d + 20 >> 2] = q[c + 4 >> 2];
+        break c;
+       }
+       if (!iZ(b, 289157)) {
+        if (d) {
+         b = L_(c, 0, 10);
+         if (b >>> 0 > 1) {
+          f = 6;
+          break a;
+         }
+         if (b - 1) {
+          o[a + 20 | 0] = 0;
+          break a;
+         }
+         o[a + 20 | 0] = 1;
+         break c;
+        }
+        o[a + 20 | 0] = r[c | 0];
+        break c;
+       }
+       g : {
+        if (!iZ(b, 289165)) {
+         if (d) {
+          b = L_(c, e + 12 | 0, 10);
+          q[e + 16 >> 2] = b;
+          d = c;
+          c = q[e + 12 >> 2];
+          if ((d | 0) == (c | 0) | r[c | 0] != 44) {
+           break b;
+          }
+          c = c + 1 | 0;
+          l = e, m = L_(c, e + 12 | 0, 10), q[l + 20 >> 2] = m;
+          d = c;
+          c = q[e + 12 >> 2];
+          if ((d | 0) == (c | 0)) {
+           break b;
+          }
+          if (r[c | 0] == 44) {
+           break g;
+          }
+          break b;
+         }
+         b = q[c >> 2];
+         break d;
+        }
+        f = 12;
+        if (iZ(b, 289186)) {
+         break a;
+        }
+        if (d) {
+         f = 0;
+         l = a, m = (L_(c, 0, 10) | 0) != 0, o[l + 21 | 0] = m;
+         break a;
+        }
+        o[a + 21 | 0] = r[c | 0];
+        break c;
+       }
+       c = c + 1 | 0;
+       l = e, m = L_(c, e + 12 | 0, 10), q[l + 24 >> 2] = m;
+       d = c;
+       c = q[e + 12 >> 2];
+       if ((d | 0) == (c | 0) | r[c | 0] != 44) {
+        break b;
+       }
+       c = c + 1 | 0;
+       l = e, m = L_(c, e + 12 | 0, 10), q[l + 28 >> 2] = m;
+       d = c;
+       c = q[e + 12 >> 2];
+       if ((d | 0) == (c | 0) | r[c | 0] != 44) {
+        break b;
+       }
+       c = c + 1 | 0;
+       l = e, m = L_(c, e + 12 | 0, 10), q[l + 32 >> 2] = m;
+       d = c;
+       c = q[e + 12 >> 2];
+       if ((d | 0) == (c | 0) | r[c | 0] != 44) {
+        break b;
+       }
+       c = c + 1 | 0;
+       l = e, m = L_(c, e + 12 | 0, 10), q[l + 36 >> 2] = m;
+       d = c;
+       c = q[e + 12 >> 2];
+       if ((d | 0) == (c | 0) | r[c | 0] != 44) {
+        break b;
+       }
+       c = c + 1 | 0;
+       l = e, m = L_(c, e + 12 | 0, 10), q[l + 40 >> 2] = m;
+       d = c;
+       c = q[e + 12 >> 2];
+       if ((d | 0) == (c | 0) | r[c | 0] != 44) {
+        break b;
+       }
+       d = c + 1 | 0;
+       l = e, m = L_(d, e + 12 | 0, 10), q[l + 44 >> 2] = m;
+       f = q[e + 12 >> 2];
+       if ((r[f | 0] | 32) == 32) {
+        break e;
+       }
+       break b;
+      }
+      q[a + 12 >> 2] = b;
+      Ca = e + 48 | 0;
+      return 0;
+     }
+     c = e + 16 | 0;
+     if ((d | 0) != (f | 0)) {
+      break d;
+     }
+     f = 6;
+     break a;
+    }
+    f = 6;
+    d = q[c + 8 >> 2];
+    g = q[c + 16 >> 2];
+    if ((d | 0) > (g | 0) | (b | 0) > (d | 0)) {
+     break a;
+    }
+    h = q[c + 24 >> 2];
+    i = q[c + 20 >> 2];
+    j = q[c + 12 >> 2];
+    k = q[c + 4 >> 2];
+    c = q[c + 28 >> 2];
+    if ((h | (i | (j | (d | (k | b)) | g)) | c) < 0 | (c | 0) > 500 | ((i | 0) > 500 | (j | 0) > 500)) {
+     break a;
+    }
+    if ((k | 0) > 500 | (g | 0) > (h | 0)) {
+     break a;
+    }
+    q[a + 48 >> 2] = h;
+    q[a + 36 >> 2] = j;
+    q[a + 24 >> 2] = b;
+    q[a + 52 >> 2] = c;
+    q[a + 44 >> 2] = i;
+    q[a + 40 >> 2] = g;
+    q[a + 32 >> 2] = d;
+    q[a + 28 >> 2] = k;
+   }
+   f = 0;
+   break a;
+  }
+  f = 6;
+ }
+ Ca = e + 48 | 0;
+ return f | 0;
+}
+function az(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ e = Ca - 240 | 0;
+ Ca = e;
+ g = c;
+ q[g + 16 >> 2] = 0;
+ q[g + 20 >> 2] = -1042284544;
+ q[g + 8 >> 2] = -4194304;
+ q[g + 12 >> 2] = 1105199103;
+ q[g >> 2] = -4194304;
+ q[g + 4 >> 2] = 1105199103;
+ q[g + 24 >> 2] = 0;
+ q[g + 28 >> 2] = -1042284544;
+ if (!(!q[a >> 2] | t[a + 212 >> 2] <= b >>> 0)) {
+  h = q[a + 76 >> 2];
+  a : {
+   if ((h | 0) == 271040) {
+    break a;
+   }
+   g = r[h | 0];
+   if (g >>> 0 > 3) {
+    break a;
+   }
+   b : {
+    switch (g - 1 | 0) {
+    default:
+     f = r[(b + h | 0) + 1 | 0];
+     break a;
+    case 0:
+    case 1:
+     break a;
+    case 2:
+     break b;
+    }
+   }
+   f = 1;
+   g = r[h + 1 | 0] | r[h + 2 | 0] << 8;
+   i = g << 8;
+   g = (i & 16711680 | g << 24) >>> 16 | 0;
+   c : {
+    if (g >>> 0 <= 1) {
+     i = r[h + 2 | 0] | i & 65280;
+     break c;
+    }
+    i = r[h + 2 | 0] | i & 65280;
+    while (1) {
+     j = i >>> 0 > f >>> 0 ? (h + w(f, 3) | 0) + 3 | 0 : 271040;
+     if ((r[j | 0] << 8 | r[j + 1 | 0]) >>> 0 > b >>> 0) {
+      break c;
+     }
+     f = f + 1 | 0;
+     if ((g | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    f = g;
+   }
+   f = f + -1 | 0;
+   f = r[(i >>> 0 > f >>> 0 ? (h + w(f, 3) | 0) + 3 | 0 : 271040) + 2 | 0];
+  }
+  o[e + 88 | 0] = 0;
+  q[e + 80 >> 2] = 0;
+  q[e + 84 >> 2] = 0;
+  q[e + 108 >> 2] = 0;
+  q[e + 100 >> 2] = 0;
+  q[e + 104 >> 2] = 0;
+  q[e + 124 >> 2] = 0;
+  q[e + 128 >> 2] = 0;
+  o[e + 132 | 0] = 0;
+  q[e + 176 >> 2] = 0;
+  i = e + 168 | 0;
+  g = i;
+  q[g >> 2] = 0;
+  q[g + 4 >> 2] = 0;
+  q[e + 72 >> 2] = 0;
+  q[e + 76 >> 2] = 0;
+  q[e + 116 >> 2] = 0;
+  q[e + 120 >> 2] = 0;
+  k = f & 255;
+  h = q[a + 68 >> 2];
+  f = r[h | 0] << 8 | r[h + 1 | 0];
+  d : {
+   if (f >>> 0 <= b >>> 0) {
+    q[e - -64 >> 2] = q[67762];
+    b = q[67761];
+    q[e + 56 >> 2] = q[67760];
+    q[e + 60 >> 2] = b;
+    break d;
+   }
+   g = r[h + 2 | 0];
+   l = (h + w(g, f + 1 | 0) | 0) + 3 | 0;
+   j = 0;
+   if (g) {
+    f = (h + w(b, g) | 0) + 3 | 0;
+    while (1) {
+     j = r[f | 0] | j << 8;
+     f = f + 1 | 0;
+     g = g + -1 | 0;
+     if (g) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = nB(h, b);
+   q[e + 64 >> 2] = 0;
+   q[e + 60 >> 2] = b;
+   q[e + 56 >> 2] = (j + l | 0) + -1;
+  }
+  bz(e + 72 | 0, e + 56 | 0, q[a + 64 >> 2], q[(t[a + 204 >> 2] > k >>> 0 ? q[a + 208 >> 2] + w(k, 24) | 0 : 271040) + 20 >> 2]);
+  o[e + 232 | 0] = d;
+  q[e + 220 >> 2] = 0;
+  p[e + 216 >> 1] = 0;
+  q[e + 40 >> 2] = 0;
+  q[e + 44 >> 2] = -1042284544;
+  q[e + 32 >> 2] = 0;
+  q[e + 36 >> 2] = -1042284544;
+  q[e + 24 >> 2] = -4194304;
+  q[e + 28 >> 2] = 1105199103;
+  o[e + 144 | 0] = 0;
+  q[e + 48 >> 2] = a;
+  o[e + 8 | 0] = 0;
+  q[e + 16 >> 2] = -4194304;
+  q[e + 20 >> 2] = 1105199103;
+  b = r[271040];
+  d = b | 256;
+  f = r[e + 88 | 0];
+  e : {
+   while (1) {
+    g = 65535;
+    f : {
+     if (f & 255) {
+      break f;
+     }
+     f = q[e + 84 >> 2];
+     a = f + 1 | 0;
+     h = q[e + 76 >> 2];
+     if (a >>> 0 > h >>> 0) {
+      break f;
+     }
+     g : {
+      h : {
+       if (f >>> 0 < h >>> 0) {
+        j = q[e + 72 >> 2];
+        g = r[j + f | 0];
+        if ((g | 0) == 12) {
+         if (a >>> 0 >= h >>> 0) {
+          break h;
+         }
+         f = r[a + j | 0];
+         q[e + 84 >> 2] = a;
+         g = f | 256;
+         f = a;
+        }
+        if (f >>> 0 >= h >>> 0) {
+         f = g;
+         break g;
+        }
+        q[e + 84 >> 2] = f + 1;
+        break f;
+       }
+       o[e + 88 | 0] = 1;
+       f = b;
+       if ((f | 0) == 12) {
+        break f;
+       }
+       break g;
+      }
+      o[e + 88 | 0] = 1;
+      q[e + 84 >> 2] = h;
+      f = d;
+     }
+     o[e + 88 | 0] = 1;
+     q[e + 84 >> 2] = h;
+     g = f;
+    }
+    cz(g, e + 72 | 0, e + 8 | 0);
+    a = 0;
+    if ((q[e + 168 >> 2] | q[e + 100 >> 2]) < 0) {
+     break e;
+    }
+    f = r[e + 88 | 0];
+    a = 0;
+    if (r[e + 92 | 0] | (f | (r[e + 160 | 0] | r[e + 112 | 0]))) {
+     break e;
+    }
+    if (!r[e + 144 | 0]) {
+     continue;
+    }
+    break;
+   }
+   a = q[e + 20 >> 2];
+   q[c >> 2] = q[e + 16 >> 2];
+   q[c + 4 >> 2] = a;
+   a = q[e + 44 >> 2];
+   q[c + 24 >> 2] = q[e + 40 >> 2];
+   q[c + 28 >> 2] = a;
+   a = q[e + 36 >> 2];
+   q[c + 16 >> 2] = q[e + 32 >> 2];
+   q[c + 20 >> 2] = a;
+   a = q[e + 28 >> 2];
+   q[c + 8 >> 2] = q[e + 24 >> 2];
+   q[c + 12 >> 2] = a;
+   a = 1;
+  }
+  f = a;
+  M$(q[e + 108 >> 2]);
+  q[e + 108 >> 2] = 0;
+  q[e + 100 >> 2] = 0;
+  q[e + 104 >> 2] = 0;
+  M$(q[e + 176 >> 2]);
+  q[i + 8 >> 2] = 0;
+  q[i >> 2] = 0;
+  q[i + 4 >> 2] = 0;
+  M$(q[e + 108 >> 2]);
+ }
+ Ca = e + 240 | 0;
+ return f;
+}
+function xd(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ a : {
+  b = q[q[a + 84 >> 2] + 8 >> 2];
+  if (!b) {
+   break a;
+  }
+  c = q[b >> 2];
+  if (!c) {
+   break a;
+  }
+  while (1) {
+   f = b;
+   h = $Y(c, 61);
+   b : {
+    if (!h) {
+     break b;
+    }
+    o[h | 0] = 0;
+    d = h + 1 | 0;
+    c : {
+     if (!be(q[f >> 2], 1261)) {
+      k = a, l = T_(d), q[k + 36 >> 2] = l;
+      break c;
+     }
+     if (!be(q[f >> 2], 1270)) {
+      k = a, l = T_(d), q[k + 40 >> 2] = l;
+      break c;
+     }
+     if (!be(q[f >> 2], 1279)) {
+      k = a, m = de(d, 0), v[k + 48 >> 3] = m;
+      break c;
+     }
+     if (!be(q[f >> 2], 1285)) {
+      k = a, l = T_(d), q[k + 56 >> 2] = l;
+      break c;
+     }
+     if (!be(q[f >> 2], 1295)) {
+      k = a, l = Vd(d), q[k + 60 >> 2] = l;
+      break c;
+     }
+     if (!be(q[f >> 2], 1317)) {
+      k = a, l = Vd(d), q[k + 64 >> 2] = l;
+      break c;
+     }
+     if (be(q[f >> 2], 1325)) {
+      break c;
+     }
+     k = a, l = Wd(d), q[k + 72 >> 2] = l;
+    }
+    c = q[f >> 2];
+    g = $Y(c, 46);
+    i = 0;
+    d : {
+     if (!g) {
+      break d;
+     }
+     o[g | 0] = 0;
+     c = g + 1 | 0;
+     i = q[f >> 2];
+    }
+    if (q[a >> 2] >= 1) {
+     b = 0;
+     while (1) {
+      e : {
+       if (i) {
+        if (be(q[q[a + 16 >> 2] + w(b, 144) >> 2], i)) {
+         break e;
+        }
+       }
+       e = q[a + 16 >> 2];
+       if (!be(c, 1338)) {
+        e = e + w(b, 144) | 0;
+        j = e + 4 | 0;
+        e = q[e + 4 >> 2];
+        if (e) {
+         M$(e);
+        }
+        k = j, l = mZ(d), q[k >> 2] = l;
+        break e;
+       }
+       if (!be(c, 1347)) {
+        k = e + w(b, 144) | 0, l = Ud(d), q[k + 16 >> 2] = l;
+        break e;
+       }
+       if (!be(c, 1361)) {
+        k = e + w(b, 144) | 0, l = Ud(d), q[k + 20 >> 2] = l;
+        break e;
+       }
+       if (!be(c, 1377)) {
+        k = e + w(b, 144) | 0, l = Ud(d), q[k + 24 >> 2] = l;
+        break e;
+       }
+       if (!be(c, 1391)) {
+        k = e + w(b, 144) | 0, l = Ud(d), q[k + 28 >> 2] = l;
+        break e;
+       }
+       if (!be(c, 1402)) {
+        k = e + w(b, 144) | 0, m = de(d, 0), v[k + 8 >> 3] = m;
+        break e;
+       }
+       if (!be(c, 1411)) {
+        k = e + w(b, 144) | 0, l = T_(d), q[k + 32 >> 2] = l;
+        break e;
+       }
+       if (!be(c, 1416)) {
+        k = e + w(b, 144) | 0, l = T_(d), q[k + 36 >> 2] = l;
+        break e;
+       }
+       if (!be(c, 1423)) {
+        k = e + w(b, 144) | 0, l = T_(d), q[k + 40 >> 2] = l;
+        break e;
+       }
+       if (!be(c, 1433)) {
+        k = e + w(b, 144) | 0, l = T_(d), q[k + 44 >> 2] = l;
+        break e;
+       }
+       if (!be(c, 1443)) {
+        k = e + w(b, 144) | 0, m = de(d, 0), v[k + 64 >> 3] = m;
+        break e;
+       }
+       if (!be(c, 1451)) {
+        k = e + w(b, 144) | 0, m = de(d, 0), v[k + 72 >> 3] = m;
+        break e;
+       }
+       if (!be(c, 1457)) {
+        k = e + w(b, 144) | 0, l = T_(d), q[k + 80 >> 2] = l;
+        break e;
+       }
+       if (!be(c, 1469)) {
+        k = e + w(b, 144) | 0, l = T_(d), q[k + 104 >> 2] = l;
+        break e;
+       }
+       if (!be(c, 1479)) {
+        k = e + w(b, 144) | 0, l = T_(d), q[k + 136 >> 2] = l;
+        break e;
+       }
+       if (!be(c, 1487)) {
+        k = e + w(b, 144) | 0, l = T_(d), q[k + 108 >> 2] = l;
+        break e;
+       }
+       if (!be(c, 1495)) {
+        k = e + w(b, 144) | 0, l = T_(d), q[k + 112 >> 2] = l;
+        break e;
+       }
+       if (!be(c, 1503)) {
+        k = e + w(b, 144) | 0, l = T_(d), q[k + 116 >> 2] = l;
+        break e;
+       }
+       if (!be(c, 1511)) {
+        k = e + w(b, 144) | 0, l = T_(d), q[k + 120 >> 2] = l;
+        break e;
+       }
+       if (!be(c, 1520)) {
+        k = e + w(b, 144) | 0, m = de(d, 0), v[k + 48 >> 3] = m;
+        break e;
+       }
+       if (!be(c, 1527)) {
+        k = e + w(b, 144) | 0, m = de(d, 0), v[k + 56 >> 3] = m;
+        break e;
+       }
+       if (!be(c, 1534)) {
+        k = e + w(b, 144) | 0, m = de(d, 0), v[k + 88 >> 3] = m;
+        break e;
+       }
+       if (!be(c, 1542)) {
+        k = e + w(b, 144) | 0, m = de(d, 0), v[k + 96 >> 3] = m;
+        break e;
+       }
+       if (be(c, 1549)) {
+        break e;
+       }
+       k = e + w(b, 144) | 0, m = de(d, 0), v[k + 128 >> 3] = m;
+      }
+      b = b + 1 | 0;
+      if ((b | 0) < q[a >> 2]) {
+       continue;
+      }
+      break;
+     }
+    }
+    o[h | 0] = 61;
+    if (!g) {
+     break b;
+    }
+    o[g | 0] = 46;
+   }
+   b = f + 4 | 0;
+   c = q[f + 4 >> 2];
+   if (c) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function FM(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0;
+ a : {
+  b : {
+   if (!q[a + 8 >> 2] | (q[a + 20 >> 2] ? 0 : !q[a + 16 >> 2])) {
+    break b;
+   }
+   f = q[a >> 2];
+   if (!q[b + 8 >> 2] | (f | 0) != q[b + 84 >> 2]) {
+    break b;
+   }
+   q[a + 168 >> 2] = c;
+   q[a + 172 >> 2] = d;
+   q[a + 160 >> 2] = b;
+   Id(f, b);
+   q[q[q[a + 116 >> 2] + 36 >> 2] + 36 >> 2] = q[b + 64 >> 2] != 0;
+   f = q[a + 116 >> 2];
+   g = q[b + 68 >> 2];
+   c : {
+    if (!g) {
+     q[f + 40 >> 2] = 0;
+     break c;
+    }
+    o = f, p = xq(g), q[o + 40 >> 2] = p;
+   }
+   Db(q[a + 116 >> 2], q[a + 92 >> 2]);
+   n = v[a + 80 >> 3];
+   d : {
+    if (n != 0) {
+     break d;
+    }
+    n = 1;
+    j = q[a + 16 >> 2];
+    if (!j) {
+     break d;
+    }
+    l = q[a + 20 >> 2];
+    if (!l) {
+     break d;
+    }
+    f = q[a + 24 >> 2];
+    if (!f) {
+     break d;
+    }
+    g = q[a + 28 >> 2];
+    if (!g) {
+     break d;
+    }
+    n = +(f | 0) / +(g | 0) / (+(j | 0) / +(l | 0));
+   }
+   v[a + 184 >> 3] = n;
+   g = q[a + 120 >> 2];
+   f = 0;
+   q[a + 120 >> 2] = 0;
+   q[a + 124 >> 2] = g;
+   rM(q[a + 748 >> 2], q[a + 760 >> 2]);
+   rM(q[a + 744 >> 2], q[a + 756 >> 2]);
+   rM(q[a + 740 >> 2], q[a + 752 >> 2]);
+   l = a + 120 | 0;
+   i = q[b + 8 >> 2];
+   e : {
+    if ((i | 0) < 1) {
+     break e;
+    }
+    while (1) {
+     m = q[b + 20 >> 2] + w(f, 56) | 0;
+     g = q[m >> 2];
+     k = q[m + 4 >> 2];
+     j = k;
+     f : {
+      if ((j | 0) > (d | 0) ? 1 : (j | 0) >= (d | 0) ? g >>> 0 <= c >>> 0 ? 0 : 1 : 0) {
+       break f;
+      }
+      k = q[m + 12 >> 2] + k | 0;
+      j = g + q[m + 8 >> 2] | 0;
+      if (j >>> 0 < g >>> 0) {
+       k = k + 1 | 0;
+      }
+      if ((k | 0) < (d | 0) ? 1 : (k | 0) <= (d | 0) ? j >>> 0 > c >>> 0 ? 0 : 1 : 0) {
+       break f;
+      }
+      g = q[a + 132 >> 2];
+      g : {
+       if ((h | 0) < (g | 0)) {
+        i = q[a + 128 >> 2];
+        break g;
+       }
+       g = g + 100 | 0;
+       q[a + 132 >> 2] = g;
+       i = O$(q[a + 128 >> 2], g << 5);
+       q[a + 128 >> 2] = i;
+      }
+      h = GM(a, m, (h << 5) + i | 0) + h | 0;
+      i = q[b + 8 >> 2];
+     }
+     f = f + 1 | 0;
+     if ((f | 0) < (i | 0)) {
+      continue;
+     }
+     break;
+    }
+    if ((h | 0) <= 0) {
+     break e;
+    }
+    M_(q[a + 128 >> 2], h, 32, 795);
+    c = q[a + 128 >> 2];
+    h : {
+     if ((h | 0) == 1) {
+      b = c;
+      h = 1;
+      break h;
+     }
+     f = 1;
+     b = c;
+     while (1) {
+      g = f << 5;
+      d = g + c | 0;
+      if (q[q[b + 28 >> 2] + 20 >> 2] != q[q[d + 28 >> 2] + 20 >> 2]) {
+       IM(a, b, d - b >> 5);
+       c = q[a + 128 >> 2];
+       b = g + c | 0;
+      }
+      f = f + 1 | 0;
+      if ((h | 0) != (f | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    IM(a, b, ((h << 5) + c | 0) - b >> 5);
+    c = 0;
+    b = l;
+    while (1) {
+     f = q[q[a + 128 >> 2] + (c << 5) >> 2];
+     if (f) {
+      while (1) {
+       q[b >> 2] = f;
+       b = f + 28 | 0;
+       f = q[f + 28 >> 2];
+       if (f) {
+        continue;
+       }
+       break;
+      }
+     }
+     c = c + 1 | 0;
+     if ((h | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   g = q[l >> 2];
+   if (g) {
+    b = g + 44 | 0;
+    q[b >> 2] = q[b >> 2] + 1;
+   }
+   f = q[a + 124 >> 2];
+   if (e) {
+    h = 0;
+    i : {
+     if (!f) {
+      b = g;
+      break i;
+     }
+     b = g;
+     c = f;
+     while (1) {
+      if (!b) {
+       b = 0;
+       h = 2;
+       break i;
+      }
+      d = q[c + 28 >> 2];
+      i = 2;
+      j : {
+       if (q[c >> 2] != q[b >> 2] | q[c + 4 >> 2] != q[b + 4 >> 2] | (q[c + 8 >> 2] != q[b + 8 >> 2] | q[c + 16 >> 2] != q[b + 16 >> 2])) {
+        break j;
+       }
+       if (q[c + 12 >> 2] != q[b + 12 >> 2]) {
+        break j;
+       }
+       i = 1;
+       if (q[c + 20 >> 2] != q[b + 20 >> 2]) {
+        break j;
+       }
+       i = q[c + 24 >> 2] != q[b + 24 >> 2];
+      }
+      h = i >>> 0 > h >>> 0 ? i : h;
+      b = q[b + 28 >> 2];
+      if (!d) {
+       break i;
+      }
+      c = d;
+      if ((h | 0) < 2) {
+       continue;
+      }
+      break;
+     }
+    }
+    q[e >> 2] = b ? 2 : h;
+   }
+   k : {
+    if (!f) {
+     break k;
+    }
+    b = f + 44 | 0;
+    c = q[b >> 2] + -1 | 0;
+    q[b >> 2] = c;
+    if (c) {
+     break k;
+    }
+    while (1) {
+     b = q[f + 28 >> 2];
+     bM(q[f + 36 >> 2]);
+     Kd(q[f + 40 >> 2]);
+     M$(f);
+     f = b;
+     if (b) {
+      continue;
+     }
+     break;
+    }
+    g = q[l >> 2];
+   }
+   q[a + 124 >> 2] = 0;
+   break a;
+  }
+  if (!e) {
+   break a;
+  }
+  q[e >> 2] = 2;
+  return 0;
+ }
+ return g;
+}
+function ID(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, s = 0, t = 0, u = 0, v = 0;
+ if (!HD(b, a, 2)) {
+  return 0;
+ }
+ k = q[c >> 2];
+ f = q[c + 4 >> 2];
+ s = k + (f << 1) | 0;
+ h = q[c + 12 >> 2];
+ l = q[c + 16 >> 2];
+ t = h + (l << 1) | 0;
+ c = 0;
+ a : {
+  if (!f) {
+   break a;
+  }
+  c = 0;
+  if (!l) {
+   break a;
+  }
+  m = -2;
+  g = l;
+  i = h;
+  c = f;
+  e = k;
+  while (1) {
+   b : {
+    d = c ? e : 271040;
+    d = r[d | 0] | r[d + 1 | 0] << 8;
+    d = (d << 24 | d << 8 & 16711680) >>> 16 | 0;
+    n = ((d | 0) != (m + 1 | 0)) + n | 0;
+    j = j + 1 | 0;
+    m = (c | 0) != 0;
+    e = (m << 1) + e | 0;
+    c = c - m | 0;
+    if ((s | 0) == (e | 0) & !c) {
+     break b;
+    }
+    u = (g | 0) != 0;
+    g = g - u | 0;
+    m = d;
+    i = (u << 1) + i | 0;
+    if ((t | 0) != (i | 0)) {
+     continue;
+    }
+   }
+   break;
+  }
+  c = w(n, 3);
+ }
+ o[a | 0] = 0;
+ c = j >>> 0 > c >>> 0;
+ o[a + 1 | 0] = c ? 2 : 1;
+ c : {
+  d : {
+   if (c - 1) {
+    g = a + 2 | 0;
+    if (!HD(b, g, 2)) {
+     break d;
+    }
+    h = f >>> 0 > l >>> 0 ? l : f;
+    c = (h << 24 | h << 8 & 16711680) >>> 16 | 0;
+    o[a + 2 | 0] = c;
+    o[a + 3 | 0] = c >>> 8;
+    c = (h & 65280) >>> 8 | 0;
+    e = h;
+    e : {
+     if (h >>> 0 < 65536) {
+      break e;
+     }
+     e = h;
+     if (!r[b + 20 | 0]) {
+      break e;
+     }
+     o[b + 20 | 0] = 0;
+     c = r[a + 2 | 0];
+     e = r[a + 3 | 0];
+    }
+    if (!HD(b, g, ((c & 255) << 9 | (e & 255) << 1) + 2 | 0)) {
+     break d;
+    }
+    v = 1;
+    if (!h) {
+     break d;
+    }
+    c = 0;
+    while (1) {
+     e = (c << 1) + a | 0;
+     b = f ? k : 271040;
+     b = r[b | 0] | r[b + 1 | 0] << 8;
+     o[e + 4 | 0] = b;
+     o[e + 5 | 0] = b >>> 8;
+     b = (f | 0) != 0;
+     f = f - b | 0;
+     k = (b << 1) + k | 0;
+     c = c + 1 | 0;
+     if ((h | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+    break d;
+   }
+   if (!HD(b, a, 4)) {
+    break d;
+   }
+   if (!f | !l) {
+    break c;
+   }
+   j = 0;
+   m = -2;
+   e = l;
+   n = h;
+   c = f;
+   g = k;
+   while (1) {
+    f : {
+     i = m + 1 | 0;
+     d = c ? g : 271040;
+     d = r[d | 0] | r[d + 1 | 0] << 8;
+     m = (d << 24 | d << 8 & 16711680) >>> 16 | 0;
+     j = ((i | 0) != (m | 0)) + j | 0;
+     d = (e | 0) != 0;
+     n = (d << 1) + n | 0;
+     if ((t | 0) == (n | 0)) {
+      break f;
+     }
+     e = e - d | 0;
+     d = (c | 0) != 0;
+     g = (d << 1) + g | 0;
+     c = c - d | 0;
+     if (c | (g | 0) != (s | 0)) {
+      continue;
+     }
+    }
+    break;
+   }
+   e = a + 2 | 0;
+   if (!HD(b, e, 2)) {
+    return 0;
+   }
+   c = (j << 8 & 16711680 | j << 24) >>> 16 | 0;
+   o[a + 2 | 0] = c;
+   o[a + 3 | 0] = c >>> 8;
+   c = (j & 65280) >>> 8 | 0;
+   if (!(!r[b + 20 | 0] | j >>> 0 < 65536)) {
+    o[b + 20 | 0] = 0;
+    j = r[a + 3 | 0];
+    c = r[a + 2 | 0];
+   }
+   if (!HD(b, e, w(j & 255 | (c & 255) << 8, 6) + 2 | 0)) {
+    break d;
+   }
+   e = -2;
+   c = -1;
+   g = 0;
+   while (1) {
+    d = e + 1 | 0;
+    b = f ? k : 271040;
+    i = r[b | 0] | r[b + 1 | 0] << 8;
+    e = (i << 24 | i << 8 & 16711680) >>> 16 | 0;
+    if ((d | 0) != (e | 0)) {
+     c = c + 1 | 0;
+     g : {
+      if ((r[a + 3 | 0] | r[a + 2 | 0] << 8) >>> 0 <= c >>> 0) {
+       p[321314] = r[271436] | r[271437] << 8;
+       q[160656] = r[271432] | r[271433] << 8 | (r[271434] << 16 | r[271435] << 24);
+       b = 642624;
+       break g;
+      }
+      b = (w(c, 6) + a | 0) + 4 | 0;
+     }
+     o[b | 0] = i;
+     o[b + 1 | 0] = i >>> 8;
+     h : {
+      if ((r[a + 3 | 0] | r[a + 2 | 0] << 8) >>> 0 <= c >>> 0) {
+       p[321314] = r[271436] | r[271437] << 8;
+       q[160656] = r[271432] | r[271433] << 8 | (r[271434] << 16 | r[271435] << 24);
+       d = 642624;
+       break h;
+      }
+      d = (w(c, 6) + a | 0) + 4 | 0;
+     }
+     b = (g << 8 & 16711680 | g << 24) >>> 16 | 0;
+     o[d + 4 | 0] = b;
+     o[d + 5 | 0] = b >>> 8;
+    }
+    i : {
+     if ((r[a + 3 | 0] | r[a + 2 | 0] << 8) >>> 0 <= c >>> 0) {
+      p[321314] = r[271436] | r[271437] << 8;
+      q[160656] = r[271432] | r[271433] << 8 | (r[271434] << 16 | r[271435] << 24);
+      b = 642624;
+      break i;
+     }
+     b = (w(c, 6) + a | 0) + 4 | 0;
+    }
+    o[b + 2 | 0] = i;
+    o[b + 3 | 0] = i >>> 8;
+    v = 1;
+    b = (l | 0) != 0;
+    h = (b << 1) + h | 0;
+    if ((t | 0) == (h | 0)) {
+     break d;
+    }
+    g = g + 1 | 0;
+    l = l - b | 0;
+    b = (f | 0) != 0;
+    f = f - b | 0;
+    k = (b << 1) + k | 0;
+    if (f | (s | 0) != (k | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  return v;
+ }
+ o[a + 2 | 0] = 0;
+ o[a + 3 | 0] = 0;
+ return 1;
+}
+function gz(a, b) {
+ var c = 0, d = 0, e = 0, h = 0, i = 0, j = 0, k = 0;
+ c = Ca - 96 | 0;
+ Ca = c;
+ a : {
+  if (q[a + 24 >> 2] == 13) {
+   d = q[a + 140 >> 2];
+   q[c + 88 >> 2] = q[a + 136 >> 2];
+   q[c + 92 >> 2] = d;
+   d = q[a + 132 >> 2];
+   q[c + 80 >> 2] = q[a + 128 >> 2];
+   q[c + 84 >> 2] = d;
+   b : {
+    c : {
+     i = q[a + 32 >> 2];
+     d : {
+      if (!i) {
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break d;
+      }
+      d = q[a + 36 >> 2];
+      if ((i | 0) != 1) {
+       break c;
+      }
+     }
+     e = q[67761];
+     j = q[67760];
+     q[160656] = j;
+     q[160657] = e;
+     f(0, j | 0);
+     f(1, e | 0);
+     h = +g();
+     break b;
+    }
+    h = v[d + 8 >> 3];
+   }
+   k = v[d >> 3];
+   v[c + 88 >> 3] = v[c + 88 >> 3] + h;
+   v[c + 80 >> 3] = k + v[c + 80 >> 3];
+   d = q[c + 92 >> 2];
+   q[c + 72 >> 2] = q[c + 88 >> 2];
+   q[c + 76 >> 2] = d;
+   d = q[c + 84 >> 2];
+   q[c + 64 >> 2] = q[c + 80 >> 2];
+   q[c + 68 >> 2] = d;
+   e : {
+    f : {
+     g : {
+      if (i >>> 0 <= 2) {
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break g;
+      }
+      e = q[a + 36 >> 2];
+      d = e + 16 | 0;
+      if ((i | 0) != 3) {
+       break f;
+      }
+     }
+     e = q[67761];
+     j = q[67760];
+     q[160656] = j;
+     q[160657] = e;
+     f(0, j | 0);
+     f(1, e | 0);
+     h = +g();
+     break e;
+    }
+    h = v[e + 24 >> 3];
+   }
+   k = v[d >> 3];
+   v[c + 72 >> 3] = v[c + 72 >> 3] + h;
+   v[c + 64 >> 3] = k + v[c + 64 >> 3];
+   d = q[c + 76 >> 2];
+   q[c + 56 >> 2] = q[c + 72 >> 2];
+   q[c + 60 >> 2] = d;
+   d = q[c + 68 >> 2];
+   q[c + 48 >> 2] = q[c + 64 >> 2];
+   q[c + 52 >> 2] = d;
+   h : {
+    i : {
+     j : {
+      if (i >>> 0 <= 4) {
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break j;
+      }
+      e = q[a + 36 >> 2];
+      d = e + 32 | 0;
+      if ((i | 0) != 5) {
+       break i;
+      }
+     }
+     e = q[67761];
+     j = q[67760];
+     q[160656] = j;
+     q[160657] = e;
+     f(0, j | 0);
+     f(1, e | 0);
+     h = +g();
+     break h;
+    }
+    h = v[e + 40 >> 3];
+   }
+   k = v[d >> 3];
+   v[c + 56 >> 3] = v[c + 56 >> 3] + h;
+   v[c + 48 >> 3] = k + v[c + 48 >> 3];
+   d = q[c + 60 >> 2];
+   q[c + 40 >> 2] = q[c + 56 >> 2];
+   q[c + 44 >> 2] = d;
+   d = q[c + 52 >> 2];
+   q[c + 32 >> 2] = q[c + 48 >> 2];
+   q[c + 36 >> 2] = d;
+   k : {
+    l : {
+     m : {
+      if (i >>> 0 <= 6) {
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break m;
+      }
+      e = q[a + 36 >> 2];
+      d = e + 48 | 0;
+      if ((i | 0) != 7) {
+       break l;
+      }
+     }
+     e = q[67761];
+     j = q[67760];
+     q[160656] = j;
+     q[160657] = e;
+     f(0, j | 0);
+     f(1, e | 0);
+     h = +g();
+     break k;
+    }
+    h = v[e + 56 >> 3];
+   }
+   k = v[d >> 3];
+   v[c + 40 >> 3] = v[c + 40 >> 3] + h;
+   v[c + 32 >> 3] = k + v[c + 32 >> 3];
+   d = q[c + 44 >> 2];
+   q[c + 24 >> 2] = q[c + 40 >> 2];
+   q[c + 28 >> 2] = d;
+   d = q[c + 36 >> 2];
+   q[c + 16 >> 2] = q[c + 32 >> 2];
+   q[c + 20 >> 2] = d;
+   n : {
+    o : {
+     p : {
+      if (i >>> 0 <= 8) {
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break p;
+      }
+      e = q[a + 36 >> 2];
+      d = e - -64 | 0;
+      if ((i | 0) != 9) {
+       break o;
+      }
+     }
+     e = q[67761];
+     j = q[67760];
+     q[160656] = j;
+     q[160657] = e;
+     f(0, j | 0);
+     f(1, e | 0);
+     h = +g();
+     break n;
+    }
+    h = v[e + 72 >> 3];
+   }
+   k = v[d >> 3];
+   v[c + 24 >> 3] = v[c + 24 >> 3] + h;
+   v[c + 16 >> 3] = k + v[c + 16 >> 3];
+   d = q[c + 28 >> 2];
+   q[c + 8 >> 2] = q[c + 24 >> 2];
+   q[c + 12 >> 2] = d;
+   d = q[c + 20 >> 2];
+   q[c >> 2] = q[c + 16 >> 2];
+   q[c + 4 >> 2] = d;
+   q : {
+    r : {
+     s : {
+      if (i >>> 0 <= 10) {
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break s;
+      }
+      e = q[a + 36 >> 2];
+      d = e + 80 | 0;
+      if ((i | 0) != 11) {
+       break r;
+      }
+     }
+     i = q[67761];
+     e = q[67760];
+     q[160656] = e;
+     q[160657] = i;
+     f(0, e | 0);
+     f(1, i | 0);
+     h = +g();
+     break q;
+    }
+    h = v[e + 88 >> 3];
+   }
+   k = v[d >> 3];
+   v[c + 8 >> 3] = v[c + 8 >> 3] + h;
+   v[c >> 3] = k + v[c >> 3];
+   uz(a, b, c + 80 | 0, c - -64 | 0, c + 48 | 0);
+   uz(a, b, c + 32 | 0, c + 16 | 0, c);
+   break a;
+  }
+  o[a + 40 | 0] = 1;
+ }
+ Ca = c + 96 | 0;
+}
+function de(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0, u = 0;
+ e = a;
+ a : {
+  b : {
+   while (1) {
+    c : {
+     d : {
+      c = o[e | 0];
+      if (c + -9 >>> 0 < 4 | (c | 0) == 32) {
+       break d;
+      }
+      c = c & 255;
+      if ((c | 0) == 13) {
+       break d;
+      }
+      c = c + -43 | 0;
+      if (c >>> 0 > 2) {
+       break a;
+      }
+      switch (c - 1 | 0) {
+      case 0:
+       break a;
+      case 1:
+       break c;
+      default:
+       break b;
+      }
+     }
+     e = e + 1 | 0;
+     continue;
+    }
+    break;
+   }
+   u = 1;
+   e = e + 1 | 0;
+   break a;
+  }
+  e = e + 1 | 0;
+ }
+ c = 0;
+ g = -1;
+ d = -1;
+ while (1) {
+  e : {
+   k = o[e | 0];
+   f : {
+    if (k + -48 >>> 0 >= 10) {
+     if ((g | 0) != -1 | (k | 0) != 46) {
+      break e;
+     }
+     g = c;
+     break f;
+    }
+    d = (d | 0) == -1 ? (k | 0) != 48 ? c : d : d;
+   }
+   c = c + 1 | 0;
+   e = e + 1 | 0;
+   continue;
+  }
+  break;
+ }
+ f = (d | 0) == -1 ? c : d;
+ d = f - (g >>> 0 < f >>> 0) | 0;
+ h = c - ((g | 0) != -1) | 0;
+ h = h - d >>> 0 > 18 ? d + 18 | 0 : h;
+ m = 0;
+ g : {
+  if (!h) {
+   break g;
+  }
+  l = k & 255;
+  a = (g | 0) == -1 ? c : g;
+  k = a >>> 0 < h >>> 0;
+  s = a - h | 0;
+  t = h - a | 0;
+  c = (f - c | 0) + e | 0;
+  h = h - d | 0;
+  h : {
+   i : {
+    if ((h | 0) > 9) {
+     a = 0;
+     d = h;
+     while (1) {
+      j = r[c | 0];
+      f = c + 1 | 0;
+      j : {
+       if ((j | 0) != 46) {
+        break j;
+       }
+       j = r[c + 1 | 0];
+       f = c + 2 | 0;
+      }
+      c = f;
+      a = (w(a, 10) + (j << 24 >> 24) | 0) + -48 | 0;
+      f = (d | 0) > 10;
+      d = d + -1 | 0;
+      if (f) {
+       continue;
+      }
+      break;
+     }
+     d = 9;
+     break i;
+    }
+    a = 0;
+    g = 0;
+    d = h;
+    if ((d | 0) < 1) {
+     break h;
+    }
+   }
+   g = 0;
+   while (1) {
+    j = r[c | 0];
+    f = c + 1 | 0;
+    k : {
+     if ((j | 0) != 46) {
+      break k;
+     }
+     j = r[c + 1 | 0];
+     f = c + 2 | 0;
+    }
+    c = f;
+    g = (w(g, 10) + (j << 24 >> 24) | 0) + -48 | 0;
+    f = (d | 0) > 1;
+    d = d + -1 | 0;
+    if (f) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = k ? t : s;
+  n = +(a | 0) * 1e9 + +(g | 0);
+  l : {
+   m : {
+    n : {
+     if ((l | 32) != 101) {
+      f = k;
+      a = e;
+      break n;
+     }
+     d = e + 1 | 0;
+     f = 0;
+     a = r[e + 1 | 0] + -43 | 0;
+     o : {
+      if (a >>> 0 > 2) {
+       break o;
+      }
+      p : {
+       switch (a - 1 | 0) {
+       case 1:
+        d = e + 2 | 0;
+        f = 1;
+        break o;
+       case 0:
+        break o;
+       default:
+        break p;
+       }
+      }
+      d = e + 2 | 0;
+     }
+     s = (f | 0) != (k | 0);
+     q : {
+      if (!s) {
+       a = 0;
+       if (c >>> 0 > 511) {
+        break q;
+       }
+       a = ((511 - c & 65535) >>> 0) / 10 | 0;
+       break q;
+      }
+      a = (c >>> 0) / 10 | 0;
+      a = ((((c - w(a, 10) | 0) + 511 & 65535) >>> 0) / 10 | 0) + a | 0;
+     }
+     t = a;
+     g = 0;
+     j = o[d | 0];
+     l = j + -48 | 0;
+     r : {
+      if (l >>> 0 > 9) {
+       a = d;
+       break r;
+      }
+      e = 0;
+      while (1) {
+       if (!(g ? 0 : e >>> 0 <= t >>> 0)) {
+        while (1) {
+         c = o[d + 1 | 0];
+         a = d + 1 | 0;
+         d = a;
+         if (c + -48 >>> 0 <= 9) {
+          continue;
+         }
+         break m;
+        }
+       }
+       g = e >>> 0 > (47 - j >>> 0) / 10 >>> 0;
+       j = o[d + 1 | 0];
+       p = w(e, 10) + l | 0;
+       e = p;
+       a = d + 1 | 0;
+       d = a;
+       l = j + -48 | 0;
+       if (l >>> 0 < 10) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (s) {
+      if (!(g ? 0 : c >>> 0 > p >>> 0)) {
+       c = p - c | 0;
+       break n;
+      }
+      c = c - p | 0;
+     } else {
+      c = c + p | 0;
+     }
+     f = k;
+    }
+    if (c >>> 0 < 512) {
+     break l;
+    }
+   }
+   c = 511;
+   if (n == 0) {
+    break l;
+   }
+   q[160854] = 68;
+  }
+  e = 3600;
+  if (!(!f | c >>> 0 < 309)) {
+   i = 1;
+   if (h) {
+    d = 3600;
+    e = h;
+    while (1) {
+     i = e & 1 ? i * v[d >> 3] : i;
+     d = d + 8 | 0;
+     e = e >>> 1 | 0;
+     if (e) {
+      continue;
+     }
+     break;
+    }
+   }
+   n = n / i;
+   e = 3680;
+   f = 0;
+   c = c - h | 0;
+  }
+  i = 1;
+  if (c) {
+   while (1) {
+    i = c & 1 ? i * v[e >> 3] : i;
+    e = e + 8 | 0;
+    c = c >>> 1 | 0;
+    if (c) {
+     continue;
+    }
+    break;
+   }
+  }
+  m = n / i;
+  if (f) {
+   break g;
+  }
+  m = n * i;
+ }
+ i = m;
+ if (b) {
+  q[b >> 2] = a;
+ }
+ return u ? -i : i;
+}
+function KU(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = -1;
+ f = c - b | 0;
+ a : {
+  if ((f | 0) < 2) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        g = r[b | 0];
+        e = g + -216 | 0;
+        if (e >>> 0 > 39) {
+         if (g) {
+          break f;
+         }
+         e = r[b + 1 | 0];
+         i = r[(e + a | 0) + 72 | 0] + -5 | 0;
+         if (i >>> 0 > 25) {
+          break d;
+         }
+         h : {
+          switch (i - 1 | 0) {
+          case 0:
+           h = -2;
+           if ((f | 0) >= 3) {
+            break d;
+           }
+           break a;
+          case 16:
+          case 18:
+           break c;
+          case 23:
+           break e;
+          case 1:
+           break g;
+          case 3:
+          case 4:
+          case 15:
+          case 24:
+           break h;
+          default:
+           break d;
+          }
+         }
+         q[d >> 2] = b;
+         return 22;
+        }
+        i : {
+         switch (e - 4 | 0) {
+         case 35:
+          break i;
+         case 0:
+         case 1:
+         case 2:
+         case 3:
+          break d;
+         case 4:
+         case 5:
+         case 6:
+         case 7:
+         case 8:
+         case 9:
+         case 10:
+         case 11:
+         case 12:
+         case 13:
+         case 14:
+         case 15:
+         case 16:
+         case 17:
+         case 18:
+         case 19:
+         case 20:
+         case 21:
+         case 22:
+         case 23:
+         case 24:
+         case 25:
+         case 26:
+         case 27:
+         case 28:
+         case 29:
+         case 30:
+         case 31:
+         case 32:
+         case 33:
+         case 34:
+          break f;
+         default:
+          break g;
+         }
+        }
+        e = r[b + 1 | 0];
+        if (e >>> 0 <= 253) {
+         break e;
+        }
+        break d;
+       }
+       h = -2;
+       if ((f | 0) >= 4) {
+        break d;
+       }
+       break a;
+      }
+      e = r[b + 1 | 0];
+     }
+     if (q[(e >>> 3 & 28 | r[g + 492208 | 0] << 5) + 490192 >> 2] >>> (e & 31) & 1) {
+      break c;
+     }
+    }
+    q[d >> 2] = b;
+    break b;
+   }
+   e = b + 2 | 0;
+   f = c - e | 0;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   i = a + 72 | 0;
+   while (1) {
+    j : {
+     k : {
+      l : {
+       m : {
+        n : {
+         g = r[b + 2 | 0];
+         a = g + -216 | 0;
+         if (a >>> 0 > 39) {
+          if (g) {
+           break m;
+          }
+          a = r[b + 3 | 0];
+          j = r[i + a | 0] + -5 | 0;
+          if (j >>> 0 > 24) {
+           break j;
+          }
+          o : {
+           switch (j - 1 | 0) {
+           case 0:
+            h = -2;
+            if ((f | 0) >= 3) {
+             break j;
+            }
+            break a;
+           case 16:
+           case 18:
+           case 19:
+           case 20:
+           case 21:
+            break k;
+           case 23:
+            break l;
+           case 1:
+            break n;
+           case 12:
+            break o;
+           default:
+            break j;
+           }
+          }
+          q[d >> 2] = b + 4;
+          return 28;
+         }
+         p : {
+          switch (a - 4 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+           break j;
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 28:
+          case 29:
+          case 30:
+          case 31:
+          case 32:
+          case 33:
+          case 34:
+           break m;
+          case 35:
+           break p;
+          default:
+           break n;
+          }
+         }
+         a = r[b + 3 | 0];
+         if (a >>> 0 <= 253) {
+          break l;
+         }
+         break j;
+        }
+        h = -2;
+        if ((f | 0) >= 4) {
+         break j;
+        }
+        break a;
+       }
+       a = r[b + 3 | 0];
+      }
+      if (!(q[(a >>> 3 & 28 | r[g + 492464 | 0] << 5) + 490192 >> 2] >>> (a & 31) & 1)) {
+       break j;
+      }
+     }
+     b = e;
+     e = b + 2 | 0;
+     f = c - e | 0;
+     if ((f | 0) > 1) {
+      continue;
+     }
+     break a;
+    }
+    break;
+   }
+   q[d >> 2] = e;
+  }
+  h = 0;
+ }
+ return h;
+}
+function oU(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = -1;
+ f = c - b | 0;
+ a : {
+  if ((f | 0) < 2) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        g = r[b + 1 | 0];
+        e = g + -216 | 0;
+        if (e >>> 0 > 39) {
+         if (g) {
+          break f;
+         }
+         e = r[b | 0];
+         i = r[(e + a | 0) + 72 | 0] + -5 | 0;
+         if (i >>> 0 > 25) {
+          break d;
+         }
+         h : {
+          switch (i - 1 | 0) {
+          case 0:
+           h = -2;
+           if ((f | 0) >= 3) {
+            break d;
+           }
+           break a;
+          case 16:
+          case 18:
+           break c;
+          case 23:
+           break e;
+          case 1:
+           break g;
+          case 3:
+          case 4:
+          case 15:
+          case 24:
+           break h;
+          default:
+           break d;
+          }
+         }
+         q[d >> 2] = b;
+         return 22;
+        }
+        i : {
+         switch (e - 4 | 0) {
+         case 35:
+          break i;
+         case 0:
+         case 1:
+         case 2:
+         case 3:
+          break d;
+         case 4:
+         case 5:
+         case 6:
+         case 7:
+         case 8:
+         case 9:
+         case 10:
+         case 11:
+         case 12:
+         case 13:
+         case 14:
+         case 15:
+         case 16:
+         case 17:
+         case 18:
+         case 19:
+         case 20:
+         case 21:
+         case 22:
+         case 23:
+         case 24:
+         case 25:
+         case 26:
+         case 27:
+         case 28:
+         case 29:
+         case 30:
+         case 31:
+         case 32:
+         case 33:
+         case 34:
+          break f;
+         default:
+          break g;
+         }
+        }
+        e = r[b | 0];
+        if (e >>> 0 <= 253) {
+         break e;
+        }
+        break d;
+       }
+       h = -2;
+       if ((f | 0) >= 4) {
+        break d;
+       }
+       break a;
+      }
+      e = r[b | 0];
+     }
+     if (q[(e >>> 3 & 28 | r[g + 492208 | 0] << 5) + 490192 >> 2] >>> (e & 31) & 1) {
+      break c;
+     }
+    }
+    q[d >> 2] = b;
+    break b;
+   }
+   e = b + 2 | 0;
+   f = c - e | 0;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   i = a + 72 | 0;
+   while (1) {
+    j : {
+     k : {
+      l : {
+       m : {
+        n : {
+         g = r[b + 3 | 0];
+         a = g + -216 | 0;
+         if (a >>> 0 > 39) {
+          if (g) {
+           break m;
+          }
+          a = r[e | 0];
+          j = r[i + a | 0] + -5 | 0;
+          if (j >>> 0 > 24) {
+           break j;
+          }
+          o : {
+           switch (j - 1 | 0) {
+           case 0:
+            h = -2;
+            if ((f | 0) >= 3) {
+             break j;
+            }
+            break a;
+           case 16:
+           case 18:
+           case 19:
+           case 20:
+           case 21:
+            break k;
+           case 23:
+            break l;
+           case 1:
+            break n;
+           case 12:
+            break o;
+           default:
+            break j;
+           }
+          }
+          q[d >> 2] = b + 4;
+          return 28;
+         }
+         p : {
+          switch (a - 4 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+           break j;
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 28:
+          case 29:
+          case 30:
+          case 31:
+          case 32:
+          case 33:
+          case 34:
+           break m;
+          case 35:
+           break p;
+          default:
+           break n;
+          }
+         }
+         a = r[e | 0];
+         if (a >>> 0 <= 253) {
+          break l;
+         }
+         break j;
+        }
+        h = -2;
+        if ((f | 0) >= 4) {
+         break j;
+        }
+        break a;
+       }
+       a = r[e | 0];
+      }
+      if (!(q[(a >>> 3 & 28 | r[g + 492464 | 0] << 5) + 490192 >> 2] >>> (a & 31) & 1)) {
+       break j;
+      }
+     }
+     b = e;
+     e = e + 2 | 0;
+     f = c - e | 0;
+     if ((f | 0) > 1) {
+      continue;
+     }
+     break a;
+    }
+    break;
+   }
+   q[d >> 2] = e;
+  }
+  h = 0;
+ }
+ return h;
+}
+function Pr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ sG(q[a + 4 >> 2]);
+ d = q[a + 4 >> 2];
+ q[d + 72 >> 2] = 0;
+ a : {
+  if (!r[d + 68 | 0]) {
+   break a;
+  }
+  while (1) {
+   e = 0;
+   b : {
+    if (c >>> 0 >= t[d + 76 >> 2]) {
+     break b;
+    }
+    f = q[q[d + 88 >> 2] + w(c, 20) >> 2];
+    e = 2;
+    if ((f | 0) == 65535) {
+     break b;
+    }
+    c = q[a >> 2];
+    d = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+    c = Kr((d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24)) + c | 0, f, q[a + 8 >> 2]);
+    e = 1;
+    if (!c) {
+     break b;
+    }
+    e = r[c + 1 | 0] | r[c | 0] << 8;
+   }
+   c = q[a >> 2];
+   d = r[c + 12 | 0] | r[c + 13 | 0] << 8 | (r[c + 14 | 0] << 16 | r[c + 15 | 0] << 24);
+   i = (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + c | 0;
+   d = r[c + 8 | 0] | r[c + 9 | 0] << 8 | (r[c + 10 | 0] << 16 | r[c + 11 | 0] << 24);
+   d = c + (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) | 0;
+   c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+   c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+   c = d + ((c >>> 0 > e >>> 0 ? e : 1) + w(c, h) << 1) | 0;
+   f = i + w(r[c | 0] << 8 | r[c + 1 | 0], 6) | 0;
+   c : {
+    if (!h) {
+     break c;
+    }
+    c = q[a + 4 >> 2];
+    d = q[(r[c + 69 | 0] ? 80 : 72) + c >> 2];
+    if (!d) {
+     break c;
+    }
+    e = q[c + 72 >> 2];
+    if (e >>> 0 >= t[c + 76 >> 2]) {
+     break c;
+    }
+    g = r[f + 2 | 0];
+    if ((r[f + 3 | 0] | g << 8) == 16384 ? !(g & 32 | (r[f + 1 | 0] | r[f | 0] << 8)) : 0) {
+     break c;
+    }
+    EG(c, d + -1 | 0, e + 1 | 0);
+   }
+   e = q[a + 4 >> 2];
+   g = q[e + 72 >> 2];
+   j = g + 2 | 0;
+   d : {
+    if (j >>> 0 > t[e + 76 >> 2]) {
+     break d;
+    }
+    c = q[a >> 2];
+    d = r[c + 12 | 0] | r[c + 13 | 0] << 8 | (r[c + 14 | 0] << 16 | r[c + 15 | 0] << 24);
+    i = (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + c | 0;
+    d = r[c + 8 | 0] | r[c + 9 | 0] << 8 | (r[c + 10 | 0] << 16 | r[c + 11 | 0] << 24);
+    d = c + (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) | 0;
+    c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+    c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    c = d + (w(c, h) + !c << 1) | 0;
+    if (!(r[(i + w(r[c | 0] << 8 | r[c + 1 | 0], 6) | 0) + 2 | 0] & 32)) {
+     break d;
+    }
+    DG(e, g, j);
+   }
+   Qr(b, a, f);
+   d = q[a + 4 >> 2];
+   e = q[d + 72 >> 2];
+   if ((e | 0) != q[d + 76 >> 2]) {
+    h = r[f | 0];
+    g = r[f + 1 | 0];
+    e : {
+     if (r[f + 2 | 0] & 64) {
+      c = q[d + 40 >> 2];
+      q[d + 40 >> 2] = c + -1;
+      if ((c | 0) > 0) {
+       break e;
+      }
+     }
+     if (r[d + 69 | 0]) {
+      f : {
+       if (q[d + 92 >> 2] == q[d + 88 >> 2]) {
+        c = e;
+        if ((c | 0) == q[d + 80 >> 2]) {
+         break f;
+        }
+       }
+       if (!pG(d, 1, 1)) {
+        break e;
+       }
+       e = q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) | 0;
+       f = q[e + 4 >> 2];
+       c = q[d + 92 >> 2] + w(q[d + 80 >> 2], 20) | 0;
+       q[c >> 2] = q[e >> 2];
+       q[c + 4 >> 2] = f;
+       q[c + 16 >> 2] = q[e + 16 >> 2];
+       f = q[e + 12 >> 2];
+       q[c + 8 >> 2] = q[e + 8 >> 2];
+       q[c + 12 >> 2] = f;
+       e = q[d + 72 >> 2];
+       c = q[d + 80 >> 2];
+      }
+      q[d + 80 >> 2] = c + 1;
+     }
+     q[d + 72 >> 2] = e + 1;
+    }
+    d = q[a + 4 >> 2];
+    if (!r[d + 68 | 0]) {
+     break a;
+    }
+    h = g | h << 8;
+    c = q[d + 72 >> 2];
+    continue;
+   }
+   break;
+  }
+  if (!r[d + 68 | 0]) {
+   break a;
+  }
+  while (1) {
+   c = q[d + 72 >> 2];
+   if (c >>> 0 >= t[d + 76 >> 2]) {
+    break a;
+   }
+   g : {
+    if (r[d + 69 | 0]) {
+     e = d;
+     h : {
+      if (q[d + 92 >> 2] == q[d + 88 >> 2]) {
+       b = c;
+       if (q[d + 80 >> 2] == (c | 0)) {
+        break h;
+       }
+      }
+      if (!pG(d, 1, 1)) {
+       break g;
+      }
+      c = q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) | 0;
+      f = q[c + 4 >> 2];
+      b = q[d + 92 >> 2] + w(q[d + 80 >> 2], 20) | 0;
+      q[b >> 2] = q[c >> 2];
+      q[b + 4 >> 2] = f;
+      q[b + 16 >> 2] = q[c + 16 >> 2];
+      f = q[c + 12 >> 2];
+      q[b + 8 >> 2] = q[c + 8 >> 2];
+      q[b + 12 >> 2] = f;
+      c = q[d + 72 >> 2];
+      b = q[d + 80 >> 2];
+     }
+     q[e + 80 >> 2] = b + 1;
+    }
+    q[d + 72 >> 2] = c + 1;
+   }
+   d = q[a + 4 >> 2];
+   if (r[d + 68 | 0]) {
+    continue;
+   }
+   break;
+  }
+ }
+ uG(d);
+}
+function AH(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, r = 0, s = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0;
+ x = Ca - 272 | 0;
+ Ca = x;
+ s = q[b + 4 >> 2];
+ e = q[b + 8 >> 2];
+ q[a + 52 >> 2] = -2147483648;
+ q[a + 56 >> 2] = 0;
+ q[a + 48 >> 2] = e;
+ q[a + 44 >> 2] = s;
+ A = q[b + 52 >> 2];
+ h = q[b + 28 >> 2];
+ f = q[b + 24 >> 2];
+ y = q[b + 44 >> 2];
+ q[c >> 2] = s;
+ q[d >> 2] = e;
+ g = 1;
+ a : {
+  if ((y | 0) < 1 | (f | 0) < 2) {
+   break a;
+  }
+  l = p[h + 12 >> 1];
+  o = l;
+  while (1) {
+   i = p[(h + w(g, 40) | 0) + 12 >> 1];
+   o = (o | 0) < (i | 0) ? i : o;
+   l = (l | 0) > (i | 0) ? i : l;
+   g = g + 1 | 0;
+   if ((f | 0) != (g | 0)) {
+    continue;
+   }
+   break;
+  }
+  if ((o | 0) <= (l | 0)) {
+   break a;
+  }
+  C = a, D = Ee(l, s) + e | 0, q[C >> 2] = D;
+  h = Ee(o, s) + e | 0;
+  q[a + 4 >> 2] = h;
+  e = h & -32;
+  q[a + 24 >> 2] = e;
+  k = q[a >> 2];
+  j = k & -32;
+  q[a + 16 >> 2] = j;
+  q[a + 8 >> 2] = k & -64;
+  t = e + 32 | 0;
+  q[a + 28 >> 2] = t;
+  i = j + 32 | 0;
+  q[a + 20 >> 2] = i;
+  q[a + 12 >> 2] = h + 63 & -64;
+  if ((i | 0) > (h | 0)) {
+   q[a + 20 >> 2] = h;
+   i = h;
+  }
+  if ((e | 0) < (k | 0)) {
+   q[a + 24 >> 2] = k;
+   e = k;
+  }
+  g = h - k | 0;
+  q[a + 32 >> 2] = g;
+  f = a;
+  if ((g | 0) >= 65) {
+   i = e - i | 0;
+  } else {
+   q[a + 24 >> 2] = h;
+   q[a + 20 >> 2] = k;
+   i = g;
+  }
+  q[f + 36 >> 2] = i;
+  e = t - j | 0;
+  q[a + 40 >> 2] = e;
+  j = (g | 0) < 129 ? (g | 0) < 97 ? 4 : 8 : 16;
+  f = g - j | 0;
+  if ((i | 0) < (f | 0)) {
+   q[a + 36 >> 2] = f;
+   i = f;
+  }
+  f = g + j | 0;
+  if ((e | 0) > (f | 0)) {
+   q[a + 40 >> 2] = f;
+   e = f;
+  }
+  f = (w(g, 3) | 0) / 4 | 0;
+  if ((i | 0) < (f | 0)) {
+   q[a + 36 >> 2] = f;
+   i = f;
+  }
+  j = i;
+  f = (w(g, 5) | 0) / 4 | 0;
+  if ((e | 0) > (f | 0)) {
+   q[a + 40 >> 2] = f;
+   e = f;
+  }
+  b : {
+   if ((j | 0) > (e | 0)) {
+    break b;
+   }
+   B = o - l | 0;
+   while (1) {
+    f = (g - i | 0) + k | 0;
+    c : {
+     d : {
+      if ((g | 0) <= (i | 0)) {
+       e = q[a + 16 >> 2];
+       if ((e | 0) <= (f | 0)) {
+        break d;
+       }
+       f = (h - f | 0) + e | 0;
+       break c;
+      }
+      e = q[a + 20 >> 2];
+      if ((e | 0) >= (f | 0)) {
+       break d;
+      }
+      f = (h - f | 0) + e | 0;
+      break c;
+     }
+     e = f;
+     f = h;
+    }
+    t = Fe(i - g | 0, B) + s | 0;
+    u = Ee(l, t);
+    z = Z$(x, 0, 260);
+    m = q[a + 24 >> 2];
+    g = f;
+    j = f - e | 0;
+    f = q[a + 16 >> 2];
+    n = (f + j | 0) < (m | 0) ? m - j | 0 : f;
+    m = q[a + 8 >> 2];
+    f = n - m | 0;
+    e : {
+     if ((f | 0) < 0) {
+      break e;
+     }
+     v = n;
+     n = q[a + 28 >> 2];
+     r = q[a + 20 >> 2];
+     j = (j + r | 0) > (n | 0) ? n - j | 0 : r;
+     if ((v | 0) > (j | 0)) {
+      break e;
+     }
+     j = j - m | 0;
+     if ((j | 0) > 64) {
+      break e;
+     }
+     n = ((g | 0) < (h | 0) ? h - g | 0 : g - h | 0) + ((e | 0) < (k | 0) ? k - e | 0 : e - k | 0) | 0;
+     k = e - u | 0;
+     m = e - m | 0;
+     if ((y | 0) >= 1) {
+      u = (k - m | 0) + f | 0;
+      h = 0;
+      while (1) {
+       e = w(h, 44) + A | 0;
+       r = p[e + 8 >> 1] - p[e + 6 >> 1] | 0;
+       g = Ee(p[e + 2 >> 1], t) + u | 0;
+       e = f;
+       while (1) {
+        v = z + (e << 2) | 0;
+        q[v >> 2] = q[v >> 2] + w(r, q[((g & 63) << 2) + 288768 >> 2]);
+        g = g + 1 | 0;
+        v = (e | 0) < (j | 0);
+        e = e + 1 | 0;
+        if (v) {
+         continue;
+        }
+        break;
+       }
+       h = h + 1 | 0;
+       if ((y | 0) != (h | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     n = w(n, 10);
+     h = q[a + 52 >> 2];
+     while (1) {
+      g = f;
+      r = f - m | 0;
+      u = r + n | 0;
+      e = q[z + (f << 2) >> 2];
+      if (!((e | 0) != (h | 0) | (u | 0) >= q[a + 56 >> 2] ? (e | 0) <= (h | 0) : 0)) {
+       q[a + 56 >> 2] = u;
+       q[a + 52 >> 2] = e;
+       q[a + 44 >> 2] = t;
+       q[a + 48 >> 2] = k + r;
+       h = e;
+      }
+      f = g + 1 | 0;
+      if ((g | 0) < (j | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    if ((i | 0) >= q[a + 40 >> 2]) {
+     break b;
+    }
+    i = i + 1 | 0;
+    g = q[a + 32 >> 2];
+    h = q[a + 4 >> 2];
+    k = q[a >> 2];
+    continue;
+   }
+  }
+  e = q[a + 48 >> 2];
+  a = q[a + 44 >> 2];
+  i = a - s | 0;
+  C = b, D = Ee(l, i) + e | 0, q[C + 2752 >> 2] = D;
+  C = b, D = Ee(o, i) + e | 0, q[C + 2756 >> 2] = D;
+  q[c >> 2] = a;
+  q[d >> 2] = e;
+ }
+ Ca = x + 272 | 0;
+}
+function ik(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ if (a) {
+  i = q[a + 100 >> 2];
+  b = q[a + 540 >> 2];
+  if (b) {
+   n[q[b + 12 >> 2]](a);
+  }
+  c = q[a + 712 >> 2];
+  if (c) {
+   f = q[c + 8 >> 2];
+   d = q[c + 108 >> 2];
+   if (d) {
+    b = c + 108 | 0;
+    g = q[d + 28 >> 2];
+    e = c + 140 | 0;
+    if (q[e >> 2]) {
+     Lg(d, e);
+    }
+    Qe(g, q[c + 136 >> 2]);
+    q[b + 32 >> 2] = 0;
+    q[b + 24 >> 2] = 0;
+    q[b + 28 >> 2] = 0;
+    q[b + 16 >> 2] = 0;
+    q[b + 20 >> 2] = 0;
+    q[b + 8 >> 2] = 0;
+    q[b + 12 >> 2] = 0;
+    q[b >> 2] = 0;
+    q[b + 4 >> 2] = 0;
+   }
+   d = q[c + 1240 >> 2];
+   if (d) {
+    b = c + 1240 | 0;
+    g = q[d + 28 >> 2];
+    e = c + 1272 | 0;
+    if (q[e >> 2]) {
+     Lg(d, e);
+    }
+    Qe(g, q[c + 1268 >> 2]);
+    q[b + 32 >> 2] = 0;
+    q[b + 24 >> 2] = 0;
+    q[b + 28 >> 2] = 0;
+    q[b + 16 >> 2] = 0;
+    q[b + 20 >> 2] = 0;
+    q[b + 8 >> 2] = 0;
+    q[b + 12 >> 2] = 0;
+    q[b >> 2] = 0;
+    q[b + 4 >> 2] = 0;
+   }
+   d = q[c + 36 >> 2];
+   if (d) {
+    b = c + 36 | 0;
+    g = q[d + 28 >> 2];
+    e = c + 68 | 0;
+    if (q[e >> 2]) {
+     Lg(d, e);
+    }
+    Qe(g, q[c - -64 >> 2]);
+    q[b + 32 >> 2] = 0;
+    q[b + 24 >> 2] = 0;
+    q[b + 28 >> 2] = 0;
+    q[b + 16 >> 2] = 0;
+    q[b + 20 >> 2] = 0;
+    q[b + 8 >> 2] = 0;
+    q[b + 12 >> 2] = 0;
+    q[b >> 2] = 0;
+    q[b + 4 >> 2] = 0;
+   }
+   d = q[c + 1204 >> 2];
+   if (d) {
+    b = c + 1204 | 0;
+    g = q[d + 28 >> 2];
+    e = c + 1236 | 0;
+    if (q[e >> 2]) {
+     Lg(d, e);
+    }
+    Qe(g, q[c + 1232 >> 2]);
+    q[b + 32 >> 2] = 0;
+    q[b + 24 >> 2] = 0;
+    q[b + 28 >> 2] = 0;
+    q[b + 16 >> 2] = 0;
+    q[b + 20 >> 2] = 0;
+    q[b + 8 >> 2] = 0;
+    q[b + 12 >> 2] = 0;
+    q[b >> 2] = 0;
+    q[b + 4 >> 2] = 0;
+   }
+   b = q[c + 2024 >> 2];
+   if (b) {
+    g = 0;
+    while (1) {
+     d = q[((g << 2) + c | 0) + 2028 >> 2];
+     if (d) {
+      e = q[d + 608 >> 2];
+      if (e) {
+       b = d + 608 | 0;
+       j = q[e + 28 >> 2];
+       h = d + 640 | 0;
+       if (q[h >> 2]) {
+        Lg(e, h);
+       }
+       Qe(j, q[d + 636 >> 2]);
+       q[b + 32 >> 2] = 0;
+       q[b + 24 >> 2] = 0;
+       q[b + 28 >> 2] = 0;
+       q[b + 16 >> 2] = 0;
+       q[b + 20 >> 2] = 0;
+       q[b + 8 >> 2] = 0;
+       q[b + 12 >> 2] = 0;
+       q[b >> 2] = 0;
+       q[b + 4 >> 2] = 0;
+      }
+      Qe(f, q[d + 644 >> 2]);
+      q[d + 644 >> 2] = 0;
+      b = d + 572 | 0;
+      Qe(f, q[b >> 2]);
+      q[b >> 2] = 0;
+      b = d + 580 | 0;
+      Qe(f, q[b >> 2]);
+      q[b >> 2] = 0;
+      Qe(f, q[d + 592 >> 2]);
+      q[d + 592 >> 2] = 0;
+      b = q[c + 2024 >> 2];
+     }
+     g = g + 1 | 0;
+     if (g >>> 0 < b >>> 0) {
+      continue;
+     }
+     break;
+    }
+    Qe(f, q[c + 2028 >> 2]);
+    q[c + 2028 >> 2] = 0;
+   }
+   q[c + 144 >> 2] = 0;
+   q[c + 148 >> 2] = 0;
+   q[c + 152 >> 2] = 0;
+   d = q[q[c + 4 >> 2] + 28 >> 2];
+   b = c + 1192 | 0;
+   Qe(d, q[b >> 2]);
+   q[b >> 2] = 0;
+   q[b + 4 >> 2] = 0;
+   b = c + 1188 | 0;
+   Qe(d, q[b >> 2]);
+   q[c + 1180 >> 2] = 0;
+   q[c + 1184 >> 2] = 0;
+   q[b >> 2] = 0;
+   gk(c + 3112 | 0, f);
+   b = c + 1980 | 0;
+   d = q[b >> 2];
+   if (d) {
+    g = q[d + 28 >> 2];
+    e = c + 2012 | 0;
+    if (q[e >> 2]) {
+     Lg(d, e);
+    }
+    Qe(g, q[c + 2008 >> 2]);
+    q[b + 32 >> 2] = 0;
+    q[b + 24 >> 2] = 0;
+    q[b + 28 >> 2] = 0;
+    q[b + 16 >> 2] = 0;
+    q[b + 20 >> 2] = 0;
+    q[b + 8 >> 2] = 0;
+    q[b + 12 >> 2] = 0;
+    q[b >> 2] = 0;
+    q[b + 4 >> 2] = 0;
+   }
+   b = c + 2016 | 0;
+   Qe(f, q[b >> 2]);
+   q[b >> 2] = 0;
+   b = c + 1944 | 0;
+   Qe(f, q[b >> 2]);
+   q[b >> 2] = 0;
+   b = c + 1952 | 0;
+   Qe(f, q[b >> 2]);
+   q[b >> 2] = 0;
+   b = c + 1964 | 0;
+   Qe(f, q[b >> 2]);
+   q[b >> 2] = 0;
+   b = c + 3060 | 0;
+   if (q[b >> 2]) {
+    Lg(q[c + 4 >> 2], b);
+   }
+   o[c + 3052 | 0] = 0;
+   q[c + 3056 >> 2] = 0;
+   q[c + 3064 >> 2] = 0;
+   Qe(f, q[c + 3092 >> 2]);
+   q[c + 3092 >> 2] = 0;
+   Qe(f, q[c + 1348 >> 2]);
+   q[c + 1348 >> 2] = 0;
+   Qe(f, q[c + 1352 >> 2]);
+   q[c + 1352 >> 2] = 0;
+   Qe(f, q[c + 1360 >> 2]);
+   q[c + 1360 >> 2] = 0;
+   Qe(f, q[c + 1364 >> 2]);
+   q[c + 1364 >> 2] = 0;
+   b = q[c + 3108 >> 2];
+   if (b) {
+    n[b](q[c + 3104 >> 2]);
+    Qe(f, q[c + 3104 >> 2]);
+    q[c + 3104 >> 2] = 0;
+   }
+   Qe(f, q[c + 3132 >> 2]);
+   q[c + 3132 >> 2] = 0;
+   Qe(i, q[a + 712 >> 2]);
+   q[a + 712 >> 2] = 0;
+  }
+  b = q[a + 548 >> 2];
+  if (b) {
+   n[q[b + 44 >> 2]](a);
+  }
+  q[a + 736 >> 2] = 0;
+ }
+}
+function jl(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, s = 0, u = 0, v = 0, x = 0;
+ d = Ca - 1328 | 0;
+ Ca = d;
+ i = q[a + 4 >> 2];
+ l = q[i + 328 >> 2];
+ q[d + 1324 >> 2] = 0;
+ m = q[i + 136 >> 2];
+ s = q[i + 100 >> 2];
+ k = q[q[i + 128 >> 2] + 52 >> 2];
+ a : {
+  b : {
+   if (k) {
+    c = n[q[q[k >> 2] >> 2]](q[k + 4 >> 2], b, d + 664 | 0) | 0;
+    q[d + 1324 >> 2] = c;
+    if (c) {
+     break a;
+    }
+    g = q[i + 288 >> 2];
+    if (g & 255) {
+     e = q[d + 664 >> 2];
+     c = g;
+     while (1) {
+      h = r[e | 0] | h << 8;
+      e = e + 1 | 0;
+      c = c + -1 | 0;
+      if (c & 255) {
+       continue;
+      }
+      break;
+     }
+    }
+    c = q[d + 668 >> 2];
+    c : {
+     if (!c) {
+      e = 0;
+      break c;
+     }
+     f = c - g | 0;
+     e = Oe(s, f, d + 1324 | 0);
+     if (q[d + 1324 >> 2]) {
+      break c;
+     }
+     Y$(e, q[d + 664 >> 2] + q[i + 288 >> 2] | 0, f);
+    }
+    n[q[q[k >> 2] + 4 >> 2]](q[k + 4 >> 2], d + 664 | 0);
+    if (!q[d + 1324 >> 2]) {
+     break b;
+    }
+    break a;
+   }
+   c = q[i + 292 >> 2] + q[i + 288 >> 2] | 0;
+   f = yg(l, (q[i + 284 >> 2] + q[i + 308 >> 2] | 0) + w(c, b) | 0);
+   q[d + 1324 >> 2] = f;
+   if (f) {
+    break a;
+   }
+   c = Kg(l, c << 1);
+   q[d + 1324 >> 2] = c;
+   if (c) {
+    break a;
+   }
+   f = q[l + 32 >> 2];
+   g = q[i + 288 >> 2];
+   d : {
+    if (!(g & 255)) {
+     break d;
+    }
+    j = g + -1 & 255;
+    e = f;
+    c = g;
+    while (1) {
+     h = r[e | 0] | h << 8;
+     e = e + 1 | 0;
+     c = c + -1 | 0;
+     if (c & 255) {
+      continue;
+     }
+     break;
+    }
+    f = (f + j | 0) + 1 | 0;
+   }
+   c = 0;
+   j = q[i + 292 >> 2];
+   if (j & 255) {
+    u = j + -1 & 255;
+    e = f;
+    c = j;
+    while (1) {
+     p = r[e | 0] | p << 8;
+     e = e + 1 | 0;
+     c = c + -1 | 0;
+     if (c & 255) {
+      continue;
+     }
+     break;
+    }
+    e = ((f + u | 0) + g | 0) + 1 | 0;
+    c = 0;
+    while (1) {
+     c = r[e | 0] | c << 8;
+     e = e + 1 | 0;
+     j = j + -1 | 0;
+     if (j & 255) {
+      continue;
+     }
+     break;
+    }
+   }
+   Ng(l);
+   e : {
+    f : {
+     if (!(c >>> 0 <= t[l + 4 >> 2] ? !(c >>> 0 < p >>> 0 | h >>> 0 >= t[i + 300 >> 2]) : 0)) {
+      q[d + 1324 >> 2] = 9;
+      break f;
+     }
+     f = c - p | 0;
+     if (f) {
+      break e;
+     }
+    }
+    j = 0;
+    e = 0;
+    break a;
+   }
+   j = 0;
+   e = Oe(s, f, d + 1324 | 0);
+   if (q[d + 1324 >> 2]) {
+    break a;
+   }
+   c = Hg(l, q[i + 308 >> 2] + p | 0, e, f);
+   q[d + 1324 >> 2] = c;
+   if (c) {
+    break a;
+   }
+  }
+  c = q[i + 316 >> 2] + (h << 3) | 0;
+  q[a + 1364 >> 2] = q[c >> 2];
+  c = q[c + 4 >> 2];
+  q[a + 1372 >> 2] = 0;
+  q[a + 1376 >> 2] = 0;
+  q[a + 1368 >> 2] = c;
+  c = q[i + 304 >> 2] + w(h, 252) | 0;
+  g = q[c + 220 >> 2];
+  q[a + 1380 >> 2] = q[c + 216 >> 2];
+  q[a + 1384 >> 2] = g;
+  h = q[c + 228 >> 2];
+  g = a + 1388 | 0;
+  q[g >> 2] = q[c + 224 >> 2];
+  q[g + 4 >> 2] = h;
+  g = q[c + 236 >> 2];
+  q[a + 1396 >> 2] = q[c + 232 >> 2];
+  q[a + 1400 >> 2] = g;
+  h = q[c + 4 >> 2];
+  q[a + 1360 >> 2] = h;
+  g = (h | 0) > -1 ? h : 0;
+  if (f >>> 0 >= g >>> 0) {
+   if ((h | 0) >= 0) {
+    n[q[m + 16 >> 2]](e, f, 4330);
+   }
+   g : {
+    if (r[a + 70 | 0]) {
+     h = n[q[q[m + 12 >> 2] + 8 >> 2]](a, e + g | 0, f - g | 0) | 0;
+     q[d + 1324 >> 2] = h;
+     j = 0;
+     break g;
+    }
+    n[q[m + 24 >> 2]](d + 664 | 0, a, 1);
+    n[q[m + 28 >> 2]](i, c, d + 8 | 0);
+    q[d + 1200 >> 2] = d + 8;
+    c = e + g | 0;
+    f = f - g | 0;
+    h = n[q[q[m + 12 >> 2] + 12 >> 2]](d + 664 | 0, c, f) | 0;
+    q[d + 1324 >> 2] = h;
+    j = 0;
+    if ((h & 255) != 164) {
+     break g;
+    }
+    o[q[a + 8 >> 2] + 160 | 0] = 0;
+    h = n[q[q[m + 12 >> 2] + 12 >> 2]](d + 664 | 0, c, f) | 0;
+    q[d + 1324 >> 2] = h;
+    j = 1;
+   }
+   if (!q[q[k >> 2] + 8 >> 2] | (h | !k)) {
+    break a;
+   }
+   c = Ae(q[a + 32 >> 2]);
+   q[d + 668 >> 2] = 0;
+   q[d + 664 >> 2] = c >> 16;
+   v = d, x = Ae(q[a + 40 >> 2]) >> 16, q[v + 672 >> 2] = x;
+   c = a + 44 | 0;
+   v = d, x = Ae(q[c >> 2]) >> 16, q[v + 676 >> 2] = x;
+   v = d, x = n[q[q[k >> 2] + 8 >> 2]](q[k + 4 >> 2], b, 0, d + 664 | 0) | 0, q[v + 1324 >> 2] = x;
+   q[a + 32 >> 2] = q[d + 664 >> 2] << 16;
+   q[a + 40 >> 2] = q[d + 672 >> 2] << 16;
+   q[c >> 2] = q[d + 676 >> 2] << 16;
+   break a;
+  }
+  q[d + 1324 >> 2] = 9;
+ }
+ Qe(s, e);
+ o[q[a + 8 >> 2] + 161 | 0] = j;
+ Ca = d + 1328 | 0;
+ return q[d + 1324 >> 2];
+}
+function RB(a, b, c) {
+ var d = 0, e = 0, h = 0, i = 0, j = 0;
+ i = Ca - 32 | 0;
+ Ca = i;
+ q[i + 28 >> 2] = 0;
+ q[i + 20 >> 2] = 0;
+ q[i + 24 >> 2] = 0;
+ q[i + 12 >> 2] = 0;
+ q[i + 16 >> 2] = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           d = a + -6 | 0;
+           if (d >>> 0 > 24) {
+            d = a + -265 | 0;
+            if (d >>> 0 > 9) {
+             break j;
+            }
+            d = 1 << d;
+            if (d & 775) {
+             break d;
+            }
+            if (!(d & 24)) {
+             break j;
+            }
+            break c;
+           }
+           switch (d - 4 | 0) {
+           case 2:
+           case 3:
+           case 4:
+           case 5:
+           case 6:
+           case 7:
+           case 8:
+           case 10:
+           case 11:
+           case 14:
+           case 15:
+           case 16:
+           case 17:
+           case 18:
+            break j;
+           case 13:
+            break b;
+           case 0:
+           case 1:
+            break d;
+           case 9:
+            break e;
+           case 12:
+            break f;
+           case 19:
+            break h;
+           case 20:
+            break i;
+           default:
+            break c;
+           }
+          }
+          EB(a, b);
+          break g;
+         }
+         h = CB(b);
+         d = q[b + 24 >> 2];
+         if (d >>> 0 < t[b + 32 >> 2]) {
+          q[b + 24 >> 2] = d + 1;
+          v[q[b + 36 >> 2] + (d << 3) >> 3] = h;
+          break g;
+         }
+         o[b + 20 | 0] = 1;
+         d = q[67761];
+         q[160656] = q[67760];
+         q[160657] = d;
+         v[80328] = h;
+         break g;
+        }
+        DB(b + 20 | 0, b);
+       }
+       if (q[b + 24 >> 2]) {
+        break a;
+       }
+       break b;
+      }
+      k : {
+       if (r[b + 48 | 0] == 1) {
+        d = q[b + 44 >> 2];
+        break k;
+       }
+       d = q[b + 24 >> 2];
+       l : {
+        if (d) {
+         d = d + -1 | 0;
+         q[b + 24 >> 2] = d;
+         if (t[b + 32 >> 2] <= d >>> 0) {
+          d = q[67761];
+          e = q[67760];
+          q[160656] = e;
+          q[160657] = d;
+          f(0, e | 0);
+          f(1, d | 0);
+          h = +g();
+          break l;
+         }
+         h = v[q[b + 36 >> 2] + (d << 3) >> 3];
+         break l;
+        }
+        o[b + 20 | 0] = 1;
+        d = q[67761];
+        e = q[67760];
+        q[160656] = e;
+        q[160657] = d;
+        f(0, e | 0);
+        f(1, d | 0);
+        h = +g();
+       }
+       m : {
+        if (y(h) < 2147483648) {
+         d = ~~h;
+         break m;
+        }
+        d = -2147483648;
+       }
+       if ((d | 0) <= -1) {
+        o[b + 20 | 0] = 1;
+        d = 0;
+       }
+       q[b + 44 >> 2] = d;
+      }
+      o[b + 48 | 0] = 1;
+      q[c + 24 >> 2] = d;
+      q[b + 24 >> 2] = 0;
+      break b;
+     }
+     e = c;
+     d = q[b + 24 >> 2];
+     n : {
+      if (d) {
+       d = d + -1 | 0;
+       q[b + 24 >> 2] = d;
+       if (t[b + 32 >> 2] <= d >>> 0) {
+        d = q[67761];
+        j = q[67760];
+        q[160656] = j;
+        q[160657] = d;
+        f(0, j | 0);
+        f(1, d | 0);
+        h = +g();
+        break n;
+       }
+       h = v[q[b + 36 >> 2] + (d << 3) >> 3];
+       break n;
+      }
+      o[b + 20 | 0] = 1;
+      d = q[67761];
+      j = q[67760];
+      q[160656] = j;
+      q[160657] = d;
+      f(0, j | 0);
+      f(1, d | 0);
+      h = +g();
+     }
+     o : {
+      if (y(h) < 2147483648) {
+       d = ~~h;
+       break o;
+      }
+      d = -2147483648;
+     }
+     if ((d | 0) <= -1) {
+      o[b + 20 | 0] = 1;
+      d = 0;
+     }
+     q[e + 16 >> 2] = d;
+     q[b + 24 >> 2] = 0;
+     break b;
+    }
+    d = q[b + 24 >> 2];
+    p : {
+     if (d) {
+      d = d + -1 | 0;
+      q[b + 24 >> 2] = d;
+      if (t[b + 32 >> 2] <= d >>> 0) {
+       j = q[67761];
+       d = j;
+       e = q[67760];
+       q[160656] = e;
+       q[160657] = d;
+       break p;
+      }
+      d = q[b + 36 >> 2] + (d << 3) | 0;
+      e = q[d >> 2];
+      d = q[d + 4 >> 2];
+      break p;
+     }
+     o[b + 20 | 0] = 1;
+     j = q[67761];
+     d = j;
+     e = q[67760];
+     q[160656] = e;
+     q[160657] = d;
+    }
+    q[i + 24 >> 2] = e;
+    q[i + 28 >> 2] = d;
+    q[b + 24 >> 2] = 0;
+    break b;
+   }
+   q[b + 24 >> 2] = 0;
+  }
+  if (r[b + 40 | 0] | r[b + 16 | 0] | (r[b + 20 | 0] | q[b + 28 >> 2] < 0)) {
+   break a;
+  }
+  GB(c, a, b, i + 8 | 0);
+ }
+ Ca = i + 32 | 0;
+}
+function dz(a, b) {
+ var c = 0, d = 0, e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, u = 0, w = 0, x = 0, z = 0;
+ c = Ca + -64 | 0;
+ Ca = c;
+ e = q[a + 24 >> 2];
+ d = e + -4 | 0;
+ if (e >>> 0 <= 3) {
+  o[a + 20 | 0] = 1;
+ }
+ i = q[a + 32 >> 2];
+ a : {
+  if (i >>> 0 <= d >>> 0) {
+   d = q[67761];
+   j = q[67760];
+   q[160656] = j;
+   q[160657] = d;
+   f(0, j | 0);
+   f(1, d | 0);
+   n = +g();
+   break a;
+  }
+  n = v[q[a + 36 >> 2] + (d << 3) >> 3];
+ }
+ d = e + -3 | 0;
+ if (e >>> 0 <= 2) {
+  o[a + 20 | 0] = 1;
+ }
+ b : {
+  if (i >>> 0 <= d >>> 0) {
+   d = q[67761];
+   j = q[67760];
+   q[160656] = j;
+   q[160657] = d;
+   f(0, j | 0);
+   f(1, d | 0);
+   p = +g();
+   break b;
+  }
+  p = v[q[a + 36 >> 2] + (d << 3) >> 3];
+ }
+ d = e + -2 | 0;
+ j = q[b + 40 >> 2];
+ if (e >>> 0 <= 1) {
+  o[a + 20 | 0] = 1;
+ }
+ c : {
+  if (i >>> 0 <= d >>> 0) {
+   d = q[67761];
+   i = q[67760];
+   q[160656] = i;
+   q[160657] = d;
+   f(0, i | 0);
+   f(1, d | 0);
+   h = +g();
+   break c;
+  }
+  h = v[q[a + 36 >> 2] + (d << 3) >> 3];
+ }
+ d : {
+  if (y(h) < 2147483648) {
+   d = ~~h;
+   break d;
+  }
+  d = -2147483648;
+ }
+ i = 0;
+ e : {
+  if (d >>> 0 <= 255) {
+   i = r[d + 242320 | 0];
+   s = q[j + 48 >> 2];
+   if ((s | 0) != 271040) {
+    i = eC(s, i, q[j + 212 >> 2]);
+    j = q[b + 40 >> 2];
+    d = q[a + 24 >> 2];
+    break e;
+   }
+   i = d >>> 0 < 229 ? q[j + 168 >> 2] ? 0 : i : 0;
+  }
+  d = e;
+ }
+ e = e + -1 | 0;
+ if (d >>> 0 <= e >>> 0) {
+  o[a + 20 | 0] = 1;
+ }
+ f : {
+  if (t[a + 32 >> 2] <= e >>> 0) {
+   e = q[67761];
+   d = q[67760];
+   q[160656] = d;
+   q[160657] = e;
+   f(0, d | 0);
+   f(1, e | 0);
+   h = +g();
+   break f;
+  }
+  h = v[q[a + 36 >> 2] + (e << 3) >> 3];
+ }
+ g : {
+  if (y(h) < 2147483648) {
+   d = ~~h;
+   break g;
+  }
+  d = -2147483648;
+ }
+ h : {
+  i : {
+   e = 0;
+   j : {
+    if (d >>> 0 > 255) {
+     break j;
+    }
+    e = r[d + 242320 | 0];
+    s = q[j + 48 >> 2];
+    if ((s | 0) != 271040) {
+     e = eC(s, e, q[j + 212 >> 2]);
+     break j;
+    }
+    e = d >>> 0 < 229 ? q[j + 168 >> 2] ? 0 : e : 0;
+   }
+   if (!e | !i | r[a + 160 | 0]) {
+    break i;
+   }
+   if (!az(q[b + 40 >> 2], i, c + 32 | 0, 1)) {
+    break i;
+   }
+   if (!az(q[b + 40 >> 2], e, c, 1)) {
+    break i;
+   }
+   a = b + 8 | 0;
+   k : {
+    l : {
+     u = v[b + 24 >> 3];
+     w = v[b + 8 >> 3];
+     if (!!(u > w)) {
+      x = v[b + 32 >> 3];
+      z = v[b + 16 >> 3];
+      if (x > z) {
+       break l;
+      }
+     }
+     e = q[c + 36 >> 2];
+     q[a >> 2] = q[c + 32 >> 2];
+     q[a + 4 >> 2] = e;
+     e = q[c + 60 >> 2];
+     q[a + 24 >> 2] = q[c + 56 >> 2];
+     q[a + 28 >> 2] = e;
+     e = q[c + 52 >> 2];
+     q[a + 16 >> 2] = q[c + 48 >> 2];
+     q[a + 20 >> 2] = e;
+     e = q[c + 44 >> 2];
+     q[a + 8 >> 2] = q[c + 40 >> 2];
+     q[a + 12 >> 2] = e;
+     break k;
+    }
+    h = v[c + 48 >> 3];
+    k = v[c + 32 >> 3];
+    if (!(h > k)) {
+     break k;
+    }
+    l = v[c + 56 >> 3];
+    m = v[c + 40 >> 3];
+    if (!(l > m)) {
+     break k;
+    }
+    if (!!(w > k)) {
+     v[a >> 3] = k;
+    }
+    if (!!(h > u)) {
+     v[b + 24 >> 3] = h;
+    }
+    if (!!(z > m)) {
+     v[b + 16 >> 3] = m;
+    }
+    if (!(l > x)) {
+     break k;
+    }
+    v[b + 32 >> 3] = l;
+   }
+   h = v[c + 16 >> 3];
+   k = v[c >> 3];
+   m : {
+    if (!(h > k)) {
+     break m;
+    }
+    l = v[c + 24 >> 3];
+    m = v[c + 8 >> 3];
+    if (!(l > m)) {
+     break m;
+    }
+    v[c + 24 >> 3] = p + l;
+    h = n + h;
+    v[c + 16 >> 3] = h;
+    v[c + 8 >> 3] = p + m;
+    k = n + k;
+    v[c >> 3] = k;
+   }
+   n : {
+    l = v[b + 24 >> 3];
+    m = v[b + 8 >> 3];
+    if (!!(l > m)) {
+     u = v[b + 32 >> 3];
+     w = v[b + 16 >> 3];
+     if (u > w) {
+      break n;
+     }
+    }
+    b = q[c + 4 >> 2];
+    q[a >> 2] = q[c >> 2];
+    q[a + 4 >> 2] = b;
+    b = q[c + 28 >> 2];
+    q[a + 24 >> 2] = q[c + 24 >> 2];
+    q[a + 28 >> 2] = b;
+    b = q[c + 20 >> 2];
+    q[a + 16 >> 2] = q[c + 16 >> 2];
+    q[a + 20 >> 2] = b;
+    b = q[c + 12 >> 2];
+    q[a + 8 >> 2] = q[c + 8 >> 2];
+    q[a + 12 >> 2] = b;
+    break h;
+   }
+   if (!(h > k)) {
+    break h;
+   }
+   n = v[c + 24 >> 3];
+   p = v[c + 8 >> 3];
+   if (!(n > p)) {
+    break h;
+   }
+   if (!!(m > k)) {
+    v[a >> 3] = k;
+   }
+   if (!!(h > l)) {
+    v[b + 24 >> 3] = h;
+   }
+   if (!!(w > p)) {
+    v[b + 16 >> 3] = p;
+   }
+   if (!(n > u)) {
+    break h;
+   }
+   v[b + 32 >> 3] = n;
+   break h;
+  }
+  o[a + 40 | 0] = 1;
+ }
+ Ca = c - -64 | 0;
+}
+function ay(a, b) {
+ var c = 0, d = x(0), e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ e = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ i = q[b + 96 >> 2];
+ e = ct(e ? e + a | 0 : 271040, q[q[i + 88 >> 2] + w(q[i + 72 >> 2], 20) >> 2]);
+ h = (r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0 > e >>> 0 ? ((e << 2) + a | 0) + 6 | 0 : 271040;
+ a : {
+  if (!(r[h | 0] << 8 | r[h + 1 | 0])) {
+   break a;
+  }
+  c = q[i + 72 >> 2];
+  q[b + 36 >> 2] = 1;
+  q[b >> 2] = c;
+  f = q[q[b + 4 >> 2] + 96 >> 2];
+  q[b + 40 >> 2] = q[f + 76 >> 2];
+  o[b + 20 | 0] = (c | 0) == q[f + 72 >> 2] ? r[(q[f + 88 >> 2] + w(c, 20) | 0) + 15 | 0] : 0;
+  if (!dx(b)) {
+   break a;
+  }
+  e = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  e = ct(e ? e + a | 0 : 271040, q[q[i + 88 >> 2] + w(q[b >> 2], 20) >> 2]);
+  f = (r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0 > e >>> 0 ? ((e << 2) + a | 0) + 6 | 0 : 271040;
+  c = r[f + 2 | 0] << 8 | r[f + 3 | 0];
+  if (!c) {
+   break a;
+  }
+  e = q[i + 72 >> 2];
+  j = q[b >> 2];
+  l = e - j | 0;
+  if (l >>> 0 >= 2) {
+   DG(i, j, e);
+   c = r[f + 3 | 0] | r[f + 2 | 0] << 8;
+  }
+  by(c ? a + c | 0 : 271040, b, q[q[i + 88 >> 2] + w(j, 20) >> 2], g + 4 | 0, g);
+  c = a;
+  a = r[h + 1 | 0] | r[h | 0] << 8;
+  by(a ? c + a | 0 : 271040, b, q[q[i + 88 >> 2] + w(e, 20) >> 2], g + 12 | 0, g + 8 | 0);
+  f = q[i + 96 >> 2];
+  m = q[b + 112 >> 2];
+  a = m + -4 | 0;
+  b : {
+   if (a >>> 0 > 3) {
+    break b;
+   }
+   c : {
+    switch (a - 1 | 0) {
+    default:
+     a = f + w(j, 20) | 0;
+     c = q[a + 8 >> 2];
+     d = x(x(S(x(u[g + 4 >> 2]))) + x(c | 0));
+     d : {
+      if (x(y(d)) < x(2147483648)) {
+       c = ~~d;
+       break d;
+      }
+      c = -2147483648;
+     }
+     q[a >> 2] = c;
+     a = f + w(e, 20) | 0;
+     c = q[a + 8 >> 2];
+     h = a;
+     k = c;
+     d = x(x(S(x(u[g + 12 >> 2]))) + x(c | 0));
+     e : {
+      if (x(y(d)) < x(2147483648)) {
+       c = ~~d;
+       break e;
+      }
+      c = -2147483648;
+     }
+     q[h + 8 >> 2] = k - c;
+     q[a >> 2] = q[a >> 2] - c;
+     break b;
+    case 0:
+     a = f + w(j, 20) | 0;
+     c = q[a + 8 >> 2];
+     h = a;
+     k = c;
+     d = x(x(S(x(u[g + 4 >> 2]))) + x(c | 0));
+     f : {
+      if (x(y(d)) < x(2147483648)) {
+       c = ~~d;
+       break f;
+      }
+      c = -2147483648;
+     }
+     q[h + 8 >> 2] = k - c;
+     q[a >> 2] = q[a >> 2] - c;
+     a = f + w(e, 20) | 0;
+     c = q[a + 8 >> 2];
+     d = x(x(S(x(u[g + 12 >> 2]))) + x(c | 0));
+     if (x(y(d)) < x(2147483648)) {
+      q[a >> 2] = ~~d;
+      break b;
+     }
+     q[a >> 2] = -2147483648;
+     break b;
+    case 1:
+     a = f + w(j, 20) | 0;
+     c = q[a + 12 >> 2];
+     d = x(x(S(x(u[g >> 2]))) + x(c | 0));
+     g : {
+      if (x(y(d)) < x(2147483648)) {
+       c = ~~d;
+       break g;
+      }
+      c = -2147483648;
+     }
+     q[a + 4 >> 2] = c;
+     a = f + w(e, 20) | 0;
+     c = q[a + 12 >> 2];
+     h = a;
+     k = c;
+     d = x(x(S(x(u[g + 8 >> 2]))) + x(c | 0));
+     h : {
+      if (x(y(d)) < x(2147483648)) {
+       c = ~~d;
+       break h;
+      }
+      c = -2147483648;
+     }
+     q[h + 12 >> 2] = k - c;
+     q[a + 4 >> 2] = q[a + 4 >> 2] - c;
+     break b;
+    case 2:
+     break c;
+    }
+   }
+   a = f + w(j, 20) | 0;
+   c = q[a + 12 >> 2];
+   h = a;
+   k = c;
+   d = x(x(S(x(u[g >> 2]))) + x(c | 0));
+   i : {
+    if (x(y(d)) < x(2147483648)) {
+     c = ~~d;
+     break i;
+    }
+    c = -2147483648;
+   }
+   q[h + 12 >> 2] = k - c;
+   q[a + 4 >> 2] = q[a + 4 >> 2] - c;
+   a = f + w(e, 20) | 0;
+   d = x(S(x(u[g + 8 >> 2])));
+   j : {
+    if (x(y(d)) < x(2147483648)) {
+     c = ~~d;
+     break j;
+    }
+    c = -2147483648;
+   }
+   q[a + 4 >> 2] = c;
+  }
+  a = r[b + 128 | 0];
+  d = x(u[g + 8 >> 2] - u[g >> 2]);
+  k : {
+   if (x(y(d)) < x(2147483648)) {
+    h = ~~d;
+    break k;
+   }
+   h = -2147483648;
+  }
+  a = a & 1;
+  d = x(u[g + 12 >> 2] - u[g + 4 >> 2]);
+  l : {
+   if (x(y(d)) < x(2147483648)) {
+    c = ~~d;
+    break l;
+   }
+   c = -2147483648;
+  }
+  m : {
+   if (a) {
+    a = j;
+    j = e;
+    break m;
+   }
+   l = j - e | 0;
+   h = 0 - h | 0;
+   c = 0 - c | 0;
+   a = e;
+  }
+  cy(f, a, m, j);
+  a = f + w(a, 20) | 0;
+  p[a + 16 >> 1] = l;
+  o[a + 18 | 0] = 2;
+  q[i + 32 >> 2] = q[i + 32 >> 2] | 8;
+  n : {
+   if ((q[b + 112 >> 2] & -2) == 4) {
+    q[a + 12 >> 2] = h;
+    break n;
+   }
+   q[a + 8 >> 2] = c;
+  }
+  j = 1;
+  q[i + 72 >> 2] = q[i + 72 >> 2] + 1;
+ }
+ Ca = g + 16 | 0;
+ return j;
+}
+function Fp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, r = 0, t = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ i = q[b + 28 >> 2];
+ q[d + 20 >> 2] = q[b + 8 >> 2];
+ r = d, t = Eg(b, d + 4 | 0), q[r + 8 >> 2] = t;
+ c = q[d + 4 >> 2];
+ a : {
+  if (c) {
+   break a;
+  }
+  c = Xg(b, 163184, d + 8 | 0);
+  q[d + 4 >> 2] = c;
+  if (c) {
+   break a;
+  }
+  c = 1330926671;
+  b : {
+   c : {
+    if (q[d + 8 >> 2] != 1330926671) {
+     e = q[d + 20 >> 2];
+     c = yg(b, e + 12 | 0);
+     q[d + 44 >> 2] = c;
+     d : {
+      if (c) {
+       break d;
+      }
+      m = d;
+      e : {
+       f : {
+        g : {
+         if (s[d + 12 >> 1]) {
+          j = e + 28 | 0;
+          e = 0;
+          while (1) {
+           h : {
+            c = Xg(b, 163216, d + 24 | 0);
+            q[d + 44 >> 2] = c;
+            if (c) {
+             p[d + 12 >> 1] = e + -1;
+             break h;
+            }
+            k = q[b + 4 >> 2];
+            g = q[d + 32 >> 2];
+            i : {
+             if (k >>> 0 < g >>> 0) {
+              break i;
+             }
+             c = q[d + 24 >> 2];
+             l = q[d + 36 >> 2];
+             if ((c | 0) != 1752003704 ? !((c | 0) == 1986884728 | l >>> 0 <= k - g >>> 0) : 0) {
+              break i;
+             }
+             f = f + 1 | 0;
+             j : {
+              if ((c | 0) <= 1651008867) {
+               if ((c | 0) == 1296389185) {
+                break j;
+               }
+               if ((c | 0) != 1397313095) {
+                break i;
+               }
+               n = 1;
+               break i;
+              }
+              if ((c | 0) != 1651008868 ? (c | 0) != 1751474532 : 0) {
+               break i;
+              }
+              if (l >>> 0 <= 53) {
+               break f;
+              }
+              c = yg(b, g + 12 | 0);
+              q[d + 44 >> 2] = c;
+              if (c) {
+               break d;
+              }
+              Eg(b, d + 44 | 0);
+              c = q[d + 44 >> 2];
+              if (c) {
+               break d;
+              }
+              c = yg(b, j + (e << 4) | 0);
+              q[d + 44 >> 2] = c;
+              o = 1;
+              if (!c) {
+               break i;
+              }
+              break d;
+             }
+             h = 1;
+            }
+            e = e + 1 | 0;
+            if (e >>> 0 < s[d + 12 >> 1]) {
+             continue;
+            }
+           }
+           break;
+          }
+          if (f & 65535) {
+           break g;
+          }
+         }
+         c = 2;
+         break e;
+        }
+        if (o) {
+         break c;
+        }
+        if (!n) {
+         break f;
+        }
+        if (h) {
+         break c;
+        }
+       }
+       c = 142;
+      }
+      q[m + 44 >> 2] = c;
+     }
+     q[d + 4 >> 2] = c;
+     break a;
+    }
+    f = s[d + 12 >> 1];
+    if (f) {
+     break b;
+    }
+    c = 2;
+    q[d + 4 >> 2] = 2;
+    break a;
+   }
+   q[d + 4 >> 2] = 0;
+   c = q[d + 8 >> 2];
+  }
+  q[a + 148 >> 2] = c;
+  p[a + 152 >> 1] = f;
+  r = a, t = Te(i, 16, 0, f & 65535, 0, d + 4 | 0), q[r + 156 >> 2] = t;
+  c = q[d + 4 >> 2];
+  if (c) {
+   break a;
+  }
+  c = yg(b, q[d + 20 >> 2] + 12 | 0);
+  q[d + 4 >> 2] = c;
+  if (c) {
+   break a;
+  }
+  c = Kg(b, s[d + 12 >> 1] << 4);
+  q[d + 4 >> 2] = c;
+  if (c) {
+   break a;
+  }
+  k : {
+   if (!s[d + 12 >> 1]) {
+    h = 0;
+    break k;
+   }
+   j = 0;
+   h = 0;
+   while (1) {
+    f = Rg(b);
+    l = Rg(b);
+    g = Rg(b);
+    i = Rg(b);
+    c = q[b + 4 >> 2];
+    l : {
+     if (c >>> 0 < g >>> 0) {
+      break l;
+     }
+     c = c - g | 0;
+     if (i >>> 0 > c >>> 0) {
+      if ((f | 0) != 1752003704 ? (f | 0) != 1986884728 : 0) {
+       break l;
+      }
+      i = c & -4;
+     }
+     k = q[a + 156 >> 2];
+     e = h & 65535;
+     m : {
+      if (!e) {
+       e = 0;
+       break m;
+      }
+      c = 0;
+      while (1) {
+       if ((f | 0) == q[k + (c << 4) >> 2]) {
+        break l;
+       }
+       c = c + 1 | 0;
+       if ((e | 0) != (c | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     c = k + (e << 4) | 0;
+     q[c + 12 >> 2] = i;
+     q[c + 8 >> 2] = g;
+     q[c + 4 >> 2] = l;
+     q[c >> 2] = f;
+     h = h + 1 | 0;
+    }
+    j = j + 1 | 0;
+    if ((j & 65535) >>> 0 < s[d + 12 >> 1]) {
+     continue;
+    }
+    break;
+   }
+  }
+  p[a + 152 >> 1] = h;
+  Ng(b);
+  c = q[d + 4 >> 2];
+ }
+ Ca = d + 48 | 0;
+ return c | 0;
+}
+function Cp(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, r = 0, u = 0, v = 0, w = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ c = q[a + 104 >> 2];
+ b = n[q[a + 516 >> 2]](a, 1886352244, c, d + 4 | 0) | 0;
+ a : {
+  if (b) {
+   break a;
+  }
+  f = q[c + 8 >> 2];
+  k = q[d + 4 >> 2];
+  e = q[a + 476 >> 2];
+  b = Ag(c, 32);
+  if (b) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       if ((e | 0) != 151552) {
+        b = 3;
+        if ((e | 0) != 131072) {
+         break b;
+        }
+        i = q[c + 28 >> 2];
+        h = Bg(c, d + 8 | 0);
+        b = q[d + 8 >> 2];
+        if (b) {
+         break b;
+        }
+        if (h >>> 0 > s[a + 264 >> 1]) {
+         b = 3;
+         q[d + 8 >> 2] = 3;
+         break b;
+        }
+        b = 0;
+        l = Te(i, 2, 0, h, 0, d + 8 | 0);
+        if (q[d + 8 >> 2]) {
+         break c;
+        }
+        e = Kg(c, h << 1);
+        q[d + 8 >> 2] = e;
+        if (e) {
+         break c;
+        }
+        if (!h) {
+         break f;
+        }
+        while (1) {
+         v = (b << 1) + l | 0, w = Pg(c), p[v >> 1] = w;
+         b = b + 1 | 0;
+         if ((h | 0) != (b | 0)) {
+          continue;
+         }
+         break;
+        }
+        Ng(c);
+        e = 0;
+        b = 0;
+        while (1) {
+         g = s[(b << 1) + l >> 1];
+         if (g >>> 0 >= 258) {
+          g = g + -257 | 0;
+          e = (g | 0) > (e & 65535) ? g : e;
+         }
+         b = b + 1 | 0;
+         if ((h | 0) != (b | 0)) {
+          continue;
+         }
+         break;
+        }
+        break d;
+       }
+       h = q[c + 28 >> 2];
+       e = Bg(c, d + 12 | 0);
+       b = q[d + 12 >> 2];
+       if (b) {
+        break b;
+       }
+       if (!((e + -1 & 65535) >>> 0 < s[a + 264 >> 1] ? e >>> 0 <= 258 : 0)) {
+        b = 3;
+        q[d + 12 >> 2] = 3;
+        break b;
+       }
+       b = 0;
+       i = Te(h, 1, 0, e, 0, d + 12 | 0);
+       g : {
+        if (q[d + 12 >> 2]) {
+         break g;
+        }
+        c = zg(c, i, e);
+        q[d + 12 >> 2] = c;
+        if (c) {
+         break g;
+        }
+        while (1) {
+         if (o[b + i | 0] + b >>> 0 <= e >>> 0) {
+          b = b + 1 | 0;
+          if ((e | 0) != (b | 0)) {
+           continue;
+          }
+          break e;
+         }
+         break;
+        }
+        q[d + 12 >> 2] = 3;
+       }
+       Qe(h, i);
+       b = q[d + 12 >> 2];
+       break b;
+      }
+      Ng(c);
+      e = 0;
+      break d;
+     }
+     q[a + 640 >> 2] = i;
+     p[a + 636 >> 1] = e;
+     b = 0;
+     break b;
+    }
+    g = 0;
+    m = e & 65535;
+    b = Te(i, 4, 0, m, 0, d + 8 | 0);
+    if (q[d + 8 >> 2]) {
+     break c;
+    }
+    h : {
+     i : {
+      if (!m) {
+       break i;
+      }
+      k = f + k | 0;
+      while (1) {
+       if (t[c + 8 >> 2] >= k >>> 0) {
+        f = e & 65535;
+        c = g & 65535;
+        if (f >>> 0 <= c >>> 0) {
+         break i;
+        }
+        while (1) {
+         g = Te(i, 1, 0, 1, 0, d + 8 | 0);
+         q[(c << 2) + b >> 2] = g;
+         if (q[d + 8 >> 2]) {
+          break h;
+         }
+         o[g | 0] = 0;
+         c = c + 1 | 0;
+         if ((f | 0) != (c & 65535)) {
+          continue;
+         }
+         break;
+        }
+        break i;
+       }
+       f = Tg(c, d + 8 | 0);
+       if (q[d + 8 >> 2]) {
+        break h;
+       }
+       r = (g << 2) + b | 0;
+       u = r;
+       j = i;
+       f = f & 255;
+       if (!(t[c + 8 >> 2] <= k - f >>> 0 ? k >>> 0 >= f >>> 0 : 0)) {
+        f = k - q[c + 8 >> 2] | 0;
+        f = (f | 0) > 0 ? f : 0;
+       }
+       j = Te(j, 1, 0, f + 1 | 0, 0, d + 8 | 0);
+       q[u >> 2] = j;
+       if (q[d + 8 >> 2]) {
+        break h;
+       }
+       j = zg(c, j, f);
+       q[d + 8 >> 2] = j;
+       if (j) {
+        break h;
+       }
+       o[q[r >> 2] + f | 0] = 0;
+       g = g + 1 | 0;
+       if ((m | 0) != (g | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     q[a + 644 >> 2] = b;
+     q[a + 640 >> 2] = l;
+     p[a + 638 >> 1] = e;
+     p[a + 636 >> 1] = h;
+     b = 0;
+     break b;
+    }
+    e = ((e & 65535) >>> 0 > 1 ? e : 1) & 65535;
+    c = 0;
+    while (1) {
+     h = (c << 2) + b | 0;
+     Qe(i, q[h >> 2]);
+     q[h >> 2] = 0;
+     c = c + 1 | 0;
+     if ((e | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   Qe(i, b);
+   Qe(i, l);
+   b = q[d + 8 >> 2];
+  }
+  o[a + 632 | 0] = 1;
+ }
+ Ca = d + 16 | 0;
+ return b;
+}
+function BT(a, b, c, d, e, f, g) {
+ var h = 0, i = 0, j = 0, k = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ a : {
+  b : {
+   if ((b | 0) == (c | 0)) {
+    q[d >> 2] = 0;
+    break b;
+   }
+   q[h + 12 >> 2] = b;
+   q[h + 8 >> 2] = h + 7;
+   j = h + 8 | 0;
+   n[q[a + 56 >> 2]](a, h + 12 | 0, c, h + 8 | 0, j) | 0;
+   c : {
+    i = (q[h + 8 >> 2] == (h + 7 | 0) ? -1 : o[h + 7 | 0]) + -9 | 0;
+    d : {
+     if (i >>> 0 > 23 | !(1 << i & 8388627)) {
+      break d;
+     }
+     while (1) {
+      e : {
+       b = q[a + 64 >> 2] + b | 0;
+       q[h + 12 >> 2] = b;
+       q[h + 8 >> 2] = h + 7;
+       n[q[a + 56 >> 2]](a, h + 12 | 0, c, h + 8 | 0, j) | 0;
+       i = (q[h + 8 >> 2] == (h + 7 | 0) ? -1 : o[h + 7 | 0]) + -9 | 0;
+       if (i >>> 0 > 23) {
+        break e;
+       }
+       if (1 << i & 8388627) {
+        continue;
+       }
+      }
+      break;
+     }
+     if ((b | 0) == (c | 0)) {
+      q[d >> 2] = 0;
+      break b;
+     }
+     q[d >> 2] = b;
+     f : {
+      while (1) {
+       g : {
+        q[h + 12 >> 2] = b;
+        q[h + 8 >> 2] = h + 7;
+        n[q[a + 56 >> 2]](a, h + 12 | 0, c, h + 8 | 0, j) | 0;
+        h : {
+         i = q[h + 8 >> 2] == (h + 7 | 0) ? -1 : o[h + 7 | 0];
+         k = i + 1 | 0;
+         if (k >>> 0 > 33) {
+          if ((i | 0) != 61) {
+           break h;
+          }
+          q[e >> 2] = b;
+          break f;
+         }
+         i : {
+          switch (k - 1 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 11:
+          case 12:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 28:
+          case 29:
+          case 30:
+          case 31:
+           break h;
+          case 9:
+          case 10:
+          case 13:
+          case 32:
+           break i;
+          default:
+           break d;
+          }
+         }
+         q[e >> 2] = b;
+         while (1) {
+          b = q[a + 64 >> 2] + b | 0;
+          q[h + 12 >> 2] = b;
+          q[h + 8 >> 2] = h + 7;
+          n[q[a + 56 >> 2]](a, h + 12 | 0, c, h + 8 | 0, j) | 0;
+          e = q[h + 8 >> 2] == (h + 7 | 0) ? -1 : o[h + 7 | 0];
+          i = e + -9 | 0;
+          if (i >>> 0 > 23) {
+           break g;
+          }
+          if (1 << i & 8388627) {
+           continue;
+          }
+          break;
+         }
+         break g;
+        }
+        b = q[a + 64 >> 2] + b | 0;
+        continue;
+       }
+       break;
+      }
+      if ((e | 0) != 61) {
+       break d;
+      }
+     }
+     if (q[d >> 2] != (b | 0)) {
+      break c;
+     }
+    }
+    q[g >> 2] = b;
+    a = 0;
+    break a;
+   }
+   d = q[a + 64 >> 2] + b | 0;
+   q[h + 12 >> 2] = d;
+   q[h + 8 >> 2] = h + 7;
+   n[q[a + 56 >> 2]](a, h + 12 | 0, c, h + 8 | 0, j) | 0;
+   b = q[h + 8 >> 2] == (h + 7 | 0) ? -1 : o[h + 7 | 0];
+   while (1) {
+    j : {
+     k : {
+      e = b + -9 | 0;
+      if (e >>> 0 <= 30) {
+       if (1 << e & 8388627) {
+        break j;
+       }
+       if (1 << e & 1107296256) {
+        break k;
+       }
+      }
+      q[g >> 2] = d;
+      a = 0;
+      break a;
+     }
+     d = q[a + 64 >> 2] + d | 0;
+     q[f >> 2] = d;
+     q[h + 12 >> 2] = d;
+     q[h + 8 >> 2] = h + 7;
+     n[q[a + 56 >> 2]](a, h + 12 | 0, c, h + 8 | 0, j) | 0;
+     e = q[h + 8 >> 2] == (h + 7 | 0) ? -1 : o[h + 7 | 0];
+     if ((e | 0) != (b | 0)) {
+      while (1) {
+       if (!(e + -48 >>> 0 < 10 | (e & -33) + -65 >>> 0 < 26 | ((e | 0) == 95 | e + -45 >>> 0 < 2))) {
+        q[g >> 2] = d;
+        a = 0;
+        break a;
+       }
+       d = q[a + 64 >> 2] + d | 0;
+       q[h + 12 >> 2] = d;
+       q[h + 8 >> 2] = h + 7;
+       n[q[a + 56 >> 2]](a, h + 12 | 0, c, h + 8 | 0, j) | 0;
+       e = q[h + 8 >> 2] == (h + 7 | 0) ? -1 : o[h + 7 | 0];
+       if ((e | 0) != (b | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     q[g >> 2] = q[a + 64 >> 2] + d;
+     break b;
+    }
+    d = q[a + 64 >> 2] + d | 0;
+    q[h + 12 >> 2] = d;
+    q[h + 8 >> 2] = h + 7;
+    n[q[a + 56 >> 2]](a, h + 12 | 0, c, h + 8 | 0, j) | 0;
+    b = q[h + 8 >> 2] == (h + 7 | 0) ? -1 : o[h + 7 | 0];
+    continue;
+   }
+  }
+  a = 1;
+ }
+ Ca = h + 16 | 0;
+ return a;
+}
+function eh(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ e = q[a + 8 >> 2];
+ a : {
+  b : {
+   if (e + 3 >>> 0 >= t[a + 4 >> 2]) {
+    break b;
+   }
+   c : {
+    d : {
+     d = q[a + 20 >> 2];
+     e : {
+      if (d) {
+       if ((n[d](a, e, g + 10 | 0, 4) | 0) != 4) {
+        break b;
+       }
+       e = q[a + 8 >> 2];
+       d = g + 10 | 0;
+       break e;
+      }
+      d = q[a >> 2];
+      if (!d) {
+       break d;
+      }
+      d = d + e | 0;
+     }
+     d = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+     h = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+     break c;
+    }
+    h = 0;
+   }
+   f = e + 4 | 0;
+   q[a + 8 >> 2] = f;
+   d = 2;
+   if ((b | 0) != (h | 0)) {
+    break a;
+   }
+   if (e + 7 >>> 0 >= t[a + 4 >> 2]) {
+    break b;
+   }
+   f : {
+    g : {
+     b = q[a + 20 >> 2];
+     if (!b) {
+      q[a + 8 >> 2] = e + 8;
+      e = e + 24 | 0;
+      break g;
+     }
+     if ((n[b](a, f, g + 10 | 0, 4) | 0) != 4) {
+      break b;
+     }
+     f = q[a + 8 >> 2];
+     q[a + 8 >> 2] = f + 4;
+     e = f + 20 | 0;
+     b = q[a + 20 >> 2];
+     if (!b) {
+      break g;
+     }
+     d = 85;
+     if (n[b](a, e, 0, 0)) {
+      break a;
+     }
+     b = q[a + 4 >> 2];
+     break f;
+    }
+    b = q[a + 4 >> 2];
+    d = 85;
+    if (b >>> 0 < e >>> 0) {
+     break a;
+    }
+   }
+   q[a + 8 >> 2] = e;
+   if (f + 21 >>> 0 >= b >>> 0) {
+    break b;
+   }
+   h : {
+    b = q[a + 20 >> 2];
+    if (b) {
+     if ((n[b](a, e, g + 14 | 0, 2) | 0) != 2) {
+      break b;
+     }
+     e = q[a + 8 >> 2];
+     b = g + 14 | 0;
+     break h;
+    }
+    b = q[a >> 2];
+    if (b) {
+     b = b + e | 0;
+     break h;
+    }
+    q[a + 8 >> 2] = f + 22;
+    d = 2;
+    break a;
+   }
+   f = r[b | 0] | r[b + 1 | 0] << 8;
+   b = e + 2 | 0;
+   q[a + 8 >> 2] = b;
+   i = (f << 8 & 16711680 | f << 24) >>> 16 | 0;
+   d = 2;
+   if (!i) {
+    break a;
+   }
+   if (e + 5 >>> 0 >= t[a + 4 >> 2]) {
+    break b;
+   }
+   e = 0;
+   while (1) {
+    i : {
+     j : {
+      k : {
+       l : {
+        d = q[a + 20 >> 2];
+        m : {
+         if (d) {
+          if ((n[d](a, b, g + 10 | 0, 4) | 0) != 4) {
+           break b;
+          }
+          b = q[a + 8 >> 2];
+          d = g + 10 | 0;
+          break m;
+         }
+         d = q[a >> 2];
+         if (!d) {
+          break l;
+         }
+         d = b + d | 0;
+        }
+        d = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+        h = b + 4 | 0;
+        q[a + 8 >> 2] = h;
+        if ((d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24)) == 2) {
+         f = q[a + 4 >> 2];
+         if (b + 7 >>> 0 >= f >>> 0) {
+          break i;
+         }
+         n : {
+          o : {
+           b = q[a + 20 >> 2];
+           p : {
+            if (b) {
+             if ((n[b](a, h, g + 10 | 0, 4) | 0) != 4) {
+              break i;
+             }
+             f = q[a + 4 >> 2];
+             h = q[a + 8 >> 2];
+             b = g + 10 | 0;
+             break p;
+            }
+            b = q[a >> 2];
+            if (!b) {
+             break o;
+            }
+            b = b + h | 0;
+           }
+           b = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+           b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+           break n;
+          }
+          b = 0;
+         }
+         d = h + 4 | 0;
+         q[a + 8 >> 2] = d;
+         if (h + 7 >>> 0 >= f >>> 0) {
+          break i;
+         }
+         f = a;
+         h = q[a + 20 >> 2];
+         if (h) {
+          if ((n[h](a, d, g + 10 | 0, 4) | 0) != 4) {
+           break i;
+          }
+          d = q[a + 8 >> 2];
+         }
+         q[f + 8 >> 2] = d + 4;
+         q[c >> 2] = b;
+         d = 0;
+         break a;
+        }
+        f = b + 12 | 0;
+        b = q[a + 20 >> 2];
+        if (!b) {
+         break k;
+        }
+        if (!n[b](a, f, 0, 0)) {
+         break j;
+        }
+        break b;
+       }
+       q[a + 8 >> 2] = b + 4;
+       f = b + 12 | 0;
+      }
+      if (t[a + 4 >> 2] < f >>> 0) {
+       break b;
+      }
+     }
+     q[a + 8 >> 2] = f;
+    }
+    e = e + 1 | 0;
+    d = 2;
+    if ((i | 0) == (e | 0)) {
+     break a;
+    }
+    b = q[a + 8 >> 2];
+    if (b + 3 >>> 0 < t[a + 4 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = 85;
+ }
+ Ca = g + 16 | 0;
+ return d;
+}
+function cC(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = b << 1;
+ k = f + a | 0;
+ if (b >>> 0 > 9) {
+  while (1) {
+   h = a + 2 | 0;
+   i = (b & -2) + a | 0;
+   d = (fC(h, i, c) | 0) > 0;
+   b = d ? h : i;
+   e = f + -2 | 0;
+   g = e + a | 0;
+   f = g + -2 | 0;
+   if ((fC(b, f, c) | 0) >= 1) {
+    b = d ? i : h;
+    b = (fC(b, f, c) | 0) > 0 ? b : f;
+   }
+   if ((b | 0) != (g | 0)) {
+    f = r[b | 0];
+    o[b | 0] = r[g | 0];
+    o[g | 0] = f;
+    f = r[b + 1 | 0];
+    o[b + 1 | 0] = r[g + 1 | 0];
+    o[g + 1 | 0] = f;
+   }
+   f = g;
+   d = f;
+   h = a;
+   b = h;
+   a : {
+    if ((e | 0) < 1) {
+     d = g;
+     f = d;
+     break a;
+    }
+    b : while (1) {
+     if (b >>> 0 >= d >>> 0) {
+      break a;
+     }
+     while (1) {
+      e = fC(b, g, c);
+      if ((e | 0) >= 1) {
+       c : {
+        if (b >>> 0 >= d >>> 0) {
+         break c;
+        }
+        while (1) {
+         i = d;
+         d : {
+          d = d + -2 | 0;
+          e = fC(d, g, c);
+          if (!e) {
+           e = f + -2 | 0;
+           if (i >>> 0 < f >>> 0) {
+            j = r[d | 0];
+            o[d | 0] = r[e | 0];
+            o[e | 0] = j;
+            j = i + -1 | 0;
+            i = r[j | 0];
+            f = f + -1 | 0;
+            o[j | 0] = r[f | 0];
+            o[f | 0] = i;
+           }
+           f = e;
+           break d;
+          }
+          if ((e | 0) > -1) {
+           break d;
+          }
+          if (b >>> 0 < d >>> 0) {
+           e = r[b | 0];
+           o[b | 0] = r[d | 0];
+           o[d | 0] = e;
+           j = r[b + 1 | 0];
+           e = i + -1 | 0;
+           o[b + 1 | 0] = r[e | 0];
+           o[e | 0] = j;
+          }
+          b = b + 2 | 0;
+          break c;
+         }
+         if (b >>> 0 < d >>> 0) {
+          continue;
+         }
+         break;
+        }
+       }
+       if (b >>> 0 < d >>> 0) {
+        continue b;
+       }
+       break a;
+      }
+      if (!e) {
+       if (h >>> 0 < b >>> 0) {
+        e = r[h | 0];
+        o[h | 0] = r[b | 0];
+        o[b | 0] = e;
+        e = r[h + 1 | 0];
+        o[h + 1 | 0] = r[b + 1 | 0];
+        o[b + 1 | 0] = e;
+       }
+       h = h + 2 | 0;
+      }
+      b = b + 2 | 0;
+      if (b >>> 0 < d >>> 0) {
+       continue;
+      }
+      break;
+     }
+     break;
+    }
+   }
+   b = h - a | 0;
+   i = d - h | 0;
+   e : {
+    if (!b | !i) {
+     break e;
+    }
+    if (b >>> 0 > i >>> 0) {
+     if ((i | 0) < 1) {
+      break e;
+     }
+     e = a + i | 0;
+     b = a;
+     while (1) {
+      g = r[b | 0];
+      o[b | 0] = r[h | 0];
+      o[h | 0] = g;
+      h = h + 1 | 0;
+      b = b + 1 | 0;
+      if (b >>> 0 < e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     break e;
+    }
+    if ((b | 0) < 1) {
+     break e;
+    }
+    b = a + i | 0;
+    g = a;
+    while (1) {
+     e = r[g | 0];
+     o[g | 0] = r[b | 0];
+     o[b | 0] = e;
+     b = b + 1 | 0;
+     g = g + 1 | 0;
+     if (g >>> 0 < h >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   e = f - d | 0;
+   f : {
+    if (!e) {
+     break f;
+    }
+    b = k - f | 0;
+    if (!b) {
+     break f;
+    }
+    if (e >>> 0 > b >>> 0) {
+     if ((b | 0) < 1) {
+      break f;
+     }
+     g = b + d | 0;
+     while (1) {
+      b = r[d | 0];
+      o[d | 0] = r[f | 0];
+      o[f | 0] = b;
+      f = f + 1 | 0;
+      d = d + 1 | 0;
+      if (d >>> 0 < g >>> 0) {
+       continue;
+      }
+      break;
+     }
+     break f;
+    }
+    if ((e | 0) < 1) {
+     break f;
+    }
+    b = b + d | 0;
+    while (1) {
+     g = r[d | 0];
+     o[d | 0] = r[b | 0];
+     o[b | 0] = g;
+     b = b + 1 | 0;
+     d = d + 1 | 0;
+     if (d >>> 0 < f >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   cC(a, i >>> 1 | 0, c);
+   a = k - e | 0;
+   f = e & -2;
+   k = a + f | 0;
+   b = e >>> 1 | 0;
+   if (e >>> 0 >= 20) {
+    continue;
+   }
+   break;
+  }
+ }
+ f = a + 2 | 0;
+ if (f >>> 0 < k >>> 0) {
+  while (1) {
+   b = f;
+   g : {
+    if (b >>> 0 <= a >>> 0) {
+     break g;
+    }
+    while (1) {
+     g = b + -2 | 0;
+     if ((fC(g, b, c) | 0) < 1) {
+      break g;
+     }
+     d = r[g | 0];
+     o[g | 0] = r[b | 0];
+     o[b | 0] = d;
+     e = b + -1 | 0;
+     d = r[e | 0];
+     o[e | 0] = r[b + 1 | 0];
+     o[b + 1 | 0] = d;
+     b = g;
+     if (b >>> 0 > a >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   f = f + 2 | 0;
+   if (f >>> 0 < k >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function xR(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0;
+ m = Ca - 16 | 0;
+ Ca = m;
+ f = q[c + 44 >> 2] + -1 | 0;
+ e = q[c + 40 >> 2] + -40 | 0;
+ if (e >>> 0 < 4294967256) {
+  f = f + 1 | 0;
+ }
+ a : {
+  if (!f & e >>> 0 > 2147483607 | f >>> 0 > 0) {
+   break a;
+  }
+  qR();
+  b : {
+   c : {
+    g = q[160828];
+    if (g) {
+     f = q[c >> 2];
+     while (1) {
+      if (!(q[g + 24 >> 2] != q[c + 80 >> 2] | q[g + 28 >> 2] != q[c + 84 >> 2] | (f | 0) != q[g + 16 >> 2] | q[g + 32 >> 2] != q[c + 64 >> 2])) {
+       if (q[g + 36 >> 2] == q[c + 68 >> 2]) {
+        break c;
+       }
+      }
+      g = q[g + 40 >> 2];
+      if (g) {
+       continue;
+      }
+      break;
+     }
+    }
+    break b;
+   }
+   q[g + 4 >> 2] = q[g + 4 >> 2] + 1;
+   g = q[g >> 2];
+   if (!g) {
+    break b;
+   }
+   if (yR(a, g, d)) {
+    break a;
+   }
+   rR(g);
+  }
+  if (!q[160846]) {
+   g = 3;
+   f = j$(488559);
+   d : {
+    if (!f) {
+     break d;
+    }
+    if (!hR(f, m + 12 | 0)) {
+     break d;
+    }
+    g = q[m + 12 >> 2] ? 1 : 2;
+   }
+   f = q[160846];
+   q[160846] = f ? f : g;
+  }
+  g = 0;
+  e = q[c + 40 >> 2];
+  f = L$(e);
+  if (!f) {
+   break a;
+  }
+  b = PY(b, f, e);
+  if ((b | 0) != q[c + 40 >> 2] | q[c + 44 >> 2] != b >> 31) {
+   M$(f);
+   break a;
+  }
+  e : {
+   f : {
+    if (q[f >> 2] != -66913276 | q[f + 4 >> 2] < 7 | (b | 0) != q[f + 8 >> 2]) {
+     break f;
+    }
+    e = q[f + 12 >> 2];
+    if ((e | 0) < 0 | e >>> 0 > b + -4 >>> 0) {
+     break f;
+    }
+    if (!aZ(f + e | 0, 0, b - e | 0)) {
+     break f;
+    }
+    e = q[f + 16 >> 2];
+    if ((e | 0) < 0 | (b | 0) <= (e | 0)) {
+     break f;
+    }
+    h = q[f + 20 >> 2];
+    if ((h | 0) < 0 | h >>> 0 > b - e >>> 2 >>> 0) {
+     break f;
+    }
+    l = b + f | 0;
+    e = f + e | 0;
+    if (!(!e | (h | 0) < 1)) {
+     k = (l - e | 0) + -4 | 0;
+     while (1) {
+      i = q[e + (j << 2) >> 2];
+      if ((i | 0) < 0 | i >>> 0 > k >>> 0) {
+       break f;
+      }
+      i = e + i | 0;
+      if (!aZ(i, 0, l - i | 0)) {
+       break f;
+      }
+      j = j + 1 | 0;
+      if ((h | 0) != (j | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    e = q[f + 24 >> 2];
+    if ((e | 0) < 0 | e >>> 0 > b + -12 >>> 0) {
+     break f;
+    }
+    i = f + e | 0;
+    g : {
+     if (!i) {
+      break g;
+     }
+     n = q[i >> 2];
+     if (n >>> 0 > l - i >>> 4 >>> 0) {
+      break f;
+     }
+     b = q[i + 8 >> 2];
+     if (!(b & 1)) {
+      break f;
+     }
+     if ((n | 0) < 1) {
+      break g;
+     }
+     r = l + -32 | 0;
+     s = l + -12 | 0;
+     t = i + (b & -2) | 0;
+     while (1) {
+      b = i + (q[(o << 2) + t >> 2] & -2) | 0;
+      if (b >>> 0 < f >>> 0 | s >>> 0 < b >>> 0) {
+       break f;
+      }
+      e = q[b + 8 >> 2];
+      if ((e | 0) < 0) {
+       break f;
+      }
+      h = l - b | 0;
+      if ((h | 0) < (e | 0)) {
+       break f;
+      }
+      p = q[b >> 2];
+      if (q[b + 12 >> 2] != -1 | p >>> 0 > h - e >>> 3 >>> 0) {
+       break f;
+      }
+      e = b + e | 0;
+      b = q[e + 4 >> 2];
+      if (b & 1 ? 0 : b) {
+       break f;
+      }
+      h : {
+       if ((p | 0) < 1) {
+        break h;
+       }
+       k = 0;
+       while (1) {
+        h = e;
+        b = b & 1 ? (e + (k << 3) | 0) + (b & -2) | 0 : b;
+        i : {
+         if (!b) {
+          break i;
+         }
+         while (1) {
+          if (r >>> 0 < b >>> 0 | h >>> 0 > b >>> 0) {
+           break f;
+          }
+          h = q[b >> 2];
+          j = h & 1;
+          j : {
+           if (h) {
+            if (!j) {
+             break f;
+            }
+            j = (h & -2) + b | 0;
+            break j;
+           }
+           if (!j) {
+            break i;
+           }
+           j = (h & -2) + b | 0;
+          }
+          h = b + 1 | 0;
+          b = j;
+          if (b) {
+           continue;
+          }
+          break;
+         }
+        }
+        k = k + 1 | 0;
+        if ((p | 0) == (k | 0)) {
+         break h;
+        }
+        b = q[((k << 3) + e | 0) + 4 >> 2];
+        continue;
+       }
+      }
+      o = o + 1 | 0;
+      if ((n | 0) != (o | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (!yR(a, f, d)) {
+     break f;
+    }
+    if (zR(f, c)) {
+     break e;
+    }
+   }
+   M$(f);
+   break a;
+  }
+  q[f >> 2] = -66913275;
+  g = f;
+ }
+ Ca = m + 16 | 0;
+ return g;
+}
+function ij(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0;
+ e = Ca - 1568 | 0;
+ Ca = e;
+ g = q[a + 4 >> 2];
+ o[e + 47 | 0] = 0;
+ h = q[q[g + 492 >> 2] + 12 >> 2];
+ a : {
+  if (!(q[q[g + 128 >> 2] + 52 >> 2] | t[g + 16 >> 2] > c >>> 0)) {
+   f = 6;
+   break a;
+  }
+  d = d & 1024 ? d | 3 : d;
+  b : {
+   if (b) {
+    q[a + 164 >> 2] = q[b + 16 >> 2];
+    f = q[b + 20 >> 2];
+    break b;
+   }
+   q[a + 164 >> 2] = 65536;
+   f = 65536;
+  }
+  q[a + 108 >> 2] = 0;
+  q[a + 72 >> 2] = 1869968492;
+  q[a + 168 >> 2] = f;
+  j = d & 1;
+  o[a + 161 | 0] = !j;
+  f = !(d & 3);
+  o[a + 160 | 0] = f;
+  f = n[q[h >> 2]](e + 48 | 0, g, b, a, q[g + 424 >> 2], q[g + 532 >> 2], f, d >>> 16 & 15, 84) | 0;
+  if (f) {
+   break a;
+  }
+  k = d & 1024;
+  o[e + 117 | 0] = k >>> 10;
+  q[e + 1412 >> 2] = q[g + 404 >> 2];
+  q[e + 1416 >> 2] = q[g + 408 >> 2];
+  q[e + 1420 >> 2] = q[g + 412 >> 2];
+  q[e + 1424 >> 2] = q[g + 416 >> 2];
+  q[e + 1544 >> 2] = q[g + 548 >> 2];
+  q[e + 1548 >> 2] = q[g + 544 >> 2];
+  f = cj(e + 48 | 0, c, e + 16 | 0, e + 47 | 0);
+  if (!f) {
+   l = r[a + 160 | 0];
+   f = e + 1436 | 0;
+   m = q[f + 4 >> 2];
+   i = e + 32 | 0;
+   c = i;
+   q[c >> 2] = q[f >> 2];
+   q[c + 4 >> 2] = m;
+   c = q[e + 1432 >> 2];
+   q[e + 24 >> 2] = q[e + 1428 >> 2];
+   q[e + 28 >> 2] = c;
+   c = q[e + 1448 >> 2];
+   f = q[e + 1444 >> 2];
+   n[q[h + 4 >> 2]](e + 48 | 0);
+   h = a + 124 | 0;
+   q[h >> 2] = q[h >> 2] & 1 | 4;
+   c : {
+    if (k) {
+     b = q[a + 156 >> 2];
+     u = a, v = Ae(q[e + 80 >> 2]) >> 16, q[u + 32 >> 2] = v;
+     u = a, v = Ae(q[e + 88 >> 2]) >> 16, q[u + 40 >> 2] = v;
+     d = q[i + 4 >> 2];
+     q[b + 20 >> 2] = q[i >> 2];
+     q[b + 24 >> 2] = d;
+     d = q[e + 28 >> 2];
+     q[b + 12 >> 2] = q[e + 24 >> 2];
+     q[b + 16 >> 2] = d;
+     q[b + 32 >> 2] = c;
+     q[b + 28 >> 2] = f;
+     o[b + 8 | 0] = 1;
+     break c;
+    }
+    u = a, v = Ae(q[e + 88 >> 2]) >> 16, q[u + 40 >> 2] = v;
+    u = a, v = Ae(q[e + 88 >> 2]) >> 16, q[u + 56 >> 2] = v;
+    o[q[a + 156 >> 2] + 8 | 0] = 0;
+    i = d & 16;
+    d : {
+     if (i) {
+      d = q[g + 476 >> 2] - q[g + 468 >> 2] >> 16;
+      q[a + 52 >> 2] = d;
+      break d;
+     }
+     d = e + 92 | 0;
+     u = a, v = Ae(q[d >> 2]) >> 16, q[u + 52 >> 2] = v;
+     d = Ae(q[d >> 2]) >> 16;
+    }
+    q[a + 72 >> 2] = 1869968492;
+    q[a + 60 >> 2] = d;
+    if (!(!b | s[b + 14 >> 1] > 23)) {
+     q[a + 124 >> 2] = q[a + 124 >> 2] | 256;
+    }
+    h = a + 108 | 0;
+    e : {
+     if (!(q[e + 28 >> 2] | (q[e + 24 >> 2] != 65536 | q[e + 36 >> 2] != 65536))) {
+      if (!q[e + 32 >> 2]) {
+       break e;
+      }
+     }
+     vf(h, e + 24 | 0);
+     u = a, v = Ee(q[a + 40 >> 2], q[e + 24 >> 2]), q[u + 40 >> 2] = v;
+     b = a + 52 | 0;
+     u = b, v = Ee(q[b >> 2], q[e + 36 >> 2]), q[u >> 2] = v;
+    }
+    if (c | f) {
+     wf(h, f, c);
+     q[a + 40 >> 2] = f + q[a + 40 >> 2];
+     b = a + 52 | 0;
+     q[b >> 2] = c + q[b >> 2];
+    }
+    if (!(r[e + 47 | 0] ? 0 : j)) {
+     c = q[a + 168 >> 2];
+     f = q[a + 164 >> 2];
+     d = q[e + 64 >> 2];
+     b = q[d + 4 >> 2];
+     f : {
+      if (q[e + 120 >> 2] ? l : 0) {
+       break f;
+      }
+      d = p[d + 2 >> 1];
+      if ((d | 0) < 1) {
+       break f;
+      }
+      d = d & 65535;
+      while (1) {
+       u = b, v = Ee(q[b >> 2], f), q[u >> 2] = v;
+       u = b, v = Ee(q[b + 4 >> 2], c), q[u + 4 >> 2] = v;
+       b = b + 8 | 0;
+       j = (d | 0) > 1;
+       d = d + -1 | 0;
+       if (j) {
+        continue;
+       }
+       break;
+      }
+     }
+     u = a, v = Ee(q[a + 40 >> 2], f), q[u + 40 >> 2] = v;
+     b = a + 52 | 0;
+     u = b, v = Ee(q[b >> 2], c), q[u >> 2] = v;
+    }
+    qf(h, e);
+    b = q[e >> 2];
+    q[a + 24 >> 2] = q[e + 8 >> 2] - b;
+    c = q[e + 4 >> 2];
+    d = q[e + 12 >> 2];
+    q[a + 36 >> 2] = d;
+    q[a + 32 >> 2] = b;
+    q[a + 28 >> 2] = d - c;
+    if (!i) {
+     break c;
+    }
+    Of(a + 24 | 0, q[a + 52 >> 2]);
+   }
+   q[a + 136 >> 2] = q[e + 16 >> 2];
+   q[a + 140 >> 2] = q[e + 20 >> 2];
+   f = 0;
+   b = q[q[g + 128 >> 2] + 52 >> 2];
+   if (!b) {
+    break a;
+   }
+   n[q[q[b >> 2] + 4 >> 2]](q[b + 4 >> 2], e + 16 | 0);
+   q[a + 136 >> 2] = 0;
+   q[a + 140 >> 2] = 0;
+   break a;
+  }
+  n[q[h + 4 >> 2]](e + 48 | 0);
+ }
+ Ca = e + 1568 | 0;
+ return f | 0;
+}
+function sr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ g = q[b + 4 >> 2];
+ a : {
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0) {
+   break a;
+  }
+  f = e - a | 0;
+  if (f >>> 0 < 2) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  c = 1;
+  if ((d | 0) < 1) {
+   c = 0;
+   break a;
+  }
+  h = r[a | 0] | r[a + 1 | 0] << 8;
+  h = (h << 24 | h << 8 & 16711680) >>> 16 | 0;
+  if (h >>> 0 > 10) {
+   break a;
+  }
+  b : {
+   c : {
+    switch (h - 1 | 0) {
+    default:
+     c = q[b + 32 >> 2];
+     if (c >>> 0 > 2147483646) {
+      c = 0;
+      break a;
+     }
+     if (!c) {
+      break b;
+     }
+     a = a + 2 | 0;
+     if (g >>> 0 > a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e >>> 0 < a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e - a >>> 0 < c << 1 >>> 0) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -2;
+     c = 0;
+     if ((d | 0) >= 2) {
+      break b;
+     }
+     break a;
+    case 1:
+     c = a + 2 | 0;
+     if (g >>> 0 > c >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e >>> 0 < c >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e - c >>> 0 < 10) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -2;
+     if ((d | 0) < 2) {
+      c = 0;
+      break a;
+     }
+     c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+     if (c >>> 0 < 6) {
+      c = 0;
+      break a;
+     }
+     f = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+     if (4294967295 / (c >>> 0) >>> 0 <= f >>> 0) {
+      c = 0;
+      break a;
+     }
+     c = w(c, f);
+     if (!c) {
+      break b;
+     }
+     a = a + 12 | 0;
+     if (g >>> 0 > a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e >>> 0 < a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e - a >>> 0 < c >>> 0) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -3;
+     c = 0;
+     if ((d | 0) >= 3) {
+      break b;
+     }
+     break a;
+    case 3:
+     q[i + 12 >> 2] = a;
+     c = vr(a + 2 | 0, b, i + 12 | 0);
+     break a;
+    case 5:
+     c = a + 2 | 0;
+     if (g >>> 0 > c >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e >>> 0 < c >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e - c >>> 0 < 10) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -2;
+     if ((d | 0) < 2) {
+      c = 0;
+      break a;
+     }
+     c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+     if (c >>> 0 < 4) {
+      c = 0;
+      break a;
+     }
+     f = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+     if (4294967295 / (c >>> 0) >>> 0 <= f >>> 0) {
+      c = 0;
+      break a;
+     }
+     c = w(c, f);
+     if (!c) {
+      break b;
+     }
+     a = a + 12 | 0;
+     if (g >>> 0 > a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e >>> 0 < a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e - a >>> 0 < c >>> 0) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -3;
+     c = 0;
+     if ((d | 0) >= 3) {
+      break b;
+     }
+     break a;
+    case 7:
+     if (f >>> 0 < 6) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -2;
+     if ((d | 0) < 2) {
+      c = 0;
+      break a;
+     }
+     c = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+     if (!c) {
+      break b;
+     }
+     a = a + 6 | 0;
+     if (g >>> 0 > a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e >>> 0 < a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e - a >>> 0 < c << 1 >>> 0) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -3;
+     c = 0;
+     if ((d | 0) >= 3) {
+      break b;
+     }
+     break a;
+    case 0:
+    case 2:
+    case 4:
+    case 6:
+    case 8:
+     break a;
+    case 9:
+     break c;
+    }
+   }
+   if (f >>> 0 < 8) {
+    c = 0;
+    break a;
+   }
+   q[b + 12 >> 2] = d + -2;
+   if ((d | 0) < 2) {
+    c = 0;
+    break a;
+   }
+   c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   if (c >>> 0 > 4) {
+    c = 0;
+    break a;
+   }
+   c = w(c, r[a + 7 | 0] | r[a + 6 | 0] << 8);
+   if ((c | 0) == -1) {
+    c = 0;
+    break a;
+   }
+   if (!c) {
+    break b;
+   }
+   a = a + 8 | 0;
+   if (g >>> 0 > a >>> 0) {
+    c = 0;
+    break a;
+   }
+   if (e >>> 0 < a >>> 0) {
+    c = 0;
+    break a;
+   }
+   if (e - a >>> 0 < c >>> 0) {
+    c = 0;
+    break a;
+   }
+   q[b + 12 >> 2] = d + -3;
+   c = 0;
+   if ((d | 0) < 3) {
+    break a;
+   }
+  }
+  c = 1;
+ }
+ Ca = i + 16 | 0;
+ return c;
+}
+function es(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ g = q[b + 4 >> 2];
+ a : {
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0) {
+   break a;
+  }
+  f = e - a | 0;
+  if (f >>> 0 < 2) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  c = 1;
+  if ((d | 0) < 1) {
+   c = 0;
+   break a;
+  }
+  h = r[a | 0] | r[a + 1 | 0] << 8;
+  h = (h << 24 | h << 8 & 16711680) >>> 16 | 0;
+  if (h >>> 0 > 10) {
+   break a;
+  }
+  b : {
+   c : {
+    switch (h - 1 | 0) {
+    default:
+     c = q[b + 32 >> 2];
+     if (c >>> 0 > 1073741822) {
+      c = 0;
+      break a;
+     }
+     if (!c) {
+      break b;
+     }
+     a = a + 2 | 0;
+     if (g >>> 0 > a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e >>> 0 < a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e - a >>> 0 < c << 2 >>> 0) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -2;
+     c = 0;
+     if ((d | 0) >= 2) {
+      break b;
+     }
+     break a;
+    case 1:
+     c = a + 2 | 0;
+     if (g >>> 0 > c >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e >>> 0 < c >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e - c >>> 0 < 10) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -2;
+     if ((d | 0) < 2) {
+      c = 0;
+      break a;
+     }
+     c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+     if (c >>> 0 < 8) {
+      c = 0;
+      break a;
+     }
+     f = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+     if (4294967295 / (c >>> 0) >>> 0 <= f >>> 0) {
+      c = 0;
+      break a;
+     }
+     c = w(c, f);
+     if (!c) {
+      break b;
+     }
+     a = a + 12 | 0;
+     if (g >>> 0 > a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e >>> 0 < a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e - a >>> 0 < c >>> 0) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -3;
+     c = 0;
+     if ((d | 0) >= 3) {
+      break b;
+     }
+     break a;
+    case 3:
+     q[i + 12 >> 2] = a;
+     c = fs(a + 2 | 0, b, i + 12 | 0);
+     break a;
+    case 5:
+     c = a + 2 | 0;
+     if (g >>> 0 > c >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e >>> 0 < c >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e - c >>> 0 < 10) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -2;
+     if ((d | 0) < 2) {
+      c = 0;
+      break a;
+     }
+     c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+     if (c >>> 0 < 6) {
+      c = 0;
+      break a;
+     }
+     f = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+     if (4294967295 / (c >>> 0) >>> 0 <= f >>> 0) {
+      c = 0;
+      break a;
+     }
+     c = w(c, f);
+     if (!c) {
+      break b;
+     }
+     a = a + 12 | 0;
+     if (g >>> 0 > a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e >>> 0 < a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e - a >>> 0 < c >>> 0) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -3;
+     c = 0;
+     if ((d | 0) >= 3) {
+      break b;
+     }
+     break a;
+    case 7:
+     if (f >>> 0 < 6) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -2;
+     if ((d | 0) < 2) {
+      c = 0;
+      break a;
+     }
+     c = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+     if (!c) {
+      break b;
+     }
+     a = a + 6 | 0;
+     if (g >>> 0 > a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e >>> 0 < a >>> 0) {
+      c = 0;
+      break a;
+     }
+     if (e - a >>> 0 < c << 2 >>> 0) {
+      c = 0;
+      break a;
+     }
+     q[b + 12 >> 2] = d + -3;
+     c = 0;
+     if ((d | 0) >= 3) {
+      break b;
+     }
+     break a;
+    case 0:
+    case 2:
+    case 4:
+    case 6:
+    case 8:
+     break a;
+    case 9:
+     break c;
+    }
+   }
+   if (f >>> 0 < 8) {
+    c = 0;
+    break a;
+   }
+   q[b + 12 >> 2] = d + -2;
+   if ((d | 0) < 2) {
+    c = 0;
+    break a;
+   }
+   c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   if (c >>> 0 > 4) {
+    c = 0;
+    break a;
+   }
+   c = w(c, r[a + 7 | 0] | r[a + 6 | 0] << 8);
+   if ((c | 0) == -1) {
+    c = 0;
+    break a;
+   }
+   if (!c) {
+    break b;
+   }
+   a = a + 8 | 0;
+   if (g >>> 0 > a >>> 0) {
+    c = 0;
+    break a;
+   }
+   if (e >>> 0 < a >>> 0) {
+    c = 0;
+    break a;
+   }
+   if (e - a >>> 0 < c >>> 0) {
+    c = 0;
+    break a;
+   }
+   q[b + 12 >> 2] = d + -3;
+   c = 0;
+   if ((d | 0) < 3) {
+    break a;
+   }
+  }
+  c = 1;
+ }
+ Ca = i + 16 | 0;
+ return c;
+}
+function OT(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ e = 1;
+ a : {
+  b : {
+   c : {
+    g = c - b | 0;
+    if ((g | 0) < 1) {
+     break c;
+    }
+    h = a + 72 | 0;
+    f = r[h + r[b | 0] | 0] + -5 | 0;
+    if (f >>> 0 > 24) {
+     break a;
+    }
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         switch (f - 1 | 0) {
+         default:
+          e = 2;
+          f = -2;
+          if ((g | 0) < 2) {
+           break f;
+          }
+          if (n[q[a + 340 >> 2]](a, b)) {
+           break g;
+          }
+          break a;
+         case 0:
+          e = 3;
+          f = -2;
+          if ((g | 0) < 3) {
+           break f;
+          }
+          if (!n[q[a + 344 >> 2]](a, b)) {
+           break a;
+          }
+          break g;
+         case 2:
+         case 3:
+         case 4:
+         case 5:
+         case 6:
+         case 7:
+         case 8:
+         case 9:
+         case 10:
+         case 11:
+         case 12:
+         case 14:
+         case 15:
+         case 17:
+         case 19:
+         case 20:
+         case 21:
+         case 22:
+         case 23:
+          break a;
+         case 13:
+          break d;
+         case 16:
+         case 18:
+          break g;
+         case 1:
+          break h;
+         }
+        }
+        e = 4;
+        f = -2;
+        if ((g | 0) < 4) {
+         break f;
+        }
+        if (!n[q[a + 348 >> 2]](a, b)) {
+         break a;
+        }
+       }
+       b = b + e | 0;
+       f = c - b | 0;
+       if ((f | 0) < 1) {
+        break c;
+       }
+       while (1) {
+        g = r[r[b | 0] + h | 0] + -5 | 0;
+        if (g >>> 0 > 24) {
+         break e;
+        }
+        e = 1;
+        i : {
+         j : {
+          k : {
+           switch (g - 1 | 0) {
+           default:
+            if ((f | 0) < 2) {
+             return -2;
+            }
+            e = 2;
+            if (n[q[a + 328 >> 2]](a, b)) {
+             break j;
+            }
+            break e;
+           case 0:
+            if ((f | 0) < 3) {
+             return -2;
+            }
+            e = 3;
+            if (!n[q[a + 332 >> 2]](a, b)) {
+             break e;
+            }
+            break j;
+           case 12:
+            break i;
+           case 16:
+           case 18:
+           case 19:
+           case 20:
+           case 21:
+            break j;
+           case 1:
+            break k;
+           case 2:
+           case 3:
+           case 4:
+           case 5:
+           case 6:
+           case 7:
+           case 8:
+           case 9:
+           case 10:
+           case 11:
+           case 13:
+           case 14:
+           case 15:
+           case 17:
+           case 22:
+           case 23:
+            break e;
+           }
+          }
+          if ((f | 0) < 4) {
+           return -2;
+          }
+          e = 4;
+          if (!n[q[a + 336 >> 2]](a, b)) {
+           break e;
+          }
+         }
+         b = b + e | 0;
+         f = c - b | 0;
+         if ((f | 0) > 0) {
+          continue;
+         }
+         break c;
+        }
+        break;
+       }
+       q[d >> 2] = b + 1;
+       f = 9;
+      }
+      return f;
+     }
+     q[d >> 2] = b;
+     return 0;
+    }
+    e = b + 1 | 0;
+    if ((c - e | 0) < 1) {
+     break c;
+    }
+    a = r[e | 0];
+    if ((a | 0) == 120) {
+     e = b + 2 | 0;
+     if ((c - e | 0) < 1) {
+      break c;
+     }
+     if ((r[r[e | 0] + h | 0] & 254) != 24) {
+      break b;
+     }
+     b = b + 3 | 0;
+     if ((c - b | 0) <= 0) {
+      break c;
+     }
+     while (1) {
+      a = r[r[b | 0] + h | 0];
+      if (a + -24 >>> 0 >= 2) {
+       if ((a | 0) == 18) {
+        q[d >> 2] = e + 2;
+        return 10;
+       }
+       q[d >> 2] = b;
+       return 0;
+      }
+      e = b;
+      b = b + 1 | 0;
+      if ((c - b | 0) > 0) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    }
+    l : {
+     if (r[a + h | 0] != 25) {
+      break l;
+     }
+     while (1) {
+      a = e;
+      e = a + 1 | 0;
+      if ((c - e | 0) < 1) {
+       break c;
+      }
+      b = r[r[e | 0] + h | 0];
+      if ((b | 0) == 25) {
+       continue;
+      }
+      break;
+     }
+     if ((b | 0) != 18) {
+      break l;
+     }
+     q[d >> 2] = a + 2;
+     return 10;
+    }
+    q[d >> 2] = e;
+    return 0;
+   }
+   return -1;
+  }
+  q[d >> 2] = e;
+  return 0;
+ }
+ q[d >> 2] = b;
+ return 0;
+}
+function tr(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 16) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  if ((d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) >>> 0 < 4) {
+   break a;
+  }
+  if (!ur(a + 4 | 0, b, a)) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  g = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  if (g >>> 0 > 2147483646) {
+   break a;
+  }
+  d = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+  n = (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + a | 0;
+  d = a;
+  a = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+  j = d + (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) | 0;
+  o = g << 1;
+  a = 0;
+  while (1) {
+   b : {
+    if (!(a & 1)) {
+     d = h;
+     break b;
+    }
+    c : {
+     if (!g) {
+      d = 0 - i | 0;
+      a = 0;
+      break c;
+     }
+     if (4294967295 / (g >>> 0) >>> 0 <= i >>> 0) {
+      break a;
+     }
+     d = 0 - i | 0;
+     if (4294967295 / (o >>> 0) >>> 0 <= d >>> 0) {
+      break a;
+     }
+     a = w(i, g);
+    }
+    e = (a << 1) + j | 0;
+    f = w(d, o);
+    d : {
+     if (!f) {
+      d = q[b + 12 >> 2];
+      break d;
+     }
+     if (t[b + 4 >> 2] > e >>> 0) {
+      break a;
+     }
+     d = q[b + 8 >> 2];
+     if (d >>> 0 < e >>> 0 | d - e >>> 0 < f >>> 0) {
+      break a;
+     }
+     f = q[b + 12 >> 2];
+     d = f + -1 | 0;
+     q[b + 12 >> 2] = d;
+     if ((f | 0) < 1) {
+      break a;
+     }
+    }
+    d = (i - l | 0) + d | 0;
+    q[b + 12 >> 2] = d;
+    if ((d | 0) < 1 | (a | 0) > 0) {
+     break a;
+    }
+    d = h;
+    l = i;
+    a = j;
+    if (e >>> 0 >= a >>> 0) {
+     break b;
+    }
+    while (1) {
+     a = a + -2 | 0;
+     l = r[a | 0] << 8 | r[a + 1 | 0];
+     d = d >>> 0 > l >>> 0 ? d : l + 1 | 0;
+     if (e >>> 0 < a >>> 0) {
+      continue;
+     }
+     break;
+    }
+    l = i;
+   }
+   if ((k | 0) <= (m | 0)) {
+    f = m + 1 | 0;
+    if (!(!g | 4294967295 / (o >>> 0) >>> 0 > f >>> 0)) {
+     return 0;
+    }
+    e = w(f, o);
+    e : {
+     if (!e) {
+      a = q[b + 12 >> 2];
+      break e;
+     }
+     if (t[b + 4 >> 2] > j >>> 0) {
+      break a;
+     }
+     a = q[b + 8 >> 2];
+     if (a >>> 0 < j >>> 0 | a - j >>> 0 < e >>> 0) {
+      break a;
+     }
+     e = q[b + 12 >> 2];
+     a = e + -1 | 0;
+     q[b + 12 >> 2] = a;
+     if ((e | 0) < 1) {
+      break a;
+     }
+    }
+    a = ((m ^ -1) + k | 0) + a | 0;
+    q[b + 12 >> 2] = a;
+    if ((a | 0) < 1 | (4294967295 / (g >>> 0) >>> 0 <= f >>> 0 ? g : 0)) {
+     break a;
+    }
+    e = w(f, g);
+    if ((e | 0) < 0) {
+     break a;
+    }
+    a = w(g, k);
+    if ((a | 0) < (e | 0)) {
+     e = (e << 1) + j | 0;
+     a = (a << 1) + j | 0;
+     while (1) {
+      k = r[a + 1 | 0] | r[a | 0] << 8;
+      d = d >>> 0 > k >>> 0 ? d : k + 1 | 0;
+      a = a + 2 | 0;
+      if (a >>> 0 < e >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    k = f;
+   }
+   if (d >>> 0 > 536870910) {
+    break a;
+   }
+   e = d << 3;
+   f : {
+    if (!d) {
+     f = q[b + 12 >> 2];
+     break f;
+    }
+    if (t[b + 4 >> 2] > n >>> 0) {
+     break a;
+    }
+    a = q[b + 8 >> 2];
+    if (a >>> 0 < n >>> 0 | a - n >>> 0 < e >>> 0) {
+     break a;
+    }
+    a = q[b + 12 >> 2];
+    f = a + -1 | 0;
+    q[b + 12 >> 2] = f;
+    if ((a | 0) < 1) {
+     break a;
+    }
+   }
+   a = (h - d | 0) + f | 0;
+   q[b + 12 >> 2] = a;
+   if ((a | 0) < 1) {
+    break a;
+   }
+   if ((h | 0) < (d | 0)) {
+    f = e + n | 0;
+    a = (h << 3) + n | 0;
+    while (1) {
+     h = r[a + 1 | 0] | r[a | 0] << 8;
+     m = (m | 0) < (h | 0) ? h : m;
+     i = (i | 0) > (h | 0) ? h : i;
+     a = a + 8 | 0;
+     if (a >>> 0 < f >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   h = d;
+   a = (i | 0) < (l | 0);
+   if (a | (k | 0) <= (m | 0)) {
+    continue;
+   }
+   break;
+  }
+  p = 1;
+  if (!c) {
+   break a;
+  }
+  q[c >> 2] = d;
+ }
+ return p;
+}
+function DE(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ i = q[b + 76 >> 2];
+ if (i) {
+  g = q[b + 96 >> 2];
+  k = q[b + 88 >> 2];
+  h = (q[b + 48 >> 2] & -2) != 4;
+  b = 0;
+  while (1) {
+   e = w(b, 20);
+   f = k + e | 0;
+   c = s[f + 16 >> 1];
+   a : {
+    if ((c & 31) != 29 | r[f + 12 | 0] & 32) {
+     break a;
+    }
+    f = c >>> 8 | 0;
+    j = f + -1 | 0;
+    if (j >>> 0 > 20) {
+     break a;
+    }
+    b : {
+     c : {
+      d : {
+       switch (j - 6 | 0) {
+       default:
+        if (!h) {
+         q[e + g >> 2] = (q[a + 20 >> 2] + (c >>> 9 | 0) | 0) / (f | 0);
+         break a;
+        }
+        q[(e + g | 0) + 4 >> 2] = 0 - ((q[a + 24 >> 2] + (c >>> 9 | 0) | 0) / (f | 0) | 0);
+        break a;
+       case 10:
+        if (!h) {
+         f = e + g | 0;
+         e = q[a + 20 >> 2];
+         c = e >> 31;
+         l = f, m = U0(e << 2, c << 2 | e >>> 30, 18, 0), q[l >> 2] = m;
+         break a;
+        }
+        f = e + g | 0;
+        e = 0 - q[a + 24 >> 2] | 0;
+        c = e >> 31;
+        l = f, m = U0(e << 2, c << 2 | e >>> 30, 18, 0), q[l + 4 >> 2] = m;
+        break a;
+       case 12:
+        q[d + 12 >> 2] = 0;
+        c = q[a + 72 >> 2];
+        if (n[q[c + 156 >> 2]](a, q[a + 76 >> 2], 48, d + 12 | 0, q[c + 20 >> 2])) {
+         break b;
+        }
+        q[d + 12 >> 2] = 0;
+        c = q[a + 72 >> 2];
+        if (!n[q[c + 156 >> 2]](a, q[a + 76 >> 2], 49, d + 12 | 0, q[c + 20 >> 2])) {
+         break c;
+        }
+        break b;
+       case 13:
+        q[d + 12 >> 2] = 0;
+        c = q[a + 72 >> 2];
+        if (!n[q[c + 156 >> 2]](a, q[a + 76 >> 2], 46, d + 12 | 0, q[c + 20 >> 2])) {
+         q[d + 12 >> 2] = 0;
+         c = q[a + 72 >> 2];
+         if (!n[q[c + 156 >> 2]](a, q[a + 76 >> 2], 44, d + 12 | 0, q[c + 20 >> 2])) {
+          break a;
+         }
+        }
+        c = q[a + 72 >> 2];
+        f = q[d + 12 >> 2];
+        if (!h) {
+         l = e + g | 0, m = n[q[c + 168 >> 2]](a, q[a + 76 >> 2], f, q[c + 32 >> 2]) | 0, q[l >> 2] = m;
+         break a;
+        }
+        l = e + g | 0, m = n[q[c + 172 >> 2]](a, q[a + 76 >> 2], f, q[c + 36 >> 2]) | 0, q[l + 4 >> 2] = m;
+        break a;
+       case 0:
+       case 1:
+       case 2:
+       case 3:
+       case 4:
+       case 5:
+       case 6:
+       case 7:
+       case 8:
+       case 11:
+        break a;
+       case 14:
+        break d;
+       }
+      }
+      if (!h) {
+       e = e + g | 0;
+       q[e >> 2] = q[e >> 2] / 2;
+       break a;
+      }
+      e = e + g | 0;
+      q[e + 4 >> 2] = q[e + 4 >> 2] / 2;
+      break a;
+     }
+     q[d + 12 >> 2] = 0;
+     c = q[a + 72 >> 2];
+     if (n[q[c + 156 >> 2]](a, q[a + 76 >> 2], 50, d + 12 | 0, q[c + 20 >> 2])) {
+      break b;
+     }
+     q[d + 12 >> 2] = 0;
+     c = q[a + 72 >> 2];
+     if (n[q[c + 156 >> 2]](a, q[a + 76 >> 2], 51, d + 12 | 0, q[c + 20 >> 2])) {
+      break b;
+     }
+     q[d + 12 >> 2] = 0;
+     c = q[a + 72 >> 2];
+     if (n[q[c + 156 >> 2]](a, q[a + 76 >> 2], 52, d + 12 | 0, q[c + 20 >> 2])) {
+      break b;
+     }
+     q[d + 12 >> 2] = 0;
+     c = q[a + 72 >> 2];
+     if (n[q[c + 156 >> 2]](a, q[a + 76 >> 2], 53, d + 12 | 0, q[c + 20 >> 2])) {
+      break b;
+     }
+     q[d + 12 >> 2] = 0;
+     c = q[a + 72 >> 2];
+     if (n[q[c + 156 >> 2]](a, q[a + 76 >> 2], 54, d + 12 | 0, q[c + 20 >> 2])) {
+      break b;
+     }
+     q[d + 12 >> 2] = 0;
+     c = q[a + 72 >> 2];
+     if (n[q[c + 156 >> 2]](a, q[a + 76 >> 2], 55, d + 12 | 0, q[c + 20 >> 2])) {
+      break b;
+     }
+     q[d + 12 >> 2] = 0;
+     c = q[a + 72 >> 2];
+     if (n[q[c + 156 >> 2]](a, q[a + 76 >> 2], 56, d + 12 | 0, q[c + 20 >> 2])) {
+      break b;
+     }
+     q[d + 12 >> 2] = 0;
+     c = q[a + 72 >> 2];
+     if (!n[q[c + 156 >> 2]](a, q[a + 76 >> 2], 57, d + 12 | 0, q[c + 20 >> 2])) {
+      break a;
+     }
+    }
+    c = q[a + 72 >> 2];
+    f = q[d + 12 >> 2];
+    if (!h) {
+     l = e + g | 0, m = n[q[c + 168 >> 2]](a, q[a + 76 >> 2], f, q[c + 32 >> 2]) | 0, q[l >> 2] = m;
+     break a;
+    }
+    l = e + g | 0, m = n[q[c + 172 >> 2]](a, q[a + 76 >> 2], f, q[c + 36 >> 2]) | 0, q[l + 4 >> 2] = m;
+   }
+   b = b + 1 | 0;
+   if ((i | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 16 | 0;
+}
+function EJ(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ d = q[a >> 2];
+ a : {
+  if (d >>> 0 >= b >>> 0) {
+   break a;
+  }
+  e = r[d | 0];
+  f = e + -43 | 0;
+  b : {
+   if (f >>> 0 > 2 | !(f - 1)) {
+    break b;
+   }
+   d = d + 1 | 0;
+   if ((d | 0) == (b | 0)) {
+    break a;
+   }
+   m = (e | 0) == 45;
+   e = r[d | 0];
+   f = e + -43 | 0;
+   if (f >>> 0 > 2) {
+    break b;
+   }
+   if (f - 1) {
+    break a;
+   }
+  }
+  if ((e | 0) != 46) {
+   q[h + 8 >> 2] = d;
+   g = CJ(h + 8 | 0, b, 10);
+   e = q[h + 8 >> 2];
+   c : {
+    if ((e | 0) != (d | 0)) {
+     if (r[e | 0] != 35 | e >>> 0 >= b >>> 0) {
+      break c;
+     }
+     f = e + 1 | 0;
+     q[h + 8 >> 2] = f;
+     g = CJ(h + 8 | 0, b, g);
+     e = q[h + 8 >> 2];
+     if ((f | 0) != (e | 0)) {
+      break c;
+     }
+    }
+    e = d;
+    g = 0;
+   }
+   if ((d | 0) == (e | 0)) {
+    break a;
+   }
+   k = (g | 0) > 32767;
+   g = k ? g : g << 16;
+   d = e;
+  }
+  d : {
+   if (!(r[d | 0] != 46 | d >>> 0 >= b >>> 0)) {
+    i = 1;
+    d = d + 1 | 0;
+    if (d >>> 0 >= b >>> 0) {
+     e = 0;
+     break d;
+    }
+    e = 0;
+    while (1) {
+     e : {
+      f = r[d | 0];
+      if (f >>> 0 > 32) {
+       break e;
+      }
+      switch (f - 1 | 0) {
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 10:
+      case 13:
+      case 14:
+      case 15:
+      case 16:
+      case 17:
+      case 18:
+      case 19:
+      case 20:
+      case 21:
+      case 22:
+      case 23:
+      case 24:
+      case 25:
+      case 26:
+      case 27:
+      case 28:
+      case 29:
+      case 30:
+       break e;
+      default:
+       break d;
+      }
+     }
+     if (f << 24 >> 24 < 0 | f + -48 >>> 0 > 9) {
+      break d;
+     }
+     f : {
+      if ((e | 0) > 214748363 | (i | 0) > 214748363) {
+       break f;
+      }
+      e = o[f + 291344 | 0] + w(e, 10) | 0;
+      if (!((c | 0) < 1 | g)) {
+       c = c + -1 | 0;
+       break f;
+      }
+      i = w(i, 10);
+     }
+     d = d + 1 | 0;
+     if ((d | 0) != (b | 0)) {
+      continue;
+     }
+     break;
+    }
+    d = b;
+    break d;
+   }
+   e = 0;
+   i = 1;
+  }
+  g : {
+   h : {
+    i : {
+     j : {
+      f = d + 1 | 0;
+      if (!((r[d | 0] | 32) != 101 | f >>> 0 >= b >>> 0)) {
+       q[h + 12 >> 2] = f;
+       j = CJ(h + 12 | 0, b, 10);
+       d = q[h + 12 >> 2];
+       k : {
+        if ((f | 0) != (d | 0)) {
+         if (r[d | 0] != 35 | d >>> 0 >= b >>> 0) {
+          break k;
+         }
+         l = d + 1 | 0;
+         q[h + 12 >> 2] = l;
+         j = CJ(h + 12 | 0, b, j);
+         d = q[h + 12 >> 2];
+         if ((l | 0) != (d | 0)) {
+          break k;
+         }
+        }
+        d = f;
+        j = 0;
+       }
+       if ((d | 0) == (f | 0)) {
+        break a;
+       }
+       if ((j | 0) > 1e3) {
+        break j;
+       }
+       b = j;
+       j = (j | 0) < -1e3;
+       c = (j ? 0 : b) + c | 0;
+      }
+      q[a >> 2] = d;
+      if (!(e | g)) {
+       break a;
+      }
+      d = 2147483647;
+      if (k) {
+       break g;
+      }
+      if (j) {
+       break a;
+      }
+      if ((c | 0) <= 0) {
+       break i;
+      }
+      while (1) {
+       if ((g | 0) > 214748363) {
+        break g;
+       }
+       l : {
+        if ((e | 0) >= 214748364) {
+         if ((i | 0) == 1) {
+          break g;
+         }
+         i = (i | 0) / 10 | 0;
+         break l;
+        }
+        e = w(e, 10);
+       }
+       g = w(g, 10);
+       a = (c | 0) > 1;
+       c = c + -1 | 0;
+       if (a) {
+        continue;
+       }
+       break;
+      }
+      break h;
+     }
+     q[a >> 2] = d;
+     d = 2147483647;
+     if (e | g) {
+      break g;
+     }
+     break a;
+    }
+    if ((c | 0) >= 0) {
+     break h;
+    }
+    while (1) {
+     a = c;
+     b = g;
+     g = (b | 0) / 10 | 0;
+     m : {
+      if ((i | 0) <= 214748363) {
+       i = w(i, 10);
+       break m;
+      }
+      e = (e | 0) / 10 | 0;
+     }
+     if (!(e ? 0 : b + 9 >>> 0 <= 18)) {
+      c = a + 1 | 0;
+      if (c >>> 0 < a >>> 0) {
+       break h;
+      }
+      continue;
+     }
+     break;
+    }
+    break a;
+   }
+   if (!e) {
+    d = g;
+    break g;
+   }
+   d = Fe(e, i) + g | 0;
+  }
+  n = m ? 0 - d | 0 : d;
+ }
+ Ca = h + 16 | 0;
+ return n;
+}
+function rF(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      if (r[a + 20 | 0]) {
+       if (q[a + 40 >> 2]) {
+        break e;
+       }
+       b = q[a + 48 >> 2];
+       if (b >>> 0 <= 1) {
+        break d;
+       }
+       f = q[a + 52 >> 2];
+       m = f + (b << 2) | 0;
+       i = b + -1 | 0;
+       j = f + 4 | 0;
+       f = q[67760];
+       while (1) {
+        g = q[(i ? j : 271040) >> 2];
+        e = q[g + 12 >> 2];
+        if (e) {
+         h = q[g + 16 >> 2];
+         n = h + w(e, 12) | 0;
+         while (1) {
+          c = e ? h : 271040;
+          b = q[c + 8 >> 2];
+          f : {
+           if (t[a + 48 >> 2] <= b >>> 0) {
+            q[160656] = f;
+            b = f;
+            break f;
+           }
+           b = q[q[a + 52 >> 2] + (b << 2) >> 2];
+          }
+          if (!b) {
+           break b;
+          }
+          k = q[c >> 2];
+          d = k >>> 2 & 3;
+          g : {
+           h : {
+            if (d >>> 0 <= 2) {
+             i : {
+              switch (d - 1 | 0) {
+              case 0:
+               b = q[b >> 2] - q[g + 4 >> 2] | 0;
+               break g;
+              case 1:
+               break i;
+              default:
+               break h;
+              }
+             }
+             b = (q[b >> 2] + (q[a + 4 >> 2] - q[a >> 2] | 0) | 0) - q[a + 8 >> 2] | 0;
+             break g;
+            }
+            J(270848, 270627, 327, 270816);
+            F();
+           }
+           b = q[b >> 2] - q[g >> 2] | 0;
+          }
+          c = q[c + 4 >> 2];
+          if (b >>> 0 < c >>> 0) {
+           break c;
+          }
+          l = k & 1;
+          b = b - c | 0;
+          c = q[g >> 2] + (k >>> 4 | 0) | 0;
+          d = r[c | 0];
+          j : {
+           k : {
+            if (k & 2) {
+             if (l) {
+              if (r[c + 3 | 0] | (r[c + 1 | 0] << 16 | d << 24 | r[c + 2 | 0] << 8)) {
+               break a;
+              }
+              d = b << 8 & 16711680 | b << 24 | (b >>> 8 & 65280 | b >>> 24);
+              o[c | 0] = d;
+              o[c + 1 | 0] = d >>> 8;
+              o[c + 2 | 0] = d >>> 16;
+              o[c + 3 | 0] = d >>> 24;
+              if (!(b >> 31)) {
+               break j;
+              }
+              if (r[a + 20 | 0]) {
+               break k;
+              }
+              break j;
+             }
+             if (r[c + 1 | 0] | d << 8) {
+              break a;
+             }
+             d = (b << 8 & 16711680 | b << 24) >>> 16 | 0;
+             o[c | 0] = d;
+             o[c + 1 | 0] = d >>> 8;
+             c = b << 16;
+             d = c >> 31;
+             c = c >> 16;
+             if (!d & (b | 0) == (c | 0)) {
+              break j;
+             }
+             if (r[a + 20 | 0]) {
+              break k;
+             }
+             break j;
+            }
+            if (l) {
+             if (r[c + 3 | 0] | (r[c + 1 | 0] << 16 | d << 24 | r[c + 2 | 0] << 8)) {
+              break a;
+             }
+             b = b << 8 & 16711680 | b << 24 | (b >>> 8 & 65280 | b >>> 24);
+             o[c | 0] = b;
+             o[c + 1 | 0] = b >>> 8;
+             o[c + 2 | 0] = b >>> 16;
+             o[c + 3 | 0] = b >>> 24;
+             break j;
+            }
+            if (r[c + 1 | 0] | d << 8) {
+             break a;
+            }
+            d = (b << 8 & 16711680 | b << 24) >>> 16 | 0;
+            o[c | 0] = d;
+            o[c + 1 | 0] = d >>> 8;
+            if (!r[a + 20 | 0] | b >>> 0 < 65536) {
+             break j;
+            }
+           }
+           o[a + 20 | 0] = 0;
+          }
+          b = (e | 0) != 0;
+          e = e - b | 0;
+          h = w(b, 12) + h | 0;
+          if ((n | 0) != (h | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        b = (i | 0) != 0;
+        i = i - b | 0;
+        j = (b << 2) + j | 0;
+        if ((m | 0) != (j | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      return;
+     }
+     J(270618, 270627, 314, 270816);
+     F();
+    }
+    J(270830, 270627, 315, 270816);
+    F();
+   }
+   J(270850, 270627, 330, 270816);
+   F();
+  }
+  o[a + 20 | 0] = 0;
+  return;
+ }
+ J(270870, 270627, 490, 270879);
+ F();
+}
+function Zr(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, u = 0, v = 0;
+ d = q[b + 4 >> 2];
+ b = o[c + 2 | 0];
+ if ((b | 0) <= -1) {
+  b = q[a + 24 >> 2];
+  a : {
+   if (!b) {
+    e = q[d + 80 >> 2];
+    b = 0;
+    break a;
+   }
+   e = q[d + 80 >> 2];
+   g = b + -1 | 0;
+   h = q[(((g & 63) << 2) + a | 0) + 28 >> 2];
+   if ((e | 0) != (h | 0)) {
+    break a;
+   }
+   q[a + 24 >> 2] = g;
+   b = g;
+   e = h;
+  }
+  q[a + 24 >> 2] = b + 1;
+  q[(((b & 63) << 2) + a | 0) + 28 >> 2] = e;
+  b = r[c + 2 | 0];
+ }
+ b = r[c + 3 | 0] | b << 8 & 16128;
+ b : {
+  if (!b) {
+   break b;
+  }
+  h = q[a + 24 >> 2];
+  if (!h | t[d + 72 >> 2] >= t[d + 76 >> 2]) {
+   break b;
+  }
+  s = q[d + 80 >> 2];
+  c = b + q[a + 8 >> 2] | 0;
+  b = q[a + 12 >> 2];
+  g = (c - b & -4) + b | 0;
+  while (1) {
+   c : {
+    if (!h) {
+     q[a + 24 >> 2] = 0;
+     break c;
+    }
+    h = h + -1 | 0;
+    n = (((h & 63) << 2) + a | 0) + 28 | 0;
+    xG(d, q[n >> 2]);
+    i = q[a + 4 >> 2];
+    m = q[i + 20 >> 2];
+    if (m >>> 0 > g >>> 0) {
+     break c;
+    }
+    e = q[i + 24 >> 2];
+    if (e >>> 0 < g >>> 0 | e - g >>> 0 < 4) {
+     break c;
+    }
+    b = i + 28 | 0;
+    c = q[b >> 2];
+    q[b >> 2] = c + -1;
+    if ((c | 0) < 1) {
+     break c;
+    }
+    b = q[a + 16 >> 2];
+    u = b;
+    p = q[a + 8 >> 2];
+    v = p - b | 0;
+    j = q[d + 88 >> 2];
+    b = q[d + 72 >> 2];
+    f = r[g | 0];
+    k = r[g + 3 | 0] | (r[g + 1 | 0] << 16 | f << 24 | r[g + 2 | 0] << 8);
+    f = u + (v + (q[j + w(b, 20) >> 2] + (f & 32 ? k | 1073741824 : k & 1073741823) << 1) >>> 1 << 1) | 0;
+    if (m >>> 0 > f >>> 0 | e >>> 0 < f >>> 0 | e - f >>> 0 < 2) {
+     break c;
+    }
+    q[i + 28 >> 2] = c + -2;
+    if ((c | 0) < 2) {
+     break c;
+    }
+    l = (r[f + 1 | 0] | r[f | 0] << 8) + l | 0;
+    if (k >>> 0 >= 1073741824) {
+     f = q[a + 20 >> 2];
+     l = (l + p | 0) - f >>> 1 | 0;
+     f = (l << 1) + f | 0;
+     if (m >>> 0 > f >>> 0 | e >>> 0 < f >>> 0 | e - f >>> 0 < 2) {
+      break c;
+     }
+     q[i + 28 >> 2] = c + -3;
+     if ((c | 0) < 3) {
+      break c;
+     }
+     e = r[f | 0];
+     i = r[f + 1 | 0];
+     d : {
+      e : {
+       if (q[d + 92 >> 2] == (j | 0)) {
+        c = b;
+        if ((b | 0) == q[d + 80 >> 2]) {
+         break e;
+        }
+       }
+       if (!pG(d, 1, 1)) {
+        break d;
+       }
+       c = q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) | 0;
+       f = q[c + 4 >> 2];
+       b = q[d + 92 >> 2] + w(q[d + 80 >> 2], 20) | 0;
+       q[b >> 2] = q[c >> 2];
+       q[b + 4 >> 2] = f;
+       q[b + 16 >> 2] = q[c + 16 >> 2];
+       f = q[c + 12 >> 2];
+       q[b + 8 >> 2] = q[c + 8 >> 2];
+       q[b + 12 >> 2] = f;
+       b = q[d + 72 >> 2];
+       c = q[d + 80 >> 2];
+       j = q[d + 92 >> 2];
+      }
+      q[w(c, 20) + j >> 2] = i | e << 8;
+      q[d + 80 >> 2] = c + 1;
+      q[d + 72 >> 2] = b + 1;
+     }
+     c = q[a + 24 >> 2] + -1 | 0;
+     i = q[(((c & 63) << 2) + a | 0) + 28 >> 2] + 1 | 0;
+     if (c >>> 0 > h >>> 0) {
+      while (1) {
+       q[a + 24 >> 2] = c;
+       xG(d, q[(((c & 63) << 2) + a | 0) + 28 >> 2]);
+       e = q[d + 92 >> 2];
+       f : {
+        g : {
+         if ((e | 0) == q[d + 88 >> 2]) {
+          b = q[d + 80 >> 2];
+          c = b;
+          if ((b | 0) == q[d + 72 >> 2]) {
+           break g;
+          }
+         }
+         if (!pG(d, 1, 1)) {
+          break f;
+         }
+         c = q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) | 0;
+         e = q[c + 4 >> 2];
+         b = q[d + 92 >> 2] + w(q[d + 80 >> 2], 20) | 0;
+         q[b >> 2] = q[c >> 2];
+         q[b + 4 >> 2] = e;
+         q[b + 16 >> 2] = q[c + 16 >> 2];
+         e = q[c + 12 >> 2];
+         q[b + 8 >> 2] = q[c + 8 >> 2];
+         q[b + 12 >> 2] = e;
+         b = q[d + 72 >> 2];
+         c = q[d + 80 >> 2];
+         e = q[d + 92 >> 2];
+        }
+        q[w(c, 20) + e >> 2] = 65535;
+        q[d + 80 >> 2] = c + 1;
+        q[d + 72 >> 2] = b + 1;
+       }
+       c = q[a + 24 >> 2] + -1 | 0;
+       if (c >>> 0 > h >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     xG(d, i);
+     BG(d, q[n >> 2], q[d + 80 >> 2]);
+    }
+    g = g + 4 | 0;
+    if ((k | 0) > -1) {
+     continue;
+    }
+   }
+   break;
+  }
+  xG(d, s);
+ }
+}
+function fn(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ f = Ca - 48 | 0;
+ Ca = f;
+ q[a + 8 >> 2] = 0;
+ g = q[a + 4 >> 2];
+ if (g) {
+  q[q[a >> 2] >> 2] = 28577;
+  q[q[a >> 2] + 4 >> 2] = 28577;
+  q[q[a >> 2] + 8 >> 2] = 28577;
+  q[q[a >> 2] + 12 >> 2] = 28577;
+  q[q[a >> 2] + 16 >> 2] = 28577;
+ }
+ a : {
+  if (!d) {
+   break a;
+  }
+  h = r[c | 0];
+  if (!h) {
+   break a;
+  }
+  i = 6;
+  if (!b) {
+   break a;
+  }
+  e = r[b | 0];
+  if (!e) {
+   break a;
+  }
+  q[f + 24 >> 2] = 0;
+  q[f + 28 >> 2] = 0;
+  q[f + 16 >> 2] = 0;
+  q[f + 20 >> 2] = 0;
+  q[f + 8 >> 2] = 0;
+  q[f + 12 >> 2] = 0;
+  q[f >> 2] = 0;
+  q[f + 4 >> 2] = 0;
+  while (1) {
+   b : {
+    c : {
+     i = e & 255;
+     if ((i | 0) != 43) {
+      if (!i) {
+       break c;
+      }
+      break b;
+     }
+     if (r[b + 1 | 0]) {
+      break b;
+     }
+     j = 1;
+     e = 0;
+     b = b + 1 | 0;
+     continue;
+    }
+    d : {
+     e : {
+      if ((d | 0) < 1) {
+       d = 0;
+       b = 0;
+       break e;
+      }
+      k = c + d | 0;
+      while (1) {
+       e = c;
+       while (1) {
+        f : {
+         if (o[((h & 248) >>> 3 | 0) + f | 0] >>> (h & 7) & 1) {
+          g = e;
+          break f;
+         }
+         h = r[e + 1 | 0];
+         g = e + 1 | 0;
+         e = g;
+         if (h) {
+          continue;
+         }
+        }
+        break;
+       }
+       e = a;
+       b = q[a + 8 >> 2];
+       g : {
+        if ((b | 0) != q[a + 4 >> 2]) {
+         d = b;
+         break g;
+        }
+        q[f + 44 >> 2] = 0;
+        d = -1;
+        if ((b | 0) == -1) {
+         break g;
+        }
+        if ((b | 0) == 536870911) {
+         break d;
+        }
+        h = b;
+        d = (b + (b >>> 1 | 0) | 0) + 5 | 0;
+        b = d >>> 0 < b >>> 0 ? 536870911 : d >>> 0 > 536870911 ? 536870911 : d;
+        l = a, m = Te(q[a + 12 >> 2], 4, h, b, q[a >> 2], f + 44 | 0), q[l >> 2] = m;
+        i = q[f + 44 >> 2];
+        if (i) {
+         break a;
+        }
+        q[a + 4 >> 2] = b;
+        d = q[a + 8 >> 2];
+       }
+       q[e + 8 >> 2] = d + 1;
+       q[q[a >> 2] + (d << 2) >> 2] = g >>> 0 > c >>> 0 ? c : 28577;
+       e = r[g | 0];
+       h : {
+        i : {
+         if (j) {
+          d = 0;
+          b = g;
+          if (!(e & 255)) {
+           h = 0;
+           c = g;
+           break h;
+          }
+          while (1) {
+           j : {
+            if (!(o[((e & 248) >>> 3 | 0) + f | 0] >>> (e & 7) & 1)) {
+             h = e;
+             c = b;
+             break j;
+            }
+            h = 0;
+            o[b | 0] = 0;
+            e = r[b + 1 | 0];
+            c = b + 1 | 0;
+            b = c;
+            if (e) {
+             continue;
+            }
+           }
+           break;
+          }
+          if (c >>> 0 <= g >>> 0) {
+           break h;
+          }
+          break i;
+         }
+         if (!(e & 255)) {
+          h = 0;
+          c = g;
+          d = 0;
+          break h;
+         }
+         o[g | 0] = 0;
+         c = g + 1 | 0;
+        }
+        h = r[c | 0];
+        d = !h;
+       }
+       if (h & 255 ? c >>> 0 < k >>> 0 : 0) {
+        continue;
+       }
+       break;
+      }
+      g = q[a + 4 >> 2];
+      b = q[a + 8 >> 2];
+     }
+     b = b + d | 0;
+     k : {
+      if (b >>> 0 < g >>> 0) {
+       break k;
+      }
+      q[f + 44 >> 2] = 0;
+      if (g >>> 0 >= b + 1 >>> 0) {
+       break k;
+      }
+      if ((g | 0) == 536870911) {
+       break d;
+      }
+      b = ((g >>> 1 | 0) + g | 0) + 5 | 0;
+      b = b >>> 0 < g >>> 0 ? 536870911 : b >>> 0 > 536870911 ? 536870911 : b;
+      l = a, m = Te(q[a + 12 >> 2], 4, g, b, q[a >> 2], f + 44 | 0), q[l >> 2] = m;
+      i = q[f + 44 >> 2];
+      if (i) {
+       break a;
+      }
+      q[a + 4 >> 2] = b;
+     }
+     l : {
+      if (!d) {
+       h = q[a + 8 >> 2];
+       break l;
+      }
+      b = q[a + 8 >> 2];
+      h = b + 1 | 0;
+      q[a + 8 >> 2] = h;
+      q[q[a >> 2] + (b << 2) >> 2] = 28577;
+     }
+     i = 0;
+     q[q[a >> 2] + (h << 2) >> 2] = 0;
+     break a;
+    }
+    i = 64;
+    q[f + 44 >> 2] = 64;
+    break a;
+   }
+   i = ((e & 248) >>> 3 | 0) + f | 0;
+   o[i | 0] = r[i | 0] | 1 << (e & 7);
+   e = r[b + 1 | 0];
+   b = b + 1 | 0;
+   continue;
+  }
+ }
+ Ca = f + 48 | 0;
+ return i;
+}
+function E$(a, b) {
+ var c = 0, d = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0;
+ j = Ca - 48 | 0;
+ Ca = j;
+ h(+a);
+ d = e(1) | 0;
+ m = e(0) | 0;
+ a : {
+  b : {
+   i = d;
+   d = i;
+   k = i & 2147483647;
+   c : {
+    if (k >>> 0 <= 1074752122) {
+     if ((d & 1048575) == 598523) {
+      break c;
+     }
+     if (k >>> 0 <= 1073928572) {
+      if ((i | 0) > 0 ? 1 : (i | 0) >= 0 ? m >>> 0 < 0 ? 0 : 1 : 0) {
+       a = a + -1.5707963267341256;
+       c = a + -6.077100506506192e-11;
+       v[b >> 3] = c;
+       v[b + 8 >> 3] = a - c + -6.077100506506192e-11;
+       d = 1;
+       break a;
+      }
+      a = a + 1.5707963267341256;
+      c = a + 6.077100506506192e-11;
+      v[b >> 3] = c;
+      v[b + 8 >> 3] = a - c + 6.077100506506192e-11;
+      d = -1;
+      break a;
+     }
+     if ((i | 0) > 0 ? 1 : (i | 0) >= 0 ? m >>> 0 < 0 ? 0 : 1 : 0) {
+      a = a + -3.1415926534682512;
+      c = a + -1.2154201013012384e-10;
+      v[b >> 3] = c;
+      v[b + 8 >> 3] = a - c + -1.2154201013012384e-10;
+      d = 2;
+      break a;
+     }
+     a = a + 3.1415926534682512;
+     c = a + 1.2154201013012384e-10;
+     v[b >> 3] = c;
+     v[b + 8 >> 3] = a - c + 1.2154201013012384e-10;
+     d = -2;
+     break a;
+    }
+    if (k >>> 0 <= 1075594811) {
+     if (k >>> 0 <= 1075183036) {
+      if ((k | 0) == 1074977148) {
+       break c;
+      }
+      if ((i | 0) > 0 ? 1 : (i | 0) >= 0 ? m >>> 0 < 0 ? 0 : 1 : 0) {
+       a = a + -4.712388980202377;
+       c = a + -1.8231301519518578e-10;
+       v[b >> 3] = c;
+       v[b + 8 >> 3] = a - c + -1.8231301519518578e-10;
+       d = 3;
+       break a;
+      }
+      a = a + 4.712388980202377;
+      c = a + 1.8231301519518578e-10;
+      v[b >> 3] = c;
+      v[b + 8 >> 3] = a - c + 1.8231301519518578e-10;
+      d = -3;
+      break a;
+     }
+     if ((k | 0) == 1075388923) {
+      break c;
+     }
+     if ((i | 0) > 0 ? 1 : (i | 0) >= 0 ? m >>> 0 < 0 ? 0 : 1 : 0) {
+      a = a + -6.2831853069365025;
+      c = a + -2.430840202602477e-10;
+      v[b >> 3] = c;
+      v[b + 8 >> 3] = a - c + -2.430840202602477e-10;
+      d = 4;
+      break a;
+     }
+     a = a + 6.2831853069365025;
+     c = a + 2.430840202602477e-10;
+     v[b >> 3] = c;
+     v[b + 8 >> 3] = a - c + 2.430840202602477e-10;
+     d = -4;
+     break a;
+    }
+    if (k >>> 0 > 1094263290) {
+     break b;
+    }
+   }
+   n = a * .6366197723675814 + 6755399441055744 + -6755399441055744;
+   c = a + n * -1.5707963267341256;
+   l = n * 6.077100506506192e-11;
+   a = c - l;
+   v[b >> 3] = a;
+   h(+a);
+   d = e(1) | 0;
+   e(0) | 0;
+   i = k >>> 20 | 0;
+   m = (i - (d >>> 20 & 2047) | 0) < 17;
+   if (y(n) < 2147483648) {
+    d = ~~n;
+   } else {
+    d = -2147483648;
+   }
+   d : {
+    if (m) {
+     break d;
+    }
+    l = c;
+    a = n * 6.077100506303966e-11;
+    c = c - a;
+    l = n * 2.0222662487959506e-21 - (l - c - a);
+    a = c - l;
+    v[b >> 3] = a;
+    o = i;
+    h(+a);
+    i = e(1) | 0;
+    e(0) | 0;
+    if ((o - (i >>> 20 & 2047) | 0) < 50) {
+     break d;
+    }
+    l = c;
+    a = n * 2.0222662487111665e-21;
+    c = c - a;
+    l = n * 8.4784276603689e-32 - (l - c - a);
+    a = c - l;
+    v[b >> 3] = a;
+   }
+   v[b + 8 >> 3] = c - a - l;
+   break a;
+  }
+  if (k >>> 0 >= 2146435072) {
+   a = a - a;
+   v[b >> 3] = a;
+   v[b + 8 >> 3] = a;
+   d = 0;
+   break a;
+  }
+  f(0, m | 0);
+  f(1, i & 1048575 | 1096810496);
+  a = +g();
+  d = 0;
+  while (1) {
+   o = d;
+   d = (j + 16 | 0) + (d << 3) | 0;
+   if (y(a) < 2147483648) {
+    p = ~~a;
+   } else {
+    p = -2147483648;
+   }
+   c = +(p | 0);
+   v[d >> 3] = c;
+   a = (a - c) * 16777216;
+   d = 1;
+   if (!o) {
+    continue;
+   }
+   break;
+  }
+  v[j + 32 >> 3] = a;
+  e : {
+   if (a != 0) {
+    d = 2;
+    break e;
+   }
+   o = 1;
+   while (1) {
+    d = o;
+    o = d + -1 | 0;
+    if (v[(j + 16 | 0) + (d << 3) >> 3] == 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = D$(j + 16 | 0, j, (k >>> 20 | 0) + -1046 | 0, d + 1 | 0);
+  a = v[j >> 3];
+  if ((i | 0) < -1 ? 1 : (i | 0) <= -1 ? m >>> 0 > 4294967295 ? 0 : 1 : 0) {
+   v[b >> 3] = -a;
+   v[b + 8 >> 3] = -v[j + 8 >> 3];
+   d = 0 - d | 0;
+   break a;
+  }
+  v[b >> 3] = a;
+  i = q[j + 12 >> 2];
+  q[b + 8 >> 2] = q[j + 8 >> 2];
+  q[b + 12 >> 2] = i;
+ }
+ Ca = j + 48 | 0;
+ return d;
+}
+function pr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 16) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  if ((c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) >>> 0 < 4) {
+   break a;
+  }
+  if (!ur(a + 4 | 0, b, a)) {
+   break a;
+  }
+  c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  f = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  if (f >>> 0 > 2147483646) {
+   break a;
+  }
+  c = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+  m = (c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) + a | 0;
+  c = a;
+  a = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+  i = c + (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) | 0;
+  n = f << 1;
+  a = 0;
+  while (1) {
+   b : {
+    if (!(a & 1)) {
+     c = g;
+     break b;
+    }
+    c : {
+     if (!f) {
+      c = 0 - h | 0;
+      a = 0;
+      break c;
+     }
+     if (4294967295 / (f >>> 0) >>> 0 <= h >>> 0) {
+      break a;
+     }
+     c = 0 - h | 0;
+     if (4294967295 / (n >>> 0) >>> 0 <= c >>> 0) {
+      break a;
+     }
+     a = w(h, f);
+    }
+    d = (a << 1) + i | 0;
+    e = w(c, n);
+    d : {
+     if (!e) {
+      c = q[b + 12 >> 2];
+      break d;
+     }
+     if (t[b + 4 >> 2] > d >>> 0) {
+      break a;
+     }
+     c = q[b + 8 >> 2];
+     if (c >>> 0 < d >>> 0 | c - d >>> 0 < e >>> 0) {
+      break a;
+     }
+     e = q[b + 12 >> 2];
+     c = e + -1 | 0;
+     q[b + 12 >> 2] = c;
+     if ((e | 0) < 1) {
+      break a;
+     }
+    }
+    c = (h - k | 0) + c | 0;
+    q[b + 12 >> 2] = c;
+    if ((c | 0) < 1 | (a | 0) > 0) {
+     break a;
+    }
+    c = g;
+    k = h;
+    a = i;
+    if (d >>> 0 >= a >>> 0) {
+     break b;
+    }
+    while (1) {
+     a = a + -2 | 0;
+     k = r[a | 0] << 8 | r[a + 1 | 0];
+     c = c >>> 0 > k >>> 0 ? c : k + 1 | 0;
+     if (d >>> 0 < a >>> 0) {
+      continue;
+     }
+     break;
+    }
+    k = h;
+   }
+   if ((j | 0) <= (l | 0)) {
+    e = l + 1 | 0;
+    if (!(!f | 4294967295 / (n >>> 0) >>> 0 > e >>> 0)) {
+     return 0;
+    }
+    d = w(e, n);
+    e : {
+     if (!d) {
+      a = q[b + 12 >> 2];
+      break e;
+     }
+     if (t[b + 4 >> 2] > i >>> 0) {
+      break a;
+     }
+     a = q[b + 8 >> 2];
+     if (a >>> 0 < i >>> 0 | a - i >>> 0 < d >>> 0) {
+      break a;
+     }
+     d = q[b + 12 >> 2];
+     a = d + -1 | 0;
+     q[b + 12 >> 2] = a;
+     if ((d | 0) < 1) {
+      break a;
+     }
+    }
+    a = ((l ^ -1) + j | 0) + a | 0;
+    q[b + 12 >> 2] = a;
+    if ((a | 0) < 1 | (4294967295 / (f >>> 0) >>> 0 <= e >>> 0 ? f : 0)) {
+     break a;
+    }
+    d = w(e, f);
+    if ((d | 0) < 0) {
+     break a;
+    }
+    a = w(f, j);
+    if ((a | 0) < (d | 0)) {
+     d = (d << 1) + i | 0;
+     a = (a << 1) + i | 0;
+     while (1) {
+      j = r[a + 1 | 0] | r[a | 0] << 8;
+      c = c >>> 0 > j >>> 0 ? c : j + 1 | 0;
+      a = a + 2 | 0;
+      if (a >>> 0 < d >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    j = e;
+   }
+   if (c >>> 0 > 1073741822) {
+    break a;
+   }
+   d = c << 2;
+   f : {
+    if (!c) {
+     e = q[b + 12 >> 2];
+     break f;
+    }
+    if (t[b + 4 >> 2] > m >>> 0) {
+     break a;
+    }
+    a = q[b + 8 >> 2];
+    if (a >>> 0 < m >>> 0 | a - m >>> 0 < d >>> 0) {
+     break a;
+    }
+    a = q[b + 12 >> 2];
+    e = a + -1 | 0;
+    q[b + 12 >> 2] = e;
+    if ((a | 0) < 1) {
+     break a;
+    }
+   }
+   a = (g - c | 0) + e | 0;
+   q[b + 12 >> 2] = a;
+   if ((a | 0) < 1) {
+    break a;
+   }
+   if ((g | 0) < (c | 0)) {
+    e = d + m | 0;
+    a = (g << 2) + m | 0;
+    while (1) {
+     g = r[a + 1 | 0] | r[a | 0] << 8;
+     l = (l | 0) < (g | 0) ? g : l;
+     h = (h | 0) > (g | 0) ? g : h;
+     a = a + 4 | 0;
+     if (a >>> 0 < e >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   g = c;
+   a = (h | 0) < (k | 0);
+   if (a | (j | 0) <= (l | 0)) {
+    continue;
+   }
+   break;
+  }
+  o = 1;
+ }
+ return o;
+}
+function yr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 16) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  if ((c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) >>> 0 < 4) {
+   break a;
+  }
+  if (!ur(a + 4 | 0, b, a)) {
+   break a;
+  }
+  c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  f = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  if (f >>> 0 > 2147483646) {
+   break a;
+  }
+  c = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+  m = (c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) + a | 0;
+  c = a;
+  a = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+  i = c + (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) | 0;
+  n = f << 1;
+  a = 0;
+  while (1) {
+   b : {
+    if (!(a & 1)) {
+     c = g;
+     break b;
+    }
+    c : {
+     if (!f) {
+      c = 0 - h | 0;
+      a = 0;
+      break c;
+     }
+     if (4294967295 / (f >>> 0) >>> 0 <= h >>> 0) {
+      break a;
+     }
+     c = 0 - h | 0;
+     if (4294967295 / (n >>> 0) >>> 0 <= c >>> 0) {
+      break a;
+     }
+     a = w(h, f);
+    }
+    d = (a << 1) + i | 0;
+    e = w(c, n);
+    d : {
+     if (!e) {
+      c = q[b + 12 >> 2];
+      break d;
+     }
+     if (t[b + 4 >> 2] > d >>> 0) {
+      break a;
+     }
+     c = q[b + 8 >> 2];
+     if (c >>> 0 < d >>> 0 | c - d >>> 0 < e >>> 0) {
+      break a;
+     }
+     e = q[b + 12 >> 2];
+     c = e + -1 | 0;
+     q[b + 12 >> 2] = c;
+     if ((e | 0) < 1) {
+      break a;
+     }
+    }
+    c = (h - k | 0) + c | 0;
+    q[b + 12 >> 2] = c;
+    if ((c | 0) < 1 | (a | 0) > 0) {
+     break a;
+    }
+    c = g;
+    k = h;
+    a = i;
+    if (d >>> 0 >= a >>> 0) {
+     break b;
+    }
+    while (1) {
+     a = a + -2 | 0;
+     k = r[a | 0] << 8 | r[a + 1 | 0];
+     c = c >>> 0 > k >>> 0 ? c : k + 1 | 0;
+     if (d >>> 0 < a >>> 0) {
+      continue;
+     }
+     break;
+    }
+    k = h;
+   }
+   if ((j | 0) <= (l | 0)) {
+    e = l + 1 | 0;
+    if (!(!f | 4294967295 / (n >>> 0) >>> 0 > e >>> 0)) {
+     return 0;
+    }
+    d = w(e, n);
+    e : {
+     if (!d) {
+      a = q[b + 12 >> 2];
+      break e;
+     }
+     if (t[b + 4 >> 2] > i >>> 0) {
+      break a;
+     }
+     a = q[b + 8 >> 2];
+     if (a >>> 0 < i >>> 0 | a - i >>> 0 < d >>> 0) {
+      break a;
+     }
+     d = q[b + 12 >> 2];
+     a = d + -1 | 0;
+     q[b + 12 >> 2] = a;
+     if ((d | 0) < 1) {
+      break a;
+     }
+    }
+    a = ((l ^ -1) + j | 0) + a | 0;
+    q[b + 12 >> 2] = a;
+    if ((a | 0) < 1 | (4294967295 / (f >>> 0) >>> 0 <= e >>> 0 ? f : 0)) {
+     break a;
+    }
+    d = w(e, f);
+    if ((d | 0) < 0) {
+     break a;
+    }
+    a = w(f, j);
+    if ((a | 0) < (d | 0)) {
+     d = (d << 1) + i | 0;
+     a = (a << 1) + i | 0;
+     while (1) {
+      j = r[a + 1 | 0] | r[a | 0] << 8;
+      c = c >>> 0 > j >>> 0 ? c : j + 1 | 0;
+      a = a + 2 | 0;
+      if (a >>> 0 < d >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    j = e;
+   }
+   if (c >>> 0 > 715827881) {
+    break a;
+   }
+   d = w(c, 6);
+   f : {
+    if (!d) {
+     e = q[b + 12 >> 2];
+     break f;
+    }
+    if (t[b + 4 >> 2] > m >>> 0) {
+     break a;
+    }
+    a = q[b + 8 >> 2];
+    if (a >>> 0 < m >>> 0 | a - m >>> 0 < d >>> 0) {
+     break a;
+    }
+    a = q[b + 12 >> 2];
+    e = a + -1 | 0;
+    q[b + 12 >> 2] = e;
+    if ((a | 0) < 1) {
+     break a;
+    }
+   }
+   a = (g - c | 0) + e | 0;
+   q[b + 12 >> 2] = a;
+   if ((a | 0) < 1) {
+    break a;
+   }
+   if ((g | 0) < (c | 0)) {
+    e = d + m | 0;
+    a = w(g, 6) + m | 0;
+    while (1) {
+     g = r[a + 1 | 0] | r[a | 0] << 8;
+     l = (l | 0) < (g | 0) ? g : l;
+     h = (h | 0) > (g | 0) ? g : h;
+     a = a + 6 | 0;
+     if (a >>> 0 < e >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   g = c;
+   a = (h | 0) < (k | 0);
+   if (a | (j | 0) <= (l | 0)) {
+    continue;
+   }
+   break;
+  }
+  o = 1;
+ }
+ return o;
+}
+function hO(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0;
+ g = Ca - 80 | 0;
+ Ca = g;
+ x = r[b + 12 | 0] | r[b + 13 | 0] << 8 | (r[b + 14 | 0] << 16 | r[b + 15 | 0] << 24);
+ v = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+ c = x - v | 0;
+ k = c;
+ i = c >> 31;
+ A = r[b + 28 | 0] | r[b + 29 | 0] << 8 | (r[b + 30 | 0] << 16 | r[b + 31 | 0] << 24);
+ d = A - v | 0;
+ c = d;
+ j = c;
+ m = c >> 31;
+ c = T0(k, i, c, m);
+ e = Ea;
+ a : {
+  b : {
+   h = c;
+   y = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+   w = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+   c = y - w | 0;
+   n = c;
+   s = c >> 31;
+   B = r[b + 24 | 0] | r[b + 25 | 0] << 8 | (r[b + 26 | 0] << 16 | r[b + 27 | 0] << 24);
+   f = B - w | 0;
+   c = f;
+   o = c;
+   p = c >> 31;
+   l = T0(n, s, c, p);
+   h = h + l | 0;
+   c = Ea + e | 0;
+   c = h >>> 0 < l >>> 0 ? c + 1 | 0 : c;
+   e = q[a >> 2];
+   f = f >> 31;
+   f = o + f ^ f;
+   d = d >> 31;
+   d = j + d ^ d;
+   l = T0(e, e >> 31, (f | 0) > (d | 0) ? f : d, 0);
+   e = l;
+   C = 0 - e | 0;
+   d = c;
+   f = Ea;
+   z = 0 - (f + (0 < e >>> 0) | 0) | 0;
+   e = z;
+   if ((c | 0) < (e | 0) ? 1 : (c | 0) <= (e | 0) ? h >>> 0 >= C >>> 0 ? 0 : 1 : 0) {
+    break b;
+   }
+   c = f;
+   e = T0(j, m, j, m);
+   t = Ea;
+   D = h;
+   u = T0(o, p, o, p);
+   e = u + e | 0;
+   h = Ea + t | 0;
+   h = e >>> 0 < u >>> 0 ? h + 1 | 0 : h;
+   t = e;
+   e = e + l | 0;
+   c = c + h | 0;
+   c = e >>> 0 < t >>> 0 ? c + 1 | 0 : c;
+   t = e;
+   h = c;
+   if ((d | 0) > (c | 0) ? 1 : (d | 0) >= (c | 0) ? D >>> 0 <= e >>> 0 ? 0 : 1 : 0) {
+    break b;
+   }
+   c = T0(o, p, k, i);
+   d = Ea;
+   e = T0(j, m, n, s);
+   n = d;
+   d = c;
+   c = n - (Ea + (c >>> 0 < e >>> 0) | 0) | 0;
+   i = d - e | 0;
+   e = c;
+   d = c >> 31;
+   c = c >> 31;
+   k = d + e | 0;
+   i = c + i | 0;
+   if (i >>> 0 < c >>> 0) {
+    k = k + 1 | 0;
+   }
+   e = (c ^ i) >>> 0 <= l >>> 0 ? 0 : 1;
+   c = d ^ k;
+   if ((c | 0) > (f | 0) ? 1 : (c | 0) >= (f | 0) ? e : 0) {
+    break b;
+   }
+   c = (r[b + 20 | 0] | r[b + 21 | 0] << 8 | (r[b + 22 | 0] << 16 | r[b + 23 | 0] << 24)) - v | 0;
+   e = c;
+   k = c >> 31;
+   c = T0(c, k, j, m);
+   i = Ea;
+   d = c;
+   c = (r[b + 16 | 0] | r[b + 17 | 0] << 8 | (r[b + 18 | 0] << 16 | r[b + 19 | 0] << 24)) - w | 0;
+   n = c;
+   s = c >> 31;
+   u = T0(c, s, o, p);
+   d = d + u | 0;
+   c = Ea + i | 0;
+   i = d;
+   c = d >>> 0 < u >>> 0 ? c + 1 | 0 : c;
+   if (((c | 0) < (z | 0) ? 1 : (c | 0) <= (z | 0) ? i >>> 0 >= C >>> 0 ? 0 : 1 : 0) | ((c | 0) > (h | 0) ? 1 : (c | 0) >= (h | 0) ? i >>> 0 <= t >>> 0 ? 0 : 1 : 0)) {
+    break b;
+   }
+   c = T0(o, p, e, k);
+   d = Ea;
+   h = T0(j, m, n, s);
+   e = d;
+   d = c;
+   c = e - (Ea + (c >>> 0 < h >>> 0) | 0) | 0;
+   j = d - h | 0;
+   h = c;
+   d = c >> 31;
+   c = c >> 31;
+   e = d + h | 0;
+   j = c + j | 0;
+   if (j >>> 0 < c >>> 0) {
+    e = e + 1 | 0;
+   }
+   h = (c ^ j) >>> 0 <= l >>> 0 ? 0 : 1;
+   c = d ^ e;
+   if ((c | 0) > (f | 0) ? 1 : (c | 0) >= (f | 0) ? h : 0) {
+    break b;
+   }
+   c = q[b + 4 >> 2];
+   q[g + 8 >> 2] = q[b >> 2];
+   q[g + 12 >> 2] = c;
+   c = q[b + 28 >> 2];
+   q[g >> 2] = q[b + 24 >> 2];
+   q[g + 4 >> 2] = c;
+   b = iO(a, g + 8 | 0, g);
+   break a;
+  }
+  c = q[b + 16 >> 2];
+  d = q[b + 20 >> 2];
+  f = d + A | 0;
+  q[g + 60 >> 2] = f >> 1;
+  d = (d + x | 0) + 2 | 0;
+  f = d + f | 0;
+  q[g + 52 >> 2] = f >> 2;
+  e = d;
+  d = v + x | 0;
+  h = e + d | 0;
+  q[g + 36 >> 2] = h >> 2;
+  q[g + 44 >> 2] = (f + h | 0) + -1 >> 3;
+  q[g + 28 >> 2] = d >> 1;
+  d = w + y | 0;
+  q[g + 24 >> 2] = d >> 1;
+  f = c + B | 0;
+  q[g + 56 >> 2] = f >> 1;
+  c = (c + y | 0) + 2 | 0;
+  f = c + f | 0;
+  q[g + 48 >> 2] = f >> 2;
+  c = c + d | 0;
+  q[g + 32 >> 2] = c >> 2;
+  q[g + 40 >> 2] = (c + f | 0) + -1 >> 3;
+  c = q[b + 4 >> 2];
+  q[g + 16 >> 2] = q[b >> 2];
+  q[g + 20 >> 2] = c;
+  c = q[b + 28 >> 2];
+  q[g + 64 >> 2] = q[b + 24 >> 2];
+  q[g + 68 >> 2] = c;
+  b = 0;
+  if (!hO(a, g + 16 | 0)) {
+   break a;
+  }
+  b = hO(a, g + 40 | 0);
+ }
+ Ca = g + 80 | 0;
+ return b;
+}
+function dt(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ a : {
+  if ((b | 0) != 1196445523) {
+   g = 271040;
+   if ((b | 0) != 1196643650) {
+    break a;
+   }
+   a = q[Ws(a + 136 | 0) >> 2];
+   a = a ? a : 271040;
+   g = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+   break a;
+  }
+  a = q[Xs(a + 140 | 0) >> 2];
+  a = a ? a : 271040;
+  g = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+ }
+ b : {
+  c : {
+   if (c) {
+    while (1) {
+     a = r[g + 5 | 0] | r[g + 4 | 0] << 8;
+     k = a ? a + g | 0 : 271040;
+     a = r[k | 0] << 8 | r[k + 1 | 0];
+     if (a) {
+      i = (l << 2) + d | 0;
+      m = q[i >> 2];
+      a = a + -1 | 0;
+      h = 0;
+      while (1) {
+       j = a + h >>> 1 | 0;
+       b = k + w(j, 6) | 0;
+       b = r[b + 2 | 0] | r[b + 3 | 0] << 8 | (r[b + 4 | 0] << 16 | r[b + 5 | 0] << 24);
+       b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+       d : {
+        if (b >>> 0 > m >>> 0) {
+         a = j + -1 | 0;
+         break d;
+        }
+        if ((b | 0) == (m | 0)) {
+         break c;
+        }
+        h = j + 1 | 0;
+       }
+       if ((h | 0) <= (a | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (e) {
+      q[e >> 2] = 65535;
+     }
+     l = l + 1 | 0;
+     if ((l | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   e : {
+    i = r[g + 5 | 0] | r[g + 4 | 0] << 8;
+    c = i ? i + g | 0 : 271040;
+    a = r[c | 0] << 8 | r[c + 1 | 0];
+    if (a) {
+     a = a + -1 | 0;
+     h = 0;
+     while (1) {
+      d = a + h >>> 1 | 0;
+      b = c + w(d, 6) | 0;
+      b = r[b + 2 | 0] | r[b + 3 | 0] << 8 | (r[b + 4 | 0] << 16 | r[b + 5 | 0] << 24);
+      b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+      f : {
+       if (b >>> 0 >= 1145457749) {
+        a = d + -1 | 0;
+        break f;
+       }
+       if ((b | 0) == 1145457748) {
+        break e;
+       }
+       h = d + 1 | 0;
+      }
+      if ((h | 0) <= (a | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    g : {
+     if (e) {
+      q[e >> 2] = 65535;
+      i = r[g + 5 | 0] | r[g + 4 | 0] << 8;
+     }
+     c = i ? g + i | 0 : 271040;
+     a = r[c | 0] << 8 | r[c + 1 | 0];
+     if (a) {
+      a = a + -1 | 0;
+      h = 0;
+      while (1) {
+       d = a + h >>> 1 | 0;
+       b = c + w(d, 6) | 0;
+       b = r[b + 2 | 0] | r[b + 3 | 0] << 8 | (r[b + 4 | 0] << 16 | r[b + 5 | 0] << 24);
+       b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+       h : {
+        if (b >>> 0 >= 1684434037) {
+         a = d + -1 | 0;
+         break h;
+        }
+        if ((b | 0) == 1684434036) {
+         break g;
+        }
+        h = d + 1 | 0;
+       }
+       if ((h | 0) <= (a | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     i : {
+      if (e) {
+       q[e >> 2] = 65535;
+       i = r[g + 5 | 0] | r[g + 4 | 0] << 8;
+      }
+      c = i ? g + i | 0 : 271040;
+      a = r[c | 0] << 8 | r[c + 1 | 0];
+      if (a) {
+       a = a + -1 | 0;
+       h = 0;
+       while (1) {
+        d = a + h >>> 1 | 0;
+        b = c + w(d, 6) | 0;
+        b = r[b + 2 | 0] | r[b + 3 | 0] << 8 | (r[b + 4 | 0] << 16 | r[b + 5 | 0] << 24);
+        b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+        j : {
+         if (b >>> 0 >= 1818326127) {
+          a = d + -1 | 0;
+          break j;
+         }
+         if ((b | 0) == 1818326126) {
+          break i;
+         }
+         h = d + 1 | 0;
+        }
+        if ((h | 0) <= (a | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      if (e) {
+       q[e >> 2] = 65535;
+      }
+      b = 0;
+      if (!f) {
+       break b;
+      }
+      q[f >> 2] = 65535;
+      return 0;
+     }
+     if (e) {
+      q[e >> 2] = d;
+     }
+     b = 0;
+     if (!f) {
+      break b;
+     }
+     q[f >> 2] = 1818326126;
+     break b;
+    }
+    if (e) {
+     q[e >> 2] = d;
+    }
+    b = 0;
+    if (!f) {
+     break b;
+    }
+    q[f >> 2] = 1684434036;
+    return 0;
+   }
+   if (e) {
+    q[e >> 2] = d;
+   }
+   b = 0;
+   if (!f) {
+    break b;
+   }
+   q[f >> 2] = 1145457748;
+   return 0;
+  }
+  if (e) {
+   q[e >> 2] = j;
+  }
+  b = 1;
+  if (!f) {
+   break b;
+  }
+  q[f >> 2] = q[i >> 2];
+  return 1;
+ }
+ return b;
+}
+function EX(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ g = Ca - 32 | 0;
+ Ca = g;
+ i = tX(a);
+ a : {
+  if (!i) {
+   a = 0;
+   break a;
+  }
+  h = q[i + 76 >> 2];
+  if (!(r[b | 0] ? b : 0)) {
+   a = j$(503227);
+   b = a ? a : 503243;
+  }
+  b : {
+   if (tQ(b)) {
+    a = FX(h, b);
+    break b;
+   }
+   if (r[b | 0] == 126) {
+    a = 0;
+    if (!q[160468]) {
+     break b;
+    }
+    e = j$(503155);
+    if (!e) {
+     break b;
+    }
+    if (!h) {
+     a = FX(e, b + 1 | 0);
+     break b;
+    }
+    q[g + 4 >> 2] = 0;
+    q[g >> 2] = e;
+    e = uQ(h, g);
+    a = FX(e, b + 1 | 0);
+    M$(e);
+    break b;
+   }
+   c : {
+    c = j$(503617);
+    d : {
+     e : {
+      if (c) {
+       a = r[c | 0];
+       if (a) {
+        e = 3;
+        d = c;
+        while (1) {
+         e = ((a & 255) == 58) + e | 0;
+         a = r[d + 1 | 0];
+         d = d + 1 | 0;
+         if (a) {
+          continue;
+         }
+         break;
+        }
+        a = 0;
+        e = N$(e, 4);
+        if (!e) {
+         break b;
+        }
+        while (1) {
+         k = (a << 2) + e | 0;
+         d = eZ(c, 58);
+         if (!d) {
+          d = g0(c) + c | 0;
+         }
+         f = d - c | 0;
+         j = L$(f + 1 | 0);
+         q[k >> 2] = j;
+         if (!j) {
+          break d;
+         }
+         l = lZ(j, c, f) + f | 0, m = 0, o[l | 0] = m;
+         a = a + 1 | 0;
+         c = r[d | 0] ? d + 1 | 0 : d;
+         if (r[c | 0]) {
+          continue;
+         }
+         break;
+        }
+        break e;
+       }
+       a = 0;
+       e = N$(3, 4);
+       if (e) {
+        break e;
+       }
+       break b;
+      }
+      a = 0;
+      e = N$(2, 4);
+      if (!e) {
+       break b;
+      }
+     }
+     c = L$(31);
+     q[(a << 2) + e >> 2] = c;
+     if (c) {
+      break c;
+     }
+    }
+    a = q[e >> 2];
+    if (a) {
+     d = 0;
+     while (1) {
+      M$(a);
+      d = d + 1 | 0;
+      a = q[(d << 2) + e >> 2];
+      if (a) {
+       continue;
+      }
+      break;
+     }
+    }
+    M$(e);
+    a = 0;
+    break b;
+   }
+   a = 0;
+   d = r[503660] | r[503661] << 8 | (r[503662] << 16 | r[503663] << 24);
+   f = r[503656] | r[503657] << 8 | (r[503658] << 16 | r[503659] << 24);
+   o[c + 23 | 0] = f;
+   o[c + 24 | 0] = f >>> 8;
+   o[c + 25 | 0] = f >>> 16;
+   o[c + 26 | 0] = f >>> 24;
+   o[c + 27 | 0] = d;
+   o[c + 28 | 0] = d >>> 8;
+   o[c + 29 | 0] = d >>> 16;
+   o[c + 30 | 0] = d >>> 24;
+   d = r[503653] | r[503654] << 8 | (r[503655] << 16 | r[503656] << 24);
+   f = r[503649] | r[503650] << 8 | (r[503651] << 16 | r[503652] << 24);
+   o[c + 16 | 0] = f;
+   o[c + 17 | 0] = f >>> 8;
+   o[c + 18 | 0] = f >>> 16;
+   o[c + 19 | 0] = f >>> 24;
+   o[c + 20 | 0] = d;
+   o[c + 21 | 0] = d >>> 8;
+   o[c + 22 | 0] = d >>> 16;
+   o[c + 23 | 0] = d >>> 24;
+   d = r[503645] | r[503646] << 8 | (r[503647] << 16 | r[503648] << 24);
+   f = r[503641] | r[503642] << 8 | (r[503643] << 16 | r[503644] << 24);
+   o[c + 8 | 0] = f;
+   o[c + 9 | 0] = f >>> 8;
+   o[c + 10 | 0] = f >>> 16;
+   o[c + 11 | 0] = f >>> 24;
+   o[c + 12 | 0] = d;
+   o[c + 13 | 0] = d >>> 8;
+   o[c + 14 | 0] = d >>> 16;
+   o[c + 15 | 0] = d >>> 24;
+   d = r[503637] | r[503638] << 8 | (r[503639] << 16 | r[503640] << 24);
+   f = r[503633] | r[503634] << 8 | (r[503635] << 16 | r[503636] << 24);
+   o[c | 0] = f;
+   o[c + 1 | 0] = f >>> 8;
+   o[c + 2 | 0] = f >>> 16;
+   o[c + 3 | 0] = f >>> 24;
+   o[c + 4 | 0] = d;
+   o[c + 5 | 0] = d >>> 8;
+   o[c + 6 | 0] = d >>> 16;
+   o[c + 7 | 0] = d >>> 24;
+   if (!e) {
+    break b;
+   }
+   d = q[e >> 2];
+   f : {
+    if (!d) {
+     break f;
+    }
+    c = e;
+    while (1) {
+     g : {
+      if (!h) {
+       a = FX(d, b);
+       break g;
+      }
+      q[g + 20 >> 2] = 0;
+      q[g + 16 >> 2] = d;
+      d = uQ(h, g + 16 | 0);
+      a = FX(d, b);
+      M$(d);
+     }
+     if (!a) {
+      c = c + 4 | 0;
+      d = q[c >> 2];
+      if (d) {
+       continue;
+      }
+     }
+     break;
+    }
+    d = q[e >> 2];
+    if (!d) {
+     break f;
+    }
+    b = e;
+    while (1) {
+     M$(d);
+     d = q[b + 4 >> 2];
+     b = b + 4 | 0;
+     if (d) {
+      continue;
+     }
+     break;
+    }
+   }
+   M$(e);
+  }
+  pX(i);
+ }
+ Ca = g + 32 | 0;
+ return a;
+}
+function yA(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = x(0), m = x(0), n = x(0), p = 0, s = 0;
+ k = Ca - 16 | 0;
+ Ca = k;
+ g = 271040;
+ f = q[a >> 2];
+ f = f ? f : 271040;
+ h = t[f + 16 >> 2] < 8 ? 271040 : q[f + 12 >> 2];
+ f = r[h + 4 | 0] | r[h + 5 | 0] << 8 | (r[h + 6 | 0] << 16 | r[h + 7 | 0] << 24);
+ i = f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24);
+ if (i) {
+  if ((i | 0) != 1) {
+   f = q[b + 52 >> 2];
+   g = q[b + 48 >> 2];
+   f = g >>> 0 < f >>> 0 ? f : g;
+   p = f ? f : 1073741824;
+   f = h + 53 | 0;
+   g = h + 52 | 0;
+   g = r[(r[g | 0] < r[f | 0] ? f : g) | 0];
+   f = 1;
+   while (1) {
+    e = h + w(f, 48) | 0;
+    s = e + 53 | 0;
+    e = e + 52 | 0;
+    e = r[(r[e | 0] < r[s | 0] ? s : e) | 0];
+    if (!(p >>> 0 <= g >>> 0 | g >>> 0 >= e >>> 0 ? !(g >>> 0 > e >>> 0 ? p >>> 0 <= e >>> 0 : 0) : 0)) {
+     j = f;
+     g = e;
+    }
+    f = f + 1 | 0;
+    if ((i | 0) != (f | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  g = i >>> 0 > j >>> 0 ? (h + w(j, 48) | 0) + 8 | 0 : 271040;
+ }
+ f = 0;
+ e = r[g + 8 | 0] | r[g + 9 | 0] << 8 | (r[g + 10 | 0] << 16 | r[g + 11 | 0] << 24);
+ i = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+ a : {
+  if (!i) {
+   break a;
+  }
+  e = r[g | 0] | r[g + 1 | 0] << 8 | (r[g + 2 | 0] << 16 | r[g + 3 | 0] << 24);
+  j = h + (e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24)) | 0;
+  while (1) {
+   e = (f | 0) < 0 ? 271040 : j + (f << 3) | 0;
+   if (!((r[e | 0] << 8 | r[e + 1 | 0]) >>> 0 > c >>> 0 | (r[e + 3 | 0] | r[e + 2 | 0] << 8) >>> 0 < c >>> 0)) {
+    f = 0;
+    if (!r[g + 45 | 0] | (!e | !r[g + 44 | 0])) {
+     break a;
+    }
+    q[k + 12 >> 2] = 0;
+    q[k + 8 >> 2] = 0;
+    q[k + 4 >> 2] = 0;
+    h = r[e + 1 | 0] | r[e | 0] << 8;
+    if ((r[e + 3 | 0] | r[e + 2 | 0] << 8) >>> 0 < c >>> 0 | h >>> 0 > c >>> 0) {
+     break a;
+    }
+    e = r[e + 4 | 0] | r[e + 5 | 0] << 8 | (r[e + 6 | 0] << 16 | r[e + 7 | 0] << 24);
+    e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+    if (!eB(e ? e + j | 0 : 271040, c - h | 0, k + 12 | 0, k + 8 | 0, k + 4 | 0)) {
+     break a;
+    }
+    c = q[a + 4 >> 2];
+    h = c ? c : 271040;
+    c = q[h + 16 >> 2];
+    e = q[k + 12 >> 2];
+    if (c >>> 0 < e >>> 0) {
+     break a;
+    }
+    j = q[k + 8 >> 2];
+    if (c - e >>> 0 < j >>> 0) {
+     break a;
+    }
+    i = q[k + 4 >> 2] + -17 | 0;
+    if (i >>> 0 > 1) {
+     break a;
+    }
+    b : {
+     if (i - 1) {
+      if (j >>> 0 >= 9) {
+       break b;
+      }
+      break a;
+     }
+     if (j >>> 0 < 12) {
+      break a;
+     }
+    }
+    f = q[b + 32 >> 2];
+    j = q[b + 36 >> 2];
+    c = e + (c >>> 0 < 4 ? 271040 : q[h + 12 >> 2]) | 0;
+    e = o[c + 2 | 0];
+    e = T0(f, j, e, e >> 31);
+    e = (Ea & 65535) << 16 | e >>> 16;
+    q[d >> 2] = e;
+    h = q[b + 40 >> 2];
+    b = q[b + 44 >> 2];
+    i = o[c + 3 | 0];
+    i = T0(h, b, i, i >> 31);
+    i = (Ea & 65535) << 16 | i >>> 16;
+    q[d + 4 >> 2] = i;
+    f = T0(f, j, r[c + 1 | 0], 0);
+    f = (Ea & 65535) << 16 | f >>> 16;
+    q[d + 8 >> 2] = f;
+    b = T0(h, b, r[c | 0], 0);
+    c = 0 - ((0 < b >>> 0) + Ea | 0) | 0;
+    b = 0 - b | 0;
+    b = (c & 65535) << 16 | b >>> 16;
+    q[d + 12 >> 2] = b;
+    l = x(t[a + 8 >> 2]);
+    m = x(l / x(r[g + 45 | 0]));
+    n = x(S(x(x(m * x(b | 0)))));
+    c : {
+     if (x(y(n)) < x(2147483648)) {
+      a = ~~n;
+      break c;
+     }
+     a = -2147483648;
+    }
+    b = r[g + 44 | 0];
+    q[d + 12 >> 2] = a;
+    a = d;
+    l = x(l / x(b >>> 0));
+    n = x(S(x(x(l * x(f | 0)))));
+    d : {
+     if (x(y(n)) < x(2147483648)) {
+      b = ~~n;
+      break d;
+     }
+     b = -2147483648;
+    }
+    q[a + 8 >> 2] = b;
+    a = d;
+    m = x(S(x(x(m * x(i | 0)))));
+    e : {
+     if (x(y(m)) < x(2147483648)) {
+      b = ~~m;
+      break e;
+     }
+     b = -2147483648;
+    }
+    q[a + 4 >> 2] = b;
+    l = x(S(x(x(l * x(e | 0)))));
+    f : {
+     if (x(y(l)) < x(2147483648)) {
+      a = ~~l;
+      break f;
+     }
+     a = -2147483648;
+    }
+    q[d >> 2] = a;
+    f = 1;
+    break a;
+   }
+   f = f + 1 | 0;
+   if ((i | 0) != (f | 0)) {
+    continue;
+   }
+   break;
+  }
+  f = 0;
+ }
+ Ca = k + 16 | 0;
+ return f;
+}
+function Qr(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0;
+ d = q[b + 4 >> 2];
+ b = o[c + 2 | 0];
+ if ((b | 0) <= -1) {
+  b = q[a + 24 >> 2];
+  a : {
+   if (!b) {
+    e = q[d + 80 >> 2];
+    b = 0;
+    break a;
+   }
+   e = q[d + 80 >> 2];
+   g = b + -1 | 0;
+   h = q[(((g & 63) << 2) + a | 0) + 28 >> 2];
+   if ((e | 0) != (h | 0)) {
+    break a;
+   }
+   q[a + 24 >> 2] = g;
+   b = g;
+   e = h;
+  }
+  q[a + 24 >> 2] = b + 1;
+  q[(((b & 63) << 2) + a | 0) + 28 >> 2] = e;
+  b = r[c + 2 | 0];
+ }
+ b : {
+  if (!(b & 32)) {
+   break b;
+  }
+  h = q[a + 24 >> 2];
+  if (!h | t[d + 72 >> 2] >= t[d + 76 >> 2]) {
+   break b;
+  }
+  p = q[d + 80 >> 2];
+  g = q[a + 12 >> 2] + (r[c + 4 | 0] << 10 | r[c + 5 | 0] << 2) | 0;
+  while (1) {
+   c : {
+    if (!h) {
+     q[a + 24 >> 2] = 0;
+     break c;
+    }
+    h = h + -1 | 0;
+    n = (((h & 63) << 2) + a | 0) + 28 | 0;
+    xG(d, q[n >> 2]);
+    i = q[a + 4 >> 2];
+    l = q[i + 20 >> 2];
+    if (l >>> 0 > g >>> 0) {
+     break c;
+    }
+    e = q[i + 24 >> 2];
+    if (e >>> 0 < g >>> 0 | e - g >>> 0 < 4) {
+     break c;
+    }
+    b = i + 28 | 0;
+    c = q[b >> 2];
+    q[b >> 2] = c + -1;
+    if ((c | 0) < 1) {
+     break c;
+    }
+    j = q[d + 88 >> 2];
+    b = q[d + 72 >> 2];
+    f = r[g | 0];
+    k = r[g + 3 | 0] | (r[g + 1 | 0] << 16 | f << 24 | r[g + 2 | 0] << 8);
+    f = q[j + w(b, 20) >> 2] + (f & 32 ? k | -1073741824 : k & 1073741823) | 0;
+    f = (f | 0) < 0 ? 271040 : q[a + 16 >> 2] + (f << 1) | 0;
+    if (l >>> 0 > f >>> 0 | e >>> 0 < f >>> 0 | e - f >>> 0 < 2) {
+     break c;
+    }
+    q[i + 28 >> 2] = c + -2;
+    if ((c | 0) < 2) {
+     break c;
+    }
+    m = (r[f + 1 | 0] | r[f | 0] << 8) + m | 0;
+    if (k >>> 0 >= 1073741824) {
+     f = (m | 0) < 0 ? 271040 : q[a + 20 >> 2] + (m << 1) | 0;
+     if (l >>> 0 > f >>> 0 | e >>> 0 < f >>> 0 | e - f >>> 0 < 2) {
+      break c;
+     }
+     q[i + 28 >> 2] = c + -3;
+     if ((c | 0) < 3) {
+      break c;
+     }
+     e = r[f | 0];
+     i = r[f + 1 | 0];
+     d : {
+      e : {
+       if (q[d + 92 >> 2] == (j | 0)) {
+        c = b;
+        if ((c | 0) == q[d + 80 >> 2]) {
+         break e;
+        }
+       }
+       if (!pG(d, 1, 1)) {
+        break d;
+       }
+       c = q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) | 0;
+       f = q[c + 4 >> 2];
+       b = q[d + 92 >> 2] + w(q[d + 80 >> 2], 20) | 0;
+       q[b >> 2] = q[c >> 2];
+       q[b + 4 >> 2] = f;
+       q[b + 16 >> 2] = q[c + 16 >> 2];
+       f = q[c + 12 >> 2];
+       q[b + 8 >> 2] = q[c + 8 >> 2];
+       q[b + 12 >> 2] = f;
+       b = q[d + 72 >> 2];
+       c = q[d + 80 >> 2];
+       j = q[d + 92 >> 2];
+      }
+      q[w(c, 20) + j >> 2] = i | e << 8;
+      q[d + 80 >> 2] = c + 1;
+      q[d + 72 >> 2] = b + 1;
+     }
+     c = q[a + 24 >> 2] + -1 | 0;
+     i = q[(((c & 63) << 2) + a | 0) + 28 >> 2] + 1 | 0;
+     if (c >>> 0 > h >>> 0) {
+      while (1) {
+       q[a + 24 >> 2] = c;
+       xG(d, q[(((c & 63) << 2) + a | 0) + 28 >> 2]);
+       e = q[d + 92 >> 2];
+       f : {
+        g : {
+         if ((e | 0) == q[d + 88 >> 2]) {
+          b = q[d + 80 >> 2];
+          c = b;
+          if ((c | 0) == q[d + 72 >> 2]) {
+           break g;
+          }
+         }
+         if (!pG(d, 1, 1)) {
+          break f;
+         }
+         c = q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) | 0;
+         e = q[c + 4 >> 2];
+         b = q[d + 92 >> 2] + w(q[d + 80 >> 2], 20) | 0;
+         q[b >> 2] = q[c >> 2];
+         q[b + 4 >> 2] = e;
+         q[b + 16 >> 2] = q[c + 16 >> 2];
+         e = q[c + 12 >> 2];
+         q[b + 8 >> 2] = q[c + 8 >> 2];
+         q[b + 12 >> 2] = e;
+         b = q[d + 72 >> 2];
+         c = q[d + 80 >> 2];
+         e = q[d + 92 >> 2];
+        }
+        q[w(c, 20) + e >> 2] = 65535;
+        q[d + 80 >> 2] = c + 1;
+        q[d + 72 >> 2] = b + 1;
+       }
+       c = q[a + 24 >> 2] + -1 | 0;
+       if (c >>> 0 > h >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     xG(d, i);
+     BG(d, q[n >> 2], q[d + 80 >> 2]);
+    }
+    g = g + 4 | 0;
+    if ((k | 0) > -1) {
+     continue;
+    }
+   }
+   break;
+  }
+  xG(d, p);
+ }
+}
+function aW(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ e = 498032;
+ a : {
+  b : {
+   c : {
+    b = r[498032];
+    if (!b) {
+     break c;
+    }
+    j = a + 368 | 0;
+    f = q[a + 352 >> 2];
+    k = f + 152 | 0;
+    l = f + 80 | 0;
+    m = f + 60 | 0;
+    h = a + 412 | 0;
+    c = 498032;
+    while (1) {
+     d : {
+      e : {
+       f : {
+        g : {
+         g = b & 255;
+         if (g >>> 0 > 12) {
+          if ((g | 0) != 61) {
+           break e;
+          }
+          b = q[a + 424 >> 2];
+          if ((b | 0) != q[a + 428 >> 2]) {
+           break g;
+          }
+          g = k;
+          break f;
+         }
+         h : {
+          switch (g - 1 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+           break e;
+          default:
+           break h;
+          }
+         }
+         b = q[a + 424 >> 2];
+         if ((b | 0) == q[a + 420 >> 2]) {
+          if (!_V(h)) {
+           break a;
+          }
+          b = q[a + 424 >> 2];
+         }
+         q[a + 424 >> 2] = b + 1;
+         o[b | 0] = 0;
+         c = $V(a, f, q[a + 428 >> 2], 0);
+         if (c) {
+          o[c + 32 | 0] = 1;
+         }
+         c = r[e | 0];
+         q[a + 424 >> 2] = q[a + 428 >> 2];
+         c = c ? e + 1 | 0 : e;
+         e = c;
+         break d;
+        }
+        if (q[a + 420 >> 2] == (b | 0)) {
+         if (!_V(h)) {
+          break a;
+         }
+         b = q[a + 424 >> 2];
+        }
+        q[a + 424 >> 2] = b + 1;
+        o[b | 0] = 0;
+        g = $V(a, m, q[a + 428 >> 2], 8);
+        if (!g) {
+         break b;
+        }
+        b = q[a + 428 >> 2];
+        d = q[g >> 2];
+        if ((b | 0) == (d | 0)) {
+         while (1) {
+          b = q[f + 92 >> 2];
+          if ((b | 0) == q[f + 88 >> 2]) {
+           if (!_V(l)) {
+            q[g >> 2] = 0;
+            break a;
+           }
+           b = q[f + 92 >> 2];
+          }
+          c = r[d | 0];
+          q[f + 92 >> 2] = b + 1;
+          o[b | 0] = c;
+          c = r[d | 0];
+          d = d + 1 | 0;
+          if (c) {
+           continue;
+          }
+          break;
+         }
+         c = q[f + 96 >> 2];
+         q[f + 96 >> 2] = q[f + 92 >> 2];
+         q[g >> 2] = c;
+         if (!c) {
+          break b;
+         }
+         b = q[a + 428 >> 2];
+        }
+        q[a + 424 >> 2] = b;
+       }
+       while (1) {
+        i : {
+         c = e + 1 | 0;
+         i = q[a + 420 >> 2];
+         j : {
+          d = r[e + 1 | 0];
+          if (d >>> 0 > 12) {
+           break j;
+          }
+          switch (d - 1 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+           break j;
+          default:
+           break i;
+          }
+         }
+         if ((b | 0) == (i | 0)) {
+          if (!_V(h)) {
+           break a;
+          }
+          d = r[c | 0];
+          b = q[a + 424 >> 2];
+         }
+         q[a + 424 >> 2] = b + 1;
+         o[b | 0] = d;
+         b = q[a + 424 >> 2];
+         e = c;
+         continue;
+        }
+        break;
+       }
+       if ((b | 0) == (i | 0)) {
+        if (!_V(h)) {
+         break a;
+        }
+        b = q[a + 424 >> 2];
+       }
+       q[a + 424 >> 2] = b + 1;
+       i = 0;
+       o[b | 0] = 0;
+       if (bW(a, g, 0, q[a + 428 >> 2], j)) {
+        break b;
+       }
+       q[a + 424 >> 2] = q[a + 428 >> 2];
+       c = r[e + 1 | 0] ? e + 2 | 0 : c;
+       e = c;
+       break d;
+      }
+      d = q[a + 424 >> 2];
+      if ((d | 0) == q[a + 420 >> 2]) {
+       if (!_V(h)) {
+        break a;
+       }
+       d = q[a + 424 >> 2];
+       b = r[e | 0];
+      }
+      q[a + 424 >> 2] = d + 1;
+      o[d | 0] = b;
+      e = e + 1 | 0;
+     }
+     if (!r[c | 0]) {
+      break c;
+     }
+     b = r[e | 0];
+     continue;
+    }
+   }
+   i = 1;
+  }
+  return i;
+ }
+ return 0;
+}
+function gI(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ a : {
+  if (q[a + 204 >> 2] == (d | 0) ? q[a + 200 >> 2] == (b | 0) : 0) {
+   break a;
+  }
+  q[a + 200 >> 2] = b;
+  q[a + 204 >> 2] = d;
+  d = q[a + 4 >> 2];
+  if (!d) {
+   break a;
+  }
+  h = Ee(q[a + 8 >> 2], b);
+  q[a + 12 >> 2] = h;
+  q[a + 16 >> 2] = h + 32 & -64;
+  f = d + -1 | 0;
+  if (!f) {
+   break a;
+  }
+  d = a + 20 | 0;
+  while (1) {
+   i = Ee(q[d >> 2], b);
+   j = q[a + 12 >> 2];
+   g = i - j | 0;
+   h = g >> 31;
+   h = (h ^ h + g) < 128 ? j : i;
+   q[d + 4 >> 2] = h;
+   q[d + 8 >> 2] = h + 32 & -64;
+   d = d + 12 | 0;
+   f = f + -1 | 0;
+   if (f) {
+    continue;
+   }
+   break;
+  }
+ }
+ b : {
+  if (q[a + 408 >> 2] == (e | 0) ? q[a + 404 >> 2] == (c | 0) : 0) {
+   break b;
+  }
+  q[a + 404 >> 2] = c;
+  q[a + 408 >> 2] = e;
+  b = q[a + 208 >> 2];
+  c : {
+   if (!b) {
+    break c;
+   }
+   d = Ee(q[a + 212 >> 2], c);
+   q[a + 216 >> 2] = d;
+   q[a + 220 >> 2] = d + 32 & -64;
+   f = b + -1 | 0;
+   if (!f) {
+    break c;
+   }
+   d = a + 224 | 0;
+   while (1) {
+    h = Ee(q[d >> 2], c);
+    i = q[a + 216 >> 2];
+    j = h - i | 0;
+    b = j >> 31;
+    b = (b ^ b + j) < 128 ? i : h;
+    q[d + 4 >> 2] = b;
+    q[d + 8 >> 2] = b + 32 & -64;
+    d = d + 12 | 0;
+    f = f + -1 | 0;
+    if (f) {
+     continue;
+    }
+    break;
+   }
+  }
+  b = a + 2492 | 0;
+  if ((c | 0) >= 34359738) {
+   d = ((q[a + 2476 >> 2] << 3) / 125 | 0) > (c | 0);
+  } else {
+   d = (w(c, 125) | 0) < q[a + 2476 >> 2] << 3;
+  }
+  o[b | 0] = d;
+  d = q[a + 2480 >> 2];
+  d : {
+   if ((d | 0) < 1) {
+    break d;
+   }
+   while (1) {
+    if ((Ee(d, c) | 0) < 33) {
+     break d;
+    }
+    b = (d | 0) > 1;
+    d = d + -1 | 0;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+   d = 0;
+  }
+  b = a + 412 | 0;
+  q[a + 2484 >> 2] = d;
+  h = a + 1960 | 0;
+  i = a + 928 | 0;
+  j = a + 1444 | 0;
+  f = 0;
+  while (1) {
+   e : {
+    if (f >>> 0 <= 2) {
+     d = b;
+     f : {
+      switch (f - 1 | 0) {
+      case 0:
+       d = i;
+       break e;
+      case 1:
+       break f;
+      default:
+       break e;
+      }
+     }
+     d = j;
+     break e;
+    }
+    d = h;
+   }
+   g = q[d >> 2];
+   if (g) {
+    d = d + 4 | 0;
+    while (1) {
+     m = d, n = Ee(q[d + 8 >> 2], c) + e | 0, q[m + 28 >> 2] = n;
+     m = d, n = Ee(q[d + 12 >> 2], c) + e | 0, q[m + 24 >> 2] = n;
+     m = d, n = Ee(q[d >> 2], c) + e | 0, q[m + 16 >> 2] = n;
+     m = d, n = Ee(q[d + 4 >> 2], c), q[m + 20 >> 2] = n;
+     q[d + 16 >> 2] = q[d + 16 >> 2] + 32 & -64;
+     d = d + 32 | 0;
+     g = g + -1 | 0;
+     if (g) {
+      continue;
+     }
+     break;
+    }
+   }
+   f = f + 1 | 0;
+   if ((f | 0) != 4) {
+    continue;
+   }
+   break;
+  }
+  g = q[b >> 2];
+  if (g) {
+   b = a + 1448 | 0;
+   f = a + 416 | 0;
+   while (1) {
+    e = q[j >> 2];
+    g : {
+     if (!e) {
+      break g;
+     }
+     d = b;
+     while (1) {
+      k = q[f >> 2] - q[d >> 2] | 0;
+      l = k >> 31;
+      if ((Ee(l ^ l + k, c) | 0) <= 63) {
+       q[f + 28 >> 2] = q[d + 28 >> 2];
+       q[f + 24 >> 2] = q[d + 24 >> 2];
+       q[f + 16 >> 2] = q[d + 16 >> 2];
+       q[f + 20 >> 2] = q[d + 20 >> 2];
+       break g;
+      }
+      d = d + 32 | 0;
+      e = e + -1 | 0;
+      if (e) {
+       continue;
+      }
+      break;
+     }
+    }
+    f = f + 32 | 0;
+    g = g + -1 | 0;
+    if (g) {
+     continue;
+    }
+    break;
+   }
+  }
+  g = q[i >> 2];
+  if (!g) {
+   break b;
+  }
+  b = a + 1964 | 0;
+  f = a + 932 | 0;
+  while (1) {
+   e = q[h >> 2];
+   h : {
+    if (!e) {
+     break h;
+    }
+    d = b;
+    while (1) {
+     i = q[f >> 2] - q[d >> 2] | 0;
+     a = i >> 31;
+     if ((Ee(a ^ a + i, c) | 0) >= 64) {
+      d = d + 32 | 0;
+      e = e + -1 | 0;
+      if (e) {
+       continue;
+      }
+      break h;
+     }
+     break;
+    }
+    q[f + 28 >> 2] = q[d + 28 >> 2];
+    q[f + 24 >> 2] = q[d + 24 >> 2];
+    q[f + 16 >> 2] = q[d + 16 >> 2];
+    q[f + 20 >> 2] = q[d + 20 >> 2];
+   }
+   f = f + 32 | 0;
+   g = g + -1 | 0;
+   if (g) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function oz(a, b) {
+ var c = 0, d = 0, e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0, u = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ l = q[a + 24 >> 2];
+ a : {
+  if (l >>> 0 < 8) {
+   break a;
+  }
+  t = a + 128 | 0;
+  u = l + -2 | 0;
+  n = q[67760];
+  p = q[67761];
+  c = 6;
+  while (1) {
+   j = c;
+   c = t;
+   m = q[c + 12 >> 2];
+   q[d + 40 >> 2] = q[c + 8 >> 2];
+   q[d + 44 >> 2] = m;
+   m = q[c + 4 >> 2];
+   q[d + 32 >> 2] = q[c >> 2];
+   q[d + 36 >> 2] = m;
+   if (l >>> 0 <= e >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   m = q[a + 32 >> 2];
+   b : {
+    if (m >>> 0 <= e >>> 0) {
+     q[160656] = n;
+     q[160657] = p;
+     c = 642624;
+     break b;
+    }
+    c = q[a + 36 >> 2] + (e << 3) | 0;
+   }
+   i = e | 1;
+   if (l >>> 0 <= i >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   c : {
+    if (m >>> 0 <= i >>> 0) {
+     q[160656] = n;
+     q[160657] = p;
+     i = 642624;
+     break c;
+    }
+    i = q[a + 36 >> 2] + (i << 3) | 0;
+   }
+   v[d + 32 >> 3] = v[d + 32 >> 3] + v[c >> 3];
+   v[d + 40 >> 3] = v[d + 40 >> 3] + v[i >> 3];
+   c = q[d + 44 >> 2];
+   q[d + 24 >> 2] = q[d + 40 >> 2];
+   q[d + 28 >> 2] = c;
+   c = q[d + 36 >> 2];
+   q[d + 16 >> 2] = q[d + 32 >> 2];
+   q[d + 20 >> 2] = c;
+   c = e + 2 | 0;
+   if (l >>> 0 <= c >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   d : {
+    if (m >>> 0 <= c >>> 0) {
+     q[160656] = n;
+     q[160657] = p;
+     c = 642624;
+     break d;
+    }
+    c = q[a + 36 >> 2] + (c << 3) | 0;
+   }
+   i = e + 3 | 0;
+   if (l >>> 0 <= i >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   e : {
+    if (m >>> 0 <= i >>> 0) {
+     q[160656] = n;
+     q[160657] = p;
+     i = 642624;
+     break e;
+    }
+    i = q[a + 36 >> 2] + (i << 3) | 0;
+   }
+   v[d + 16 >> 3] = v[d + 16 >> 3] + v[c >> 3];
+   v[d + 24 >> 3] = v[d + 24 >> 3] + v[i >> 3];
+   c = q[d + 28 >> 2];
+   q[d + 8 >> 2] = q[d + 24 >> 2];
+   q[d + 12 >> 2] = c;
+   c = q[d + 20 >> 2];
+   q[d >> 2] = q[d + 16 >> 2];
+   q[d + 4 >> 2] = c;
+   c = e + 4 | 0;
+   if (l >>> 0 <= c >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   f : {
+    if (m >>> 0 <= c >>> 0) {
+     q[160656] = n;
+     q[160657] = p;
+     c = 642624;
+     break f;
+    }
+    c = q[a + 36 >> 2] + (c << 3) | 0;
+   }
+   e = e + 5 | 0;
+   if (l >>> 0 <= e >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   g : {
+    if (m >>> 0 <= e >>> 0) {
+     q[160656] = n;
+     q[160657] = p;
+     e = 642624;
+     break g;
+    }
+    e = q[a + 36 >> 2] + (e << 3) | 0;
+   }
+   v[d >> 3] = v[d >> 3] + v[c >> 3];
+   v[d + 8 >> 3] = v[d + 8 >> 3] + v[e >> 3];
+   uz(a, b, d + 32 | 0, d + 16 | 0, d);
+   l = q[a + 24 >> 2];
+   e = j;
+   c = e + 6 | 0;
+   if (c >>> 0 <= u >>> 0) {
+    continue;
+   }
+   break;
+  }
+  h = v[a + 136 >> 3];
+  k = v[a + 128 >> 3];
+  if (l >>> 0 <= j >>> 0) {
+   o[a + 20 | 0] = 1;
+  }
+  c = q[a + 32 >> 2];
+  h : {
+   if (c >>> 0 <= j >>> 0) {
+    e = q[67761];
+    q[160656] = q[67760];
+    q[160657] = e;
+    e = 642624;
+    break h;
+   }
+   e = q[a + 36 >> 2] + (j << 3) | 0;
+  }
+  j = j | 1;
+  if (l >>> 0 <= j >>> 0) {
+   o[a + 20 | 0] = 1;
+  }
+  i : {
+   if (c >>> 0 <= j >>> 0) {
+    j = q[67761];
+    c = q[67760];
+    q[160656] = c;
+    q[160657] = j;
+    f(0, c | 0);
+    f(1, j | 0);
+    s = +g();
+    break i;
+   }
+   s = v[q[a + 36 >> 2] + (j << 3) >> 3];
+  }
+  s = h + s;
+  h = k + v[e >> 3];
+  j : {
+   if (r[b | 0]) {
+    break j;
+   }
+   o[b | 0] = 1;
+   if (!!(v[b + 8 >> 3] > k)) {
+    v[b + 8 >> 3] = k;
+    k = v[a + 128 >> 3];
+   }
+   if (!!(k > v[b + 24 >> 3])) {
+    v[b + 24 >> 3] = k;
+   }
+   k = v[a + 136 >> 3];
+   if (!!(v[b + 16 >> 3] > k)) {
+    v[b + 16 >> 3] = k;
+    k = v[a + 136 >> 3];
+   }
+   if (!(k > v[b + 32 >> 3])) {
+    break j;
+   }
+   v[b + 32 >> 3] = k;
+  }
+  v[a + 136 >> 3] = s;
+  v[a + 128 >> 3] = h;
+  if (!!(v[b + 8 >> 3] > h)) {
+   v[b + 8 >> 3] = h;
+   h = v[a + 128 >> 3];
+  }
+  if (!!(h > v[b + 24 >> 3])) {
+   v[b + 24 >> 3] = h;
+  }
+  h = v[a + 136 >> 3];
+  if (!!(v[b + 16 >> 3] > h)) {
+   v[b + 16 >> 3] = h;
+   h = v[a + 136 >> 3];
+  }
+  if (!(h > v[b + 32 >> 3])) {
+   break a;
+  }
+  v[b + 32 >> 3] = h;
+ }
+ Ca = d + 48 | 0;
+}
+function nL(a, b, c, d, e, f, g, h, i, j) {
+ var k = 0, l = 0, m = 0, p = 0, r = 0, s = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0;
+ a : {
+  b : {
+   l = q[a + 16 >> 2];
+   c : {
+    if (!l) {
+     break c;
+    }
+    z = q[b + 16 >> 2];
+    if ((z | 0) < 1) {
+     break c;
+    }
+    B = q[b + 4 >> 2];
+    x = -1;
+    while (1) {
+     d : {
+      if ((l | 0) >= 1) {
+       t = q[(y << 2) + B >> 2];
+       b = 0;
+       u = 0;
+       while (1) {
+        e : {
+         l = 0;
+         f : {
+          g : {
+           h : {
+            r = q[a + 24 >> 2];
+            v = w(u, 52);
+            s = r + v | 0;
+            if (q[s + 12 >> 2] <= 0) {
+             break h;
+            }
+            k = s + 12 | 0;
+            m = s + 4 | 0;
+            while (1) {
+             if (be(q[q[m >> 2] + (l << 2) >> 2], t)) {
+              l = l + 1 | 0;
+              if ((l | 0) < q[k >> 2]) {
+               continue;
+              }
+              break h;
+             }
+             break;
+            }
+            k = r + v | 0;
+            p = q[k + 20 >> 2] - d | 0;
+            l = p >> 31;
+            A = q[k + 24 >> 2] - c | 0;
+            m = A >> 31;
+            k = q[k + 28 >> 2];
+            l = ((l ^ l + p) + (m ^ m + A) | 0) + ((k | 0) < 100 ? 100 - k | 0 : k + -100 | 0) | 0;
+            break g;
+           }
+           i : {
+            j : {
+             m = r + v | 0;
+             if (q[m + 16 >> 2] < 1) {
+              break j;
+             }
+             k = m + 16 | 0;
+             p = m + 8 | 0;
+             l = 0;
+             while (1) {
+              if (be(q[q[p >> 2] + (l << 2) >> 2], t)) {
+               l = l + 1 | 0;
+               if ((l | 0) < q[k >> 2]) {
+                continue;
+               }
+               break j;
+              }
+              break;
+             }
+             k = 1;
+             l = 0;
+             p = q[m + 40 >> 2];
+             if (!p) {
+              break i;
+             }
+             if (be(p, t)) {
+              break i;
+             }
+             break g;
+            }
+            k = q[m + 40 >> 2];
+            if (!k) {
+             break f;
+            }
+            if (be(k, t)) {
+             break f;
+            }
+            l = 1;
+            k = 0;
+           }
+           p = q[m + 44 >> 2];
+           if (!p) {
+            break b;
+           }
+           p = q[p + 8 >> 2];
+           if (!p) {
+            break b;
+           }
+           k = n[p](q[m + 48 >> 2]) | 0 ? l : k;
+           l = 0;
+           if ((k | 0) != 1) {
+            break f;
+           }
+          }
+          o[j | 0] = 1;
+          k : {
+           if (l >>> 0 >= x >>> 0) {
+            k = x;
+            s = b;
+            break k;
+           }
+           m = r + v | 0;
+           k = q[m + 44 >> 2];
+           if (!k) {
+            break a;
+           }
+           r = q[k + 12 >> 2];
+           if (!r) {
+            break a;
+           }
+           k = l;
+           if (!n[r](q[m + 48 >> 2], i)) {
+            break f;
+           }
+          }
+          x = k;
+          b = s;
+          if (!l) {
+           break e;
+          }
+         }
+         u = u + 1 | 0;
+         if ((u | 0) < q[a + 16 >> 2]) {
+          continue;
+         }
+        }
+        break;
+       }
+       if (b) {
+        break d;
+       }
+      }
+      y = y + 1 | 0;
+      if ((z | 0) == (y | 0)) {
+       return 0;
+      } else {
+       l = q[a + 16 >> 2];
+       continue;
+      }
+     }
+     break;
+    }
+    a = q[b + 44 >> 2];
+    q[f >> 2] = q[b + 40 >> 2];
+    q[g >> 2] = q[b >> 2];
+    c = q[a + 36 >> 2];
+    l : {
+     if (c) {
+      c = n[c](q[b + 48 >> 2]) | 0;
+      break l;
+     }
+     c = q[b + 36 >> 2];
+    }
+    q[e >> 2] = c;
+    k = q[b + 32 >> 2];
+    if (k) {
+     break c;
+    }
+    q[h >> 2] = q[a + 4 >> 2];
+    q[h + 4 >> 2] = q[b + 48 >> 2];
+    k = q[b + 40 >> 2];
+    if (k) {
+     break c;
+    }
+    k = q[q[b + 4 >> 2] >> 2];
+   }
+   return k;
+  }
+  J(354210, 354255, 418, 354272);
+  F();
+ }
+ J(354289, 354255, 513, 354329);
+ F();
+}
+function nz(a, b) {
+ var c = 0, d = 0, e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0, u = 0;
+ c = Ca - 48 | 0;
+ Ca = c;
+ k = q[a + 24 >> 2];
+ if (k >>> 0 >= 8) {
+  l = k + -6 | 0;
+  s = q[a + 32 >> 2];
+  h = q[67761];
+  t = h;
+  n = q[67760];
+  f(0, n | 0);
+  f(1, h | 0);
+  u = +g();
+  m = 2;
+  while (1) {
+   h = m;
+   p = v[a + 136 >> 3];
+   j = v[a + 128 >> 3];
+   if (k >>> 0 <= e >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   a : {
+    if (s >>> 0 <= e >>> 0) {
+     q[160656] = n;
+     q[160657] = t;
+     d = 642624;
+     break a;
+    }
+    d = q[a + 36 >> 2] + (e << 3) | 0;
+   }
+   e = e | 1;
+   if (k >>> 0 <= e >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   b : {
+    if (s >>> 0 <= e >>> 0) {
+     q[160656] = n;
+     q[160657] = t;
+     i = u;
+     break b;
+    }
+    i = v[q[a + 36 >> 2] + (e << 3) >> 3];
+   }
+   p = p + i;
+   i = j + v[d >> 3];
+   c : {
+    if (r[b | 0]) {
+     break c;
+    }
+    o[b | 0] = 1;
+    if (!!(v[b + 8 >> 3] > j)) {
+     v[b + 8 >> 3] = j;
+     j = v[a + 128 >> 3];
+    }
+    if (!!(j > v[b + 24 >> 3])) {
+     v[b + 24 >> 3] = j;
+    }
+    j = v[a + 136 >> 3];
+    if (!!(v[b + 16 >> 3] > j)) {
+     v[b + 16 >> 3] = j;
+     j = v[a + 136 >> 3];
+    }
+    if (!(j > v[b + 32 >> 3])) {
+     break c;
+    }
+    v[b + 32 >> 3] = j;
+   }
+   v[a + 136 >> 3] = p;
+   v[a + 128 >> 3] = i;
+   if (!!(v[b + 8 >> 3] > i)) {
+    v[b + 8 >> 3] = i;
+    i = v[a + 128 >> 3];
+   }
+   if (!!(i > v[b + 24 >> 3])) {
+    v[b + 24 >> 3] = i;
+   }
+   i = v[a + 136 >> 3];
+   if (!!(v[b + 16 >> 3] > i)) {
+    v[b + 16 >> 3] = i;
+    i = v[a + 136 >> 3];
+   }
+   if (!!(i > v[b + 32 >> 3])) {
+    v[b + 32 >> 3] = i;
+   }
+   e = h;
+   m = e + 2 | 0;
+   if (m >>> 0 <= l >>> 0) {
+    continue;
+   }
+   break;
+  }
+  d = q[a + 140 >> 2];
+  q[c + 40 >> 2] = q[a + 136 >> 2];
+  q[c + 44 >> 2] = d;
+  d = q[a + 132 >> 2];
+  q[c + 32 >> 2] = q[a + 128 >> 2];
+  q[c + 36 >> 2] = d;
+  if (k >>> 0 <= h >>> 0) {
+   o[a + 20 | 0] = 1;
+  }
+  l = q[a + 32 >> 2];
+  d : {
+   if (l >>> 0 <= h >>> 0) {
+    d = q[67761];
+    q[160656] = q[67760];
+    q[160657] = d;
+    d = 642624;
+    break d;
+   }
+   d = q[a + 36 >> 2] + (h << 3) | 0;
+  }
+  e = h | 1;
+  if (k >>> 0 <= e >>> 0) {
+   o[a + 20 | 0] = 1;
+  }
+  e : {
+   if (l >>> 0 <= e >>> 0) {
+    e = q[67761];
+    q[160656] = q[67760];
+    q[160657] = e;
+    e = 642624;
+    break e;
+   }
+   e = q[a + 36 >> 2] + (e << 3) | 0;
+  }
+  v[c + 32 >> 3] = v[c + 32 >> 3] + v[d >> 3];
+  v[c + 40 >> 3] = v[c + 40 >> 3] + v[e >> 3];
+  d = q[c + 44 >> 2];
+  q[c + 24 >> 2] = q[c + 40 >> 2];
+  q[c + 28 >> 2] = d;
+  d = q[c + 36 >> 2];
+  q[c + 16 >> 2] = q[c + 32 >> 2];
+  q[c + 20 >> 2] = d;
+  if (k >>> 0 <= m >>> 0) {
+   o[a + 20 | 0] = 1;
+  }
+  f : {
+   if (l >>> 0 <= m >>> 0) {
+    d = q[67761];
+    q[160656] = q[67760];
+    q[160657] = d;
+    d = 642624;
+    break f;
+   }
+   d = q[a + 36 >> 2] + (m << 3) | 0;
+  }
+  e = h + 3 | 0;
+  if (k >>> 0 <= e >>> 0) {
+   o[a + 20 | 0] = 1;
+  }
+  g : {
+   if (l >>> 0 <= e >>> 0) {
+    e = q[67761];
+    q[160656] = q[67760];
+    q[160657] = e;
+    e = 642624;
+    break g;
+   }
+   e = q[a + 36 >> 2] + (e << 3) | 0;
+  }
+  v[c + 16 >> 3] = v[c + 16 >> 3] + v[d >> 3];
+  v[c + 24 >> 3] = v[c + 24 >> 3] + v[e >> 3];
+  d = q[c + 28 >> 2];
+  q[c + 8 >> 2] = q[c + 24 >> 2];
+  q[c + 12 >> 2] = d;
+  d = q[c + 20 >> 2];
+  q[c >> 2] = q[c + 16 >> 2];
+  q[c + 4 >> 2] = d;
+  d = h + 4 | 0;
+  if (k >>> 0 <= d >>> 0) {
+   o[a + 20 | 0] = 1;
+  }
+  h : {
+   if (l >>> 0 <= d >>> 0) {
+    d = q[67761];
+    q[160656] = q[67760];
+    q[160657] = d;
+    d = 642624;
+    break h;
+   }
+   d = q[a + 36 >> 2] + (d << 3) | 0;
+  }
+  h = h + 5 | 0;
+  if (k >>> 0 <= h >>> 0) {
+   o[a + 20 | 0] = 1;
+  }
+  i : {
+   if (l >>> 0 <= h >>> 0) {
+    h = q[67761];
+    q[160656] = q[67760];
+    q[160657] = h;
+    h = 642624;
+    break i;
+   }
+   h = q[a + 36 >> 2] + (h << 3) | 0;
+  }
+  v[c >> 3] = v[c >> 3] + v[d >> 3];
+  v[c + 8 >> 3] = v[c + 8 >> 3] + v[h >> 3];
+  uz(a, b, c + 32 | 0, c + 16 | 0, c);
+ }
+ Ca = c + 48 | 0;
+}
+function yB(a, b, c) {
+ var d = 0, e = 0, h = 0, i = 0, j = 0, k = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          d = a + -18 | 0;
+          if (d >>> 0 > 12) {
+           d = a + -261 | 0;
+           if (d >>> 0 <= 2) {
+            break i;
+           }
+           if ((a | 0) != 294) {
+            break h;
+           }
+           k = c;
+           i = b + 24 | 0;
+           d = q[i >> 2];
+           j : {
+            if (d) {
+             d = d + -1 | 0;
+             q[b + 24 >> 2] = d;
+             if (t[b + 32 >> 2] <= d >>> 0) {
+              d = q[67761];
+              e = q[67760];
+              q[160656] = e;
+              q[160657] = d;
+              f(0, e | 0);
+              f(1, d | 0);
+              h = +g();
+              break j;
+             }
+             h = v[q[b + 36 >> 2] + (d << 3) >> 3];
+             break j;
+            }
+            o[b + 20 | 0] = 1;
+            d = q[67761];
+            e = q[67760];
+            q[160656] = e;
+            q[160657] = d;
+            f(0, e | 0);
+            f(1, d | 0);
+            h = +g();
+           }
+           k : {
+            if (y(h) < 2147483648) {
+             d = ~~h;
+             break k;
+            }
+            d = -2147483648;
+           }
+           if ((d | 0) <= -1) {
+            o[b + 20 | 0] = 1;
+            d = 0;
+           }
+           q[k + 28 >> 2] = d;
+           break c;
+          }
+          switch (d - 1 | 0) {
+          case 10:
+           break f;
+          case 11:
+           break g;
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+           break h;
+          default:
+           break d;
+          }
+         }
+         if (!(d - 1)) {
+          break h;
+         }
+         i = b + 24 | 0;
+         break c;
+        }
+        EB(a, b);
+        break e;
+       }
+       h = CB(b);
+       d = q[b + 24 >> 2];
+       if (d >>> 0 < t[b + 32 >> 2]) {
+        q[b + 24 >> 2] = d + 1;
+        v[q[b + 36 >> 2] + (d << 3) >> 3] = h;
+        break e;
+       }
+       o[b + 20 | 0] = 1;
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       v[80328] = h;
+       break e;
+      }
+      DB(b + 20 | 0, b);
+     }
+     if (!q[b + 24 >> 2]) {
+      break b;
+     }
+     break a;
+    }
+    k = c;
+    i = b + 24 | 0;
+    d = q[i >> 2];
+    l : {
+     if (d) {
+      e = d + -1 | 0;
+      q[b + 24 >> 2] = e;
+      if (t[b + 32 >> 2] <= e >>> 0) {
+       d = q[67761];
+       j = q[67760];
+       q[160656] = j;
+       q[160657] = d;
+       f(0, j | 0);
+       f(1, d | 0);
+       h = +g();
+       break l;
+      }
+      h = v[q[b + 36 >> 2] + (e << 3) >> 3];
+      break l;
+     }
+     o[b + 20 | 0] = 1;
+     d = q[67761];
+     j = q[67760];
+     q[160656] = j;
+     q[160657] = d;
+     f(0, j | 0);
+     f(1, d | 0);
+     h = +g();
+    }
+    m : {
+     if (y(h) < 2147483648) {
+      d = ~~h;
+      break m;
+     }
+     d = -2147483648;
+    }
+    if ((d | 0) <= -1) {
+     o[b + 20 | 0] = 1;
+     d = 0;
+    }
+    q[k + 16 >> 2] = d;
+    n : {
+     if (e) {
+      d = e + -1 | 0;
+      q[b + 24 >> 2] = d;
+      if (t[b + 32 >> 2] <= d >>> 0) {
+       d = q[67761];
+       e = q[67760];
+       q[160656] = e;
+       q[160657] = d;
+       f(0, e | 0);
+       f(1, d | 0);
+       h = +g();
+       break n;
+      }
+      h = v[q[b + 36 >> 2] + (d << 3) >> 3];
+      break n;
+     }
+     o[b + 20 | 0] = 1;
+     d = q[67761];
+     e = q[67760];
+     q[160656] = e;
+     q[160657] = d;
+     f(0, e | 0);
+     f(1, d | 0);
+     h = +g();
+    }
+    o : {
+     if (y(h) < 2147483648) {
+      d = ~~h;
+      break o;
+     }
+     d = -2147483648;
+    }
+    if ((d | 0) <= -1) {
+     o[b + 20 | 0] = 1;
+     d = 0;
+    }
+    q[k + 20 >> 2] = d;
+   }
+   q[i >> 2] = 0;
+  }
+  if (r[b + 40 | 0] | r[b + 16 | 0] | (r[b + 20 | 0] | q[b + 28 >> 2] < 0)) {
+   break a;
+  }
+  FB(c, a, b);
+ }
+}
+function Vq(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 80 | 0;
+ Ca = d;
+ a : {
+  e = Qq(q[b + 16 >> 2] + 148 | 0);
+  g = t[e + 16 >> 2] < 8 ? 271040 : q[e + 12 >> 2];
+  b : {
+   if (r[g | 0] << 8 | r[g + 1 | 0]) {
+    q[d + 8 >> 2] = a;
+    q[d + 12 >> 2] = b;
+    f = q[b + 16 >> 2];
+    q[d + 48 >> 2] = 0;
+    h = d + 32 | 0;
+    b = h;
+    q[b >> 2] = 0;
+    q[b + 4 >> 2] = 0;
+    q[d + 40 >> 2] = 0;
+    o[d + 60 | 0] = 0;
+    q[d + 56 >> 2] = 65536;
+    q[d + 20 >> 2] = c;
+    q[d + 16 >> 2] = f;
+    q[d + 24 >> 2] = 0;
+    q[d + 28 >> 2] = 0;
+    q[d + 68 >> 2] = 0;
+    q[d + 72 >> 2] = 0;
+    q[d + 64 >> 2] = 271040;
+    b = Hq(e);
+    o[d + 44 | 0] = 0;
+    q[d + 52 >> 2] = b;
+    e = q[f + 32 >> 2];
+    if ((e | 0) == -1) {
+     e = VF(f);
+    }
+    o[d + 60 | 0] = 1;
+    q[d + 56 >> 2] = e;
+    e = q[b + 12 >> 2];
+    q[d + 28 >> 2] = e;
+    f = e;
+    e = q[b + 16 >> 2];
+    q[h >> 2] = f + e;
+    if ((e | 0) <= -1) {
+     break a;
+    }
+    q[d + 36 >> 2] = 1073741823;
+    q[d + 24 >> 2] = 0;
+    q[d + 48 >> 2] = 0;
+    c : {
+     if (r[c + 68 | 0] != 1) {
+      break c;
+     }
+     q[d + 68 >> 2] = 0;
+     c = r[g + 4 | 0] | r[g + 5 | 0] << 8 | (r[g + 6 | 0] << 16 | r[g + 7 | 0] << 24);
+     f = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+     if (!f) {
+      break c;
+     }
+     c = g + 8 | 0;
+     b = 0;
+     while (1) {
+      e = c;
+      h = d + 8 | 0;
+      if (t[a + 104 >> 2] <= b >>> 0) {
+       a = 271040;
+      } else {
+       a = q[a + 108 >> 2] + (b << 2) | 0;
+      }
+      Wq(e, h, q[a >> 2]);
+      d : {
+       if (r[q[d + 20 >> 2] + 68 | 0] != 1) {
+        break d;
+       }
+       b = b + 1 | 0;
+       if ((f | 0) == (b | 0)) {
+        break d;
+       }
+       a = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+       c = (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) + c | 0;
+       a = q[d + 8 >> 2];
+       continue;
+      }
+      break;
+     }
+     b = q[d + 52 >> 2];
+    }
+    Cq(b);
+    break b;
+   }
+   e = Sq(q[b + 16 >> 2] + 152 | 0);
+   g = t[e + 16 >> 2] < 8 ? 271040 : q[e + 12 >> 2];
+   if (!(r[g | 0] << 8 | r[g + 1 | 0])) {
+    break b;
+   }
+   q[d + 8 >> 2] = a;
+   q[d + 12 >> 2] = b;
+   f = q[b + 16 >> 2];
+   q[d + 48 >> 2] = 0;
+   h = d + 32 | 0;
+   b = h;
+   q[b >> 2] = 0;
+   q[b + 4 >> 2] = 0;
+   q[d + 40 >> 2] = 0;
+   o[d + 60 | 0] = 0;
+   q[d + 56 >> 2] = 65536;
+   q[d + 20 >> 2] = c;
+   q[d + 16 >> 2] = f;
+   q[d + 24 >> 2] = 0;
+   q[d + 28 >> 2] = 0;
+   q[d + 68 >> 2] = 0;
+   q[d + 72 >> 2] = 0;
+   q[d + 64 >> 2] = 271040;
+   b = Hq(e);
+   o[d + 44 | 0] = 0;
+   q[d + 52 >> 2] = b;
+   e = q[f + 32 >> 2];
+   if ((e | 0) == -1) {
+    e = VF(f);
+   }
+   o[d + 60 | 0] = 1;
+   q[d + 56 >> 2] = e;
+   e = q[b + 12 >> 2];
+   q[d + 28 >> 2] = e;
+   f = e;
+   e = q[b + 16 >> 2];
+   q[h >> 2] = f + e;
+   if ((e | 0) <= -1) {
+    break a;
+   }
+   q[d + 36 >> 2] = 1073741823;
+   q[d + 24 >> 2] = 0;
+   q[d + 48 >> 2] = 0;
+   e : {
+    if (r[c + 68 | 0] != 1) {
+     break e;
+    }
+    q[d + 68 >> 2] = 0;
+    c = r[g + 4 | 0] | r[g + 5 | 0] << 8 | (r[g + 6 | 0] << 16 | r[g + 7 | 0] << 24);
+    f = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    if (!f) {
+     break e;
+    }
+    c = g + 8 | 0;
+    b = 0;
+    while (1) {
+     e = c;
+     h = d + 8 | 0;
+     if (t[a + 104 >> 2] <= b >>> 0) {
+      a = 271040;
+     } else {
+      a = q[a + 108 >> 2] + (b << 2) | 0;
+     }
+     Xq(e, h, q[a >> 2]);
+     f : {
+      if (r[q[d + 20 >> 2] + 68 | 0] != 1) {
+       break f;
+      }
+      b = b + 1 | 0;
+      if ((f | 0) == (b | 0)) {
+       break f;
+      }
+      a = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+      c = (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) + c | 0;
+      a = q[d + 8 >> 2];
+      continue;
+     }
+     break;
+    }
+    b = q[d + 52 >> 2];
+   }
+   Cq(b);
+  }
+  Ca = d + 80 | 0;
+  return;
+ }
+ J(228144, 228169, 195, 228186);
+ F();
+}
+function Xr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ sG(q[a + 4 >> 2]);
+ c = q[a + 4 >> 2];
+ q[c + 72 >> 2] = 0;
+ a : {
+  if (!r[c + 68 | 0]) {
+   break a;
+  }
+  while (1) {
+   d = q[a >> 2];
+   l = (r[d + 7 | 0] | r[d + 6 | 0] << 8) + d | 0;
+   m = d + (r[d + 5 | 0] | r[d + 4 | 0] << 8) | 0;
+   j = q[c + 76 >> 2];
+   h = f >>> 0 >= j >>> 0;
+   i = 0;
+   b : {
+    if (h) {
+     break b;
+    }
+    g = q[q[c + 88 >> 2] + w(f, 20) >> 2];
+    i = 2;
+    if ((g | 0) == 65535) {
+     break b;
+    }
+    e = g;
+    g = d + (r[d + 3 | 0] | r[d + 2 | 0] << 8) | 0;
+    e = e - (r[g | 0] << 8 | r[g + 1 | 0]) | 0;
+    i = 1;
+    if (e >>> 0 >= (r[g + 3 | 0] | r[g + 2 | 0] << 8) >>> 0) {
+     break b;
+    }
+    i = r[(e + g | 0) + 4 | 0];
+   }
+   e = i;
+   d = r[d + 1 | 0] | r[d | 0] << 8;
+   d = l + (r[m + ((d >>> 0 > e >>> 0 ? e : 1) + w(d, k) | 0) | 0] << 3) | 0;
+   c : {
+    if (!k) {
+     break c;
+    }
+    e = q[(r[c + 69 | 0] ? 80 : 72) + c >> 2];
+    if (h | !e) {
+     break c;
+    }
+    h = r[d + 3 | 0];
+    g = r[d + 2 | 0] << 8;
+    if (!(r[d + 1 | 0] | r[d | 0] << 8 | ((r[d + 5 | 0] | r[d + 4 | 0] << 8) != 65535 | (r[d + 7 | 0] | r[d + 6 | 0] << 8) != 65535 ? h | g & 768 : 0))) {
+     if ((g | h) == 16384) {
+      break c;
+     }
+    }
+    EG(c, e + -1 | 0, f + 1 | 0);
+    c = q[a + 4 >> 2];
+    j = q[c + 76 >> 2];
+    f = q[c + 72 >> 2];
+   }
+   h = f + 2 | 0;
+   d : {
+    if (h >>> 0 > j >>> 0) {
+     break d;
+    }
+    e = q[a >> 2];
+    g = r[e + 1 | 0] | r[e | 0] << 8;
+    e = (e + (r[e + 7 | 0] | r[e + 6 | 0] << 8) | 0) + (r[e + (r[e + 5 | 0] | r[e + 4 | 0] << 8) + (!g + w(g, k)) | 0] << 3) | 0;
+    if (!(r[e + 2 | 0] << 8 & 768 | r[e + 3 | 0]) | ((r[e + 7 | 0] | r[e + 6 | 0] << 8) == 65535 ? (r[e + 5 | 0] | r[e + 4 | 0] << 8) == 65535 : 0)) {
+     break d;
+    }
+    DG(c, f, h);
+   }
+   Rr(b, a, d);
+   c = q[a >> 2];
+   k = ((r[d + 1 | 0] | r[d | 0] << 8) - (r[c + 4 | 0] << 8 | r[c + 5 | 0]) | 0) / (r[c + 1 | 0] | r[c | 0] << 8) | 0;
+   c = q[a + 4 >> 2];
+   f = q[c + 72 >> 2];
+   if ((f | 0) != q[c + 76 >> 2]) {
+    e : {
+     if (r[d + 2 | 0] & 64) {
+      d = q[c + 40 >> 2];
+      q[c + 40 >> 2] = d + -1;
+      if ((d | 0) > 0) {
+       break e;
+      }
+     }
+     if (r[c + 69 | 0]) {
+      f : {
+       if (q[c + 92 >> 2] == q[c + 88 >> 2]) {
+        d = f;
+        if ((d | 0) == q[c + 80 >> 2]) {
+         break f;
+        }
+       }
+       if (!pG(c, 1, 1)) {
+        break e;
+       }
+       f = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+       e = q[f + 4 >> 2];
+       d = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+       q[d >> 2] = q[f >> 2];
+       q[d + 4 >> 2] = e;
+       q[d + 16 >> 2] = q[f + 16 >> 2];
+       e = q[f + 12 >> 2];
+       q[d + 8 >> 2] = q[f + 8 >> 2];
+       q[d + 12 >> 2] = e;
+       f = q[c + 72 >> 2];
+       d = q[c + 80 >> 2];
+      }
+      q[c + 80 >> 2] = d + 1;
+     }
+     q[c + 72 >> 2] = f + 1;
+    }
+    c = q[a + 4 >> 2];
+    if (!r[c + 68 | 0]) {
+     break a;
+    }
+    f = q[c + 72 >> 2];
+    continue;
+   }
+   break;
+  }
+  if (!r[c + 68 | 0]) {
+   break a;
+  }
+  while (1) {
+   d = q[c + 72 >> 2];
+   if (d >>> 0 >= t[c + 76 >> 2]) {
+    break a;
+   }
+   g : {
+    if (r[c + 69 | 0]) {
+     f = c;
+     h : {
+      if (q[c + 92 >> 2] == q[c + 88 >> 2]) {
+       b = d;
+       if (q[c + 80 >> 2] == (d | 0)) {
+        break h;
+       }
+      }
+      if (!pG(c, 1, 1)) {
+       break g;
+      }
+      d = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+      e = q[d + 4 >> 2];
+      b = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+      q[b >> 2] = q[d >> 2];
+      q[b + 4 >> 2] = e;
+      q[b + 16 >> 2] = q[d + 16 >> 2];
+      e = q[d + 12 >> 2];
+      q[b + 8 >> 2] = q[d + 8 >> 2];
+      q[b + 12 >> 2] = e;
+      d = q[c + 72 >> 2];
+      b = q[c + 80 >> 2];
+     }
+     q[f + 80 >> 2] = b + 1;
+    }
+    q[c + 72 >> 2] = d + 1;
+   }
+   c = q[a + 4 >> 2];
+   if (r[c + 68 | 0]) {
+    continue;
+   }
+   break;
+  }
+ }
+ uG(c);
+}
+function U$(a, b, c, d, e, f, g, h, i) {
+ var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0;
+ j = Ca - 128 | 0;
+ Ca = j;
+ a : {
+  b : {
+   c : {
+    if (!o$(f, g, h, i, 0, 0, 0, 0)) {
+     break c;
+    }
+    l = X$(f, g, h, i);
+    u = e >>> 16 | 0;
+    o = u & 32767;
+    if ((o | 0) == 32767) {
+     break c;
+    }
+    if (l) {
+     break b;
+    }
+   }
+   w$(j + 16 | 0, b, c, d, e, f, g, h, i);
+   e = q[j + 16 >> 2];
+   d = q[j + 20 >> 2];
+   c = q[j + 24 >> 2];
+   b = q[j + 28 >> 2];
+   q$(j, e, d, c, b, e, d, c, b);
+   d = q[j + 8 >> 2];
+   e = q[j + 12 >> 2];
+   h = q[j >> 2];
+   i = q[j + 4 >> 2];
+   break a;
+  }
+  k = e & 65535 | o << 16;
+  n = k;
+  m = d;
+  p = h;
+  t = i >>> 16 & 32767;
+  l = i & 65535 | t << 16;
+  if ((o$(b, c, m, k, f, g, h, l) | 0) <= 0) {
+   if (o$(b, c, m, n, f, g, p, l)) {
+    h = b;
+    i = c;
+    break a;
+   }
+   w$(j + 112 | 0, b, c, d, e, 0, 0, 0, 0);
+   d = q[j + 120 >> 2];
+   e = q[j + 124 >> 2];
+   h = q[j + 112 >> 2];
+   i = q[j + 116 >> 2];
+   break a;
+  }
+  if (o) {
+   i = c;
+   h = b;
+  } else {
+   w$(j + 96 | 0, b, c, m, n, 0, 0, 0, 1081540608);
+   h = q[j + 108 >> 2];
+   n = h;
+   m = q[j + 104 >> 2];
+   o = (h >>> 16 | 0) + -120 | 0;
+   i = q[j + 100 >> 2];
+   h = q[j + 96 >> 2];
+  }
+  if (!t) {
+   w$(j + 80 | 0, f, g, p, l, 0, 0, 0, 1081540608);
+   f = q[j + 92 >> 2];
+   l = f;
+   p = q[j + 88 >> 2];
+   t = (l >>> 16 | 0) + -120 | 0;
+   g = q[j + 84 >> 2];
+   f = q[j + 80 >> 2];
+  }
+  w = p;
+  k = p;
+  p = m - k | 0;
+  n = n & 65535 | 65536;
+  v = l & 65535 | 65536;
+  l = (g | 0) == (i | 0) & h >>> 0 < f >>> 0 | i >>> 0 < g >>> 0;
+  k = (n - (v + (m >>> 0 < k >>> 0) | 0) | 0) - (p >>> 0 < l >>> 0) | 0;
+  r = p - l | 0;
+  s = (k | 0) > -1 ? 1 : (k | 0) >= -1 ? r >>> 0 <= 4294967295 ? 0 : 1 : 0;
+  p = h - f | 0;
+  l = i - ((h >>> 0 < f >>> 0) + g | 0) | 0;
+  if ((o | 0) > (t | 0)) {
+   while (1) {
+    d : {
+     if (s & 1) {
+      if (!(p | r | (k | l))) {
+       w$(j + 32 | 0, b, c, d, e, 0, 0, 0, 0);
+       d = q[j + 40 >> 2];
+       e = q[j + 44 >> 2];
+       h = q[j + 32 >> 2];
+       i = q[j + 36 >> 2];
+       break a;
+      }
+      h = r;
+      s = k << 1 | h >>> 31;
+      r = h << 1;
+      k = s;
+      s = 0;
+      h = l >>> 31 | 0;
+      break d;
+     }
+     k = 0;
+     l = i;
+     r = i >>> 31 | 0;
+     p = h;
+     h = m;
+     s = n << 1 | h >>> 31;
+     h = h << 1;
+    }
+    m = h | r;
+    i = m;
+    h = w;
+    r = i - h | 0;
+    n = k | s;
+    k = n - ((i >>> 0 < h >>> 0) + v | 0) | 0;
+    h = p;
+    s = l << 1 | h >>> 31;
+    h = h << 1;
+    i = s;
+    l = (g | 0) == (i | 0) & h >>> 0 < f >>> 0 | i >>> 0 < g >>> 0;
+    k = k - (r >>> 0 < l >>> 0) | 0;
+    r = r - l | 0;
+    s = (k | 0) > -1 ? 1 : (k | 0) >= -1 ? r >>> 0 <= 4294967295 ? 0 : 1 : 0;
+    p = h - f | 0;
+    l = i - ((h >>> 0 < f >>> 0) + g | 0) | 0;
+    o = o + -1 | 0;
+    if ((o | 0) > (t | 0)) {
+     continue;
+    }
+    break;
+   }
+   o = t;
+  }
+  e : {
+   if (!s) {
+    break e;
+   }
+   h = p;
+   m = r;
+   i = l;
+   n = k;
+   if (h | m | (i | k)) {
+    break e;
+   }
+   w$(j + 48 | 0, b, c, d, e, 0, 0, 0, 0);
+   d = q[j + 56 >> 2];
+   e = q[j + 60 >> 2];
+   h = q[j + 48 >> 2];
+   i = q[j + 52 >> 2];
+   break a;
+  }
+  if ((n | 0) == 65535 & m >>> 0 <= 4294967295 | n >>> 0 < 65535) {
+   while (1) {
+    d = i >>> 31 | 0;
+    b = 0;
+    o = o + -1 | 0;
+    k = i << 1 | h >>> 31;
+    h = h << 1;
+    i = k;
+    s = n << 1 | m >>> 31;
+    m = m << 1 | d;
+    b = b | s;
+    n = b;
+    if ((b | 0) == 65536 & m >>> 0 < 0 | b >>> 0 < 65536) {
+     continue;
+    }
+    break;
+   }
+  }
+  b = u & 32768;
+  if ((o | 0) <= 0) {
+   w$(j - -64 | 0, h, i, m, n & 65535 | (b | o + 120) << 16, 0, 0, 0, 1065811968);
+   d = q[j + 72 >> 2];
+   e = q[j + 76 >> 2];
+   h = q[j + 64 >> 2];
+   i = q[j + 68 >> 2];
+   break a;
+  }
+  d = m;
+  e = n & 65535 | (b | o) << 16;
+ }
+ q[a >> 2] = h;
+ q[a + 4 >> 2] = i;
+ q[a + 8 >> 2] = d;
+ q[a + 12 >> 2] = e;
+ Ca = j + 128 | 0;
+}
+function UW(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ e = Ca - 2320 | 0;
+ Ca = e;
+ lQ(e + 1112 | 0, 0, 0);
+ i = EX(a, b);
+ a : {
+  b : {
+   if (!i) {
+    qQ(e + 1112 | 0, 498371);
+    qQ(e + 1112 | 0, b ? b : 498386);
+    a = c;
+    break b;
+   }
+   g = SX(a, b);
+   if (!g) {
+    qQ(e + 1112 | 0, 498393);
+    qQ(e + 1112 | 0, b ? b : 498386);
+    M$(i);
+    a = c;
+    break b;
+   }
+   if (HQ(q[a + 80 >> 2], g)) {
+    M$(i);
+    M$(g);
+    f = 1;
+    break a;
+   }
+   c : {
+    d : {
+     if (d) {
+      if (!xQ(q[a + 16 >> 2], i)) {
+       break d;
+      }
+     }
+     if (!xQ(q[a + 80 >> 2], g)) {
+      break d;
+     }
+     if (dT(g)) {
+      k = EY(g);
+      e : {
+       if (!k) {
+        if (!c) {
+         break e;
+        }
+        q[e + 48 >> 2] = b;
+        VW(0, 2, 498549, e + 48 | 0);
+        break e;
+       }
+       b = L$(g0(g) + 4098 | 0);
+       if (b) {
+        j = gZ(b, g);
+        b = j + g0(j) | 0;
+        o[b | 0] = 47;
+        o[b + 1 | 0] = 0;
+        f = g0(j);
+        h = wQ(2);
+        f : {
+         if (!h) {
+          f = 0;
+          break f;
+         }
+         if (r[643389] & 4) {
+          q[e + 64 >> 2] = g;
+          d0(498577, e - -64 | 0);
+         }
+         if (d) {
+          LQ(q[a >> 2], g);
+         }
+         g : {
+          h : {
+           b = FY(k);
+           if (b) {
+            n = f + j | 0;
+            while (1) {
+             l = b + 19 | 0;
+             f = g0(l);
+             m = o[b + 19 | 0];
+             i : {
+              if ((m | 0) < 48 | (f | 0) < 6 | (m | 0) > 57) {
+               break i;
+              }
+              if (iZ((b + f | 0) + 14 | 0, 498602)) {
+               break i;
+              }
+              gZ(n, l);
+              if (!xQ(h, j)) {
+               break h;
+              }
+             }
+             b = FY(k);
+             if (b) {
+              continue;
+             }
+             break;
+            }
+           }
+           M_(q[h + 12 >> 2], q[h + 4 >> 2], 4, 977);
+           b = 0;
+           if (q[h + 4 >> 2] <= 0) {
+            f = 1;
+            break g;
+           }
+           while (1) {
+            f = UW(a, q[q[h + 12 >> 2] + (b << 2) >> 2], c, d);
+            if (!f) {
+             break h;
+            }
+            b = b + 1 | 0;
+            if ((b | 0) < q[h + 4 >> 2]) {
+             continue;
+            }
+            break;
+           }
+           break g;
+          }
+          f = 0;
+         }
+         BQ(h);
+        }
+        M$(j);
+       }
+       GY(k);
+      }
+      M$(i);
+      M$(g);
+      f = !c | (f | 0) != 0;
+      break a;
+     }
+     lQ(e + 2232 | 0, 0, 0);
+     h = SQ(g, 0, 0);
+     if ((h | 0) != -1) {
+      j : {
+       while (1) {
+        f = PY(h, e + 1200 | 0, 1024);
+        if ((f | 0) <= -1) {
+         a = q[160854];
+         hZ(a, e + 80 | 0);
+         q[e + 40 >> 2] = a;
+         q[e + 32 >> 2] = g;
+         q[e + 36 >> 2] = e + 80;
+         f = 0;
+         VW(0, 2, 498428, e + 32 | 0);
+         SY(h);
+         a = c;
+         break j;
+        }
+        rQ(e + 2232 | 0, e + 1200 | 0, f);
+        if (f) {
+         continue;
+        }
+        break;
+       }
+       SY(h);
+       f = XW(a, i, oQ(e + 2232 | 0), c, d);
+       a = 0;
+      }
+      mQ(e + 2232 | 0);
+      break c;
+     }
+     qQ(e + 1112 | 0, 498412);
+     qQ(e + 1112 | 0, g);
+     mQ(e + 2232 | 0);
+     a = c;
+     break c;
+    }
+    a = c;
+   }
+   M$(i);
+   M$(g);
+  }
+  if (!c) {
+   f = 1;
+   break a;
+  }
+  if (!(!a | f)) {
+   a = d ? 498505 : 498510;
+   c = oQ(e + 1112 | 0);
+   k : {
+    if (b) {
+     q[e + 24 >> 2] = c;
+     q[e + 20 >> 2] = b;
+     q[e + 16 >> 2] = a;
+     VW(0, 2, 498474, e + 16 | 0);
+     break k;
+    }
+    q[e + 4 >> 2] = c;
+    q[e >> 2] = a;
+    VW(0, 2, 498515, e);
+   }
+   mQ(e + 1112 | 0);
+   f = 0;
+   break a;
+  }
+  mQ(e + 1112 | 0);
+ }
+ Ca = e + 2320 | 0;
+ return f;
+}
+function XI(a, b, c, d, e, f, g) {
+ var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, u = 0;
+ q[a + 168 >> 2] = f;
+ n = a + 168 | 0;
+ q[a + 48 >> 2] = n;
+ h = q[a + 64 >> 2];
+ q[a + 192 >> 2] = q[a + 60 >> 2];
+ q[a + 196 >> 2] = h;
+ q[a + 188 >> 2] = c;
+ q[a + 184 >> 2] = b;
+ q[a + 180 >> 2] = e;
+ q[a + 176 >> 2] = d;
+ q[a + 172 >> 2] = g;
+ g = n;
+ while (1) {
+  j = q[g + 20 >> 2];
+  k = q[g + 12 >> 2];
+  c = (j | 0) > (k | 0);
+  e = q[g + 28 >> 2];
+  h = q[g + 4 >> 2];
+  b = (e | 0) <= (h | 0);
+  a : {
+   if (!(((c ? j : k) | 0) <= ((b ? h : e) | 0) ? ((c ? k : j) | 0) >= ((b ? e : h) | 0) : 0)) {
+    b = q[g + 24 >> 2];
+    q[g + 48 >> 2] = b;
+    q[g + 52 >> 2] = e;
+    c = e + j | 0;
+    q[g + 44 >> 2] = c >> 1;
+    d = h + k | 0;
+    q[g + 12 >> 2] = d >> 1;
+    e = q[g + 8 >> 2];
+    i = e + f | 0;
+    q[g + 8 >> 2] = i >> 1;
+    l = b;
+    b = q[g + 16 >> 2];
+    m = l + b | 0;
+    q[g + 40 >> 2] = m >> 1;
+    l = c;
+    c = j + k | 0;
+    j = l + c | 0;
+    q[g + 36 >> 2] = j >> 2;
+    c = c + d | 0;
+    q[g + 20 >> 2] = c >> 2;
+    b = b + e | 0;
+    d = b + i | 0;
+    q[g + 16 >> 2] = d >> 2;
+    b = b + m | 0;
+    q[g + 32 >> 2] = b >> 2;
+    q[g + 28 >> 2] = c + j >> 3;
+    q[g + 24 >> 2] = b + d >> 3;
+    q[a + 48 >> 2] = g + 24;
+    break a;
+   }
+   if ((e | 0) == (h | 0)) {
+    q[a + 48 >> 2] = g + -24;
+    break a;
+   }
+   d = q[a + 92 >> 2];
+   l = b ? 1 : 2;
+   if ((d | 0) != (l | 0)) {
+    b = q[a + 4 >> 2];
+    i = b + -1 | 0;
+    u = (e | 0) > (h | 0);
+    c = (i + e & 0 - b) - e | 0;
+    b : {
+     if (!u) {
+      break b;
+     }
+     c = e & i;
+    }
+    m = q[a + 8 >> 2];
+    if (d) {
+     b = q[a + 36 >> 2];
+     i = q[a + 80 >> 2];
+     d = b - q[i + 8 >> 2] | 0;
+     if ((d | 0) <= -1) {
+      q[a + 40 >> 2] = 99;
+      return 1;
+     }
+     c : {
+      if (!d) {
+       d = b;
+       break c;
+      }
+      q[i + 16 >> 2] = d >> 2;
+      if ((c | 0) >= (m | 0)) {
+       d = s[i + 12 >> 1];
+       p[i + 12 >> 1] = (d & 8 ? 16 : 32) | d;
+      }
+      q[a + 80 >> 2] = b;
+      d = b + 32 | 0;
+      q[a + 36 >> 2] = d;
+      q[b + 8 >> 2] = d;
+      q[b + 16 >> 2] = 0;
+      q[i + 28 >> 2] = b;
+      p[a + 76 >> 1] = s[a + 76 >> 1] + 1;
+     }
+     if (d >>> 0 >= t[a + 32 >> 2]) {
+      q[a + 40 >> 2] = 98;
+      return 1;
+     }
+     o[a + 79 | 0] = 0;
+    }
+    d : {
+     if (q[a + 84 >> 2]) {
+      d = q[a + 36 >> 2];
+      break d;
+     }
+     b = q[a + 36 >> 2];
+     q[a + 84 >> 2] = b;
+     q[a + 80 >> 2] = b;
+     d = b + 32 | 0;
+     q[a + 36 >> 2] = d;
+    }
+    if (d >>> 0 >= t[a + 32 >> 2]) {
+     q[a + 40 >> 2] = 98;
+     return 1;
+    }
+    b = q[a + 80 >> 2];
+    q[b + 16 >> 2] = 0;
+    q[b + 20 >> 2] = 0;
+    q[b + 8 >> 2] = d;
+    q[b + 28 >> 2] = 0;
+    q[b + 4 >> 2] = 0;
+    d = r[a + 164 | 0];
+    p[b + 12 >> 1] = d;
+    e : {
+     if (!u) {
+      p[b + 12 >> 1] = d | 8;
+      if ((c | 0) < (m | 0)) {
+       break e;
+      }
+      p[b + 12 >> 1] = d | 40;
+      break e;
+     }
+     if ((c | 0) < (m | 0)) {
+      break e;
+     }
+     p[b + 12 >> 1] = d | 16;
+    }
+    if (!q[a + 88 >> 2]) {
+     q[a + 88 >> 2] = b;
+    }
+    p[a + 78 >> 1] = 1;
+    q[a + 92 >> 2] = l;
+   }
+   b = q[a + 72 >> 2];
+   c = q[a + 68 >> 2];
+   if ((e | 0) <= (h | 0)) {
+    if (!_I(a, 3, 647, c, b)) {
+     break a;
+    }
+    return 1;
+   }
+   q[g + 28 >> 2] = 0 - e;
+   q[g + 20 >> 2] = 0 - j;
+   q[g + 12 >> 2] = 0 - k;
+   q[g + 4 >> 2] = 0 - h;
+   d = r[a + 78 | 0];
+   b = _I(a, 3, 647, 0 - b | 0, 0 - c | 0);
+   if (!(r[a + 78 | 0] | !d)) {
+    c = q[a + 80 >> 2];
+    q[c + 20 >> 2] = 0 - q[c + 20 >> 2];
+   }
+   q[g + 4 >> 2] = 0 - q[g + 4 >> 2];
+   if (!b) {
+    break a;
+   }
+   return 1;
+  }
+  g = q[a + 48 >> 2];
+  if (g >>> 0 >= n >>> 0) {
+   f = q[g >> 2];
+   continue;
+  }
+  break;
+ }
+ q[a + 64 >> 2] = h;
+ q[a + 60 >> 2] = f;
+ return 0;
+}
+function kp(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ b = Ca - 224 | 0;
+ Ca = b;
+ f = L$(40);
+ q[f >> 2] = 0;
+ h = q[a + 508 >> 2];
+ q[b + 216 >> 2] = h;
+ a : {
+  b : {
+   if (!q[b + 216 >> 2]) {
+    break b;
+   }
+   c = q[a + 512 >> 2];
+   if (c >>> 0 < 4) {
+    break b;
+   }
+   q[b + 216 >> 2] = q[b + 216 >> 2] + 2;
+   q[b + 216 >> 2] = q[b + 216 >> 2] + 2;
+   q[b + 220 >> 2] = r[q[b + 216 >> 2] + -1 | 0] | r[q[b + 216 >> 2] + -2 | 0] << 8;
+   if (!q[b + 220 >> 2]) {
+    break b;
+   }
+   g = 4;
+   j = c + h | 0;
+   while (1) {
+    if (q[b + 216 >> 2] + 8 >>> 0 > j >>> 0) {
+     break b;
+    }
+    q[b + 216 >> 2] = q[b + 216 >> 2] + 2;
+    c = r[q[b + 216 >> 2] + -2 | 0];
+    d = r[q[b + 216 >> 2] + -1 | 0];
+    q[b + 216 >> 2] = q[b + 216 >> 2] + 2;
+    p[b + 208 >> 1] = d | c << 8;
+    c = r[q[b + 216 >> 2] + -2 | 0];
+    d = r[q[b + 216 >> 2] + -1 | 0];
+    q[b + 216 >> 2] = q[b + 216 >> 2] + 4;
+    q[b + 200 >> 2] = a;
+    q[b + 204 >> 2] = 0;
+    p[b + 210 >> 1] = d | c << 8;
+    c = r[q[b + 216 >> 2] + -1 | 0] | (r[q[b + 216 >> 2] + -3 | 0] << 16 | r[q[b + 216 >> 2] + -4 | 0] << 24 | r[q[b + 216 >> 2] + -2 | 0] << 8);
+    if (!(!c | c >>> 0 > q[a + 512 >> 2] + -2 >>> 0)) {
+     q[b + 196 >> 2] = c + h;
+     q[b + 192 >> 2] = r[q[b + 196 >> 2] + 1 | 0] | r[q[b + 196 >> 2]] << 8;
+     q[b + 188 >> 2] = 162288;
+     c : {
+      if (!q[q[b + 188 >> 2] >> 2]) {
+       break c;
+      }
+      d : {
+       while (1) {
+        e : {
+         q[b + 184 >> 2] = q[q[b + 188 >> 2] >> 2];
+         if (q[q[b + 184 >> 2] + 40 >> 2] == q[b + 192 >> 2]) {
+          q[b + 4 >> 2] = 0;
+          q[161173] = 0;
+          jf(b + 8 | 0, q[b + 196 >> 2], j, 0);
+          d = q[161173];
+          q[161173] = 0;
+          c = -1;
+          if (!d) {
+           break d;
+          }
+          e = q[161174];
+          if (!e) {
+           break d;
+          }
+          c = K(q[d >> 2], f | 0, g | 0) | 0;
+          if (c) {
+           break e;
+          }
+          break a;
+         }
+         q[b + 188 >> 2] = q[b + 188 >> 2] + 4;
+         if (q[q[b + 188 >> 2] >> 2]) {
+          continue;
+         }
+         break c;
+        }
+        break;
+       }
+       M(e | 0);
+      }
+      d = N() | 0;
+      if ((c | 0) != 1) {
+       q[b + 180 >> 2] = s[a + 264 >> 1];
+       f = O(b + 8 | 0, 1, f | 0, g | 0) | 0;
+       d = 0;
+       g = N() | 0;
+      }
+      while (1) {
+       if (!d) {
+        c = q[q[b + 184 >> 2] + 44 >> 2];
+        q[161173] = 0;
+        i = P(c | 0, q[b + 196 >> 2], b + 8 | 0) | 0;
+        d = q[161173];
+        q[161173] = 0;
+        c = -1;
+        f : {
+         if (!d) {
+          break f;
+         }
+         e = q[161174];
+         if (!e) {
+          break f;
+         }
+         c = K(q[d >> 2], f | 0, g | 0) | 0;
+         if (!c) {
+          break a;
+         }
+         M(e | 0);
+        }
+        d = N() | 0;
+        if ((c | 0) == 1) {
+         continue;
+        }
+        q[b + 4 >> 2] = i;
+       }
+       if (q[b + 176 >> 2]) {
+        break c;
+       }
+       q[161173] = 0;
+       i = Q(318, q[b + 184 >> 2], q[b + 196 >> 2], b + 200 | 0, b | 0) | 0;
+       d = q[161173];
+       q[161173] = 0;
+       c = -1;
+       g : {
+        if (!d) {
+         break g;
+        }
+        e = q[161174];
+        if (!e) {
+         break g;
+        }
+        c = K(q[d >> 2], f | 0, g | 0) | 0;
+        if (!c) {
+         break a;
+        }
+        M(e | 0);
+       }
+       d = N() | 0;
+       if ((c | 0) == 1) {
+        continue;
+       }
+       break;
+      }
+      if (i) {
+       break c;
+      }
+      q[q[b >> 2] + 20 >> 2] = q[b + 4 >> 2];
+     }
+    }
+    q[b + 220 >> 2] = q[b + 220 >> 2] + -1;
+    if (q[b + 220 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  M$(f);
+  Ca = b + 224 | 0;
+  return;
+ }
+ L(d | 0, e | 0);
+ F();
+}
+function Ir(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = q[a + 4 >> 2];
+ q[d + 72 >> 2] = 0;
+ a : {
+  if (!r[d + 68 | 0]) {
+   break a;
+  }
+  while (1) {
+   e = 0;
+   b : {
+    if (c >>> 0 >= t[d + 76 >> 2]) {
+     break b;
+    }
+    f = q[q[d + 88 >> 2] + w(c, 20) >> 2];
+    e = 2;
+    if ((f | 0) == 65535) {
+     break b;
+    }
+    c = q[a >> 2];
+    d = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+    c = Kr((d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24)) + c | 0, f, q[a + 8 >> 2]);
+    e = 1;
+    if (!c) {
+     break b;
+    }
+    e = r[c + 1 | 0] | r[c | 0] << 8;
+   }
+   c = q[a >> 2];
+   d = r[c + 12 | 0] | r[c + 13 | 0] << 8 | (r[c + 14 | 0] << 16 | r[c + 15 | 0] << 24);
+   f = (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + c | 0;
+   d = r[c + 8 | 0] | r[c + 9 | 0] << 8 | (r[c + 10 | 0] << 16 | r[c + 11 | 0] << 24);
+   d = c + (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) | 0;
+   c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+   c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+   c = d + ((c >>> 0 > e >>> 0 ? e : 1) + w(c, g) << 1) | 0;
+   f = f + ((r[c | 0] << 8 | r[c + 1 | 0]) << 3) | 0;
+   c : {
+    if (!g) {
+     break c;
+    }
+    c = q[a + 4 >> 2];
+    d = q[(r[c + 69 | 0] ? 80 : 72) + c >> 2];
+    if (!d) {
+     break c;
+    }
+    e = q[c + 72 >> 2];
+    if (e >>> 0 >= t[c + 76 >> 2]) {
+     break c;
+    }
+    if (!((r[f + 5 | 0] | r[f + 4 | 0] << 8) != 65535 | (r[f + 7 | 0] | r[f + 6 | 0] << 8) != 65535 | (r[f + 1 | 0] | r[f | 0] << 8))) {
+     if ((r[f + 3 | 0] | r[f + 2 | 0] << 8) == 16384) {
+      break c;
+     }
+    }
+    EG(c, d + -1 | 0, e + 1 | 0);
+   }
+   e = q[a + 4 >> 2];
+   h = q[e + 72 >> 2];
+   j = h + 2 | 0;
+   k = q[e + 76 >> 2];
+   d : {
+    if (j >>> 0 > k >>> 0) {
+     break d;
+    }
+    c = q[a >> 2];
+    d = r[c + 8 | 0] | r[c + 9 | 0] << 8 | (r[c + 10 | 0] << 16 | r[c + 11 | 0] << 24);
+    i = (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + c | 0;
+    d = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+    d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+    d = i + (w(d, g) + !d << 1) | 0;
+    g = r[d | 0];
+    i = r[d + 1 | 0];
+    d = r[c + 12 | 0] | r[c + 13 | 0] << 8 | (r[c + 14 | 0] << 16 | r[c + 15 | 0] << 24);
+    if (r[b + 8 | 0] ? 0 : (h | 0) == (k | 0)) {
+     break d;
+    }
+    c = (c + (d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24)) | 0) + ((g << 8 | i) << 3) | 0;
+    if ((r[c + 7 | 0] | r[c + 6 | 0] << 8) == 65535 ? (r[c + 4 | 0] << 8 | r[c + 5 | 0]) == 65535 : 0) {
+     break d;
+    }
+    DG(e, h, j);
+   }
+   Or(b, a, f);
+   e = q[a + 4 >> 2];
+   d = q[e + 72 >> 2];
+   if ((d | 0) == q[e + 76 >> 2]) {
+    break a;
+   }
+   g = r[f | 0];
+   h = r[f + 1 | 0];
+   e : {
+    if (r[f + 2 | 0] & 64) {
+     c = q[e + 40 >> 2];
+     q[e + 40 >> 2] = c + -1;
+     if ((c | 0) > 0) {
+      break e;
+     }
+    }
+    if (r[e + 69 | 0]) {
+     f : {
+      if (q[e + 92 >> 2] == q[e + 88 >> 2]) {
+       c = d;
+       if ((c | 0) == q[e + 80 >> 2]) {
+        break f;
+       }
+      }
+      if (!pG(e, 1, 1)) {
+       break e;
+      }
+      d = q[e + 88 >> 2] + w(q[e + 72 >> 2], 20) | 0;
+      f = q[d + 4 >> 2];
+      c = q[e + 92 >> 2] + w(q[e + 80 >> 2], 20) | 0;
+      q[c >> 2] = q[d >> 2];
+      q[c + 4 >> 2] = f;
+      q[c + 16 >> 2] = q[d + 16 >> 2];
+      f = q[d + 12 >> 2];
+      q[c + 8 >> 2] = q[d + 8 >> 2];
+      q[c + 12 >> 2] = f;
+      d = q[e + 72 >> 2];
+      c = q[e + 80 >> 2];
+     }
+     q[e + 80 >> 2] = c + 1;
+    }
+    q[e + 72 >> 2] = d + 1;
+   }
+   d = q[a + 4 >> 2];
+   if (!r[d + 68 | 0]) {
+    break a;
+   }
+   g = h | g << 8;
+   c = q[d + 72 >> 2];
+   continue;
+  }
+ }
+}
+function WR(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0;
+ a : {
+  if (!a | !b) {
+   break a;
+  }
+  n = q[a + 4 >> 2];
+  i = -1;
+  g = -1;
+  o = q[a + 12 >> 2] + a | 0;
+  b : {
+   c : {
+    if (o) {
+     c = n + -1 | 0;
+     d : {
+      e : {
+       if ((n | 0) < 1) {
+        d = c;
+        break e;
+       }
+       while (1) {
+        d = c >> 1;
+        j = d;
+        if (!s[(c & -2) + o >> 1]) {
+         break d;
+        }
+        e = (c | 0) > 1;
+        d = d + -1 | 0;
+        c = d;
+        if (e) {
+         continue;
+        }
+        break;
+       }
+      }
+      j = (d >>> 31 | 0) + d ^ -1;
+     }
+     g = j;
+     d = 0;
+     if ((g | 0) > -1) {
+      break c;
+     }
+    }
+    c = g ^ -1;
+    g = 0;
+    d = 0;
+    if ((c | 0) == (n | 0)) {
+     break b;
+    }
+    g = c;
+    d = s[(c << 1) + o >> 1] << 8;
+   }
+   i = d;
+   c = q[a + 8 >> 2] + a | 0;
+   d = q[c + (g << 2) >> 2] + c | 0;
+  }
+  f = d;
+  e = -1;
+  l = q[b + 4 >> 2];
+  j = l + -1 | 0;
+  d = -1;
+  k = q[b + 12 >> 2] + b | 0;
+  f : {
+   g : {
+    if (k) {
+     d = j;
+     h : {
+      if ((l | 0) >= 1) {
+       c = j;
+       while (1) {
+        m = c >> 1;
+        d = m;
+        if (!s[(c & -2) + k >> 1]) {
+         break h;
+        }
+        h = (c | 0) > 1;
+        d = m + -1 | 0;
+        c = d;
+        if (h) {
+         continue;
+        }
+        break;
+       }
+      }
+      d = (d >>> 31 | 0) + d ^ -1;
+     }
+     c = 0;
+     if ((d | 0) > -1) {
+      break g;
+     }
+    }
+    d = d ^ -1;
+    c = 0;
+    if ((l | 0) == (d | 0)) {
+     break f;
+    }
+    c = s[(d << 1) + k >> 1] << 8;
+   }
+   e = c;
+   c = q[b + 8 >> 2] + b | 0;
+   c = q[c + (d << 2) >> 2] + c | 0;
+  }
+  if (!f) {
+   break a;
+  }
+  while (1) {
+   i : {
+    if (i >>> 0 <= e >>> 0) {
+     j : {
+      if ((e | 0) != (i | 0)) {
+       d = X0(q[f + 24 >> 2]) + (X0(q[f + 20 >> 2]) + (X0(q[f + 16 >> 2]) + (X0(q[f + 12 >> 2]) + (X0(q[f + 8 >> 2]) + (X0(q[f + 4 >> 2]) + (X0(q[f >> 2]) + p | 0) | 0) | 0) | 0) | 0) | 0) | 0;
+       i = q[f + 28 >> 2];
+       break j;
+      }
+      d = X0(q[f + 24 >> 2] & (q[c + 24 >> 2] ^ -1)) + (X0(q[f + 20 >> 2] & (q[c + 20 >> 2] ^ -1)) + (X0(q[f + 16 >> 2] & (q[c + 16 >> 2] ^ -1)) + (X0(q[f + 12 >> 2] & (q[c + 12 >> 2] ^ -1)) + (X0(q[f + 8 >> 2] & (q[c + 8 >> 2] ^ -1)) + (X0(q[f + 4 >> 2] & (q[c + 4 >> 2] ^ -1)) + (X0(q[f >> 2] & (q[c >> 2] ^ -1)) + p | 0) | 0) | 0) | 0) | 0) | 0) | 0;
+      i = q[f + 28 >> 2] & (q[c + 28 >> 2] ^ -1);
+     }
+     p = X0(i) + d | 0;
+     g = g + 1 | 0;
+     if ((g | 0) >= (n | 0)) {
+      break a;
+     }
+     d = q[a + 8 >> 2] + a | 0;
+     f = q[d + (g << 2) >> 2] + d | 0;
+     i = s[(g << 1) + o >> 1] << 8;
+     break i;
+    }
+    if (!c) {
+     c = 0;
+     break i;
+    }
+    c = -1;
+    k : {
+     if (k) {
+      m = i >>> 8 | 0;
+      d = 0;
+      e = j;
+      l : {
+       if ((l | 0) >= 1) {
+        while (1) {
+         h = d + e | 0;
+         c = h >> 1;
+         r = m & 65535;
+         h = s[(h & -2) + k >> 1];
+         if ((r | 0) == (h | 0)) {
+          break l;
+         }
+         h = h >>> 0 < r >>> 0;
+         d = h ? c + 1 | 0 : d;
+         e = h ? e : c + -1 | 0;
+         if ((d | 0) <= (e | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       if (!((e | 0) >= (l | 0) | s[(e << 1) + k >> 1] >= (m & 65535) >>> 0 ? (e | 0) >= 0 : 0)) {
+        e = e + 1 | 0;
+       }
+       c = e ^ -1;
+      }
+      e = i;
+      if ((c | 0) > -1) {
+       break k;
+      }
+     }
+     c = c ^ -1;
+     if ((l | 0) == (c | 0)) {
+      e = -1;
+      c = 0;
+      break i;
+     }
+     e = s[(c << 1) + k >> 1] << 8;
+    }
+    d = c << 2;
+    c = q[b + 8 >> 2] + b | 0;
+    c = q[d + c >> 2] + c | 0;
+   }
+   if (f) {
+    continue;
+   }
+   break;
+  }
+ }
+ return p;
+}
+function Vk(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0;
+ if (d) {
+  q[d >> 2] = 0;
+ }
+ g = 4;
+ a : {
+  while (1) {
+   f = i;
+   b : {
+    while (1) {
+     c : {
+      if (!g) {
+       break c;
+      }
+      b = b + 1 | 0;
+      if (t[a + 8 >> 2] > b >>> 0) {
+       break c;
+      }
+      e = 0;
+      break a;
+     }
+     e = 4 - g | 0;
+     i = r[b | 0];
+     h = i >>> g & 15;
+     if ((h | 0) == 14) {
+      o = 1;
+      g = e;
+      continue;
+     }
+     if (h >>> 0 > 9) {
+      break b;
+     }
+     if ((f | 0) >= 214748364) {
+      n = n + 1 | 0;
+      g = e;
+      continue;
+     }
+     break;
+    }
+    i = 0;
+    g = e;
+    if (!(f | h)) {
+     continue;
+    }
+    l = l + 1 | 0;
+    i = w(f, 10) + h | 0;
+    continue;
+   }
+   break;
+  }
+  g = 0;
+  d : {
+   if ((h | 0) != 10) {
+    break d;
+   }
+   e : while (1) {
+    j = (f | 0) < 214748364 & (m | 0) < 9;
+    while (1) {
+     if (e) {
+      b = b + 1 | 0;
+      if (t[a + 8 >> 2] <= b >>> 0) {
+       e = 0;
+       break a;
+      }
+      i = r[b | 0];
+     }
+     k = 4 - e | 0;
+     h = (i & 255) >>> e & 15;
+     if (h >>> 0 > 9) {
+      e = k;
+      break d;
+     }
+     if (!(f | h)) {
+      n = n + -1 | 0;
+      f = 0;
+      e = k;
+      continue e;
+     }
+     e = k;
+     if (!j) {
+      continue;
+     }
+     break;
+    }
+    m = m + 1 | 0;
+    f = w(f, 10) + h | 0;
+    continue;
+   }
+  }
+  f : {
+   g : {
+    h : {
+     if (h + -11 >>> 0 <= 1) {
+      k = 0;
+      while (1) {
+       if (e) {
+        b = b + 1 | 0;
+        if (t[a + 8 >> 2] <= b >>> 0) {
+         e = 0;
+         break a;
+        }
+        i = r[b | 0];
+       }
+       j = (i & 255) >>> e & 15;
+       if (j >>> 0 <= 9) {
+        p = j + w(g, 10) | 0;
+        j = (g | 0) > 1e3;
+        g = j ? g : p;
+        k = j ? 1 : k;
+        e = 4 - e | 0;
+        continue;
+       }
+       break;
+      }
+      if (!f) {
+       e = 0;
+       break a;
+      }
+      a = (h | 0) == 12;
+      if (k) {
+       break g;
+      }
+      e = a ? 0 - g | 0 : g;
+      break h;
+     }
+     e = 0;
+     if (!f) {
+      break a;
+     }
+    }
+    a = (c + n | 0) + e | 0;
+    if (d) {
+     a = a + l | 0;
+     b = l + m | 0;
+     if ((b | 0) <= 5) {
+      if ((f | 0) >= 32768) {
+       e = Fe(f, 10);
+       q[d >> 2] = (a - b | 0) + 1;
+       break a;
+      }
+      i : {
+       j : {
+        if ((a | 0) < 1) {
+         break j;
+        }
+        c = (a | 0) < 5 ? a : 5;
+        e = c - b | 0;
+        if ((e | 0) < 1) {
+         break j;
+        }
+        b = a - c | 0;
+        f = w(q[(e << 2) + 12592 >> 2], f);
+        a = b;
+        if ((f | 0) < 32768) {
+         break i;
+        }
+        f = (f >>> 0) / 10 | 0;
+        a = b + 1 | 0;
+        break i;
+       }
+       a = a - b | 0;
+      }
+      q[d >> 2] = a;
+      e = f << 16;
+      break a;
+     }
+     b = b << 2;
+     c = q[b + 12572 >> 2];
+     if (((f | 0) / (c | 0) | 0) >= 32768) {
+      e = Fe(f, q[b + 12576 >> 2]);
+      q[d >> 2] = a + -4;
+      break a;
+     }
+     e = Fe(f, c);
+     q[d >> 2] = a + -5;
+     break a;
+    }
+    e = 2147483647;
+    b = a + l | 0;
+    if ((b | 0) > 5) {
+     break a;
+    }
+    if ((b | 0) < -5) {
+     break f;
+    }
+    if ((b | 0) > -1) {
+     a = m - a | 0;
+    } else {
+     f = (f | 0) / q[12592 - (b << 2) >> 2] | 0;
+     a = l + m | 0;
+    }
+    c = (a | 0) == 10;
+    b = c ? (f | 0) / 10 | 0 : f;
+    a = c ? 9 : a;
+    if ((a | 0) >= 1) {
+     e = 0;
+     a = q[(a << 2) + 12592 >> 2];
+     if (((b | 0) / (a | 0) | 0) > 32767) {
+      break a;
+     }
+     e = Fe(b, a);
+     break a;
+    }
+    a = w(b, q[12592 - (a << 2) >> 2]);
+    e = (a | 0) > 32767 ? 2147483647 : a << 16;
+    break a;
+   }
+   e = 2147483647;
+   if (!a) {
+    break a;
+   }
+  }
+  e = 0;
+ }
+ return o ? 0 - e | 0 : e;
+}
+function xJ(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ q[c + 12 >> 2] = q[a >> 2];
+ d = q[a + 8 >> 2];
+ wJ(c + 12 | 0, d);
+ b = q[c + 12 >> 2];
+ a : {
+  if (b >>> 0 >= d >>> 0) {
+   break a;
+  }
+  e = r[b | 0];
+  g = e + -40 | 0;
+  b : {
+   if (g >>> 0 > 53) {
+    if ((e | 0) != 123) {
+     break b;
+    }
+    f = yJ(c + 12 | 0, d);
+    break a;
+   }
+   c : {
+    switch (g - 1 | 0) {
+    case 50:
+    case 52:
+     q[c + 12 >> 2] = b + 1;
+     break a;
+    default:
+     f = zJ(c + 12 | 0, d);
+     break a;
+    case 19:
+     e = b + 1 | 0;
+     if (!(e >>> 0 >= d >>> 0 | r[e | 0] != 60)) {
+      q[c + 12 >> 2] = b + 2;
+      break a;
+     }
+     f = AJ(c + 12 | 0, d);
+     break a;
+    case 21:
+     e = b + 1 | 0;
+     q[c + 12 >> 2] = e;
+     f = 3;
+     if (r[e | 0] != 62 | e >>> 0 >= d >>> 0) {
+      break a;
+     }
+     q[c + 12 >> 2] = b + 2;
+     f = 0;
+     break a;
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 14:
+    case 15:
+    case 16:
+    case 17:
+    case 18:
+    case 20:
+    case 22:
+    case 23:
+    case 24:
+    case 25:
+    case 26:
+    case 27:
+    case 28:
+    case 29:
+    case 30:
+    case 31:
+    case 32:
+    case 33:
+    case 34:
+    case 35:
+    case 36:
+    case 37:
+    case 38:
+    case 39:
+    case 40:
+    case 41:
+    case 42:
+    case 43:
+    case 44:
+    case 45:
+    case 46:
+    case 47:
+    case 48:
+    case 49:
+    case 51:
+     break b;
+    case 6:
+     break c;
+    }
+   }
+   b = b + 1 | 0;
+   q[c + 12 >> 2] = b;
+  }
+  if (b >>> 0 >= d >>> 0) {
+   break a;
+  }
+  d : {
+   while (1) {
+    e : {
+     e = r[b | 0];
+     if (e >>> 0 > 125) {
+      break e;
+     }
+     switch (e - 1 | 0) {
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 10:
+     case 13:
+     case 14:
+     case 15:
+     case 16:
+     case 17:
+     case 18:
+     case 19:
+     case 20:
+     case 21:
+     case 22:
+     case 23:
+     case 24:
+     case 25:
+     case 26:
+     case 27:
+     case 28:
+     case 29:
+     case 30:
+     case 32:
+     case 33:
+     case 34:
+     case 35:
+     case 37:
+     case 38:
+     case 41:
+     case 42:
+     case 43:
+     case 44:
+     case 45:
+     case 47:
+     case 48:
+     case 49:
+     case 50:
+     case 51:
+     case 52:
+     case 53:
+     case 54:
+     case 55:
+     case 56:
+     case 57:
+     case 58:
+     case 60:
+     case 62:
+     case 63:
+     case 64:
+     case 65:
+     case 66:
+     case 67:
+     case 68:
+     case 69:
+     case 70:
+     case 71:
+     case 72:
+     case 73:
+     case 74:
+     case 75:
+     case 76:
+     case 77:
+     case 78:
+     case 79:
+     case 80:
+     case 81:
+     case 82:
+     case 83:
+     case 84:
+     case 85:
+     case 86:
+     case 87:
+     case 88:
+     case 89:
+     case 91:
+     case 93:
+     case 94:
+     case 95:
+     case 96:
+     case 97:
+     case 98:
+     case 99:
+     case 100:
+     case 101:
+     case 102:
+     case 103:
+     case 104:
+     case 105:
+     case 106:
+     case 107:
+     case 108:
+     case 109:
+     case 110:
+     case 111:
+     case 112:
+     case 113:
+     case 114:
+     case 115:
+     case 116:
+     case 117:
+     case 118:
+     case 119:
+     case 120:
+     case 121:
+     case 123:
+      break e;
+     default:
+      break d;
+     }
+    }
+    b = b + 1 | 0;
+    if ((d | 0) != (b | 0)) {
+     continue;
+    }
+    break;
+   }
+   q[c + 12 >> 2] = d;
+   break a;
+  }
+  q[c + 12 >> 2] = b;
+ }
+ b = q[c + 12 >> 2];
+ if (b >>> 0 < d >>> 0) {
+  f = (b | 0) == q[a >> 2] ? 3 : f;
+ }
+ e = a;
+ if (b >>> 0 > d >>> 0) {
+  q[c + 12 >> 2] = d;
+ } else {
+  d = b;
+ }
+ q[e >> 2] = d;
+ q[a + 12 >> 2] = f;
+ Ca = c + 16 | 0;
+}
+function tF(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ g = 1;
+ a : {
+  if (r[a + 12 | 0] != 1) {
+   break a;
+  }
+  g = 0;
+  if ((c | 0) == -1 | (b | 0) == -1 | b >>> 0 > c >>> 0) {
+   break a;
+  }
+  q[a + 16 >> 2] = -1;
+  h = nF(a, b);
+  k = b >>> 9 | 0;
+  j = c >>> 9 | 0;
+  b : {
+   if ((k | 0) == (j | 0)) {
+    if (!h) {
+     break a;
+    }
+    d = b >>> 6 & 7;
+    a = h + (d << 3) | 0;
+    g = c >>> 6 & 7;
+    if ((g | 0) == (d | 0)) {
+     g = q[a + 4 >> 2];
+     d = a;
+     f = a;
+     h = q[a >> 2];
+     c = c & 63;
+     a = c & 31;
+     if (32 <= (c & 63) >>> 0) {
+      e = 2 << a;
+      a = 0;
+     } else {
+      e = (1 << a) - 1 & 2 >>> 32 - a;
+      a = 2 << a;
+     }
+     i = a;
+     b = b & 63;
+     c = b & 31;
+     if (32 <= (b & 63) >>> 0) {
+      b = 1 << c;
+      c = 0;
+     } else {
+      b = (1 << c) - 1 & 1 >>> 32 - c;
+      c = 1 << c;
+     }
+     q[f >> 2] = h | i - c;
+     q[d + 4 >> 2] = e - (b + (a >>> 0 < c >>> 0) | 0) | g;
+     break b;
+    }
+    f = q[a + 4 >> 2];
+    e = b & 63;
+    b = e & 31;
+    d = a;
+    i = a;
+    if (32 <= (e & 63) >>> 0) {
+     e = -1 << b;
+     b = 0;
+    } else {
+     e = (1 << b) - 1 & -1 >>> 32 - b | -1 << b;
+     b = -1 << b;
+    }
+    q[i >> 2] = b | q[a >> 2];
+    q[d + 4 >> 2] = e | f;
+    b = a + 8 | 0;
+    a = h + (g << 3) | 0;
+    Z$(b, 255, a - b | 0);
+    e = q[a + 4 >> 2];
+    b = a;
+    f = b;
+    c = c & 63;
+    a = c & 31;
+    if (32 <= (c & 63) >>> 0) {
+     c = 2 << a;
+     a = 0;
+    } else {
+     c = (1 << a) - 1 & 2 >>> 32 - a;
+     a = 2 << a;
+    }
+    d = a + -1 | 0;
+    a = c + -1 | 0;
+    q[f >> 2] = d | q[b >> 2];
+    q[b + 4 >> 2] = (d >>> 0 < 4294967295 ? a + 1 | 0 : a) | e;
+    break b;
+   }
+   if (!h) {
+    break a;
+   }
+   l = b >>> 6 & 7;
+   f = h + (l << 3) | 0;
+   d = f;
+   m = q[d + 4 >> 2];
+   b = b & 63;
+   e = b & 31;
+   i = d;
+   if (32 <= (b & 63) >>> 0) {
+    b = -1 << e;
+    e = 0;
+   } else {
+    b = (1 << e) - 1 & -1 >>> 32 - e | -1 << e;
+    e = -1 << e;
+   }
+   q[i >> 2] = e | q[f >> 2];
+   q[d + 4 >> 2] = b | m;
+   if ((l | 0) != 7) {
+    d = f + 8 | 0;
+    b = h + 56 | 0;
+    Z$(d, 255, b - d | 0);
+    q[b >> 2] = -1;
+    q[b + 4 >> 2] = -1;
+   }
+   d = k + 1 | 0;
+   if (d >>> 0 < j >>> 0) {
+    while (1) {
+     b = nF(a, d << 9);
+     if (!b) {
+      break a;
+     }
+     q[b >> 2] = -1;
+     q[b + 4 >> 2] = -1;
+     q[b + 56 >> 2] = -1;
+     q[b + 60 >> 2] = -1;
+     q[b + 48 >> 2] = -1;
+     q[b + 52 >> 2] = -1;
+     q[b + 40 >> 2] = -1;
+     q[b + 44 >> 2] = -1;
+     q[b + 32 >> 2] = -1;
+     q[b + 36 >> 2] = -1;
+     q[b + 24 >> 2] = -1;
+     q[b + 28 >> 2] = -1;
+     q[b + 16 >> 2] = -1;
+     q[b + 20 >> 2] = -1;
+     q[b + 8 >> 2] = -1;
+     q[b + 12 >> 2] = -1;
+     d = d + 1 | 0;
+     if ((j | 0) != (d | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   a = nF(a, c);
+   if (!a) {
+    break a;
+   }
+   b = c >>> 6 & 7;
+   if (!b) {
+    d = q[a + 4 >> 2];
+    b = a;
+    f = b;
+    a = c & 63;
+    c = a & 31;
+    if (32 <= (a & 63) >>> 0) {
+     a = 2 << c;
+     c = 0;
+    } else {
+     a = (1 << c) - 1 & 2 >>> 32 - c;
+     c = 2 << c;
+    }
+    c = c + -1 | 0;
+    a = a + -1 | 0;
+    q[f >> 2] = c | q[b >> 2];
+    q[b + 4 >> 2] = (c >>> 0 < 4294967295 ? a + 1 | 0 : a) | d;
+    break b;
+   }
+   q[a >> 2] = -1;
+   q[a + 4 >> 2] = -1;
+   b = b << 3;
+   Z$(a + 8 | 0, 255, b + -8 | 0);
+   b = a + b | 0;
+   a = b;
+   d = q[b + 4 >> 2];
+   f = b;
+   i = q[b >> 2];
+   c = c & 63;
+   b = c & 31;
+   if (32 <= (c & 63) >>> 0) {
+    c = 2 << b;
+    b = 0;
+   } else {
+    c = (1 << b) - 1 & 2 >>> 32 - b;
+    b = 2 << b;
+   }
+   b = b + -1 | 0;
+   e = c + -1 | 0;
+   q[f >> 2] = i | b;
+   q[a + 4 >> 2] = (b >>> 0 < 4294967295 ? e + 1 | 0 : e) | d;
+  }
+  g = 1;
+ }
+ return g;
+}
+function Er(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 8) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1 | (r[a + 1 | 0] | r[a | 0] << 8) >>> 0 < 4) {
+   break a;
+  }
+  if (!vv(a + 2 | 0, b, a)) {
+   break a;
+  }
+  p = (r[a + 7 | 0] | r[a + 6 | 0] << 8) + a | 0;
+  l = (r[a + 5 | 0] | r[a + 4 | 0] << 8) + a | 0;
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  while (1) {
+   b : {
+    if (!(e & 1)) {
+     d = j;
+     break b;
+    }
+    c : {
+     if (!i) {
+      d = 0 - k | 0;
+      h = 0;
+      break c;
+     }
+     e = 0;
+     d = 4294967295 / (i >>> 0) | 0;
+     if (d >>> 0 <= k >>> 0) {
+      break a;
+     }
+     h = d;
+     d = 0 - k | 0;
+     if (h >>> 0 <= d >>> 0) {
+      break a;
+     }
+     h = w(i, k);
+    }
+    f = h + l | 0;
+    d = w(d, i);
+    d : {
+     if (!d) {
+      d = q[b + 12 >> 2];
+      break d;
+     }
+     e = 0;
+     if (t[b + 4 >> 2] > f >>> 0) {
+      break a;
+     }
+     g = q[b + 8 >> 2];
+     if (g >>> 0 < f >>> 0 | g - f >>> 0 < d >>> 0) {
+      break a;
+     }
+     g = q[b + 12 >> 2];
+     d = g + -1 | 0;
+     q[b + 12 >> 2] = d;
+     if ((g | 0) < 1) {
+      break a;
+     }
+    }
+    d = (k - m | 0) + d | 0;
+    q[b + 12 >> 2] = d;
+    e = 0;
+    if ((d | 0) < 1 | (h | 0) > 0) {
+     break a;
+    }
+    d = j;
+    m = k;
+    e = l;
+    if (f >>> 0 >= e >>> 0) {
+     break b;
+    }
+    while (1) {
+     e = e + -1 | 0;
+     m = r[e | 0];
+     d = d >>> 0 > m >>> 0 ? d : m + 1 | 0;
+     if (f >>> 0 < e >>> 0) {
+      continue;
+     }
+     break;
+    }
+    m = k;
+   }
+   if ((n | 0) <= (o | 0)) {
+    h = o + 1 | 0;
+    if (!(!i | 4294967295 / (i >>> 0) >>> 0 > h >>> 0)) {
+     return 0;
+    }
+    g = w(i, h);
+    e : {
+     if (!g) {
+      f = q[b + 12 >> 2];
+      break e;
+     }
+     e = 0;
+     if (t[b + 4 >> 2] > l >>> 0) {
+      break a;
+     }
+     f = q[b + 8 >> 2];
+     if (f >>> 0 < l >>> 0 | f - l >>> 0 < g >>> 0) {
+      break a;
+     }
+     s = q[b + 12 >> 2];
+     f = s + -1 | 0;
+     q[b + 12 >> 2] = f;
+     if ((s | 0) < 1) {
+      break a;
+     }
+    }
+    f = ((o ^ -1) + n | 0) + f | 0;
+    q[b + 12 >> 2] = f;
+    e = 0;
+    if ((f | 0) < 1 | ((g | 0) < 0 | 4294967295 / (i >>> 0) >>> 0 <= h >>> 0 ? i : 0)) {
+     break a;
+    }
+    e = w(i, n);
+    if ((e | 0) < (g | 0)) {
+     n = g + l | 0;
+     e = e + l | 0;
+     while (1) {
+      f = r[e | 0];
+      d = d >>> 0 > f >>> 0 ? d : f + 1 | 0;
+      e = e + 1 | 0;
+      if (e >>> 0 < n >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    n = h;
+   }
+   e = 0;
+   if (d >>> 0 > 536870910) {
+    break a;
+   }
+   h = d << 3;
+   f : {
+    if (!d) {
+     f = q[b + 12 >> 2];
+     break f;
+    }
+    if (t[b + 4 >> 2] > p >>> 0) {
+     break a;
+    }
+    f = q[b + 8 >> 2];
+    if (f >>> 0 < p >>> 0 | f - p >>> 0 < h >>> 0) {
+     break a;
+    }
+    g = q[b + 12 >> 2];
+    f = g + -1 | 0;
+    q[b + 12 >> 2] = f;
+    if ((g | 0) < 1) {
+     break a;
+    }
+   }
+   f = (j - d | 0) + f | 0;
+   q[b + 12 >> 2] = f;
+   if ((f | 0) < 1) {
+    break a;
+   }
+   if ((j | 0) < (d | 0)) {
+    h = h + p | 0;
+    e = (j << 3) + p | 0;
+    f = r[a + 1 | 0] | r[a | 0] << 8;
+    g = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+    while (1) {
+     j = ((r[e + 1 | 0] | r[e | 0] << 8) - g | 0) / (f | 0) | 0;
+     o = (o | 0) < (j | 0) ? j : o;
+     k = (k | 0) > (j | 0) ? j : k;
+     e = e + 8 | 0;
+     if (e >>> 0 < h >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   j = d;
+   e = (k | 0) < (m | 0);
+   if (e | (n | 0) <= (o | 0)) {
+    continue;
+   }
+   break;
+  }
+  e = 1;
+  if (!c) {
+   break a;
+  }
+  q[c >> 2] = d;
+ }
+ return e;
+}
+function hz(a, b) {
+ var c = 0, d = 0, e = 0, h = 0, i = 0, j = 0, k = 0;
+ c = Ca - 96 | 0;
+ Ca = c;
+ a : {
+  if (q[a + 24 >> 2] == 9) {
+   d = q[a + 140 >> 2];
+   q[c + 88 >> 2] = q[a + 136 >> 2];
+   q[c + 92 >> 2] = d;
+   d = q[a + 132 >> 2];
+   q[c + 80 >> 2] = q[a + 128 >> 2];
+   q[c + 84 >> 2] = d;
+   b : {
+    c : {
+     i = q[a + 32 >> 2];
+     d : {
+      if (!i) {
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break d;
+      }
+      d = q[a + 36 >> 2];
+      if ((i | 0) != 1) {
+       break c;
+      }
+     }
+     e = q[67761];
+     j = q[67760];
+     q[160656] = j;
+     q[160657] = e;
+     f(0, j | 0);
+     f(1, e | 0);
+     h = +g();
+     break b;
+    }
+    h = v[d + 8 >> 3];
+   }
+   k = v[d >> 3];
+   v[c + 88 >> 3] = v[c + 88 >> 3] + h;
+   v[c + 80 >> 3] = k + v[c + 80 >> 3];
+   d = q[c + 92 >> 2];
+   q[c + 72 >> 2] = q[c + 88 >> 2];
+   q[c + 76 >> 2] = d;
+   d = q[c + 84 >> 2];
+   q[c + 64 >> 2] = q[c + 80 >> 2];
+   q[c + 68 >> 2] = d;
+   e : {
+    f : {
+     g : {
+      if (i >>> 0 <= 2) {
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break g;
+      }
+      e = q[a + 36 >> 2];
+      d = e + 16 | 0;
+      if ((i | 0) != 3) {
+       break f;
+      }
+     }
+     e = q[67761];
+     j = q[67760];
+     q[160656] = j;
+     q[160657] = e;
+     f(0, j | 0);
+     f(1, e | 0);
+     h = +g();
+     break e;
+    }
+    h = v[e + 24 >> 3];
+   }
+   k = v[d >> 3];
+   v[c + 72 >> 3] = v[c + 72 >> 3] + h;
+   v[c + 64 >> 3] = k + v[c + 64 >> 3];
+   d = q[c + 76 >> 2];
+   q[c + 56 >> 2] = q[c + 72 >> 2];
+   q[c + 60 >> 2] = d;
+   d = q[c + 68 >> 2];
+   q[c + 48 >> 2] = q[c + 64 >> 2];
+   q[c + 52 >> 2] = d;
+   h : {
+    if (i >>> 0 <= 4) {
+     d = q[67761];
+     e = q[67760];
+     q[160656] = e;
+     q[160657] = d;
+     f(0, e | 0);
+     f(1, d | 0);
+     h = +g();
+     break h;
+    }
+    h = v[q[a + 36 >> 2] + 32 >> 3];
+   }
+   v[c + 48 >> 3] = v[c + 48 >> 3] + h;
+   d = q[c + 60 >> 2];
+   q[c + 40 >> 2] = q[c + 56 >> 2];
+   q[c + 44 >> 2] = d;
+   d = q[c + 52 >> 2];
+   q[c + 32 >> 2] = q[c + 48 >> 2];
+   q[c + 36 >> 2] = d;
+   i : {
+    if (i >>> 0 <= 5) {
+     d = q[67761];
+     e = q[67760];
+     q[160656] = e;
+     q[160657] = d;
+     f(0, e | 0);
+     f(1, d | 0);
+     h = +g();
+     break i;
+    }
+    h = v[q[a + 36 >> 2] + 40 >> 3];
+   }
+   v[c + 32 >> 3] = v[c + 32 >> 3] + h;
+   d = q[c + 44 >> 2];
+   q[c + 24 >> 2] = q[c + 40 >> 2];
+   q[c + 28 >> 2] = d;
+   d = q[c + 36 >> 2];
+   q[c + 16 >> 2] = q[c + 32 >> 2];
+   q[c + 20 >> 2] = d;
+   j : {
+    k : {
+     l : {
+      if (i >>> 0 <= 6) {
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break l;
+      }
+      e = q[a + 36 >> 2];
+      d = e + 48 | 0;
+      if ((i | 0) != 7) {
+       break k;
+      }
+     }
+     e = q[67761];
+     j = q[67760];
+     q[160656] = j;
+     q[160657] = e;
+     f(0, j | 0);
+     f(1, e | 0);
+     h = +g();
+     break j;
+    }
+    h = v[e + 56 >> 3];
+   }
+   k = v[d >> 3];
+   v[c + 24 >> 3] = v[c + 24 >> 3] + h;
+   v[c + 16 >> 3] = k + v[c + 16 >> 3];
+   d = q[c + 28 >> 2];
+   q[c + 8 >> 2] = q[c + 24 >> 2];
+   q[c + 12 >> 2] = d;
+   d = q[c + 20 >> 2];
+   q[c >> 2] = q[c + 16 >> 2];
+   q[c + 4 >> 2] = d;
+   m : {
+    if (i >>> 0 <= 8) {
+     d = q[67761];
+     i = q[67760];
+     q[160656] = i;
+     q[160657] = d;
+     f(0, i | 0);
+     f(1, d | 0);
+     h = +g();
+     break m;
+    }
+    h = v[q[a + 36 >> 2] + 64 >> 3];
+   }
+   v[c >> 3] = v[c >> 3] + h;
+   d = q[a + 140 >> 2];
+   q[c + 8 >> 2] = q[a + 136 >> 2];
+   q[c + 12 >> 2] = d;
+   uz(a, b, c + 80 | 0, c - -64 | 0, c + 48 | 0);
+   uz(a, b, c + 32 | 0, c + 16 | 0, c);
+   break a;
+  }
+  o[a + 40 | 0] = 1;
+ }
+ Ca = c + 96 | 0;
+}
+function Wr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ sG(q[a + 4 >> 2]);
+ c = q[a + 4 >> 2];
+ q[c + 72 >> 2] = 0;
+ a : {
+  if (!r[c + 68 | 0]) {
+   break a;
+  }
+  while (1) {
+   d = q[a >> 2];
+   l = (r[d + 7 | 0] | r[d + 6 | 0] << 8) + d | 0;
+   m = d + (r[d + 5 | 0] | r[d + 4 | 0] << 8) | 0;
+   j = q[c + 76 >> 2];
+   h = f >>> 0 >= j >>> 0;
+   i = 0;
+   b : {
+    if (h) {
+     break b;
+    }
+    g = q[q[c + 88 >> 2] + w(f, 20) >> 2];
+    i = 2;
+    if ((g | 0) == 65535) {
+     break b;
+    }
+    e = g;
+    g = d + (r[d + 3 | 0] | r[d + 2 | 0] << 8) | 0;
+    e = e - (r[g | 0] << 8 | r[g + 1 | 0]) | 0;
+    i = 1;
+    if (e >>> 0 >= (r[g + 3 | 0] | r[g + 2 | 0] << 8) >>> 0) {
+     break b;
+    }
+    i = r[(e + g | 0) + 4 | 0];
+   }
+   e = i;
+   d = r[d + 1 | 0] | r[d | 0] << 8;
+   d = l + (r[m + ((d >>> 0 > e >>> 0 ? e : 1) + w(d, k) | 0) | 0] << 2) | 0;
+   c : {
+    if (!k) {
+     break c;
+    }
+    e = q[(r[c + 69 | 0] ? 80 : 72) + c >> 2];
+    if (h | !e) {
+     break c;
+    }
+    h = r[d + 3 | 0];
+    g = r[d + 2 | 0] << 8;
+    if ((g | h) == 16384 ? !(h | g & 16128 | (r[d + 1 | 0] | r[d | 0] << 8)) : 0) {
+     break c;
+    }
+    EG(c, e + -1 | 0, f + 1 | 0);
+    c = q[a + 4 >> 2];
+    j = q[c + 76 >> 2];
+    f = q[c + 72 >> 2];
+   }
+   h = f + 2 | 0;
+   d : {
+    if (h >>> 0 > j >>> 0) {
+     break d;
+    }
+    e = q[a >> 2];
+    g = r[e + 1 | 0] | r[e | 0] << 8;
+    e = (e + (r[e + 7 | 0] | r[e + 6 | 0] << 8) | 0) + (r[e + (r[e + 5 | 0] | r[e + 4 | 0] << 8) + (!g + w(g, k)) | 0] << 2) | 0;
+    if (!(r[e + 2 | 0] << 8 & 16128 | r[e + 3 | 0])) {
+     break d;
+    }
+    DG(c, f, h);
+   }
+   Zr(b, a, d);
+   c = q[a >> 2];
+   k = ((r[d + 1 | 0] | r[d | 0] << 8) - (r[c + 4 | 0] << 8 | r[c + 5 | 0]) | 0) / (r[c + 1 | 0] | r[c | 0] << 8) | 0;
+   c = q[a + 4 >> 2];
+   f = q[c + 72 >> 2];
+   if ((f | 0) != q[c + 76 >> 2]) {
+    e : {
+     if (r[d + 2 | 0] & 64) {
+      d = q[c + 40 >> 2];
+      q[c + 40 >> 2] = d + -1;
+      if ((d | 0) > 0) {
+       break e;
+      }
+     }
+     if (r[c + 69 | 0]) {
+      f : {
+       if (q[c + 92 >> 2] == q[c + 88 >> 2]) {
+        d = f;
+        if ((d | 0) == q[c + 80 >> 2]) {
+         break f;
+        }
+       }
+       if (!pG(c, 1, 1)) {
+        break e;
+       }
+       f = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+       e = q[f + 4 >> 2];
+       d = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+       q[d >> 2] = q[f >> 2];
+       q[d + 4 >> 2] = e;
+       q[d + 16 >> 2] = q[f + 16 >> 2];
+       e = q[f + 12 >> 2];
+       q[d + 8 >> 2] = q[f + 8 >> 2];
+       q[d + 12 >> 2] = e;
+       f = q[c + 72 >> 2];
+       d = q[c + 80 >> 2];
+      }
+      q[c + 80 >> 2] = d + 1;
+     }
+     q[c + 72 >> 2] = f + 1;
+    }
+    c = q[a + 4 >> 2];
+    if (!r[c + 68 | 0]) {
+     break a;
+    }
+    f = q[c + 72 >> 2];
+    continue;
+   }
+   break;
+  }
+  if (!r[c + 68 | 0]) {
+   break a;
+  }
+  while (1) {
+   d = q[c + 72 >> 2];
+   if (d >>> 0 >= t[c + 76 >> 2]) {
+    break a;
+   }
+   g : {
+    if (r[c + 69 | 0]) {
+     f = c;
+     h : {
+      if (q[c + 92 >> 2] == q[c + 88 >> 2]) {
+       b = d;
+       if (q[c + 80 >> 2] == (d | 0)) {
+        break h;
+       }
+      }
+      if (!pG(c, 1, 1)) {
+       break g;
+      }
+      d = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+      e = q[d + 4 >> 2];
+      b = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+      q[b >> 2] = q[d >> 2];
+      q[b + 4 >> 2] = e;
+      q[b + 16 >> 2] = q[d + 16 >> 2];
+      e = q[d + 12 >> 2];
+      q[b + 8 >> 2] = q[d + 8 >> 2];
+      q[b + 12 >> 2] = e;
+      d = q[c + 72 >> 2];
+      b = q[c + 80 >> 2];
+     }
+     q[f + 80 >> 2] = b + 1;
+    }
+    q[c + 72 >> 2] = d + 1;
+   }
+   c = q[a + 4 >> 2];
+   if (r[c + 68 | 0]) {
+    continue;
+   }
+   break;
+  }
+ }
+ uG(c);
+}
+function jq(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ k = q[a + 88 >> 2];
+ q[c >> 2] = 0;
+ a : {
+  b : {
+   if (r[a + 848 | 0]) {
+    d = q[a + 844 >> 2];
+    e = q[a + 828 >> 2];
+    break b;
+   }
+   q[a + 828 >> 2] = 0;
+   q[a + 832 >> 2] = 0;
+   q[a + 836 >> 2] = 0;
+   q[a + 840 >> 2] = 0;
+   q[a + 844 >> 2] = 0;
+   q[a + 848 >> 2] = 0;
+   h = 8;
+   d = s[a + 152 >> 1];
+   if (!d) {
+    break a;
+   }
+   g = a + 828 | 0;
+   e = q[a + 156 >> 2];
+   d = e + (d << 4) | 0;
+   j = q[a + 104 >> 2];
+   while (1) {
+    c : {
+     if (q[e >> 2] == 1111770656) {
+      f = q[e + 12 >> 2];
+      if (f) {
+       break c;
+      }
+     }
+     e = e + 16 | 0;
+     if (e >>> 0 < d >>> 0) {
+      continue;
+     }
+     break a;
+    }
+    break;
+   }
+   if (yg(j, q[e + 8 >> 2]) | f >>> 0 < 8) {
+    break a;
+   }
+   if (Jg(j, f, g)) {
+    break a;
+   }
+   e = q[a + 828 >> 2];
+   q[a + 832 >> 2] = f + e;
+   d : {
+    e : {
+     if ((r[e + 1 | 0] | r[e | 0] << 8) != 1) {
+      break e;
+     }
+     d = r[e + 4 | 0] | r[e + 5 | 0] << 8 | (r[e + 6 | 0] << 16 | r[e + 7 | 0] << 24);
+     h = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+     if (h >>> 0 < 8 | h + 1 >>> 0 > f >>> 0) {
+      break e;
+     }
+     d = r[e + 3 | 0] | r[e + 2 | 0] << 8;
+     if (h + -8 >>> 2 >>> 0 < d >>> 0) {
+      break e;
+     }
+     q[a + 840 >> 2] = f - h;
+     l = e + h | 0;
+     q[a + 836 >> 2] = l;
+     q[a + 844 >> 2] = d;
+     f = e + 8 | 0;
+     i = f + (d << 2) | 0;
+     if (d) {
+      h = d;
+      while (1) {
+       i = w(r[f + 3 | 0] | r[f + 2 | 0] << 8, 10) + i | 0;
+       f = f + 4 | 0;
+       h = h + -1 | 0;
+       if (h) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (i >>> 0 <= l >>> 0) {
+      break d;
+     }
+    }
+    Lg(j, g);
+    q[g + 16 >> 2] = 0;
+    q[g + 20 >> 2] = 0;
+    q[g + 8 >> 2] = 0;
+    q[g + 12 >> 2] = 0;
+    q[g >> 2] = 0;
+    q[g + 4 >> 2] = 0;
+    return 8;
+   }
+   o[a + 848 | 0] = 1;
+  }
+  h = 6;
+  if (!b | !k) {
+   break a;
+  }
+  j = g0(b);
+  if (!j | !d) {
+   break a;
+  }
+  e = e + 8 | 0;
+  f = e + (d << 2) | 0;
+  g = s[k + 14 >> 1];
+  while (1) {
+   i = r[e + 3 | 0] | r[e + 2 | 0] << 8;
+   if ((g | 0) == (r[e + 1 | 0] | r[e | 0] << 8)) {
+    if (!i) {
+     break a;
+    }
+    while (1) {
+     f : {
+      k = r[f + 5 | 0];
+      if (!(k & 16)) {
+       break f;
+      }
+      e = q[a + 840 >> 2];
+      d = r[f | 0] | r[f + 1 | 0] << 8 | (r[f + 2 | 0] << 16 | r[f + 3 | 0] << 24);
+      g = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+      if (e >>> 0 <= g >>> 0) {
+       break f;
+      }
+      l = e - g | 0;
+      if (j >>> 0 >= l >>> 0) {
+       break f;
+      }
+      d = r[f + 6 | 0] | r[f + 7 | 0] << 8 | (r[f + 8 | 0] << 16 | r[f + 9 | 0] << 24);
+      m = q[a + 836 >> 2];
+      if (jZ(b, g + m | 0, l)) {
+       break f;
+      }
+      g = k & 15;
+      if (g >>> 0 > 3) {
+       break f;
+      }
+      d = d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24);
+      g : {
+       switch (g - 2 | 0) {
+       default:
+        if (d >>> 0 >= e >>> 0) {
+         break f;
+        }
+        d = d + m | 0;
+        if (!aZ(d, 0, e)) {
+         break f;
+        }
+        q[c + 4 >> 2] = d;
+        q[c >> 2] = 1;
+        return 0;
+       case 0:
+        q[c + 4 >> 2] = d;
+        q[c >> 2] = 2;
+        return 0;
+       case 1:
+        break g;
+       }
+      }
+      q[c + 4 >> 2] = d;
+      q[c >> 2] = 3;
+      return 0;
+     }
+     f = f + 10 | 0;
+     i = i + -1 | 0;
+     if (i) {
+      continue;
+     }
+     break;
+    }
+    break a;
+   }
+   e = e + 4 | 0;
+   f = w(i, 10) + f | 0;
+   d = d + -1 | 0;
+   if (d) {
+    continue;
+   }
+   break;
+  }
+ }
+ return h | 0;
+}
+function uv(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 8) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1 | (r[a + 1 | 0] | r[a | 0] << 8) >>> 0 < 4) {
+   break a;
+  }
+  if (!vv(a + 2 | 0, b, a)) {
+   break a;
+  }
+  o = (r[a + 7 | 0] | r[a + 6 | 0] << 8) + a | 0;
+  k = (r[a + 5 | 0] | r[a + 4 | 0] << 8) + a | 0;
+  h = r[a + 1 | 0] | r[a | 0] << 8;
+  while (1) {
+   b : {
+    if (!(d & 1)) {
+     c = i;
+     break b;
+    }
+    c : {
+     if (!h) {
+      c = 0 - j | 0;
+      g = 0;
+      break c;
+     }
+     d = 0;
+     c = 4294967295 / (h >>> 0) | 0;
+     if (c >>> 0 <= j >>> 0) {
+      break a;
+     }
+     g = c;
+     c = 0 - j | 0;
+     if (g >>> 0 <= c >>> 0) {
+      break a;
+     }
+     g = w(h, j);
+    }
+    e = g + k | 0;
+    c = w(c, h);
+    d : {
+     if (!c) {
+      c = q[b + 12 >> 2];
+      break d;
+     }
+     d = 0;
+     if (t[b + 4 >> 2] > e >>> 0) {
+      break a;
+     }
+     f = q[b + 8 >> 2];
+     if (f >>> 0 < e >>> 0 | f - e >>> 0 < c >>> 0) {
+      break a;
+     }
+     f = q[b + 12 >> 2];
+     c = f + -1 | 0;
+     q[b + 12 >> 2] = c;
+     if ((f | 0) < 1) {
+      break a;
+     }
+    }
+    c = (j - l | 0) + c | 0;
+    q[b + 12 >> 2] = c;
+    d = 0;
+    if ((c | 0) < 1 | (g | 0) > 0) {
+     break a;
+    }
+    c = i;
+    l = j;
+    d = k;
+    if (e >>> 0 >= d >>> 0) {
+     break b;
+    }
+    while (1) {
+     d = d + -1 | 0;
+     l = r[d | 0];
+     c = c >>> 0 > l >>> 0 ? c : l + 1 | 0;
+     if (e >>> 0 < d >>> 0) {
+      continue;
+     }
+     break;
+    }
+    l = j;
+   }
+   if ((m | 0) <= (n | 0)) {
+    g = n + 1 | 0;
+    if (!(!h | 4294967295 / (h >>> 0) >>> 0 > g >>> 0)) {
+     return 0;
+    }
+    f = w(h, g);
+    e : {
+     if (!f) {
+      e = q[b + 12 >> 2];
+      break e;
+     }
+     d = 0;
+     if (t[b + 4 >> 2] > k >>> 0) {
+      break a;
+     }
+     e = q[b + 8 >> 2];
+     if (e >>> 0 < k >>> 0 | e - k >>> 0 < f >>> 0) {
+      break a;
+     }
+     p = q[b + 12 >> 2];
+     e = p + -1 | 0;
+     q[b + 12 >> 2] = e;
+     if ((p | 0) < 1) {
+      break a;
+     }
+    }
+    e = ((n ^ -1) + m | 0) + e | 0;
+    q[b + 12 >> 2] = e;
+    d = 0;
+    if ((e | 0) < 1 | ((f | 0) < 0 | 4294967295 / (h >>> 0) >>> 0 <= g >>> 0 ? h : 0)) {
+     break a;
+    }
+    d = w(h, m);
+    if ((d | 0) < (f | 0)) {
+     m = f + k | 0;
+     d = d + k | 0;
+     while (1) {
+      e = r[d | 0];
+      c = c >>> 0 > e >>> 0 ? c : e + 1 | 0;
+      d = d + 1 | 0;
+      if (d >>> 0 < m >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    m = g;
+   }
+   d = 0;
+   if (c >>> 0 > 1073741822) {
+    break a;
+   }
+   g = c << 2;
+   f : {
+    if (!c) {
+     e = q[b + 12 >> 2];
+     break f;
+    }
+    if (t[b + 4 >> 2] > o >>> 0) {
+     break a;
+    }
+    e = q[b + 8 >> 2];
+    if (e >>> 0 < o >>> 0 | e - o >>> 0 < g >>> 0) {
+     break a;
+    }
+    f = q[b + 12 >> 2];
+    e = f + -1 | 0;
+    q[b + 12 >> 2] = e;
+    if ((f | 0) < 1) {
+     break a;
+    }
+   }
+   e = (i - c | 0) + e | 0;
+   q[b + 12 >> 2] = e;
+   if ((e | 0) < 1) {
+    break a;
+   }
+   if ((i | 0) < (c | 0)) {
+    g = g + o | 0;
+    d = (i << 2) + o | 0;
+    e = r[a + 1 | 0] | r[a | 0] << 8;
+    f = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+    while (1) {
+     i = ((r[d + 1 | 0] | r[d | 0] << 8) - f | 0) / (e | 0) | 0;
+     n = (n | 0) < (i | 0) ? i : n;
+     j = (j | 0) > (i | 0) ? i : j;
+     d = d + 4 | 0;
+     if (d >>> 0 < g >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   i = c;
+   d = (j | 0) < (l | 0);
+   if (d | (m | 0) <= (n | 0)) {
+    continue;
+   }
+   break;
+  }
+  d = 1;
+ }
+ return d;
+}
+function rz(a, b) {
+ var c = 0, d = 0, e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, u = 0, w = 0, x = 0;
+ i = q[a + 24 >> 2];
+ if (i >>> 0 >= 2) {
+  w = q[a + 32 >> 2];
+  h = q[67761];
+  x = h;
+  n = q[67760];
+  f(0, n | 0);
+  f(1, h | 0);
+  k = +g();
+  l = 2;
+  while (1) {
+   h = l;
+   m = v[a + 136 >> 3];
+   c = v[a + 128 >> 3];
+   if (i >>> 0 <= e >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   d = c;
+   a : {
+    if (w >>> 0 <= e >>> 0) {
+     q[160656] = n;
+     q[160657] = x;
+     j = k;
+     break a;
+    }
+    j = v[q[a + 36 >> 2] + (e << 3) >> 3];
+   }
+   d = d + j;
+   b : {
+    if (r[b | 0]) {
+     break b;
+    }
+    o[b | 0] = 1;
+    if (!!(v[b + 8 >> 3] > c)) {
+     v[b + 8 >> 3] = c;
+     c = v[a + 128 >> 3];
+    }
+    if (!!(c > v[b + 24 >> 3])) {
+     v[b + 24 >> 3] = c;
+    }
+    c = v[a + 136 >> 3];
+    if (!!(v[b + 16 >> 3] > c)) {
+     v[b + 16 >> 3] = c;
+     c = v[a + 136 >> 3];
+    }
+    if (!(c > v[b + 32 >> 3])) {
+     break b;
+    }
+    v[b + 32 >> 3] = c;
+   }
+   v[a + 136 >> 3] = m;
+   v[a + 128 >> 3] = d;
+   p = v[b + 8 >> 3];
+   c = d;
+   if (!!(p > c)) {
+    v[b + 8 >> 3] = d;
+    p = d;
+    c = v[a + 128 >> 3];
+   }
+   j = v[b + 24 >> 3];
+   if (!!(c > j)) {
+    v[b + 24 >> 3] = c;
+    j = c;
+   }
+   s = v[b + 16 >> 3];
+   c = v[a + 136 >> 3];
+   if (!!(s > c)) {
+    v[b + 16 >> 3] = c;
+    s = c;
+    c = v[a + 136 >> 3];
+   }
+   u = v[b + 32 >> 3];
+   if (!!(c > u)) {
+    v[b + 32 >> 3] = c;
+    u = c;
+   }
+   e = e | 1;
+   if (i >>> 0 <= e >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   c : {
+    if (w >>> 0 <= e >>> 0) {
+     q[160656] = n;
+     q[160657] = x;
+     c = k;
+     break c;
+    }
+    c = v[q[a + 36 >> 2] + (e << 3) >> 3];
+   }
+   m = m + c;
+   d : {
+    if (r[b | 0]) {
+     break d;
+    }
+    o[b | 0] = 1;
+    c = v[a + 128 >> 3];
+    if (!!(p > c)) {
+     v[b + 8 >> 3] = c;
+     c = v[a + 128 >> 3];
+    }
+    if (!!(c > j)) {
+     v[b + 24 >> 3] = c;
+    }
+    c = v[a + 136 >> 3];
+    if (!!(s > c)) {
+     v[b + 16 >> 3] = c;
+     c = v[a + 136 >> 3];
+    }
+    if (!(c > u)) {
+     break d;
+    }
+    v[b + 32 >> 3] = c;
+   }
+   v[a + 136 >> 3] = m;
+   v[a + 128 >> 3] = d;
+   if (!!(v[b + 8 >> 3] > d)) {
+    v[b + 8 >> 3] = d;
+    d = v[a + 128 >> 3];
+   }
+   if (!!(d > v[b + 24 >> 3])) {
+    v[b + 24 >> 3] = d;
+   }
+   d = v[a + 136 >> 3];
+   if (!!(v[b + 16 >> 3] > d)) {
+    v[b + 16 >> 3] = d;
+    d = v[a + 136 >> 3];
+   }
+   if (!!(d > v[b + 32 >> 3])) {
+    v[b + 32 >> 3] = d;
+   }
+   e = h;
+   l = e + 2 | 0;
+   if (l >>> 0 <= i >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ e : {
+  if (h >>> 0 >= i >>> 0) {
+   break e;
+  }
+  e = q[a + 136 >> 2];
+  l = q[a + 140 >> 2];
+  c = v[a + 128 >> 3];
+  d = c;
+  f : {
+   if (t[a + 32 >> 2] <= h >>> 0) {
+    h = q[67761];
+    i = q[67760];
+    q[160656] = i;
+    q[160657] = h;
+    f(0, i | 0);
+    f(1, h | 0);
+    k = +g();
+    break f;
+   }
+   k = v[q[a + 36 >> 2] + (h << 3) >> 3];
+  }
+  d = d + k;
+  g : {
+   if (r[b | 0]) {
+    break g;
+   }
+   o[b | 0] = 1;
+   if (!!(v[b + 8 >> 3] > c)) {
+    v[b + 8 >> 3] = c;
+    c = v[a + 128 >> 3];
+   }
+   if (!!(c > v[b + 24 >> 3])) {
+    v[b + 24 >> 3] = c;
+   }
+   c = v[a + 136 >> 3];
+   if (!!(v[b + 16 >> 3] > c)) {
+    v[b + 16 >> 3] = c;
+    c = v[a + 136 >> 3];
+   }
+   if (!(c > v[b + 32 >> 3])) {
+    break g;
+   }
+   v[b + 32 >> 3] = c;
+  }
+  q[a + 136 >> 2] = e;
+  q[a + 140 >> 2] = l;
+  v[a + 128 >> 3] = d;
+  if (!!(v[b + 8 >> 3] > d)) {
+   v[b + 8 >> 3] = d;
+   d = v[a + 128 >> 3];
+  }
+  if (!!(d > v[b + 24 >> 3])) {
+   v[b + 24 >> 3] = d;
+  }
+  d = v[a + 136 >> 3];
+  if (!!(v[b + 16 >> 3] > d)) {
+   v[b + 16 >> 3] = d;
+   d = v[a + 136 >> 3];
+  }
+  if (!(d > v[b + 32 >> 3])) {
+   break e;
+  }
+  v[b + 32 >> 3] = d;
+ }
+}
+function Vi(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ i = q[q[a >> 2] + 96 >> 2];
+ d = q[q[a + 8 >> 2] + 140 >> 2];
+ if ((d | 0) >= 1) {
+  Y$(q[a + 132 >> 2], q[a + 136 >> 2], s[a + 128 >> 1] << 3);
+ }
+ Y$(q[a + 156 >> 2] + 288 | 0, q[a + 4 >> 2] + 180 | 0, 68);
+ a : {
+  if (b) {
+   c = q[a + 156 >> 2];
+   q[c + 224 >> 2] = 65536;
+   q[c + 228 >> 2] = 65536;
+   Y$(q[a + 140 >> 2], q[a + 136 >> 2], s[a + 128 >> 1] << 3);
+   break a;
+  }
+  c = q[a + 156 >> 2];
+  e = q[q[a + 4 >> 2] + 44 >> 2];
+  q[c + 224 >> 2] = q[e + 4 >> 2];
+  q[c + 228 >> 2] = q[e + 8 >> 2];
+ }
+ c = q[a + 136 >> 2] + (s[a + 128 >> 1] << 3) | 0;
+ e = c + -32 | 0;
+ q[e >> 2] = q[e >> 2] + 32 & -64;
+ e = c + -24 | 0;
+ q[e >> 2] = q[e >> 2] + 32 & -64;
+ e = c + -12 | 0;
+ q[e >> 2] = q[e >> 2] + 32 & -64;
+ c = c + -4 | 0;
+ q[c >> 2] = q[c >> 2] + 32 & -64;
+ b : {
+  if ((d | 0) >= 1) {
+   h = q[q[a + 12 >> 2] - -64 >> 2];
+   c = q[a + 156 >> 2];
+   o[c + 564 | 0] = b;
+   q[c + 468 >> 2] = d;
+   q[c + 464 >> 2] = q[c + 396 >> 2];
+   b = a + 120 | 0;
+   d = q[b + 4 >> 2];
+   q[c + 144 >> 2] = q[b >> 2];
+   q[c + 148 >> 2] = d;
+   d = q[b + 12 >> 2];
+   q[c + 152 >> 2] = q[b + 8 >> 2];
+   q[c + 156 >> 2] = d;
+   d = q[b + 20 >> 2];
+   q[c + 160 >> 2] = q[b + 16 >> 2];
+   q[c + 164 >> 2] = d;
+   d = q[b + 28 >> 2];
+   q[c + 168 >> 2] = q[b + 24 >> 2];
+   q[c + 172 >> 2] = d;
+   q[c + 176 >> 2] = q[b + 32 >> 2];
+   c = q[a + 156 >> 2];
+   q[c + 364 >> 2] = 0;
+   q[c + 356 >> 2] = 3;
+   b = q[c + 148 >> 2];
+   q[c + 36 >> 2] = q[c + 144 >> 2];
+   q[c + 40 >> 2] = b;
+   q[c + 368 >> 2] = q[c + 468 >> 2];
+   d = c + 152 | 0;
+   b = d;
+   e = q[b + 4 >> 2];
+   q[c + 44 >> 2] = q[b >> 2];
+   q[c + 48 >> 2] = e;
+   e = c + 160 | 0;
+   b = e;
+   g = q[b + 4 >> 2];
+   q[c + 52 >> 2] = q[b >> 2];
+   q[c + 56 >> 2] = g;
+   b = c + 168 | 0;
+   f = q[b + 4 >> 2];
+   q[c + 60 >> 2] = q[b >> 2];
+   q[c + 64 >> 2] = f;
+   g = c + 176 | 0;
+   q[c + 68 >> 2] = q[g >> 2];
+   q[c + 360 >> 2] = q[c + 464 >> 2];
+   f = q[c + 148 >> 2];
+   q[c + 72 >> 2] = q[c + 144 >> 2];
+   q[c + 76 >> 2] = f;
+   f = q[d + 4 >> 2];
+   q[c + 80 >> 2] = q[d >> 2];
+   q[c + 84 >> 2] = f;
+   f = q[e + 4 >> 2];
+   q[c + 88 >> 2] = q[e >> 2];
+   q[c + 92 >> 2] = f;
+   f = q[b + 4 >> 2];
+   q[c + 96 >> 2] = q[b >> 2];
+   q[c + 100 >> 2] = f;
+   q[c + 104 >> 2] = q[g >> 2];
+   q[c + 140 >> 2] = q[g >> 2];
+   g = q[b + 4 >> 2];
+   q[c + 132 >> 2] = q[b >> 2];
+   q[c + 136 >> 2] = g;
+   b = q[e + 4 >> 2];
+   q[c + 124 >> 2] = q[e >> 2];
+   q[c + 128 >> 2] = b;
+   b = q[d + 4 >> 2];
+   q[c + 116 >> 2] = q[d >> 2];
+   q[c + 120 >> 2] = b;
+   b = q[c + 148 >> 2];
+   q[c + 108 >> 2] = q[c + 144 >> 2];
+   q[c + 112 >> 2] = b;
+   p[c + 352 >> 1] = 1;
+   q[c + 348 >> 2] = 65537;
+   p[c + 298 >> 1] = 16384;
+   p[c + 300 >> 1] = 0;
+   p[c + 302 >> 1] = 16384;
+   p[c + 304 >> 1] = 0;
+   q[c + 316 >> 2] = 1;
+   p[c + 294 >> 1] = 16384;
+   p[c + 296 >> 1] = 0;
+   q[c + 308 >> 2] = 1;
+   q[c + 432 >> 2] = 0;
+   q[c + 16 >> 2] = 0;
+   b = n[q[q[c >> 2] + 708 >> 2]](c) | 0;
+   c = q[a + 156 >> 2];
+   if (r[c + 565 | 0] ? b : 0) {
+    break b;
+   }
+   o[h | 0] = r[h | 0] | r[c + 344 | 0] << 5 | 4;
+  }
+  if (q[i + 64 >> 2] == 40) {
+   b = 0;
+   if (r[q[a + 156 >> 2] + 615 | 0]) {
+    break b;
+   }
+  }
+  b = q[a + 136 >> 2] + (s[a + 128 >> 1] << 3) | 0;
+  c = b + -32 | 0;
+  d = q[c + 4 >> 2];
+  q[a + 68 >> 2] = q[c >> 2];
+  q[a + 72 >> 2] = d;
+  c = b + -24 | 0;
+  d = q[c + 4 >> 2];
+  q[a + 76 >> 2] = q[c >> 2];
+  q[a + 80 >> 2] = d;
+  c = b + -16 | 0;
+  d = q[c + 4 >> 2];
+  q[a + 180 >> 2] = q[c >> 2];
+  q[a + 184 >> 2] = d;
+  b = b + -8 | 0;
+  c = q[b + 4 >> 2];
+  q[a + 188 >> 2] = q[b >> 2];
+  q[a + 192 >> 2] = c;
+  b = 0;
+ }
+ return b;
+}
+function Mh(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ q[a + 4 >> 2] = c;
+ q[a >> 2] = b;
+ if (c) {
+  q[a + 400 >> 2] = q[c + 124 >> 2];
+  q[a + 404 >> 2] = q[c + 128 >> 2];
+  q[a + 412 >> 2] = q[c + 136 >> 2];
+  q[a + 416 >> 2] = q[c + 140 >> 2];
+  q[a + 408 >> 2] = q[c + 132 >> 2];
+  q[a + 420 >> 2] = q[c + 144 >> 2];
+  q[a + 216 >> 2] = q[c + 120 >> 2];
+  d = q[c + 80 >> 2];
+  q[a + 248 >> 2] = q[c + 76 >> 2];
+  q[a + 252 >> 2] = d;
+  d = q[c + 88 >> 2];
+  q[a + 256 >> 2] = q[c + 84 >> 2];
+  q[a + 260 >> 2] = d;
+  d = q[c + 96 >> 2];
+  q[a + 264 >> 2] = q[c + 92 >> 2];
+  q[a + 268 >> 2] = d;
+  d = q[c + 104 >> 2];
+  q[a + 272 >> 2] = q[c + 100 >> 2];
+  q[a + 276 >> 2] = d;
+  d = q[c + 112 >> 2];
+  q[a + 280 >> 2] = q[c + 108 >> 2];
+  q[a + 284 >> 2] = d;
+  d = q[c + 44 >> 2];
+  e = q[d + 4 >> 2];
+  q[a + 220 >> 2] = q[d >> 2];
+  q[a + 224 >> 2] = e;
+  e = q[d + 12 >> 2];
+  q[a + 228 >> 2] = q[d + 8 >> 2];
+  q[a + 232 >> 2] = e;
+  e = q[d + 20 >> 2];
+  q[a + 236 >> 2] = q[d + 16 >> 2];
+  q[a + 240 >> 2] = e;
+  q[a + 244 >> 2] = q[d + 24 >> 2];
+  q[a + 424 >> 2] = q[c + 148 >> 2];
+  q[a + 428 >> 2] = q[c + 152 >> 2];
+  d = q[c + 160 >> 2];
+  q[a + 448 >> 2] = q[c + 156 >> 2];
+  q[a + 452 >> 2] = d;
+  d = q[c + 168 >> 2];
+  q[a + 456 >> 2] = q[c + 164 >> 2];
+  q[a + 460 >> 2] = d;
+  d = q[c + 176 >> 2];
+  q[a + 464 >> 2] = q[c + 172 >> 2];
+  q[a + 468 >> 2] = d;
+  Y$(a + 288 | 0, c + 180 | 0, 68);
+  q[a + 384 >> 2] = q[c + 248 >> 2];
+  q[a + 388 >> 2] = q[c + 252 >> 2];
+  p[a + 472 >> 1] = s[c + 256 >> 1];
+  q[a + 476 >> 2] = q[c + 260 >> 2];
+  d = q[c + 268 >> 2];
+  q[a + 180 >> 2] = q[c + 264 >> 2];
+  q[a + 184 >> 2] = d;
+  d = q[c + 276 >> 2];
+  q[a + 188 >> 2] = q[c + 272 >> 2];
+  q[a + 192 >> 2] = d;
+  d = q[c + 284 >> 2];
+  q[a + 196 >> 2] = q[c + 280 >> 2];
+  q[a + 200 >> 2] = d;
+  d = q[c + 292 >> 2];
+  q[a + 204 >> 2] = q[c + 288 >> 2];
+  q[a + 208 >> 2] = d;
+  q[a + 212 >> 2] = q[c + 296 >> 2];
+  Z$(a + 36 | 0, 0, 108);
+ }
+ e = q[a + 8 >> 2];
+ a : {
+  b : {
+   c : {
+    d = q[a + 20 >> 2];
+    c = s[b + 284 >> 1] + 32 | 0;
+    d : {
+     if (d >>> 0 >= c >>> 0) {
+      c = d;
+      break d;
+     }
+     j = a, k = Te(e, 1, d << 2, c << 2, q[a + 24 >> 2], f + 8 | 0), q[j + 24 >> 2] = k;
+     e = q[f + 8 >> 2];
+     if (e) {
+      break c;
+     }
+     e = q[a + 8 >> 2];
+    }
+    q[a + 20 >> 2] = c;
+    d = q[a + 392 >> 2];
+    c = s[b + 286 >> 1];
+    if (d >>> 0 >= c >>> 0) {
+     c = d;
+     break b;
+    }
+    j = a, k = Te(e, 1, d, c, q[a + 396 >> 2], f + 12 | 0), q[j + 396 >> 2] = k;
+    e = q[f + 12 >> 2];
+    if (!e) {
+     break b;
+    }
+    q[a + 392 >> 2] = d & 65535;
+    break a;
+   }
+   q[a + 20 >> 2] = d;
+   break a;
+  }
+  e = 0;
+  d = a + 152 | 0;
+  q[d >> 2] = 0;
+  q[a + 392 >> 2] = c & 65535;
+  b = q[a + 148 >> 2];
+  c = q[a + 144 >> 2];
+  q[a + 72 >> 2] = c;
+  q[a + 76 >> 2] = b;
+  q[a + 108 >> 2] = c;
+  q[a + 112 >> 2] = b;
+  q[a + 36 >> 2] = c;
+  q[a + 40 >> 2] = b;
+  h = q[a + 164 >> 2];
+  b = h;
+  c = q[a + 160 >> 2];
+  q[a + 88 >> 2] = c;
+  q[a + 92 >> 2] = b;
+  g = q[a + 172 >> 2];
+  h = g;
+  i = q[a + 168 >> 2];
+  q[a + 96 >> 2] = i;
+  q[a + 100 >> 2] = g;
+  g = q[a + 176 >> 2];
+  q[a + 104 >> 2] = g;
+  q[a + 124 >> 2] = c;
+  q[a + 128 >> 2] = b;
+  q[a + 132 >> 2] = i;
+  q[a + 136 >> 2] = h;
+  q[a + 140 >> 2] = g;
+  q[a + 52 >> 2] = c;
+  q[a + 56 >> 2] = b;
+  q[a + 60 >> 2] = i;
+  q[a + 64 >> 2] = h;
+  q[a + 68 >> 2] = g;
+  b = q[d + 4 >> 2];
+  c = q[d >> 2];
+  q[a + 80 >> 2] = c;
+  q[a + 84 >> 2] = b;
+  q[a + 116 >> 2] = c;
+  q[a + 120 >> 2] = b;
+  q[a + 44 >> 2] = c;
+  q[a + 48 >> 2] = b;
+  o[a + 492 | 0] = 0;
+ }
+ Ca = f + 16 | 0;
+ return e;
+}
+function qz(a, b) {
+ var c = 0, d = 0, e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, u = 0, w = 0, x = 0, y = 0;
+ j = q[a + 24 >> 2];
+ if (j >>> 0 >= 2) {
+  u = q[a + 32 >> 2];
+  h = q[67761];
+  w = h;
+  l = q[67760];
+  f(0, l | 0);
+  f(1, h | 0);
+  x = +g();
+  i = 2;
+  while (1) {
+   h = i;
+   c = v[a + 136 >> 3];
+   e = v[a + 128 >> 3];
+   if (j >>> 0 <= k >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   a : {
+    if (u >>> 0 <= k >>> 0) {
+     q[160656] = l;
+     q[160657] = w;
+     d = x;
+     break a;
+    }
+    d = v[q[a + 36 >> 2] + (k << 3) >> 3];
+   }
+   y = c + d;
+   b : {
+    if (r[b | 0]) {
+     break b;
+    }
+    o[b | 0] = 1;
+    c = e;
+    if (!!(v[b + 8 >> 3] > c)) {
+     v[b + 8 >> 3] = e;
+     c = v[a + 128 >> 3];
+    }
+    if (!!(c > v[b + 24 >> 3])) {
+     v[b + 24 >> 3] = c;
+    }
+    c = v[a + 136 >> 3];
+    if (!!(v[b + 16 >> 3] > c)) {
+     v[b + 16 >> 3] = c;
+     c = v[a + 136 >> 3];
+    }
+    if (!(c > v[b + 32 >> 3])) {
+     break b;
+    }
+    v[b + 32 >> 3] = c;
+   }
+   v[a + 136 >> 3] = y;
+   v[a + 128 >> 3] = e;
+   m = v[b + 8 >> 3];
+   c = e;
+   if (!!(m > c)) {
+    v[b + 8 >> 3] = e;
+    m = e;
+    c = v[a + 128 >> 3];
+   }
+   n = v[b + 24 >> 3];
+   if (!!(c > n)) {
+    v[b + 24 >> 3] = c;
+    n = c;
+   }
+   p = v[b + 16 >> 3];
+   c = v[a + 136 >> 3];
+   if (!!(p > c)) {
+    v[b + 16 >> 3] = c;
+    p = c;
+    c = v[a + 136 >> 3];
+   }
+   s = v[b + 32 >> 3];
+   if (!!(c > s)) {
+    v[b + 32 >> 3] = c;
+    s = c;
+   }
+   i = k | 1;
+   if (j >>> 0 <= i >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   c : {
+    if (u >>> 0 <= i >>> 0) {
+     q[160656] = l;
+     q[160657] = w;
+     c = x;
+     break c;
+    }
+    c = v[q[a + 36 >> 2] + (i << 3) >> 3];
+   }
+   d = e + c;
+   d : {
+    if (r[b | 0]) {
+     break d;
+    }
+    o[b | 0] = 1;
+    c = v[a + 128 >> 3];
+    if (!!(m > c)) {
+     v[b + 8 >> 3] = c;
+     c = v[a + 128 >> 3];
+    }
+    if (!!(c > n)) {
+     v[b + 24 >> 3] = c;
+    }
+    c = v[a + 136 >> 3];
+    if (!!(p > c)) {
+     v[b + 16 >> 3] = c;
+     c = v[a + 136 >> 3];
+    }
+    if (!(c > s)) {
+     break d;
+    }
+    v[b + 32 >> 3] = c;
+   }
+   v[a + 136 >> 3] = y;
+   v[a + 128 >> 3] = d;
+   if (!!(v[b + 8 >> 3] > d)) {
+    v[b + 8 >> 3] = d;
+    d = v[a + 128 >> 3];
+   }
+   if (!!(d > v[b + 24 >> 3])) {
+    v[b + 24 >> 3] = d;
+   }
+   d = v[a + 136 >> 3];
+   if (!!(v[b + 16 >> 3] > d)) {
+    v[b + 16 >> 3] = d;
+    d = v[a + 136 >> 3];
+   }
+   if (!!(d > v[b + 32 >> 3])) {
+    v[b + 32 >> 3] = d;
+   }
+   k = h;
+   i = h + 2 | 0;
+   if (i >>> 0 <= j >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ e : {
+  if (h >>> 0 >= j >>> 0) {
+   break e;
+  }
+  d = v[a + 128 >> 3];
+  c = v[a + 136 >> 3];
+  f : {
+   if (t[a + 32 >> 2] <= h >>> 0) {
+    i = q[67761];
+    h = q[67760];
+    q[160656] = h;
+    q[160657] = i;
+    f(0, h | 0);
+    f(1, i | 0);
+    e = +g();
+    break f;
+   }
+   e = v[q[a + 36 >> 2] + (h << 3) >> 3];
+  }
+  c = c + e;
+  g : {
+   if (r[b | 0]) {
+    break g;
+   }
+   o[b | 0] = 1;
+   e = d;
+   if (!!(v[b + 8 >> 3] > d)) {
+    v[b + 8 >> 3] = d;
+    e = v[a + 128 >> 3];
+   }
+   if (!!(e > v[b + 24 >> 3])) {
+    v[b + 24 >> 3] = e;
+   }
+   e = v[a + 136 >> 3];
+   if (!!(v[b + 16 >> 3] > e)) {
+    v[b + 16 >> 3] = e;
+    e = v[a + 136 >> 3];
+   }
+   if (!(e > v[b + 32 >> 3])) {
+    break g;
+   }
+   v[b + 32 >> 3] = e;
+  }
+  v[a + 136 >> 3] = c;
+  v[a + 128 >> 3] = d;
+  if (!!(v[b + 8 >> 3] > d)) {
+   v[b + 8 >> 3] = d;
+   d = v[a + 128 >> 3];
+  }
+  if (!!(d > v[b + 24 >> 3])) {
+   v[b + 24 >> 3] = d;
+  }
+  d = v[a + 136 >> 3];
+  if (!!(v[b + 16 >> 3] > d)) {
+   v[b + 16 >> 3] = d;
+   d = v[a + 136 >> 3];
+  }
+  if (!(d > v[b + 32 >> 3])) {
+   break e;
+  }
+  v[b + 32 >> 3] = d;
+ }
+}
+function Rp(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0, B = 0;
+ u = Ca - 16 | 0;
+ Ca = u;
+ a : {
+  b : {
+   if (!q[c + 88 >> 2]) {
+    q[c + 100 >> 2] = q[d + 100 >> 2];
+    q[c + 104 >> 2] = q[d + 104 >> 2];
+    e = q[d + 80 >> 2];
+    q[c + 80 >> 2] = e;
+    f = q[d + 76 >> 2];
+    o[c + 94 | 0] = 7;
+    q[c + 76 >> 2] = f;
+    p[c + 92 >> 1] = 256;
+    e = e << 2;
+    q[c + 84 >> 2] = e;
+    f = w(e, f);
+    e = sf(c, f);
+    q[u + 12 >> 2] = e;
+    if (e) {
+     break a;
+    }
+    Z$(q[c + 88 >> 2], 0, f);
+    break b;
+   }
+   n = q[d + 104 >> 2];
+   j = n - q[d + 76 >> 2] | 0;
+   i = q[c + 104 >> 2];
+   g = i - q[c + 76 >> 2] | 0;
+   k = q[d + 100 >> 2];
+   l = k + q[d + 80 >> 2] | 0;
+   f = q[c + 100 >> 2];
+   e = f + q[c + 80 >> 2] | 0;
+   if (!((e | 0) < (l | 0) | (f | 0) > (k | 0) | (i | 0) < (n | 0))) {
+    if ((g | 0) <= (j | 0)) {
+     break b;
+    }
+   }
+   i = (i | 0) > (n | 0) ? i : n;
+   g = i - ((g | 0) < (j | 0) ? g : j) | 0;
+   k = (f | 0) < (k | 0) ? f : k;
+   f = ((e | 0) > (l | 0) ? e : l) - k | 0;
+   j = f << 2;
+   l = Oe(q[a + 100 >> 2], w(g, j), u + 12 | 0);
+   e = q[u + 12 >> 2];
+   if (e) {
+    break a;
+   }
+   if (q[c + 76 >> 2]) {
+    m = (l + w(j, i - q[c + 104 >> 2] | 0) | 0) + (q[c + 100 >> 2] - k << 2) | 0;
+    e = q[c + 88 >> 2];
+    while (1) {
+     m = Y$(m, e, q[c + 80 >> 2] << 2) + j | 0;
+     e = q[c + 84 >> 2] + e | 0;
+     h = h + 1 | 0;
+     if (h >>> 0 < t[c + 76 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   rf(c, l);
+   q[c + 100 >> 2] = k;
+   q[c + 104 >> 2] = i;
+   q[c + 80 >> 2] = f;
+   q[c + 84 >> 2] = j;
+   q[c + 76 >> 2] = g;
+   e = q[c + 156 >> 2];
+   q[e + 4 >> 2] = q[e + 4 >> 2] | 1;
+   q[c + 72 >> 2] = 1651078259;
+  }
+  c : {
+   if ((b | 0) == 65535) {
+    if (r[a + 676 | 0]) {
+     h = r[a + 680 | 0];
+     f = r[a + 679 | 0];
+     e = r[a + 677 | 0];
+     b = r[a + 678 | 0];
+     break c;
+    }
+    g = q[a + 656 >> 2];
+    if (g) {
+     h = 255;
+     f = 255;
+     e = 255;
+     b = 255;
+     if (r[g + (s[a + 668 >> 1] << 1) | 0] & 2) {
+      break c;
+     }
+    }
+    f = 0;
+    h = 255;
+    e = 0;
+    b = 0;
+    break c;
+   }
+   a = q[a + 672 >> 2] + (b << 2) | 0;
+   h = r[a + 3 | 0];
+   f = r[a + 2 | 0];
+   e = r[a | 0];
+   b = r[a + 1 | 0];
+  }
+  a = q[d + 76 >> 2];
+  if (a) {
+   g = q[c + 84 >> 2];
+   m = (q[c + 88 >> 2] + w(g, q[c + 104 >> 2] - q[d + 104 >> 2] | 0) | 0) + (q[d + 100 >> 2] - q[c + 100 >> 2] << 2) | 0;
+   z = f & 255;
+   n = e & 255;
+   j = h & 255;
+   f = q[d + 80 >> 2];
+   x = q[d + 88 >> 2];
+   while (1) {
+    h = 0;
+    e = 0;
+    if (f) {
+     while (1) {
+      a = h << 2;
+      i = (a | 3) + m | 0;
+      k = r[i | 0];
+      l = (a | 2) + m | 0;
+      g = r[l | 0];
+      f = (a | 1) + m | 0;
+      e = r[f | 0];
+      a = a + m | 0;
+      A = a;
+      B = r[a | 0];
+      v = (w(r[h + x | 0], j) >>> 0) / 255 | 0;
+      a = 255 - v | 0;
+      o[A | 0] = ((w(B, a) | 0) / 255 | 0) + (((w(n, v) & 65535) >>> 0) / 255 | 0);
+      o[f | 0] = ((w(a, e) | 0) / 255 | 0) + (((w(b, v) & 65535) >>> 0) / 255 | 0);
+      o[l | 0] = ((w(a, g) | 0) / 255 | 0) + (((w(v, z) & 65535) >>> 0) / 255 | 0);
+      o[i | 0] = v + ((w(a, k) | 0) / 255 | 0);
+      h = h + 1 | 0;
+      e = q[d + 80 >> 2];
+      if (h >>> 0 < e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     g = q[c + 84 >> 2];
+     a = q[d + 76 >> 2];
+    }
+    m = g + m | 0;
+    x = q[d + 84 >> 2] + x | 0;
+    f = e;
+    y = y + 1 | 0;
+    if (y >>> 0 < a >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  e = 0;
+ }
+ Ca = u + 16 | 0;
+ return e | 0;
+}
+function YY(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0;
+ h = Ca - 1056 | 0;
+ Ca = h;
+ c = h + 1048 | 0;
+ q[c >> 2] = 0;
+ q[c + 4 >> 2] = 0;
+ c = h + 1040 | 0;
+ q[c >> 2] = 0;
+ q[c + 4 >> 2] = 0;
+ q[h + 1032 >> 2] = 0;
+ q[h + 1036 >> 2] = 0;
+ q[h + 1024 >> 2] = 0;
+ q[h + 1028 >> 2] = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     c = r[b | 0];
+     e : {
+      if (!c) {
+       j = -1;
+       d = 1;
+       break e;
+      }
+      while (1) {
+       if (!r[a + f | 0]) {
+        break b;
+       }
+       d = c & 255;
+       f = f + 1 | 0;
+       q[(d << 2) + h >> 2] = f;
+       d = (h + 1024 | 0) + (d >>> 3 & 28) | 0;
+       q[d >> 2] = q[d >> 2] | 1 << (c & 31);
+       c = r[b + f | 0];
+       if (c) {
+        continue;
+       }
+       break;
+      }
+      d = 1;
+      j = -1;
+      if (f >>> 0 > 1) {
+       break d;
+      }
+     }
+     g = -1;
+     k = 1;
+     break c;
+    }
+    i = 1;
+    c = 1;
+    while (1) {
+     l = r[(c + j | 0) + b | 0];
+     g = r[b + d | 0];
+     f : {
+      if ((l | 0) == (g | 0)) {
+       if ((c | 0) == (i | 0)) {
+        e = e + i | 0;
+        c = 1;
+        break f;
+       }
+       c = c + 1 | 0;
+       break f;
+      }
+      if (l >>> 0 > g >>> 0) {
+       i = d - j | 0;
+       e = d;
+       c = 1;
+       break f;
+      }
+      j = e;
+      e = e + 1 | 0;
+      i = 1;
+      c = 1;
+     }
+     d = c + e | 0;
+     if (d >>> 0 < f >>> 0) {
+      continue;
+     }
+     break;
+    }
+    g = -1;
+    e = 0;
+    d = 1;
+    k = 1;
+    c = 1;
+    while (1) {
+     m = r[(c + g | 0) + b | 0];
+     l = r[b + d | 0];
+     g : {
+      if ((m | 0) == (l | 0)) {
+       if ((c | 0) == (k | 0)) {
+        e = e + k | 0;
+        c = 1;
+        break g;
+       }
+       c = c + 1 | 0;
+       break g;
+      }
+      if (m >>> 0 < l >>> 0) {
+       k = d - g | 0;
+       e = d;
+       c = 1;
+       break g;
+      }
+      g = e;
+      e = e + 1 | 0;
+      k = 1;
+      c = 1;
+     }
+     d = c + e | 0;
+     if (d >>> 0 < f >>> 0) {
+      continue;
+     }
+     break;
+    }
+    d = i;
+   }
+   c = g + 1 >>> 0 > j + 1 >>> 0;
+   i = c ? k : d;
+   n = c ? g : j;
+   m = n + 1 | 0;
+   h : {
+    if (ZY(b, i + b | 0, m)) {
+     c = (n ^ -1) + f | 0;
+     i = (n >>> 0 > c >>> 0 ? n : c) + 1 | 0;
+     o = f - i | 0;
+     c = 0;
+     break h;
+    }
+    o = f - i | 0;
+    c = o;
+   }
+   l = c;
+   k = f + -1 | 0;
+   p = f | 63;
+   g = 0;
+   d = a;
+   while (1) {
+    i : {
+     if (a - d >>> 0 >= f >>> 0) {
+      break i;
+     }
+     c = aZ(a, 0, p);
+     if (c) {
+      a = c;
+      if (c - d >>> 0 < f >>> 0) {
+       break b;
+      }
+      break i;
+     }
+     a = a + p | 0;
+    }
+    e = r[d + k | 0];
+    c = f;
+    j : {
+     k : {
+      if (!(q[(h + 1024 | 0) + (e >>> 3 & 28) >> 2] >>> (e & 31) & 1)) {
+       break k;
+      }
+      c = f - q[(e << 2) + h >> 2] | 0;
+      if (c) {
+       c = l ? g ? c >>> 0 < i >>> 0 ? o : c : c : c;
+       break k;
+      }
+      l : {
+       c = m;
+       e = c >>> 0 > g >>> 0 ? c : g;
+       j = r[e + b | 0];
+       if (j) {
+        while (1) {
+         if (r[d + e | 0] != (j & 255)) {
+          break l;
+         }
+         e = e + 1 | 0;
+         j = r[e + b | 0];
+         if (j) {
+          continue;
+         }
+         break;
+        }
+       }
+       while (1) {
+        if (c >>> 0 <= g >>> 0) {
+         break a;
+        }
+        c = c + -1 | 0;
+        if (r[c + b | 0] == r[c + d | 0]) {
+         continue;
+        }
+        break;
+       }
+       c = i;
+       e = l;
+       break j;
+      }
+      c = e - n | 0;
+     }
+     e = 0;
+    }
+    g = e;
+    d = c + d | 0;
+    continue;
+   }
+  }
+  d = 0;
+ }
+ Ca = h + 1056 | 0;
+ return d;
+}
+function _P(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = q[a >> 2];
+ a : {
+  if (d) {
+   q[a >> 2] = d + 1;
+   c = r[d | 0];
+   if (c) {
+    break a;
+   }
+   q[a >> 2] = 0;
+  }
+  d = q[a + 4 >> 2];
+  while (1) {
+   b : {
+    e = d;
+    d = d + 1 | 0;
+    q[a + 4 >> 2] = d;
+    c = r[e | 0];
+    if (!b | !c) {
+     break b;
+    }
+    if (eZ(b, c)) {
+     continue;
+    }
+   }
+   break;
+  }
+  if (c >>> 0 >= 192) {
+   f = g0(d);
+   if ((f | 0) == -1) {
+    break a;
+   }
+   c : {
+    if (c & 128) {
+     if (!(c & 64)) {
+      break a;
+     }
+     d : {
+      if (!(c & 32)) {
+       g = 1;
+       b = 31;
+       break d;
+      }
+      if (!(c & 16)) {
+       g = 2;
+       b = 15;
+       break d;
+      }
+      if (!(c & 8)) {
+       g = 3;
+       b = 7;
+       break d;
+      }
+      g = 4;
+      b = 3;
+      if (!(c & 4)) {
+       break d;
+      }
+      if (c & 2) {
+       break a;
+      }
+      g = 5;
+      b = 1;
+     }
+     if ((g | 0) > (f | 0)) {
+      break a;
+     }
+     h = d + g | 0;
+     b = b & c;
+     f = e;
+     while (1) {
+      i = r[f + 1 | 0];
+      if ((i & 192) != 128) {
+       break a;
+      }
+      f = f + 1 | 0;
+      b = i & 63 | b << 6;
+      g = g + -1 | 0;
+      if (g) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    }
+    b = c;
+    h = d;
+    if ((f | 0) <= -1) {
+     break a;
+    }
+   }
+   if (b + -65 >>> 0 > 125152) {
+    break a;
+   }
+   k = h - e | 0;
+   if ((k | 0) < 1) {
+    break a;
+   }
+   f = 295;
+   g = 0;
+   while (1) {
+    h = f + g >> 1;
+    e = h << 3;
+    i = q[e + 482352 >> 2];
+    e : {
+     j = s[e + 482356 >> 1];
+     e = j >>> 2 | 0;
+     j = j & 3;
+     if (i + ((j | 0) == 2 ? 1 : e) >>> 0 <= b >>> 0) {
+      g = h + 1 | 0;
+      break e;
+     }
+     if (b >>> 0 < i >>> 0) {
+      f = h + -1 | 0;
+      break e;
+     }
+     f : {
+      g : {
+       f = j + -1 | 0;
+       if (f >>> 0 <= 1) {
+        if (!(f - 1)) {
+         break g;
+        }
+        if ((b ^ i) & 1) {
+         break a;
+        }
+       }
+       f = a + 8 | 0;
+       g = a;
+       h : {
+        i : {
+         b = p[(h << 3) + 482358 >> 1] + b | 0;
+         if (b >>> 0 >= 128) {
+          if (b >>> 0 < 2048) {
+           c = 0;
+           e = 6;
+           d = 192;
+           break h;
+          }
+          if (b >>> 0 < 65536) {
+           c = 6;
+           e = 12;
+           d = 224;
+           break h;
+          }
+          if (b >>> 0 < 2097152) {
+           c = 12;
+           e = 18;
+           d = 240;
+           break h;
+          }
+          if (b >>> 0 < 67108864) {
+           c = 18;
+           e = 24;
+           d = 248;
+           break h;
+          }
+          if ((b | 0) > -1) {
+           break i;
+          }
+          e = 0;
+          break f;
+         }
+         o[a + 8 | 0] = b;
+         e = (a + 9 | 0) - f | 0;
+         break f;
+        }
+        c = 24;
+        e = 30;
+        d = 252;
+       }
+       o[g + 8 | 0] = d | b >>> e;
+       d = a + 9 | 0;
+       e = ((c >>> 0) / 6 | 0) + 10 | 0;
+       while (1) {
+        o[d | 0] = b >>> c & 63 | 128;
+        d = d + 1 | 0;
+        h = (c | 0) > 5;
+        c = c + -6 | 0;
+        if (h) {
+         continue;
+        }
+        break;
+       }
+       d = q[a + 4 >> 2];
+       e = (a + e | 0) - f | 0;
+       break f;
+      }
+      Y$(a + 8 | 0, p[(h << 3) + 482358 >> 1] + 481872 | 0, e);
+     }
+     q[a + 4 >> 2] = (d + k | 0) + -1;
+     o[(a + 8 | 0) + e | 0] = 0;
+     q[a >> 2] = a + 9;
+     c = r[a + 8 | 0];
+     break a;
+    }
+    if ((g | 0) <= (f | 0)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  c = (c + -65 & 255) >>> 0 < 26 ? c + 32 | 0 : c;
+ }
+ return c & 255;
+}
+function Aq(a) {
+ var b = 0, c = 0;
+ c = 5;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       if ((a | 0) <= 1315009121) {
+        if ((a | 0) <= 1232363883) {
+         if ((a | 0) <= 1131442803) {
+          if ((a | 0) <= 1098018152) {
+           if ((a | 0) == 1097100397) {
+            break b;
+           }
+           if ((a | 0) != 1098015074) {
+            break c;
+           }
+           break b;
+          }
+          if ((a | 0) == 1098018153) {
+           break b;
+          }
+          if ((a | 0) != 1098281844) {
+           break c;
+          }
+          break b;
+         }
+         if ((a | 0) <= 1214603889) {
+          if ((a | 0) == 1131442804) {
+           break b;
+          }
+          if ((a | 0) != 1214346354) {
+           break c;
+          }
+          break b;
+         }
+         if ((a | 0) == 1214603890) {
+          break b;
+         }
+         if ((a | 0) != 1215655527) {
+          break c;
+         }
+         break a;
+        }
+        if ((a | 0) <= 1298230883) {
+         if ((a | 0) == 1232363884) {
+          break a;
+         }
+         if ((a | 0) == 1265131890) {
+          break b;
+         }
+         if ((a | 0) != 1283023977) {
+          break c;
+         }
+         break b;
+        }
+        b = a + -1298230884 | 0;
+        if (b >>> 0 <= 5) {
+         break f;
+        }
+        b = a + -1298494051 | 0;
+        if (b >>> 0 > 12) {
+         if ((a | 0) != 1298493028) {
+          break c;
+         }
+         break b;
+        }
+        switch (b - 1 | 0) {
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+        case 9:
+        case 10:
+         break c;
+        default:
+         break b;
+        }
+       }
+       if ((a | 0) <= 1349678184) {
+        if ((a | 0) <= 1348562028) {
+         if ((a | 0) <= 1315663726) {
+          if ((a | 0) == 1315009122) {
+           break b;
+          }
+          if ((a | 0) != 1315070324) {
+           break c;
+          }
+          break b;
+         }
+         if ((a | 0) == 1315663727) {
+          break b;
+         }
+         if ((a | 0) != 1332898664) {
+          break c;
+         }
+         break b;
+        }
+        b = a + -1349020777 | 0;
+        if (b >>> 0 <= 7) {
+         break e;
+        }
+        if ((a | 0) == 1348562029) {
+         break b;
+        }
+        if ((a | 0) != 1349021304) {
+         break c;
+        }
+        break b;
+       }
+       if ((a | 0) <= 1399809891) {
+        if ((a | 0) <= 1383427697) {
+         if ((a | 0) == 1349678185) {
+          break b;
+         }
+         if ((a | 0) != 1383032935) {
+          break c;
+         }
+         break b;
+        }
+        if ((a | 0) == 1383427698) {
+         break a;
+        }
+        if ((a | 0) == 1398893938) {
+         break b;
+        }
+        if ((a | 0) != 1398895202) {
+         break c;
+        }
+        break b;
+       }
+       b = a + -1399809892 | 0;
+       if (b >>> 0 <= 11) {
+        break d;
+       }
+       if ((a | 0) == 1400468067 | (a | 0) == 1416126817) {
+        break b;
+       }
+       break c;
+      }
+      switch (b - 1 | 0) {
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+       break c;
+      default:
+       break b;
+      }
+     }
+     switch (b - 1 | 0) {
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+      break c;
+     default:
+      break b;
+     }
+    }
+    switch (b - 1 | 0) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+     break c;
+    default:
+     break b;
+    }
+   }
+   c = 4;
+  }
+  return c;
+ }
+ return 0;
+}
+function ek(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0, u = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ q[h + 8 >> 2] = 0;
+ l = q[q[a >> 2] + 28 >> 2];
+ q[b >> 2] = 0;
+ a : {
+  b : {
+   if (q[a + 28 >> 2]) {
+    break b;
+   }
+   q[h + 12 >> 2] = 0;
+   c : {
+    e = q[a + 12 >> 2];
+    if (e) {
+     k = r[a + 16 | 0];
+     j = q[a >> 2];
+     m = q[j + 28 >> 2];
+     e = e + 1 | 0;
+     t = a, u = Te(m, 4, 0, e, 0, h + 12 | 0), q[t + 28 >> 2] = u;
+     if (q[h + 12 >> 2]) {
+      break c;
+     }
+     g = yg(j, q[a + 8 >> 2] + q[a + 4 >> 2] | 0);
+     q[h + 12 >> 2] = g;
+     if (g) {
+      break c;
+     }
+     g = w(e, k);
+     e = Kg(j, g);
+     q[h + 12 >> 2] = e;
+     if (e) {
+      break c;
+     }
+     f = q[j + 32 >> 2];
+     i = g + f | 0;
+     e = q[a + 28 >> 2];
+     k = k + -1 | 0;
+     d : {
+      if (k >>> 0 <= 2) {
+       e : {
+        switch (k - 1 | 0) {
+        case 1:
+         if ((g | 0) <= 0) {
+          break d;
+         }
+         while (1) {
+          q[e >> 2] = r[f + 2 | 0] | (r[f + 1 | 0] << 8 | r[f | 0] << 16);
+          e = e + 4 | 0;
+          f = f + 3 | 0;
+          if (f >>> 0 < i >>> 0) {
+           continue;
+          }
+          break;
+         }
+         break d;
+        case 0:
+         if ((g | 0) <= 0) {
+          break d;
+         }
+         while (1) {
+          q[e >> 2] = r[f + 1 | 0] | r[f | 0] << 8;
+          e = e + 4 | 0;
+          f = f + 2 | 0;
+          if (f >>> 0 < i >>> 0) {
+           continue;
+          }
+          break;
+         }
+         break d;
+        default:
+         break e;
+        }
+       }
+       if ((g | 0) <= 0) {
+        break d;
+       }
+       while (1) {
+        q[e >> 2] = r[f | 0];
+        e = e + 4 | 0;
+        f = f + 1 | 0;
+        if (f >>> 0 < i >>> 0) {
+         continue;
+        }
+        break;
+       }
+       break d;
+      }
+      if ((g | 0) <= 0) {
+       break d;
+      }
+      while (1) {
+       g = r[f | 0] | r[f + 1 | 0] << 8 | (r[f + 2 | 0] << 16 | r[f + 3 | 0] << 24);
+       q[e >> 2] = g << 24 | g << 8 & 16711680 | (g >>> 8 & 65280 | g >>> 24);
+       e = e + 4 | 0;
+       f = f + 4 | 0;
+       if (f >>> 0 < i >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     Ng(j);
+     if (q[h + 12 >> 2]) {
+      break c;
+     }
+    }
+    q[h + 8 >> 2] = 0;
+    break b;
+   }
+   Qe(m, q[a + 28 >> 2]);
+   q[a + 28 >> 2] = 0;
+   e = q[h + 12 >> 2];
+   q[h + 8 >> 2] = e;
+   if (e) {
+    break a;
+   }
+  }
+  e = q[a + 12 >> 2];
+  if (!e) {
+   break a;
+  }
+  g = q[a + 24 >> 2];
+  j = Te(l, 4, 0, e + 1 | 0, 0, h + 8 | 0);
+  if (q[h + 8 >> 2]) {
+   break a;
+  }
+  k = e + g | 0;
+  if (c) {
+   s = Oe(l, k, h + 8 | 0);
+   if (q[h + 8 >> 2]) {
+    break a;
+   }
+  }
+  m = q[a + 32 >> 2];
+  q[j >> 2] = c ? s : m;
+  n = q[a + 12 >> 2];
+  if (n) {
+   f = 1;
+   l = 0;
+   e = 0;
+   while (1) {
+    g = e;
+    i = f << 2;
+    p = q[i + q[a + 28 >> 2] >> 2] + -1 | 0;
+    if (p >>> 0 >= e >>> 0) {
+     e = q[a + 24 >> 2];
+     e = p >>> 0 > e >>> 0 ? e : p;
+    }
+    f : {
+     if (!c) {
+      q[i + j >> 2] = e + m;
+      break f;
+     }
+     i = i + j | 0;
+     p = (e + s | 0) + l | 0;
+     q[i >> 2] = p;
+     if ((e | 0) == (g | 0)) {
+      break f;
+     }
+     n = q[i + -4 >> 2];
+     Y$(n, g + m | 0, p - n | 0);
+     o[q[i >> 2]] = 0;
+     q[i >> 2] = q[i >> 2] + 1;
+     l = l + 1 | 0;
+     n = q[a + 12 >> 2];
+    }
+    f = f + 1 | 0;
+    if (f >>> 0 <= n >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[b >> 2] = j;
+  if (c) {
+   q[c >> 2] = s;
+  }
+  if (!d) {
+   break a;
+  }
+  q[d >> 2] = k;
+ }
+ Ca = h + 16 | 0;
+ return q[h + 8 >> 2];
+}
+function _k(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ g = q[a + 16 >> 2];
+ if (t[a + 20 >> 2] >= g + 12 >>> 0) {
+  h = q[a + 32 >> 2];
+  e = h;
+  a : {
+   b : {
+    c = q[g >> 2];
+    d = r[c | 0];
+    if ((d | 0) != 255) {
+     if ((d | 0) != 30) {
+      break b;
+     }
+     b = Vk(a, c, 0, 0) >> 16;
+     break a;
+    }
+    b = ((r[c + 3 | 0] | (r[c + 2 | 0] << 8 | r[c + 1 | 0] << 16)) << 8) + 32768 >> 16;
+    break a;
+   }
+   f = c + 1 | 0;
+   b = d + -28 | 0;
+   if (b >>> 0 <= 1) {
+    if (b - 1) {
+     c = c + 2 | 0;
+     b = 0;
+     if (t[a + 8 >> 2] <= c >>> 0) {
+      break a;
+     }
+     b = (r[c | 0] | r[f | 0] << 8) << 16 >> 16;
+     break a;
+    }
+    b = 0;
+    if (t[a + 8 >> 2] <= c + 4 >>> 0) {
+     break a;
+    }
+    c = r[c + 1 | 0] | r[c + 2 | 0] << 8 | (r[c + 3 | 0] << 16 | r[c + 4 | 0] << 24);
+    b = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    break a;
+   }
+   b = d + -139 | 0;
+   if (d >>> 0 <= 246) {
+    break a;
+   }
+   c = q[a + 8 >> 2];
+   if (d >>> 0 <= 250) {
+    b = 0;
+    if (c >>> 0 <= f >>> 0) {
+     break a;
+    }
+    b = (r[f | 0] | d << 8) + -63124 | 0;
+    break a;
+   }
+   b = 0;
+   if (c >>> 0 <= f >>> 0) {
+    break a;
+   }
+   b = 64148 - (r[f | 0] | d << 8) | 0;
+  }
+  q[e + 132 >> 2] = b;
+  e = h;
+  c : {
+   d : {
+    b = q[g + 4 >> 2];
+    f = r[b | 0];
+    if ((f | 0) != 255) {
+     if ((f | 0) != 30) {
+      break d;
+     }
+     d = Vk(a, b, 0, 0) >> 16;
+     break c;
+    }
+    d = ((r[b + 3 | 0] | (r[b + 2 | 0] << 8 | r[b + 1 | 0] << 16)) << 8) + 32768 >> 16;
+    break c;
+   }
+   c = b + 1 | 0;
+   d = f + -28 | 0;
+   if (d >>> 0 <= 1) {
+    if (d - 1) {
+     b = b + 2 | 0;
+     d = 0;
+     if (t[a + 8 >> 2] <= b >>> 0) {
+      break c;
+     }
+     d = (r[b | 0] | r[c | 0] << 8) << 16 >> 16;
+     break c;
+    }
+    d = 0;
+    if (t[a + 8 >> 2] <= b + 4 >>> 0) {
+     break c;
+    }
+    b = r[b + 1 | 0] | r[b + 2 | 0] << 8 | (r[b + 3 | 0] << 16 | r[b + 4 | 0] << 24);
+    d = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+    break c;
+   }
+   d = f + -139 | 0;
+   if (f >>> 0 <= 246) {
+    break c;
+   }
+   b = q[a + 8 >> 2];
+   if (f >>> 0 <= 250) {
+    d = 0;
+    if (b >>> 0 <= c >>> 0) {
+     break c;
+    }
+    d = (r[c | 0] | f << 8) + -63124 | 0;
+    break c;
+   }
+   d = 0;
+   if (b >>> 0 <= c >>> 0) {
+    break c;
+   }
+   d = 64148 - (r[c | 0] | f << 8) | 0;
+  }
+  q[e + 136 >> 2] = d;
+  e : {
+   f : {
+    c = q[g + 8 >> 2];
+    d = r[c | 0];
+    if ((d | 0) != 255) {
+     if ((d | 0) != 30) {
+      break f;
+     }
+     e = Vk(a, c, 0, 0) >> 16;
+     break e;
+    }
+    e = ((r[c + 3 | 0] | (r[c + 2 | 0] << 8 | r[c + 1 | 0] << 16)) << 8) + 32768 >> 16;
+    break e;
+   }
+   f = c + 1 | 0;
+   b = d + -28 | 0;
+   if (b >>> 0 <= 1) {
+    if (b - 1) {
+     b = q[a + 8 >> 2];
+     a = c + 2 | 0;
+     e = 0;
+     if (b >>> 0 <= a >>> 0) {
+      break e;
+     }
+     e = (r[a | 0] | r[f | 0] << 8) << 16 >> 16;
+     break e;
+    }
+    e = 0;
+    if (t[a + 8 >> 2] <= c + 4 >>> 0) {
+     break e;
+    }
+    a = r[c + 1 | 0] | r[c + 2 | 0] << 8 | (r[c + 3 | 0] << 16 | r[c + 4 | 0] << 24);
+    e = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+    break e;
+   }
+   e = d + -139 | 0;
+   if (d >>> 0 <= 246) {
+    break e;
+   }
+   a = q[a + 8 >> 2];
+   if (d >>> 0 <= 250) {
+    e = 0;
+    if (a >>> 0 <= f >>> 0) {
+     break e;
+    }
+    e = (r[f | 0] | d << 8) + -63124 | 0;
+    break e;
+   }
+   e = 0;
+   if (a >>> 0 <= f >>> 0) {
+    break e;
+   }
+   e = 64148 - (r[f | 0] | d << 8) | 0;
+  }
+  q[h + 140 >> 2] = e;
+  a = 0;
+ } else {
+  a = 161;
+ }
+ return a | 0;
+}
+function En(a, b, c) {
+ var d = 0;
+ d = 1;
+ a : {
+  if (c >>> 0 > 4) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     switch (c - 1 | 0) {
+     default:
+      b = s[b >> 1] << 16;
+      p[a >> 1] = b;
+      p[a + 2 >> 1] = b >>> 16;
+      break a;
+     case 0:
+      c = s[b + 2 >> 1];
+      d = s[b >> 1];
+      if (c >>> 0 > d >>> 0) {
+       c = d << 16 | 1;
+       p[a >> 1] = c;
+       p[a + 2 >> 1] = c >>> 16;
+       b = s[b + 2 >> 1] << 16 | 1;
+       p[a + 4 >> 1] = b;
+       p[a + 6 >> 1] = b >>> 16;
+       d = 2;
+       break a;
+      }
+      c = c << 16 | 1;
+      p[a >> 1] = c;
+      p[a + 2 >> 1] = c >>> 16;
+      b = s[b >> 1] << 16 | 1;
+      p[a + 4 >> 1] = b;
+      p[a + 6 >> 1] = b >>> 16;
+      d = 2;
+      break a;
+     case 1:
+      c = s[b >> 1] << 16 | 1;
+      p[a >> 1] = c;
+      p[a + 2 >> 1] = c >>> 16;
+      c = s[b >> 1] << 16 | 1;
+      p[a + 8 >> 1] = c;
+      p[a + 10 >> 1] = c >>> 16;
+      c = s[b + 4 >> 1];
+      d = s[b + 2 >> 1];
+      if (c >>> 0 > d >>> 0) {
+       c = d << 16 | 2;
+       p[a + 4 >> 1] = c;
+       p[a + 6 >> 1] = c >>> 16;
+       b = s[b + 4 >> 1] << 16 | 2;
+       p[a + 12 >> 1] = b;
+       p[a + 14 >> 1] = b >>> 16;
+       d = 4;
+       break a;
+      }
+      c = c << 16 | 2;
+      p[a + 4 >> 1] = c;
+      p[a + 6 >> 1] = c >>> 16;
+      b = s[b + 2 >> 1] << 16 | 2;
+      p[a + 12 >> 1] = b;
+      p[a + 14 >> 1] = b >>> 16;
+      d = 4;
+      break a;
+     case 2:
+      d = s[b + 2 >> 1];
+      c = s[b >> 1];
+      e : {
+       if (d >>> 0 >= c >>> 0) {
+        d = c;
+        break e;
+       }
+       p[b >> 1] = d;
+       p[b + 2 >> 1] = c;
+      }
+      c = s[b + 4 >> 1];
+      if (c >>> 0 < d >>> 0) {
+       break c;
+      }
+      c = d;
+      break b;
+     case 3:
+      break d;
+     }
+    }
+    c = s[b + 6 >> 1];
+    d = s[b + 4 >> 1];
+    if (c >>> 0 < d >>> 0) {
+     p[b + 4 >> 1] = c;
+     p[b + 6 >> 1] = d;
+    }
+    c = s[b >> 1] << 16 | 1;
+    p[a >> 1] = c;
+    p[a + 2 >> 1] = c >>> 16;
+    c = s[b + 2 >> 1] << 16 | 2;
+    p[a + 4 >> 1] = c;
+    p[a + 6 >> 1] = c >>> 16;
+    c = s[b >> 1] << 16 | 1;
+    p[a + 8 >> 1] = c;
+    p[a + 10 >> 1] = c >>> 16;
+    c = s[b + 4 >> 1] << 16 | 3;
+    p[a + 12 >> 1] = c;
+    p[a + 14 >> 1] = c >>> 16;
+    c = s[b >> 1] << 16 | 1;
+    p[a + 16 >> 1] = c;
+    p[a + 18 >> 1] = c >>> 16;
+    c = s[b + 2 >> 1] << 16 | 2;
+    p[a + 20 >> 1] = c;
+    p[a + 22 >> 1] = c >>> 16;
+    c = s[b >> 1] << 16 | 1;
+    p[a + 24 >> 1] = c;
+    p[a + 26 >> 1] = c >>> 16;
+    b = s[b + 6 >> 1] << 16 | 3;
+    p[a + 28 >> 1] = b;
+    p[a + 30 >> 1] = b >>> 16;
+    d = 8;
+    break a;
+   }
+   p[b >> 1] = c;
+   p[b + 4 >> 1] = d;
+  }
+  d = s[b + 6 >> 1];
+  if (d >>> 0 < c >>> 0) {
+   p[b >> 1] = d;
+   p[b + 6 >> 1] = c;
+  }
+  d = s[b + 4 >> 1];
+  c = s[b + 2 >> 1];
+  f : {
+   if (d >>> 0 >= c >>> 0) {
+    d = c;
+    break f;
+   }
+   p[b + 2 >> 1] = d;
+   p[b + 4 >> 1] = c;
+  }
+  c = s[b + 6 >> 1];
+  if (c >>> 0 < d >>> 0) {
+   p[b + 2 >> 1] = c;
+   p[b + 6 >> 1] = d;
+  }
+  c = s[b + 6 >> 1];
+  d = s[b + 4 >> 1];
+  if (c >>> 0 < d >>> 0) {
+   p[b + 4 >> 1] = c;
+   p[b + 6 >> 1] = d;
+  }
+  c = s[b >> 1] << 16 | 2;
+  p[a >> 1] = c;
+  p[a + 2 >> 1] = c >>> 16;
+  c = s[b + 2 >> 1] << 16 | 2;
+  p[a + 8 >> 1] = c;
+  p[a + 10 >> 1] = c >>> 16;
+  c = s[b + 4 >> 1] << 16 | 2;
+  p[a + 4 >> 1] = c;
+  p[a + 6 >> 1] = c >>> 16;
+  b = s[b + 6 >> 1] << 16 | 2;
+  p[a + 12 >> 1] = b;
+  p[a + 14 >> 1] = b >>> 16;
+  d = 4;
+ }
+ if ((d | 0) != 256) {
+  while (1) {
+   b = d << 2;
+   Y$(b + a | 0, a, b);
+   d = d << 1;
+   if ((d | 0) != 256) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 256;
+}
+function Hr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ d = q[a + 4 >> 2];
+ q[d + 72 >> 2] = 0;
+ a : {
+  if (!r[d + 68 | 0]) {
+   break a;
+  }
+  while (1) {
+   e = 0;
+   b : {
+    if (c >>> 0 >= t[d + 76 >> 2]) {
+     break b;
+    }
+    f = q[q[d + 88 >> 2] + w(c, 20) >> 2];
+    e = 2;
+    if ((f | 0) == 65535) {
+     break b;
+    }
+    c = q[a >> 2];
+    d = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+    c = Kr((d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24)) + c | 0, f, q[a + 8 >> 2]);
+    e = 1;
+    if (!c) {
+     break b;
+    }
+    e = r[c + 1 | 0] | r[c | 0] << 8;
+   }
+   c = q[a >> 2];
+   d = r[c + 12 | 0] | r[c + 13 | 0] << 8 | (r[c + 14 | 0] << 16 | r[c + 15 | 0] << 24);
+   f = (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + c | 0;
+   d = r[c + 8 | 0] | r[c + 9 | 0] << 8 | (r[c + 10 | 0] << 16 | r[c + 11 | 0] << 24);
+   d = c + (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) | 0;
+   c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+   c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+   c = d + ((c >>> 0 > e >>> 0 ? e : 1) + w(c, h) << 1) | 0;
+   f = f + ((r[c | 0] << 8 | r[c + 1 | 0]) << 2) | 0;
+   c : {
+    if (!h) {
+     break c;
+    }
+    c = q[a + 4 >> 2];
+    d = q[(r[c + 69 | 0] ? 80 : 72) + c >> 2];
+    if (!d) {
+     break c;
+    }
+    e = q[c + 72 >> 2];
+    if (e >>> 0 >= t[c + 76 >> 2]) {
+     break c;
+    }
+    g = r[f + 3 | 0];
+    if ((g | r[f + 2 | 0] << 8) == 16384 ? !(r[f + 1 | 0] | r[f | 0] << 8 | (t[b + 4 >> 2] < t[b + 8 >> 2] ? g & 15 : 0)) : 0) {
+     break c;
+    }
+    EG(c, d + -1 | 0, e + 1 | 0);
+   }
+   e = q[a + 4 >> 2];
+   g = q[e + 72 >> 2];
+   i = g + 2 | 0;
+   d : {
+    if (i >>> 0 > t[e + 76 >> 2]) {
+     break d;
+    }
+    c = q[a >> 2];
+    d = r[c + 12 | 0] | r[c + 13 | 0] << 8 | (r[c + 14 | 0] << 16 | r[c + 15 | 0] << 24);
+    j = (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + c | 0;
+    d = r[c + 8 | 0] | r[c + 9 | 0] << 8 | (r[c + 10 | 0] << 16 | r[c + 11 | 0] << 24);
+    d = c + (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) | 0;
+    c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+    c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    c = d + (w(c, h) + !c << 1) | 0;
+    if (!(r[(j + (r[c | 0] << 10 | r[c + 1 | 0] << 2) | 0) + 3 | 0] & 15) | t[b + 4 >> 2] >= t[b + 8 >> 2]) {
+     break d;
+    }
+    DG(e, g, i);
+   }
+   Mr(b, a, f);
+   e = q[a + 4 >> 2];
+   d = q[e + 72 >> 2];
+   if ((d | 0) == q[e + 76 >> 2]) {
+    break a;
+   }
+   h = r[f | 0];
+   g = r[f + 1 | 0];
+   e : {
+    if (r[f + 2 | 0] & 64) {
+     c = q[e + 40 >> 2];
+     q[e + 40 >> 2] = c + -1;
+     if ((c | 0) > 0) {
+      break e;
+     }
+    }
+    if (r[e + 69 | 0]) {
+     f : {
+      if (q[e + 92 >> 2] == q[e + 88 >> 2]) {
+       c = d;
+       if ((c | 0) == q[e + 80 >> 2]) {
+        break f;
+       }
+      }
+      if (!pG(e, 1, 1)) {
+       break e;
+      }
+      d = q[e + 88 >> 2] + w(q[e + 72 >> 2], 20) | 0;
+      f = q[d + 4 >> 2];
+      c = q[e + 92 >> 2] + w(q[e + 80 >> 2], 20) | 0;
+      q[c >> 2] = q[d >> 2];
+      q[c + 4 >> 2] = f;
+      q[c + 16 >> 2] = q[d + 16 >> 2];
+      f = q[d + 12 >> 2];
+      q[c + 8 >> 2] = q[d + 8 >> 2];
+      q[c + 12 >> 2] = f;
+      d = q[e + 72 >> 2];
+      c = q[e + 80 >> 2];
+     }
+     q[e + 80 >> 2] = c + 1;
+    }
+    q[e + 72 >> 2] = d + 1;
+   }
+   d = q[a + 4 >> 2];
+   if (!r[d + 68 | 0]) {
+    break a;
+   }
+   h = g | h << 8;
+   c = q[d + 72 >> 2];
+   continue;
+  }
+ }
+}
+function _t(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0;
+ n = Ca - 160 | 0;
+ Ca = n;
+ f = Mt(n + 8 | 0, 1, b, c);
+ q[f + 116 >> 2] = d;
+ q[f + 128 >> 2] = 8;
+ q[f + 32 >> 2] = 0;
+ q[f + 8 >> 2] = 8;
+ q[f + 76 >> 2] = 0;
+ q[f + 48 >> 2] = f;
+ q[f + 68 >> 2] = 0;
+ q[f + 72 >> 2] = 0;
+ q[f + 60 >> 2] = -1;
+ o[f + 57 | 0] = 1;
+ q[f + 52 >> 2] = 8;
+ q[f + 24 >> 2] = 0;
+ q[f + 28 >> 2] = 0;
+ q[f + 16 >> 2] = d;
+ o[f + 13 | 0] = r[f + 142 | 0];
+ e = q[f + 120 >> 2] == 1;
+ o[f + 12 | 0] = e;
+ o[f + 56 | 0] = e | r[f + 141 | 0] != 0;
+ q[f + 4 >> 2] = f;
+ u = q[c + 76 >> 2];
+ if (u) {
+  l = q[c + 96 >> 2];
+  v = q[c + 88 >> 2];
+  z = (q[c + 48 >> 2] & -2) != 4;
+  while (1) {
+   a : {
+    b : {
+     m = k;
+     g = w(k, 20);
+     h = v + g | 0;
+     if (!(q[h + 4 >> 2] & d)) {
+      break b;
+     }
+     q[f + 36 >> 2] = 1;
+     q[f >> 2] = m;
+     k = q[q[f + 4 >> 2] + 96 >> 2];
+     q[f + 40 >> 2] = q[k + 76 >> 2];
+     o[f + 20 | 0] = q[k + 72 >> 2] == (m | 0) ? r[(q[k + 88 >> 2] + g | 0) + 15 | 0] : 0;
+     if (!Xt(f)) {
+      break b;
+     }
+     k = q[f >> 2];
+     i = w(k, 20);
+     p = q[q[a >> 2] >> 2];
+     e = r[p + 8 | 0] << 8 | r[p + 9 | 0];
+     c : {
+      if (e) {
+       x = q[h >> 2];
+       y = q[i + v >> 2];
+       h = e + -1 | 0;
+       s = 0;
+       while (1) {
+        d : {
+         e : {
+          t = h + s >>> 1 | 0;
+          j = w(t, 6) + p | 0;
+          e = j + 16 | 0;
+          j = r[e | 0] << 8 | r[j + 17 | 0];
+          f : {
+           if ((j | 0) == (x | 0)) {
+            j = r[e + 3 | 0] | r[e + 2 | 0] << 8;
+            if (j >>> 0 > y >>> 0) {
+             break f;
+            }
+            if ((j | 0) == (y | 0)) {
+             break c;
+            }
+            break e;
+           }
+           if (j >>> 0 <= x >>> 0) {
+            break e;
+           }
+          }
+          h = t + -1 | 0;
+          break d;
+         }
+         s = t + 1 | 0;
+        }
+        if ((s | 0) <= (h | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      e = 271040;
+     }
+     e = r[e + 4 | 0] | r[e + 5 | 0] << 8;
+     e = (e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24)) >>> 16 | 0;
+     if (!e) {
+      break a;
+     }
+     g : {
+      if (!z) {
+       h = e << 16;
+       e = h >> 31;
+       e = T0(q[b + 32 >> 2], q[b + 36 >> 2], h >> 16, e);
+       e = (Ea & 65535) << 16 | e >>> 16;
+       if (r[a + 4 | 0]) {
+        q[(i + l | 0) + 12 >> 2] = e;
+        q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+        break g;
+       }
+       g = g + l | 0;
+       h = g;
+       j = q[g >> 2];
+       g = e >> 1;
+       q[h >> 2] = j + g;
+       i = i + l | 0;
+       e = e - g | 0;
+       q[i >> 2] = e + q[i >> 2];
+       q[i + 8 >> 2] = e + q[i + 8 >> 2];
+       break g;
+      }
+      h = e << 16;
+      e = h >> 31;
+      e = T0(q[b + 40 >> 2], q[b + 44 >> 2], h >> 16, e);
+      e = (Ea & 65535) << 16 | e >>> 16;
+      if (r[a + 4 | 0]) {
+       q[(i + l | 0) + 8 >> 2] = e;
+       q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+       break g;
+      }
+      g = g + l | 0;
+      h = g;
+      j = q[g + 4 >> 2];
+      g = e >> 1;
+      q[h + 4 >> 2] = j + g;
+      i = i + l | 0;
+      e = e - g | 0;
+      q[i + 4 >> 2] = e + q[i + 4 >> 2];
+      q[i + 12 >> 2] = e + q[i + 12 >> 2];
+     }
+     e = k + 1 | 0;
+     if (e - m >>> 0 < 2) {
+      break a;
+     }
+     DG(c, m, e);
+     k = q[f >> 2];
+     break a;
+    }
+    k = m + 1 | 0;
+   }
+   if (k >>> 0 < u >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = n + 160 | 0;
+}
+function Vt(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0;
+ n = Ca - 160 | 0;
+ Ca = n;
+ f = Mt(n + 8 | 0, 1, b, c);
+ q[f + 116 >> 2] = d;
+ q[f + 128 >> 2] = 8;
+ q[f + 32 >> 2] = 0;
+ q[f + 8 >> 2] = 8;
+ q[f + 76 >> 2] = 0;
+ q[f + 48 >> 2] = f;
+ q[f + 68 >> 2] = 0;
+ q[f + 72 >> 2] = 0;
+ q[f + 60 >> 2] = -1;
+ o[f + 57 | 0] = 1;
+ q[f + 52 >> 2] = 8;
+ q[f + 24 >> 2] = 0;
+ q[f + 28 >> 2] = 0;
+ q[f + 16 >> 2] = d;
+ o[f + 13 | 0] = r[f + 142 | 0];
+ e = q[f + 120 >> 2] == 1;
+ o[f + 12 | 0] = e;
+ o[f + 56 | 0] = e | r[f + 141 | 0] != 0;
+ q[f + 4 >> 2] = f;
+ u = q[c + 76 >> 2];
+ if (u) {
+  l = q[c + 96 >> 2];
+  v = q[c + 88 >> 2];
+  z = (q[c + 48 >> 2] & -2) != 4;
+  while (1) {
+   a : {
+    b : {
+     m = k;
+     g = w(k, 20);
+     h = v + g | 0;
+     if (!(q[h + 4 >> 2] & d)) {
+      break b;
+     }
+     q[f + 36 >> 2] = 1;
+     q[f >> 2] = m;
+     k = q[q[f + 4 >> 2] + 96 >> 2];
+     q[f + 40 >> 2] = q[k + 76 >> 2];
+     o[f + 20 | 0] = q[k + 72 >> 2] == (m | 0) ? r[(q[k + 88 >> 2] + g | 0) + 15 | 0] : 0;
+     if (!Xt(f)) {
+      break b;
+     }
+     k = q[f >> 2];
+     i = w(k, 20);
+     p = q[q[a >> 2] >> 2];
+     e = r[p + 6 | 0] << 8 | r[p + 7 | 0];
+     c : {
+      if (e) {
+       x = q[h >> 2];
+       y = q[i + v >> 2];
+       h = e + -1 | 0;
+       s = 0;
+       while (1) {
+        d : {
+         e : {
+          t = h + s >>> 1 | 0;
+          j = w(t, 6) + p | 0;
+          e = j + 14 | 0;
+          j = r[e | 0] << 8 | r[j + 15 | 0];
+          f : {
+           if ((j | 0) == (x | 0)) {
+            j = r[e + 3 | 0] | r[e + 2 | 0] << 8;
+            if (j >>> 0 > y >>> 0) {
+             break f;
+            }
+            if ((j | 0) == (y | 0)) {
+             break c;
+            }
+            break e;
+           }
+           if (j >>> 0 <= x >>> 0) {
+            break e;
+           }
+          }
+          h = t + -1 | 0;
+          break d;
+         }
+         s = t + 1 | 0;
+        }
+        if ((s | 0) <= (h | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      e = 271040;
+     }
+     e = r[e + 4 | 0] | r[e + 5 | 0] << 8;
+     e = (e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24)) >>> 16 | 0;
+     if (!e) {
+      break a;
+     }
+     g : {
+      if (!z) {
+       h = e << 16;
+       e = h >> 31;
+       e = T0(q[b + 32 >> 2], q[b + 36 >> 2], h >> 16, e);
+       e = (Ea & 65535) << 16 | e >>> 16;
+       if (r[a + 4 | 0]) {
+        q[(i + l | 0) + 12 >> 2] = e;
+        q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+        break g;
+       }
+       g = g + l | 0;
+       h = g;
+       j = q[g >> 2];
+       g = e >> 1;
+       q[h >> 2] = j + g;
+       i = i + l | 0;
+       e = e - g | 0;
+       q[i >> 2] = e + q[i >> 2];
+       q[i + 8 >> 2] = e + q[i + 8 >> 2];
+       break g;
+      }
+      h = e << 16;
+      e = h >> 31;
+      e = T0(q[b + 40 >> 2], q[b + 44 >> 2], h >> 16, e);
+      e = (Ea & 65535) << 16 | e >>> 16;
+      if (r[a + 4 | 0]) {
+       q[(i + l | 0) + 8 >> 2] = e;
+       q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+       break g;
+      }
+      g = g + l | 0;
+      h = g;
+      j = q[g + 4 >> 2];
+      g = e >> 1;
+      q[h + 4 >> 2] = j + g;
+      i = i + l | 0;
+      e = e - g | 0;
+      q[i + 4 >> 2] = e + q[i + 4 >> 2];
+      q[i + 12 >> 2] = e + q[i + 12 >> 2];
+     }
+     e = k + 1 | 0;
+     if (e - m >>> 0 < 2) {
+      break a;
+     }
+     DG(c, m, e);
+     k = q[f >> 2];
+     break a;
+    }
+    k = m + 1 | 0;
+   }
+   if (k >>> 0 < u >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = n + 160 | 0;
+}
+function Jq(a) {
+ var b = 0, c = 0;
+ b = q[a + 4 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 8 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  c = q[b + 44 >> 2];
+  Cq(c ? c : 271040);
+  M$(b);
+ }
+ b = q[a + 12 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 16 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  c = q[b + 12 >> 2];
+  Cq(c ? c : 271040);
+  q[b + 12 >> 2] = 0;
+  c = q[b + 16 >> 2];
+  Cq(c ? c : 271040);
+  M$(b);
+ }
+ b = q[a + 20 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 24 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  c = b + 20 | 0;
+  M$(q[c >> 2]);
+  q[c >> 2] = 0;
+  q[b + 12 >> 2] = 0;
+  q[b + 16 >> 2] = 0;
+  M$(q[b + 28 >> 2]);
+  c = q[b >> 2];
+  Cq(c ? c : 271040);
+  M$(b);
+ }
+ b = q[a + 28 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  c = b + 20 | 0;
+  M$(q[c >> 2]);
+  q[c >> 2] = 0;
+  q[b + 12 >> 2] = 0;
+  q[b + 16 >> 2] = 0;
+  c = q[b + 8 >> 2];
+  Cq(c ? c : 271040);
+  M$(b);
+ }
+ b = q[a + 32 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 36 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  c = q[b >> 2];
+  Cq(c ? c : 271040);
+  M$(b);
+ }
+ b = q[a + 40 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 44 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  c = q[b + 12 >> 2];
+  Cq(c ? c : 271040);
+  q[b + 12 >> 2] = 0;
+  c = q[b + 16 >> 2];
+  Cq(c ? c : 271040);
+  M$(b);
+ }
+ b = q[a + 48 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  c = q[b + 8 >> 2];
+  Cq(c ? c : 271040);
+  q[b + 8 >> 2] = 0;
+  c = q[b + 12 >> 2];
+  Cq(c ? c : 271040);
+  M$(b);
+ }
+ b = q[a + 52 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  c = b + 224 | 0;
+  M$(q[c >> 2]);
+  q[c >> 2] = 0;
+  q[b + 216 >> 2] = 0;
+  q[b + 220 >> 2] = 0;
+  Kq(b);
+  M$(b);
+ }
+ b = q[a + 56 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Lq(b);
+  M$(b);
+ }
+ b = q[a + 60 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 64 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 68 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 72 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  c = q[b >> 2];
+  Cq(c ? c : 271040);
+  M$(b);
+ }
+ b = q[a + 76 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 80 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 84 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  c = q[b >> 2];
+  Cq(c ? c : 271040);
+  M$(b);
+ }
+ Mq(a + 88 | 0);
+ Mq(a + 92 | 0);
+ b = q[a + 96 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 100 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 104 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 108 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 112 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 116 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 120 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 124 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 128 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 132 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 136 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  Cq(b);
+ }
+ b = q[a + 140 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  c = q[b >> 2];
+  Cq(c ? c : 271040);
+  q[b >> 2] = 0;
+  c = q[b + 4 >> 2];
+  Cq(c ? c : 271040);
+  M$(b);
+ }
+ b = q[a + 144 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  c = q[b >> 2];
+  Cq(c ? c : 271040);
+  M$(b);
+ }
+ b = q[a + 148 >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  c = q[b >> 2];
+  Cq(c ? c : 271040);
+  M$(b);
+ }
+ a = q[a + 152 >> 2];
+ if (!(!a | (a | 0) == 271040)) {
+  Cq(a);
+ }
+}
+function ws(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ d = q[a + 4 >> 2];
+ q[d + 72 >> 2] = 0;
+ a : {
+  if (!r[d + 68 | 0]) {
+   break a;
+  }
+  while (1) {
+   e = 0;
+   b : {
+    if (c >>> 0 >= t[d + 76 >> 2]) {
+     break b;
+    }
+    f = q[q[d + 88 >> 2] + w(c, 20) >> 2];
+    e = 2;
+    if ((f | 0) == 65535) {
+     break b;
+    }
+    c = q[a >> 2];
+    d = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+    c = Kr((d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24)) + c | 0, f, q[a + 8 >> 2]);
+    e = 1;
+    if (!c) {
+     break b;
+    }
+    e = r[c + 1 | 0] | r[c | 0] << 8;
+   }
+   c = q[a >> 2];
+   d = r[c + 12 | 0] | r[c + 13 | 0] << 8 | (r[c + 14 | 0] << 16 | r[c + 15 | 0] << 24);
+   f = (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + c | 0;
+   d = r[c + 8 | 0] | r[c + 9 | 0] << 8 | (r[c + 10 | 0] << 16 | r[c + 11 | 0] << 24);
+   d = c + (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) | 0;
+   c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+   c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+   c = d + ((c >>> 0 > e >>> 0 ? e : 1) + w(c, g) << 1) | 0;
+   f = f + w(r[c | 0] << 8 | r[c + 1 | 0], 6) | 0;
+   c : {
+    if (!g) {
+     break c;
+    }
+    c = q[a + 4 >> 2];
+    d = q[(r[c + 69 | 0] ? 80 : 72) + c >> 2];
+    if (!d) {
+     break c;
+    }
+    e = q[c + 72 >> 2];
+    if (e >>> 0 >= t[c + 76 >> 2] | ((r[f + 3 | 0] | r[f + 2 | 0] << 8) == 16384 ? !(r[f + 1 | 0] | r[f | 0] << 8 | (r[f + 5 | 0] | r[f + 4 | 0] << 8) != 65535) : 0)) {
+     break c;
+    }
+    EG(c, d + -1 | 0, e + 1 | 0);
+   }
+   e = q[a + 4 >> 2];
+   h = q[e + 72 >> 2];
+   i = h + 2 | 0;
+   d : {
+    if (i >>> 0 > t[e + 76 >> 2]) {
+     break d;
+    }
+    c = q[a >> 2];
+    d = r[c + 12 | 0] | r[c + 13 | 0] << 8 | (r[c + 14 | 0] << 16 | r[c + 15 | 0] << 24);
+    j = (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + c | 0;
+    d = r[c + 8 | 0] | r[c + 9 | 0] << 8 | (r[c + 10 | 0] << 16 | r[c + 11 | 0] << 24);
+    d = c + (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) | 0;
+    c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+    c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    c = d + (w(c, g) + !c << 1) | 0;
+    c = j + w(r[c | 0] << 8 | r[c + 1 | 0], 6) | 0;
+    if ((r[c + 4 | 0] << 8 | r[c + 5 | 0]) == 65535) {
+     break d;
+    }
+    DG(e, h, i);
+   }
+   xs(b, a, f);
+   e = q[a + 4 >> 2];
+   d = q[e + 72 >> 2];
+   if ((d | 0) == q[e + 76 >> 2]) {
+    break a;
+   }
+   g = r[f | 0];
+   h = r[f + 1 | 0];
+   e : {
+    if (r[f + 2 | 0] & 64) {
+     c = q[e + 40 >> 2];
+     q[e + 40 >> 2] = c + -1;
+     if ((c | 0) > 0) {
+      break e;
+     }
+    }
+    if (r[e + 69 | 0]) {
+     f : {
+      if (q[e + 92 >> 2] == q[e + 88 >> 2]) {
+       c = d;
+       if ((c | 0) == q[e + 80 >> 2]) {
+        break f;
+       }
+      }
+      if (!pG(e, 1, 1)) {
+       break e;
+      }
+      d = q[e + 88 >> 2] + w(q[e + 72 >> 2], 20) | 0;
+      f = q[d + 4 >> 2];
+      c = q[e + 92 >> 2] + w(q[e + 80 >> 2], 20) | 0;
+      q[c >> 2] = q[d >> 2];
+      q[c + 4 >> 2] = f;
+      q[c + 16 >> 2] = q[d + 16 >> 2];
+      f = q[d + 12 >> 2];
+      q[c + 8 >> 2] = q[d + 8 >> 2];
+      q[c + 12 >> 2] = f;
+      d = q[e + 72 >> 2];
+      c = q[e + 80 >> 2];
+     }
+     q[e + 80 >> 2] = c + 1;
+    }
+    q[e + 72 >> 2] = d + 1;
+   }
+   d = q[a + 4 >> 2];
+   if (!r[d + 68 | 0]) {
+    break a;
+   }
+   g = h | g << 8;
+   c = q[d + 72 >> 2];
+   continue;
+  }
+ }
+}
+function ts(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ d = q[a + 4 >> 2];
+ q[d + 72 >> 2] = 0;
+ a : {
+  if (!r[d + 68 | 0]) {
+   break a;
+  }
+  while (1) {
+   e = 0;
+   b : {
+    if (c >>> 0 >= t[d + 76 >> 2]) {
+     break b;
+    }
+    f = q[q[d + 88 >> 2] + w(c, 20) >> 2];
+    e = 2;
+    if ((f | 0) == 65535) {
+     break b;
+    }
+    c = q[a >> 2];
+    d = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+    c = Kr((d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24)) + c | 0, f, q[a + 8 >> 2]);
+    e = 1;
+    if (!c) {
+     break b;
+    }
+    e = r[c + 1 | 0] | r[c | 0] << 8;
+   }
+   c = q[a >> 2];
+   d = r[c + 12 | 0] | r[c + 13 | 0] << 8 | (r[c + 14 | 0] << 16 | r[c + 15 | 0] << 24);
+   f = (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + c | 0;
+   d = r[c + 8 | 0] | r[c + 9 | 0] << 8 | (r[c + 10 | 0] << 16 | r[c + 11 | 0] << 24);
+   d = c + (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) | 0;
+   c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+   c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+   c = d + ((c >>> 0 > e >>> 0 ? e : 1) + w(c, g) << 1) | 0;
+   f = f + w(r[c | 0] << 8 | r[c + 1 | 0], 6) | 0;
+   c : {
+    if (!g) {
+     break c;
+    }
+    c = q[a + 4 >> 2];
+    d = q[(r[c + 69 | 0] ? 80 : 72) + c >> 2];
+    if (!d) {
+     break c;
+    }
+    e = q[c + 72 >> 2];
+    if (e >>> 0 >= t[c + 76 >> 2] | ((r[f + 3 | 0] | r[f + 2 | 0] << 8) == 16384 ? !(r[f + 1 | 0] | r[f | 0] << 8 | (r[f + 5 | 0] | r[f + 4 | 0] << 8) != 65535) : 0)) {
+     break c;
+    }
+    EG(c, d + -1 | 0, e + 1 | 0);
+   }
+   e = q[a + 4 >> 2];
+   h = q[e + 72 >> 2];
+   i = h + 2 | 0;
+   d : {
+    if (i >>> 0 > t[e + 76 >> 2]) {
+     break d;
+    }
+    c = q[a >> 2];
+    d = r[c + 12 | 0] | r[c + 13 | 0] << 8 | (r[c + 14 | 0] << 16 | r[c + 15 | 0] << 24);
+    j = (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + c | 0;
+    d = r[c + 8 | 0] | r[c + 9 | 0] << 8 | (r[c + 10 | 0] << 16 | r[c + 11 | 0] << 24);
+    d = c + (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) | 0;
+    c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+    c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    c = d + (w(c, g) + !c << 1) | 0;
+    c = j + w(r[c | 0] << 8 | r[c + 1 | 0], 6) | 0;
+    if ((r[c + 4 | 0] << 8 | r[c + 5 | 0]) == 65535) {
+     break d;
+    }
+    DG(e, h, i);
+   }
+   zs(b, a, f);
+   e = q[a + 4 >> 2];
+   d = q[e + 72 >> 2];
+   if ((d | 0) == q[e + 76 >> 2]) {
+    break a;
+   }
+   g = r[f | 0];
+   h = r[f + 1 | 0];
+   e : {
+    if (r[f + 2 | 0] & 64) {
+     c = q[e + 40 >> 2];
+     q[e + 40 >> 2] = c + -1;
+     if ((c | 0) > 0) {
+      break e;
+     }
+    }
+    if (r[e + 69 | 0]) {
+     f : {
+      if (q[e + 92 >> 2] == q[e + 88 >> 2]) {
+       c = d;
+       if ((c | 0) == q[e + 80 >> 2]) {
+        break f;
+       }
+      }
+      if (!pG(e, 1, 1)) {
+       break e;
+      }
+      d = q[e + 88 >> 2] + w(q[e + 72 >> 2], 20) | 0;
+      f = q[d + 4 >> 2];
+      c = q[e + 92 >> 2] + w(q[e + 80 >> 2], 20) | 0;
+      q[c >> 2] = q[d >> 2];
+      q[c + 4 >> 2] = f;
+      q[c + 16 >> 2] = q[d + 16 >> 2];
+      f = q[d + 12 >> 2];
+      q[c + 8 >> 2] = q[d + 8 >> 2];
+      q[c + 12 >> 2] = f;
+      d = q[e + 72 >> 2];
+      c = q[e + 80 >> 2];
+     }
+     q[e + 80 >> 2] = c + 1;
+    }
+    q[e + 72 >> 2] = d + 1;
+   }
+   d = q[a + 4 >> 2];
+   if (!r[d + 68 | 0]) {
+    break a;
+   }
+   g = h | g << 8;
+   c = q[d + 72 >> 2];
+   continue;
+  }
+ }
+}
+function zp(a, b, c, d, e, f, g) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ var h = 0, i = 0, j = 0;
+ i = Ca - 48 | 0;
+ Ca = i;
+ h = 2;
+ j = q[a + 796 >> 2] + -1 | 0;
+ a : {
+  if (j >>> 0 > 2) {
+   break a;
+  }
+  b : {
+   if (j - 2) {
+    if (!q[a + 864 >> 2]) {
+     h = 142;
+     break a;
+    }
+    j = q[q[a + 804 >> 2] + (b << 2) >> 2];
+    b = q[a + 104 >> 2];
+    h = yg(b, q[a + 860 >> 2]);
+    if (h) {
+     break a;
+    }
+    q[i + 4 >> 2] = b;
+    q[i >> 2] = a;
+    b = q[a + 84 >> 2];
+    p[i + 16 >> 1] = 0;
+    q[i + 12 >> 2] = g;
+    q[i + 8 >> 2] = b + 76;
+    q[i + 20 >> 2] = q[a + 860 >> 2];
+    q[i + 24 >> 2] = q[a + 864 >> 2];
+    b = q[a + 788 >> 2];
+    q[i + 36 >> 2] = b;
+    e = q[a + 792 >> 2];
+    q[i + 40 >> 2] = e + b;
+    h = 3;
+    g = w(j, 48);
+    if ((g | 8) + 47 >>> 0 > e >>> 0) {
+     break a;
+    }
+    b = b + g | 0;
+    g = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+    j = g << 24 | g << 8 & 16711680 | (g >>> 8 & 65280 | g >>> 24);
+    q[i + 28 >> 2] = j;
+    g = r[b + 16 | 0] | r[b + 17 | 0] << 8 | (r[b + 18 | 0] << 16 | r[b + 19 | 0] << 24);
+    g = g << 24 | g << 8 & 16711680 | (g >>> 8 & 65280 | g >>> 24);
+    q[i + 32 >> 2] = g;
+    o[i + 18 | 0] = r[b + 54 | 0];
+    if (e >>> 0 < j >>> 0 | g >>> 0 > e - j >>> 3 >>> 0) {
+     break a;
+    }
+    h = Ap(i, c, 0, 0, 0, d >>> 22 & 1);
+    if (h) {
+     break a;
+    }
+    if (!(d & 5242880)) {
+     break b;
+    }
+    h = 0;
+    break a;
+   }
+   b = q[q[a + 804 >> 2] + (b << 2) >> 2];
+   d = 0;
+   p[g >> 1] = 0;
+   p[g + 2 >> 1] = 0;
+   if (t[a + 16 >> 2] < c >>> 0) {
+    h = 6;
+    break a;
+   }
+   b = q[a + 788 >> 2] + (b << 2) | 0;
+   b = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+   b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+   g = b + 4 | 0;
+   while (1) {
+    f = q[a + 864 >> 2];
+    if (f >>> 0 <= b >>> 0) {
+     h = 3;
+     break a;
+    }
+    c = c << 2;
+    if (f - b >>> 0 < c + 12 >>> 0) {
+     h = 3;
+     break a;
+    }
+    h = yg(e, q[a + 860 >> 2] + (c + g | 0) | 0);
+    if (h) {
+     break a;
+    }
+    h = Kg(e, 8);
+    if (h) {
+     break a;
+    }
+    c = Rg(e);
+    f = Rg(e);
+    Ng(e);
+    if ((c | 0) == (f | 0)) {
+     h = 157;
+     break a;
+    }
+    if (f >>> 0 < c >>> 0) {
+     h = 3;
+     break a;
+    }
+    j = f - c | 0;
+    if (j >>> 0 < 8) {
+     h = 3;
+     break a;
+    }
+    h = 3;
+    if (q[a + 864 >> 2] - b >>> 0 < f >>> 0) {
+     break a;
+    }
+    h = yg(e, q[a + 860 >> 2] + (b + c | 0) | 0);
+    if (h) {
+     break a;
+    }
+    h = Kg(e, j);
+    if (h) {
+     break a;
+    }
+    Pg(e);
+    Pg(e);
+    c = Rg(e);
+    if ((c | 0) != 1685418085) {
+     c : {
+      if (!((c | 0) == 1785751328 | (c | 0) == 1919378028)) {
+       h = 7;
+       if ((c | 0) != 1953064550) {
+        break c;
+       }
+      }
+      h = 2;
+     }
+     Ng(e);
+     break a;
+    }
+    if ((d | 0) == 4) {
+     h = 3;
+     Ng(e);
+     break a;
+    }
+    c = Pg(e);
+    Ng(e);
+    d = d + 1 | 0;
+    if (t[a + 16 >> 2] >= c >>> 0) {
+     continue;
+    }
+    break;
+   }
+   h = 6;
+   break a;
+  }
+  h = 0;
+  if (r[f + 18 | 0] != 7) {
+   break a;
+  }
+  b = q[q[a + 84 >> 2] >> 2];
+  pn(i);
+  h = rn(b, f, i);
+  if (h) {
+   sn(b, i);
+   break a;
+  }
+  o[f + 18 | 0] = r[i + 18 | 0];
+  q[f + 8 >> 2] = q[i + 8 >> 2];
+  p[f + 16 >> 1] = s[i + 16 >> 1];
+  rf(q[a + 84 >> 2], q[i + 12 >> 2]);
+  a = q[q[a + 84 >> 2] + 156 >> 2];
+  q[a + 4 >> 2] = q[a + 4 >> 2] | 1;
+ }
+ Ca = i + 48 | 0;
+ return h | 0;
+}
+function BM(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ h = q[a + 160 >> 2];
+ g = q[h + 16 >> 2];
+ f = q[q[a + 208 >> 2] + 24 >> 2];
+ q[a + 824 >> 2] = 355493;
+ c = q[a + 96 >> 2];
+ i = q[a + 536 >> 2];
+ g = b ? b : g + w(f, 144) | 0;
+ k = Y$(a + 544 | 0, g, 144);
+ f = c & 2;
+ q[a + 532 >> 2] = !f | !i;
+ b = i ? 0 : c;
+ c = b & 1 ? b | 124 : b;
+ if (c & 512) {
+  Y$(k, a + 824 | 0, 144);
+ }
+ d = +q[h + 40 >> 2];
+ e = d / 288;
+ if (c & 4) {
+  b = q[a + 876 >> 2];
+  q[a + 592 >> 2] = q[a + 872 >> 2];
+  q[a + 596 >> 2] = b;
+  b = q[a + 884 >> 2];
+  q[a + 600 >> 2] = q[a + 880 >> 2];
+  q[a + 604 >> 2] = b;
+  v[a + 552 >> 3] = e * v[a + 832 >> 3];
+  v[a + 608 >> 3] = e * v[a + 888 >> 3];
+ }
+ if (c & 8) {
+  q[a + 548 >> 2] = q[a + 828 >> 2];
+  q[a + 668 >> 2] = q[a + 948 >> 2];
+ }
+ if (c & 16) {
+  b = q[a + 844 >> 2];
+  q[a + 560 >> 2] = q[a + 840 >> 2];
+  q[a + 564 >> 2] = b;
+  b = q[a + 852 >> 2];
+  q[a + 568 >> 2] = q[a + 848 >> 2];
+  q[a + 572 >> 2] = b;
+ }
+ if (c & 32) {
+  b = q[a + 860 >> 2];
+  q[a + 576 >> 2] = q[a + 856 >> 2];
+  q[a + 580 >> 2] = b;
+  b = q[a + 868 >> 2];
+  q[a + 584 >> 2] = q[a + 864 >> 2];
+  q[a + 588 >> 2] = b;
+ }
+ if (c & 64) {
+  q[a + 624 >> 2] = q[a + 904 >> 2];
+  v[a + 632 >> 3] = e * v[a + 912 >> 3];
+  v[a + 640 >> 3] = e * v[a + 920 >> 3];
+ }
+ if (c & 128) {
+  q[a + 648 >> 2] = q[a + 928 >> 2];
+ }
+ if (c & 1024) {
+  q[a + 680 >> 2] = q[a + 960 >> 2];
+ }
+ if (c & 256) {
+  q[a + 652 >> 2] = q[a + 932 >> 2];
+  b = q[a + 940 >> 2];
+  q[a + 656 >> 2] = q[a + 936 >> 2];
+  q[a + 660 >> 2] = b;
+ }
+ if (!q[a + 548 >> 2]) {
+  q[a + 548 >> 2] = q[g + 4 >> 2];
+ }
+ q[a + 528 >> 2] = c;
+ q[a + 212 >> 2] = k;
+ e = +q[a + 144 >> 2];
+ j = e / d;
+ v[a + 176 >> 3] = j;
+ b = a;
+ g = q[a + 28 >> 2];
+ d = 1;
+ a : {
+  if (!g) {
+   break a;
+  }
+  d = e / +(g | 0);
+ }
+ v[b + 200 >> 3] = d;
+ e = q[h + 60 >> 2] ? j : d;
+ v[a + 192 >> 3] = e;
+ if (!g) {
+  v[a + 200 >> 3] = e;
+  d = e;
+ }
+ if (!(f ? i : 0)) {
+  l = d;
+  d = v[a + 32 >> 3];
+  v[a + 200 >> 3] = l * d;
+  v[a + 192 >> 3] = e * d;
+  v[a + 176 >> 3] = j * d;
+ }
+ b = q[a + 564 >> 2];
+ q[a + 384 >> 2] = q[a + 560 >> 2];
+ q[a + 388 >> 2] = b;
+ b = q[a + 572 >> 2];
+ q[a + 392 >> 2] = q[a + 568 >> 2];
+ q[a + 396 >> 2] = b;
+ b = q[a + 556 >> 2];
+ q[a + 224 >> 2] = q[a + 552 >> 2];
+ q[a + 228 >> 2] = b;
+ q[a + 232 >> 2] = (q[a + 588 >> 2] != 0) << 1 | q[a + 584 >> 2] != 0;
+ b = a + 504 | 0;
+ M$(q[b >> 2]);
+ q[b >> 2] = 0;
+ m = b, n = mZ(q[a + 548 >> 2]), q[m >> 2] = n;
+ q[a + 516 >> 2] = q[a + 668 >> 2];
+ b = q[a + 580 >> 2];
+ q[a + 508 >> 2] = q[a + 576 >> 2];
+ q[a + 512 >> 2] = b;
+ YM(a);
+ o[a + 424 | 0] = 0;
+ q[a + 248 >> 2] = 0;
+ q[a + 252 >> 2] = 0;
+ q[a + 256 >> 2] = 0;
+ q[a + 260 >> 2] = 0;
+ q[a + 360 >> 2] = q[a + 624 >> 2];
+ f = q[a + 636 >> 2];
+ b = q[a + 632 >> 2];
+ q[a + 376 >> 2] = b;
+ q[a + 380 >> 2] = f;
+ q[a + 368 >> 2] = b;
+ q[a + 372 >> 2] = f;
+ b = q[a + 596 >> 2];
+ q[a + 336 >> 2] = q[a + 592 >> 2];
+ q[a + 340 >> 2] = b;
+ b = q[a + 604 >> 2];
+ q[a + 344 >> 2] = q[a + 600 >> 2];
+ q[a + 348 >> 2] = b;
+ b = q[a + 612 >> 2];
+ q[a + 352 >> 2] = q[a + 608 >> 2];
+ q[a + 356 >> 2] = b;
+ b = q[a + 676 >> 2];
+ q[a + 432 >> 2] = q[a + 672 >> 2];
+ q[a + 436 >> 2] = b;
+ f = q[a + 644 >> 2];
+ b = q[a + 640 >> 2];
+ q[a + 448 >> 2] = b;
+ q[a + 452 >> 2] = f;
+ q[a + 440 >> 2] = b;
+ q[a + 444 >> 2] = f;
+ q[a + 272 >> 2] = 0;
+ q[a + 276 >> 2] = 0;
+ q[a + 280 >> 2] = 0;
+ q[a + 284 >> 2] = 0;
+ q[a + 524 >> 2] = q[a + 664 >> 2];
+ v[a + 264 >> 3] = v[a + 616 >> 3] * 3.141592653589793 / 180;
+}
+function wX(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0;
+ j = Ca - 32 | 0;
+ Ca = j;
+ n = iZ(q[b + 12 >> 2] + b | 0, d);
+ l = q[b + 24 >> 2] + b | 0;
+ if (l) {
+  if (q[l >> 2] >= 1) {
+   p = a + 52 | 0;
+   while (1) {
+    e = q[l + 8 >> 2];
+    a : {
+     if (e & 1) {
+      i = (q[((e & -2) + l | 0) + (m << 2) >> 2] & -2) + l | 0;
+      break a;
+     }
+     i = q[e + (m << 2) >> 2];
+    }
+    g = 0;
+    e = 0;
+    b : {
+     c : {
+      d : {
+       e : {
+        if (DS(i, 21, 0, j + 28 | 0)) {
+         break e;
+        }
+        f = 0;
+        h = q[j + 28 >> 2];
+        if (n) {
+         e = $Y(h, 47);
+         q[j + 20 >> 2] = 0;
+         q[j + 16 >> 2] = e + 1;
+         h = uQ(d, j + 16 | 0);
+         q[j + 28 >> 2] = h;
+         e = h;
+        } else {
+         e = 0;
+        }
+        k = q[a + 36 >> 2];
+        if (q[k + 4 >> 2] > 0) {
+         while (1) {
+          if (fQ(q[q[k + 12 >> 2] + (f << 2) >> 2], h)) {
+           break e;
+          }
+          f = f + 1 | 0;
+          if ((f | 0) < q[k + 4 >> 2]) {
+           continue;
+          }
+          break;
+         }
+        }
+        f = 0;
+        k = q[a + 40 >> 2];
+        if (q[k + 4 >> 2] <= 0) {
+         break e;
+        }
+        while (1) {
+         if (fQ(q[q[k + 12 >> 2] + (f << 2) >> 2], h)) {
+          break d;
+         }
+         f = f + 1 | 0;
+         if ((f | 0) < q[k + 4 >> 2]) {
+          continue;
+         }
+         break;
+        }
+       }
+       f = q[a + 44 >> 2];
+       if (q[f >> 2] > 0) {
+        while (1) {
+         if (bR(q[q[f + 8 >> 2] + (g << 2) >> 2], i)) {
+          break c;
+         }
+         g = g + 1 | 0;
+         if ((g | 0) < q[f >> 2]) {
+          continue;
+         }
+         break;
+        }
+       }
+       g = 0;
+       f = q[a + 48 >> 2];
+       if (q[f >> 2] <= 0) {
+        break c;
+       }
+       while (1) {
+        if (bR(q[q[f + 8 >> 2] + (g << 2) >> 2], i)) {
+         break d;
+        }
+        g = g + 1 | 0;
+        if ((g | 0) < q[f >> 2]) {
+         continue;
+        }
+        break;
+       }
+       break c;
+      }
+      M$(e);
+      break b;
+     }
+     if (e) {
+      i = fS(i, b, e);
+      M$(e);
+     }
+     o = ((sP(q[p >> 2], i) | 0) != 0) + o | 0;
+    }
+    m = m + 1 | 0;
+    if ((m | 0) < q[l >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  tR(b, o);
+ }
+ f : {
+  g = q[b + 16 >> 2];
+  if ((g | 0) == (0 - b | 0) | q[b + 20 >> 2] < 1) {
+   break f;
+  }
+  i = 0;
+  while (1) {
+   e = b + g | 0;
+   f = q[e + (i << 2) >> 2] + e | 0;
+   if (n) {
+    e = $Y(f, 47);
+    g : {
+     if (!e) {
+      e = mZ(f);
+      break g;
+     }
+     e = mZ(e + 1 | 0);
+    }
+    q[j + 4 >> 2] = 0;
+    q[j >> 2] = e;
+    f = uQ(d, j);
+    M$(e);
+    e = f;
+   } else {
+    e = 0;
+   }
+   g = 0;
+   h = q[a + 36 >> 2];
+   h : {
+    i : {
+     if (q[h + 4 >> 2] > 0) {
+      while (1) {
+       if (fQ(q[q[h + 12 >> 2] + (g << 2) >> 2], f)) {
+        break i;
+       }
+       g = g + 1 | 0;
+       if ((g | 0) < q[h + 4 >> 2]) {
+        continue;
+       }
+       break;
+      }
+     }
+     g = 0;
+     h = q[a + 40 >> 2];
+     if (q[h + 4 >> 2] <= 0) {
+      break i;
+     }
+     while (1) {
+      if (fQ(q[q[h + 12 >> 2] + (g << 2) >> 2], f)) {
+       break h;
+      }
+      g = g + 1 | 0;
+      if ((g | 0) < q[h + 4 >> 2]) {
+       continue;
+      }
+      break;
+     }
+    }
+    LQ(c, f);
+   }
+   if (e) {
+    M$(e);
+   }
+   i = i + 1 | 0;
+   if ((i | 0) >= q[b + 20 >> 2]) {
+    break f;
+   }
+   g = q[b + 16 >> 2];
+   continue;
+  }
+ }
+ Ca = j + 32 | 0;
+}
+function Wn(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ k = q[a + 204 >> 2];
+ if (k >>> 0 >= 2) {
+  h = q[a + 172 >> 2];
+  f = q[a + 168 >> 2];
+  e = q[a + 8 >> 2];
+  b = q[a + 12 >> 2];
+  if (b >>> 0 >= 16) {
+   b = b ^ 16;
+   q[a + 12 >> 2] = b;
+   c = e >>> 16 | 0;
+   q[a + 8 >> 2] = c;
+   e = a + 16 | 0;
+   d = q[e >> 2];
+   i = r[d | 0] | r[d + 1 | 0] << 8;
+   g = a + 20 | 0;
+   q[g >> 2] = q[g >> 2] + -2;
+   q[e >> 2] = d + 2;
+   e = c | i << 16;
+   q[a + 8 >> 2] = e;
+  }
+  c = a;
+  i = e >>> b | 0;
+  f = f + ((i & 255) << 2) | 0;
+  d = r[f | 0];
+  if (d >>> 0 >= 9) {
+   b = b + 8 | 0;
+   q[a + 12 >> 2] = b;
+   f = (s[f + 2 >> 1] + (q[(d << 2) + 153248 >> 2] & i >>> 8) << 2) + f | 0;
+   d = r[f | 0];
+  }
+  b = (d & 255) + b | 0;
+  q[c + 12 >> 2] = b;
+  i = s[f + 2 >> 1];
+  if (b >>> 0 >= 16) {
+   b = b ^ 16;
+   q[a + 12 >> 2] = b;
+   c = e >>> 16 | 0;
+   q[a + 8 >> 2] = c;
+   e = a + 16 | 0;
+   d = q[e >> 2];
+   f = r[d | 0] | r[d + 1 | 0] << 8;
+   g = a + 20 | 0;
+   q[g >> 2] = q[g >> 2] + -2;
+   q[e >> 2] = d + 2;
+   e = c | f << 16;
+   q[a + 8 >> 2] = e;
+  }
+  c = a;
+  g = e >>> b | 0;
+  f = h + ((g & 255) << 2) | 0;
+  d = r[f | 0];
+  if (d >>> 0 >= 9) {
+   b = b + 8 | 0;
+   q[a + 12 >> 2] = b;
+   f = (s[f + 2 >> 1] + (q[(d << 2) + 153248 >> 2] & g >>> 8) << 2) + f | 0;
+   d = r[f | 0];
+  }
+  b = (d & 255) + b | 0;
+  q[c + 12 >> 2] = b;
+  c = s[f + 2 >> 1];
+  h = c << 2;
+  f = r[h + 153170 | 0];
+  l = a;
+  m = s[h + 153168 >> 1];
+  a : {
+   if ((c | 0) != 25) {
+    if (b >>> 0 >= 16) {
+     b = b ^ 16;
+     q[a + 12 >> 2] = b;
+     e = e >>> 16 | 0;
+     q[a + 8 >> 2] = e;
+     h = a + 16 | 0;
+     c = q[h >> 2];
+     g = r[c | 0] | r[c + 1 | 0] << 8;
+     d = a + 20 | 0;
+     q[d >> 2] = q[d >> 2] + -2;
+     q[h >> 2] = c + 2;
+     e = e | g << 16;
+     q[a + 8 >> 2] = e;
+    }
+    q[a + 12 >> 2] = b + f;
+    c = q[(f << 2) + 153280 >> 2] & e >>> b;
+    break a;
+   }
+   b : {
+    c : {
+     if (b >>> 0 <= 15) {
+      c = b + 16 | 0;
+      q[a + 12 >> 2] = c;
+      d = e >>> b & 65535;
+      h = q[a + 20 >> 2];
+      b = q[a + 16 >> 2];
+      break c;
+     }
+     g = b ^ 16;
+     q[a + 12 >> 2] = g;
+     e = e >>> 16 | 0;
+     q[a + 8 >> 2] = e;
+     b = a + 16 | 0;
+     c = q[b >> 2];
+     d = r[c | 0] | r[c + 1 | 0] << 8;
+     j = a + 20 | 0;
+     h = q[j >> 2] + -2 | 0;
+     q[j >> 2] = h;
+     j = b;
+     b = c + 2 | 0;
+     q[j >> 2] = b;
+     c = g + 16 | 0;
+     q[a + 12 >> 2] = c;
+     e = e | d << 16;
+     q[a + 8 >> 2] = e;
+     d = e >>> g & 65535;
+     if (g >>> 0 > 4294967279) {
+      break b;
+     }
+    }
+    c = c ^ 16;
+    q[a + 12 >> 2] = c;
+    e = e >>> 16 | 0;
+    q[a + 8 >> 2] = e;
+    g = r[b | 0] | r[b + 1 | 0] << 8;
+    q[a + 20 >> 2] = h + -2;
+    q[a + 16 >> 2] = b + 2;
+    e = e | g << 16;
+    q[a + 8 >> 2] = e;
+   }
+   b = f + -16 | 0;
+   q[a + 12 >> 2] = b + c;
+   c = (q[(b << 2) + 153280 >> 2] & e >>> c) << 16 | d;
+  }
+  q[l + 192 >> 2] = m + c;
+  d : {
+   if (i >>> 0 <= 1) {
+    d = q[a + 220 >> 2] + 1 | 0;
+    if (!(i - 1)) {
+     break d;
+    }
+    d = q[a + 216 >> 2];
+    break d;
+   }
+   d = i + -2 | 0;
+  }
+  c = a + 220 | 0;
+  q[a + 216 >> 2] = q[c >> 2];
+  d = d - (d >>> 0 < k >>> 0 ? 0 : k) | 0;
+  q[c >> 2] = d;
+  c = q[a + 576 >> 2] + (d << 6) | 0;
+  q[a + 112 >> 2] = c;
+  q[a + 176 >> 2] = q[((d >>> 3 & 536870908) + a | 0) + 592 >> 2] >>> (d & 31) & 1;
+  q[a + 256 >> 2] = q[q[a + 120 >> 2] + (r[c | 0] << 2) >> 2];
+  q[a + 108 >> 2] = ((r[d + q[a + 580 >> 2] | 0] & 3) << 9) + 153424;
+ }
+}
+function mJ(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0;
+ f = q[a + 212 >> 2];
+ g = f >> 8;
+ j = q[a + 176 >> 2];
+ l = c >> 8;
+ a : {
+  if ((l | 0) >= (j | 0) ? (g | 0) >= (j | 0) : 0) {
+   break a;
+  }
+  d = q[a + 172 >> 2];
+  if ((l | 0) < (d | 0) ? (g | 0) < (d | 0) : 0) {
+   break a;
+  }
+  o = c & 255;
+  d = f & 255;
+  e = q[a + 208 >> 2];
+  if ((g | 0) == (l | 0)) {
+   pJ(a, g, e, d, b, o);
+   break a;
+  }
+  h = c - f | 0;
+  p = b - e | 0;
+  if (!p) {
+   k = (h | 0) > 0;
+   i = k << 8;
+   d = i - d | 0;
+   m = d + q[a + 184 >> 2] | 0;
+   q[a + 184 >> 2] = m;
+   h = 1;
+   n = e << 1 & 510;
+   o = q[a + 180 >> 2] + w(n, d) | 0;
+   q[a + 180 >> 2] = o;
+   f = e >> 8;
+   e = g;
+   g = k ? 1 : -1;
+   d = e + g | 0;
+   if (!(q[a + 188 >> 2] | !(m | o))) {
+    jJ(a);
+    j = q[a + 176 >> 2];
+   }
+   q[a + 180 >> 2] = 0;
+   q[a + 184 >> 2] = 0;
+   q[a + 160 >> 2] = d;
+   e = q[a + 164 >> 2];
+   q[a + 156 >> 2] = (e | 0) > (f | 0) ? e + -1 | 0 : f;
+   h = (j | 0) <= (d | 0) | q[a + 172 >> 2] > (d | 0) ? h : q[a + 168 >> 2] <= (f | 0);
+   q[a + 188 >> 2] = h;
+   if ((d | 0) != (l | 0)) {
+    k = (i << 1) + -256 | 0;
+    m = w(k, n);
+    while (1) {
+     q[a + 184 >> 2] = k;
+     q[a + 180 >> 2] = m;
+     d = d + g | 0;
+     if (!h) {
+      jJ(a);
+      j = q[a + 176 >> 2];
+      e = q[a + 164 >> 2];
+     }
+     q[a + 180 >> 2] = 0;
+     q[a + 184 >> 2] = 0;
+     q[a + 160 >> 2] = d;
+     q[a + 156 >> 2] = (e | 0) > (f | 0) ? e + -1 | 0 : f;
+     h = 1;
+     h = (j | 0) <= (d | 0) | q[a + 172 >> 2] > (d | 0) ? h : q[a + 168 >> 2] <= (f | 0);
+     q[a + 188 >> 2] = h;
+     if ((d | 0) != (l | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   d = i + (c | -256) | 0;
+   q[a + 184 >> 2] = d;
+   q[a + 180 >> 2] = w(d, n);
+   break a;
+  }
+  m = 1;
+  j = a;
+  f = g;
+  i = e;
+  n = d;
+  b : {
+   if ((h | 0) >= 1) {
+    k = 256;
+    d = 256 - d | 0;
+    break b;
+   }
+   h = 0 - h | 0;
+   m = -1;
+  }
+  s = f;
+  t = i;
+  r = e;
+  d = w(d, p);
+  e = (d | 0) / (h | 0) | 0;
+  f = d - w(e, h) | 0;
+  i = f >> 31;
+  e = (r + e | 0) + i | 0;
+  pJ(j, s, t, n, e, k);
+  j = e >> 8;
+  d = g + m | 0;
+  if (!(q[a + 188 >> 2] | (q[a + 184 >> 2] ? 0 : !q[a + 180 >> 2]))) {
+   jJ(a);
+  }
+  q[a + 180 >> 2] = 0;
+  q[a + 184 >> 2] = 0;
+  q[a + 160 >> 2] = d;
+  g = q[a + 164 >> 2];
+  q[a + 156 >> 2] = (g | 0) > (j | 0) ? g + -1 | 0 : j;
+  g = 1;
+  q[a + 188 >> 2] = q[a + 176 >> 2] <= (d | 0) | q[a + 172 >> 2] > (d | 0) ? g : q[a + 168 >> 2] <= (j | 0);
+  c : {
+   if ((d | 0) == (l | 0)) {
+    g = 256 - k | 0;
+    break c;
+   }
+   j = f + (h & i) | 0;
+   f = p << 8;
+   g = (f | 0) / (h | 0) | 0;
+   f = f - w(h, g) | 0;
+   i = f >> 31;
+   n = (i & h) + f | 0;
+   p = g + i | 0;
+   g = 256 - k | 0;
+   while (1) {
+    i = e;
+    f = j + n | 0;
+    e = (e + p | 0) + ((f | 0) >= (h | 0)) | 0;
+    pJ(a, d, i, g, e, k);
+    j = e >> 8;
+    i = (f | 0) < (h | 0);
+    d = d + m | 0;
+    if (!(q[a + 188 >> 2] | (q[a + 184 >> 2] ? 0 : !q[a + 180 >> 2]))) {
+     jJ(a);
+    }
+    r = i ? 0 : h;
+    q[a + 180 >> 2] = 0;
+    q[a + 184 >> 2] = 0;
+    q[a + 160 >> 2] = d;
+    i = q[a + 164 >> 2];
+    q[a + 156 >> 2] = (i | 0) > (j | 0) ? i + -1 | 0 : j;
+    i = 1;
+    i = q[a + 176 >> 2] <= (d | 0) | q[a + 172 >> 2] > (d | 0) ? i : q[a + 168 >> 2] <= (j | 0);
+    j = f - r | 0;
+    q[a + 188 >> 2] = i;
+    if ((d | 0) != (l | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  pJ(a, l, e, g, b, o);
+ }
+ q[a + 212 >> 2] = c;
+ q[a + 208 >> 2] = b;
+}
+function mI(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, u = 0, v = 0, x = 0, y = 0, z = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ a : {
+  if (q[a + 4 >> 2]) {
+   break a;
+  }
+  d = 6;
+  b : {
+   if (q[a + 12 >> 2] != 1) {
+    break b;
+   }
+   j = q[a >> 2];
+   l = (b | 0) != 0;
+   b = (w(l, 36) + a | 0) + 16 | 0;
+   d = DI(b, Ae(q[c >> 2]) >> 16, Ae(q[c + 4 >> 2]) >> 16, j, e);
+   if (d) {
+    break b;
+   }
+   d = DI(b, Ae(q[c + 8 >> 2]) >> 16, Ae(q[c + 12 >> 2]) >> 16, j, e + 4 | 0);
+   if (d) {
+    break b;
+   }
+   d = DI(b, Ae(q[c + 16 >> 2]) >> 16, Ae(q[c + 20 >> 2]) >> 16, j, e + 8 | 0);
+   if (d) {
+    break b;
+   }
+   g = q[e + 8 >> 2];
+   h = q[e + 4 >> 2];
+   i = q[e >> 2];
+   f = w(l, 36) + a | 0;
+   n = f + 40 | 0;
+   b = q[n >> 2];
+   c : {
+    if (b) {
+     m = g >> 3;
+     p = h >> 3;
+     s = i >> 3;
+     u = 128 >>> (g & 7) | 0;
+     v = 128 >>> (h & 7) | 0;
+     x = 128 >>> (i & 7) | 0;
+     c = q[f + 48 >> 2];
+     d = b;
+     while (1) {
+      k = q[c >> 2];
+      if ((r[s + q[c + 8 >> 2] | 0] & x ? k >>> 0 > i >>> 0 : 0) | (r[q[c + 8 >> 2] + p | 0] & v ? k >>> 0 > h >>> 0 : 0) | (r[q[c + 8 >> 2] + m | 0] & u ? k >>> 0 > g >>> 0 : 0)) {
+       break c;
+      }
+      c = c + 16 | 0;
+      d = d + -1 | 0;
+      if (d) {
+       continue;
+      }
+      break;
+     }
+    }
+    k = b + 1 | 0;
+    f = f + 44 | 0;
+    c = q[f >> 2];
+    d : {
+     if (k >>> 0 <= c >>> 0) {
+      c = q[(w(l, 36) + a | 0) + 48 >> 2];
+      break d;
+     }
+     q[e + 12 >> 2] = 0;
+     m = b + 8 & -8;
+     d = (w(l, 36) + a | 0) + 48 | 0;
+     c = Te(j, 16, c, m, q[d >> 2], e + 12 | 0);
+     q[d >> 2] = c;
+     d = q[e + 12 >> 2];
+     if (d) {
+      break b;
+     }
+     q[f >> 2] = m;
+    }
+    c = (b << 4) + c | 0;
+    q[c + 12 >> 2] = 0;
+    q[c >> 2] = 0;
+    q[n >> 2] = k;
+   }
+   if ((i | 0) >= 0) {
+    if (t[c >> 2] <= i >>> 0) {
+     b = q[c + 4 >> 2];
+     q[e + 12 >> 2] = 0;
+     d = i + 8 >>> 3 | 0;
+     b = b + 7 >>> 3 | 0;
+     if (d >>> 0 > b >>> 0) {
+      f = b;
+      b = d + 7 & 1073741816;
+      y = c, z = Te(j, 1, f, b, q[c + 8 >> 2], e + 12 | 0), q[y + 8 >> 2] = z;
+      d = q[e + 12 >> 2];
+      if (d) {
+       break b;
+      }
+      q[c + 4 >> 2] = b << 3;
+     }
+     q[c >> 2] = i + 1;
+    }
+    b = q[c + 8 >> 2] + (i >>> 3 | 0) | 0;
+    o[b | 0] = r[b | 0] | 128 >>> (i & 7);
+   }
+   if ((h | 0) >= 0) {
+    if (t[c >> 2] <= h >>> 0) {
+     b = q[c + 4 >> 2];
+     q[e + 12 >> 2] = 0;
+     d = h + 8 >>> 3 | 0;
+     b = b + 7 >>> 3 | 0;
+     if (d >>> 0 > b >>> 0) {
+      f = b;
+      b = d + 7 & 1073741816;
+      y = c, z = Te(j, 1, f, b, q[c + 8 >> 2], e + 12 | 0), q[y + 8 >> 2] = z;
+      d = q[e + 12 >> 2];
+      if (d) {
+       break b;
+      }
+      q[c + 4 >> 2] = b << 3;
+     }
+     q[c >> 2] = h + 1;
+    }
+    b = q[c + 8 >> 2] + (h >>> 3 | 0) | 0;
+    o[b | 0] = r[b | 0] | 128 >>> (h & 7);
+   }
+   if ((g | 0) < 0) {
+    break a;
+   }
+   if (t[c >> 2] <= g >>> 0) {
+    b = q[c + 4 >> 2];
+    q[e + 12 >> 2] = 0;
+    d = g + 8 >>> 3 | 0;
+    b = b + 7 >>> 3 | 0;
+    if (d >>> 0 > b >>> 0) {
+     f = b;
+     b = d + 7 & 1073741816;
+     y = c, z = Te(j, 1, f, b, q[c + 8 >> 2], e + 12 | 0), q[y + 8 >> 2] = z;
+     d = q[e + 12 >> 2];
+     if (d) {
+      break b;
+     }
+     q[c + 4 >> 2] = b << 3;
+    }
+    q[c >> 2] = g + 1;
+   }
+   a = q[c + 8 >> 2] + (g >>> 3 | 0) | 0;
+   o[a | 0] = r[a | 0] | 128 >>> (g & 7);
+   break a;
+  }
+  q[a + 4 >> 2] = d;
+ }
+ Ca = e + 16 | 0;
+}
+function zB(a, b, c) {
+ var d = 0, e = 0, h = 0, i = 0, j = 0, k = 0;
+ e = Ca - 32 | 0;
+ Ca = e;
+ q[e + 28 >> 2] = 0;
+ q[e + 20 >> 2] = 0;
+ q[e + 24 >> 2] = 0;
+ q[e + 12 >> 2] = 0;
+ q[e + 16 >> 2] = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           d = a + -6 | 0;
+           if (d >>> 0 > 24) {
+            d = a + -265 | 0;
+            if (d >>> 0 > 10) {
+             break j;
+            }
+            d = 1 << d;
+            if (d & 1831) {
+             break e;
+            }
+            if (!(d & 24)) {
+             break j;
+            }
+            break d;
+           }
+           switch (d - 4 | 0) {
+           case 2:
+           case 3:
+           case 4:
+           case 5:
+           case 6:
+           case 7:
+           case 8:
+           case 12:
+           case 13:
+           case 14:
+           case 15:
+           case 16:
+           case 17:
+           case 18:
+            break j;
+           case 0:
+           case 1:
+           case 10:
+           case 11:
+            break e;
+           case 9:
+            break f;
+           case 19:
+            break h;
+           case 20:
+            break i;
+           default:
+            break d;
+           }
+          }
+          EB(a, b);
+          break g;
+         }
+         i = CB(b);
+         d = q[b + 24 >> 2];
+         if (d >>> 0 < t[b + 32 >> 2]) {
+          q[b + 24 >> 2] = d + 1;
+          v[q[b + 36 >> 2] + (d << 3) >> 3] = i;
+          break g;
+         }
+         o[b + 20 | 0] = 1;
+         d = q[67761];
+         q[160656] = q[67760];
+         q[160657] = d;
+         v[80328] = i;
+         break g;
+        }
+        DB(b + 20 | 0, b);
+       }
+       if (!q[b + 24 >> 2]) {
+        break b;
+       }
+       break a;
+      }
+      h = c;
+      j = b + 24 | 0;
+      d = q[j >> 2];
+      k : {
+       if (d) {
+        d = d + -1 | 0;
+        q[b + 24 >> 2] = d;
+        if (t[b + 32 >> 2] <= d >>> 0) {
+         d = q[67761];
+         k = q[67760];
+         q[160656] = k;
+         q[160657] = d;
+         f(0, k | 0);
+         f(1, d | 0);
+         i = +g();
+         break k;
+        }
+        i = v[q[b + 36 >> 2] + (d << 3) >> 3];
+        break k;
+       }
+       o[b + 20 | 0] = 1;
+       d = q[67761];
+       k = q[67760];
+       q[160656] = k;
+       q[160657] = d;
+       f(0, k | 0);
+       f(1, d | 0);
+       i = +g();
+      }
+      l : {
+       if (y(i) < 2147483648) {
+        d = ~~i;
+        break l;
+       }
+       d = -2147483648;
+      }
+      if ((d | 0) <= -1) {
+       o[b + 20 | 0] = 1;
+       d = 0;
+      }
+      q[h + 16 >> 2] = d;
+      break c;
+     }
+     m : {
+      j = b + 24 | 0;
+      d = q[j >> 2];
+      if (d) {
+       d = d + -1 | 0;
+       q[b + 24 >> 2] = d;
+       if (t[b + 32 >> 2] > d >>> 0) {
+        break m;
+       }
+       d = q[67761];
+       h = q[67760];
+       q[160656] = h;
+       q[160657] = d;
+       q[e + 24 >> 2] = h;
+       q[e + 28 >> 2] = d;
+       break c;
+      }
+      o[b + 20 | 0] = 1;
+      d = q[67761];
+      h = q[67760];
+      q[160656] = h;
+      q[160657] = d;
+      q[e + 24 >> 2] = h;
+      q[e + 28 >> 2] = d;
+      break c;
+     }
+     d = q[b + 36 >> 2] + (d << 3) | 0;
+     h = q[d + 4 >> 2];
+     q[e + 24 >> 2] = q[d >> 2];
+     q[e + 28 >> 2] = h;
+     break c;
+    }
+    j = b + 24 | 0;
+   }
+   q[j >> 2] = 0;
+  }
+  if (r[b + 40 | 0] | r[b + 16 | 0] | (r[b + 20 | 0] | q[b + 28 >> 2] < 0)) {
+   break a;
+  }
+  GB(c, a, b, e + 8 | 0);
+ }
+ Ca = e + 32 | 0;
+}
+function Gf(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, r = 0, s = 0, t = 0;
+ f = Ca - 144 | 0;
+ Ca = f;
+ h = q[a >> 2];
+ l = q[e + 12 >> 2];
+ while (1) {
+  g = k << 2;
+  j = g + (f + 96 | 0) | 0;
+  q[j >> 2] = 0;
+  a : {
+   b : {
+    if (b) {
+     i = q[b + 20 >> 2];
+     if (i) {
+      if (n[i](b, 0, 0, 0)) {
+       break b;
+      }
+     }
+     q[b + 8 >> 2] = 0;
+    }
+    i = f + g | 0;
+    q[i >> 2] = 0;
+    s = i, t = n[q[(k << 3) + 3936 >> 2]](a, b, l, j, g + (f + 48 | 0) | 0) | 0, q[s >> 2] = t;
+    break a;
+   }
+   q[f + g >> 2] = 85;
+  }
+  k = k + 1 | 0;
+  if ((k | 0) != 9) {
+   continue;
+  }
+  break;
+ }
+ l = 0;
+ g = 2;
+ k = 0;
+ while (1) {
+  c : {
+   m = q[(k << 3) + 3940 >> 2] + -3 | 0;
+   d : {
+    if (m >>> 0 < 2 ? l & 255 : 0) {
+     break d;
+    }
+    p = k << 2;
+    if (q[p + f >> 2]) {
+     break d;
+    }
+    i = q[p + (f + 96 | 0) >> 2];
+    if (!i) {
+     i = q[e + 12 >> 2];
+    }
+    e : {
+     f : {
+      if (!a) {
+       g = 33;
+       break f;
+      }
+      j = q[a >> 2];
+      b = n[q[j + 4 >> 2]](j, 40) | 0;
+      if (!b) {
+       g = 64;
+       break f;
+      }
+      o[b + 24 | 0] = 0;
+      o[b + 25 | 0] = 0;
+      o[b + 26 | 0] = 0;
+      o[b + 27 | 0] = 0;
+      o[b + 28 | 0] = 0;
+      o[b + 29 | 0] = 0;
+      o[b + 30 | 0] = 0;
+      o[b + 31 | 0] = 0;
+      o[b | 0] = 0;
+      o[b + 1 | 0] = 0;
+      o[b + 2 | 0] = 0;
+      o[b + 3 | 0] = 0;
+      o[b + 4 | 0] = 0;
+      o[b + 5 | 0] = 0;
+      o[b + 6 | 0] = 0;
+      o[b + 7 | 0] = 0;
+      o[b + 32 | 0] = 0;
+      o[b + 33 | 0] = 0;
+      o[b + 34 | 0] = 0;
+      o[b + 35 | 0] = 0;
+      o[b + 36 | 0] = 0;
+      o[b + 37 | 0] = 0;
+      o[b + 38 | 0] = 0;
+      o[b + 39 | 0] = 0;
+      r = b + 16 | 0;
+      g = r;
+      o[g | 0] = 0;
+      o[g + 1 | 0] = 0;
+      o[g + 2 | 0] = 0;
+      o[g + 3 | 0] = 0;
+      o[g + 4 | 0] = 0;
+      o[g + 5 | 0] = 0;
+      o[g + 6 | 0] = 0;
+      o[g + 7 | 0] = 0;
+      o[b + 8 | 0] = 0;
+      o[b + 9 | 0] = 0;
+      o[b + 10 | 0] = 0;
+      o[b + 11 | 0] = 0;
+      o[b + 12 | 0] = 0;
+      o[b + 13 | 0] = 0;
+      o[b + 14 | 0] = 0;
+      o[b + 15 | 0] = 0;
+      q[b + 28 >> 2] = j;
+      g = le(b, i);
+      q[r >> 2] = i;
+      if (!g) {
+       break e;
+      }
+      n[q[j + 8 >> 2]](j, b);
+     }
+     l = m >>> 0 < 2 ? (g & 255) == 81 ? 1 : l : l;
+     break d;
+    }
+    q[b + 28 >> 2] = j;
+    g = Ff(a, b, q[p + (f + 48 | 0) >> 2], c, d);
+    j = q[b + 28 >> 2];
+    i = q[b + 24 >> 2];
+    if (i) {
+     n[i](b);
+    }
+    n[q[j + 8 >> 2]](j, b);
+    if (!g) {
+     g = 0;
+     break c;
+    }
+    l = m >>> 0 < 2 ? 1 : l;
+   }
+   k = k + 1 | 0;
+   if ((k | 0) != 9) {
+    continue;
+   }
+  }
+  break;
+ }
+ a = q[f + 96 >> 2];
+ if (a) {
+  n[q[h + 8 >> 2]](h, a);
+  q[f + 96 >> 2] = 0;
+ }
+ a = q[f + 100 >> 2];
+ if (a) {
+  n[q[h + 8 >> 2]](h, a);
+  q[f + 100 >> 2] = 0;
+ }
+ a = q[f + 104 >> 2];
+ if (a) {
+  n[q[h + 8 >> 2]](h, a);
+  q[f + 104 >> 2] = 0;
+ }
+ a = q[f + 108 >> 2];
+ if (a) {
+  n[q[h + 8 >> 2]](h, a);
+  q[f + 108 >> 2] = 0;
+ }
+ a = q[f + 112 >> 2];
+ if (a) {
+  n[q[h + 8 >> 2]](h, a);
+  q[f + 112 >> 2] = 0;
+ }
+ a = q[f + 116 >> 2];
+ if (a) {
+  n[q[h + 8 >> 2]](h, a);
+  q[f + 116 >> 2] = 0;
+ }
+ a = q[f + 120 >> 2];
+ if (a) {
+  n[q[h + 8 >> 2]](h, a);
+  q[f + 120 >> 2] = 0;
+ }
+ a = q[f + 124 >> 2];
+ if (a) {
+  n[q[h + 8 >> 2]](h, a);
+  q[f + 124 >> 2] = 0;
+ }
+ a = q[f + 128 >> 2];
+ if (a) {
+  n[q[h + 8 >> 2]](h, a);
+  q[f + 128 >> 2] = 0;
+ }
+ Ca = f + 144 | 0;
+ return ((g | 0) != 0) << 1;
+}
+function xt(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ a : {
+  b : {
+   c : {
+    while (1) {
+     d : {
+      if ((c | 0) != 9) {
+       c = c + -1 | 0;
+       if (c >>> 0 > 7) {
+        break c;
+       }
+       e : {
+        switch (c - 1 | 0) {
+        default:
+         c = r[a | 0] | r[a + 1 | 0] << 8;
+         c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+         if (c >>> 0 > 1) {
+          break c;
+         }
+         if (c - 1) {
+          break d;
+         }
+         break b;
+        case 0:
+         c = r[a | 0] | r[a + 1 | 0] << 8;
+         c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+         if (c >>> 0 > 1) {
+          break c;
+         }
+         if (c - 1) {
+          c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+          if (!yu(c ? c + a | 0 : 271040, q[b + 8 >> 2])) {
+           break c;
+          }
+          d = r[a + 9 | 0];
+          c = r[a + 8 | 0];
+          f = d | c << 8;
+          if (!f) {
+           break c;
+          }
+          g = a + 4 | 0;
+          while (1) {
+           c = ((c & 255) << 8 | d) >>> 0 > e >>> 0 ? ((e << 1) + a | 0) + 10 | 0 : 271040;
+           c = r[c | 0] << 8 | r[c + 1 | 0];
+           Ju(c ? c + a | 0 : 271040, b, g);
+           e = e + 1 | 0;
+           if ((f | 0) == (e | 0)) {
+            break c;
+           }
+           d = r[a + 9 | 0];
+           c = r[a + 8 | 0];
+           continue;
+          }
+         }
+         Ku(a, b);
+         return;
+        case 1:
+         if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+          break c;
+         }
+         break b;
+        case 2:
+         if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+          break c;
+         }
+         c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+         if (!yu(c ? c + a | 0 : 271040, q[b + 8 >> 2])) {
+          break c;
+         }
+         break a;
+        case 3:
+         if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+          break c;
+         }
+         c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+         if (!yu(c ? c + a | 0 : 271040, q[b + 8 >> 2])) {
+          break c;
+         }
+         break a;
+        case 4:
+         if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+          break c;
+         }
+         c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+         if (!yu(c ? c + a | 0 : 271040, q[b + 8 >> 2])) {
+          break c;
+         }
+         break a;
+        case 5:
+         tu(a, b);
+         return;
+        case 6:
+         break e;
+        }
+       }
+       c = r[a | 0] | r[a + 1 | 0] << 8;
+       c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+       if (c >>> 0 > 2) {
+        break c;
+       }
+       f : {
+        switch (c - 1 | 0) {
+        default:
+         uu(a, b);
+         return;
+        case 0:
+         vu(a, b);
+         return;
+        case 1:
+         break f;
+        }
+       }
+       wu(a, b);
+       return;
+      }
+      if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+       break c;
+      }
+      c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+      d = a;
+      a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+      a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+      a = a ? d + a | 0 : 271040;
+      continue;
+     }
+     break;
+    }
+    c = a;
+    a = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+    yu(a ? c + a | 0 : 271040, q[b + 8 >> 2]);
+   }
+   return;
+  }
+  c = a;
+  a = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  yu(a ? c + a | 0 : 271040, q[b + 8 >> 2]);
+  return;
+ }
+ c = a;
+ a = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+ yu(a ? c + a | 0 : 271040, q[b + 8 >> 2]);
+}
+function fO(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ e = Ca - 48 | 0;
+ Ca = e;
+ f = a;
+ if (c) {
+  d = q[a + 44 >> 2];
+ } else {
+  q[a + 4 >> 2] = 2147483647;
+  q[a + 44 >> 2] = 0;
+  q[a + 16 >> 2] = -2147483648;
+  q[a + 8 >> 2] = 2147483647;
+  q[a + 12 >> 2] = -2147483648;
+  d = 0;
+ }
+ q[f + 28 >> 2] = d;
+ f = q[b + 16 >> 2];
+ k = q[b >> 2];
+ a : {
+  if (k) {
+   while (1) {
+    i = (h << 3) + f | 0;
+    if (q[i >> 2] + 268435456 >>> 0 > 536870911 | q[i + 4 >> 2] + 268435456 >>> 0 > 536870911) {
+     break a;
+    }
+    h = h + 1 | 0;
+    if (h >>> 0 < k >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  b : {
+   c : {
+    d : {
+     if (!q[b + 8 >> 2]) {
+      h = f;
+      break d;
+     }
+     k = 0;
+     h = f;
+     while (1) {
+      e : {
+       g = r[q[b + 20 >> 2] + k | 0];
+       i = g & 3;
+       d = i + -1 | 0;
+       f : {
+        if (d >>> 0 > 2) {
+         break f;
+        }
+        f = (i << 3) + f | 0;
+        i = g & 4;
+        g = i ? h : f;
+        g : {
+         switch (d - 1 | 0) {
+         case 0:
+          d = f + -16 | 0;
+          j = q[d + 4 >> 2];
+          q[e + 16 >> 2] = q[d >> 2];
+          q[e + 20 >> 2] = j;
+          d = f + -8 | 0;
+          j = q[d + 4 >> 2];
+          q[e + 24 >> 2] = q[d >> 2];
+          q[e + 28 >> 2] = j;
+          d = q[g + 4 >> 2];
+          q[e + 32 >> 2] = q[g >> 2];
+          q[e + 36 >> 2] = d;
+          if (gO(a, e + 16 | 0)) {
+           break e;
+          }
+          break f;
+         case 1:
+          d = f + -24 | 0;
+          j = q[d + 4 >> 2];
+          q[e + 16 >> 2] = q[d >> 2];
+          q[e + 20 >> 2] = j;
+          d = f + -16 | 0;
+          j = q[d + 4 >> 2];
+          q[e + 24 >> 2] = q[d >> 2];
+          q[e + 28 >> 2] = j;
+          d = f + -8 | 0;
+          j = q[d + 4 >> 2];
+          q[e + 32 >> 2] = q[d >> 2];
+          q[e + 36 >> 2] = j;
+          d = q[g + 4 >> 2];
+          q[e + 40 >> 2] = q[g >> 2];
+          q[e + 44 >> 2] = d;
+          if (!hO(a, e + 16 | 0)) {
+           break f;
+          }
+          break e;
+         default:
+          break g;
+         }
+        }
+        d = f + -8 | 0;
+        j = q[d + 4 >> 2];
+        q[e + 8 >> 2] = q[d >> 2];
+        q[e + 12 >> 2] = j;
+        d = q[g + 4 >> 2];
+        q[e >> 2] = q[g >> 2];
+        q[e + 4 >> 2] = d;
+        if (iO(a, e + 8 | 0, e)) {
+         break e;
+        }
+       }
+       g = 0;
+       break a;
+      }
+      h = i ? f : h;
+      k = k + 1 | 0;
+      if (k >>> 0 < t[b + 8 >> 2]) {
+       continue;
+      }
+      break;
+     }
+     if ((f | 0) != (h | 0)) {
+      break c;
+     }
+    }
+    if ((q[b + 16 >> 2] + (q[b >> 2] << 3) | 0) == (h | 0)) {
+     break b;
+    }
+   }
+   J(436820, 436873, 317, 436890);
+   F();
+  }
+  h = q[a + 44 >> 2];
+  d = q[a + 28 >> 2];
+  if (h >>> 0 < d >>> 0) {
+   k = q[a + 16 >> 2];
+   b = q[a + 12 >> 2];
+   g = q[a + 8 >> 2];
+   f = q[a + 4 >> 2];
+   j = q[a + 20 >> 2];
+   while (1) {
+    i = w(h, 40) + j | 0;
+    l = q[i + 36 >> 2];
+    k = (k | 0) > (l | 0) ? k : l;
+    l = q[i + 28 >> 2];
+    b = (b | 0) > (l | 0) ? b : l;
+    l = q[i + 32 >> 2];
+    g = (g | 0) > (l | 0) ? l : g;
+    i = q[i + 24 >> 2];
+    f = (f | 0) > (i | 0) ? i : f;
+    h = h + 1 | 0;
+    if (h >>> 0 < d >>> 0) {
+     continue;
+    }
+    break;
+   }
+   q[a + 16 >> 2] = k;
+   q[a + 12 >> 2] = b;
+   q[a + 8 >> 2] = g;
+   q[a + 4 >> 2] = f;
+  }
+  g = 1;
+  if (c) {
+   break a;
+  }
+  q[a + 44 >> 2] = d;
+ }
+ Ca = e + 48 | 0;
+ return g;
+}
+function Lj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, p = 0, s = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ h = q[b + 16 >> 2];
+ o = q[a + 492 >> 2];
+ n[q[b + 28 >> 2]](b);
+ f = q[b >> 2];
+ a : {
+  if (!(f >>> 0 >= t[b + 8 >> 2] | r[f | 0] != 91)) {
+   n[q[b + 32 >> 2]](b);
+   n[q[b + 28 >> 2]](b);
+   a = q[b >> 2];
+   if (r[a | 0] == 93 ? a >>> 0 < t[b + 8 >> 2] : 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = 3;
+   break a;
+  }
+  f = n[q[b + 36 >> 2]](b) | 0;
+  if ((f | 0) <= -1) {
+   q[b + 12 >> 2] = 3;
+   break a;
+  }
+  b : {
+   d = q[b + 8 >> 2];
+   c = q[b >> 2];
+   c : {
+    if (d >>> 0 < c >>> 0) {
+     break c;
+    }
+    d = d - c >> 3;
+    if ((f | 0) <= (d | 0)) {
+     break c;
+    }
+    if (q[b + 368 >> 2]) {
+     f = d;
+     break c;
+    }
+    f = Oe(h, 24, e + 12 | 0);
+    q[b + 368 >> 2] = f;
+    c = q[e + 12 >> 2];
+    if (c) {
+     break b;
+    }
+    c = $e(f, h);
+    q[e + 12 >> 2] = c;
+    f = d;
+    if (c) {
+     break b;
+    }
+   }
+   n[q[b + 32 >> 2]](b);
+   if (q[b + 12 >> 2]) {
+    break a;
+   }
+   i = b + 316 | 0;
+   n[q[b + 28 >> 2]](b);
+   if (!q[b + 312 >> 2]) {
+    c = n[q[q[o >> 2] >> 2]](i, f, h) | 0;
+    q[e + 12 >> 2] = c;
+    if (c) {
+     break b;
+    }
+   }
+   d = q[b >> 2];
+   d : {
+    if (d + 4 >>> 0 >= t[b + 8 >> 2]) {
+     break d;
+    }
+    while (1) {
+     if (jZ(d, 9284, 3)) {
+      break d;
+     }
+     n[q[b + 32 >> 2]](b);
+     d = n[q[b + 36 >> 2]](b) | 0;
+     j = q[q[a + 128 >> 2] + 52 >> 2];
+     c = q[b + 8 >> 2];
+     n[q[b + 28 >> 2]](b);
+     e : {
+      g = q[b >> 2];
+      f : {
+       if (g >>> 0 >= c >>> 0 | r[g | 0] + -48 >>> 0 > 9) {
+        break f;
+       }
+       g = n[q[b + 36 >> 2]](b) | 0;
+       n[q[b + 32 >> 2]](b);
+       if ((g | 0) < 0) {
+        break f;
+       }
+       k = c;
+       c = q[b >> 2];
+       l = c + 1 | 0;
+       if ((g | 0) < (k - l | 0)) {
+        break e;
+       }
+      }
+      if (j) {
+       break a;
+      }
+      q[b + 12 >> 2] = 3;
+      break a;
+     }
+     q[b >> 2] = (c + g | 0) + 1;
+     if (q[b + 12 >> 2]) {
+      break a;
+     }
+     n[q[b + 32 >> 2]](b);
+     if (q[b + 12 >> 2]) {
+      break a;
+     }
+     n[q[b + 28 >> 2]](b);
+     c = q[b >> 2];
+     g : {
+      if (c + 4 >>> 0 >= t[b + 8 >> 2]) {
+       break g;
+      }
+      if (jZ(c, 9288, 3)) {
+       break g;
+      }
+      n[q[b + 32 >> 2]](b);
+      n[q[b + 28 >> 2]](b);
+     }
+     c = q[b + 368 >> 2];
+     if (c) {
+      df(d, m, c, h);
+      d = m;
+     }
+     if (!q[b + 312 >> 2]) {
+      c = q[a + 172 >> 2];
+      h : {
+       if ((c | 0) >= 0) {
+        if (g >>> 0 < c >>> 0) {
+         c = 3;
+         q[e + 12 >> 2] = 3;
+         break b;
+        }
+        j = Oe(h, g, e + 12 | 0);
+        c = q[e + 12 >> 2];
+        if (c) {
+         break b;
+        }
+        c = Y$(j, l, g);
+        n[q[o + 16 >> 2]](c, g, 4330);
+        k = d;
+        d = q[a + 172 >> 2];
+        p = e, s = n[q[b + 360 >> 2]](i, k, d + c | 0, g - d | 0) | 0, q[p + 12 >> 2] = s;
+        Qe(h, c);
+        c = q[e + 12 >> 2];
+        break h;
+       }
+       c = n[q[b + 360 >> 2]](i, d, l, g) | 0;
+       q[e + 12 >> 2] = c;
+      }
+      if (c) {
+       break b;
+      }
+     }
+     m = m + 1 | 0;
+     d = q[b >> 2];
+     if (d + 4 >>> 0 < t[b + 8 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (q[b + 312 >> 2]) {
+    break a;
+   }
+   q[b + 312 >> 2] = f;
+   break a;
+  }
+  q[b + 12 >> 2] = c;
+ }
+ Ca = e + 16 | 0;
+}
+function Hp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ q[a + 796 >> 2] = 0;
+ q[a + 800 >> 2] = 0;
+ q[a + 788 >> 2] = 0;
+ q[a + 792 >> 2] = 0;
+ g = a + 796 | 0;
+ h = a + 788 | 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     if (!n[q[a + 516 >> 2]](a, 1128418371, b, e + 12 | 0)) {
+      c = 2;
+      break d;
+     }
+     c = 1;
+     if (!n[q[a + 516 >> 2]](a, 1161972803, b, e + 12 | 0)) {
+      break d;
+     }
+     if (!n[q[a + 516 >> 2]](a, 1651273571, b, e + 12 | 0)) {
+      break d;
+     }
+     c = n[q[a + 516 >> 2]](a, 1935829368, b, e + 12 | 0) | 0;
+     if (c) {
+      break c;
+     }
+     c = 3;
+    }
+    q[g >> 2] = c;
+    if (t[e + 12 >> 2] < 8) {
+     c = 3;
+     break c;
+    }
+    i = a + 800 | 0;
+    j = q[b + 8 >> 2];
+    e : {
+     c = q[g >> 2];
+     d = c + -1 | 0;
+     if (d >>> 0 <= 2) {
+      f : {
+       if (d - 2) {
+        c = Jg(b, q[e + 12 >> 2], h);
+        if (c) {
+         break c;
+        }
+        f = q[e + 12 >> 2];
+        q[a + 792 >> 2] = f;
+        c = q[a + 788 >> 2];
+        d = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+        if ((r[c + 1 | 0] << 16 | r[c | 0] << 24 | 65536) != 196608) {
+         c = r[c + 2 | 0] | r[c + 3 | 0] << 8;
+         if (((c << 24 | c << 8 & 16711680) >>> 16 | 256) != 768) {
+          break e;
+         }
+        }
+        c = 3;
+        d = d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24);
+        if (d >>> 0 > 65535) {
+         break c;
+        }
+        if ((w(d, 48) | 8) >>> 0 <= f >>> 0) {
+         break f;
+        }
+        d = (f + -8 >>> 0) / 48 | 0;
+        break f;
+       }
+       c = Kg(b, 8);
+       if (c) {
+        break c;
+       }
+       c = Pg(b);
+       f = Pg(b);
+       d = Rg(b);
+       Ng(b);
+       if (!c) {
+        break e;
+       }
+       f = f + -1 | 0;
+       if (f >>> 0 > 2) {
+        c = 3;
+        break c;
+       }
+       c = 3;
+       if (!(f - 1) | d >>> 0 > 65535) {
+        break c;
+       }
+       f = q[e + 12 >> 2];
+       c = yg(b, q[b + 8 >> 2] + -8 | 0);
+       if (c) {
+        break c;
+       }
+       d = (d << 2) + 8 >>> 0 > f >>> 0 ? f + -8 >>> 2 | 0 : d;
+       c = (d << 2) + 8 | 0;
+       q[a + 792 >> 2] = c;
+       c = Jg(b, c, h);
+       if (c) {
+        break c;
+       }
+      }
+      q[i >> 2] = d;
+      c = q[g >> 2];
+     }
+     q[a + 860 >> 2] = 0;
+     q[a + 864 >> 2] = 0;
+     g = a;
+     g : {
+      h : {
+       i : {
+        if (c >>> 0 > 3) {
+         break i;
+        }
+        j : {
+         switch (c - 1 | 0) {
+         case 0:
+         case 1:
+          break i;
+         case 2:
+          break j;
+         default:
+          break b;
+         }
+        }
+        q[a + 860 >> 2] = j;
+        b = q[e + 12 >> 2];
+        break h;
+       }
+       k : {
+        if (!n[q[a + 516 >> 2]](a, 1128416340, b, e + 8 | 0)) {
+         break k;
+        }
+        if (!n[q[a + 516 >> 2]](a, 1161970772, b, e + 8 | 0)) {
+         break k;
+        }
+        if (!n[q[a + 516 >> 2]](a, 1650745716, b, e + 8 | 0)) {
+         break k;
+        }
+        b = q[a + 864 >> 2];
+        break g;
+       }
+       q[a + 860 >> 2] = q[b + 8 >> 2];
+       b = q[e + 8 >> 2];
+      }
+      q[g + 864 >> 2] = b;
+     }
+     c = 0;
+     if (b) {
+      break a;
+     }
+     break b;
+    }
+    c = 2;
+   }
+   if (q[h >> 2]) {
+    Lg(b, h);
+   }
+   q[a + 792 >> 2] = 0;
+   i = g;
+  }
+  q[i >> 2] = 0;
+ }
+ Ca = e + 16 | 0;
+ return c | 0;
+}
+function kN(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = 1;
+ g = q[b + 4 >> 2];
+ a : {
+  if (q[g + 16 >> 2] != 128) {
+   b : {
+    while (1) {
+     d = h;
+     c : {
+      d : {
+       i = q[g + 12 >> 2];
+       if (!i) {
+        break d;
+       }
+       h = q[g + 8 >> 2];
+       if ((h | 0) < (d | 0)) {
+        break d;
+       }
+       while (1) {
+        f = a;
+        a = q[a + 4 >> 2];
+        k = q[a + 16 >> 2] == 128;
+        if (q[a + 8 >> 2] <= (h | 0) ? !k : 0) {
+         continue;
+        }
+        break;
+       }
+       j = h + i | 0;
+       e = f;
+       d = f;
+       e : {
+        if (k) {
+         break e;
+        }
+        while (1) {
+         d = a;
+         if (q[a + 8 >> 2] >= (j | 0)) {
+          d = e;
+          break e;
+         }
+         e = d;
+         a = q[d + 4 >> 2];
+         if (q[a + 16 >> 2] != 128) {
+          continue;
+         }
+         break;
+        }
+       }
+       if (c) {
+        q[d + 12 >> 2] = q[d + 12 >> 2] + i;
+       }
+       e = q[f + 8 >> 2];
+       i = e + q[f + 12 >> 2] | 0;
+       f : {
+        g : {
+         if ((d | 0) == (f | 0)) {
+          if ((i | 0) > (j | 0)) {
+           a = L$(36);
+           d = 0;
+           if (!a) {
+            break b;
+           }
+           p[a + 20 >> 1] = 0;
+           q[a + 28 >> 2] = 0;
+           q[a + 32 >> 2] = 0;
+           q[a >> 2] = 0;
+           q[a + 4 >> 2] = 0;
+           d = a + 8 | 0;
+           q[d >> 2] = 0;
+           q[d + 4 >> 2] = 0;
+           e = q[f + 4 >> 2];
+           q[e >> 2] = a;
+           q[a + 4 >> 2] = e;
+           o[a + 20 | 0] = r[f + 20 | 0];
+           o[a + 21 | 0] = r[f + 21 | 0];
+           q[a + 16 >> 2] = q[f + 16 >> 2];
+           e = q[f + 12 >> 2];
+           i = q[f + 8 >> 2];
+           q[d >> 2] = j;
+           q[a + 12 >> 2] = e + (i - j | 0);
+           e = q[f + 8 >> 2];
+           i = e + q[f + 12 >> 2] | 0;
+          }
+          if ((i | 0) < (h | 0)) {
+           break g;
+          }
+          if ((h | 0) > (e | 0)) {
+           q[f + 12 >> 2] = h - e;
+           break g;
+          }
+          d = q[f >> 2];
+          M$(f);
+          e = a;
+          a = d;
+          break f;
+         }
+         h : {
+          if ((i | 0) < (h | 0)) {
+           break h;
+          }
+          if ((h | 0) > (e | 0)) {
+           q[f + 12 >> 2] = h - e;
+           break h;
+          }
+          f = q[f >> 2];
+         }
+         e = q[d + 12 >> 2] + q[d + 8 >> 2] | 0;
+         if ((e | 0) > (j | 0)) {
+          q[d + 8 >> 2] = j;
+          q[d + 12 >> 2] = e - j;
+          a = d;
+         }
+         d = q[f + 4 >> 2];
+         if ((d | 0) == (a | 0)) {
+          break g;
+         }
+         while (1) {
+          e = q[d + 4 >> 2];
+          M$(d);
+          d = e;
+          if ((d | 0) != (a | 0)) {
+           continue;
+          }
+          break;
+         }
+        }
+        e = a;
+        a = f;
+       }
+       d = q[g >> 2];
+       q[d + 4 >> 2] = q[g + 4 >> 2];
+       q[q[g + 4 >> 2] >> 2] = d;
+       q[a + 4 >> 2] = g;
+       q[g + 4 >> 2] = e;
+       q[g >> 2] = a;
+       q[e >> 2] = g;
+       break c;
+      }
+      h = d;
+      d = g;
+     }
+     g = q[d + 4 >> 2];
+     if (q[g + 16 >> 2] != 128) {
+      continue;
+     }
+     break;
+    }
+    d = 1;
+   }
+   if (!b) {
+    break a;
+   }
+  }
+  q[q[b >> 2] + 4 >> 2] = 0;
+  while (1) {
+   a = q[b + 4 >> 2];
+   M$(b);
+   b = a;
+   if (a) {
+    continue;
+   }
+   break;
+  }
+ }
+ return d;
+}
+function PK(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ h = Ca + -64 | 0;
+ Ca = h;
+ g = q[b >> 2];
+ q[h >> 2] = g;
+ q[h + 4 >> 2] = q[c >> 2];
+ o = r[e + 9 | 0];
+ l = o ? 10 : 9;
+ while (1) {
+  j = ((n << 2) + h | 0) + 8 | 0;
+  q[j >> 2] = g;
+  if (r[e + n | 0]) {
+   k = q[a + 8 >> 2];
+   a : {
+    if (q[a + 12 >> 2] - k >> 3 >>> 0 <= i >>> 0) {
+     m = 0;
+     k = q[a + 4 >> 2];
+     if (!k | q[k >> 2]) {
+      break a;
+     }
+     q[k >> 2] = 130;
+     break a;
+    }
+    m = k + (i << 3) | 0;
+    k = q[m + 4 >> 2] + -1 | 0;
+    if (k >>> 0 <= 1) {
+     if (!(k - 1)) {
+      m = q[m >> 2] << 16;
+      break a;
+     }
+     k = q[m >> 2];
+     m = ((k >> 31) + k | 0) - -8192 >> 14;
+     break a;
+    }
+    m = q[m >> 2];
+   }
+   q[j >> 2] = g + m;
+   i = i + 1 | 0;
+  }
+  n = n + 1 | 0;
+  if ((l | 0) != (n | 0)) {
+   g = q[(n << 2) + h >> 2];
+   continue;
+  }
+  break;
+ }
+ if (!o) {
+  q[h + 44 >> 2] = q[c >> 2];
+ }
+ k = h;
+ b : {
+  c : {
+   if (f) {
+    e = q[h + 44 >> 2] - q[c >> 2] | 0;
+    f = e >> 31;
+    g = f ^ e + f;
+    e = q[h + 40 >> 2] - q[b >> 2] | 0;
+    f = e >> 31;
+    f = f ^ e + f;
+    e = q[a + 8 >> 2];
+    d : {
+     if (q[a + 12 >> 2] - e >> 3 >>> 0 <= i >>> 0) {
+      i = 0;
+      e = q[a + 4 >> 2];
+      if (!e | q[e >> 2]) {
+       break d;
+      }
+      q[e >> 2] = 130;
+      break d;
+     }
+     j = e + (i << 3) | 0;
+     e = q[j + 4 >> 2] + -1 | 0;
+     if (e >>> 0 <= 1) {
+      if (!(e - 1)) {
+       i = q[j >> 2] << 16;
+       break d;
+      }
+      e = q[j >> 2];
+      i = ((e >> 31) + e | 0) - -8192 >> 14;
+      break d;
+     }
+     i = q[j >> 2];
+    }
+    if ((f | 0) > (g | 0)) {
+     g = q[h + 40 >> 2] + i | 0;
+     q[h + 48 >> 2] = g;
+     break c;
+    }
+    g = q[b >> 2];
+    q[h + 48 >> 2] = g;
+    e = q[h + 44 >> 2] + i | 0;
+    break b;
+   }
+   f = h;
+   e : {
+    if (r[e + 10 | 0]) {
+     j = q[h + 40 >> 2];
+     g = q[a + 8 >> 2];
+     f : {
+      if (q[a + 12 >> 2] - g >> 3 >>> 0 <= i >>> 0) {
+       g = 0;
+       l = q[a + 4 >> 2];
+       if (!l | q[l >> 2]) {
+        break f;
+       }
+       q[l >> 2] = 130;
+       break f;
+      }
+      l = g + (i << 3) | 0;
+      g = q[l + 4 >> 2] + -1 | 0;
+      if (g >>> 0 <= 1) {
+       if (!(g - 1)) {
+        g = q[l >> 2] << 16;
+        break f;
+       }
+       g = q[l >> 2];
+       g = ((g >> 31) + g | 0) - -8192 >> 14;
+       break f;
+      }
+      g = q[l >> 2];
+     }
+     i = i + 1 | 0;
+     g = g + j | 0;
+     break e;
+    }
+    g = q[b >> 2];
+   }
+   q[f + 48 >> 2] = g;
+   if (!r[e + 11 | 0]) {
+    break c;
+   }
+   f = q[h + 44 >> 2];
+   e = q[a + 8 >> 2];
+   g : {
+    if (q[a + 12 >> 2] - e >> 3 >>> 0 <= i >>> 0) {
+     i = 0;
+     e = q[a + 4 >> 2];
+     if (!e | q[e >> 2]) {
+      break g;
+     }
+     q[e >> 2] = 130;
+     g = q[h + 48 >> 2];
+     break g;
+    }
+    j = e + (i << 3) | 0;
+    e = q[j + 4 >> 2] + -1 | 0;
+    if (e >>> 0 <= 1) {
+     if (!(e - 1)) {
+      i = q[j >> 2] << 16;
+      break g;
+     }
+     e = q[j >> 2];
+     i = ((e >> 31) + e | 0) - -8192 >> 14;
+     break g;
+    }
+    i = q[j >> 2];
+   }
+   e = f + i | 0;
+   break b;
+  }
+  e = q[c >> 2];
+ }
+ q[k + 52 >> 2] = e;
+ OK(d, q[h + 8 >> 2], q[h + 12 >> 2], q[h + 16 >> 2], q[h + 20 >> 2], q[h + 24 >> 2], q[h + 28 >> 2]);
+ OK(d, q[h + 32 >> 2], q[h + 36 >> 2], q[h + 40 >> 2], q[h + 44 >> 2], g, e);
+ q[a + 12 >> 2] = q[a + 8 >> 2];
+ q[b >> 2] = g;
+ q[c >> 2] = e;
+ Ca = h - -64 | 0;
+}
+function WI(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ q[a + 168 >> 2] = d;
+ k = a + 168 | 0;
+ q[a + 48 >> 2] = k;
+ f = q[a + 64 >> 2];
+ q[a + 184 >> 2] = q[a + 60 >> 2];
+ q[a + 188 >> 2] = f;
+ q[a + 180 >> 2] = c;
+ q[a + 176 >> 2] = b;
+ q[a + 172 >> 2] = e;
+ e = k;
+ while (1) {
+  g = q[e + 20 >> 2];
+  h = q[e + 4 >> 2];
+  b = (g | 0) > (h | 0);
+  a : {
+   i = q[e + 12 >> 2];
+   if (!((i | 0) <= ((b ? g : h) | 0) ? (i | 0) >= ((b ? h : g) | 0) : 0)) {
+    b = q[e + 16 >> 2];
+    q[e + 32 >> 2] = b;
+    q[e + 36 >> 2] = g;
+    c = g + i | 0;
+    q[e + 28 >> 2] = c >> 1;
+    f = h + i | 0;
+    q[e + 12 >> 2] = f >> 1;
+    g = q[e + 8 >> 2];
+    i = g + d | 0;
+    q[e + 8 >> 2] = i >> 1;
+    b = b + g | 0;
+    q[e + 24 >> 2] = b >> 1;
+    q[e + 20 >> 2] = c + f >> 2;
+    q[e + 16 >> 2] = b + i >> 2;
+    q[a + 48 >> 2] = e + 16;
+    break a;
+   }
+   if ((g | 0) == (h | 0)) {
+    q[a + 48 >> 2] = e + -16;
+    break a;
+   }
+   b = q[a + 92 >> 2];
+   m = (g | 0) < (h | 0) ? 1 : 2;
+   if ((b | 0) != (m | 0)) {
+    c = q[a + 4 >> 2];
+    f = c + -1 | 0;
+    n = (g | 0) >= (h | 0);
+    c = (f + g & 0 - c) - g | 0;
+    b : {
+     if (!n) {
+      break b;
+     }
+     c = f & g;
+    }
+    l = q[a + 8 >> 2];
+    if (b) {
+     b = q[a + 36 >> 2];
+     j = q[a + 80 >> 2];
+     f = b - q[j + 8 >> 2] | 0;
+     if ((f | 0) <= -1) {
+      q[a + 40 >> 2] = 99;
+      return 1;
+     }
+     c : {
+      if (!f) {
+       f = b;
+       break c;
+      }
+      q[j + 16 >> 2] = f >> 2;
+      if ((c | 0) >= (l | 0)) {
+       f = s[j + 12 >> 1];
+       p[j + 12 >> 1] = (f & 8 ? 16 : 32) | f;
+      }
+      q[a + 80 >> 2] = b;
+      f = b + 32 | 0;
+      q[a + 36 >> 2] = f;
+      q[b + 8 >> 2] = f;
+      q[b + 16 >> 2] = 0;
+      q[j + 28 >> 2] = b;
+      p[a + 76 >> 1] = s[a + 76 >> 1] + 1;
+     }
+     if (f >>> 0 >= t[a + 32 >> 2]) {
+      q[a + 40 >> 2] = 98;
+      return 1;
+     }
+     o[a + 79 | 0] = 0;
+    }
+    d : {
+     if (q[a + 84 >> 2]) {
+      f = q[a + 36 >> 2];
+      break d;
+     }
+     b = q[a + 36 >> 2];
+     q[a + 84 >> 2] = b;
+     q[a + 80 >> 2] = b;
+     f = b + 32 | 0;
+     q[a + 36 >> 2] = f;
+    }
+    if (f >>> 0 >= t[a + 32 >> 2]) {
+     q[a + 40 >> 2] = 98;
+     return 1;
+    }
+    b = q[a + 80 >> 2];
+    q[b + 16 >> 2] = 0;
+    q[b + 20 >> 2] = 0;
+    q[b + 8 >> 2] = f;
+    q[b + 28 >> 2] = 0;
+    q[b + 4 >> 2] = 0;
+    f = r[a + 164 | 0];
+    p[b + 12 >> 1] = f;
+    e : {
+     if (!n) {
+      p[b + 12 >> 1] = f | 8;
+      if ((c | 0) < (l | 0)) {
+       break e;
+      }
+      p[b + 12 >> 1] = f | 40;
+      break e;
+     }
+     if ((c | 0) < (l | 0)) {
+      break e;
+     }
+     p[b + 12 >> 1] = f | 16;
+    }
+    if (!q[a + 88 >> 2]) {
+     q[a + 88 >> 2] = b;
+    }
+    p[a + 78 >> 1] = 1;
+    q[a + 92 >> 2] = m;
+   }
+   b = q[a + 72 >> 2];
+   c = q[a + 68 >> 2];
+   if ((g | 0) < (h | 0)) {
+    if (!_I(a, 2, 646, c, b)) {
+     break a;
+    }
+    return 1;
+   }
+   q[e + 20 >> 2] = 0 - g;
+   q[e + 12 >> 2] = 0 - i;
+   q[e + 4 >> 2] = 0 - h;
+   f = r[a + 78 | 0];
+   b = _I(a, 2, 646, 0 - b | 0, 0 - c | 0);
+   if (!(r[a + 78 | 0] | !f)) {
+    c = q[a + 80 >> 2];
+    q[c + 20 >> 2] = 0 - q[c + 20 >> 2];
+   }
+   q[e + 4 >> 2] = 0 - q[e + 4 >> 2];
+   if (!b) {
+    break a;
+   }
+   return 1;
+  }
+  e = q[a + 48 >> 2];
+  if (e >>> 0 >= k >>> 0) {
+   d = q[e >> 2];
+   continue;
+  }
+  break;
+ }
+ q[a + 64 >> 2] = h;
+ q[a + 60 >> 2] = d;
+ return 0;
+}
+function P$(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ g = q[a + 4 >> 2];
+ c = g & 3;
+ d = g & -8;
+ f = d + a | 0;
+ a : {
+  if (!c) {
+   c = 0;
+   if (b >>> 0 < 256) {
+    break a;
+   }
+   if (d >>> 0 >= b + 4 >>> 0) {
+    c = a;
+    if (d - b >>> 0 <= q[161296] << 1 >>> 0) {
+     break a;
+    }
+   }
+   return 0;
+  }
+  b : {
+   if (d >>> 0 >= b >>> 0) {
+    c = d - b | 0;
+    if (c >>> 0 < 16) {
+     break b;
+    }
+    q[a + 4 >> 2] = g & 1 | b | 2;
+    b = a + b | 0;
+    q[b + 4 >> 2] = c | 3;
+    q[f + 4 >> 2] = q[f + 4 >> 2] | 1;
+    S$(b, c);
+    break b;
+   }
+   c = 0;
+   if ((f | 0) == q[161182]) {
+    d = d + q[161179] | 0;
+    if (d >>> 0 <= b >>> 0) {
+     break a;
+    }
+    q[a + 4 >> 2] = g & 1 | b | 2;
+    c = a + b | 0;
+    b = d - b | 0;
+    q[c + 4 >> 2] = b | 1;
+    q[161179] = b;
+    q[161182] = c;
+    break b;
+   }
+   if ((f | 0) == q[161181]) {
+    d = d + q[161178] | 0;
+    if (d >>> 0 < b >>> 0) {
+     break a;
+    }
+    c = d - b | 0;
+    c : {
+     if (c >>> 0 >= 16) {
+      q[a + 4 >> 2] = g & 1 | b | 2;
+      b = a + b | 0;
+      q[b + 4 >> 2] = c | 1;
+      d = a + d | 0;
+      q[d >> 2] = c;
+      q[d + 4 >> 2] = q[d + 4 >> 2] & -2;
+      break c;
+     }
+     q[a + 4 >> 2] = d | g & 1 | 2;
+     b = a + d | 0;
+     q[b + 4 >> 2] = q[b + 4 >> 2] | 1;
+     c = 0;
+     b = 0;
+    }
+    q[161181] = b;
+    q[161178] = c;
+    break b;
+   }
+   e = q[f + 4 >> 2];
+   if (e & 2) {
+    break a;
+   }
+   h = d + (e & -8) | 0;
+   if (h >>> 0 < b >>> 0) {
+    break a;
+   }
+   j = h - b | 0;
+   d : {
+    if (e >>> 0 <= 255) {
+     c = q[f + 8 >> 2];
+     e = e >>> 3 | 0;
+     d = q[f + 12 >> 2];
+     if ((c | 0) == (d | 0)) {
+      l = 644704, m = q[161176] & Y0(-2, e), q[l >> 2] = m;
+      break d;
+     }
+     q[c + 12 >> 2] = d;
+     q[d + 8 >> 2] = c;
+     break d;
+    }
+    i = q[f + 24 >> 2];
+    d = q[f + 12 >> 2];
+    e : {
+     if ((f | 0) != (d | 0)) {
+      c = q[f + 8 >> 2];
+      q[c + 12 >> 2] = d;
+      q[d + 8 >> 2] = c;
+      break e;
+     }
+     f : {
+      c = f + 20 | 0;
+      e = q[c >> 2];
+      if (e) {
+       break f;
+      }
+      c = f + 16 | 0;
+      e = q[c >> 2];
+      if (e) {
+       break f;
+      }
+      d = 0;
+      break e;
+     }
+     while (1) {
+      k = c;
+      d = e;
+      c = d + 20 | 0;
+      e = q[c >> 2];
+      if (e) {
+       continue;
+      }
+      c = d + 16 | 0;
+      e = q[d + 16 >> 2];
+      if (e) {
+       continue;
+      }
+      break;
+     }
+     q[k >> 2] = 0;
+    }
+    if (!i) {
+     break d;
+    }
+    c = q[f + 28 >> 2];
+    e = (c << 2) + 645008 | 0;
+    g : {
+     if ((f | 0) == q[e >> 2]) {
+      q[e >> 2] = d;
+      if (d) {
+       break g;
+      }
+      l = 644708, m = q[161177] & Y0(-2, c), q[l >> 2] = m;
+      break d;
+     }
+     q[((f | 0) == q[i + 16 >> 2] ? 16 : 20) + i >> 2] = d;
+     if (!d) {
+      break d;
+     }
+    }
+    q[d + 24 >> 2] = i;
+    c = q[f + 16 >> 2];
+    if (c) {
+     q[d + 16 >> 2] = c;
+     q[c + 24 >> 2] = d;
+    }
+    c = q[f + 20 >> 2];
+    if (!c) {
+     break d;
+    }
+    q[d + 20 >> 2] = c;
+    q[c + 24 >> 2] = d;
+   }
+   if (j >>> 0 <= 15) {
+    q[a + 4 >> 2] = g & 1 | h | 2;
+    b = a + h | 0;
+    q[b + 4 >> 2] = q[b + 4 >> 2] | 1;
+    break b;
+   }
+   q[a + 4 >> 2] = g & 1 | b | 2;
+   b = a + b | 0;
+   q[b + 4 >> 2] = j | 3;
+   c = a + h | 0;
+   q[c + 4 >> 2] = q[c + 4 >> 2] | 1;
+   S$(b, j);
+  }
+  c = a;
+ }
+ return c;
+}
+function CI(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, u = 0;
+ l = Ca - 16 | 0;
+ Ca = l;
+ j = q[a + 12 >> 2];
+ if (j) {
+  q[(q[a + 20 >> 2] + (j << 4) | 0) + -4 >> 2] = b;
+ }
+ e = q[a + 24 >> 2];
+ a : {
+  if ((e | 0) < 2) {
+   break a;
+  }
+  j = e;
+  while (1) {
+   p = j;
+   h = j + -2 | 0;
+   m = q[a + 32 >> 2];
+   j = j + -1 | 0;
+   b = m + (j << 4) | 0;
+   n = q[b >> 2];
+   f = q[b + 8 >> 2];
+   while (1) {
+    b : {
+     d = m + (h << 4) | 0;
+     b = q[d + 8 >> 2];
+     c : {
+      d = q[d >> 2];
+      g = n >>> 0 < d >>> 0 ? n : d;
+      d : {
+       e : {
+        if (g >>> 0 < 8) {
+         k = f;
+         break e;
+        }
+        d = (g + -8 >>> 3 | 0) + 1 | 0;
+        i = d + b | 0;
+        k = d + f | 0;
+        d = f;
+        while (1) {
+         if (r[b | 0] & r[d | 0]) {
+          break d;
+         }
+         b = b + 1 | 0;
+         d = d + 1 | 0;
+         g = g + -8 | 0;
+         if (g >>> 0 > 7) {
+          continue;
+         }
+         break;
+        }
+        b = i;
+       }
+       if (!g | !(r[b | 0] & r[k | 0] & -256 >> g)) {
+        break c;
+       }
+      }
+      b = h >>> 0 > j >>> 0;
+      f = b ? j : h;
+      k = b ? h : j;
+      if (f >>> 0 >= k >>> 0 | k >>> 0 >= e >>> 0) {
+       break b;
+      }
+      e = m + (k << 4) | 0;
+      d = q[e >> 2];
+      f : {
+       if (!d) {
+        break f;
+       }
+       f = m + (f << 4) | 0;
+       b = q[f >> 2];
+       g : {
+        if (d >>> 0 <= b >>> 0) {
+         g = d + 7 >>> 3 | 0;
+         break g;
+        }
+        i = q[f + 4 >> 2];
+        q[l >> 2] = 0;
+        g = d + 7 >>> 3 | 0;
+        i = i + 7 >>> 3 | 0;
+        if (g >>> 0 > i >>> 0) {
+         h = g + 7 & 1073741816;
+         s = f, u = Te(c, 1, i, h, q[f + 8 >> 2], l), q[s + 8 >> 2] = u;
+         i = q[l >> 2];
+         if (i) {
+          break a;
+         }
+         q[f + 4 >> 2] = h << 3;
+        }
+        i = f + 8 | 0;
+        while (1) {
+         if (t[f >> 2] > b >>> 0) {
+          h = q[i >> 2] + (b >>> 3 | 0) | 0;
+          o[h | 0] = r[h | 0] & -129 >> (b & 7);
+         }
+         b = b + 1 | 0;
+         if ((d | 0) != (b | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       if (!g) {
+        break f;
+       }
+       d = q[e + 8 >> 2];
+       b = q[f + 8 >> 2];
+       while (1) {
+        o[b | 0] = r[d | 0] | r[b | 0];
+        d = d + 1 | 0;
+        b = b + 1 | 0;
+        g = g + -1 | 0;
+        if (g) {
+         continue;
+        }
+        break;
+       }
+      }
+      q[e >> 2] = 0;
+      q[e + 12 >> 2] = 0;
+      f = a;
+      b = q[f + 24 >> 2];
+      d = b + (k ^ -1) | 0;
+      if ((d | 0) >= 1) {
+       k = q[e + 12 >> 2];
+       b = l + 8 | 0;
+       q[b >> 2] = q[e + 8 >> 2];
+       q[b + 4 >> 2] = k;
+       k = q[e + 4 >> 2];
+       q[l >> 2] = q[e >> 2];
+       q[l + 4 >> 2] = k;
+       d = d << 4;
+       d = _$(e, e + 16 | 0, d) + d | 0;
+       e = q[b + 4 >> 2];
+       q[d + 8 >> 2] = q[b >> 2];
+       q[d + 12 >> 2] = e;
+       b = q[l + 4 >> 2];
+       q[d >> 2] = q[l >> 2];
+       q[d + 4 >> 2] = b;
+       b = q[a + 24 >> 2];
+      }
+      e = b + -1 | 0;
+      q[f + 24 >> 2] = e;
+      break b;
+     }
+     b = (h | 0) > 0;
+     h = h + -1 | 0;
+     if (b) {
+      continue;
+     }
+    }
+    break;
+   }
+   if ((p | 0) > 2) {
+    continue;
+   }
+   break;
+  }
+  i = 0;
+ }
+ Ca = l + 16 | 0;
+ return i;
+}
+function il(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, u = 0, v = 0, w = 0;
+ e = Ca - 1552 | 0;
+ Ca = e;
+ f = 6;
+ g = q[a + 4 >> 2];
+ a : {
+  if (t[g + 16 >> 2] <= c >>> 0) {
+   break a;
+  }
+  h = q[g + 136 >> 2];
+  q[a + 164 >> 2] = q[b + 16 >> 2];
+  q[a + 168 >> 2] = q[b + 20 >> 2];
+  d = d & 1024 ? d | 3 : d;
+  j = d & 1;
+  o[a + 161 | 0] = j ^ 1;
+  f = !(d & 3);
+  o[a + 160 | 0] = f;
+  q[a + 108 >> 2] = 0;
+  q[a + 72 >> 2] = 1869968492;
+  f = n[q[q[h + 12 >> 2] >> 2]](e + 32 | 0, g, b, a, 0, 0, f, d >>> 16 & 15, 193) | 0;
+  if (f) {
+   break a;
+  }
+  k = d & 1024;
+  o[e + 101 | 0] = k >>> 10;
+  f = jl(e + 32 | 0, c);
+  if (!f) {
+   l = r[a + 161 | 0];
+   m = r[a + 160 | 0];
+   f = e + 1420 | 0;
+   u = q[f + 4 >> 2];
+   i = e + 24 | 0;
+   c = i;
+   q[c >> 2] = q[f >> 2];
+   q[c + 4 >> 2] = u;
+   c = q[e + 1416 >> 2];
+   q[e + 16 >> 2] = q[e + 1412 >> 2];
+   q[e + 20 >> 2] = c;
+   c = q[e + 1432 >> 2];
+   f = q[e + 1428 >> 2];
+   n[q[q[h + 12 >> 2] + 4 >> 2]](e + 32 | 0);
+   h = a + 124 | 0;
+   q[h >> 2] = q[h >> 2] & 1 | 4;
+   if (k) {
+    b = q[a + 156 >> 2];
+    v = a, w = Ae(q[e + 64 >> 2]) >> 16, q[v + 32 >> 2] = w;
+    v = a, w = Ae(q[e + 72 >> 2]) >> 16, q[v + 40 >> 2] = w;
+    a = q[i + 4 >> 2];
+    q[b + 20 >> 2] = q[i >> 2];
+    q[b + 24 >> 2] = a;
+    a = q[e + 20 >> 2];
+    q[b + 12 >> 2] = q[e + 16 >> 2];
+    q[b + 16 >> 2] = a;
+    q[b + 32 >> 2] = c;
+    q[b + 28 >> 2] = f;
+    o[b + 8 | 0] = 1;
+    f = 0;
+    break a;
+   }
+   v = a, w = Ae(q[e + 72 >> 2]) >> 16, q[v + 40 >> 2] = w;
+   v = a, w = Ae(q[e + 72 >> 2]) >> 16, q[v + 56 >> 2] = w;
+   o[q[a + 156 >> 2] + 8 | 0] = 0;
+   h = q[g + 200 >> 2];
+   g = q[g + 208 >> 2];
+   q[a + 72 >> 2] = 1869968492;
+   g = g - h >> 16;
+   q[a + 60 >> 2] = g;
+   q[a + 52 >> 2] = g;
+   if (s[b + 14 >> 1] <= 23) {
+    q[a + 124 >> 2] = q[a + 124 >> 2] | 256;
+   }
+   g = a + 108 | 0;
+   b : {
+    if (!(q[e + 20 >> 2] | (q[e + 16 >> 2] != 65536 | q[e + 28 >> 2] != 65536))) {
+     if (!q[e + 24 >> 2]) {
+      break b;
+     }
+    }
+    vf(g, e + 16 | 0);
+    v = a, w = Ee(q[a + 40 >> 2], q[e + 16 >> 2]), q[v + 40 >> 2] = w;
+    v = a, w = Ee(q[a + 52 >> 2], q[e + 28 >> 2]), q[v + 52 >> 2] = w;
+   }
+   if (c | f) {
+    wf(g, f, c);
+    q[a + 40 >> 2] = q[a + 40 >> 2] + f;
+    q[a + 52 >> 2] = c + q[a + 52 >> 2];
+   }
+   if (!(l ? 0 : j)) {
+    c = q[a + 168 >> 2];
+    h = q[a + 164 >> 2];
+    b = q[e + 48 >> 2];
+    f = q[b + 4 >> 2];
+    c : {
+     if (q[e + 104 >> 2] ? m : 0) {
+      break c;
+     }
+     b = p[b + 2 >> 1];
+     if ((b | 0) < 1) {
+      break c;
+     }
+     b = b & 65535;
+     while (1) {
+      v = f, w = Ee(q[f >> 2], h), q[v >> 2] = w;
+      v = f, w = Ee(q[f + 4 >> 2], c), q[v + 4 >> 2] = w;
+      f = f + 8 | 0;
+      i = (b | 0) > 1;
+      b = b + -1 | 0;
+      if (i) {
+       continue;
+      }
+      break;
+     }
+    }
+    v = a, w = Ee(q[a + 40 >> 2], h), q[v + 40 >> 2] = w;
+    v = a, w = Ee(q[a + 52 >> 2], c), q[v + 52 >> 2] = w;
+   }
+   qf(g, e);
+   b = q[e >> 2];
+   q[a + 24 >> 2] = q[e + 8 >> 2] - b;
+   c = q[e + 4 >> 2];
+   f = q[e + 12 >> 2];
+   q[a + 36 >> 2] = f;
+   q[a + 32 >> 2] = b;
+   q[a + 28 >> 2] = f - c;
+   if (d & 16) {
+    Of(a + 24 | 0, q[a + 52 >> 2]);
+   }
+   f = 0;
+   break a;
+  }
+  n[q[q[h + 12 >> 2] + 4 >> 2]](e + 32 | 0);
+ }
+ Ca = e + 1552 | 0;
+ return f | 0;
+}
+function xs(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ f = q[b + 4 >> 2];
+ b = r[c + 2 | 0];
+ if (b & 32) {
+  q[a + 44 >> 2] = 0;
+ }
+ a : {
+  if (!(b & 128)) {
+   break a;
+  }
+  b = q[a + 44 >> 2];
+  if (b >>> 0 <= 7) {
+   d = q[f + 72 >> 2];
+   q[a + 44 >> 2] = b + 1;
+   q[((b << 2) + a | 0) + 12 >> 2] = d;
+   break a;
+  }
+  q[a + 44 >> 2] = 0;
+ }
+ g = r[c + 5 | 0] | r[c + 4 | 0] << 8;
+ b : {
+  if ((g | 0) == 65535) {
+   break b;
+  }
+  c = q[a + 44 >> 2];
+  if (!c) {
+   break b;
+  }
+  c : {
+   b = q[a + 4 >> 2];
+   b = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+   b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+   d = b >>> 0 > 1 ? b : 1;
+   d : {
+    if (4294967295 / (d >>> 0) >>> 0 <= c >>> 0) {
+     break d;
+    }
+    h = w(c, d);
+    if (h >>> 0 > 2147483646) {
+     break d;
+    }
+    g = q[a + 8 >> 2] + (g & 65534) | 0;
+    b = q[a >> 2];
+    if (!h) {
+     break c;
+    }
+    if (t[b + 20 >> 2] > g >>> 0) {
+     break d;
+    }
+    e = q[b + 24 >> 2];
+    if (e >>> 0 < g >>> 0 | e - g >>> 0 < h << 1 >>> 0) {
+     break d;
+    }
+    e = b + 28 | 0;
+    h = q[e >> 2];
+    q[e >> 2] = h + -1;
+    if ((h | 0) > 0) {
+     break c;
+    }
+   }
+   q[a + 44 >> 2] = 0;
+   break b;
+  }
+  h = q[q[b >> 2] + 132 >> 2];
+  i = d << 1;
+  while (1) {
+   c = c + -1 | 0;
+   q[a + 44 >> 2] = c;
+   b = q[((c << 2) + a | 0) + 12 >> 2];
+   if (b >>> 0 < t[f + 76 >> 2]) {
+    c = r[g | 0] | r[g + 1 | 0] << 8;
+    d = (c << 24 | c << 8 & 16711680) >> 16;
+    j = d & 1;
+    c = q[f + 96 >> 2];
+    d = d & -2;
+    e : {
+     if ((d | 0) == -32768) {
+      b = c + w(b, 20) | 0;
+      p[b + 16 >> 1] = 0;
+      q[b + 8 >> 2] = 0;
+      q[b + 12 >> 2] = 0;
+      o[b + 18 | 0] = 0;
+      break e;
+     }
+     e = r[a + 48 | 0];
+     if ((q[f + 48 >> 2] & -2) == 4) {
+      if (e) {
+       b = c + w(b, 20) | 0;
+       if (!r[b + 18 | 0] | q[b + 12 >> 2]) {
+        break e;
+       }
+       c = b;
+       b = q[q[a >> 2] + 4 >> 2];
+       b = T0(q[b + 40 >> 2], q[b + 44 >> 2], d, d >> 31);
+       q[c + 12 >> 2] = (Ea & 65535) << 16 | b >>> 16;
+       q[f + 32 >> 2] = q[f + 32 >> 2] | 8;
+       break e;
+      }
+      b = w(b, 20);
+      if (!(q[(b + q[f + 88 >> 2] | 0) + 4 >> 2] & h)) {
+       break e;
+      }
+      b = b + c | 0;
+      if (q[b + 8 >> 2]) {
+       break e;
+      }
+      e = q[q[a >> 2] + 4 >> 2];
+      d = T0(q[e + 32 >> 2], q[e + 36 >> 2], d, d >> 31);
+      d = (Ea & 65535) << 16 | d >>> 16;
+      q[b >> 2] = d + q[b >> 2];
+      q[b + 8 >> 2] = d;
+      break e;
+     }
+     if (e) {
+      b = c + w(b, 20) | 0;
+      if (!r[b + 18 | 0] | q[b + 8 >> 2]) {
+       break e;
+      }
+      c = b;
+      b = q[q[a >> 2] + 4 >> 2];
+      b = T0(q[b + 32 >> 2], q[b + 36 >> 2], d, d >> 31);
+      q[c + 8 >> 2] = (Ea & 65535) << 16 | b >>> 16;
+      q[f + 32 >> 2] = q[f + 32 >> 2] | 8;
+      break e;
+     }
+     b = w(b, 20);
+     if (!(q[(b + q[f + 88 >> 2] | 0) + 4 >> 2] & h)) {
+      break e;
+     }
+     b = b + c | 0;
+     if (q[b + 12 >> 2]) {
+      break e;
+     }
+     e = q[q[a >> 2] + 4 >> 2];
+     d = T0(q[e + 40 >> 2], q[e + 44 >> 2], d, d >> 31);
+     d = (Ea & 65535) << 16 | d >>> 16;
+     q[b + 4 >> 2] = d + q[b + 4 >> 2];
+     q[b + 12 >> 2] = d;
+    }
+    if (j) {
+     break b;
+    }
+    c = q[a + 44 >> 2];
+   }
+   g = g + i | 0;
+   if (c) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Xn(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ k = q[a + 212 >> 2];
+ if (k >>> 0 >= 2) {
+  i = q[a + 172 >> 2];
+  e = q[a + 168 >> 2] + 5056 | 0;
+  d = q[a + 8 >> 2];
+  b = q[a + 12 >> 2];
+  if (b >>> 0 >= 16) {
+   b = b ^ 16;
+   q[a + 12 >> 2] = b;
+   d = d >>> 16 | 0;
+   q[a + 8 >> 2] = d;
+   f = a + 16 | 0;
+   c = q[f >> 2];
+   h = r[c | 0] | r[c + 1 | 0] << 8;
+   g = a + 20 | 0;
+   q[g >> 2] = q[g >> 2] + -2;
+   q[f >> 2] = c + 2;
+   d = d | h << 16;
+   q[a + 8 >> 2] = d;
+  }
+  c = d >>> b | 0;
+  f = e + ((c & 255) << 2) | 0;
+  e = r[f | 0];
+  if (e >>> 0 >= 9) {
+   b = b + 8 | 0;
+   q[a + 12 >> 2] = b;
+   f = (s[f + 2 >> 1] + (q[(e << 2) + 153248 >> 2] & c >>> 8) << 2) + f | 0;
+   e = r[f | 0];
+  }
+  h = i + 3168 | 0;
+  b = (e & 255) + b | 0;
+  q[a + 12 >> 2] = b;
+  i = s[f + 2 >> 1];
+  if (b >>> 0 >= 16) {
+   b = b ^ 16;
+   q[a + 12 >> 2] = b;
+   e = d >>> 16 | 0;
+   q[a + 8 >> 2] = e;
+   d = a + 16 | 0;
+   c = q[d >> 2];
+   f = r[c | 0] | r[c + 1 | 0] << 8;
+   g = a + 20 | 0;
+   q[g >> 2] = q[g >> 2] + -2;
+   q[d >> 2] = c + 2;
+   d = e | f << 16;
+   q[a + 8 >> 2] = d;
+  }
+  e = a;
+  g = d >>> b | 0;
+  f = h + ((g & 255) << 2) | 0;
+  c = r[f | 0];
+  if (c >>> 0 >= 9) {
+   b = b + 8 | 0;
+   q[a + 12 >> 2] = b;
+   f = (s[f + 2 >> 1] + (q[(c << 2) + 153248 >> 2] & g >>> 8) << 2) + f | 0;
+   c = r[f | 0];
+  }
+  b = (c & 255) + b | 0;
+  q[e + 12 >> 2] = b;
+  e = s[f + 2 >> 1];
+  c = e << 2;
+  l = s[c + 153168 >> 1];
+  f = r[c + 153170 | 0];
+  m = a;
+  a : {
+   if ((e | 0) != 25) {
+    if (b >>> 0 >= 16) {
+     b = b ^ 16;
+     q[a + 12 >> 2] = b;
+     d = d >>> 16 | 0;
+     q[a + 8 >> 2] = d;
+     h = a + 16 | 0;
+     e = q[h >> 2];
+     g = r[e | 0] | r[e + 1 | 0] << 8;
+     c = a + 20 | 0;
+     q[c >> 2] = q[c >> 2] + -2;
+     q[h >> 2] = e + 2;
+     d = d | g << 16;
+     q[a + 8 >> 2] = d;
+    }
+    q[a + 12 >> 2] = b + f;
+    b = q[(f << 2) + 153280 >> 2] & d >>> b;
+    break a;
+   }
+   b : {
+    c : {
+     if (b >>> 0 <= 15) {
+      e = b + 16 | 0;
+      q[a + 12 >> 2] = e;
+      c = d >>> b & 65535;
+      h = q[a + 20 >> 2];
+      b = q[a + 16 >> 2];
+      break c;
+     }
+     g = b ^ 16;
+     q[a + 12 >> 2] = g;
+     d = d >>> 16 | 0;
+     q[a + 8 >> 2] = d;
+     b = a + 16 | 0;
+     e = q[b >> 2];
+     c = r[e | 0] | r[e + 1 | 0] << 8;
+     j = a + 20 | 0;
+     h = q[j >> 2] + -2 | 0;
+     q[j >> 2] = h;
+     j = b;
+     b = e + 2 | 0;
+     q[j >> 2] = b;
+     e = g + 16 | 0;
+     q[a + 12 >> 2] = e;
+     d = d | c << 16;
+     q[a + 8 >> 2] = d;
+     c = d >>> g & 65535;
+     if (g >>> 0 > 4294967279) {
+      break b;
+     }
+    }
+    e = e ^ 16;
+    q[a + 12 >> 2] = e;
+    d = d >>> 16 | 0;
+    q[a + 8 >> 2] = d;
+    g = r[b | 0] | r[b + 1 | 0] << 8;
+    q[a + 20 >> 2] = h + -2;
+    q[a + 16 >> 2] = b + 2;
+    d = d | g << 16;
+    q[a + 8 >> 2] = d;
+   }
+   b = f + -16 | 0;
+   q[a + 12 >> 2] = b + e;
+   b = (q[(b << 2) + 153280 >> 2] & d >>> e) << 16 | c;
+  }
+  q[m + 200 >> 2] = b + l;
+  d : {
+   if (i >>> 0 <= 1) {
+    c = q[a + 236 >> 2] + 1 | 0;
+    if (!(i - 1)) {
+     break d;
+    }
+    c = q[a + 232 >> 2];
+    break d;
+   }
+   c = i + -2 | 0;
+  }
+  e = a + 236 | 0;
+  q[a + 232 >> 2] = q[e >> 2];
+  c = c - (c >>> 0 < k >>> 0 ? 0 : k) | 0;
+  q[e >> 2] = c;
+  c = q[a + 252 >> 2] + (c << 2) | 0;
+  q[a + 116 >> 2] = c;
+  o[a + 260 | 0] = r[c + q[a + 180 >> 2] | 0];
+ }
+}
+function fI(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ f = q[b >> 2];
+ e = f << 1;
+ y = a, z = Te(d, 4, 0, e, 0, i + 12 | 0), q[y + 12 >> 2] = z;
+ a : {
+  if (q[i + 12 >> 2]) {
+   break a;
+  }
+  y = a, z = Te(d, 28, 0, f, 0, i + 12 | 0), q[y + 8 >> 2] = z;
+  if (q[i + 12 >> 2]) {
+   break a;
+  }
+  y = a, z = Te(d, 16, 0, e | 1, 0, i + 12 | 0), q[y + 24 >> 2] = z;
+  if (q[i + 12 >> 2]) {
+   break a;
+  }
+  q[a >> 2] = f;
+  q[a + 28 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  q[a + 16 >> 2] = q[a + 12 >> 2] + (f << 2);
+  if (f) {
+   d = q[a + 8 >> 2];
+   b = q[b + 8 >> 2];
+   e = f;
+   while (1) {
+    q[d >> 2] = q[b >> 2];
+    q[d + 4 >> 2] = q[b + 4 >> 2];
+    q[d + 16 >> 2] = q[b + 8 >> 2];
+    b = b + 12 | 0;
+    d = d + 28 | 0;
+    e = e + -1 | 0;
+    if (e) {
+     continue;
+    }
+    break;
+   }
+  }
+  b : {
+   if (!c) {
+    break b;
+   }
+   k = q[c >> 2];
+   l = q[c + 8 >> 2];
+   q[a + 32 >> 2] = c;
+   if (!k) {
+    break b;
+   }
+   while (1) {
+    p = q[l >> 2];
+    if (p) {
+     m = q[l + 8 >> 2];
+     b = 0;
+     j = 0;
+     s = 0;
+     while (1) {
+      if (!b) {
+       s = r[m | 0];
+       m = m + 1 | 0;
+       b = 128;
+      }
+      c : {
+       if (!(b & s) | f >>> 0 <= j >>> 0) {
+        break c;
+       }
+       h = q[a + 8 >> 2] + w(j, 28) | 0;
+       c = q[h + 16 >> 2];
+       if (c & 4) {
+        break c;
+       }
+       q[h + 16 >> 2] = c | 4;
+       c = q[a + 16 >> 2];
+       q[h + 20 >> 2] = 0;
+       d : {
+        if (!g) {
+         break d;
+        }
+        v = h + 20 | 0;
+        t = q[h >> 2];
+        x = t + q[h + 4 >> 2] | 0;
+        e = g;
+        d = c;
+        while (1) {
+         n = q[d >> 2];
+         u = q[n >> 2];
+         if (!((x | 0) < (u | 0) | (u + q[n + 4 >> 2] | 0) < (t | 0))) {
+          q[v >> 2] = n;
+          break d;
+         }
+         d = d + 4 | 0;
+         e = e + -1 | 0;
+         if (e) {
+          continue;
+         }
+         break;
+        }
+       }
+       if (g >>> 0 >= f >>> 0) {
+        break c;
+       }
+       d = g + 1 | 0;
+       q[a + 4 >> 2] = d;
+       q[(g << 2) + c >> 2] = h;
+       g = d;
+      }
+      b = b >> 1;
+      j = j + 1 | 0;
+      if ((p | 0) != (j | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    l = l + 16 | 0;
+    k = k + -1 | 0;
+    if (k) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (!f | (g | 0) == (f | 0)) {
+   break a;
+  }
+  while (1) {
+   e = q[a + 8 >> 2] + w(o, 28) | 0;
+   b = q[e + 16 >> 2];
+   e : {
+    if (b & 4) {
+     break e;
+    }
+    q[e + 16 >> 2] = b | 4;
+    c = q[a + 16 >> 2];
+    q[e + 20 >> 2] = 0;
+    f : {
+     if (!g) {
+      break f;
+     }
+     l = e + 20 | 0;
+     j = q[e >> 2];
+     k = j + q[e + 4 >> 2] | 0;
+     b = g;
+     d = c;
+     while (1) {
+      h = q[d >> 2];
+      m = q[h >> 2];
+      if (!((k | 0) < (m | 0) | (m + q[h + 4 >> 2] | 0) < (j | 0))) {
+       q[l >> 2] = h;
+       break f;
+      }
+      d = d + 4 | 0;
+      b = b + -1 | 0;
+      if (b) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (g >>> 0 >= f >>> 0) {
+     break e;
+    }
+    b = g + 1 | 0;
+    q[a + 4 >> 2] = b;
+    q[c + (g << 2) >> 2] = e;
+    g = b;
+   }
+   o = o + 1 | 0;
+   if ((o | 0) != (f | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = i + 16 | 0;
+ return q[i + 12 >> 2];
+}
+function zz(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, r = 0, s = 0, u = 0;
+ Tz(a);
+ f = q[a + 156 >> 2];
+ a : {
+  b : {
+   c : {
+    d = q[a + 24 >> 2];
+    d : {
+     e : {
+      if (d) {
+       d = d + -1 | 0;
+       q[a + 24 >> 2] = d;
+       if (t[a + 32 >> 2] <= d >>> 0) {
+        break e;
+       }
+       d = q[a + 36 >> 2] + (d << 5) | 0;
+       break d;
+      }
+      o[a + 20 | 0] = 1;
+     }
+     d = q[67767];
+     q[160662] = q[67766];
+     q[160663] = d;
+     d = q[67765];
+     q[160660] = q[67764];
+     q[160661] = d;
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+    }
+    l = v[d >> 3];
+    f : {
+     if (y(l) < 2147483648) {
+      d = ~~l;
+      break f;
+     }
+     d = -2147483648;
+    }
+    if ((d | 0) >= 0) {
+     c = q[a + 24 >> 2];
+     b = w(f + 1 | 0, d);
+     if (c >>> 0 < b >>> 0) {
+      break b;
+     }
+     if (d) {
+      break c;
+     }
+     b = 0;
+     break a;
+    }
+    o[a + 20 | 0] = 1;
+    c = q[a + 24 >> 2];
+    break a;
+   }
+   h = (f | 0) > 0 ? f : 0;
+   m = c - b | 0;
+   r = m + d | 0;
+   n = q[67760];
+   p = q[67761];
+   while (1) {
+    i = q[a + 36 >> 2];
+    g = q[a + 32 >> 2];
+    b = c;
+    c = j + m | 0;
+    if (b >>> 0 <= c >>> 0) {
+     o[a + 20 | 0] = 1;
+    }
+    g : {
+     if (g >>> 0 <= c >>> 0) {
+      c = q[67767];
+      q[160662] = q[67766];
+      q[160663] = c;
+      c = q[67765];
+      q[160660] = q[67764];
+      q[160661] = c;
+      c = q[67763];
+      q[160658] = q[67762];
+      q[160659] = c;
+      q[160656] = n;
+      q[160657] = p;
+      c = 642624;
+      break g;
+     }
+     c = i + (c << 5) | 0;
+    }
+    q[c + 12 >> 2] = j;
+    q[c + 8 >> 2] = d;
+    e = q[c + 16 >> 2];
+    h : {
+     if ((e | 0) < 0) {
+      break h;
+     }
+     b = e;
+     if (b >>> 0 < h >>> 0) {
+      while (1) {
+       b = ((b >>> 1 | 0) + b | 0) + 8 | 0;
+       if (b >>> 0 <= h >>> 0) {
+        continue;
+       }
+       break;
+      }
+      i : {
+       if (!(b >>> 0 < e >>> 0 | b >>> 0 > 536870910)) {
+        e = O$(q[c + 24 >> 2], b << 3);
+        if (e) {
+         break i;
+        }
+       }
+       q[c + 16 >> 2] = -1;
+       break h;
+      }
+      q[c + 16 >> 2] = b;
+      q[c + 24 >> 2] = e;
+     }
+     b = q[c + 20 >> 2];
+     if (h >>> 0 > b >>> 0) {
+      Z$(q[c + 24 >> 2] + (b << 3) | 0, 0, h - b << 3);
+     }
+     q[c + 20 >> 2] = h;
+    }
+    if (f) {
+     b = w(f, j) + r | 0;
+     i = b ? i + (b << 5) | 0 : i;
+     e = g - b | 0;
+     g = b ? e >>> 0 > g >>> 0 ? 0 : e : g;
+     s = q[c + 20 >> 2];
+     b = 0;
+     while (1) {
+      k = i + (b << 5) | 0;
+      j : {
+       if (s >>> 0 <= b >>> 0) {
+        q[160656] = n;
+        q[160657] = p;
+        e = 642624;
+        break j;
+       }
+       e = q[c + 24 >> 2] + (b << 3) | 0;
+      }
+      k = g >>> 0 > b >>> 0 ? k : 271040;
+      u = q[k + 4 >> 2];
+      q[e >> 2] = q[k >> 2];
+      q[e + 4 >> 2] = u;
+      b = b + 1 | 0;
+      if ((f | 0) != (b | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    c = q[a + 24 >> 2];
+    j = j + 1 | 0;
+    if ((j | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+   b = d;
+   break a;
+  }
+  o[a + 40 | 0] = 1;
+  return;
+ }
+ d = w(b, f);
+ if (c >>> 0 >= d >>> 0) {
+  q[a + 24 >> 2] = c - d;
+  return;
+ }
+ o[a + 20 | 0] = 1;
+}
+function Wk(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0;
+ f = Ca + -64 | 0;
+ Ca = f;
+ g = q[a + 16 >> 2];
+ b = 161;
+ a : {
+  if (t[a + 20 >> 2] < g + 24 >>> 0) {
+   break a;
+  }
+  d = q[a + 32 >> 2];
+  m = d + 48 | 0;
+  o[d + 64 | 0] = 1;
+  i = -2147483648;
+  k = 2147483647;
+  while (1) {
+   b = l << 2;
+   j = b + f | 0;
+   n = b + (f + 32 | 0) | 0;
+   c = q[g >> 2];
+   e = r[c | 0];
+   b : {
+    if ((e | 0) == 30) {
+     b = Vk(a, c, 0, j);
+     break b;
+    }
+    h = c + 1 | 0;
+    c : {
+     b = e + -28 | 0;
+     d : {
+      if (b >>> 0 <= 1) {
+       if (b - 1) {
+        b = 0;
+        c = c + 2 | 0;
+        if (t[a + 8 >> 2] <= c >>> 0) {
+         break c;
+        }
+        b = (r[c | 0] | r[h | 0] << 8) << 16 >> 16;
+        break c;
+       }
+       b = 0;
+       if (t[a + 8 >> 2] <= c + 4 >>> 0) {
+        break c;
+       }
+       b = r[c + 1 | 0] | r[c + 2 | 0] << 8 | (r[c + 3 | 0] << 16 | r[c + 4 | 0] << 24);
+       b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+       break d;
+      }
+      if (e >>> 0 <= 246) {
+       b = e + -139 | 0;
+       break c;
+      }
+      c = q[a + 8 >> 2];
+      if (e >>> 0 <= 250) {
+       b = 0;
+       if (c >>> 0 <= h >>> 0) {
+        break c;
+       }
+       b = (r[h | 0] | e << 8) + -63124 | 0;
+       break d;
+      }
+      b = 0;
+      if (c >>> 0 <= h >>> 0) {
+       break c;
+      }
+      b = 64148 - (r[h | 0] | e << 8) | 0;
+     }
+     if ((b | 0) < 32768) {
+      break c;
+     }
+     p = b;
+     c = 5;
+     e : {
+      if ((b | 0) < 1e5) {
+       break e;
+      }
+      c = 6;
+      if ((b | 0) <= 999999) {
+       break e;
+      }
+      c = 7;
+      if ((b | 0) < 1e7) {
+       break e;
+      }
+      c = 8;
+      if ((b | 0) < 1e8) {
+       break e;
+      }
+      c = (b | 0) < 1e9 ? 9 : 10;
+     }
+     e = c + -5 | 0;
+     h = q[(e << 2) + 12592 >> 2];
+     if (((p | 0) / (h | 0) | 0) >= 32768) {
+      c = c + -4 | 0;
+      q[j >> 2] = c;
+      b = Fe(b, q[(c << 2) + 12592 >> 2]);
+      break b;
+     }
+     q[j >> 2] = e;
+     b = Fe(b, h);
+     break b;
+    }
+    q[j >> 2] = 0;
+    b = b << 16;
+   }
+   q[n >> 2] = b;
+   if (b) {
+    b = q[j >> 2];
+    k = (b | 0) < (k | 0) ? b : k;
+    i = (b | 0) > (i | 0) ? b : i;
+   }
+   g = g + 4 | 0;
+   l = l + 1 | 0;
+   if ((l | 0) != 6) {
+    continue;
+   }
+   break;
+  }
+  if (!(i + 9 >>> 0 > 9 | i - k >>> 0 > 9)) {
+   g = 0;
+   while (1) {
+    c = g << 2;
+    a = c + (f + 32 | 0) | 0;
+    b = q[a >> 2];
+    if (b) {
+     e = q[(i - q[c + f >> 2] << 2) + 12592 >> 2];
+     c = e >> 1;
+     q[a >> 2] = (((b | 0) <= -1 ? (c | -2147483648) < (b | 0) ? b - c | 0 : -2147483648 : (2147483647 - c | 0) > (b | 0) ? b + c | 0 : 2147483647) | 0) / (e | 0);
+    }
+    g = g + 1 | 0;
+    if ((g | 0) != 6) {
+     continue;
+    }
+    break;
+   }
+   q[d + 48 >> 2] = q[f + 32 >> 2];
+   q[d + 56 >> 2] = q[f + 36 >> 2];
+   q[d + 52 >> 2] = q[f + 40 >> 2];
+   q[d + 60 >> 2] = q[f + 44 >> 2];
+   q[d + 72 >> 2] = q[f + 48 >> 2];
+   a = q[f + 52 >> 2];
+   q[d + 68 >> 2] = q[12592 - (i << 2) >> 2];
+   q[d + 76 >> 2] = a;
+   b = 0;
+   if (Ie(m)) {
+    break a;
+   }
+  }
+  q[d + 48 >> 2] = 65536;
+  q[d + 52 >> 2] = 0;
+  q[d + 68 >> 2] = 1;
+  q[d + 72 >> 2] = 0;
+  q[d + 76 >> 2] = 0;
+  q[d + 56 >> 2] = 0;
+  q[d + 60 >> 2] = 65536;
+  b = 0;
+ }
+ Ca = f - -64 | 0;
+ return b | 0;
+}
+function xW(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ a : {
+  if (!q[a + 64 >> 2]) {
+   i = 1;
+   e = q[a + 80 >> 2];
+   if (!e) {
+    break a;
+   }
+   q[f + 12 >> 2] = c;
+   if (!r[b + 68 | 0]) {
+    b : {
+     if (q[a + 144 >> 2] == (b | 0)) {
+      e = a + 284 | 0;
+      c = a + 288 | 0;
+      break b;
+     }
+     e = q[a + 296 >> 2];
+     c = e + 4 | 0;
+    }
+    while (1) {
+     q[f + 8 >> 2] = q[a + 44 >> 2];
+     g = n[q[b + 56 >> 2]](b, f + 12 | 0, d, f + 8 | 0, q[a + 48 >> 2]) | 0;
+     q[c >> 2] = q[f + 12 >> 2];
+     h = q[a + 44 >> 2];
+     n[q[a + 80 >> 2]](q[a + 4 >> 2], h, q[f + 8 >> 2] - h | 0);
+     q[e >> 2] = q[f + 12 >> 2];
+     if (g >>> 0 > 1) {
+      continue;
+     }
+     break;
+    }
+    break a;
+   }
+   n[e](q[a + 4 >> 2], c, d - c | 0);
+   break a;
+  }
+  e = (q[b + 64 >> 2] << 1) + c | 0;
+  h = n[q[b + 28 >> 2]](b, e) | 0;
+  q[f + 12 >> 2] = e;
+  g = a + 412 | 0;
+  c = a + 424 | 0;
+  if (!q[c >> 2]) {
+   if (!_V(g)) {
+    break a;
+   }
+  }
+  h = e + h | 0;
+  c : {
+   while (1) {
+    if (n[q[b + 56 >> 2]](b, f + 12 | 0, h, c, q[a + 420 >> 2]) >>> 0 < 2) {
+     break c;
+    }
+    if (_V(g)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  if (!q[a + 428 >> 2]) {
+   break a;
+  }
+  e = q[a + 424 >> 2];
+  if ((e | 0) == q[a + 420 >> 2]) {
+   if (!_V(g)) {
+    break a;
+   }
+   e = q[c >> 2];
+  }
+  q[a + 424 >> 2] = e + 1;
+  o[e | 0] = 0;
+  j = q[a + 428 >> 2];
+  if (!j) {
+   break a;
+  }
+  q[a + 428 >> 2] = q[a + 424 >> 2];
+  e = n[q[b + 32 >> 2]](b, h) | 0;
+  h = q[b + 64 >> 2];
+  q[f + 12 >> 2] = e;
+  if (!q[a + 424 >> 2]) {
+   if (!_V(g)) {
+    break a;
+   }
+  }
+  d = d - (h << 1) | 0;
+  while (1) {
+   if (n[q[b + 56 >> 2]](b, f + 12 | 0, d, c, q[a + 420 >> 2]) >>> 0 >= 2) {
+    if (_V(g)) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  if (!q[a + 428 >> 2]) {
+   break a;
+  }
+  b = q[a + 424 >> 2];
+  if ((b | 0) == q[a + 420 >> 2]) {
+   if (!_V(g)) {
+    break a;
+   }
+   b = q[c >> 2];
+  }
+  q[a + 424 >> 2] = b + 1;
+  o[b | 0] = 0;
+  e = q[a + 428 >> 2];
+  if (!e) {
+   break a;
+  }
+  b = e;
+  d : {
+   while (1) {
+    e : {
+     f : {
+      c = r[b | 0];
+      if (c >>> 0 > 13) {
+       break f;
+      }
+      d = b;
+      switch (c - 1 | 0) {
+      case 12:
+       break e;
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 8:
+      case 9:
+      case 10:
+      case 11:
+       break f;
+      default:
+       break d;
+      }
+     }
+     b = b + 1 | 0;
+     continue;
+    }
+    break;
+   }
+   while (1) {
+    g : {
+     if ((c & 255) == 13) {
+      o[d | 0] = 10;
+      b = r[b + 1 | 0] == 10 ? b + 2 | 0 : b + 1 | 0;
+      break g;
+     }
+     o[d | 0] = c;
+     b = b + 1 | 0;
+    }
+    d = d + 1 | 0;
+    c = r[b | 0];
+    if (c) {
+     continue;
+    }
+    break;
+   }
+   o[d | 0] = 0;
+  }
+  n[q[a + 64 >> 2]](q[a + 4 >> 2], j, e);
+  d = q[a + 416 >> 2];
+  h : {
+   if (!d) {
+    q[a + 416 >> 2] = q[a + 412 >> 2];
+    break h;
+   }
+   b = q[g >> 2];
+   if (!b) {
+    break h;
+   }
+   while (1) {
+    c = q[b >> 2];
+    q[b >> 2] = d;
+    q[a + 416 >> 2] = b;
+    d = b;
+    b = c;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[a + 428 >> 2] = 0;
+  q[a + 412 >> 2] = 0;
+  q[a + 420 >> 2] = 0;
+  q[a + 424 >> 2] = 0;
+  i = 1;
+ }
+ Ca = f + 16 | 0;
+ return i;
+}
+function hr(a, b) {
+ var c = x(0), d = 0, e = 0, f = 0, g = 0, h = 0, i = x(0), j = 0, k = x(0), l = 0, m = 0;
+ c = u[q[b + 4 >> 2] + 56 >> 2];
+ if (c <= x(0)) {
+  return;
+ }
+ l = q[q[b >> 2] + 136 >> 2];
+ g = q[b + 12 >> 2];
+ a : {
+  if ((q[g + 48 >> 2] & -2) == 4) {
+   d = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+   d = ir(d ? d + a | 0 : 271040, a, c);
+   a = q[b + 4 >> 2];
+   i = x(q[a + 20 >> 2]);
+   c = x(x((d | 0) / 2 | 0) * i);
+   a = q[a + 16 >> 2];
+   f = q[a + 28 >> 2];
+   if (!f) {
+    f = XF(a);
+    b = q[b + 4 >> 2];
+    a = q[b + 16 >> 2];
+    i = x(q[b + 20 >> 2]);
+   }
+   k = x(d | 0);
+   c = x(S(x(x(c / x(f >>> 0)))));
+   b : {
+    if (x(y(c)) < x(2147483648)) {
+     f = ~~c;
+     break b;
+    }
+    f = -2147483648;
+   }
+   c = x(i * k);
+   b = q[a + 28 >> 2];
+   if (!b) {
+    b = XF(a);
+   }
+   c = x(S(x(x(c / x(b >>> 0)))));
+   c : {
+    if (x(y(c)) < x(2147483648)) {
+     d = ~~c;
+     break c;
+    }
+    d = -2147483648;
+   }
+   e = q[g + 76 >> 2];
+   if (!e) {
+    break a;
+   }
+   h = e + -1 | 0;
+   b = q[g + 88 >> 2];
+   a = 0;
+   while (1) {
+    d : {
+     if ((a | 0) == (h | 0)) {
+      a = e;
+      break d;
+     }
+     a = a + 1 | 0;
+     if (r[(b + w(a, 20) | 0) + 16 | 0] & 128) {
+      continue;
+     }
+    }
+    break;
+   }
+   m = q[g + 88 >> 2];
+   while (1) {
+    b = w(j, 20);
+    if (q[(b + m | 0) + 4 >> 2] & l) {
+     b = b + q[g + 96 >> 2] | 0;
+     q[b >> 2] = q[b >> 2] + d;
+     q[b + 8 >> 2] = f + q[b + 8 >> 2];
+    }
+    b = a + 1 | 0;
+    j = e >>> 0 > b >>> 0 ? e : b;
+    b = a;
+    while (1) {
+     e : {
+      b = b + 1 | 0;
+      if (b >>> 0 >= e >>> 0) {
+       b = j;
+       break e;
+      }
+      if (r[(m + w(b, 20) | 0) + 16 | 0] & 128) {
+       continue;
+      }
+     }
+     break;
+    }
+    h = a >>> 0 < e >>> 0;
+    j = a;
+    a = b;
+    if (h) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  d = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+  d = ir(d ? d + a | 0 : 271040, a, c);
+  a = q[b + 4 >> 2];
+  i = x(q[a + 24 >> 2]);
+  c = x(x((d | 0) / 2 | 0) * i);
+  a = q[a + 16 >> 2];
+  f = q[a + 28 >> 2];
+  if (!f) {
+   f = XF(a);
+   b = q[b + 4 >> 2];
+   a = q[b + 16 >> 2];
+   i = x(q[b + 24 >> 2]);
+  }
+  k = x(d | 0);
+  c = x(S(x(x(c / x(f >>> 0)))));
+  f : {
+   if (x(y(c)) < x(2147483648)) {
+    f = ~~c;
+    break f;
+   }
+   f = -2147483648;
+  }
+  c = x(i * k);
+  b = q[a + 28 >> 2];
+  if (!b) {
+   b = XF(a);
+  }
+  c = x(S(x(x(c / x(b >>> 0)))));
+  g : {
+   if (x(y(c)) < x(2147483648)) {
+    d = ~~c;
+    break g;
+   }
+   d = -2147483648;
+  }
+  e = q[g + 76 >> 2];
+  if (!e) {
+   break a;
+  }
+  h = e + -1 | 0;
+  a = q[g + 88 >> 2];
+  b = 0;
+  while (1) {
+   h : {
+    if ((b | 0) == (h | 0)) {
+     b = e;
+     break h;
+    }
+    b = b + 1 | 0;
+    if (r[(a + w(b, 20) | 0) + 16 | 0] & 128) {
+     continue;
+    }
+   }
+   break;
+  }
+  h = q[g + 88 >> 2];
+  while (1) {
+   a = b;
+   b = w(j, 20);
+   if (q[(b + h | 0) + 4 >> 2] & l) {
+    b = b + q[g + 96 >> 2] | 0;
+    q[b + 4 >> 2] = d + q[b + 4 >> 2];
+    q[b + 12 >> 2] = f + q[b + 12 >> 2];
+   }
+   b = a + 1 | 0;
+   j = e >>> 0 > b >>> 0 ? e : b;
+   b = a;
+   while (1) {
+    i : {
+     b = b + 1 | 0;
+     if (b >>> 0 >= e >>> 0) {
+      b = j;
+      break i;
+     }
+     if (r[(h + w(b, 20) | 0) + 16 | 0] & 128) {
+      continue;
+     }
+    }
+    break;
+   }
+   j = a;
+   if (a >>> 0 < e >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Af(a, b, c, d, e, f, g) {
+ var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0;
+ j = q[a + 8 >> 2];
+ a : {
+  b : {
+   o = q[a + 12 >> 2];
+   i = q[o + 36 >> 2];
+   c : {
+    d : {
+     if ((i | 0) <= 0) {
+      l = 6;
+      if (!i) {
+       break d;
+      }
+      break c;
+     }
+     h = n[q[j + 4 >> 2]](j, i) | 0;
+     if (!h) {
+      l = 64;
+      h = 0;
+      break c;
+     }
+     Z$(h, 0, i);
+    }
+    q[h + 100 >> 2] = j;
+    q[h + 96 >> 2] = a;
+    q[h + 104 >> 2] = q[b >> 2];
+    if (c) {
+     q[h + 8 >> 2] = q[h + 8 >> 2] | 1024;
+    }
+    e : {
+     m = n[q[j + 4 >> 2]](j, 68) | 0;
+     if (m) {
+      i = 0;
+      k = Z$(m, 0, 68);
+      q[h + 128 >> 2] = k;
+      q[k + 52 >> 2] = 0;
+      f : {
+       if ((e | 0) < 1) {
+        break f;
+       }
+       a = 0;
+       while (1) {
+        if (i) {
+         break f;
+        }
+        i = 0;
+        c = (a << 3) + f | 0;
+        if (q[c >> 2] == 1768842098) {
+         i = q[c + 4 >> 2];
+         q[k + 52 >> 2] = i;
+        }
+        a = a + 1 | 0;
+        if ((e | 0) != (a | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      q[k + 60 >> 2] = -1;
+      a = q[o + 48 >> 2];
+      g : {
+       if (!a) {
+        q[b >> 2] = q[h + 104 >> 2];
+        break g;
+       }
+       l = n[a](q[b >> 2], h, d, e, f) | 0;
+       q[b >> 2] = q[h + 104 >> 2];
+       if (l) {
+        break e;
+       }
+      }
+      d = q[h + 40 >> 2];
+      if (!d) {
+       break a;
+      }
+      a = d + (q[h + 36 >> 2] << 2) | 0;
+      i = a + -4 | 0;
+      if (i >>> 0 >= d >>> 0) {
+       while (1) {
+        c = q[i >> 2];
+        h : {
+         if (q[c + 4 >> 2] != 1970170211) {
+          break h;
+         }
+         b = s[c + 8 >> 1];
+         if (b >>> 0 > 3) {
+          break h;
+         }
+         i : {
+          switch (b - 1 | 0) {
+          default:
+           if (s[c + 10 >> 1] != 4) {
+            break h;
+           }
+           break b;
+          case 0:
+          case 1:
+           break h;
+          case 2:
+           break i;
+          }
+         }
+         if (s[c + 10 >> 1] == 10) {
+          break b;
+         }
+        }
+        i = i + -4 | 0;
+        if (i >>> 0 >= d >>> 0) {
+         continue;
+        }
+        break;
+       }
+      }
+      while (1) {
+       a = a + -4 | 0;
+       if (a >>> 0 < d >>> 0) {
+        break a;
+       }
+       b = q[a >> 2];
+       if (q[b + 4 >> 2] != 1970170211) {
+        continue;
+       }
+       break;
+      }
+      q[h + 92 >> 2] = b;
+      break a;
+     }
+     l = 64;
+     if (h) {
+      break e;
+     }
+     m = 0;
+     break c;
+    }
+    if (q[h + 36 >> 2] >= 1) {
+     i = 0;
+     while (1) {
+      b = i << 2;
+      d = q[b + q[h + 40 >> 2] >> 2];
+      c = q[q[d >> 2] + 100 >> 2];
+      a = q[q[d + 12 >> 2] + 8 >> 2];
+      if (a) {
+       n[a](d);
+      }
+      n[q[c + 8 >> 2]](c, d);
+      q[b + q[h + 40 >> 2] >> 2] = 0;
+      i = i + 1 | 0;
+      if ((i | 0) < q[h + 36 >> 2]) {
+       continue;
+      }
+      break;
+     }
+    }
+    a = q[h + 40 >> 2];
+    if (a) {
+     n[q[j + 8 >> 2]](j, a);
+    }
+    q[h + 36 >> 2] = 0;
+    q[h + 40 >> 2] = 0;
+    k = h;
+   }
+   a = q[o + 52 >> 2];
+   if (a) {
+    n[a](k);
+   }
+   if (m) {
+    n[q[j + 8 >> 2]](j, m);
+   }
+   if (h) {
+    n[q[j + 8 >> 2]](j, h);
+   }
+   q[g >> 2] = 0;
+   return l;
+  }
+  q[h + 92 >> 2] = c;
+ }
+ q[g >> 2] = h;
+ return 0;
+}
+function PH(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ i = q[(c ? 16 : 12) + b >> 2];
+ f = q[(c ? 8 : 4) + b >> 2];
+ b = w(c, 9516) + a | 0;
+ d = b + 9552 | 0;
+ a : {
+  if ((i | 0) == q[b + 9556 >> 2] ? (f | 0) == q[d >> 2] : 0) {
+   break a;
+  }
+  q[d >> 2] = f;
+  q[b + 9556 >> 2] = i;
+  d = q[a + 9776 >> 2];
+  b : {
+   if (!d) {
+    break b;
+   }
+   b = 0;
+   while (1) {
+    if (!(r[(w(b, 36) + a | 0) + 9812 | 0] & 16)) {
+     b = b + 1 | 0;
+     if (b >>> 0 < d >>> 0) {
+      continue;
+     }
+     break b;
+    }
+    break;
+   }
+   b = Ee(q[(w(b, 36) + a | 0) + 9792 >> 2], f);
+   if ((c | 0) != 1) {
+    break b;
+   }
+   d = q[q[a + 36 >> 2] + 20 >> 2];
+   e = s[q[q[a + 4 >> 2] + 88 >> 2] + 12 >> 1];
+   d = b + (d ? e >>> 0 > 5 ? d >>> 0 >= e >>> 0 ? 52 : 40 : 40 : 40) & -64;
+   if ((d | 0) == (b | 0)) {
+    break b;
+   }
+   e = ue(f, d, b);
+   b = q[a + 40 >> 2];
+   g = q[a + 9776 >> 2];
+   if (g) {
+    d = 0;
+    while (1) {
+     h = w(d, 36) + a | 0;
+     j = q[h + 9804 >> 2];
+     b = (b | 0) > (j | 0) ? b : j;
+     h = 0 - q[h + 9808 >> 2] | 0;
+     b = (b | 0) > (h | 0) ? b : h;
+     d = d + 1 | 0;
+     if ((g | 0) != (d | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   d = e - f | 0;
+   g = Ee(b, d);
+   b = Ee(b, d);
+   f = ((g | 0) < 0 ? 0 - b | 0 : b) >>> 0 < 128 ? e : f;
+  }
+  b = w(c, 9516) + a | 0;
+  q[b + 48 >> 2] = i;
+  q[b + 44 >> 2] = f;
+  c : {
+   if (!c) {
+    q[a + 8 >> 2] = f;
+    b = a + 16 | 0;
+    break c;
+   }
+   q[a + 12 >> 2] = f;
+   b = a + 20 | 0;
+  }
+  q[b >> 2] = i;
+  d = w(c, 9516) + a | 0;
+  h = d + 52 | 0;
+  if (q[h >> 2]) {
+   b = 0;
+   while (1) {
+    e = d + w(b, 12) | 0;
+    g = Ee(q[e + 56 >> 2], f);
+    q[e - -64 >> 2] = g;
+    q[e + 60 >> 2] = g;
+    b = b + 1 | 0;
+    if (b >>> 0 < t[h >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  l = d, m = (Ee(q[d + 252 >> 2], f) | 0) < 40, o[l + 256 | 0] = m;
+  if (!q[a + 9776 >> 2] | (c | 0) != 1) {
+   break a;
+  }
+  d = 0;
+  while (1) {
+   b = w(d, 36) + a | 0;
+   e = b + 9788 | 0;
+   c = b + 9780 | 0;
+   g = Ee(q[c >> 2], f) + i | 0;
+   q[e >> 2] = g;
+   h = b + 9784 | 0;
+   q[h >> 2] = g;
+   g = b + 9800 | 0;
+   j = b + 9792 | 0;
+   k = Ee(q[j >> 2], f) + i | 0;
+   q[g >> 2] = k;
+   q[b + 9796 >> 2] = k;
+   b = b + 9812 | 0;
+   q[b >> 2] = q[b >> 2] & -2;
+   c = Ee(q[c >> 2] - q[j >> 2] | 0, f);
+   if (c + 48 >>> 0 <= 96) {
+    j = e;
+    e = q[h >> 2] + 32 & -64;
+    q[j >> 2] = e;
+    j = e;
+    e = c >> 31;
+    e = e + c ^ e;
+    e = (e | 0) < 32 ? 0 : (e | 0) < 48 ? 32 : 64;
+    q[g >> 2] = j - ((c | 0) < 0 ? 0 - e | 0 : e);
+    q[b >> 2] = q[b >> 2] | 1;
+   }
+   d = d + 1 | 0;
+   c = q[a + 9776 >> 2];
+   if (d >>> 0 < c >>> 0) {
+    continue;
+   }
+   break;
+  }
+  if (!c) {
+   break a;
+  }
+  f = 0;
+  while (1) {
+   b = w(f, 36) + a | 0;
+   i = b + 9812 | 0;
+   e = q[i >> 2];
+   d : {
+    if ((e & 5) != 5) {
+     break d;
+    }
+    g = b + 9788 | 0;
+    h = b + 9800 | 0;
+    b = 0;
+    while (1) {
+     d = w(b, 36) + a | 0;
+     if (!((q[d + 9812 >> 2] & 5) != 1 | q[d + 9788 >> 2] > q[h >> 2] | q[d + 9800 >> 2] < q[g >> 2])) {
+      q[i >> 2] = e & -2;
+      break d;
+     }
+     b = b + 1 | 0;
+     if ((c | 0) != (b | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   f = f + 1 | 0;
+   if ((c | 0) != (f | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Vn(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ k = q[a + 208 >> 2];
+ if (k >>> 0 >= 2) {
+  i = q[a + 172 >> 2];
+  e = q[a + 168 >> 2] + 2528 | 0;
+  c = q[a + 8 >> 2];
+  b = q[a + 12 >> 2];
+  if (b >>> 0 >= 16) {
+   b = b ^ 16;
+   q[a + 12 >> 2] = b;
+   c = c >>> 16 | 0;
+   q[a + 8 >> 2] = c;
+   f = a + 16 | 0;
+   d = q[f >> 2];
+   h = r[d | 0] | r[d + 1 | 0] << 8;
+   g = a + 20 | 0;
+   q[g >> 2] = q[g >> 2] + -2;
+   q[f >> 2] = d + 2;
+   c = c | h << 16;
+   q[a + 8 >> 2] = c;
+  }
+  d = c >>> b | 0;
+  f = e + ((d & 255) << 2) | 0;
+  e = r[f | 0];
+  if (e >>> 0 >= 9) {
+   b = b + 8 | 0;
+   q[a + 12 >> 2] = b;
+   f = (s[f + 2 >> 1] + (q[(e << 2) + 153248 >> 2] & d >>> 8) << 2) + f | 0;
+   e = r[f | 0];
+  }
+  h = i + 1584 | 0;
+  b = (e & 255) + b | 0;
+  q[a + 12 >> 2] = b;
+  i = s[f + 2 >> 1];
+  if (b >>> 0 >= 16) {
+   b = b ^ 16;
+   q[a + 12 >> 2] = b;
+   e = c >>> 16 | 0;
+   q[a + 8 >> 2] = e;
+   c = a + 16 | 0;
+   d = q[c >> 2];
+   f = r[d | 0] | r[d + 1 | 0] << 8;
+   g = a + 20 | 0;
+   q[g >> 2] = q[g >> 2] + -2;
+   q[c >> 2] = d + 2;
+   c = e | f << 16;
+   q[a + 8 >> 2] = c;
+  }
+  e = a;
+  g = c >>> b | 0;
+  f = h + ((g & 255) << 2) | 0;
+  d = r[f | 0];
+  if (d >>> 0 >= 9) {
+   b = b + 8 | 0;
+   q[a + 12 >> 2] = b;
+   f = (s[f + 2 >> 1] + (q[(d << 2) + 153248 >> 2] & g >>> 8) << 2) + f | 0;
+   d = r[f | 0];
+  }
+  b = (d & 255) + b | 0;
+  q[e + 12 >> 2] = b;
+  e = s[f + 2 >> 1];
+  d = e << 2;
+  l = s[d + 153168 >> 1];
+  f = r[d + 153170 | 0];
+  m = a;
+  a : {
+   if ((e | 0) != 25) {
+    if (b >>> 0 >= 16) {
+     b = b ^ 16;
+     q[a + 12 >> 2] = b;
+     c = c >>> 16 | 0;
+     q[a + 8 >> 2] = c;
+     h = a + 16 | 0;
+     e = q[h >> 2];
+     g = r[e | 0] | r[e + 1 | 0] << 8;
+     d = a + 20 | 0;
+     q[d >> 2] = q[d >> 2] + -2;
+     q[h >> 2] = e + 2;
+     c = c | g << 16;
+     q[a + 8 >> 2] = c;
+    }
+    q[a + 12 >> 2] = b + f;
+    b = q[(f << 2) + 153280 >> 2] & c >>> b;
+    break a;
+   }
+   b : {
+    c : {
+     if (b >>> 0 <= 15) {
+      e = b + 16 | 0;
+      q[a + 12 >> 2] = e;
+      d = c >>> b & 65535;
+      h = q[a + 20 >> 2];
+      b = q[a + 16 >> 2];
+      break c;
+     }
+     g = b ^ 16;
+     q[a + 12 >> 2] = g;
+     c = c >>> 16 | 0;
+     q[a + 8 >> 2] = c;
+     b = a + 16 | 0;
+     e = q[b >> 2];
+     d = r[e | 0] | r[e + 1 | 0] << 8;
+     j = a + 20 | 0;
+     h = q[j >> 2] + -2 | 0;
+     q[j >> 2] = h;
+     j = b;
+     b = e + 2 | 0;
+     q[j >> 2] = b;
+     e = g + 16 | 0;
+     q[a + 12 >> 2] = e;
+     c = c | d << 16;
+     q[a + 8 >> 2] = c;
+     d = c >>> g & 65535;
+     if (g >>> 0 > 4294967279) {
+      break b;
+     }
+    }
+    e = e ^ 16;
+    q[a + 12 >> 2] = e;
+    c = c >>> 16 | 0;
+    q[a + 8 >> 2] = c;
+    g = r[b | 0] | r[b + 1 | 0] << 8;
+    q[a + 20 >> 2] = h + -2;
+    q[a + 16 >> 2] = b + 2;
+    c = c | g << 16;
+    q[a + 8 >> 2] = c;
+   }
+   b = f + -16 | 0;
+   q[a + 12 >> 2] = b + e;
+   b = (q[(b << 2) + 153280 >> 2] & c >>> e) << 16 | d;
+  }
+  q[m + 196 >> 2] = b + l;
+  d : {
+   if (i >>> 0 <= 1) {
+    d = q[a + 228 >> 2] + 1 | 0;
+    if (!(i - 1)) {
+     break d;
+    }
+    d = q[a + 224 >> 2];
+    break d;
+   }
+   d = i + -2 | 0;
+  }
+  e = a + 228 | 0;
+  q[a + 224 >> 2] = q[e >> 2];
+  d = d - (d >>> 0 < k >>> 0 ? 0 : k) | 0;
+  q[e >> 2] = d;
+  q[a + 104 >> 2] = q[q[a + 136 >> 2] + (d << 2) >> 2];
+ }
+}
+function Zz(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = x(0), j = x(0), k = 0;
+ h = Ca - 48 | 0;
+ Ca = h;
+ q[h + 40 >> 2] = 0;
+ q[h + 32 >> 2] = 0;
+ q[h + 36 >> 2] = 0;
+ e = q[d + 4 >> 2];
+ NA(h + 8 | 0, a, c);
+ a : {
+  if (!RA(h + 8 | 0, a, b, h + 32 | 0, !e, 0)) {
+   break a;
+  }
+  if (e) {
+   c = q[h + 36 >> 2];
+   if (c >>> 0 >= 5) {
+    f = c + -4 | 0;
+    g = q[h + 40 >> 2];
+    b = 0;
+    while (1) {
+     b : {
+      if (c >>> 0 <= b >>> 0) {
+       a = q[67763];
+       q[160658] = q[67762];
+       q[160659] = a;
+       a = q[67761];
+       q[160656] = q[67760];
+       q[160657] = a;
+       a = 642624;
+       break b;
+      }
+      a = (b << 4) + g | 0;
+     }
+     i = u[d + 12 >> 2];
+     j = u[a + 4 >> 2];
+     u[d + 12 >> 2] = i <= j ? i : j;
+     i = u[d + 16 >> 2];
+     j = u[a + 8 >> 2];
+     u[d + 16 >> 2] = i <= j ? i : j;
+     i = u[d + 20 >> 2];
+     j = u[a + 4 >> 2];
+     u[d + 20 >> 2] = i >= j ? i : j;
+     i = u[d + 24 >> 2];
+     j = u[a + 8 >> 2];
+     u[d + 24 >> 2] = i >= j ? i : j;
+     b = b + 1 | 0;
+     if ((f | 0) != (b | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   SA(d + 12 | 0, q[d >> 2], e);
+  }
+  k = 1;
+  a = q[d + 8 >> 2];
+  if (!a) {
+   break a;
+  }
+  d = q[h + 40 >> 2];
+  c : {
+   d : {
+    e : {
+     f : {
+      g : {
+       b = q[h + 36 >> 2];
+       h : {
+        if (b >>> 0 >= 4) {
+         e = (d + (b << 4) | 0) + -64 | 0;
+         f = q[e + 4 >> 2];
+         q[a >> 2] = q[e >> 2];
+         q[a + 4 >> 2] = f;
+         f = q[e + 12 >> 2];
+         q[a + 8 >> 2] = q[e + 8 >> 2];
+         q[a + 12 >> 2] = f;
+         break h;
+        }
+        g = q[67763];
+        e = g;
+        f = q[67762];
+        q[160658] = f;
+        q[160659] = e;
+        g = q[67761];
+        c = q[67760];
+        q[160656] = c;
+        q[160657] = g;
+        q[a + 8 >> 2] = f;
+        q[a + 12 >> 2] = e;
+        q[a >> 2] = c;
+        q[a + 4 >> 2] = g;
+        if ((b | 0) != 3) {
+         break g;
+        }
+       }
+       e = (d + (b << 4) | 0) + -48 | 0;
+       f = q[e + 4 >> 2];
+       q[a + 16 >> 2] = q[e >> 2];
+       q[a + 20 >> 2] = f;
+       f = q[e + 12 >> 2];
+       q[a + 24 >> 2] = q[e + 8 >> 2];
+       q[a + 28 >> 2] = f;
+       break f;
+      }
+      q[160658] = f;
+      q[160659] = e;
+      q[160656] = c;
+      q[160657] = g;
+      q[a + 24 >> 2] = f;
+      q[a + 28 >> 2] = e;
+      q[a + 16 >> 2] = c;
+      q[a + 20 >> 2] = g;
+      if (b >>> 0 < 2) {
+       break e;
+      }
+     }
+     e = (d + (b << 4) | 0) + -32 | 0;
+     f = q[e + 4 >> 2];
+     q[a + 32 >> 2] = q[e >> 2];
+     q[a + 36 >> 2] = f;
+     f = q[e + 12 >> 2];
+     q[a + 40 >> 2] = q[e + 8 >> 2];
+     q[a + 44 >> 2] = f;
+     break d;
+    }
+    g = q[67763];
+    e = g;
+    f = q[67762];
+    q[160658] = f;
+    q[160659] = e;
+    g = q[67761];
+    c = q[67760];
+    q[160656] = c;
+    q[160657] = g;
+    q[a + 40 >> 2] = f;
+    q[a + 44 >> 2] = e;
+    q[a + 32 >> 2] = c;
+    q[a + 36 >> 2] = g;
+    if (b) {
+     break d;
+    }
+    q[160658] = f;
+    q[160659] = e;
+    q[160656] = c;
+    q[160657] = g;
+    b = 642624;
+    break c;
+   }
+   b = (d + (b << 4) | 0) + -16 | 0;
+  }
+  d = q[b + 4 >> 2];
+  q[a + 48 >> 2] = q[b >> 2];
+  q[a + 52 >> 2] = d;
+  c = q[b + 12 >> 2];
+  q[a + 56 >> 2] = q[b + 8 >> 2];
+  q[a + 60 >> 2] = c;
+ }
+ M$(q[h + 40 >> 2]);
+ Ca = h + 48 | 0;
+ return k;
+}
+function EB(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   d = a + -247 | 0;
+   if (d >>> 0 > 7) {
+    if ((a | 0) == 28) {
+     d = q[b + 12 >> 2];
+     a = q[b + 4 >> 2];
+     c : {
+      if (d >>> 0 >= a >>> 0) {
+       o[b + 16 | 0] = 1;
+       c = 271040;
+       break c;
+      }
+      c = d + q[b >> 2] | 0;
+     }
+     e = r[c | 0] << 8;
+     c = d + 1 | 0;
+     d : {
+      if (c >>> 0 >= a >>> 0) {
+       o[b + 16 | 0] = 1;
+       c = 271040;
+       break d;
+      }
+      c = c + q[b >> 2] | 0;
+     }
+     e = e | r[c | 0];
+     c = q[b + 24 >> 2];
+     e : {
+      if (c >>> 0 < t[b + 32 >> 2]) {
+       q[b + 24 >> 2] = c + 1;
+       c = q[b + 36 >> 2] + (c << 3) | 0;
+       break e;
+      }
+      o[b + 20 | 0] = 1;
+      a = q[67761];
+      q[160656] = q[67760];
+      q[160657] = a;
+      a = q[b + 4 >> 2];
+      c = 642624;
+     }
+     v[c >> 3] = e << 16 >> 16;
+     f : {
+      if (r[b + 16 | 0] | d >>> 0 > a >>> 0) {
+       break f;
+      }
+      d = d + 2 | 0;
+      if (d >>> 0 > a >>> 0) {
+       break f;
+      }
+      break b;
+     }
+     break a;
+    }
+    if (a + -32 >>> 0 <= 214) {
+     d = a + -139 | 0;
+     a = q[b + 24 >> 2];
+     g : {
+      if (a >>> 0 < t[b + 32 >> 2]) {
+       q[b + 24 >> 2] = a + 1;
+       a = q[b + 36 >> 2] + (a << 3) | 0;
+       break g;
+      }
+      o[b + 20 | 0] = 1;
+      a = q[67761];
+      q[160656] = q[67760];
+      q[160657] = a;
+      a = 642624;
+     }
+     v[a >> 3] = d | 0;
+     return;
+    }
+    o[b + 40 | 0] = 1;
+    q[b + 24 >> 2] = 0;
+    return;
+   }
+   h : {
+    switch (d - 4 | 0) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+     c = (a << 16) + -16449536 >> 8;
+     d = q[b + 12 >> 2];
+     a = q[b + 4 >> 2];
+     i : {
+      if (d >>> 0 >= a >>> 0) {
+       o[b + 16 | 0] = 1;
+       e = 271040;
+       break i;
+      }
+      e = d + q[b >> 2] | 0;
+     }
+     e = -108 - (c + r[e | 0] | 0) | 0;
+     c = q[b + 24 >> 2];
+     j : {
+      if (c >>> 0 < t[b + 32 >> 2]) {
+       q[b + 24 >> 2] = c + 1;
+       c = q[b + 36 >> 2] + (c << 3) | 0;
+       break j;
+      }
+      o[b + 20 | 0] = 1;
+      a = q[67761];
+      q[160656] = q[67760];
+      q[160657] = a;
+      a = q[b + 4 >> 2];
+      c = 642624;
+     }
+     v[c >> 3] = e | 0;
+     k : {
+      if (r[b + 16 | 0] | d >>> 0 > a >>> 0) {
+       break k;
+      }
+      d = d + 1 | 0;
+      if (d >>> 0 > a >>> 0) {
+       break k;
+      }
+      break b;
+     }
+     break a;
+    default:
+     break h;
+    }
+   }
+   c = (a << 8) + 2304 | 0;
+   d = q[b + 12 >> 2];
+   a = q[b + 4 >> 2];
+   l : {
+    if (d >>> 0 >= a >>> 0) {
+     o[b + 16 | 0] = 1;
+     e = 271040;
+     break l;
+    }
+    e = d + q[b >> 2] | 0;
+   }
+   e = ((c | r[e | 0]) << 16) + 7077888 >> 16;
+   c = q[b + 24 >> 2];
+   m : {
+    if (c >>> 0 < t[b + 32 >> 2]) {
+     q[b + 24 >> 2] = c + 1;
+     c = q[b + 36 >> 2] + (c << 3) | 0;
+     break m;
+    }
+    o[b + 20 | 0] = 1;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = q[b + 4 >> 2];
+    c = 642624;
+   }
+   v[c >> 3] = e | 0;
+   n : {
+    if (r[b + 16 | 0] | d >>> 0 > a >>> 0) {
+     break n;
+    }
+    d = d + 1 | 0;
+    if (d >>> 0 > a >>> 0) {
+     break n;
+    }
+    break b;
+   }
+   o[b + 16 | 0] = 1;
+   q[b + 12 >> 2] = a;
+   return;
+  }
+  q[b + 12 >> 2] = d;
+  return;
+ }
+ o[b + 16 | 0] = 1;
+ q[b + 12 >> 2] = a;
+}
+function pH(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = Ca - 21616 | 0;
+ Ca = c;
+ d = q[b + 100 >> 2];
+ Z$(c + 14976 | 4, 0, 2756);
+ q[c + 14976 >> 2] = d;
+ q[a + 7504 >> 2] = 0;
+ q[a + 52 >> 2] = 0;
+ d = q[q[(q[q[a >> 2] + 8 >> 2] << 2) + 283840 >> 2] + 16 >> 2];
+ e = GG();
+ f = r[d | 0];
+ a : {
+  if (f) {
+   while (1) {
+    if ((f | 0) == 32) {
+     while (1) {
+      f = r[d + 1 | 0];
+      d = d + 1 | 0;
+      if ((f | 0) == 32) {
+       continue;
+      }
+      break;
+     }
+    }
+    d = qH(d, a, e, c + 12 | 0);
+    b : {
+     if (t[c + 12 >> 2] > 1) {
+      break b;
+     }
+     f = LG(e, c + 16 | 0);
+     MG(e, c + 16 | 0);
+     if (!q[c + 16 >> 2]) {
+      break b;
+     }
+     f = q[f >> 2];
+     if (!f) {
+      break b;
+     }
+     HG(e);
+     if (we(b, f, 1)) {
+      break a;
+     }
+     d = q[b + 84 >> 2];
+     if (p[d + 110 >> 1] < 1) {
+      break a;
+     }
+     Z$(c + 16 | 0, 0, 14948);
+     e = q[a + 40 >> 2];
+     q[c + 32 >> 2] = 0;
+     q[c + 36 >> 2] = 0;
+     q[c + 40 >> 2] = 0;
+     q[c + 44 >> 2] = 0;
+     q[c + 24 >> 2] = 65536;
+     q[c + 28 >> 2] = 65536;
+     q[c + 56 >> 2] = e;
+     q[c + 20 >> 2] = b;
+     q[c + 17716 >> 2] = 0;
+     q[c + 17724 >> 2] = c + 16;
+     if (xH(c + 14976 | 0, d + 108 | 0)) {
+      break a;
+     }
+     q[c + 12 >> 2] = 0;
+     if (KH(c + 14976 | 0, 0)) {
+      break a;
+     }
+     b = 0;
+     LH(c + 14976 | 0, 0, 0, 0);
+     e = q[c + 15020 >> 2];
+     if ((e | 0) >= 1) {
+      d = q[c + 15028 >> 2];
+      f = d + w(e, 44) | 0;
+      while (1) {
+       e = q[d + 20 >> 2];
+       if (!(!e | e >>> 0 <= d >>> 0 | (q[e + 20 >> 2] != (d | 0) | b >>> 0 > 15))) {
+        g = p[d + 2 >> 1] - p[e + 2 >> 1] | 0;
+        e = g >> 31;
+        q[(w(b, 12) + a | 0) + 56 >> 2] = e ^ e + g;
+        b = b + 1 | 0;
+       }
+       d = d + 44 | 0;
+       if (d >>> 0 < f >>> 0) {
+        continue;
+       }
+       break;
+      }
+      q[c + 12 >> 2] = b;
+     }
+     MH(c + 12 | 0, a + 56 | 0, t[c + 56 >> 2] / 100 | 0);
+     q[a + 52 >> 2] = q[c + 12 >> 2];
+     b = 0;
+     q[c + 12 >> 2] = 0;
+     if (KH(c + 14976 | 0, 1)) {
+      break a;
+     }
+     LH(c + 14976 | 0, 0, 0, 1);
+     e = q[c + 16368 >> 2];
+     if ((e | 0) >= 1) {
+      d = q[c + 16376 >> 2];
+      f = d + w(e, 44) | 0;
+      while (1) {
+       e = q[d + 20 >> 2];
+       if (!(!e | e >>> 0 <= d >>> 0 | (q[e + 20 >> 2] != (d | 0) | b >>> 0 > 15))) {
+        g = p[d + 2 >> 1] - p[e + 2 >> 1] | 0;
+        e = g >> 31;
+        q[(w(b, 12) + a | 0) + 7508 >> 2] = e ^ e + g;
+        b = b + 1 | 0;
+       }
+       d = d + 44 | 0;
+       if (d >>> 0 < f >>> 0) {
+        continue;
+       }
+       break;
+      }
+      q[c + 12 >> 2] = b;
+     }
+     MH(c + 12 | 0, a + 7508 | 0, t[c + 56 >> 2] / 100 | 0);
+     q[a + 7504 >> 2] = q[c + 12 >> 2];
+     break a;
+    }
+    f = r[d | 0];
+    if (f) {
+     continue;
+    }
+    break;
+   }
+  }
+  HG(e);
+ }
+ if (q[a + 52 >> 2]) {
+  b = q[a + 56 >> 2];
+ } else {
+  b = (w(q[a + 40 >> 2], 50) | 0) / 2048 | 0;
+ }
+ o[a + 256 | 0] = 0;
+ q[a + 252 >> 2] = b;
+ q[a + 248 >> 2] = (b | 0) / 5;
+ if (q[a + 7504 >> 2]) {
+  b = q[a + 7508 >> 2];
+ } else {
+  b = (w(q[a + 40 >> 2], 50) | 0) / 2048 | 0;
+ }
+ o[a + 7708 | 0] = 0;
+ q[a + 7704 >> 2] = b;
+ q[a + 7700 >> 2] = (b | 0) / 5;
+ NH(c + 14976 | 0);
+ Ca = c + 21616 | 0;
+}
+function UP(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  d = JP(b);
+  b : {
+   c : {
+    if ((d | 0) <= -1) {
+     d = d ^ -1;
+     break c;
+    }
+    f = r[d + 480514 | 0];
+    c = f >>> 5 | 0;
+    if (c >>> 0 >= t[a + 4 >> 2]) {
+     break c;
+    }
+    e = 1;
+    if (q[((c << 2) + a | 0) + 8 >> 2] >>> (f & 31) & 1) {
+     break b;
+    }
+   }
+   d : {
+    if ((d | 0) >= 1) {
+     c = d;
+     while (1) {
+      h = c;
+      c = c + -1 | 0;
+      g = (c << 5) + 444768 | 0;
+      if ((GP(g, b) | 0) != 2) {
+       e : {
+        e = r[c + 480514 | 0];
+        i = e >>> 5 | 0;
+        if (i >>> 0 >= t[a + 4 >> 2]) {
+         break e;
+        }
+        f = b;
+        if (!(q[((i << 2) + a | 0) + 8 >> 2] >>> (e & 31) & 1)) {
+         break e;
+        }
+        while (1) {
+         e = r[g | 0];
+         i = ((e + -65 & 255) >>> 0 < 26 ? e + 32 | 0 : e) & 255;
+         e = r[f | 0];
+         j = ((e + -65 & 255) >>> 0 < 26 ? e + 32 | 0 : e) & 255;
+         if ((i | 0) != (j | 0)) {
+          e = 1;
+          if (j ? 0 : (i | 0) == 45) {
+           break b;
+          }
+          if (i) {
+           break e;
+          }
+          if ((j | 0) == 45) {
+           break b;
+          }
+          break e;
+         }
+         e = 1;
+         g = g + 1 | 0;
+         f = f + 1 | 0;
+         if (i) {
+          continue;
+         }
+         break;
+        }
+        break b;
+       }
+       if ((h | 0) > 1) {
+        continue;
+       }
+      }
+      break;
+     }
+     if ((d | 0) > 245) {
+      break d;
+     }
+    }
+    while (1) {
+     g = (d << 5) + 444768 | 0;
+     if ((GP(g, b) | 0) == 2) {
+      break d;
+     }
+     f : {
+      c = r[d + 480514 | 0];
+      h = c >>> 5 | 0;
+      if (h >>> 0 >= t[a + 4 >> 2]) {
+       break f;
+      }
+      f = b;
+      if (!(q[((h << 2) + a | 0) + 8 >> 2] >>> (c & 31) & 1)) {
+       break f;
+      }
+      while (1) {
+       c = r[g | 0];
+       c = ((c + -65 & 255) >>> 0 < 26 ? c + 32 | 0 : c) & 255;
+       h = r[f | 0];
+       h = ((h + -65 & 255) >>> 0 < 26 ? h + 32 | 0 : h) & 255;
+       if ((c | 0) != (h | 0)) {
+        e = 1;
+        if (h ? 0 : (c | 0) == 45) {
+         break b;
+        }
+        if (c) {
+         break f;
+        }
+        if ((h | 0) == 45) {
+         break b;
+        }
+        break f;
+       }
+       e = 1;
+       g = g + 1 | 0;
+       f = f + 1 | 0;
+       if (c) {
+        continue;
+       }
+       break;
+      }
+      break b;
+     }
+     d = d + 1 | 0;
+     if ((d | 0) != 246) {
+      continue;
+     }
+     break;
+    }
+   }
+   e = 0;
+   a = q[a >> 2];
+   if (!a) {
+    break b;
+   }
+   a = yQ(a);
+   if (!a) {
+    break b;
+   }
+   g : while (1) {
+    h : {
+     g = b;
+     f = zQ(a);
+     if (!f) {
+      break h;
+     }
+     while (1) {
+      c = r[f | 0];
+      c = ((c + -65 & 255) >>> 0 < 26 ? c + 32 | 0 : c) & 255;
+      d = r[g | 0];
+      d = ((d + -65 & 255) >>> 0 < 26 ? d + 32 | 0 : d) & 255;
+      if ((c | 0) != (d | 0)) {
+       if (d ? 0 : (c | 0) == 45) {
+        break a;
+       }
+       if ((d | 0) != 45 | c) {
+        continue g;
+       }
+       break a;
+      }
+      f = f + 1 | 0;
+      g = g + 1 | 0;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     break a;
+    }
+    break;
+   }
+   AQ(a);
+  }
+  return e;
+ }
+ AQ(a);
+ return 1;
+}
+function aR(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ b = Ca - 176 | 0;
+ Ca = b;
+ if (!LS(a, b + 168 | 0, 8)) {
+  pS(a, 8, 80);
+ }
+ if (!LS(a, b + 168 | 0, 7)) {
+  pS(a, 7, 0);
+ }
+ if (!LS(a, b + 168 | 0, 9)) {
+  pS(a, 9, 100);
+ }
+ if (!LS(a, b + 168 | 0, 17)) {
+  tS(a, 17, 1);
+ }
+ if (!LS(a, b + 168 | 0, 18)) {
+  tS(a, 18, 0);
+ }
+ if (!LS(a, b + 168 | 0, 19)) {
+  tS(a, 19, 0);
+ }
+ if (!LS(a, b + 168 | 0, 20)) {
+  tS(a, 20, 1);
+ }
+ if (!LS(a, b + 168 | 0, 39)) {
+  tS(a, 39, 1);
+ }
+ if (!LS(a, b + 168 | 0, 40)) {
+  tS(a, 40, 0);
+ }
+ if (!LS(a, b + 168 | 0, 48)) {
+  tS(a, 48, 0);
+ }
+ if (!LS(a, b + 168 | 0, 50)) {
+  tS(a, 50, 0);
+ }
+ if (CS(a, 10, b + 104 | 0)) {
+  d = 12;
+  a : {
+   if (HS(a, b + 120 | 0)) {
+    break a;
+   }
+   if (!hP(q[b + 120 >> 2], b + 152 | 0, b + 136 | 0)) {
+    break a;
+   }
+   d = (v[b + 152 >> 3] + v[b + 136 >> 3]) * .5;
+  }
+  v[b + 104 >> 3] = d;
+ }
+ if (CS(a, 28, b + 96 | 0)) {
+  q[b + 96 >> 2] = 0;
+  q[b + 100 >> 2] = 1072693248;
+ }
+ if (CS(a, 26, b + 112 | 0)) {
+  q[b + 112 >> 2] = 0;
+  q[b + 116 >> 2] = 1079164928;
+ }
+ b : {
+  if (!LS(a, b + 168 | 0, 12)) {
+   oS(a, 28);
+   qS(a, 28, v[b + 96 >> 3]);
+   d = v[b + 96 >> 3];
+   f = v[b + 104 >> 3];
+   oS(a, 26);
+   qS(a, 26, v[b + 112 >> 3]);
+   qS(a, 12, f * d * (v[b + 112 >> 3] / 72));
+   break b;
+  }
+  MS(b + 168 | 0, b + 152 | 0);
+  v[b + 104 >> 3] = v[b + 160 >> 3] / v[b + 112 >> 3] * 72 / v[b + 96 >> 3];
+ }
+ oS(a, 10);
+ qS(a, 10, v[b + 104 >> 3]);
+ if (!LS(a, b + 168 | 0, 35)) {
+  pS(a, 35, 2147483647);
+ }
+ if (!LS(a, b + 168 | 0, 16)) {
+  pS(a, 16, 3);
+ }
+ if (!LS(a, b + 168 | 0, 42)) {
+  while (1) {
+   c : {
+    c = q[160823];
+    if (c) {
+     break c;
+    }
+    c = mZ(q[q[_Q() + 12 >> 2] >> 2]);
+    e = q[160823];
+    q[160823] = e ? e : c;
+    if (!e) {
+     break c;
+    }
+    M$(c);
+    continue;
+   }
+   break;
+  }
+  rS(a, 42, c);
+ }
+ zS(a, 42, b + 136 | 0);
+ q[b + 128 >> 2] = 486026;
+ q[b + 120 >> 2] = 3;
+ if (!LS(a, b + 168 | 0, 2)) {
+  c = q[b + 148 >> 2];
+  q[b + 88 >> 2] = q[b + 144 >> 2];
+  q[b + 92 >> 2] = c;
+  c = q[b + 140 >> 2];
+  q[b + 80 >> 2] = q[b + 136 >> 2];
+  q[b + 84 >> 2] = c;
+  mS(a, 2, b + 80 | 0);
+  c = q[b + 132 >> 2];
+  q[b + 72 >> 2] = q[b + 128 >> 2];
+  q[b + 76 >> 2] = c;
+  c = q[b + 124 >> 2];
+  q[b + 64 >> 2] = q[b + 120 >> 2];
+  q[b + 68 >> 2] = c;
+  lS(a, 2, b - -64 | 0, 0);
+ }
+ if (!LS(a, b + 168 | 0, 4)) {
+  c = q[b + 148 >> 2];
+  q[b + 56 >> 2] = q[b + 144 >> 2];
+  q[b + 60 >> 2] = c;
+  c = q[b + 140 >> 2];
+  q[b + 48 >> 2] = q[b + 136 >> 2];
+  q[b + 52 >> 2] = c;
+  mS(a, 4, b + 48 | 0);
+  c = q[b + 132 >> 2];
+  q[b + 40 >> 2] = q[b + 128 >> 2];
+  q[b + 44 >> 2] = c;
+  c = q[b + 124 >> 2];
+  q[b + 32 >> 2] = q[b + 120 >> 2];
+  q[b + 36 >> 2] = c;
+  lS(a, 4, b + 32 | 0, 0);
+ }
+ if (!LS(a, b + 168 | 0, 6)) {
+  c = q[b + 148 >> 2];
+  q[b + 24 >> 2] = q[b + 144 >> 2];
+  q[b + 28 >> 2] = c;
+  c = q[b + 140 >> 2];
+  q[b + 16 >> 2] = q[b + 136 >> 2];
+  q[b + 20 >> 2] = c;
+  mS(a, 6, b + 16 | 0);
+  c = q[b + 132 >> 2];
+  q[b + 8 >> 2] = q[b + 128 >> 2];
+  q[b + 12 >> 2] = c;
+  c = q[b + 124 >> 2];
+  q[b >> 2] = q[b + 120 >> 2];
+  q[b + 4 >> 2] = c;
+  lS(a, 6, b, 0);
+ }
+ d : {
+  if ((zS(a, 44, b + 152 | 0) | 0) != 1) {
+   break d;
+  }
+  c = $Q();
+  if (!c) {
+   break d;
+  }
+  rS(a, 44, c);
+ }
+ Ca = b + 176 | 0;
+}
+function aO(a, b, c, d, e, f, g) {
+ var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0;
+ h = Ca - 128 | 0;
+ Ca = h;
+ p = v[c >> 3];
+ i = v[(f << 3) + e >> 3];
+ r = (p + v[d >> 3]) * i;
+ v[h + 104 >> 3] = r;
+ m = i;
+ i = v[c + 8 >> 3];
+ m = m * (i + v[d + 8 >> 3]);
+ v[h + 112 >> 3] = m;
+ a : {
+  if (f) {
+   j = q[b + 4 >> 2];
+   q[h + 96 >> 2] = q[b >> 2];
+   q[h + 100 >> 2] = j;
+   j = q[c + 12 >> 2];
+   q[h + 88 >> 2] = q[c + 8 >> 2];
+   q[h + 92 >> 2] = j;
+   n = q[c >> 2];
+   k = q[c + 4 >> 2];
+   o = h + 112 | 0;
+   j = o;
+   c = q[j + 4 >> 2];
+   q[h + 72 >> 2] = q[j >> 2];
+   q[h + 76 >> 2] = c;
+   q[h + 80 >> 2] = n;
+   q[h + 84 >> 2] = k;
+   c = q[h + 108 >> 2];
+   q[h + 64 >> 2] = q[h + 104 >> 2];
+   q[h + 68 >> 2] = c;
+   j = f + -1 | 0;
+   l = 0;
+   if (!aO(a, h + 96 | 0, h + 80 | 0, h - -64 | 0, e, j, g)) {
+    break a;
+   }
+   f = q[b >> 2];
+   c = q[b + 4 >> 2];
+   b = q[o + 4 >> 2];
+   q[h + 48 >> 2] = q[o >> 2];
+   q[h + 52 >> 2] = b;
+   b = q[h + 108 >> 2];
+   q[h + 40 >> 2] = q[h + 104 >> 2];
+   q[h + 44 >> 2] = b;
+   q[h + 56 >> 2] = f;
+   q[h + 60 >> 2] = c;
+   b = q[d + 12 >> 2];
+   q[h + 32 >> 2] = q[d + 8 >> 2];
+   q[h + 36 >> 2] = b;
+   b = q[d + 4 >> 2];
+   q[h + 24 >> 2] = q[d >> 2];
+   q[h + 28 >> 2] = b;
+   l = aO(a, h + 56 | 0, h + 40 | 0, h + 24 | 0, e, j, g);
+   break a;
+  }
+  i = i * v[a + 24 >> 3];
+  b : {
+   if (y(i) < 2147483648) {
+    d = ~~i;
+    break b;
+   }
+   d = -2147483648;
+  }
+  n = g & 1;
+  i = p * v[a + 16 >> 3];
+  c : {
+   if (y(i) < 2147483648) {
+    c = ~~i;
+    break c;
+   }
+   c = -2147483648;
+  }
+  k = q[b + 4 >> 2];
+  j = q[b >> 2];
+  if (n) {
+   q[h + 124 >> 2] = d + k;
+   q[h + 120 >> 2] = c + j;
+   f = q[a >> 2];
+   e = q[h + 124 >> 2];
+   q[h + 16 >> 2] = q[h + 120 >> 2];
+   q[h + 20 >> 2] = e;
+   l = 0;
+   if (!TN(f, h + 16 | 0, 2)) {
+    break a;
+   }
+  }
+  f = g & 2;
+  if (f) {
+   q[h + 124 >> 2] = k - d;
+   q[h + 120 >> 2] = j - c;
+   d = q[a + 4 >> 2];
+   c = q[h + 124 >> 2];
+   q[h + 8 >> 2] = q[h + 120 >> 2];
+   q[h + 12 >> 2] = c;
+   l = 0;
+   if (!TN(d, h + 8 | 0, 2)) {
+    break a;
+   }
+  }
+  i = m * v[a + 24 >> 3];
+  d : {
+   if (y(i) < 2147483648) {
+    e = ~~i;
+    break d;
+   }
+   e = -2147483648;
+  }
+  i = r * v[a + 16 >> 3];
+  e : {
+   if (y(i) < 2147483648) {
+    d = ~~i;
+    break e;
+   }
+   d = -2147483648;
+  }
+  j = q[b + 4 >> 2];
+  g = q[b >> 2];
+  if (n) {
+   k = q[a >> 2];
+   c = q[k >> 2];
+   b = q[k + 4 >> 2];
+   if (c >>> 0 >= b >>> 0) {
+    q[160854] = 0;
+    b = b << 1;
+    s = k, t = Md(q[k + 16 >> 2], b, 8), q[s + 16 >> 2] = t;
+    l = 0;
+    if (q[160854]) {
+     break a;
+    }
+    q[k + 4 >> 2] = b;
+    c = q[k >> 2];
+   }
+   c = q[k + 16 >> 2] + (c << 3) | 0;
+   q[c >> 2] = d + g;
+   q[c + 4 >> 2] = e + j;
+   q[k >> 2] = q[k >> 2] + 1;
+  }
+  l = 1;
+  if (!f) {
+   break a;
+  }
+  f = q[a + 4 >> 2];
+  c = q[f >> 2];
+  a = q[f + 4 >> 2];
+  if (c >>> 0 >= a >>> 0) {
+   q[160854] = 0;
+   a = a << 1;
+   s = f, t = Md(q[f + 16 >> 2], a, 8), q[s + 16 >> 2] = t;
+   l = 0;
+   if (q[160854]) {
+    break a;
+   }
+   q[f + 4 >> 2] = a;
+   c = q[f >> 2];
+  }
+  b = q[f + 16 >> 2] + (c << 3) | 0;
+  q[b >> 2] = g - d;
+  q[b + 4 >> 2] = j - e;
+  q[f >> 2] = q[f >> 2] + 1;
+  l = 1;
+ }
+ a = l;
+ Ca = h + 128 | 0;
+ return a;
+}
+function Es(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ f = Hq(b);
+ q[a + 28 >> 2] = f;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       while (1) {
+        o[a + 20 | 0] = c;
+        d = q[f + 12 >> 2];
+        q[a + 4 >> 2] = d;
+        g = q[f + 16 >> 2];
+        q[a + 8 >> 2] = g + d;
+        if ((g | 0) <= -1) {
+         break e;
+        }
+        q[a + 24 >> 2] = 0;
+        h = a;
+        if (g >>> 0 > 536870910) {
+         c = 1073741823;
+        } else {
+         c = g << 3;
+         c = c >>> 0 > 16384 ? c : 16384;
+         c = c >>> 0 < 1073741823 ? c : 1073741823;
+        }
+        q[h + 12 >> 2] = c;
+        q[a >> 2] = 0;
+        if (!d) {
+         Cq(f);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         break a;
+        }
+        if (g >>> 0 <= 11) {
+         break d;
+        }
+        q[a + 12 >> 2] = c + -1;
+        if ((r[d + 1 | 0] | r[d | 0] << 8) != 1) {
+         break d;
+        }
+        q[e + 12 >> 2] = d;
+        g : {
+         h = d + 6 | 0;
+         h : {
+          if (!Fs(h, a, d, e + 12 | 0)) {
+           if (q[a + 24 >> 2]) {
+            break h;
+           }
+           break d;
+          }
+          q[e + 8 >> 2] = d;
+          f = d + 8 | 0;
+          g = Fs(f, a, d, e + 8 | 0);
+          c = q[a + 24 >> 2];
+          if (g) {
+           if (!c) {
+            break g;
+           }
+           q[a + 24 >> 2] = 0;
+           i : {
+            j : {
+             k : {
+              if (t[a + 4 >> 2] > d >>> 0) {
+               break k;
+              }
+              c = q[a + 8 >> 2];
+              if (c >>> 0 < d >>> 0) {
+               break k;
+              }
+              if (c - d >>> 0 > 11) {
+               break j;
+              }
+             }
+             c = 1;
+             break i;
+            }
+            g = q[a + 12 >> 2];
+            q[a + 12 >> 2] = g + -1;
+            c = 1;
+            if ((r[d + 1 | 0] | r[d | 0] << 8) != 1 | (g | 0) < 1) {
+             break i;
+            }
+            q[e + 12 >> 2] = d;
+            if (!Fs(h, a, d, e + 12 | 0)) {
+             break i;
+            }
+            q[e + 8 >> 2] = d;
+            c = Fs(f, a, d, e + 8 | 0) ^ 1;
+           }
+           h = q[a + 24 >> 2];
+           Cq(q[a + 28 >> 2]);
+           q[a + 28 >> 2] = 0;
+           q[a + 4 >> 2] = 0;
+           q[a + 8 >> 2] = 0;
+           if (c) {
+            break b;
+           }
+           if (!h) {
+            break f;
+           }
+           break b;
+          }
+          if (!c) {
+           break d;
+          }
+         }
+         if (r[a + 20 | 0]) {
+          break d;
+         }
+         h = Iq(b);
+         q[a + 4 >> 2] = h;
+         q[a + 8 >> 2] = h + q[b + 16 >> 2];
+         f = q[a + 28 >> 2];
+         c = 1;
+         if (h) {
+          continue;
+         }
+         break c;
+        }
+        break;
+       }
+       Cq(q[a + 28 >> 2]);
+       q[a + 28 >> 2] = 0;
+       q[a + 4 >> 2] = 0;
+       q[a + 8 >> 2] = 0;
+      }
+      Gq(b);
+      break a;
+     }
+     J(228144, 228169, 195, 228186);
+     F();
+    }
+    f = q[a + 28 >> 2];
+   }
+   Cq(f);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  b = 271040;
+ }
+ Ca = e + 16 | 0;
+ return b;
+}
+function nE(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = 8;
+ b = q[a >> 2];
+ g = Fy(b);
+ f = g >>> 8 | 0;
+ a : {
+  b : {
+   c : {
+    if (b + -2387 >>> 0 < 2) {
+     break c;
+    }
+    c = 1;
+    d : {
+     e : {
+      f : {
+       e = b + -7394 | 0;
+       if (e >>> 0 > 20) {
+        break f;
+       }
+       d = 1 << e;
+       if (!(d & 2175)) {
+        if (d & 1920) {
+         break e;
+        }
+        if (!(1 << e & 1572864)) {
+         break f;
+        }
+        break c;
+       }
+       c = 10;
+       break c;
+      }
+      if (b + -43250 >>> 0 < 6) {
+       break e;
+      }
+      if (b + -2674 >>> 0 < 2) {
+       break c;
+      }
+      if (b + -7406 >>> 0 < 4) {
+       c = 18;
+       break c;
+      }
+      if ((b | 0) == 2641) {
+       d = 12;
+       e = 7;
+       break a;
+      }
+      c = 8;
+      if ((b | 2) == 70403) {
+       break c;
+      }
+      c = 3;
+      if (b + -70459 >>> 0 < 2) {
+       break c;
+      }
+      g : {
+       if ((b | 0) <= 2810) {
+        if ((b | 0) == 2432 | (b | 0) == 2556) {
+         break g;
+        }
+        break d;
+       }
+       if ((b | 0) == 2811) {
+        break c;
+       }
+       if ((b | 0) != 3200) {
+        break d;
+       }
+      }
+      c = 11;
+      break c;
+     }
+     c = 18;
+     break c;
+    }
+    if ((b & -2) == 8208) {
+     c = 11;
+     break c;
+    }
+    c = 12;
+    if ((b | 0) == 9676) {
+     break c;
+    }
+    d = 0;
+    c = g & 127;
+    if (c >>> 0 >= 32) {
+     break b;
+    }
+   }
+   d = 1 << c;
+   if (d & 727046) {
+    d = 4;
+    h : {
+     if ((b | 0) <= 2991) {
+      if ((b | 0) <= 2607) {
+       if ((b | 0) == 2352 | (b | 0) == 2480 | (b | 0) == 2544) {
+        break h;
+       }
+       e = c;
+       break a;
+      }
+      if ((b | 0) == 2608 | (b | 0) == 2736 | (b | 0) == 2864) {
+       break h;
+      }
+      e = c;
+      break a;
+     }
+     if ((b | 0) <= 3375) {
+      if ((b | 0) == 2992 | (b | 0) == 3120 | (b | 0) == 3248) {
+       break h;
+      }
+      e = c;
+      break a;
+     }
+     if ((b | 0) == 3376 | (b | 0) == 6042 | (b | 0) == 3515) {
+      break h;
+     }
+     e = c;
+     break a;
+    }
+    e = 16;
+    break a;
+   }
+   e = 7;
+   if ((c | 0) != 7) {
+    break b;
+   }
+   i : {
+    c = f + -3 | 0;
+    if (c >>> 0 > 8) {
+     break i;
+    }
+    d = 2;
+    j : {
+     switch (c - 1 | 0) {
+     case 7:
+      c = b + -2432 >>> 7 | 0;
+      if (c >>> 0 > 7) {
+       d = 9;
+       break a;
+      }
+      k : {
+       switch (c - 5 | 0) {
+       case 0:
+        d = b >>> 0 < 3139 ? 7 : 9;
+        break a;
+       case 1:
+        d = b + -3267 >>> 0 > 19 ? 7 : 9;
+        break a;
+       default:
+        break k;
+       }
+      }
+      d = 12;
+      break a;
+     case 2:
+      d = 9;
+      c = b + -2560 | 0;
+      if (c >>> 0 >= 768) {
+       break a;
+      }
+      d = q[(c >>> 5 & 134217724) + 267576 >> 2];
+      break a;
+     case 0:
+     case 1:
+     case 3:
+     case 5:
+     case 6:
+      break i;
+     case 4:
+      break j;
+     default:
+      break a;
+     }
+    }
+    d = 9;
+    c = b + -2560 | 0;
+    if (c >>> 0 >= 896) {
+     break a;
+    }
+    d = q[(c >>> 5 & 134217724) + 267600 >> 2];
+    break a;
+   }
+   d = f;
+   break a;
+  }
+  d = d & 263424 ? 14 : f;
+  e = c;
+ }
+ o[a + 18 | 0] = e;
+ o[a + 19 | 0] = (b | 0) == 2817 ? 7 : d;
+}
+function bu(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0;
+ p = Ca - 160 | 0;
+ Ca = p;
+ f = Mt(p + 8 | 0, 1, b, c);
+ q[f + 116 >> 2] = d;
+ q[f + 128 >> 2] = 8;
+ q[f + 32 >> 2] = 0;
+ q[f + 8 >> 2] = 8;
+ q[f + 76 >> 2] = 0;
+ q[f + 48 >> 2] = f;
+ q[f + 68 >> 2] = 0;
+ q[f + 72 >> 2] = 0;
+ q[f + 60 >> 2] = -1;
+ o[f + 57 | 0] = 1;
+ q[f + 52 >> 2] = 8;
+ q[f + 24 >> 2] = 0;
+ q[f + 28 >> 2] = 0;
+ q[f + 16 >> 2] = d;
+ o[f + 13 | 0] = r[f + 142 | 0];
+ e = q[f + 120 >> 2] == 1;
+ o[f + 12 | 0] = e;
+ o[f + 56 | 0] = e | r[f + 141 | 0] != 0;
+ q[f + 4 >> 2] = f;
+ s = q[c + 76 >> 2];
+ if (s) {
+  l = q[c + 96 >> 2];
+  t = q[c + 88 >> 2];
+  z = (q[c + 48 >> 2] & -2) != 4;
+  while (1) {
+   a : {
+    b : {
+     m = k;
+     i = w(k, 20);
+     g = i + t | 0;
+     if (!(q[g + 4 >> 2] & d)) {
+      break b;
+     }
+     q[f + 36 >> 2] = 1;
+     q[f >> 2] = m;
+     k = q[q[f + 4 >> 2] + 96 >> 2];
+     q[f + 40 >> 2] = q[k + 76 >> 2];
+     o[f + 20 | 0] = (m | 0) == q[k + 72 >> 2] ? r[(i + q[k + 88 >> 2] | 0) + 15 | 0] : 0;
+     if (!Xt(f)) {
+      break b;
+     }
+     k = q[f >> 2];
+     e = q[a >> 2];
+     u = r[e + 10 | 0];
+     j = ((u << 1) + e | 0) + 14 | 0;
+     g = q[g >> 2];
+     h = r[e + 9 | 0] | r[e + 8 | 0] << 8;
+     v = r[(h >>> 0 > g >>> 0 ? j + g | 0 : 271040) | 0];
+     x = r[e + 11 | 0];
+     if (v >>> 0 >= x >>> 0) {
+      break a;
+     }
+     n = h + j | 0;
+     g = w(k, 20);
+     j = q[t + g >> 2];
+     y = r[(h >>> 0 > j >>> 0 ? n + j | 0 : 271040) | 0];
+     j = r[e + 12 | 0];
+     if (y >>> 0 >= j >>> 0) {
+      break a;
+     }
+     n = h + n | 0;
+     h = w(j, v) + y | 0;
+     h = r[(w(j, x) >>> 0 > h >>> 0 ? n + h | 0 : 271040) | 0];
+     e = u >>> 0 > h >>> 0 ? (e + (h << 1) | 0) + 14 | 0 : 271040;
+     e = r[e | 0] | r[e + 1 | 0] << 8;
+     e = (e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24)) >>> 16 | 0;
+     if (!e) {
+      break a;
+     }
+     c : {
+      if (!z) {
+       h = e << 16;
+       e = h >> 31;
+       e = T0(q[b + 32 >> 2], q[b + 36 >> 2], h >> 16, e);
+       e = (Ea & 65535) << 16 | e >>> 16;
+       if (r[a + 4 | 0]) {
+        q[(g + l | 0) + 12 >> 2] = e;
+        q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+        break c;
+       }
+       i = i + l | 0;
+       h = i;
+       j = q[i >> 2];
+       i = e >> 1;
+       q[h >> 2] = j + i;
+       g = g + l | 0;
+       e = e - i | 0;
+       q[g >> 2] = e + q[g >> 2];
+       q[g + 8 >> 2] = e + q[g + 8 >> 2];
+       break c;
+      }
+      h = e << 16;
+      e = h >> 31;
+      e = T0(q[b + 40 >> 2], q[b + 44 >> 2], h >> 16, e);
+      e = (Ea & 65535) << 16 | e >>> 16;
+      if (r[a + 4 | 0]) {
+       q[(g + l | 0) + 8 >> 2] = e;
+       q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+       break c;
+      }
+      i = i + l | 0;
+      h = i;
+      j = q[i + 4 >> 2];
+      i = e >> 1;
+      q[h + 4 >> 2] = j + i;
+      g = g + l | 0;
+      e = e - i | 0;
+      q[g + 4 >> 2] = e + q[g + 4 >> 2];
+      q[g + 12 >> 2] = e + q[g + 12 >> 2];
+     }
+     e = k + 1 | 0;
+     if (e - m >>> 0 < 2) {
+      break a;
+     }
+     DG(c, m, e);
+     k = q[f >> 2];
+     break a;
+    }
+    k = m + 1 | 0;
+   }
+   if (k >>> 0 < s >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = p + 160 | 0;
+}
+function xz(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ e = q[b + 4 >> 2];
+ q[a >> 2] = q[b >> 2];
+ q[a + 4 >> 2] = e;
+ q[a + 8 >> 2] = q[b + 8 >> 2];
+ q[a + 24 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ o[a + 20 | 0] = 0;
+ o[a + 16 | 0] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 32 >> 2] = 0;
+ q[a + 36 >> 2] = 0;
+ e = L$(18976);
+ a : {
+  b : {
+   if (e) {
+    q[a + 28 >> 2] = 593;
+    q[a + 36 >> 2] = e;
+    f = q[a + 32 >> 2];
+    if (f >>> 0 <= 512) {
+     g = e;
+     e = f << 5;
+     Z$(g + e | 0, 0, 16416 - e | 0);
+    }
+    h = 513;
+    q[a + 32 >> 2] = 513;
+    break b;
+   }
+   q[a + 28 >> 2] = -1;
+   h = q[a + 32 >> 2];
+   if (!h) {
+    break a;
+   }
+  }
+  g = q[a + 36 >> 2];
+  e = 0;
+  while (1) {
+   f = (e << 5) + g | 0;
+   q[f >> 2] = 0;
+   q[f + 4 >> 2] = 0;
+   q[f + 16 >> 2] = 0;
+   q[f + 20 >> 2] = 0;
+   q[f + 24 >> 2] = 0;
+   e = e + 1 | 0;
+   if ((h | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ o[a + 40 | 0] = 0;
+ e = q[b + 4 >> 2];
+ f = q[b >> 2];
+ q[a + 52 >> 2] = q[b + 8 >> 2];
+ q[a + 44 >> 2] = f;
+ q[a + 48 >> 2] = e;
+ q[a + 128 >> 2] = 0;
+ q[a + 132 >> 2] = 0;
+ o[a + 73 | 0] = 1;
+ o[a + 74 | 0] = 0;
+ b = a - -64 | 0;
+ q[b >> 2] = 0;
+ q[b + 4 >> 2] = 0;
+ o[a + 60 | 0] = 0;
+ q[a + 56 >> 2] = 0;
+ q[a + 136 >> 2] = 0;
+ q[a + 140 >> 2] = 0;
+ q[a + 92 >> 2] = 0;
+ q[a + 96 >> 2] = 0;
+ q[a + 100 >> 2] = 0;
+ q[a + 104 >> 2] = 0;
+ q[a + 76 >> 2] = 0;
+ q[a + 80 >> 2] = 0;
+ o[a + 81 | 0] = 0;
+ o[a + 82 | 0] = 0;
+ o[a + 83 | 0] = 0;
+ o[a + 84 | 0] = 0;
+ o[a + 85 | 0] = 0;
+ o[a + 86 | 0] = 0;
+ o[a + 87 | 0] = 0;
+ o[a + 88 | 0] = 0;
+ b = L$(560);
+ c : {
+  d : {
+   if (b) {
+    q[a + 96 >> 2] = 20;
+    q[a + 104 >> 2] = b;
+    e = q[a + 100 >> 2];
+    if (e >>> 0 <= 9) {
+     Z$(b + w(e, 28) | 0, 0, w(10 - e | 0, 28));
+    }
+    e = 10;
+    q[a + 100 >> 2] = 10;
+    break d;
+   }
+   q[a + 96 >> 2] = -1;
+   e = q[a + 100 >> 2];
+   if (!e) {
+    break c;
+   }
+  }
+  f = 0;
+  while (1) {
+   e : {
+    if (e >>> 0 <= f >>> 0) {
+     q[160662] = q[67766];
+     b = q[67765];
+     q[160660] = q[67764];
+     q[160661] = b;
+     b = q[67763];
+     q[160658] = q[67762];
+     q[160659] = b;
+     b = q[67761];
+     q[160656] = q[67760];
+     q[160657] = b;
+     b = 642624;
+     break e;
+    }
+    b = q[a + 104 >> 2] + w(f, 28) | 0;
+   }
+   q[b + 20 >> 2] = 0;
+   q[b + 24 >> 2] = 0;
+   q[b >> 2] = 0;
+   q[b + 4 >> 2] = 0;
+   o[b + 16 | 0] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   f = f + 1 | 0;
+   e = q[a + 100 >> 2];
+   if (f >>> 0 < e >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[a + 112 >> 2] = c;
+ f : {
+  g : {
+   if (c) {
+    b = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+    b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+    if (b >>> 0 > 1239) {
+     break g;
+    }
+   }
+   q[a + 108 >> 2] = 107;
+   break f;
+  }
+  if (b >>> 0 <= 33899) {
+   q[a + 108 >> 2] = 1131;
+   break f;
+  }
+  q[a + 108 >> 2] = 32768;
+ }
+ q[a + 120 >> 2] = d;
+ h : {
+  if (d) {
+   b = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+   b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+   if (b >>> 0 > 1239) {
+    break h;
+   }
+  }
+  q[a + 116 >> 2] = 107;
+  return;
+ }
+ if (b >>> 0 <= 33899) {
+  q[a + 116 >> 2] = 1131;
+  return;
+ }
+ q[a + 116 >> 2] = 32768;
+}
+function vg(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ e = Ca - 48 | 0;
+ Ca = e;
+ a : {
+  b : {
+   c : {
+    d : {
+     if (!iZ(b, 3857)) {
+      if (d) {
+       b = L_(c, e + 12 | 0, 10);
+       q[e + 16 >> 2] = b;
+       d = c;
+       c = q[e + 12 >> 2];
+       if ((d | 0) == (c | 0) | r[c | 0] != 44) {
+        break b;
+       }
+       c = c + 1 | 0;
+       l = e, m = L_(c, e + 12 | 0, 10), q[l + 20 >> 2] = m;
+       d = c;
+       c = q[e + 12 >> 2];
+       if ((d | 0) == (c | 0)) {
+        break b;
+       }
+       if (r[c | 0] == 44) {
+        break d;
+       }
+       break b;
+      }
+      b = q[c >> 2];
+      break c;
+     }
+     if (!iZ(b, 3878)) {
+      if (d) {
+       f = 6;
+       if (iZ(c, 3893)) {
+        break a;
+       }
+       q[a + 28 >> 2] = 1;
+       f = 0;
+       break a;
+      }
+      f = 7;
+      if (q[c >> 2] != 1) {
+       break a;
+      }
+      q[a + 28 >> 2] = 1;
+      f = 0;
+      break a;
+     }
+     if (!iZ(b, 3899)) {
+      if (d) {
+       l = a, m = (L_(c, 0, 10) | 0) != 0, o[l + 32 | 0] = m;
+       break a;
+      }
+      o[a + 32 | 0] = r[c | 0];
+      break a;
+     }
+     f = 12;
+     if (iZ(b, 3917)) {
+      break a;
+     }
+     f = 0;
+     e : {
+      if (d) {
+       b = L_(c, 0, 10);
+       break e;
+      }
+      b = q[c >> 2];
+     }
+     q[a + 68 >> 2] = (b | 0) > 0 ? b : 0;
+     break a;
+    }
+    c = c + 1 | 0;
+    l = e, m = L_(c, e + 12 | 0, 10), q[l + 24 >> 2] = m;
+    d = c;
+    c = q[e + 12 >> 2];
+    if ((d | 0) == (c | 0) | r[c | 0] != 44) {
+     break b;
+    }
+    c = c + 1 | 0;
+    l = e, m = L_(c, e + 12 | 0, 10), q[l + 28 >> 2] = m;
+    d = c;
+    c = q[e + 12 >> 2];
+    if ((d | 0) == (c | 0) | r[c | 0] != 44) {
+     break b;
+    }
+    c = c + 1 | 0;
+    l = e, m = L_(c, e + 12 | 0, 10), q[l + 32 >> 2] = m;
+    d = c;
+    c = q[e + 12 >> 2];
+    if ((d | 0) == (c | 0) | r[c | 0] != 44) {
+     break b;
+    }
+    c = c + 1 | 0;
+    l = e, m = L_(c, e + 12 | 0, 10), q[l + 36 >> 2] = m;
+    d = c;
+    c = q[e + 12 >> 2];
+    if ((d | 0) == (c | 0) | r[c | 0] != 44) {
+     break b;
+    }
+    c = c + 1 | 0;
+    l = e, m = L_(c, e + 12 | 0, 10), q[l + 40 >> 2] = m;
+    d = c;
+    c = q[e + 12 >> 2];
+    if ((d | 0) == (c | 0) | r[c | 0] != 44) {
+     break b;
+    }
+    d = c + 1 | 0;
+    l = e, m = L_(d, e + 12 | 0, 10), q[l + 44 >> 2] = m;
+    f = q[e + 12 >> 2];
+    if ((r[f | 0] | 32) != 32) {
+     break b;
+    }
+    c = e + 16 | 0;
+    if ((d | 0) != (f | 0)) {
+     break c;
+    }
+    f = 6;
+    break a;
+   }
+   f = 6;
+   d = q[c + 8 >> 2];
+   g = q[c + 16 >> 2];
+   if ((d | 0) > (g | 0) | (b | 0) > (d | 0)) {
+    break a;
+   }
+   h = q[c + 24 >> 2];
+   i = q[c + 20 >> 2];
+   j = q[c + 12 >> 2];
+   k = q[c + 4 >> 2];
+   c = q[c + 28 >> 2];
+   if ((h | (i | (j | (d | (k | b)) | g)) | c) < 0 | (c | 0) > 500 | ((i | 0) > 500 | (j | 0) > 500)) {
+    break a;
+   }
+   if ((k | 0) > 500 | (g | 0) > (h | 0)) {
+    break a;
+   }
+   q[a + 60 >> 2] = h;
+   q[a + 48 >> 2] = j;
+   q[a + 36 >> 2] = b;
+   q[a - -64 >> 2] = c;
+   q[a + 56 >> 2] = i;
+   q[a + 52 >> 2] = g;
+   q[a + 44 >> 2] = d;
+   q[a + 40 >> 2] = k;
+   f = 0;
+   break a;
+  }
+  f = 6;
+ }
+ Ca = e + 48 | 0;
+ return f | 0;
+}
+function OU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0;
+ e = c - b | 0;
+ c = e & 1 ? (e & -2) + b | 0 : c;
+ e = c - b | 0;
+ a : {
+  if ((e | 0) < 2) {
+   break a;
+  }
+  h = a + 72 | 0;
+  while (1) {
+   b : {
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         h : {
+          i : {
+           a = r[b | 0];
+           g = a + -216 | 0;
+           if (g >>> 0 > 39) {
+            if (a) {
+             break c;
+            }
+            a = r[h + r[b + 1 | 0] | 0];
+            if (a >>> 0 > 8) {
+             break c;
+            }
+            switch (a - 2 | 0) {
+            case 4:
+             break i;
+            case 1:
+            case 3:
+             break c;
+            case 2:
+             break d;
+            case 0:
+             break e;
+            case 5:
+             break h;
+            default:
+             break f;
+            }
+           }
+           switch (g - 4 | 0) {
+           case 4:
+           case 5:
+           case 6:
+           case 7:
+           case 8:
+           case 9:
+           case 10:
+           case 11:
+           case 12:
+           case 13:
+           case 14:
+           case 15:
+           case 16:
+           case 17:
+           case 18:
+           case 19:
+           case 20:
+           case 21:
+           case 22:
+           case 23:
+           case 24:
+           case 25:
+           case 26:
+           case 27:
+           case 28:
+           case 29:
+           case 30:
+           case 31:
+           case 32:
+           case 33:
+           case 34:
+            break c;
+           case 0:
+           case 1:
+           case 2:
+           case 3:
+            break f;
+           case 35:
+            break g;
+           default:
+            break h;
+           }
+          }
+          if ((e | 0) < 3) {
+           return -2;
+          }
+          b = b + 3 | 0;
+          break b;
+         }
+         if ((e | 0) < 4) {
+          return -2;
+         }
+         b = b + 4 | 0;
+         break b;
+        }
+        if (r[b + 1 | 0] <= 253) {
+         break c;
+        }
+       }
+       q[d >> 2] = b;
+       return 0;
+      }
+      a = b + 2 | 0;
+      if ((c - a | 0) < 2) {
+       break a;
+      }
+      if (r[a | 0]) {
+       b = a;
+       break b;
+      }
+      if (r[b + 3 | 0] != 33) {
+       b = a;
+       break b;
+      }
+      a = b + 4 | 0;
+      if ((c - a | 0) < 2) {
+       break a;
+      }
+      if (r[a | 0]) {
+       b = a;
+       break b;
+      }
+      if (r[b + 5 | 0] != 91) {
+       b = a;
+       break b;
+      }
+      b = b + 6 | 0;
+      f = f + 1 | 0;
+      break b;
+     }
+     a = b + 2 | 0;
+     if ((c - a | 0) < 2) {
+      break a;
+     }
+     if (r[a | 0]) {
+      b = a;
+      break b;
+     }
+     if (r[b + 3 | 0] != 93) {
+      b = a;
+      break b;
+     }
+     a = b + 4 | 0;
+     if ((c - a | 0) < 2) {
+      break a;
+     }
+     if (r[a | 0]) {
+      b = a;
+      break b;
+     }
+     if (r[b + 5 | 0] != 62) {
+      b = a;
+      break b;
+     }
+     b = b + 6 | 0;
+     if (!f) {
+      q[d >> 2] = b;
+      return 42;
+     }
+     f = f + -1 | 0;
+     break b;
+    }
+    b = b + 2 | 0;
+   }
+   e = c - b | 0;
+   if ((e | 0) > 1) {
+    continue;
+   }
+   break;
+  }
+ }
+ return -1;
+}
+function $H(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, u = 0, v = 0, w = 0;
+ e = Ca - 32 | 0;
+ Ca = e;
+ q[e + 24 >> 2] = 0;
+ q[e + 28 >> 2] = 0;
+ q[e + 16 >> 2] = 0;
+ q[e + 20 >> 2] = 0;
+ if (!(!c | (!a | !b))) {
+  j = q[q[a + 12 >> 2] + 16 >> 2];
+  f = q[b + 16 >> 2];
+  qy(q[(q[b + 8 >> 2] << 2) + 288480 >> 2], e + 16 | 0, e + 16 | 4);
+  g = q[e + 16 >> 2];
+  a : {
+   b : {
+    if (d) {
+     if (!g) {
+      q[e + 16 >> 2] = 1145457748;
+      break b;
+     }
+     d = q[e + 20 >> 2];
+     if ((d | 0) == 1145457748) {
+      break b;
+     }
+     if (!d) {
+      q[e + 20 >> 2] = 1145457748;
+      break b;
+     }
+     q[e + 24 >> 2] = 1145457748;
+     break b;
+    }
+    if ((g | 0) == 1145457748) {
+     break a;
+    }
+    if (q[e + 20 >> 2] != 1145457748) {
+     break b;
+    }
+    q[e + 20 >> 2] = 0;
+   }
+   d = q[(f << 2) + 288432 >> 2];
+   h = Is();
+   qt(j, 1196643650, e + 16 | 0, d, h);
+   if (Ks(h)) {
+    break a;
+   }
+   k = Is();
+   q[e + 12 >> 2] = -1;
+   if (Ns(h, e + 12 | 0)) {
+    while (1) {
+     ut(j, 1196643650, q[e + 12 >> 2], 0, k);
+     if (Ns(h, e + 12 | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   l = Is();
+   qt(j, 1196445523, e + 16 | 0, d, l);
+   n = Is();
+   q[e + 12 >> 2] = -1;
+   if (Ns(l, e + 12 | 0)) {
+    while (1) {
+     ut(j, 1196445523, q[e + 12 >> 2], n, 0);
+     if (Ns(l, e + 12 | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   c : {
+    if (q[b + 16 >> 2] == 10) {
+     break c;
+    }
+    m = (q[b + 12 >> 2] << 3) + 278240 | 0;
+    f = q[m >> 2];
+    if ((f | 0) == 5326) {
+     break a;
+    }
+    while (1) {
+     g = f + 272912 | 0;
+     d = r[g | 0];
+     if (d) {
+      while (1) {
+       f = d & 255;
+       g = g + 1 | 0;
+       if (d << 24 >> 24 <= -1) {
+        d = f >>> 0 < 240;
+        i = f >>> 0 < 224;
+        f = (i ? 31 : d ? 15 : 7) & f;
+        o = i ? 1 : d ? 2 : 3;
+        i = o;
+        d = g;
+        while (1) {
+         f = r[d | 0] & 63 | f << 6;
+         d = d + 1 | 0;
+         i = i + -1 | 0;
+         if (i) {
+          continue;
+         }
+         break;
+        }
+        g = g + o | 0;
+       }
+       q[e + 12 >> 2] = -1;
+       while (1) {
+        d : {
+         if (!Ns(h, e + 12 | 0)) {
+          d = u;
+          break d;
+         }
+         v = e, w = xf(q[a >> 2], f), q[v + 8 >> 2] = w;
+         d = 1;
+         if (!Ct(j, q[e + 12 >> 2], e + 8 | 0, 1, 1)) {
+          continue;
+         }
+        }
+        break;
+       }
+       u = d;
+       d = r[g | 0];
+       if (d) {
+        continue;
+       }
+       break;
+      }
+     }
+     f = q[m + 8 >> 2];
+     m = m + 8 | 0;
+     if ((f | 0) != 5326) {
+      continue;
+     }
+     break;
+    }
+    if (!(u & 255)) {
+     break a;
+    }
+    if (q[b + 16 >> 2] == 10) {
+     break c;
+    }
+    Ms(k, n);
+   }
+   q[e + 12 >> 2] = -1;
+   if (!Ns(k, e + 12 | 0)) {
+    break a;
+   }
+   while (1) {
+    d = q[e + 12 >> 2];
+    e : {
+     if (d >>> 0 >= t[a + 4 >> 2]) {
+      break e;
+     }
+     d = (d << 1) + c | 0;
+     if (s[d >> 1] != 16383) {
+      break e;
+     }
+     p[d >> 1] = q[b >> 2];
+    }
+    if (Ns(k, e + 12 | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  Js(h);
+  Js(k);
+  Js(l);
+  Js(n);
+ }
+ Ca = e + 32 | 0;
+}
+function sU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0;
+ e = c - b | 0;
+ c = e & 1 ? (e & -2) + b | 0 : c;
+ e = c - b | 0;
+ a : {
+  if ((e | 0) < 2) {
+   break a;
+  }
+  h = a + 72 | 0;
+  while (1) {
+   b : {
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         h : {
+          i : {
+           a = r[b + 1 | 0];
+           g = a + -216 | 0;
+           if (g >>> 0 > 39) {
+            if (a) {
+             break c;
+            }
+            a = r[h + r[b | 0] | 0];
+            if (a >>> 0 > 8) {
+             break c;
+            }
+            switch (a - 2 | 0) {
+            case 4:
+             break i;
+            case 1:
+            case 3:
+             break c;
+            case 2:
+             break d;
+            case 0:
+             break e;
+            case 5:
+             break h;
+            default:
+             break f;
+            }
+           }
+           switch (g - 4 | 0) {
+           case 4:
+           case 5:
+           case 6:
+           case 7:
+           case 8:
+           case 9:
+           case 10:
+           case 11:
+           case 12:
+           case 13:
+           case 14:
+           case 15:
+           case 16:
+           case 17:
+           case 18:
+           case 19:
+           case 20:
+           case 21:
+           case 22:
+           case 23:
+           case 24:
+           case 25:
+           case 26:
+           case 27:
+           case 28:
+           case 29:
+           case 30:
+           case 31:
+           case 32:
+           case 33:
+           case 34:
+            break c;
+           case 0:
+           case 1:
+           case 2:
+           case 3:
+            break f;
+           case 35:
+            break g;
+           default:
+            break h;
+           }
+          }
+          if ((e | 0) < 3) {
+           return -2;
+          }
+          b = b + 3 | 0;
+          break b;
+         }
+         if ((e | 0) < 4) {
+          return -2;
+         }
+         b = b + 4 | 0;
+         break b;
+        }
+        if (r[b | 0] <= 253) {
+         break c;
+        }
+       }
+       q[d >> 2] = b;
+       return 0;
+      }
+      a = b + 2 | 0;
+      if ((c - a | 0) < 2) {
+       break a;
+      }
+      if (r[b + 3 | 0]) {
+       b = a;
+       break b;
+      }
+      if (r[a | 0] != 33) {
+       b = a;
+       break b;
+      }
+      a = b + 4 | 0;
+      if ((c - a | 0) < 2) {
+       break a;
+      }
+      if (r[b + 5 | 0]) {
+       b = a;
+       break b;
+      }
+      if (r[a | 0] != 91) {
+       b = a;
+       break b;
+      }
+      b = b + 6 | 0;
+      f = f + 1 | 0;
+      break b;
+     }
+     a = b + 2 | 0;
+     if ((c - a | 0) < 2) {
+      break a;
+     }
+     if (r[b + 3 | 0]) {
+      b = a;
+      break b;
+     }
+     if (r[a | 0] != 93) {
+      b = a;
+      break b;
+     }
+     a = b + 4 | 0;
+     if ((c - a | 0) < 2) {
+      break a;
+     }
+     if (r[b + 5 | 0]) {
+      b = a;
+      break b;
+     }
+     if (r[a | 0] != 62) {
+      b = a;
+      break b;
+     }
+     b = b + 6 | 0;
+     if (!f) {
+      q[d >> 2] = b;
+      return 42;
+     }
+     f = f + -1 | 0;
+     break b;
+    }
+    b = b + 2 | 0;
+   }
+   e = c - b | 0;
+   if ((e | 0) > 1) {
+    continue;
+   }
+   break;
+  }
+ }
+ return -1;
+}
+function rx(a, b, c) {
+ var d = 0, e = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ c = c + -1 | 0;
+ a : {
+  if (c >>> 0 > 8) {
+   c = 1;
+   break a;
+  }
+  b : {
+   switch (c - 1 | 0) {
+   default:
+    c = 0;
+    if (t[b + 4 >> 2] > a >>> 0) {
+     break a;
+    }
+    d = q[b + 8 >> 2];
+    if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+     break a;
+    }
+    d = q[b + 12 >> 2];
+    q[b + 12 >> 2] = d + -1;
+    if ((d | 0) < 1) {
+     break a;
+    }
+    c = 1;
+    d = r[a | 0] | r[a + 1 | 0] << 8;
+    d = ((d << 24 | d << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+    if (d >>> 0 > 1) {
+     break a;
+    }
+    if (d - 1) {
+     c = sx(a, b);
+     break a;
+    }
+    c = tx(a, b);
+    break a;
+   case 0:
+    c = 0;
+    if (t[b + 4 >> 2] > a >>> 0) {
+     break a;
+    }
+    d = q[b + 8 >> 2];
+    if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+     break a;
+    }
+    d = q[b + 12 >> 2];
+    q[b + 12 >> 2] = d + -1;
+    if ((d | 0) < 1) {
+     break a;
+    }
+    c = 1;
+    d = r[a | 0] | r[a + 1 | 0] << 8;
+    d = ((d << 24 | d << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+    if (d >>> 0 > 1) {
+     break a;
+    }
+    if (d - 1) {
+     c = ux(a, b);
+     break a;
+    }
+    c = vx(a, b);
+    break a;
+   case 1:
+    c = 0;
+    if (t[b + 4 >> 2] > a >>> 0) {
+     break a;
+    }
+    d = q[b + 8 >> 2];
+    if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+     break a;
+    }
+    d = q[b + 12 >> 2];
+    q[b + 12 >> 2] = d + -1;
+    if ((d | 0) < 1) {
+     break a;
+    }
+    c = 1;
+    if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+     break a;
+    }
+    c = 0;
+    if (!dv(a + 2 | 0, b, a)) {
+     break a;
+    }
+    q[e + 12 >> 2] = a;
+    c = wx(a + 4 | 0, b, e + 12 | 0);
+    break a;
+   case 2:
+    c = 0;
+    if (t[b + 4 >> 2] > a >>> 0) {
+     break a;
+    }
+    d = q[b + 8 >> 2];
+    if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+     break a;
+    }
+    d = q[b + 12 >> 2];
+    q[b + 12 >> 2] = d + -1;
+    if ((d | 0) < 1) {
+     break a;
+    }
+    c = 1;
+    if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+     break a;
+    }
+    c = xx(a, b);
+    break a;
+   case 3:
+    c = 0;
+    if (t[b + 4 >> 2] > a >>> 0) {
+     break a;
+    }
+    d = q[b + 8 >> 2];
+    if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+     break a;
+    }
+    d = q[b + 12 >> 2];
+    q[b + 12 >> 2] = d + -1;
+    if ((d | 0) < 1) {
+     break a;
+    }
+    c = 1;
+    if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+     break a;
+    }
+    c = yx(a, b);
+    break a;
+   case 4:
+    c = 0;
+    if (t[b + 4 >> 2] > a >>> 0) {
+     break a;
+    }
+    d = q[b + 8 >> 2];
+    if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+     break a;
+    }
+    d = q[b + 12 >> 2];
+    q[b + 12 >> 2] = d + -1;
+    if ((d | 0) < 1) {
+     break a;
+    }
+    c = 1;
+    if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+     break a;
+    }
+    c = xx(a, b);
+    break a;
+   case 5:
+    c = $v(a, b);
+    break a;
+   case 6:
+    c = aw(a, b);
+    break a;
+   case 7:
+    break b;
+   }
+  }
+  c = 0;
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  c = 1;
+  if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+   break a;
+  }
+  c = zx(a, b);
+ }
+ Ca = e + 16 | 0;
+ return c;
+}
+function iw(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = q[b + 4 >> 2];
+ c = a + 2 | 0;
+ a : {
+  if (e >>> 0 > c >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  c = r[a + 3 | 0];
+  g = r[a + 2 | 0];
+  h = c | g << 8;
+  b : {
+   if (!h) {
+    break b;
+   }
+   c = a + 4 | 0;
+   if (e >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < h << 1 >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   c = r[a + 3 | 0];
+   g = r[a + 2 | 0];
+   d = c | g << 8;
+   if (!d) {
+    break b;
+   }
+   e = 0;
+   c : {
+    while (1) {
+     if (dv(((e << 1) + a | 0) + 4 | 0, b, a)) {
+      e = e + 1 | 0;
+      if ((d | 0) != (e | 0)) {
+       continue;
+      }
+      break c;
+     }
+     break;
+    }
+    return 0;
+   }
+   c = r[a + 3 | 0];
+   g = r[a + 2 | 0];
+   e = q[b + 4 >> 2];
+  }
+  d = ((c << 1 | g << 9) + a | 0) + 4 | 0;
+  if (e >>> 0 > d >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < d >>> 0 | c - d >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  g = r[d + 1 | 0] | r[d | 0] << 8;
+  if (!g) {
+   break a;
+  }
+  h = e;
+  e = d + 2 | 0;
+  if (h >>> 0 > e >>> 0 | c >>> 0 < e >>> 0 | c - e >>> 0 < g << 1 >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = f + -2;
+  if ((f | 0) < 2) {
+   break a;
+  }
+  c = r[d + 1 | 0] | r[d | 0] << 8;
+  if (!c) {
+   break a;
+  }
+  e = 0;
+  while (1) {
+   if (!dv((d + (e << 1) | 0) + 2 | 0, b, a)) {
+    break a;
+   }
+   e = e + 1 | 0;
+   if ((c | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+  f = r[d + 1 | 0];
+  c = r[d | 0];
+  if (!(f | c << 8)) {
+   break a;
+  }
+  e = q[b + 4 >> 2];
+  d = (d + (f << 1 | c << 9) | 0) + 2 | 0;
+  if (e >>> 0 > d >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < d >>> 0 | f - d >>> 0 < 2) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  if ((g | 0) < 1) {
+   break a;
+  }
+  h = r[d + 1 | 0];
+  c = r[d | 0];
+  i = h | c << 8;
+  d : {
+   if (!i) {
+    break d;
+   }
+   c = d + 2 | 0;
+   if (e >>> 0 > c >>> 0 | f >>> 0 < c >>> 0 | f - c >>> 0 < i << 1 >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = g + -2;
+   if ((g | 0) < 2) {
+    break a;
+   }
+   h = r[d + 1 | 0];
+   c = r[d | 0];
+   f = h | c << 8;
+   if (!f) {
+    break d;
+   }
+   e = 0;
+   e : {
+    while (1) {
+     if (dv((d + (e << 1) | 0) + 2 | 0, b, a)) {
+      e = e + 1 | 0;
+      if ((f | 0) != (e | 0)) {
+       continue;
+      }
+      break e;
+     }
+     break;
+    }
+    return 0;
+   }
+   h = r[d + 1 | 0];
+   c = r[d | 0];
+   e = q[b + 4 >> 2];
+  }
+  a = (d + (h << 1 | c << 9) | 0) + 2 | 0;
+  if (e >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  f = r[a + 1 | 0] | r[a | 0] << 8;
+  if (f) {
+   a = a + 2 | 0;
+   if (e >>> 0 > a >>> 0 | d >>> 0 < a >>> 0 | d - a >>> 0 < f << 2 >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = c + -2;
+   if ((c | 0) < 2) {
+    break a;
+   }
+  }
+  j = 1;
+ }
+ return j;
+}
+function kB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ lB(a, b);
+ a : {
+  b : {
+   if (!q[a >> 2] | q[a + 144 >> 2] != -1) {
+    break b;
+   }
+   b = q[a + 212 >> 2];
+   if (b) {
+    j = q[67761];
+    k = q[67760];
+    while (1) {
+     c : {
+      d : {
+       d = q[a + 48 >> 2];
+       e : {
+        f : {
+         if ((d | 0) != 271040) {
+          d = mB(d, i, b);
+          break f;
+         }
+         b = q[a + 168 >> 2];
+         if (b >>> 0 > 2) {
+          d = 0;
+          break e;
+         }
+         g : {
+          switch (b - 1 | 0) {
+          case 1:
+           d = _y(i);
+           break f;
+          default:
+           d = i >>> 0 < 229 ? i : 0;
+           break e;
+          case 0:
+           break g;
+          }
+         }
+         d = Zy(i);
+        }
+        if (d >>> 0 > 390) {
+         break d;
+        }
+       }
+       c = d << 2;
+       b = q[c + 242768 >> 2];
+       c = q[c + 242772 >> 2] + (b ^ -1) | 0;
+       e = b + 244336 | 0;
+       break c;
+      }
+      c = q[a + 60 >> 2];
+      b = r[c | 0] << 8 | r[c + 1 | 0];
+      g = d + -391 | 0;
+      if (b >>> 0 > g >>> 0) {
+       f = c + 2 | 0;
+       e = r[c + 2 | 0];
+       l = w(e, b + 1 | 0);
+       h : {
+        if (!e) {
+         h = 0;
+         break h;
+        }
+        b = (c + w(e, g) | 0) + 3 | 0;
+        h = 0;
+        while (1) {
+         h = r[b | 0] | h << 8;
+         b = b + 1 | 0;
+         e = e + -1 | 0;
+         if (e) {
+          continue;
+         }
+         break;
+        }
+       }
+       e = (f + l | 0) + h | 0;
+       c = nB(c, g);
+       break c;
+      }
+      c = j;
+      e = k;
+      if (!e) {
+       break a;
+      }
+     }
+     i : {
+      j : {
+       k : {
+        g = q[a + 216 >> 2];
+        if ((g | 0) >= 0) {
+         b = g;
+         h = q[a + 220 >> 2];
+         f = h + 1 | 0;
+         f = (f | 0) > 0 ? f : 0;
+         if (b >>> 0 >= f >>> 0) {
+          break j;
+         }
+         while (1) {
+          b = ((b >>> 1 | 0) + b | 0) + 8 | 0;
+          if (b >>> 0 <= f >>> 0) {
+           continue;
+          }
+          break;
+         }
+         if (!(b >>> 0 < g >>> 0 | b >>> 0 > 268435454)) {
+          g = O$(q[a + 224 >> 2], b << 4);
+          if (g) {
+           break k;
+          }
+         }
+         q[a + 216 >> 2] = -1;
+        }
+        b = q[67763];
+        q[160658] = q[67762];
+        q[160659] = b;
+        b = q[67761];
+        q[160656] = q[67760];
+        q[160657] = b;
+        b = 642624;
+        break i;
+       }
+       q[a + 216 >> 2] = b;
+       q[a + 224 >> 2] = g;
+       h = q[a + 220 >> 2];
+      }
+      if (f >>> 0 > h >>> 0) {
+       Z$(q[a + 224 >> 2] + (h << 4) | 0, 0, f - h << 4);
+      }
+      q[a + 220 >> 2] = f;
+      b = (q[a + 224 >> 2] + (f << 4) | 0) + -16 | 0;
+     }
+     p[b + 12 >> 1] = d;
+     q[b + 8 >> 2] = 0;
+     q[b + 4 >> 2] = c;
+     q[b >> 2] = e;
+     i = i + 1 | 0;
+     b = q[a + 212 >> 2];
+     if (i >>> 0 < b >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = q[a + 220 >> 2];
+   if (!b) {
+    break b;
+   }
+   oB(q[a + 224 >> 2], b, 16);
+  }
+  return;
+ }
+ M$(q[a + 224 >> 2]);
+ q[a + 224 >> 2] = 0;
+ q[a + 216 >> 2] = 0;
+ q[a + 220 >> 2] = 0;
+ Kq(a);
+}
+function ZJ(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ q[a + 64 >> 2] = 0;
+ q[a + 1140 >> 2] = b;
+ q[a + 1344 >> 2] = a + 1140;
+ i = a + 112 | 0;
+ q[a + 1136 >> 2] = i;
+ g = b + c | 0;
+ q[a + 1148 >> 2] = g;
+ q[a + 1144 >> 2] = b;
+ a : {
+  if ((c | 0) < 1) {
+   break a;
+  }
+  c = i;
+  while (1) {
+   d = b + 1 | 0;
+   j = a;
+   b : {
+    c : {
+     e = r[b | 0];
+     if (e >>> 0 > 31) {
+      break c;
+     }
+     d : {
+      e : {
+       if ((e | 0) != 12) {
+        if ((e | 0) == 13) {
+         b = d;
+         d = 2;
+         break e;
+        }
+        if (!(1 << e & -1067397126)) {
+         break c;
+        }
+        break a;
+       }
+       if (d >>> 0 >= g >>> 0) {
+        break a;
+       }
+       e = r[b + 1 | 0] + -7 | 0;
+       if (e >>> 0 > 5) {
+        break a;
+       }
+       b = b + 2 | 0;
+       f = 20;
+       d = 4;
+       switch (e - 1 | 0) {
+       case 0:
+       case 1:
+       case 2:
+       case 3:
+        break a;
+       case 4:
+        break d;
+       default:
+        break e;
+       }
+      }
+      f = d;
+      if (h) {
+       break a;
+      }
+     }
+     d = q[(f << 2) + 291472 >> 2];
+     if (c - i >> 2 < (d | 0)) {
+      return 161;
+     }
+     c = c - (d << 2) | 0;
+     if ((f | 0) != 20) {
+      b = f + -2 | 0;
+      if (b >>> 0 > 2) {
+       break a;
+      }
+      f : {
+       switch (b - 1 | 0) {
+       default:
+        q[a + 64 >> 2] = 1;
+        q[a + 32 >> 2] = q[c >> 2] + q[a + 32 >> 2];
+        b = q[c + 4 >> 2];
+        q[a + 44 >> 2] = 0;
+        q[a + 40 >> 2] = b;
+        return 0;
+       case 0:
+        break a;
+       case 1:
+        break f;
+       }
+      }
+      q[a + 64 >> 2] = 1;
+      q[a + 32 >> 2] = q[c >> 2] + q[a + 32 >> 2];
+      b = a + 36 | 0;
+      q[b >> 2] = q[c + 4 >> 2] + q[b >> 2];
+      q[a + 40 >> 2] = q[c + 8 >> 2];
+      q[a + 44 >> 2] = q[c + 12 >> 2];
+      return 0;
+     }
+     k = c, l = Fe(q[c >> 2], q[c + 4 >> 2]), q[k >> 2] = l;
+     h = 0;
+     c = c + 4 | 0;
+     break b;
+    }
+    g : {
+     h : {
+      if ((e | 0) == 255) {
+       d = b + 5 | 0;
+       if (d >>> 0 > g >>> 0) {
+        break a;
+       }
+       b = r[b + 1 | 0] | r[b + 2 | 0] << 8 | (r[b + 3 | 0] << 16 | r[b + 4 | 0] << 24);
+       b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+       if (b + 32e3 >>> 0 < 64001) {
+        break h;
+       }
+       f = h;
+       h = 1;
+       if (!f) {
+        break g;
+       }
+       break a;
+      }
+      if (e >>> 0 < 32) {
+       break a;
+      }
+      i : {
+       if (e >>> 0 <= 246) {
+        b = e + -139 | 0;
+        break i;
+       }
+       f = b + 2 | 0;
+       if (f >>> 0 > g >>> 0) {
+        break a;
+       }
+       b = e << 8;
+       if (e >>> 0 <= 250) {
+        b = (r[d | 0] | b + -63232) + 108 | 0;
+       } else {
+        b = -108 - (r[d | 0] | b + -64256) | 0;
+       }
+       d = f;
+      }
+      b = h ? b : b << 16;
+      break g;
+     }
+     b = h ? b : b << 16;
+    }
+    if ((c - i | 0) > 1020) {
+     break a;
+    }
+    q[c >> 2] = b;
+    b = d;
+    c = c + 4 | 0;
+   }
+   q[j + 1136 >> 2] = c;
+   if (b >>> 0 < g >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 160;
+}
+function fz(a, b) {
+ var c = 0, d = 0, e = 0, h = 0, i = 0, j = 0, k = 0;
+ c = Ca - 96 | 0;
+ Ca = c;
+ a : {
+  if (q[a + 24 >> 2] == 7) {
+   i = q[a + 140 >> 2];
+   q[c + 88 >> 2] = q[a + 136 >> 2];
+   q[c + 92 >> 2] = i;
+   i = q[a + 132 >> 2];
+   q[c + 80 >> 2] = q[a + 128 >> 2];
+   q[c + 84 >> 2] = i;
+   i = q[a + 32 >> 2];
+   b : {
+    if (!i) {
+     d = q[67761];
+     e = q[67760];
+     q[160656] = e;
+     q[160657] = d;
+     f(0, e | 0);
+     f(1, d | 0);
+     h = +g();
+     break b;
+    }
+    h = v[q[a + 36 >> 2] >> 3];
+   }
+   v[c + 80 >> 3] = v[c + 80 >> 3] + h;
+   d = q[c + 92 >> 2];
+   q[c + 72 >> 2] = q[c + 88 >> 2];
+   q[c + 76 >> 2] = d;
+   d = q[c + 84 >> 2];
+   q[c + 64 >> 2] = q[c + 80 >> 2];
+   q[c + 68 >> 2] = d;
+   c : {
+    d : {
+     e : {
+      if (i >>> 0 <= 1) {
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break e;
+      }
+      e = q[a + 36 >> 2];
+      d = e + 8 | 0;
+      if ((i | 0) != 2) {
+       break d;
+      }
+     }
+     e = q[67761];
+     j = q[67760];
+     q[160656] = j;
+     q[160657] = e;
+     f(0, j | 0);
+     f(1, e | 0);
+     h = +g();
+     break c;
+    }
+    h = v[e + 16 >> 3];
+   }
+   k = v[d >> 3];
+   v[c + 72 >> 3] = v[c + 72 >> 3] + h;
+   v[c + 64 >> 3] = k + v[c + 64 >> 3];
+   d = q[c + 76 >> 2];
+   q[c + 56 >> 2] = q[c + 72 >> 2];
+   q[c + 60 >> 2] = d;
+   d = q[c + 68 >> 2];
+   q[c + 48 >> 2] = q[c + 64 >> 2];
+   q[c + 52 >> 2] = d;
+   f : {
+    if (i >>> 0 <= 3) {
+     d = q[67761];
+     e = q[67760];
+     q[160656] = e;
+     q[160657] = d;
+     f(0, e | 0);
+     f(1, d | 0);
+     h = +g();
+     break f;
+    }
+    h = v[q[a + 36 >> 2] + 24 >> 3];
+   }
+   v[c + 48 >> 3] = v[c + 48 >> 3] + h;
+   d = q[c + 60 >> 2];
+   q[c + 40 >> 2] = q[c + 56 >> 2];
+   q[c + 44 >> 2] = d;
+   d = q[c + 52 >> 2];
+   q[c + 32 >> 2] = q[c + 48 >> 2];
+   q[c + 36 >> 2] = d;
+   g : {
+    if (i >>> 0 <= 4) {
+     d = q[67761];
+     e = q[67760];
+     q[160656] = e;
+     q[160657] = d;
+     f(0, e | 0);
+     f(1, d | 0);
+     h = +g();
+     break g;
+    }
+    h = v[q[a + 36 >> 2] + 32 >> 3];
+   }
+   v[c + 32 >> 3] = v[c + 32 >> 3] + h;
+   d = q[c + 44 >> 2];
+   q[c + 24 >> 2] = q[c + 40 >> 2];
+   q[c + 28 >> 2] = d;
+   d = q[c + 36 >> 2];
+   q[c + 16 >> 2] = q[c + 32 >> 2];
+   q[c + 20 >> 2] = d;
+   h : {
+    if (i >>> 0 <= 5) {
+     d = q[67761];
+     e = q[67760];
+     q[160656] = e;
+     q[160657] = d;
+     f(0, e | 0);
+     f(1, d | 0);
+     h = +g();
+     break h;
+    }
+    h = v[q[a + 36 >> 2] + 40 >> 3];
+   }
+   d = q[c + 92 >> 2];
+   e = q[c + 88 >> 2];
+   q[c + 24 >> 2] = e;
+   q[c + 28 >> 2] = d;
+   v[c + 16 >> 3] = v[c + 16 >> 3] + h;
+   q[c + 8 >> 2] = e;
+   q[c + 12 >> 2] = d;
+   d = q[c + 20 >> 2];
+   q[c >> 2] = q[c + 16 >> 2];
+   q[c + 4 >> 2] = d;
+   i : {
+    if (i >>> 0 <= 6) {
+     i = q[67761];
+     d = q[67760];
+     q[160656] = d;
+     q[160657] = i;
+     f(0, d | 0);
+     f(1, i | 0);
+     h = +g();
+     break i;
+    }
+    h = v[q[a + 36 >> 2] + 48 >> 3];
+   }
+   v[c >> 3] = v[c >> 3] + h;
+   uz(a, b, c + 80 | 0, c - -64 | 0, c + 48 | 0);
+   uz(a, b, c + 32 | 0, c + 16 | 0, c);
+   break a;
+  }
+  o[a + 40 | 0] = 1;
+ }
+ Ca = c + 96 | 0;
+}
+function Qz(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0;
+ f = q[a + 24 >> 2];
+ if (f >>> 0 >= 2) {
+  l = q[a + 32 >> 2];
+  m = r[a + 176 | 0];
+  i = 2;
+  while (1) {
+   g = v[a + 136 >> 3];
+   n = v[a + 128 >> 3];
+   if (f >>> 0 <= c >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   a : {
+    if (l >>> 0 <= c >>> 0) {
+     e = q[67767];
+     q[160662] = q[67766];
+     q[160663] = e;
+     e = q[67765];
+     q[160660] = q[67764];
+     q[160661] = e;
+     e = q[67763];
+     q[160658] = q[67762];
+     q[160659] = e;
+     e = q[67761];
+     q[160656] = q[67760];
+     q[160657] = e;
+     e = 642624;
+     break a;
+    }
+    e = q[a + 36 >> 2] + (c << 5) | 0;
+   }
+   b : {
+    if (!m) {
+     break b;
+    }
+    h = q[e + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break b;
+    }
+    j = q[e + 24 >> 2];
+    k = q[a + 172 >> 2];
+    d = v[e >> 3];
+    f = 0;
+    while (1) {
+     d = d + v[j + (f << 3) >> 3] * +u[k + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((h | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[e + 8 >> 2] = 0;
+    q[e + 12 >> 2] = 0;
+    v[e >> 3] = d;
+    if (q[e + 16 >> 2] < 0) {
+     break b;
+    }
+    q[e + 20 >> 2] = 0;
+   }
+   c = c | 1;
+   if (t[a + 24 >> 2] <= c >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   c : {
+    if (l >>> 0 <= c >>> 0) {
+     c = q[67767];
+     q[160662] = q[67766];
+     q[160663] = c;
+     c = q[67765];
+     q[160660] = q[67764];
+     q[160661] = c;
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break c;
+    }
+    c = q[a + 36 >> 2] + (c << 5) | 0;
+   }
+   d : {
+    if (!m) {
+     break d;
+    }
+    h = q[c + 20 >> 2];
+    if (!h | (h | 0) != q[a + 168 >> 2]) {
+     break d;
+    }
+    j = q[c + 24 >> 2];
+    k = q[a + 172 >> 2];
+    d = v[c >> 3];
+    f = 0;
+    while (1) {
+     d = d + v[j + (f << 3) >> 3] * +u[k + (f << 2) >> 2];
+     f = f + 1 | 0;
+     if ((h | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    v[c >> 3] = d;
+    if (q[c + 16 >> 2] < 0) {
+     break d;
+    }
+    q[c + 20 >> 2] = 0;
+   }
+   p = g + v[c >> 3];
+   d = n + v[e >> 3];
+   e : {
+    if (r[b | 0]) {
+     break e;
+    }
+    o[b | 0] = 1;
+    g = v[a + 128 >> 3];
+    if (!!(v[b + 8 >> 3] > g)) {
+     v[b + 8 >> 3] = g;
+     g = v[a + 128 >> 3];
+    }
+    if (!!(g > v[b + 24 >> 3])) {
+     v[b + 24 >> 3] = g;
+    }
+    g = v[a + 136 >> 3];
+    if (!!(v[b + 16 >> 3] > g)) {
+     v[b + 16 >> 3] = g;
+     g = v[a + 136 >> 3];
+    }
+    if (!(g > v[b + 32 >> 3])) {
+     break e;
+    }
+    v[b + 32 >> 3] = g;
+   }
+   v[a + 136 >> 3] = p;
+   v[a + 128 >> 3] = d;
+   if (!!(v[b + 8 >> 3] > d)) {
+    v[b + 8 >> 3] = d;
+    d = v[a + 128 >> 3];
+   }
+   if (!!(d > v[b + 24 >> 3])) {
+    v[b + 24 >> 3] = d;
+   }
+   d = v[a + 136 >> 3];
+   if (!!(v[b + 16 >> 3] > d)) {
+    v[b + 16 >> 3] = d;
+    d = v[a + 136 >> 3];
+   }
+   if (!!(d > v[b + 32 >> 3])) {
+    v[b + 32 >> 3] = d;
+   }
+   c = i;
+   i = c + 2 | 0;
+   f = q[a + 24 >> 2];
+   if (i >>> 0 <= f >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function As(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = r[a + 20 | 0] | r[a + 21 | 0] << 8 | (r[a + 22 | 0] << 16 | r[a + 23 | 0] << 24);
+ f = (e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24)) + a | 0;
+ e = q[d + 48 >> 2];
+ a : {
+  if (o[a + 15 | 0] & 1) {
+   g = Bs(f, b, e);
+   b = r[a + 24 | 0] | r[a + 25 | 0] << 8 | (r[a + 26 | 0] << 16 | r[a + 27 | 0] << 24);
+   b = Bs((b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24)) + a | 0, c, e);
+   c = g + b | 0;
+   if (c >>> 0 < b >>> 0 | c >>> 0 > 1073741822) {
+    break a;
+   }
+   h = q[d + 20 >> 2];
+   b = r[a + 28 | 0] | r[a + 29 | 0] << 8 | (r[a + 30 | 0] << 16 | r[a + 31 | 0] << 24);
+   b = ((b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24)) + a | 0) + (c << 2) | 0;
+   if (h >>> 0 > b >>> 0) {
+    break a;
+   }
+   e = q[d + 24 >> 2];
+   if (e >>> 0 < b >>> 0 | e - b >>> 0 < 4) {
+    break a;
+   }
+   f = d + 28 | 0;
+   c = q[f >> 2];
+   q[f >> 2] = c + -1;
+   if ((c | 0) < 1) {
+    break a;
+   }
+   b = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+   f = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+   b = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+   b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+   if (!b) {
+    return f;
+   }
+   if (b >>> 0 > 2147483646) {
+    break a;
+   }
+   g = a;
+   a = r[a + 32 | 0] | r[a + 33 | 0] << 8 | (r[a + 34 | 0] << 16 | r[a + 35 | 0] << 24);
+   a = (g + (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) | 0) + f | 0;
+   if (h >>> 0 > a >>> 0 | e >>> 0 < a >>> 0 | e - a >>> 0 < b << 1 >>> 0) {
+    break a;
+   }
+   q[d + 28 >> 2] = c + -2;
+   if ((c | 0) < 2) {
+    break a;
+   }
+   a = r[a | 0] | r[a + 1 | 0] << 8;
+   return (a << 24 | a << 8 & 16711680) >> 16;
+  }
+  f = Cs(f, b, e);
+  b = r[a + 24 | 0] | r[a + 25 | 0] << 8 | (r[a + 26 | 0] << 16 | r[a + 27 | 0] << 24);
+  c = Cs((b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24)) + a | 0, c, e);
+  h = q[d + 20 >> 2];
+  b = r[a + 28 | 0] | r[a + 29 | 0] << 8 | (r[a + 30 | 0] << 16 | r[a + 31 | 0] << 24);
+  b = ((b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24)) + a | 0) + (c + f << 1) | 0;
+  if (h >>> 0 > b >>> 0) {
+   break a;
+  }
+  e = q[d + 24 >> 2];
+  if (e >>> 0 < b >>> 0 | e - b >>> 0 < 2) {
+   break a;
+  }
+  f = d + 28 | 0;
+  c = q[f >> 2];
+  q[f >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  b = r[b | 0] | r[b + 1 | 0] << 8;
+  f = (b << 24 | b << 8 & 16711680) >> 16;
+  b = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+  b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+  if (!b) {
+   return f;
+  }
+  if (b >>> 0 > 2147483646) {
+   break a;
+  }
+  g = a;
+  a = r[a + 32 | 0] | r[a + 33 | 0] << 8 | (r[a + 34 | 0] << 16 | r[a + 35 | 0] << 24);
+  a = (g + (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) | 0) + f | 0;
+  if (h >>> 0 > a >>> 0 | e >>> 0 < a >>> 0 | e - a >>> 0 < b << 1 >>> 0) {
+   break a;
+  }
+  q[d + 28 >> 2] = c + -2;
+  if ((c | 0) < 2) {
+   break a;
+  }
+  a = r[a | 0] | r[a + 1 | 0] << 8;
+  i = (a << 24 | a << 8 & 16711680) >> 16;
+ }
+ return i;
+}
+function uA(a, b, c, d) {
+ var e = 0, f = 0, g = x(0), h = 0, i = 0, j = x(0), k = 0, l = 0, m = 0, n = 0, o = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ f = q[a >> 2];
+ f = f ? f : 271040;
+ f = t[f + 16 >> 2] < 8 ? 271040 : q[f + 12 >> 2];
+ e = 0;
+ a : {
+  if (!(r[f | 0] << 8 | r[f + 1 | 0])) {
+   break a;
+  }
+  q[h + 12 >> 2] = 0;
+  q[h + 8 >> 2] = 0;
+  q[h + 4 >> 2] = 0;
+  k = jB(iB(a, b), c, q[a >> 2], h + 12 | 0, h + 8 | 0, q[a + 4 >> 2], h + 4 | 0);
+  a = q[k + 12 >> 2];
+  e = q[k + 16 >> 2];
+  c = q[h + 12 >> 2];
+  q[d >> 2] = c;
+  e = e >>> 0 < 29 ? 271040 : a;
+  f = e + 20 | 0;
+  a = r[f | 0] | r[f + 1 | 0] << 8 | (r[f + 2 | 0] << 16 | r[f + 3 | 0] << 24);
+  a = q[h + 8 >> 2] + (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) | 0;
+  q[d + 4 >> 2] = a;
+  e = r[e + 16 | 0] | r[e + 17 | 0] << 8 | (r[e + 18 | 0] << 16 | r[e + 19 | 0] << 24);
+  e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+  q[d + 8 >> 2] = e;
+  f = r[f | 0] | r[f + 1 | 0] << 8 | (r[f + 2 | 0] << 16 | r[f + 3 | 0] << 24);
+  f = 0 - (f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24)) | 0;
+  q[d + 12 >> 2] = f;
+  o = d;
+  i = q[h + 4 >> 2];
+  b : {
+   if (i) {
+    a = q[b + 16 >> 2];
+    e = q[a + 28 >> 2];
+    if (!e) {
+     e = XF(a);
+     c = q[d >> 2];
+     a = q[b + 16 >> 2];
+    }
+    j = x(x(e >>> 0) / x(i >>> 0));
+    g = x(x(j * x(c | 0)) * x(q[b + 20 >> 2]));
+    c = q[a + 28 >> 2];
+    if (!c) {
+     c = XF(a);
+     a = q[b + 16 >> 2];
+    }
+    e = d;
+    g = x(S(x(x(g / x(c >>> 0)))));
+    c : {
+     if (x(y(g)) < x(2147483648)) {
+      c = ~~g;
+      break c;
+     }
+     c = -2147483648;
+    }
+    q[e >> 2] = c;
+    g = x(x(j * x(q[d + 4 >> 2])) * x(q[b + 24 >> 2]));
+    c = q[a + 28 >> 2];
+    if (!c) {
+     c = XF(a);
+     a = q[b + 16 >> 2];
+    }
+    e = d;
+    g = x(S(x(x(g / x(c >>> 0)))));
+    d : {
+     if (x(y(g)) < x(2147483648)) {
+      c = ~~g;
+      break d;
+     }
+     c = -2147483648;
+    }
+    q[e + 4 >> 2] = c;
+    g = x(x(j * x(q[d + 8 >> 2])) * x(q[b + 20 >> 2]));
+    c = q[a + 28 >> 2];
+    if (!c) {
+     c = XF(a);
+     a = q[b + 16 >> 2];
+    }
+    e = d;
+    g = x(S(x(x(g / x(c >>> 0)))));
+    e : {
+     if (x(y(g)) < x(2147483648)) {
+      c = ~~g;
+      break e;
+     }
+     c = -2147483648;
+    }
+    q[e + 8 >> 2] = c;
+    g = x(x(j * x(q[d + 12 >> 2])) * x(q[b + 24 >> 2]));
+    b = q[a + 28 >> 2];
+    if (!b) {
+     b = XF(a);
+    }
+    j = x(S(x(x(g / x(b >>> 0)))));
+    if (x(y(j)) < x(2147483648)) {
+     a = ~~j;
+     break b;
+    }
+    a = -2147483648;
+    break b;
+   }
+   i = q[b + 36 >> 2];
+   l = i;
+   m = q[b + 32 >> 2];
+   i = c << 16;
+   c = i >> 31;
+   c = T0(m, l, i >> 16, c);
+   q[d >> 2] = (Ea & 65535) << 16 | c >>> 16;
+   i = q[b + 40 >> 2];
+   n = q[b + 44 >> 2];
+   b = e << 16;
+   c = b >> 31;
+   b = T0(m, l, b >> 16, c);
+   q[d + 8 >> 2] = (Ea & 65535) << 16 | b >>> 16;
+   b = a << 16;
+   c = b >> 31;
+   a = T0(i, n, b >> 16, c);
+   q[d + 4 >> 2] = (Ea & 65535) << 16 | a >>> 16;
+   b = f << 16;
+   c = b >> 31;
+   a = T0(i, n, b >> 16, c);
+   a = (Ea & 65535) << 16 | a >>> 16;
+  }
+  q[o + 12 >> 2] = a;
+  Cq(k);
+  e = q[h + 4 >> 2] != 0;
+ }
+ Ca = h + 16 | 0;
+ return e;
+}
+function Pq(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ a : {
+  c = Qq(q[a >> 2] + 148 | 0);
+  c = t[c + 16 >> 2] < 8 ? 271040 : q[c + 12 >> 2];
+  if (r[c | 0] << 8 | r[c + 1 | 0]) {
+   d = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+   h = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (!h) {
+    break a;
+   }
+   f = c + 8 | 0;
+   j = q[67760];
+   while (1) {
+    k = Rq(f, a);
+    b : {
+     c : {
+      d : {
+       d = q[b >> 2];
+       if ((d | 0) >= 0) {
+        c = d;
+        g = q[b + 4 >> 2];
+        e = g + 1 | 0;
+        e = (e | 0) > 0 ? e : 0;
+        if (c >>> 0 >= e >>> 0) {
+         break c;
+        }
+        while (1) {
+         c = ((c >>> 1 | 0) + c | 0) + 8 | 0;
+         if (c >>> 0 <= e >>> 0) {
+          continue;
+         }
+         break;
+        }
+        if (!(c >>> 0 < d >>> 0 | c >>> 0 > 1073741822)) {
+         d = O$(q[b + 8 >> 2], c << 2);
+         if (d) {
+          break d;
+         }
+        }
+        q[b >> 2] = -1;
+       }
+       q[160656] = j;
+       d = 642624;
+       break b;
+      }
+      q[b >> 2] = c;
+      q[b + 8 >> 2] = d;
+      g = q[b + 4 >> 2];
+     }
+     if (e >>> 0 > g >>> 0) {
+      Z$(q[b + 8 >> 2] + (g << 2) | 0, 0, e - g << 2);
+     }
+     q[b + 4 >> 2] = e;
+     d = (q[b + 8 >> 2] + (e << 2) | 0) + -4 | 0;
+    }
+    q[d >> 2] = k;
+    c = r[f + 4 | 0] | r[f + 5 | 0] << 8 | (r[f + 6 | 0] << 16 | r[f + 7 | 0] << 24);
+    f = (c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) + f | 0;
+    i = i + 1 | 0;
+    if ((h | 0) != (i | 0)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  c = Sq(q[a >> 2] + 152 | 0);
+  c = t[c + 16 >> 2] < 8 ? 271040 : q[c + 12 >> 2];
+  if (!(r[c | 0] << 8 | r[c + 1 | 0])) {
+   break a;
+  }
+  d = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+  h = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  if (!h) {
+   break a;
+  }
+  f = c + 8 | 0;
+  j = q[67760];
+  while (1) {
+   k = Tq(f, a);
+   e : {
+    f : {
+     g : {
+      d = q[b >> 2];
+      if ((d | 0) >= 0) {
+       c = d;
+       g = q[b + 4 >> 2];
+       e = g + 1 | 0;
+       e = (e | 0) > 0 ? e : 0;
+       if (c >>> 0 >= e >>> 0) {
+        break f;
+       }
+       while (1) {
+        c = ((c >>> 1 | 0) + c | 0) + 8 | 0;
+        if (c >>> 0 <= e >>> 0) {
+         continue;
+        }
+        break;
+       }
+       if (!(c >>> 0 < d >>> 0 | c >>> 0 > 1073741822)) {
+        d = O$(q[b + 8 >> 2], c << 2);
+        if (d) {
+         break g;
+        }
+       }
+       q[b >> 2] = -1;
+      }
+      q[160656] = j;
+      d = 642624;
+      break e;
+     }
+     q[b >> 2] = c;
+     q[b + 8 >> 2] = d;
+     g = q[b + 4 >> 2];
+    }
+    if (e >>> 0 > g >>> 0) {
+     Z$(q[b + 8 >> 2] + (g << 2) | 0, 0, e - g << 2);
+    }
+    q[b + 4 >> 2] = e;
+    d = (q[b + 8 >> 2] + (e << 2) | 0) + -4 | 0;
+   }
+   q[d >> 2] = k;
+   c = r[f + 4 | 0] | r[f + 5 | 0] << 8 | (r[f + 6 | 0] << 16 | r[f + 7 | 0] << 24);
+   f = (c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) + f | 0;
+   i = i + 1 | 0;
+   if ((h | 0) != (i | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function MT(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ f = 1;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      g = c - b | 0;
+      f : {
+       if ((g | 0) < 1) {
+        break f;
+       }
+       h = a + 72 | 0;
+       e = r[h + r[b | 0] | 0] + -5 | 0;
+       if (e >>> 0 > 25) {
+        break a;
+       }
+       g : {
+        h : {
+         switch (e - 1 | 0) {
+         default:
+          f = 2;
+          e = -2;
+          if ((g | 0) < 2) {
+           break d;
+          }
+          if (n[q[a + 340 >> 2]](a, b)) {
+           break g;
+          }
+          break a;
+         case 0:
+          f = 3;
+          e = -2;
+          if ((g | 0) < 3) {
+           break d;
+          }
+          if (!n[q[a + 344 >> 2]](a, b)) {
+           break a;
+          }
+          break g;
+         case 2:
+         case 5:
+         case 6:
+         case 7:
+         case 8:
+         case 9:
+         case 10:
+         case 11:
+         case 12:
+         case 13:
+         case 14:
+         case 17:
+         case 19:
+         case 20:
+         case 21:
+         case 22:
+         case 23:
+          break a;
+         case 3:
+         case 4:
+         case 15:
+         case 24:
+          break b;
+         case 16:
+         case 18:
+          break g;
+         case 1:
+          break h;
+         }
+        }
+        f = 4;
+        e = -2;
+        if ((g | 0) < 4) {
+         break d;
+        }
+        if (!n[q[a + 348 >> 2]](a, b)) {
+         break a;
+        }
+       }
+       b = b + f | 0;
+       e = c - b | 0;
+       if ((e | 0) < 1) {
+        break f;
+       }
+       while (1) {
+        g = r[r[b | 0] + h | 0] + -5 | 0;
+        if (g >>> 0 > 24) {
+         break c;
+        }
+        f = 1;
+        i : {
+         j : {
+          switch (g - 1 | 0) {
+          default:
+           if ((e | 0) < 2) {
+            return -2;
+           }
+           f = 2;
+           if (n[q[a + 328 >> 2]](a, b)) {
+            break i;
+           }
+           break c;
+          case 0:
+           if ((e | 0) < 3) {
+            return -2;
+           }
+           f = 3;
+           if (!n[q[a + 332 >> 2]](a, b)) {
+            break c;
+           }
+           break i;
+          case 16:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+           break i;
+          case 1:
+           break j;
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 13:
+          case 14:
+          case 15:
+          case 17:
+          case 22:
+          case 23:
+           break c;
+          case 12:
+           break e;
+          }
+         }
+         if ((e | 0) < 4) {
+          return -2;
+         }
+         f = 4;
+         if (!n[q[a + 336 >> 2]](a, b)) {
+          break c;
+         }
+        }
+        b = b + f | 0;
+        e = c - b | 0;
+        if ((e | 0) > 0) {
+         continue;
+        }
+        break;
+       }
+      }
+      return -1;
+     }
+     q[d >> 2] = b + 1;
+     e = 28;
+    }
+    return e;
+   }
+   q[d >> 2] = b;
+   return 0;
+  }
+  q[d >> 2] = b;
+  return 22;
+ }
+ q[d >> 2] = b;
+ return 0;
+}
+function tf(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ if (!a) {
+  return 35;
+ }
+ e = q[a + 96 >> 2];
+ if (!e) {
+  return 6;
+ }
+ h = q[e + 8 >> 2];
+ a : {
+  b : {
+   i = q[e + 12 >> 2];
+   c = q[i + 44 >> 2];
+   c : {
+    if ((c | 0) <= 0) {
+     g = 6;
+     f = h;
+     if (!c) {
+      break c;
+     }
+     break b;
+    }
+    d = n[q[h + 4 >> 2]](h, c) | 0;
+    if (!d) {
+     g = 64;
+     break b;
+    }
+    Z$(d, 0, c);
+    e = q[a + 96 >> 2];
+    f = q[e + 8 >> 2];
+    i = q[e + 12 >> 2];
+   }
+   q[d + 4 >> 2] = a;
+   q[d >> 2] = q[e + 4 >> 2];
+   g = 64;
+   d : {
+    c = n[q[f + 4 >> 2]](f, 44) | 0;
+    e : {
+     if (!c) {
+      break e;
+     }
+     o[c | 0] = 0;
+     o[c + 1 | 0] = 0;
+     o[c + 2 | 0] = 0;
+     o[c + 3 | 0] = 0;
+     o[c + 4 | 0] = 0;
+     o[c + 5 | 0] = 0;
+     o[c + 6 | 0] = 0;
+     o[c + 7 | 0] = 0;
+     o[c + 40 | 0] = 0;
+     o[c + 41 | 0] = 0;
+     o[c + 42 | 0] = 0;
+     o[c + 43 | 0] = 0;
+     o[c + 32 | 0] = 0;
+     o[c + 33 | 0] = 0;
+     o[c + 34 | 0] = 0;
+     o[c + 35 | 0] = 0;
+     o[c + 36 | 0] = 0;
+     o[c + 37 | 0] = 0;
+     o[c + 38 | 0] = 0;
+     o[c + 39 | 0] = 0;
+     o[c + 24 | 0] = 0;
+     o[c + 25 | 0] = 0;
+     o[c + 26 | 0] = 0;
+     o[c + 27 | 0] = 0;
+     o[c + 28 | 0] = 0;
+     o[c + 29 | 0] = 0;
+     o[c + 30 | 0] = 0;
+     o[c + 31 | 0] = 0;
+     o[c + 16 | 0] = 0;
+     o[c + 17 | 0] = 0;
+     o[c + 18 | 0] = 0;
+     o[c + 19 | 0] = 0;
+     o[c + 20 | 0] = 0;
+     o[c + 21 | 0] = 0;
+     o[c + 22 | 0] = 0;
+     o[c + 23 | 0] = 0;
+     o[c + 8 | 0] = 0;
+     o[c + 9 | 0] = 0;
+     o[c + 10 | 0] = 0;
+     o[c + 11 | 0] = 0;
+     o[c + 12 | 0] = 0;
+     o[c + 13 | 0] = 0;
+     o[c + 14 | 0] = 0;
+     o[c + 15 | 0] = 0;
+     q[d + 156 >> 2] = c;
+     if (!(r[q[e >> 2] + 1 | 0] & 2)) {
+      e = n[q[f + 4 >> 2]](f, 96) | 0;
+      if (!e) {
+       break e;
+      }
+      Z$(e + 4 | 0, 0, 92);
+      q[e >> 2] = f;
+      q[c >> 2] = e;
+     }
+     f = q[i + 64 >> 2];
+     if (!f) {
+      break d;
+     }
+     g = n[f](d) | 0;
+     if (!g) {
+      break d;
+     }
+    }
+    b = q[q[d + 4 >> 2] + 96 >> 2];
+    f = q[b + 8 >> 2];
+    a = q[q[b + 12 >> 2] + 68 >> 2];
+    if (a) {
+     n[a](d);
+    }
+    f : {
+     g : {
+      a = q[d + 156 >> 2];
+      if (!a) {
+       break g;
+      }
+      c = q[a + 4 >> 2];
+      if (!(c & 1)) {
+       break g;
+      }
+      e = q[d + 88 >> 2];
+      if (e) {
+       a = q[q[d + 4 >> 2] + 100 >> 2];
+       n[q[a + 8 >> 2]](a, e);
+       a = q[d + 156 >> 2];
+       c = q[a + 4 >> 2];
+      }
+      q[d + 88 >> 2] = 0;
+      q[a + 4 >> 2] = c & -2;
+      break f;
+     }
+     q[d + 88 >> 2] = 0;
+    }
+    if (a) {
+     h : {
+      if (!(r[q[b >> 2] + 1 | 0] & 2)) {
+       Re(q[a >> 2]);
+       a = q[d + 156 >> 2];
+       q[a >> 2] = 0;
+       if (!a) {
+        break h;
+       }
+      }
+      n[q[f + 8 >> 2]](f, a);
+     }
+     q[d + 156 >> 2] = 0;
+    }
+    n[q[h + 8 >> 2]](h, d);
+    return g;
+   }
+   q[d + 8 >> 2] = q[a + 84 >> 2];
+   q[a + 84 >> 2] = d;
+   g = 0;
+   if (!b) {
+    break a;
+   }
+   q[b >> 2] = d;
+   break a;
+  }
+  if (!b) {
+   break a;
+  }
+  q[b >> 2] = 0;
+  return g;
+ }
+ return g;
+}
+function WT(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ i = a + 72 | 0;
+ f = 1;
+ while (1) {
+  a = b;
+  b = a + 1 | 0;
+  j = r[a + 1 | 0];
+  g = r[j + i | 0] + -3 | 0;
+  if (g >>> 0 > 26) {
+   continue;
+  }
+  a : {
+   switch (g - 1 | 0) {
+   case 1:
+    b : {
+     if (f) {
+      break b;
+     }
+     f = 1;
+     if ((e | 0) >= (c | 0)) {
+      break b;
+     }
+     g = (e << 4) + d | 0;
+     o[g + 12 | 0] = 1;
+     q[g >> 2] = b;
+    }
+    b = a + 2 | 0;
+    continue;
+   case 2:
+    c : {
+     if (f) {
+      break c;
+     }
+     f = 1;
+     if ((e | 0) >= (c | 0)) {
+      break c;
+     }
+     g = (e << 4) + d | 0;
+     o[g + 12 | 0] = 1;
+     q[g >> 2] = b;
+    }
+    b = a + 3 | 0;
+    continue;
+   case 3:
+    d : {
+     if (f) {
+      break d;
+     }
+     f = 1;
+     if ((e | 0) >= (c | 0)) {
+      break d;
+     }
+     g = (e << 4) + d | 0;
+     o[g + 12 | 0] = 1;
+     q[g >> 2] = b;
+    }
+    b = a + 4 | 0;
+    continue;
+   case 18:
+   case 20:
+   case 25:
+    if (f) {
+     continue;
+    }
+    f = 1;
+    if ((e | 0) >= (c | 0)) {
+     continue;
+    }
+    a = (e << 4) + d | 0;
+    o[a + 12 | 0] = 1;
+    q[a >> 2] = b;
+    continue;
+   case 8:
+    if ((f | 0) != 2) {
+     h = 12;
+     f = 2;
+     if ((e | 0) >= (c | 0)) {
+      continue;
+     }
+     q[((e << 4) + d | 0) + 4 >> 2] = a + 2;
+     continue;
+    }
+    f = 2;
+    if ((h | 0) != 12) {
+     continue;
+    }
+    if ((e | 0) < (c | 0)) {
+     q[((e << 4) + d | 0) + 8 >> 2] = b;
+    }
+    e = e + 1 | 0;
+    h = 12;
+    f = 0;
+    continue;
+   case 9:
+    if ((f | 0) != 2) {
+     h = 13;
+     f = 2;
+     if ((e | 0) >= (c | 0)) {
+      continue;
+     }
+     q[((e << 4) + d | 0) + 4 >> 2] = a + 2;
+     continue;
+    }
+    f = 2;
+    if ((h | 0) != 13) {
+     continue;
+    }
+    if ((e | 0) < (c | 0)) {
+     q[((e << 4) + d | 0) + 8 >> 2] = b;
+    }
+    e = e + 1 | 0;
+    h = 13;
+    f = 0;
+    continue;
+   default:
+    if ((e | 0) >= (c | 0)) {
+     continue;
+    }
+    o[((e << 4) + d | 0) + 12 | 0] = 0;
+    continue;
+   case 17:
+    g = f + -1 | 0;
+    if (g >>> 0 > 1) {
+     continue;
+    }
+    f = 0;
+    if (g - 1) {
+     continue;
+    }
+    f = 2;
+    if ((e | 0) >= (c | 0)) {
+     continue;
+    }
+    g = (e << 4) + d | 0;
+    if (!r[g + 12 | 0]) {
+     continue;
+    }
+    e : {
+     if (q[g + 4 >> 2] == (b | 0) | (j | 0) != 32) {
+      break e;
+     }
+     a = r[a + 2 | 0];
+     if ((a | 0) == 32) {
+      break e;
+     }
+     if (r[a + i | 0] != (h | 0)) {
+      continue;
+     }
+    }
+    o[g + 12 | 0] = 0;
+    continue;
+   case 5:
+   case 6:
+    a = f + -1 | 0;
+    if (a >>> 0 > 1) {
+     continue;
+    }
+    f = 0;
+    if (a - 1) {
+     continue;
+    }
+    f = 2;
+    if ((e | 0) >= (c | 0)) {
+     continue;
+    }
+    o[((e << 4) + d | 0) + 12 | 0] = 0;
+    continue;
+   case 0:
+   case 4:
+   case 10:
+   case 11:
+   case 12:
+   case 14:
+   case 15:
+   case 16:
+   case 19:
+   case 21:
+   case 22:
+   case 23:
+   case 24:
+    continue;
+   case 7:
+   case 13:
+    break a;
+   }
+  }
+  a = (f | 0) == 2;
+  f = 2;
+  if (a) {
+   continue;
+  }
+  break;
+ }
+ return e | 0;
+}
+function GW(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ q[a + 284 >> 2] = b;
+ q[a + 276 >> 2] = 973;
+ a : {
+  b : {
+   while (1) {
+    q[e + 4 >> 2] = 0;
+    g = q[a + 144 >> 2];
+    h = n[q[g >> 2]](g, b, c, e + 4 | 0) | 0;
+    g = q[e + 4 >> 2];
+    q[a + 288 >> 2] = g;
+    f = 9;
+    h = h + 15 | 0;
+    if (h >>> 0 > 30) {
+     break a;
+    }
+    c : {
+     d : {
+      switch (h - 1 | 0) {
+      default:
+       f = q[a + 80 >> 2];
+       if (f) {
+        c = q[a + 144 >> 2];
+        q[e + 12 >> 2] = b;
+        e : {
+         if (!r[c + 68 | 0]) {
+          while (1) {
+           q[e + 8 >> 2] = q[a + 44 >> 2];
+           b = n[q[c + 56 >> 2]](c, e + 12 | 0, g, e + 8 | 0, q[a + 48 >> 2]) | 0;
+           q[a + 288 >> 2] = q[e + 12 >> 2];
+           f = q[a + 44 >> 2];
+           n[q[a + 80 >> 2]](q[a + 4 >> 2], f, q[e + 8 >> 2] - f | 0);
+           q[a + 284 >> 2] = q[e + 12 >> 2];
+           if (b >>> 0 > 1) {
+            continue;
+           }
+           break e;
+          }
+         }
+         n[f](q[a + 4 >> 2], b, g - b | 0);
+        }
+        f = 35;
+        if (q[a + 476 >> 2] == 2) {
+         break a;
+        }
+        g = q[e + 4 >> 2];
+       }
+       q[d >> 2] = g;
+       f = 0;
+       break a;
+      case 29:
+       h = q[a + 80 >> 2];
+       if (!h) {
+        break c;
+       }
+       f = q[a + 144 >> 2];
+       q[e + 12 >> 2] = b;
+       if (!r[f + 68 | 0]) {
+        while (1) {
+         q[e + 8 >> 2] = q[a + 44 >> 2];
+         b = n[q[f + 56 >> 2]](f, e + 12 | 0, g, e + 8 | 0, q[a + 48 >> 2]) | 0;
+         q[a + 288 >> 2] = q[e + 12 >> 2];
+         h = q[a + 44 >> 2];
+         n[q[a + 80 >> 2]](q[a + 4 >> 2], h, q[e + 8 >> 2] - h | 0);
+         q[a + 284 >> 2] = q[e + 12 >> 2];
+         if (b >>> 0 > 1) {
+          continue;
+         }
+         break c;
+        }
+       }
+       n[h](q[a + 4 >> 2], b, g - b | 0);
+       break c;
+      case 25:
+       if (xW(a, q[a + 144 >> 2], b, g)) {
+        break c;
+       }
+       f = 1;
+       break a;
+      case 27:
+       if (yW(a, q[a + 144 >> 2], b, g)) {
+        break c;
+       }
+       f = 1;
+       break a;
+      case 13:
+       f = 5;
+       if (!r[a + 480 | 0]) {
+        break b;
+       }
+       break a;
+      case 12:
+       f = 6;
+       if (r[a + 480 | 0]) {
+        break a;
+       }
+       break b;
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 8:
+      case 9:
+      case 11:
+      case 15:
+      case 16:
+      case 17:
+      case 18:
+      case 19:
+      case 20:
+      case 21:
+      case 22:
+      case 23:
+      case 24:
+      case 26:
+      case 28:
+       break a;
+      case 10:
+       break b;
+      case 14:
+       break d;
+      }
+     }
+     q[a + 284 >> 2] = g;
+     f = 4;
+     break a;
+    }
+    b = q[e + 4 >> 2];
+    q[a + 284 >> 2] = b;
+    g = q[a + 476 >> 2] + -2 | 0;
+    if (g >>> 0 > 1) {
+     continue;
+    }
+    break;
+   }
+   f = 35;
+   if (g - 1) {
+    break a;
+   }
+  }
+  q[d >> 2] = b;
+  f = 0;
+ }
+ Ca = e + 16 | 0;
+ return f | 0;
+}
+function ND(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ if (!HD(b, a, 4)) {
+  return 0;
+ }
+ a : {
+  b : {
+   f = q[c + 4 >> 2];
+   if (!f) {
+    o[a + 2 | 0] = 0;
+    o[a + 3 | 0] = 0;
+    break b;
+   }
+   j = q[c >> 2];
+   k = j + (f << 1) | 0;
+   g = -2;
+   e = j;
+   c = f;
+   while (1) {
+    c : {
+     d : {
+      if ((e | 0) == (k | 0)) {
+       if (c) {
+        break d;
+       }
+       e = a + 2 | 0;
+       if (!HD(b, e, 2)) {
+        return 0;
+       }
+       c = (i << 8 & 16711680 | i << 24) >>> 16 | 0;
+       o[a + 2 | 0] = c;
+       o[a + 3 | 0] = c >>> 8;
+       c = (i & 65280) >>> 8 | 0;
+       if (!(!r[b + 20 | 0] | i >>> 0 < 65536)) {
+        o[b + 20 | 0] = 0;
+        i = r[a + 3 | 0];
+        c = r[a + 2 | 0];
+       }
+       g = 0;
+       d = 0;
+       if (!HD(b, e, w(i & 255 | (c & 255) << 8, 6) + 2 | 0)) {
+        break a;
+       }
+       c = -1;
+       e = -2;
+       while (1) {
+        d = e + 1 | 0;
+        e : {
+         f : {
+          if ((j | 0) == (k | 0)) {
+           if (!f) {
+            break b;
+           }
+           break f;
+          }
+          if (f) {
+           break f;
+          }
+          b = 271040;
+          break e;
+         }
+         b = j;
+        }
+        h = r[b | 0] | r[b + 1 | 0] << 8;
+        e = (h << 24 | h << 8 & 16711680) >>> 16 | 0;
+        if ((d | 0) != (e | 0)) {
+         c = c + 1 | 0;
+         g : {
+          if ((r[a + 3 | 0] | r[a + 2 | 0] << 8) >>> 0 <= c >>> 0) {
+           p[321314] = r[271436] | r[271437] << 8;
+           q[160656] = r[271432] | r[271433] << 8 | (r[271434] << 16 | r[271435] << 24);
+           b = 642624;
+           break g;
+          }
+          b = (w(c, 6) + a | 0) + 4 | 0;
+         }
+         o[b | 0] = h;
+         o[b + 1 | 0] = h >>> 8;
+         h : {
+          if ((r[a + 3 | 0] | r[a + 2 | 0] << 8) >>> 0 <= c >>> 0) {
+           p[321314] = r[271436] | r[271437] << 8;
+           q[160656] = r[271432] | r[271433] << 8 | (r[271434] << 16 | r[271435] << 24);
+           d = 642624;
+           break h;
+          }
+          d = (w(c, 6) + a | 0) + 4 | 0;
+         }
+         b = (g << 8 & 16711680 | g << 24) >>> 16 | 0;
+         o[d + 4 | 0] = b;
+         o[d + 5 | 0] = b >>> 8;
+        }
+        i : {
+         if ((r[a + 3 | 0] | r[a + 2 | 0] << 8) >>> 0 <= c >>> 0) {
+          p[321314] = r[271436] | r[271437] << 8;
+          q[160656] = r[271432] | r[271433] << 8 | (r[271434] << 16 | r[271435] << 24);
+          b = 642624;
+          break i;
+         }
+         b = (w(c, 6) + a | 0) + 4 | 0;
+        }
+        o[b + 2 | 0] = h;
+        o[b + 3 | 0] = h >>> 8;
+        g = g + 1 | 0;
+        b = (f | 0) != 0;
+        f = f - b | 0;
+        j = (b << 1) + j | 0;
+        continue;
+       }
+      }
+      if (c) {
+       break d;
+      }
+      d = 271040;
+      break c;
+     }
+     d = e;
+    }
+    h = g + 1 | 0;
+    d = r[d | 0] | r[d + 1 | 0] << 8;
+    g = (d << 24 | d << 8 & 16711680) >>> 16 | 0;
+    i = ((h | 0) != (g | 0)) + i | 0;
+    d = (c | 0) != 0;
+    c = c - d | 0;
+    e = (d << 1) + e | 0;
+    continue;
+   }
+  }
+  d = 1;
+ }
+ return d;
+}
+function jO(a, b, c, d, e, f, g, h) {
+ var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0, u = 0, v = 0, x = 0;
+ i = Ca - 32 | 0;
+ Ca = i;
+ a : {
+  b : {
+   if (!((f | 0) < 1 | (g | 0) <= 0)) {
+    j = -1 << q[a + 4 >> 2] ^ -1;
+    if (j & f) {
+     break b;
+    }
+    if (g & j) {
+     break a;
+    }
+    e = e << 6;
+    j = d << 6;
+    m = q[b + 28 >> 2];
+    if (m) {
+     d = q[b + 20 >> 2];
+     r = d + w(m, 40) | 0;
+     n = e;
+     s = e >> 31;
+     t = j;
+     u = j >> 31;
+     while (1) {
+      q[d + 24 >> 2] = q[d + 24 >> 2] - j;
+      q[d + 28 >> 2] = q[d + 28 >> 2] - j;
+      q[d + 32 >> 2] = q[d + 32 >> 2] - e;
+      q[d + 36 >> 2] = q[d + 36 >> 2] - e;
+      o = q[d >> 2];
+      v = q[d + 4 >> 2];
+      k = q[d + 12 >> 2];
+      l = T0(k, k >> 31, n, s);
+      x = Ea;
+      k = l;
+      l = q[d + 8 >> 2];
+      p = T0(l, l >> 31, t, u);
+      k = k + p | 0;
+      l = Ea + x | 0;
+      l = k >>> 0 < p >>> 0 ? l + 1 | 0 : l;
+      q[d >> 2] = o - k;
+      q[d + 4 >> 2] = v - (l + (o >>> 0 < k >>> 0) | 0);
+      d = d + 40 | 0;
+      if ((r | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    q[b + 4 >> 2] = q[b + 4 >> 2] - j;
+    n = b + 12 | 0;
+    d = q[n >> 2] - j | 0;
+    q[n >> 2] = d;
+    j = b + 8 | 0;
+    q[j >> 2] = q[j >> 2] - e;
+    j = b + 16 | 0;
+    q[j >> 2] = q[j >> 2] - e;
+    e = q[b + 40 >> 2];
+    j = q[b + 32 >> 2] + m | 0;
+    c : {
+     if (e >>> 0 < j >>> 0) {
+      d = e << 1;
+      e = d >>> 0 > 64 ? d : 64;
+      while (1) {
+       d = e;
+       e = d << 1;
+       if (d >>> 0 < j >>> 0) {
+        continue;
+       }
+       break;
+      }
+      j = O$(q[b + 24 >> 2], w(d, 40));
+      e = 0;
+      if (!j) {
+       break c;
+      }
+      q[b + 40 >> 2] = d;
+      q[b + 24 >> 2] = j;
+      m = q[b + 28 >> 2];
+      d = q[b + 12 >> 2];
+     }
+     e = q[b + 44 >> 2];
+     q[i + 16 >> 2] = e;
+     q[i + 20 >> 2] = m - e;
+     q[i + 8 >> 2] = 0;
+     q[i + 12 >> 2] = 0;
+     e = g << 6;
+     k = d;
+     d = f << 6;
+     if ((k | 0) >= (d | 0)) {
+      j = q[b + 20 >> 2];
+      kO(j, i + 16 | 0, j, i + 16 | 0, q[b + 24 >> 2], i + 24 | 0, i + 8 | 0, d);
+      q[i + 8 >> 2] = 0;
+      q[i + 12 >> 2] = 0;
+     }
+     if (q[b + 16 >> 2] >= (e | 0)) {
+      d = q[b + 20 >> 2];
+      lO(d, i + 16 | 0, d, i + 16 | 0, q[b + 24 >> 2], i + 24 | 0, i + 8 | 0, e);
+      q[i + 8 >> 2] = 0;
+      q[i + 12 >> 2] = 0;
+     }
+     if (q[b + 4 >> 2] <= 0) {
+      d = q[b + 20 >> 2];
+      kO(d, i + 16 | 0, q[b + 24 >> 2], i + 24 | 0, d, i + 16 | 0, i + 8 | 0, 0);
+     }
+     if (q[b + 8 >> 2] >= 1) {
+      d = i + 8 | 0;
+     } else {
+      d = q[b + 20 >> 2];
+      lO(d, i + 16 | 0, q[b + 24 >> 2], i + 24 | 0, d, i + 16 | 0, i + 8 | 0, 0);
+      d = i + 8 | 0;
+     }
+     e = q[i + 20 >> 2];
+     j = q[i + 16 >> 2];
+     q[b + 32 >> 2] = 0;
+     q[b + 28 >> 2] = e + j;
+     e = mO(a, b, c, f, g, h, 0, i + 16 | 0, d);
+    }
+    Ca = i + 32 | 0;
+    return e;
+   }
+   J(436913, 436873, 727, 436937);
+   F();
+  }
+  J(436953, 436873, 728, 436937);
+  F();
+ }
+ J(436996, 436873, 729, 436937);
+ F();
+}
+function EH(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ c = q[a + 36 >> 2];
+ i = q[a + 40 >> 2];
+ d = q[a + 28 >> 2];
+ j = q[a + 24 >> 2];
+ k = d + w(j, 40) | 0;
+ a : {
+  if (b) {
+   l = 8;
+   if ((j | 0) <= 0) {
+    break a;
+   }
+   a = d;
+   while (1) {
+    q[a + 24 >> 2] = q[a + 20 >> 2];
+    q[a + 28 >> 2] = q[a + 8 >> 2];
+    a = a + 40 | 0;
+    if (a >>> 0 < k >>> 0) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  l = 4;
+  if ((j | 0) < 1) {
+   break a;
+  }
+  a = d;
+  while (1) {
+   q[a + 24 >> 2] = q[a + 16 >> 2];
+   q[a + 28 >> 2] = q[a + 4 >> 2];
+   a = a + 40 | 0;
+   if (a >>> 0 < k >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ if ((c | 0) >= 1) {
+  n = (c << 2) + i | 0;
+  while (1) {
+   e = q[i >> 2];
+   a = e;
+   f = q[a + 36 >> 2];
+   b : {
+    if (a >>> 0 > f >>> 0) {
+     break b;
+    }
+    while (1) {
+     c : {
+      if (s[a >> 1] & l) {
+       c = a;
+       while (1) {
+        g = c;
+        d : {
+         if (c >>> 0 < f >>> 0) {
+          c = g + 40 | 0;
+          m = 1;
+          if (s[g + 40 >> 1] & l) {
+           continue;
+          }
+          break d;
+         }
+         c = g + 40 | 0;
+         m = 0;
+        }
+        e : {
+         f : {
+          h = c;
+          if (c >>> 0 <= f >>> 0) {
+           while (1) {
+            if (s[h >> 1] & l) {
+             break f;
+            }
+            h = h + 40 | 0;
+            if (h >>> 0 <= f >>> 0) {
+             continue;
+            }
+            break;
+           }
+          }
+          if ((a | 0) == (g | 0)) {
+           c = q[a + 24 >> 2] - q[a + 28 >> 2] | 0;
+           if (!c) {
+            break b;
+           }
+           if (e >>> 0 < a >>> 0) {
+            break e;
+           }
+           break c;
+          }
+          if (m) {
+           bI(c, f, g, a);
+          }
+          if (a >>> 0 <= d >>> 0) {
+           break b;
+          }
+          bI(e, a + -40 | 0, g, a);
+          break b;
+         }
+         bI(c, h + -40 | 0, g, h);
+         c = h;
+         continue;
+        }
+        break;
+       }
+       while (1) {
+        q[e + 24 >> 2] = c + q[e + 28 >> 2];
+        e = e + 40 | 0;
+        if (e >>> 0 < a >>> 0) {
+         continue;
+        }
+        break;
+       }
+       break c;
+      }
+      a = a + 40 | 0;
+      if (a >>> 0 <= f >>> 0) {
+       continue;
+      }
+      break b;
+     }
+     break;
+    }
+    e = a + 40 | 0;
+    if (e >>> 0 > f >>> 0) {
+     break b;
+    }
+    while (1) {
+     q[a - -64 >> 2] = c + q[a + 68 >> 2];
+     a = e;
+     e = a + 40 | 0;
+     if (e >>> 0 <= f >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   i = i + 4 | 0;
+   if (i >>> 0 < n >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ g : {
+  if (b) {
+   if ((j | 0) <= 0) {
+    break g;
+   }
+   while (1) {
+    q[d + 20 >> 2] = q[d + 24 >> 2];
+    d = d + 40 | 0;
+    if (d >>> 0 < k >>> 0) {
+     continue;
+    }
+    break;
+   }
+   break g;
+  }
+  if ((j | 0) < 1) {
+   break g;
+  }
+  while (1) {
+   q[d + 16 >> 2] = q[d + 24 >> 2];
+   d = d + 40 | 0;
+   if (d >>> 0 < k >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function yP(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ b = s[a >> 1];
+ a : {
+  b : {
+   while (1) {
+    f = c << 4;
+    if (!(!c | s[f + 439234 >> 1] == s[a + 2 >> 1] ? (b | 0) == s[f + 439232 >> 1] : 0)) {
+     c = c + 1 | 0;
+     if ((c | 0) != 14) {
+      continue;
+     }
+     break b;
+    }
+    break;
+   }
+   c : {
+    d : {
+     f = (c << 4) + 439236 | 0;
+     e : {
+      if (iZ(f, 439456)) {
+       b = f;
+       break e;
+      }
+      i = s[a + 4 >> 1];
+      if (!i) {
+       c = q[a + 12 >> 2];
+       b = f;
+       if ((c | 0) < 1) {
+        break e;
+       }
+       b = q[a + 8 >> 2];
+       while (1) {
+        h = r[b | 0] >>> 7 | 0;
+        d = h + d | 0;
+        e = (h ^ 1) + e | 0;
+        h = (c | 0) > 1;
+        c = c + -1 | 0;
+        b = b + 1 | 0;
+        if (h) {
+         continue;
+        }
+        break;
+       }
+       b = 439466;
+       if (d << 1 > (e | 0)) {
+        break e;
+       }
+      }
+      b = f;
+      if (i >>> 0 < 256) {
+       break e;
+      }
+      c = 0;
+      d = i + -1033 | 0;
+      if (d >>> 0 > 8) {
+       break a;
+      }
+      f : {
+       switch (d - 1 | 0) {
+       default:
+        c = 1;
+        break;
+       case 0:
+       case 1:
+       case 2:
+       case 3:
+       case 4:
+       case 5:
+       case 6:
+        break a;
+       case 7:
+        break f;
+       }
+      }
+      b = w(c, 14) + 439474 | 0;
+     }
+     if (iZ(b, 439500)) {
+      if (iZ(b, 439508)) {
+       break d;
+      }
+     }
+     c = 0;
+     e = q[a + 8 >> 2];
+     a = q[a + 12 >> 2];
+     if (!kQ(e, a, g + 12 | 0, g + 8 | 0)) {
+      break a;
+     }
+     d = L$(w(q[g + 12 >> 2], 6) | 1);
+     if (!d) {
+      break a;
+     }
+     c = d;
+     b = jQ(e, g + 4 | 0, a);
+     if ((b | 0) >= 1) {
+      while (1) {
+       c = iQ(q[g + 4 >> 2], c) + c | 0;
+       e = b + e | 0;
+       a = a - b | 0;
+       b = jQ(e, g + 4 | 0, a);
+       if ((b | 0) > 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     break c;
+    }
+    g : {
+     if (iZ(b, 439517)) {
+      if (iZ(b, 439523)) {
+       break g;
+      }
+     }
+     e = q[a + 8 >> 2];
+     b = q[a + 12 >> 2];
+     d = L$(b << 1 | 1);
+     if (!d) {
+      break b;
+     }
+     c = d;
+     if ((b | 0) >= 1) {
+      while (1) {
+       c = iQ(r[e | 0], c) + c | 0;
+       a = (b | 0) > 1;
+       b = b + -1 | 0;
+       e = e + 1 | 0;
+       if (a) {
+        continue;
+       }
+       break;
+      }
+     }
+     break c;
+    }
+    c = 0;
+    if (iZ(b, 439456)) {
+     break a;
+    }
+    e = q[a + 8 >> 2];
+    b = q[a + 12 >> 2];
+    d = L$(w(b, 3) + 1 | 0);
+    if (!d) {
+     break a;
+    }
+    c = d;
+    if ((b | 0) >= 1) {
+     while (1) {
+      f = o[e | 0];
+      a = f & 255;
+      e = e + 1 | 0;
+      if ((f | 0) <= -1) {
+       a = s[(a << 1) + 439280 >> 1];
+      }
+      c = iQ(a, c) + c | 0;
+      a = (b | 0) > 1;
+      b = b + -1 | 0;
+      if (a) {
+       continue;
+      }
+      break;
+     }
+    }
+   }
+   o[c | 0] = 0;
+   if (aQ(d, 438376)) {
+    c = d;
+    break a;
+   }
+   M$(d);
+  }
+  c = 0;
+ }
+ Ca = g + 16 | 0;
+ return c;
+}
+function tt(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ g = q[b >> 2];
+ if ((g | 0) == -1) {
+  a = nu(a);
+  q[b >> 2] = a;
+  return (a | 0) != -1;
+ }
+ h = g >>> 9 | 0;
+ k = q[a + 28 >> 2];
+ j = q[a + 24 >> 2];
+ a : {
+  if ((j | 0) < 1) {
+   break a;
+  }
+  e = j + -1 | 0;
+  while (1) {
+   c = e + i >>> 1 | 0;
+   d = h - q[(c << 3) + k >> 2] | 0;
+   b : {
+    if ((d | 0) <= -1) {
+     e = c + -1 | 0;
+     break b;
+    }
+    if (!d) {
+     i = c;
+     break a;
+    }
+    i = c + 1 | 0;
+   }
+   if ((i | 0) <= (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ c : {
+  if (i >>> 0 >= j >>> 0) {
+   break c;
+  }
+  c = (i << 3) + k | 0;
+  if ((h | 0) != q[c >> 2]) {
+   break c;
+  }
+  c = q[c + 4 >> 2];
+  d = 271040;
+  d : {
+   if (t[a + 36 >> 2] <= c >>> 0) {
+    break d;
+   }
+   d = q[a + 40 >> 2] + (c << 6) | 0;
+  }
+  e : {
+   g = g + 1 | 0;
+   c = g & 511;
+   if (!c) {
+    break e;
+   }
+   e = c >>> 6 | 0;
+   h = d + (e << 3) | 0;
+   c = q[h >> 2];
+   h = q[h + 4 >> 2];
+   f = c;
+   c = g & 63;
+   g = c & 31;
+   if (32 <= (c & 63) >>> 0) {
+    c = -1 << g;
+    g = 0;
+   } else {
+    c = (1 << g) - 1 & -1 >>> 32 - g | -1 << g;
+    g = -1 << g;
+   }
+   f = f & g;
+   h = c & h;
+   c = h;
+   if (!(c | f)) {
+    while (1) {
+     e = e + 1 | 0;
+     if ((e | 0) == 8) {
+      break e;
+     }
+     h = d + (e << 3) | 0;
+     c = q[h + 4 >> 2];
+     f = q[h >> 2];
+     if (!(c | f)) {
+      continue;
+     }
+     break;
+    }
+   }
+   c = S0(f, c) | e << 6;
+   q[b >> 2] = c;
+   q[b >> 2] = c + (q[(t[a + 24 >> 2] > i >>> 0 ? (i << 3) + k | 0 : 271040) >> 2] << 9);
+   return 1;
+  }
+  q[b >> 2] = -1;
+  i = i + 1 | 0;
+  j = q[a + 24 >> 2];
+ }
+ if (i >>> 0 < j >>> 0) {
+  g = q[a + 36 >> 2];
+  while (1) {
+   e = 271040;
+   f : {
+    h = j >>> 0 > i >>> 0 ? (i << 3) + k | 0 : 271040;
+    c = q[h + 4 >> 2];
+    if (g >>> 0 > c >>> 0) {
+     e = q[a + 40 >> 2] + (c << 6) | 0;
+    }
+    d = q[e + 4 >> 2];
+    c = d;
+    f = q[e >> 2];
+    d = 0;
+    g : {
+     if (c | f) {
+      break g;
+     }
+     d = q[e + 12 >> 2];
+     c = d;
+     f = q[e + 8 >> 2];
+     d = 64;
+     if (c | f) {
+      break g;
+     }
+     d = q[e + 20 >> 2];
+     c = d;
+     f = q[e + 16 >> 2];
+     d = 128;
+     if (c | f) {
+      break g;
+     }
+     d = q[e + 28 >> 2];
+     c = d;
+     f = q[e + 24 >> 2];
+     d = 192;
+     if (c | f) {
+      break g;
+     }
+     d = q[e + 36 >> 2];
+     c = d;
+     f = q[e + 32 >> 2];
+     d = 256;
+     if (c | f) {
+      break g;
+     }
+     d = q[e + 44 >> 2];
+     c = d;
+     f = q[e + 40 >> 2];
+     d = 320;
+     if (c | f) {
+      break g;
+     }
+     d = q[e + 52 >> 2];
+     c = d;
+     f = q[e + 48 >> 2];
+     d = 384;
+     if (c | f) {
+      break g;
+     }
+     d = q[e + 60 >> 2];
+     c = d;
+     f = q[e + 56 >> 2];
+     if (!(c | f)) {
+      break f;
+     }
+     d = 448;
+    }
+    a = d;
+    l = b, m = S0(f, c) | a | q[h >> 2] << 9, q[l >> 2] = m;
+    return 1;
+   }
+   i = i + 1 | 0;
+   if (i >>> 0 < j >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[b >> 2] = -1;
+ return 0;
+}
+function LF(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ e = Ca - 32 | 0;
+ Ca = e;
+ d = r[a | 0] | r[a + 1 | 0] << 8;
+ d = (d << 24 | d << 8 & 16711680) >>> 16 | 0;
+ a : {
+  if (d >>> 0 > 13) {
+   break a;
+  }
+  b : {
+   c : {
+    switch (d - 1 | 0) {
+    default:
+     if (b >>> 0 > 255) {
+      break a;
+     }
+     a = r[(a + b | 0) + 6 | 0];
+     if (!a) {
+      break a;
+     }
+     break b;
+    case 3:
+     f = r[a + 7 | 0];
+     d = r[a + 6 | 0];
+     q[e >> 2] = a + 14;
+     f = (f | d << 8) >>> 1 | 0;
+     q[e + 20 >> 2] = f;
+     g = f << 1;
+     d = (g + a | 0) + 16 | 0;
+     q[e + 4 >> 2] = d;
+     d = d + g | 0;
+     q[e + 8 >> 2] = d;
+     d = d + g | 0;
+     q[e + 12 >> 2] = d;
+     q[e + 16 >> 2] = d + g;
+     q[e + 24 >> 2] = ((r[a + 3 | 0] | r[a + 2 | 0] << 8) - (f << 3) | 0) + -16 >>> 1;
+     j = NF(e, b, c);
+     break a;
+    case 5:
+     b = b - (r[a + 7 | 0] | r[a + 6 | 0] << 8) | 0;
+     a = (r[a + 9 | 0] | r[a + 8 | 0] << 8) >>> 0 > b >>> 0 ? ((b << 1) + a | 0) + 10 | 0 : 271040;
+     a = r[a | 0] << 8 | r[a + 1 | 0];
+     if (!a) {
+      break a;
+     }
+     break b;
+    case 9:
+     h = b;
+     b = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+     b = h - (b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24)) | 0;
+     h = ((b << 1) + a | 0) + 20 | 0;
+     a = r[a + 16 | 0] | r[a + 17 | 0] << 8 | (r[a + 18 | 0] << 16 | r[a + 19 | 0] << 24);
+     a = (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) >>> 0 > b >>> 0 ? h : 271040;
+     a = r[a | 0] << 8 | r[a + 1 | 0];
+     if (!a) {
+      break a;
+     }
+     break b;
+    case 11:
+     j = MF(a, b, c);
+     break a;
+    case 0:
+    case 1:
+    case 2:
+    case 4:
+    case 6:
+    case 7:
+    case 8:
+    case 10:
+     break a;
+    case 12:
+     break c;
+    }
+   }
+   d = 271438;
+   g = a + 12 | 0;
+   a = g;
+   a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+   d : {
+    if ((a | 0) < 1) {
+     break d;
+    }
+    k = a + -1 | 0;
+    while (1) {
+     e : {
+      i = f + k >>> 1 | 0;
+      a = (w(i, 12) + g | 0) + 4 | 0;
+      h = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+      f : {
+       if ((h << 24 | h << 8 & 16711680 | (h >>> 8 & 65280 | h >>> 24)) >>> 0 > b >>> 0) {
+        k = i + -1 | 0;
+        break f;
+       }
+       a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+       if ((a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) >>> 0 >= b >>> 0) {
+        break e;
+       }
+       f = i + 1 | 0;
+      }
+      if ((f | 0) <= (k | 0)) {
+       continue;
+      }
+      break d;
+     }
+     break;
+    }
+    d = (w(i, 12) + g | 0) + 4 | 0;
+   }
+   a = r[d + 8 | 0] | r[d + 9 | 0] << 8 | (r[d + 10 | 0] << 16 | r[d + 11 | 0] << 24);
+   a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+   if (!a) {
+    break a;
+   }
+  }
+  q[c >> 2] = a;
+  j = 1;
+ }
+ Ca = e + 32 | 0;
+ return j;
+}
+function FO(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0, t = 0, u = 0;
+ f = Ca - 96 | 0;
+ l = c + 5 >>> 1 | 0;
+ if (l) {
+  j = w(c + 15 & -16, d);
+  m = f + 32 | 0;
+  h = d << 4;
+  r = h << 1;
+  while (1) {
+   if (d) {
+    t = a + r | 0;
+    k = 0;
+    c = i;
+    while (1) {
+     e = c - h | 0;
+     e = e >>> 0 < j >>> 0 ? (e << 1) + b | 0 : 437888;
+     p[f >> 1] = s[e >> 1];
+     p[f + 2 >> 1] = s[e + 2 >> 1];
+     p[f + 4 >> 1] = s[e + 4 >> 1];
+     p[f + 6 >> 1] = s[e + 6 >> 1];
+     p[f + 8 >> 1] = s[e + 8 >> 1];
+     p[f + 10 >> 1] = s[e + 10 >> 1];
+     p[f + 12 >> 1] = s[e + 12 >> 1];
+     p[f + 14 >> 1] = s[e + 14 >> 1];
+     p[f + 16 >> 1] = s[e + 16 >> 1];
+     p[f + 18 >> 1] = s[e + 18 >> 1];
+     p[f + 20 >> 1] = s[e + 20 >> 1];
+     p[f + 22 >> 1] = s[e + 22 >> 1];
+     p[f + 24 >> 1] = s[e + 24 >> 1];
+     p[f + 26 >> 1] = s[e + 26 >> 1];
+     p[f + 28 >> 1] = s[e + 28 >> 1];
+     p[f + 30 >> 1] = s[e + 30 >> 1];
+     e = c >>> 0 < j >>> 0 ? (c << 1) + b | 0 : 437888;
+     p[f + 32 >> 1] = s[e >> 1];
+     p[f + 34 >> 1] = s[e + 2 >> 1];
+     p[f + 36 >> 1] = s[e + 4 >> 1];
+     p[f + 38 >> 1] = s[e + 6 >> 1];
+     p[f + 40 >> 1] = s[e + 8 >> 1];
+     p[f + 42 >> 1] = s[e + 10 >> 1];
+     p[f + 44 >> 1] = s[e + 12 >> 1];
+     p[f + 46 >> 1] = s[e + 14 >> 1];
+     p[f + 48 >> 1] = s[e + 16 >> 1];
+     p[f + 50 >> 1] = s[e + 18 >> 1];
+     p[f + 52 >> 1] = s[e + 20 >> 1];
+     p[f + 54 >> 1] = s[e + 22 >> 1];
+     p[f + 56 >> 1] = s[e + 24 >> 1];
+     p[f + 58 >> 1] = s[e + 26 >> 1];
+     p[f + 60 >> 1] = s[e + 28 >> 1];
+     p[f + 62 >> 1] = s[e + 30 >> 1];
+     e = c + h | 0;
+     e = e >>> 0 < j >>> 0 ? (e << 1) + b | 0 : 437888;
+     p[f + 64 >> 1] = s[e >> 1];
+     p[f + 66 >> 1] = s[e + 2 >> 1];
+     p[f + 68 >> 1] = s[e + 4 >> 1];
+     p[f + 70 >> 1] = s[e + 6 >> 1];
+     p[f + 72 >> 1] = s[e + 8 >> 1];
+     p[f + 74 >> 1] = s[e + 10 >> 1];
+     p[f + 76 >> 1] = s[e + 12 >> 1];
+     p[f + 78 >> 1] = s[e + 14 >> 1];
+     p[f + 80 >> 1] = s[e + 16 >> 1];
+     p[f + 82 >> 1] = s[e + 18 >> 1];
+     p[f + 84 >> 1] = s[e + 20 >> 1];
+     p[f + 86 >> 1] = s[e + 22 >> 1];
+     p[f + 88 >> 1] = s[e + 24 >> 1];
+     p[f + 90 >> 1] = s[e + 26 >> 1];
+     p[f + 92 >> 1] = s[e + 28 >> 1];
+     p[f + 94 >> 1] = s[e + 30 >> 1];
+     e = 0;
+     while (1) {
+      n = e << 2;
+      g = n + m | 0;
+      o = p[g + -2 >> 1] + p[g + -4 >> 1] | 0;
+      u = p[g + -8 >> 1];
+      g = p[g >> 1] + p[g + -6 >> 1] | 0;
+      p[(e << 1) + a >> 1] = (o + (((p[(n | 2) + m >> 1] + (u + g | 0) >> 1) + o >>> 1 | 0) + g >>> 1 | 0) | 0) + 2 >>> 2;
+      e = e + 1 | 0;
+      if ((e | 0) != 16) {
+       continue;
+      }
+      break;
+     }
+     c = c + 16 | 0;
+     a = a + 32 | 0;
+     k = k + 1 | 0;
+     if ((k | 0) != (d | 0)) {
+      continue;
+     }
+     break;
+    }
+    i = h + i | 0;
+    a = t;
+   }
+   i = h + i | 0;
+   q = q + 16 | 0;
+   if (q >>> 0 < l >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Oi(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, r = 0, s = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ i = q[a + 736 >> 2];
+ f = q[a + 104 >> 2];
+ j = q[f + 28 >> 2];
+ e = d;
+ a : {
+  if (b) {
+   o[i + 44 | 0] = 1;
+   c = n[q[a + 516 >> 2]](a, 1448493394, f, d + 4 | 0) | 0;
+   break a;
+  }
+  o[i + 32 | 0] = 1;
+  c = n[q[a + 516 >> 2]](a, 1213612370, f, d + 4 | 0) | 0;
+ }
+ q[e + 8 >> 2] = c;
+ b : {
+  if (c) {
+   break b;
+  }
+  l = q[f + 8 >> 2];
+  e = Bg(f, d + 8 | 0);
+  c = q[d + 8 >> 2];
+  if (c) {
+   break b;
+  }
+  c = Ag(f, 2);
+  q[d + 8 >> 2] = c;
+  if (c) {
+   break b;
+  }
+  if ((e | 0) != 1) {
+   c = 8;
+   q[d + 8 >> 2] = 8;
+   break b;
+  }
+  e = Eg(f, d + 8 | 0);
+  c = q[d + 8 >> 2];
+  if (c) {
+   break b;
+  }
+  f = Eg(f, d + 8 | 0);
+  c = q[d + 8 >> 2];
+  if (c) {
+   break b;
+  }
+  g = Oe(j, 32, d + 8 | 0);
+  c : {
+   if (b) {
+    q[i + 52 >> 2] = g;
+    break c;
+   }
+   q[i + 40 >> 2] = g;
+  }
+  c = q[d + 8 >> 2];
+  if (c) {
+   break b;
+  }
+  c = Ci(a, e + l | 0, g);
+  q[d + 8 >> 2] = c;
+  if (c) {
+   break b;
+  }
+  d : {
+   e : {
+    f : {
+     if (!f) {
+      break f;
+     }
+     k = q[a + 104 >> 2];
+     j = q[k + 28 >> 2];
+     c = yg(k, f + l | 0);
+     q[d + 12 >> 2] = c;
+     if (c) {
+      break d;
+     }
+     f = Bg(k, d + 12 | 0);
+     c = q[d + 12 >> 2];
+     if (c) {
+      break d;
+     }
+     e = Bg(k, d + 12 | 0);
+     q[g + 20 >> 2] = e;
+     c = q[d + 12 >> 2];
+     if (c) {
+      break d;
+     }
+     if (f & 65472) {
+      break e;
+     }
+     r = g, s = Te(j, 4, 0, e, 0, d + 12 | 0), q[r + 28 >> 2] = s;
+     c = q[d + 12 >> 2];
+     if (c) {
+      break d;
+     }
+     r = g, s = Te(j, 4, 0, q[g + 20 >> 2], 0, d + 12 | 0), q[r + 24 >> 2] = s;
+     c = q[d + 12 >> 2];
+     if (c) {
+      break d;
+     }
+     if (!q[g + 20 >> 2]) {
+      q[d + 8 >> 2] = 0;
+      break f;
+     }
+     e = f & 15;
+     l = e + 1 | 0;
+     f = f >>> 4 & 3;
+     j = (2 << e) + -1 | 0;
+     while (1) {
+      h = 0;
+      m = 0;
+      while (1) {
+       e = Tg(k, d + 12 | 0);
+       c = q[d + 12 >> 2];
+       if (c) {
+        break d;
+       }
+       m = e & 255 | m << 8;
+       e = (f | 0) != (h | 0);
+       h = h + 1 | 0;
+       if (e) {
+        continue;
+       }
+       break;
+      }
+      h = m >>> l | 0;
+      if (h >>> 0 >= t[g >> 2]) {
+       break e;
+      }
+      c = p << 2;
+      q[c + q[g + 24 >> 2] >> 2] = h;
+      e = j & m;
+      if (e >>> 0 >= t[q[g + 4 >> 2] + (h << 4) >> 2]) {
+       break e;
+      }
+      q[c + q[g + 28 >> 2] >> 2] = e;
+      p = p + 1 | 0;
+      if (p >>> 0 < t[g + 20 >> 2]) {
+       continue;
+      }
+      break;
+     }
+     c = q[d + 12 >> 2];
+     q[d + 8 >> 2] = c;
+     if (c) {
+      break b;
+     }
+    }
+    c = 0;
+    q[d + 8 >> 2] = 0;
+    if (b) {
+     o[i + 45 | 0] = 1;
+     q[a + 740 >> 2] = q[a + 740 >> 2] | 16;
+     break b;
+    }
+    o[i + 33 | 0] = 1;
+    q[a + 740 >> 2] = q[a + 740 >> 2] | 2;
+    break b;
+   }
+   c = 8;
+   q[d + 12 >> 2] = 8;
+  }
+  q[d + 8 >> 2] = c;
+ }
+ Ca = d + 16 | 0;
+ return c;
+}
+function Q0(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         i : {
+          j : {
+           g = b;
+           if (g) {
+            e = c;
+            if (!e) {
+             break j;
+            }
+            f = d;
+            if (!f) {
+             break i;
+            }
+            f = z(f) - z(g) | 0;
+            if (f >>> 0 <= 31) {
+             break h;
+            }
+            break b;
+           }
+           if ((d | 0) == 1 & c >>> 0 >= 0 | d >>> 0 > 1) {
+            break b;
+           }
+           b = (a >>> 0) / (c >>> 0) | 0;
+           N0(a - w(b, c) | 0, 0);
+           Ea = 0;
+           return b;
+          }
+          e = d;
+          if (!a) {
+           break g;
+          }
+          if (!e) {
+           break f;
+          }
+          f = e + -1 | 0;
+          if (f & e) {
+           break f;
+          }
+          N0(a, f & g);
+          a = g >>> (R0(e) & 31) | 0;
+          Ea = 0;
+          return a;
+         }
+         f = e + -1 | 0;
+         if (!(f & e)) {
+          break e;
+         }
+         j = (z(e) + 33 | 0) - z(g) | 0;
+         h = 0 - j | 0;
+         break c;
+        }
+        j = f + 1 | 0;
+        h = 63 - f | 0;
+        break c;
+       }
+       a = (g >>> 0) / (e >>> 0) | 0;
+       N0(0, g - w(a, e) | 0);
+       Ea = 0;
+       return a;
+      }
+      f = z(e) - z(g) | 0;
+      if (f >>> 0 < 31) {
+       break d;
+      }
+      break b;
+     }
+     N0(a & f, 0);
+     if ((e | 0) == 1) {
+      break a;
+     }
+     c = a;
+     a = R0(e);
+     d = a & 31;
+     if (32 <= (a & 63) >>> 0) {
+      f = 0;
+      a = b >>> d | 0;
+     } else {
+      f = b >>> d | 0;
+      a = ((1 << d) - 1 & b) << 32 - d | c >>> d;
+     }
+     Ea = f;
+     return a;
+    }
+    j = f + 1 | 0;
+    h = 63 - f | 0;
+   }
+   e = b;
+   g = a;
+   f = j & 63;
+   i = f & 31;
+   if (32 <= (f & 63) >>> 0) {
+    f = 0;
+    l = e >>> i | 0;
+   } else {
+    f = e >>> i | 0;
+    l = ((1 << i) - 1 & e) << 32 - i | g >>> i;
+   }
+   a = h & 63;
+   h = a & 31;
+   if (32 <= (a & 63) >>> 0) {
+    e = g << h;
+    a = 0;
+   } else {
+    e = (1 << h) - 1 & g >>> 32 - h | b << h;
+    a = g << h;
+   }
+   b = e;
+   if (j) {
+    g = d + -1 | 0;
+    e = c + -1 | 0;
+    if (e >>> 0 < 4294967295) {
+     g = g + 1 | 0;
+    }
+    h = e;
+    while (1) {
+     e = l;
+     f = f << 1 | e >>> 31;
+     e = e << 1;
+     k = f;
+     f = b >>> 31 | e;
+     m = k;
+     e = k;
+     k = f;
+     i = g - ((h >>> 0 < f >>> 0) + e | 0) | 0;
+     e = i >> 31;
+     i = i >> 31;
+     f = c & i;
+     l = k - f | 0;
+     f = m - ((d & e) + (k >>> 0 < f >>> 0) | 0) | 0;
+     e = b << 1 | a >>> 31;
+     a = n | a << 1;
+     b = e | o;
+     e = 0;
+     m = e;
+     k = i & 1;
+     n = k;
+     j = j + -1 | 0;
+     if (j) {
+      continue;
+     }
+     break;
+    }
+   }
+   N0(l, f);
+   e = b << 1 | a >>> 31;
+   a = k | a << 1;
+   Ea = e | m;
+   return a;
+  }
+  N0(a, b);
+  a = 0;
+  b = 0;
+ }
+ Ea = b;
+ return a;
+}
+function cu(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = q[b + 4 >> 2];
+ a : {
+  if (o[c + 2 | 0] > -1) {
+   break a;
+  }
+  b = q[a + 44 >> 2];
+  if (b >>> 0 <= 7) {
+   e = q[f + 72 >> 2];
+   q[a + 44 >> 2] = b + 1;
+   q[((b << 2) + a | 0) + 12 >> 2] = e;
+   break a;
+  }
+  q[a + 44 >> 2] = 0;
+ }
+ b = r[c + 3 | 0] | r[c + 2 | 0] << 8 & 16128;
+ b : {
+  if (!b) {
+   break b;
+  }
+  c = q[a + 44 >> 2];
+  if (!c) {
+   break b;
+  }
+  c : {
+   d : {
+    if (c >>> 0 > 2147483646) {
+     break d;
+    }
+    e = q[a >> 2];
+    d = b + q[a + 4 >> 2] | 0;
+    b = q[a + 8 >> 2];
+    b = ((d - b | 0) + 8 & -2) + b | 0;
+    if (t[e + 20 >> 2] > b >>> 0) {
+     break d;
+    }
+    d = q[e + 24 >> 2];
+    if (d >>> 0 < b >>> 0 | d - b >>> 0 < c << 1 >>> 0) {
+     break d;
+    }
+    h = e + 28 | 0;
+    d = q[h >> 2];
+    q[h >> 2] = d + -1;
+    if ((d | 0) > 0) {
+     break c;
+    }
+   }
+   q[a + 44 >> 2] = 0;
+   return;
+  }
+  h = q[q[e >> 2] + 132 >> 2];
+  while (1) {
+   c = c + -1 | 0;
+   q[a + 44 >> 2] = c;
+   e = q[((c << 2) + a | 0) + 12 >> 2];
+   if (e >>> 0 < t[f + 76 >> 2]) {
+    c = r[b | 0] | r[b + 1 | 0] << 8;
+    d = (c << 24 | c << 8 & 16711680) >> 16;
+    i = d & 1;
+    c = q[f + 96 >> 2];
+    d = d & -2;
+    e : {
+     if ((d | 0) == -32768) {
+      c = w(e, 20) + c | 0;
+      p[c + 16 >> 1] = 0;
+      q[c + 8 >> 2] = 0;
+      q[c + 12 >> 2] = 0;
+      o[c + 18 | 0] = 0;
+      break e;
+     }
+     g = r[a + 48 | 0];
+     if ((q[f + 48 >> 2] & -2) == 4) {
+      if (g) {
+       c = w(e, 20) + c | 0;
+       if (!r[c + 18 | 0] | q[c + 12 >> 2]) {
+        break e;
+       }
+       e = c;
+       c = q[q[a >> 2] + 4 >> 2];
+       c = T0(q[c + 40 >> 2], q[c + 44 >> 2], d, d >> 31);
+       q[e + 12 >> 2] = (Ea & 65535) << 16 | c >>> 16;
+       q[f + 32 >> 2] = q[f + 32 >> 2] | 8;
+       break e;
+      }
+      e = w(e, 20);
+      if (!(q[(e + q[f + 88 >> 2] | 0) + 4 >> 2] & h)) {
+       break e;
+      }
+      c = c + e | 0;
+      if (q[c + 8 >> 2]) {
+       break e;
+      }
+      g = q[q[a >> 2] + 4 >> 2];
+      d = T0(q[g + 32 >> 2], q[g + 36 >> 2], d, d >> 31);
+      d = (Ea & 65535) << 16 | d >>> 16;
+      q[c >> 2] = d + q[c >> 2];
+      q[c + 8 >> 2] = d;
+      break e;
+     }
+     if (g) {
+      c = w(e, 20) + c | 0;
+      if (!r[c + 18 | 0] | q[c + 8 >> 2]) {
+       break e;
+      }
+      e = c;
+      c = q[q[a >> 2] + 4 >> 2];
+      c = T0(q[c + 32 >> 2], q[c + 36 >> 2], d, d >> 31);
+      q[e + 8 >> 2] = (Ea & 65535) << 16 | c >>> 16;
+      q[f + 32 >> 2] = q[f + 32 >> 2] | 8;
+      break e;
+     }
+     e = w(e, 20);
+     if (!(q[(e + q[f + 88 >> 2] | 0) + 4 >> 2] & h)) {
+      break e;
+     }
+     c = c + e | 0;
+     if (q[c + 12 >> 2]) {
+      break e;
+     }
+     g = q[q[a >> 2] + 4 >> 2];
+     d = T0(q[g + 40 >> 2], q[g + 44 >> 2], d, d >> 31);
+     d = (Ea & 65535) << 16 | d >>> 16;
+     q[c + 4 >> 2] = d + q[c + 4 >> 2];
+     q[c + 12 >> 2] = d;
+    }
+    if (i) {
+     break b;
+    }
+    c = q[a + 44 >> 2];
+   }
+   b = b + 2 | 0;
+   if (c) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function qo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0, u = 0, v = 0;
+ if (a + 4 >>> 0 > t[b + 160 >> 2]) {
+  kf(b, 8);
+ }
+ e = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ if (e + a >>> 0 > t[b + 160 >> 2]) {
+  if (q[b + 164 >> 2]) {
+   kf(b, 8);
+  }
+  e = q[b + 160 >> 2] - a | 0;
+ }
+ if (e >>> 0 <= 15) {
+  kf(b, 8);
+ }
+ c = r[a + 7 | 0];
+ i = c | r[a + 6 | 0] << 8;
+ if (!(!(c & 1) | t[b + 164 >> 2] < 2)) {
+  kf(b, 8);
+ }
+ c = i & 65534;
+ if (e >>> 0 < (c << 2) + 16 >>> 0) {
+  kf(b, 8);
+ }
+ i = i >>> 1 | 0;
+ a : {
+  if (t[b + 164 >> 2] < 2) {
+   break a;
+  }
+  k = r[a + 12 | 0];
+  d = r[a + 11 | 0] | r[a + 10 | 0] << 8;
+  f = r[a + 9 | 0];
+  j = f | r[a + 8 | 0] << 8;
+  g = f;
+  f = r[a + 13 | 0];
+  if ((g | f) & 1) {
+   kf(b, 8);
+  }
+  g = 1 << d;
+  d = j >>> 1 | 0;
+  if (!((g | 0) != (d | 0) | d >>> 0 > i >>> 0 | (j & 65534) >>> 0 < i >>> 0)) {
+   if ((d + ((f | k << 8) >>> 1 | 0) | 0) == (i | 0)) {
+    break a;
+   }
+  }
+  kf(b, 8);
+ }
+ j = a + 14 | 0;
+ b : {
+  if (t[b + 164 >> 2] < 2) {
+   break b;
+  }
+  d = (c + j | 0) + -2 | 0;
+  if ((r[d | 0] << 8 | r[d + 1 | 0]) == 65535) {
+   break b;
+  }
+  kf(b, 8);
+ }
+ if (!i) {
+  return 0;
+ }
+ k = (a + c | 0) + 16 | 0;
+ f = c + k | 0;
+ d = c + f | 0;
+ o = c + d | 0;
+ s = a + e | 0;
+ p = i + -1 | 0;
+ c = 0;
+ while (1) {
+  e = h;
+  a = c;
+  g = r[d | 0] << 8;
+  m = r[d + 1 | 0];
+  u = r[f | 0];
+  v = r[f + 1 | 0];
+  c = r[j + 1 | 0] | r[j | 0] << 8;
+  h = r[k + 1 | 0] | r[k | 0] << 8;
+  if (c >>> 0 < h >>> 0) {
+   kf(b, 8);
+  }
+  g = g | m;
+  c : {
+   if (!l | h >>> 0 > a >>> 0) {
+    break c;
+   }
+   if (q[b + 164 >> 2]) {
+    kf(b, 8);
+    break c;
+   }
+   if (!(a >>> 0 <= c >>> 0 ? e >>> 0 <= h >>> 0 : 0)) {
+    n = n | 1;
+    break c;
+   }
+   n = n | 2;
+  }
+  d : {
+   if (!g) {
+    break d;
+   }
+   if ((g | 0) != 65535) {
+    a = d + g | 0;
+    e : {
+     f : {
+      if (q[b + 164 >> 2]) {
+       if (a >>> 0 < o >>> 0 | ((c - h << 1) + a | 0) + 2 >>> 0 > s >>> 0) {
+        break f;
+       }
+       break e;
+      }
+      if ((c | 0) == 65535 ? !((l | 0) != (p | 0) | (h | 0) != 65535) : 0) {
+       break e;
+      }
+      if (a >>> 0 < o >>> 0) {
+       break f;
+      }
+      if (((c - h << 1) + a | 0) + 2 >>> 0 <= t[b + 160 >> 2]) {
+       break e;
+      }
+     }
+     kf(b, 8);
+    }
+    if (!q[b + 164 >> 2] | c >>> 0 <= h >>> 0) {
+     break d;
+    }
+    g = u << 8 | v;
+    e = h;
+    while (1) {
+     m = r[a + 1 | 0] | r[a | 0] << 8;
+     if (!(!m | (g + m & 65535) >>> 0 < t[b + 172 >> 2])) {
+      kf(b, 16);
+     }
+     a = a + 2 | 0;
+     e = e + 1 | 0;
+     if ((e | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+    break d;
+   }
+   if (!((l | 0) != (p | 0) | t[b + 164 >> 2] > 1 | (h | 0) != 65535)) {
+    if ((c | 0) == 65535) {
+     break d;
+    }
+   }
+   kf(b, 8);
+  }
+  d = d + 2 | 0;
+  f = f + 2 | 0;
+  j = j + 2 | 0;
+  k = k + 2 | 0;
+  l = l + 1 | 0;
+  if ((l | 0) != (i | 0)) {
+   continue;
+  }
+  break;
+ }
+ return n | 0;
+}
+function Vr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ e = q[a + 4 >> 2];
+ q[e + 72 >> 2] = 0;
+ a : {
+  if (!r[e + 68 | 0]) {
+   break a;
+  }
+  while (1) {
+   c = q[a >> 2];
+   l = (r[c + 7 | 0] | r[c + 6 | 0] << 8) + c | 0;
+   m = c + (r[c + 5 | 0] | r[c + 4 | 0] << 8) | 0;
+   j = q[e + 76 >> 2];
+   h = f >>> 0 >= j >>> 0;
+   d = 0;
+   b : {
+    if (h) {
+     break b;
+    }
+    g = q[q[e + 88 >> 2] + w(f, 20) >> 2];
+    d = 2;
+    if ((g | 0) == 65535) {
+     break b;
+    }
+    d = g;
+    g = c + (r[c + 3 | 0] | r[c + 2 | 0] << 8) | 0;
+    k = d - (r[g | 0] << 8 | r[g + 1 | 0]) | 0;
+    d = 1;
+    if (k >>> 0 >= (r[g + 3 | 0] | r[g + 2 | 0] << 8) >>> 0) {
+     break b;
+    }
+    d = r[(g + k | 0) + 4 | 0];
+   }
+   c = r[c + 1 | 0] | r[c | 0] << 8;
+   c = l + (r[m + ((c >>> 0 > d >>> 0 ? d : 1) + w(c, i) | 0) | 0] << 3) | 0;
+   c : {
+    if (!i) {
+     break c;
+    }
+    d = q[(r[e + 69 | 0] ? 80 : 72) + e >> 2];
+    if (h | !d) {
+     break c;
+    }
+    if (!((r[c + 5 | 0] | r[c + 4 | 0] << 8) != 65535 | (r[c + 7 | 0] | r[c + 6 | 0] << 8) != 65535 | (r[c + 1 | 0] | r[c | 0] << 8))) {
+     if ((r[c + 3 | 0] | r[c + 2 | 0] << 8) == 16384) {
+      break c;
+     }
+    }
+    EG(e, d + -1 | 0, f + 1 | 0);
+    e = q[a + 4 >> 2];
+    j = q[e + 76 >> 2];
+    f = q[e + 72 >> 2];
+   }
+   h = f + 2 | 0;
+   d : {
+    if (h >>> 0 > j >>> 0) {
+     break d;
+    }
+    d = q[a >> 2];
+    g = r[d + 1 | 0] | r[d | 0] << 8;
+    g = r[d + (r[d + 5 | 0] | r[d + 4 | 0] << 8) + (!g + w(g, i)) | 0];
+    i = r[d + 6 | 0];
+    k = r[d + 7 | 0];
+    if (r[b + 8 | 0] ? 0 : (f | 0) == (j | 0)) {
+     break d;
+    }
+    d = (d + (k | i << 8) | 0) + (g << 3) | 0;
+    if ((r[d + 7 | 0] | r[d + 6 | 0] << 8) == 65535 ? (r[d + 4 | 0] << 8 | r[d + 5 | 0]) == 65535 : 0) {
+     break d;
+    }
+    DG(e, f, h);
+   }
+   Yr(b, a, c);
+   e = q[a >> 2];
+   i = ((r[c + 1 | 0] | r[c | 0] << 8) - (r[e + 4 | 0] << 8 | r[e + 5 | 0]) | 0) / (r[e + 1 | 0] | r[e | 0] << 8) | 0;
+   f = q[a + 4 >> 2];
+   e = q[f + 72 >> 2];
+   if ((e | 0) == q[f + 76 >> 2]) {
+    break a;
+   }
+   e : {
+    if (r[c + 2 | 0] & 64) {
+     c = q[f + 40 >> 2];
+     q[f + 40 >> 2] = c + -1;
+     if ((c | 0) > 0) {
+      break e;
+     }
+    }
+    if (r[f + 69 | 0]) {
+     f : {
+      if (q[f + 92 >> 2] == q[f + 88 >> 2]) {
+       c = e;
+       if ((c | 0) == q[f + 80 >> 2]) {
+        break f;
+       }
+      }
+      if (!pG(f, 1, 1)) {
+       break e;
+      }
+      c = q[f + 88 >> 2] + w(q[f + 72 >> 2], 20) | 0;
+      d = q[c + 4 >> 2];
+      e = q[f + 92 >> 2] + w(q[f + 80 >> 2], 20) | 0;
+      q[e >> 2] = q[c >> 2];
+      q[e + 4 >> 2] = d;
+      q[e + 16 >> 2] = q[c + 16 >> 2];
+      d = q[c + 12 >> 2];
+      q[e + 8 >> 2] = q[c + 8 >> 2];
+      q[e + 12 >> 2] = d;
+      e = q[f + 72 >> 2];
+      c = q[f + 80 >> 2];
+     }
+     q[f + 80 >> 2] = c + 1;
+    }
+    q[f + 72 >> 2] = e + 1;
+   }
+   e = q[a + 4 >> 2];
+   if (!r[e + 68 | 0]) {
+    break a;
+   }
+   f = q[e + 72 >> 2];
+   continue;
+  }
+ }
+}
+function Zo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ d = a + 10 | 0;
+ if (d >>> 0 > t[b + 160 >> 2]) {
+  kf(b, 8);
+ }
+ c = r[a + 6 | 0] | r[a + 7 | 0] << 8 | (r[a + 8 | 0] << 16 | r[a + 9 | 0] << 24);
+ k = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+ c = r[a + 2 | 0] | r[a + 3 | 0] << 8 | (r[a + 4 | 0] << 16 | r[a + 5 | 0] << 24);
+ h = c << 8 & 16711680 | c << 24 | (c >>> 8 & 65280 | c >>> 24);
+ if (!((h + -10 >>> 0) / 11 >>> 0 >= k >>> 0 ? !(h >>> 0 < 10 | h >>> 0 > q[b + 160 >> 2] - a >>> 0) : 0)) {
+  kf(b, 8);
+ }
+ if (k) {
+  l = a + 4 | 0;
+  c = 1;
+  while (1) {
+   m = r[d + 2 | 0] | (r[d + 1 | 0] << 8 | r[d | 0] << 16);
+   a = r[d + 3 | 0] | r[d + 4 | 0] << 8 | (r[d + 5 | 0] << 16 | r[d + 6 | 0] << 24);
+   e = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+   a = r[d + 7 | 0] | r[d + 8 | 0] << 8 | (r[d + 9 | 0] << 16 | r[d + 10 | 0] << 24);
+   f = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+   if (!(f >>> 0 < h >>> 0 ? e >>> 0 < h >>> 0 : 0)) {
+    kf(b, 8);
+   }
+   if (m >>> 0 < c >>> 0) {
+    kf(b, 8);
+   }
+   a : {
+    if (!e) {
+     break a;
+    }
+    a = e + l | 0;
+    if (a >>> 0 > t[b + 160 >> 2]) {
+     kf(b, 8);
+    }
+    c = a + -4 | 0;
+    c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+    g = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    b : {
+     if (g >>> 0 > q[b + 160 >> 2] - a >>> 2 >>> 0) {
+      kf(b, 8);
+      break b;
+     }
+     if (!g) {
+      break a;
+     }
+    }
+    c = 0;
+    e = 0;
+    while (1) {
+     i = r[a + 2 | 0] | (r[a + 1 | 0] << 8 | r[a | 0] << 16);
+     j = i + r[a + 3 | 0] | 0;
+     if (j >>> 0 >= 1114112) {
+      kf(b, 8);
+     }
+     if (i >>> 0 < e >>> 0) {
+      kf(b, 8);
+     }
+     a = a + 4 | 0;
+     e = j + 1 | 0;
+     c = c + 1 | 0;
+     if ((g | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   c : {
+    if (!f) {
+     break c;
+    }
+    a = f + l | 0;
+    if (a >>> 0 > t[b + 160 >> 2]) {
+     kf(b, 8);
+    }
+    c = a + -4 | 0;
+    c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+    c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    d : {
+     if (c >>> 0 > (q[b + 160 >> 2] - a >>> 0) / 5 >>> 0) {
+      kf(b, 8);
+      break d;
+     }
+     if (!c) {
+      break c;
+     }
+    }
+    e = 0;
+    f = 0;
+    while (1) {
+     i = r[a + 3 | 0];
+     j = r[a + 4 | 0];
+     g = r[a + 2 | 0] | (r[a + 1 | 0] << 8 | r[a | 0] << 16);
+     if (g >>> 0 >= 1114112) {
+      kf(b, 8);
+     }
+     if (g >>> 0 < e >>> 0) {
+      kf(b, 8);
+     }
+     if (!(!q[b + 164 >> 2] | (j | i << 8) >>> 0 < t[b + 172 >> 2])) {
+      kf(b, 16);
+     }
+     a = a + 5 | 0;
+     e = g + 1 | 0;
+     f = f + 1 | 0;
+     if ((c | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   d = d + 11 | 0;
+   c = m + 1 | 0;
+   n = n + 1 | 0;
+   if ((n | 0) != (k | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function Dj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ g = Ca - 80 | 0;
+ Ca = g;
+ i = q[a + 532 >> 2];
+ a : {
+  if (i) {
+   f = q[a + 100 >> 2];
+   h = q[i + 4 >> 2];
+   q[g + 24 >> 2] = h;
+   l = q[i >> 2];
+   q[g + 28 >> 2] = l;
+   if (h) {
+    a = 0;
+    while (1) {
+     c = w(a, 12);
+     e = c + (g + 24 | 0) | 0;
+     q[e + 8 >> 2] = q[((a << 2) + i | 0) + 8 >> 2];
+     c = c + i | 0;
+     d = q[c + 92 >> 2];
+     q[e + 12 >> 2] = q[d >> 2];
+     q[e + 16 >> 2] = q[(d + (r[c + 88 | 0] << 2) | 0) + -4 >> 2];
+     a = a + 1 | 0;
+     if ((h | 0) != (a | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[g + 20 >> 2] = 0;
+   d = h << 1;
+   c = d + 3 & -4;
+   e = Oe(f, (c + w(h, 24) | 0) + 20 | 0, g + 20 | 0);
+   a = q[g + 20 >> 2];
+   if (a) {
+    break a;
+   }
+   q[e + 8 >> 2] = 0;
+   q[e + 4 >> 2] = l;
+   q[e >> 2] = h;
+   a = e + 20 | 0;
+   b : {
+    if (!h) {
+     q[e + 16 >> 2] = 0;
+     q[e + 12 >> 2] = a + c;
+     l = e + 12 | 0;
+     break b;
+    }
+    f = 0;
+    a = Z$(a, 0, d);
+    q[e + 16 >> 2] = 0;
+    j = a + c | 0;
+    q[e + 12 >> 2] = j;
+    l = e + 12 | 0;
+    while (1) {
+     a = j + w(f, 24) | 0;
+     d = (g + 24 | 0) + w(f, 12) | 0;
+     c = q[d + 8 >> 2];
+     q[a >> 2] = c;
+     q[a + 4 >> 2] = q[d + 12 >> 2] << 16;
+     d = q[d + 16 >> 2];
+     q[a + 16 >> 2] = -1;
+     q[a + 20 >> 2] = -1;
+     q[a + 12 >> 2] = d << 16;
+     c : {
+      if (!c) {
+       break c;
+      }
+      a = a + 16 | 0;
+      if (!iZ(c, 6904)) {
+       q[a >> 2] = 2003265652;
+       break c;
+      }
+      if (!iZ(c, 6911)) {
+       q[a >> 2] = 2003072104;
+       break c;
+      }
+      if (iZ(c, 6917)) {
+       break c;
+      }
+      q[a >> 2] = 1869640570;
+     }
+     f = f + 1 | 0;
+     if ((h | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   Cj(q[i + 140 >> 2], g, q[i + 4 >> 2]);
+   if (h) {
+    f = 0;
+    while (1) {
+     c = w(f, 12) + i | 0;
+     d = q[c + 96 >> 2];
+     j = q[(f << 2) + g >> 2];
+     d : {
+      if (q[d >> 2] < (j | 0)) {
+       a = 1;
+       k = r[c + 88 | 0];
+       if (k >>> 0 > 1) {
+        while (1) {
+         m = a << 2;
+         n = q[m + d >> 2];
+         if ((n | 0) >= (j | 0)) {
+          c = q[c + 92 >> 2];
+          k = m + -4 | 0;
+          a = q[c + k >> 2];
+          c = q[c + m >> 2];
+          d = q[d + k >> 2];
+          a = w(Fe(j - d | 0, n - d | 0), c - a | 0) + (a << 16) | 0;
+          break d;
+         }
+         a = a + 1 | 0;
+         if ((k | 0) != (a | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       a = q[(q[c + 92 >> 2] + (k << 2) | 0) + -4 >> 2] << 16;
+       break d;
+      }
+      a = q[q[c + 92 >> 2] >> 2] << 16;
+     }
+     q[(q[l >> 2] + w(f, 24) | 0) + 8 >> 2] = a;
+     f = f + 1 | 0;
+     if ((h | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[b >> 2] = e;
+   a = q[g + 20 >> 2];
+   break a;
+  }
+  a = 6;
+  q[g + 20 >> 2] = 6;
+ }
+ Ca = g + 80 | 0;
+ return a | 0;
+}
+function ze(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, r = 0;
+ j = Ca - 16 | 0;
+ Ca = j;
+ d = 1;
+ if (q[a + 72 >> 2] == 1869968492) {
+  if (c) {
+   l = q[c + 4 >> 2];
+   k = q[c >> 2];
+  }
+  c = 0;
+  h = p[a + 110 >> 1];
+  a : {
+   if (!h) {
+    break a;
+   }
+   d = q[a + 112 >> 2];
+   c = q[d + 4 >> 2];
+   g = q[d >> 2];
+   if ((h | 0) < 2) {
+    e = c;
+    f = g;
+    break a;
+   }
+   h = (h << 3) + d | 0;
+   i = d + 8 | 0;
+   f = g;
+   e = c;
+   while (1) {
+    d = q[d + 12 >> 2];
+    e = (d | 0) > (e | 0) ? d : e;
+    c = (d | 0) < (c | 0) ? d : c;
+    d = q[i >> 2];
+    f = (d | 0) > (f | 0) ? d : f;
+    g = (d | 0) < (g | 0) ? d : g;
+    d = i;
+    i = d + 8 | 0;
+    if (i >>> 0 < h >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = l & 63;
+  m = d + (e & 63) | 0;
+  q[j + 12 >> 2] = m;
+  i = k & 63;
+  h = i + (f & 63) | 0;
+  q[j + 8 >> 2] = h;
+  n = d + (c & 63) | 0;
+  q[j + 4 >> 2] = n;
+  i = i + (g & 63) | 0;
+  q[j >> 2] = i;
+  d = e >> 6;
+  e = l >> 6;
+  r = d + e | 0;
+  d = f >> 6;
+  f = k >> 6;
+  l = d + f | 0;
+  k = e + (c >> 6) | 0;
+  f = f + (g >> 6) | 0;
+  d = 2;
+  b : {
+   c : {
+    c = b + -2 | 0;
+    if (c >>> 0 <= 2) {
+     d = 5;
+     d : {
+      switch (c - 1 | 0) {
+      default:
+       c = h + 32 | 0;
+       h = l + (c >>> 6 | 0) | 0;
+       b = i + 31 | 0;
+       e = f + (b >>> 6 | 0) | 0;
+       e : {
+        if ((h | 0) == (e | 0)) {
+         if ((((c & 63) + (b & 63) | 0) + -31 | 0) <= 31) {
+          h = e;
+          e = e + -1 | 0;
+          break e;
+         }
+         h = e + 1 | 0;
+        }
+       }
+       f = m + 32 | 0;
+       g = r + (f >>> 6 | 0) | 0;
+       c = n + 31 | 0;
+       b = k + (c >>> 6 | 0) | 0;
+       f : {
+        if ((g | 0) == (b | 0)) {
+         if ((((f & 63) + (c & 63) | 0) + -31 | 0) <= 31) {
+          g = b;
+          b = g + -1 | 0;
+          break f;
+         }
+         g = b + 1 | 0;
+        }
+       }
+       k = b;
+       i = g - b | 0;
+       c = h - e | 0;
+       break c;
+      case 1:
+       d = 6;
+       break;
+      case 0:
+       break d;
+      }
+     }
+     gf(j, a, b);
+    }
+    g = r + (q[j + 12 >> 2] + 63 >> 6) | 0;
+    k = k + (q[j + 4 >> 2] >> 6) | 0;
+    i = g - k | 0;
+    h = l + (q[j + 8 >> 2] + 63 >> 6) | 0;
+    e = f + (q[j >> 2] >> 6) | 0;
+    c = h - e | 0;
+    b = d + -1 | 0;
+    if (b >>> 0 <= 5) {
+     f = c;
+     g : {
+      switch (b - 1 | 0) {
+      case 3:
+       c = w(c, 3);
+       f = c + 3 & -4;
+       d = 5;
+       break b;
+      case 4:
+       break g;
+      case 0:
+      case 1:
+      case 2:
+       break b;
+      default:
+       break c;
+      }
+     }
+     d = 6;
+     i = w(i, 3);
+    }
+    f = c;
+    break b;
+   }
+   d = 1;
+   f = c + 15 >> 4 << 1;
+  }
+  q[a + 104 >> 2] = g;
+  q[a + 100 >> 2] = e;
+  q[a + 76 >> 2] = i;
+  o[a + 94 | 0] = d;
+  p[a + 92 >> 1] = 256;
+  q[a + 80 >> 2] = c;
+  q[a + 84 >> 2] = f;
+  d = (e | 0) < -32768 | (h | 0) > 32767 | (k | 0) < -32768 | (g | 0) > 32767;
+ }
+ Ca = j + 16 | 0;
+ return d;
+}
+function CR(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = Ca - 208 | 0;
+ Ca = e;
+ g = q[a + 12 >> 2];
+ f = RX(b);
+ h = yQ(q[b + 12 >> 2]);
+ a : {
+  if (!h) {
+   break a;
+  }
+  d = zQ(h);
+  if (!d) {
+   AQ(h);
+   break a;
+  }
+  i = a + g | 0;
+  b : {
+   while (1) {
+    if (c) {
+     M$(c);
+    }
+    c : {
+     if (f) {
+      q[e + 52 >> 2] = 0;
+      q[e + 48 >> 2] = d;
+      c = uQ(f, e + 48 | 0);
+      break c;
+     }
+     c = CQ(d);
+    }
+    if (!NY(c, 2)) {
+     d = CQ(c);
+     break b;
+    }
+    d : {
+     if ((NY(c, 0) | 0) == -1) {
+      if (!UQ(c)) {
+       break d;
+      }
+      d = CQ(c);
+      DR(c);
+      break b;
+     }
+     if (xY(c)) {
+      break d;
+     }
+     d = CQ(c);
+     DR(c);
+     break b;
+    }
+    d = zQ(h);
+    if (d) {
+     continue;
+    }
+    break;
+   }
+   d = 0;
+  }
+  if (c) {
+   M$(c);
+  }
+  AQ(h);
+  if (d) {
+   mR(b, i, e + 144 | 0);
+   q[e + 36 >> 2] = 0;
+   q[e + 32 >> 2] = e + 144;
+   g = uQ(d, e + 32 | 0);
+   M$(d);
+   if (!g) {
+    break a;
+   }
+   if (r[643388] & 16) {
+    q[e + 20 >> 2] = g;
+    q[e + 16 >> 2] = i;
+    d0(488029, e + 16 | 0);
+   }
+   f = iR(g);
+   if (f) {
+    if (jR(f)) {
+     b = q[f + 4 >> 2];
+     q[e >> 2] = 438;
+     e : {
+      d = SQ(b, 66, e);
+      if ((d | 0) == -1) {
+       break e;
+      }
+      c = q[a >> 2];
+      f : {
+       if ((c | 0) == -66913276) {
+        b = OY(d, a, q[a + 8 >> 2]);
+        c = a + 8 | 0;
+        break f;
+       }
+       q[a >> 2] = -66913276;
+       b = OY(d, a, q[a + 8 >> 2]);
+       q[a >> 2] = c;
+       c = a + 8 | 0;
+      }
+      if (q[c >> 2] != (b | 0)) {
+       H_();
+       SY(d);
+       break e;
+      }
+      SY(d);
+      if (!kR(f)) {
+       break e;
+      }
+      g : {
+       if (q[c >> 2] > 1023) {
+        break g;
+       }
+       if (!QQ(g, e + 56 | 0)) {
+        break g;
+       }
+       qR();
+       h : {
+        if (!a) {
+         break h;
+        }
+        b = 643312;
+        d = q[160844];
+        if ((d | 0) >= 1) {
+         while (1) {
+          h = d;
+          d = d + -1 | 0;
+          i = d << 2;
+          c = q[i + b >> 2];
+          if (!(!c | q[c >> 2] + q[c + 8 >> 2] >>> 0 > a >>> 0)) {
+           while (1) {
+            b = c;
+            c = q[(c + i | 0) + 40 >> 2];
+            if (q[c >> 2] + q[c + 8 >> 2] >>> 0 <= a >>> 0 ? c : 0) {
+             continue;
+            }
+            break;
+           }
+           b = b + 40 | 0;
+          }
+          if ((h | 0) > 1) {
+           continue;
+          }
+          break;
+         }
+        }
+        b = q[b >> 2];
+        if (!b | q[b >> 2] + q[b + 8 >> 2] >>> 0 <= a >>> 0) {
+         break h;
+        }
+        q[b + 16 >> 2] = q[e + 56 >> 2];
+        a = q[e + 140 >> 2];
+        q[b + 24 >> 2] = q[e + 136 >> 2];
+        q[b + 28 >> 2] = a;
+        q[b + 32 >> 2] = q[e + 120 >> 2];
+        q[b + 36 >> 2] = q[e + 124 >> 2];
+       }
+      }
+      M$(g);
+      lR(f);
+      M$(f);
+      break a;
+     }
+     lR(f);
+    }
+    M$(f);
+   }
+   M$(g);
+  }
+ }
+ Ca = e + 208 | 0;
+}
+function bB(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ e = q[c >> 2];
+ d = q[a >> 2];
+ a : {
+  if (e >>> 0 > d >>> 0) {
+   break a;
+  }
+  f = q[c + 4 >> 2];
+  if (f + e >>> 0 <= d >>> 0) {
+   break a;
+  }
+  e = d + 1 | 0;
+  q[a >> 2] = e;
+  h = r[d | 0];
+  if (h & 128) {
+   g = q[c >> 2];
+   if (g >>> 0 > e >>> 0 | f + g >>> 0 <= e >>> 0) {
+    break a;
+   }
+   q[a >> 2] = d + 2;
+   h = r[d + 1 | 0] | h << 8 & 32512;
+  }
+  d = q[b >> 2];
+  b : {
+   if ((d | 0) < 0) {
+    break b;
+   }
+   if (d >>> 0 < h >>> 0) {
+    f = d;
+    while (1) {
+     f = ((f >>> 1 | 0) + f | 0) + 8 | 0;
+     if (f >>> 0 <= h >>> 0) {
+      continue;
+     }
+     break;
+    }
+    c : {
+     if (!(f >>> 0 < d >>> 0 | f >>> 0 > 1073741822)) {
+      d = O$(q[b + 8 >> 2], f << 2);
+      if (d) {
+       break c;
+      }
+     }
+     q[b >> 2] = -1;
+     break b;
+    }
+    q[b >> 2] = f;
+    q[b + 8 >> 2] = d;
+   }
+   d = q[b + 4 >> 2];
+   if (h >>> 0 > d >>> 0) {
+    Z$(q[b + 8 >> 2] + (d << 2) | 0, 0, h - d << 2);
+   }
+   q[b + 4 >> 2] = h;
+  }
+  l = q[67760];
+  f = 0;
+  while (1) {
+   i = f & 65535;
+   if (h >>> 0 <= i >>> 0) {
+    return 1;
+   }
+   e = q[c >> 2];
+   d = q[a >> 2];
+   if (e >>> 0 > d >>> 0 | e + q[c + 4 >> 2] >>> 0 <= d >>> 0) {
+    break a;
+   }
+   g = d + 1 | 0;
+   q[a >> 2] = g;
+   d = o[d | 0];
+   k = d & 127;
+   d : {
+    if ((d | 0) < 0) {
+     d = 0;
+     while (1) {
+      e = q[c >> 2];
+      if (e >>> 0 > g >>> 0) {
+       break a;
+      }
+      e = e + q[c + 4 >> 2] | 0;
+      if (g >>> 0 > e >>> 0 | e - g >>> 0 < 2) {
+       break a;
+      }
+      j = (r[g + 1 | 0] | r[g | 0] << 8) + j | 0;
+      e : {
+       if (t[b + 4 >> 2] <= i >>> 0) {
+        q[160656] = l;
+        g = q[a >> 2];
+        e = 642624;
+        break e;
+       }
+       e = q[b + 8 >> 2] + (i << 2) | 0;
+      }
+      q[e >> 2] = j;
+      g = g + 2 | 0;
+      q[a >> 2] = g;
+      e = d + 1 | 0;
+      f = f + 1 | 0;
+      if ((d & 65535) >>> 0 >= k >>> 0) {
+       break d;
+      }
+      d = e;
+      i = f & 65535;
+      if (h >>> 0 > i >>> 0) {
+       continue;
+      }
+      break;
+     }
+     break d;
+    }
+    d = 0;
+    e = q[c >> 2];
+    f : {
+     if (e >>> 0 > g >>> 0) {
+      break f;
+     }
+     while (1) {
+      if (q[c + 4 >> 2] + e >>> 0 <= g >>> 0) {
+       break f;
+      }
+      q[a >> 2] = g + 1;
+      j = r[g | 0] + j | 0;
+      g : {
+       if (t[b + 4 >> 2] <= i >>> 0) {
+        q[160656] = l;
+        e = 642624;
+        break g;
+       }
+       e = q[b + 8 >> 2] + (i << 2) | 0;
+      }
+      q[e >> 2] = j;
+      e = d + 1 | 0;
+      f = f + 1 | 0;
+      if ((d & 65535) >>> 0 >= k >>> 0) {
+       break d;
+      }
+      i = f & 65535;
+      if (h >>> 0 <= i >>> 0) {
+       break d;
+      }
+      d = e;
+      e = q[c >> 2];
+      g = q[a >> 2];
+      if (e >>> 0 <= g >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    break a;
+   }
+   if ((e & 65535) >>> 0 > k >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function lt(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = Ca - 112 | 0;
+ Ca = f;
+ a : {
+  if ((b | 0) != 1196445523) {
+   g = 271040;
+   if ((b | 0) != 1196643650) {
+    break a;
+   }
+   a = q[Ws(a + 136 | 0) >> 2];
+   a = a ? a : 271040;
+   g = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+   break a;
+  }
+  a = q[Xs(a + 140 | 0) >> 2];
+  a = a ? a : 271040;
+  g = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+ }
+ q[f + 24 >> 2] = 0;
+ q[f + 28 >> 2] = 0;
+ o[f + 20 | 0] = 1;
+ b = 0;
+ q[f + 16 >> 2] = 0;
+ q[f + 32 >> 2] = 0;
+ q[f + 36 >> 2] = 0;
+ q[f + 40 >> 2] = 0;
+ q[f + 44 >> 2] = 0;
+ q[f + 48 >> 2] = 0;
+ q[f + 68 >> 2] = 0;
+ q[f + 72 >> 2] = 0;
+ o[f - -64 | 0] = 1;
+ q[f + 60 >> 2] = 0;
+ q[f + 76 >> 2] = 0;
+ q[f + 80 >> 2] = 0;
+ q[f + 84 >> 2] = 0;
+ q[f + 88 >> 2] = 0;
+ q[f + 92 >> 2] = 0;
+ q[f + 96 >> 2] = 0;
+ q[f + 100 >> 2] = 0;
+ q[f + 104 >> 2] = 0;
+ q[f + 8 >> 2] = 1;
+ q[f + 12 >> 2] = 1;
+ q[f + 4 >> 2] = e;
+ q[f >> 2] = g;
+ q[f + 52 >> 2] = 1;
+ q[f + 56 >> 2] = 1;
+ b : {
+  if (c) {
+   a = q[c >> 2];
+   if (!a) {
+    break b;
+   }
+   while (1) {
+    b = r[g + 5 | 0] | r[g + 4 | 0] << 8;
+    g = b ? b + g | 0 : 271040;
+    j = r[g | 0] << 8 | r[g + 1 | 0];
+    c : {
+     if (!j) {
+      break c;
+     }
+     b = j + -1 | 0;
+     e = 0;
+     while (1) {
+      d : {
+       i = b + e >>> 1 | 0;
+       k = (w(i, 6) + g | 0) + 2 | 0;
+       h = k;
+       h = r[h | 0] | r[h + 1 | 0] << 8 | (r[h + 2 | 0] << 16 | r[h + 3 | 0] << 24);
+       h = h << 24 | h << 8 & 16711680 | (h >>> 8 & 65280 | h >>> 24);
+       e : {
+        if (h >>> 0 > a >>> 0) {
+         b = i + -1 | 0;
+         break e;
+        }
+        if ((a | 0) == (h | 0)) {
+         break d;
+        }
+        e = i + 1 | 0;
+       }
+       if ((e | 0) <= (b | 0)) {
+        continue;
+       }
+       break c;
+      }
+      break;
+     }
+     a = j >>> 0 > i >>> 0 ? k : 271040;
+     a = r[a + 4 | 0] << 8 | r[a + 5 | 0];
+     mt(f, a ? a + g | 0 : 271040, d);
+    }
+    a = q[c + 4 >> 2];
+    if (!a) {
+     break b;
+    }
+    c = c + 4 | 0;
+    g = q[f >> 2];
+    continue;
+   }
+  }
+  a = r[g + 5 | 0];
+  e = r[g + 4 | 0];
+  c = a | e << 8;
+  c = c ? c + g | 0 : 271040;
+  i = r[c | 0] << 8 | r[c + 1 | 0];
+  if (!i) {
+   break b;
+  }
+  while (1) {
+   a = a & 255 | (e & 255) << 8;
+   a = a ? a + g | 0 : 271040;
+   c = (r[a + 1 | 0] | r[a | 0] << 8) >>> 0 > b >>> 0 ? (a + w(b, 6) | 0) + 2 | 0 : 271040;
+   c = r[c + 4 | 0] << 8 | r[c + 5 | 0];
+   mt(f, c ? a + c | 0 : 271040, d);
+   b = b + 1 | 0;
+   if ((i | 0) == (b | 0)) {
+    break b;
+   }
+   g = q[f >> 2];
+   a = r[g + 5 | 0];
+   e = r[g + 4 | 0];
+   continue;
+  }
+ }
+ nt(f + 52 | 0);
+ a = f + 92 | 0;
+ M$(q[a >> 2]);
+ q[a >> 2] = 0;
+ q[f + 84 >> 2] = 0;
+ q[f + 88 >> 2] = 0;
+ a = f + 80 | 0;
+ M$(q[a >> 2]);
+ q[a >> 2] = 0;
+ q[f + 72 >> 2] = 0;
+ q[f + 76 >> 2] = 0;
+ nt(f + 8 | 0);
+ a = f + 48 | 0;
+ M$(q[a >> 2]);
+ q[a >> 2] = 0;
+ q[f + 40 >> 2] = 0;
+ q[f + 44 >> 2] = 0;
+ M$(q[f + 36 >> 2]);
+ Ca = f + 112 | 0;
+}
+function ML(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ d = Ca - 112 | 0;
+ Ca = d;
+ q[d + 108 >> 2] = 0;
+ q[d + 88 >> 2] = 0;
+ q[d + 92 >> 2] = 0;
+ e = -1;
+ a : {
+  if (q[b + 108 >> 2] == 10) {
+   break a;
+  }
+  c = lL(a, q[b + 16 >> 2], b, d + 104 | 0, d + 108 | 0, d + 100 | 0, d + 88 | 0, c);
+  if (!c) {
+   break a;
+  }
+  a = q[b + 108 >> 2];
+  if ((a | 0) >= 1) {
+   e = 0;
+   f = q[d + 100 >> 2];
+   while (1) {
+    if ((f | 0) == q[((e << 2) + b | 0) + 24 >> 2]) {
+     Yd(q[b + 16 >> 2], 4, 354851, 0);
+     break a;
+    }
+    e = e + 1 | 0;
+    if ((e | 0) < (a | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  b : {
+   f = q[d + 88 >> 2];
+   c : {
+    if (f) {
+     a = N$(1, 40);
+     e = N$(1, 8);
+     g = q[d + 92 >> 2];
+     q[e >> 2] = q[d + 88 >> 2];
+     q[e + 4 >> 2] = g;
+     f = n[f](q[d + 92 >> 2], 0, 0, 0) | 0;
+     q[a + 24 >> 2] = 768;
+     q[a + 20 >> 2] = 769;
+     q[a + 4 >> 2] = f;
+     q[a + 12 >> 2] = e;
+     q[d + 60 >> 2] = 0;
+     q[d + 64 >> 2] = 0;
+     q[d + 76 >> 2] = 0;
+     q[d + 68 >> 2] = 0;
+     q[d + 72 >> 2] = 0;
+     q[d + 48 >> 2] = 2;
+     q[d + 52 >> 2] = 0;
+     q[d + 56 >> 2] = 0;
+     q[d + 64 >> 2] = a;
+     if (!If(q[b + 20 >> 2], d + 48 | 0, q[d + 104 >> 2], d + 84 | 0)) {
+      break c;
+     }
+     a = q[b + 16 >> 2];
+     q[d + 32 >> 2] = c;
+     Yd(a, 2, 354904, d + 32 | 0);
+     e = -1;
+     break a;
+    }
+    if (yf(q[b + 20 >> 2], c, q[d + 104 >> 2], d + 84 | 0)) {
+     a = q[b + 16 >> 2];
+     q[d + 16 >> 2] = c;
+     q[d + 20 >> 2] = q[d + 104 >> 2];
+     Yd(a, 2, 354936, d + 16 | 0);
+     e = -1;
+     break a;
+    }
+    if (!q[d + 108 >> 2] | q[d + 104 >> 2] > -1) {
+     break c;
+    }
+    a = q[d + 84 >> 2];
+    if (q[a >> 2] < 1) {
+     break c;
+    }
+    e = 0;
+    while (1) {
+     Jf(a);
+     if (yf(q[b + 20 >> 2], c, e, d + 84 | 0)) {
+      break b;
+     }
+     a = bg(q[d + 84 >> 2]);
+     if (a) {
+      if (!iZ(a, q[d + 108 >> 2])) {
+       break c;
+      }
+     }
+     e = e + 1 | 0;
+     a = q[d + 84 >> 2];
+     if ((e | 0) < q[a >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   IL(q[b + 16 >> 2], q[d + 84 >> 2]);
+   a = q[d + 84 >> 2];
+   if (!(s[a + 74 >> 1] ? p[a + 70 >> 1] != (0 - p[a + 72 >> 1] | 0) : 0)) {
+    c = a;
+    e = cg(a, 2);
+    d : {
+     if (e) {
+      f = s[e + 70 >> 1];
+      p[a + 70 >> 1] = f;
+      g = a;
+      a = s[e + 72 >> 1];
+      p[g + 72 >> 1] = a;
+      a = f - a | 0;
+      break d;
+     }
+     e = q[a - -64 >> 2];
+     p[a + 70 >> 1] = e;
+     g = a;
+     a = q[a + 56 >> 2];
+     p[g + 72 >> 1] = a;
+     a = e - a | 0;
+    }
+    p[c + 74 >> 1] = a;
+   }
+   a = q[b + 108 >> 2];
+   c = (a << 2) + b | 0;
+   e = q[d + 84 >> 2];
+   q[c - -64 >> 2] = e;
+   f = q[d + 100 >> 2];
+   q[b + 108 >> 2] = a + 1;
+   q[c + 24 >> 2] = f;
+   PL(e, v[b + 112 >> 3]);
+   e = q[b + 108 >> 2] + -1 | 0;
+   break a;
+  }
+  a = q[b + 16 >> 2];
+  q[d + 4 >> 2] = e;
+  q[d >> 2] = c;
+  Yd(a, 2, 354936, d);
+  e = -1;
+ }
+ Ca = d + 112 | 0;
+ return e;
+}
+function HU(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = -1;
+ f = d - c | 0;
+ a : {
+  if ((f | 0) < 2) {
+   break a;
+  }
+  i = b + 72 | 0;
+  while (1) {
+   j = d;
+   b : {
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         h : {
+          i : {
+           j : {
+            b = r[c | 0];
+            g = b + -216 | 0;
+            if (g >>> 0 > 39) {
+             if (b) {
+              break c;
+             }
+             g = r[r[c + 1 | 0] + i | 0];
+             if (g >>> 0 > 13) {
+              break c;
+             }
+             switch (g - 2 | 0) {
+             case 5:
+              break i;
+             case 4:
+              break j;
+             case 0:
+             case 1:
+             case 2:
+             case 3:
+             case 7:
+             case 8:
+             case 9:
+              break c;
+             case 10:
+             case 11:
+              break f;
+             default:
+              break g;
+             }
+            }
+            switch (g - 4 | 0) {
+            case 4:
+            case 5:
+            case 6:
+            case 7:
+            case 8:
+            case 9:
+            case 10:
+            case 11:
+            case 12:
+            case 13:
+            case 14:
+            case 15:
+            case 16:
+            case 17:
+            case 18:
+            case 19:
+            case 20:
+            case 21:
+            case 22:
+            case 23:
+            case 24:
+            case 25:
+            case 26:
+            case 27:
+            case 28:
+            case 29:
+            case 30:
+            case 31:
+            case 32:
+            case 33:
+            case 34:
+             break c;
+            case 0:
+            case 1:
+            case 2:
+            case 3:
+             break g;
+            case 35:
+             break h;
+            default:
+             break i;
+            }
+           }
+           if ((f | 0) < 3) {
+            break e;
+           }
+           c = c + 3 | 0;
+           break d;
+          }
+          if ((f | 0) < 4) {
+           break e;
+          }
+          c = c + 4 | 0;
+          break d;
+         }
+         if (r[c + 1 | 0] <= 253) {
+          break c;
+         }
+        }
+        q[e >> 2] = c;
+        return 0;
+       }
+       f = c + 2 | 0;
+       b = f;
+       if ((a | 0) != (g | 0)) {
+        break b;
+       }
+       h = -27;
+       if ((d - f | 0) < 2) {
+        break a;
+       }
+       q[e >> 2] = f;
+       k : {
+        if (r[f | 0]) {
+         break k;
+        }
+        a = r[r[c + 3 | 0] + i | 0];
+        if (a >>> 0 > 30) {
+         break k;
+        }
+        h = 27;
+        if (1 << a & 1076891136) {
+         break a;
+        }
+       }
+       return 0;
+      }
+      h = -2;
+      break a;
+     }
+     f = d - c | 0;
+     if ((f | 0) > 1) {
+      continue;
+     }
+     break a;
+    }
+    b = c + 2 | 0;
+   }
+   c = b;
+   f = j - c | 0;
+   if ((f | 0) > 1) {
+    continue;
+   }
+   break;
+  }
+ }
+ return h;
+}
+function Xo(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0;
+ k = Ca - 16 | 0;
+ Ca = k;
+ d = q[a + 28 >> 2];
+ e = q[a + 16 >> 2];
+ l = q[a + 24 >> 2];
+ q[k + 12 >> 2] = 0;
+ a : {
+  b : {
+   g = l + 1 | 0;
+   c : {
+    if (d >>> 0 >= g >>> 0) {
+     i = q[a + 32 >> 2];
+     break c;
+    }
+    q[a + 36 >> 2] = b;
+    i = b;
+    b = a + 32 | 0;
+    i = Te(i, 4, d, g, q[b >> 2], k + 12 | 0);
+    q[b >> 2] = i;
+    if (q[k + 12 >> 2]) {
+     break b;
+    }
+    q[a + 28 >> 2] = g;
+   }
+   g = i;
+   if (l) {
+    e = e + 10 | 0;
+    while (1) {
+     h = r[e + 7 | 0] | r[e + 8 | 0] << 8 | (r[e + 9 | 0] << 16 | r[e + 10 | 0] << 24);
+     o = r[e | 0];
+     p = r[e + 1 | 0];
+     s = r[e + 2 | 0];
+     d : {
+      e : {
+       f : {
+        b = r[e + 3 | 0] | r[e + 4 | 0] << 8 | (r[e + 5 | 0] << 16 | r[e + 6 | 0] << 24);
+        b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+        if (!b) {
+         break f;
+        }
+        d = b + q[a + 16 >> 2] | 0;
+        b = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+        b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+        m = d + 7 | 0;
+        j = 0;
+        while (1) {
+         if (j >>> 0 >= b >>> 0) {
+          break f;
+         }
+         d = b;
+         b = b + j >>> 1 | 0;
+         n = m + (b << 2) | 0;
+         f = n + -3 | 0;
+         f = r[f + 1 | 0] << 8 | r[f | 0] << 16 | r[f + 2 | 0];
+         if (f >>> 0 > c >>> 0) {
+          continue;
+         }
+         j = b + 1 | 0;
+         b = d;
+         if (f + r[n | 0] >>> 0 < c >>> 0) {
+          continue;
+         }
+         break;
+        }
+        break e;
+       }
+       b = h << 8 & 16711680 | h << 24 | (h >>> 8 & 65280 | h >>> 24);
+       if (!b) {
+        break d;
+       }
+       d = b + q[a + 16 >> 2] | 0;
+       b = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+       b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+       if (!b) {
+        break d;
+       }
+       m = d + 7 | 0;
+       j = 0;
+       while (1) {
+        g : {
+         d = b + j >>> 1 | 0;
+         h = m + w(d, 5) | 0;
+         f = h + -3 | 0;
+         f = r[f + 1 | 0] << 8 | r[f | 0] << 16 | r[f + 2 | 0];
+         h : {
+          if (f >>> 0 > c >>> 0) {
+           b = d;
+           break h;
+          }
+          if (f >>> 0 >= c >>> 0) {
+           break g;
+          }
+          j = d + 1 | 0;
+         }
+         if (j >>> 0 < b >>> 0) {
+          continue;
+         }
+         break d;
+        }
+        break;
+       }
+       if (!(r[h + 1 | 0] | r[h | 0] << 8)) {
+        break d;
+       }
+      }
+      q[g >> 2] = p << 8 | o << 16 | s;
+      g = g + 4 | 0;
+     }
+     e = e + 11 | 0;
+     l = l + -1 | 0;
+     if (l) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[g >> 2] = 0;
+   break a;
+  }
+  i = 0;
+ }
+ Ca = k + 16 | 0;
+ return i | 0;
+}
+function lU(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = -1;
+ f = d - c | 0;
+ a : {
+  if ((f | 0) < 2) {
+   break a;
+  }
+  i = b + 72 | 0;
+  while (1) {
+   j = d;
+   b : {
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         h : {
+          i : {
+           j : {
+            b = r[c + 1 | 0];
+            g = b + -216 | 0;
+            if (g >>> 0 > 39) {
+             if (b) {
+              break c;
+             }
+             g = r[r[c | 0] + i | 0];
+             if (g >>> 0 > 13) {
+              break c;
+             }
+             switch (g - 2 | 0) {
+             case 5:
+              break i;
+             case 4:
+              break j;
+             case 0:
+             case 1:
+             case 2:
+             case 3:
+             case 7:
+             case 8:
+             case 9:
+              break c;
+             case 10:
+             case 11:
+              break f;
+             default:
+              break g;
+             }
+            }
+            switch (g - 4 | 0) {
+            case 4:
+            case 5:
+            case 6:
+            case 7:
+            case 8:
+            case 9:
+            case 10:
+            case 11:
+            case 12:
+            case 13:
+            case 14:
+            case 15:
+            case 16:
+            case 17:
+            case 18:
+            case 19:
+            case 20:
+            case 21:
+            case 22:
+            case 23:
+            case 24:
+            case 25:
+            case 26:
+            case 27:
+            case 28:
+            case 29:
+            case 30:
+            case 31:
+            case 32:
+            case 33:
+            case 34:
+             break c;
+            case 0:
+            case 1:
+            case 2:
+            case 3:
+             break g;
+            case 35:
+             break h;
+            default:
+             break i;
+            }
+           }
+           if ((f | 0) < 3) {
+            break e;
+           }
+           c = c + 3 | 0;
+           break d;
+          }
+          if ((f | 0) < 4) {
+           break e;
+          }
+          c = c + 4 | 0;
+          break d;
+         }
+         if (r[c | 0] <= 253) {
+          break c;
+         }
+        }
+        q[e >> 2] = c;
+        return 0;
+       }
+       f = c + 2 | 0;
+       b = f;
+       if ((a | 0) != (g | 0)) {
+        break b;
+       }
+       h = -27;
+       if ((d - f | 0) < 2) {
+        break a;
+       }
+       q[e >> 2] = f;
+       k : {
+        if (r[c + 3 | 0]) {
+         break k;
+        }
+        a = r[r[f | 0] + i | 0];
+        if (a >>> 0 > 30) {
+         break k;
+        }
+        h = 27;
+        if (1 << a & 1076891136) {
+         break a;
+        }
+       }
+       return 0;
+      }
+      h = -2;
+      break a;
+     }
+     f = d - c | 0;
+     if ((f | 0) > 1) {
+      continue;
+     }
+     break a;
+    }
+    b = c + 2 | 0;
+   }
+   c = b;
+   f = j - c | 0;
+   if ((f | 0) > 1) {
+    continue;
+   }
+   break;
+  }
+ }
+ return h;
+}
+function Us(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ f = Ca + -64 | 0;
+ Ca = f;
+ q[b + 60 >> 2] = 0;
+ a : {
+  c = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+  h = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  if (h) {
+   l = h + -1 | 0;
+   a = a + 8 | 0;
+   m = f + 48 | 0;
+   while (1) {
+    c = r[a + 4 | 0];
+    b : {
+     if (c & 32) {
+      break b;
+     }
+     d = q[b + 12 >> 2];
+     e = q[d + 48 >> 2];
+     if ((e & -2) == 4 ^ c << 24 >> 24 > -1) {
+      break b;
+     }
+     c = q[b + 4 >> 2];
+     q[m >> 2] = g;
+     q[f + 40 >> 2] = 114;
+     q[f + 44 >> 2] = 110;
+     q[f + 32 >> 2] = 107;
+     q[f + 36 >> 2] = 101;
+     if (!Ot(d, c, 228410, f + 32 | 0)) {
+      break b;
+     }
+     d = e & -3;
+     c : {
+      if (i) {
+       i = 1;
+       break c;
+      }
+      i = 0;
+      if (!(r[a + 4 | 0] & 64)) {
+       break c;
+      }
+      i = 1;
+      c = q[b + 12 >> 2];
+      e = q[c + 76 >> 2];
+      if (!e) {
+       break c;
+      }
+      g = q[c + 96 >> 2];
+      c = 0;
+      while (1) {
+       k = g + w(c, 20) | 0;
+       o[k + 18 | 0] = 2;
+       p[k + 16 >> 1] = (q[q[b + 12 >> 2] + 48 >> 2] & -3) == 4 ? -1 : 1;
+       c = c + 1 | 0;
+       if ((e | 0) != (c | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     g = (d | 0) != 5;
+     if (!g) {
+      AG(q[b + 12 >> 2]);
+     }
+     c = q[b + 44 >> 2];
+     d = q[c + 12 >> 2];
+     q[b + 20 >> 2] = d;
+     c = q[c + 16 >> 2];
+     e = c + d | 0;
+     q[b + 24 >> 2] = e;
+     if ((c | 0) <= -1) {
+      break a;
+     }
+     c = j >>> 0 < l >>> 0 ? a : 0;
+     d : {
+      if (!c) {
+       break d;
+      }
+      if (!(e >>> 0 > c >>> 0 ? c >>> 0 >= d >>> 0 : 0)) {
+       q[b + 20 >> 2] = 0;
+       q[b + 24 >> 2] = 0;
+       break d;
+      }
+      q[b + 20 >> 2] = c;
+      d = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+      d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+      e = e - c | 0;
+      q[b + 24 >> 2] = c + (e >>> 0 > d >>> 0 ? d : e);
+     }
+     c = Zt(a, b);
+     d = q[b + 44 >> 2];
+     e = q[d + 12 >> 2];
+     q[b + 20 >> 2] = e;
+     d = q[d + 16 >> 2];
+     q[b + 24 >> 2] = d + e;
+     if ((d | 0) <= -1) {
+      break a;
+     }
+     if (!g) {
+      AG(q[b + 12 >> 2]);
+     }
+     n = c | n;
+     c = q[b + 4 >> 2];
+     d = q[b + 12 >> 2];
+     q[f + 16 >> 2] = q[b + 60 >> 2];
+     q[f + 8 >> 2] = 114;
+     q[f + 12 >> 2] = 110;
+     q[f >> 2] = 107;
+     q[f + 4 >> 2] = 101;
+     Ot(d, c, 228437, f);
+    }
+    c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+    g = q[b + 60 >> 2] + 1 | 0;
+    q[b + 60 >> 2] = g;
+    a = (c << 8 & 16711680 | c << 24 | (c >>> 8 & 65280 | c >>> 24)) + a | 0;
+    j = j + 1 | 0;
+    if ((j | 0) != (h | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  Ca = f - -64 | 0;
+  return;
+ }
+ J(228462, 228487, 195, 228504);
+ F();
+}
+function tp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, r = 0, u = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ j = q[b + 28 >> 2];
+ q[a + 368 >> 2] = b;
+ c = n[q[a + 516 >> 2]](a, 1851878757, b, e + 8 | 0) | 0;
+ q[e + 12 >> 2] = c;
+ a : {
+  if (c) {
+   break a;
+  }
+  i = q[b + 8 >> 2];
+  k = a + 344 | 0;
+  c = Xg(b, 163024, k);
+  q[e + 12 >> 2] = c;
+  if (c) {
+   break a;
+  }
+  m = i + 6 | 0;
+  c = q[a + 348 >> 2];
+  h = m + w(c, 12) | 0;
+  l = q[e + 8 >> 2] + i | 0;
+  if (h >>> 0 > l >>> 0) {
+   c = 145;
+   q[e + 12 >> 2] = 145;
+   break a;
+  }
+  d = a;
+  g = j;
+  if (s[k >> 1] == 1) {
+   c = yg(b, h);
+   q[e + 12 >> 2] = c;
+   if (c) {
+    break a;
+   }
+   f = Bg(b, e + 12 | 0);
+   q[a + 360 >> 2] = f;
+   c = q[e + 12 >> 2];
+   if (c) {
+    break a;
+   }
+   r = a, u = Te(j, 12, 0, f, 0, e + 12 | 0), q[r + 364 >> 2] = u;
+   c = q[e + 12 >> 2];
+   if (c) {
+    break a;
+   }
+   c = Kg(b, q[a + 360 >> 2] << 2);
+   q[e + 12 >> 2] = c;
+   if (c) {
+    break a;
+   }
+   h = (f << 2 | 2) + h | 0;
+   c = q[a + 364 >> 2];
+   b : {
+    if (!c) {
+     break b;
+    }
+    f = q[a + 360 >> 2];
+    if ((f | 0) < 1) {
+     break b;
+    }
+    o = w(f, 12) + c | 0;
+    while (1) {
+     r = e, u = Xg(b, 163084, c), q[r + 12 >> 2] = u;
+     f = q[c + 4 >> 2] + (q[a + 352 >> 2] + i | 0) | 0;
+     q[c + 4 >> 2] = f;
+     if (!(f + s[c >> 1] >>> 0 <= l >>> 0 ? f >>> 0 >= h >>> 0 : 0)) {
+      p[c >> 1] = 0;
+     }
+     c = c + 12 | 0;
+     if (c >>> 0 < o >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   Ng(b);
+   r = e, u = yg(b, m), q[r + 12 >> 2] = u;
+   c = q[a + 348 >> 2];
+  }
+  r = d, u = Te(g, 20, 0, c, 0, e + 12 | 0), q[r + 356 >> 2] = u;
+  c = q[e + 12 >> 2];
+  if (c) {
+   break a;
+  }
+  c = Kg(b, w(q[a + 348 >> 2], 12));
+  q[e + 12 >> 2] = c;
+  if (c) {
+   break a;
+  }
+  d = q[a + 356 >> 2];
+  g = q[a + 348 >> 2];
+  c : {
+   if (!g) {
+    c = d;
+    g = 0;
+    break c;
+   }
+   c = d;
+   while (1) {
+    d = Xg(b, 163056, c);
+    q[e + 12 >> 2] = d;
+    d : {
+     if (d) {
+      break d;
+     }
+     f = s[c + 8 >> 1];
+     if (!f) {
+      break d;
+     }
+     d = q[c + 12 >> 2] + (q[a + 352 >> 2] + i | 0) | 0;
+     q[c + 12 >> 2] = d;
+     if (d >>> 0 < h >>> 0 | d + f >>> 0 > l >>> 0) {
+      break d;
+     }
+     e : {
+      if (s[k >> 1] != 1) {
+       break e;
+      }
+      d = p[c + 4 >> 1];
+      if ((d | 0) > -1) {
+       break e;
+      }
+      d = (d & 65535) + -32768 | 0;
+      if (d >>> 0 >= t[a + 360 >> 2] | !s[q[a + 364 >> 2] + w(d, 12) >> 1]) {
+       break d;
+      }
+     }
+     c = c + 20 | 0;
+    }
+    g = g + -1 | 0;
+    if (g) {
+     continue;
+    }
+    break;
+   }
+   d = q[a + 356 >> 2];
+   g = q[a + 348 >> 2];
+  }
+  c = (c - d | 0) / 20 | 0;
+  d = Te(j, 20, g, c, d, e + 12 | 0);
+  q[a + 348 >> 2] = c;
+  q[a + 356 >> 2] = d;
+  Ng(b);
+  p[a + 340 >> 1] = q[a + 348 >> 2];
+  c = q[e + 12 >> 2];
+ }
+ Ca = e + 16 | 0;
+ return c | 0;
+}
+function Lw(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     g = r[a + 1 | 0] | r[a | 0] << 8;
+     if (g >>> 0 <= 1) {
+      if (g - 1) {
+       break d;
+      }
+      g = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+      Iw(b, g, 0, 0, 0);
+      a = q[b + 96 >> 2];
+      b = q[a + 92 >> 2];
+      e : {
+       if ((b | 0) == q[a + 88 >> 2]) {
+        d = q[a + 80 >> 2];
+        f = d;
+        if (q[a + 72 >> 2] == (d | 0)) {
+         break e;
+        }
+       }
+       if (!pG(a, 1, 1)) {
+        break c;
+       }
+       b = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+       f = q[b + 4 >> 2];
+       c = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+       q[c >> 2] = q[b >> 2];
+       q[c + 4 >> 2] = f;
+       q[c + 16 >> 2] = q[b + 16 >> 2];
+       d = q[b + 12 >> 2];
+       q[c + 8 >> 2] = q[b + 8 >> 2];
+       q[c + 12 >> 2] = d;
+       d = q[a + 72 >> 2];
+       f = q[a + 80 >> 2];
+       b = q[a + 92 >> 2];
+      }
+      q[w(f, 20) + b >> 2] = g;
+      q[a + 80 >> 2] = f + 1;
+      q[a + 72 >> 2] = d + 1;
+      return 1;
+     }
+     c = q[b + 96 >> 2];
+     d = q[c + 72 >> 2];
+     e = d;
+     if (!g) {
+      break a;
+     }
+     c = q[c + 88 >> 2];
+     j = s[(c + w(d, 20) | 0) + 12 >> 1] >>> 1 & 2;
+     while (1) {
+      o[(w(d, 20) + c | 0) + 14 | 0] = f & 15;
+      c = (f << 1) + a | 0;
+      i = r[c + 2 | 0] << 8 | r[c + 3 | 0];
+      Iw(b, i, j, 0, 1);
+      d = q[b + 96 >> 2];
+      f : {
+       if (!pG(d, 0, 1)) {
+        q[160660] = q[67764];
+        c = q[67763];
+        q[160658] = q[67762];
+        q[160659] = c;
+        c = q[67761];
+        q[160656] = q[67760];
+        q[160657] = c;
+        break f;
+       }
+       c = q[d + 72 >> 2];
+       e = q[d + 76 >> 2];
+       if (!(q[d + 80 >> 2] | (c | 0) != (e | 0))) {
+        q[160660] = q[67764];
+        c = q[67763];
+        q[160658] = q[67762];
+        q[160659] = c;
+        c = q[67761];
+        q[160656] = q[67760];
+        q[160657] = c;
+        break f;
+       }
+       g : {
+        if (c >>> 0 < e >>> 0) {
+         e = q[d + 80 >> 2];
+         h = q[d + 92 >> 2];
+         c = q[d + 88 >> 2] + w(c, 20) | 0;
+         break g;
+        }
+        h = q[d + 92 >> 2];
+        e = q[d + 80 >> 2];
+        c = (h + w(e, 20) | 0) + -20 | 0;
+       }
+       k = q[c + 4 >> 2];
+       e = w(e, 20) + h | 0;
+       q[e >> 2] = q[c >> 2];
+       q[e + 4 >> 2] = k;
+       q[e + 16 >> 2] = q[c + 16 >> 2];
+       h = q[c + 12 >> 2];
+       q[e + 8 >> 2] = q[c + 8 >> 2];
+       q[e + 12 >> 2] = h;
+       c = q[d + 80 >> 2];
+       q[q[d + 92 >> 2] + w(c, 20) >> 2] = i;
+       q[d + 80 >> 2] = c + 1;
+      }
+      c = q[b + 96 >> 2];
+      f = f + 1 | 0;
+      if ((g | 0) == (f | 0)) {
+       break b;
+      }
+      d = q[c + 72 >> 2];
+      c = q[c + 88 >> 2];
+      continue;
+     }
+    }
+    CG(q[b + 96 >> 2]);
+   }
+   return 1;
+  }
+  e = q[c + 72 >> 2];
+ }
+ q[c + 72 >> 2] = e + 1;
+ return 1;
+}
+function $r(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  b : {
+   e = q[b + 4 >> 2];
+   if (e >>> 0 > a >>> 0) {
+    break b;
+   }
+   d = q[b + 8 >> 2];
+   if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+    break b;
+   }
+   f = q[b + 12 >> 2];
+   q[b + 12 >> 2] = f + -1;
+   if ((f | 0) < 1 | (r[a + 1 | 0] | r[a | 0] << 8) >>> 0 < 2) {
+    break b;
+   }
+   c = a + 4 | 0;
+   if (e >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < 4) {
+    break b;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break b;
+   }
+   c = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+   h = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+   if (!h) {
+    return 1;
+   }
+   j = h + -1 | 0;
+   a = a + 8 | 0;
+   while (1) {
+    if (d >>> 0 < a >>> 0 | e >>> 0 > a >>> 0 | d - a >>> 0 < 12) {
+     break b;
+    }
+    e = q[b + 12 >> 2];
+    q[b + 12 >> 2] = e + -1;
+    if ((e | 0) < 1) {
+     break b;
+    }
+    d = q[b + 28 >> 2];
+    c = q[d + 12 >> 2];
+    q[b + 4 >> 2] = c;
+    d = q[d + 16 >> 2];
+    g = d + c | 0;
+    q[b + 8 >> 2] = g;
+    c : {
+     d : {
+      if ((d | 0) > -1) {
+       d = i >>> 0 < j >>> 0 ? a : 0;
+       e : {
+        if (!d) {
+         d = c;
+         break e;
+        }
+        if (!(g >>> 0 > d >>> 0 ? d >>> 0 >= c >>> 0 : 0)) {
+         q[b + 4 >> 2] = 0;
+         q[b + 8 >> 2] = 0;
+         g = 0;
+         break d;
+        }
+        q[b + 4 >> 2] = d;
+        c = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+        f = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+        c = g - d | 0;
+        g = (c >>> 0 > f >>> 0 ? f : c) + d | 0;
+        q[b + 8 >> 2] = g;
+       }
+       if (d >>> 0 <= a >>> 0) {
+        break d;
+       }
+       f = 1;
+       break c;
+      }
+      break a;
+     }
+     f = 1;
+     if (g >>> 0 < a >>> 0) {
+      break c;
+     }
+     d = g - a | 0;
+     if (d >>> 0 < 12) {
+      break c;
+     }
+     q[b + 12 >> 2] = e + -2;
+     if ((e | 0) < 2) {
+      break c;
+     }
+     c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+     c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+     if (c >>> 0 < 13 | d >>> 0 < c >>> 0) {
+      break c;
+     }
+     q[b + 12 >> 2] = e + -3;
+     if ((e | 0) < 3) {
+      break c;
+     }
+     if (!as(a, b)) {
+      break c;
+     }
+     d = a;
+     a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+     a = d + (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) | 0;
+     f = 0;
+    }
+    c = q[b + 28 >> 2];
+    e = q[c + 12 >> 2];
+    q[b + 4 >> 2] = e;
+    c = q[c + 16 >> 2];
+    d = c + e | 0;
+    q[b + 8 >> 2] = d;
+    if ((c | 0) <= -1) {
+     break a;
+    }
+    if (f) {
+     break b;
+    }
+    i = i + 1 | 0;
+    if ((h | 0) != (i | 0)) {
+     continue;
+    }
+    break;
+   }
+   return 1;
+  }
+  return 0;
+ }
+ J(228144, 228169, 195, 228186);
+ F();
+}
+function XW(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = Ca - 2944 | 0;
+ Ca = f;
+ a : {
+  if (!c) {
+   break a;
+  }
+  g = g0(c);
+  if (r[643389] & 4) {
+   q[f + 52 >> 2] = b;
+   q[f + 48 >> 2] = e ? 498732 : 498740;
+   d0(498707, f + 48 | 0);
+  }
+  h = WV();
+  b : {
+   if (!h) {
+    g = 1;
+    break b;
+   }
+   q[f + 108 >> 2] = 0;
+   q[f + 80 >> 2] = 0;
+   q[f + 84 >> 2] = 0;
+   q[f + 1392 >> 2] = 0;
+   q[f + 96 >> 2] = a;
+   q[f + 92 >> 2] = b;
+   q[f + 88 >> 2] = 0;
+   a = UX(b);
+   q[f + 2936 >> 2] = !e;
+   q[f + 104 >> 2] = h;
+   q[f + 100 >> 2] = a;
+   XX(a, e);
+   dW(h, f + 80 | 0);
+   a = h;
+   if (a) {
+    q[a + 88 >> 2] = 979;
+    q[a + 84 >> 2] = 978;
+   }
+   if (h) {
+    q[a + 56 >> 2] = 981;
+    q[a + 52 >> 2] = 980;
+   }
+   if (h) {
+    q[a + 60 >> 2] = 982;
+   }
+   c : {
+    while (1) {
+     a = gW(h);
+     if (!a) {
+      VW(f + 80 | 0, 2, 498755, 0);
+      g = 1;
+      break c;
+     }
+     i = a;
+     a = g >>> 0 < 1024 ? g : 1024;
+     Y$(i, c, a);
+     if (!hW(h, a, !a)) {
+      a = f;
+      c = h;
+      i = 41;
+      d : {
+       if (!h) {
+        break d;
+       }
+       i = q[c + 280 >> 2];
+      }
+      j = a, k = jW(i), q[j + 32 >> 2] = k;
+      VW(f + 80 | 0, 2, 498779, f + 32 | 0);
+      g = 1;
+      break c;
+     }
+     i = g + -1024 | 0;
+     g = i >>> 0 > g >>> 0 ? 0 : i;
+     c = a + c | 0;
+     if (a) {
+      continue;
+     }
+     break;
+    }
+    g = q[f + 88 >> 2];
+    e : {
+     if (!e) {
+      break e;
+     }
+     MW(q[q[f + 100 >> 2] + 20 >> 2], f - -64 | 0);
+     if (OW(q[q[f + 100 >> 2] + 20 >> 2], f - -64 | 0)) {
+      PW(q[q[f + 96 >> 2] + 20 >> 2], f - -64 | 0);
+      WX(q[f + 100 >> 2]);
+      RW(q[q[f + 96 >> 2] + 20 >> 2], f - -64 | 0, q[f + 100 >> 2]);
+     }
+     MW(q[q[f + 100 >> 2] + 24 >> 2], f - -64 | 0);
+     if (OW(q[q[f + 100 >> 2] + 24 >> 2], f - -64 | 0)) {
+      PW(q[q[f + 96 >> 2] + 24 >> 2], f - -64 | 0);
+      WX(q[f + 100 >> 2]);
+      RW(q[q[f + 96 >> 2] + 24 >> 2], f - -64 | 0, q[f + 100 >> 2]);
+     }
+     MW(q[q[f + 100 >> 2] + 28 >> 2], f - -64 | 0);
+     if (!OW(q[q[f + 100 >> 2] + 28 >> 2], f - -64 | 0)) {
+      break e;
+     }
+     PW(q[q[f + 96 >> 2] + 28 >> 2], f - -64 | 0);
+     WX(q[f + 100 >> 2]);
+     RW(q[q[f + 96 >> 2] + 28 >> 2], f - -64 | 0, q[f + 100 >> 2]);
+    }
+    PW(q[q[f + 96 >> 2] + 84 >> 2], f - -64 | 0);
+    WX(q[f + 100 >> 2]);
+    RW(q[q[f + 96 >> 2] + 84 >> 2], f - -64 | 0, q[f + 100 >> 2]);
+   }
+   if (q[f + 80 >> 2]) {
+    while (1) {
+     cX(f + 80 | 0);
+     if (q[f + 80 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   sX(q[f + 100 >> 2]);
+   q[f + 100 >> 2] = 0;
+   YV(h);
+  }
+  if (!(!d | !g)) {
+   q[f + 4 >> 2] = b;
+   q[f >> 2] = e ? 498505 : 498510;
+   g = 0;
+   VW(0, 2, 498782, f);
+   break a;
+  }
+  g = 1;
+  if (!(r[643389] & 4)) {
+   break a;
+  }
+  q[f + 20 >> 2] = b;
+  q[f + 16 >> 2] = e ? 498732 : 498740;
+  d0(498812, f + 16 | 0);
+ }
+ Ca = f + 2944 | 0;
+ return g;
+}
+function rv(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  b : {
+   e = q[b + 4 >> 2];
+   if (e >>> 0 > a >>> 0) {
+    break b;
+   }
+   d = q[b + 8 >> 2];
+   if (d >>> 0 < a >>> 0 | d - a >>> 0 < 4) {
+    break b;
+   }
+   f = q[b + 12 >> 2];
+   q[b + 12 >> 2] = f + -1;
+   if (!(r[a + 1 | 0] << 16 | r[a | 0] << 24) | (f | 0) < 1) {
+    break b;
+   }
+   c = a + 4 | 0;
+   if (e >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < 4) {
+    break b;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break b;
+   }
+   c = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+   h = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+   if (!h) {
+    return 1;
+   }
+   j = h + -1 | 0;
+   a = a + 8 | 0;
+   while (1) {
+    if (d >>> 0 < a >>> 0 | e >>> 0 > a >>> 0 | d - a >>> 0 < 8) {
+     break b;
+    }
+    e = q[b + 12 >> 2];
+    q[b + 12 >> 2] = e + -1;
+    if ((e | 0) < 1) {
+     break b;
+    }
+    d = q[b + 28 >> 2];
+    c = q[d + 12 >> 2];
+    q[b + 4 >> 2] = c;
+    d = q[d + 16 >> 2];
+    g = d + c | 0;
+    q[b + 8 >> 2] = g;
+    c : {
+     d : {
+      if ((d | 0) > -1) {
+       d = i >>> 0 < j >>> 0 ? a : 0;
+       e : {
+        if (!d) {
+         d = c;
+         break e;
+        }
+        if (!(g >>> 0 > d >>> 0 ? d >>> 0 >= c >>> 0 : 0)) {
+         q[b + 4 >> 2] = 0;
+         q[b + 8 >> 2] = 0;
+         g = 0;
+         break d;
+        }
+        q[b + 4 >> 2] = d;
+        c = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+        f = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+        c = g - d | 0;
+        g = (c >>> 0 > f >>> 0 ? f : c) + d | 0;
+        q[b + 8 >> 2] = g;
+       }
+       if (d >>> 0 <= a >>> 0) {
+        break d;
+       }
+       f = 1;
+       break c;
+      }
+      break a;
+     }
+     f = 1;
+     if (g >>> 0 < a >>> 0) {
+      break c;
+     }
+     d = g - a | 0;
+     if (d >>> 0 < 8) {
+      break c;
+     }
+     q[b + 12 >> 2] = e + -2;
+     if ((e | 0) < 2) {
+      break c;
+     }
+     c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+     c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+     if (c >>> 0 < 8 | d >>> 0 < c >>> 0) {
+      break c;
+     }
+     q[b + 12 >> 2] = e + -3;
+     if ((e | 0) < 3) {
+      break c;
+     }
+     if (!xv(a, b)) {
+      break c;
+     }
+     d = a;
+     a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+     a = d + (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) | 0;
+     f = 0;
+    }
+    c = q[b + 28 >> 2];
+    e = q[c + 12 >> 2];
+    q[b + 4 >> 2] = e;
+    c = q[c + 16 >> 2];
+    d = c + e | 0;
+    q[b + 8 >> 2] = d;
+    if ((c | 0) <= -1) {
+     break a;
+    }
+    if (f) {
+     break b;
+    }
+    i = i + 1 | 0;
+    if ((h | 0) != (i | 0)) {
+     continue;
+    }
+    break;
+   }
+   return 1;
+  }
+  return 0;
+ }
+ J(228462, 228487, 195, 228504);
+ F();
+}
+function fk(a, b, c, d, e, f, g, h) {
+ var i = 0, j = 0, k = 0, l = 0, m = 0, o = 0;
+ i = Ca + -64 | 0;
+ Ca = i;
+ q[i + 12 >> 2] = 0;
+ m = q[h + 556 >> 2];
+ k = q[g >> 2];
+ j = q[k >> 2];
+ q[i + 28 >> 2] = 0;
+ q[i + 32 >> 2] = 0;
+ q[i + 36 >> 2] = 0;
+ q[i + 40 >> 2] = 0;
+ q[i + 20 >> 2] = 0;
+ q[i + 24 >> 2] = 0;
+ q[i + 48 >> 2] = a;
+ q[i + 44 >> 2] = f;
+ q[i + 52 >> 2] = 0;
+ q[i + 16 >> 2] = k;
+ k = (f | 0) == 12288 | (f | 0) == 16384;
+ o = k ? 513 : 96;
+ l = Te(j, 4, 0, o, 0, i + 60 | 0);
+ q[i + 32 >> 2] = l;
+ a : {
+  b : {
+   if (!q[i + 60 >> 2]) {
+    q[i + 36 >> 2] = l;
+    q[i + 40 >> 2] = o;
+    break b;
+   }
+   Qe(j, l);
+   q[i + 32 >> 2] = 0;
+   j = q[i + 60 >> 2];
+   if (j) {
+    break a;
+   }
+  }
+  Z$(a + 24 | 0, 0, 160);
+  q[a + 156 >> 2] = 8720;
+  q[a + 60 >> 2] = 65536;
+  q[a + 44 >> 2] = 2;
+  q[a + 48 >> 2] = 65536;
+  q[a + 32 >> 2] = -6553600;
+  q[a + 36 >> 2] = 3276800;
+  q[a + 184 >> 2] = k ? 513 : 48;
+  q[a + 172 >> 2] = 65535;
+  q[a + 136 >> 2] = 65535;
+  q[a + 128 >> 2] = 65535;
+  q[a + 132 >> 2] = 65535;
+  q[a + 16 >> 2] = 65535;
+  q[a + 20 >> 2] = 65535;
+  q[a + 8 >> 2] = 65535;
+  q[a + 12 >> 2] = 65535;
+  q[a >> 2] = 65535;
+  q[a + 4 >> 2] = 65535;
+  c : {
+   d : {
+    if (!q[b + 12 >> 2]) {
+     j = yg(d, q[b + 20 >> 2]);
+     if (j) {
+      break a;
+     }
+     j = Jg(d, q[b + 24 >> 2], i + 12 | 0);
+     if (j) {
+      break a;
+     }
+     c = q[b + 24 >> 2];
+     q[i + 60 >> 2] = c;
+     break d;
+    }
+    j = hk(b, c, i + 12 | 0, i + 60 | 0);
+    if (j) {
+     break c;
+    }
+    c = q[i + 60 >> 2];
+   }
+   j = q[i + 12 >> 2];
+   j = Rk(i + 16 | 0, j, j ? c + j | 0 : 0);
+  }
+  c = d;
+  e : {
+   if (q[b + 12 >> 2]) {
+    if (q[b + 32 >> 2]) {
+     break e;
+    }
+    c = q[b >> 2];
+   }
+   Lg(c, i + 12 | 0);
+  }
+  if (j) {
+   break a;
+  }
+  j = 0;
+  if (q[a + 132 >> 2] != 65535) {
+   break a;
+  }
+  j = Qk(g, a, 0, 0);
+  if (j) {
+   break a;
+  }
+  f : {
+   if ((f | 0) == 12288 | (f | 0) == 16384) {
+    break f;
+   }
+   f = q[q[h + 128 >> 2] + 60 >> 2];
+   g : {
+    if ((f | 0) == -1) {
+     b = q[h + 96 >> 2];
+     f = q[b + 68 >> 2];
+     q[a + 648 >> 2] = f;
+     if (!f) {
+      break g;
+     }
+     while (1) {
+      f = n[q[m + 20 >> 2]](f) | 0;
+      q[b + 68 >> 2] = f;
+      if ((f | 0) < 0) {
+       continue;
+      }
+      break;
+     }
+     break g;
+    }
+    q[a + 648 >> 2] = f;
+    if (!f) {
+     break g;
+    }
+    while (1) {
+     f = n[q[m + 20 >> 2]](f) | 0;
+     q[q[h + 128 >> 2] + 60 >> 2] = f;
+     if ((f | 0) < 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (q[a + 648 >> 2]) {
+    break f;
+   }
+   q[a + 648 >> 2] = q[a + 532 >> 2];
+  }
+  b = q[a + 536 >> 2];
+  if (!b) {
+   j = 0;
+   break a;
+  }
+  j = yg(d, q[a + 116 >> 2] + (b + e | 0) | 0);
+  if (j) {
+   break a;
+  }
+  b = a + 608 | 0;
+  j = dk(b, d, 1, k);
+  if (j) {
+   break a;
+  }
+  j = ek(b, a + 644 | 0, 0, 0);
+ }
+ Qe(q[q[i + 16 >> 2] >> 2], q[i + 32 >> 2]);
+ Ca = i - -64 | 0;
+ return j;
+}
+function Rf(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ f = q[a + 88 >> 2];
+ g = f + 12 | 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     if (o[a + 8 | 0] & 1) {
+      l = q[b >> 2];
+      e : {
+       if (l >>> 0 > 4) {
+        break e;
+       }
+       f : {
+        g : {
+         switch (l - 1 | 0) {
+         default:
+          i = s[a + 68 >> 1];
+          j = i;
+          break e;
+         case 1:
+          e = q[a + 60 >> 2] - q[a + 52 >> 2] | 0;
+          d = q[a - -64 >> 2] - q[a + 56 >> 2] | 0;
+          break f;
+         case 2:
+          e = p[a + 76 >> 1];
+          d = p[a + 70 >> 1] - p[a + 72 >> 1] | 0;
+          break f;
+         case 3:
+          c = q[b + 4 >> 2];
+          q[f + 16 >> 2] = c;
+          b = q[b + 8 >> 2];
+          q[f + 20 >> 2] = b;
+          if (!c) {
+           break c;
+          }
+          if (b) {
+           break b;
+          }
+          break d;
+         case 0:
+          break g;
+         }
+        }
+        e = p[a + 70 >> 1] - p[a + 72 >> 1] | 0;
+        d = e;
+       }
+       c = d;
+       c = c >> 31;
+       j = d + c ^ c;
+       c = e >> 31;
+       i = c + e ^ c;
+      }
+      d = q[b + 4 >> 2];
+      h = d;
+      c = q[b + 12 >> 2];
+      if (c) {
+       h = (w(c, d) + 36 | 0) / 72 | 0;
+      }
+      k = q[b + 8 >> 2];
+      e = k;
+      b = q[b + 16 >> 2];
+      if (b) {
+       e = (w(b, k) + 36 | 0) / 72 | 0;
+      }
+      h : {
+       if (d) {
+        c = Fe(h, i);
+        q[f + 16 >> 2] = c;
+        if (k) {
+         b = Fe(e, j);
+         q[f + 20 >> 2] = b;
+         if ((l | 0) != 3) {
+          break h;
+         }
+         if ((b | 0) <= (c | 0)) {
+          break c;
+         }
+         break d;
+        }
+        q[f + 20 >> 2] = c;
+        e = ue(h, j, i);
+        b = c;
+        break h;
+       }
+       b = Fe(e, j);
+       q[f + 16 >> 2] = b;
+       q[f + 20 >> 2] = b;
+       h = ue(e, i, j);
+       c = b;
+      }
+      if (!l) {
+       break a;
+      }
+      break b;
+     }
+     q[g >> 2] = 0;
+     q[g + 4 >> 2] = 0;
+     q[g + 24 >> 2] = 0;
+     q[g + 16 >> 2] = 0;
+     q[g + 20 >> 2] = 0;
+     q[g + 8 >> 2] = 0;
+     q[g + 12 >> 2] = 0;
+     q[f + 16 >> 2] = 65536;
+     q[f + 20 >> 2] = 65536;
+     return;
+    }
+    q[f + 20 >> 2] = c;
+    b = c;
+    break b;
+   }
+   q[f + 16 >> 2] = b;
+   c = b;
+  }
+  k = (c | 0) < 0;
+  d = s[a + 68 >> 1];
+  e = c;
+  c = c >> 31;
+  c = e + c ^ c;
+  i : {
+   if (d + (c >>> 8 | 0) >>> 0 <= 8190) {
+    c = w(c, d) + 32768 >>> 16 | 0;
+    break i;
+   }
+   c = w(d, c >>> 16 | 0) + (w(d, c & 65535) + 32768 >>> 16 | 0) | 0;
+  }
+  h = k ? 0 - c | 0 : c;
+  c = b >> 31;
+  c = c + b ^ c;
+  j : {
+   if (d + (c >>> 8 | 0) >>> 0 <= 8190) {
+    c = w(c, d) + 32768 >>> 16 | 0;
+    break j;
+   }
+   c = w(d, c >>> 16 | 0) + (w(d, c & 65535) + 32768 >>> 16 | 0) | 0;
+  }
+  e = (b | 0) < 0 ? 0 - c | 0 : c;
+ }
+ p[f + 14 >> 1] = e + 32 >>> 6;
+ p[f + 12 >> 1] = h + 32 >>> 6;
+ Qf(a, g);
+}
+function jM(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ a : {
+  b : {
+   if (!a) {
+    if (q[b >> 2]) {
+     break b;
+    }
+    bM(q[b + 8 >> 2]);
+    return 1;
+   }
+   c = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+   d = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+   o[a | 0] = d;
+   o[a + 1 | 0] = d >>> 8;
+   o[a + 2 | 0] = d >>> 16;
+   o[a + 3 | 0] = d >>> 24;
+   o[a + 4 | 0] = c;
+   o[a + 5 | 0] = c >>> 8;
+   o[a + 6 | 0] = c >>> 16;
+   o[a + 7 | 0] = c >>> 24;
+   c = r[b + 44 | 0] | r[b + 45 | 0] << 8 | (r[b + 46 | 0] << 16 | r[b + 47 | 0] << 24);
+   d = r[b + 40 | 0] | r[b + 41 | 0] << 8 | (r[b + 42 | 0] << 16 | r[b + 43 | 0] << 24);
+   o[a + 40 | 0] = d;
+   o[a + 41 | 0] = d >>> 8;
+   o[a + 42 | 0] = d >>> 16;
+   o[a + 43 | 0] = d >>> 24;
+   o[a + 44 | 0] = c;
+   o[a + 45 | 0] = c >>> 8;
+   o[a + 46 | 0] = c >>> 16;
+   o[a + 47 | 0] = c >>> 24;
+   c = r[b + 36 | 0] | r[b + 37 | 0] << 8 | (r[b + 38 | 0] << 16 | r[b + 39 | 0] << 24);
+   d = r[b + 32 | 0] | r[b + 33 | 0] << 8 | (r[b + 34 | 0] << 16 | r[b + 35 | 0] << 24);
+   o[a + 32 | 0] = d;
+   o[a + 33 | 0] = d >>> 8;
+   o[a + 34 | 0] = d >>> 16;
+   o[a + 35 | 0] = d >>> 24;
+   o[a + 36 | 0] = c;
+   o[a + 37 | 0] = c >>> 8;
+   o[a + 38 | 0] = c >>> 16;
+   o[a + 39 | 0] = c >>> 24;
+   c = r[b + 28 | 0] | r[b + 29 | 0] << 8 | (r[b + 30 | 0] << 16 | r[b + 31 | 0] << 24);
+   d = r[b + 24 | 0] | r[b + 25 | 0] << 8 | (r[b + 26 | 0] << 16 | r[b + 27 | 0] << 24);
+   o[a + 24 | 0] = d;
+   o[a + 25 | 0] = d >>> 8;
+   o[a + 26 | 0] = d >>> 16;
+   o[a + 27 | 0] = d >>> 24;
+   o[a + 28 | 0] = c;
+   o[a + 29 | 0] = c >>> 8;
+   o[a + 30 | 0] = c >>> 16;
+   o[a + 31 | 0] = c >>> 24;
+   c = r[b + 20 | 0] | r[b + 21 | 0] << 8 | (r[b + 22 | 0] << 16 | r[b + 23 | 0] << 24);
+   d = r[b + 16 | 0] | r[b + 17 | 0] << 8 | (r[b + 18 | 0] << 16 | r[b + 19 | 0] << 24);
+   o[a + 16 | 0] = d;
+   o[a + 17 | 0] = d >>> 8;
+   o[a + 18 | 0] = d >>> 16;
+   o[a + 19 | 0] = d >>> 24;
+   o[a + 20 | 0] = c;
+   o[a + 21 | 0] = c >>> 8;
+   o[a + 22 | 0] = c >>> 16;
+   o[a + 23 | 0] = c >>> 24;
+   c = r[b + 12 | 0] | r[b + 13 | 0] << 8 | (r[b + 14 | 0] << 16 | r[b + 15 | 0] << 24);
+   d = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+   o[a + 8 | 0] = d;
+   o[a + 9 | 0] = d >>> 8;
+   o[a + 10 | 0] = d >>> 16;
+   o[a + 11 | 0] = d >>> 24;
+   o[a + 12 | 0] = c;
+   o[a + 13 | 0] = c >>> 8;
+   o[a + 14 | 0] = c >>> 16;
+   o[a + 15 | 0] = c >>> 24;
+   c = q[b >> 2] + -1 | 0;
+   if (c >>> 0 > 1) {
+    break b;
+   }
+   if (c - 1) {
+    c = a;
+    a = mZ(q[b + 8 >> 2]);
+    q[c + 8 >> 2] = a;
+    return (a | 0) != 0 | 0;
+   }
+   a = q[b + 8 >> 2];
+   if (!a) {
+    break b;
+   }
+   if (!q[a + -8 >> 2]) {
+    break a;
+   }
+   a = a + -4 | 0;
+   b = q[a >> 2];
+   if (!b) {
+    break a;
+   }
+   q[a >> 2] = b + 1;
+  }
+  return 1;
+ }
+ J(355157, 355131, 444, 355187);
+ F();
+}
+function jI(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ if (c) {
+  i = q[a + 4 >> 2];
+  k = q[a + 12 >> 2];
+  a = (e | 0) == 2;
+  m = a ? 256 : 128;
+  n = a ? 128 : 256;
+  l = 0 - e | 0;
+  while (1) {
+   g = q[b + 16 >> 2];
+   a : {
+    if (g & 16) {
+     break a;
+    }
+    j = q[b + 28 >> 2];
+    b : {
+     a = o[b + 20 | 0];
+     c : {
+      if ((a | 0) == (e | 0) | (a | 0) == (l | 0)) {
+       break c;
+      }
+      a = o[b + 21 | 0];
+      if ((a | 0) == (e | 0)) {
+       break c;
+      }
+      if ((a | 0) != (l | 0)) {
+       break b;
+      }
+     }
+     if (!a) {
+      break b;
+     }
+     if ((a | 0) == (e | 0)) {
+      a = 0;
+      if (!i) {
+       break a;
+      }
+      while (1) {
+       f = q[(a << 2) + k >> 2];
+       h = j - q[f >> 2] | 0;
+       if (!((0 - h | 0) < (d | 0) ? (h | 0) < (d | 0) : 0)) {
+        a = a + 1 | 0;
+        if ((i | 0) != (a | 0)) {
+         continue;
+        }
+        break a;
+       }
+       break;
+      }
+      q[b + 24 >> 2] = f;
+      q[b + 16 >> 2] = g | 528;
+      break a;
+     }
+     if ((a | 0) != (l | 0)) {
+      break a;
+     }
+     a = 0;
+     if (!i) {
+      break a;
+     }
+     while (1) {
+      f = q[(a << 2) + k >> 2];
+      h = (j - q[f >> 2] | 0) - q[f + 4 >> 2] | 0;
+      if (!((0 - h | 0) < (d | 0) ? (h | 0) < (d | 0) : 0)) {
+       a = a + 1 | 0;
+       if ((i | 0) != (a | 0)) {
+        continue;
+       }
+       break a;
+      }
+      break;
+     }
+     q[b + 24 >> 2] = f;
+     q[b + 16 >> 2] = g | 1040;
+     break a;
+    }
+    if (!(g & 64)) {
+     break a;
+    }
+    d : {
+     if (g & n) {
+      a = 0;
+      if (!i) {
+       break a;
+      }
+      while (1) {
+       f = q[(a << 2) + k >> 2];
+       h = j - q[f >> 2] | 0;
+       if (!((0 - h | 0) < (d | 0) ? (h | 0) < (d | 0) : 0)) {
+        a = a + 1 | 0;
+        if ((i | 0) != (a | 0)) {
+         continue;
+        }
+        break d;
+       }
+       break;
+      }
+      q[b + 24 >> 2] = f;
+      q[b + 16 >> 2] = g | 528;
+      break d;
+     }
+     if (!(g & m)) {
+      break d;
+     }
+     a = 0;
+     if (!i) {
+      break d;
+     }
+     while (1) {
+      f = q[(a << 2) + k >> 2];
+      h = (j - q[f >> 2] | 0) - q[f + 4 >> 2] | 0;
+      if (!((0 - h | 0) < (d | 0) ? (h | 0) < (d | 0) : 0)) {
+       a = a + 1 | 0;
+       if ((i | 0) != (a | 0)) {
+        continue;
+       }
+       break d;
+      }
+      break;
+     }
+     q[b + 24 >> 2] = f;
+     q[b + 16 >> 2] = g | 1040;
+    }
+    if (q[b + 24 >> 2]) {
+     break a;
+    }
+    a = 0;
+    if (!i) {
+     break a;
+    }
+    while (1) {
+     g = q[(a << 2) + k >> 2];
+     f = q[g >> 2];
+     if (!((j | 0) < (f | 0) | (j | 0) > (f + q[g + 4 >> 2] | 0))) {
+      q[b + 24 >> 2] = g;
+      break a;
+     }
+     a = a + 1 | 0;
+     if ((i | 0) != (a | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = b + 40 | 0;
+   c = c + -1 | 0;
+   if (c) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Fk(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ d = q[a + 712 >> 2];
+ q[h + 12 >> 2] = 0;
+ a : {
+  if (!d) {
+   break a;
+  }
+  f = q[d + 3092 >> 2];
+  c = 0;
+  b : {
+   if (f) {
+    break b;
+   }
+   f = Oe(q[a + 100 >> 2], 32, h + 12 | 0);
+   c = q[h + 12 >> 2];
+   if (c) {
+    break a;
+   }
+   a = 0;
+   i = f;
+   c = q[d + 1372 >> 2];
+   g = 0;
+   c : {
+    if ((c | 0) == 65535) {
+     break c;
+    }
+    if (c >>> 0 >= 391) {
+     e = c + -391 | 0;
+     g = 0;
+     if (t[d + 1356 >> 2] <= e >>> 0) {
+      break c;
+     }
+     g = q[q[d + 1360 >> 2] + (e << 2) >> 2];
+     break c;
+    }
+    e = q[d + 3084 >> 2];
+    g = 0;
+    if (!e) {
+     break c;
+    }
+    g = n[q[e + 20 >> 2]](c) | 0;
+   }
+   q[i >> 2] = g;
+   e = q[d + 1376 >> 2];
+   d : {
+    if ((e | 0) == 65535) {
+     break d;
+    }
+    if (e >>> 0 >= 391) {
+     c = e + -391 | 0;
+     if (t[d + 1356 >> 2] <= c >>> 0) {
+      break d;
+     }
+     a = q[q[d + 1360 >> 2] + (c << 2) >> 2];
+     break d;
+    }
+    c = q[d + 3084 >> 2];
+    if (!c) {
+     break d;
+    }
+    a = n[q[c + 20 >> 2]](e) | 0;
+   }
+   q[f + 4 >> 2] = a;
+   a = 0;
+   i = f;
+   c = q[d + 1384 >> 2];
+   g = 0;
+   e : {
+    if ((c | 0) == 65535) {
+     break e;
+    }
+    if (c >>> 0 >= 391) {
+     e = c + -391 | 0;
+     g = 0;
+     if (t[d + 1356 >> 2] <= e >>> 0) {
+      break e;
+     }
+     g = q[q[d + 1360 >> 2] + (e << 2) >> 2];
+     break e;
+    }
+    e = q[d + 3084 >> 2];
+    g = 0;
+    if (!e) {
+     break e;
+    }
+    g = n[q[e + 20 >> 2]](c) | 0;
+   }
+   q[i + 8 >> 2] = g;
+   e = q[d + 1388 >> 2];
+   f : {
+    if ((e | 0) == 65535) {
+     break f;
+    }
+    if (e >>> 0 >= 391) {
+     c = e + -391 | 0;
+     if (t[d + 1356 >> 2] <= c >>> 0) {
+      break f;
+     }
+     a = q[q[d + 1360 >> 2] + (c << 2) >> 2];
+     break f;
+    }
+    c = q[d + 3084 >> 2];
+    if (!c) {
+     break f;
+    }
+    a = n[q[c + 20 >> 2]](e) | 0;
+   }
+   q[f + 12 >> 2] = a;
+   c = 0;
+   e = q[d + 1392 >> 2];
+   g : {
+    if ((e | 0) == 65535) {
+     break g;
+    }
+    if (e >>> 0 >= 391) {
+     a = e + -391 | 0;
+     if (t[d + 1356 >> 2] <= a >>> 0) {
+      break g;
+     }
+     c = q[q[d + 1360 >> 2] + (a << 2) >> 2];
+     break g;
+    }
+    a = q[d + 3084 >> 2];
+    if (!a) {
+     break g;
+    }
+    c = n[q[a + 20 >> 2]](e) | 0;
+   }
+   q[f + 16 >> 2] = c;
+   q[f + 20 >> 2] = q[d + 1400 >> 2];
+   o[f + 24 | 0] = r[d + 1396 | 0];
+   p[f + 26 >> 1] = q[d + 1404 >> 2];
+   p[f + 28 >> 1] = q[d + 1408 >> 2];
+   q[d + 3092 >> 2] = f;
+   c = q[h + 12 >> 2];
+  }
+  a = q[f + 4 >> 2];
+  q[b >> 2] = q[f >> 2];
+  q[b + 4 >> 2] = a;
+  a = q[f + 28 >> 2];
+  q[b + 24 >> 2] = q[f + 24 >> 2];
+  q[b + 28 >> 2] = a;
+  a = q[f + 20 >> 2];
+  q[b + 16 >> 2] = q[f + 16 >> 2];
+  q[b + 20 >> 2] = a;
+  a = q[f + 12 >> 2];
+  q[b + 8 >> 2] = q[f + 8 >> 2];
+  q[b + 12 >> 2] = a;
+ }
+ Ca = h + 16 | 0;
+ return c | 0;
+}
+function pv(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ f = Hq(b);
+ q[a + 28 >> 2] = f;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       while (1) {
+        g : {
+         o[a + 20 | 0] = d;
+         e = q[f + 12 >> 2];
+         q[a + 4 >> 2] = e;
+         c = q[f + 16 >> 2];
+         q[a + 8 >> 2] = c + e;
+         if ((c | 0) <= -1) {
+          break g;
+         }
+         q[a + 24 >> 2] = 0;
+         g = a;
+         if (c >>> 0 > 536870910) {
+          d = 1073741823;
+         } else {
+          d = c << 3;
+          d = d >>> 0 > 16384 ? d : 16384;
+          d = d >>> 0 < 1073741823 ? d : 1073741823;
+         }
+         q[g + 12 >> 2] = d;
+         q[a >> 2] = 0;
+         if (!e) {
+          Cq(f);
+          q[a + 28 >> 2] = 0;
+          q[a + 4 >> 2] = 0;
+          q[a + 8 >> 2] = 0;
+          return b;
+         }
+         if (c >>> 0 < 4) {
+          break b;
+         }
+         q[a + 12 >> 2] = d + -1;
+         d = r[e | 0] | r[e + 1 | 0] << 8;
+         d = (d << 24 | d << 8 & 16711680) >>> 16 | 0;
+         if (d >>> 0 > 1) {
+          break e;
+         }
+         h : {
+          if (d - 1) {
+           c = qv(e, a);
+           d = q[a + 24 >> 2] != 0;
+           if (!c) {
+            break h;
+           }
+           break f;
+          }
+          c = rv(e, a);
+          d = q[a + 24 >> 2] != 0;
+          if (c) {
+           break f;
+          }
+         }
+         if (r[a + 20 | 0] | !d) {
+          break c;
+         }
+         c = Iq(b);
+         q[a + 4 >> 2] = c;
+         q[a + 8 >> 2] = c + q[b + 16 >> 2];
+         f = q[a + 28 >> 2];
+         d = 1;
+         if (c) {
+          continue;
+         }
+         break b;
+        }
+        break;
+       }
+       J(228462, 228487, 195, 228504);
+       F();
+      }
+      if (d) {
+       d = 0;
+       q[a + 24 >> 2] = 0;
+       if (t[a + 4 >> 2] > e >>> 0) {
+        break c;
+       }
+       c = q[a + 8 >> 2];
+       i : {
+        if (c >>> 0 < e >>> 0 | c - e >>> 0 < 4) {
+         break i;
+        }
+        c = q[a + 12 >> 2];
+        q[a + 12 >> 2] = c + -1;
+        if ((c | 0) < 1) {
+         break i;
+        }
+        d = 1;
+        c = r[e | 0] | r[e + 1 | 0] << 8;
+        c = (c << 24 | c << 8 & 16711680) >>> 16 | 0;
+        if (c >>> 0 > 1) {
+         break i;
+        }
+        if (c - 1) {
+         d = qv(e, a);
+         break i;
+        }
+        d = rv(e, a);
+       }
+       c = q[a + 24 >> 2];
+       Cq(q[a + 28 >> 2]);
+       q[a + 28 >> 2] = 0;
+       q[a + 4 >> 2] = 0;
+       q[a + 8 >> 2] = 0;
+       if (c) {
+        break a;
+       }
+       if (d) {
+        break d;
+       }
+       break a;
+      }
+      f = q[a + 28 >> 2];
+     }
+     Cq(f);
+     q[a + 28 >> 2] = 0;
+     q[a + 4 >> 2] = 0;
+     q[a + 8 >> 2] = 0;
+    }
+    Gq(b);
+    return b;
+   }
+   f = q[a + 28 >> 2];
+  }
+  Cq(f);
+  q[a + 28 >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+ }
+ Cq(b);
+ return 271040;
+}
+function IU(a, b, c, d) {
+ var e = 0, f = 0, g = 0;
+ a : {
+  if ((c - b | 0) < 2) {
+   break a;
+  }
+  if (!(r[b + 1 | 0] == 45 ? !r[b | 0] : 0)) {
+   q[d >> 2] = b;
+   return 0;
+  }
+  b = b + 2 | 0;
+  e = c - b | 0;
+  if ((e | 0) < 2) {
+   break a;
+  }
+  g = a + 72 | 0;
+  while (1) {
+   b : {
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         h : {
+          a = b;
+          b = r[b | 0];
+          f = b + -216 | 0;
+          if (f >>> 0 > 39) {
+           if (b) {
+            break c;
+           }
+           b = r[r[a + 1 | 0] + g | 0];
+           if (b >>> 0 > 27) {
+            break c;
+           }
+           switch (b - 2 | 0) {
+           case 5:
+            break g;
+           case 4:
+            break h;
+           case 0:
+           case 1:
+           case 2:
+           case 3:
+           case 7:
+           case 8:
+           case 9:
+           case 10:
+           case 11:
+           case 12:
+           case 13:
+           case 14:
+           case 15:
+           case 16:
+           case 17:
+           case 18:
+           case 19:
+           case 20:
+           case 21:
+           case 22:
+           case 23:
+           case 24:
+            break c;
+           case 25:
+            break d;
+           default:
+            break e;
+           }
+          }
+          switch (f - 4 | 0) {
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 28:
+          case 29:
+          case 30:
+          case 31:
+          case 32:
+          case 33:
+          case 34:
+           break c;
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+           break e;
+          case 35:
+           break f;
+          default:
+           break g;
+          }
+         }
+         if ((e | 0) < 3) {
+          return -2;
+         }
+         b = a + 3 | 0;
+         break b;
+        }
+        if ((e | 0) < 4) {
+         return -2;
+        }
+        b = a + 4 | 0;
+        break b;
+       }
+       if (r[a + 1 | 0] <= 253) {
+        break c;
+       }
+      }
+      q[d >> 2] = a;
+      return 0;
+     }
+     b = a + 2 | 0;
+     if ((c - b | 0) < 2) {
+      break a;
+     }
+     if (r[b | 0] | r[a + 3 | 0] != 45) {
+      break b;
+     }
+     b = a + 4 | 0;
+     if ((c - b | 0) < 2) {
+      break a;
+     }
+     if (!(r[a + 5 | 0] == 62 ? !r[b | 0] : 0)) {
+      q[d >> 2] = b;
+      return 0;
+     }
+     q[d >> 2] = a + 6;
+     return 13;
+    }
+    b = a + 2 | 0;
+   }
+   e = c - b | 0;
+   if ((e | 0) > 1) {
+    continue;
+   }
+   break;
+  }
+ }
+ return -1;
+}
+function mU(a, b, c, d) {
+ var e = 0, f = 0, g = 0;
+ a : {
+  if ((c - b | 0) < 2) {
+   break a;
+  }
+  if (!(r[b | 0] == 45 ? !r[b + 1 | 0] : 0)) {
+   q[d >> 2] = b;
+   return 0;
+  }
+  b = b + 2 | 0;
+  e = c - b | 0;
+  if ((e | 0) < 2) {
+   break a;
+  }
+  g = a + 72 | 0;
+  while (1) {
+   b : {
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         h : {
+          a = b;
+          b = r[b + 1 | 0];
+          f = b + -216 | 0;
+          if (f >>> 0 > 39) {
+           if (b) {
+            break c;
+           }
+           b = r[r[a | 0] + g | 0];
+           if (b >>> 0 > 27) {
+            break c;
+           }
+           switch (b - 2 | 0) {
+           case 5:
+            break g;
+           case 4:
+            break h;
+           case 0:
+           case 1:
+           case 2:
+           case 3:
+           case 7:
+           case 8:
+           case 9:
+           case 10:
+           case 11:
+           case 12:
+           case 13:
+           case 14:
+           case 15:
+           case 16:
+           case 17:
+           case 18:
+           case 19:
+           case 20:
+           case 21:
+           case 22:
+           case 23:
+           case 24:
+            break c;
+           case 25:
+            break d;
+           default:
+            break e;
+           }
+          }
+          switch (f - 4 | 0) {
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+          case 12:
+          case 13:
+          case 14:
+          case 15:
+          case 16:
+          case 17:
+          case 18:
+          case 19:
+          case 20:
+          case 21:
+          case 22:
+          case 23:
+          case 24:
+          case 25:
+          case 26:
+          case 27:
+          case 28:
+          case 29:
+          case 30:
+          case 31:
+          case 32:
+          case 33:
+          case 34:
+           break c;
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+           break e;
+          case 35:
+           break f;
+          default:
+           break g;
+          }
+         }
+         if ((e | 0) < 3) {
+          return -2;
+         }
+         b = a + 3 | 0;
+         break b;
+        }
+        if ((e | 0) < 4) {
+         return -2;
+        }
+        b = a + 4 | 0;
+        break b;
+       }
+       if (r[a | 0] <= 253) {
+        break c;
+       }
+      }
+      q[d >> 2] = a;
+      return 0;
+     }
+     b = a + 2 | 0;
+     if ((c - b | 0) < 2) {
+      break a;
+     }
+     if (r[a + 3 | 0] | r[b | 0] != 45) {
+      break b;
+     }
+     b = a + 4 | 0;
+     if ((c - b | 0) < 2) {
+      break a;
+     }
+     if (!(r[b | 0] == 62 ? !r[a + 5 | 0] : 0)) {
+      q[d >> 2] = b;
+      return 0;
+     }
+     q[d >> 2] = a + 6;
+     return 13;
+    }
+    b = a + 2 | 0;
+   }
+   e = c - b | 0;
+   if ((e | 0) > 1) {
+    continue;
+   }
+   break;
+  }
+ }
+ return -1;
+}
+function iE(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = N$(1, 140);
+ if (d) {
+  e = 267152;
+  q[d >> 2] = 267152;
+  h = d;
+  a : {
+   b : {
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         h : {
+          c = q[a + 4 >> 2];
+          if ((c | 0) <= 1298954604) {
+           if ((c | 0) <= 1198877297) {
+            if ((c | 0) == 1113943655) {
+             break h;
+            }
+            b = 267180;
+            if ((c | 0) == 1147500129) {
+             break b;
+            }
+            break a;
+           }
+           if ((c | 0) == 1198877298) {
+            break f;
+           }
+           if ((c | 0) == 1198879349) {
+            break g;
+           }
+           if ((c | 0) != 1265525857) {
+            break a;
+           }
+           b = 267376;
+           break b;
+          }
+          if ((c | 0) <= 1399418471) {
+           if ((c | 0) == 1298954605) {
+            break d;
+           }
+           if ((c | 0) != 1332902241) {
+            break a;
+           }
+           b = 267292;
+           break b;
+          }
+          if ((c | 0) == 1399418472) {
+           break c;
+          }
+          if ((c | 0) == 1415671148) {
+           break e;
+          }
+          if ((c | 0) != 1415933045) {
+           break a;
+          }
+          b = 267348;
+          break b;
+         }
+         b = 267208;
+         break b;
+        }
+        b = 267236;
+        break b;
+       }
+       b = 267264;
+       break b;
+      }
+      b = 267320;
+      break b;
+     }
+     b = 267404;
+     break b;
+    }
+    b = 267432;
+   }
+   q[h >> 2] = b;
+   e = b;
+  }
+  f = r[e + 4 | 0] ? r[a + 24 | 0] != 50 : f;
+  o[d + 4 | 0] = f;
+  b = q[160650];
+  if (!b) {
+   vq();
+   f = r[d + 4 | 0];
+   b = q[160650];
+  }
+  q[d + 8 >> 2] = -1;
+  o[d + 5 | 0] = b >>> 2 & 1;
+  b = 0;
+  e = a + 24 | 0;
+  b = f & 255 ? b : q[a + 4 >> 2] != 1298954605;
+  jE(d + 12 | 0, e, 1919969382, b);
+  jE(d + 24 | 0, e, 1886545254, b);
+  jE(d + 36 | 0, e, 1651275622, b);
+  jE(d + 48 | 0, e, 1886614630, b);
+  jE(d + 60 | 0, e, 1986098293, b);
+  h = d + 72 | 0;
+  while (1) {
+   b = 0;
+   i : {
+    if (!(2548 >>> g & 1)) {
+     break i;
+    }
+    f = q[a + 44 >> 2];
+    if ((f | 0) < 1) {
+     break i;
+    }
+    e = q[(g << 3) + 263968 >> 2];
+    k = q[a + 48 >> 2];
+    b = f + -1 | 0;
+    f = 0;
+    j : {
+     while (1) {
+      c = b + f >>> 1 | 0;
+      i = w(c, 36) + k | 0;
+      j = q[i >> 2];
+      k : {
+       if (j >>> 0 > e >>> 0) {
+        b = c + -1 | 0;
+        break k;
+       }
+       if (j >>> 0 >= e >>> 0) {
+        break j;
+       }
+       f = c + 1 | 0;
+      }
+      if ((f | 0) <= (b | 0)) {
+       continue;
+      }
+      break;
+     }
+     b = 0;
+     break i;
+    }
+    b = q[i + 28 >> 2];
+   }
+   q[(g << 2) + h >> 2] = b;
+   g = g + 1 | 0;
+   if ((g | 0) != 17) {
+    continue;
+   }
+   break;
+  }
+ }
+ return d | 0;
+}
+function cr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ e = Ca + -64 | 0;
+ Ca = e;
+ q[b + 60 >> 2] = 0;
+ a : {
+  c = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+  i = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  if (i) {
+   l = i + -1 | 0;
+   a = a + 8 | 0;
+   while (1) {
+    c = q[b + 12 >> 2];
+    d = q[c + 48 >> 2];
+    g = o[a + 4 | 0];
+    b : {
+     if ((d & -2) == 4 ^ (g | 0) > -1) {
+      break b;
+     }
+     f = q[b + 4 >> 2];
+     q[e + 48 >> 2] = h;
+     q[e + 40 >> 2] = 114;
+     q[e + 44 >> 2] = 120;
+     q[e + 32 >> 2] = 107;
+     q[e + 36 >> 2] = 101;
+     if (!Ot(c, f, 228272, e + 32 | 0)) {
+      break b;
+     }
+     g = (g & 16) >>> 4 ^ (d & -3) == 5;
+     c : {
+      if (j) {
+       j = 1;
+       break c;
+      }
+      j = 0;
+      if (!(r[a + 4 | 0] & 64)) {
+       break c;
+      }
+      j = 1;
+      c = q[b + 12 >> 2];
+      d = q[c + 76 >> 2];
+      if (!d) {
+       break c;
+      }
+      f = q[c + 96 >> 2];
+      c = 0;
+      while (1) {
+       h = f + w(c, 20) | 0;
+       o[h + 18 | 0] = 2;
+       p[h + 16 >> 1] = (q[q[b + 12 >> 2] + 48 >> 2] & -3) == 4 ? -1 : 1;
+       c = c + 1 | 0;
+       if ((d | 0) != (c | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (g) {
+      AG(q[b + 12 >> 2]);
+     }
+     c = q[b + 44 >> 2];
+     d = q[c + 12 >> 2];
+     q[b + 20 >> 2] = d;
+     c = q[c + 16 >> 2];
+     f = c + d | 0;
+     q[b + 24 >> 2] = f;
+     if ((c | 0) <= -1) {
+      break a;
+     }
+     c = k >>> 0 < l >>> 0 ? a : 0;
+     d : {
+      if (!c) {
+       break d;
+      }
+      if (!(f >>> 0 > c >>> 0 ? c >>> 0 >= d >>> 0 : 0)) {
+       q[b + 20 >> 2] = 0;
+       q[b + 24 >> 2] = 0;
+       break d;
+      }
+      q[b + 20 >> 2] = c;
+      d = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+      d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+      f = f - c | 0;
+      q[b + 24 >> 2] = c + (f >>> 0 > d >>> 0 ? d : f);
+     }
+     c = dr(a, b);
+     d = q[b + 44 >> 2];
+     f = q[d + 12 >> 2];
+     q[b + 20 >> 2] = f;
+     d = q[d + 16 >> 2];
+     q[b + 24 >> 2] = d + f;
+     if ((d | 0) <= -1) {
+      break a;
+     }
+     if (g) {
+      AG(q[b + 12 >> 2]);
+     }
+     m = c | m;
+     c = q[b + 4 >> 2];
+     d = q[b + 12 >> 2];
+     q[e + 16 >> 2] = q[b + 60 >> 2];
+     q[e + 8 >> 2] = 114;
+     q[e + 12 >> 2] = 120;
+     q[e >> 2] = 107;
+     q[e + 4 >> 2] = 101;
+     Ot(d, c, 228299, e);
+    }
+    c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+    h = q[b + 60 >> 2] + 1 | 0;
+    q[b + 60 >> 2] = h;
+    a = (c << 8 & 16711680 | c << 24 | (c >>> 8 & 65280 | c >>> 24)) + a | 0;
+    k = k + 1 | 0;
+    if ((k | 0) != (i | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  Ca = e - -64 | 0;
+  return;
+ }
+ J(228144, 228169, 195, 228186);
+ F();
+}
+function zj(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0;
+ l = Ca + -64 | 0;
+ Ca = l;
+ m = 6;
+ g = q[a + 532 >> 2];
+ a : {
+  if (!g) {
+   break a;
+  }
+  e = q[g + 4 >> 2];
+  p = e >>> 0 < b >>> 0 ? e : b;
+  b : {
+   if (!e) {
+    e = 0;
+    break b;
+   }
+   while (1) {
+    b = w(i, 12) + g | 0;
+    n = b + 88 | 0;
+    f = q[b + 96 >> 2];
+    j = q[b + 92 >> 2];
+    c : {
+     if (i >>> 0 < p >>> 0) {
+      b = r[n | 0];
+      d = q[(i << 2) + c >> 2];
+      break c;
+     }
+     b = r[n | 0];
+     d = (q[(j + (b << 2) | 0) + -4 >> 2] - q[j >> 2] | 0) / 2 | 0;
+    }
+    d : {
+     e : {
+      f : {
+       if (b & 255) {
+        b = 0;
+        h = -1;
+        g : {
+         while (1) {
+          k = b << 2;
+          o = q[k + j >> 2];
+          if ((o | 0) == (d | 0)) {
+           break e;
+          }
+          if ((d | 0) < (o | 0)) {
+           break g;
+          }
+          h = b;
+          b = b + 1 | 0;
+          k = r[n | 0];
+          if (b >>> 0 < k >>> 0) {
+           continue;
+          }
+          break;
+         }
+         b = q[((k << 2) + f | 0) + -4 >> 2];
+         break d;
+        }
+        if ((h | 0) > -1) {
+         break f;
+        }
+       }
+       b = q[f >> 2];
+       break d;
+      }
+      e = d;
+      b = h << 2;
+      d = q[b + j >> 2];
+      b = ue(e - d | 0, q[f + k >> 2] - q[b + f >> 2] | 0, o - d | 0);
+      e = q[g + 4 >> 2];
+      break d;
+     }
+     b = q[f + k >> 2];
+    }
+    q[(i << 2) + l >> 2] = b;
+    i = i + 1 | 0;
+    if (i >>> 0 < e >>> 0) {
+     continue;
+    }
+    break;
+   }
+   g = q[a + 532 >> 2];
+   if (!g) {
+    break a;
+   }
+  }
+  m = -1;
+  if (!q[g >> 2]) {
+   break a;
+  }
+  h = q[g + 4 >> 2];
+  j = h >>> 0 < e >>> 0 ? h : e;
+  i = 0;
+  c = h;
+  f = 0;
+  while (1) {
+   e = 65536;
+   b = 0;
+   d = 0;
+   h : {
+    if (!c) {
+     break h;
+    }
+    while (1) {
+     i : {
+      if (b >>> 0 >= j >>> 0) {
+       e = e >> 1;
+       break i;
+      }
+      d = q[(b << 2) + l >> 2];
+      d = f >>> b & 1 ? d : 65536 - d | 0;
+      if ((d | 0) < 1) {
+       e = 0;
+       d = c;
+       break h;
+      }
+      if ((d | 0) > 65535) {
+       break i;
+      }
+      e = Ee(e, d);
+      h = q[g + 4 >> 2];
+     }
+     c = h;
+     b = b + 1 | 0;
+     d = h;
+     if (b >>> 0 < d >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = q[g + 136 >> 2] + (f << 2) | 0;
+   j : {
+    if (q[b >> 2] == (e | 0)) {
+     c = d;
+     f = f + 1 | 0;
+     if (f >>> 0 < t[g >> 2]) {
+      continue;
+     }
+     if (!(i & 255)) {
+      break a;
+     }
+     break j;
+    }
+    q[b >> 2] = e;
+    i = 1;
+    c = d;
+    f = f + 1 | 0;
+    if (f >>> 0 < t[g >> 2]) {
+     continue;
+    }
+   }
+   break;
+  }
+  b = a;
+  a = q[a + 8 >> 2];
+  q[b + 8 >> 2] = p ? a | 32768 : a & -32769;
+  m = 0;
+ }
+ Ca = l - -64 | 0;
+ return m | 0;
+}
+function TB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       while (1) {
+        o[a + 20 | 0] = c;
+        e = q[d + 12 >> 2];
+        q[a + 4 >> 2] = e;
+        f = q[d + 16 >> 2];
+        q[a + 8 >> 2] = f + e;
+        if ((f | 0) <= -1) {
+         break a;
+        }
+        q[a + 24 >> 2] = 0;
+        g = a;
+        if (f >>> 0 > 536870910) {
+         c = 1073741823;
+        } else {
+         c = f << 3;
+         c = c >>> 0 > 16384 ? c : 16384;
+         c = c >>> 0 < 1073741823 ? c : 1073741823;
+        }
+        q[g + 12 >> 2] = c;
+        q[a >> 2] = 0;
+        if (!e) {
+         Cq(d);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         break b;
+        }
+        if (f >>> 0 <= 7) {
+         break d;
+        }
+        q[a + 12 >> 2] = c + -1;
+        if ((r[e + 1 | 0] & 254 | r[e | 0] << 8) != 2) {
+         break d;
+        }
+        q[h + 8 >> 2] = e;
+        g = e + 4 | 0;
+        d = VB(g, a, h + 8 | 0);
+        c = q[a + 24 >> 2];
+        g : {
+         if (d) {
+          if (!c) {
+           break g;
+          }
+          c = 0;
+          q[a + 24 >> 2] = 0;
+          h : {
+           i : {
+            j : {
+             if (t[a + 4 >> 2] > e >>> 0) {
+              break j;
+             }
+             d = q[a + 8 >> 2];
+             if (d >>> 0 < e >>> 0) {
+              break j;
+             }
+             if (d - e >>> 0 > 7) {
+              break i;
+             }
+            }
+            d = 1;
+            break h;
+           }
+           f = q[a + 12 >> 2];
+           q[a + 12 >> 2] = f + -1;
+           d = 1;
+           if ((r[e + 1 | 0] & 254 | r[e | 0] << 8) != 2 | (f | 0) < 1) {
+            break h;
+           }
+           q[h + 12 >> 2] = e;
+           d = VB(g, a, h + 12 | 0) ^ 1;
+           c = q[a + 24 >> 2] != 0;
+          }
+          Cq(q[a + 28 >> 2]);
+          q[a + 28 >> 2] = 0;
+          q[a + 4 >> 2] = 0;
+          q[a + 8 >> 2] = 0;
+          if (d) {
+           break c;
+          }
+          if (!c) {
+           break f;
+          }
+          break c;
+         }
+         if (r[a + 20 | 0] | !c) {
+          break e;
+         }
+         g = Iq(b);
+         q[a + 4 >> 2] = g;
+         q[a + 8 >> 2] = g + q[b + 16 >> 2];
+         d = q[a + 28 >> 2];
+         c = 1;
+         if (g) {
+          continue;
+         }
+         break d;
+        }
+        break;
+       }
+       Cq(q[a + 28 >> 2]);
+       q[a + 28 >> 2] = 0;
+       q[a + 4 >> 2] = 0;
+       q[a + 8 >> 2] = 0;
+      }
+      Gq(b);
+      break b;
+     }
+     d = q[a + 28 >> 2];
+    }
+    Cq(d);
+    q[a + 28 >> 2] = 0;
+    q[a + 4 >> 2] = 0;
+    q[a + 8 >> 2] = 0;
+   }
+   Cq(b);
+   b = 271040;
+  }
+  Ca = h + 16 | 0;
+  return b;
+ }
+ J(242576, 242601, 195, 242618);
+ F();
+}
+function gg(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ if (!a) {
+  return;
+ }
+ a : {
+  if (!b | q[b + 16 >> 2] > 131082) {
+   break a;
+  }
+  e = q[a + 16 >> 2];
+  if (e) {
+   c = q[b + 8 >> 2];
+   b : {
+    while (1) {
+     f = q[((d << 2) + a | 0) + 20 >> 2];
+     g = q[f >> 2];
+     if (iZ(q[g + 8 >> 2], c)) {
+      d = d + 1 | 0;
+      if (d >>> 0 < e >>> 0) {
+       continue;
+      }
+      break b;
+     }
+     break;
+    }
+    if (q[b + 12 >> 2] <= q[g + 12 >> 2]) {
+     break a;
+    }
+    hg(a, f);
+    e = q[a + 16 >> 2];
+   }
+   if (e >>> 0 > 31) {
+    break a;
+   }
+  }
+  e = 0;
+  f = q[a >> 2];
+  d = q[b + 4 >> 2];
+  c : {
+   if ((d | 0) <= 0) {
+    if (!d) {
+     break c;
+    }
+    break a;
+   }
+   e = n[q[f + 4 >> 2]](f, d) | 0;
+   if (!e) {
+    return;
+   }
+   Z$(e, 0, d);
+  }
+  q[e + 8 >> 2] = f;
+  q[e + 4 >> 2] = a;
+  q[e >> 2] = b;
+  d : {
+   e : {
+    if (r[b | 0] & 2) {
+     d = q[a >> 2];
+     c = n[q[d + 4 >> 2]](d, 12) | 0;
+     if (!c) {
+      break d;
+     }
+     o[c | 0] = 0;
+     o[c + 1 | 0] = 0;
+     o[c + 2 | 0] = 0;
+     o[c + 3 | 0] = 0;
+     o[c + 4 | 0] = 0;
+     o[c + 5 | 0] = 0;
+     o[c + 6 | 0] = 0;
+     o[c + 7 | 0] = 0;
+     o[c + 8 | 0] = 0;
+     o[c + 9 | 0] = 0;
+     o[c + 10 | 0] = 0;
+     o[c + 11 | 0] = 0;
+     g = q[e >> 2];
+     q[e + 12 >> 2] = g;
+     h = q[g + 36 >> 2];
+     q[e + 16 >> 2] = h;
+     f : {
+      if ((h | 0) != 1869968492) {
+       break f;
+      }
+      h = q[q[g + 56 >> 2] + 4 >> 2];
+      if (!h) {
+       break f;
+      }
+      if (n[h](d, e + 52 | 0)) {
+       break e;
+      }
+      q[e + 56 >> 2] = q[q[g + 56 >> 2] + 16 >> 2];
+      q[e + 60 >> 2] = q[g + 40 >> 2];
+     }
+     q[c + 8 >> 2] = e;
+     d = q[a + 152 >> 2];
+     q[c >> 2] = d;
+     q[c + 4 >> 2] = 0;
+     g : {
+      if (d) {
+       q[d + 4 >> 2] = c;
+       d = q[a + 148 >> 2];
+       break g;
+      }
+      q[a + 148 >> 2] = c;
+      d = c;
+     }
+     q[a + 152 >> 2] = c;
+     h : {
+      if (d) {
+       while (1) {
+        c = q[d + 8 >> 2];
+        if (q[c + 16 >> 2] == 1869968492) {
+         break h;
+        }
+        d = q[d + 4 >> 2];
+        if (d) {
+         continue;
+        }
+        break;
+       }
+      }
+      c = 0;
+     }
+     q[a + 156 >> 2] = c;
+    }
+    d = q[e >> 2];
+    c = q[d >> 2];
+    if (c & 4) {
+     q[a + 160 >> 2] = e;
+    }
+    if (c & 1) {
+     q[e + 12 >> 2] = d;
+    }
+    b = q[b + 24 >> 2];
+    if (b) {
+     if (n[b](e)) {
+      break d;
+     }
+    }
+    b = q[a + 16 >> 2];
+    q[a + 16 >> 2] = b + 1;
+    q[((b << 2) + a | 0) + 20 >> 2] = e;
+    return;
+   }
+   n[q[d + 8 >> 2]](d, c);
+  }
+  i : {
+   if (!(r[q[e >> 2]] & 2)) {
+    break i;
+   }
+   a = q[e + 12 >> 2];
+   if (!a | q[a + 36 >> 2] != 1869968492) {
+    break i;
+   }
+   b = q[e + 52 >> 2];
+   if (!b) {
+    break i;
+   }
+   n[q[q[a + 56 >> 2] + 20 >> 2]](b);
+  }
+  n[q[f + 8 >> 2]](f, e);
+ }
+}
+function AT(a, b, c, d, e, f, g, h, i, j, k) {
+ var l = 0, m = 0, p = 0, r = 0, s = 0, t = 0;
+ l = Ca - 32 | 0;
+ Ca = l;
+ q[l + 12 >> 2] = 0;
+ q[l + 8 >> 2] = 0;
+ q[l + 4 >> 2] = 0;
+ m = d;
+ d = q[c + 64 >> 2];
+ m = m + w(d, 5) | 0;
+ q[l + 16 >> 2] = m;
+ a : {
+  b : {
+   r = m;
+   m = e - (d << 1) | 0;
+   if (BT(c, r, m, l + 8 | 0, l + 4 | 0, l + 12 | 0, l + 16 | 0)) {
+    e = q[l + 8 >> 2];
+    if (e) {
+     break b;
+    }
+   }
+   q[f >> 2] = q[l + 16 >> 2];
+   break a;
+  }
+  c : {
+   d : {
+    e : {
+     d = q[l + 4 >> 2];
+     f : {
+      if (!n[q[c + 24 >> 2]](c, e, d, 494268)) {
+       if (b) {
+        break f;
+       }
+       q[f >> 2] = e;
+       break a;
+      }
+      if (g) {
+       q[g >> 2] = q[l + 12 >> 2];
+      }
+      g : {
+       if (!h) {
+        e = q[l + 16 >> 2];
+        break g;
+       }
+       e = q[l + 16 >> 2];
+       q[h >> 2] = e;
+      }
+      if (!BT(c, e, m, l + 8 | 0, l + 4 | 0, l + 12 | 0, l + 16 | 0)) {
+       q[f >> 2] = q[l + 16 >> 2];
+       break a;
+      }
+      e = q[l + 8 >> 2];
+      if (!e) {
+       break e;
+      }
+      d = q[l + 4 >> 2];
+     }
+     if (!n[q[c + 24 >> 2]](c, e, d, 494276)) {
+      break c;
+     }
+     d = q[l + 12 >> 2];
+     q[l + 28 >> 2] = d;
+     q[l + 24 >> 2] = l + 23;
+     n[q[c + 56 >> 2]](c, l + 28 | 0, m, l + 24 | 0, l + 24 | 0) | 0;
+     if ((o[l + 23 | 0] & -33) + -65 >>> 0 < 26 ? q[l + 24 >> 2] != (l + 23 | 0) : 0) {
+      break d;
+     }
+     q[f >> 2] = d;
+     break a;
+    }
+    if (!b) {
+     p = 1;
+     break a;
+    }
+    q[f >> 2] = q[l + 16 >> 2];
+    break a;
+   }
+   if (i) {
+    q[i >> 2] = d;
+   }
+   e = q[l + 16 >> 2];
+   if (j) {
+    s = j, t = n[a](c, d, e - q[c + 64 >> 2] | 0) | 0, q[s >> 2] = t;
+   }
+   if (!BT(c, e, m, l + 8 | 0, l + 4 | 0, l + 12 | 0, l + 16 | 0)) {
+    q[f >> 2] = q[l + 16 >> 2];
+    break a;
+   }
+   e = q[l + 8 >> 2];
+   if (!e) {
+    p = 1;
+    break a;
+   }
+   d = q[l + 4 >> 2];
+  }
+  if (!(n[q[c + 24 >> 2]](c, e, d, 494285) | 0 ? !b : 0)) {
+   q[f >> 2] = e;
+   break a;
+  }
+  h : {
+   a = q[l + 12 >> 2];
+   e = q[l + 16 >> 2];
+   i : {
+    if (n[q[c + 24 >> 2]](c, a, e - q[c + 64 >> 2] | 0, 494296)) {
+     if (!k) {
+      break i;
+     }
+     q[k >> 2] = 1;
+     break i;
+    }
+    if (!n[q[c + 24 >> 2]](c, a, e - q[c + 64 >> 2] | 0, 494300)) {
+     break h;
+    }
+    if (!k) {
+     break i;
+    }
+    q[k >> 2] = 0;
+   }
+   a = l + 24 | 0;
+   while (1) {
+    q[l + 28 >> 2] = e;
+    q[l + 24 >> 2] = l + 23;
+    n[q[c + 56 >> 2]](c, l + 28 | 0, m, l + 24 | 0, a) | 0;
+    b = (q[l + 24 >> 2] == (l + 23 | 0) ? -1 : o[l + 23 | 0]) + -9 | 0;
+    if (!(b >>> 0 > 23 | !(1 << b & 8388627))) {
+     e = q[c + 64 >> 2] + e | 0;
+     continue;
+    }
+    break;
+   }
+   q[l + 16 >> 2] = e;
+   if ((e | 0) == (m | 0)) {
+    p = 1;
+    break a;
+   }
+   q[f >> 2] = e;
+   break a;
+  }
+  q[f >> 2] = a;
+ }
+ Ca = l + 32 | 0;
+ return p;
+}
+function fB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       while (1) {
+        o[a + 20 | 0] = c;
+        e = q[d + 12 >> 2];
+        q[a + 4 >> 2] = e;
+        f = q[d + 16 >> 2];
+        q[a + 8 >> 2] = f + e;
+        if ((f | 0) <= -1) {
+         break a;
+        }
+        q[a + 24 >> 2] = 0;
+        g = a;
+        if (f >>> 0 > 536870910) {
+         c = 1073741823;
+        } else {
+         c = f << 3;
+         c = c >>> 0 > 16384 ? c : 16384;
+         c = c >>> 0 < 1073741823 ? c : 1073741823;
+        }
+        q[g + 12 >> 2] = c;
+        q[a >> 2] = 0;
+        if (!e) {
+         Cq(d);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         break b;
+        }
+        if (f >>> 0 <= 7) {
+         break d;
+        }
+        q[a + 12 >> 2] = c + -1;
+        if (!(r[e + 1 | 0] | r[e | 0] << 8)) {
+         break d;
+        }
+        q[h + 8 >> 2] = e;
+        g = e + 4 | 0;
+        d = gB(g, a, h + 8 | 0);
+        c = q[a + 24 >> 2];
+        g : {
+         if (d) {
+          if (!c) {
+           break g;
+          }
+          c = 0;
+          q[a + 24 >> 2] = 0;
+          h : {
+           i : {
+            j : {
+             if (t[a + 4 >> 2] > e >>> 0) {
+              break j;
+             }
+             d = q[a + 8 >> 2];
+             if (d >>> 0 < e >>> 0) {
+              break j;
+             }
+             if (d - e >>> 0 > 7) {
+              break i;
+             }
+            }
+            d = 1;
+            break h;
+           }
+           f = q[a + 12 >> 2];
+           q[a + 12 >> 2] = f + -1;
+           d = 1;
+           if (!(r[e + 1 | 0] | r[e | 0] << 8) | (f | 0) < 1) {
+            break h;
+           }
+           q[h + 12 >> 2] = e;
+           d = gB(g, a, h + 12 | 0) ^ 1;
+           c = q[a + 24 >> 2] != 0;
+          }
+          Cq(q[a + 28 >> 2]);
+          q[a + 28 >> 2] = 0;
+          q[a + 4 >> 2] = 0;
+          q[a + 8 >> 2] = 0;
+          if (d) {
+           break c;
+          }
+          if (!c) {
+           break f;
+          }
+          break c;
+         }
+         if (r[a + 20 | 0] | !c) {
+          break e;
+         }
+         g = Iq(b);
+         q[a + 4 >> 2] = g;
+         q[a + 8 >> 2] = g + q[b + 16 >> 2];
+         d = q[a + 28 >> 2];
+         c = 1;
+         if (g) {
+          continue;
+         }
+         break d;
+        }
+        break;
+       }
+       Cq(q[a + 28 >> 2]);
+       q[a + 28 >> 2] = 0;
+       q[a + 4 >> 2] = 0;
+       q[a + 8 >> 2] = 0;
+      }
+      Gq(b);
+      break b;
+     }
+     d = q[a + 28 >> 2];
+    }
+    Cq(d);
+    q[a + 28 >> 2] = 0;
+    q[a + 4 >> 2] = 0;
+    q[a + 8 >> 2] = 0;
+   }
+   Cq(b);
+   b = 271040;
+  }
+  Ca = h + 16 | 0;
+  return b;
+ }
+ J(242576, 242601, 195, 242618);
+ F();
+}
+function IP(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ c = Ca - 112 | 0;
+ Ca = c;
+ a : {
+  if (!a | !r[a | 0]) {
+   break a;
+  }
+  cT();
+  b : {
+   c : {
+    d : {
+     e : {
+      if (!$P(a, 481036)) {
+       break e;
+      }
+      if (!$P(a, 481038)) {
+       break e;
+      }
+      if (!$P(a, 481046)) {
+       break e;
+      }
+      if ($P(a, 481053)) {
+       break d;
+      }
+     }
+     b = mZ(481059);
+     break c;
+    }
+    f : {
+     d = mZ(a);
+     if (d) {
+      b = eZ(d, 64);
+      g : {
+       if (!b) {
+        b = 0;
+        g = 0;
+        break g;
+       }
+       o[b | 0] = 0;
+       b = b + 1 | 0;
+       g = g0(b);
+      }
+      e = eZ(d, 46);
+      h : {
+       if (!e) {
+        f = b;
+        break h;
+       }
+       o[e | 0] = 0;
+       if (!b) {
+        break h;
+       }
+       f = e + 1 | 0;
+       _$(f, b, g + 1 | 0);
+      }
+      i : {
+       j : {
+        b = eZ(d, 95);
+        if (b) {
+         break j;
+        }
+        b = eZ(d, 45);
+        if (b) {
+         break j;
+        }
+        e = 0;
+        h = 0;
+        break i;
+       }
+       o[b | 0] = 0;
+       e = b + 1 | 0;
+       h = g0(e);
+      }
+      if ((g0(d) & -2) != 2) {
+       q[c + 96 >> 2] = a;
+       b = 0;
+       j_(q[126919], 481062, c + 96 | 0);
+       break f;
+      }
+      if (!(!e | (h & -2) == 2 | (r[e | 0] == 122 ? h >>> 0 <= 4 : 0))) {
+       q[c + 80 >> 2] = a;
+       b = 0;
+       j_(q[126919], 481121, c + 80 | 0);
+       M$(d);
+       break c;
+      }
+      if (e) {
+       o[e + -1 | 0] = 45;
+      }
+      if (f) {
+       o[f + -1 | 0] = 64;
+      }
+      b = ZP(d);
+      if (!b) {
+       b = 0;
+       M$(d);
+       break c;
+      }
+      k : {
+       l : {
+        m : {
+         if (e) {
+          if (r[643389] & 8) {
+           q[c + 64 >> 2] = d;
+           d0(481178, c - -64 | 0);
+          }
+          if ((JP(d) | 0) > -1) {
+           break k;
+          }
+          _$(e + -1 | 0, e + h | 0, g ? g + 2 | 0 : 1);
+          if (f) {
+           break m;
+          }
+          break l;
+         }
+         e = f;
+         if (!e) {
+          break l;
+         }
+        }
+        if (r[643389] & 8) {
+         q[c + 48 >> 2] = d;
+         d0(481178, c + 48 | 0);
+        }
+        if ((JP(d) | 0) > -1) {
+         break k;
+        }
+        o[e + -1 | 0] = 0;
+       }
+       if (r[643389] & 8) {
+        q[c + 32 >> 2] = d;
+        d0(481178, c + 32 | 0);
+       }
+       if ((JP(d) | 0) < 0) {
+        break f;
+       }
+      }
+      M$(b);
+      b = d;
+      break c;
+     }
+     if (!(r[643389] & 8)) {
+      break a;
+     }
+     break b;
+    }
+    M$(d);
+   }
+   if (!(r[643389] & 8)) {
+    break a;
+   }
+   if (!b) {
+    break b;
+   }
+   q[c + 20 >> 2] = b;
+   q[c + 16 >> 2] = a;
+   d0(481213, c + 16 | 0);
+   break a;
+  }
+  q[c >> 2] = a;
+  d0(481235, c);
+  b = 0;
+ }
+ Ca = c + 112 | 0;
+ return b;
+}
+function FF(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       while (1) {
+        o[a + 20 | 0] = c;
+        e = q[d + 12 >> 2];
+        q[a + 4 >> 2] = e;
+        f = q[d + 16 >> 2];
+        q[a + 8 >> 2] = f + e;
+        if ((f | 0) <= -1) {
+         break a;
+        }
+        q[a + 24 >> 2] = 0;
+        g = a;
+        if (f >>> 0 > 536870910) {
+         c = 1073741823;
+        } else {
+         c = f << 3;
+         c = c >>> 0 > 16384 ? c : 16384;
+         c = c >>> 0 < 1073741823 ? c : 1073741823;
+        }
+        q[g + 12 >> 2] = c;
+        q[a >> 2] = 0;
+        if (!e) {
+         Cq(d);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         break b;
+        }
+        if (f >>> 0 <= 3) {
+         break d;
+        }
+        q[a + 12 >> 2] = c + -1;
+        if (r[e + 1 | 0] | r[e | 0] << 8) {
+         break d;
+        }
+        q[h + 8 >> 2] = e;
+        g = e + 2 | 0;
+        d = OF(g, a, h + 8 | 0);
+        c = q[a + 24 >> 2];
+        g : {
+         if (d) {
+          if (!c) {
+           break g;
+          }
+          c = 0;
+          q[a + 24 >> 2] = 0;
+          h : {
+           i : {
+            j : {
+             if (t[a + 4 >> 2] > e >>> 0) {
+              break j;
+             }
+             d = q[a + 8 >> 2];
+             if (d >>> 0 < e >>> 0) {
+              break j;
+             }
+             if (d - e >>> 0 > 3) {
+              break i;
+             }
+            }
+            d = 1;
+            break h;
+           }
+           f = q[a + 12 >> 2];
+           q[a + 12 >> 2] = f + -1;
+           d = 1;
+           if (r[e + 1 | 0] | r[e | 0] << 8 | (f | 0) < 1) {
+            break h;
+           }
+           q[h + 12 >> 2] = e;
+           d = OF(g, a, h + 12 | 0) ^ 1;
+           c = q[a + 24 >> 2] != 0;
+          }
+          Cq(q[a + 28 >> 2]);
+          q[a + 28 >> 2] = 0;
+          q[a + 4 >> 2] = 0;
+          q[a + 8 >> 2] = 0;
+          if (d) {
+           break c;
+          }
+          if (!c) {
+           break f;
+          }
+          break c;
+         }
+         if (r[a + 20 | 0] | !c) {
+          break e;
+         }
+         g = Iq(b);
+         q[a + 4 >> 2] = g;
+         q[a + 8 >> 2] = g + q[b + 16 >> 2];
+         d = q[a + 28 >> 2];
+         c = 1;
+         if (g) {
+          continue;
+         }
+         break d;
+        }
+        break;
+       }
+       Cq(q[a + 28 >> 2]);
+       q[a + 28 >> 2] = 0;
+       q[a + 4 >> 2] = 0;
+       q[a + 8 >> 2] = 0;
+      }
+      Gq(b);
+      break b;
+     }
+     d = q[a + 28 >> 2];
+    }
+    Cq(d);
+    q[a + 28 >> 2] = 0;
+    q[a + 4 >> 2] = 0;
+    q[a + 8 >> 2] = 0;
+   }
+   Cq(b);
+   b = 271040;
+  }
+  Ca = h + 16 | 0;
+  return b;
+ }
+ J(270893, 270918, 195, 270935);
+ F();
+}
+function FP(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ d = Ca - 96 | 0;
+ Ca = d;
+ e = 0;
+ a : {
+  if (!b) {
+   break a;
+  }
+  c = -1;
+  while (1) {
+   f = GP(b, (g << 5) + 444768 | 0);
+   if (f >>> 0 <= 1) {
+    e = (g << 5) + 444784 | 0;
+    if (f - 1) {
+     break a;
+    }
+    c = (c | 0) == -1 ? g : c;
+   }
+   g = g + 1 | 0;
+   if ((g | 0) != 246) {
+    continue;
+   }
+   break;
+  }
+  e = (c | 0) == -1 ? 0 : (c << 5) + 444784 | 0;
+ }
+ g = e;
+ e = L$(40);
+ b : {
+  if (!e) {
+   e = 0;
+   break b;
+  }
+  b = e;
+  q[b + 8 >> 2] = 0;
+  q[b + 12 >> 2] = 0;
+  q[b >> 2] = 0;
+  q[b + 4 >> 2] = 8;
+  q[b + 32 >> 2] = 0;
+  q[b + 36 >> 2] = 0;
+  q[b + 24 >> 2] = 0;
+  q[b + 28 >> 2] = 0;
+  q[b + 16 >> 2] = 0;
+  q[b + 20 >> 2] = 0;
+  c = q[160847];
+  if (c & 2048) {
+   d0(444744, 0);
+   TS(a);
+   OZ(10);
+   c = q[160847];
+  }
+  while (1) {
+   if (c & 2048) {
+    b = h << 5;
+    q[d + 48 >> 2] = b + 444768;
+    d0(444757, d + 48 | 0);
+    TS(b + 444784 | 0);
+    OZ(10);
+   }
+   c : {
+    d : {
+     if (!g) {
+      break d;
+     }
+     b = h << 5;
+     if (!vP(b + 444768 | 0)) {
+      break d;
+     }
+     if (q[b + 444788 >> 2] != q[g + 4 >> 2]) {
+      break c;
+     }
+    }
+    c = h << 5;
+    f = c + 444784 | 0;
+    b = WR(f, a);
+    e : {
+     if (!(o[643389] & 1)) {
+      break e;
+     }
+     c = c + 444768 | 0;
+     if (b + -1 >>> 0 <= 8) {
+      j = SR(f, a);
+      q[d + 16 >> 2] = c;
+      q[d + 20 >> 2] = b;
+      d0(481008, d + 16 | 0);
+      OZ(123);
+      c = d + 60 | 0;
+      q[c >> 2] = 0;
+      i = XR(j, d - -64 | 0, c);
+      if ((i | 0) != -1) {
+       while (1) {
+        f = 0;
+        while (1) {
+         f : {
+          l = (d - -64 | 0) + (f << 2) | 0;
+          k = q[l >> 2];
+          if (!k) {
+           break f;
+          }
+          m = (f << 5) + i | 0;
+          c = 0;
+          while (1) {
+           if (k >>> c & 1) {
+            q[d >> 2] = c + m;
+            d0(481017, d);
+           }
+           c = c + 1 | 0;
+           if ((c | 0) == 32) {
+            break f;
+           }
+           k = q[l >> 2];
+           continue;
+          }
+         }
+         f = f + 1 | 0;
+         if ((f | 0) != 8) {
+          continue;
+         }
+         break;
+        }
+        i = XR(j, d - -64 | 0, d + 60 | 0);
+        if ((i | 0) != -1) {
+         continue;
+        }
+        break;
+       }
+      }
+      d0(481023, 0);
+      IR(j);
+      break e;
+     }
+     q[d + 36 >> 2] = b;
+     q[d + 32 >> 2] = c;
+     d0(481028, d + 32 | 0);
+    }
+    if (b) {
+     break c;
+    }
+    b = r[h + 480514 | 0];
+    c = ((b >>> 3 & 28) + e | 0) + 8 | 0;
+    q[c >> 2] = q[c >> 2] | 1 << (b & 31);
+   }
+   c = q[160847];
+   h = h + 1 | 0;
+   if ((h | 0) != 246) {
+    continue;
+   }
+   break;
+  }
+  if (!(c & 256)) {
+   break b;
+  }
+  OZ(10);
+ }
+ Ca = d + 96 | 0;
+ return e;
+}
+function UA(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ a : {
+  b : {
+   c : {
+    if (t[b + 4 >> 2] > a >>> 0) {
+     break c;
+    }
+    c = q[b + 8 >> 2];
+    if (c >>> 0 < a >>> 0) {
+     break c;
+    }
+    if (c - a >>> 0 > 19) {
+     break b;
+    }
+   }
+   c = 0;
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  c = 0;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  c = 0;
+  if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+   break a;
+  }
+  c = 0;
+  if (q[b + 32 >> 2] != (r[a + 13 | 0] | r[a + 12 | 0] << 8)) {
+   break a;
+  }
+  q[i + 12 >> 2] = w(r[a + 7 | 0] | r[a + 6 | 0] << 8, r[a + 5 | 0] | r[a + 4 | 0] << 8);
+  c = 0;
+  if (!VA(a + 8 | 0, b, a, i + 12 | 0)) {
+   break a;
+  }
+  d = a + 20 | 0;
+  g = r[a + 13 | 0];
+  f = r[a + 12 | 0];
+  d : {
+   e : {
+    if (o[a + 15 | 0] & 1) {
+     j = q[b + 4 >> 2];
+     c = 0;
+     if (j >>> 0 > d >>> 0) {
+      break a;
+     }
+     h = q[b + 8 >> 2];
+     c = 0;
+     if (h >>> 0 < d >>> 0) {
+      break a;
+     }
+     if (h - d >>> 0 >= (g << 2 | f << 10) + 4 >>> 0) {
+      break e;
+     }
+     c = 0;
+     break a;
+    }
+    j = q[b + 4 >> 2];
+    c = 0;
+    if (j >>> 0 > d >>> 0) {
+     break a;
+    }
+    h = q[b + 8 >> 2];
+    c = 0;
+    if (h >>> 0 < d >>> 0) {
+     break a;
+    }
+    c = 0;
+    if (h - d >>> 0 < (g << 1 | f << 9) + 2 >>> 0) {
+     break a;
+    }
+    c = q[b + 12 >> 2];
+    g = c + -1 | 0;
+    q[b + 12 >> 2] = g;
+    if ((c | 0) >= 1) {
+     break d;
+    }
+    c = 0;
+    break a;
+   }
+   f = q[b + 12 >> 2];
+   g = f + -1 | 0;
+   q[b + 12 >> 2] = g;
+   c = 0;
+   if ((f | 0) <= 0) {
+    break a;
+   }
+  }
+  c = r[a + 20 | 0];
+  k = o[a + 15 | 0] & 1;
+  f : {
+   if (k) {
+    f = r[d + 1 | 0];
+    l = r[d + 3 | 0] | (f << 16 | c << 24 | r[d + 2 | 0] << 8);
+    break f;
+   }
+   f = r[d + 1 | 0];
+   l = f << 1 | c << 9;
+  }
+  e = r[a + 13 | 0] | r[a + 12 | 0] << 8;
+  g : {
+   if (k) {
+    e = d + (e << 2) | 0;
+    e = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+    e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+    d = r[d + 3 | 0] | (f << 16 | c << 24 | r[d + 2 | 0] << 8);
+    break g;
+   }
+   d = d + (e << 1) | 0;
+   e = r[d + 1 | 0] << 1 | r[d | 0] << 9;
+   d = f << 1 | c << 9;
+  }
+  d = e - d | 0;
+  c = 0;
+  if ((d | 0) == -1) {
+   break a;
+  }
+  c = 1;
+  if (!d) {
+   break a;
+  }
+  c = a;
+  a = r[a + 16 | 0] | r[a + 17 | 0] << 8 | (r[a + 18 | 0] << 16 | r[a + 19 | 0] << 24);
+  a = a << 8 & 16711680 | a << 24 | (a >>> 8 & 65280 | a >>> 24);
+  a = (a ? c + a | 0 : 271040) + l | 0;
+  c = 0;
+  if (j >>> 0 > a >>> 0) {
+   break a;
+  }
+  c = 0;
+  if (h >>> 0 < a >>> 0) {
+   break a;
+  }
+  c = 0;
+  if (h - a >>> 0 < d >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = g + -1;
+  c = (g | 0) > 0;
+ }
+ Ca = i + 16 | 0;
+ return c;
+}
+function gO(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0;
+ e = Ca + -64 | 0;
+ Ca = e;
+ n = r[b + 12 | 0] | r[b + 13 | 0] << 8 | (r[b + 14 | 0] << 16 | r[b + 15 | 0] << 24);
+ o = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+ c = n - o | 0;
+ t = c;
+ u = c >> 31;
+ v = r[b + 20 | 0] | r[b + 21 | 0] << 8 | (r[b + 22 | 0] << 16 | r[b + 23 | 0] << 24);
+ c = v - o | 0;
+ k = c;
+ i = c >> 31;
+ d = T0(t, u, c, i);
+ j = Ea;
+ a : {
+  b : {
+   g = d;
+   p = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+   s = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+   d = p - s | 0;
+   w = d;
+   x = d >> 31;
+   y = r[b + 16 | 0] | r[b + 17 | 0] << 8 | (r[b + 18 | 0] << 16 | r[b + 19 | 0] << 24);
+   f = y - s | 0;
+   d = f;
+   l = d;
+   m = d >> 31;
+   h = T0(w, x, d, m);
+   g = g + h | 0;
+   d = Ea + j | 0;
+   d = g >>> 0 < h >>> 0 ? d + 1 | 0 : d;
+   j = q[a >> 2];
+   f = f >> 31;
+   f = l + f ^ f;
+   c = c >> 31;
+   c = k + c ^ c;
+   f = T0(j, j >> 31, (f | 0) > (c | 0) ? f : c, 0);
+   c = d;
+   j = Ea;
+   h = 0 - (j + (0 < f >>> 0) | 0) | 0;
+   if ((c | 0) < (h | 0) ? 1 : (c | 0) <= (h | 0) ? g >>> 0 >= 0 - f >>> 0 ? 0 : 1 : 0) {
+    break b;
+   }
+   d = T0(k, i, k, i);
+   h = Ea;
+   A = g;
+   z = T0(l, m, l, m);
+   g = z + d | 0;
+   d = Ea + h | 0;
+   d = g >>> 0 < z >>> 0 ? d + 1 | 0 : d;
+   h = g + f | 0;
+   d = d + j | 0;
+   d = h >>> 0 < f >>> 0 ? d + 1 | 0 : d;
+   if ((c | 0) > (d | 0) ? 1 : (c | 0) >= (d | 0) ? A >>> 0 <= h >>> 0 ? 0 : 1 : 0) {
+    break b;
+   }
+   c = T0(l, m, t, u);
+   d = Ea;
+   g = T0(k, i, w, x);
+   h = d;
+   d = c;
+   c = h - (Ea + (c >>> 0 < g >>> 0) | 0) | 0;
+   i = d - g | 0;
+   g = c;
+   d = c >> 31;
+   c = c >> 31;
+   k = d + g | 0;
+   i = c + i | 0;
+   if (i >>> 0 < c >>> 0) {
+    k = k + 1 | 0;
+   }
+   g = (c ^ i) >>> 0 <= f >>> 0 ? 0 : 1;
+   c = d ^ k;
+   if ((c | 0) > (j | 0) ? 1 : (c | 0) >= (j | 0) ? g : 0) {
+    break b;
+   }
+   c = q[b + 4 >> 2];
+   q[e + 8 >> 2] = q[b >> 2];
+   q[e + 12 >> 2] = c;
+   c = q[b + 20 >> 2];
+   q[e >> 2] = q[b + 16 >> 2];
+   q[e + 4 >> 2] = c;
+   b = iO(a, e + 8 | 0, e);
+   break a;
+  }
+  c = n + v | 0;
+  q[e + 44 >> 2] = c >> 1;
+  d = c;
+  c = n + o | 0;
+  q[e + 36 >> 2] = (d + c | 0) + 2 >> 2;
+  d = p + y | 0;
+  q[e + 40 >> 2] = d >> 1;
+  q[e + 28 >> 2] = c >> 1;
+  c = p + s | 0;
+  q[e + 24 >> 2] = c >> 1;
+  q[e + 32 >> 2] = (c + d | 0) + 2 >> 2;
+  c = q[b + 4 >> 2];
+  q[e + 16 >> 2] = q[b >> 2];
+  q[e + 20 >> 2] = c;
+  c = q[b + 20 >> 2];
+  q[e + 48 >> 2] = q[b + 16 >> 2];
+  q[e + 52 >> 2] = c;
+  b = 0;
+  if (!gO(a, e + 16 | 0)) {
+   break a;
+  }
+  b = gO(a, e + 32 | 0);
+ }
+ Ca = e - -64 | 0;
+ return b;
+}
+function Mr(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0;
+ l = Ca - 80 | 0;
+ Ca = l;
+ e = r[c + 3 | 0];
+ b = q[b + 4 >> 2];
+ c = r[c + 2 | 0];
+ if (c & 128) {
+  q[a + 4 >> 2] = q[b + 72 >> 2];
+ }
+ if (c & 32) {
+  c = q[b + 76 >> 2];
+  d = q[b + 72 >> 2] + 1 | 0;
+  q[a + 8 >> 2] = d >>> 0 > c >>> 0 ? c : d;
+ }
+ d = e & 15;
+ a : {
+  if (!d) {
+   break a;
+  }
+  f = q[a + 8 >> 2];
+  c = q[a + 4 >> 2];
+  if (f >>> 0 <= c >>> 0) {
+   break a;
+  }
+  e = f - c | 0;
+  d = r[d + 228256 | 0];
+  j = d >>> 4 | 0;
+  h = j >>> 0 < 2 ? j : 2;
+  m = d & 15;
+  g = m >>> 0 < 2 ? m : 2;
+  p = h + g | 0;
+  if (e >>> 0 < p >>> 0) {
+   break a;
+  }
+  k = 0 - g | 0;
+  n = l;
+  d = q[b + 76 >> 2];
+  i = q[b + 72 >> 2] + 1 | 0;
+  d = i >>> 0 > d >>> 0 ? d : i;
+  if (d - c >>> 0 >= 2) {
+   wG(b, c, d);
+   f = q[a + 8 >> 2];
+   c = q[a + 4 >> 2];
+   e = f - c | 0;
+  }
+  if (e >>> 0 >= 2) {
+   wG(b, c, f);
+   f = q[a + 8 >> 2];
+   c = q[a + 4 >> 2];
+  }
+  b = q[b + 88 >> 2];
+  i = b + w(c, 20) | 0;
+  o = w(h, 20);
+  d = Y$(n, i, o);
+  e = (b + w(f, 20) | 0) + w(k, 20) | 0;
+  k = w(g, 20);
+  n = Y$(d + 40 | 0, e, k);
+  e = b;
+  if ((g | 0) != (h | 0)) {
+   _$(i + k | 0, i + o | 0, w(f - (c + p | 0) | 0, 20));
+   c = q[a + 4 >> 2];
+  }
+  Y$(w(c, 20) + e | 0, n, k);
+  Y$((b + w(q[a + 8 >> 2], 20) | 0) + w(0 - h | 0, 20) | 0, d, o);
+  if ((j | 0) == 3) {
+   h = d + 16 | 0;
+   e = b + w(q[a + 8 >> 2], 20) | 0;
+   c = e + -20 | 0;
+   g = c + 16 | 0;
+   q[h >> 2] = q[g >> 2];
+   f = q[c + 4 >> 2];
+   q[d >> 2] = q[c >> 2];
+   q[d + 4 >> 2] = f;
+   f = c + 8 | 0;
+   i = q[f + 4 >> 2];
+   q[d + 8 >> 2] = q[f >> 2];
+   q[d + 12 >> 2] = i;
+   e = e + -40 | 0;
+   j = q[e + 4 >> 2];
+   q[c >> 2] = q[e >> 2];
+   q[c + 4 >> 2] = j;
+   c = q[e + 12 >> 2];
+   q[f >> 2] = q[e + 8 >> 2];
+   q[f + 4 >> 2] = c;
+   q[g >> 2] = q[e + 16 >> 2];
+   e = q[d + 4 >> 2];
+   c = (b + w(q[a + 8 >> 2], 20) | 0) + -40 | 0;
+   q[c >> 2] = q[d >> 2];
+   q[c + 4 >> 2] = e;
+   q[c + 16 >> 2] = q[h >> 2];
+   e = q[d + 12 >> 2];
+   q[c + 8 >> 2] = q[d + 8 >> 2];
+   q[c + 12 >> 2] = e;
+  }
+  if ((m | 0) != 3) {
+   break a;
+  }
+  f = d + 16 | 0;
+  c = b + w(q[a + 4 >> 2], 20) | 0;
+  h = c + 16 | 0;
+  q[f >> 2] = q[h >> 2];
+  e = q[c + 4 >> 2];
+  q[d >> 2] = q[c >> 2];
+  q[d + 4 >> 2] = e;
+  e = c + 8 | 0;
+  j = q[e + 4 >> 2];
+  q[d + 8 >> 2] = q[e >> 2];
+  q[d + 12 >> 2] = j;
+  g = q[c + 24 >> 2];
+  q[c >> 2] = q[c + 20 >> 2];
+  q[c + 4 >> 2] = g;
+  g = q[c + 32 >> 2];
+  q[e >> 2] = q[c + 28 >> 2];
+  q[e + 4 >> 2] = g;
+  q[h >> 2] = q[c + 36 >> 2];
+  a = b + w(q[a + 4 >> 2], 20) | 0;
+  q[a + 36 >> 2] = q[f >> 2];
+  b = q[d + 12 >> 2];
+  q[a + 28 >> 2] = q[d + 8 >> 2];
+  q[a + 32 >> 2] = b;
+  b = q[d + 4 >> 2];
+  q[a + 20 >> 2] = q[d >> 2];
+  q[a + 24 >> 2] = b;
+ }
+ Ca = l + 80 | 0;
+}
+function Ur(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ e = q[a + 4 >> 2];
+ q[e + 72 >> 2] = 0;
+ a : {
+  if (!r[e + 68 | 0]) {
+   break a;
+  }
+  while (1) {
+   d = q[a >> 2];
+   l = (r[d + 7 | 0] | r[d + 6 | 0] << 8) + d | 0;
+   m = d + (r[d + 5 | 0] | r[d + 4 | 0] << 8) | 0;
+   i = q[e + 76 >> 2];
+   k = g >>> 0 >= i >>> 0;
+   c = 0;
+   b : {
+    if (k) {
+     break b;
+    }
+    f = q[q[e + 88 >> 2] + w(g, 20) >> 2];
+    c = 2;
+    if ((f | 0) == 65535) {
+     break b;
+    }
+    c = f;
+    f = d + (r[d + 3 | 0] | r[d + 2 | 0] << 8) | 0;
+    h = c - (r[f | 0] << 8 | r[f + 1 | 0]) | 0;
+    c = 1;
+    if (h >>> 0 >= (r[f + 3 | 0] | r[f + 2 | 0] << 8) >>> 0) {
+     break b;
+    }
+    c = r[(f + h | 0) + 4 | 0];
+   }
+   d = r[d + 1 | 0] | r[d | 0] << 8;
+   d = l + (r[m + ((d >>> 0 > c >>> 0 ? c : 1) + w(d, j) | 0) | 0] << 2) | 0;
+   c : {
+    if (!j) {
+     break c;
+    }
+    c = q[(r[e + 69 | 0] ? 80 : 72) + e >> 2];
+    if (k | !c) {
+     break c;
+    }
+    f = r[d + 3 | 0];
+    if ((f | r[d + 2 | 0] << 8) == 16384 ? !(r[d + 1 | 0] | r[d | 0] << 8 | (t[b + 4 >> 2] < t[b + 8 >> 2] ? f & 15 : 0)) : 0) {
+     break c;
+    }
+    EG(e, c + -1 | 0, g + 1 | 0);
+    e = q[a + 4 >> 2];
+    i = q[e + 76 >> 2];
+    g = q[e + 72 >> 2];
+   }
+   h = g + 2 | 0;
+   d : {
+    if (h >>> 0 > i >>> 0) {
+     break d;
+    }
+    c = q[a >> 2];
+    f = r[c + 1 | 0] | r[c | 0] << 8;
+    if (!(r[((c + (r[c + 7 | 0] | r[c + 6 | 0] << 8) | 0) + (r[c + (r[c + 5 | 0] | r[c + 4 | 0] << 8) + (!f + w(f, j)) | 0] << 2) | 0) + 3 | 0] & 15) | t[b + 4 >> 2] >= t[b + 8 >> 2]) {
+     break d;
+    }
+    DG(e, g, h);
+   }
+   Mr(b, a, d);
+   e = q[a >> 2];
+   j = ((r[d + 1 | 0] | r[d | 0] << 8) - (r[e + 4 | 0] << 8 | r[e + 5 | 0]) | 0) / (r[e + 1 | 0] | r[e | 0] << 8) | 0;
+   c = q[a + 4 >> 2];
+   e = q[c + 72 >> 2];
+   if ((e | 0) == q[c + 76 >> 2]) {
+    break a;
+   }
+   e : {
+    if (r[d + 2 | 0] & 64) {
+     d = q[c + 40 >> 2];
+     q[c + 40 >> 2] = d + -1;
+     if ((d | 0) > 0) {
+      break e;
+     }
+    }
+    if (r[c + 69 | 0]) {
+     f : {
+      if (q[c + 92 >> 2] == q[c + 88 >> 2]) {
+       d = e;
+       if ((d | 0) == q[c + 80 >> 2]) {
+        break f;
+       }
+      }
+      if (!pG(c, 1, 1)) {
+       break e;
+      }
+      d = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+      g = q[d + 4 >> 2];
+      e = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+      q[e >> 2] = q[d >> 2];
+      q[e + 4 >> 2] = g;
+      q[e + 16 >> 2] = q[d + 16 >> 2];
+      g = q[d + 12 >> 2];
+      q[e + 8 >> 2] = q[d + 8 >> 2];
+      q[e + 12 >> 2] = g;
+      e = q[c + 72 >> 2];
+      d = q[c + 80 >> 2];
+     }
+     q[c + 80 >> 2] = d + 1;
+    }
+    q[c + 72 >> 2] = e + 1;
+   }
+   e = q[a + 4 >> 2];
+   if (!r[e + 68 | 0]) {
+    break a;
+   }
+   g = q[e + 72 >> 2];
+   continue;
+  }
+ }
+}
+function bz(a, b, c, d) {
+ var e = 0, f = 0, g = 0;
+ e = q[b + 4 >> 2];
+ q[a >> 2] = q[b >> 2];
+ q[a + 4 >> 2] = e;
+ q[a + 8 >> 2] = q[b + 8 >> 2];
+ q[a + 24 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ o[a + 20 | 0] = 0;
+ o[a + 16 | 0] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 32 >> 2] = 0;
+ q[a + 36 >> 2] = 0;
+ e = L$(4744);
+ a : {
+  b : {
+   if (e) {
+    q[a + 28 >> 2] = 593;
+    q[a + 36 >> 2] = e;
+    f = q[a + 32 >> 2];
+    if (f >>> 0 <= 512) {
+     g = e;
+     e = f << 3;
+     Z$(g + e | 0, 0, 4104 - e | 0);
+    }
+    e = 513;
+    q[a + 32 >> 2] = 513;
+    break b;
+   }
+   q[a + 28 >> 2] = -1;
+   e = q[a + 32 >> 2];
+   if (!e) {
+    break a;
+   }
+  }
+  Z$(q[a + 36 >> 2], 0, e << 3);
+ }
+ o[a + 40 | 0] = 0;
+ e = q[b + 4 >> 2];
+ f = q[b >> 2];
+ q[a + 52 >> 2] = q[b + 8 >> 2];
+ q[a + 44 >> 2] = f;
+ q[a + 48 >> 2] = e;
+ q[a + 128 >> 2] = 0;
+ q[a + 132 >> 2] = 0;
+ o[a + 73 | 0] = 1;
+ o[a + 74 | 0] = 0;
+ b = a - -64 | 0;
+ q[b >> 2] = 0;
+ q[b + 4 >> 2] = 0;
+ o[a + 60 | 0] = 0;
+ q[a + 56 >> 2] = 0;
+ q[a + 136 >> 2] = 0;
+ q[a + 140 >> 2] = 0;
+ q[a + 92 >> 2] = 0;
+ q[a + 96 >> 2] = 0;
+ q[a + 100 >> 2] = 0;
+ q[a + 104 >> 2] = 0;
+ q[a + 76 >> 2] = 0;
+ q[a + 80 >> 2] = 0;
+ o[a + 81 | 0] = 0;
+ o[a + 82 | 0] = 0;
+ o[a + 83 | 0] = 0;
+ o[a + 84 | 0] = 0;
+ o[a + 85 | 0] = 0;
+ o[a + 86 | 0] = 0;
+ o[a + 87 | 0] = 0;
+ o[a + 88 | 0] = 0;
+ b = L$(560);
+ c : {
+  d : {
+   if (b) {
+    q[a + 96 >> 2] = 20;
+    q[a + 104 >> 2] = b;
+    e = q[a + 100 >> 2];
+    if (e >>> 0 <= 9) {
+     Z$(b + w(e, 28) | 0, 0, w(10 - e | 0, 28));
+    }
+    b = 10;
+    q[a + 100 >> 2] = 10;
+    break d;
+   }
+   q[a + 96 >> 2] = -1;
+   b = q[a + 100 >> 2];
+   if (!b) {
+    break c;
+   }
+  }
+  e = 0;
+  while (1) {
+   e : {
+    if (b >>> 0 <= e >>> 0) {
+     q[160662] = q[67766];
+     b = q[67765];
+     q[160660] = q[67764];
+     q[160661] = b;
+     b = q[67763];
+     q[160658] = q[67762];
+     q[160659] = b;
+     b = q[67761];
+     q[160656] = q[67760];
+     q[160657] = b;
+     b = 642624;
+     break e;
+    }
+    b = q[a + 104 >> 2] + w(e, 28) | 0;
+   }
+   q[b + 20 >> 2] = 0;
+   q[b + 24 >> 2] = 0;
+   q[b >> 2] = 0;
+   q[b + 4 >> 2] = 0;
+   o[b + 16 | 0] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   e = e + 1 | 0;
+   b = q[a + 100 >> 2];
+   if (e >>> 0 < b >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[a + 112 >> 2] = c;
+ f : {
+  g : {
+   if (c) {
+    b = r[c + 1 | 0] | r[c | 0] << 8;
+    if (b >>> 0 > 1239) {
+     break g;
+    }
+   }
+   q[a + 108 >> 2] = 107;
+   break f;
+  }
+  if (b >>> 0 <= 33899) {
+   q[a + 108 >> 2] = 1131;
+   break f;
+  }
+  q[a + 108 >> 2] = 32768;
+ }
+ q[a + 120 >> 2] = d;
+ h : {
+  if (d) {
+   b = r[d + 1 | 0] | r[d | 0] << 8;
+   if (b >>> 0 > 1239) {
+    break h;
+   }
+  }
+  q[a + 116 >> 2] = 107;
+  return;
+ }
+ if (b >>> 0 <= 33899) {
+  q[a + 116 >> 2] = 1131;
+  return;
+ }
+ q[a + 116 >> 2] = 32768;
+}
+function Mm(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ f = q[b >> 2];
+ if (!f) {
+  return 35;
+ }
+ b = 6;
+ a : {
+  if (t[f + 16 >> 2] <= c >>> 0) {
+   break a;
+  }
+  k = q[f + 104 >> 2];
+  h = q[f + 292 >> 2];
+  b = h + (c << 4) | 0;
+  i = p[b + 6 >> 1];
+  l = i + p[b + 8 >> 1] | 0;
+  q[a + 76 >> 2] = l;
+  j = p[b >> 1];
+  b = p[b + 2 >> 1];
+  o[a + 94 | 0] = 1;
+  p[a + 92 >> 1] = 1;
+  e = b - j | 0;
+  q[a + 80 >> 2] = e;
+  b = 3;
+  g = (1 << (q[f + 312 >> 2] & 3)) + -1 | 0;
+  if (g >>> 0 > 7) {
+   break a;
+  }
+  b : {
+   c : {
+    switch (g - 1 | 0) {
+    default:
+     b = e + 7 >>> 3 | 0;
+     break b;
+    case 0:
+     b = e + 15 >>> 3 & 536870910;
+     break b;
+    case 2:
+     b = e + 31 >>> 3 & 536870908;
+     break b;
+    case 1:
+    case 3:
+    case 4:
+    case 5:
+     break a;
+    case 6:
+     break c;
+    }
+   }
+   b = e + 63 >>> 3 & 536870904;
+  }
+  q[a + 104 >> 2] = i;
+  q[a + 100 >> 2] = j;
+  q[a + 72 >> 2] = 1651078259;
+  g = a + 84 | 0;
+  q[g >> 2] = b;
+  b = p[((c << 4) + h | 0) + 4 >> 1];
+  q[a + 36 >> 2] = i << 6;
+  q[a + 32 >> 2] = j << 6;
+  q[a + 28 >> 2] = l << 6;
+  q[a + 24 >> 2] = e << 6;
+  q[a + 40 >> 2] = b << 6;
+  Of(a + 24 | 0, q[f + 208 >> 2] + q[f + 204 >> 2] << 6);
+  d : {
+   if (d & 4194304) {
+    break d;
+   }
+   d = w(q[a + 76 >> 2], q[g >> 2]);
+   b = sf(a, d);
+   if (b) {
+    break a;
+   }
+   b = yg(k, q[((c << 4) + h | 0) + 12 >> 2]);
+   if (b) {
+    break a;
+   }
+   b = zg(k, q[a + 88 >> 2], d);
+   if (b) {
+    break a;
+   }
+   c = q[f + 312 >> 2];
+   if (!(!d | c & 8)) {
+    c = q[a + 88 >> 2];
+    b = d;
+    while (1) {
+     e = r[c | 0];
+     e = e >>> 1 & 85 | e << 1 & 170;
+     e = e >>> 2 & 51 | e << 2 & 204;
+     o[c | 0] = e >>> 4 | e << 4;
+     c = c + 1 | 0;
+     b = b + -1 | 0;
+     if (b) {
+      continue;
+     }
+     break;
+    }
+    c = q[f + 312 >> 2];
+   }
+   if (!((c >>> 2 ^ c >>> 3) & 1)) {
+    break d;
+   }
+   c = (1 << (c >>> 4 & 3)) + -2 | 0;
+   if (c >>> 0 > 2) {
+    break d;
+   }
+   b = 0;
+   e : {
+    switch (c - 1 | 0) {
+    default:
+     if (d >>> 0 < 2) {
+      break d;
+     }
+     a = q[a + 88 >> 2];
+     while (1) {
+      b = r[a + 1 | 0];
+      o[a + 1 | 0] = r[a | 0];
+      o[a | 0] = b;
+      a = a + 2 | 0;
+      d = d + -2 | 0;
+      if (d >>> 0 > 1) {
+       continue;
+      }
+      break;
+     }
+     break d;
+    case 1:
+     break e;
+    case 0:
+     break a;
+    }
+   }
+   if (d >>> 0 < 4) {
+    break d;
+   }
+   a = q[a + 88 >> 2];
+   while (1) {
+    b = r[a + 3 | 0];
+    o[a + 3 | 0] = r[a | 0];
+    o[a | 0] = b;
+    b = r[a + 1 | 0];
+    o[a + 1 | 0] = r[a + 2 | 0];
+    o[a + 2 | 0] = b;
+    a = a + 4 | 0;
+    d = d + -4 | 0;
+    if (d >>> 0 > 3) {
+     continue;
+    }
+    break;
+   }
+  }
+  b = 0;
+ }
+ return b | 0;
+}
+function xh(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, s = 0;
+ i = q[a + 12 >> 2];
+ j = q[a + 200 >> 2];
+ c = q[a + 196 >> 2];
+ s = q[q[a >> 2] + 16 >> 2];
+ a : {
+  while (1) {
+   b = k;
+   k = b + 1 | 0;
+   e = Ve(i, k);
+   if (e) {
+    break a;
+   }
+   e = 21;
+   m = c + 4 | 0;
+   if (m >>> 0 > j >>> 0) {
+    break a;
+   }
+   g = q[i + 88 >> 2] + (b << 5) | 0;
+   q[g + 8 >> 2] = 0;
+   q[g + 12 >> 2] = 0;
+   l = r[c + 1 | 0];
+   d = l | r[c | 0] << 8;
+   p[g + 4 >> 1] = d;
+   b = r[c + 3 | 0] | r[c + 2 | 0] << 8;
+   q[g >> 2] = b;
+   if ((b | 0) >= (s | 0)) {
+    break a;
+   }
+   f = d & 65535;
+   h = l & 1 ? 4 : 2;
+   n = d & 8;
+   b = h + 2 | 0;
+   b : {
+    if (n) {
+     break b;
+    }
+    b = h + 4 | 0;
+    if (f & 64) {
+     break b;
+    }
+    b = h | f >>> 4 & 8;
+   }
+   if (b + m >>> 0 > j >>> 0) {
+    break a;
+   }
+   b = g + 8 | 0;
+   e = g + 12 | 0;
+   d = f & 1;
+   c : {
+    if (f & 2) {
+     if (d) {
+      d = b;
+      b = r[c + 4 | 0] | r[c + 5 | 0] << 8;
+      q[d >> 2] = (b << 24 | b << 8 & 16711680) >> 16;
+      b = r[c + 6 | 0] | r[c + 7 | 0] << 8;
+      d = (b << 24 | b << 8 & 16711680) >> 16;
+      b = c + 8 | 0;
+      break c;
+     }
+     q[b >> 2] = o[c + 4 | 0];
+     d = o[c + 5 | 0];
+     b = c + 6 | 0;
+     break c;
+    }
+    if (d) {
+     q[b >> 2] = r[c + 5 | 0] | r[c + 4 | 0] << 8;
+     d = r[c + 7 | 0] | r[c + 6 | 0] << 8;
+     b = c + 8 | 0;
+     break c;
+    }
+    q[b >> 2] = r[c + 4 | 0];
+    d = r[c + 5 | 0];
+    b = c + 6 | 0;
+   }
+   q[e >> 2] = d;
+   d : {
+    if (n) {
+     c = b + 2 | 0;
+     f = 0;
+     b = r[b | 0] | r[b + 1 | 0] << 8;
+     e = (b << 24 | b << 8 & 16711680) >> 16 << 2;
+     d = e;
+     h = 0;
+     break d;
+    }
+    if (f & 64) {
+     c = r[b + 2 | 0] | r[b + 3 | 0] << 8;
+     d = (c << 24 | c << 8 & 16711680) >> 16 << 2;
+     c = r[b | 0] | r[b + 1 | 0] << 8;
+     e = (c << 24 | c << 8 & 16711680) >> 16 << 2;
+     c = b + 4 | 0;
+     f = 0;
+     h = 0;
+     break d;
+    }
+    if (!(f & 128)) {
+     f = 0;
+     e = 65536;
+     c = b;
+     d = 65536;
+     h = 0;
+     break d;
+    }
+    c = r[b + 6 | 0] | r[b + 7 | 0] << 8;
+    d = (c << 24 | c << 8 & 16711680) >> 16 << 2;
+    c = r[b + 4 | 0] | r[b + 5 | 0] << 8;
+    f = (c << 24 | c << 8 & 16711680) >> 16 << 2;
+    c = r[b + 2 | 0] | r[b + 3 | 0] << 8;
+    h = (c << 24 | c << 8 & 16711680) >> 16 << 2;
+    c = r[b | 0] | r[b + 1 | 0] << 8;
+    e = (c << 24 | c << 8 & 16711680) >> 16 << 2;
+    c = b + 8 | 0;
+   }
+   q[g + 16 >> 2] = e;
+   q[g + 28 >> 2] = d;
+   q[g + 24 >> 2] = h;
+   q[g + 20 >> 2] = f;
+   if (l & 32) {
+    continue;
+   }
+   break;
+  }
+  q[i + 84 >> 2] = k;
+  b = q[q[a + 24 >> 2] + 8 >> 2];
+  q[a + 196 >> 2] = c;
+  q[a + 164 >> 2] = (c + b | 0) - j;
+  e = 0;
+ }
+ return e | 0;
+}
+function $t(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ e = q[a + 4 >> 2];
+ q[e + 72 >> 2] = 0;
+ a : {
+  if (!r[e + 68 | 0]) {
+   break a;
+  }
+  while (1) {
+   d = q[a >> 2];
+   l = (r[d + 7 | 0] | r[d + 6 | 0] << 8) + d | 0;
+   m = d + (r[d + 5 | 0] | r[d + 4 | 0] << 8) | 0;
+   j = q[e + 76 >> 2];
+   h = g >>> 0 >= j >>> 0;
+   i = 0;
+   b : {
+    if (h) {
+     break b;
+    }
+    f = q[q[e + 88 >> 2] + w(g, 20) >> 2];
+    i = 2;
+    if ((f | 0) == 65535) {
+     break b;
+    }
+    c = f;
+    f = d + (r[d + 3 | 0] | r[d + 2 | 0] << 8) | 0;
+    c = c - (r[f | 0] << 8 | r[f + 1 | 0]) | 0;
+    i = 1;
+    if (c >>> 0 >= (r[f + 3 | 0] | r[f + 2 | 0] << 8) >>> 0) {
+     break b;
+    }
+    i = r[(c + f | 0) + 4 | 0];
+   }
+   c = i;
+   d = r[d + 1 | 0] | r[d | 0] << 8;
+   d = l + (r[m + ((d >>> 0 > c >>> 0 ? c : 1) + w(d, k) | 0) | 0] << 2) | 0;
+   c : {
+    if (!k) {
+     break c;
+    }
+    c = q[(r[e + 69 | 0] ? 80 : 72) + e >> 2];
+    if (h | !c) {
+     break c;
+    }
+    h = r[d + 3 | 0];
+    f = r[d + 2 | 0] << 8;
+    if ((f | h) == 16384 ? !(h | f & 16128 | (r[d + 1 | 0] | r[d | 0] << 8)) : 0) {
+     break c;
+    }
+    EG(e, c + -1 | 0, g + 1 | 0);
+    e = q[a + 4 >> 2];
+    j = q[e + 76 >> 2];
+    g = q[e + 72 >> 2];
+   }
+   h = g + 2 | 0;
+   d : {
+    if (h >>> 0 > j >>> 0) {
+     break d;
+    }
+    c = q[a >> 2];
+    f = r[c + 1 | 0] | r[c | 0] << 8;
+    c = (c + (r[c + 7 | 0] | r[c + 6 | 0] << 8) | 0) + (r[c + (r[c + 5 | 0] | r[c + 4 | 0] << 8) + (!f + w(f, k)) | 0] << 2) | 0;
+    if (!(r[c + 2 | 0] << 8 & 16128 | r[c + 3 | 0])) {
+     break d;
+    }
+    DG(e, g, h);
+   }
+   cu(b, a, d);
+   e = q[a >> 2];
+   k = ((r[d + 1 | 0] | r[d | 0] << 8) - (r[e + 4 | 0] << 8 | r[e + 5 | 0]) | 0) / (r[e + 1 | 0] | r[e | 0] << 8) | 0;
+   c = q[a + 4 >> 2];
+   e = q[c + 72 >> 2];
+   if ((e | 0) == q[c + 76 >> 2]) {
+    break a;
+   }
+   e : {
+    if (r[d + 2 | 0] & 64) {
+     d = q[c + 40 >> 2];
+     q[c + 40 >> 2] = d + -1;
+     if ((d | 0) > 0) {
+      break e;
+     }
+    }
+    if (r[c + 69 | 0]) {
+     f : {
+      if (q[c + 92 >> 2] == q[c + 88 >> 2]) {
+       d = e;
+       if ((d | 0) == q[c + 80 >> 2]) {
+        break f;
+       }
+      }
+      if (!pG(c, 1, 1)) {
+       break e;
+      }
+      d = q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+      g = q[d + 4 >> 2];
+      e = q[c + 92 >> 2] + w(q[c + 80 >> 2], 20) | 0;
+      q[e >> 2] = q[d >> 2];
+      q[e + 4 >> 2] = g;
+      q[e + 16 >> 2] = q[d + 16 >> 2];
+      g = q[d + 12 >> 2];
+      q[e + 8 >> 2] = q[d + 8 >> 2];
+      q[e + 12 >> 2] = g;
+      e = q[c + 72 >> 2];
+      d = q[c + 80 >> 2];
+     }
+     q[c + 80 >> 2] = d + 1;
+    }
+    q[c + 72 >> 2] = e + 1;
+   }
+   e = q[a + 4 >> 2];
+   if (!r[e + 68 | 0]) {
+    break a;
+   }
+   g = q[e + 72 >> 2];
+   continue;
+  }
+ }
+}
+function kK(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ a : {
+  if ((c | 0) < 1) {
+   break a;
+  }
+  i = q[a + 4 >> 2];
+  while (1) {
+   h = (l << 3) + b | 0;
+   b : {
+    if (!q[h >> 2]) {
+     iK(i);
+     if (q[i + 12 >> 2] >= 2) {
+      q[f + 8 >> 2] = 0;
+      break a;
+     }
+     d = q[i >> 2];
+     g = d + -1 | 0;
+     e = 3;
+     j = q[i + 8 >> 2];
+     c : {
+      if (d >>> 0 >= j >>> 0) {
+       break c;
+      }
+      while (1) {
+       d : {
+        e = d;
+        d = d + 1 | 0;
+        q[i >> 2] = d;
+        e : {
+         k = r[e | 0] + -10 | 0;
+         if (k >>> 0 > 16) {
+          break e;
+         }
+         e = 2;
+         switch (k - 1 | 0) {
+         case 0:
+         case 1:
+         case 3:
+         case 4:
+         case 5:
+         case 6:
+         case 7:
+         case 8:
+         case 9:
+         case 10:
+         case 11:
+         case 12:
+         case 13:
+         case 14:
+          break e;
+         case 15:
+          break d;
+         default:
+          break c;
+         }
+        }
+        if (d >>> 0 < j >>> 0) {
+         continue;
+        }
+       }
+       break;
+      }
+      e = 3;
+     }
+     q[i + 12 >> 2] = e;
+     q[f + 8 >> 2] = g;
+     break b;
+    }
+    g = jK(i);
+    q[f + 8 >> 2] = g;
+    if (!g) {
+     break a;
+    }
+    d = q[i >> 2];
+   }
+   e = q[h >> 2];
+   f : {
+    if (e >>> 0 > 5) {
+     break f;
+    }
+    j = d - g | 0;
+    d = j + -1 | 0;
+    g : {
+     switch (e - 2 | 0) {
+     default:
+      e = Mg(q[a >> 2], j, f + 4 | 0);
+      q[h + 4 >> 2] = e;
+      if (q[f + 4 >> 2]) {
+       break f;
+      }
+      Y$(e, g, d);
+      o[d + q[h + 4 >> 2] | 0] = 0;
+      break f;
+     case 0:
+      m = h, p = EJ(f + 8 | 0, d + g | 0, 0), q[m + 4 >> 2] = p;
+      break f;
+     case 1:
+      q[f + 12 >> 2] = g;
+      k = d + g | 0;
+      e = CJ(f + 12 | 0, k, 10);
+      j = 0;
+      d = q[f + 12 >> 2];
+      h : {
+       if ((g | 0) == (d | 0)) {
+        break h;
+       }
+       if (!(r[d | 0] != 35 | d >>> 0 >= k >>> 0)) {
+        g = d + 1 | 0;
+        q[f + 12 >> 2] = g;
+        e = CJ(f + 12 | 0, k, e);
+        d = q[f + 12 >> 2];
+        if ((g | 0) == (d | 0)) {
+         break h;
+        }
+       }
+       q[f + 8 >> 2] = d;
+       j = e;
+      }
+      q[h + 4 >> 2] = j;
+      break f;
+     case 2:
+      if ((d | 0) == 4) {
+       e = !jZ(g, 291336, 4);
+      } else {
+       e = 0;
+      }
+      o[h + 4 | 0] = e;
+      break f;
+     case 3:
+      break g;
+     }
+    }
+    e = q[a + 12 >> 2];
+    if (e) {
+     m = h, p = n[e](g, d, q[a + 16 >> 2]) | 0, q[m + 4 >> 2] = p;
+     break f;
+    }
+    q[h + 4 >> 2] = 0;
+   }
+   l = l + 1 | 0;
+   if ((l | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+  l = c;
+ }
+ Ca = f + 16 | 0;
+ return l;
+}
+function qW(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ k = Ca - 16 | 0;
+ Ca = k;
+ e = q[a + 352 >> 2];
+ i = e + 80 | 0;
+ h = e + 92 | 0;
+ g = q[h >> 2];
+ a : {
+  if ((g | 0) == q[e + 88 >> 2]) {
+   if (!_V(i)) {
+    b = 0;
+    break a;
+   }
+   g = q[h >> 2];
+  }
+  q[h >> 2] = g + 1;
+  o[g | 0] = 0;
+  q[k + 12 >> 2] = c;
+  b : {
+   c : {
+    if (!q[h >> 2]) {
+     if (!_V(i)) {
+      break c;
+     }
+    }
+    while (1) {
+     if (n[q[b + 56 >> 2]](b, k + 12 | 0, d, h, q[e + 88 >> 2]) >>> 0 < 2) {
+      break b;
+     }
+     if (_V(i)) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = 0;
+   break a;
+  }
+  b = 0;
+  if (!q[e + 96 >> 2]) {
+   break a;
+  }
+  d = q[e + 92 >> 2];
+  if ((d | 0) == q[e + 88 >> 2]) {
+   if (!_V(i)) {
+    break a;
+   }
+   d = q[h >> 2];
+  }
+  q[e + 92 >> 2] = d + 1;
+  o[d | 0] = 0;
+  f = q[e + 96 >> 2];
+  if (!f) {
+   break a;
+  }
+  j = f + 1 | 0;
+  g = $V(a, e + 40 | 0, j, 12);
+  if (!g) {
+   break a;
+  }
+  d : {
+   if ((j | 0) != q[g >> 2]) {
+    q[e + 92 >> 2] = q[e + 96 >> 2];
+    break d;
+   }
+   c = q[e + 92 >> 2];
+   q[e + 96 >> 2] = c;
+   if (!r[a + 232 | 0]) {
+    break d;
+   }
+   e : {
+    d = r[j | 0];
+    if ((d | 0) != 120 | r[f + 2 | 0] != 109 | (r[f + 3 | 0] != 108 | r[f + 4 | 0] != 110)) {
+     break e;
+    }
+    if (r[f + 5 | 0] != 115) {
+     break e;
+    }
+    b = r[f + 6 | 0];
+    f : {
+     if ((b | 0) != 58) {
+      if (b) {
+       break e;
+      }
+      q[g + 4 >> 2] = e + 152;
+      break f;
+     }
+     l = g, m = $V(a, e + 60 | 0, f + 7 | 0, 8), q[l + 4 >> 2] = m;
+    }
+    o[g + 9 | 0] = 1;
+    break d;
+   }
+   b = 0;
+   while (1) {
+    d = d & 255;
+    if (!d) {
+     break d;
+    }
+    g : {
+     if ((d | 0) == 58) {
+      f = q[e + 88 >> 2] == (c | 0);
+      if (b) {
+       d = 0;
+       while (1) {
+        if (f) {
+         if (!_V(i)) {
+          b = 0;
+          break a;
+         }
+         c = q[h >> 2];
+        }
+        f = r[d + j | 0];
+        q[e + 92 >> 2] = c + 1;
+        o[c | 0] = f;
+        c = q[e + 92 >> 2];
+        f = (c | 0) == q[e + 88 >> 2];
+        d = d + 1 | 0;
+        if ((d | 0) != (b | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      if (f) {
+       if (!_V(i)) {
+        b = 0;
+        break a;
+       }
+       c = q[h >> 2];
+      }
+      q[e + 92 >> 2] = c + 1;
+      b = 0;
+      o[c | 0] = 0;
+      a = $V(a, e + 60 | 0, q[e + 96 >> 2], 8);
+      q[g + 4 >> 2] = a;
+      if (!a) {
+       break a;
+      }
+      b = q[a >> 2];
+      a = q[e + 96 >> 2];
+      if ((b | 0) != (a | 0)) {
+       break g;
+      }
+      q[e + 96 >> 2] = q[e + 92 >> 2];
+      break d;
+     }
+     b = b + 1 | 0;
+     d = r[j + b | 0];
+     continue;
+    }
+    break;
+   }
+   q[h >> 2] = a;
+  }
+  b = g;
+ }
+ Ca = k + 16 | 0;
+ return b;
+}
+function mF(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ o[d + 21 | 0] = 0;
+ o[d + 22 | 0] = 0;
+ o[d + 23 | 0] = 0;
+ o[d + 24 | 0] = 0;
+ o[d + 25 | 0] = 0;
+ o[d + 26 | 0] = 0;
+ o[d + 27 | 0] = 0;
+ o[d + 28 | 0] = 0;
+ q[d + 16 >> 2] = 0;
+ q[d + 20 >> 2] = 0;
+ o[d + 44 | 0] = 0;
+ q[d + 40 >> 2] = 65536;
+ q[d + 8 >> 2] = 0;
+ q[d + 12 >> 2] = 0;
+ q[d + 32 >> 2] = 0;
+ q[d + 36 >> 2] = 0;
+ c = q[b + 32 >> 2];
+ if ((c | 0) == -1) {
+  c = VF(b);
+ }
+ o[d + 44 | 0] = 1;
+ q[d + 40 >> 2] = c;
+ c = q[b + 12 >> 2];
+ a : {
+  if (c) {
+   b = n[c](b, 1668112752, q[b + 16 >> 2]) | 0;
+   if (b) {
+    break a;
+   }
+  }
+  b = 271040;
+ }
+ b = FF(d + 8 | 0, b);
+ q[a + 44 >> 2] = b;
+ f = 271040;
+ b = b ? b : 271040;
+ i = GF(t[b + 16 >> 2] < 4 ? 271040 : q[b + 12 >> 2], d + 8 | 0);
+ q[a + 4 >> 2] = 271040;
+ q[a >> 2] = i;
+ b = q[a + 44 >> 2];
+ b = b ? b : 271040;
+ g = t[b + 16 >> 2] < 4 ? 271040 : q[b + 12 >> 2];
+ b = r[g + 2 | 0] << 8 | r[g + 3 | 0];
+ b : {
+  if (!b) {
+   break b;
+  }
+  j = b + -1 | 0;
+  b = 0;
+  while (1) {
+   c : {
+    h = b + j >>> 1 | 0;
+    c = (h << 3) + g | 0;
+    e = c + 4 | 0;
+    c = r[e | 0] << 8 | r[c + 5 | 0];
+    d : {
+     if (c) {
+      c = 0 - c | 0;
+      break d;
+     }
+     c = 5 - (r[e + 3 | 0] | r[e + 2 | 0] << 8) | 0;
+    }
+    e : {
+     if ((c | 0) <= -1) {
+      j = h + -1 | 0;
+      break e;
+     }
+     if (!c) {
+      break c;
+     }
+     b = h + 1 | 0;
+    }
+    if ((b | 0) <= (j | 0)) {
+     continue;
+    }
+    break b;
+   }
+   break;
+  }
+  f = ((h << 3) + g | 0) + 4 | 0;
+ }
+ f : {
+  if (!g) {
+   break f;
+  }
+  b = r[f + 4 | 0] | r[f + 5 | 0] << 8 | (r[f + 6 | 0] << 16 | r[f + 7 | 0] << 24);
+  b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+  if (!b) {
+   break f;
+  }
+  b = b + g | 0;
+  if ((r[b | 0] << 8 | r[b + 1 | 0]) != 14) {
+   break f;
+  }
+  q[a + 4 >> 2] = b;
+ }
+ e = i ? i : 271040;
+ q[a + 12 >> 2] = e;
+ g : {
+  if (r[d + 8 | 0]) {
+   c = 570;
+   break g;
+  }
+  c = 571;
+  b = r[e | 0] | r[e + 1 | 0] << 8;
+  b = ((b << 24 | b << 8 & 16711680) >>> 16 | 0) + -4 | 0;
+  if (b >>> 0 > 8) {
+   break g;
+  }
+  h : {
+   switch (b - 1 | 0) {
+   case 7:
+    c = 572;
+    break g;
+   case 0:
+   case 1:
+   case 2:
+   case 3:
+   case 4:
+   case 5:
+   case 6:
+    break g;
+   default:
+    break h;
+   }
+  }
+  c = r[e + 7 | 0];
+  b = r[e + 6 | 0];
+  q[a + 16 >> 2] = e + 14;
+  f = (c | b << 8) >>> 1 | 0;
+  q[a + 36 >> 2] = f;
+  c = f << 1;
+  b = (c + e | 0) + 16 | 0;
+  q[a + 20 >> 2] = b;
+  b = b + c | 0;
+  q[a + 24 >> 2] = b;
+  b = b + c | 0;
+  q[a + 28 >> 2] = b;
+  q[a + 32 >> 2] = b + c;
+  c = r[e + 3 | 0];
+  b = r[e + 2 | 0];
+  q[a + 12 >> 2] = a + 16;
+  q[a + 40 >> 2] = ((c | b << 8) - (f << 3) | 0) + -16 >>> 1;
+  c = 573;
+ }
+ q[a + 8 >> 2] = c;
+ Ca = d + 48 | 0;
+}
+function Dn(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0;
+ d = -1;
+ while (1) {
+  e = d;
+  d = d + -1 | 0;
+  if (s[(e << 1) + b >> 1] == 65535) {
+   continue;
+  }
+  break;
+ }
+ v = 256;
+ o = e + 16 | 0;
+ d = (o | 0) < 8;
+ i = d ? 1 << o : 256;
+ d = d ? o : 8;
+ q = (d | 0) > 1 ? d : 1;
+ j = 128;
+ l = 2;
+ g = 1;
+ while (1) {
+  e = s[(g << 1) + c >> 1];
+  if (e) {
+   u = w(e, j);
+   k = g + -16 | 0;
+   h = t;
+   while (1) {
+    f = (r[h + 152848 | 0] << 2) + a | 0;
+    k = s[(k << 1) + b >> 1];
+    m = k << 16 | g;
+    d = i;
+    while (1) {
+     d = d - l | 0;
+     n = f + (d << 2) | 0;
+     p[n >> 1] = m;
+     p[n + 2 >> 1] = m >>> 16;
+     if ((d | 0) > 0) {
+      continue;
+     }
+     break;
+    }
+    h = h + j | 0;
+    e = e + -1 | 0;
+    if (e) {
+     continue;
+    }
+    break;
+   }
+   t = t + u | 0;
+  }
+  j = j >>> 1 | 0;
+  l = l << 1;
+  d = (g | 0) != (q | 0);
+  g = g + 1 | 0;
+  if (d) {
+   continue;
+  }
+  break;
+ }
+ if ((i | 0) != 256) {
+  while (1) {
+   d = i << 2;
+   Y$(d + a | 0, a, d);
+   i = i << 1;
+   if ((i | 0) != 256) {
+    continue;
+   }
+   break;
+  }
+ }
+ if ((o | 0) > 8) {
+  i = 128;
+  m = 8;
+  e = 256;
+  l = 2;
+  h = 256;
+  k = a;
+  while (1) {
+   g = m + 1 | 0;
+   n = (g << 1) + c | 0;
+   f = s[n >> 1];
+   if (f) {
+    j = m + -15 | 0;
+    q = g - 8 | 0;
+    y = q & 255;
+    u = 1 << q;
+    while (1) {
+     if ((h | 0) == 256) {
+      k = (e << 2) + k | 0;
+      e = u;
+      d = q;
+      if ((m | 0) <= 13) {
+       d = g;
+       e = d;
+       f = u - (f & 65535) | 0;
+       a : {
+        if ((f | 0) < 1) {
+         break a;
+        }
+        while (1) {
+         e = 15;
+         d = d + 1 | 0;
+         if ((d | 0) == 15) {
+          break a;
+         }
+         e = d;
+         f = (f << 1) - s[(d << 1) + c >> 1] | 0;
+         if ((f | 0) > 0) {
+          continue;
+         }
+         break;
+        }
+       }
+       d = e - 8 | 0;
+       e = 1 << d;
+      }
+      h = r[t + 152848 | 0];
+      f = (h << 2) + a | 0;
+      d = d + 8 & 255 | (k - a >>> 2 | 0) - h << 16;
+      p[f >> 1] = d;
+      p[f + 2 >> 1] = d >>> 16;
+      t = t + 1 | 0;
+      v = e + v | 0;
+      h = 0;
+     }
+     z = (r[h + 152848 | 0] << 2) + k | 0;
+     j = s[(j << 1) + b >> 1];
+     f = y | j << 16;
+     d = e;
+     while (1) {
+      d = d - l | 0;
+      x = z + (d << 2) | 0;
+      p[x >> 1] = f;
+      p[x + 2 >> 1] = f >>> 16;
+      if ((d | 0) > 0) {
+       continue;
+      }
+      break;
+     }
+     f = s[n >> 1] + -1 | 0;
+     p[n >> 1] = f;
+     h = h + i | 0;
+     if (f & 65535) {
+      continue;
+     }
+     break;
+    }
+   }
+   i = i >>> 1 | 0;
+   l = l << 1;
+   m = g;
+   if ((g | 0) != (o | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return v;
+}
+function dL(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ f = Ca - 432 | 0;
+ Ca = f;
+ a : {
+  b = j$(353889);
+  if (!b) {
+   break a;
+  }
+  while (1) {
+   b : {
+    c : {
+     c = r[b | 0];
+     if (c >>> 0 > 9) {
+      if ((c | 0) == 32) {
+       break b;
+      }
+      break c;
+     }
+     switch (c - 1 | 0) {
+     case 8:
+      break b;
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+      break c;
+     default:
+      break a;
+     }
+    }
+    h = b + 128 | 0;
+    d = 0;
+    e = b;
+    d : {
+     while (1) {
+      e : {
+       f : {
+        g = c & 255;
+        if (!(!g | (g | 0) == 58)) {
+         o[(f + 288 | 0) + d | 0] = c;
+         d = d + 1 | 0;
+         if ((d | 0) != 128) {
+          break f;
+         }
+         d = 128;
+         e = h;
+        }
+        o[(f + 288 | 0) + d | 0] = 0;
+        if ((b | 0) == (e | 0) | r[e | 0] != 58) {
+         break a;
+        }
+        h = e + 129 | 0;
+        b = 1;
+        g = e + 1 | 0;
+        c = 0;
+        while (1) {
+         d = r[g | 0];
+         if (!d | (d | 0) == 61) {
+          break e;
+         }
+         o[(f + 144 | 0) + c | 0] = d;
+         b = b + 1 | 0;
+         g = e + b | 0;
+         d = 128;
+         c = c + 1 | 0;
+         if ((c | 0) != 128) {
+          continue;
+         }
+         break;
+        }
+        b = 129;
+        break d;
+       }
+       e = e + 1 | 0;
+       c = r[e | 0];
+       continue;
+      }
+      break;
+     }
+     d = c;
+     h = g;
+    }
+    o[(f + 144 | 0) + d | 0] = 0;
+    if ((b | 0) == 1 | r[h | 0] != 61) {
+     break a;
+    }
+    e = h + 129 | 0;
+    d = 1;
+    b = h + 1 | 0;
+    c = 0;
+    g : {
+     while (1) {
+      h : {
+       g = r[b | 0];
+       if (g >>> 0 > 9) {
+        if ((g | 0) == 32) {
+         break g;
+        }
+        break h;
+       }
+       switch (g - 1 | 0) {
+       case 0:
+       case 1:
+       case 2:
+       case 3:
+       case 4:
+       case 5:
+       case 6:
+       case 7:
+        break h;
+       default:
+        break g;
+       }
+      }
+      o[c + f | 0] = g;
+      d = d + 1 | 0;
+      b = h + d | 0;
+      c = c + 1 | 0;
+      if ((c | 0) != 128) {
+       continue;
+      }
+      break;
+     }
+     d = 129;
+     c = 128;
+     b = e;
+    }
+    o[c + f | 0] = 0;
+    i : {
+     e = r[b | 0];
+     if (e >>> 0 > 9) {
+      if ((e | 0) != 32) {
+       break a;
+      }
+      break i;
+     }
+     switch (e - 1 | 0) {
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+      break a;
+     default:
+      break i;
+     }
+    }
+    if ((d | 0) == 1) {
+     break a;
+    }
+    lg(a, f + 288 | 0, f + 144 | 0, f);
+    if (!r[b | 0]) {
+     break a;
+    }
+   }
+   b = b + 1 | 0;
+   continue;
+  }
+ }
+ Ca = f + 432 | 0;
+}
+function gW(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  b : {
+   if (!a) {
+    break b;
+   }
+   d = q[a + 476 >> 2] + -2 | 0;
+   if (d >>> 0 <= 1) {
+    if (!(d - 1)) {
+     q[a + 280 >> 2] = 33;
+     return 0;
+    }
+    q[a + 280 >> 2] = 36;
+    return 0;
+   }
+   h = q[a + 32 >> 2];
+   c : {
+    if (!h) {
+     break c;
+    }
+    d = q[a + 28 >> 2];
+    if (!d) {
+     break c;
+    }
+    b = h - d | 0;
+   }
+   e = q[a + 28 >> 2];
+   if ((b | 0) >= 1024) {
+    break b;
+   }
+   b = 0;
+   d : {
+    if (!e) {
+     break d;
+    }
+    d = q[a + 24 >> 2];
+    if (!d) {
+     break d;
+    }
+    b = e - d | 0;
+   }
+   b = b + 1024 | 0;
+   if ((b | 0) <= -1) {
+    break a;
+   }
+   g = q[a + 24 >> 2];
+   e : {
+    f : {
+     if (!g) {
+      break f;
+     }
+     f = q[a + 8 >> 2];
+     if (!f) {
+      break f;
+     }
+     c = g - f | 0;
+     d = 1024;
+     if ((c | 0) > 1023) {
+      break e;
+     }
+    }
+    d = c;
+   }
+   b = d + b | 0;
+   g : {
+    h : {
+     i : {
+      j : {
+       if (h) {
+        c = q[a + 8 >> 2];
+        if ((b | 0) <= ((c ? h - c | 0 : 0) | 0)) {
+         break j;
+        }
+        if (!g) {
+         break i;
+        }
+        c = h - g | 0;
+        if (c) {
+         break h;
+        }
+        break i;
+       }
+       if ((b | 0) > 0) {
+        break i;
+       }
+      }
+      k : {
+       if (g) {
+        b = q[a + 8 >> 2];
+        c = b ? g - b | 0 : 0;
+        if ((d | 0) < (c | 0)) {
+         break k;
+        }
+        break g;
+       }
+       if ((d | 0) > -1) {
+        break g;
+       }
+       b = q[a + 8 >> 2];
+       c = 0;
+      }
+      c = c - d | 0;
+      _$(b, c + b | 0, (d + e | 0) - g | 0);
+      e = q[a + 28 >> 2] - c | 0;
+      q[a + 28 >> 2] = e;
+      q[a + 24 >> 2] = q[a + 24 >> 2] - c;
+      break g;
+     }
+     c = 1024;
+    }
+    while (1) {
+     c = c << 1;
+     if ((c | 0) > 0 ? (c | 0) < (b | 0) : 0) {
+      continue;
+     }
+     break;
+    }
+    if ((c | 0) <= 0) {
+     break a;
+    }
+    b = n[q[a + 12 >> 2]](c) | 0;
+    if (!b) {
+     break a;
+    }
+    q[a + 32 >> 2] = b + c;
+    f = q[a + 24 >> 2];
+    l : {
+     if (f) {
+      e = 0;
+      c = q[a + 28 >> 2];
+      f = Y$(b, f - d | 0, d + (c ? c - f | 0 : 0) | 0);
+      n[q[a + 20 >> 2]](q[a + 8 >> 2]);
+      q[a + 8 >> 2] = f;
+      b = q[a + 28 >> 2];
+      m : {
+       if (!b) {
+        break m;
+       }
+       c = q[a + 24 >> 2];
+       if (!c) {
+        break m;
+       }
+       e = b - c | 0;
+      }
+      e = d + (e + f | 0) | 0;
+      q[a + 28 >> 2] = e;
+      b = d + f | 0;
+      break l;
+     }
+     q[a + 8 >> 2] = b;
+     q[a + 28 >> 2] = b;
+     e = b;
+    }
+    q[a + 24 >> 2] = b;
+   }
+   q[a + 292 >> 2] = 0;
+   q[a + 284 >> 2] = 0;
+   q[a + 288 >> 2] = 0;
+  }
+  return e;
+ }
+ q[a + 280 >> 2] = 1;
+ return 0;
+}
+function WK(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  b : {
+   c : {
+    h = r[a | 0];
+    if ((h | 0) != 117) {
+     break c;
+    }
+    d : {
+     b = r[a + 1 | 0];
+     if ((b | 0) != 110 | r[a + 2 | 0] != 105) {
+      break d;
+     }
+     c = r[a + 3 | 0];
+     d = c + -48 | 0;
+     g = d >>> 0 > 9 ? c + -65 >>> 0 > 5 ? 16 : c + -55 | 0 : d;
+     if (g >>> 0 > 15) {
+      break d;
+     }
+     c = r[a + 4 | 0];
+     d = c + -48 | 0;
+     e = d >>> 0 > 9 ? c + -65 >>> 0 > 5 ? 16 : c + -55 | 0 : d;
+     if (e >>> 0 > 15) {
+      break d;
+     }
+     c = r[a + 5 | 0];
+     d = c + -48 | 0;
+     f = d >>> 0 > 9 ? c + -65 >>> 0 > 5 ? 16 : c + -55 | 0 : d;
+     if (f >>> 0 > 15) {
+      break d;
+     }
+     c = r[a + 6 | 0];
+     d = c + -48 | 0;
+     c = d >>> 0 > 9 ? c + -65 >>> 0 > 5 ? 16 : c + -55 | 0 : d;
+     if (c >>> 0 > 15) {
+      break d;
+     }
+     c = c + (f + (e + (g << 4) << 4) << 4) | 0;
+     d = r[a + 7 | 0];
+     if (!d) {
+      break a;
+     }
+     if ((d | 0) != 46) {
+      break d;
+     }
+     return c | -2147483648;
+    }
+    c = b + -65 >>> 0 > 5 ? 16 : b + -55 | 0;
+    b = b + -48 | 0;
+    d = b >>> 0 > 9 ? c : b;
+    g = d >>> 0 > 15;
+    if (g) {
+     break c;
+    }
+    b = r[a + 2 | 0];
+    c = b + -48 | 0;
+    e = c >>> 0 > 9 ? b + -65 >>> 0 > 5 ? 16 : b + -55 | 0 : c;
+    f = e >>> 0 > 15;
+    if (f) {
+     break c;
+    }
+    b = r[a + 3 | 0];
+    c = b + -48 | 0;
+    i = c >>> 0 > 9 ? b + -65 >>> 0 > 5 ? 16 : b + -55 | 0 : c;
+    j = i >>> 0 > 15;
+    if (j) {
+     break c;
+    }
+    b = r[a + 4 | 0];
+    c = b + -48 | 0;
+    b = c >>> 0 > 9 ? b + -65 >>> 0 > 5 ? 16 : b + -55 | 0 : c;
+    c = b >>> 0 > 15;
+    if (c) {
+     break c;
+    }
+    d = g ? 0 : d;
+    d = f ? d : e + (d << 4) | 0;
+    d = j ? d : (d << 4) + i | 0;
+    c = c ? d : b + (d << 4) | 0;
+    b = r[a + 5 | 0];
+    d = b + -48 | 0;
+    e = d >>> 0 > 9 ? b + -65 >>> 0 > 5 ? 16 : b + -55 | 0 : d;
+    f = e >>> 0 > 15;
+    b = a + 5 | 0;
+    e : {
+     if (f) {
+      break e;
+     }
+     b = r[a + 6 | 0];
+     d = b + -48 | 0;
+     d = d >>> 0 > 9 ? b + -65 >>> 0 > 5 ? 16 : b + -55 | 0 : d;
+     b = d >>> 0 > 15;
+     c = f ? c : e + (c << 4) | 0;
+     c = b ? c : d + (c << 4) | 0;
+     b = b ? a + 6 | 0 : a + 7 | 0;
+    }
+    d = r[b | 0];
+    if (!d) {
+     break a;
+    }
+    b = a;
+    if ((d | 0) != 46) {
+     break b;
+    }
+    return c | -2147483648;
+   }
+   b = a;
+  }
+  while (1) {
+   f : {
+    g : {
+     if ((h | 0) != 46) {
+      if (h) {
+       break g;
+      }
+      return XK(a, b) | 0;
+     }
+     if (b >>> 0 > a >>> 0) {
+      break f;
+     }
+    }
+    h = r[b + 1 | 0];
+    b = b + 1 | 0;
+    continue;
+   }
+   break;
+  }
+  c = XK(a, b) | -2147483648;
+ }
+ return c | 0;
+}
+function px(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ g = q[b + 4 >> 2];
+ a : {
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 6) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  h = a + 4 | 0;
+  if (g >>> 0 > h >>> 0 | e >>> 0 < h >>> 0 | e - h >>> 0 < 2) {
+   break a;
+  }
+  d = c + -2 | 0;
+  q[b + 12 >> 2] = d;
+  if ((c | 0) < 2) {
+   break a;
+  }
+  k = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  if (k) {
+   d = a + 6 | 0;
+   if (g >>> 0 > d >>> 0 | e >>> 0 < d >>> 0 | e - d >>> 0 < k << 1 >>> 0) {
+    break a;
+   }
+   d = c + -3 | 0;
+   q[b + 12 >> 2] = d;
+   if ((c | 0) < 3) {
+    break a;
+   }
+   j = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  }
+  c = q[b + 16 >> 2] + j | 0;
+  q[b + 16 >> 2] = c;
+  if ((c | 0) > 16383) {
+   break a;
+  }
+  b : {
+   if (!(r[a + 3 | 0] & 16)) {
+    c = d;
+    break b;
+   }
+   c = ((r[a + 5 | 0] << 1 | r[a + 4 | 0] << 9) + a | 0) + 6 | 0;
+   if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 2) {
+    break a;
+   }
+   c = d + -1 | 0;
+   q[b + 12 >> 2] = c;
+   if ((d | 0) >= 1) {
+    break b;
+   }
+   break a;
+  }
+  q[i + 12 >> 2] = r[a + 1 | 0] | r[a | 0] << 8;
+  q[b + 12 >> 2] = c + -1;
+  c : {
+   d : {
+    if ((c | 0) < 1) {
+     break d;
+    }
+    d = a + 6 | 0;
+    f = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+    if (!f) {
+     break c;
+    }
+    if (e >>> 0 < d >>> 0 | g >>> 0 > d >>> 0 | e - d >>> 0 < f << 1 >>> 0) {
+     break d;
+    }
+    q[b + 12 >> 2] = c + -2;
+    if ((c | 0) < 2) {
+     break d;
+    }
+    e = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+    if (!e) {
+     break c;
+    }
+    c = 0;
+    while (1) {
+     if (!qx(((c << 1) + h | 0) + 2 | 0, b, a, i + 12 | 0)) {
+      break d;
+     }
+     c = c + 1 | 0;
+     if ((e | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+    break c;
+   }
+   f = 0;
+   break a;
+  }
+  f = 1;
+  if (q[b + 24 >> 2] | (r[a + 1 | 0] | r[a | 0] << 8) != 9) {
+   break a;
+  }
+  c = 1;
+  e = 0;
+  b = d;
+  d = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  b = d ? b : 271040;
+  b = r[b | 0] << 8 | r[b + 1 | 0];
+  b = b ? b + a | 0 : 271040;
+  if ((r[b | 0] << 8 | r[b + 1 | 0]) == 1) {
+   e = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+  }
+  if (j >>> 0 <= 1) {
+   break a;
+  }
+  while (1) {
+   f = 0;
+   b = d >>> 0 > c >>> 0 ? ((c << 1) + h | 0) + 2 | 0 : 271040;
+   b = r[b | 0] << 8 | r[b + 1 | 0];
+   b = b ? b + a | 0 : 271040;
+   if ((r[b | 0] << 8 | r[b + 1 | 0]) == 1) {
+    b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+   } else {
+    b = 0;
+   }
+   if ((b | 0) != (e | 0)) {
+    break a;
+   }
+   f = 1;
+   c = c + 1 | 0;
+   if ((j | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = i + 16 | 0;
+ return f;
+}
+function Vv(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ g = q[b + 4 >> 2];
+ a : {
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 6) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  h = a + 4 | 0;
+  if (g >>> 0 > h >>> 0 | e >>> 0 < h >>> 0 | e - h >>> 0 < 2) {
+   break a;
+  }
+  d = c + -2 | 0;
+  q[b + 12 >> 2] = d;
+  if ((c | 0) < 2) {
+   break a;
+  }
+  k = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  if (k) {
+   d = a + 6 | 0;
+   if (g >>> 0 > d >>> 0 | e >>> 0 < d >>> 0 | e - d >>> 0 < k << 1 >>> 0) {
+    break a;
+   }
+   d = c + -3 | 0;
+   q[b + 12 >> 2] = d;
+   if ((c | 0) < 3) {
+    break a;
+   }
+   j = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  }
+  c = q[b + 16 >> 2] + j | 0;
+  q[b + 16 >> 2] = c;
+  if ((c | 0) > 16383) {
+   break a;
+  }
+  b : {
+   if (!(r[a + 3 | 0] & 16)) {
+    c = d;
+    break b;
+   }
+   c = ((r[a + 5 | 0] << 1 | r[a + 4 | 0] << 9) + a | 0) + 6 | 0;
+   if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 2) {
+    break a;
+   }
+   c = d + -1 | 0;
+   q[b + 12 >> 2] = c;
+   if ((d | 0) >= 1) {
+    break b;
+   }
+   break a;
+  }
+  q[i + 12 >> 2] = r[a + 1 | 0] | r[a | 0] << 8;
+  q[b + 12 >> 2] = c + -1;
+  c : {
+   d : {
+    if ((c | 0) < 1) {
+     break d;
+    }
+    d = a + 6 | 0;
+    f = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+    if (!f) {
+     break c;
+    }
+    if (e >>> 0 < d >>> 0 | g >>> 0 > d >>> 0 | e - d >>> 0 < f << 1 >>> 0) {
+     break d;
+    }
+    q[b + 12 >> 2] = c + -2;
+    if ((c | 0) < 2) {
+     break d;
+    }
+    e = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+    if (!e) {
+     break c;
+    }
+    c = 0;
+    while (1) {
+     if (!Wv(((c << 1) + h | 0) + 2 | 0, b, a, i + 12 | 0)) {
+      break d;
+     }
+     c = c + 1 | 0;
+     if ((e | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+    break c;
+   }
+   f = 0;
+   break a;
+  }
+  f = 1;
+  if (q[b + 24 >> 2] | (r[a + 1 | 0] | r[a | 0] << 8) != 7) {
+   break a;
+  }
+  c = 1;
+  e = 0;
+  b = d;
+  d = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  b = d ? b : 271040;
+  b = r[b | 0] << 8 | r[b + 1 | 0];
+  b = b ? b + a | 0 : 271040;
+  if ((r[b | 0] << 8 | r[b + 1 | 0]) == 1) {
+   e = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+  }
+  if (j >>> 0 <= 1) {
+   break a;
+  }
+  while (1) {
+   f = 0;
+   b = d >>> 0 > c >>> 0 ? ((c << 1) + h | 0) + 2 | 0 : 271040;
+   b = r[b | 0] << 8 | r[b + 1 | 0];
+   b = b ? b + a | 0 : 271040;
+   if ((r[b | 0] << 8 | r[b + 1 | 0]) == 1) {
+    b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+   } else {
+    b = 0;
+   }
+   if ((b | 0) != (e | 0)) {
+    break a;
+   }
+   f = 1;
+   c = c + 1 | 0;
+   if ((j | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = i + 16 | 0;
+ return f;
+}
+function TL(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ f = Ca - 48 | 0;
+ Ca = f;
+ g = q[((b << 2) + a | 0) - -64 >> 2];
+ a : {
+  if (we(g, c, d >>> 0 <= 2 ? q[(d << 2) + 354968 >> 2] : 2568)) {
+   a = q[a + 16 >> 2];
+   q[f + 16 >> 2] = c;
+   Yd(a, 2, 354821, f + 16 | 0);
+   a = 0;
+   break a;
+  }
+  if (!(o[g + 12 | 0] & 1 | t[a + 8 >> 2] < 56)) {
+   vL(q[g + 84 >> 2]);
+  }
+  j = q[a + 4 >> 2];
+  b = cg(g, 2);
+  b : {
+   if (!(!b | s[b >> 1] == 65535)) {
+    d = s[b + 4 >> 1];
+    if (d) {
+     break b;
+    }
+   }
+   d = w(q[g + 12 >> 2] >>> 1 & 1, 300) + 400 | 0;
+  }
+  c : {
+   if (j >>> 0 <= d + 150 >>> 0) {
+    break c;
+   }
+   b = q[g + 84 >> 2];
+   if (q[b + 72 >> 2] != 1869968492) {
+    break c;
+   }
+   d = b + 108 | 0;
+   b = q[b + 4 >> 2];
+   b = (Ee(s[b + 68 >> 1], q[q[b + 88 >> 2] + 20 >> 2]) | 0) / 64 | 0;
+   tg(d, b, b);
+  }
+  if (HL(q[g + 84 >> 2], f + 44 | 0)) {
+   a = q[a + 16 >> 2];
+   q[f >> 2] = c;
+   Yd(a, 2, 354821, f);
+   a = 0;
+   break a;
+  }
+  d : {
+   if (!(e & 4)) {
+    a = q[f + 44 >> 2];
+    break d;
+   }
+   q[f + 32 >> 2] = 65536;
+   q[f + 36 >> 2] = 0;
+   q[f + 24 >> 2] = 0;
+   q[f + 28 >> 2] = -65536;
+   a = 0;
+   b = cg(g, 2);
+   if (b) {
+    a = Ee(p[b + 72 >> 1], q[q[g + 88 >> 2] + 20 >> 2]);
+   }
+   wf(q[f + 44 >> 2] + 20 | 0, 0, 0 - a | 0);
+   vf(q[f + 44 >> 2] + 20 | 0, f + 24 | 0);
+   wf(q[f + 44 >> 2] + 20 | 0, q[q[g + 84 >> 2] + 52 >> 2], a);
+   a = q[f + 44 >> 2];
+   q[a + 12 >> 2] = q[q[g + 84 >> 2] + 60 >> 2];
+  }
+  c = cg(g, 2);
+  d = cg(g, 5);
+  e : {
+   if (!(e & 3)) {
+    break e;
+   }
+   j = e & 2;
+   e = e & 1;
+   h = (j << 1) + (e << 2) | 0;
+   b = a + 20 | 0;
+   if ((h ^ 32767) < p[b + 2 >> 1]) {
+    break e;
+   }
+   q[160854] = 0;
+   i = a + 24 | 0;
+   k = i, l = Md(q[i >> 2], h + p[a + 22 >> 1] | 0, 8), q[k >> 2] = l;
+   if (q[160854]) {
+    break e;
+   }
+   q[160854] = 0;
+   i = a + 28 | 0;
+   k = i, l = Md(q[i >> 2], h + p[a + 22 >> 1] | 0, 1), q[k >> 2] = l;
+   if (q[160854]) {
+    break e;
+   }
+   h = (j >>> 1 | 0) + e | 0;
+   if ((h ^ 32767) < p[b >> 1]) {
+    break e;
+   }
+   q[160854] = 0;
+   i = a + 32 | 0;
+   k = i, l = Md(q[i >> 2], h + p[a + 20 >> 1] | 0, 2), q[k >> 2] = l;
+   if (q[160854]) {
+    break e;
+   }
+   h = q[a + 12 >> 2] + 512 >> 10;
+   a = q[q[g + 88 >> 2] + 20 >> 2];
+   g = ug(b);
+   if (!(!e | !d)) {
+    e = Ee(p[d + 8 >> 1], a);
+    d = Ee(p[d + 10 >> 1], (a | 0) / 2 | 0);
+    if ((e | 0) > 0 | (d | 0) < 1) {
+     break e;
+    }
+    UL(b, h, g, e, d);
+   }
+   if (!j | !c) {
+    break e;
+   }
+   d = Ee(p[c + 28 >> 1], a);
+   a = Ee(p[c + 26 >> 1], (a | 0) / 2 | 0);
+   if ((d | 0) < 0 | (a | 0) < 1) {
+    break e;
+   }
+   UL(b, h, g, d, a);
+  }
+  a = q[f + 44 >> 2];
+ }
+ Ca = f + 48 | 0;
+ return a;
+}
+function UD(a) {
+ var b = 0, c = 0;
+ c = a >>> 12 | 0;
+ a : {
+  if (c >>> 0 > 17) {
+   break a;
+  }
+  b : {
+   switch (c - 1 | 0) {
+   default:
+    c = a + -40 | 0;
+    if (c >>> 0 <= 23) {
+     b = r[c + 255216 | 0];
+     break a;
+    }
+    if (a + -160 >>> 0 <= 55) {
+     b = r[a + 255080 | 0];
+     break a;
+    }
+    if ((a & -8) == 840) {
+     b = r[a + 254456 | 0];
+     break a;
+    }
+    if (a + -2304 >>> 0 <= 1271) {
+     b = r[a + 253e3 | 0];
+     break a;
+    }
+    if (a + -3864 >>> 0 > 175) {
+     break a;
+    }
+    b = r[a + 252712 | 0];
+    break a;
+   case 0:
+    if (a + -4096 >>> 0 <= 159) {
+     b = r[a + 252656 | 0];
+     break a;
+    }
+    if (a + -5888 >>> 0 <= 239) {
+     b = r[a + 251024 | 0];
+     break a;
+    }
+    if (a + -6400 >>> 0 <= 415) {
+     b = r[a + 250752 | 0];
+     break a;
+    }
+    if (a + -6912 >>> 0 <= 335) {
+     b = r[a + 250656 | 0];
+     break a;
+    }
+    if (a + -7376 >>> 0 <= 47) {
+     b = r[a + 250528 | 0];
+     break a;
+    }
+    if ((a & -8) != 7672) {
+     break a;
+    }
+    b = r[a + 250280 | 0];
+    break a;
+   case 1:
+    if (a + -8200 >>> 0 <= 15) {
+     b = r[a + 249760 | 0];
+     break a;
+    }
+    if (a + -8288 >>> 0 <= 39) {
+     b = r[a + 249688 | 0];
+     break a;
+    }
+    c = a & -8;
+    if ((c | 0) != 9672) {
+     if ((c | 0) != 8432) {
+      break a;
+     }
+     b = r[a + 249584 | 0];
+     break a;
+    }
+    b = r[a + 248352 | 0];
+    break a;
+   case 9:
+    if (a + -43008 >>> 0 <= 759) {
+     b = r[a + 215024 | 0];
+     break a;
+    }
+    if ((a & -64) != 43968) {
+     break a;
+    }
+    b = r[a + 214824 | 0];
+    break a;
+   case 14:
+    if ((a & -16) != 65024) {
+     break a;
+    }
+    b = r[a + 193832 | 0];
+    break a;
+   case 15:
+    if (a + -68096 >>> 0 > 79) {
+     break a;
+    }
+    b = r[a + 190776 | 0];
+    break a;
+   case 2:
+   case 3:
+   case 4:
+   case 5:
+   case 6:
+   case 7:
+   case 8:
+   case 10:
+   case 11:
+   case 12:
+   case 13:
+    break a;
+   case 16:
+    break b;
+   }
+  }
+  if (a + -69632 >>> 0 <= 191) {
+   b = r[a + 189320 | 0];
+   break a;
+  }
+  if (a + -69888 >>> 0 <= 319) {
+   b = r[a + 189256 | 0];
+   break a;
+  }
+  if (a + -70272 >>> 0 <= 247) {
+   b = r[a + 189192 | 0];
+   break a;
+  }
+  if (a + -70656 >>> 0 <= 223) {
+   b = r[a + 189056 | 0];
+   break a;
+  }
+  if (a + -71040 >>> 0 <= 447) {
+   b = r[a + 188896 | 0];
+   break a;
+  }
+  if ((a & -64) == 71680) {
+   b = r[a + 188704 | 0];
+   break a;
+  }
+  if (a + -72096 >>> 0 <= 255) {
+   b = r[a + 188352 | 0];
+   break a;
+  }
+  if (a + -72704 >>> 0 <= 183) {
+   b = r[a + 188e3 | 0];
+   break a;
+  }
+  if (a + -72960 >>> 0 <= 175) {
+   b = r[a + 187928 | 0];
+   break a;
+  }
+  if (a + -73440 >>> 0 > 23) {
+   break a;
+  }
+  b = r[a + 187624 | 0];
+ }
+ return b;
+}
+function hk(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ j = Ca - 16 | 0;
+ Ca = j;
+ g = 6;
+ a : {
+  if (!a) {
+   break a;
+  }
+  i = q[a + 12 >> 2];
+  if (i >>> 0 <= b >>> 0) {
+   break a;
+  }
+  k = q[a >> 2];
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        e = q[a + 28 >> 2];
+        if (!e) {
+         g = yg(k, (q[a + 8 >> 2] + q[a + 4 >> 2] | 0) + w(r[a + 16 | 0], b) | 0);
+         if (g) {
+          break a;
+         }
+         g = zg(q[a >> 2], j + 12 | 0, r[a + 16 | 0]);
+         if (g) {
+          break a;
+         }
+         e = r[a + 16 | 0];
+         if (!e) {
+          break f;
+         }
+         g = e >>> 0 > 1 ? e : 1;
+         while (1) {
+          h = r[(j + 12 | 0) + f | 0] | h << 8;
+          f = f + 1 | 0;
+          if ((g | 0) != (f | 0)) {
+           continue;
+          }
+          break;
+         }
+         if (!h) {
+          break f;
+         }
+         while (1) {
+          g = zg(q[a >> 2], j + 12 | 0, e & 255);
+          h : {
+           if (g) {
+            break h;
+           }
+           f = r[a + 16 | 0];
+           if (!f) {
+            break h;
+           }
+           i = f >>> 0 > 1 ? f : 1;
+           e = 0;
+           f = 0;
+           while (1) {
+            f = r[(j + 12 | 0) + e | 0] | f << 8;
+            e = e + 1 | 0;
+            if ((i | 0) != (e | 0)) {
+             continue;
+            }
+            break;
+           }
+           if (f) {
+            break g;
+           }
+          }
+          b = b + 1 | 0;
+          if (b >>> 0 >= t[a + 12 >> 2]) {
+           break e;
+          }
+          e = r[a + 16 | 0];
+          continue;
+         }
+        }
+        g = 0;
+        h = q[e + (b << 2) >> 2];
+        if (!h) {
+         break e;
+        }
+        while (1) {
+         b = b + 1 | 0;
+         f = q[e + (b << 2) >> 2];
+         if (f) {
+          break g;
+         }
+         if ((b | 0) != (i | 0)) {
+          continue;
+         }
+         break;
+        }
+        break e;
+       }
+       g = 0;
+       b = q[k + 4 >> 2];
+       e = b + 1 | 0;
+       if (f >>> 0 <= e >>> 0) {
+        break d;
+       }
+       i = q[a + 20 >> 2];
+       break c;
+      }
+      h = 0;
+      g = 0;
+     }
+     b = q[k + 4 >> 2];
+     f = 0;
+    }
+    i = q[a + 20 >> 2];
+    e = b + 1 | 0;
+    if (i >>> 0 <= e - f >>> 0) {
+     break b;
+    }
+   }
+   f = e - i | 0;
+  }
+  if (!(!h | f >>> 0 <= h >>> 0)) {
+   b = f - h | 0;
+   q[d >> 2] = b;
+   d = q[a + 32 >> 2];
+   if (d) {
+    q[c >> 2] = (d + h | 0) + -1;
+    break a;
+   }
+   g = yg(k, (q[a + 20 >> 2] + h | 0) + -1 | 0);
+   if (g) {
+    break a;
+   }
+   g = Jg(k, b, c);
+   break a;
+  }
+  q[c >> 2] = 0;
+  q[d >> 2] = 0;
+ }
+ Ca = j + 16 | 0;
+ return g;
+}
+function HI(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0;
+ c = Ca - 17408 | 0;
+ Ca = c;
+ a : {
+  if (!a) {
+   a = 96;
+   break a;
+  }
+  d = q[b + 4 >> 2];
+  if (!d) {
+   a = 20;
+   break a;
+  }
+  a = p[d + 2 >> 1];
+  b : {
+   if (!a) {
+    break b;
+   }
+   e = p[d >> 1];
+   if ((e | 0) < 1) {
+    break b;
+   }
+   f = q[d + 12 >> 2];
+   if (!f) {
+    a = 20;
+    break a;
+   }
+   if (!q[d + 4 >> 2]) {
+    a = 20;
+    break a;
+   }
+   if ((a | 0) != (p[((e << 1) + f | 0) + -2 >> 1] + 1 | 0)) {
+    a = 20;
+    break a;
+   }
+   a = 19;
+   if (r[b + 8 | 0] & 3) {
+    break a;
+   }
+   b = q[b >> 2];
+   if (!b) {
+    a = 20;
+    break a;
+   }
+   if (!q[b + 4 >> 2]) {
+    break b;
+   }
+   a = 0;
+   if (!q[b >> 2]) {
+    break a;
+   }
+   a = 20;
+   if (!q[b + 12 >> 2]) {
+    break a;
+   }
+   e = q[d + 16 >> 2];
+   q[c + 16520 >> 2] = e;
+   f = q[d + 12 >> 2];
+   a = c + 16512 | 0;
+   q[a >> 2] = q[d + 8 >> 2];
+   q[a + 4 >> 2] = f;
+   a = q[d + 4 >> 2];
+   q[c + 16504 >> 2] = q[d >> 2];
+   q[c + 16508 >> 2] = a;
+   d = q[b + 12 >> 2];
+   a = c + 16488 | 0;
+   q[a >> 2] = q[b + 8 >> 2];
+   q[a + 4 >> 2] = d;
+   d = q[b + 20 >> 2];
+   a = c + 16496 | 0;
+   q[a >> 2] = q[b + 16 >> 2];
+   q[a + 4 >> 2] = d;
+   a = q[b + 4 >> 2];
+   q[c + 16480 >> 2] = q[b >> 2];
+   q[c + 16484 >> 2] = a;
+   q[c + 16412 >> 2] = c + 16384;
+   a = e & 256;
+   q[c + 16404 >> 2] = a ? 30 : 2;
+   q[c + 16400 >> 2] = a ? 256 : 32;
+   q[c + 16384 >> 2] = a ? 12 : 6;
+   a = a ? 4096 : 64;
+   q[c + 16388 >> 2] = a;
+   q[c + 16396 >> 2] = a >>> 6;
+   q[c + 16392 >> 2] = a >>> 1;
+   q[c + 16408 >> 2] = c;
+   a = c;
+   c : {
+    if (e & 8) {
+     b = 2;
+    } else {
+     b = e >>> 2 & 4;
+     o[c + 16548 | 0] = b;
+     if (e & 32) {
+      break c;
+     }
+     b = b | 1;
+    }
+    o[a + 16548 | 0] = b;
+   }
+   a = q[c + 16480 >> 2] + -1 | 0;
+   p[c + 17330 >> 1] = a;
+   q[c + 17392 >> 2] = 0;
+   q[c + 16544 >> 2] = 638;
+   q[c + 16540 >> 2] = 639;
+   q[c + 16536 >> 2] = 640;
+   q[c + 16532 >> 2] = 641;
+   p[c + 17328 >> 1] = 0;
+   p[c + 16436 >> 1] = q[c + 16484 >> 2];
+   b = q[c + 16492 >> 2];
+   q[c + 16440 >> 2] = b;
+   o[c + 16549 | 0] = (e >>> 9 ^ -1) & 1;
+   d = q[c + 16488 >> 2];
+   if ((d | 0) >= 1) {
+    q[c + 16440 >> 2] = b + w(a, d);
+   }
+   a = MI(c + 16384 | 0, 0);
+   if (a) {
+    break a;
+   }
+   if (!r[c + 16549 | 0] | r[c + 16548 | 0] == 2) {
+    break b;
+   }
+   q[c + 17392 >> 2] = 0;
+   q[c + 16544 >> 2] = 642;
+   q[c + 16540 >> 2] = 643;
+   q[c + 16536 >> 2] = 644;
+   q[c + 16532 >> 2] = 645;
+   p[c + 17328 >> 1] = 0;
+   p[c + 17330 >> 1] = s[c + 16484 >> 1] + -1;
+   a = MI(c + 16384 | 0, 1);
+   if (a) {
+    break a;
+   }
+  }
+  a = 0;
+ }
+ Ca = c + 17408 | 0;
+ return a | 0;
+}
+function vn(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ f = q[d + 8 >> 2];
+ g = q[d + 16 >> 2] + w(e, 3) | 0;
+ l = s[f + (r[g + 2 | 0] << 1) >> 1];
+ j = r[g + 1 | 0];
+ k = q[d + 4 >> 2];
+ h = k + s[f + (r[g | 0] << 1) >> 1] | 0;
+ g = r[h | 0];
+ if (g) {
+  f = 0;
+  i = g;
+  while (1) {
+   o[a + f | 0] = r[h + 1 | 0];
+   f = f + 1 | 0;
+   h = h + 1 | 0;
+   i = i + -1 | 0;
+   if (i) {
+    continue;
+   }
+   break;
+  }
+ }
+ a : {
+  if (j >>> 0 <= 9) {
+   c = c - j | 0;
+   break a;
+  }
+  if ((j + -12 & 255) >>> 0 > 8) {
+   break a;
+  }
+  f = j + -11 | 0;
+  c = c - f | 0;
+  b = b + f | 0;
+ }
+ if ((c | 0) >= 1) {
+  h = 0;
+  f = g;
+  while (1) {
+   o[a + f | 0] = r[b + h | 0];
+   f = f + 1 | 0;
+   h = h + 1 | 0;
+   if ((h | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+  g = c + g | 0;
+ }
+ h = l + k | 0;
+ b = j + -10 | 0;
+ b : {
+  if (b >>> 0 > 12) {
+   break b;
+  }
+  c : {
+   switch (b - 1 | 0) {
+   default:
+    b = (g - c | 0) + a | 0;
+    c = r[b | 0];
+    if (c >>> 0 <= 191) {
+     if ((c + -97 & 255) >>> 0 > 25) {
+      break b;
+     }
+     o[b | 0] = c ^ 32;
+     break b;
+    }
+    if (c >>> 0 <= 223) {
+     o[b + 1 | 0] = r[b + 1 | 0] ^ 32;
+     break b;
+    }
+    o[b + 2 | 0] = r[b + 2 | 0] ^ 5;
+    break b;
+   case 0:
+    if ((c | 0) < 1) {
+     break b;
+    }
+    f = (g - c | 0) + a | 0;
+    while (1) {
+     b = r[f | 0];
+     d : {
+      e : {
+       if (b >>> 0 <= 191) {
+        i = 1;
+        if ((b + -97 & 255) >>> 0 > 25) {
+         break d;
+        }
+        d = f;
+        b = b ^ 32;
+        break e;
+       }
+       if (b >>> 0 <= 223) {
+        d = f + 1 | 0;
+        i = 2;
+        b = r[f + 1 | 0] ^ 32;
+        break e;
+       }
+       d = f + 2 | 0;
+       i = 3;
+       b = r[f + 2 | 0] ^ 5;
+      }
+      o[d | 0] = b;
+     }
+     f = f + i | 0;
+     c = c - i | 0;
+     if ((c | 0) > 0) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   case 10:
+    i = (g - c | 0) + a | 0;
+    f = c;
+    c = q[d + 20 >> 2];
+    b = e << 1;
+    wn(i, f, r[c + (b | 1) | 0] << 8 | r[b + c | 0]);
+    break b;
+   case 1:
+   case 2:
+   case 3:
+   case 4:
+   case 5:
+   case 6:
+   case 7:
+   case 8:
+   case 9:
+    break b;
+   case 11:
+    break c;
+   }
+  }
+  if ((c | 0) < 1) {
+   break b;
+  }
+  f = (g - c | 0) + a | 0;
+  d = q[d + 20 >> 2];
+  b = e << 1;
+  b = r[d + (b | 1) | 0] << 8 | r[b + d | 0];
+  while (1) {
+   d = wn(f, c, b);
+   f = d + f | 0;
+   c = c - d | 0;
+   if ((c | 0) > 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ b = r[h | 0];
+ if (b) {
+  c = b;
+  f = g;
+  while (1) {
+   o[a + f | 0] = r[h + 1 | 0];
+   f = f + 1 | 0;
+   h = h + 1 | 0;
+   c = c + -1 | 0;
+   if (c) {
+    continue;
+   }
+   break;
+  }
+  g = b + g | 0;
+ }
+ return g;
+}
+function uQ(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ a : {
+  if (!a) {
+   break a;
+  }
+  c = L$(20);
+  if (!c) {
+   break a;
+  }
+  q[c + 16 >> 2] = 3;
+  q[c + 8 >> 2] = 0;
+  q[c + 12 >> 2] = 0;
+  q[c >> 2] = 1;
+  q[c + 4 >> 2] = 0;
+  a = mZ(a);
+  b : {
+   if (!a) {
+    break b;
+   }
+   if (!vQ(c, a)) {
+    M$(a);
+    break b;
+   }
+   q[g + 12 >> 2] = b;
+   c : {
+    while (1) {
+     a = q[g + 12 >> 2];
+     q[g + 12 >> 2] = a + 4;
+     a = q[a >> 2];
+     if (!a) {
+      break c;
+     }
+     a = mZ(a);
+     if (!a) {
+      break b;
+     }
+     if (vQ(c, a)) {
+      continue;
+     }
+     break;
+    }
+    M$(a);
+    break b;
+   }
+   b = 0;
+   a = L$(8);
+   if (a) {
+    q[a >> 2] = c;
+    if (q[c >> 2] != -1) {
+     q[c >> 2] = q[c >> 2] + 1;
+    }
+    q[a + 4 >> 2] = 0;
+    b = a;
+   }
+   f = q[b + 4 >> 2];
+   a = q[b >> 2];
+   e = q[a + 4 >> 2];
+   if ((f | 0) < (e | 0)) {
+    i = q[a + 12 >> 2];
+    while (1) {
+     d : {
+      d = f + 1 | 0;
+      f = q[(f << 2) + i >> 2];
+      if (!f) {
+       break d;
+      }
+      h = (g0(f) + h | 0) + 1 | 0;
+      f = d;
+      if ((d | 0) < (e | 0)) {
+       continue;
+      }
+     }
+     break;
+    }
+    q[b + 4 >> 2] = d;
+   }
+   e = 0;
+   q[b + 4 >> 2] = 0;
+   f = L$(h + 1 | 0);
+   if (f) {
+    d = f;
+    e : {
+     if (q[a + 4 >> 2] < 1) {
+      break e;
+     }
+     while (1) {
+      a = q[a + 12 >> 2];
+      q[b + 4 >> 2] = e + 1;
+      e = q[a + (e << 2) >> 2];
+      if (!e) {
+       break e;
+      }
+      a = f;
+      if ((a | 0) != (d | 0)) {
+       o[d | 0] = 47;
+       a = d + 1 | 0;
+      }
+      d = a;
+      a = g0(e);
+      d = Y$(d, e, a) + a | 0;
+      e = q[b + 4 >> 2];
+      a = q[b >> 2];
+      if ((e | 0) < q[a + 4 >> 2]) {
+       continue;
+      }
+      break;
+     }
+    }
+    o[d | 0] = 0;
+    a = q[b >> 2];
+   }
+   f : {
+    if (q[a >> 2] == -1) {
+     break f;
+    }
+    d = q[a >> 2];
+    q[a >> 2] = d + -1;
+    if ((d | 0) != 1) {
+     break f;
+    }
+    e = q[a + 12 >> 2];
+    if (q[a + 4 >> 2] >= 1) {
+     d = 0;
+     while (1) {
+      M$(q[(d << 2) + e >> 2]);
+      e = q[a + 12 >> 2];
+      d = d + 1 | 0;
+      if ((d | 0) < q[a + 4 >> 2]) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (e) {
+     M$(e);
+    }
+    M$(a);
+   }
+   M$(b);
+  }
+  if (q[c >> 2] == -1) {
+   break a;
+  }
+  a = q[c >> 2];
+  q[c >> 2] = a + -1;
+  if ((a | 0) != 1) {
+   break a;
+  }
+  b = q[c + 12 >> 2];
+  if (q[c + 4 >> 2] >= 1) {
+   a = 0;
+   while (1) {
+    M$(q[(a << 2) + b >> 2]);
+    b = q[c + 12 >> 2];
+    a = a + 1 | 0;
+    if ((a | 0) < q[c + 4 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (b) {
+   M$(b);
+  }
+  M$(c);
+ }
+ Ca = g + 16 | 0;
+ return f;
+}
+function Yk(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ f = q[a + 16 >> 2];
+ if (t[a + 20 >> 2] >= f + 8 >>> 0) {
+  g = q[a + 32 >> 2];
+  a : {
+   b : {
+    c : {
+     c = q[f >> 2];
+     d = r[c | 0];
+     if ((d | 0) != 255) {
+      if ((d | 0) != 30) {
+       break c;
+      }
+      b = Vk(a, c, 0, 0) >> 16;
+      break b;
+     }
+     b = ((r[c + 3 | 0] | (r[c + 2 | 0] << 8 | r[c + 1 | 0] << 16)) << 8) + 32768 >> 16;
+     break b;
+    }
+    e = c + 1 | 0;
+    b = d + -28 | 0;
+    if (b >>> 0 <= 1) {
+     if (b - 1) {
+      b = 0;
+      c = c + 2 | 0;
+      if (t[a + 8 >> 2] <= c >>> 0) {
+       break a;
+      }
+      b = (r[c | 0] | r[e | 0] << 8) << 16 >> 16;
+      break b;
+     }
+     b = 0;
+     if (t[a + 8 >> 2] <= c + 4 >>> 0) {
+      break a;
+     }
+     b = r[c + 1 | 0] | r[c + 2 | 0] << 8 | (r[c + 3 | 0] << 16 | r[c + 4 | 0] << 24);
+     b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+     break b;
+    }
+    b = d + -139 | 0;
+    if (d >>> 0 <= 246) {
+     break b;
+    }
+    c = q[a + 8 >> 2];
+    if (d >>> 0 <= 250) {
+     b = 0;
+     if (c >>> 0 <= e >>> 0) {
+      break a;
+     }
+     b = (r[e | 0] | d << 8) + -63124 | 0;
+     break b;
+    }
+    b = 0;
+    if (c >>> 0 <= e >>> 0) {
+     break a;
+    }
+    b = 64148 - (r[e | 0] | d << 8) | 0;
+   }
+   if ((b | 0) >= 0) {
+    break a;
+   }
+   return 3;
+  }
+  q[g + 120 >> 2] = b;
+  d : {
+   e : {
+    f : {
+     c = q[f + 4 >> 2];
+     d = r[c | 0];
+     if ((d | 0) != 255) {
+      if ((d | 0) != 30) {
+       break f;
+      }
+      b = Vk(a, c, 0, 0) >> 16;
+      break e;
+     }
+     b = ((r[c + 3 | 0] | (r[c + 2 | 0] << 8 | r[c + 1 | 0] << 16)) << 8) + 32768 >> 16;
+     break e;
+    }
+    e = c + 1 | 0;
+    b = d + -28 | 0;
+    if (b >>> 0 <= 1) {
+     if (b - 1) {
+      b = 0;
+      d = q[a + 8 >> 2];
+      a = c + 2 | 0;
+      if (d >>> 0 <= a >>> 0) {
+       break d;
+      }
+      b = (r[a | 0] | r[e | 0] << 8) << 16 >> 16;
+      break e;
+     }
+     b = 0;
+     if (t[a + 8 >> 2] <= c + 4 >>> 0) {
+      break d;
+     }
+     a = r[c + 1 | 0] | r[c + 2 | 0] << 8 | (r[c + 3 | 0] << 16 | r[c + 4 | 0] << 24);
+     b = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+     break e;
+    }
+    b = d + -139 | 0;
+    if (d >>> 0 <= 246) {
+     break e;
+    }
+    a = q[a + 8 >> 2];
+    if (d >>> 0 <= 250) {
+     b = 0;
+     if (a >>> 0 <= e >>> 0) {
+      break d;
+     }
+     b = (r[e | 0] | d << 8) + -63124 | 0;
+     break e;
+    }
+    b = 0;
+    if (a >>> 0 <= e >>> 0) {
+     break d;
+    }
+    b = 64148 - (r[e | 0] | d << 8) | 0;
+   }
+   if ((b | 0) >= 0) {
+    break d;
+   }
+   return 3;
+  }
+  q[g + 116 >> 2] = b;
+  a = 0;
+ } else {
+  a = 161;
+ }
+ return a | 0;
+}
+function yW(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ a : {
+  if (!q[a + 68 >> 2]) {
+   h = 1;
+   e = q[a + 80 >> 2];
+   if (!e) {
+    break a;
+   }
+   q[f + 8 >> 2] = c;
+   if (!r[b + 68 | 0]) {
+    b : {
+     if (q[a + 144 >> 2] == (b | 0)) {
+      e = a + 284 | 0;
+      c = a + 288 | 0;
+      break b;
+     }
+     e = q[a + 296 >> 2];
+     c = e + 4 | 0;
+    }
+    while (1) {
+     q[f + 4 >> 2] = q[a + 44 >> 2];
+     g = n[q[b + 56 >> 2]](b, f + 8 | 0, d, f + 4 | 0, q[a + 48 >> 2]) | 0;
+     q[c >> 2] = q[f + 8 >> 2];
+     i = q[a + 44 >> 2];
+     n[q[a + 80 >> 2]](q[a + 4 >> 2], i, q[f + 4 >> 2] - i | 0);
+     q[e >> 2] = q[f + 8 >> 2];
+     if (g >>> 0 > 1) {
+      continue;
+     }
+     break;
+    }
+    break a;
+   }
+   n[e](q[a + 4 >> 2], c, d - c | 0);
+   break a;
+  }
+  e = q[b + 64 >> 2];
+  q[f + 12 >> 2] = (e << 2) + c;
+  g = a + 412 | 0;
+  c = a + 424 | 0;
+  if (!q[c >> 2]) {
+   if (!_V(g)) {
+    break a;
+   }
+  }
+  d = w(e, -3) + d | 0;
+  c : {
+   while (1) {
+    if (n[q[b + 56 >> 2]](b, f + 12 | 0, d, c, q[a + 420 >> 2]) >>> 0 < 2) {
+     break c;
+    }
+    if (_V(g)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  if (!q[a + 428 >> 2]) {
+   break a;
+  }
+  b = q[a + 424 >> 2];
+  if ((b | 0) == q[a + 420 >> 2]) {
+   if (!_V(g)) {
+    break a;
+   }
+   b = q[c >> 2];
+  }
+  q[a + 424 >> 2] = b + 1;
+  o[b | 0] = 0;
+  e = q[a + 428 >> 2];
+  if (!e) {
+   break a;
+  }
+  b = e;
+  d : {
+   while (1) {
+    e : {
+     f : {
+      c = r[b | 0];
+      if (c >>> 0 > 13) {
+       break f;
+      }
+      d = b;
+      switch (c - 1 | 0) {
+      case 12:
+       break e;
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 8:
+      case 9:
+      case 10:
+      case 11:
+       break f;
+      default:
+       break d;
+      }
+     }
+     b = b + 1 | 0;
+     continue;
+    }
+    break;
+   }
+   while (1) {
+    g : {
+     if ((c & 255) == 13) {
+      o[d | 0] = 10;
+      b = r[b + 1 | 0] == 10 ? b + 2 | 0 : b + 1 | 0;
+      break g;
+     }
+     o[d | 0] = c;
+     b = b + 1 | 0;
+    }
+    d = d + 1 | 0;
+    c = r[b | 0];
+    if (c) {
+     continue;
+    }
+    break;
+   }
+   o[d | 0] = 0;
+  }
+  n[q[a + 68 >> 2]](q[a + 4 >> 2], e);
+  c = q[a + 416 >> 2];
+  h : {
+   if (!c) {
+    q[a + 416 >> 2] = q[a + 412 >> 2];
+    break h;
+   }
+   b = q[g >> 2];
+   if (!b) {
+    break h;
+   }
+   while (1) {
+    d = q[b >> 2];
+    q[b >> 2] = c;
+    q[a + 416 >> 2] = b;
+    c = b;
+    b = d;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[a + 428 >> 2] = 0;
+  q[a + 412 >> 2] = 0;
+  q[a + 420 >> 2] = 0;
+  q[a + 424 >> 2] = 0;
+  h = 1;
+ }
+ Ca = f + 16 | 0;
+ return h;
+}
+function iX(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ b = q[a + 4 >> 2];
+ if (!(!b | q[b + 4 >> 2] != q[a >> 2])) {
+  c = q[b + 8 >> 2] + -1 | 0;
+  a : {
+   if (c >>> 0 > 17) {
+    break a;
+   }
+   b : {
+    switch (c - 2 | 0) {
+    default:
+     c = q[b + 16 >> 2];
+     b = vX(q[a + 16 >> 2]);
+     if (!b) {
+      break a;
+     }
+     q[b >> 2] = 2;
+     f = b, g = mZ(c), q[f + 8 >> 2] = g;
+     d = b;
+     break a;
+    case 2:
+     c = r[b + 16 | 0] | r[b + 17 | 0] << 8 | (r[b + 18 | 0] << 16 | r[b + 19 | 0] << 24);
+     e = r[b + 20 | 0] | r[b + 21 | 0] << 8 | (r[b + 22 | 0] << 16 | r[b + 23 | 0] << 24);
+     b = vX(q[a + 16 >> 2]);
+     if (!b) {
+      break a;
+     }
+     q[b + 8 >> 2] = c;
+     q[b + 12 >> 2] = e;
+     q[b >> 2] = 9;
+     d = b;
+     break a;
+    case 0:
+     c = q[b + 16 >> 2];
+     b = vX(q[a + 16 >> 2]);
+     if (!b) {
+      break a;
+     }
+     q[b >> 2] = 10;
+     f = b, g = mZ(c), q[f + 8 >> 2] = g;
+     d = b;
+     break a;
+    case 7:
+     c = q[b + 16 >> 2];
+     b = vX(q[a + 16 >> 2]);
+     if (!b) {
+      break a;
+     }
+     q[b + 8 >> 2] = c;
+     q[b >> 2] = 0;
+     d = b;
+     break a;
+    case 8:
+     c = q[b + 16 >> 2];
+     e = q[b + 20 >> 2];
+     b = vX(q[a + 16 >> 2]);
+     if (!b) {
+      break a;
+     }
+     q[b + 8 >> 2] = c;
+     q[b + 12 >> 2] = e;
+     q[b >> 2] = 1;
+     d = b;
+     break a;
+    case 9:
+     c = q[b + 16 >> 2];
+     b = vX(q[a + 16 >> 2]);
+     if (!b) {
+      break a;
+     }
+     q[b >> 2] = 3;
+     d = L$(16);
+     if (d) {
+      e = q[c + 4 >> 2];
+      q[d >> 2] = q[c >> 2];
+      q[d + 4 >> 2] = e;
+      e = q[c + 12 >> 2];
+      q[d + 8 >> 2] = q[c + 8 >> 2];
+      q[d + 12 >> 2] = e;
+     }
+     q[b + 8 >> 2] = d;
+     d = b;
+     break a;
+    case 10:
+     c = q[b + 16 >> 2];
+     b = vX(q[a + 16 >> 2]);
+     if (!b) {
+      break a;
+     }
+     q[b >> 2] = 4;
+     f = b, g = gP(c), q[f + 8 >> 2] = g;
+     d = b;
+     break a;
+    case 11:
+     c = q[b + 16 >> 2];
+     b = vX(q[a + 16 >> 2]);
+     if (!b) {
+      break a;
+     }
+     q[b + 8 >> 2] = c;
+     q[b >> 2] = 5;
+     d = b;
+     break a;
+    case 12:
+     c = q[b + 16 >> 2];
+     b = vX(q[a + 16 >> 2]);
+     if (!b) {
+      break a;
+     }
+     q[b >> 2] = 6;
+     f = b, g = MR(c), q[f + 8 >> 2] = g;
+     d = b;
+     break a;
+    case 13:
+     c = q[b + 16 >> 2];
+     b = vX(q[a + 16 >> 2]);
+     if (!b) {
+      break a;
+     }
+     q[b >> 2] = 7;
+     f = b, g = LP(c), q[f + 8 >> 2] = g;
+     d = b;
+     break a;
+    case 1:
+    case 3:
+    case 14:
+     break a;
+    case 4:
+    case 5:
+    case 6:
+    case 15:
+     break b;
+    }
+   }
+   q[b + 8 >> 2] = 0;
+   d = q[b + 16 >> 2];
+  }
+  eX(a);
+ }
+ return d;
+}
+function NR(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ if ((a | 0) == (b | 0)) {
+  return 1;
+ }
+ a : {
+  if (!a | !b) {
+   break a;
+  }
+  h = q[a + 4 >> 2];
+  i = -1;
+  e = -1;
+  j = q[a + 12 >> 2] + a | 0;
+  b : {
+   c : {
+    if (j) {
+     c = h + -1 | 0;
+     d : {
+      e : {
+       if ((h | 0) < 1) {
+        e = c;
+        break e;
+       }
+       while (1) {
+        f = c >> 1;
+        e = f;
+        if (!s[(c & -2) + j >> 1]) {
+         break d;
+        }
+        d = (c | 0) > 1;
+        e = f + -1 | 0;
+        c = e;
+        if (d) {
+         continue;
+        }
+        break;
+       }
+      }
+      e = (e >>> 31 | 0) + e ^ -1;
+     }
+     c = 0;
+     if ((e | 0) > -1) {
+      break c;
+     }
+    }
+    c = e ^ -1;
+    e = 0;
+    d = 0;
+    if ((c | 0) == (h | 0)) {
+     break b;
+    }
+    e = c;
+    c = s[(c << 1) + j >> 1] << 8;
+   }
+   i = c;
+   d = q[a + 8 >> 2] + a | 0;
+   d = q[d + (e << 2) >> 2] + d | 0;
+  }
+  g = d;
+  k = q[b + 4 >> 2];
+  d = -1;
+  l = q[b + 12 >> 2] + b | 0;
+  f : {
+   g : {
+    if (l) {
+     c = k + -1 | 0;
+     h : {
+      i : {
+       if ((k | 0) < 1) {
+        d = c;
+        break i;
+       }
+       while (1) {
+        d = c >> 1;
+        f = d;
+        if (!s[(c & -2) + l >> 1]) {
+         break h;
+        }
+        f = (c | 0) > 1;
+        d = d + -1 | 0;
+        c = d;
+        if (f) {
+         continue;
+        }
+        break;
+       }
+      }
+      f = (d >>> 31 | 0) + d ^ -1;
+     }
+     d = f;
+     f = 0;
+     if ((d | 0) > -1) {
+      break g;
+     }
+    }
+    c = 0;
+    d = d ^ -1;
+    if ((k | 0) == (d | 0)) {
+     break f;
+    }
+    f = s[(d << 1) + l >> 1] << 8;
+   }
+   c = q[b + 8 >> 2] + b | 0;
+   c = q[c + (d << 2) >> 2] + c | 0;
+   if (!g | !c) {
+    break f;
+   }
+   while (1) {
+    if ((f | 0) != (i | 0) | q[g >> 2] != q[c >> 2] | (q[g + 4 >> 2] != q[c + 4 >> 2] | q[g + 8 >> 2] != q[c + 8 >> 2])) {
+     break a;
+    }
+    if (q[g + 12 >> 2] != q[c + 12 >> 2] | q[g + 16 >> 2] != q[c + 16 >> 2] | (q[g + 20 >> 2] != q[c + 20 >> 2] | q[g + 24 >> 2] != q[c + 24 >> 2])) {
+     break a;
+    }
+    if (q[g + 28 >> 2] != q[c + 28 >> 2]) {
+     break a;
+    }
+    c = 0;
+    i = -1;
+    g = 0;
+    f = e + 1 | 0;
+    if ((f | 0) < (h | 0)) {
+     e = q[a + 8 >> 2] + a | 0;
+     g = q[e + (f << 2) >> 2] + e | 0;
+     i = s[(f << 1) + j >> 1] << 8;
+     e = f;
+    }
+    d = d + 1 | 0;
+    if ((d | 0) >= (k | 0)) {
+     break f;
+    }
+    c = q[b + 8 >> 2] + b | 0;
+    c = q[c + (d << 2) >> 2] + c | 0;
+    if (!g) {
+     break f;
+    }
+    f = s[(d << 1) + l >> 1] << 8;
+    if (c) {
+     continue;
+    }
+    break;
+   }
+  }
+  m = (c | 0) == (g | 0);
+ }
+ return m;
+}
+function zJ(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ e = q[a >> 2];
+ if (e >>> 0 < b >>> 0) {
+  while (1) {
+   d = e + 1 | 0;
+   a : {
+    b : {
+     c : {
+      d : {
+       e : {
+        c = r[e | 0];
+        f = c + -40 | 0;
+        if (f >>> 0 > 1) {
+         if ((c | 0) == 92) {
+          break e;
+         }
+         c = d;
+         break a;
+        }
+        if (f - 1) {
+         break d;
+        }
+        break c;
+       }
+       if ((b | 0) == (d | 0)) {
+        q[a >> 2] = b;
+        return 3;
+       }
+       f : {
+        f = r[d | 0];
+        c = f + -40 | 0;
+        if (c >>> 0 > 76) {
+         break f;
+        }
+        switch (c - 2 | 0) {
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+        case 9:
+        case 10:
+        case 11:
+        case 12:
+        case 13:
+        case 14:
+        case 15:
+        case 16:
+        case 17:
+        case 18:
+        case 19:
+        case 20:
+        case 21:
+        case 22:
+        case 23:
+        case 24:
+        case 25:
+        case 26:
+        case 27:
+        case 28:
+        case 29:
+        case 30:
+        case 31:
+        case 32:
+        case 33:
+        case 34:
+        case 35:
+        case 36:
+        case 37:
+        case 38:
+        case 39:
+        case 40:
+        case 41:
+        case 42:
+        case 43:
+        case 44:
+        case 45:
+        case 46:
+        case 47:
+        case 48:
+        case 49:
+        case 51:
+        case 52:
+        case 53:
+        case 54:
+        case 55:
+        case 57:
+        case 58:
+        case 59:
+        case 61:
+        case 62:
+        case 63:
+        case 64:
+        case 65:
+        case 66:
+        case 67:
+        case 69:
+        case 70:
+        case 71:
+        case 73:
+         break f;
+        default:
+         break b;
+        }
+       }
+       c = d;
+       if (d >>> 0 >= b >>> 0) {
+        break a;
+       }
+       e = 0;
+       c = d;
+       if ((f & 248) != 48) {
+        break a;
+       }
+       while (1) {
+        d = d + 1 | 0;
+        c = d;
+        if (e >>> 0 > 1) {
+         break a;
+        }
+        c = d;
+        if (d >>> 0 >= b >>> 0) {
+         break a;
+        }
+        e = e + 1 | 0;
+        if ((r[d | 0] & 248) == 48) {
+         continue;
+        }
+        break;
+       }
+       c = d;
+       break a;
+      }
+      g = g + 1 | 0;
+      c = d;
+      break a;
+     }
+     g = g + -1 | 0;
+     c = d;
+     if (g) {
+      break a;
+     }
+     q[a >> 2] = d;
+     return 0;
+    }
+    c = e + 2 | 0;
+   }
+   e = c;
+   if (e >>> 0 < b >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[a >> 2] = e;
+ return 3;
+}
+function mT(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ g = Y$(a, 489816, 364);
+ a = 0;
+ while (1) {
+  e = r[a + 489888 | 0];
+  if (!(!e | (e | 0) == 28 | q[(a << 2) + b >> 2] == (a | 0))) {
+   return 0;
+  }
+  a = a + 1 | 0;
+  if ((a | 0) != 128) {
+   continue;
+  }
+  break;
+ }
+ j = g + 884 | 0;
+ k = g + 372 | 0;
+ i = g + 72 | 0;
+ a = 0;
+ a : {
+  while (1) {
+   h = a << 2;
+   e = q[h + b >> 2];
+   b : {
+    if ((e | 0) == -1) {
+     o[a + i | 0] = 1;
+     p[(a << 1) + k >> 1] = 65535;
+     p[h + j >> 1] = 1;
+     break b;
+    }
+    if ((e | 0) <= -1) {
+     f = 0;
+     if (!c | (e | 0) < -4) {
+      break a;
+     }
+     o[a + i | 0] = 3 - e;
+     o[h + j | 0] = 0;
+     p[(a << 1) + k >> 1] = 0;
+     break b;
+    }
+    if ((e | 0) <= 127) {
+     f = r[e + 489888 | 0];
+     if (!(!f | (f | 0) == 28 | (a | 0) == (e | 0))) {
+      return 0;
+     }
+     o[a + i | 0] = f;
+     f = h + j | 0;
+     o[f + 1 | 0] = e;
+     o[f | 0] = 1;
+     p[(a << 1) + k >> 1] = e ? e : -1;
+     break b;
+    }
+    c : {
+     f = e >>> 8 | 0;
+     d : {
+      if (f + -216 >>> 0 < 8) {
+       break d;
+      }
+      if ((f | 0) != 255) {
+       if (f) {
+        break c;
+       }
+       if (!r[e + 489888 | 0]) {
+        break d;
+       }
+       break c;
+      }
+      if ((e | 1) != 65535) {
+       break c;
+      }
+     }
+     o[a + i | 0] = 0;
+     p[(a << 1) + k >> 1] = 65535;
+     p[h + j >> 1] = 1;
+     break b;
+    }
+    if ((e | 0) > 65535) {
+     return 0;
+    }
+    m = 1 << (e & 31);
+    n = (e >>> 5 & 7) << 2;
+    e : {
+     if (m & q[(n | r[f + 492208 | 0] << 5) + 490192 >> 2]) {
+      o[a + i | 0] = 22;
+      break e;
+     }
+     l = a + i | 0;
+     if (q[(r[f + 492464 | 0] << 5 | n) + 490192 >> 2] & m) {
+      o[l | 0] = 26;
+      break e;
+     }
+     o[l | 0] = 28;
+    }
+    h = h + j | 0;
+    f = h + 1 | 0;
+    m = h;
+    f : {
+     if ((e | 0) <= 2047) {
+      o[f | 0] = e >>> 6 | 192;
+      l = e;
+      f = 2;
+      break f;
+     }
+     o[f | 0] = e >>> 12 | 224;
+     o[h + 3 | 0] = e & 63 | 128;
+     l = e >>> 6 | 0;
+     f = 3;
+    }
+    o[m + 2 | 0] = l & 63 | 128;
+    o[h | 0] = f;
+    p[(a << 1) + k >> 1] = e;
+   }
+   a = a + 1 | 0;
+   if ((a | 0) != 256) {
+    continue;
+   }
+   break;
+  }
+  q[g + 364 >> 2] = c;
+  q[g + 368 >> 2] = d;
+  if (c) {
+   q[g + 360 >> 2] = 839;
+   q[g + 356 >> 2] = 839;
+   q[g + 352 >> 2] = 839;
+   q[g + 348 >> 2] = 840;
+   q[g + 344 >> 2] = 840;
+   q[g + 340 >> 2] = 840;
+   q[g + 336 >> 2] = 841;
+   q[g + 332 >> 2] = 841;
+   q[g + 328 >> 2] = 841;
+  }
+  q[g + 60 >> 2] = 842;
+  q[g + 56 >> 2] = 843;
+  f = g;
+ }
+ return f | 0;
+}
+function Xg(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ if (!b) {
+  return 6;
+ }
+ if (!a) {
+  return 40;
+ }
+ d = q[a + 32 >> 2];
+ a : {
+  while (1) {
+   b : {
+    g = r[b | 0];
+    e = g + -4 | 0;
+    if (e >>> 0 > 21) {
+     break b;
+    }
+    c : {
+     d : {
+      switch (e - 1 | 0) {
+      default:
+       d = Kg(a, s[b + 2 >> 1]);
+       if (d) {
+        break a;
+       }
+       d = q[a + 32 >> 2];
+       h = 1;
+       b = b + 4 | 0;
+       continue;
+      case 19:
+      case 20:
+       f = r[b + 1 | 0];
+       e = f + d | 0;
+       if (e >>> 0 > t[a + 36 >> 2]) {
+        d = 85;
+        break a;
+       }
+       if ((g | 0) != 24) {
+        d = e;
+        b = b + 4 | 0;
+        continue;
+       }
+       Y$(s[b + 2 >> 1] + c | 0, d, f);
+       d = e;
+       b = b + 4 | 0;
+       continue;
+      case 7:
+      case 8:
+       e = r[d + 1 | 0] | r[d | 0] << 8;
+       f = 16;
+       d = d + 2 | 0;
+       break c;
+      case 9:
+      case 10:
+       e = r[d | 0] | r[d + 1 | 0] << 8;
+       f = 16;
+       d = d + 2 | 0;
+       break c;
+      case 11:
+      case 12:
+       e = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+       e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+       f = 0;
+       d = d + 4 | 0;
+       break c;
+      case 13:
+      case 14:
+       e = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+       f = 0;
+       d = d + 4 | 0;
+       break c;
+      case 15:
+      case 16:
+       f = 8;
+       e = r[d + 2 | 0] | (r[d + 1 | 0] << 8 | r[d | 0] << 16);
+       d = d + 3 | 0;
+       break c;
+      case 17:
+      case 18:
+       f = 8;
+       e = r[d | 0] | (r[d + 1 | 0] << 8 | r[d + 2 | 0] << 16);
+       d = d + 3 | 0;
+       break c;
+      case 0:
+      case 1:
+      case 2:
+      case 5:
+      case 6:
+       break b;
+      case 3:
+      case 4:
+       break d;
+      }
+     }
+     e = r[d | 0];
+     f = 24;
+     d = d + 1 | 0;
+    }
+    e = g & 1 ? e << f >> f : e;
+    f = s[b + 2 >> 1] + c | 0;
+    e : {
+     g = r[b + 1 | 0] + -1 | 0;
+     if (g >>> 0 > 3) {
+      break e;
+     }
+     f : {
+      switch (g - 1 | 0) {
+      default:
+       o[f | 0] = e;
+       b = b + 4 | 0;
+       continue;
+      case 1:
+      case 2:
+       break e;
+      case 0:
+       break f;
+      }
+     }
+     p[f >> 1] = e;
+     b = b + 4 | 0;
+     continue;
+    }
+    q[f >> 2] = e;
+    b = b + 4 | 0;
+    continue;
+   }
+   break;
+  }
+  q[a + 32 >> 2] = d;
+  d = 0;
+ }
+ if (h) {
+  if (q[a + 20 >> 2]) {
+   b = q[a >> 2];
+   if (b) {
+    c = q[a + 28 >> 2];
+    n[q[c + 8 >> 2]](c, b);
+   }
+   q[a >> 2] = 0;
+  }
+  q[a + 32 >> 2] = 0;
+  q[a + 36 >> 2] = 0;
+ }
+ return d;
+}
+function QB(a, b, c) {
+ var d = 0, e = 0, h = 0, i = 0, j = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     d = a + -18 | 0;
+     if (d >>> 0 > 12) {
+      break d;
+     }
+     e : {
+      switch (d - 1 | 0) {
+      default:
+       j = c;
+       d = q[b + 24 >> 2];
+       f : {
+        if (d) {
+         h = d + -1 | 0;
+         q[b + 24 >> 2] = h;
+         if (t[b + 32 >> 2] <= h >>> 0) {
+          d = q[67761];
+          i = q[67760];
+          q[160656] = i;
+          q[160657] = d;
+          f(0, i | 0);
+          f(1, d | 0);
+          e = +g();
+          break f;
+         }
+         e = v[q[b + 36 >> 2] + (h << 3) >> 3];
+         break f;
+        }
+        o[b + 20 | 0] = 1;
+        d = q[67761];
+        i = q[67760];
+        q[160656] = i;
+        q[160657] = d;
+        f(0, i | 0);
+        f(1, d | 0);
+        e = +g();
+       }
+       g : {
+        if (y(e) < 2147483648) {
+         d = ~~e;
+         break g;
+        }
+        d = -2147483648;
+       }
+       if ((d | 0) <= -1) {
+        o[b + 20 | 0] = 1;
+        d = 0;
+       }
+       q[j + 16 >> 2] = d;
+       h : {
+        if (h) {
+         d = h + -1 | 0;
+         q[b + 24 >> 2] = d;
+         if (t[b + 32 >> 2] <= d >>> 0) {
+          d = q[67761];
+          h = q[67760];
+          q[160656] = h;
+          q[160657] = d;
+          f(0, h | 0);
+          f(1, d | 0);
+          e = +g();
+          break h;
+         }
+         e = v[q[b + 36 >> 2] + (d << 3) >> 3];
+         break h;
+        }
+        o[b + 20 | 0] = 1;
+        d = q[67761];
+        h = q[67760];
+        q[160656] = h;
+        q[160657] = d;
+        f(0, h | 0);
+        f(1, d | 0);
+        e = +g();
+       }
+       i : {
+        if (y(e) < 2147483648) {
+         d = ~~e;
+         break i;
+        }
+        d = -2147483648;
+       }
+       if ((d | 0) <= -1) {
+        o[b + 20 | 0] = 1;
+        d = 0;
+       }
+       q[j + 20 >> 2] = d;
+       q[b + 24 >> 2] = 0;
+       break b;
+      case 10:
+       DB(b + 20 | 0, b);
+       break c;
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 8:
+      case 9:
+       break d;
+      case 11:
+       break e;
+      }
+     }
+     e = CB(b);
+     d = q[b + 24 >> 2];
+     if (d >>> 0 < t[b + 32 >> 2]) {
+      q[b + 24 >> 2] = d + 1;
+      v[q[b + 36 >> 2] + (d << 3) >> 3] = e;
+      break c;
+     }
+     o[b + 20 | 0] = 1;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     v[80328] = e;
+     break c;
+    }
+    EB(a, b);
+   }
+   if (q[b + 24 >> 2]) {
+    break a;
+   }
+  }
+  if (r[b + 40 | 0] | r[b + 16 | 0] | (r[b + 20 | 0] | q[b + 28 >> 2] < 0)) {
+   break a;
+  }
+  FB(c, a, b);
+ }
+}
+function TO(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0, t = 0, u = 0, v = 0;
+ g = Ca + -64 | 0;
+ m = c + 12 | 0;
+ if (m) {
+  n = w(c + 15 & -16, d);
+  o = g + 32 | 0;
+  j = d << 4;
+  u = j << 1;
+  while (1) {
+   if (d) {
+    v = a + u | 0;
+    k = 0;
+    c = q;
+    a : while (1) {
+     f = c - j | 0;
+     f = f >>> 0 < n >>> 0 ? (f << 1) + b | 0 : 437888;
+     p[g >> 1] = s[f >> 1];
+     p[g + 2 >> 1] = s[f + 2 >> 1];
+     p[g + 4 >> 1] = s[f + 4 >> 1];
+     p[g + 6 >> 1] = s[f + 6 >> 1];
+     p[g + 8 >> 1] = s[f + 8 >> 1];
+     p[g + 10 >> 1] = s[f + 10 >> 1];
+     p[g + 12 >> 1] = s[f + 12 >> 1];
+     p[g + 14 >> 1] = s[f + 14 >> 1];
+     p[g + 16 >> 1] = s[f + 16 >> 1];
+     p[g + 18 >> 1] = s[f + 18 >> 1];
+     p[g + 20 >> 1] = s[f + 20 >> 1];
+     p[g + 22 >> 1] = s[f + 22 >> 1];
+     p[g + 24 >> 1] = s[f + 24 >> 1];
+     p[g + 26 >> 1] = s[f + 26 >> 1];
+     p[g + 28 >> 1] = s[f + 28 >> 1];
+     p[g + 30 >> 1] = s[f + 30 >> 1];
+     f = c >>> 0 < n >>> 0 ? (c << 1) + b | 0 : 437888;
+     l = s[f >> 1];
+     p[g + 32 >> 1] = l;
+     p[g + 34 >> 1] = s[f + 2 >> 1];
+     p[g + 36 >> 1] = s[f + 4 >> 1];
+     p[g + 38 >> 1] = s[f + 6 >> 1];
+     p[g + 40 >> 1] = s[f + 8 >> 1];
+     p[g + 42 >> 1] = s[f + 10 >> 1];
+     p[g + 44 >> 1] = s[f + 12 >> 1];
+     p[g + 46 >> 1] = s[f + 14 >> 1];
+     p[g + 48 >> 1] = s[f + 16 >> 1];
+     p[g + 50 >> 1] = s[f + 18 >> 1];
+     p[g + 52 >> 1] = s[f + 20 >> 1];
+     p[g + 54 >> 1] = s[f + 22 >> 1];
+     p[g + 56 >> 1] = s[f + 24 >> 1];
+     p[g + 58 >> 1] = s[f + 26 >> 1];
+     p[g + 60 >> 1] = s[f + 28 >> 1];
+     p[g + 62 >> 1] = s[f + 30 >> 1];
+     i = 0;
+     while (1) {
+      r = i << 1;
+      h = r + o | 0;
+      f = s[h + -12 >> 1];
+      p[a + r >> 1] = f + ((((w(p[e >> 1], (s[h + -10 >> 1] - f << 16 >> 16) + (s[h + -14 >> 1] - f << 16 >> 16) | 0) + w(p[e + 2 >> 1], (s[h + -8 >> 1] - f << 16 >> 16) + (s[h + -16 >> 1] - f << 16 >> 16) | 0) | 0) + w(p[e + 4 >> 1], (s[h + -4 >> 1] - f << 16 >> 16) + (s[h + -20 >> 1] - f << 16 >> 16) | 0) | 0) + w(p[e + 6 >> 1], (l - f << 16 >> 16) + (s[h + -24 >> 1] - f << 16 >> 16) | 0) | 0) + 32768 >>> 16 | 0);
+      i = i + 1 | 0;
+      if ((i | 0) == 16) {
+       c = c + 16 | 0;
+       a = a + 32 | 0;
+       k = k + 1 | 0;
+       if ((k | 0) != (d | 0)) {
+        continue a;
+       }
+       q = j + q | 0;
+       a = v;
+      } else {
+       l = s[(i << 1) + o >> 1];
+       continue;
+      }
+      break;
+     }
+     break;
+    }
+   }
+   t = t + 16 | 0;
+   if (t >>> 0 < m >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function RO(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0, t = 0, u = 0, v = 0;
+ g = Ca + -64 | 0;
+ m = c + 10 | 0;
+ if (m) {
+  n = w(c + 15 & -16, d);
+  o = g + 32 | 0;
+  j = d << 4;
+  u = j << 1;
+  while (1) {
+   if (d) {
+    v = a + u | 0;
+    k = 0;
+    c = q;
+    a : while (1) {
+     f = c - j | 0;
+     f = f >>> 0 < n >>> 0 ? (f << 1) + b | 0 : 437888;
+     p[g >> 1] = s[f >> 1];
+     p[g + 2 >> 1] = s[f + 2 >> 1];
+     p[g + 4 >> 1] = s[f + 4 >> 1];
+     p[g + 6 >> 1] = s[f + 6 >> 1];
+     p[g + 8 >> 1] = s[f + 8 >> 1];
+     p[g + 10 >> 1] = s[f + 10 >> 1];
+     p[g + 12 >> 1] = s[f + 12 >> 1];
+     p[g + 14 >> 1] = s[f + 14 >> 1];
+     p[g + 16 >> 1] = s[f + 16 >> 1];
+     p[g + 18 >> 1] = s[f + 18 >> 1];
+     p[g + 20 >> 1] = s[f + 20 >> 1];
+     p[g + 22 >> 1] = s[f + 22 >> 1];
+     p[g + 24 >> 1] = s[f + 24 >> 1];
+     p[g + 26 >> 1] = s[f + 26 >> 1];
+     p[g + 28 >> 1] = s[f + 28 >> 1];
+     p[g + 30 >> 1] = s[f + 30 >> 1];
+     f = c >>> 0 < n >>> 0 ? (c << 1) + b | 0 : 437888;
+     l = s[f >> 1];
+     p[g + 32 >> 1] = l;
+     p[g + 34 >> 1] = s[f + 2 >> 1];
+     p[g + 36 >> 1] = s[f + 4 >> 1];
+     p[g + 38 >> 1] = s[f + 6 >> 1];
+     p[g + 40 >> 1] = s[f + 8 >> 1];
+     p[g + 42 >> 1] = s[f + 10 >> 1];
+     p[g + 44 >> 1] = s[f + 12 >> 1];
+     p[g + 46 >> 1] = s[f + 14 >> 1];
+     p[g + 48 >> 1] = s[f + 16 >> 1];
+     p[g + 50 >> 1] = s[f + 18 >> 1];
+     p[g + 52 >> 1] = s[f + 20 >> 1];
+     p[g + 54 >> 1] = s[f + 22 >> 1];
+     p[g + 56 >> 1] = s[f + 24 >> 1];
+     p[g + 58 >> 1] = s[f + 26 >> 1];
+     p[g + 60 >> 1] = s[f + 28 >> 1];
+     p[g + 62 >> 1] = s[f + 30 >> 1];
+     i = 0;
+     while (1) {
+      r = i << 1;
+      h = r + o | 0;
+      f = s[h + -10 >> 1];
+      p[a + r >> 1] = f + ((((w(p[e >> 1], (s[h + -8 >> 1] - f << 16 >> 16) + (s[h + -12 >> 1] - f << 16 >> 16) | 0) + w(p[e + 2 >> 1], (s[h + -6 >> 1] - f << 16 >> 16) + (s[h + -14 >> 1] - f << 16 >> 16) | 0) | 0) + w(p[e + 4 >> 1], (s[h + -4 >> 1] - f << 16 >> 16) + (s[h + -16 >> 1] - f << 16 >> 16) | 0) | 0) + w(p[e + 6 >> 1], (l - f << 16 >> 16) + (s[h + -20 >> 1] - f << 16 >> 16) | 0) | 0) + 32768 >>> 16 | 0);
+      i = i + 1 | 0;
+      if ((i | 0) == 16) {
+       c = c + 16 | 0;
+       a = a + 32 | 0;
+       k = k + 1 | 0;
+       if ((k | 0) != (d | 0)) {
+        continue a;
+       }
+       q = j + q | 0;
+       a = v;
+      } else {
+       l = s[(i << 1) + o >> 1];
+       continue;
+      }
+      break;
+     }
+     break;
+    }
+   }
+   t = t + 16 | 0;
+   if (t >>> 0 < m >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function PO(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0, t = 0, u = 0, v = 0;
+ g = Ca + -64 | 0;
+ m = c + 8 | 0;
+ if (m) {
+  n = w(c + 15 & -16, d);
+  o = g + 32 | 0;
+  j = d << 4;
+  u = j << 1;
+  while (1) {
+   if (d) {
+    v = a + u | 0;
+    k = 0;
+    c = q;
+    a : while (1) {
+     f = c - j | 0;
+     f = f >>> 0 < n >>> 0 ? (f << 1) + b | 0 : 437888;
+     p[g >> 1] = s[f >> 1];
+     p[g + 2 >> 1] = s[f + 2 >> 1];
+     p[g + 4 >> 1] = s[f + 4 >> 1];
+     p[g + 6 >> 1] = s[f + 6 >> 1];
+     p[g + 8 >> 1] = s[f + 8 >> 1];
+     p[g + 10 >> 1] = s[f + 10 >> 1];
+     p[g + 12 >> 1] = s[f + 12 >> 1];
+     p[g + 14 >> 1] = s[f + 14 >> 1];
+     p[g + 16 >> 1] = s[f + 16 >> 1];
+     p[g + 18 >> 1] = s[f + 18 >> 1];
+     p[g + 20 >> 1] = s[f + 20 >> 1];
+     p[g + 22 >> 1] = s[f + 22 >> 1];
+     p[g + 24 >> 1] = s[f + 24 >> 1];
+     p[g + 26 >> 1] = s[f + 26 >> 1];
+     p[g + 28 >> 1] = s[f + 28 >> 1];
+     p[g + 30 >> 1] = s[f + 30 >> 1];
+     f = c >>> 0 < n >>> 0 ? (c << 1) + b | 0 : 437888;
+     l = s[f >> 1];
+     p[g + 32 >> 1] = l;
+     p[g + 34 >> 1] = s[f + 2 >> 1];
+     p[g + 36 >> 1] = s[f + 4 >> 1];
+     p[g + 38 >> 1] = s[f + 6 >> 1];
+     p[g + 40 >> 1] = s[f + 8 >> 1];
+     p[g + 42 >> 1] = s[f + 10 >> 1];
+     p[g + 44 >> 1] = s[f + 12 >> 1];
+     p[g + 46 >> 1] = s[f + 14 >> 1];
+     p[g + 48 >> 1] = s[f + 16 >> 1];
+     p[g + 50 >> 1] = s[f + 18 >> 1];
+     p[g + 52 >> 1] = s[f + 20 >> 1];
+     p[g + 54 >> 1] = s[f + 22 >> 1];
+     p[g + 56 >> 1] = s[f + 24 >> 1];
+     p[g + 58 >> 1] = s[f + 26 >> 1];
+     p[g + 60 >> 1] = s[f + 28 >> 1];
+     p[g + 62 >> 1] = s[f + 30 >> 1];
+     i = 0;
+     while (1) {
+      r = i << 1;
+      h = r + o | 0;
+      f = s[h + -8 >> 1];
+      p[a + r >> 1] = f + ((((w(p[e >> 1], (s[h + -6 >> 1] - f << 16 >> 16) + (s[h + -10 >> 1] - f << 16 >> 16) | 0) + w(p[e + 2 >> 1], (s[h + -4 >> 1] - f << 16 >> 16) + (s[h + -12 >> 1] - f << 16 >> 16) | 0) | 0) + w(p[e + 4 >> 1], (s[h + -2 >> 1] - f << 16 >> 16) + (s[h + -14 >> 1] - f << 16 >> 16) | 0) | 0) + w(p[e + 6 >> 1], (l - f << 16 >> 16) + (s[h + -16 >> 1] - f << 16 >> 16) | 0) | 0) + 32768 >>> 16 | 0);
+      i = i + 1 | 0;
+      if ((i | 0) == 16) {
+       c = c + 16 | 0;
+       a = a + 32 | 0;
+       k = k + 1 | 0;
+       if ((k | 0) != (d | 0)) {
+        continue a;
+       }
+       q = j + q | 0;
+       a = v;
+      } else {
+       l = s[(i << 1) + o >> 1];
+       continue;
+      }
+      break;
+     }
+     break;
+    }
+   }
+   t = t + 16 | 0;
+   if (t >>> 0 < m >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function UH(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ j = q[a + 2744 >> 2];
+ a : {
+  if (!(j & 4)) {
+   break a;
+  }
+  h = q[a + 2748 >> 2];
+  if (r[(h + w(b, 9516) | 0) + 256 | 0]) {
+   break a;
+  }
+  a = c >> 31;
+  g = a + c ^ a;
+  b : {
+   c : {
+    d : {
+     if ((b | 0) == 1) {
+      if (j & 2) {
+       break c;
+      }
+      if (!(f & 2) | (g | 0) > 191) {
+       break d;
+      }
+      a = g;
+      break b;
+     }
+     if (j & 1) {
+      break c;
+     }
+    }
+    a = e & 1 ? (g | 0) < 80 ? 64 : g : (g | 0) > 56 ? g : 56;
+    b = h + w(b, 9516) | 0;
+    if (!q[b + 52 >> 2]) {
+     break b;
+    }
+    b = q[b + 60 >> 2];
+    f = a - b | 0;
+    e = f >> 31;
+    if ((e ^ e + f) <= 39) {
+     a = (b | 0) > 48 ? b : 48;
+     break b;
+    }
+    if ((a | 0) <= 191) {
+     b = a & 63;
+     if (b >>> 0 < 10) {
+      break b;
+     }
+     d = a & 2147483584;
+     if (b >>> 0 <= 31) {
+      a = d | 10;
+      break b;
+     }
+     a = b >>> 0 < 54 ? d | 54 : a;
+     break b;
+    }
+    e = 0;
+    e : {
+     if ((c & d) > -1 ? !((c | 0) > 0 & (d | 0) > 0) : 0) {
+      break e;
+     }
+     b = s[q[q[h + 4 >> 2] + 88 >> 2] + 12 >> 1];
+     if (b >>> 0 >= 10) {
+      if (b >>> 0 > 29) {
+       break e;
+      }
+      d = (w(30 - b | 0, d) | 0) / 20 | 0;
+     }
+     e = (d | 0) < 0 ? d : 0 - d | 0;
+    }
+    a = (a + e | 0) + 32 & -64;
+    break b;
+   }
+   h = h + w(b, 9516) | 0;
+   k = q[h + 52 >> 2];
+   f : {
+    g : {
+     if (k) {
+      a = 98;
+      e = 0;
+      f = g;
+      while (1) {
+       l = q[(w(e, 12) + h | 0) + 60 >> 2];
+       i = g - l | 0;
+       d = i >> 31;
+       i = d ^ d + i;
+       d = (i | 0) < (a | 0);
+       a = d ? i : a;
+       f = d ? l : f;
+       e = e + 1 | 0;
+       if ((k | 0) != (e | 0)) {
+        continue;
+       }
+       break;
+      }
+      d = f + 32 & -64;
+      a = d;
+      if ((f | 0) <= (g | 0)) {
+       break g;
+      }
+      d = (d + -48 | 0) < (g | 0) ? f : g;
+      break f;
+     }
+     f = g;
+     a = g + 32 & 2147483584;
+    }
+    d = (a | 48) > (g | 0) ? f : g;
+   }
+   if ((b | 0) == 1) {
+    a = 64;
+    if ((d | 0) < 64) {
+     break b;
+    }
+    a = d + 16 & -64;
+    break b;
+   }
+   if (j & 8) {
+    a = 64;
+    if ((d | 0) < 64) {
+     break b;
+    }
+    a = d + 32 & -64;
+    break b;
+   }
+   if ((d | 0) <= 47) {
+    a = d - -64 >> 1;
+    break b;
+   }
+   if ((d | 0) <= 127) {
+    a = d + 22 & -64;
+    d = a - g | 0;
+    b = d >> 31;
+    if ((b ^ b + d) < 16) {
+     break b;
+    }
+    if ((g | 0) > 47) {
+     a = g;
+     break b;
+    }
+    a = g - -64 >>> 1 | 0;
+    break b;
+   }
+   a = d + 32 & -64;
+  }
+  c = (c | 0) > -1 ? a : 0 - a | 0;
+ }
+ return c;
+}
+function $v(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 2) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  c = 1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8;
+  d = ((d << 24 | d << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+  b : {
+   if (d >>> 0 > 2) {
+    break b;
+   }
+   c : {
+    switch (d - 1 | 0) {
+    default:
+     if (!dv(a + 2 | 0, b, a)) {
+      break a;
+     }
+     g = q[b + 4 >> 2];
+     d = a + 4 | 0;
+     if (g >>> 0 > d >>> 0) {
+      break a;
+     }
+     e = q[b + 8 >> 2];
+     if (e >>> 0 < d >>> 0 | e - d >>> 0 < 2) {
+      break a;
+     }
+     f = q[b + 12 >> 2];
+     q[b + 12 >> 2] = f + -1;
+     if ((f | 0) < 1) {
+      break a;
+     }
+     h = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+     if (!h) {
+      break b;
+     }
+     c = d + 2 | 0;
+     if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0) {
+      break a;
+     }
+     if (e - c >>> 0 < h << 1 >>> 0) {
+      break a;
+     }
+     q[b + 12 >> 2] = f + -2;
+     c = 0;
+     if ((f | 0) < 2) {
+      break b;
+     }
+     c = 1;
+     e = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+     if (!e) {
+      break b;
+     }
+     c = 0;
+     d : {
+      while (1) {
+       if (!ew((d + (c << 1) | 0) + 2 | 0, b, a)) {
+        break d;
+       }
+       c = c + 1 | 0;
+       if ((e | 0) != (c | 0)) {
+        continue;
+       }
+       break;
+      }
+      return 1;
+     }
+     break a;
+    case 0:
+     if (!dv(a + 2 | 0, b, a)) {
+      break a;
+     }
+     if (!Zu(a + 4 | 0, b, a)) {
+      break a;
+     }
+     f = q[b + 4 >> 2];
+     c = a + 6 | 0;
+     if (f >>> 0 > c >>> 0) {
+      break a;
+     }
+     d = q[b + 8 >> 2];
+     if (d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+      break a;
+     }
+     e = q[b + 12 >> 2];
+     q[b + 12 >> 2] = e + -1;
+     c = 1;
+     if ((e | 0) < 1) {
+      break a;
+     }
+     g = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+     if (!g) {
+      break b;
+     }
+     c = a + 8 | 0;
+     if (f >>> 0 > c >>> 0 | d >>> 0 < c >>> 0) {
+      break a;
+     }
+     if (d - c >>> 0 < g << 1 >>> 0) {
+      break a;
+     }
+     q[b + 12 >> 2] = e + -2;
+     c = 0;
+     if ((e | 0) < 2) {
+      break b;
+     }
+     c = 1;
+     e = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+     if (!e) {
+      break b;
+     }
+     d = 0;
+     while (1) {
+      if (ew(((d << 1) + a | 0) + 8 | 0, b, a)) {
+       d = d + 1 | 0;
+       if ((e | 0) != (d | 0)) {
+        continue;
+       }
+       break b;
+      }
+      break;
+     }
+     break a;
+    case 1:
+     break c;
+    }
+   }
+   c = fw(a, b);
+  }
+  return c;
+ }
+ return 0;
+}
+function pt(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  if (r[b + 5 | 0] | r[b + 4 | 0] << 8 ? 0 : (r[b + 3 | 0] | r[b + 2 | 0] << 8) == 65535) {
+   break a;
+  }
+  f = q[a + 100 >> 2];
+  q[a + 100 >> 2] = f + 1;
+  if (f >>> 0 > 2e3) {
+   break a;
+  }
+  if (ot(a, b, a + 52 | 0)) {
+   break a;
+  }
+  if (c) {
+   h = q[c >> 2];
+   if (!h) {
+    break a;
+   }
+   while (1) {
+    f = c;
+    i = r[b + 5 | 0] | r[b + 4 | 0] << 8;
+    b : {
+     if (!i) {
+      break b;
+     }
+     g = q[a >> 2];
+     c = 0;
+     while (1) {
+      d = (c << 1) + b | 0;
+      j = r[d + 7 | 0];
+      d = j | r[d + 6 | 0] << 8;
+      if ((d | 0) != 65535) {
+       e = r[g + 7 | 0] | r[g + 6 | 0] << 8;
+       e = e ? e + g | 0 : 271040;
+       e = (r[e + 1 | 0] | r[e | 0] << 8) >>> 0 > d >>> 0 ? (e + w(d, 6) | 0) + 2 | 0 : 271040;
+       e = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+       e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+      } else {
+       e = 0;
+      }
+      if ((e | 0) != (h | 0)) {
+       c = c + 1 | 0;
+       if ((i | 0) == (c | 0)) {
+        break b;
+       }
+       continue;
+      }
+      break;
+     }
+     c = q[a + 4 >> 2];
+     if (r[c + 12 | 0] != 1) {
+      break b;
+     }
+     q[c + 16 >> 2] = -1;
+     c = nF(c, d);
+     if (!c) {
+      break b;
+     }
+     d = c + (d >>> 3 & 56) | 0;
+     c = d;
+     e = q[c + 4 >> 2];
+     h = c;
+     i = q[c >> 2];
+     g = j & 63;
+     d = g & 31;
+     if (32 <= (g & 63) >>> 0) {
+      g = 1 << d;
+      d = 0;
+     } else {
+      g = (1 << d) - 1 & 1 >>> 32 - d;
+      d = 1 << d;
+     }
+     q[h >> 2] = i | d;
+     q[c + 4 >> 2] = e | g;
+    }
+    c = f + 4 | 0;
+    h = q[f + 4 >> 2];
+    if (h) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  c : {
+   if ((r[b + 3 | 0] | r[b + 2 | 0] << 8) == 65535) {
+    break c;
+   }
+   c = q[a + 104 >> 2] + 1 | 0;
+   q[a + 104 >> 2] = c;
+   if (c >>> 0 > 1500) {
+    break c;
+   }
+   c = q[a + 4 >> 2];
+   if (r[c + 12 | 0] != 1) {
+    break c;
+   }
+   d = r[b + 2 | 0];
+   f = r[b + 3 | 0];
+   q[c + 16 >> 2] = -1;
+   h = c;
+   c = f | d << 8;
+   d = nF(h, c);
+   if (!d) {
+    break c;
+   }
+   d = d + (c >>> 3 & 56) | 0;
+   c = d;
+   g = q[c + 4 >> 2];
+   h = c;
+   e = q[c >> 2];
+   d = f & 63;
+   f = d & 31;
+   if (32 <= (d & 63) >>> 0) {
+    d = 1 << f;
+    f = 0;
+   } else {
+    d = (1 << f) - 1 & 1 >>> 32 - f;
+    f = 1 << f;
+   }
+   q[h >> 2] = e | f;
+   q[c + 4 >> 2] = d | g;
+  }
+  c = q[a + 104 >> 2] + (r[b + 5 | 0] | r[b + 4 | 0] << 8) | 0;
+  q[a + 104 >> 2] = c;
+  if (c >>> 0 > 1500) {
+   break a;
+  }
+  rt(b + 4 | 0, q[a + 4 >> 2]);
+ }
+}
+function Sz(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = q[a + 24 >> 2];
+ a : {
+  b : {
+   if (d) {
+    d = d + -1 | 0;
+    q[a + 24 >> 2] = d;
+    if (t[a + 32 >> 2] <= d >>> 0) {
+     break b;
+    }
+    d = q[a + 36 >> 2] + (d << 5) | 0;
+    break a;
+   }
+   o[a + 20 | 0] = 1;
+  }
+  d = q[67767];
+  q[160662] = q[67766];
+  q[160663] = d;
+  d = q[67765];
+  q[160660] = q[67764];
+  q[160661] = d;
+  d = q[67763];
+  q[160658] = q[67762];
+  q[160659] = d;
+  d = q[67761];
+  q[160656] = q[67760];
+  q[160657] = d;
+  d = 642624;
+ }
+ f = q[b >> 2];
+ c : {
+  j = v[d >> 3];
+  d : {
+   if (y(j) < 2147483648) {
+    d = ~~j;
+    break d;
+   }
+   d = -2147483648;
+  }
+  h = d + f | 0;
+  e : {
+   if ((h | 0) < 0) {
+    break e;
+   }
+   d = q[b + 4 >> 2];
+   if (!d) {
+    break e;
+   }
+   d = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+   if (h >>> 0 >= (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) >>> 0) {
+    break e;
+   }
+   f = q[a + 92 >> 2];
+   if (f >>> 0 < 10) {
+    break c;
+   }
+  }
+  o[a + 40 | 0] = 1;
+  return;
+ }
+ d = q[a + 4 >> 2];
+ q[a + 44 >> 2] = q[a >> 2];
+ q[a + 48 >> 2] = d;
+ o[a + 60 | 0] = r[a + 16 | 0];
+ d = q[a + 12 >> 2];
+ q[a + 52 >> 2] = q[a + 8 >> 2];
+ q[a + 56 >> 2] = d;
+ d = a + 44 | 0;
+ f : {
+  if (f >>> 0 < t[a + 100 >> 2]) {
+   q[a + 92 >> 2] = f + 1;
+   i = q[d + 4 >> 2];
+   e = q[a + 104 >> 2] + w(f, 28) | 0;
+   q[e >> 2] = q[d >> 2];
+   q[e + 4 >> 2] = i;
+   q[e + 24 >> 2] = q[d + 24 >> 2];
+   g = q[d + 20 >> 2];
+   q[e + 16 >> 2] = q[d + 16 >> 2];
+   q[e + 20 >> 2] = g;
+   g = q[d + 12 >> 2];
+   q[e + 8 >> 2] = q[d + 8 >> 2];
+   q[e + 12 >> 2] = g;
+   break f;
+  }
+  o[a + 88 | 0] = 1;
+ }
+ g : {
+  h : {
+   f = q[b + 4 >> 2];
+   if (f) {
+    b = r[f | 0] | r[f + 1 | 0] << 8 | (r[f + 2 | 0] << 16 | r[f + 3 | 0] << 24);
+    b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+    if (b >>> 0 > h >>> 0) {
+     break h;
+    }
+   }
+   k = q[67762];
+   e = q[67760];
+   b = q[67761];
+   break g;
+  }
+  e = r[f + 4 | 0];
+  i = (w(e, b + 1 | 0) + f | 0) + 5 | 0;
+  g = 0;
+  if (e) {
+   b = (w(e, h) + f | 0) + 5 | 0;
+   while (1) {
+    g = r[b | 0] | g << 8;
+    b = b + 1 | 0;
+    e = e + -1 | 0;
+    if (e) {
+     continue;
+    }
+    break;
+   }
+  }
+  e = (g + i | 0) + -1 | 0;
+  b = LB(f, h);
+ }
+ q[a + 44 >> 2] = e;
+ q[a + 68 >> 2] = h;
+ q[a - -64 >> 2] = c;
+ o[a + 60 | 0] = 0;
+ q[a + 56 >> 2] = 0;
+ q[a + 52 >> 2] = k;
+ q[a + 48 >> 2] = b;
+ b = q[d + 4 >> 2];
+ q[a >> 2] = q[d >> 2];
+ q[a + 4 >> 2] = b;
+ b = q[d + 12 >> 2];
+ q[a + 8 >> 2] = q[d + 8 >> 2];
+ q[a + 12 >> 2] = b;
+ o[a + 16 | 0] = r[d + 16 | 0];
+}
+function us(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0;
+ l = Ca - 160 | 0;
+ Ca = l;
+ f = Mt(l + 8 | 0, 1, b, c);
+ q[f + 116 >> 2] = d;
+ q[f + 128 >> 2] = 8;
+ q[f + 32 >> 2] = 0;
+ q[f + 8 >> 2] = 8;
+ q[f + 76 >> 2] = 0;
+ q[f + 48 >> 2] = f;
+ q[f + 68 >> 2] = 0;
+ q[f + 72 >> 2] = 0;
+ q[f + 60 >> 2] = -1;
+ o[f + 57 | 0] = 1;
+ q[f + 52 >> 2] = 8;
+ q[f + 24 >> 2] = 0;
+ q[f + 28 >> 2] = 0;
+ q[f + 16 >> 2] = d;
+ o[f + 13 | 0] = r[f + 142 | 0];
+ e = q[f + 120 >> 2] == 1;
+ o[f + 12 | 0] = e;
+ o[f + 56 | 0] = e | r[f + 141 | 0] != 0;
+ q[f + 4 >> 2] = f;
+ n = q[c + 76 >> 2];
+ if (n) {
+  k = q[c + 96 >> 2];
+  p = q[c + 88 >> 2];
+  t = (q[c + 48 >> 2] & -2) != 4;
+  while (1) {
+   a : {
+    b : {
+     h = w(j, 20);
+     i = h + p | 0;
+     if (!(q[i + 4 >> 2] & d)) {
+      break b;
+     }
+     q[f + 36 >> 2] = 1;
+     q[f >> 2] = j;
+     g = q[q[f + 4 >> 2] + 96 >> 2];
+     q[f + 40 >> 2] = q[g + 76 >> 2];
+     o[f + 20 | 0] = q[g + 72 >> 2] == (j | 0) ? r[(h + q[g + 88 >> 2] | 0) + 15 | 0] : 0;
+     if (!Xt(f)) {
+      break b;
+     }
+     e = q[a >> 2];
+     s = q[f >> 2];
+     g = w(s, 20);
+     e = As(q[e >> 2], q[i >> 2], q[g + p >> 2], q[e + 4 >> 2]);
+     c : {
+      if (!e) {
+       break c;
+      }
+      d : {
+       if (!t) {
+        i = e << 16;
+        e = i >> 31;
+        e = T0(q[b + 32 >> 2], q[b + 36 >> 2], i >> 16, e);
+        e = (Ea & 65535) << 16 | e >>> 16;
+        if (r[a + 4 | 0]) {
+         q[(g + k | 0) + 12 >> 2] = e;
+         q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+         break d;
+        }
+        h = h + k | 0;
+        i = h;
+        m = q[h >> 2];
+        h = e >> 1;
+        q[i >> 2] = m + h;
+        g = g + k | 0;
+        e = e - h | 0;
+        q[g >> 2] = e + q[g >> 2];
+        q[g + 8 >> 2] = e + q[g + 8 >> 2];
+        break d;
+       }
+       i = e << 16;
+       e = i >> 31;
+       e = T0(q[b + 40 >> 2], q[b + 44 >> 2], i >> 16, e);
+       e = (Ea & 65535) << 16 | e >>> 16;
+       if (r[a + 4 | 0]) {
+        q[(g + k | 0) + 8 >> 2] = e;
+        q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+        break d;
+       }
+       h = h + k | 0;
+       i = h;
+       m = q[h + 4 >> 2];
+       h = e >> 1;
+       q[i + 4 >> 2] = m + h;
+       g = g + k | 0;
+       e = e - h | 0;
+       q[g + 4 >> 2] = e + q[g + 4 >> 2];
+       q[g + 12 >> 2] = e + q[g + 12 >> 2];
+      }
+      e = s + 1 | 0;
+      if (e - j >>> 0 < 2) {
+       break c;
+      }
+      DG(c, j, e);
+     }
+     j = q[f >> 2];
+     break a;
+    }
+    j = j + 1 | 0;
+   }
+   if (j >>> 0 < n >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = l + 160 | 0;
+}
+function ss(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0;
+ l = Ca - 160 | 0;
+ Ca = l;
+ f = Mt(l + 8 | 0, 1, b, c);
+ q[f + 116 >> 2] = d;
+ q[f + 128 >> 2] = 8;
+ q[f + 32 >> 2] = 0;
+ q[f + 8 >> 2] = 8;
+ q[f + 76 >> 2] = 0;
+ q[f + 48 >> 2] = f;
+ q[f + 68 >> 2] = 0;
+ q[f + 72 >> 2] = 0;
+ q[f + 60 >> 2] = -1;
+ o[f + 57 | 0] = 1;
+ q[f + 52 >> 2] = 8;
+ q[f + 24 >> 2] = 0;
+ q[f + 28 >> 2] = 0;
+ q[f + 16 >> 2] = d;
+ o[f + 13 | 0] = r[f + 142 | 0];
+ e = q[f + 120 >> 2] == 1;
+ o[f + 12 | 0] = e;
+ o[f + 56 | 0] = e | r[f + 141 | 0] != 0;
+ q[f + 4 >> 2] = f;
+ n = q[c + 76 >> 2];
+ if (n) {
+  k = q[c + 96 >> 2];
+  p = q[c + 88 >> 2];
+  t = (q[c + 48 >> 2] & -2) != 4;
+  while (1) {
+   a : {
+    b : {
+     h = w(j, 20);
+     i = h + p | 0;
+     if (!(q[i + 4 >> 2] & d)) {
+      break b;
+     }
+     q[f + 36 >> 2] = 1;
+     q[f >> 2] = j;
+     g = q[q[f + 4 >> 2] + 96 >> 2];
+     q[f + 40 >> 2] = q[g + 76 >> 2];
+     o[f + 20 | 0] = q[g + 72 >> 2] == (j | 0) ? r[(h + q[g + 88 >> 2] | 0) + 15 | 0] : 0;
+     if (!Xt(f)) {
+      break b;
+     }
+     e = q[a >> 2];
+     s = q[f >> 2];
+     g = w(s, 20);
+     e = ys(q[e >> 2], q[i >> 2], q[g + p >> 2], q[e + 4 >> 2]);
+     c : {
+      if (!e) {
+       break c;
+      }
+      d : {
+       if (!t) {
+        i = e << 16;
+        e = i >> 31;
+        e = T0(q[b + 32 >> 2], q[b + 36 >> 2], i >> 16, e);
+        e = (Ea & 65535) << 16 | e >>> 16;
+        if (r[a + 4 | 0]) {
+         q[(g + k | 0) + 12 >> 2] = e;
+         q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+         break d;
+        }
+        h = h + k | 0;
+        i = h;
+        m = q[h >> 2];
+        h = e >> 1;
+        q[i >> 2] = m + h;
+        g = g + k | 0;
+        e = e - h | 0;
+        q[g >> 2] = e + q[g >> 2];
+        q[g + 8 >> 2] = e + q[g + 8 >> 2];
+        break d;
+       }
+       i = e << 16;
+       e = i >> 31;
+       e = T0(q[b + 40 >> 2], q[b + 44 >> 2], i >> 16, e);
+       e = (Ea & 65535) << 16 | e >>> 16;
+       if (r[a + 4 | 0]) {
+        q[(g + k | 0) + 8 >> 2] = e;
+        q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+        break d;
+       }
+       h = h + k | 0;
+       i = h;
+       m = q[h + 4 >> 2];
+       h = e >> 1;
+       q[i + 4 >> 2] = m + h;
+       g = g + k | 0;
+       e = e - h | 0;
+       q[g + 4 >> 2] = e + q[g + 4 >> 2];
+       q[g + 12 >> 2] = e + q[g + 12 >> 2];
+      }
+      e = s + 1 | 0;
+      if (e - j >>> 0 < 2) {
+       break c;
+      }
+      DG(c, j, e);
+     }
+     j = q[f >> 2];
+     break a;
+    }
+    j = j + 1 | 0;
+   }
+   if (j >>> 0 < n >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = l + 160 | 0;
+}
+function qs(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0;
+ l = Ca - 160 | 0;
+ Ca = l;
+ f = Mt(l + 8 | 0, 1, b, c);
+ q[f + 116 >> 2] = d;
+ q[f + 128 >> 2] = 8;
+ q[f + 32 >> 2] = 0;
+ q[f + 8 >> 2] = 8;
+ q[f + 76 >> 2] = 0;
+ q[f + 48 >> 2] = f;
+ q[f + 68 >> 2] = 0;
+ q[f + 72 >> 2] = 0;
+ q[f + 60 >> 2] = -1;
+ o[f + 57 | 0] = 1;
+ q[f + 52 >> 2] = 8;
+ q[f + 24 >> 2] = 0;
+ q[f + 28 >> 2] = 0;
+ q[f + 16 >> 2] = d;
+ o[f + 13 | 0] = r[f + 142 | 0];
+ e = q[f + 120 >> 2] == 1;
+ o[f + 12 | 0] = e;
+ o[f + 56 | 0] = e | r[f + 141 | 0] != 0;
+ q[f + 4 >> 2] = f;
+ n = q[c + 76 >> 2];
+ if (n) {
+  k = q[c + 96 >> 2];
+  p = q[c + 88 >> 2];
+  t = (q[c + 48 >> 2] & -2) != 4;
+  while (1) {
+   a : {
+    b : {
+     h = w(j, 20);
+     i = h + p | 0;
+     if (!(q[i + 4 >> 2] & d)) {
+      break b;
+     }
+     q[f + 36 >> 2] = 1;
+     q[f >> 2] = j;
+     g = q[q[f + 4 >> 2] + 96 >> 2];
+     q[f + 40 >> 2] = q[g + 76 >> 2];
+     o[f + 20 | 0] = q[g + 72 >> 2] == (j | 0) ? r[(h + q[g + 88 >> 2] | 0) + 15 | 0] : 0;
+     if (!Xt(f)) {
+      break b;
+     }
+     e = q[a >> 2];
+     s = q[f >> 2];
+     g = w(s, 20);
+     e = vs(q[e >> 2], q[i >> 2], q[g + p >> 2], q[e + 4 >> 2]);
+     c : {
+      if (!e) {
+       break c;
+      }
+      d : {
+       if (!t) {
+        i = e << 16;
+        e = i >> 31;
+        e = T0(q[b + 32 >> 2], q[b + 36 >> 2], i >> 16, e);
+        e = (Ea & 65535) << 16 | e >>> 16;
+        if (r[a + 4 | 0]) {
+         q[(g + k | 0) + 12 >> 2] = e;
+         q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+         break d;
+        }
+        h = h + k | 0;
+        i = h;
+        m = q[h >> 2];
+        h = e >> 1;
+        q[i >> 2] = m + h;
+        g = g + k | 0;
+        e = e - h | 0;
+        q[g >> 2] = e + q[g >> 2];
+        q[g + 8 >> 2] = e + q[g + 8 >> 2];
+        break d;
+       }
+       i = e << 16;
+       e = i >> 31;
+       e = T0(q[b + 40 >> 2], q[b + 44 >> 2], i >> 16, e);
+       e = (Ea & 65535) << 16 | e >>> 16;
+       if (r[a + 4 | 0]) {
+        q[(g + k | 0) + 8 >> 2] = e;
+        q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+        break d;
+       }
+       h = h + k | 0;
+       i = h;
+       m = q[h + 4 >> 2];
+       h = e >> 1;
+       q[i + 4 >> 2] = m + h;
+       g = g + k | 0;
+       e = e - h | 0;
+       q[g + 4 >> 2] = e + q[g + 4 >> 2];
+       q[g + 12 >> 2] = e + q[g + 12 >> 2];
+      }
+      e = s + 1 | 0;
+      if (e - j >>> 0 < 2) {
+       break c;
+      }
+      DG(c, j, e);
+     }
+     j = q[f >> 2];
+     break a;
+    }
+    j = j + 1 | 0;
+   }
+   if (j >>> 0 < n >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = l + 160 | 0;
+}
+function au(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0;
+ l = Ca - 160 | 0;
+ Ca = l;
+ f = Mt(l + 8 | 0, 1, b, c);
+ q[f + 116 >> 2] = d;
+ q[f + 128 >> 2] = 8;
+ q[f + 32 >> 2] = 0;
+ q[f + 8 >> 2] = 8;
+ q[f + 76 >> 2] = 0;
+ q[f + 48 >> 2] = f;
+ q[f + 68 >> 2] = 0;
+ q[f + 72 >> 2] = 0;
+ q[f + 60 >> 2] = -1;
+ o[f + 57 | 0] = 1;
+ q[f + 52 >> 2] = 8;
+ q[f + 24 >> 2] = 0;
+ q[f + 28 >> 2] = 0;
+ q[f + 16 >> 2] = d;
+ o[f + 13 | 0] = r[f + 142 | 0];
+ e = q[f + 120 >> 2] == 1;
+ o[f + 12 | 0] = e;
+ o[f + 56 | 0] = e | r[f + 141 | 0] != 0;
+ q[f + 4 >> 2] = f;
+ n = q[c + 76 >> 2];
+ if (n) {
+  k = q[c + 96 >> 2];
+  p = q[c + 88 >> 2];
+  t = (q[c + 48 >> 2] & -2) != 4;
+  while (1) {
+   a : {
+    b : {
+     h = w(j, 20);
+     i = h + p | 0;
+     if (!(q[i + 4 >> 2] & d)) {
+      break b;
+     }
+     q[f + 36 >> 2] = 1;
+     q[f >> 2] = j;
+     g = q[q[f + 4 >> 2] + 96 >> 2];
+     q[f + 40 >> 2] = q[g + 76 >> 2];
+     o[f + 20 | 0] = q[g + 72 >> 2] == (j | 0) ? r[(h + q[g + 88 >> 2] | 0) + 15 | 0] : 0;
+     if (!Xt(f)) {
+      break b;
+     }
+     e = q[a >> 2];
+     s = q[f >> 2];
+     g = w(s, 20);
+     e = du(q[e >> 2], q[i >> 2], q[g + p >> 2], q[e + 4 >> 2]);
+     c : {
+      if (!e) {
+       break c;
+      }
+      d : {
+       if (!t) {
+        i = e << 16;
+        e = i >> 31;
+        e = T0(q[b + 32 >> 2], q[b + 36 >> 2], i >> 16, e);
+        e = (Ea & 65535) << 16 | e >>> 16;
+        if (r[a + 4 | 0]) {
+         q[(g + k | 0) + 12 >> 2] = e;
+         q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+         break d;
+        }
+        h = h + k | 0;
+        i = h;
+        m = q[h >> 2];
+        h = e >> 1;
+        q[i >> 2] = m + h;
+        g = g + k | 0;
+        e = e - h | 0;
+        q[g >> 2] = e + q[g >> 2];
+        q[g + 8 >> 2] = e + q[g + 8 >> 2];
+        break d;
+       }
+       i = e << 16;
+       e = i >> 31;
+       e = T0(q[b + 40 >> 2], q[b + 44 >> 2], i >> 16, e);
+       e = (Ea & 65535) << 16 | e >>> 16;
+       if (r[a + 4 | 0]) {
+        q[(g + k | 0) + 8 >> 2] = e;
+        q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+        break d;
+       }
+       h = h + k | 0;
+       i = h;
+       m = q[h + 4 >> 2];
+       h = e >> 1;
+       q[i + 4 >> 2] = m + h;
+       g = g + k | 0;
+       e = e - h | 0;
+       q[g + 4 >> 2] = e + q[g + 4 >> 2];
+       q[g + 12 >> 2] = e + q[g + 12 >> 2];
+      }
+      e = s + 1 | 0;
+      if (e - j >>> 0 < 2) {
+       break c;
+      }
+      DG(c, j, e);
+     }
+     j = q[f >> 2];
+     break a;
+    }
+    j = j + 1 | 0;
+   }
+   if (j >>> 0 < n >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = l + 160 | 0;
+}
+function Wt(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0;
+ l = Ca - 160 | 0;
+ Ca = l;
+ f = Mt(l + 8 | 0, 1, b, c);
+ q[f + 116 >> 2] = d;
+ q[f + 128 >> 2] = 8;
+ q[f + 32 >> 2] = 0;
+ q[f + 8 >> 2] = 8;
+ q[f + 76 >> 2] = 0;
+ q[f + 48 >> 2] = f;
+ q[f + 68 >> 2] = 0;
+ q[f + 72 >> 2] = 0;
+ q[f + 60 >> 2] = -1;
+ o[f + 57 | 0] = 1;
+ q[f + 52 >> 2] = 8;
+ q[f + 24 >> 2] = 0;
+ q[f + 28 >> 2] = 0;
+ q[f + 16 >> 2] = d;
+ o[f + 13 | 0] = r[f + 142 | 0];
+ e = q[f + 120 >> 2] == 1;
+ o[f + 12 | 0] = e;
+ o[f + 56 | 0] = e | r[f + 141 | 0] != 0;
+ q[f + 4 >> 2] = f;
+ n = q[c + 76 >> 2];
+ if (n) {
+  k = q[c + 96 >> 2];
+  p = q[c + 88 >> 2];
+  t = (q[c + 48 >> 2] & -2) != 4;
+  while (1) {
+   a : {
+    b : {
+     h = w(j, 20);
+     i = h + p | 0;
+     if (!(q[i + 4 >> 2] & d)) {
+      break b;
+     }
+     q[f + 36 >> 2] = 1;
+     q[f >> 2] = j;
+     g = q[q[f + 4 >> 2] + 96 >> 2];
+     q[f + 40 >> 2] = q[g + 76 >> 2];
+     o[f + 20 | 0] = q[g + 72 >> 2] == (j | 0) ? r[(h + q[g + 88 >> 2] | 0) + 15 | 0] : 0;
+     if (!Xt(f)) {
+      break b;
+     }
+     e = q[a >> 2];
+     s = q[f >> 2];
+     g = w(s, 20);
+     e = Yt(q[e >> 2], q[i >> 2], q[g + p >> 2], q[e + 4 >> 2]);
+     c : {
+      if (!e) {
+       break c;
+      }
+      d : {
+       if (!t) {
+        i = e << 16;
+        e = i >> 31;
+        e = T0(q[b + 32 >> 2], q[b + 36 >> 2], i >> 16, e);
+        e = (Ea & 65535) << 16 | e >>> 16;
+        if (r[a + 4 | 0]) {
+         q[(g + k | 0) + 12 >> 2] = e;
+         q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+         break d;
+        }
+        h = h + k | 0;
+        i = h;
+        m = q[h >> 2];
+        h = e >> 1;
+        q[i >> 2] = m + h;
+        g = g + k | 0;
+        e = e - h | 0;
+        q[g >> 2] = e + q[g >> 2];
+        q[g + 8 >> 2] = e + q[g + 8 >> 2];
+        break d;
+       }
+       i = e << 16;
+       e = i >> 31;
+       e = T0(q[b + 40 >> 2], q[b + 44 >> 2], i >> 16, e);
+       e = (Ea & 65535) << 16 | e >>> 16;
+       if (r[a + 4 | 0]) {
+        q[(g + k | 0) + 8 >> 2] = e;
+        q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+        break d;
+       }
+       h = h + k | 0;
+       i = h;
+       m = q[h + 4 >> 2];
+       h = e >> 1;
+       q[i + 4 >> 2] = m + h;
+       g = g + k | 0;
+       e = e - h | 0;
+       q[g + 4 >> 2] = e + q[g + 4 >> 2];
+       q[g + 12 >> 2] = e + q[g + 12 >> 2];
+      }
+      e = s + 1 | 0;
+      if (e - j >>> 0 < 2) {
+       break c;
+      }
+      DG(c, j, e);
+     }
+     j = q[f >> 2];
+     break a;
+    }
+    j = j + 1 | 0;
+   }
+   if (j >>> 0 < n >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = l + 160 | 0;
+}
+function Y_(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = Ca - 272 | 0;
+ Ca = f;
+ a : {
+  if (r[b | 0]) {
+   break a;
+  }
+  b = j$(508416);
+  if (r[b | 0] ? b : 0) {
+   break a;
+  }
+  b = j$(w(a, 12) + 508432 | 0);
+  if (r[b | 0] ? b : 0) {
+   break a;
+  }
+  b = j$(508504);
+  if (r[b | 0] ? b : 0) {
+   break a;
+  }
+  b = 508509;
+ }
+ b : {
+  while (1) {
+   d = r[b + c | 0];
+   if (!(!d | (d | 0) == 47)) {
+    g = 15;
+    c = c + 1 | 0;
+    if ((c | 0) != 15) {
+     continue;
+    }
+    break b;
+   }
+   break;
+  }
+  g = c;
+ }
+ d = 508509;
+ c : {
+  d : {
+   c = r[b | 0];
+   e : {
+    f : {
+     if (!(r[b + g | 0] | (c | 0) == 46)) {
+      d = b;
+      if ((c | 0) != 67) {
+       break f;
+      }
+     }
+     if (!r[d + 1 | 0]) {
+      break e;
+     }
+    }
+    if (!iZ(d, 508509)) {
+     break e;
+    }
+    if (iZ(d, 508517)) {
+     break d;
+    }
+   }
+   if (!a) {
+    c = 508340;
+    if (r[d + 1 | 0] == 46) {
+     break c;
+    }
+   }
+   c = 0;
+   break c;
+  }
+  c = q[161142];
+  if (c) {
+   while (1) {
+    if (!iZ(d, c + 8 | 0)) {
+     break c;
+    }
+    c = q[c + 24 >> 2];
+    if (c) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = q[161142];
+  if (c) {
+   while (1) {
+    if (!iZ(d, c + 8 | 0)) {
+     break c;
+    }
+    c = q[c + 24 >> 2];
+    if (c) {
+     continue;
+    }
+    break;
+   }
+  }
+  g : {
+   h : {
+    i : {
+     if (q[160857]) {
+      break i;
+     }
+     c = j$(508523);
+     if (!c | !r[c | 0]) {
+      break i;
+     }
+     j = g + 1 | 0;
+     k = 254 - g | 0;
+     while (1) {
+      h = dZ(c, 58);
+      b = r[h | 0];
+      i = (h - c | 0) - ((b | 0) != 0) | 0;
+      if (i >>> 0 < k >>> 0) {
+       Y$(f + 16 | 0, c, i);
+       b = (f + 16 | 0) + i | 0;
+       o[b | 0] = 47;
+       Y$(b + 1 | 0, d, g);
+       o[f + 16 + (i + j) | 0] = 0;
+       c = va(f + 16 | 0, f + 12 | 0) | 0;
+       if (c) {
+        b = L$(28);
+        if (b) {
+         break h;
+        }
+        DY(ra(c | 0, q[f + 12 >> 2]) | 0);
+        break i;
+       }
+       b = r[h | 0];
+      }
+      c = h + ((b | 0) != 0) | 0;
+      if (r[c | 0]) {
+       continue;
+      }
+      break;
+     }
+    }
+    b = L$(28);
+    if (!b) {
+     break g;
+    }
+    e = q[127086];
+    q[b >> 2] = q[127085];
+    q[b + 4 >> 2] = e;
+    e = b + 8 | 0;
+    Y$(e, d, g);
+    o[g + e | 0] = 0;
+    q[b + 24 >> 2] = q[161142];
+    q[161142] = b;
+    e = b;
+    break g;
+   }
+   q[b >> 2] = c;
+   q[b + 4 >> 2] = q[f + 12 >> 2];
+   e = b + 8 | 0;
+   Y$(e, d, g);
+   o[g + e | 0] = 0;
+   q[b + 24 >> 2] = q[161142];
+   q[161142] = b;
+   e = b;
+  }
+  c = a | e ? e : 508340;
+ }
+ Ca = f + 272 | 0;
+ return c;
+}
+function kx(a, b) {
+ var c = 0, d = 0;
+ c = 271040;
+ a : {
+  b : {
+   while (1) {
+    c : {
+     if ((b | 0) != 9) {
+      b = b + -1 | 0;
+      if (b >>> 0 > 7) {
+       break b;
+      }
+      d : {
+       switch (b - 1 | 0) {
+       default:
+        b = r[a | 0] | r[a + 1 | 0] << 8;
+        b = ((b << 24 | b << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+        if (b >>> 0 > 1) {
+         break b;
+        }
+        if (b - 1) {
+         break c;
+        }
+        break a;
+       case 0:
+        b = r[a | 0] | r[a + 1 | 0] << 8;
+        b = ((b << 24 | b << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+        if (b >>> 0 > 1) {
+         break b;
+        }
+        break a;
+       case 1:
+        if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+         break b;
+        }
+        break a;
+       case 2:
+        if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+         break b;
+        }
+        break a;
+       case 3:
+        if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+         break b;
+        }
+        break a;
+       case 4:
+        if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+         break b;
+        }
+        break a;
+       case 5:
+        b = r[a | 0] | r[a + 1 | 0] << 8;
+        b = ((b << 24 | b << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+        if (b >>> 0 > 2) {
+         break b;
+        }
+        e : {
+         switch (b - 1 | 0) {
+         case 1:
+          break e;
+         default:
+          break a;
+         }
+        }
+        b = a;
+        a = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+        return a ? b + a | 0 : 271040;
+       case 6:
+        break d;
+       }
+      }
+      b = r[a | 0] | r[a + 1 | 0] << 8;
+      b = ((b << 24 | b << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+      if (b >>> 0 > 2) {
+       break b;
+      }
+      f : {
+       switch (b - 1 | 0) {
+       case 1:
+        break f;
+       default:
+        break a;
+       }
+      }
+      b = a;
+      a = (a + 2 | 0) + (r[a + 3 | 0] << 1 | r[a + 2 | 0] << 9) | 0;
+      a = r[a + 3 | 0] | r[a + 2 | 0] << 8 ? a + 4 | 0 : 271040;
+      a = r[a | 0] << 8 | r[a + 1 | 0];
+      return a ? b + a | 0 : 271040;
+     }
+     if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+      break b;
+     }
+     b = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+     d = a;
+     a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+     a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+     a = a ? d + a | 0 : 271040;
+     continue;
+    }
+    break;
+   }
+   b = a;
+   a = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   c = a ? b + a | 0 : 271040;
+  }
+  return c;
+ }
+ b = a;
+ a = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ return a ? b + a | 0 : 271040;
+}
+function PT(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0;
+ f = -4;
+ a : {
+  b : {
+   if (b >>> 0 >= c >>> 0) {
+    break b;
+   }
+   c : {
+    d : {
+     h = a + 72 | 0;
+     e = r[h + r[b | 0] | 0];
+     if (e >>> 0 > 10) {
+      break d;
+     }
+     e : {
+      switch (e - 2 | 0) {
+      case 2:
+       f = -1;
+       e = b + 1 | 0;
+       if ((c - e | 0) < 1) {
+        break b;
+       }
+       if (r[e | 0] != 93) {
+        break c;
+       }
+       g = b + 2 | 0;
+       if ((c - g | 0) < 1) {
+        break b;
+       }
+       if (r[g | 0] != 62) {
+        break c;
+       }
+       q[d >> 2] = b + 3;
+       return 40;
+      case 7:
+       a = b + 1 | 0;
+       if ((c - a | 0) < 1) {
+        return -1;
+       }
+       q[d >> 2] = r[r[b + 1 | 0] + h | 0] == 10 ? b + 2 | 0 : a;
+       return 7;
+      case 8:
+       q[d >> 2] = b + 1;
+       return 7;
+      case 3:
+       f = -2;
+       if ((c - b | 0) < 2) {
+        break b;
+       }
+       if (n[q[a + 352 >> 2]](a, b)) {
+        break a;
+       }
+       e = b + 2 | 0;
+       break c;
+      case 4:
+       f = -2;
+       if ((c - b | 0) < 3) {
+        break b;
+       }
+       if (n[q[a + 356 >> 2]](a, b)) {
+        break a;
+       }
+       e = b + 3 | 0;
+       break c;
+      case 0:
+      case 1:
+       break d;
+      case 5:
+       break e;
+      default:
+       break a;
+      }
+     }
+     f = -2;
+     if ((c - b | 0) < 4) {
+      break b;
+     }
+     if (n[q[a + 360 >> 2]](a, b)) {
+      break a;
+     }
+     e = b + 4 | 0;
+     break c;
+    }
+    e = b + 1 | 0;
+   }
+   f = c - e | 0;
+   f : {
+    if ((f | 0) < 1) {
+     break f;
+    }
+    while (1) {
+     b = 1;
+     g = r[r[e | 0] + h | 0];
+     g : {
+      if (g >>> 0 > 10) {
+       break g;
+      }
+      h : {
+       switch (g - 2 | 0) {
+       case 3:
+        if ((f | 0) < 2) {
+         break f;
+        }
+        b = 2;
+        if (!n[q[a + 352 >> 2]](a, e)) {
+         break g;
+        }
+        break f;
+       case 4:
+        if ((f | 0) < 3) {
+         break f;
+        }
+        b = 3;
+        if (!n[q[a + 356 >> 2]](a, e)) {
+         break g;
+        }
+        break f;
+       case 0:
+       case 1:
+        break g;
+       case 5:
+        break h;
+       default:
+        break f;
+       }
+      }
+      if ((f | 0) < 4) {
+       break f;
+      }
+      b = 4;
+      if (n[q[a + 360 >> 2]](a, e)) {
+       break f;
+      }
+     }
+     e = b + e | 0;
+     f = c - e | 0;
+     if ((f | 0) > 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[d >> 2] = e;
+   f = 6;
+  }
+  return f | 0;
+ }
+ q[d >> 2] = b;
+ return 0;
+}
+function CE(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, s = 0, t = 0, u = 0, v = 0;
+ l = Ca - 160 | 0;
+ Ca = l;
+ b = Mt(l + 8 | 0, 1, b, c);
+ q[b + 116 >> 2] = d;
+ q[b + 128 >> 2] = 8;
+ q[b + 32 >> 2] = 0;
+ q[b + 8 >> 2] = 8;
+ q[b + 76 >> 2] = 0;
+ q[b + 48 >> 2] = b;
+ q[b + 68 >> 2] = 0;
+ q[b + 72 >> 2] = 0;
+ q[b + 60 >> 2] = -1;
+ o[b + 57 | 0] = 1;
+ q[b + 52 >> 2] = 8;
+ q[b + 24 >> 2] = 0;
+ q[b + 28 >> 2] = 0;
+ q[b + 16 >> 2] = d;
+ o[b + 13 | 0] = r[b + 142 | 0];
+ e = q[b + 120 >> 2] == 1;
+ o[b + 12 | 0] = e;
+ o[b + 56 | 0] = e | r[b + 141 | 0] != 0;
+ q[b + 4 >> 2] = b;
+ m = q[c + 76 >> 2];
+ if (m) {
+  j = q[c + 96 >> 2];
+  p = q[c + 88 >> 2];
+  v = (q[c + 48 >> 2] & -2) != 4;
+  while (1) {
+   a : {
+    b : {
+     i = w(h, 20);
+     f = i + p | 0;
+     if (!(q[f + 4 >> 2] & d)) {
+      break b;
+     }
+     q[b + 36 >> 2] = 1;
+     q[b >> 2] = h;
+     g = q[q[b + 4 >> 2] + 96 >> 2];
+     q[b + 40 >> 2] = q[g + 76 >> 2];
+     o[b + 20 | 0] = q[g + 72 >> 2] == (h | 0) ? r[(i + q[g + 88 >> 2] | 0) + 15 | 0] : 0;
+     if (!Xt(b)) {
+      break b;
+     }
+     k = q[f >> 2];
+     s = q[b >> 2];
+     g = w(s, 20);
+     t = q[p + g >> 2];
+     u = q[a >> 2];
+     e = q[u >> 2];
+     f = q[e + 72 >> 2];
+     c : {
+      if ((q[u + 4 >> 2] & -2) == 4) {
+       e = n[q[f + 192 >> 2]](e, q[e + 76 >> 2], k, t, q[f + 56 >> 2]) | 0;
+       break c;
+      }
+      e = n[q[f + 196 >> 2]](e, q[e + 76 >> 2], k, t, q[f + 60 >> 2]) | 0;
+     }
+     d : {
+      if (!e) {
+       break d;
+      }
+      e : {
+       if (!v) {
+        if (r[a + 4 | 0]) {
+         q[(g + j | 0) + 12 >> 2] = e;
+         q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+         break e;
+        }
+        f = j + i | 0;
+        i = f;
+        k = q[f >> 2];
+        f = e >> 1;
+        q[i >> 2] = k + f;
+        g = g + j | 0;
+        e = e - f | 0;
+        q[g >> 2] = e + q[g >> 2];
+        q[g + 8 >> 2] = e + q[g + 8 >> 2];
+        break e;
+       }
+       if (r[a + 4 | 0]) {
+        q[(g + j | 0) + 8 >> 2] = e;
+        q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+        break e;
+       }
+       f = j + i | 0;
+       i = f;
+       k = q[f + 4 >> 2];
+       f = e >> 1;
+       q[i + 4 >> 2] = k + f;
+       g = g + j | 0;
+       e = e - f | 0;
+       q[g + 4 >> 2] = e + q[g + 4 >> 2];
+       q[g + 12 >> 2] = e + q[g + 12 >> 2];
+      }
+      e = s + 1 | 0;
+      if (e - h >>> 0 < 2) {
+       break d;
+      }
+      DG(c, h, e);
+     }
+     h = q[b >> 2];
+     break a;
+    }
+    h = h + 1 | 0;
+   }
+   if (h >>> 0 < m >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = l + 160 | 0;
+}
+function Ts(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ e = Ca + -64 | 0;
+ Ca = e;
+ q[b + 60 >> 2] = 0;
+ a : {
+  h = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (h) {
+   l = h + -1 | 0;
+   a = a + 4 | 0;
+   m = e + 48 | 0;
+   while (1) {
+    c = q[b + 12 >> 2];
+    d = q[c + 48 >> 2];
+    b : {
+     if (o[a + 5 | 0] & 1 ^ (d & -2) == 4) {
+      break b;
+     }
+     f = q[b + 4 >> 2];
+     q[m >> 2] = g;
+     q[e + 40 >> 2] = 114;
+     q[e + 44 >> 2] = 110;
+     q[e + 32 >> 2] = 107;
+     q[e + 36 >> 2] = 101;
+     if (!Ot(c, f, 228410, e + 32 | 0)) {
+      break b;
+     }
+     d = d & -3;
+     c : {
+      if (i) {
+       i = 1;
+       break c;
+      }
+      i = 0;
+      if (!(r[a + 5 | 0] & 4)) {
+       break c;
+      }
+      i = 1;
+      c = q[b + 12 >> 2];
+      f = q[c + 76 >> 2];
+      if (!f) {
+       break c;
+      }
+      g = q[c + 96 >> 2];
+      c = 0;
+      while (1) {
+       k = g + w(c, 20) | 0;
+       o[k + 18 | 0] = 2;
+       p[k + 16 >> 1] = (q[q[b + 12 >> 2] + 48 >> 2] & -3) == 4 ? -1 : 1;
+       c = c + 1 | 0;
+       if ((f | 0) != (c | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     g = (d | 0) != 5;
+     if (!g) {
+      AG(q[b + 12 >> 2]);
+     }
+     c = q[b + 44 >> 2];
+     d = q[c + 12 >> 2];
+     q[b + 20 >> 2] = d;
+     c = q[c + 16 >> 2];
+     f = c + d | 0;
+     q[b + 24 >> 2] = f;
+     if ((c | 0) <= -1) {
+      break a;
+     }
+     c = j >>> 0 < l >>> 0 ? a : 0;
+     d : {
+      if (!c) {
+       break d;
+      }
+      if (!(f >>> 0 > c >>> 0 ? c >>> 0 >= d >>> 0 : 0)) {
+       q[b + 20 >> 2] = 0;
+       q[b + 24 >> 2] = 0;
+       break d;
+      }
+      q[b + 20 >> 2] = c;
+      d = r[c + 3 | 0] | r[c + 2 | 0] << 8;
+      f = f - c | 0;
+      q[b + 24 >> 2] = c + (f >>> 0 > d >>> 0 ? d : f);
+     }
+     c = Ut(a, b);
+     d = q[b + 44 >> 2];
+     f = q[d + 12 >> 2];
+     q[b + 20 >> 2] = f;
+     d = q[d + 16 >> 2];
+     q[b + 24 >> 2] = d + f;
+     if ((d | 0) <= -1) {
+      break a;
+     }
+     if (!g) {
+      AG(q[b + 12 >> 2]);
+     }
+     n = c | n;
+     c = q[b + 4 >> 2];
+     d = q[b + 12 >> 2];
+     q[e + 16 >> 2] = q[b + 60 >> 2];
+     q[e + 8 >> 2] = 114;
+     q[e + 12 >> 2] = 110;
+     q[e >> 2] = 107;
+     q[e + 4 >> 2] = 101;
+     Ot(d, c, 228437, e);
+    }
+    c = r[a + 3 | 0];
+    d = r[a + 2 | 0];
+    g = q[b + 60 >> 2] + 1 | 0;
+    q[b + 60 >> 2] = g;
+    a = (c | d << 8) + a | 0;
+    j = j + 1 | 0;
+    if ((j | 0) != (h | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  Ca = e - -64 | 0;
+  return;
+ }
+ J(228462, 228487, 195, 228504);
+ F();
+}
+function Kp(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ e = q[a + 804 >> 2];
+ a : {
+  b : {
+   if (e) {
+    d = 6;
+    if (t[a + 28 >> 2] <= b >>> 0) {
+     break a;
+    }
+    b = q[e + (b << 2) >> 2];
+    break b;
+   }
+   d = 6;
+   if (t[a + 800 >> 2] <= b >>> 0) {
+    break a;
+   }
+  }
+  d = 2;
+  e = q[a + 796 >> 2] + -1 | 0;
+  if (e >>> 0 > 2) {
+   break a;
+  }
+  c : {
+   if (e - 2) {
+    i = q[a + 788 >> 2] + w(b, 48) | 0;
+    e = r[i + 52 | 0];
+    p[c >> 1] = e;
+    g = r[i + 53 | 0];
+    p[c + 2 >> 1] = g;
+    b = o[i + 24 | 0];
+    d = b << 6;
+    q[c + 12 >> 2] = d;
+    f = o[i + 25 | 0];
+    h = f << 6;
+    q[c + 16 >> 2] = h;
+    j = o[i + 33 | 0];
+    d : {
+     if ((f | 0) >= 1) {
+      if ((j | 0) > -1) {
+       break d;
+      }
+      h = 0 - h | 0;
+      q[c + 16 >> 2] = h;
+      break d;
+     }
+     if (b | f) {
+      break d;
+     }
+     b = c;
+     d = o[i + 32 | 0];
+     e : {
+      if (d | j) {
+       h = j << 6;
+       q[c + 16 >> 2] = h;
+       d = d << 6;
+       break e;
+      }
+      h = 0;
+      q[c + 16 >> 2] = 0;
+      d = g << 6;
+     }
+     q[b + 12 >> 2] = d;
+    }
+    f = i + 8 | 0;
+    b = d - h | 0;
+    q[c + 20 >> 2] = b;
+    if (!b) {
+     b = g << 6;
+     q[c + 20 >> 2] = b;
+     q[c + 16 >> 2] = d - b;
+    }
+    q[c + 24 >> 2] = o[f + 23 | 0] + (r[f + 18 | 0] + o[f + 22 | 0] | 0) << 6;
+    a = a + 178 | 0;
+    k = c, l = ue(e, 4194304, s[a >> 1]), q[k + 4 >> 2] = l;
+    k = c, l = ue(s[c + 2 >> 1], 4194304, s[a >> 1]), q[k + 8 >> 2] = l;
+    break c;
+   }
+   d = 3;
+   b = q[a + 788 >> 2] + (b << 2) | 0;
+   b = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+   b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+   if (b + 4 >>> 0 > t[a + 864 >> 2]) {
+    break a;
+   }
+   e = q[a + 104 >> 2];
+   d = yg(e, b + q[a + 860 >> 2] | 0);
+   if (d) {
+    break a;
+   }
+   d = Kg(e, 4);
+   if (d) {
+    break a;
+   }
+   b = Pg(e);
+   Pg(e);
+   Ng(e);
+   e = a + 178 | 0;
+   g = s[e >> 1];
+   p[c + 2 >> 1] = b;
+   p[c >> 1] = b;
+   d = a + 220 | 0;
+   f = b << 6;
+   k = c, l = ue(p[d >> 1], f, g), q[k + 12 >> 2] = l;
+   b = a + 222 | 0;
+   k = c, l = ue(p[b >> 1], f, g), q[k + 16 >> 2] = l;
+   k = c, l = ue(p[a + 224 >> 1] + (p[d >> 1] - p[b >> 1] | 0) | 0, f, g), q[k + 20 >> 2] = l;
+   k = c, l = ue(s[a + 226 >> 1], f, g), q[k + 24 >> 2] = l;
+   k = c, l = ue(s[c >> 1], 4194304, s[e >> 1]), q[k + 4 >> 2] = l;
+   k = c, l = ue(s[c + 2 >> 1], 4194304, s[e >> 1]), q[k + 8 >> 2] = l;
+  }
+  d = 0;
+ }
+ return d | 0;
+}
+function qZ(a) {
+ var b = 0, c = 0, d = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ a : {
+  b : {
+   c : {
+    h(+a);
+    d = e(1) | 0;
+    k = e(0) | 0;
+    d : {
+     e : {
+      b = d;
+      d = b & 2147483647;
+      if (d >>> 0 >= 1078159482) {
+       h(+a);
+       d = e(1) | 0;
+       d = d & 2147483647;
+       if ((d | 0) == 2146435072 & e(0) >>> 0 > 0 | d >>> 0 > 2146435072) {
+        break a;
+       }
+       if ((b | 0) < 0 ? 1 : (b | 0) <= 0 ? k >>> 0 >= 0 ? 0 : 1 : 0) {
+        return -1;
+       }
+       if (!(a > 709.782712893384)) {
+        break e;
+       }
+       return a * 8.98846567431158e+307;
+      }
+      if (d >>> 0 < 1071001155) {
+       break c;
+      }
+      if (d >>> 0 > 1072734897) {
+       break e;
+      }
+      if ((b | 0) > 0 ? 1 : (b | 0) >= 0 ? k >>> 0 < 0 ? 0 : 1 : 0) {
+       b = 1;
+       c = 1.9082149292705877e-10;
+       j = a + -.6931471803691238;
+       break d;
+      }
+      b = -1;
+      c = -1.9082149292705877e-10;
+      j = a + .6931471803691238;
+      break d;
+     }
+     h(.5);
+     b = e(1) | 0;
+     d = e(0) | 0;
+     h(+a);
+     k = e(1) | 0;
+     e(0) | 0;
+     f(0, d | 0);
+     f(1, b & 2147483647 | k & -2147483648);
+     c = a * 1.4426950408889634 + +g();
+     f : {
+      if (y(c) < 2147483648) {
+       b = ~~c;
+       break f;
+      }
+      b = -2147483648;
+     }
+     i = +(b | 0);
+     c = i * 1.9082149292705877e-10;
+     j = a + i * -.6931471803691238;
+    }
+    a = j;
+    a = a - c;
+    c = j - a - c;
+    break b;
+   }
+   if (d >>> 0 < 1016070144) {
+    break a;
+   }
+   b = 0;
+  }
+  l = a * .5;
+  i = a * l;
+  j = i * (i * (i * (i * (i * -2.0109921818362437e-7 + 4008217827329362e-21) + -793650757867488e-19) + .0015873015872548146) + -.03333333333333313) + 1;
+  m = j;
+  j = 3 - l * j;
+  j = i * ((m - j) / (6 - a * j));
+  if (!b) {
+   return a - (a * j - i);
+  }
+  c = a * (j - c) - c - i;
+  g : {
+   k = b + 1 | 0;
+   if (k >>> 0 > 2) {
+    break g;
+   }
+   h : {
+    switch (k - 1 | 0) {
+    default:
+     return (a - c) * .5 + -.5;
+    case 0:
+     break g;
+    case 1:
+     break h;
+    }
+   }
+   if (!!(a < -.25)) {
+    return (c - (a + .5)) * -2;
+   }
+   a = a - c;
+   return a + a + 1;
+  }
+  f(0, 0);
+  f(1, b + 1023 << 20);
+  i = +g();
+  if (b >>> 0 >= 57) {
+   a = a - c + 1;
+   return ((b | 0) == 1024 ? (a + a) * 8.98846567431158e+307 : a * i) + -1;
+  }
+  k = 1023 - b << 20;
+  d = 0;
+  i : {
+   if ((b | 0) <= 19) {
+    a = a - c;
+    f(0, d | 0);
+    f(1, k | 0);
+    c = 1 - +g();
+    break i;
+   }
+   f(0, d | 0);
+   f(1, k | 0);
+   c = a - (c + +g());
+   a = 1;
+  }
+  a = (c + a) * i;
+ }
+ return a;
+}
+function pz(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ c = Ca - 48 | 0;
+ Ca = c;
+ g = q[a + 24 >> 2];
+ if (g >>> 0 >= 6) {
+  l = a + 128 | 0;
+  h = q[67760];
+  i = q[67761];
+  k = 6;
+  while (1) {
+   d = l;
+   e = q[d + 12 >> 2];
+   q[c + 40 >> 2] = q[d + 8 >> 2];
+   q[c + 44 >> 2] = e;
+   e = q[d + 4 >> 2];
+   q[c + 32 >> 2] = q[d >> 2];
+   q[c + 36 >> 2] = e;
+   if (g >>> 0 <= f >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   j = q[a + 32 >> 2];
+   a : {
+    if (j >>> 0 <= f >>> 0) {
+     q[160656] = h;
+     q[160657] = i;
+     d = 642624;
+     break a;
+    }
+    d = q[a + 36 >> 2] + (f << 3) | 0;
+   }
+   e = f | 1;
+   if (g >>> 0 <= e >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   b : {
+    if (j >>> 0 <= e >>> 0) {
+     q[160656] = h;
+     q[160657] = i;
+     e = 642624;
+     break b;
+    }
+    e = q[a + 36 >> 2] + (e << 3) | 0;
+   }
+   v[c + 32 >> 3] = v[c + 32 >> 3] + v[d >> 3];
+   v[c + 40 >> 3] = v[c + 40 >> 3] + v[e >> 3];
+   d = q[c + 44 >> 2];
+   q[c + 24 >> 2] = q[c + 40 >> 2];
+   q[c + 28 >> 2] = d;
+   d = q[c + 36 >> 2];
+   q[c + 16 >> 2] = q[c + 32 >> 2];
+   q[c + 20 >> 2] = d;
+   d = f + 2 | 0;
+   if (g >>> 0 <= d >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   c : {
+    if (j >>> 0 <= d >>> 0) {
+     q[160656] = h;
+     q[160657] = i;
+     d = 642624;
+     break c;
+    }
+    d = q[a + 36 >> 2] + (d << 3) | 0;
+   }
+   e = f + 3 | 0;
+   if (g >>> 0 <= e >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   d : {
+    if (j >>> 0 <= e >>> 0) {
+     q[160656] = h;
+     q[160657] = i;
+     e = 642624;
+     break d;
+    }
+    e = q[a + 36 >> 2] + (e << 3) | 0;
+   }
+   v[c + 16 >> 3] = v[c + 16 >> 3] + v[d >> 3];
+   v[c + 24 >> 3] = v[c + 24 >> 3] + v[e >> 3];
+   d = q[c + 28 >> 2];
+   q[c + 8 >> 2] = q[c + 24 >> 2];
+   q[c + 12 >> 2] = d;
+   d = q[c + 20 >> 2];
+   q[c >> 2] = q[c + 16 >> 2];
+   q[c + 4 >> 2] = d;
+   d = f + 4 | 0;
+   if (g >>> 0 <= d >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   e : {
+    if (j >>> 0 <= d >>> 0) {
+     q[160656] = h;
+     q[160657] = i;
+     d = 642624;
+     break e;
+    }
+    d = q[a + 36 >> 2] + (d << 3) | 0;
+   }
+   f = f + 5 | 0;
+   if (g >>> 0 <= f >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   f : {
+    if (j >>> 0 <= f >>> 0) {
+     q[160656] = h;
+     q[160657] = i;
+     f = 642624;
+     break f;
+    }
+    f = q[a + 36 >> 2] + (f << 3) | 0;
+   }
+   v[c >> 3] = v[c >> 3] + v[d >> 3];
+   v[c + 8 >> 3] = v[c + 8 >> 3] + v[f >> 3];
+   uz(a, b, c + 32 | 0, c + 16 | 0, c);
+   f = k;
+   k = f + 6 | 0;
+   g = q[a + 24 >> 2];
+   if (k >>> 0 <= g >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = c + 48 | 0;
+}
+function mz(a, b) {
+ var c = 0, d = 0, e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, r = 0, s = 0;
+ c = Ca - 48 | 0;
+ Ca = c;
+ h = q[a + 140 >> 2];
+ q[c + 40 >> 2] = q[a + 136 >> 2];
+ q[c + 44 >> 2] = h;
+ h = q[a + 132 >> 2];
+ q[c + 32 >> 2] = q[a + 128 >> 2];
+ q[c + 36 >> 2] = h;
+ i = q[a + 24 >> 2];
+ if (i & 1) {
+  if (!i) {
+   o[a + 20 | 0] = 1;
+  }
+  a : {
+   if (!q[a + 32 >> 2]) {
+    h = q[67761];
+    d = q[67760];
+    q[160656] = d;
+    q[160657] = h;
+    f(0, d | 0);
+    f(1, h | 0);
+    k = +g();
+    break a;
+   }
+   k = v[q[a + 36 >> 2] >> 3];
+  }
+  v[c + 32 >> 3] = v[c + 32 >> 3] + k;
+  d = 1;
+ }
+ h = d | 4;
+ if (h >>> 0 <= i >>> 0) {
+  s = a + 128 | 0;
+  e = q[67761];
+  n = e;
+  l = q[67760];
+  f(0, l | 0);
+  f(1, e | 0);
+  k = +g();
+  r = c + 24 | 0;
+  while (1) {
+   if (i >>> 0 <= d >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   p = q[a + 32 >> 2];
+   b : {
+    if (p >>> 0 <= d >>> 0) {
+     q[160656] = l;
+     q[160657] = n;
+     m = k;
+     break b;
+    }
+    m = v[q[a + 36 >> 2] + (d << 3) >> 3];
+   }
+   v[c + 40 >> 3] = v[c + 40 >> 3] + m;
+   e = q[c + 44 >> 2];
+   q[r >> 2] = q[c + 40 >> 2];
+   q[r + 4 >> 2] = e;
+   e = q[c + 36 >> 2];
+   q[c + 16 >> 2] = q[c + 32 >> 2];
+   q[c + 20 >> 2] = e;
+   e = d + 1 | 0;
+   if (i >>> 0 <= e >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   c : {
+    if (p >>> 0 <= e >>> 0) {
+     q[160656] = l;
+     q[160657] = n;
+     e = 642624;
+     break c;
+    }
+    e = q[a + 36 >> 2] + (e << 3) | 0;
+   }
+   j = d + 2 | 0;
+   if (i >>> 0 <= j >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   d : {
+    if (p >>> 0 <= j >>> 0) {
+     q[160656] = l;
+     q[160657] = n;
+     j = 642624;
+     break d;
+    }
+    j = q[a + 36 >> 2] + (j << 3) | 0;
+   }
+   v[c + 16 >> 3] = v[c + 16 >> 3] + v[e >> 3];
+   v[c + 24 >> 3] = v[c + 24 >> 3] + v[j >> 3];
+   e = q[c + 28 >> 2];
+   q[c + 8 >> 2] = q[c + 24 >> 2];
+   q[c + 12 >> 2] = e;
+   e = q[c + 20 >> 2];
+   q[c >> 2] = q[c + 16 >> 2];
+   q[c + 4 >> 2] = e;
+   d = d + 3 | 0;
+   if (i >>> 0 <= d >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   e : {
+    if (p >>> 0 <= d >>> 0) {
+     q[160656] = l;
+     q[160657] = n;
+     m = k;
+     break e;
+    }
+    m = v[q[a + 36 >> 2] + (d << 3) >> 3];
+   }
+   v[c + 8 >> 3] = v[c + 8 >> 3] + m;
+   uz(a, b, c + 32 | 0, c + 16 | 0, c);
+   d = s;
+   e = q[d + 12 >> 2];
+   q[c + 40 >> 2] = q[d + 8 >> 2];
+   q[c + 44 >> 2] = e;
+   e = q[d + 4 >> 2];
+   q[c + 32 >> 2] = q[d >> 2];
+   q[c + 36 >> 2] = e;
+   d = h;
+   h = d + 4 | 0;
+   i = q[a + 24 >> 2];
+   if (h >>> 0 <= i >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = c + 48 | 0;
+}
+function lz(a, b) {
+ var c = 0, d = 0, e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, r = 0, s = 0;
+ c = Ca - 48 | 0;
+ Ca = c;
+ h = q[a + 140 >> 2];
+ q[c + 40 >> 2] = q[a + 136 >> 2];
+ q[c + 44 >> 2] = h;
+ h = q[a + 132 >> 2];
+ q[c + 32 >> 2] = q[a + 128 >> 2];
+ q[c + 36 >> 2] = h;
+ i = q[a + 24 >> 2];
+ if (i & 1) {
+  if (!i) {
+   o[a + 20 | 0] = 1;
+  }
+  a : {
+   if (!q[a + 32 >> 2]) {
+    h = q[67761];
+    e = q[67760];
+    q[160656] = e;
+    q[160657] = h;
+    f(0, e | 0);
+    f(1, h | 0);
+    k = +g();
+    break a;
+   }
+   k = v[q[a + 36 >> 2] >> 3];
+  }
+  v[c + 40 >> 3] = v[c + 40 >> 3] + k;
+  e = 1;
+ }
+ h = e | 4;
+ if (h >>> 0 <= i >>> 0) {
+  s = a + 128 | 0;
+  d = q[67761];
+  n = d;
+  l = q[67760];
+  f(0, l | 0);
+  f(1, d | 0);
+  k = +g();
+  while (1) {
+   if (i >>> 0 <= e >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   p = q[a + 32 >> 2];
+   b : {
+    if (p >>> 0 <= e >>> 0) {
+     q[160656] = l;
+     q[160657] = n;
+     m = k;
+     break b;
+    }
+    m = v[q[a + 36 >> 2] + (e << 3) >> 3];
+   }
+   v[c + 32 >> 3] = v[c + 32 >> 3] + m;
+   r = c + 40 | 0;
+   d = r;
+   j = q[d + 4 >> 2];
+   q[c + 24 >> 2] = q[d >> 2];
+   q[c + 28 >> 2] = j;
+   d = q[c + 36 >> 2];
+   q[c + 16 >> 2] = q[c + 32 >> 2];
+   q[c + 20 >> 2] = d;
+   d = e + 1 | 0;
+   if (i >>> 0 <= d >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   c : {
+    if (p >>> 0 <= d >>> 0) {
+     q[160656] = l;
+     q[160657] = n;
+     d = 642624;
+     break c;
+    }
+    d = q[a + 36 >> 2] + (d << 3) | 0;
+   }
+   j = e + 2 | 0;
+   if (i >>> 0 <= j >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   d : {
+    if (p >>> 0 <= j >>> 0) {
+     q[160656] = l;
+     q[160657] = n;
+     j = 642624;
+     break d;
+    }
+    j = q[a + 36 >> 2] + (j << 3) | 0;
+   }
+   v[c + 16 >> 3] = v[c + 16 >> 3] + v[d >> 3];
+   v[c + 24 >> 3] = v[c + 24 >> 3] + v[j >> 3];
+   d = q[c + 28 >> 2];
+   q[c + 8 >> 2] = q[c + 24 >> 2];
+   q[c + 12 >> 2] = d;
+   d = q[c + 20 >> 2];
+   q[c >> 2] = q[c + 16 >> 2];
+   q[c + 4 >> 2] = d;
+   e = e + 3 | 0;
+   if (i >>> 0 <= e >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   e : {
+    if (p >>> 0 <= e >>> 0) {
+     q[160656] = l;
+     q[160657] = n;
+     m = k;
+     break e;
+    }
+    m = v[q[a + 36 >> 2] + (e << 3) >> 3];
+   }
+   v[c >> 3] = v[c >> 3] + m;
+   uz(a, b, c + 32 | 0, c + 16 | 0, c);
+   e = s;
+   d = q[e + 12 >> 2];
+   q[r >> 2] = q[e + 8 >> 2];
+   q[r + 4 >> 2] = d;
+   d = q[e + 4 >> 2];
+   q[c + 32 >> 2] = q[e >> 2];
+   q[c + 36 >> 2] = d;
+   e = h;
+   h = e + 4 | 0;
+   i = q[a + 24 >> 2];
+   if (h >>> 0 <= i >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = c + 48 | 0;
+}
+function XT(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ a : {
+  b : {
+   c : {
+    a = r[b + 2 | 0];
+    d : {
+     if ((a | 0) == 59) {
+      break d;
+     }
+     e : {
+      if ((a | 0) != 120) {
+       d = b + 2 | 0;
+       while (1) {
+        c = (w(c, 10) + (a << 24 >> 24) | 0) + -48 | 0;
+        if ((c | 0) > 1114111) {
+         return -1;
+        }
+        a = r[d + 1 | 0];
+        d = d + 1 | 0;
+        if ((a | 0) != 59) {
+         continue;
+        }
+        break;
+       }
+       break e;
+      }
+      d = r[b + 3 | 0];
+      if ((d | 0) == 59) {
+       break d;
+      }
+      b = b + 3 | 0;
+      while (1) {
+       f : {
+        a = b;
+        b = d << 24 >> 24;
+        d = b + -48 | 0;
+        g : {
+         if (d >>> 0 > 54) {
+          break g;
+         }
+         h : {
+          i : {
+           switch (d - 10 | 0) {
+           default:
+            c = d | c << 4;
+            break h;
+           case 7:
+           case 8:
+           case 9:
+           case 10:
+           case 11:
+           case 12:
+            c = (b + (c << 4) | 0) + -55 | 0;
+            break h;
+           case 0:
+           case 1:
+           case 2:
+           case 3:
+           case 4:
+           case 5:
+           case 6:
+           case 13:
+           case 14:
+           case 15:
+           case 16:
+           case 17:
+           case 18:
+           case 19:
+           case 20:
+           case 21:
+           case 22:
+           case 23:
+           case 24:
+           case 25:
+           case 26:
+           case 27:
+           case 28:
+           case 29:
+           case 30:
+           case 31:
+           case 32:
+           case 33:
+           case 34:
+           case 35:
+           case 36:
+           case 37:
+           case 38:
+            break g;
+           case 39:
+           case 40:
+           case 41:
+           case 42:
+           case 43:
+           case 44:
+            break i;
+           }
+          }
+          c = (b + (c << 4) | 0) + -87 | 0;
+         }
+         if ((c | 0) >= 1114112) {
+          break f;
+         }
+        }
+        b = a + 1 | 0;
+        d = r[a + 1 | 0];
+        if ((d | 0) != 59) {
+         continue;
+        }
+        break e;
+       }
+       break;
+      }
+      return -1;
+     }
+     a = -1;
+     b = c >> 8;
+     if (b + -216 >>> 0 < 8) {
+      break a;
+     }
+     if ((b | 0) == 255) {
+      break c;
+     }
+     if (b) {
+      break b;
+     }
+    }
+    if (r[c + 489888 | 0]) {
+     break b;
+    }
+    return -1;
+   }
+   if ((c | 1) == 65535) {
+    break a;
+   }
+  }
+  a = c;
+ }
+ return a | 0;
+}
+function mL(a, b, c, d, e, f, g, h, i, j) {
+ var k = 0, l = 0, m = 0, p = 0;
+ k = Ca - 128 | 0;
+ Ca = k;
+ q[k + 124 >> 2] = c;
+ m = q[a + 28 >> 2];
+ q[k + 112 >> 2] = 0;
+ q[k + 116 >> 2] = 0;
+ q[k + 104 >> 2] = 0;
+ q[k + 108 >> 2] = 0;
+ q[k + 96 >> 2] = 0;
+ q[k + 100 >> 2] = 0;
+ q[k + 88 >> 2] = 0;
+ q[k + 92 >> 2] = 0;
+ o[k + 87 | 0] = 0;
+ a : {
+  if (!c) {
+   break a;
+  }
+  q[k + 80 >> 2] = 0;
+  q[k + 72 >> 2] = 0;
+  q[k + 76 >> 2] = 0;
+  b : {
+   c : {
+    if (!m) {
+     break c;
+    }
+    l = q[m + 28 >> 2];
+    if (!l) {
+     break c;
+    }
+    n[l](q[m + 40 >> 2], c, k + 88 | 0);
+    if (q[k + 104 >> 2]) {
+     break b;
+    }
+   }
+   q[k + 116 >> 2] = q[k + 80 >> 2];
+   q[k + 104 >> 2] = 1;
+   q[k + 96 >> 2] = 0;
+   q[k + 100 >> 2] = 0;
+   q[k + 88 >> 2] = 0;
+   c = q[k + 76 >> 2];
+   q[k + 108 >> 2] = q[k + 72 >> 2];
+   q[k + 112 >> 2] = c;
+   q[k + 92 >> 2] = k + 124;
+  }
+  l = q[k + 116 >> 2];
+  c = k - -64 | 0;
+  q[c >> 2] = q[k + 112 >> 2];
+  q[c + 4 >> 2] = l;
+  c = q[k + 108 >> 2];
+  q[k + 56 >> 2] = q[k + 104 >> 2];
+  q[k + 60 >> 2] = c;
+  c = q[k + 100 >> 2];
+  q[k + 48 >> 2] = q[k + 96 >> 2];
+  q[k + 52 >> 2] = c;
+  c = q[k + 92 >> 2];
+  q[k + 40 >> 2] = q[k + 88 >> 2];
+  q[k + 44 >> 2] = c;
+  l = nL(a, k + 40 | 0, d, e, f, g, h, i, j, k + 87 | 0);
+  d : {
+   if (l) {
+    break d;
+   }
+   l = 0;
+   if (r[k + 87 | 0] | !m) {
+    break d;
+   }
+   p = q[m + 24 >> 2];
+   if (!p) {
+    break d;
+   }
+   c = 1;
+   e : {
+    if (q[k + 104 >> 2] < 1) {
+     break e;
+    }
+    n[p](b, m, q[q[k + 92 >> 2] >> 2]);
+    if (q[k + 104 >> 2] <= 1) {
+     break e;
+    }
+    while (1) {
+     n[q[m + 24 >> 2]](b, m, q[q[k + 92 >> 2] + (c << 2) >> 2]);
+     c = c + 1 | 0;
+     if ((c | 0) < q[k + 104 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = q[k + 116 >> 2];
+   q[k + 32 >> 2] = q[k + 112 >> 2];
+   q[k + 36 >> 2] = b;
+   b = q[k + 108 >> 2];
+   q[k + 24 >> 2] = q[k + 104 >> 2];
+   q[k + 28 >> 2] = b;
+   b = q[k + 100 >> 2];
+   q[k + 16 >> 2] = q[k + 96 >> 2];
+   q[k + 20 >> 2] = b;
+   b = q[k + 92 >> 2];
+   q[k + 8 >> 2] = q[k + 88 >> 2];
+   q[k + 12 >> 2] = b;
+   l = nL(a, k + 8 | 0, d, e, f, g, h, i, j, k + 87 | 0);
+  }
+  a = q[k + 92 >> 2];
+  if ((a | 0) == (k + 124 | 0)) {
+   break a;
+  }
+  b = 1;
+  if (q[k + 104 >> 2] >= 1) {
+   M$(q[a >> 2]);
+   if (q[k + 104 >> 2] > 1) {
+    while (1) {
+     M$(q[q[k + 92 >> 2] + (b << 2) >> 2]);
+     b = b + 1 | 0;
+     if ((b | 0) < q[k + 104 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   a = q[k + 92 >> 2];
+  }
+  M$(a);
+ }
+ Ca = k + 128 | 0;
+ return l;
+}
+function QR(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ a : {
+  if (!a | !b) {
+   break a;
+  }
+  if (q[a >> 2] == -1) {
+   if (!c) {
+    break a;
+   }
+   q[c >> 2] = 0;
+   return 0;
+  }
+  if (c) {
+   d = c;
+   c = RR(b, a);
+   q[d >> 2] = !c;
+   e = 1;
+   if (c) {
+    break a;
+   }
+  }
+  e = 1;
+  j = q[b + 4 >> 2];
+  if ((j | 0) < 1) {
+   break a;
+  }
+  e = 0;
+  while (1) {
+   d = q[a + 4 >> 2];
+   if ((e | 0) < (d | 0)) {
+    c = s[(q[a + 12 >> 2] + a | 0) + (e << 1) >> 1];
+   } else {
+    c = 65535;
+   }
+   f = s[(q[b + 12 >> 2] + b | 0) + (i << 1) >> 1];
+   b : {
+    if (c >>> 0 < f >>> 0) {
+     k = q[a + 12 >> 2] + a | 0;
+     if (!k) {
+      e = 0;
+      break b;
+     }
+     c = d + -1 | 0;
+     h = e + 1 | 0;
+     c : {
+      if ((d | 0) > (h | 0)) {
+       while (1) {
+        g = c + h | 0;
+        e = g >> 1;
+        g = s[(g & -2) + k >> 1];
+        if ((g | 0) == (f | 0)) {
+         break c;
+        }
+        g = g >>> 0 < f >>> 0;
+        h = g ? e + 1 | 0 : h;
+        c = g ? c : e + -1 | 0;
+        if ((h | 0) <= (c | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      if (!((c | 0) >= (d | 0) | s[(c << 1) + k >> 1] >= f >>> 0 ? (c | 0) >= 0 : 0)) {
+       c = c + 1 | 0;
+      }
+      e = c ^ -1;
+     }
+     if ((e | 0) > -1) {
+      break b;
+     }
+     e = e ^ -1;
+     break b;
+    }
+    d = q[b + 8 >> 2] + b | 0;
+    d = q[d + (i << 2) >> 2] + d | 0;
+    d : {
+     if (f >>> 0 < c >>> 0) {
+      c = JR(a, f << 8);
+      if (!c) {
+       return 0;
+      }
+      f = q[d + 4 >> 2];
+      q[c >> 2] = q[d >> 2];
+      q[c + 4 >> 2] = f;
+      f = q[d + 28 >> 2];
+      q[c + 24 >> 2] = q[d + 24 >> 2];
+      q[c + 28 >> 2] = f;
+      f = q[d + 20 >> 2];
+      q[c + 16 >> 2] = q[d + 16 >> 2];
+      q[c + 20 >> 2] = f;
+      f = q[d + 12 >> 2];
+      q[c + 8 >> 2] = q[d + 8 >> 2];
+      q[c + 12 >> 2] = f;
+      break d;
+     }
+     c = q[a + 8 >> 2] + a | 0;
+     c = q[c + (e << 2) >> 2] + c | 0;
+     q[c >> 2] = q[d >> 2] | q[c >> 2];
+     q[c + 4 >> 2] = q[d + 4 >> 2] | q[c + 4 >> 2];
+     q[c + 8 >> 2] = q[d + 8 >> 2] | q[c + 8 >> 2];
+     q[c + 12 >> 2] = q[d + 12 >> 2] | q[c + 12 >> 2];
+     q[c + 16 >> 2] = q[d + 16 >> 2] | q[c + 16 >> 2];
+     q[c + 20 >> 2] = q[d + 20 >> 2] | q[c + 20 >> 2];
+     q[c + 24 >> 2] = q[d + 24 >> 2] | q[c + 24 >> 2];
+     q[c + 28 >> 2] = q[d + 28 >> 2] | q[c + 28 >> 2];
+    }
+    i = i + 1 | 0;
+    e = e + 1 | 0;
+    j = q[b + 4 >> 2];
+   }
+   if ((i | 0) < (j | 0)) {
+    continue;
+   }
+   break;
+  }
+  e = 1;
+ }
+ return e;
+}
+function ef(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ q[h + 8 >> 2] = q[a >> 2];
+ g = q[c + 20 >> 2];
+ e = g + ((n[q[c + 12 >> 2]](h + 8 | 0) >>> 0) % t[c + 4 >> 2] << 2) | 0;
+ f = q[e >> 2];
+ a : {
+  if (!f) {
+   break a;
+  }
+  while (1) {
+   if (n[q[c + 16 >> 2]](f, h + 8 | 0)) {
+    break a;
+   }
+   e = e + -4 | 0;
+   if (e >>> 0 < g >>> 0) {
+    e = (g + (q[c + 4 >> 2] << 2) | 0) + -4 | 0;
+   }
+   f = q[e >> 2];
+   if (f) {
+    continue;
+   }
+   break;
+  }
+ }
+ b : {
+  c : {
+   d : {
+    g = q[e >> 2];
+    e : {
+     if (!g) {
+      f = 64;
+      g = n[q[d + 4 >> 2]](d, 8) | 0;
+      if (!g) {
+       break b;
+      }
+      q[e >> 2] = g;
+      a = q[a >> 2];
+      q[g + 4 >> 2] = b;
+      q[g >> 2] = a;
+      f : {
+       if (t[c + 8 >> 2] < t[c >> 2]) {
+        break f;
+       }
+       i = q[c + 4 >> 2];
+       a = i << 1;
+       q[c + 4 >> 2] = a;
+       q[c >> 2] = (a >>> 0) / 3;
+       f = 0;
+       if ((a | 0) < 0) {
+        f = 6;
+        break c;
+       }
+       g = q[c + 20 >> 2];
+       if (a) {
+        f = 10;
+        if ((a | 0) > 536870911) {
+         break c;
+        }
+        a = i << 3;
+        f = n[q[d + 4 >> 2]](d, a) | 0;
+        if (!f) {
+         break d;
+        }
+        Z$(f, 0, a);
+       }
+       q[c + 20 >> 2] = f;
+       if (i) {
+        b = 0;
+        a = g;
+        while (1) {
+         e = q[a >> 2];
+         if (e) {
+          q[h >> 2] = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+          f = q[c + 20 >> 2];
+          e = f + ((n[q[c + 12 >> 2]](h) >>> 0) % t[c + 4 >> 2] << 2) | 0;
+          while (1) {
+           g : {
+            j = q[e >> 2];
+            if (!j) {
+             break g;
+            }
+            if (n[q[c + 16 >> 2]](j, h)) {
+             break g;
+            }
+            e = e + -4 | 0;
+            if (e >>> 0 >= f >>> 0) {
+             continue;
+            }
+            e = (f + (q[c + 4 >> 2] << 2) | 0) + -4 | 0;
+            continue;
+           }
+           break;
+          }
+          q[e >> 2] = q[a >> 2];
+         }
+         a = a + 4 | 0;
+         b = b + 1 | 0;
+         if ((i | 0) != (b | 0)) {
+          continue;
+         }
+         break;
+        }
+       }
+       if (!g) {
+        break f;
+       }
+       n[q[d + 8 >> 2]](d, g);
+      }
+      q[c + 8 >> 2] = q[c + 8 >> 2] + 1;
+      break e;
+     }
+     q[g + 4 >> 2] = b;
+    }
+    f = 0;
+    break b;
+   }
+   q[c + 20 >> 2] = 0;
+   f = 64;
+   break b;
+  }
+  q[c + 20 >> 2] = 0;
+ }
+ Ca = h + 16 | 0;
+ return f;
+}
+function tT(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ if (!a) {
+  return 6;
+ }
+ f = 492720;
+ e = a;
+ a : {
+  while (1) {
+   b : {
+    b = r[f | 0];
+    c = r[e | 0];
+    f = f + 1 | 0;
+    e = e + 1 | 0;
+    g = 492731;
+    d = a;
+    c = ((c + -97 & 255) >>> 0 < 26 ? c + -32 | 0 : c) & 255;
+    switch (((c | 0) == (((b + -97 & 255) >>> 0 < 26 ? b + -32 | 0 : b) & 255) ? !c << 1 : 1) - 1 | 0) {
+    case 1:
+     break a;
+    case 0:
+     break b;
+    default:
+     continue;
+    }
+   }
+   break;
+  }
+  while (1) {
+   c : {
+    b = r[g | 0];
+    c = r[d | 0];
+    h = 1;
+    g = g + 1 | 0;
+    d = d + 1 | 0;
+    f = 492740;
+    e = a;
+    c = ((c + -97 & 255) >>> 0 < 26 ? c + -32 | 0 : c) & 255;
+    switch (((c | 0) == (((b + -97 & 255) >>> 0 < 26 ? b + -32 | 0 : b) & 255) ? !c << 1 : 1) - 1 | 0) {
+    case 1:
+     break a;
+    case 0:
+     break c;
+    default:
+     continue;
+    }
+   }
+   break;
+  }
+  while (1) {
+   d : {
+    h = r[f | 0];
+    b = r[e | 0];
+    f = f + 1 | 0;
+    e = e + 1 | 0;
+    g = 492746;
+    d = a;
+    b = ((b + -97 & 255) >>> 0 < 26 ? b + -32 | 0 : b) & 255;
+    h = (b | 0) == (((h + -97 & 255) >>> 0 < 26 ? h + -32 | 0 : h) & 255) ? !b << 1 : 1;
+    switch (h - 1 | 0) {
+    case 1:
+     break a;
+    case 0:
+     break d;
+    default:
+     continue;
+    }
+   }
+   break;
+  }
+  while (1) {
+   e : {
+    b = r[g | 0];
+    c = r[d | 0];
+    g = g + 1 | 0;
+    d = d + 1 | 0;
+    h = 3;
+    f = 492753;
+    e = a;
+    c = ((c + -97 & 255) >>> 0 < 26 ? c + -32 | 0 : c) & 255;
+    switch (((c | 0) == (((b + -97 & 255) >>> 0 < 26 ? b + -32 | 0 : b) & 255) ? !c << 1 : 1) - 1 | 0) {
+    case 0:
+     break e;
+    case 1:
+     break a;
+    default:
+     continue;
+    }
+   }
+   break;
+  }
+  while (1) {
+   f : {
+    d = r[f | 0];
+    b = r[e | 0];
+    f = f + 1 | 0;
+    e = e + 1 | 0;
+    h = 4;
+    g = 492762;
+    b = ((b + -97 & 255) >>> 0 < 26 ? b + -32 | 0 : b) & 255;
+    switch (((b | 0) == (((d + -97 & 255) >>> 0 < 26 ? d + -32 | 0 : d) & 255) ? !b << 1 : 1) - 1 | 0) {
+    case 0:
+     break f;
+    case 1:
+     break a;
+    default:
+     continue;
+    }
+   }
+   break;
+  }
+  while (1) {
+   g : {
+    e = r[g | 0];
+    d = r[a | 0];
+    g = g + 1 | 0;
+    a = a + 1 | 0;
+    h = 5;
+    d = ((d + -97 & 255) >>> 0 < 26 ? d + -32 | 0 : d) & 255;
+    switch (((d | 0) == (((e + -97 & 255) >>> 0 < 26 ? e + -32 | 0 : e) & 255) ? !d << 1 : 1) - 1 | 0) {
+    case 0:
+     break g;
+    case 1:
+     break a;
+    default:
+     continue;
+    }
+   }
+   break;
+  }
+  h = -1;
+ }
+ return h;
+}
+function oJ(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ j = Ca - 400 | 0;
+ Ca = j;
+ h = q[c >> 2] << 2;
+ q[j >> 2] = h;
+ c = q[c + 4 >> 2];
+ i = c << 2;
+ q[j + 4 >> 2] = i;
+ q[j + 8 >> 2] = q[b >> 2] << 2;
+ e = q[b + 4 >> 2];
+ q[j + 12 >> 2] = e << 2;
+ q[j + 16 >> 2] = q[a >> 2] << 2;
+ a = q[a + 4 >> 2];
+ q[j + 20 >> 2] = a << 2;
+ q[j + 24 >> 2] = q[d + 208 >> 2];
+ b = q[d + 212 >> 2];
+ q[j + 28 >> 2] = b;
+ f = a >> 6;
+ a : {
+  b : {
+   m = c >> 6;
+   a = q[d + 176 >> 2];
+   k = e >> 6;
+   c : {
+    d : {
+     if (!((k | 0) >= (a | 0) ? (m | 0) >= (a | 0) : 0)) {
+      e = b >> 8;
+      break d;
+     }
+     e = b >> 8;
+     if ((f | 0) < (a | 0)) {
+      break d;
+     }
+     if ((e | 0) >= (a | 0)) {
+      break c;
+     }
+    }
+    c = 0;
+    a = q[d + 172 >> 2];
+    if ((e | 0) >= (a | 0) | (f | 0) >= (a | 0) | ((m | 0) >= (a | 0) | (k | 0) >= (a | 0))) {
+     break b;
+    }
+   }
+   q[d + 212 >> 2] = i;
+   q[d + 208 >> 2] = h;
+   break a;
+  }
+  while (1) {
+   a = c + 3 | 0;
+   i = q[(a << 3) + j >> 2];
+   b = (c << 3) + j | 0;
+   k = q[b + 8 >> 2];
+   h = q[b >> 2];
+   f = i + (w(k, -3) + (h << 1) | 0) | 0;
+   e = f >> 31;
+   e : {
+    if ((e ^ e + f) >= 129) {
+     m = q[b + 12 >> 2];
+     e = q[b + 28 >> 2];
+     f = q[b + 4 >> 2];
+     break e;
+    }
+    e = q[b + 28 >> 2];
+    m = q[b + 12 >> 2];
+    f = q[b + 4 >> 2];
+    l = e + (w(m, -3) + (f << 1) | 0) | 0;
+    g = l >> 31;
+    if ((g ^ g + l) > 128) {
+     break e;
+    }
+    l = (h + (i << 1) | 0) + w(q[b + 16 >> 2], -3) | 0;
+    g = l >> 31;
+    if ((g ^ g + l) > 128) {
+     break e;
+    }
+    l = ((e << 1) + f | 0) + w(q[b + 20 >> 2], -3) | 0;
+    g = l >> 31;
+    if ((g ^ g + l) > 128) {
+     break e;
+    }
+    mJ(d, h, f);
+    if (!c) {
+     break a;
+    }
+    c = c + -3 | 0;
+    continue;
+   }
+   q[b + 48 >> 2] = i;
+   q[b + 52 >> 2] = e;
+   c = h + k | 0;
+   q[b + 8 >> 2] = c >> 1;
+   f = f + m | 0;
+   q[b + 12 >> 2] = f >> 1;
+   h = q[b + 16 >> 2];
+   i = h + i | 0;
+   q[b + 40 >> 2] = i >> 1;
+   g = c;
+   c = h + k | 0;
+   h = g + c | 0;
+   q[b + 16 >> 2] = h >> 2;
+   c = c + i | 0;
+   q[b + 32 >> 2] = c >> 2;
+   g = e;
+   e = b + 20 | 0;
+   i = q[e >> 2];
+   k = g + i | 0;
+   q[b + 44 >> 2] = k >> 1;
+   q[b + 24 >> 2] = c + h >> 3;
+   g = e;
+   c = i + m | 0;
+   e = c + f | 0;
+   q[g >> 2] = e >> 2;
+   c = c + k | 0;
+   q[b + 36 >> 2] = c >> 2;
+   q[b + 28 >> 2] = c + e >> 3;
+   c = a;
+   continue;
+  }
+ }
+ Ca = j + 400 | 0;
+ return 0;
+}
+function WV() {
+ var a = 0, b = 0, c = 0, d = 0;
+ b = L$(496);
+ if (!b) {
+  return 0;
+ }
+ q[b + 20 >> 2] = 427;
+ q[b + 16 >> 2] = 960;
+ q[b + 12 >> 2] = 961;
+ q[b + 376 >> 2] = 16;
+ q[b + 32 >> 2] = 0;
+ q[b + 8 >> 2] = 0;
+ a = n[961](256) | 0;
+ q[b + 388 >> 2] = a;
+ a : {
+  if (!a) {
+   break a;
+  }
+  d = b + 12 | 0;
+  a = n[q[d >> 2]](1024) | 0;
+  q[b + 44 >> 2] = a;
+  if (!a) {
+   n[q[b + 20 >> 2]](q[b + 388 >> 2]);
+   break a;
+  }
+  c = b + 12 | 0;
+  q[b + 48 >> 2] = a + 1024;
+  a = n[q[d >> 2]](188) | 0;
+  if (a) {
+   q[a + 80 >> 2] = 0;
+   q[a + 84 >> 2] = 0;
+   q[a + 104 >> 2] = 0;
+   q[a + 108 >> 2] = 0;
+   q[a + 100 >> 2] = c;
+   q[a + 124 >> 2] = c;
+   q[a + 8 >> 2] = 0;
+   q[a + 12 >> 2] = 0;
+   o[a + 4 | 0] = 0;
+   q[a + 28 >> 2] = 0;
+   q[a + 32 >> 2] = 0;
+   o[a + 24 | 0] = 0;
+   q[a + 16 >> 2] = c;
+   q[a >> 2] = 0;
+   q[a + 48 >> 2] = 0;
+   q[a + 52 >> 2] = 0;
+   o[a + 44 | 0] = 0;
+   q[a + 36 >> 2] = c;
+   q[a + 20 >> 2] = 0;
+   q[a + 96 >> 2] = 0;
+   q[a + 88 >> 2] = 0;
+   q[a + 92 >> 2] = 0;
+   q[a + 112 >> 2] = 0;
+   q[a + 116 >> 2] = 0;
+   q[a + 120 >> 2] = 0;
+   q[a + 68 >> 2] = 0;
+   q[a + 72 >> 2] = 0;
+   o[a + 64 | 0] = 0;
+   q[a + 56 >> 2] = c;
+   q[a + 40 >> 2] = 0;
+   q[a + 60 >> 2] = 0;
+   q[a + 76 >> 2] = c;
+   q[a + 140 >> 2] = 0;
+   q[a + 144 >> 2] = 0;
+   o[a + 136 | 0] = 0;
+   q[a + 128 >> 2] = 1;
+   q[a + 132 >> 2] = 0;
+   q[a + 148 >> 2] = c;
+   q[a + 152 >> 2] = 0;
+   q[a + 156 >> 2] = 0;
+   o[a + 160 | 0] = 0;
+   q[a + 164 >> 2] = 0;
+   q[a + 168 >> 2] = 0;
+   q[a + 172 >> 2] = 0;
+   q[a + 176 >> 2] = 0;
+   q[a + 180 >> 2] = 0;
+   q[a + 184 >> 2] = 0;
+   q[b + 352 >> 2] = a;
+   q[b + 364 >> 2] = 0;
+   q[b + 372 >> 2] = 0;
+   q[b + 300 >> 2] = 0;
+   q[b + 460 >> 2] = 0;
+   q[b + 464 >> 2] = 0;
+   o[b + 468 | 0] = 33;
+   q[b + 244 >> 2] = 0;
+   q[b + 124 >> 2] = 0;
+   p[b + 232 >> 1] = 0;
+   q[b + 412 >> 2] = 0;
+   q[b + 416 >> 2] = 0;
+   q[b + 228 >> 2] = 0;
+   q[b + 392 >> 2] = 0;
+   q[b + 396 >> 2] = 0;
+   q[b + 432 >> 2] = c;
+   q[b + 436 >> 2] = 0;
+   q[b + 440 >> 2] = 0;
+   q[b + 420 >> 2] = 0;
+   q[b + 424 >> 2] = 0;
+   q[b + 428 >> 2] = 0;
+   o[b + 400 | 0] = 0;
+   q[b + 452 >> 2] = 0;
+   q[b + 444 >> 2] = 0;
+   q[b + 448 >> 2] = 0;
+   q[b + 456 >> 2] = c;
+   XV(b);
+   if (!q[b + 228 >> 2]) {
+    YV(b);
+    return 0;
+   }
+   q[b + 224 >> 2] = 491472;
+   return b;
+  }
+  q[b + 352 >> 2] = 0;
+  n[q[b + 20 >> 2]](q[b + 44 >> 2]);
+  n[q[b + 20 >> 2]](q[b + 388 >> 2]);
+  n[q[b + 20 >> 2]](b);
+  return 0;
+ }
+ n[q[b + 20 >> 2]](b);
+ return 0;
+}
+function mo(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0, u = 0, v = 0, w = 0, x = 0, y = 0;
+ d = q[a + 16 >> 2];
+ g = r[d + 6 | 0] << 8 | r[d + 7 | 0] & 254;
+ a : {
+  if (!g) {
+   break a;
+  }
+  e = q[b >> 2] + ((c | 0) != 0) | 0;
+  if (e >>> 0 > 65535) {
+   break a;
+  }
+  i = q[a >> 2];
+  s = q[i + 508 >> 2] + q[i + 512 >> 2] | 0;
+  a = g >>> 1 | 0;
+  w = a >>> 0 > 1 ? a : 1;
+  x = a + -1 | 0;
+  j = d + 14 | 0;
+  u = (d + g | 0) + 16 | 0;
+  b : {
+   while (1) {
+    a = u;
+    h = r[a | 0] << 8 | r[a + 1 | 0];
+    if (e >>> 0 < h >>> 0 ? !c : 0) {
+     break b;
+    }
+    l = r[j | 0];
+    d = r[j + 1 | 0];
+    u = a + 2 | 0;
+    j = j + 2 | 0;
+    m = d | l << 8;
+    y = (h | 0) == 65535 & n >>> 0 >= x >>> 0 & (m | 0) == 65535;
+    e = e >>> 0 >= h >>> 0 ? e : h;
+    o = a + g | 0;
+    k = o + g | 0;
+    l = k + 2 | 0;
+    c : {
+     d : {
+      while (1) {
+       if (e >>> 0 > m >>> 0) {
+        break d;
+       }
+       a = r[o | 0] | r[o + 1 | 0] << 8;
+       f = (a << 24 | a << 8 & 16711680) >> 16;
+       d = r[k + 1 | 0] | r[k | 0] << 8;
+       a = (d | 0) != 0 & y & d + l >>> 0 > s >>> 0;
+       f = a ? 1 : f;
+       a = a ? 0 : d;
+       e : {
+        if (a) {
+         if ((a | 0) == 65535) {
+          break d;
+         }
+         a = k + (a + (e - h << 1) | 0) | 0;
+         if (a >>> 0 > s >>> 0 ? c : 0) {
+          break d;
+         }
+         a = r[a + 1 | 0] | r[a | 0] << 8;
+         if (!a) {
+          d = 0;
+          a = e;
+          break e;
+         }
+         a = a + f & 65535;
+         d = a >>> 0 < t[i + 16 >> 2] ? a : 0;
+         a = e;
+         break e;
+        }
+        p = e + f | 0;
+        d = p & 65535;
+        if (!c) {
+         v = d;
+         break b;
+        }
+        a = e;
+        if (d >>> 0 < t[i + 16 >> 2]) {
+         break e;
+        }
+        a = f + m | 0;
+        if (!((a | 0) < 0 | (p | 0) > -1)) {
+         d = 0;
+         a = 0 - f | 0;
+         break e;
+        }
+        if ((a | 0) < 65536 | (p | 0) > 65535) {
+         break d;
+        }
+        d = 0;
+        a = 65536 - f | 0;
+       }
+       if (d | !c) {
+        break c;
+       }
+       e = a + 1 | 0;
+       if (a >>> 0 <= 65534) {
+        continue;
+       }
+       break;
+      }
+      e = a;
+      break b;
+     }
+     n = n + 1 | 0;
+     if ((w | 0) != (n | 0)) {
+      continue;
+     }
+     break b;
+    }
+    break;
+   }
+   e = a;
+   v = d;
+  }
+  if (!c) {
+   break a;
+  }
+  q[b >> 2] = e;
+ }
+ return v;
+}
+function Rw(a, b, c, d, e, f, g, h) {
+ var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, t = 0, u = 0, v = 0, x = 0;
+ if (b >>> 0 > 64) {
+  return 0;
+ }
+ k = q[a + 96 >> 2];
+ l = q[k + 72 >> 2];
+ q[a + 36 >> 2] = b + -1;
+ q[a >> 2] = l;
+ i = q[q[a + 4 >> 2] + 96 >> 2];
+ q[a + 40 >> 2] = q[i + 76 >> 2];
+ m = (l | 0) == q[i + 72 >> 2] ? r[(q[i + 88 >> 2] + w(l, 20) | 0) + 15 | 0] : m;
+ q[a + 32 >> 2] = c;
+ q[a + 28 >> 2] = e;
+ q[a + 24 >> 2] = d;
+ o[a + 20 | 0] = m;
+ c = q[k + 88 >> 2] + w(l, 20) | 0;
+ e = r[c + 14 | 0];
+ d = e & 16;
+ a : {
+  b : {
+   c : {
+    if (r[c + 12 | 0] & 4) {
+     if (!d) {
+      c = e >>> 5 | 0;
+      break c;
+     }
+     c = e >>> 5 | 0;
+     e = e & 15;
+     break a;
+    }
+    c = e >>> 5 | 0;
+    if (!d) {
+     break c;
+    }
+    p = 0;
+    break b;
+   }
+   p = e & 15;
+  }
+  e = 1;
+ }
+ q[g >> 2] = l;
+ d : {
+  e : {
+   if (b >>> 0 <= 1) {
+    d = q[a >> 2];
+    break e;
+   }
+   l = (c | 0) != 0 & (p | 0) != 0;
+   m = 1;
+   while (1) {
+    if (!Xt(a)) {
+     break d;
+    }
+    q[(m << 2) + g >> 2] = q[a >> 2];
+    t = q[k + 88 >> 2];
+    d = q[a >> 2];
+    j = r[(t + w(d, 20) | 0) + 14 | 0];
+    i = j & 16 ? 0 : j & 15;
+    j = j >>> 5 | 0;
+    f : {
+     if (l) {
+      if (v >>> 0 > 1 | ((i | 0) == (p | 0) ? (c | 0) == (j | 0) : 0)) {
+       break f;
+      }
+      if (!(v - 1)) {
+       break d;
+      }
+      n = q[k + 80 >> 2];
+      i = q[k + 92 >> 2];
+      while (1) {
+       if (!n) {
+        break d;
+       }
+       n = n + -1 | 0;
+       u = i + w(n, 20) | 0;
+       j = r[u + 14 | 0];
+       if ((j >>> 5 | 0) != (c | 0)) {
+        break d;
+       }
+       if (j & 15 ? !(j & 16) : 0) {
+        continue;
+       }
+       break;
+      }
+      v = 2;
+      i = q[a + 8 >> 2];
+      j = s[u + 12 >> 1];
+      if (i & j & 14) {
+       break f;
+      }
+      if (!(j & 8)) {
+       break d;
+      }
+      if (Pt(q[a + 4 >> 2], q[u >> 2], j, i)) {
+       break d;
+      }
+      d = q[a >> 2];
+      t = q[k + 88 >> 2];
+      break f;
+     }
+     if (!j | (c | 0) == (j | 0)) {
+      break f;
+     }
+     if (i) {
+      break d;
+     }
+    }
+    n = 1;
+    i = w(d, 20) + t | 0;
+    g : {
+     if (!(r[i + 12 | 0] & 4)) {
+      break g;
+     }
+     i = r[i + 14 | 0];
+     if (!(i & 16)) {
+      break g;
+     }
+     n = i & 15;
+    }
+    e = e + n | 0;
+    m = m + 1 | 0;
+    if ((m | 0) != (b | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  x = 1;
+  q[f >> 2] = (d - q[k + 72 >> 2] | 0) + 1;
+  if (!h) {
+   break d;
+  }
+  q[h >> 2] = e;
+ }
+ return x;
+}
+function ZA(a, b) {
+ var c = 0, d = 0, e = 0, f = x(0), g = x(0), h = x(0), i = x(0);
+ d = Ca - 32 | 0;
+ Ca = d;
+ a : {
+  if (!dB(a, d + 16 | 0, d)) {
+   break a;
+  }
+  e = q[b + 4 >> 2];
+  if ((r[a | 0] & 24) == 8) {
+   if (!e) {
+    break a;
+   }
+   while (1) {
+    b : {
+     if (e >>> 0 <= c >>> 0) {
+      a = q[67763];
+      q[160658] = q[67762];
+      q[160659] = a;
+      a = q[67761];
+      q[160656] = q[67760];
+      q[160657] = a;
+      e = q[b + 4 >> 2];
+      a = 642624;
+      break b;
+     }
+     a = q[b + 8 >> 2] + (c << 4) | 0;
+    }
+    u[a + 4 >> 2] = u[d + 4 >> 2] + u[a + 4 >> 2];
+    u[a + 8 >> 2] = u[d + 8 >> 2] + u[a + 8 >> 2];
+    c = c + 1 | 0;
+    if (c >>> 0 < e >>> 0) {
+     continue;
+    }
+    break;
+   }
+   if (!e) {
+    break a;
+   }
+   h = u[d + 16 >> 2];
+   c = 0;
+   while (1) {
+    c : {
+     if (e >>> 0 <= c >>> 0) {
+      a = q[67763];
+      q[160658] = q[67762];
+      q[160659] = a;
+      a = q[67761];
+      q[160656] = q[67760];
+      q[160657] = a;
+      e = q[b + 4 >> 2];
+      a = 642624;
+      break c;
+     }
+     a = q[b + 8 >> 2] + (c << 4) | 0;
+    }
+    i = u[d + 24 >> 2];
+    f = u[a + 4 >> 2];
+    g = u[a + 8 >> 2];
+    u[a + 8 >> 2] = x(f * u[d + 20 >> 2]) + x(g * u[d + 28 >> 2]);
+    u[a + 4 >> 2] = x(f * h) + x(g * i);
+    c = c + 1 | 0;
+    if (c >>> 0 < e >>> 0) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  if (!e) {
+   break a;
+  }
+  h = u[d + 16 >> 2];
+  while (1) {
+   d : {
+    if (e >>> 0 <= c >>> 0) {
+     a = q[67763];
+     q[160658] = q[67762];
+     q[160659] = a;
+     a = q[67761];
+     q[160656] = q[67760];
+     q[160657] = a;
+     e = q[b + 4 >> 2];
+     a = 642624;
+     break d;
+    }
+    a = q[b + 8 >> 2] + (c << 4) | 0;
+   }
+   i = u[d + 24 >> 2];
+   f = u[a + 4 >> 2];
+   g = u[a + 8 >> 2];
+   u[a + 8 >> 2] = x(f * u[d + 20 >> 2]) + x(g * u[d + 28 >> 2]);
+   u[a + 4 >> 2] = x(f * h) + x(g * i);
+   c = c + 1 | 0;
+   if (c >>> 0 < e >>> 0) {
+    continue;
+   }
+   break;
+  }
+  if (!e) {
+   break a;
+  }
+  c = 0;
+  while (1) {
+   e : {
+    if (e >>> 0 <= c >>> 0) {
+     a = q[67763];
+     q[160658] = q[67762];
+     q[160659] = a;
+     a = q[67761];
+     q[160656] = q[67760];
+     q[160657] = a;
+     e = q[b + 4 >> 2];
+     a = 642624;
+     break e;
+    }
+    a = q[b + 8 >> 2] + (c << 4) | 0;
+   }
+   u[a + 4 >> 2] = u[d + 4 >> 2] + u[a + 4 >> 2];
+   u[a + 8 >> 2] = u[d + 8 >> 2] + u[a + 8 >> 2];
+   c = c + 1 | 0;
+   if (c >>> 0 < e >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 32 | 0;
+}
+function xT(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0;
+ g = -4;
+ a : {
+  b : {
+   if (d >>> 0 >= e >>> 0) {
+    break b;
+   }
+   h = q[b + 72 >> 2];
+   c : {
+    d : {
+     if ((d + 1 | 0) == (e | 0)) {
+      g = -1;
+      j = o[b + 69 | 0];
+      if (j + -3 >>> 0 < 3) {
+       break b;
+      }
+      i = r[d | 0];
+      k = i + -239 | 0;
+      if (k >>> 0 > 16 | !(1 << k & 98305)) {
+       break d;
+      }
+      if ((c | 0) != 1) {
+       break b;
+      }
+      if (!j) {
+       break c;
+      }
+      break b;
+     }
+     e : {
+      f : {
+       g : {
+        h : {
+         j = r[d + 1 | 0];
+         i = r[d | 0];
+         g = j | i << 8;
+         if ((g | 0) <= 65278) {
+          if ((g | 0) == 15360) {
+           break h;
+          }
+          if ((g | 0) != 61371) {
+           break e;
+          }
+          i : {
+           if ((c | 0) != 1) {
+            break i;
+           }
+           g = r[b + 69 | 0];
+           if (g >>> 0 > 5) {
+            break i;
+           }
+           if (1 << g & 57) {
+            break c;
+           }
+          }
+          g = d + 2 | 0;
+          if ((g | 0) != (e | 0)) {
+           break f;
+          }
+          return -1;
+         }
+         if ((g | 0) == 65534) {
+          break g;
+         }
+         if ((g | 0) != 65279) {
+          break e;
+         }
+         if (r[b + 69 | 0] ? 0 : (c | 0) == 1) {
+          break c;
+         }
+         q[f >> 2] = d + 2;
+         q[h >> 2] = q[a + 16 >> 2];
+         return 14;
+        }
+        if ((r[b + 69 | 0] + -3 & 255) >>> 0 < 2 ? (c | 0) == 1 : 0) {
+         break c;
+        }
+        a = q[a + 20 >> 2];
+        q[h >> 2] = a;
+        break a;
+       }
+       if (r[b + 69 | 0] ? 0 : (c | 0) == 1) {
+        break c;
+       }
+       q[f >> 2] = d + 2;
+       q[h >> 2] = q[a + 20 >> 2];
+       return 14;
+      }
+      if (r[g | 0] != 191) {
+       break c;
+      }
+      q[f >> 2] = d + 3;
+      q[h >> 2] = q[a + 8 >> 2];
+      return 14;
+     }
+     if (!i) {
+      if (r[b + 69 | 0] == 5 ? (c | 0) == 1 : 0) {
+       break c;
+      }
+      a = q[a + 16 >> 2];
+      q[h >> 2] = a;
+      break a;
+     }
+     if (j | (c | 0) == 1) {
+      break c;
+     }
+     a = q[a + 20 >> 2];
+     q[h >> 2] = a;
+     g = n[q[a + (c << 2) >> 2]](a, d, e, f) | 0;
+     break b;
+    }
+    if (!i | (i | 0) == 60) {
+     break b;
+    }
+   }
+   a = q[(o[b + 69 | 0] << 2) + a >> 2];
+   q[h >> 2] = a;
+   break a;
+  }
+  return g;
+ }
+ return n[q[a + (c << 2) >> 2]](a, d, e, f) | 0;
+}
+function oL(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ d = Ca - 1840 | 0;
+ Ca = d;
+ h = Fg(a);
+ a : {
+  if (!(o[a + 8 | 0] & 1)) {
+   break a;
+  }
+  c = q[a + 20 >> 2];
+  b : {
+   if (c) {
+    c = mZ(c);
+    q[d + 1040 >> 2] = c;
+    f = 1;
+    if (!c) {
+     break b;
+    }
+   }
+   c : {
+    d : {
+     if ((h | 0) >= 1) {
+      c = 0;
+      while (1) {
+       e : {
+        if (Gg(a, c, d + 1024 | 0) | s[d + 1024 >> 1] != 3) {
+         break e;
+        }
+        e = s[d + 1030 >> 1] + -1 | 0;
+        if (e >>> 0 > 3) {
+         break e;
+        }
+        f : {
+         switch (e - 1 | 0) {
+         case 0:
+         case 1:
+          break e;
+         default:
+          break f;
+         }
+        }
+        _d(d, q[d + 1032 >> 2], q[d + 1036 >> 2]);
+        e = s[d + 1030 >> 1];
+        if (!((e | 0) != 4 | (g | 0) > 99)) {
+         e = mZ(d);
+         q[(d + 1440 | 0) + (g << 2) >> 2] = e;
+         if (!e) {
+          break d;
+         }
+         e = s[d + 1030 >> 1];
+         g = g + 1 | 0;
+        }
+        if ((e | 0) != 1 | (f | 0) > 99) {
+         break e;
+        }
+        e = mZ(d);
+        q[(d + 1040 | 0) + (f << 2) >> 2] = e;
+        if (!e) {
+         break d;
+        }
+        f = f + 1 | 0;
+       }
+       c = c + 1 | 0;
+       if ((h | 0) != (c | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (!f) {
+      break c;
+     }
+     e = q[a + 12 >> 2];
+     c = QL(a);
+     q[b + 28 >> 2] = 100;
+     q[b + 24 >> 2] = c;
+     c = 1;
+     q[b + 20 >> 2] = w(e & 1, 110);
+     i = b, j = bg(a), q[i + 8 >> 2] = j;
+     a = N$(4, f);
+     q[b >> 2] = a;
+     if (!a) {
+      break d;
+     }
+     Y$(a, d + 1040 | 0, f << 2);
+     q[b + 12 >> 2] = f;
+     if (!g) {
+      break a;
+     }
+     a = N$(4, g);
+     q[b + 4 >> 2] = a;
+     if (!a) {
+      break d;
+     }
+     Y$(a, d + 1440 | 0, g << 2);
+     q[b + 16 >> 2] = g;
+     break a;
+    }
+    c = 0;
+    if ((f | 0) <= 0) {
+     break c;
+    }
+    while (1) {
+     M$(q[(d + 1040 | 0) + (c << 2) >> 2]);
+     c = c + 1 | 0;
+     if ((f | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   c = 0;
+   if ((g | 0) <= 0) {
+    break b;
+   }
+   while (1) {
+    M$(q[(d + 1440 | 0) + (c << 2) >> 2]);
+    c = c + 1 | 0;
+    if ((g | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  M$(q[b >> 2]);
+  M$(q[b + 4 >> 2]);
+  q[b >> 2] = 0;
+  q[b + 4 >> 2] = 0;
+  q[b + 12 >> 2] = 0;
+  q[b + 16 >> 2] = 0;
+  c = 0;
+ }
+ Ca = d + 1840 | 0;
+ return c;
+}
+function Uk(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, r = 0, u = 0, v = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ q[h + 12 >> 2] = 0;
+ k = q[a + 4 >> 2];
+ r = q[k + 8 >> 2];
+ a : {
+  b : {
+   if (d ? 0 : c) {
+    break b;
+   }
+   o[a | 0] = 0;
+   if (t[k + 3112 >> 2] <= b >>> 0 | (s[k + 3120 >> 1] != (c | 0) ? c : 0)) {
+    break b;
+   }
+   i = q[k + 3116 >> 2];
+   u = q[i + (b << 3) >> 2];
+   e = u + 1 | 0;
+   g = Te(r, 1, q[a + 20 >> 2] << 2, e << 2, q[a + 24 >> 2], h + 12 | 0);
+   q[a + 24 >> 2] = g;
+   f = q[h + 12 >> 2];
+   if (f) {
+    break a;
+   }
+   q[a + 20 >> 2] = e;
+   if (e) {
+    v = (i + (b << 3) | 0) + 4 | 0;
+    f = 0;
+    while (1) {
+     i = f;
+     c : {
+      if (!f) {
+       q[g >> 2] = 65536;
+       break c;
+      }
+      n = i << 2;
+      e = q[(n + q[v >> 2] | 0) + -4 >> 2];
+      if (e >>> 0 >= t[k + 3124 >> 2]) {
+       break b;
+      }
+      p = g + n | 0;
+      if (!c) {
+       q[p >> 2] = 0;
+       break c;
+      }
+      f = q[k + 3128 >> 2];
+      q[p >> 2] = 65536;
+      p = f + (e << 2) | 0;
+      f = 0;
+      while (1) {
+       g = 65536;
+       e = q[p >> 2] + w(f, 12) | 0;
+       j = q[e + 4 >> 2];
+       m = q[e >> 2];
+       d : {
+        if ((j | 0) < (m | 0)) {
+         break d;
+        }
+        e = q[e + 8 >> 2];
+        if (!j | (e | 0) < (j | 0) | (m | 0) < 0 & (e | 0) > 0) {
+         break d;
+        }
+        g = 0;
+        l = q[(f << 2) + d >> 2];
+        if ((l | 0) < (m | 0) | (e | 0) < (l | 0)) {
+         break d;
+        }
+        g = 65536;
+        if ((j | 0) == (l | 0)) {
+         break d;
+        }
+        if ((l | 0) < (j | 0)) {
+         g = Fe(l - m | 0, j - m | 0);
+         break d;
+        }
+        g = Fe(e - l | 0, e - j | 0);
+       }
+       e = Ee(q[n + q[a + 24 >> 2] >> 2], g);
+       g = q[a + 24 >> 2];
+       q[n + g >> 2] = e;
+       f = f + 1 | 0;
+       if ((f | 0) != (c | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     f = i + 1 | 0;
+     if ((i | 0) != (u | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[a + 8 >> 2] = b;
+   if (c) {
+    i = c << 2;
+    b = Te(r, 1, q[a + 12 >> 2] << 2, i, q[a + 16 >> 2], h + 12 | 0);
+    q[a + 16 >> 2] = b;
+    f = q[h + 12 >> 2];
+    if (f) {
+     break a;
+    }
+    Y$(b, d, i);
+   }
+   o[a | 0] = 1;
+   q[a + 12 >> 2] = c;
+   f = q[h + 12 >> 2];
+   break a;
+  }
+  f = 3;
+  q[h + 12 >> 2] = 3;
+ }
+ Ca = h + 16 | 0;
+ return f | 0;
+}
+function DD(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ k = Ca - 640 | 0;
+ Ca = k;
+ i = q[b + 88 >> 2];
+ f = c;
+ a = 220;
+ a : {
+  while (1) {
+   b : {
+    j = a;
+    c : {
+     if (f >>> 0 >= d >>> 0) {
+      break c;
+     }
+     while (1) {
+      a = s[(w(f, 20) + i | 0) + 16 >> 1];
+      if ((1 << (a & 31) & 7168 ? a >>> 8 | 0 : 0) >>> 0 >= j >>> 0) {
+       break c;
+      }
+      f = f + 1 | 0;
+      if ((f | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+     break b;
+    }
+    if ((d | 0) == (f | 0)) {
+     break b;
+    }
+    h = w(f, 20) + i | 0;
+    a = s[h + 16 >> 1];
+    e = 1 << (a & 31) & 7168 ? a >>> 8 | 0 : 0;
+    d : {
+     if (e >>> 0 > j >>> 0 | f >>> 0 >= d >>> 0) {
+      break d;
+     }
+     a = f;
+     e : {
+      if ((e | 0) != (j | 0)) {
+       break e;
+      }
+      while (1) {
+       e = q[w(a, 20) + i >> 2];
+       f : {
+        if ((e | 0) <= 1755) {
+         e = e + -1620 | 0;
+         if (e >>> 0 > 4) {
+          break e;
+         }
+         if (1 << e & 19) {
+          break f;
+         }
+         break e;
+        }
+        g = e + -1756 | 0;
+        if ((e | 0) == 2291 | (1 << g & 6273 ? g >>> 0 <= 12 : 0)) {
+         break f;
+        }
+        if ((e | 0) != 2259) {
+         break e;
+        }
+       }
+       a = a + 1 | 0;
+       if ((d | 0) == (a | 0)) {
+        a = d;
+        break e;
+       }
+       e = s[(w(a, 20) + i | 0) + 16 >> 1];
+       if (((1 << (e & 31) & 7168 ? e >>> 8 | 0 : 0) | 0) == (j | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     if ((a | 0) == (f | 0)) {
+      break d;
+     }
+     e = a - f | 0;
+     if (e >>> 0 >= 33) {
+      break a;
+     }
+     if (a - c >>> 0 >= 2) {
+      wG(b, c, a);
+     }
+     g = h;
+     h = w(e, 20);
+     g = Y$(k, g, h);
+     e = (c - f | 0) + a | 0;
+     l = w(c, 20) + i | 0;
+     _$(w(e, 20) + i | 0, l, w(f - c | 0, 20));
+     Y$(l, g, h);
+     if (c >>> 0 < e >>> 0) {
+      f = (j | 0) == 220 ? 6400 : 6656;
+      while (1) {
+       h = w(c, 20) + i | 0;
+       g = s[h + 16 >> 1];
+       if (1 << (g & 31) & 7168) {
+        p[h + 16 >> 1] = f | g & 255;
+       }
+       c = c + 1 | 0;
+       if ((e | 0) != (c | 0)) {
+        continue;
+       }
+       break;
+      }
+      c = e;
+     }
+     f = a;
+    }
+    a = j + 10 | 0;
+    if (j >>> 0 < 221) {
+     continue;
+    }
+   }
+   break;
+  }
+  Ca = k + 640 | 0;
+  return;
+ }
+ J(254983, 254891, 669, 255012);
+ F();
+}
+function mw(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ a : {
+  i = q[b + 4 >> 2];
+  b : {
+   if (i >>> 0 > a >>> 0) {
+    break b;
+   }
+   d = q[b + 8 >> 2];
+   if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+    break b;
+   }
+   h = q[b + 12 >> 2];
+   e = h + -1 | 0;
+   q[b + 12 >> 2] = e;
+   if ((h | 0) < 1) {
+    break b;
+   }
+   k = i;
+   c = r[a + 1 | 0];
+   f = r[a | 0];
+   g = c | f << 8;
+   if (g) {
+    c = a + 2 | 0;
+    if (i >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < g << 1 >>> 0) {
+     break b;
+    }
+    e = h + -2 | 0;
+    q[b + 12 >> 2] = e;
+    if ((h | 0) < 2) {
+     break b;
+    }
+    f = r[a | 0];
+    c = r[a + 1 | 0];
+   }
+   a = ((c << 1 | f << 9) + a | 0) + 2 | 0;
+   if (k >>> 0 > a >>> 0 | d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+    break b;
+   }
+   f = e + -1 | 0;
+   q[b + 12 >> 2] = f;
+   if ((e | 0) < 1) {
+    break b;
+   }
+   h = i;
+   c = r[a + 1 | 0] | r[a | 0] << 8;
+   g = 0;
+   c : {
+    if (!c) {
+     break c;
+    }
+    c = c + -1 | 0;
+    if (c >>> 0 > 2147483646) {
+     break b;
+    }
+    g = 1;
+    if (!c) {
+     break c;
+    }
+    f = a + 2 | 0;
+    if (i >>> 0 > f >>> 0 | d >>> 0 < f >>> 0 | d - f >>> 0 < c << 1 >>> 0) {
+     break b;
+    }
+    f = e + -2 | 0;
+    q[b + 12 >> 2] = f;
+    if ((e | 0) < 2) {
+     break b;
+    }
+    g = r[a + 1 | 0] | r[a | 0] << 8;
+   }
+   c = (g ? g << 1 : 2) + a | 0;
+   if (h >>> 0 > c >>> 0 | d >>> 0 < c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < 2) {
+    break a;
+   }
+   e = f + -1 | 0;
+   q[b + 12 >> 2] = e;
+   if ((f | 0) < 1) {
+    break a;
+   }
+   h = i;
+   a = r[c + 1 | 0];
+   j = r[c | 0];
+   g = a | j << 8;
+   if (g) {
+    a = c + 2 | 0;
+    if (i >>> 0 > a >>> 0 | d >>> 0 < a >>> 0) {
+     break a;
+    }
+    if (d - a >>> 0 < g << 1 >>> 0) {
+     break a;
+    }
+    e = f + -2 | 0;
+    q[b + 12 >> 2] = e;
+    if ((f | 0) < 2) {
+     break a;
+    }
+    j = r[c | 0];
+    a = r[c + 1 | 0];
+   }
+   a = (c + (a << 1 | j << 9) | 0) + 2 | 0;
+   if (h >>> 0 > a >>> 0 | d >>> 0 < a >>> 0) {
+    break a;
+   }
+   if (d - a >>> 0 < 2) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -1;
+   if ((e | 0) < 1) {
+    break a;
+   }
+   h = r[a + 1 | 0] | r[a | 0] << 8;
+   if (h) {
+    a = a + 2 | 0;
+    if (i >>> 0 > a >>> 0 | d >>> 0 < a >>> 0) {
+     break a;
+    }
+    if (d - a >>> 0 < h << 2 >>> 0) {
+     break a;
+    }
+    q[b + 12 >> 2] = e + -2;
+    j = 0;
+    if ((e | 0) < 2) {
+     break b;
+    }
+   }
+   j = 1;
+  }
+  return j;
+ }
+ return 0;
+}
+function VE(a, b, c, d, e, f, g, h) {
+ var i = 0, j = 0, k = 0;
+ a : {
+  b : {
+   i = (f | 0) != 0 & b;
+   if ((i | 0) != 1) {
+    break b;
+   }
+   j = N$(f, 16);
+   if (j) {
+    break b;
+   }
+   j = 0;
+   break a;
+  }
+  k = q[d + 4 >> 2];
+  q[a >> 2] = q[d >> 2];
+  q[a + 4 >> 2] = k;
+  q[a + 16 >> 2] = q[d + 16 >> 2];
+  k = q[d + 12 >> 2];
+  q[a + 8 >> 2] = q[d + 8 >> 2];
+  q[a + 12 >> 2] = k;
+  q[a + 24 >> 2] = f;
+  q[a + 20 >> 2] = b ? j : e;
+  if (i) {
+   b = Y$(j, e, f << 4);
+   e = q[b + 8 >> 2];
+   i = 0;
+   while (1) {
+    d = 0;
+    if (e) {
+     q[b + 8 >> 2] = 1;
+     d = 1;
+    }
+    if (q[b + 12 >> 2] != -1) {
+     q[b + 12 >> 2] = 2;
+    }
+    e = d;
+    i = i + 1 | 0;
+    if ((i | 0) != (f | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[a + 36 >> 2] = 0;
+  q[a + 40 >> 2] = 0;
+  yt(c, 1196643650, g, h, a + 28 | 0);
+  yt(c, 1196445523, g, h, a + 32 | 0);
+  d = c + 36 | 0;
+  b = c + 40 | 0;
+  c = c + 44 | 0;
+  c : {
+   d : {
+    e : {
+     f = TE();
+     e = q[f + 16 >> 2];
+     if ((e | 0) == 566) {
+      if (q[b >> 2]) {
+       break c;
+      }
+      while (1) {
+       if (!q[d >> 2]) {
+        break e;
+       }
+       e = q[b >> 2];
+       q[b >> 2] = e ? e : 1;
+       if (!e) {
+        break c;
+       }
+       if (!q[b >> 2]) {
+        continue;
+       }
+       break;
+      }
+      break c;
+     }
+     if ((e | 0) != 567) {
+      break e;
+     }
+     if (q[c >> 2]) {
+      break d;
+     }
+     while (1) {
+      if (!q[d >> 2]) {
+       break e;
+      }
+      e = q[c >> 2];
+      q[c >> 2] = e ? e : 1;
+      if (!e) {
+       break d;
+      }
+      if (!q[c >> 2]) {
+       continue;
+      }
+      break;
+     }
+     break d;
+    }
+    e = q[f + 36 >> 2];
+    if ((e | 0) != 566) {
+     if ((e | 0) != 567) {
+      break a;
+     }
+     if (q[c >> 2]) {
+      break d;
+     }
+     while (1) {
+      if (!q[d >> 2]) {
+       break a;
+      }
+      b = q[c >> 2];
+      q[c >> 2] = b ? b : 1;
+      if (!b) {
+       break d;
+      }
+      if (!q[c >> 2]) {
+       continue;
+      }
+      break;
+     }
+     break d;
+    }
+    if (q[b >> 2]) {
+     break c;
+    }
+    while (1) {
+     if (!q[d >> 2]) {
+      break a;
+     }
+     c = q[b >> 2];
+     q[b >> 2] = c ? c : 1;
+     if (!c) {
+      break c;
+     }
+     if (!q[b >> 2]) {
+      continue;
+     }
+     break;
+    }
+    break c;
+   }
+   q[a + 40 >> 2] = 270234;
+   q[a + 36 >> 2] = 567;
+   return 1;
+  }
+  q[a + 40 >> 2] = 270231;
+  q[a + 36 >> 2] = 566;
+  return 1;
+ }
+ M$(j);
+ return 0;
+}
+function MQ(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ a : {
+  if (!b) {
+   break a;
+  }
+  h = CQ(b);
+  if (h) {
+   break a;
+  }
+  return 0;
+ }
+ b : {
+  c : {
+   if (!c) {
+    break c;
+   }
+   i = CQ(c);
+   if (i) {
+    break c;
+   }
+   b = 0;
+   if (!h) {
+    break b;
+   }
+   M$(h);
+   return 0;
+  }
+  j = q[a + 4 >> 2];
+  d : {
+   if ((j | 0) < 1) {
+    break d;
+   }
+   m = q[a + 12 >> 2];
+   while (1) {
+    e : {
+     k = q[(f << 2) + m >> 2];
+     b = k;
+     c = h;
+     if ((b | 0) == (c | 0)) {
+      break e;
+     }
+     while (1) {
+      g = 0;
+      f : {
+       if (!b) {
+        e = 0;
+        b = 0;
+        break f;
+       }
+       e = r[b | 0];
+       b = b + 1 | 0;
+      }
+      if (c) {
+       g = r[c | 0];
+       c = c + 1 | 0;
+      } else {
+       c = 0;
+      }
+      if ((e | 0) == (g | 0) ? e : 0) {
+       continue;
+      }
+      break;
+     }
+     if (!b | (e | 0) != (g | 0)) {
+      break e;
+     }
+     c = i;
+     if ((c | 0) != (b | 0)) {
+      while (1) {
+       g = 0;
+       g : {
+        if (!b) {
+         e = 0;
+         b = 0;
+         break g;
+        }
+        e = r[b | 0];
+        b = b + 1 | 0;
+       }
+       if (c) {
+        g = r[c | 0];
+        c = c + 1 | 0;
+       } else {
+        c = 0;
+       }
+       if ((e | 0) == (g | 0) ? e : 0) {
+        continue;
+       }
+       break;
+      }
+      if ((e | 0) != (g | 0)) {
+       break e;
+      }
+     }
+     f = 0;
+     while (1) {
+      h : {
+       b = k;
+       e = q[(f << 2) + m >> 2];
+       c = e;
+       i : {
+        if ((b | 0) == (c | 0)) {
+         e = k;
+         break i;
+        }
+        while (1) {
+         j : {
+          g = r[b | 0];
+          l = r[c | 0];
+          if (!l) {
+           break j;
+          }
+          c = c + 1 | 0;
+          b = b + 1 | 0;
+          if ((g | 0) == (l | 0)) {
+           continue;
+          }
+         }
+         break;
+        }
+        if ((g | 0) != (l | 0)) {
+         break h;
+        }
+       }
+       M$(e);
+       b = q[a + 12 >> 2] + (f << 2) | 0;
+       _$(b, b + 4 | 0, q[a + 4 >> 2] - f << 2);
+       q[a + 4 >> 2] = q[a + 4 >> 2] + -1;
+       break d;
+      }
+      f = f + 1 | 0;
+      if ((j | 0) != (f | 0)) {
+       continue;
+      }
+      break;
+     }
+     break d;
+    }
+    f = f + 1 | 0;
+    if ((j | 0) != (f | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  b = JQ(a, h, i, d);
+  if (h) {
+   M$(h);
+  }
+  if (!i) {
+   break b;
+  }
+  M$(i);
+ }
+ return b;
+}
+function Xw(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, p = 0, s = 0, t = 0, u = 0, v = 0;
+ i = q[a + 96 >> 2];
+ h = q[i + (r[i + 69 | 0] ? 80 : 72) >> 2];
+ if (b) {
+  l = h - q[i + 72 >> 2] | 0;
+  while (1) {
+   k = (g << 2) + c | 0;
+   q[k >> 2] = l + q[k >> 2];
+   g = g + 1 | 0;
+   if ((g | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ h = f + h | 0;
+ a : {
+  if (!d) {
+   break a;
+  }
+  while (1) {
+   if (!r[i + 68 | 0]) {
+    break a;
+   }
+   f = (m << 2) + e | 0;
+   g = r[f | 0] << 8 | r[f + 1 | 0];
+   b : {
+    if (g >>> 0 >= b >>> 0 | (q[a + 124 >> 2] == (r[f + 3 | 0] | r[f + 2 | 0] << 8) ? !g : 0)) {
+     break b;
+    }
+    o = (g << 2) + c | 0;
+    if (!xG(i, q[o >> 2]) | q[i + 40 >> 2] < 1) {
+     break a;
+    }
+    l = q[a + 132 >> 2];
+    if (!l) {
+     break b;
+    }
+    k = q[a + 100 >> 2];
+    if (!k) {
+     break b;
+    }
+    j = r[f + 2 | 0];
+    s = r[f + 3 | 0];
+    t = q[(r[i + 69 | 0] ? 80 : 72) + i >> 2];
+    u = q[i + 72 >> 2];
+    v = q[i + 76 >> 2];
+    p = q[a + 96 >> 2];
+    f = q[p + 40 >> 2];
+    q[p + 40 >> 2] = f + -1;
+    if ((f | 0) < 1) {
+     break b;
+    }
+    q[a + 132 >> 2] = l + -1;
+    f = n[k](a, s | j << 8) | 0;
+    q[a + 132 >> 2] = q[a + 132 >> 2] + 1;
+    if (!f) {
+     break b;
+    }
+    j = (q[i + 76 >> 2] + (q[(r[i + 69 | 0] ? 80 : 72) + i >> 2] + (u - (t + v | 0) | 0) | 0) | 0) - q[i + 72 >> 2] | 0;
+    if (!j) {
+     break b;
+    }
+    l = h + j | 0;
+    h = q[o >> 2];
+    if ((l | 0) <= (h | 0)) {
+     break a;
+    }
+    h = g + 1 | 0;
+    k = c;
+    c : {
+     if ((j | 0) >= 1) {
+      f = b + j | 0;
+      g = h;
+      if (f >>> 0 <= 64) {
+       break c;
+      }
+      h = l;
+      break a;
+     }
+     f = h - b | 0;
+     j = (j | 0) < (f | 0) ? f : j;
+     f = j + b | 0;
+     g = h - j | 0;
+    }
+    k = (g << 2) + k | 0;
+    _$(k + (j << 2) | 0, k, b - g << 2);
+    g = g + j | 0;
+    if (h >>> 0 < g >>> 0) {
+     b = q[o >> 2];
+     while (1) {
+      b = b + 1 | 0;
+      q[(h << 2) + c >> 2] = b;
+      h = h + 1 | 0;
+      if ((h | 0) != (g | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (g >>> 0 < f >>> 0) {
+     while (1) {
+      b = (g << 2) + c | 0;
+      q[b >> 2] = q[b >> 2] + j;
+      g = g + 1 | 0;
+      if ((g | 0) != (f | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    h = l;
+    b = f;
+   }
+   m = m + 1 | 0;
+   if ((m | 0) != (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ xG(i, h);
+ return 1;
+}
+function wD(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ f = r[b + 164 | 0];
+ a : {
+  if (!(f & 64)) {
+   o[b + 164 | 0] = f | 64;
+   i = q[b + 88 >> 2];
+   j = q[b + 76 >> 2];
+   b : {
+    if (!q[b + 144 >> 2]) {
+     break b;
+    }
+    while (1) {
+     f = q[((g << 2) + b | 0) + 104 >> 2];
+     d = q[b + 12 >> 2];
+     f = xD(f, n[q[d + 24 >> 2]](d, f, q[d + 56 >> 2]) | 0);
+     if ((f | 0) == 7) {
+      g = g + 1 | 0;
+      if (g >>> 0 < t[b + 144 >> 2]) {
+       continue;
+      }
+      break b;
+     }
+     break;
+    }
+    h = s[(f << 2) + 251682 >> 1];
+   }
+   f = -1;
+   if (!j) {
+    break a;
+   }
+   while (1) {
+    d = w(e, 20) + i | 0;
+    g = d + 16 | 0;
+    d = xD(q[d >> 2], s[d + 16 >> 1] & 31);
+    c : {
+     if ((d | 0) == 7) {
+      o[g + 2 | 0] = 7;
+      break c;
+     }
+     h = w(h, 24) + (d << 2) | 0;
+     d : {
+      if ((f | 0) == -1) {
+       break d;
+      }
+      d = r[h + 251680 | 0];
+      if ((d | 0) == 7) {
+       break d;
+      }
+      o[(w(f, 20) + i | 0) + 18 | 0] = d;
+      d = e + 1 | 0;
+      if (d - f >>> 0 < 2) {
+       break d;
+      }
+      DG(b, f, d);
+     }
+     o[g + 2 | 0] = r[h + 251681 | 0];
+     h = s[h + 251682 >> 1];
+     f = e;
+    }
+    e = e + 1 | 0;
+    if ((j | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  J(251636, 251608, 150, 251623);
+  F();
+ }
+ e : {
+  if (!q[b + 148 >> 2]) {
+   break e;
+  }
+  g = 0;
+  while (1) {
+   e = q[((g << 2) + b | 0) + 124 >> 2];
+   d = q[b + 12 >> 2];
+   e = xD(e, n[q[d + 24 >> 2]](d, e, q[d + 56 >> 2]) | 0);
+   if ((e | 0) == 7) {
+    g = g + 1 | 0;
+    if (g >>> 0 < t[b + 148 >> 2]) {
+     continue;
+    }
+    break e;
+   }
+   break;
+  }
+  if ((f | 0) == -1) {
+   break e;
+  }
+  e = r[(w(h, 24) + (e << 2) | 0) + 251680 | 0];
+  if ((e | 0) == 7) {
+   break e;
+  }
+  o[(w(f, 20) + i | 0) + 18 | 0] = e;
+ }
+ f : {
+  if ((c | 0) == 1299148391) {
+   f = q[b + 76 >> 2];
+   if (f >>> 0 < 2) {
+    break f;
+   }
+   c = q[b + 88 >> 2];
+   e = 1;
+   while (1) {
+    d = c + w(e, 20) | 0;
+    if (q[d >> 2] + -6155 >>> 0 <= 2) {
+     o[d + 18 | 0] = r[d + -2 | 0];
+    }
+    e = e + 1 | 0;
+    if ((f | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  f = q[b + 76 >> 2];
+ }
+ if (f) {
+  b = q[b + 88 >> 2];
+  e = 0;
+  while (1) {
+   c = b + w(e, 20) | 0;
+   q[c + 4 >> 2] = q[c + 4 >> 2] | q[(r[c + 18 | 0] << 2) + a >> 2];
+   e = e + 1 | 0;
+   if ((f | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function dO(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0;
+ f = Ca + -64 | 0;
+ Ca = f;
+ h = q[c + 8 >> 2];
+ k = q[c + 4 >> 2];
+ q[f + 32 >> 2] = k;
+ q[f + 36 >> 2] = h;
+ j = k;
+ i = q[b >> 2];
+ i = (i | 0) > (j | 0) ? j : i;
+ q[b >> 2] = i;
+ g = q[b + 8 >> 2];
+ j = (g | 0) > (j | 0) ? g : j;
+ q[b + 8 >> 2] = j;
+ k = h;
+ h = q[b + 4 >> 2];
+ h = (h | 0) > (k | 0) ? k : h;
+ q[b + 4 >> 2] = h;
+ g = q[b + 12 >> 2];
+ g = (g | 0) > (k | 0) ? g : k;
+ q[b + 12 >> 2] = g;
+ o = q[c + 12 >> 2];
+ c = o;
+ l = q[c + 8 >> 2];
+ c = q[c + 4 >> 2];
+ q[f + 40 >> 2] = c;
+ q[f + 44 >> 2] = l;
+ k = c;
+ m = (j | 0) > (c | 0) ? j : c;
+ q[b + 8 >> 2] = m;
+ n = (i | 0) > (c | 0) ? c : i;
+ q[b >> 2] = n;
+ i = l;
+ l = (g | 0) > (i | 0) ? g : i;
+ q[b + 12 >> 2] = l;
+ h = (h | 0) > (i | 0) ? i : h;
+ q[b + 4 >> 2] = h;
+ p = q[o + 12 >> 2];
+ c = p;
+ g = q[c + 8 >> 2];
+ c = q[c + 4 >> 2];
+ q[f + 48 >> 2] = c;
+ q[f + 52 >> 2] = g;
+ j = c;
+ m = (m | 0) > (c | 0) ? m : c;
+ q[b + 8 >> 2] = m;
+ n = (n | 0) > (c | 0) ? c : n;
+ q[b >> 2] = n;
+ l = (l | 0) > (g | 0) ? l : g;
+ q[b + 12 >> 2] = l;
+ o = (h | 0) > (g | 0) ? g : h;
+ q[b + 4 >> 2] = o;
+ c = q[p + 12 >> 2];
+ p = q[c + 8 >> 2];
+ c = q[c + 4 >> 2];
+ q[f + 56 >> 2] = c;
+ q[f + 60 >> 2] = p;
+ h = c;
+ q[b + 8 >> 2] = (m | 0) > (c | 0) ? m : c;
+ q[b >> 2] = (n | 0) > (c | 0) ? c : n;
+ c = p;
+ q[b + 12 >> 2] = (l | 0) > (c | 0) ? l : c;
+ q[b + 4 >> 2] = (o | 0) > (c | 0) ? c : o;
+ if (d) {
+  b = (g - i | 0) / 3 | 0;
+  q[f + 52 >> 2] = g - b;
+  q[f + 60 >> 2] = g + (((c - g | 0) / 3 | 0) - b >> 1);
+  c = (j - k | 0) / 3 | 0;
+  q[f + 48 >> 2] = j - c;
+  q[f + 44 >> 2] = b + i;
+  q[f + 40 >> 2] = c + k;
+  q[f + 56 >> 2] = j + (((h - j | 0) / 3 | 0) - c >> 1);
+  q[f + 36 >> 2] = i + (b - ((i - q[f + 36 >> 2] | 0) / 3 | 0) >> 1);
+  q[f + 32 >> 2] = k + (c - ((k - q[f + 32 >> 2] | 0) / 3 | 0) >> 1);
+ }
+ a : {
+  if (!e) {
+   b = q[f + 36 >> 2];
+   q[f + 24 >> 2] = q[f + 32 >> 2];
+   q[f + 28 >> 2] = b;
+   b = 0;
+   if (!TN(a, f + 24 | 0, 0)) {
+    break a;
+   }
+  }
+  b = f + 32 | 8;
+  c = q[b + 4 >> 2];
+  q[f + 16 >> 2] = q[b >> 2];
+  q[f + 20 >> 2] = c;
+  b = 0;
+  if (!TN(a, f + 16 | 0, 0)) {
+   break a;
+  }
+  b = q[f + 52 >> 2];
+  q[f + 8 >> 2] = q[f + 48 >> 2];
+  q[f + 12 >> 2] = b;
+  b = 0;
+  if (!TN(a, f + 8 | 0, 0)) {
+   break a;
+  }
+  b = q[f + 60 >> 2];
+  q[f >> 2] = q[f + 56 >> 2];
+  q[f + 4 >> 2] = b;
+  b = TN(a, f, 3);
+ }
+ Ca = f - -64 | 0;
+ return b;
+}
+function YN(a, b) {
+ var c = 0, d = 0, e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ c = Ca + -64 | 0;
+ Ca = c;
+ d = q[b >> 2] - q[a + 104 >> 2] | 0;
+ h = q[b + 4 >> 2] - q[a + 108 >> 2] | 0;
+ k = q[a + 48 >> 2];
+ a : {
+  b : {
+   if ((h | 0) >= (k | 0)) {
+    break b;
+   }
+   e = 0 - k | 0;
+   if ((h | 0) <= (e | 0) | (d | 0) <= (e | 0)) {
+    break b;
+   }
+   e = 1;
+   if ((d | 0) < (k | 0)) {
+    break a;
+   }
+  }
+  i = v[a + 40 >> 3] * +(h | 0);
+  j = v[a + 32 >> 3] * +(0 - d | 0);
+  l = 1 / E(i * i + j * j);
+  v[c + 48 >> 3] = j * l;
+  v[c + 40 >> 3] = i * l;
+  d = q[a + 104 >> 2];
+  h = q[a + 108 >> 2];
+  k = q[c + 52 >> 2];
+  q[c + 24 >> 2] = q[c + 48 >> 2];
+  q[c + 28 >> 2] = k;
+  q[c + 32 >> 2] = d;
+  q[c + 36 >> 2] = h;
+  d = q[c + 44 >> 2];
+  q[c + 16 >> 2] = q[c + 40 >> 2];
+  q[c + 20 >> 2] = d;
+  e = 0;
+  if (!ZN(a, c + 32 | 0, c + 16 | 0, 3)) {
+   break a;
+  }
+  q[a + 60 >> 2] = q[a + 60 >> 2] & -4;
+  d = r[a + 92 | 0] | r[a + 93 | 0] << 8 | (r[a + 94 | 0] << 16 | r[a + 95 | 0] << 24);
+  f(0, r[a + 88 | 0] | r[a + 89 | 0] << 8 | (r[a + 90 | 0] << 16 | r[a + 91 | 0] << 24));
+  f(1, d | 0);
+  i = +g();
+  d = r[a + 84 | 0] | r[a + 85 | 0] << 8 | (r[a + 86 | 0] << 16 | r[a + 87 | 0] << 24);
+  f(0, r[a + 80 | 0] | r[a + 81 | 0] << 8 | (r[a + 82 | 0] << 16 | r[a + 83 | 0] << 24));
+  f(1, d | 0);
+  j = +g() * v[a + 16 >> 3];
+  c : {
+   if (y(j) < 2147483648) {
+    d = ~~j;
+    break c;
+   }
+   d = -2147483648;
+  }
+  h = r[a + 108 | 0] | r[a + 109 | 0] << 8 | (r[a + 110 | 0] << 16 | r[a + 111 | 0] << 24);
+  j = v[a + 24 >> 3];
+  m = r[a + 104 | 0] | r[a + 105 | 0] << 8 | (r[a + 106 | 0] << 16 | r[a + 107 | 0] << 24);
+  k = d;
+  q[c + 56 >> 2] = m + d;
+  e = c;
+  i = i * j;
+  d : {
+   if (y(i) < 2147483648) {
+    d = ~~i;
+    break d;
+   }
+   d = -2147483648;
+  }
+  q[e + 60 >> 2] = d + h;
+  n = q[a >> 2];
+  e = q[c + 60 >> 2];
+  q[c + 8 >> 2] = q[c + 56 >> 2];
+  q[c + 12 >> 2] = e;
+  e = 0;
+  if (!TN(n, c + 8 | 0, 1)) {
+   break a;
+  }
+  q[c + 60 >> 2] = h - d;
+  q[c + 56 >> 2] = m - k;
+  d = q[a + 4 >> 2];
+  h = q[c + 60 >> 2];
+  q[c >> 2] = q[c + 56 >> 2];
+  q[c + 4 >> 2] = h;
+  e = 0;
+  if (!TN(d, c, 1)) {
+   break a;
+  }
+  d = q[c + 44 >> 2];
+  q[a + 80 >> 2] = q[c + 40 >> 2];
+  q[a + 84 >> 2] = d;
+  d = q[c + 52 >> 2];
+  q[a + 88 >> 2] = q[c + 48 >> 2];
+  q[a + 92 >> 2] = d;
+  d = q[b + 4 >> 2];
+  q[a + 104 >> 2] = q[b >> 2];
+  q[a + 108 >> 2] = d;
+  e = 1;
+ }
+ Ca = c - -64 | 0;
+ return e;
+}
+function cw(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  if (!dv(a + 2 | 0, b, a)) {
+   break a;
+  }
+  e = q[b + 4 >> 2];
+  c = a + 4 | 0;
+  if (e >>> 0 > c >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  c = r[a + 5 | 0];
+  g = r[a + 4 | 0];
+  h = c | g << 8;
+  b : {
+   if (!h) {
+    break b;
+   }
+   c = a + 6 | 0;
+   if (e >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < h << 1 >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   c = r[a + 5 | 0];
+   g = r[a + 4 | 0];
+   d = c | g << 8;
+   if (!d) {
+    break b;
+   }
+   e = 0;
+   c : {
+    while (1) {
+     if (dv(((e << 1) + a | 0) + 6 | 0, b, a)) {
+      e = e + 1 | 0;
+      if ((d | 0) != (e | 0)) {
+       continue;
+      }
+      break c;
+     }
+     break;
+    }
+    return 0;
+   }
+   c = r[a + 5 | 0];
+   g = r[a + 4 | 0];
+   e = q[b + 4 >> 2];
+  }
+  d = ((c << 1 | g << 9) + a | 0) + 6 | 0;
+  if (e >>> 0 > d >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < d >>> 0 | f - d >>> 0 < 2) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  if ((g | 0) < 1) {
+   break a;
+  }
+  h = r[d + 1 | 0];
+  c = r[d | 0];
+  i = h | c << 8;
+  d : {
+   if (!i) {
+    break d;
+   }
+   c = d + 2 | 0;
+   if (e >>> 0 > c >>> 0 | f >>> 0 < c >>> 0 | f - c >>> 0 < i << 1 >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = g + -2;
+   if ((g | 0) < 2) {
+    break a;
+   }
+   h = r[d + 1 | 0];
+   c = r[d | 0];
+   f = h | c << 8;
+   if (!f) {
+    break d;
+   }
+   e = 0;
+   e : {
+    while (1) {
+     if (dv((d + (e << 1) | 0) + 2 | 0, b, a)) {
+      e = e + 1 | 0;
+      if ((f | 0) != (e | 0)) {
+       continue;
+      }
+      break e;
+     }
+     break;
+    }
+    return 0;
+   }
+   h = r[d + 1 | 0];
+   c = r[d | 0];
+   e = q[b + 4 >> 2];
+  }
+  a = (d + (h << 1 | c << 9) | 0) + 2 | 0;
+  if (e >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  f = r[a + 1 | 0] | r[a | 0] << 8;
+  if (f) {
+   a = a + 2 | 0;
+   if (e >>> 0 > a >>> 0 | d >>> 0 < a >>> 0 | d - a >>> 0 < f << 1 >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = c + -2;
+   if ((c | 0) < 2) {
+    break a;
+   }
+  }
+  j = 1;
+ }
+ return j;
+}
+function rI(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ h = Oe(a, 2496, i + 12 | 0);
+ d = q[i + 12 >> 2];
+ if (!d) {
+  q[h >> 2] = a;
+  q[h + 212 >> 2] = s[b + 120 >> 1];
+  g = r[b + 124 | 0];
+  if (g) {
+   a = h + 224 | 0;
+   d = b + 128 | 0;
+   f = g;
+   while (1) {
+    q[a >> 2] = p[d >> 1];
+    d = d + 2 | 0;
+    a = a + 12 | 0;
+    f = f + -1 | 0;
+    if (f) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = 1;
+  q[h + 208 >> 2] = g + 1;
+  q[h + 8 >> 2] = s[b + 122 >> 1];
+  g = r[b + 125 | 0];
+  if (g) {
+   d = h + 20 | 0;
+   f = b + 154 | 0;
+   e = g;
+   while (1) {
+    q[d >> 2] = p[f >> 1];
+    f = f + 2 | 0;
+    d = d + 12 | 0;
+    e = e + -1 | 0;
+    if (e) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[h + 4 >> 2] = g + 1;
+  d = 0;
+  g = h + 412 | 0;
+  f = b + 12 | 0;
+  BI(g, r[b + 8 | 0], f, r[b + 9 | 0], b + 40 | 0, q[b + 116 >> 2], 0);
+  BI(g, r[b + 10 | 0], b + 60 | 0, r[b + 11 | 0], b + 88 | 0, q[b + 116 >> 2], 1);
+  g = r[b + 8 | 0];
+  if (g) {
+   while (1) {
+    e = d << 1;
+    e = s[f + (e | 2) >> 1] - s[f + e >> 1] | 0;
+    a = e << 16 >> 16 > a << 16 >> 16 ? e : a;
+    d = d + 2 | 0;
+    if (d >>> 0 < g >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  g = r[b + 9 | 0];
+  if (g) {
+   d = 0;
+   f = b + 40 | 0;
+   while (1) {
+    e = d << 1;
+    e = s[f + (e | 2) >> 1] - s[f + e >> 1] | 0;
+    a = e << 16 >> 16 > a << 16 >> 16 ? e : a;
+    d = d + 2 | 0;
+    if (d >>> 0 < g >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  g = r[b + 10 | 0];
+  if (g) {
+   d = 0;
+   f = b + 60 | 0;
+   while (1) {
+    e = d << 1;
+    e = s[f + (e | 2) >> 1] - s[f + e >> 1] | 0;
+    a = e << 16 >> 16 > a << 16 >> 16 ? e : a;
+    d = d + 2 | 0;
+    if (d >>> 0 < g >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  g = r[b + 11 | 0];
+  if (g) {
+   d = 0;
+   f = b + 88 | 0;
+   while (1) {
+    e = d << 1;
+    e = s[f + (e | 2) >> 1] - s[f + e >> 1] | 0;
+    a = e << 16 >> 16 > a << 16 >> 16 ? e : a;
+    d = d + 2 | 0;
+    if (d >>> 0 < g >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = Fe(1e3, a << 16 >> 16);
+  f = q[b + 108 >> 2];
+  q[h + 2476 >> 2] = (f | 0) < (a | 0) ? f : a;
+  q[h + 2480 >> 2] = q[b + 112 >> 2];
+  a = q[b + 116 >> 2];
+  q[h + 404 >> 2] = 0;
+  q[h + 408 >> 2] = 0;
+  q[h + 200 >> 2] = 0;
+  q[h + 204 >> 2] = 0;
+  q[h + 2488 >> 2] = a;
+  d = q[i + 12 >> 2];
+ }
+ q[c >> 2] = h;
+ Ca = i + 16 | 0;
+ return d | 0;
+}
+function cB(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ k = q[67760];
+ i = q[b + 4 >> 2];
+ while (1) {
+  if (f >>> 0 >= i >>> 0) {
+   return 1;
+  }
+  g = q[c >> 2];
+  d = q[a >> 2];
+  a : {
+   if (g >>> 0 > d >>> 0 | g + q[c + 4 >> 2] >>> 0 <= d >>> 0) {
+    break a;
+   }
+   e = d + 1 | 0;
+   q[a >> 2] = e;
+   d = r[d | 0];
+   j = d & 63;
+   b : {
+    if (d & 128) {
+     g = q[b + 8 >> 2];
+     e = 0;
+     while (1) {
+      c : {
+       if (t[b + 4 >> 2] <= f >>> 0) {
+        q[160656] = k;
+        d = 642624;
+        break c;
+       }
+       d = g + (f << 2) | 0;
+      }
+      q[d >> 2] = 0;
+      d = e + 1 | 0;
+      f = f + 1 | 0;
+      if (f >>> 0 >= i >>> 0) {
+       break b;
+      }
+      h = e >>> 0 < j >>> 0;
+      e = d;
+      if (h) {
+       continue;
+      }
+      break;
+     }
+     break b;
+    }
+    d : {
+     if (d & 64) {
+      g = 0;
+      while (1) {
+       d = q[c >> 2];
+       if (d >>> 0 > e >>> 0) {
+        break d;
+       }
+       d = d + q[c + 4 >> 2] | 0;
+       if (e >>> 0 > d >>> 0 | d - e >>> 0 < 2) {
+        break d;
+       }
+       d = r[e | 0] | r[e + 1 | 0] << 8;
+       h = (d << 24 | d << 8 & 16711680) >> 16;
+       e : {
+        if (t[b + 4 >> 2] <= f >>> 0) {
+         q[160656] = k;
+         e = q[a >> 2];
+         d = 642624;
+         break e;
+        }
+        d = q[b + 8 >> 2] + (f << 2) | 0;
+       }
+       q[d >> 2] = h;
+       e = e + 2 | 0;
+       q[a >> 2] = e;
+       d = g + 1 | 0;
+       f = f + 1 | 0;
+       if (f >>> 0 >= i >>> 0) {
+        break b;
+       }
+       h = g >>> 0 < j >>> 0;
+       g = d;
+       if (h) {
+        continue;
+       }
+       break;
+      }
+      break b;
+     }
+     g = 0;
+     d = q[c >> 2];
+     if (d >>> 0 > e >>> 0) {
+      break d;
+     }
+     while (1) {
+      if (q[c + 4 >> 2] + d >>> 0 <= e >>> 0) {
+       break d;
+      }
+      q[a >> 2] = e + 1;
+      e = o[e | 0];
+      f : {
+       if (t[b + 4 >> 2] <= f >>> 0) {
+        q[160656] = k;
+        d = 642624;
+        break f;
+       }
+       d = q[b + 8 >> 2] + (f << 2) | 0;
+      }
+      q[d >> 2] = e;
+      d = g + 1 | 0;
+      f = f + 1 | 0;
+      if (f >>> 0 >= i >>> 0 | g >>> 0 >= j >>> 0) {
+       break b;
+      }
+      g = d;
+      d = q[c >> 2];
+      e = q[a >> 2];
+      if (d >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    break a;
+   }
+   if (d >>> 0 > j >>> 0) {
+    continue;
+   }
+  }
+  break;
+ }
+ return 0;
+}
+function jA(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ f = Ca + -64 | 0;
+ Ca = f;
+ g = d;
+ d = q[a + 72 >> 2];
+ l = g, m = (n[q[d + 168 >> 2]](a, q[a + 76 >> 2], c, q[d + 32 >> 2]) | 0) / 2 | 0, q[l >> 2] = m;
+ d = qA(b + 60 | 0);
+ g = t[d + 16 >> 2] < 8 ? 271040 : q[d + 12 >> 2];
+ d = r[g | 0] | r[g + 1 | 0] << 8 | (r[g + 2 | 0] << 16 | r[g + 3 | 0] << 24);
+ a : {
+  if (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) {
+   b : {
+    c : {
+     j = r[g + 7 | 0] | r[g + 6 | 0] << 8;
+     if (j) {
+      d = j + -1 | 0;
+      b = 0;
+      while (1) {
+       h = b + d >>> 1 | 0;
+       i = (h << 2) + g | 0;
+       i = r[i + 8 | 0] << 8 | r[i + 9 | 0];
+       d : {
+        if (i >>> 0 > c >>> 0) {
+         d = h + -1 | 0;
+         break d;
+        }
+        if ((c | 0) == (i | 0)) {
+         break c;
+        }
+        b = h + 1 | 0;
+       }
+       if ((b | 0) <= (d | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     d = g + 5 | 0;
+     b = g + 4 | 0;
+     break b;
+    }
+    b = j >>> 0 > h >>> 0 ? ((h << 2) + g | 0) + 8 | 0 : 271040;
+    d = b + 3 | 0;
+    b = b + 2 | 0;
+   }
+   c = q[a + 40 >> 2];
+   g = q[a + 44 >> 2];
+   b = (r[d | 0] | r[b | 0] << 8) << 16;
+   a = b >> 31;
+   a = T0(c, g, b >> 16, a);
+   q[e >> 2] = (Ea & 65535) << 16 | a >>> 16;
+   break a;
+  }
+  q[f + 56 >> 2] = 0;
+  q[f + 60 >> 2] = 0;
+  q[f + 48 >> 2] = 0;
+  q[f + 52 >> 2] = 0;
+  if (rA(Xz(b + 48 | 0), a, c, f + 48 | 0)) {
+   b = sA(_z(b + 44 | 0), a, c);
+   c = q[f + 52 >> 2];
+   d = q[a + 40 >> 2];
+   g = q[a + 44 >> 2];
+   b = b << 16;
+   a = b >> 31;
+   a = T0(d, g, b >> 16, a);
+   q[e >> 2] = c + ((Ea & 65535) << 16 | a >>> 16);
+   break a;
+  }
+  q[f + 40 >> 2] = 0;
+  q[f + 44 >> 2] = 0;
+  q[f + 32 >> 2] = 0;
+  q[f + 36 >> 2] = 0;
+  q[f + 24 >> 2] = 0;
+  q[f + 28 >> 2] = 0;
+  q[f + 16 >> 2] = 0;
+  q[f + 20 >> 2] = 0;
+  q[f + 8 >> 2] = 0;
+  q[f + 12 >> 2] = 0;
+  q[f >> 2] = 0;
+  q[f + 4 >> 2] = 0;
+  b = q[a + 72 >> 2];
+  e : {
+   if (n[q[b + 148 >> 2]](a, q[a + 76 >> 2], f, q[b + 12 >> 2])) {
+    d = q[f >> 2];
+    break e;
+   }
+   b = q[a + 24 >> 2];
+   q[f + 8 >> 2] = 0;
+   a = f;
+   k = +(b | 0) * .8;
+   f : {
+    if (y(k) < 2147483648) {
+     d = ~~k;
+     break f;
+    }
+    d = -2147483648;
+   }
+   q[a >> 2] = d;
+   q[f + 4 >> 2] = d - b;
+  }
+  q[e >> 2] = d;
+ }
+ Ca = f - -64 | 0;
+ return 1;
+}
+function LO(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0, t = 0, u = 0;
+ f = Ca + -64 | 0;
+ k = c + 4 | 0;
+ if (k) {
+  l = w(c + 15 & -16, d);
+  m = f + 32 | 0;
+  i = d << 4;
+  t = i << 1;
+  while (1) {
+   if (d) {
+    u = a + t | 0;
+    j = 0;
+    c = n;
+    a : while (1) {
+     e = c - i | 0;
+     e = e >>> 0 < l >>> 0 ? (e << 1) + b | 0 : 437888;
+     p[f >> 1] = s[e >> 1];
+     p[f + 2 >> 1] = s[e + 2 >> 1];
+     p[f + 4 >> 1] = s[e + 4 >> 1];
+     p[f + 6 >> 1] = s[e + 6 >> 1];
+     p[f + 8 >> 1] = s[e + 8 >> 1];
+     p[f + 10 >> 1] = s[e + 10 >> 1];
+     p[f + 12 >> 1] = s[e + 12 >> 1];
+     p[f + 14 >> 1] = s[e + 14 >> 1];
+     p[f + 16 >> 1] = s[e + 16 >> 1];
+     p[f + 18 >> 1] = s[e + 18 >> 1];
+     p[f + 20 >> 1] = s[e + 20 >> 1];
+     p[f + 22 >> 1] = s[e + 22 >> 1];
+     p[f + 24 >> 1] = s[e + 24 >> 1];
+     p[f + 26 >> 1] = s[e + 26 >> 1];
+     p[f + 28 >> 1] = s[e + 28 >> 1];
+     p[f + 30 >> 1] = s[e + 30 >> 1];
+     e = c >>> 0 < l >>> 0 ? (c << 1) + b | 0 : 437888;
+     h = s[e >> 1];
+     p[f + 32 >> 1] = h;
+     p[f + 34 >> 1] = s[e + 2 >> 1];
+     p[f + 36 >> 1] = s[e + 4 >> 1];
+     p[f + 38 >> 1] = s[e + 6 >> 1];
+     p[f + 40 >> 1] = s[e + 8 >> 1];
+     p[f + 42 >> 1] = s[e + 10 >> 1];
+     p[f + 44 >> 1] = s[e + 12 >> 1];
+     p[f + 46 >> 1] = s[e + 14 >> 1];
+     p[f + 48 >> 1] = s[e + 16 >> 1];
+     p[f + 50 >> 1] = s[e + 18 >> 1];
+     p[f + 52 >> 1] = s[e + 20 >> 1];
+     p[f + 54 >> 1] = s[e + 22 >> 1];
+     p[f + 56 >> 1] = s[e + 24 >> 1];
+     p[f + 58 >> 1] = s[e + 26 >> 1];
+     p[f + 60 >> 1] = s[e + 28 >> 1];
+     p[f + 62 >> 1] = s[e + 30 >> 1];
+     e = 0;
+     while (1) {
+      o = e << 1;
+      g = o + m | 0;
+      q = s[g + -4 >> 1];
+      h = q + ((q + ((s[g + -8 >> 1] + h & 65534) >>> 1 | 0) & 65534) >>> 1 | 0) | 0;
+      g = s[g + -2 >> 1] + s[g + -6 >> 1] | 0;
+      p[a + o >> 1] = (((h + g & 65534) >>> 1 | g & h & 32768) + 1 & 65534) >>> 1;
+      e = e + 1 | 0;
+      if ((e | 0) == 16) {
+       c = c + 16 | 0;
+       a = a + 32 | 0;
+       j = j + 1 | 0;
+       if ((j | 0) != (d | 0)) {
+        continue a;
+       }
+       n = i + n | 0;
+       a = u;
+      } else {
+       h = s[(e << 1) + m >> 1];
+       continue;
+      }
+      break;
+     }
+     break;
+    }
+   }
+   r = r + 16 | 0;
+   if (r >>> 0 < k >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Il(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ q[d >> 2] = 0;
+ q[d + 4 >> 2] = 0;
+ g = b ? b + -1 | 0 : 0;
+ b = q[a + 408 >> 2];
+ a : {
+  if (g >>> 0 > b >>> 0) {
+   break a;
+  }
+  c = c ? c + -1 | 0 : 0;
+  if (c >>> 0 > b >>> 0) {
+   break a;
+  }
+  b = q[a + 424 >> 2];
+  if (!b) {
+   break a;
+  }
+  f = c << 4;
+  c = q[a + 416 >> 2];
+  g = s[f + c >> 1] | q[c + (g << 4) >> 2] << 16;
+  j = q[a + 104 >> 2];
+  while (1) {
+   if (!(g >>> 0 <= t[b + 20 >> 2] ? g >>> 0 >= t[b + 16 >> 2] : 0)) {
+    b = q[b >> 2];
+    if (b) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  e = yg(j, q[b + 12 >> 2]);
+  if (e) {
+   break a;
+  }
+  e = Kg(j, w(q[b + 8 >> 2], r[b + 4 | 0]));
+  if (e) {
+   break a;
+  }
+  a = r[b + 5 | 0];
+  l = a & 1;
+  m = a >>> 1 & 1;
+  k = q[b + 8 >> 2];
+  e = q[j + 32 >> 2];
+  a = r[b + 4 | 0];
+  c = -2147483648 >>> z(a) | 0;
+  a = a - c | 0;
+  b : {
+   c : {
+    d : {
+     if (!a) {
+      break d;
+     }
+     a = w(a, k) + e | 0;
+     e : {
+      if (l) {
+       h = r[a + 1 | 0] << 16 | r[a | 0] << 24 | r[a + 2 | 0] << 8;
+       i = a + 3 | 0;
+       a = a + 4 | 0;
+       break e;
+      }
+      i = a + 1 | 0;
+      h = r[a | 0] << 16;
+      a = a + 2 | 0;
+     }
+     f = r[i | 0] | h;
+     if ((f | 0) == (g | 0)) {
+      break c;
+     }
+     if (f >>> 0 >= g >>> 0) {
+      break d;
+     }
+     e = (m ? 2 : 1) + a | 0;
+    }
+    f = w(c, k);
+    if (f >>> 0 > k >>> 0) {
+     while (1) {
+      f = f >>> 1 | 0;
+      c = f + e | 0;
+      f : {
+       if (l) {
+        h = r[c + 1 | 0] << 16 | r[c | 0] << 24 | r[c + 2 | 0] << 8;
+        i = c + 3 | 0;
+        a = c + 4 | 0;
+        break f;
+       }
+       i = c + 1 | 0;
+       h = r[c | 0] << 16;
+       a = c + 2 | 0;
+      }
+      h = r[i | 0] | h;
+      if ((h | 0) == (g | 0)) {
+       break c;
+      }
+      e = h >>> 0 < g >>> 0 ? c : e;
+      if (f >>> 0 > k >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    g : {
+     if (l) {
+      f = 3;
+      c = r[e + 1 | 0] << 16 | r[e | 0] << 24 | r[e + 2 | 0] << 8;
+      a = e + 4 | 0;
+      break g;
+     }
+     f = 1;
+     c = r[e | 0] << 16;
+     a = e + 2 | 0;
+    }
+    if ((g | 0) != (c | r[e + f | 0])) {
+     break b;
+    }
+   }
+   c = r[a | 0];
+   if (m) {
+    c = (r[a + 1 | 0] | c << 8) << 16 >> 16;
+   }
+   q[d >> 2] = p[b + 6 >> 1] + c;
+  }
+  Ng(j);
+  e = 0;
+ }
+ return e | 0;
+}
+function GD(a, b, c, d, e, f, g) {
+ var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0;
+ h = Ca - 80 | 0;
+ Ca = h;
+ a : {
+  if (!HD(b, a, 6)) {
+   break a;
+  }
+  l = q[c + 4 >> 2];
+  j = a + 4 | 0;
+  if (!HD(b, j, 2)) {
+   break a;
+  }
+  i = (l << 8 & 16711680 | l << 24) >>> 16 | 0;
+  o[a + 4 | 0] = i;
+  o[a + 5 | 0] = i >>> 8;
+  k = (l & 65280) >>> 8 | 0;
+  i = l;
+  b : {
+   if (l >>> 0 < 65536) {
+    break b;
+   }
+   i = l;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[b + 20 | 0] = 0;
+   k = r[a + 4 | 0];
+   i = r[a + 5 | 0];
+  }
+  if (!HD(b, j, ((k & 255) << 9 | (i & 255) << 1) + 2 | 0)) {
+   break a;
+  }
+  if (l) {
+   w = s[135520];
+   x = q[d >> 2];
+   y = q[d + 4 >> 2];
+   k = 0;
+   while (1) {
+    d = q[(y >>> 0 > k >>> 0 ? (k << 2) + x | 0 : 271040) >> 2];
+    c : {
+     if ((r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0 <= k >>> 0) {
+      p[321312] = w;
+      i = 642624;
+      break c;
+     }
+     i = ((k << 1) + a | 0) + 6 | 0;
+    }
+    t = q[b + 4 >> 2];
+    j = t - a | 0;
+    m = (j << 24 | j << 8 & 16711680) >>> 16 | 0;
+    o[i | 0] = m;
+    o[i + 1 | 0] = m >>> 8;
+    if (!(!r[b + 20 | 0] | j >>> 0 < 65536)) {
+     o[b + 20 | 0] = 0;
+    }
+    i = q[e + 4 >> 2];
+    u = q[e >> 2];
+    q[h + 72 >> 2] = 0;
+    q[h + 64 >> 2] = u;
+    j = i >>> 0 > d >>> 0 ? d : i;
+    q[h + 68 >> 2] = j;
+    m = q[f + 4 >> 2];
+    v = q[f >> 2];
+    q[h + 40 >> 2] = 0;
+    q[h + 24 >> 2] = 0;
+    q[h + 48 >> 2] = v;
+    d = m >>> 0 > d >>> 0 ? d : m;
+    q[h + 52 >> 2] = d;
+    q[h + 56 >> 2] = 0;
+    n = q[h + 68 >> 2];
+    q[h + 32 >> 2] = q[h + 64 >> 2];
+    q[h + 36 >> 2] = n;
+    n = q[h + 52 >> 2];
+    q[h + 16 >> 2] = q[h + 48 >> 2];
+    q[h + 20 >> 2] = n;
+    if (!KD(t, b, h + 32 | 0, h + 16 | 0, g)) {
+     break a;
+    }
+    q[e + 4 >> 2] = i - j;
+    q[e + 8 >> 2] = q[e + 8 >> 2] + j;
+    q[e >> 2] = (j << 1) + u;
+    q[f + 4 >> 2] = m - d;
+    q[f >> 2] = (d << 2) + v;
+    q[f + 8 >> 2] = d + q[f + 8 >> 2];
+    k = k + 1 | 0;
+    if ((l | 0) != (k | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  e = q[b + 4 >> 2];
+  d = e - a | 0;
+  f = (d << 24 | d << 8 & 16711680) >>> 16 | 0;
+  o[a + 2 | 0] = f;
+  o[a + 3 | 0] = f >>> 8;
+  if (!(!r[b + 20 | 0] | d >>> 0 < 65536)) {
+   o[b + 20 | 0] = 0;
+  }
+  q[h + 8 >> 2] = q[c + 8 >> 2];
+  a = q[c + 4 >> 2];
+  q[h >> 2] = q[c >> 2];
+  q[h + 4 >> 2] = a;
+  z = LD(e, b, h);
+ }
+ Ca = h + 80 | 0;
+ return z;
+}
+function hg(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ if (!a) {
+  return;
+ }
+ a : {
+  if (!b) {
+   break a;
+  }
+  e = q[a + 16 >> 2];
+  if ((e | 0) < 1) {
+   break a;
+  }
+  d = ((e << 2) + a | 0) + 20 | 0;
+  c = a + 20 | 0;
+  while (1) {
+   if (q[c >> 2] == (b | 0)) {
+    q[a + 16 >> 2] = e + -1;
+    a = d + -4 | 0;
+    if (c >>> 0 < a >>> 0) {
+     while (1) {
+      q[c >> 2] = q[c + 4 >> 2];
+      c = c + 4 | 0;
+      if (c >>> 0 < a >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    q[a >> 2] = 0;
+    i = q[b + 8 >> 2];
+    e = q[b >> 2];
+    a = e;
+    d = q[b + 4 >> 2];
+    b : {
+     if (!d) {
+      break b;
+     }
+     if (q[d + 160 >> 2] == (b | 0)) {
+      q[d + 160 >> 2] = 0;
+     }
+     a = e;
+     if (!(r[a | 0] & 2)) {
+      break b;
+     }
+     c = q[d + 148 >> 2];
+     if (!c) {
+      break b;
+     }
+     g = d + 148 | 0;
+     a = q[d >> 2];
+     c : {
+      while (1) {
+       if (q[c + 8 >> 2] == (b | 0)) {
+        break c;
+       }
+       c = q[c + 4 >> 2];
+       if (c) {
+        continue;
+       }
+       break;
+      }
+      a = e;
+      break b;
+     }
+     f = q[b + 12 >> 2];
+     d : {
+      if (q[f + 36 >> 2] != 1869968492) {
+       break d;
+      }
+      h = q[b + 52 >> 2];
+      if (!h) {
+       break d;
+      }
+      n[q[q[f + 56 >> 2] + 20 >> 2]](h);
+     }
+     f = q[c >> 2];
+     h = f ? f + 4 | 0 : g;
+     g = q[c + 4 >> 2];
+     q[h >> 2] = g;
+     q[(g ? g : d + 152 | 0) >> 2] = f;
+     n[q[a + 8 >> 2]](a, c);
+     c = q[d + 148 >> 2];
+     e : {
+      if (c) {
+       while (1) {
+        a = q[c + 8 >> 2];
+        if (q[a + 16 >> 2] == 1869968492) {
+         break e;
+        }
+        c = q[c + 4 >> 2];
+        if (c) {
+         continue;
+        }
+        break;
+       }
+      }
+      a = 0;
+     }
+     q[d + 156 >> 2] = a;
+     a = q[b >> 2];
+    }
+    f : {
+     if (!(o[a | 0] & 1)) {
+      break f;
+     }
+     d = q[b + 8 >> 2];
+     if (!d) {
+      break f;
+     }
+     c = q[b + 16 >> 2];
+     if (c) {
+      while (1) {
+       a = q[c + 4 >> 2];
+       Df(d, q[c + 8 >> 2], b);
+       n[q[d + 8 >> 2]](d, c);
+       c = a;
+       if (c) {
+        continue;
+       }
+       break;
+      }
+     }
+     q[b + 16 >> 2] = 0;
+     q[b + 20 >> 2] = 0;
+    }
+    a = q[e + 28 >> 2];
+    if (a) {
+     n[a](b);
+    }
+    n[q[i + 8 >> 2]](i, b);
+    return;
+   }
+   c = c + 4 | 0;
+   if (c >>> 0 < d >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function nm(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ a : {
+  if (!(b ? a : 0)) {
+   q[e + 8 >> 2] = 40;
+   break a;
+  }
+  g = q[b + 28 >> 2];
+  c = om(b);
+  q[e + 8 >> 2] = c;
+  if (c) {
+   break a;
+  }
+  q[a + 24 >> 2] = 0;
+  q[a + 28 >> 2] = 0;
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  q[a + 32 >> 2] = 0;
+  q[a + 36 >> 2] = 0;
+  q[a + 16 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+  q[a + 28 >> 2] = g;
+  c = Mg(g, 8276, e + 8 | 0);
+  if (!q[e + 8 >> 2]) {
+   q[c >> 2] = b;
+   q[c + 4 >> 2] = a;
+   d = q[a + 28 >> 2];
+   f = c + 8264 | 0;
+   q[c + 8272 >> 2] = f;
+   q[c + 8 >> 2] = d;
+   q[c + 8268 >> 2] = f;
+   q[c + 8264 >> 2] = 0;
+   b : {
+    d = om(b);
+    c : {
+     if (d) {
+      break c;
+     }
+     d = q[b + 8 >> 2];
+     q[c + 48 >> 2] = 266;
+     q[c + 44 >> 2] = 267;
+     q[c + 68 >> 2] = d;
+     d = q[b + 28 >> 2];
+     q[c + 16 >> 2] = 0;
+     q[c + 52 >> 2] = d;
+     q[c + 12 >> 2] = c + 4168;
+     d = 3;
+     f = c + 12 | 0;
+     if (rm(f, -15)) {
+      break c;
+     }
+     if (q[f >> 2]) {
+      break b;
+     }
+    }
+    q[e + 8 >> 2] = d;
+    Qe(g, c);
+    break a;
+   }
+   q[e + 8 >> 2] = 0;
+   q[a + 12 >> 2] = c;
+  }
+  d = q[b + 8 >> 2];
+  d : {
+   e : {
+    if (yg(b, q[b + 4 >> 2] + -4 | 0)) {
+     b = a + 4 | 0;
+     break e;
+    }
+    f = Wg(b, e + 12 | 0);
+    h = q[e + 12 >> 2];
+    yg(b, d);
+    f : {
+     d = h ? 0 : f;
+     g : {
+      if (d + -1 >>> 0 <= 40958) {
+       b = Oe(g, d, e + 8 | 0);
+       if (!q[e + 8 >> 2]) {
+        if ((sm(c, 0, b, d) | 0) == (d | 0)) {
+         break f;
+        }
+        sm(c, 0, 0, 0);
+        Qe(g, b);
+       }
+       q[e + 8 >> 2] = 0;
+       b = a + 4 | 0;
+       break g;
+      }
+      b = a + 4 | 0;
+      if (!d) {
+       break e;
+      }
+     }
+     q[b >> 2] = f;
+     break d;
+    }
+    tm(c + 12 | 0);
+    q[c + 52 >> 2] = 0;
+    q[c + 44 >> 2] = 0;
+    q[c + 48 >> 2] = 0;
+    q[c + 24 >> 2] = 0;
+    q[c + 28 >> 2] = 0;
+    q[c >> 2] = 0;
+    q[c + 4 >> 2] = 0;
+    q[c + 8 >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    q[c + 16 >> 2] = 0;
+    Qe(g, c);
+    q[a + 4 >> 2] = d;
+    q[a + 8 >> 2] = 0;
+    q[a + 12 >> 2] = 0;
+    q[a + 24 >> 2] = 268;
+    q[a + 20 >> 2] = 0;
+    q[a >> 2] = b;
+    break a;
+   }
+   q[b >> 2] = 2147483647;
+  }
+  q[a + 24 >> 2] = 268;
+  q[a + 20 >> 2] = 269;
+  q[a >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+ }
+ Ca = e + 16 | 0;
+ return q[e + 8 >> 2];
+}
+function aB(a, b, c, d) {
+ var e = 0, f = x(0), g = 0, h = 0, i = x(0), j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0;
+ j = r[a + 2 | 0];
+ g = j << 24 >> 24;
+ a : {
+  if ((g | 0) <= -1) {
+   m = a + 4 | 0;
+   d = g & 255;
+   d = w(d >>> 5 & 2 | d >>> 7, c);
+   j = d >>> 0 > c >>> 0 ? c : d;
+   break a;
+  }
+  j = w(r[a + 3 | 0] | j << 8 & 3840, c);
+  e = q[d + 4 >> 2];
+  if (j >>> 0 >= e >>> 0) {
+   return x(0);
+  }
+  m = q[d >> 2] + (j << 1) | 0;
+  d = e - j | 0;
+  d = d >>> 0 > e >>> 0 ? 0 : d;
+  j = d >>> 0 > c >>> 0 ? c : d;
+ }
+ d = 0;
+ n = g & 64;
+ if (n) {
+  e = g & 255;
+  e = w(e >>> 5 & 2 | e >>> 7, c);
+  g = g >> 31 & c;
+  h = g + c | 0;
+  k = e - h | 0;
+  k = k >>> 0 > e >>> 0 ? 0 : k;
+  k = k >>> 0 > c >>> 0 ? c : k;
+  a = a + 4 | 0;
+  o = a + (g << 1) | 0;
+  p = a + (h << 1) | 0;
+  l = e - g | 0;
+  e = l >>> 0 > e >>> 0 ? 0 : l;
+  l = e >>> 0 > c >>> 0 ? c : e;
+ }
+ f = x(1);
+ b : {
+  if (!c) {
+   break b;
+  }
+  while (1) {
+   h = d << 1;
+   a = j >>> 0 > d >>> 0 ? h + m | 0 : 271040;
+   a = r[a | 0] | r[a + 1 | 0] << 8;
+   e = a << 24 | a << 8 & 16711680;
+   i = f;
+   f = i;
+   c : {
+    if (!((e | (a >>> 8 & 65280 | a >>> 24)) >>> 16)) {
+     break c;
+    }
+    g = q[(d << 2) + b >> 2];
+    a = e >> 16;
+    f = i;
+    if ((g | 0) == (a | 0)) {
+     break c;
+    }
+    if (n) {
+     e = l >>> 0 > d >>> 0 ? h + o | 0 : 271040;
+     e = r[e | 0] | r[e + 1 | 0] << 8;
+     e = (e << 24 | e << 8 & 16711680) >> 16;
+     f = i;
+     if ((a | 0) < (e | 0)) {
+      break c;
+     }
+     h = k >>> 0 > d >>> 0 ? h + p | 0 : 271040;
+     h = r[h | 0] | r[h + 1 | 0] << 8;
+     h = (h << 24 | h << 8 & 16711680) >> 16;
+     f = i;
+     if ((h | 0) < (a | 0)) {
+      break c;
+     }
+     f = i;
+     if (!((h | 0) <= 0 | (e | 0) > -1)) {
+      break c;
+     }
+     f = x(0);
+     if ((g | 0) < (e | 0) | (g | 0) > (h | 0)) {
+      break b;
+     }
+     if ((g | 0) < (a | 0)) {
+      f = i;
+      if ((a | 0) == (e | 0)) {
+       break c;
+      }
+      f = x(i * x(x(g - e | 0) / x(a - e | 0)));
+      break c;
+     }
+     f = i;
+     if ((a | 0) == (h | 0)) {
+      break c;
+     }
+     f = x(i * x(x(h - g | 0) / x(h - a | 0)));
+     break c;
+    }
+    f = x(0);
+    if (!g | (g | 0) < (a & a >> 31) | (g | 0) > (((a | 0) > 0 ? a : 0) | 0)) {
+     break b;
+    }
+    f = x(i * x(x(g | 0) / x(a | 0)));
+   }
+   d = d + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return f;
+}
+function zN(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = mq();
+ if (c) {
+  d = 1517976186;
+  while (1) {
+   e = d;
+   d = h;
+   i = w(f, 336) + b | 0;
+   d = n[q[d + 32 >> 2]](d, q[i >> 2], q[d - -64 >> 2]) | 0;
+   q[i + 20 >> 2] = d;
+   a : {
+    if (!((d | 0) != 1516858984 ? (d | 0) != 1517910393 : 0)) {
+     d = 1517976186;
+     j = 1;
+     if ((e | 0) == 1517976186) {
+      break a;
+     }
+     q[i + 20 >> 2] = e;
+     d = e;
+    }
+    j = g;
+   }
+   g = j;
+   f = f + 1 | 0;
+   if ((f | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+  h = 0;
+  f = c + -1 | 0;
+  if (!(!g | (f | 0) < 0)) {
+   d = 1517976186;
+   while (1) {
+    e = d;
+    g = w(f, 336) + b | 0;
+    d = q[g + 20 >> 2];
+    b : {
+     if ((d | 0) != 1516858984 ? (d | 0) != 1517910393 : 0) {
+      break b;
+     }
+     d = 1517976186;
+     if ((e | 0) == 1517976186) {
+      break b;
+     }
+     q[g + 20 >> 2] = e;
+     d = e;
+    }
+    f = f + -1 | 0;
+    if ((f | 0) > -1) {
+     continue;
+    }
+    break;
+   }
+  }
+  g = 0;
+  while (1) {
+   d = w(h, 336) + b | 0;
+   e = q[d >> 2];
+   if ((e | 0) != 65532) {
+    f = d + 12 | 0;
+    SL(q[a + 8 >> 2], q[d + 8 >> 2], e, f, d + 16 | 0);
+    c : {
+     if (!h) {
+      break c;
+     }
+     e = d + -336 | 0;
+     if (!(q[e + 8 >> 2] != q[d + 8 >> 2] | q[e + 12 >> 2] != q[f >> 2] | (q[e + 20 >> 2] != q[d + 20 >> 2] | v[e + 24 >> 3] != v[d + 24 >> 3]) | (q[e + 116 >> 2] != q[d + 116 >> 2] | q[e + 120 >> 2] != q[d + 120 >> 2] | (q[e + 124 >> 2] != q[d + 124 >> 2] | q[e + 128 >> 2] != q[d + 128 >> 2])) | (q[e + 172 >> 2] != q[d + 172 >> 2] | v[e + 176 >> 3] != v[d + 176 >> 3] | (v[e + 184 >> 3] != v[d + 184 >> 3] | v[e + 192 >> 3] != v[d + 192 >> 3]) | (v[e + 200 >> 3] != v[d + 200 >> 3] | v[e + 208 >> 3] != v[d + 208 >> 3] | (v[e + 216 >> 3] != v[d + 216 >> 3] | v[e + 224 >> 3] != v[d + 224 >> 3]))) | (v[e + 232 >> 3] != v[d + 232 >> 3] | v[e + 240 >> 3] != v[d + 240 >> 3] | (q[e + 264 >> 2] != q[d + 264 >> 2] | v[e + 248 >> 3] != v[d + 248 >> 3]) | (v[e + 272 >> 3] != v[d + 272 >> 3] | v[e + 280 >> 3] != v[d + 280 >> 3] | (q[e + 300 >> 2] != q[d + 300 >> 2] | v[e + 288 >> 3] != v[d + 288 >> 3])) | q[e + 304 >> 2] != q[d + 304 >> 2]))) {
+      if (q[e + 308 >> 2] == q[d + 308 >> 2]) {
+       break c;
+      }
+     }
+     g = g + 1 | 0;
+    }
+    q[d + 312 >> 2] = g;
+   }
+   h = h + 1 | 0;
+   if ((h | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function tW(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ h = q[c >> 2];
+ a : {
+  if (q[a + 144 >> 2] == (b | 0)) {
+   q[a + 284 >> 2] = h;
+   j = a + 284 | 0;
+   i = a + 288 | 0;
+   break a;
+  }
+  j = q[a + 296 >> 2];
+  i = j + 4 | 0;
+ }
+ q[j >> 2] = h;
+ q[c >> 2] = 0;
+ k = n[q[b + 12 >> 2]](b, h, d, g + 4 | 0) | 0;
+ d = q[g + 4 >> 2];
+ q[i >> 2] = d;
+ b : {
+  c : {
+   i = k + 4 | 0;
+   if (i >>> 0 > 46) {
+    break c;
+   }
+   d : {
+    e : {
+     switch (i - 1 | 0) {
+     case 45:
+      f = q[a + 80 >> 2];
+      if (f) {
+       q[g + 12 >> 2] = h;
+       f : {
+        if (!r[b + 68 | 0]) {
+         g : {
+          if (q[a + 144 >> 2] == (b | 0)) {
+           h = a + 284 | 0;
+           f = a + 288 | 0;
+           break g;
+          }
+          h = q[a + 296 >> 2];
+          f = h + 4 | 0;
+         }
+         while (1) {
+          q[g + 8 >> 2] = q[a + 44 >> 2];
+          j = n[q[b + 56 >> 2]](b, g + 12 | 0, d, g + 8 | 0, q[a + 48 >> 2]) | 0;
+          q[f >> 2] = q[g + 12 >> 2];
+          i = q[a + 44 >> 2];
+          n[q[a + 80 >> 2]](q[a + 4 >> 2], i, q[g + 8 >> 2] - i | 0);
+          q[h >> 2] = q[g + 12 >> 2];
+          if (j >>> 0 > 1) {
+           continue;
+          }
+          break;
+         }
+         break f;
+        }
+        n[f](q[a + 4 >> 2], h, d - h | 0);
+       }
+       d = q[g + 4 >> 2];
+      }
+      q[c >> 2] = d;
+      q[e >> 2] = d;
+      a = q[a + 476 >> 2] == 2 ? 35 : 0;
+      break b;
+     case 3:
+      q[j >> 2] = d;
+      a = 4;
+      break b;
+     case 1:
+      if (f) {
+       break d;
+      }
+      a = 6;
+      break b;
+     case 0:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 8:
+     case 9:
+     case 10:
+     case 11:
+     case 12:
+     case 13:
+     case 14:
+     case 15:
+     case 16:
+     case 17:
+     case 18:
+     case 19:
+     case 20:
+     case 21:
+     case 22:
+     case 23:
+     case 24:
+     case 25:
+     case 26:
+     case 27:
+     case 28:
+     case 29:
+     case 30:
+     case 31:
+     case 32:
+     case 33:
+     case 34:
+     case 35:
+     case 36:
+     case 37:
+     case 38:
+     case 39:
+     case 40:
+     case 41:
+     case 42:
+     case 43:
+     case 44:
+      break c;
+     default:
+      break e;
+     }
+    }
+    if (f) {
+     break d;
+    }
+    a = 2;
+    break b;
+   }
+   q[e >> 2] = h;
+   a = 0;
+   break b;
+  }
+  q[j >> 2] = d;
+  a = 23;
+ }
+ Ca = g + 16 | 0;
+ return a;
+}
+function TK(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ d = c;
+ a : {
+  b : {
+   if (!q[b >> 2]) {
+    break b;
+   }
+   if (!q[c >> 2]) {
+    d = b;
+    break b;
+   }
+   h = 1;
+   d = b;
+   if (q[c + 8 >> 2] < q[b + 8 >> 2]) {
+    break a;
+   }
+  }
+  g = q[a + 20 >> 2];
+  c : {
+   if (!g) {
+    break c;
+   }
+   b = q[d + 8 >> 2];
+   while (1) {
+    f = q[(w(e, 20) + a | 0) + 36 >> 2];
+    if ((f | 0) < (b | 0)) {
+     e = e + 1 | 0;
+     if (e >>> 0 < g >>> 0) {
+      continue;
+     }
+     break c;
+    }
+    break;
+   }
+   if (r[(w(e, 20) + a | 0) + 28 | 0] & 8 | ((b | 0) == (f | 0) | ((f | 0) <= q[c + 8 >> 2] ? h : 0))) {
+    break a;
+   }
+  }
+  b = q[a + 4 >> 2];
+  d : {
+   if (!r[b + 12 | 0] | r[d | 0] & 16) {
+    break d;
+   }
+   if (h) {
+    b = UK(b, (q[d + 8 >> 2] + q[c + 8 >> 2] | 0) / 2 | 0);
+    f = Ee((q[c + 8 >> 2] - q[d + 8 >> 2] | 0) / 2 | 0, q[a + 16 >> 2]);
+    q[d + 12 >> 2] = b - f;
+    q[c + 12 >> 2] = b + f;
+    break d;
+   }
+   n = d, o = UK(b, q[d + 8 >> 2]), q[n + 12 >> 2] = o;
+  }
+  if (q[d + 12 >> 2] < q[(w(e, 20) + a | 0) + 20 >> 2] ? e : 0) {
+   break a;
+  }
+  f = q[a + 20 >> 2];
+  e : {
+   if (f >>> 0 <= e >>> 0) {
+    break e;
+   }
+   if (h) {
+    if (q[c + 12 >> 2] <= q[(w(e, 20) + a | 0) + 40 >> 2]) {
+     break e;
+    }
+    break a;
+   }
+   if (q[d + 12 >> 2] > q[(w(e, 20) + a | 0) + 40 >> 2]) {
+    break a;
+   }
+  }
+  b = f + h | 0;
+  if (b >>> 0 > 191) {
+   break a;
+  }
+  j = f - e | 0;
+  if (j) {
+   l = a + 28 | 0;
+   while (1) {
+    f = f + -1 | 0;
+    g = w(f, 20) + l | 0;
+    m = q[g + 4 >> 2];
+    k = w(b, 20) + l | 0;
+    i = k;
+    q[i >> 2] = q[g >> 2];
+    q[i + 4 >> 2] = m;
+    q[i + 16 >> 2] = q[g + 16 >> 2];
+    i = q[g + 12 >> 2];
+    q[k + 8 >> 2] = q[g + 8 >> 2];
+    q[k + 12 >> 2] = i;
+    b = b + -1 | 0;
+    j = j + -1 | 0;
+    if (j) {
+     continue;
+    }
+    break;
+   }
+  }
+  b = w(e, 20) + a | 0;
+  q[b + 44 >> 2] = q[d + 16 >> 2];
+  e = q[d + 12 >> 2];
+  q[b + 36 >> 2] = q[d + 8 >> 2];
+  q[b + 40 >> 2] = e;
+  e = q[d + 4 >> 2];
+  q[b + 28 >> 2] = q[d >> 2];
+  q[b + 32 >> 2] = e;
+  q[a + 20 >> 2] = q[a + 20 >> 2] + 1;
+  if (!h) {
+   break a;
+  }
+  q[b - -64 >> 2] = q[c + 16 >> 2];
+  d = q[c + 12 >> 2];
+  q[b + 56 >> 2] = q[c + 8 >> 2];
+  q[b + 60 >> 2] = d;
+  d = q[c + 4 >> 2];
+  q[b + 48 >> 2] = q[c >> 2];
+  q[b + 52 >> 2] = d;
+  q[a + 20 >> 2] = q[a + 20 >> 2] + 1;
+ }
+}
+function Ly(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ a : {
+  f = N$(1, 52);
+  if (f) {
+   o[f + 12 | 0] = 1;
+   q[f >> 2] = -1;
+   g = q[a + 44 >> 2];
+   k = g + -1 | 0;
+   j = q[a + 48 >> 2];
+   i = f;
+   b : {
+    c : {
+     d : {
+      if ((g | 0) < 1) {
+       break d;
+      }
+      c = k;
+      while (1) {
+       e : {
+        b = c + d >>> 1 | 0;
+        e = q[w(b, 36) + j >> 2];
+        f : {
+         if (e >>> 0 >= 1886545255) {
+          c = b + -1 | 0;
+          break f;
+         }
+         if ((e | 0) == 1886545254) {
+          break e;
+         }
+         d = b + 1 | 0;
+        }
+        if ((d | 0) <= (c | 0)) {
+         continue;
+        }
+        break d;
+       }
+       break;
+      }
+      d = q[(w(b, 36) + j | 0) + 12 >> 2];
+      if ((d | 0) != -1) {
+       break c;
+      }
+     }
+     q[f + 4 >> 2] = 0;
+     a = 0;
+     break b;
+    }
+    b = q[a + 80 >> 2];
+    if (b >>> 0 < d >>> 0) {
+     break a;
+    }
+    if (d) {
+     e = d + -1 | 0;
+     c = 271040;
+     g : {
+      if (b >>> 0 <= e >>> 0) {
+       break g;
+      }
+      c = q[a + 84 >> 2] + (e << 3) | 0;
+     }
+     c = q[c >> 2];
+    } else {
+     c = 0;
+    }
+    if (b >>> 0 > d >>> 0) {
+     e = q[a + 84 >> 2] + (d << 3) | 0;
+    } else {
+     e = a + 56 | 0;
+    }
+    d = f;
+    e = q[e >> 2];
+    b = 0;
+    h : {
+     if ((e | 0) == (c | 0)) {
+      break h;
+     }
+     b = 271040;
+     if (t[a + 56 >> 2] <= c >>> 0) {
+      break h;
+     }
+     b = q[a + 60 >> 2] + (c << 3) | 0;
+    }
+    q[d + 4 >> 2] = b;
+    a = e - c | 0;
+   }
+   q[i + 8 >> 2] = a;
+   e = f + 16 | 0;
+   g = (g | 0) < 1;
+   while (1) {
+    a = 0;
+    i : {
+     if (g | h >>> 0 > 4) {
+      break i;
+     }
+     i = q[(h << 3) + 240080 >> 2];
+     d = 0;
+     c = k;
+     while (1) {
+      j : {
+       b = c + d >>> 1 | 0;
+       l = w(b, 36) + j | 0;
+       m = q[l >> 2];
+       k : {
+        if (m >>> 0 > i >>> 0) {
+         c = b + -1 | 0;
+         break k;
+        }
+        if (m >>> 0 >= i >>> 0) {
+         break j;
+        }
+        d = b + 1 | 0;
+       }
+       if ((d | 0) <= (c | 0)) {
+        continue;
+       }
+       break i;
+      }
+      break;
+     }
+     a = q[l + 28 >> 2];
+    }
+    q[(h << 2) + e >> 2] = a;
+    h = h + 1 | 0;
+    if ((h | 0) != 9) {
+     continue;
+    }
+    break;
+   }
+  }
+  return f | 0;
+ }
+ J(241584, 241620, 148, 241635);
+ F();
+}
+function wC(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   if (!a | !q[a >> 2]) {
+    break b;
+   }
+   if (q[a >> 2] <= 0) {
+    break a;
+   }
+   b = q[a >> 2];
+   q[a >> 2] = b + -1;
+   if ((b | 0) != 1) {
+    break b;
+   }
+   q[a >> 2] = -57005;
+   b = q[a + 8 >> 2];
+   if (b) {
+    c : {
+     if (!q[b + 8 >> 2]) {
+      c = b + 12 | 0;
+      M$(q[c >> 2]);
+      q[c >> 2] = 0;
+      q[b + 4 >> 2] = 0;
+      q[b + 8 >> 2] = 0;
+      break c;
+     }
+     while (1) {
+      c = q[b >> 2];
+      q[b >> 2] = 1;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     c = q[b + 8 >> 2];
+     if (c) {
+      while (1) {
+       e = c + -1 | 0;
+       d = q[b + 12 >> 2] + w(e, 12) | 0;
+       c = q[d + 8 >> 2];
+       d = q[d + 4 >> 2];
+       q[b + 8 >> 2] = e;
+       q[b >> 2] = 0;
+       if (c) {
+        n[c](d);
+       }
+       while (1) {
+        c = q[b >> 2];
+        q[b >> 2] = 1;
+        if (c) {
+         continue;
+        }
+        break;
+       }
+       c = q[b + 8 >> 2];
+       if (c) {
+        continue;
+       }
+       break;
+      }
+     }
+     M$(q[b + 12 >> 2]);
+     q[b + 8 >> 2] = 0;
+     q[b + 12 >> 2] = 0;
+     q[b >> 2] = 0;
+     q[b + 4 >> 2] = 0;
+    }
+    M$(b);
+   }
+   b = q[a + 80 >> 2];
+   if (b) {
+    n[b](q[a + 12 >> 2]);
+   }
+   b = q[a + 84 >> 2];
+   if (b) {
+    n[b](q[a + 16 >> 2]);
+   }
+   b = q[a + 88 >> 2];
+   if (b) {
+    n[b](q[a + 20 >> 2]);
+   }
+   b = q[a + 92 >> 2];
+   if (b) {
+    n[b](q[a + 24 >> 2]);
+   }
+   b = q[a + 96 >> 2];
+   if (b) {
+    n[b](q[a + 28 >> 2]);
+   }
+   b = q[a + 100 >> 2];
+   if (b) {
+    n[b](q[a + 32 >> 2]);
+   }
+   b = q[a + 104 >> 2];
+   if (b) {
+    n[b](q[a + 36 >> 2]);
+   }
+   b = q[a + 108 >> 2];
+   if (b) {
+    n[b](q[a + 40 >> 2]);
+   }
+   b = q[a + 112 >> 2];
+   if (b) {
+    n[b](q[a + 44 >> 2]);
+   }
+   b = q[a + 116 >> 2];
+   if (b) {
+    n[b](q[a + 48 >> 2]);
+   }
+   b = q[a + 120 >> 2];
+   if (b) {
+    n[b](q[a + 52 >> 2]);
+   }
+   b = q[a + 124 >> 2];
+   if (b) {
+    n[b](q[a + 56 >> 2]);
+   }
+   b = q[a + 128 >> 2];
+   if (b) {
+    n[b](q[a + 60 >> 2]);
+   }
+   b = q[a + 132 >> 2];
+   if (b) {
+    n[b](q[a - -64 >> 2]);
+   }
+   b = q[a + 136 >> 2];
+   if (b) {
+    n[b](q[a + 68 >> 2]);
+   }
+   b = q[a + 140 >> 2];
+   if (b) {
+    n[b](q[a + 72 >> 2]);
+   }
+   b = q[a + 144 >> 2];
+   if (b) {
+    n[b](q[a + 76 >> 2]);
+   }
+   M$(a);
+  }
+  return;
+ }
+ J(250678, 250703, 279, 250738);
+ F();
+}
+function pJ(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0;
+ m = e >> 8;
+ if ((d | 0) == (f | 0)) {
+  if (!(q[a + 188 >> 2] | (q[a + 184 >> 2] ? 0 : !q[a + 180 >> 2]))) {
+   jJ(a);
+  }
+  q[a + 180 >> 2] = 0;
+  q[a + 184 >> 2] = 0;
+  q[a + 160 >> 2] = b;
+  c = q[a + 164 >> 2];
+  q[a + 156 >> 2] = (c | 0) > (m | 0) ? c + -1 | 0 : m;
+  e = 1;
+  q[a + 188 >> 2] = q[a + 176 >> 2] <= (b | 0) | q[a + 172 >> 2] > (b | 0) ? e : q[a + 168 >> 2] <= (m | 0);
+  return;
+ }
+ s = e & 255;
+ g = c & 255;
+ n = c >> 8;
+ a : {
+  if ((n | 0) == (m | 0)) {
+   e = q[a + 184 >> 2];
+   b = q[a + 180 >> 2];
+   break a;
+  }
+  h = f - d | 0;
+  o = 1;
+  p = a;
+  i = e - c | 0;
+  b : {
+   if ((i | 0) >= 1) {
+    r = 256;
+    c = 256 - g | 0;
+    break b;
+   }
+   i = 0 - i | 0;
+   o = -1;
+   c = g;
+  }
+  c = w(c, h);
+  e = (c | 0) / (i | 0) | 0;
+  k = c - w(e, i) | 0;
+  l = k >> 31;
+  j = e + l | 0;
+  c = j + q[a + 184 >> 2] | 0;
+  q[p + 184 >> 2] = c;
+  g = q[a + 180 >> 2] + w(j, g | r) | 0;
+  q[a + 180 >> 2] = g;
+  e = n + o | 0;
+  if (!(q[a + 188 >> 2] | !(c | g))) {
+   jJ(a);
+  }
+  q[a + 180 >> 2] = 0;
+  q[a + 184 >> 2] = 0;
+  q[a + 160 >> 2] = b;
+  c = q[a + 164 >> 2];
+  q[a + 156 >> 2] = (c | 0) > (e | 0) ? c + -1 | 0 : e;
+  g = 1;
+  d = d + j | 0;
+  n = q[a + 176 >> 2];
+  if (!((n | 0) <= (b | 0) | q[a + 172 >> 2] > (b | 0))) {
+   g = q[a + 168 >> 2] <= (e | 0);
+  }
+  q[a + 188 >> 2] = g;
+  if ((e | 0) != (m | 0)) {
+   k = k + (i & l) | 0;
+   h = h << 8;
+   j = (h | 0) / (i | 0) | 0;
+   h = h - w(i, j) | 0;
+   l = h >> 31;
+   p = (l & i) + h | 0;
+   l = j + l | 0;
+   while (1) {
+    h = k + p | 0;
+    j = ((h | 0) >= (i | 0)) + l | 0;
+    q[a + 184 >> 2] = j;
+    k = j << 8;
+    q[a + 180 >> 2] = k;
+    t = (h | 0) < (i | 0);
+    e = e + o | 0;
+    if (!(!(j | k) | g)) {
+     jJ(a);
+     n = q[a + 176 >> 2];
+     c = q[a + 164 >> 2];
+    }
+    q[a + 180 >> 2] = 0;
+    q[a + 184 >> 2] = 0;
+    q[a + 160 >> 2] = b;
+    q[a + 156 >> 2] = (c | 0) > (e | 0) ? c + -1 | 0 : e;
+    g = 1;
+    k = h - (t ? 0 : i) | 0;
+    d = d + j | 0;
+    g = (n | 0) <= (b | 0) | q[a + 172 >> 2] > (b | 0) ? g : q[a + 168 >> 2] <= (e | 0);
+    q[a + 188 >> 2] = g;
+    if ((e | 0) != (m | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  g = 256 - r | 0;
+  e = 0;
+  b = 0;
+ }
+ c = f - d | 0;
+ q[a + 184 >> 2] = c + e;
+ q[a + 180 >> 2] = b + w(c, g + s | 0);
+}
+function EP(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ c = Ca - 32 | 0;
+ Ca = c;
+ q[c + 28 >> 2] = 0;
+ q[c + 24 >> 2] = 0;
+ q[c + 20 >> 2] = 0;
+ q[c + 16 >> 2] = 0;
+ q[c + 12 >> 2] = 0;
+ q[c + 8 >> 2] = 0;
+ a : {
+  if (eL(c + 24 | 0)) {
+   break a;
+  }
+  if (!yf(q[c + 24 >> 2], a, 0, c + 28 | 0)) {
+   d = q[c + 28 >> 2];
+   l = q[d >> 2];
+   e = q[d + 12 >> 2] >> 16;
+   g = 0;
+   b : {
+    if (!e) {
+     break b;
+    }
+    TG(d, c + 8 | 0);
+    g = q[c + 8 >> 2] ? e : 0;
+   }
+   while (1) {
+    c : {
+     d : {
+      if (!(f >>> 0 <= g >>> 0 ? (f | 0) != 32768 : 0)) {
+       VG(q[c + 28 >> 2], 0, 0);
+       break d;
+      }
+      if (!f) {
+       break d;
+      }
+      e = q[c + 8 >> 2];
+      i = q[e >> 2];
+      d = 0;
+      if (!i) {
+       break c;
+      }
+      j = q[(q[e + 16 >> 2] + w(f, 12) | 0) + -12 >> 2];
+      e = q[e + 12 >> 2];
+      d = 0;
+      e : {
+       while (1) {
+        if (q[(d << 2) + j >> 2] != q[(w(d, 24) + e | 0) + 8 >> 2]) {
+         break e;
+        }
+        d = d + 1 | 0;
+        if (d >>> 0 < i >>> 0) {
+         continue;
+        }
+        break;
+       }
+       d = 0;
+       break c;
+      }
+      VG(q[c + 28 >> 2], i, j);
+     }
+     e = wP(q[c + 28 >> 2], a, (f << 16) + h | 0, c + 20 | 0, c + 16 | 0, c + 12 | 0);
+     if (e) {
+      k = k + 1 | 0;
+      if (b) {
+       d = 0;
+       if (sP(b, e)) {
+        break c;
+       }
+      }
+      gS(e);
+      d = 0;
+      break c;
+     }
+     d = (f | 0) != 32768;
+    }
+    f : {
+     g : {
+      if (f >>> 0 < g >>> 0) {
+       f = f + 1 | 0;
+       break g;
+      }
+      e = (f | 0) == (g | 0);
+      f = 32768;
+      if (e) {
+       break g;
+      }
+      M$(q[c + 12 >> 2]);
+      q[c + 12 >> 2] = 0;
+      KP(q[c + 16 >> 2]);
+      q[c + 16 >> 2] = 0;
+      IR(q[c + 20 >> 2]);
+      q[c + 20 >> 2] = 0;
+      Jf(q[c + 28 >> 2]);
+      q[c + 28 >> 2] = 0;
+      f = 0;
+      h = h + 1 | 0;
+      e = 3;
+      if (yf(q[c + 24 >> 2], a, h, c + 28 | 0)) {
+       break f;
+      }
+     }
+     e = 0;
+    }
+    if (!(d | e | h >>> 0 >= l >>> 0)) {
+     if (!h | 1) {
+      continue;
+     }
+    }
+    break;
+   }
+   d = q[c + 8 >> 2];
+  }
+  UG(q[c + 24 >> 2], d);
+  KP(q[c + 16 >> 2]);
+  IR(q[c + 20 >> 2]);
+  a = q[c + 28 >> 2];
+  if (a) {
+   Jf(a);
+  }
+  fL(q[c + 24 >> 2]);
+  a = q[c + 12 >> 2];
+  if (!a) {
+   break a;
+  }
+  M$(a);
+ }
+ Ca = c + 32 | 0;
+ return k;
+}
+function NO(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0, t = 0;
+ f = Ca + -64 | 0;
+ k = c + 6 | 0;
+ if (k) {
+  l = w(c + 15 & -16, d);
+  m = f + 32 | 0;
+  h = d << 4;
+  r = h << 1;
+  while (1) {
+   if (d) {
+    t = a + r | 0;
+    i = 0;
+    c = n;
+    a : while (1) {
+     e = c - h | 0;
+     e = e >>> 0 < l >>> 0 ? (e << 1) + b | 0 : 437888;
+     p[f >> 1] = s[e >> 1];
+     p[f + 2 >> 1] = s[e + 2 >> 1];
+     p[f + 4 >> 1] = s[e + 4 >> 1];
+     p[f + 6 >> 1] = s[e + 6 >> 1];
+     p[f + 8 >> 1] = s[e + 8 >> 1];
+     p[f + 10 >> 1] = s[e + 10 >> 1];
+     p[f + 12 >> 1] = s[e + 12 >> 1];
+     p[f + 14 >> 1] = s[e + 14 >> 1];
+     p[f + 16 >> 1] = s[e + 16 >> 1];
+     p[f + 18 >> 1] = s[e + 18 >> 1];
+     p[f + 20 >> 1] = s[e + 20 >> 1];
+     p[f + 22 >> 1] = s[e + 22 >> 1];
+     p[f + 24 >> 1] = s[e + 24 >> 1];
+     p[f + 26 >> 1] = s[e + 26 >> 1];
+     p[f + 28 >> 1] = s[e + 28 >> 1];
+     p[f + 30 >> 1] = s[e + 30 >> 1];
+     e = c >>> 0 < l >>> 0 ? (c << 1) + b | 0 : 437888;
+     j = s[e >> 1];
+     p[f + 32 >> 1] = j;
+     p[f + 34 >> 1] = s[e + 2 >> 1];
+     p[f + 36 >> 1] = s[e + 4 >> 1];
+     p[f + 38 >> 1] = s[e + 6 >> 1];
+     p[f + 40 >> 1] = s[e + 8 >> 1];
+     p[f + 42 >> 1] = s[e + 10 >> 1];
+     p[f + 44 >> 1] = s[e + 12 >> 1];
+     p[f + 46 >> 1] = s[e + 14 >> 1];
+     p[f + 48 >> 1] = s[e + 16 >> 1];
+     p[f + 50 >> 1] = s[e + 18 >> 1];
+     p[f + 52 >> 1] = s[e + 20 >> 1];
+     p[f + 54 >> 1] = s[e + 22 >> 1];
+     p[f + 56 >> 1] = s[e + 24 >> 1];
+     p[f + 58 >> 1] = s[e + 26 >> 1];
+     p[f + 60 >> 1] = s[e + 28 >> 1];
+     p[f + 62 >> 1] = s[e + 30 >> 1];
+     g = 0;
+     while (1) {
+      o = g << 1;
+      e = o + m | 0;
+      p[a + o >> 1] = (((w(s[e + -6 >> 1], 20) + w(s[e + -4 >> 1] + s[e + -8 >> 1] & 65535, 15) | 0) + w(s[e + -2 >> 1] + s[e + -10 >> 1] & 65535, 6) | 0) + (s[e + -12 >> 1] + j & 65535) | 0) + 32 >>> 6;
+      g = g + 1 | 0;
+      if ((g | 0) == 16) {
+       c = c + 16 | 0;
+       a = a + 32 | 0;
+       i = i + 1 | 0;
+       if ((i | 0) != (d | 0)) {
+        continue a;
+       }
+       n = h + n | 0;
+       a = t;
+      } else {
+       j = s[(g << 1) + m >> 1];
+       continue;
+      }
+      break;
+     }
+     break;
+    }
+   }
+   q = q + 16 | 0;
+   if (q >>> 0 < k >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Tr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ c = Ca - 304 | 0;
+ Ca = c;
+ d = r[a + 3 | 0];
+ a : {
+  if (d >>> 0 > 5) {
+   break a;
+  }
+  b : {
+   switch (d - 1 | 0) {
+   default:
+    q[c + 20 >> 2] = 0;
+    q[c + 24 >> 2] = 0;
+    o[c + 16 | 0] = 0;
+    d = q[b + 8 >> 2];
+    q[c + 4 >> 2] = q[b + 12 >> 2];
+    q[c >> 2] = a + 8;
+    b = c;
+    a = q[d + 32 >> 2];
+    if ((a | 0) == -1) {
+     a = VF(d);
+    }
+    q[b + 8 >> 2] = a;
+    Ur(c, c + 16 | 0);
+    break a;
+   case 0:
+    q[c + 28 >> 2] = 0;
+    o[c + 24 | 0] = 0;
+    o[c + 16 | 0] = 0;
+    d = a + 8 | 0;
+    q[c + 32 >> 2] = d;
+    q[c + 20 >> 2] = b;
+    q[c + 36 >> 2] = d + (r[a + 17 | 0] | r[a + 16 | 0] << 8);
+    e = q[b + 8 >> 2];
+    q[c + 4 >> 2] = q[b + 12 >> 2];
+    q[c >> 2] = d;
+    b = c;
+    a = q[e + 32 >> 2];
+    if ((a | 0) == -1) {
+     a = VF(e);
+    }
+    q[b + 8 >> 2] = a;
+    Vr(c, c + 16 | 0);
+    break a;
+   case 1:
+    o[c + 16 | 0] = 0;
+    d = a + 8 | 0;
+    q[c + 24 >> 2] = d;
+    q[c + 20 >> 2] = b;
+    q[c + 28 >> 2] = d + (r[a + 17 | 0] | r[a + 16 | 0] << 8);
+    q[c + 32 >> 2] = d + (r[a + 19 | 0] | r[a + 18 | 0] << 8);
+    e = r[a + 21 | 0];
+    a = r[a + 20 | 0];
+    q[c + 40 >> 2] = 0;
+    q[c + 36 >> 2] = d + (e | a << 8);
+    e = q[b + 8 >> 2];
+    q[c + 4 >> 2] = q[b + 12 >> 2];
+    q[c >> 2] = d;
+    b = c;
+    a = q[e + 32 >> 2];
+    if ((a | 0) == -1) {
+     a = VF(e);
+    }
+    q[b + 8 >> 2] = a;
+    Wr(c, c + 16 | 0);
+    break a;
+   case 3:
+    e = q[b + 8 >> 2];
+    d = q[e + 32 >> 2];
+    if ((d | 0) == -1) {
+     d = VF(e);
+    }
+    b = q[b + 12 >> 2];
+    e = q[b + 76 >> 2];
+    if (e) {
+     g = a + 8 | 0;
+     h = q[b + 88 >> 2];
+     a = 0;
+     while (1) {
+      f = w(a, 20) + h | 0;
+      b = Kr(g, q[f >> 2], d);
+      if (b) {
+       q[f >> 2] = r[b + 1 | 0] | r[b | 0] << 8;
+      }
+      a = a + 1 | 0;
+      if ((e | 0) != (a | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    break a;
+   case 2:
+    break a;
+   case 4:
+    break b;
+   }
+  }
+  q[c + 24 >> 2] = 0;
+  o[c + 16 | 0] = 0;
+  q[c + 20 >> 2] = b;
+  d = r[a + 17 | 0] | r[a + 16 | 0] << 8;
+  a = a + 8 | 0;
+  q[c + 28 >> 2] = d + a;
+  d = q[b + 8 >> 2];
+  q[c + 4 >> 2] = q[b + 12 >> 2];
+  q[c >> 2] = a;
+  b = c;
+  a = q[d + 32 >> 2];
+  if ((a | 0) == -1) {
+   a = VF(d);
+  }
+  q[b + 8 >> 2] = a;
+  Xr(c, c + 16 | 0);
+ }
+ Ca = c + 304 | 0;
+}
+function Bv(a, b) {
+ var c = 0, d = 0;
+ c = 271040;
+ a : {
+  b : {
+   while (1) {
+    c : {
+     if ((b | 0) != 7) {
+      b = b + -1 | 0;
+      if (b >>> 0 > 7) {
+       break b;
+      }
+      d : {
+       switch (b - 1 | 0) {
+       default:
+        b = r[a | 0] | r[a + 1 | 0] << 8;
+        b = ((b << 24 | b << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+        if (b >>> 0 > 1) {
+         break b;
+        }
+        break a;
+       case 0:
+        if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+         break b;
+        }
+        break a;
+       case 1:
+        if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+         break b;
+        }
+        break a;
+       case 2:
+        if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+         break b;
+        }
+        break a;
+       case 3:
+        b = r[a | 0] | r[a + 1 | 0] << 8;
+        b = ((b << 24 | b << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+        if (b >>> 0 > 2) {
+         break b;
+        }
+        e : {
+         switch (b - 1 | 0) {
+         case 1:
+          break e;
+         default:
+          break a;
+         }
+        }
+        b = a;
+        a = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+        return a ? b + a | 0 : 271040;
+       case 5:
+        break b;
+       case 6:
+        break c;
+       case 4:
+        break d;
+       }
+      }
+      b = r[a | 0] | r[a + 1 | 0] << 8;
+      b = ((b << 24 | b << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+      if (b >>> 0 > 2) {
+       break b;
+      }
+      f : {
+       switch (b - 1 | 0) {
+       case 1:
+        break f;
+       default:
+        break a;
+       }
+      }
+      b = a;
+      a = (a + 2 | 0) + (r[a + 3 | 0] << 1 | r[a + 2 | 0] << 9) | 0;
+      a = r[a + 3 | 0] | r[a + 2 | 0] << 8 ? a + 4 | 0 : 271040;
+      a = r[a | 0] << 8 | r[a + 1 | 0];
+      return a ? b + a | 0 : 271040;
+     }
+     if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+      break b;
+     }
+     b = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+     d = a;
+     a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+     a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+     a = a ? d + a | 0 : 271040;
+     continue;
+    }
+    break;
+   }
+   if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+    break b;
+   }
+   b = a;
+   a = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   c = a ? b + a | 0 : 271040;
+  }
+  return c;
+ }
+ b = a;
+ a = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ return a ? b + a | 0 : 271040;
+}
+function Ux(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ k = r[a + 1 | 0];
+ if (!(k | r[a | 0] << 8)) {
+  return 0;
+ }
+ l = q[b + 112 >> 2];
+ i = q[b + 88 >> 2];
+ if (k & 1) {
+  j = q[e + 8 >> 2];
+  h = r[d + 1 | 0] | r[d | 0] << 8;
+  g = h << 16;
+  f = g >> 31;
+  f = T0(q[i + 32 >> 2], q[i + 36 >> 2], g >> 16, f);
+  q[e + 8 >> 2] = j + ((Ea & 65535) << 16 | f >>> 16);
+  h = (h | 0) != 0;
+  d = d + 2 | 0;
+ }
+ if (k & 2) {
+  m = q[e + 12 >> 2];
+  j = r[d + 1 | 0] | r[d | 0] << 8;
+  g = j << 16;
+  f = g >> 31;
+  f = T0(q[i + 40 >> 2], q[i + 44 >> 2], g >> 16, f);
+  q[e + 12 >> 2] = m + ((Ea & 65535) << 16 | f >>> 16);
+  h = (j | 0) != 0 | h;
+  d = d + 2 | 0;
+ }
+ l = l & -2;
+ if (k & 4) {
+  if ((l | 0) == 4) {
+   m = q[e >> 2];
+   j = r[d + 1 | 0] | r[d | 0] << 8;
+   g = j << 16;
+   f = g >> 31;
+   f = T0(q[i + 32 >> 2], q[i + 36 >> 2], g >> 16, f);
+   q[e >> 2] = m + ((Ea & 65535) << 16 | f >>> 16);
+   h = (j | 0) != 0 | h;
+  }
+  d = d + 2 | 0;
+ }
+ if (k & 8) {
+  if ((l | 0) != 4) {
+   m = q[e + 4 >> 2];
+   j = r[d + 1 | 0] | r[d | 0] << 8;
+   g = j << 16;
+   f = g >> 31;
+   f = T0(q[i + 40 >> 2], q[i + 44 >> 2], g >> 16, f);
+   q[e + 4 >> 2] = m - ((Ea & 65535) << 16 | f >>> 16);
+   h = (j | 0) != 0 | h;
+  }
+  d = d + 2 | 0;
+ }
+ a : {
+  if (r[a + 1 | 0] < 16) {
+   break a;
+  }
+  f = 1;
+  a = 1;
+  a = q[i + 48 >> 2] ? a : q[i + 60 >> 2] != 0;
+  if (!q[i + 52 >> 2]) {
+   f = q[i + 60 >> 2] != 0;
+   if ((f | a) != 1) {
+    break a;
+   }
+  }
+  b = q[b + 108 >> 2];
+  if (k & 16) {
+   if (a) {
+    g = r[d + 1 | 0] | r[d | 0] << 8;
+    n = e, o = fu(g ? g + c | 0 : 271040, i, b) + q[e + 8 >> 2] | 0, q[n + 8 >> 2] = o;
+    h = (g | 0) != 0 | h;
+   }
+   d = d + 2 | 0;
+  }
+  if (k & 32) {
+   if (f) {
+    g = r[d + 1 | 0] | r[d | 0] << 8;
+    n = e, o = gu(g ? g + c | 0 : 271040, i, b) + q[e + 12 >> 2] | 0, q[n + 12 >> 2] = o;
+    h = (g | 0) != 0 | h;
+   }
+   d = d + 2 | 0;
+  }
+  if (k & 64) {
+   if (!(a ^ 1 | (l | 0) != 4)) {
+    a = r[d + 1 | 0] | r[d | 0] << 8;
+    n = e, o = fu(a ? a + c | 0 : 271040, i, b) + q[e >> 2] | 0, q[n >> 2] = o;
+    h = (a | 0) != 0 | h;
+   }
+   d = d + 2 | 0;
+  }
+  if (!(k & 128) | (l | 0) == 4 | f ^ 1) {
+   break a;
+  }
+  a = r[d + 1 | 0] | r[d | 0] << 8;
+  b = gu(a ? a + c | 0 : 271040, i, b);
+  q[e + 4 >> 2] = q[e + 4 >> 2] - b;
+  h = (a | 0) != 0 | h;
+ }
+ return h;
+}
+function cJ(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ c = L$(40);
+ q[c >> 2] = 0;
+ g = O(a | 0, 1, c | 0, 4) | 0;
+ h = N() | 0;
+ i = a + 216 | 0;
+ a : {
+  while (1) {
+   b : {
+    if (d) {
+     f = 64;
+     break b;
+    }
+    c : {
+     d : {
+      e : {
+       f : {
+        if (!b) {
+         q[161173] = 0;
+         f = T(658, i | 0, 289860, a | 0) | 0;
+         d = q[161173];
+         q[161173] = 0;
+         c = -1;
+         if (!d) {
+          break c;
+         }
+         e = q[161174];
+         if (!e) {
+          break c;
+         }
+         c = K(q[d >> 2], g | 0, h | 0) | 0;
+         if (c) {
+          break f;
+         }
+         break a;
+        }
+        q[161173] = 0;
+        d = q[161173];
+        q[161173] = 0;
+        c = -1;
+        if (!d) {
+         break d;
+        }
+        f = q[161174];
+        if (!f) {
+         break d;
+        }
+        c = K(q[d >> 2], g | 0, h | 0) | 0;
+        if (c) {
+         break e;
+        }
+        L(d | 0, f | 0);
+        F();
+       }
+       M(e | 0);
+       break c;
+      }
+      M(f | 0);
+     }
+     d = N() | 0;
+     if ((c | 0) == 1) {
+      continue;
+     }
+     q[161173] = 0;
+     f = T(658, i | 0, 289860, a | 0) | 0;
+     d = q[161173];
+     q[161173] = 0;
+     c = -1;
+     g : {
+      if (!d) {
+       break g;
+      }
+      e = q[161174];
+      if (!e) {
+       break g;
+      }
+      c = K(q[d >> 2], g | 0, h | 0) | 0;
+      if (!c) {
+       break a;
+      }
+      M(e | 0);
+     }
+     d = N() | 0;
+     if ((c | 0) == 1) {
+      continue;
+     }
+     q[161173] = 0;
+     d = q[161173];
+     q[161173] = 0;
+     c = -1;
+     h : {
+      if (!d) {
+       break h;
+      }
+      e = q[161174];
+      if (!e) {
+       break h;
+      }
+      c = K(q[d >> 2], g | 0, h | 0) | 0;
+      if (!c) {
+       break a;
+      }
+      M(e | 0);
+     }
+    }
+    d = N() | 0;
+    if ((c | 0) == 1) {
+     continue;
+    }
+    if (q[a + 188 >> 2]) {
+     break b;
+    }
+    q[161173] = 0;
+    U(661, a | 0);
+    d = q[161173];
+    q[161173] = 0;
+    c = -1;
+    i : {
+     if (!d) {
+      break i;
+     }
+     e = q[161174];
+     if (!e) {
+      break i;
+     }
+     c = K(q[d >> 2], g | 0, h | 0) | 0;
+     if (!c) {
+      break a;
+     }
+     M(e | 0);
+    }
+    d = N() | 0;
+    if ((c | 0) == 1) {
+     continue;
+    }
+   }
+   break;
+  }
+  M$(g);
+  return f;
+ }
+ L(d | 0, e | 0);
+ F();
+}
+function iL(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0;
+ f = q[b + 20 >> 2];
+ g = f >>> 0 > 110 ? 0 : f;
+ f = q[b + 28 >> 2];
+ h = f + -50 >>> 0 > 150 ? 100 : f;
+ f = q[b + 24 >> 2];
+ j = f + -100 >>> 0 > 800 ? 400 : f;
+ i = q[a >> 2];
+ k = q[i + 16 >> 2];
+ f = q[i + 20 >> 2];
+ a : {
+  if ((k | 0) < (f | 0)) {
+   l = q[i + 24 >> 2];
+   break a;
+  }
+  f = (f | 0) < 1 ? 1 : f << 1;
+  q[i + 20 >> 2] = f;
+  l = O$(q[i + 24 >> 2], w(f, 52));
+  q[i + 24 >> 2] = l;
+  k = q[i + 16 >> 2];
+ }
+ f = w(k, 52) + l | 0;
+ q[f + 28 >> 2] = 0;
+ q[f + 32 >> 2] = 0;
+ q[f + 20 >> 2] = 0;
+ q[f + 24 >> 2] = 0;
+ q[f + 12 >> 2] = 0;
+ q[f + 16 >> 2] = 0;
+ q[f + 4 >> 2] = 0;
+ q[f + 8 >> 2] = 0;
+ q[f + 44 >> 2] = 0;
+ q[f + 48 >> 2] = 0;
+ q[f + 36 >> 2] = 0;
+ q[f + 40 >> 2] = 0;
+ m = q[i >> 2];
+ q[i >> 2] = m + 1;
+ q[f + 28 >> 2] = h;
+ q[f + 24 >> 2] = j;
+ q[f + 20 >> 2] = g;
+ q[f >> 2] = m;
+ g = q[b + 16 >> 2];
+ q[f + 16 >> 2] = g;
+ h = q[b + 12 >> 2];
+ q[f + 12 >> 2] = h;
+ h = N$(h, 4);
+ q[f + 4 >> 2] = h;
+ b : {
+  c : {
+   if (!h) {
+    break c;
+   }
+   if (g) {
+    g = N$(g, 4);
+    q[(w(k, 52) + l | 0) + 8 >> 2] = g;
+    if (!g) {
+     break c;
+    }
+   }
+   m = f + 12 | 0;
+   if (q[m >> 2] >= 1) {
+    h = f + 4 | 0;
+    g = 0;
+    while (1) {
+     j = g << 2;
+     o = mZ(q[j + q[b >> 2] >> 2]);
+     q[j + q[h >> 2] >> 2] = o;
+     if (!q[j + q[h >> 2] >> 2]) {
+      break c;
+     }
+     g = g + 1 | 0;
+     if ((g | 0) < q[m >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   m = f + 16 | 0;
+   if (q[m >> 2] >= 1) {
+    h = (w(k, 52) + l | 0) + 8 | 0;
+    g = 0;
+    while (1) {
+     j = g << 2;
+     o = mZ(q[j + q[b + 4 >> 2] >> 2]);
+     q[j + q[h >> 2] >> 2] = o;
+     if (!q[j + q[h >> 2] >> 2]) {
+      break c;
+     }
+     g = g + 1 | 0;
+     if ((g | 0) < q[m >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = q[b + 8 >> 2];
+   if (b) {
+    b = mZ(b);
+    q[(w(k, 52) + l | 0) + 40 >> 2] = b;
+    if (!b) {
+     break c;
+    }
+   }
+   if (c) {
+    b = mZ(c);
+    q[(w(k, 52) + l | 0) + 32 >> 2] = b;
+    if (!b) {
+     break c;
+    }
+   }
+   b = w(k, 52) + l | 0;
+   q[b + 48 >> 2] = e;
+   q[b + 36 >> 2] = d;
+   q[b + 44 >> 2] = a;
+   b = 1;
+   q[i + 16 >> 2] = q[i + 16 >> 2] + 1;
+   break b;
+  }
+  jL(f);
+  b = 0;
+  a = q[a + 16 >> 2];
+  if (!a) {
+   break b;
+  }
+  n[a](e);
+  return 0;
+ }
+ return b;
+}
+function ZU(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0;
+ a : {
+  a = q[b >> 2];
+  c = c - a & -2;
+  b : {
+   if ((c | 0) >= 1) {
+    i = a + c | 0;
+    while (1) {
+     g = r[a + 1 | 0];
+     c = g << 24 >> 24;
+     c : {
+      d : {
+       e : {
+        f = r[a | 0];
+        if (f >>> 0 > 7) {
+         if (f + -216 >>> 0 < 4) {
+          break d;
+         }
+         g = q[d >> 2];
+         if ((e - g | 0) >= 3) {
+          break e;
+         }
+         break a;
+        }
+        f : {
+         g : {
+          switch (f - 1 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+           break f;
+          default:
+           break g;
+          }
+         }
+         if ((c | 0) < 0) {
+          break f;
+         }
+         f = q[d >> 2];
+         if ((f | 0) == (e | 0)) {
+          break a;
+         }
+         q[d >> 2] = f + 1;
+         o[f | 0] = c;
+         break c;
+        }
+        h = q[d >> 2];
+        g = 2;
+        if ((e - h | 0) < 2) {
+         break b;
+        }
+        q[d >> 2] = h + 1;
+        o[h | 0] = f << 2 | (c & 192) >>> 6 | 192;
+        f = q[d >> 2];
+        q[d >> 2] = f + 1;
+        o[f | 0] = c & 63 | 128;
+        break c;
+       }
+       q[d >> 2] = g + 1;
+       o[g | 0] = f >>> 4 | 224;
+       g = q[d >> 2];
+       q[d >> 2] = g + 1;
+       o[g | 0] = f << 2 & 60 | (c & 192) >>> 6 | 128;
+       f = q[d >> 2];
+       q[d >> 2] = f + 1;
+       o[f | 0] = c & 63 | 128;
+       break c;
+      }
+      h = q[d >> 2];
+      if ((e - h | 0) < 4) {
+       break a;
+      }
+      if ((i - a | 0) < 4) {
+       q[b >> 2] = a;
+       return 1;
+      }
+      q[d >> 2] = h + 1;
+      f = (f << 2 & 12 | g >>> 6) + 1 | 0;
+      o[h | 0] = f >>> 2 | 240;
+      h = q[d >> 2];
+      q[d >> 2] = h + 1;
+      o[h | 0] = f << 4 & 48 | g >>> 2 & 15 | 128;
+      g = r[a + 2 | 0];
+      f = r[a + 3 | 0];
+      h = q[d >> 2];
+      q[d >> 2] = h + 1;
+      o[h | 0] = g << 2 & 12 | (c << 4 & 48 | f >>> 6) | 128;
+      c = q[d >> 2];
+      q[d >> 2] = c + 1;
+      o[c | 0] = f & 63 | 128;
+      a = a + 2 | 0;
+     }
+     a = a + 2 | 0;
+     if (a >>> 0 < i >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   g = 0;
+  }
+  q[b >> 2] = a;
+  return g | 0;
+ }
+ q[b >> 2] = a;
+ return 2;
+}
+function DU(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0;
+ a : {
+  a = q[b >> 2];
+  c = c - a & -2;
+  b : {
+   if ((c | 0) >= 1) {
+    i = a + c | 0;
+    while (1) {
+     g = r[a | 0];
+     c = g << 24 >> 24;
+     c : {
+      d : {
+       e : {
+        f = r[a + 1 | 0];
+        if (f >>> 0 > 7) {
+         if (f + -216 >>> 0 < 4) {
+          break d;
+         }
+         g = q[d >> 2];
+         if ((e - g | 0) >= 3) {
+          break e;
+         }
+         break a;
+        }
+        f : {
+         g : {
+          switch (f - 1 | 0) {
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+           break f;
+          default:
+           break g;
+          }
+         }
+         if ((c | 0) < 0) {
+          break f;
+         }
+         f = q[d >> 2];
+         if ((f | 0) == (e | 0)) {
+          break a;
+         }
+         q[d >> 2] = f + 1;
+         o[f | 0] = c;
+         break c;
+        }
+        h = q[d >> 2];
+        g = 2;
+        if ((e - h | 0) < 2) {
+         break b;
+        }
+        q[d >> 2] = h + 1;
+        o[h | 0] = f << 2 | (c & 192) >>> 6 | 192;
+        f = q[d >> 2];
+        q[d >> 2] = f + 1;
+        o[f | 0] = c & 63 | 128;
+        break c;
+       }
+       q[d >> 2] = g + 1;
+       o[g | 0] = f >>> 4 | 224;
+       g = q[d >> 2];
+       q[d >> 2] = g + 1;
+       o[g | 0] = f << 2 & 60 | (c & 192) >>> 6 | 128;
+       f = q[d >> 2];
+       q[d >> 2] = f + 1;
+       o[f | 0] = c & 63 | 128;
+       break c;
+      }
+      h = q[d >> 2];
+      if ((e - h | 0) < 4) {
+       break a;
+      }
+      if ((i - a | 0) < 4) {
+       q[b >> 2] = a;
+       return 1;
+      }
+      q[d >> 2] = h + 1;
+      f = (f << 2 & 12 | g >>> 6) + 1 | 0;
+      o[h | 0] = f >>> 2 | 240;
+      h = q[d >> 2];
+      q[d >> 2] = h + 1;
+      o[h | 0] = f << 4 & 48 | g >>> 2 & 15 | 128;
+      g = r[a + 3 | 0];
+      f = r[a + 2 | 0];
+      h = q[d >> 2];
+      q[d >> 2] = h + 1;
+      o[h | 0] = g << 2 & 12 | (c << 4 & 48 | f >>> 6) | 128;
+      c = q[d >> 2];
+      q[d >> 2] = c + 1;
+      o[c | 0] = f & 63 | 128;
+      a = a + 2 | 0;
+     }
+     a = a + 2 | 0;
+     if (a >>> 0 < i >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   g = 0;
+  }
+  q[b >> 2] = a;
+  return g | 0;
+ }
+ q[b >> 2] = a;
+ return 2;
+}
+function bv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ h = q[b + 4 >> 2];
+ a : {
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 4) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  e = 1;
+  if ((g | 0) < 1) {
+   e = 0;
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  if (!d) {
+   break a;
+  }
+  if (h >>> 0 > c >>> 0) {
+   e = 0;
+   break a;
+  }
+  if (f >>> 0 < c >>> 0) {
+   e = 0;
+   break a;
+  }
+  if (f - c >>> 0 < d >>> 0) {
+   e = 0;
+   break a;
+  }
+  q[b + 12 >> 2] = g + -2;
+  if ((g | 0) < 2) {
+   e = 0;
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  if (!d) {
+   break a;
+  }
+  b : {
+   c : {
+    c = c + d | 0;
+    if (h >>> 0 > c >>> 0 | f >>> 0 < c >>> 0 | f - c >>> 0 <= 7) {
+     break c;
+    }
+    q[b + 12 >> 2] = g + -3;
+    if ((r[c + 1 | 0] | r[c | 0] << 8) != 1 | (g | 0) < 3) {
+     break c;
+    }
+    if (!hv(c + 2 | 0, b, c)) {
+     break c;
+    }
+    q[i + 12 >> 2] = c;
+    d = q[b + 4 >> 2];
+    e = c + 6 | 0;
+    if (d >>> 0 > e >>> 0) {
+     break c;
+    }
+    f = q[b + 8 >> 2];
+    if (f >>> 0 < e >>> 0 | f - e >>> 0 < 2) {
+     break c;
+    }
+    g = q[b + 12 >> 2];
+    q[b + 12 >> 2] = g + -1;
+    if ((g | 0) < 1) {
+     break c;
+    }
+    h = r[e + 1 | 0] | r[e | 0] << 8;
+    if (!h) {
+     break b;
+    }
+    j = d;
+    d = e + 2 | 0;
+    if (j >>> 0 > d >>> 0 | f >>> 0 < d >>> 0 | f - d >>> 0 < h << 2 >>> 0) {
+     break c;
+    }
+    q[b + 12 >> 2] = g + -2;
+    if ((g | 0) < 2) {
+     break c;
+    }
+    g = r[e + 1 | 0] | r[e | 0] << 8;
+    if (!g) {
+     break b;
+    }
+    f = 0;
+    while (1) {
+     if (!iv((e + (f << 2) | 0) + 2 | 0, b, c)) {
+      break c;
+     }
+     f = f + 1 | 0;
+     if ((g | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    e = 0;
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   e = 0;
+   if (!r[b + 20 | 0]) {
+    break a;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   o[a + 2 | 0] = 0;
+   o[a + 3 | 0] = 0;
+  }
+  e = 1;
+ }
+ Ca = i + 16 | 0;
+ return e;
+}
+function Mt(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ e = a + 16 | 0;
+ q[e >> 2] = 0;
+ q[e + 4 >> 2] = 0;
+ f = a + 60 | 0;
+ q[f >> 2] = 0;
+ q[f + 4 >> 2] = 0;
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 44 >> 2] = 0;
+ q[a + 48 >> 2] = 0;
+ q[a + 88 >> 2] = c;
+ q[a + 40 >> 2] = 0;
+ q[a + 32 >> 2] = 0;
+ q[a + 36 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ q[a + 52 >> 2] = 0;
+ q[a + 56 >> 2] = 0;
+ q[a + 76 >> 2] = 0;
+ q[a + 80 >> 2] = 0;
+ q[a + 84 >> 2] = 0;
+ q[a + 68 >> 2] = 0;
+ q[a + 72 >> 2] = 0;
+ o[a + 20 | 0] = 0;
+ q[e >> 2] = -1;
+ o[a - -64 | 0] = 0;
+ q[f >> 2] = -1;
+ e = q[c + 16 >> 2];
+ q[a + 100 >> 2] = 0;
+ q[a + 96 >> 2] = d;
+ q[a + 92 >> 2] = e;
+ f = e + 132 | 0;
+ c = q[f >> 2];
+ a : {
+  if (c) {
+   break a;
+  }
+  h = e + 48 | 0;
+  while (1) {
+   c = q[h >> 2];
+   if (!c) {
+    c = 271040;
+    break a;
+   }
+   e = N$(1, 4);
+   if (e) {
+    $s(e, c);
+   }
+   g = q[f >> 2];
+   c = e ? e : 271040;
+   q[f >> 2] = g ? g : c;
+   if (!g) {
+    break a;
+   }
+   if (!(!e | !c)) {
+    e = q[c >> 2];
+    Cq(e ? e : 271040);
+    M$(c);
+   }
+   c = q[f >> 2];
+   if (!c) {
+    continue;
+   }
+   break;
+  }
+ }
+ c = q[c >> 2];
+ c = c ? c : 271040;
+ e = t[c + 16 >> 2] < 12 ? 271040 : q[c + 12 >> 2];
+ q[a + 104 >> 2] = e;
+ c = a;
+ f = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+ if ((f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24)) >>> 0 >= 65539) {
+  f = r[e + 14 | 0] | r[e + 15 | 0] << 8 | (r[e + 16 | 0] << 16 | r[e + 17 | 0] << 24);
+  f = f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24);
+  f = f ? f + e | 0 : 271040;
+ } else {
+  f = 271040;
+ }
+ q[c + 108 >> 2] = f;
+ c = q[d + 48 >> 2];
+ q[a + 132 >> 2] = 6;
+ q[a + 136 >> 2] = 0;
+ q[a + 124 >> 2] = -1;
+ q[a + 128 >> 2] = 0;
+ q[a + 120 >> 2] = b;
+ q[a + 116 >> 2] = 1;
+ q[a + 112 >> 2] = c;
+ c = r[e + 5 | 0];
+ d = r[e + 4 | 0];
+ q[a + 144 >> 2] = 1;
+ o[a + 143 | 0] = 0;
+ o[a + 141 | 0] = 257;
+ o[a + 142 | 0] = 1;
+ q[a + 32 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ q[a + 76 >> 2] = 0;
+ q[a + 48 >> 2] = a;
+ q[a + 16 >> 2] = 1;
+ o[a + 13 | 0] = 1;
+ o[a + 12 | 0] = (b | 0) == 1;
+ q[a + 8 >> 2] = 0;
+ q[a + 68 >> 2] = 0;
+ q[a + 72 >> 2] = 0;
+ q[a + 60 >> 2] = -1;
+ p[a + 56 >> 1] = 257;
+ q[a + 52 >> 2] = 0;
+ o[a + 140 | 0] = (c | d << 8) != 0;
+ q[a + 4 >> 2] = a;
+ return a;
+}
+function JB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ a : {
+  k = q[b + 4 >> 2];
+  if (k >>> 0 > a >>> 0) {
+   break a;
+  }
+  h = q[b + 8 >> 2];
+  if (h >>> 0 < a >>> 0) {
+   break a;
+  }
+  e = h - a | 0;
+  if (e >>> 0 < 5) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  b : {
+   c : {
+    if ((c | 0) >= 1) {
+     c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+     c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+     f = !c;
+     if (!c | e >>> 0 < 5) {
+      break b;
+     }
+     break c;
+    }
+    if (e >>> 0 >= 5) {
+     break c;
+    }
+    break a;
+   }
+   d = q[b + 12 >> 2];
+   j = d + -1 | 0;
+   q[b + 12 >> 2] = j;
+   if ((d | 0) < 1) {
+    break a;
+   }
+   e = r[a + 4 | 0];
+   if ((e + -1 & 255) >>> 0 > 3) {
+    break a;
+   }
+   c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+   i = c + 1 | 0;
+   if (!(i >>> 0 < c >>> 0 | 4294967295 / (i >>> 0) >>> 0 > e >>> 0)) {
+    break a;
+   }
+   f = 0;
+   g = w(e, i);
+   if ((g | 0) == -1) {
+    break b;
+   }
+   if (g) {
+    c = a + 5 | 0;
+    if (k >>> 0 > c >>> 0 | h >>> 0 < c >>> 0 | h - c >>> 0 < g >>> 0) {
+     break b;
+    }
+    j = d + -2 | 0;
+    q[b + 12 >> 2] = j;
+    if ((d | 0) < 2) {
+     break b;
+    }
+    c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+    c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    i = c + 1 | 0;
+    m = w(i, e);
+   }
+   d = -1;
+   d : {
+    if ((c | 0) == -1) {
+     break d;
+    }
+    g = 0;
+    while (1) {
+     f = (w(e, g) + a | 0) + 5 | 0;
+     d = 0;
+     c = e;
+     while (1) {
+      d = r[f | 0] | d << 8;
+      f = f + 1 | 0;
+      c = c + -1 | 0;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     l = d >>> 0 > l >>> 0 ? d : l;
+     g = g + 1 | 0;
+     if ((i | 0) != (g | 0)) {
+      continue;
+     }
+     break;
+    }
+    d = l + -1 | 0;
+    if (d) {
+     break d;
+    }
+    return 1;
+   }
+   f = 0;
+   a = (a + m | 0) + 5 | 0;
+   if ((d | 0) == -1 | k >>> 0 > a >>> 0 | (d + d >>> 0 < d >>> 0 | h >>> 0 < a >>> 0)) {
+    break b;
+   }
+   if (h - a >>> 0 < d >>> 0) {
+    break b;
+   }
+   q[b + 12 >> 2] = j + -1;
+   f = (j | 0) > 0;
+  }
+  return f;
+ }
+ return 0;
+}
+function tz(a, b, c) {
+ var d = 0, e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ a : {
+  d = q[a + 24 >> 2];
+  b : {
+   if (d) {
+    d = d + -1 | 0;
+    q[a + 24 >> 2] = d;
+    if (t[a + 32 >> 2] <= d >>> 0) {
+     d = q[67761];
+     e = q[67760];
+     q[160656] = e;
+     q[160657] = d;
+     f(0, e | 0);
+     f(1, d | 0);
+     k = +g();
+     break b;
+    }
+    k = v[q[a + 36 >> 2] + (d << 3) >> 3];
+    break b;
+   }
+   o[a + 20 | 0] = 1;
+   d = q[67761];
+   e = q[67760];
+   q[160656] = e;
+   q[160657] = d;
+   f(0, e | 0);
+   f(1, d | 0);
+   k = +g();
+  }
+  c : {
+   if (y(k) < 2147483648) {
+    h = ~~k;
+    break c;
+   }
+   h = -2147483648;
+  }
+  i = h + q[b >> 2] | 0;
+  d : {
+   if ((i | 0) < 0) {
+    break d;
+   }
+   d = q[b + 4 >> 2];
+   if (!d | i >>> 0 >= (r[d + 1 | 0] | r[d | 0] << 8) >>> 0) {
+    break d;
+   }
+   e = q[a + 92 >> 2];
+   if (e >>> 0 < 10) {
+    break a;
+   }
+  }
+  o[a + 40 | 0] = 1;
+  return;
+ }
+ d = q[a + 4 >> 2];
+ q[a + 44 >> 2] = q[a >> 2];
+ q[a + 48 >> 2] = d;
+ o[a + 60 | 0] = r[a + 16 | 0];
+ d = q[a + 12 >> 2];
+ q[a + 52 >> 2] = q[a + 8 >> 2];
+ q[a + 56 >> 2] = d;
+ d = a + 44 | 0;
+ e : {
+  if (e >>> 0 < t[a + 100 >> 2]) {
+   q[a + 92 >> 2] = e + 1;
+   h = q[a + 104 >> 2] + w(e, 28) | 0;
+   e = q[d + 4 >> 2];
+   q[h >> 2] = q[d >> 2];
+   q[h + 4 >> 2] = e;
+   q[h + 24 >> 2] = q[d + 24 >> 2];
+   j = q[d + 20 >> 2];
+   q[h + 16 >> 2] = q[d + 16 >> 2];
+   q[h + 20 >> 2] = j;
+   j = q[d + 12 >> 2];
+   q[h + 8 >> 2] = q[d + 8 >> 2];
+   q[h + 12 >> 2] = j;
+   break e;
+  }
+  o[a + 88 | 0] = 1;
+ }
+ f : {
+  g : {
+   h = q[b + 4 >> 2];
+   if (h) {
+    b = r[h + 1 | 0] | r[h | 0] << 8;
+    if (b >>> 0 > i >>> 0) {
+     break g;
+    }
+   }
+   m = q[67762];
+   e = q[67760];
+   b = q[67761];
+   break f;
+  }
+  e = r[h + 2 | 0];
+  j = (w(e, b + 1 | 0) + h | 0) + 3 | 0;
+  if (e) {
+   b = (w(e, i) + h | 0) + 3 | 0;
+   while (1) {
+    l = r[b | 0] | l << 8;
+    b = b + 1 | 0;
+    e = e + -1 | 0;
+    if (e) {
+     continue;
+    }
+    break;
+   }
+  }
+  e = (j + l | 0) + -1 | 0;
+  b = nB(h, i);
+ }
+ q[a + 44 >> 2] = e;
+ q[a + 68 >> 2] = i;
+ q[a - -64 >> 2] = c;
+ o[a + 60 | 0] = 0;
+ q[a + 56 >> 2] = 0;
+ q[a + 52 >> 2] = m;
+ q[a + 48 >> 2] = b;
+ b = q[d + 4 >> 2];
+ q[a >> 2] = q[d >> 2];
+ q[a + 4 >> 2] = b;
+ b = q[d + 12 >> 2];
+ q[a + 8 >> 2] = q[d + 8 >> 2];
+ q[a + 12 >> 2] = b;
+ o[a + 16 | 0] = r[d + 16 | 0];
+}
+function lx(a, b, c) {
+ var d = 0;
+ a : {
+  while (1) {
+   b : {
+    if ((c | 0) != 9) {
+     c = c + -1 | 0;
+     if (c >>> 0 > 7) {
+      break a;
+     }
+     c : {
+      switch (c - 1 | 0) {
+      default:
+       c = r[a | 0] | r[a + 1 | 0] << 8;
+       c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+       if (c >>> 0 > 1) {
+        break a;
+       }
+       if (c - 1) {
+        break b;
+       }
+       Kx(b, a);
+       return;
+      case 0:
+       c = r[a | 0] | r[a + 1 | 0] << 8;
+       c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+       if (c >>> 0 > 1) {
+        break a;
+       }
+       if (c - 1) {
+        Lx(b, a);
+        return;
+       }
+       Mx(b, a);
+       return;
+      case 1:
+       if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+        break a;
+       }
+       Nx(b, a);
+       return;
+      case 2:
+       if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+        break a;
+       }
+       Ox(b, a);
+       return;
+      case 3:
+       if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+        break a;
+       }
+       Px(b, a);
+       return;
+      case 4:
+       if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+        break a;
+       }
+       Qx(b, a);
+       return;
+      case 5:
+       c = r[a | 0] | r[a + 1 | 0] << 8;
+       c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+       if (c >>> 0 > 2) {
+        break a;
+       }
+       d : {
+        switch (c - 1 | 0) {
+        default:
+         yw(b, a);
+         return;
+        case 0:
+         zw(b, a);
+         return;
+        case 1:
+         break d;
+        }
+       }
+       Aw(b, a);
+       return;
+      case 6:
+       break c;
+      }
+     }
+     c = r[a | 0] | r[a + 1 | 0] << 8;
+     c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+     if (c >>> 0 > 2) {
+      break a;
+     }
+     e : {
+      switch (c - 1 | 0) {
+      default:
+       Bw(b, a);
+       return;
+      case 0:
+       Cw(b, a);
+       return;
+      case 1:
+       break e;
+      }
+     }
+     Dw(b, a);
+     return;
+    }
+    if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+     break a;
+    }
+    c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+    d = a;
+    a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+    a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+    a = a ? d + a | 0 : 271040;
+    continue;
+   }
+   break;
+  }
+  Rx(b, a);
+ }
+}
+function ye(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ h = Ca - 32 | 0;
+ Ca = h;
+ f = q[b + 72 >> 2];
+ a : {
+  if ((f | 0) == 1651078259) {
+   break a;
+  }
+  b : {
+   if (!(r[q[b + 156 >> 2] + 42 | 0] & 16)) {
+    break b;
+   }
+   d = q[b + 4 >> 2];
+   e = q[b + 12 >> 2];
+   q[h + 24 >> 2] = 0;
+   if (!(r[d + 8 | 0] & 8) | (!d | t[d + 16 >> 2] <= e >>> 0)) {
+    break b;
+   }
+   g = q[q[d + 540 >> 2] + 132 >> 2];
+   if (!g) {
+    break b;
+   }
+   if (!n[g](d, e, h + 12 | 0, h + 8 | 0, h + 16 | 0)) {
+    f = q[b + 72 >> 2];
+    break b;
+   }
+   if (!tf(d, 0)) {
+    f = q[d + 540 >> 2];
+    c : {
+     while (1) {
+      if (we(d, q[h + 12 >> 2], q[q[b + 156 >> 2] + 40 >> 2] & -1048581 | 4)) {
+       break c;
+      }
+      if (n[q[f + 136 >> 2]](d, q[h + 8 >> 2], b, q[d + 84 >> 2])) {
+       break c;
+      }
+      d : {
+       if (!(r[d + 8 | 0] & 8) | t[d + 16 >> 2] <= e >>> 0) {
+        break d;
+       }
+       g = q[q[d + 540 >> 2] + 132 >> 2];
+       if (!g) {
+        break d;
+       }
+       if (n[g](d, e, h + 12 | 0, h + 8 | 0, h + 16 | 0)) {
+        continue;
+       }
+      }
+      break;
+     }
+     q[b + 72 >> 2] = 1651078259;
+     uf(q[d + 84 >> 2]);
+     d = 0;
+     break a;
+    }
+    uf(q[d + 84 >> 2]);
+   }
+   f = 1869968492;
+   q[b + 72 >> 2] = 1869968492;
+  }
+  e : {
+   if ((f | 0) == 1869968492) {
+    e = q[a + 148 >> 2];
+    g = q[a + 156 >> 2];
+    break e;
+   }
+   d = 7;
+   if (!a) {
+    break a;
+   }
+   e = q[a + 148 >> 2];
+   if (!e) {
+    break a;
+   }
+   while (1) {
+    g = q[e + 8 >> 2];
+    if (q[g + 16 >> 2] == (f | 0)) {
+     break e;
+    }
+    e = q[e + 4 >> 2];
+    if (e) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  if (!g) {
+   d = 7;
+   break a;
+  }
+  i = a + 148 | 0;
+  while (1) {
+   d = 0;
+   f = n[q[g + 60 >> 2]](g, b, c, 0) | 0;
+   if (!f) {
+    break a;
+   }
+   if ((f & 255) != 19) {
+    d = f;
+    break a;
+   }
+   if (!a) {
+    d = f;
+    break a;
+   }
+   e = q[(e ? e + 4 | 0 : i) >> 2];
+   if (!e) {
+    d = f;
+    break a;
+   }
+   d = q[b + 72 >> 2];
+   f : {
+    while (1) {
+     g = q[e + 8 >> 2];
+     if ((d | 0) == q[g + 16 >> 2]) {
+      break f;
+     }
+     e = q[e + 4 >> 2];
+     if (e) {
+      continue;
+     }
+     break;
+    }
+    d = f;
+    break a;
+   }
+   d = f;
+   if (g) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = h + 32 | 0;
+ return d;
+}
+function Sn(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = q[a + 552 >> 2];
+ if (e >>> 0 > 2) {
+  return -31;
+ }
+ a : {
+  b : {
+   c : {
+    d : {
+     switch (e - 1 | 0) {
+     case 1:
+      i = q[c >> 2];
+      break b;
+     default:
+      g = q[b + 4 >> 2];
+      e : {
+       if ((g | 0) != 32) {
+        e = q[b >> 2];
+        break e;
+       }
+       f = q[b + 12 >> 2];
+       if (!f) {
+        return 2;
+       }
+       h = q[b >> 2] >>> 8 | 0;
+       q[b >> 2] = h;
+       d = q[b + 8 >> 2];
+       e = r[d | 0];
+       q[b + 12 >> 2] = f + -1;
+       g = 24;
+       q[b + 4 >> 2] = 24;
+       q[b + 8 >> 2] = d + 1;
+       e = h | e << 24;
+       q[b >> 2] = e;
+      }
+      d = g + 1 | 0;
+      q[b + 4 >> 2] = d;
+      if (e >>> g & 1) {
+       break c;
+      }
+      q[c >> 2] = 0;
+      return 1;
+     case 0:
+      break d;
+     }
+    }
+    d = q[b + 4 >> 2];
+   }
+   f : {
+    if (32 - d >>> 0 >= 3) {
+     f = q[b >> 2];
+     break f;
+    }
+    g = q[b + 12 >> 2];
+    e = d;
+    while (1) {
+     if (!g) {
+      break a;
+     }
+     j = q[b >> 2] >>> 8 | 0;
+     q[b >> 2] = j;
+     f = q[b + 8 >> 2];
+     h = r[f | 0];
+     g = g + -1 | 0;
+     q[b + 12 >> 2] = g;
+     d = e + -8 | 0;
+     q[b + 4 >> 2] = d;
+     q[b + 8 >> 2] = f + 1;
+     f = j | h << 24;
+     q[b >> 2] = f;
+     h = 40 - e | 0;
+     e = d;
+     if (h >>> 0 < 3) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[b + 4 >> 2] = d + 3;
+   i = f >>> d & 7;
+   if (!i) {
+    q[c >> 2] = 1;
+    q[a + 552 >> 2] = 0;
+    return 1;
+   }
+   q[c >> 2] = i;
+  }
+  g : {
+   d = q[b + 4 >> 2];
+   h : {
+    if (32 - d >>> 0 >= i >>> 0) {
+     f = q[b >> 2];
+     break h;
+    }
+    g = q[b + 12 >> 2];
+    e = d;
+    while (1) {
+     if (!g) {
+      break g;
+     }
+     j = q[b >> 2] >>> 8 | 0;
+     q[b >> 2] = j;
+     f = q[b + 8 >> 2];
+     h = r[f | 0];
+     g = g + -1 | 0;
+     q[b + 12 >> 2] = g;
+     d = e + -8 | 0;
+     q[b + 4 >> 2] = d;
+     q[b + 8 >> 2] = f + 1;
+     f = j | h << 24;
+     q[b >> 2] = f;
+     h = 40 - e | 0;
+     e = d;
+     if (h >>> 0 < i >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[b + 4 >> 2] = d + i;
+   q[c >> 2] = (q[(i << 2) + 153280 >> 2] & f >>> d) + (1 << q[c >> 2]);
+   q[a + 552 >> 2] = 0;
+   return 1;
+  }
+  q[a + 552 >> 2] = 2;
+  return 2;
+ }
+ q[a + 552 >> 2] = 1;
+ return 2;
+}
+function xm(a, b, c, d, e) {
+ var f = 0, g = 0;
+ f = Ca + -64 | 0;
+ Ca = f;
+ g = 6;
+ a : {
+  if (!c | (!b | !a)) {
+   break a;
+  }
+  q[f + 20 >> 2] = b;
+  q[f + 12 >> 2] = e;
+  q[f + 8 >> 2] = d;
+  b = q[c >> 2];
+  q[f + 48 >> 2] = a;
+  q[f + 44 >> 2] = 266;
+  q[f + 40 >> 2] = 267;
+  q[f + 24 >> 2] = b;
+  if (rm(f + 8 | 0, 15)) {
+   break a;
+  }
+  d = ym(f + 8 | 0, 4);
+  if ((d | 0) != 1) {
+   g = q[f + 36 >> 2];
+   b : {
+    if (!g) {
+     break b;
+    }
+    c = q[f + 44 >> 2];
+    if (!c) {
+     break b;
+    }
+    b = q[g + 20 >> 2];
+    if (b) {
+     a = q[b >> 2];
+     if ((a & -2) == 4) {
+      n[c](q[f + 48 >> 2], q[b + 12 >> 2]);
+      a = q[b >> 2];
+     }
+     if ((a | 0) == 6) {
+      n[q[f + 44 >> 2]](q[f + 48 >> 2], q[b + 4 >> 2]);
+     }
+     q[b + 28 >> 2] = 0;
+     q[b + 32 >> 2] = 0;
+     q[b >> 2] = 0;
+     g = q[b + 40 >> 2];
+     q[b + 52 >> 2] = g;
+     q[b + 48 >> 2] = g;
+     a = q[b + 56 >> 2];
+     if (a) {
+      a = n[a](0, 0, 0) | 0;
+      q[b + 60 >> 2] = a;
+      q[f + 56 >> 2] = a;
+      g = q[b + 40 >> 2];
+     }
+     n[q[f + 44 >> 2]](q[f + 48 >> 2], g);
+     n[q[f + 44 >> 2]](q[f + 48 >> 2], q[b + 36 >> 2]);
+     n[q[f + 44 >> 2]](q[f + 48 >> 2], b);
+     g = q[f + 36 >> 2];
+     c = q[f + 44 >> 2];
+    }
+    n[c](q[f + 48 >> 2], g);
+    q[f + 36 >> 2] = 0;
+   }
+   g = 0;
+   a = d + 5 | 0;
+   if (a >>> 0 >= 6) {
+    break a;
+   }
+   g = q[(a << 2) + 24900 >> 2];
+   break a;
+  }
+  q[c >> 2] = q[f + 28 >> 2];
+  g = 0;
+  a = q[f + 36 >> 2];
+  if (!a) {
+   break a;
+  }
+  c = q[f + 44 >> 2];
+  if (!c) {
+   break a;
+  }
+  b = q[a + 20 >> 2];
+  if (b) {
+   a = q[b >> 2];
+   if ((a & -2) == 4) {
+    n[c](q[f + 48 >> 2], q[b + 12 >> 2]);
+    a = q[b >> 2];
+   }
+   if ((a | 0) == 6) {
+    n[q[f + 44 >> 2]](q[f + 48 >> 2], q[b + 4 >> 2]);
+   }
+   q[b + 28 >> 2] = 0;
+   q[b + 32 >> 2] = 0;
+   q[b >> 2] = 0;
+   g = q[b + 40 >> 2];
+   q[b + 52 >> 2] = g;
+   q[b + 48 >> 2] = g;
+   a = q[b + 56 >> 2];
+   if (a) {
+    a = n[a](0, 0, 0) | 0;
+    q[b + 60 >> 2] = a;
+    q[f + 56 >> 2] = a;
+    g = q[b + 40 >> 2];
+   }
+   n[q[f + 44 >> 2]](q[f + 48 >> 2], g);
+   n[q[f + 44 >> 2]](q[f + 48 >> 2], q[b + 36 >> 2]);
+   n[q[f + 44 >> 2]](q[f + 48 >> 2], b);
+   c = q[f + 44 >> 2];
+   a = q[f + 36 >> 2];
+  }
+  n[c](q[f + 48 >> 2], a);
+  g = 0;
+  q[f + 36 >> 2] = 0;
+ }
+ Ca = f - -64 | 0;
+ return g;
+}
+function Vo(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = q[a + 16 >> 2];
+ a = r[h + 6 | 0] | r[h + 7 | 0] << 8 | (r[h + 8 | 0] << 16 | r[h + 9 | 0] << 24);
+ f = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ i = h + 13 | 0;
+ a = 0;
+ a : {
+  while (1) {
+   e = -1;
+   if (a >>> 0 >= f >>> 0) {
+    break a;
+   }
+   d = a + f >>> 1 | 0;
+   e = i + w(d, 11) | 0;
+   g = e + -3 | 0;
+   g = r[g + 1 | 0] << 8 | r[g | 0] << 16 | r[g + 2 | 0];
+   if (g >>> 0 > c >>> 0) {
+    f = d;
+    continue;
+   }
+   a = d + 1 | 0;
+   if (g >>> 0 < c >>> 0) {
+    continue;
+   }
+   break;
+  }
+  j = r[e + 4 | 0] | r[e + 5 | 0] << 8 | (r[e + 6 | 0] << 16 | r[e + 7 | 0] << 24);
+  b : {
+   a = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+   a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+   if (!a) {
+    break b;
+   }
+   c = a + h | 0;
+   a = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+   a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+   i = c + 7 | 0;
+   f = 0;
+   while (1) {
+    if (f >>> 0 >= a >>> 0) {
+     break b;
+    }
+    c = a;
+    a = a + f >>> 1 | 0;
+    g = i + (a << 2) | 0;
+    d = g + -3 | 0;
+    d = r[d + 1 | 0] << 8 | r[d | 0] << 16 | r[d + 2 | 0];
+    if (d >>> 0 > b >>> 0) {
+     continue;
+    }
+    e = 1;
+    f = a + 1 | 0;
+    a = c;
+    if (d + r[g | 0] >>> 0 < b >>> 0) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  a = j << 8 & 16711680 | j << 24 | (j >>> 8 & 65280 | j >>> 24);
+  c : {
+   if (!a) {
+    break c;
+   }
+   c = a + h | 0;
+   a = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+   a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+   if (!a) {
+    break c;
+   }
+   g = c + 7 | 0;
+   f = 0;
+   while (1) {
+    d : {
+     c = a + f >>> 1 | 0;
+     i = g + w(c, 5) | 0;
+     d = i + -3 | 0;
+     d = r[d + 1 | 0] << 8 | r[d | 0] << 16 | r[d + 2 | 0];
+     e : {
+      if (d >>> 0 > b >>> 0) {
+       a = c;
+       break e;
+      }
+      if (d >>> 0 >= b >>> 0) {
+       break d;
+      }
+      f = c + 1 | 0;
+     }
+     if (f >>> 0 < a >>> 0) {
+      continue;
+     }
+     break c;
+    }
+    break;
+   }
+   e = 0;
+   if (r[i + 1 | 0] | r[i | 0] << 8) {
+    break a;
+   }
+  }
+  e = -1;
+ }
+ return e | 0;
+}
+function IK(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ q[f + 8 >> 2] = c;
+ q[f + 12 >> 2] = a;
+ c = Z$(c, 0, 652);
+ e = r[b + 8 | 0];
+ o[c + 188 | 0] = e;
+ if (e) {
+  while (1) {
+   q[(c + (d << 2) | 0) + 192 >> 2] = p[((d << 1) + b | 0) + 12 >> 1];
+   d = d + 1 | 0;
+   if ((e | 0) != (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ e = r[b + 9 | 0];
+ o[c + 189 | 0] = e;
+ if (e) {
+  d = 0;
+  while (1) {
+   q[(c + (d << 2) | 0) + 248 >> 2] = p[((d << 1) + b | 0) + 40 >> 1];
+   d = d + 1 | 0;
+   if ((e | 0) != (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ e = r[b + 10 | 0];
+ o[c + 190 | 0] = e;
+ if (e) {
+  d = 0;
+  while (1) {
+   q[(c + (d << 2) | 0) + 288 >> 2] = p[((d << 1) + b | 0) + 60 >> 1];
+   d = d + 1 | 0;
+   if ((e | 0) != (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ e = r[b + 11 | 0];
+ o[c + 191 | 0] = e;
+ if (e) {
+  d = 0;
+  while (1) {
+   q[(c + (d << 2) | 0) + 344 >> 2] = p[((d << 1) + b | 0) + 88 >> 1];
+   d = d + 1 | 0;
+   if ((e | 0) != (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[c + 384 >> 2] = q[b + 108 >> 2];
+ q[c + 388 >> 2] = q[b + 112 >> 2];
+ q[c + 392 >> 2] = q[b + 116 >> 2];
+ q[c + 396 >> 2] = s[b + 120 >> 1];
+ q[c + 400 >> 2] = s[b + 122 >> 1];
+ e = r[b + 124 | 0];
+ o[c + 404 | 0] = e;
+ if (e) {
+  d = 0;
+  while (1) {
+   q[(c + (d << 2) | 0) + 408 >> 2] = p[((d << 1) + b | 0) + 128 >> 1];
+   d = d + 1 | 0;
+   if ((e | 0) != (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ e = r[b + 125 | 0];
+ o[c + 405 | 0] = e;
+ if (e) {
+  d = 0;
+  while (1) {
+   q[(c + (d << 2) | 0) + 460 >> 2] = p[((d << 1) + b | 0) + 154 >> 1];
+   d = d + 1 | 0;
+   if ((e | 0) != (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ o[c + 512 | 0] = r[b + 126 | 0];
+ q[c + 520 >> 2] = q[b + 4 >> 2];
+ q[c + 524 >> 2] = q[b + 184 >> 2];
+ b = q[b + 180 >> 2];
+ q[c + 552 >> 2] = c;
+ q[c + 528 >> 2] = b;
+ a : {
+  b : {
+   a = q[a + 128 >> 2];
+   b = q[a + 60 >> 2];
+   if ((b | 0) == -1) {
+    break b;
+   }
+   q[c + 648 >> 2] = b;
+   if (!b) {
+    break b;
+   }
+   while (1) {
+    b = b << 13 ^ b;
+    b = b >>> 17 ^ b;
+    b = b << 5 ^ b;
+    if ((b | 0) < 0) {
+     continue;
+    }
+    break;
+   }
+   q[a + 60 >> 2] = b;
+   break a;
+  }
+  a = f + 4 ^ (f + 8 ^ f + 12);
+  a = a >>> 10 ^ a ^ a >>> 20;
+  q[c + 648 >> 2] = a ? a : 29572;
+ }
+ Ca = f + 16 | 0;
+}
+function SL(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ i = Ca - 48 | 0;
+ Ca = i;
+ q[e >> 2] = 0;
+ a : {
+  if (c >>> 0 <= 31) {
+   q[d >> 2] = 0;
+   break a;
+  }
+  g = q[b + 108 >> 2];
+  if (!g) {
+   q[d >> 2] = 0;
+   break a;
+  }
+  h = (c | 0) == 160 ? 32 : c;
+  c = q[d >> 2];
+  if ((c | 0) < (g | 0)) {
+   f = h;
+   c = q[((c << 2) + b | 0) - -64 >> 2];
+   g = q[c + 92 >> 2];
+   if (g) {
+    f = q[g + 4 >> 2] == 1937337698 ? h | 61440 : h;
+   }
+   f = xf(c, f);
+   g = q[b + 108 >> 2];
+  }
+  b : {
+   c : {
+    if (!((g | 0) < 1 | f)) {
+     g = h | 61440;
+     c = 0;
+     while (1) {
+      f = h;
+      k = q[((c << 2) + b | 0) - -64 >> 2];
+      j = q[k + 92 >> 2];
+      if (j) {
+       f = q[j + 4 >> 2] == 1937337698 ? g : h;
+      }
+      f = xf(k, f);
+      if (f) {
+       q[d >> 2] = c;
+       break b;
+      }
+      c = c + 1 | 0;
+      if ((c | 0) < q[b + 108 >> 2]) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    }
+    if (f) {
+     break b;
+    }
+   }
+   c = q[b + 16 >> 2];
+   f = q[b + 8 >> 2];
+   g = q[b + 4 >> 2];
+   q[i + 36 >> 2] = q[b >> 2];
+   q[i + 40 >> 2] = g;
+   q[i + 44 >> 2] = f;
+   q[i + 32 >> 2] = h;
+   Yd(c, 4, 354657, i + 32 | 0);
+   a = ML(a, b, h);
+   q[d >> 2] = a;
+   f = 0;
+   if ((a | 0) < 0) {
+    break b;
+   }
+   f = h;
+   c = q[((a << 2) + b | 0) - -64 >> 2];
+   a = q[c + 92 >> 2];
+   if (a) {
+    f = q[a + 4 >> 2] == 1937337698 ? h | 61440 : h;
+   }
+   f = xf(c, f);
+   if (f) {
+    break b;
+   }
+   d : {
+    if (q[c + 36 >> 2] < 1) {
+     break d;
+    }
+    a = q[b + 16 >> 2];
+    q[i + 16 >> 2] = h;
+    Yd(a, 2, 354720, i + 16 | 0);
+    if (q[c + 36 >> 2] < 1) {
+     break d;
+    }
+    k = h | 61440;
+    g = 0;
+    while (1) {
+     Wf(c, q[q[c + 40 >> 2] + (g << 2) >> 2]);
+     a = h;
+     f = c;
+     j = q[c + 92 >> 2];
+     if (j) {
+      a = q[j + 4 >> 2] == 1937337698 ? k : h;
+     }
+     f = xf(f, a);
+     if (f) {
+      break b;
+     }
+     g = g + 1 | 0;
+     if ((g | 0) < q[c + 36 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   a = q[b + 16 >> 2];
+   c = q[b + 8 >> 2];
+   f = q[b + 4 >> 2];
+   q[i + 4 >> 2] = q[b >> 2];
+   q[i + 8 >> 2] = f;
+   q[i + 12 >> 2] = c;
+   q[i >> 2] = h;
+   Yd(a, 1, 354775, i);
+   f = 0;
+  }
+  a = q[d >> 2];
+  q[d >> 2] = (a | 0) > 0 ? a : 0;
+  q[e >> 2] = f;
+ }
+ Ca = i + 48 | 0;
+}
+function Uo(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ i = q[a + 16 >> 2];
+ a = r[i + 6 | 0] | r[i + 7 | 0] << 8 | (r[i + 8 | 0] << 16 | r[i + 9 | 0] << 24);
+ g = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ j = i + 13 | 0;
+ a = 0;
+ a : {
+  b : {
+   while (1) {
+    if (a >>> 0 >= g >>> 0) {
+     break b;
+    }
+    f = a + g >>> 1 | 0;
+    e = j + w(f, 11) | 0;
+    h = e + -3 | 0;
+    h = r[h + 1 | 0] << 8 | r[h | 0] << 16 | r[h + 2 | 0];
+    if (h >>> 0 > d >>> 0) {
+     g = f;
+     continue;
+    }
+    a = f + 1 | 0;
+    if (h >>> 0 < d >>> 0) {
+     continue;
+    }
+    break;
+   }
+   j = r[e + 4 | 0] | r[e + 5 | 0] << 8 | (r[e + 6 | 0] << 16 | r[e + 7 | 0] << 24);
+   c : {
+    a = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+    a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+    if (!a) {
+     break c;
+    }
+    d = a + i | 0;
+    a = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+    a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+    h = d + 7 | 0;
+    g = 0;
+    while (1) {
+     if (g >>> 0 >= a >>> 0) {
+      break c;
+     }
+     d = a;
+     a = a + g >>> 1 | 0;
+     e = h + (a << 2) | 0;
+     f = e + -3 | 0;
+     f = r[f + 1 | 0] << 8 | r[f | 0] << 16 | r[f + 2 | 0];
+     if (f >>> 0 > c >>> 0) {
+      continue;
+     }
+     g = a + 1 | 0;
+     a = d;
+     if (f + r[e | 0] >>> 0 < c >>> 0) {
+      continue;
+     }
+     break;
+    }
+    return n[q[q[b + 12 >> 2] + 12 >> 2]](b, c) | 0;
+   }
+   a = j << 8 & 16711680 | j << 24 | (j >>> 8 & 65280 | j >>> 24);
+   if (!a) {
+    break b;
+   }
+   b = a + i | 0;
+   a = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+   a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+   if (!a) {
+    break b;
+   }
+   f = b + 7 | 0;
+   g = 0;
+   while (1) {
+    b = a + g >>> 1 | 0;
+    e = f + w(b, 5) | 0;
+    d = e + -3 | 0;
+    d = r[d + 1 | 0] << 8 | r[d | 0] << 16 | r[d + 2 | 0];
+    d : {
+     if (d >>> 0 > c >>> 0) {
+      a = b;
+      break d;
+     }
+     if (d >>> 0 >= c >>> 0) {
+      break a;
+     }
+     g = b + 1 | 0;
+    }
+    if (g >>> 0 < a >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  return 0;
+ }
+ return r[e + 1 | 0] | r[e | 0] << 8;
+}
+function JO(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0;
+ f = Ca + -64 | 0;
+ k = c + 2 | 0;
+ if (k) {
+  l = w(c + 15 & -16, d);
+  o = f + 32 | 0;
+  i = d << 4;
+  q = i << 1;
+  while (1) {
+   if (d) {
+    r = a + q | 0;
+    j = 0;
+    g = m;
+    while (1) {
+     c = 1;
+     e = g - i | 0;
+     e = e >>> 0 < l >>> 0 ? (e << 1) + b | 0 : 437888;
+     p[f >> 1] = s[e >> 1];
+     p[f + 2 >> 1] = s[e + 2 >> 1];
+     p[f + 4 >> 1] = s[e + 4 >> 1];
+     p[f + 6 >> 1] = s[e + 6 >> 1];
+     p[f + 8 >> 1] = s[e + 8 >> 1];
+     p[f + 10 >> 1] = s[e + 10 >> 1];
+     p[f + 12 >> 1] = s[e + 12 >> 1];
+     p[f + 14 >> 1] = s[e + 14 >> 1];
+     p[f + 16 >> 1] = s[e + 16 >> 1];
+     p[f + 18 >> 1] = s[e + 18 >> 1];
+     p[f + 20 >> 1] = s[e + 20 >> 1];
+     p[f + 22 >> 1] = s[e + 22 >> 1];
+     p[f + 24 >> 1] = s[e + 24 >> 1];
+     p[f + 26 >> 1] = s[e + 26 >> 1];
+     p[f + 28 >> 1] = s[e + 28 >> 1];
+     p[f + 30 >> 1] = s[e + 30 >> 1];
+     e = g >>> 0 < l >>> 0 ? (g << 1) + b | 0 : 437888;
+     h = s[e >> 1];
+     p[f + 32 >> 1] = h;
+     p[f + 34 >> 1] = s[e + 2 >> 1];
+     p[f + 36 >> 1] = s[e + 4 >> 1];
+     p[f + 38 >> 1] = s[e + 6 >> 1];
+     p[f + 40 >> 1] = s[e + 8 >> 1];
+     p[f + 42 >> 1] = s[e + 10 >> 1];
+     p[f + 44 >> 1] = s[e + 12 >> 1];
+     p[f + 46 >> 1] = s[e + 14 >> 1];
+     p[f + 48 >> 1] = s[e + 16 >> 1];
+     p[f + 50 >> 1] = s[e + 18 >> 1];
+     p[f + 52 >> 1] = s[e + 20 >> 1];
+     p[f + 54 >> 1] = s[e + 22 >> 1];
+     p[f + 56 >> 1] = s[e + 24 >> 1];
+     p[f + 58 >> 1] = s[e + 26 >> 1];
+     p[f + 60 >> 1] = s[e + 28 >> 1];
+     p[f + 62 >> 1] = s[e + 30 >> 1];
+     p[a >> 1] = ((s[f + 30 >> 1] + ((s[f + 28 >> 1] + h & 65534) >>> 1 | 0) | 0) + 1 & 65534) >>> 1;
+     while (1) {
+      h = c << 1;
+      e = h + o | 0;
+      p[a + h >> 1] = ((s[e + -2 >> 1] + ((s[e >> 1] + s[e + -4 >> 1] & 65534) >>> 1 | 0) | 0) + 1 & 65534) >>> 1;
+      c = c + 1 | 0;
+      if ((c | 0) != 16) {
+       continue;
+      }
+      break;
+     }
+     g = g + 16 | 0;
+     a = a + 32 | 0;
+     j = j + 1 | 0;
+     if ((j | 0) != (d | 0)) {
+      continue;
+     }
+     break;
+    }
+    m = i + m | 0;
+    a = r;
+   }
+   n = n + 16 | 0;
+   if (n >>> 0 < k >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function KJ(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[b >> 2] = 0;
+ q[b + 4 >> 2] = 0;
+ q[b + 8 >> 2] = 0;
+ wJ(a, q[a + 8 >> 2]);
+ c = q[a >> 2];
+ q[d + 12 >> 2] = c;
+ f = q[a + 8 >> 2];
+ if (c >>> 0 < f >>> 0) {
+  a : {
+   b : {
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         e = r[c | 0];
+         if ((e | 0) != 123) {
+          if ((e | 0) == 91) {
+           break g;
+          }
+          if ((e | 0) != 40) {
+           break f;
+          }
+          q[b >> 2] = c;
+          q[b + 8 >> 2] = 2;
+          if (zJ(d + 12 | 0, f)) {
+           break e;
+          }
+          break d;
+         }
+         q[b >> 2] = c;
+         q[b + 8 >> 2] = 3;
+         if (!yJ(d + 12 | 0, f)) {
+          break d;
+         }
+         break e;
+        }
+        q[b >> 2] = c;
+        q[b + 8 >> 2] = 3;
+        q[a >> 2] = c + 1;
+        wJ(a, f);
+        c = q[a >> 2];
+        q[d + 12 >> 2] = c;
+        if (f >>> 0 <= c >>> 0) {
+         break e;
+        }
+        e = 1;
+        while (1) {
+         if (q[a + 12 >> 2]) {
+          break e;
+         }
+         g = r[c | 0] + -91 | 0;
+         h : {
+          if (g >>> 0 > 2) {
+           break h;
+          }
+          i : {
+           switch (g - 1 | 0) {
+           case 1:
+            if ((e | 0) > 1) {
+             e = e + -1 | 0;
+             break h;
+            }
+            c = c + 1 | 0;
+            q[d + 12 >> 2] = c;
+            q[b + 4 >> 2] = c;
+            break a;
+           case 0:
+            break h;
+           default:
+            break i;
+           }
+          }
+          e = e + 1 | 0;
+         }
+         q[a >> 2] = c;
+         xJ(a);
+         wJ(a, q[a + 8 >> 2]);
+         c = q[a >> 2];
+         q[d + 12 >> 2] = c;
+         if (f >>> 0 > c >>> 0) {
+          continue;
+         }
+         break;
+        }
+        break e;
+       }
+       q[b >> 2] = c;
+       q[b + 8 >> 2] = r[c | 0] == 47 ? 4 : 1;
+       xJ(a);
+       c = q[a >> 2];
+       q[d + 12 >> 2] = c;
+       if (!q[a + 12 >> 2]) {
+        break c;
+       }
+      }
+      c = q[b + 4 >> 2];
+      break b;
+     }
+     c = q[d + 12 >> 2];
+    }
+    q[b + 4 >> 2] = c;
+   }
+   if (c) {
+    break a;
+   }
+   q[b + 8 >> 2] = 0;
+   q[b >> 2] = 0;
+  }
+  q[a >> 2] = q[d + 12 >> 2];
+ }
+ Ca = d + 16 | 0;
+}
+function zG(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ i = Ca - 32 | 0;
+ a : {
+  if (c - b >>> 0 < 2) {
+   break a;
+  }
+  d = q[a + 76 >> 2];
+  h = d >>> 0 < c >>> 0 ? d : c;
+  d = d >>> 0 < b >>> 0 ? d : b;
+  b : {
+   if (h >>> 0 < d + 2 >>> 0) {
+    break b;
+   }
+   h = h + -1 | 0;
+   if (d >>> 0 >= h >>> 0) {
+    break b;
+   }
+   k = q[a + 88 >> 2];
+   while (1) {
+    m = i + 24 | 0;
+    g = k + w(h, 20) | 0;
+    f = g + 16 | 0;
+    q[m >> 2] = q[f >> 2];
+    j = g + 8 | 0;
+    n = q[j + 4 >> 2];
+    l = i + 16 | 0;
+    e = l;
+    q[e >> 2] = q[j >> 2];
+    q[e + 4 >> 2] = n;
+    e = q[g + 4 >> 2];
+    q[i + 8 >> 2] = q[g >> 2];
+    q[i + 12 >> 2] = e;
+    e = f;
+    f = k + w(d, 20) | 0;
+    n = f + 16 | 0;
+    q[e >> 2] = q[n >> 2];
+    e = f + 8 | 0;
+    o = q[e + 4 >> 2];
+    q[j >> 2] = q[e >> 2];
+    q[j + 4 >> 2] = o;
+    j = q[f + 4 >> 2];
+    q[g >> 2] = q[f >> 2];
+    q[g + 4 >> 2] = j;
+    q[n >> 2] = q[m >> 2];
+    g = q[l + 4 >> 2];
+    q[e >> 2] = q[l >> 2];
+    q[e + 4 >> 2] = g;
+    g = q[i + 12 >> 2];
+    q[f >> 2] = q[i + 8 >> 2];
+    q[f + 4 >> 2] = g;
+    d = d + 1 | 0;
+    h = h + -1 | 0;
+    if (d >>> 0 < h >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (!r[a + 70 | 0]) {
+   break a;
+  }
+  d = q[a + 76 >> 2];
+  c = d >>> 0 < c >>> 0 ? d : c;
+  d = d >>> 0 < b >>> 0 ? d : b;
+  if (c >>> 0 < d + 2 >>> 0) {
+   break a;
+  }
+  h = c + -1 | 0;
+  if (d >>> 0 >= h >>> 0) {
+   break a;
+  }
+  c = q[a + 96 >> 2];
+  while (1) {
+   l = i + 24 | 0;
+   a = c + w(h, 20) | 0;
+   b = a + 16 | 0;
+   q[l >> 2] = q[b >> 2];
+   f = a + 8 | 0;
+   e = q[f + 4 >> 2];
+   g = i + 16 | 0;
+   q[g >> 2] = q[f >> 2];
+   q[g + 4 >> 2] = e;
+   k = q[a + 4 >> 2];
+   q[i + 8 >> 2] = q[a >> 2];
+   q[i + 12 >> 2] = k;
+   e = b;
+   b = c + w(d, 20) | 0;
+   j = b + 16 | 0;
+   q[e >> 2] = q[j >> 2];
+   k = b + 8 | 0;
+   e = k;
+   m = q[e + 4 >> 2];
+   q[f >> 2] = q[e >> 2];
+   q[f + 4 >> 2] = m;
+   f = q[b + 4 >> 2];
+   q[a >> 2] = q[b >> 2];
+   q[a + 4 >> 2] = f;
+   q[j >> 2] = q[l >> 2];
+   a = q[g + 4 >> 2];
+   q[e >> 2] = q[g >> 2];
+   q[e + 4 >> 2] = a;
+   a = q[i + 12 >> 2];
+   q[b >> 2] = q[i + 8 >> 2];
+   q[b + 4 >> 2] = a;
+   d = d + 1 | 0;
+   h = h + -1 | 0;
+   if (d >>> 0 < h >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function gm(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ b = q[b >> 2];
+ q[g + 12 >> 2] = 0;
+ a : {
+  if (!b) {
+   b = 35;
+   q[g + 12 >> 2] = 35;
+   break a;
+  }
+  f = q[b + 132 >> 2];
+  if (!(t[b + 16 >> 2] > c >>> 0 ? f : 0)) {
+   b = 6;
+   q[g + 12 >> 2] = 6;
+   break a;
+  }
+  b : {
+   e = c ? c + -1 | 0 : r[f + 106 | 0];
+   c = s[f + 4 >> 1];
+   b = (c | 0) == 768;
+   e = w(e, b ? 6 : 4) + (b ? 148 : 118) | 0;
+   i = q[f + 8 >> 2];
+   if (e >>> 0 >= (i + (b ? -4 : -2) | 0) + -2 >>> 0) {
+    break b;
+   }
+   b = e + q[f + 160 >> 2] | 0;
+   h = r[b | 0] | r[b + 1 | 0] << 8;
+   q[a + 80 >> 2] = h;
+   b = b + 2 | 0;
+   e = r[b | 0];
+   if ((c | 0) == 768) {
+    b = r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24 | r[b + 1 | 0] << 8;
+   } else {
+    b = r[b + 1 | 0] << 8;
+   }
+   c = e | b;
+   if (c >>> 0 >= i >>> 0) {
+    break b;
+   }
+   e = s[f + 96 >> 1];
+   b = 0;
+   q[a + 100 >> 2] = 0;
+   o[a + 94 | 0] = 1;
+   q[a + 76 >> 2] = e;
+   i = s[f + 80 >> 1];
+   q[a + 72 >> 2] = 1651078259;
+   q[a + 104 >> 2] = i;
+   h = h << 6;
+   q[a + 40 >> 2] = h;
+   e = e << 6;
+   q[a + 28 >> 2] = e;
+   q[a + 24 >> 2] = h;
+   q[a + 32 >> 2] = 0;
+   q[a + 36 >> 2] = i << 6;
+   Of(a + 24 | 0, e);
+   if (d & 4194304) {
+    break a;
+   }
+   b = 3;
+   e = q[q[a + 4 >> 2] + 100 >> 2];
+   i = q[f + 160 >> 2];
+   d = q[a + 80 >> 2] + 7 >>> 3 | 0;
+   q[a + 84 >> 2] = d;
+   c : {
+    if (d) {
+     h = q[a + 76 >> 2];
+     if (w(h, d) + c >>> 0 <= t[f + 8 >> 2]) {
+      break c;
+     }
+    }
+    q[g + 12 >> 2] = 3;
+    break a;
+   }
+   f = Te(e, d, 0, h, 0, g + 12 | 0);
+   q[a + 88 >> 2] = f;
+   b = q[g + 12 >> 2];
+   if (b) {
+    break a;
+   }
+   b = c + i | 0;
+   while (1) {
+    c = q[a + 76 >> 2];
+    if ((c | 0) >= 1) {
+     c = b + c | 0;
+     e = b + 1 | 0;
+     e = c >>> 0 > e >>> 0 ? c : e;
+     c = f;
+     while (1) {
+      o[c | 0] = r[b | 0];
+      c = q[a + 84 >> 2] + c | 0;
+      b = b + 1 | 0;
+      if ((e | 0) != (b | 0)) {
+       continue;
+      }
+      break;
+     }
+     b = e;
+    }
+    f = f + 1 | 0;
+    d = d + -1 | 0;
+    if (d) {
+     continue;
+    }
+    break;
+   }
+   b = q[g + 12 >> 2];
+   q[q[a + 156 >> 2] + 4 >> 2] = 1;
+   break a;
+  }
+  b = 3;
+  q[g + 12 >> 2] = 3;
+ }
+ Ca = g + 16 | 0;
+ return b | 0;
+}
+function aI(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ q[i + 12 >> 2] = 0;
+ g = q[a + 12 >> 2];
+ a : {
+  b : {
+   c : {
+    d : {
+     if ((g | 0) <= 11) {
+      if (q[a + 20 >> 2]) {
+       break d;
+      }
+      q[a + 16 >> 2] = 12;
+      q[a + 20 >> 2] = a + 820;
+      break d;
+     }
+     k = q[a + 16 >> 2];
+     if ((g | 0) < (k | 0)) {
+      j = q[a + 20 >> 2];
+      h = j + w(g, 44) | 0;
+      break c;
+     }
+     if ((k | 0) >= 48806446) {
+      g = 64;
+      q[i + 12 >> 2] = 64;
+      break a;
+     }
+     h = (k + (k >> 2) | 0) + 4 | 0;
+     l = (k | 0) < -16 ? 48806446 : (h | 0) > 48806446 ? 48806446 : h;
+     j = q[a + 20 >> 2];
+     e : {
+      if ((j | 0) == (a + 820 | 0)) {
+       h = 0;
+       e = Te(e, 44, 0, l, 0, i + 12 | 0);
+       q[a + 20 >> 2] = e;
+       g = q[i + 12 >> 2];
+       if (g) {
+        break a;
+       }
+       Y$(e, j, 528);
+       break e;
+      }
+      m = a, n = Te(e, 44, k, l, j, i + 12 | 0), q[m + 20 >> 2] = n;
+      h = 0;
+      g = q[i + 12 >> 2];
+      if (g) {
+       break a;
+      }
+     }
+     q[a + 16 >> 2] = l;
+     g = q[a + 12 >> 2];
+    }
+    j = q[a + 20 >> 2];
+    h = j + w(g, 44) | 0;
+    if ((g | 0) < 1) {
+     break b;
+    }
+   }
+   g = h;
+   while (1) {
+    f : {
+     h = g + -44 | 0;
+     e = p[h >> 1];
+     g : {
+      if (d) {
+       if ((e | 0) <= (b | 0)) {
+        break g;
+       }
+       h = g;
+       break f;
+      }
+      if ((e | 0) >= (b | 0)) {
+       break g;
+      }
+      h = g;
+      break f;
+     }
+     if (!((b | 0) != (e | 0) | q[a + 24 >> 2] != (c | 0))) {
+      h = g;
+      break f;
+     }
+     e = q[h + 4 >> 2];
+     q[g >> 2] = q[h >> 2];
+     q[g + 4 >> 2] = e;
+     q[g + 40 >> 2] = q[h + 40 >> 2];
+     e = q[h + 36 >> 2];
+     q[g + 32 >> 2] = q[h + 32 >> 2];
+     q[g + 36 >> 2] = e;
+     e = q[h + 28 >> 2];
+     q[g + 24 >> 2] = q[h + 24 >> 2];
+     q[g + 28 >> 2] = e;
+     e = q[h + 20 >> 2];
+     q[g + 16 >> 2] = q[h + 16 >> 2];
+     q[g + 20 >> 2] = e;
+     e = q[h + 12 >> 2];
+     q[g + 8 >> 2] = q[h + 8 >> 2];
+     q[g + 12 >> 2] = e;
+     g = h;
+     if (g >>> 0 > j >>> 0) {
+      continue;
+     }
+    }
+    break;
+   }
+   g = q[a + 12 >> 2];
+  }
+  q[a + 12 >> 2] = g + 1;
+  g = 0;
+ }
+ q[f >> 2] = h;
+ Ca = i + 16 | 0;
+ return g;
+}
+function DP(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ e = Ca - 32 | 0;
+ Ca = e;
+ q[e + 24 >> 2] = 0;
+ q[e + 16 >> 2] = 0;
+ q[e + 20 >> 2] = 0;
+ h = q[a + 8 >> 2] & 1;
+ a : {
+  if (h | q[a + 28 >> 2] < 1) {
+   break a;
+  }
+  if (!cg(a, 0)) {
+   break a;
+  }
+  f = q[a + 28 >> 2];
+  if ((f | 0) >= 2) {
+   d = q[a + 32 >> 2];
+   b = 1;
+   while (1) {
+    i = c;
+    g = p[d + (b << 4) >> 1];
+    c = p[d + (c << 4) >> 1];
+    c = (((g | 0) < 16 ? 16 - g | 0 : g + -16 | 0) | 0) < (((c | 0) < 16 ? 16 - c | 0 : c + -16 | 0) | 0) ? b : i;
+    b = b + 1 | 0;
+    if ((f | 0) != (b | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  Sf(a, c);
+ }
+ b : {
+  c : {
+   if (!Vf(a, 1970170211)) {
+    break c;
+   }
+   if (!Vf(a, 1937337698)) {
+    break c;
+   }
+   d = 100;
+   break b;
+  }
+  g = Yf(a, e + 12 | 0);
+  b = q[e + 12 >> 2];
+  d = 100;
+  if (!b) {
+   break b;
+  }
+  l = h ? 523 : 515;
+  c = 0;
+  while (1) {
+   q[e + 8 >> 2] = 0;
+   d : {
+    if (te(a, b, l, e + 8 | 0)) {
+     break d;
+    }
+    d = q[e + 8 >> 2];
+    if (!d) {
+     break d;
+    }
+    e : {
+     f : {
+      if (!c) {
+       b = 0;
+       break f;
+      }
+      b = d >> 31;
+      h = b + d ^ b;
+      b = 0;
+      while (1) {
+       f = q[(e + 16 | 0) + (b << 2) >> 2];
+       j = d - f | 0;
+       k = j >> 31;
+       i = f;
+       f = f >> 31;
+       f = i + f ^ f;
+       if ((w(k ^ k + j, 33) | 0) <= (((h | 0) < (f | 0) ? f : h) | 0)) {
+        break f;
+       }
+       b = b + 1 | 0;
+       if ((c | 0) != (b | 0)) {
+        continue;
+       }
+       break;
+      }
+      break e;
+     }
+     if ((b | 0) != (c | 0)) {
+      break d;
+     }
+    }
+    q[(e + 16 | 0) + (c << 2) >> 2] = d;
+    c = c + 1 | 0;
+   }
+   g = Zf(a, g, e + 12 | 0);
+   if (c >>> 0 <= 2) {
+    b = q[e + 12 >> 2];
+    if (b) {
+     continue;
+    }
+   }
+   break;
+  }
+  d = 100;
+  if (c >>> 0 < 2) {
+   break b;
+  }
+  if ((c | 0) == 2) {
+   a = q[e + 20 >> 2];
+   b = q[e + 16 >> 2];
+   c = ((b | 0) > (a | 0) ? a : b) << 1;
+   a = (b | 0) < (a | 0) ? a : b;
+   g = c - a | 0;
+   b = g >> 31;
+   f = w(b ^ b + g, 33);
+   d = a;
+   a = a >> 31;
+   a = d + a ^ a;
+   b = c >> 31;
+   b = b + c ^ b;
+   d = 90;
+   if ((f | 0) <= (((b | 0) < (a | 0) ? a : b) | 0)) {
+    break b;
+   }
+  }
+  d = 0;
+ }
+ Ca = e + 32 | 0;
+ return d;
+}
+function IW(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ q[i + 12 >> 2] = b;
+ b = HW(a, q[a + 144 >> 2], i + 12 | 0, c, d, !r[a + 480 | 0]);
+ a : {
+  if (b) {
+   break a;
+  }
+  e = q[i + 12 >> 2];
+  if (!e) {
+   break a;
+  }
+  if (q[a + 472 >> 2]) {
+   q[a + 276 >> 2] = 976;
+   b = oW(a, 1, q[a + 144 >> 2], e, c, d, !r[a + 480 | 0]);
+   if (b) {
+    break a;
+   }
+   b = 0;
+   c = q[a + 360 >> 2];
+   if (!c) {
+    break a;
+   }
+   while (1) {
+    d = q[c + 4 >> 2];
+    f = q[c + 36 >> 2];
+    g = q[c + 24 >> 2] + 1 | 0;
+    e = f + g | 0;
+    if ((d | 0) == (e | 0)) {
+     break a;
+    }
+    h = q[c + 8 >> 2];
+    j = g + h | 0;
+    if ((j | 0) > (q[c + 40 >> 2] - f | 0)) {
+     d = n[q[a + 16 >> 2]](f, j) | 0;
+     if (!d) {
+      b = 1;
+      break a;
+     }
+     e = q[c + 36 >> 2];
+     if ((e | 0) == q[c + 12 >> 2]) {
+      q[c + 12 >> 2] = d;
+     }
+     f = q[c + 16 >> 2];
+     if (f) {
+      q[c + 16 >> 2] = d + (f - e | 0);
+     }
+     q[c + 36 >> 2] = d;
+     q[c + 40 >> 2] = d + j;
+     e = d + g | 0;
+     h = q[c + 8 >> 2];
+     d = q[c + 4 >> 2];
+    }
+    k = c, l = Y$(e, d, h), q[k + 4 >> 2] = l;
+    c = q[c >> 2];
+    if (c) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  q[a + 276 >> 2] = 969;
+  b = oW(a, 0, q[a + 144 >> 2], e, c, d, !r[a + 480 | 0]);
+  if (b) {
+   break a;
+  }
+  c = q[a + 360 >> 2];
+  b : {
+   if (!c) {
+    break b;
+   }
+   while (1) {
+    b = q[c + 4 >> 2];
+    f = q[c + 36 >> 2];
+    g = q[c + 24 >> 2] + 1 | 0;
+    d = f + g | 0;
+    if ((b | 0) == (d | 0)) {
+     break b;
+    }
+    e = q[c + 8 >> 2];
+    h = g + e | 0;
+    if ((h | 0) > (q[c + 40 >> 2] - f | 0)) {
+     b = n[q[a + 16 >> 2]](f, h) | 0;
+     if (!b) {
+      b = 1;
+      break a;
+     }
+     d = q[c + 36 >> 2];
+     if ((d | 0) == q[c + 12 >> 2]) {
+      q[c + 12 >> 2] = b;
+     }
+     e = q[c + 16 >> 2];
+     if (e) {
+      q[c + 16 >> 2] = b + (e - d | 0);
+     }
+     q[c + 36 >> 2] = b;
+     q[c + 40 >> 2] = b + h;
+     d = b + g | 0;
+     e = q[c + 8 >> 2];
+     b = q[c + 4 >> 2];
+    }
+    k = c, l = Y$(d, b, e), q[k + 4 >> 2] = l;
+    c = q[c >> 2];
+    if (c) {
+     continue;
+    }
+    break;
+   }
+  }
+  b = 0;
+ }
+ Ca = i + 16 | 0;
+ return b | 0;
+}
+function CM(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0;
+ d = Ca - 32 | 0;
+ Ca = d;
+ b = Z$(b, 0, 80);
+ e = q[a >> 2];
+ a : {
+  if (e >>> 0 > 3) {
+   break a;
+  }
+  b : {
+   c : {
+    switch (e - 1 | 0) {
+    default:
+     PL(q[(q[a + 8 >> 2] + (q[a + 24 >> 2] << 2) | 0) - -64 >> 2], v[a + 16 >> 3]);
+     c = TL(q[a + 8 >> 2], q[a + 24 >> 2], q[a + 28 >> 2], q[c + 88 >> 2], q[a + 40 >> 2]);
+     if (!c) {
+      break b;
+     }
+     if (!PN(b + 4 | 0, c + 20 | 0)) {
+      break a;
+     }
+     q[b + 68 >> 2] = q[c + 12 >> 2] + 512 >> 10;
+     GL(c);
+     RL(q[a + 8 >> 2], q[a + 24 >> 2], b + 72 | 0, b + 76 | 0);
+     break b;
+    case 0:
+     if (!cO(b + 4 | 0, d + 8 | 0, q[a + 8 >> 2], q[c >> 2])) {
+      break a;
+     }
+     q[b + 68 >> 2] = q[d + 16 >> 2] - q[d + 8 >> 2];
+     a = q[d + 12 >> 2];
+     c = q[d + 20 >> 2];
+     q[b + 76 >> 2] = 0;
+     q[b + 72 >> 2] = c - a;
+     break b;
+    case 1:
+     if (q[a + 24 >> 2] ? 0 : !q[a + 20 >> 2]) {
+      break b;
+     }
+     e = q[a + 8 >> 2];
+     if (!q[e + 4 >> 2]) {
+      break b;
+     }
+     if (!QN(d + 8 | 0, e + 4 | 0, q[a + 12 >> 2], q[a + 16 >> 2])) {
+      break a;
+     }
+     e = b + 4 | 0;
+     f = b + 28 | 0;
+     if (!XN(e, f, d + 8 | 0, q[a + 20 >> 2] << 4, q[a + 24 >> 2] << 4)) {
+      Yd(q[c >> 2], 2, 355372, 0);
+      ON(e);
+      ON(f);
+      ON(d + 8 | 0);
+      break a;
+     }
+     ON(d + 8 | 0);
+     break b;
+    case 2:
+     break c;
+    }
+   }
+   if (!NN(b + 4 | 0, 4, 4)) {
+    break a;
+   }
+   a = q[b + 20 >> 2];
+   q[a >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 64;
+   q[a + 20 >> 2] = 64;
+   q[a + 24 >> 2] = 0;
+   q[a + 12 >> 2] = 0;
+   q[a + 16 >> 2] = 64;
+   q[a + 28 >> 2] = 64;
+   o[q[b + 24 >> 2]] = 1;
+   o[q[b + 24 >> 2] + 1 | 0] = 1;
+   o[q[b + 24 >> 2] + 2 | 0] = 1;
+   o[q[b + 24 >> 2] + 3 | 0] = 5;
+   q[b + 4 >> 2] = 4;
+   q[b + 12 >> 2] = 4;
+  }
+  q[b + 64 >> 2] = -2147483648;
+  q[b + 52 >> 2] = 2147483647;
+  q[b + 56 >> 2] = 2147483647;
+  q[b + 60 >> 2] = -2147483648;
+  a = b + 52 | 0;
+  WN(b + 4 | 0, a);
+  WN(b + 28 | 0, a);
+  if (!(q[b + 56 >> 2] <= q[b + 64 >> 2] ? q[b + 52 >> 2] <= q[b + 60 >> 2] : 0)) {
+   q[a >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+   q[a + 12 >> 2] = 0;
+  }
+  o[b | 0] = 1;
+ }
+ Ca = d + 32 | 0;
+ return 1;
+}
+function SE(a) {
+ var b = 0, c = 0, d = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        h : {
+         b = a >>> 16 | 0;
+         if (!b) {
+          b = a >>> 8 | 0;
+          if (b >>> 0 <= 32) {
+           break h;
+          }
+          b = b + -254 | 0;
+          if (b >>> 0 > 1) {
+           break g;
+          }
+          if (b - 1) {
+           return (a | 0) == 65279 | (a & -16) == 65024;
+          }
+          return a + -65520 >>> 0 < 9;
+         }
+         b = b + -1 | 0;
+         if (b >>> 0 > 13) {
+          break g;
+         }
+         i : {
+          switch (b - 1 | 0) {
+          default:
+           return a + -119155 >>> 0 < 8;
+          case 12:
+           break i;
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 5:
+          case 6:
+          case 7:
+          case 8:
+          case 9:
+          case 10:
+          case 11:
+           break g;
+          }
+         }
+         return (a & -4096) == 917504;
+        }
+        j : {
+         switch (b - 1 | 0) {
+         case 31:
+          break j;
+         case 2:
+          break b;
+         case 5:
+          break c;
+         case 22:
+          break d;
+         case 23:
+          break e;
+         case 0:
+         case 1:
+         case 3:
+         case 4:
+         case 6:
+         case 7:
+         case 8:
+         case 9:
+         case 10:
+         case 11:
+         case 12:
+         case 13:
+         case 14:
+         case 15:
+         case 16:
+         case 17:
+         case 18:
+         case 19:
+         case 20:
+         case 21:
+         case 24:
+         case 25:
+         case 26:
+         case 27:
+         case 28:
+         case 29:
+         case 30:
+          break g;
+         default:
+          break a;
+         }
+        }
+        b = a + -8203 | 0;
+        if (b >>> 0 >= 36) {
+         break f;
+        }
+        d = 1;
+        c = b & 31;
+        if (!((32 <= (b & 63) >>> 0 ? 15 >>> c | 0 : ((1 << c) - 1 & 15) << 32 - c | -2147483617 >>> c) & 1)) {
+         break f;
+        }
+       }
+       return d;
+      }
+      return (a & -16) == 8288;
+     }
+     return a + -6155 >>> 0 < 4;
+    }
+    return (a & -2) == 6068;
+   }
+   return (a | 0) == 1564;
+  }
+  return (a | 0) == 847;
+ }
+ return (a | 0) == 173;
+}
+function AB(a, b, c) {
+ var d = 0, e = 0;
+ a : {
+  b : {
+   d = a + -17 | 0;
+   if (d >>> 0 > 13) {
+    if ((a | 0) != 263) {
+     if ((a | 0) != 292) {
+      break b;
+     }
+     a = q[b + 24 >> 2];
+     c : {
+      if (a) {
+       a = a + -1 | 0;
+       q[b + 24 >> 2] = a;
+       if (t[b + 32 >> 2] <= a >>> 0) {
+        a = q[67761];
+        d = q[67760];
+        q[160656] = d;
+        q[160657] = a;
+        f(0, d | 0);
+        f(1, a | 0);
+        e = +g();
+        break c;
+       }
+       e = v[q[b + 36 >> 2] + (a << 3) >> 3];
+       break c;
+      }
+      o[b + 20 | 0] = 1;
+      a = q[67761];
+      d = q[67760];
+      q[160656] = d;
+      q[160657] = a;
+      f(0, d | 0);
+      f(1, a | 0);
+      e = +g();
+     }
+     d : {
+      if (y(e) < 2147483648) {
+       a = ~~e;
+       break d;
+      }
+      a = -2147483648;
+     }
+     if ((a | 0) <= -1) {
+      o[b + 20 | 0] = 1;
+      a = 0;
+     }
+     q[c + 20 >> 2] = a;
+     break a;
+    }
+    break a;
+   }
+   e : {
+    switch (d - 1 | 0) {
+    case 12:
+     e = CB(b);
+     a = q[b + 24 >> 2];
+     if (a >>> 0 < t[b + 32 >> 2]) {
+      q[b + 24 >> 2] = a + 1;
+      v[q[b + 36 >> 2] + (a << 3) >> 3] = e;
+      return;
+     }
+     o[b + 20 | 0] = 1;
+     a = q[67761];
+     q[160656] = q[67760];
+     q[160657] = a;
+     v[80328] = e;
+     return;
+    case 11:
+     DB(b + 20 | 0, b);
+     return;
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+     break b;
+    default:
+     break e;
+    }
+   }
+   a = q[b + 24 >> 2];
+   f : {
+    if (a) {
+     a = a + -1 | 0;
+     q[b + 24 >> 2] = a;
+     if (t[b + 32 >> 2] <= a >>> 0) {
+      a = q[67761];
+      d = q[67760];
+      q[160656] = d;
+      q[160657] = a;
+      f(0, d | 0);
+      f(1, a | 0);
+      e = +g();
+      break f;
+     }
+     e = v[q[b + 36 >> 2] + (a << 3) >> 3];
+     break f;
+    }
+    o[b + 20 | 0] = 1;
+    a = q[67761];
+    d = q[67760];
+    q[160656] = d;
+    q[160657] = a;
+    f(0, d | 0);
+    f(1, a | 0);
+    e = +g();
+   }
+   g : {
+    if (y(e) < 2147483648) {
+     a = ~~e;
+     break g;
+    }
+    a = -2147483648;
+   }
+   if ((a | 0) <= -1) {
+    o[b + 20 | 0] = 1;
+    a = 0;
+   }
+   q[c + 16 >> 2] = a;
+   break a;
+  }
+  EB(a, b);
+  return;
+ }
+ q[b + 24 >> 2] = 0;
+}
+function ft(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0;
+ a : {
+  if ((b | 0) != 1196445523) {
+   h = 271040;
+   if ((b | 0) != 1196643650) {
+    break a;
+   }
+   a = q[Ws(a + 136 | 0) >> 2];
+   a = a ? a : 271040;
+   h = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+   break a;
+  }
+  a = q[Xs(a + 140 | 0) >> 2];
+  a = a ? a : 271040;
+  h = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+ }
+ a = r[h + 5 | 0] | r[h + 4 | 0] << 8;
+ a = a ? h + a | 0 : 271040;
+ b = (r[a + 1 | 0] | r[a | 0] << 8) >>> 0 > c >>> 0 ? (a + w(c, 6) | 0) + 2 | 0 : 271040;
+ b = r[b + 4 | 0] << 8 | r[b + 5 | 0];
+ a = b ? a + b | 0 : 271040;
+ b : {
+  c : {
+   if (d) {
+    while (1) {
+     b = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+     if (b) {
+      j = q[(i << 2) + e >> 2];
+      c = b + -1 | 0;
+      b = 0;
+      while (1) {
+       h = b + c >>> 1 | 0;
+       g = w(h, 6) + a | 0;
+       g = r[g + 4 | 0] | r[g + 5 | 0] << 8 | (r[g + 6 | 0] << 16 | r[g + 7 | 0] << 24);
+       g = g << 24 | g << 8 & 16711680 | (g >>> 8 & 65280 | g >>> 24);
+       d : {
+        if (g >>> 0 > j >>> 0) {
+         c = h + -1 | 0;
+         break d;
+        }
+        if ((g | 0) == (j | 0)) {
+         break c;
+        }
+        b = h + 1 | 0;
+       }
+       if ((b | 0) <= (c | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (f) {
+      q[f >> 2] = 65535;
+     }
+     i = i + 1 | 0;
+     if ((i | 0) != (d | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   e : {
+    f : {
+     b = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+     if (b) {
+      c = b + -1 | 0;
+      b = 0;
+      while (1) {
+       d = b + c >>> 1 | 0;
+       e = w(d, 6) + a | 0;
+       e = r[e + 4 | 0] | r[e + 5 | 0] << 8 | (r[e + 6 | 0] << 16 | r[e + 7 | 0] << 24);
+       e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+       g : {
+        if (e >>> 0 >= 1684434037) {
+         c = d + -1 | 0;
+         break g;
+        }
+        if ((e | 0) == 1684434036) {
+         break f;
+        }
+        b = d + 1 | 0;
+       }
+       if ((b | 0) <= (c | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (f) {
+      break e;
+     }
+     return;
+    }
+    if (!f) {
+     break b;
+    }
+    q[f >> 2] = d;
+    break b;
+   }
+   q[f >> 2] = 65535;
+   return;
+  }
+  if (!f) {
+   break b;
+  }
+  q[f >> 2] = h;
+ }
+}
+function qu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ a : {
+  c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (!yu(c ? c + a | 0 : 271040, q[b + 8 >> 2])) {
+   break a;
+  }
+  c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  e = c ? c + a | 0 : 271040;
+  c = r[e | 0] | r[e + 1 | 0] << 8;
+  i = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+  k = i >>> 0 > 1;
+  b : {
+   if (k) {
+    e = 0;
+    c = 0;
+    break b;
+   }
+   c = 0;
+   if (i - 1) {
+    break b;
+   }
+   d = e + 4 | 0;
+   h = r[e + 3 | 0] | r[e + 2 | 0] << 8;
+   c = h ? d : 271432;
+   f = (r[c + 1 | 0] | r[c | 0] << 8) >>> 0 > (r[c + 3 | 0] | r[c + 2 | 0] << 8) >>> 0 ? h : 0;
+   c = h ? r[e + 5 | 0] | r[d | 0] << 8 : 0;
+  }
+  h = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  a = a + 6 | 0;
+  l = q[b + 16 >> 2];
+  while (1) {
+   if (k) {
+    break a;
+   }
+   c : {
+    if (!(i - 1)) {
+     if (!h) {
+      break a;
+     }
+     if (f >>> 0 < (r[e + 3 | 0] | r[e + 2 | 0] << 8) >>> 0) {
+      break c;
+     }
+     break a;
+    }
+    if (!h | f >>> 0 >= (r[e + 3 | 0] | r[e + 2 | 0] << 8) >>> 0) {
+     break a;
+    }
+   }
+   d : {
+    if (r[l + 12 | 0] != 1) {
+     break d;
+    }
+    b = r[a | 0];
+    d = r[a + 1 | 0];
+    q[l + 16 >> 2] = -1;
+    b = d | b << 8;
+    g = nF(l, b);
+    if (!g) {
+     break d;
+    }
+    g = g + (b >>> 3 & 56) | 0;
+    b = g;
+    m = q[b + 4 >> 2];
+    n = b;
+    o = q[b >> 2];
+    g = d & 63;
+    d = g & 31;
+    if (32 <= (g & 63) >>> 0) {
+     g = 1 << d;
+     d = 0;
+    } else {
+     g = (1 << d) - 1 & 1 >>> 32 - d;
+     d = 1 << d;
+    }
+    q[n >> 2] = o | d;
+    q[b + 4 >> 2] = g | m;
+   }
+   e : {
+    if (k) {
+     break e;
+    }
+    if (i - 1) {
+     f = f + 1 | 0;
+     break e;
+    }
+    b = r[e + 3 | 0] | r[e + 2 | 0] << 8;
+    d = b >>> 0 > f >>> 0 ? (w(f, 6) + e | 0) + 4 | 0 : 271432;
+    if (c >>> 0 >= (r[d + 2 | 0] << 8 | r[d + 3 | 0]) >>> 0) {
+     f = f + 1 | 0;
+     if (f >>> 0 >= b >>> 0) {
+      break e;
+     }
+     c = b;
+     g = j + 1 | 0;
+     b = w(f, 6) + e | 0;
+     j = r[b + 8 | 0] << 8 | r[b + 9 | 0];
+     f = (g | 0) == (j | 0) ? f : c;
+     c = r[b + 5 | 0] | r[b + 4 | 0] << 8;
+     break e;
+    }
+    c = c + 1 | 0;
+    j = j + 1 | 0;
+   }
+   a = a + 2 | 0;
+   h = h + -1 | 0;
+   continue;
+  }
+ }
+}
+function $B(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ q[a + 12 >> 2] = 0;
+ q[a + 16 >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+ q[d + 16 >> 2] = 0;
+ q[d + 20 >> 2] = 0;
+ o[d + 21 | 0] = 0;
+ o[d + 22 | 0] = 0;
+ o[d + 23 | 0] = 0;
+ o[d + 24 | 0] = 0;
+ o[d + 25 | 0] = 0;
+ o[d + 26 | 0] = 0;
+ o[d + 27 | 0] = 0;
+ o[d + 28 | 0] = 0;
+ q[d + 32 >> 2] = 0;
+ q[d + 36 >> 2] = 0;
+ q[d + 8 >> 2] = 0;
+ q[d + 12 >> 2] = 0;
+ c = kF(b);
+ o[d + 44 | 0] = 1;
+ q[d + 40 >> 2] = c;
+ b = aC(d + 8 | 0, iF(b, 1886352244));
+ q[a >> 2] = b;
+ b = b ? b : 271040;
+ e = q[b + 16 >> 2];
+ c = e >>> 0 < 32 ? 271040 : q[b + 12 >> 2];
+ b = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+ b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+ q[a + 4 >> 2] = b;
+ a : {
+  if ((b | 0) != 131072) {
+   break a;
+  }
+  b = c + 32 | 0;
+  q[a + 8 >> 2] = b;
+  b = (b + (r[c + 33 | 0] << 1 | r[c + 32 | 0] << 9) | 0) + 2 | 0;
+  q[a + 24 >> 2] = b;
+  h = c + e | 0;
+  if (b >>> 0 >= h >>> 0) {
+   break a;
+  }
+  f = q[a + 16 >> 2];
+  if (f >>> 0 > 65534) {
+   break a;
+  }
+  i = q[67760];
+  while (1) {
+   if (r[b | 0] + b >>> 0 >= h >>> 0) {
+    break a;
+   }
+   j = b - q[a + 24 >> 2] | 0;
+   b : {
+    c : {
+     d : {
+      e = q[a + 12 >> 2];
+      if ((e | 0) >= 0) {
+       c = e;
+       g = (f | 0) < 0 ? 0 : f + 1 | 0;
+       if (c >>> 0 >= g >>> 0) {
+        break c;
+       }
+       while (1) {
+        c = ((c >>> 1 | 0) + c | 0) + 8 | 0;
+        if (c >>> 0 <= g >>> 0) {
+         continue;
+        }
+        break;
+       }
+       if (!(c >>> 0 < e >>> 0 | c >>> 0 > 1073741822)) {
+        e = O$(q[a + 20 >> 2], c << 2);
+        if (e) {
+         break d;
+        }
+       }
+       q[a + 12 >> 2] = -1;
+      }
+      q[160656] = i;
+      c = 642624;
+      break b;
+     }
+     q[a + 12 >> 2] = c;
+     q[a + 20 >> 2] = e;
+     f = q[a + 16 >> 2];
+    }
+    if (g >>> 0 > f >>> 0) {
+     Z$(q[a + 20 >> 2] + (f << 2) | 0, 0, g - f << 2);
+    }
+    q[a + 16 >> 2] = g;
+    c = (q[a + 20 >> 2] + (g << 2) | 0) + -4 | 0;
+   }
+   q[c >> 2] = j;
+   b = (r[b | 0] + b | 0) + 1 | 0;
+   if (b >>> 0 >= h >>> 0) {
+    break a;
+   }
+   f = q[a + 16 >> 2];
+   if (f >>> 0 < 65535) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 48 | 0;
+}
+function Cf(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ if (!a) {
+  return 35;
+ }
+ c = 6;
+ a : {
+  b : {
+   c : {
+    if (!b) {
+     break c;
+    }
+    if (!q[a + 96 >> 2]) {
+     return 34;
+    }
+    q[b >> 2] = 0;
+    e = q[a + 100 >> 2];
+    g = q[q[a + 96 >> 2] + 12 >> 2];
+    d = q[g + 40 >> 2];
+    d : {
+     if ((d | 0) <= 0) {
+      if (!d) {
+       break d;
+      }
+      break c;
+     }
+     f = n[q[e + 4 >> 2]](e, d) | 0;
+     if (!f) {
+      return 64;
+     }
+     Z$(f, 0, d);
+    }
+    e : {
+     d = n[q[e + 4 >> 2]](e, 12) | 0;
+     if (d) {
+      o[d | 0] = 0;
+      o[d + 1 | 0] = 0;
+      o[d + 2 | 0] = 0;
+      o[d + 3 | 0] = 0;
+      o[d + 4 | 0] = 0;
+      o[d + 5 | 0] = 0;
+      o[d + 6 | 0] = 0;
+      o[d + 7 | 0] = 0;
+      o[d + 8 | 0] = 0;
+      o[d + 9 | 0] = 0;
+      o[d + 10 | 0] = 0;
+      o[d + 11 | 0] = 0;
+      q[f >> 2] = a;
+      c = n[q[e + 4 >> 2]](e, 36) | 0;
+      if (c) {
+       break e;
+      }
+      c = 64;
+      break b;
+     }
+     c = 64;
+     if (f) {
+      break a;
+     }
+     break c;
+    }
+    o[c | 0] = 0;
+    o[c + 1 | 0] = 0;
+    o[c + 2 | 0] = 0;
+    o[c + 3 | 0] = 0;
+    o[c + 4 | 0] = 0;
+    o[c + 5 | 0] = 0;
+    o[c + 6 | 0] = 0;
+    o[c + 7 | 0] = 0;
+    o[c + 32 | 0] = 0;
+    o[c + 33 | 0] = 0;
+    o[c + 34 | 0] = 0;
+    o[c + 35 | 0] = 0;
+    o[c + 24 | 0] = 0;
+    o[c + 25 | 0] = 0;
+    o[c + 26 | 0] = 0;
+    o[c + 27 | 0] = 0;
+    o[c + 28 | 0] = 0;
+    o[c + 29 | 0] = 0;
+    o[c + 30 | 0] = 0;
+    o[c + 31 | 0] = 0;
+    o[c + 16 | 0] = 0;
+    o[c + 17 | 0] = 0;
+    o[c + 18 | 0] = 0;
+    o[c + 19 | 0] = 0;
+    o[c + 20 | 0] = 0;
+    o[c + 21 | 0] = 0;
+    o[c + 22 | 0] = 0;
+    o[c + 23 | 0] = 0;
+    o[c + 8 | 0] = 0;
+    o[c + 9 | 0] = 0;
+    o[c + 10 | 0] = 0;
+    o[c + 11 | 0] = 0;
+    o[c + 12 | 0] = 0;
+    o[c + 13 | 0] = 0;
+    o[c + 14 | 0] = 0;
+    o[c + 15 | 0] = 0;
+    q[f + 40 >> 2] = c;
+    c = q[g + 56 >> 2];
+    if (c) {
+     c = n[c](f) | 0;
+     if (c) {
+      break b;
+     }
+    }
+    q[b >> 2] = f;
+    q[d + 8 >> 2] = f;
+    e = a + 112 | 0;
+    b = q[e >> 2];
+    q[d >> 2] = b;
+    c = 0;
+    q[d + 4 >> 2] = 0;
+    q[(b ? b + 4 | 0 : a + 108 | 0) >> 2] = d;
+    q[e >> 2] = d;
+   }
+   return c;
+  }
+  n[q[e + 8 >> 2]](e, d);
+ }
+ n[q[e + 8 >> 2]](e, f);
+ return c;
+}
+function Bl(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ f = q[c >> 2];
+ q[g + 12 >> 2] = 0;
+ a : {
+  b : {
+   e = a + 5 | 0;
+   if (e >>> 0 > b >>> 0) {
+    break b;
+   }
+   d = r[a + 3 | 0];
+   h = r[a + 4 | 0];
+   a = q[c + 92 >> 2];
+   i = h + a | 0;
+   if (i >>> 0 > t[c + 96 >> 2]) {
+    j = f;
+    f = i + 3 & -4;
+    p = c, s = Te(j, 36, a, f, q[c + 100 >> 2], g + 12 | 0), q[p + 100 >> 2] = s;
+    a = q[g + 12 >> 2];
+    if (a) {
+     break a;
+    }
+    q[c + 96 >> 2] = f;
+   }
+   j = d & 1;
+   k = d & 2;
+   l = d & 4;
+   m = d & 8;
+   n = d & 16;
+   if (w((j | 8) + (k >>> 1 | 0) + (l >>> 2) + (m >>> 3) + (n >>> 4) | 0, h) + e >>> 0 > b >>> 0) {
+    break b;
+   }
+   i = q[c + 92 >> 2];
+   if (h) {
+    a = q[c + 100 >> 2] + w(i, 36) | 0;
+    while (1) {
+     d = a;
+     c : {
+      if (j) {
+       b = e + 2 | 0;
+       f = r[e + 1 | 0] | r[e | 0] << 8;
+       break c;
+      }
+      b = e + 1 | 0;
+      f = r[e | 0];
+     }
+     q[d >> 2] = f;
+     d = a;
+     d : {
+      if (k) {
+       e = b + 2 | 0;
+       b = r[b + 1 | 0] | r[b | 0] << 8;
+       break d;
+      }
+      e = b + 1 | 0;
+      b = r[b | 0];
+     }
+     q[d + 4 >> 2] = b;
+     q[a + 8 >> 2] = r[e | 0];
+     e : {
+      if (l) {
+       d = r[e + 2 | 0] << 8 | r[e + 1 | 0] << 16;
+       f = 3;
+       b = e + 4 | 0;
+       break e;
+      }
+      d = r[e + 1 | 0] << 8;
+      f = 2;
+      b = e + 3 | 0;
+     }
+     q[a + 20 >> 2] = r[e + f | 0] | d;
+     f : {
+      if (m) {
+       f = 2;
+       e = r[b + 1 | 0] << 8 | r[b | 0] << 16;
+       d = b + 3 | 0;
+       break f;
+      }
+      f = 1;
+      e = r[b | 0] << 8;
+      d = b + 2 | 0;
+     }
+     q[a + 24 >> 2] = e | r[b + f | 0];
+     b = a;
+     g : {
+      if (n) {
+       e = d + 2 | 0;
+       d = r[d + 1 | 0] | r[d | 0] << 8;
+       break g;
+      }
+      e = d + 1 | 0;
+      d = r[d | 0];
+     }
+     q[b + 28 >> 2] = d;
+     a = a + 36 | 0;
+     o = o + 1 | 0;
+     if ((h | 0) != (o | 0)) {
+      continue;
+     }
+     break;
+    }
+    a = q[g + 12 >> 2];
+   } else {
+    a = 0;
+   }
+   q[c + 92 >> 2] = h + i;
+   break a;
+  }
+  a = 8;
+  q[g + 12 >> 2] = 8;
+ }
+ Ca = g + 16 | 0;
+ return a | 0;
+}
+function yz(a, b, c) {
+ var d = 0, e = 0;
+ a : {
+  d = a + -10 | 0;
+  if (d >>> 0 > 19) {
+   break a;
+  }
+  b : {
+   switch (d - 1 | 0) {
+   default:
+    d = q[b + 24 >> 2] + -1 | 0;
+    c : {
+     if (t[b + 32 >> 2] <= d >>> 0) {
+      d = q[67767];
+      q[160662] = q[67766];
+      q[160663] = d;
+      d = q[67765];
+      q[160660] = q[67764];
+      q[160661] = d;
+      d = q[67763];
+      q[160658] = q[67762];
+      q[160659] = d;
+      d = q[67761];
+      q[160656] = q[67760];
+      q[160657] = d;
+      d = 642624;
+      break c;
+     }
+     d = q[b + 36 >> 2] + (d << 5) | 0;
+    }
+    if (!q[d + 20 >> 2]) {
+     break a;
+    }
+    o[b + 40 | 0] = 1;
+    return;
+   case 5:
+    zz(b);
+    return;
+   case 0:
+   case 1:
+   case 2:
+   case 3:
+   case 6:
+   case 7:
+   case 8:
+   case 9:
+   case 10:
+   case 11:
+   case 12:
+   case 13:
+   case 14:
+   case 15:
+   case 16:
+   case 17:
+    break a;
+   case 4:
+    break b;
+   }
+  }
+  c = q[b + 32 >> 2];
+  a = q[b + 24 >> 2] + -1 | 0;
+  d : {
+   if (c >>> 0 <= a >>> 0) {
+    a = q[67767];
+    q[160662] = q[67766];
+    q[160663] = a;
+    a = q[67765];
+    q[160660] = q[67764];
+    q[160661] = a;
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break d;
+   }
+   a = q[b + 36 >> 2] + (a << 5) | 0;
+  }
+  if (q[a + 20 >> 2]) {
+   o[b + 40 | 0] = 1;
+   return;
+  }
+  a = q[b + 24 >> 2];
+  e : {
+   f : {
+    if (a) {
+     a = a + -1 | 0;
+     q[b + 24 >> 2] = a;
+     if (c >>> 0 <= a >>> 0) {
+      break f;
+     }
+     a = q[b + 36 >> 2] + (a << 5) | 0;
+     break e;
+    }
+    o[b + 20 | 0] = 1;
+   }
+   a = q[67767];
+   q[160662] = q[67766];
+   q[160663] = a;
+   a = q[67765];
+   q[160660] = q[67764];
+   q[160661] = a;
+   a = q[67763];
+   q[160658] = q[67762];
+   q[160659] = a;
+   a = q[67761];
+   q[160656] = q[67760];
+   q[160657] = a;
+   a = 642624;
+  }
+  e = v[a >> 3];
+  g : {
+   if (y(e) < 2147483648) {
+    a = ~~e;
+    break g;
+   }
+   a = -2147483648;
+  }
+  if ((a | 0) <= -1) {
+   o[b + 20 | 0] = 1;
+   a = 0;
+  }
+  h : {
+   if (!(r[b + 178 | 0] ? 0 : !r[b + 177 | 0])) {
+    o[b + 40 | 0] = 1;
+    break h;
+   }
+   q[b + 160 >> 2] = a;
+  }
+  q[b + 24 >> 2] = 0;
+  o[b + 177 | 0] = 1;
+  return;
+ }
+ Az(a, b, c);
+}
+function Pj(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ f = q[a + 100 >> 2];
+ q[e + 12 >> 2] = 0;
+ d = q[a + 532 >> 2];
+ a : {
+  if (!d) {
+   d = Oe(f, 420, e + 12 | 0);
+   if (q[e + 12 >> 2]) {
+    break a;
+   }
+   q[d + 416 >> 2] = 0;
+   q[a + 532 >> 2] = d;
+  }
+  b : {
+   c : {
+    if (!b) {
+     break c;
+    }
+    g = q[d >> 2];
+    if (!g) {
+     k = d, l = Te(f, 32, 0, b, 0, e + 12 | 0), q[k + 148 >> 2] = l;
+     if (q[e + 12 >> 2]) {
+      break a;
+     }
+     k = d, l = Te(f, 196, 0, b, 0, e + 12 | 0), q[k + 216 >> 2] = l;
+     if (q[e + 12 >> 2]) {
+      break a;
+     }
+     k = d, l = Te(f, 16, 0, b, 0, e + 12 | 0), q[k + 288 >> 2] = l;
+     if (q[e + 12 >> 2]) {
+      break a;
+     }
+     g = Te(f, 4, 0, b << 1, 0, e + 12 | 0);
+     q[d + 136 >> 2] = g;
+     if (q[e + 12 >> 2]) {
+      break a;
+     }
+     q[d + 284 >> 2] = a + 464;
+     q[d + 212 >> 2] = a + 168;
+     q[d + 144 >> 2] = a + 132;
+     q[d + 140 >> 2] = g + (b << 2);
+     if (b >>> 0 >= 2) {
+      g = q[d + 288 >> 2];
+      h = q[d + 216 >> 2];
+      i = q[d + 148 >> 2];
+      a = 2;
+      while (1) {
+       j = (a << 2) + d | 0;
+       g = g + 16 | 0;
+       q[j + 284 >> 2] = g;
+       h = h + 196 | 0;
+       q[j + 212 >> 2] = h;
+       i = i + 32 | 0;
+       q[j + 144 >> 2] = i;
+       a = a + 1 | 0;
+       if (a >>> 0 <= b >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     q[d >> 2] = b;
+     break c;
+    }
+    if ((b | 0) != (g | 0)) {
+     break b;
+    }
+   }
+   a = q[d + 4 >> 2];
+   d : {
+    if (!c) {
+     c = a;
+     break d;
+    }
+    if ((a | 0) != (c | 0) ? a : 0) {
+     break b;
+    }
+    q[d + 4 >> 2] = c;
+   }
+   b = q[d >> 2];
+   if (q[d + 24 >> 2] | (!b | !c)) {
+    break a;
+   }
+   f = Te(f, 4, 0, w(b, c), 0, e + 12 | 0);
+   q[d + 24 >> 2] = f;
+   if (q[e + 12 >> 2]) {
+    break a;
+   }
+   a = 2;
+   if (b >>> 0 < 2) {
+    break a;
+   }
+   q[d + 28 >> 2] = f + (c << 2);
+   if ((b | 0) == 2) {
+    break a;
+   }
+   f = d + 24 | 0;
+   while (1) {
+    q[f + (a << 2) >> 2] = q[d + 24 >> 2] + (w(a, c) << 2);
+    a = a + 1 | 0;
+    if ((b | 0) != (a | 0)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  q[e + 12 >> 2] = 3;
+ }
+ Ca = e + 16 | 0;
+ return q[e + 12 >> 2];
+}
+function NA(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ e = Ca - 32 | 0;
+ Ca = e;
+ a : {
+  if (t[b + 4 >> 2] <= c >>> 0) {
+   q[a + 16 >> 2] = 271040;
+   q[a + 8 >> 2] = 0;
+   q[a + 12 >> 2] = -1;
+   q[a >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   b = s[135520];
+   c = b << 24 | b << 8 & 16711680;
+   if (!((c | (b >>> 8 & 65280 | b >>> 24)) >>> 16)) {
+    q[a + 20 >> 2] = 0;
+    break a;
+   }
+   if (c >> 16 >= 1) {
+    q[a + 20 >> 2] = 1;
+    break a;
+   }
+   q[a + 20 >> 2] = 2;
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  d = q[(d ? d : 271040) + 12 >> 2];
+  b : {
+   c : {
+    if (r[b | 0]) {
+     d = d + (c << 1) | 0;
+     f = r[d + 1 | 0] << 1 | r[d | 0] << 9;
+     d = r[d + 3 | 0] << 1 | r[d + 2 | 0] << 9;
+     break c;
+    }
+    d = d + (c << 2) | 0;
+    f = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+    f = f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24);
+    d = r[d + 4 | 0] | r[d + 5 | 0] << 8 | (r[d + 6 | 0] << 16 | r[d + 7 | 0] << 24);
+    d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   }
+   if (d >>> 0 >= f >>> 0) {
+    b = q[b + 12 >> 2];
+    b = b ? b : 271040;
+    if (d >>> 0 <= t[b + 16 >> 2]) {
+     break b;
+    }
+   }
+   q[a + 16 >> 2] = 271040;
+   q[a + 8 >> 2] = 0;
+   q[a + 12 >> 2] = -1;
+   q[a >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   b = s[135520];
+   c = b << 24 | b << 8 & 16711680;
+   if (!((c | (b >>> 8 & 65280 | b >>> 24)) >>> 16)) {
+    q[a + 20 >> 2] = 0;
+    break a;
+   }
+   if (c >> 16 >= 1) {
+    q[a + 20 >> 2] = 1;
+    break a;
+   }
+   q[a + 20 >> 2] = 2;
+   break a;
+  }
+  b = q[b + 12 >> 2];
+  q[e + 20 >> 2] = c;
+  q[e + 16 >> 2] = 0;
+  c = d - f | 0;
+  q[e + 12 >> 2] = c;
+  b = b + f | 0;
+  q[e + 8 >> 2] = b;
+  b = c >>> 0 < 10 ? 271040 : b;
+  q[e + 24 >> 2] = b;
+  b = r[b | 0] | r[b + 1 | 0] << 8;
+  c = b << 24 | b << 8 & 16711680;
+  d : {
+   if (!((c | (b >>> 8 & 65280 | b >>> 24)) >>> 16)) {
+    q[e + 28 >> 2] = 0;
+    break d;
+   }
+   if (c >> 16 >= 1) {
+    q[e + 28 >> 2] = 1;
+    break d;
+   }
+   q[e + 28 >> 2] = 2;
+  }
+  b = q[e + 12 >> 2];
+  q[a >> 2] = q[e + 8 >> 2];
+  q[a + 4 >> 2] = b;
+  b = q[e + 28 >> 2];
+  q[a + 16 >> 2] = q[e + 24 >> 2];
+  q[a + 20 >> 2] = b;
+  b = q[e + 20 >> 2];
+  q[a + 8 >> 2] = q[e + 16 >> 2];
+  q[a + 12 >> 2] = b;
+ }
+ Ca = e + 32 | 0;
+}
+function Ey(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0;
+ e = q[a + 12 >> 2];
+ q[d >> 2] = 0;
+ a : {
+  if (!(!b | !c)) {
+   f = 1;
+   if (n[q[e + 36 >> 2]](e, b, c, d, q[e + 68 >> 2])) {
+    break a;
+   }
+  }
+  if (r[q[a >> 2] + 140 | 0] & 16) {
+   return 0;
+  }
+  a = c + -1460 | 0;
+  if (a >>> 0 > 14) {
+   return 0;
+  }
+  f = 0;
+  b : {
+   c : {
+    switch (a - 1 | 0) {
+    default:
+     if ((b | 0) != 1497) {
+      break a;
+     }
+     q[d >> 2] = 64285;
+     break b;
+    case 2:
+     if ((b | 0) != 1488) {
+      if ((b | 0) != 1522) {
+       break a;
+      }
+      q[d >> 2] = 64287;
+      break b;
+     }
+     q[d >> 2] = 64302;
+     break b;
+    case 3:
+     if ((b | 0) != 1488) {
+      break a;
+     }
+     q[d >> 2] = 64303;
+     break b;
+    case 4:
+     if ((b | 0) != 1493) {
+      break a;
+     }
+     q[d >> 2] = 64331;
+     break b;
+    case 7:
+     a = b + -1488 | 0;
+     if (a >>> 0 <= 26) {
+      q[d >> 2] = q[(a << 2) + 236320 >> 2];
+      return 131817343 >>> a & 1;
+     }
+     a = b + -64298 | 0;
+     if (a >>> 0 > 1) {
+      break a;
+     }
+     if (a - 1) {
+      q[d >> 2] = 64300;
+      break b;
+     }
+     q[d >> 2] = 64301;
+     break b;
+    case 10:
+     a = b + -1489 | 0;
+     if (a >>> 0 > 19) {
+      return 0;
+     }
+     d : {
+      switch (a - 1 | 0) {
+      default:
+       q[d >> 2] = 64332;
+       break b;
+      case 9:
+       q[d >> 2] = 64333;
+       break b;
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 8:
+      case 10:
+      case 11:
+      case 12:
+      case 13:
+      case 14:
+      case 15:
+      case 16:
+      case 17:
+       break a;
+      case 18:
+       break d;
+      }
+     }
+     q[d >> 2] = 64334;
+     break b;
+    case 12:
+     if ((b | 0) != 64329) {
+      if ((b | 0) != 1513) {
+       break a;
+      }
+      q[d >> 2] = 64298;
+      break b;
+     }
+     q[d >> 2] = 64300;
+     break b;
+    case 0:
+    case 1:
+    case 5:
+    case 6:
+    case 8:
+    case 9:
+    case 11:
+     break a;
+    case 13:
+     break c;
+    }
+   }
+   if ((b | 0) != 64329) {
+    if ((b | 0) != 1513) {
+     break a;
+    }
+    q[d >> 2] = 64299;
+    break b;
+   }
+   q[d >> 2] = 64301;
+  }
+  f = 1;
+ }
+ return f | 0;
+}
+function PB(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ q[e + 12 >> 2] = c;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 <= 3) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  q[e + 8 >> 2] = 0;
+  if (!SB(a, b, e + 12 | 0)) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  if (!d) {
+   break a;
+  }
+  f = d << 24;
+  g = r[a + 3 | 0] | (f | r[a + 1 | 0] << 16 | r[a + 2 | 0] << 8);
+  c = g ? a + 4 | 0 : 271040;
+  c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+  if (c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) {
+   break a;
+  }
+  c = 1;
+  f = f | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  if (f >>> 0 > 1) {
+   while (1) {
+    h = w(c, 6) + a | 0;
+    d = g >>> 0 > c + -1 >>> 0 ? h + -2 | 0 : 271040;
+    d = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+    i = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+    d = g >>> 0 > c >>> 0 ? h + 4 | 0 : 271040;
+    d = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+    if (i >>> 0 >= (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) >>> 0) {
+     break a;
+    }
+    c = c + 1 | 0;
+    if ((f | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = f + -1 | 0;
+  c = (g >>> 0 > c >>> 0 ? (w(c, 6) + a | 0) + 4 | 0 : 271040) + 6 | 0;
+  if (t[b + 4 >> 2] > c >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < c >>> 0 | d - c >>> 0 < 4) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = c << 24;
+  Ca = e + 16 | 0;
+  c = (d | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) + -1 | 0;
+  a = (r[a + 3 | 0] | (d | r[a + 1 | 0] << 16 | r[a + 2 | 0] << 8)) >>> 0 > c >>> 0 ? (w(c, 6) + a | 0) + 4 | 0 : 271040;
+  a = r[a + 6 | 0] | r[a + 7 | 0] << 8 | (r[a + 8 | 0] << 16 | r[a + 9 | 0] << 24);
+  return q[b + 32 >> 2] == (a << 8 & 16711680 | a << 24 | (a >>> 8 & 65280 | a >>> 24));
+ }
+ Ca = e + 16 | 0;
+ return 0;
+}
+function MH(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ h = Ca - 16 | 0;
+ f = 1;
+ d = q[a >> 2];
+ a : {
+  b : {
+   if (d >>> 0 > 1) {
+    while (1) {
+     d = f;
+     while (1) {
+      e = w(d, 12) + b | 0;
+      g = e + -12 | 0;
+      if (q[e >> 2] < q[g >> 2]) {
+       i = h + 8 | 0;
+       j = e + 8 | 0;
+       q[i >> 2] = q[j >> 2];
+       k = q[e + 4 >> 2];
+       q[h >> 2] = q[e >> 2];
+       q[h + 4 >> 2] = k;
+       k = j;
+       j = g + 8 | 0;
+       q[k >> 2] = q[j >> 2];
+       k = q[g + 4 >> 2];
+       q[e >> 2] = q[g >> 2];
+       q[e + 4 >> 2] = k;
+       q[j >> 2] = q[i >> 2];
+       e = q[h + 4 >> 2];
+       q[g >> 2] = q[h >> 2];
+       q[g + 4 >> 2] = e;
+       d = d + -1 | 0;
+       if (d) {
+        continue;
+       }
+      }
+      break;
+     }
+     f = f + 1 | 0;
+     i = q[a >> 2];
+     if (f >>> 0 < i >>> 0) {
+      continue;
+     }
+     break;
+    }
+    f = 1;
+    if (i >>> 0 < 2) {
+     break b;
+    }
+    j = i + -1 | 0;
+    k = q[b >> 2];
+    g = 0;
+    d = 1;
+    while (1) {
+     l = (d | 0) == (j | 0);
+     m = q[w(d, 12) + b >> 2] - k | 0;
+     c : {
+      if ((m | 0) <= (c | 0) ? !l : 0) {
+       break c;
+      }
+      h = 0;
+      e = g;
+      f = e;
+      d = (l & (m | 0) <= (c | 0)) + d | 0;
+      if (e >>> 0 < d >>> 0) {
+       while (1) {
+        f = w(e, 12) + b | 0;
+        l = q[f >> 2];
+        q[f >> 2] = 0;
+        h = h + l | 0;
+        e = e + 1 | 0;
+        if ((d | 0) != (e | 0)) {
+         continue;
+        }
+        break;
+       }
+       f = d;
+      }
+      q[w(g, 12) + b >> 2] = (h | 0) / (f | 0);
+      if (d >>> 0 >= j >>> 0) {
+       break c;
+      }
+      g = d + 1 | 0;
+      k = q[w(g, 12) + b >> 2];
+     }
+     f = 1;
+     d = d + 1 | 0;
+     if (d >>> 0 < i >>> 0) {
+      continue;
+     }
+     break;
+    }
+    e = 1;
+    while (1) {
+     c = w(e, 12) + b | 0;
+     if (q[c >> 2]) {
+      g = q[c + 4 >> 2];
+      d = w(f, 12) + b | 0;
+      q[d >> 2] = q[c >> 2];
+      q[d + 4 >> 2] = g;
+      q[d + 8 >> 2] = q[c + 8 >> 2];
+      i = q[a >> 2];
+      f = f + 1 | 0;
+     }
+     e = e + 1 | 0;
+     if (e >>> 0 < i >>> 0) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   }
+   if (!(d - 1)) {
+    break a;
+   }
+  }
+  q[a >> 2] = f;
+ }
+}
+function rR(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = Ca + -64 | 0;
+ Ca = f;
+ qR();
+ a : {
+  if (!a) {
+   break a;
+  }
+  c = 643312;
+  e = q[160844];
+  if ((e | 0) >= 1) {
+   while (1) {
+    d = e;
+    e = d + -1 | 0;
+    g = e << 2;
+    b = q[g + c >> 2];
+    if (!(!b | q[b >> 2] + q[b + 8 >> 2] >>> 0 > a >>> 0)) {
+     while (1) {
+      c = b;
+      b = q[(b + g | 0) + 40 >> 2];
+      if (q[b >> 2] + q[b + 8 >> 2] >>> 0 <= a >>> 0 ? b : 0) {
+       continue;
+      }
+      break;
+     }
+     c = c + 40 | 0;
+    }
+    if ((d | 0) > 1) {
+     continue;
+    }
+    break;
+   }
+  }
+  b = q[c >> 2];
+  if (!b | q[b >> 2] + q[b + 8 >> 2] >>> 0 <= a >>> 0) {
+   break a;
+  }
+  a = q[b + 4 >> 2];
+  q[b + 4 >> 2] = a + -1;
+  if ((a | 0) != 1) {
+   break a;
+  }
+  h = q[b >> 2];
+  d = q[160844];
+  b : {
+   if ((d | 0) > 0) {
+    e = 643312;
+    c = d;
+    while (1) {
+     g = c;
+     c = c + -1 | 0;
+     i = c << 2;
+     a = i + e | 0;
+     b = q[a >> 2];
+     if (!(!b | t[b >> 2] >= h >>> 0)) {
+      while (1) {
+       e = b;
+       a = (b + i | 0) + 40 | 0;
+       b = q[a >> 2];
+       if (t[b >> 2] < h >>> 0 ? b : 0) {
+        continue;
+       }
+       break;
+      }
+      e = e + 40 | 0;
+     }
+     q[f + i >> 2] = a;
+     if ((g | 0) > 1) {
+      continue;
+     }
+     break;
+    }
+    a = q[e >> 2];
+    c = q[f >> 2];
+    c : {
+     if ((a | 0) != q[c >> 2]) {
+      break c;
+     }
+     b = 0;
+     while (1) {
+      q[c >> 2] = q[((b << 2) + a | 0) + 40 >> 2];
+      b = b + 1 | 0;
+      d = q[160844];
+      if ((b | 0) >= (d | 0)) {
+       break c;
+      }
+      c = q[(b << 2) + f >> 2];
+      if (q[c >> 2] == (a | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    if ((d | 0) < 1) {
+     break b;
+    }
+    while (1) {
+     b = d + -1 | 0;
+     if (q[(b << 2) + 643312 >> 2]) {
+      break b;
+     }
+     q[160844] = b;
+     c = (d | 0) > 1;
+     d = b;
+     if (c) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   }
+   a = q[160828];
+  }
+  if (a) {
+   b = q[a + 12 >> 2];
+   if (b) {
+    while (1) {
+     d = q[b >> 2];
+     M$(b);
+     b = d;
+     if (b) {
+      continue;
+     }
+     break;
+    }
+   }
+   M$(a);
+  }
+  if (q[h >> 2] != -66913275) {
+   break a;
+  }
+  M$(h);
+ }
+ Ca = f - -64 | 0;
+}
+function x_(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ c = q[a + 4 >> 2];
+ a : {
+  if (c >>> 0 < t[a + 104 >> 2]) {
+   q[a + 4 >> 2] = c + 1;
+   c = r[c | 0];
+   break a;
+  }
+  c = p_(a);
+ }
+ d = c + -43 | 0;
+ b : {
+  if (!(d - 1 | 0 ? d >>> 0 <= 2 : 0)) {
+   d = c + -48 | 0;
+   break b;
+  }
+  f = (c | 0) == 45;
+  b = !b;
+  c = q[a + 4 >> 2];
+  c : {
+   if (c >>> 0 < t[a + 104 >> 2]) {
+    q[a + 4 >> 2] = c + 1;
+    c = r[c | 0];
+    break c;
+   }
+   c = p_(a);
+  }
+  d = c + -48 | 0;
+  if (!(b | d >>> 0 < 10 | !q[a + 104 >> 2])) {
+   q[a + 4 >> 2] = q[a + 4 >> 2] + -1;
+  }
+ }
+ d : {
+  if (d >>> 0 < 10) {
+   d = 0;
+   while (1) {
+    d = w(d, 10) + c | 0;
+    b = q[a + 4 >> 2];
+    e : {
+     if (b >>> 0 < t[a + 104 >> 2]) {
+      q[a + 4 >> 2] = b + 1;
+      c = r[b | 0];
+      break e;
+     }
+     c = p_(a);
+    }
+    e = c + -48 | 0;
+    d = d + -48 | 0;
+    if ((d | 0) < 214748364 ? e >>> 0 <= 9 : 0) {
+     continue;
+    }
+    break;
+   }
+   b = d;
+   d = d >> 31;
+   f : {
+    if (e >>> 0 >= 10) {
+     break f;
+    }
+    while (1) {
+     d = T0(b, d, 10, 0);
+     c = d + c | 0;
+     b = Ea;
+     b = c >>> 0 < d >>> 0 ? b + 1 | 0 : b;
+     c = c + -48 | 0;
+     d = b + -1 | 0;
+     d = c >>> 0 < 4294967248 ? d + 1 | 0 : d;
+     b = c;
+     c = q[a + 4 >> 2];
+     g : {
+      if (c >>> 0 < t[a + 104 >> 2]) {
+       q[a + 4 >> 2] = c + 1;
+       c = r[c | 0];
+       break g;
+      }
+      c = p_(a);
+     }
+     e = c + -48 | 0;
+     if (e >>> 0 > 9) {
+      break f;
+     }
+     if ((d | 0) < 21474836 ? 1 : (d | 0) <= 21474836 ? b >>> 0 >= 2061584302 ? 0 : 1 : 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (e >>> 0 < 10) {
+    while (1) {
+     c = q[a + 4 >> 2];
+     h : {
+      if (c >>> 0 < t[a + 104 >> 2]) {
+       q[a + 4 >> 2] = c + 1;
+       c = r[c | 0];
+       break h;
+      }
+      c = p_(a);
+     }
+     if (c + -48 >>> 0 < 10) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (q[a + 104 >> 2]) {
+    q[a + 4 >> 2] = q[a + 4 >> 2] + -1;
+   }
+   a = b;
+   b = f ? 0 - a | 0 : a;
+   d = f ? 0 - (d + (0 < a >>> 0) | 0) | 0 : d;
+   break d;
+  }
+  b = 0;
+  d = -2147483648;
+  if (!q[a + 104 >> 2]) {
+   break d;
+  }
+  q[a + 4 >> 2] = q[a + 4 >> 2] + -1;
+  Ea = -2147483648;
+  return 0;
+ }
+ Ea = d;
+ return b;
+}
+function wG(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  if (q[a + 20 >> 2] == 2) {
+   if (c - b >>> 0 < 2 | c >>> 0 <= b >>> 0) {
+    break a;
+   }
+   g = q[a + 88 >> 2];
+   e = -1;
+   d = b;
+   while (1) {
+    f = q[(g + w(d, 20) | 0) + 8 >> 2];
+    e = e >>> 0 > f >>> 0 ? f : e;
+    d = d + 1 | 0;
+    if ((d | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   while (1) {
+    d = g + w(b, 20) | 0;
+    if (q[d + 8 >> 2] != (e | 0)) {
+     q[a + 32 >> 2] = q[a + 32 >> 2] | 16;
+     q[d + 4 >> 2] = q[d + 4 >> 2] | 1;
+    }
+    b = b + 1 | 0;
+    if ((c | 0) != (b | 0)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  i = q[a + 88 >> 2];
+  g = q[(i + w(b, 20) | 0) + 8 >> 2];
+  e = g;
+  d = b + 1 | 0;
+  if (d >>> 0 < c >>> 0) {
+   e = g;
+   while (1) {
+    f = q[(i + w(d, 20) | 0) + 8 >> 2];
+    e = e >>> 0 > f >>> 0 ? f : e;
+    d = d + 1 | 0;
+    if ((d | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = q[a + 76 >> 2];
+  b : {
+   if (d >>> 0 <= c >>> 0) {
+    break b;
+   }
+   while (1) {
+    f = i + w(c, 20) | 0;
+    if (q[f + -12 >> 2] != q[f + 8 >> 2]) {
+     break b;
+    }
+    c = c + 1 | 0;
+    if (c >>> 0 < d >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  h = q[a + 72 >> 2];
+  f = h >>> 0 < b >>> 0 ? h : b;
+  while (1) {
+   c : {
+    d = b;
+    if (h >>> 0 >= d >>> 0) {
+     d = f;
+     break c;
+    }
+    b = d + -1 | 0;
+    if ((g | 0) == q[(i + w(b, 20) | 0) + 8 >> 2]) {
+     continue;
+    }
+   }
+   break;
+  }
+  d : {
+   if ((d | 0) != (h | 0)) {
+    break d;
+   }
+   b = q[a + 80 >> 2];
+   if (!b) {
+    break d;
+   }
+   g = (i + w(h, 20) | 0) + 8 | 0;
+   f = q[a + 92 >> 2];
+   while (1) {
+    b = b + -1 | 0;
+    a = w(b, 20) + f | 0;
+    h = q[a + 8 >> 2];
+    if ((h | 0) != q[g >> 2]) {
+     break d;
+    }
+    j = a + 8 | 0;
+    if ((e | 0) != (h | 0)) {
+     q[a + 4 >> 2] = q[a + 4 >> 2] & -2;
+    }
+    q[j >> 2] = e;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (d >>> 0 >= c >>> 0) {
+   break a;
+  }
+  while (1) {
+   a = i + w(d, 20) | 0;
+   b = a + 8 | 0;
+   if (q[a + 8 >> 2] != (e | 0)) {
+    q[a + 4 >> 2] = q[a + 4 >> 2] & -2;
+   }
+   q[b >> 2] = e;
+   d = d + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function qX() {
+ var a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;
+ e = Ca - 4112 | 0;
+ Ca = e;
+ b = L$(88);
+ a : {
+  if (!b) {
+   break a;
+  }
+  a = GQ();
+  q[b >> 2] = a;
+  if (a) {
+   a = GQ();
+   q[b + 4 >> 2] = a;
+   if (a) {
+    a = GQ();
+    q[b + 16 >> 2] = a;
+    if (a) {
+     a = GQ();
+     q[b + 8 >> 2] = a;
+     if (a) {
+      a = GQ();
+      q[b + 36 >> 2] = a;
+      if (a) {
+       a = GQ();
+       q[b + 40 >> 2] = a;
+       if (a) {
+        a = qP();
+        q[b + 44 >> 2] = a;
+        if (a) {
+         a = qP();
+         q[b + 48 >> 2] = a;
+         if (a) {
+          a = GQ();
+          q[b + 12 >> 2] = a;
+          if (a) {
+           a = KW(983);
+           q[b + 20 >> 2] = a;
+           c = KW(983);
+           q[b + 24 >> 2] = c;
+           d = KW(983);
+           q[b + 28 >> 2] = d;
+           b : {
+            if (!a | (!d | !c)) {
+             break b;
+            }
+            q[b + 52 >> 2] = 0;
+            q[b + 56 >> 2] = 0;
+            q[b + 32 >> 2] = 0;
+            a = V(0) | 0;
+            q[b + 72 >> 2] = 0;
+            q[b + 64 >> 2] = 30;
+            q[b + 60 >> 2] = a;
+            a = b;
+            c = j$(502974);
+            if (c) {
+             d = HY(c, e);
+             c = CQ(d ? d : c);
+            } else {
+             c = 0;
+            }
+            q[a + 76 >> 2] = c;
+            a = KW(983);
+            q[b + 84 >> 2] = a;
+            if (!a) {
+             break b;
+            }
+            a = GQ();
+            q[b + 80 >> 2] = a;
+            if (a) {
+             q[b + 68 >> 2] = 1;
+             f = b;
+             break a;
+            }
+            LW(q[b + 84 >> 2]);
+           }
+           a = q[b + 20 >> 2];
+           if (a) {
+            LW(a);
+           }
+           a = q[b + 24 >> 2];
+           if (a) {
+            LW(a);
+           }
+           a = q[b + 28 >> 2];
+           if (a) {
+            LW(a);
+           }
+           BQ(q[b + 12 >> 2]);
+          }
+          rP(q[b + 48 >> 2]);
+         }
+         rP(q[b + 44 >> 2]);
+        }
+        BQ(q[b + 40 >> 2]);
+       }
+       BQ(q[b + 36 >> 2]);
+      }
+      BQ(q[b + 8 >> 2]);
+     }
+     BQ(q[b + 16 >> 2]);
+    }
+    BQ(q[b + 4 >> 2]);
+   }
+   BQ(q[b >> 2]);
+  }
+  M$(b);
+ }
+ Ca = e + 4112 | 0;
+ return f;
+}
+function aF(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ h = q[b + 4 >> 2];
+ a : {
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0) {
+   break a;
+  }
+  i = e - a | 0;
+  if (i >>> 0 < 4) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+     c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+     if ((c | 0) <= 1953658212) {
+      if ((c | 0) == 256) {
+       break b;
+      }
+      if ((c | 0) == 65536 | (c | 0) == 1330926671) {
+       break d;
+      }
+      g = 1;
+      break a;
+     }
+     if ((c | 0) == 1954115633) {
+      break d;
+     }
+     if ((c | 0) == 1953784678) {
+      break c;
+     }
+     if ((c | 0) == 1953658213) {
+      break d;
+     }
+     g = 1;
+     break a;
+    }
+    if (i >>> 0 < 12) {
+     break a;
+    }
+    q[b + 12 >> 2] = d + -2;
+    if ((d | 0) < 2) {
+     break a;
+    }
+    c = a + 4 | 0;
+    if (h >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 8) {
+     break a;
+    }
+    q[b + 12 >> 2] = d + -3;
+    if ((d | 0) < 3) {
+     break a;
+    }
+    c = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+    if (c) {
+     a = a + 12 | 0;
+     if (h >>> 0 > a >>> 0 | e >>> 0 < a >>> 0 | e - a >>> 0 < c << 4 >>> 0) {
+      break a;
+     }
+     q[b + 12 >> 2] = d + -4;
+     if ((d | 0) < 4) {
+      break a;
+     }
+    }
+    g = 1;
+    break a;
+   }
+   c = a + 4 | 0;
+   if (h >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 4) {
+    break a;
+   }
+   q[b + 12 >> 2] = d + -2;
+   if ((d | 0) < 2) {
+    break a;
+   }
+   g = 1;
+   if ((r[a + 5 | 0] | r[a + 4 | 0] << 8) + -1 >>> 0 > 1) {
+    break a;
+   }
+   q[f + 12 >> 2] = a;
+   g = wF(a + 8 | 0, b, f + 12 | 0);
+   break a;
+  }
+  if (i >>> 0 <= 15) {
+   break a;
+  }
+  q[b + 12 >> 2] = d + -2;
+  if ((d | 0) < 2) {
+   break a;
+  }
+  if (!xF(a, b, a, a + 8 | 0)) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  q[f + 8 >> 2] = (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + a;
+  g = yF(a + 4 | 0, b, a, f + 8 | 0);
+ }
+ Ca = f + 16 | 0;
+ return g;
+}
+function ns(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ l = Ca - 16 | 0;
+ Ca = l;
+ m = q[b + 4 >> 2];
+ a : {
+  if (m >>> 0 > a >>> 0) {
+   break a;
+  }
+  h = q[b + 8 >> 2];
+  if (h >>> 0 < a >>> 0 | h - a >>> 0 < 10) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  if (i >>> 0 < 6) {
+   break a;
+  }
+  g = r[a + 3 | 0];
+  k = r[a + 2 | 0];
+  e = g | k << 8;
+  if (4294967295 / (i >>> 0) >>> 0 <= e >>> 0) {
+   break a;
+  }
+  i = w(e, i);
+  if (i) {
+   e = a + 10 | 0;
+   if (m >>> 0 > e >>> 0 | h >>> 0 < e >>> 0 | h - e >>> 0 < i >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   g = r[a + 3 | 0];
+   k = r[a + 2 | 0];
+   e = g | k << 8;
+  }
+  h = 0;
+  b : {
+   if (!e) {
+    break b;
+   }
+   j = w(e + -1 | 0, r[a + 1 | 0] | r[a | 0] << 8) + a | 0;
+   f = j + 10 | 0;
+   if ((r[f | 0] << 8 | r[j + 11 | 0]) != 65535) {
+    break b;
+   }
+   h = (r[f + 3 | 0] | r[f + 2 | 0] << 8) == 65535 ? -1 : 0;
+  }
+  i = e + h | 0;
+  if (!i) {
+   j = 1;
+   break a;
+  }
+  j = a + 10 | 0;
+  h = 0;
+  while (1) {
+   g = k << 8 | g;
+   e = 0;
+   c : {
+    if (!g) {
+     break c;
+    }
+    f = j + w(g + -1 | 0, r[a + 1 | 0] | r[a | 0] << 8) | 0;
+    e = 0;
+    if ((r[f | 0] << 8 | r[f + 1 | 0]) != 65535) {
+     break c;
+    }
+    e = (r[f + 3 | 0] | r[f + 2 | 0] << 8) == 65535 ? -1 : 0;
+   }
+   d : {
+    e = e + g >>> 0 <= h >>> 0 ? 271040 : j + w(r[a + 1 | 0] | r[a | 0] << 8, h) | 0;
+    if (t[b + 4 >> 2] > e >>> 0) {
+     break d;
+    }
+    f = q[b + 8 >> 2];
+    if (f >>> 0 < e >>> 0 | f - e >>> 0 <= 5) {
+     break d;
+    }
+    f = q[c >> 2];
+    g = q[b + 12 >> 2];
+    q[b + 12 >> 2] = g + -1;
+    if ((g | 0) < 1) {
+     break d;
+    }
+    g = r[e + 1 | 0] | r[e | 0] << 8;
+    k = r[e + 3 | 0] | r[e + 2 | 0] << 8;
+    if (g >>> 0 < k >>> 0) {
+     break d;
+    }
+    q[l + 12 >> 2] = (g - k | 0) + 1;
+    if (!ps(e + 4 | 0, b, f, l + 12 | 0, d)) {
+     break d;
+    }
+    h = h + 1 | 0;
+    if ((i | 0) == (h | 0)) {
+     j = 1;
+     break a;
+    }
+    g = r[a + 3 | 0];
+    k = r[a + 2 | 0];
+    continue;
+   }
+   break;
+  }
+  j = 0;
+ }
+ Ca = l + 16 | 0;
+ return j;
+}
+function uU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0;
+ e = -4;
+ a : {
+  if (b >>> 0 >= c >>> 0) {
+   break a;
+  }
+  e = -1;
+  if ((c - b | 0) < 2) {
+   break a;
+  }
+  h = a + 72 | 0;
+  e = b;
+  while (1) {
+   b : {
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         h : {
+          i : {
+           f = r[e + 1 | 0];
+           if (f + -216 >>> 0 < 4) {
+            break i;
+           }
+           g = 2;
+           if (f) {
+            break c;
+           }
+           f = r[r[e | 0] + h | 0] + -3 | 0;
+           if (f >>> 0 > 27) {
+            break c;
+           }
+           switch (f - 1 | 0) {
+           case 3:
+            break i;
+           case 0:
+           case 1:
+           case 4:
+           case 7:
+           case 8:
+           case 9:
+           case 10:
+           case 11:
+           case 12:
+           case 13:
+           case 14:
+           case 15:
+           case 16:
+           case 17:
+           case 18:
+           case 19:
+           case 20:
+           case 21:
+           case 22:
+           case 23:
+           case 24:
+           case 25:
+            break c;
+           case 2:
+            break d;
+           case 5:
+            break e;
+           case 6:
+            break f;
+           case 26:
+            break g;
+           default:
+            break h;
+           }
+          }
+          g = 4;
+          break c;
+         }
+         if ((b | 0) != (e | 0)) {
+          break b;
+         }
+         return qU(a, b + 2 | 0, c, d) | 0;
+        }
+        if ((b | 0) != (e | 0)) {
+         break b;
+        }
+        a = oU(a, b + 2 | 0, c, d);
+        return ((a | 0) == 22 ? 0 : a) | 0;
+       }
+       if ((b | 0) != (e | 0)) {
+        break b;
+       }
+       q[d >> 2] = b + 2;
+       return 7;
+      }
+      if ((b | 0) != (e | 0)) {
+       break b;
+      }
+      a = b + 2 | 0;
+      e = -3;
+      if ((c - a | 0) < 2) {
+       break a;
+      }
+      if (!r[b + 3 | 0]) {
+       a = r[r[b + 2 | 0] + h | 0] == 10 ? b + 4 | 0 : a;
+      }
+      q[d >> 2] = a;
+      return 7;
+     }
+     g = 3;
+    }
+    e = e + g | 0;
+    if ((c - e | 0) > 1) {
+     continue;
+    }
+   }
+   break;
+  }
+  q[d >> 2] = e;
+  e = 6;
+ }
+ return e | 0;
+}
+function Ls(a, b) {
+ var c = 0, d = 0;
+ if (r[a + 12 | 0] == 1) {
+  c = q[a + 32 >> 2];
+  a : {
+   if ((c | 0) < 0) {
+    break a;
+   }
+   d = (b | 0) > 0 ? b : 0;
+   if (c >>> 0 < d >>> 0) {
+    b = c;
+    while (1) {
+     b = ((b >>> 1 | 0) + b | 0) + 8 | 0;
+     if (b >>> 0 <= d >>> 0) {
+      continue;
+     }
+     break;
+    }
+    b : {
+     if (!(b >>> 0 < c >>> 0 | b >>> 0 > 67108862)) {
+      c = O$(q[a + 40 >> 2], b << 6);
+      if (c) {
+       break b;
+      }
+     }
+     q[a + 32 >> 2] = -1;
+     break a;
+    }
+    q[a + 32 >> 2] = b;
+    q[a + 40 >> 2] = c;
+   }
+   b = q[a + 36 >> 2];
+   if (d >>> 0 > b >>> 0) {
+    Z$(q[a + 40 >> 2] + (b << 6) | 0, 0, d - b << 6);
+   }
+   q[a + 36 >> 2] = d;
+   c : {
+    d : {
+     e : {
+      f : {
+       c = q[a + 20 >> 2];
+       if ((c | 0) >= 0) {
+        if (c >>> 0 >= d >>> 0) {
+         break e;
+        }
+        b = c;
+        while (1) {
+         b = ((b >>> 1 | 0) + b | 0) + 8 | 0;
+         if (b >>> 0 <= d >>> 0) {
+          continue;
+         }
+         break;
+        }
+        if (!(b >>> 0 < c >>> 0 | b >>> 0 > 536870910)) {
+         c = O$(q[a + 28 >> 2], b << 3);
+         if (c) {
+          break f;
+         }
+        }
+        q[a + 20 >> 2] = -1;
+       }
+       c = q[a + 32 >> 2];
+       if ((c | 0) < 0) {
+        break a;
+       }
+       b = q[a + 24 >> 2];
+       d = (b | 0) > 0 ? b : 0;
+       if (c >>> 0 >= d >>> 0) {
+        break c;
+       }
+       b = c;
+       while (1) {
+        b = ((b >>> 1 | 0) + b | 0) + 8 | 0;
+        if (b >>> 0 <= d >>> 0) {
+         continue;
+        }
+        break;
+       }
+       if (!(b >>> 0 < c >>> 0 | b >>> 0 > 67108862)) {
+        c = O$(q[a + 40 >> 2], b << 6);
+        if (c) {
+         break d;
+        }
+       }
+       q[a + 32 >> 2] = -1;
+       break a;
+      }
+      q[a + 20 >> 2] = b;
+      q[a + 28 >> 2] = c;
+     }
+     b = q[a + 24 >> 2];
+     if (d >>> 0 > b >>> 0) {
+      Z$(q[a + 28 >> 2] + (b << 3) | 0, 0, d - b << 3);
+     }
+     q[a + 24 >> 2] = d;
+     return 1;
+    }
+    q[a + 32 >> 2] = b;
+    q[a + 40 >> 2] = c;
+   }
+   b = q[a + 36 >> 2];
+   if (d >>> 0 > b >>> 0) {
+    Z$(q[a + 40 >> 2] + (b << 6) | 0, 0, d - b << 6);
+   }
+   q[a + 36 >> 2] = d;
+  }
+  o[a + 12 | 0] = 0;
+ }
+ return 0;
+}
+function QU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0;
+ e = -4;
+ a : {
+  if (b >>> 0 >= c >>> 0) {
+   break a;
+  }
+  e = -1;
+  if ((c - b | 0) < 2) {
+   break a;
+  }
+  h = a + 72 | 0;
+  e = b;
+  while (1) {
+   b : {
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         h : {
+          i : {
+           f = r[e | 0];
+           if (f + -216 >>> 0 < 4) {
+            break i;
+           }
+           g = 2;
+           if (f) {
+            break c;
+           }
+           f = r[r[e + 1 | 0] + h | 0] + -3 | 0;
+           if (f >>> 0 > 27) {
+            break c;
+           }
+           switch (f - 1 | 0) {
+           case 3:
+            break i;
+           case 0:
+           case 1:
+           case 4:
+           case 7:
+           case 8:
+           case 9:
+           case 10:
+           case 11:
+           case 12:
+           case 13:
+           case 14:
+           case 15:
+           case 16:
+           case 17:
+           case 18:
+           case 19:
+           case 20:
+           case 21:
+           case 22:
+           case 23:
+           case 24:
+           case 25:
+            break c;
+           case 2:
+            break d;
+           case 5:
+            break e;
+           case 6:
+            break f;
+           case 26:
+            break g;
+           default:
+            break h;
+           }
+          }
+          g = 4;
+          break c;
+         }
+         if ((b | 0) != (e | 0)) {
+          break b;
+         }
+         return MU(a, b + 2 | 0, c, d) | 0;
+        }
+        if ((b | 0) != (e | 0)) {
+         break b;
+        }
+        a = KU(a, b + 2 | 0, c, d);
+        return ((a | 0) == 22 ? 0 : a) | 0;
+       }
+       if ((b | 0) != (e | 0)) {
+        break b;
+       }
+       q[d >> 2] = b + 2;
+       return 7;
+      }
+      if ((b | 0) != (e | 0)) {
+       break b;
+      }
+      a = b + 2 | 0;
+      e = -3;
+      if ((c - a | 0) < 2) {
+       break a;
+      }
+      if (!r[a | 0]) {
+       a = r[r[b + 3 | 0] + h | 0] == 10 ? b + 4 | 0 : a;
+      }
+      q[d >> 2] = a;
+      return 7;
+     }
+     g = 3;
+    }
+    e = e + g | 0;
+    if ((c - e | 0) > 1) {
+     continue;
+    }
+   }
+   break;
+  }
+  q[d >> 2] = e;
+  e = 6;
+ }
+ return e | 0;
+}
+function jp(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, r = 0, t = 0, u = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ j = q[a + 100 >> 2];
+ q[g + 12 >> 2] = 0;
+ o = s[a + 340 >> 1];
+ a : {
+  if (!o) {
+   break a;
+  }
+  k = -1;
+  f = -1;
+  l = -1;
+  m = -1;
+  i = q[a + 356 >> 2];
+  e = i;
+  while (1) {
+   b : {
+    if (!s[e + 8 >> 1] | s[e + 6 >> 1] != (b | 0)) {
+     break b;
+    }
+    h = s[e >> 1];
+    if (h >>> 0 > 3) {
+     break b;
+    }
+    c : {
+     switch (h - 1 | 0) {
+     default:
+      k = d;
+      break b;
+     case 0:
+      if (!s[e + 4 >> 1]) {
+       l = d;
+       break b;
+      }
+      m = s[e + 2 >> 1] ? m : d;
+      break b;
+     case 2:
+      break c;
+     }
+    }
+    if ((s[e + 4 >> 1] & 1023) != 9 ? (f | 0) != -1 : 0) {
+     break b;
+    }
+    h = s[e + 2 >> 1];
+    if (h >>> 0 > 10 | !(1 << h & 1027)) {
+     break b;
+    }
+    r = (s[e + 4 >> 1] & 1023) == 9;
+    f = d;
+   }
+   e = e + 20 | 0;
+   d = d + 1 | 0;
+   if ((o | 0) != (d | 0)) {
+    continue;
+   }
+   break;
+  }
+  b = (l | 0) > -1 ? l : m;
+  d : {
+   e : {
+    f : {
+     if ((f | 0) >= 0) {
+      if (r ? 0 : (b | 0) >= 0) {
+       break f;
+      }
+      e = 0;
+      d = w(f, 20) + i | 0;
+      f = s[d + 2 >> 1];
+      if (f >>> 0 > 10) {
+       break a;
+      }
+      b = 315;
+      if (1 << f & 1027) {
+       break d;
+      }
+      break a;
+     }
+     if ((b | 0) < 0) {
+      break e;
+     }
+    }
+    d = w(b, 20) + i | 0;
+    b = 316;
+    break d;
+   }
+   e = 0;
+   if ((k | 0) < 0) {
+    break a;
+   }
+   d = w(k, 20) + i | 0;
+   b = 315;
+  }
+  if (!d) {
+   e = 0;
+   break a;
+  }
+  g : {
+   if (q[d + 16 >> 2]) {
+    break g;
+   }
+   a = q[a + 368 >> 2];
+   e = 0;
+   t = d, u = Te(j, 1, 0, s[d + 8 >> 1], 0, g + 12 | 0), q[t + 16 >> 2] = u;
+   h : {
+    if (q[g + 12 >> 2]) {
+     break h;
+    }
+    f = yg(a, q[d + 12 >> 2]);
+    q[g + 12 >> 2] = f;
+    if (f) {
+     break h;
+    }
+    a = zg(a, q[d + 16 >> 2], s[d + 8 >> 1]);
+    q[g + 12 >> 2] = a;
+    if (!a) {
+     break g;
+    }
+   }
+   Qe(j, q[d + 16 >> 2]);
+   p[d + 8 >> 1] = 0;
+   q[d + 16 >> 2] = 0;
+   break a;
+  }
+  e = n[b](d, j) | 0;
+ }
+ q[c >> 2] = e;
+ Ca = g + 16 | 0;
+ return q[g + 12 >> 2];
+}
+function YS(a) {
+ var b = 0;
+ a : {
+  b = a & 65535;
+  b : {
+   if (b >>> 0 > 41) {
+    break b;
+   }
+   c : {
+    switch (b - 1 | 0) {
+    default:
+     d0(489024, 0);
+     return;
+    case 0:
+     d0(489032, 0);
+     return;
+    case 1:
+     d0(489039, 0);
+     return;
+    case 2:
+     d0(489046, 0);
+     return;
+    case 3:
+     d0(489053, 0);
+     return;
+    case 4:
+     d0(489059, 0);
+     return;
+    case 5:
+     d0(489064, 0);
+     return;
+    case 6:
+     d0(489072, 0);
+     return;
+    case 8:
+     d0(489080, 0);
+     return;
+    case 9:
+     d0(489086, 0);
+     return;
+    case 10:
+     d0(489092, 0);
+     return;
+    case 11:
+     d0(489099, 0);
+     return;
+    case 13:
+     d0(489113, 0);
+     return;
+    case 12:
+     d0(489121, 0);
+     return;
+    case 14:
+     d0(489134, 0);
+     return;
+    case 15:
+     d0(489141, 0);
+     return;
+    case 16:
+     d0(489152, 0);
+     return;
+    case 17:
+     d0(489159, 0);
+     return;
+    case 18:
+     d0(489169, 0);
+     return;
+    case 19:
+     d0(489175, 0);
+     return;
+    case 20:
+     d0(489178, 0);
+     return;
+    case 21:
+     d0(489182, 0);
+     if (!(a & 65536)) {
+      break b;
+     }
+     break a;
+    case 22:
+     d0(489204, 0);
+     if (!(a & 65536)) {
+      break b;
+     }
+     break a;
+    case 26:
+     d0(489213, 0);
+     return;
+    case 27:
+     d0(489218, 0);
+     return;
+    case 28:
+     d0(489228, 0);
+     return;
+    case 29:
+     d0(489233, 0);
+     return;
+    case 23:
+     d0(489243, 0);
+     return;
+    case 25:
+     d0(489252, 0);
+     return;
+    case 30:
+     d0(489264, 0);
+     return;
+    case 31:
+     d0(489269, 0);
+     return;
+    case 32:
+     d0(489275, 0);
+     return;
+    case 33:
+     d0(489281, 0);
+     return;
+    case 34:
+     d0(489288, 0);
+     return;
+    case 7:
+     d0(489292, 0);
+     return;
+    case 35:
+     d0(489296, 0);
+     return;
+    case 36:
+     d0(489302, 0);
+     return;
+    case 37:
+     d0(489308, 0);
+     return;
+    case 38:
+     d0(489313, 0);
+     return;
+    case 39:
+     d0(489319, 0);
+     return;
+    case 24:
+     d0(489325, 0);
+     if (!(a & 65536)) {
+      break b;
+     }
+     break a;
+    case 40:
+     break c;
+    }
+   }
+   d0(489333, 0);
+  }
+  return;
+ }
+ d0(489188, 0);
+}
+function vE(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ a : {
+  b : {
+   if ((b | 0) == 1633774708) {
+    c : {
+     d : {
+      e : {
+       e = q[a + 4 >> 2];
+       if ((e | 0) >= 0) {
+        b = q[a + 8 >> 2];
+        d = b + 1 | 0;
+        d = (d | 0) > 0 ? d : 0;
+        if (e >>> 0 >= d >>> 0) {
+         break d;
+        }
+        b = e;
+        while (1) {
+         b = ((b >>> 1 | 0) + b | 0) + 8 | 0;
+         if (b >>> 0 <= d >>> 0) {
+          continue;
+         }
+         break;
+        }
+        if (!(b >>> 0 < e >>> 0 | b >>> 0 > 357913940)) {
+         e = O$(q[a + 12 >> 2], w(b, 12));
+         if (e) {
+          break e;
+         }
+        }
+        q[a + 4 >> 2] = -1;
+       }
+       q[160658] = q[67762];
+       a = q[67761];
+       q[160656] = q[67760];
+       q[160657] = a;
+       a = 642624;
+       break c;
+      }
+      q[a + 4 >> 2] = b;
+      q[a + 12 >> 2] = e;
+      b = q[a + 8 >> 2];
+     }
+     if (d >>> 0 > b >>> 0) {
+      Z$(q[a + 12 >> 2] + w(b, 12) | 0, 0, w(d - b | 0, 12));
+     }
+     q[a + 8 >> 2] = d;
+     a = (q[a + 12 >> 2] + w(d, 12) | 0) + -12 | 0;
+    }
+    q[a >> 2] = 17;
+    break b;
+   }
+   f = Oq(b);
+   if (!f) {
+    break a;
+   }
+   f : {
+    g : {
+     h : {
+      e = q[a + 4 >> 2];
+      if ((e | 0) >= 0) {
+       b = q[a + 8 >> 2];
+       d = b + 1 | 0;
+       d = (d | 0) > 0 ? d : 0;
+       if (e >>> 0 >= d >>> 0) {
+        break g;
+       }
+       b = e;
+       while (1) {
+        b = ((b >>> 1 | 0) + b | 0) + 8 | 0;
+        if (b >>> 0 <= d >>> 0) {
+         continue;
+        }
+        break;
+       }
+       if (!(b >>> 0 < e >>> 0 | b >>> 0 > 357913940)) {
+        e = O$(q[a + 12 >> 2], w(b, 12));
+        if (e) {
+         break h;
+        }
+       }
+       q[a + 4 >> 2] = -1;
+      }
+      q[160658] = q[67762];
+      a = q[67761];
+      q[160656] = q[67760];
+      q[160657] = a;
+      a = 642624;
+      break f;
+     }
+     q[a + 4 >> 2] = b;
+     q[a + 12 >> 2] = e;
+     b = q[a + 8 >> 2];
+    }
+    if (d >>> 0 > b >>> 0) {
+     Z$(q[a + 12 >> 2] + w(b, 12) | 0, 0, w(d - b | 0, 12));
+    }
+    q[a + 8 >> 2] = d;
+    a = (q[a + 12 >> 2] + w(d, 12) | 0) + -12 | 0;
+   }
+   q[a >> 2] = q[f + 4 >> 2];
+   c = q[f + (c ? 8 : 12) >> 2];
+  }
+  q[a + 4 >> 2] = c;
+ }
+}
+function Ei(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ q[g + 12 >> 2] = 0;
+ k = q[a + 100 >> 2];
+ i = q[a + 736 >> 2];
+ a : {
+  b : {
+   if (!i) {
+    d = zi(a, 0);
+    q[g + 12 >> 2] = d;
+    if (d) {
+     break b;
+    }
+    i = q[a + 736 >> 2];
+   }
+   j = q[i + 12 >> 2];
+   f = q[j >> 2];
+   d = q[i + 4 >> 2];
+   if (!d) {
+    d = Te(k, 4, 0, f, 0, g + 12 | 0);
+    q[i + 4 >> 2] = d;
+    if (q[g + 12 >> 2]) {
+     break b;
+    }
+   }
+   b = f >>> 0 < b >>> 0 ? f : b;
+   if (b) {
+    e = d;
+    while (1) {
+     f = q[c >> 2];
+     if ((f | 0) != q[e >> 2]) {
+      q[e >> 2] = f;
+      l = 1;
+     }
+     e = e + 4 | 0;
+     c = c + 4 | 0;
+     h = h + 1 | 0;
+     if ((b | 0) != (h | 0)) {
+      continue;
+     }
+     break;
+    }
+    d = (b << 2) + d | 0;
+   }
+   h = q[j >> 2];
+   c = q[a + 4 >> 2];
+   c : {
+    if (c & 2147418112) {
+     if (b >>> 0 >= h >>> 0) {
+      break c;
+     }
+     e = q[(q[j + 16 >> 2] + w(c >>> 16 | 0, 12) | 0) + -12 >> 2] + (b << 2) | 0;
+     c = b;
+     while (1) {
+      f = q[e >> 2];
+      if ((f | 0) != q[d >> 2]) {
+       q[d >> 2] = f;
+       l = 1;
+      }
+      d = d + 4 | 0;
+      e = e + 4 | 0;
+      c = c + 1 | 0;
+      if (c >>> 0 < h >>> 0) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    }
+    if (b >>> 0 >= h >>> 0) {
+     break c;
+    }
+    e = q[j + 12 >> 2] + w(b, 24) | 0;
+    c = b;
+    while (1) {
+     f = q[e + 8 >> 2];
+     if ((f | 0) != q[d >> 2]) {
+      q[d >> 2] = f;
+      l = 1;
+     }
+     d = d + 4 | 0;
+     e = e + 24 | 0;
+     c = c + 1 | 0;
+     if (c >>> 0 < h >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (!l) {
+    c = -1;
+    if (q[i + 8 >> 2]) {
+     break a;
+    }
+   }
+   e = Te(k, 4, 0, h, 0, g + 12 | 0);
+   if (q[g + 12 >> 2]) {
+    break b;
+   }
+   if (!r[q[a + 736 >> 2] + 24 | 0]) {
+    Ai(a);
+   }
+   Bi(a, b, q[i + 4 >> 2], e);
+   c = xi(a, q[j >> 2], e, 0);
+   q[g + 12 >> 2] = c;
+   if (c) {
+    break b;
+   }
+   c = q[a + 8 >> 2];
+   if (b) {
+    q[a + 8 >> 2] = c | 32768;
+    break b;
+   }
+   q[a + 8 >> 2] = c & -32769;
+  }
+  Qe(k, e);
+  c = q[g + 12 >> 2];
+ }
+ Ca = g + 16 | 0;
+ return c | 0;
+}
+function cs(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 36) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  c = a + 20 | 0;
+  b : {
+   c : {
+    d : {
+     if (o[a + 15 | 0] & 1) {
+      if (!ds(c, b, a)) {
+       break a;
+      }
+      if (!ds(a + 24 | 0, b, a)) {
+       break a;
+      }
+      c = r[a + 28 | 0] | r[a + 29 | 0] << 8 | (r[a + 30 | 0] << 16 | r[a + 31 | 0] << 24);
+      c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+      if (!c) {
+       break c;
+      }
+      if (t[b + 4 >> 2] > a >>> 0) {
+       break a;
+      }
+      d = q[b + 8 >> 2];
+      if (d >>> 0 < a >>> 0) {
+       break a;
+      }
+      if (d - a >>> 0 >= c >>> 0) {
+       break d;
+      }
+      break a;
+     }
+     if (!ur(c, b, a)) {
+      break a;
+     }
+     if (!ur(a + 24 | 0, b, a)) {
+      break a;
+     }
+     c = r[a + 28 | 0] | r[a + 29 | 0] << 8 | (r[a + 30 | 0] << 16 | r[a + 31 | 0] << 24);
+     c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+     if (!c) {
+      break c;
+     }
+     if (t[b + 4 >> 2] > a >>> 0) {
+      break a;
+     }
+     d = q[b + 8 >> 2];
+     if (d >>> 0 < a >>> 0 | d - a >>> 0 < c >>> 0) {
+      break a;
+     }
+     c = q[b + 12 >> 2];
+     q[b + 12 >> 2] = c + -1;
+     if ((c | 0) >= 1) {
+      break c;
+     }
+     break a;
+    }
+    d = q[b + 12 >> 2];
+    q[b + 12 >> 2] = d + -1;
+    c = 0;
+    if ((d | 0) <= 0) {
+     break b;
+    }
+   }
+   c = 1;
+   d = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+   if (!(d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24))) {
+    break b;
+   }
+   d = r[a + 32 | 0] | r[a + 33 | 0] << 8 | (r[a + 34 | 0] << 16 | r[a + 35 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (!d) {
+    break b;
+   }
+   if (t[b + 4 >> 2] > a >>> 0) {
+    break a;
+   }
+   e = q[b + 8 >> 2];
+   if (e >>> 0 < a >>> 0) {
+    break a;
+   }
+   c = 0;
+   if (e - a >>> 0 < d >>> 0) {
+    break b;
+   }
+   a = q[b + 12 >> 2];
+   q[b + 12 >> 2] = a + -1;
+   c = (a | 0) > 0;
+  }
+  return c;
+ }
+ return 0;
+}
+function NJ(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = Ca - 464 | 0;
+ Ca = e;
+ g = b + 8 | 0;
+ h = q[g + 4 >> 2];
+ f = e + 16 | 0;
+ q[f >> 2] = q[g >> 2];
+ q[f + 4 >> 2] = h;
+ q[e + 40 >> 2] = q[b + 32 >> 2];
+ h = q[b + 28 >> 2];
+ q[e + 32 >> 2] = q[b + 24 >> 2];
+ q[e + 36 >> 2] = h;
+ h = q[b + 20 >> 2];
+ q[e + 24 >> 2] = q[b + 16 >> 2];
+ q[e + 28 >> 2] = h;
+ h = q[b + 4 >> 2];
+ j = q[b >> 2];
+ q[f >> 2] = 2;
+ q[e + 8 >> 2] = j;
+ q[e + 12 >> 2] = h;
+ f = q[g >> 2] + -7 | 0;
+ a : {
+  if (f >>> 0 > 3) {
+   break a;
+  }
+  b : {
+   switch (f - 1 | 0) {
+   case 0:
+   case 1:
+    break a;
+   default:
+    break b;
+   }
+  }
+  q[e + 16 >> 2] = 3;
+ }
+ KJ(a, e + 448 | 0);
+ c : {
+  if (q[e + 456 >> 2] != 3) {
+   b = 162;
+   break c;
+  }
+  h = q[a >> 2];
+  g = q[e + 448 >> 2] + 1 | 0;
+  q[a >> 2] = g;
+  j = q[a + 8 >> 2];
+  i = q[e + 452 >> 2] + -1 | 0;
+  q[a + 8 >> 2] = i;
+  f = e + 48 | 0;
+  d : {
+   if (g >>> 0 >= i >>> 0) {
+    break d;
+   }
+   g = e + 432 | 0;
+   f = e + 48 | 0;
+   while (1) {
+    KJ(a, e + 432 | 0);
+    if (!q[e + 440 >> 2]) {
+     break d;
+    }
+    if (f >>> 0 < g >>> 0) {
+     i = q[e + 436 >> 2];
+     q[f >> 2] = q[e + 432 >> 2];
+     q[f + 4 >> 2] = i;
+     q[f + 8 >> 2] = q[e + 440 >> 2];
+    }
+    f = f + 12 | 0;
+    if (t[a >> 2] < t[a + 8 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[a + 8 >> 2] = j;
+  q[a >> 2] = h;
+  g = f - (e + 48 | 0) | 0;
+  f = (g | 0) / 12 | 0;
+  if ((g | 0) < 0) {
+   b = 162;
+   break c;
+  }
+  g = q[b + 24 >> 2];
+  g = f >>> 0 > g >>> 0 ? g : f;
+  e : {
+   if (q[b + 8 >> 2] == 7) {
+    break e;
+   }
+   b = q[b + 28 >> 2];
+   if (!b) {
+    break e;
+   }
+   o[b + q[c >> 2] | 0] = g;
+  }
+  f : {
+   if ((g | 0) >= 1) {
+    i = r[e + 28 | 0];
+    f = e + 48 | 0;
+    while (1) {
+     q[a >> 2] = q[f >> 2];
+     q[a + 8 >> 2] = q[f + 4 >> 2];
+     b = MJ(a, e + 8 | 0, c, d, 0);
+     if (b) {
+      break f;
+     }
+     q[e + 24 >> 2] = i + q[e + 24 >> 2];
+     f = f + 12 | 0;
+     b = (g | 0) > 1;
+     g = g + -1 | 0;
+     if (b) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = 0;
+  }
+  q[a + 8 >> 2] = j;
+  q[a >> 2] = h;
+ }
+ Ca = e + 464 | 0;
+ return b | 0;
+}
+function nu(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  d = q[a + 36 >> 2];
+  if (d) {
+   c = q[a + 24 >> 2];
+   while (1) {
+    b = 271040;
+    h = d;
+    g = c >>> 0 <= e >>> 0;
+    if (g) {
+     f = 271040;
+    } else {
+     f = q[a + 28 >> 2] + (e << 3) | 0;
+    }
+    f = q[f + 4 >> 2];
+    if (h >>> 0 > f >>> 0) {
+     b = q[a + 40 >> 2] + (f << 6) | 0;
+    }
+    b : {
+     c : {
+      if (q[b >> 2] | q[b + 4 >> 2] | (q[b + 8 >> 2] | q[b + 12 >> 2]) | (q[b + 16 >> 2] | q[b + 20 >> 2] | (q[b + 24 >> 2] | q[b + 28 >> 2]))) {
+       break c;
+      }
+      if (q[b + 32 >> 2] | q[b + 36 >> 2] | (q[b + 40 >> 2] | q[b + 44 >> 2]) | (q[b + 48 >> 2] | q[b + 52 >> 2])) {
+       break c;
+      }
+      if (!(q[b + 56 >> 2] | q[b + 60 >> 2])) {
+       break b;
+      }
+     }
+     b = 271040;
+     d : {
+      if (g) {
+       e = 271040;
+       c = 271040;
+       break d;
+      }
+      e = q[a + 28 >> 2] + (e << 3) | 0;
+      c = e;
+     }
+     f = c;
+     e = q[e >> 2];
+     c = d;
+     d = q[f + 4 >> 2];
+     if (c >>> 0 > d >>> 0) {
+      b = q[a + 40 >> 2] + (d << 6) | 0;
+     }
+     f = e << 9;
+     e = 0;
+     c = q[b + 4 >> 2];
+     a = c;
+     d = q[b >> 2];
+     if (d | c) {
+      break a;
+     }
+     e = 64;
+     c = q[b + 12 >> 2];
+     a = c;
+     d = q[b + 8 >> 2];
+     if (c | d) {
+      break a;
+     }
+     e = 128;
+     c = q[b + 20 >> 2];
+     a = c;
+     d = q[b + 16 >> 2];
+     if (d | c) {
+      break a;
+     }
+     e = 192;
+     c = q[b + 28 >> 2];
+     a = c;
+     d = q[b + 24 >> 2];
+     if (d | c) {
+      break a;
+     }
+     e = 256;
+     c = q[b + 36 >> 2];
+     a = c;
+     d = q[b + 32 >> 2];
+     if (d | c) {
+      break a;
+     }
+     e = 320;
+     c = q[b + 44 >> 2];
+     a = c;
+     d = q[b + 40 >> 2];
+     if (d | c) {
+      break a;
+     }
+     e = 384;
+     c = q[b + 52 >> 2];
+     a = c;
+     d = q[b + 48 >> 2];
+     if (d | c) {
+      break a;
+     }
+     e = 448;
+     c = q[b + 60 >> 2];
+     a = c;
+     d = q[b + 56 >> 2];
+     if (c | d) {
+      break a;
+     }
+     return f + -1 | 0;
+    }
+    e = e + 1 | 0;
+    if ((d | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  return -1;
+ }
+ return f + (S0(d, a) | e) | 0;
+}
+function KM(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0, u = 0, w = 0, x = 0, z = 0, A = 0, B = 0, C = 0;
+ h = q[e >> 2];
+ s = q[h + 60 >> 2];
+ t = q[h + 52 >> 2];
+ f = +(s + t | 0) * .5;
+ g = v[a >> 3];
+ u = q[h - -64 >> 2];
+ w = q[h + 56 >> 2];
+ n = +(u + w | 0) * .5;
+ k = v[a + 8 >> 3];
+ x = v[a + 16 >> 3] + (f * g + n * k);
+ v[a + 16 >> 3] = x;
+ h = a + 40 | 0;
+ z = v[a + 24 >> 3];
+ i = v[a + 32 >> 3];
+ l = v[h >> 3] + (f * z + n * i);
+ v[h >> 3] = l;
+ h = a - -64 | 0;
+ o = v[a + 48 >> 3];
+ p = n;
+ n = v[a + 56 >> 3];
+ f = v[h >> 3] + (f * o + p * n);
+ v[h >> 3] = f;
+ a : {
+  if (f <= 0) {
+   break a;
+  }
+  p = i;
+  i = 1 / f;
+  l = i * l;
+  C = p - n * l;
+  v[a + 32 >> 3] = C;
+  z = z - o * l;
+  v[a + 24 >> 3] = z;
+  p = k;
+  k = i * x;
+  x = p - n * k;
+  v[a + 8 >> 3] = x;
+  i = g - o * k;
+  v[a >> 3] = i;
+  g = 0;
+  if (!d) {
+   g = v[c >> 3];
+   j = v[c + 8 >> 3];
+  }
+  k = k * .125 - g;
+  if (!(y(k) < 1e6)) {
+   break a;
+  }
+  a = oZ(k);
+  l = l * .125 - j;
+  if (!(y(l) < 1e6)) {
+   break a;
+  }
+  h = oZ(l);
+  j = +(s - t | 0) * .5 + 64;
+  g = +(u - w | 0) * .5 + 64;
+  p = f - j * y(o) - g * y(n);
+  f = f * .0625;
+  f = .125 / (p > f ? p : f);
+  j = j * f;
+  i = i * j;
+  if (!(y(i) < 1e6)) {
+   break a;
+  }
+  s = oZ(i);
+  f = g * f;
+  g = x * f;
+  if (!(y(g) < 1e6)) {
+   break a;
+  }
+  t = oZ(g);
+  g = z * j;
+  if (!(y(g) < 1e6)) {
+   break a;
+  }
+  u = oZ(g);
+  g = C * f;
+  if (!(y(g) < 1e6)) {
+   break a;
+  }
+  w = oZ(g);
+  m = w >> 31;
+  i = o;
+  r = t >> 31;
+  A = r + t ^ r;
+  r = s >> 31;
+  r = A + (r + s ^ r) | 0;
+  A = m ^ m + w;
+  m = u >> 31;
+  m = A + (m + u ^ m) | 0;
+  o = +(((r | 0) > (m | 0) ? r : m) | 0) * 8;
+  j = i * (j * o);
+  if (!(y(j) < 1e6)) {
+   break a;
+  }
+  m = oZ(j);
+  f = n * (f * o);
+  if (!(y(f) < 1e6)) {
+   break a;
+  }
+  B = oZ(f);
+  if (!(!c | !d)) {
+   v[c + 8 >> 3] = l - +(h | 0);
+   v[c >> 3] = k - +(a | 0);
+  }
+  q[b + 4 >> 2] = h >> 3;
+  q[b >> 2] = a >> 3;
+  q[e + 32 >> 2] = B;
+  q[e + 28 >> 2] = m;
+  q[e + 24 >> 2] = w;
+  q[e + 20 >> 2] = u;
+  q[e + 16 >> 2] = t;
+  q[e + 12 >> 2] = s;
+  q[e + 8 >> 2] = h & 7;
+  q[e + 4 >> 2] = a & 7;
+  B = 1;
+ }
+ return B;
+}
+function St(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = 271040;
+ c = q[q[q[a + 92 >> 2] + 140 >> 2] >> 2];
+ c = c ? c : 271040;
+ c = t[c + 16 >> 2] < 10 ? 271040 : q[c + 12 >> 2];
+ e = r[c + 9 | 0] | r[c + 8 | 0] << 8;
+ c = e ? c + e | 0 : 271040;
+ if ((r[c | 0] << 8 | r[c + 1 | 0]) >>> 0 > b >>> 0) {
+  d = c + (b << 1) | 0;
+  d = r[d + 2 | 0] << 8 | r[d + 3 | 0];
+  d = d ? d + c | 0 : 271040;
+ }
+ k = q[a + 124 >> 2];
+ q[a + 124 >> 2] = b;
+ c = r[d + 3 | 0];
+ b = c | r[d + 2 | 0] << 8;
+ e = q[a + 128 >> 2];
+ if (c & 16) {
+  c = b;
+  b = (d + 4 | 0) + (r[d + 5 | 0] << 1 | r[d + 4 | 0] << 9) | 0;
+  b = c | r[b + 2 | 0] << 24 | r[b + 3 | 0] << 16;
+ }
+ q[a + 32 >> 2] = 0;
+ q[a + 128 >> 2] = b;
+ q[a + 8 >> 2] = b;
+ q[a + 24 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ q[a + 76 >> 2] = 0;
+ q[a + 48 >> 2] = a;
+ g = q[a + 116 >> 2];
+ q[a + 16 >> 2] = g;
+ h = r[a + 142 | 0];
+ o[a + 13 | 0] = h;
+ q[a + 68 >> 2] = 0;
+ q[a + 72 >> 2] = 0;
+ q[a + 52 >> 2] = b;
+ b = q[a + 120 >> 2];
+ f = (b | 0) == 1;
+ o[a + 12 | 0] = f;
+ q[a + 4 >> 2] = a;
+ c = 1;
+ c = f ? c : r[a + 141 | 0] != 0;
+ q[a + 60 >> 2] = -1;
+ o[a + 57 | 0] = 1;
+ o[a + 56 | 0] = c;
+ f = r[d + 5 | 0];
+ c = r[d + 4 | 0];
+ j = f | c << 8;
+ if (j) {
+  g = r[d + 1 | 0] | r[d | 0] << 8;
+  h = d + 4 | 0;
+  b = 0;
+  while (1) {
+   c = (c << 8 | f) >>> 0 > b >>> 0 ? (h + (b << 1) | 0) + 2 | 0 : 271040;
+   c = r[c | 0] << 8 | r[c + 1 | 0];
+   i = 1;
+   a : {
+    if (oy(c ? c + d | 0 : 271040, a, g)) {
+     break a;
+    }
+    b = b + 1 | 0;
+    if ((j | 0) == (b | 0)) {
+     i = 0;
+    } else {
+     f = r[d + 5 | 0];
+     c = r[d + 4 | 0];
+     continue;
+    }
+   }
+   break;
+  }
+  g = q[a + 116 >> 2];
+  h = r[a + 142 | 0];
+  b = q[a + 120 >> 2];
+ }
+ q[a + 128 >> 2] = e;
+ q[a + 124 >> 2] = k;
+ q[a + 32 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ q[a + 76 >> 2] = 0;
+ q[a + 16 >> 2] = g;
+ o[a + 13 | 0] = h;
+ q[a + 8 >> 2] = e;
+ q[a + 68 >> 2] = 0;
+ q[a + 72 >> 2] = 0;
+ q[a + 52 >> 2] = e;
+ d = (b | 0) == 1;
+ o[a + 12 | 0] = d;
+ q[a + 4 >> 2] = a;
+ q[a + 48 >> 2] = a;
+ b = 1;
+ b = d ? b : r[a + 141 | 0] != 0;
+ q[a + 60 >> 2] = -1;
+ o[a + 57 | 0] = 1;
+ o[a + 56 | 0] = b;
+ return i | 0;
+}
+function Nt(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = 271040;
+ c = q[q[q[a + 92 >> 2] + 136 >> 2] >> 2];
+ c = c ? c : 271040;
+ c = t[c + 16 >> 2] < 10 ? 271040 : q[c + 12 >> 2];
+ e = r[c + 9 | 0] | r[c + 8 | 0] << 8;
+ c = e ? c + e | 0 : 271040;
+ if ((r[c | 0] << 8 | r[c + 1 | 0]) >>> 0 > b >>> 0) {
+  d = c + (b << 1) | 0;
+  d = r[d + 2 | 0] << 8 | r[d + 3 | 0];
+  d = d ? d + c | 0 : 271040;
+ }
+ k = q[a + 124 >> 2];
+ q[a + 124 >> 2] = b;
+ c = r[d + 3 | 0];
+ b = c | r[d + 2 | 0] << 8;
+ e = q[a + 128 >> 2];
+ if (c & 16) {
+  c = b;
+  b = (d + 4 | 0) + (r[d + 5 | 0] << 1 | r[d + 4 | 0] << 9) | 0;
+  b = c | r[b + 2 | 0] << 24 | r[b + 3 | 0] << 16;
+ }
+ q[a + 32 >> 2] = 0;
+ q[a + 128 >> 2] = b;
+ q[a + 8 >> 2] = b;
+ q[a + 24 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ q[a + 76 >> 2] = 0;
+ q[a + 48 >> 2] = a;
+ g = q[a + 116 >> 2];
+ q[a + 16 >> 2] = g;
+ h = r[a + 142 | 0];
+ o[a + 13 | 0] = h;
+ q[a + 68 >> 2] = 0;
+ q[a + 72 >> 2] = 0;
+ q[a + 52 >> 2] = b;
+ b = q[a + 120 >> 2];
+ f = (b | 0) == 1;
+ o[a + 12 | 0] = f;
+ q[a + 4 >> 2] = a;
+ c = 1;
+ c = f ? c : r[a + 141 | 0] != 0;
+ q[a + 60 >> 2] = -1;
+ o[a + 57 | 0] = 1;
+ o[a + 56 | 0] = c;
+ f = r[d + 5 | 0];
+ c = r[d + 4 | 0];
+ j = f | c << 8;
+ if (j) {
+  g = r[d + 1 | 0] | r[d | 0] << 8;
+  h = d + 4 | 0;
+  b = 0;
+  while (1) {
+   c = (c << 8 | f) >>> 0 > b >>> 0 ? (h + (b << 1) | 0) + 2 | 0 : 271040;
+   c = r[c | 0] << 8 | r[c + 1 | 0];
+   i = 1;
+   a : {
+    if (my(c ? c + d | 0 : 271040, a, g)) {
+     break a;
+    }
+    b = b + 1 | 0;
+    if ((j | 0) == (b | 0)) {
+     i = 0;
+    } else {
+     f = r[d + 5 | 0];
+     c = r[d + 4 | 0];
+     continue;
+    }
+   }
+   break;
+  }
+  g = q[a + 116 >> 2];
+  h = r[a + 142 | 0];
+  b = q[a + 120 >> 2];
+ }
+ q[a + 128 >> 2] = e;
+ q[a + 124 >> 2] = k;
+ q[a + 32 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ q[a + 76 >> 2] = 0;
+ q[a + 16 >> 2] = g;
+ o[a + 13 | 0] = h;
+ q[a + 8 >> 2] = e;
+ q[a + 68 >> 2] = 0;
+ q[a + 72 >> 2] = 0;
+ q[a + 52 >> 2] = e;
+ d = (b | 0) == 1;
+ o[a + 12 | 0] = d;
+ q[a + 4 >> 2] = a;
+ q[a + 48 >> 2] = a;
+ b = 1;
+ b = d ? b : r[a + 141 | 0] != 0;
+ q[a + 60 >> 2] = -1;
+ o[a + 57 | 0] = 1;
+ o[a + 56 | 0] = b;
+ return i | 0;
+}
+function tU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0;
+ e = -4;
+ a : {
+  if (b >>> 0 >= c >>> 0) {
+   break a;
+  }
+  e = -1;
+  if ((c - b | 0) < 2) {
+   break a;
+  }
+  h = a + 72 | 0;
+  e = b;
+  while (1) {
+   b : {
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         h : {
+          i : {
+           j : {
+            f = r[e + 1 | 0];
+            if (f + -216 >>> 0 < 4) {
+             break j;
+            }
+            g = 2;
+            if (f) {
+             break c;
+            }
+            f = r[r[e | 0] + h | 0] + -2 | 0;
+            if (f >>> 0 > 19) {
+             break c;
+            }
+            switch (f - 1 | 0) {
+            case 0:
+             break i;
+            case 4:
+             break j;
+            case 1:
+            case 2:
+            case 5:
+            case 8:
+            case 9:
+            case 10:
+            case 11:
+            case 12:
+            case 13:
+            case 14:
+            case 15:
+            case 16:
+            case 17:
+             break c;
+            case 3:
+             break d;
+            case 18:
+             break e;
+            case 6:
+             break f;
+            case 7:
+             break g;
+            default:
+             break h;
+            }
+           }
+           g = 4;
+           break c;
+          }
+          if ((b | 0) != (e | 0)) {
+           break b;
+          }
+          return qU(a, b + 2 | 0, c, d) | 0;
+         }
+         q[d >> 2] = e;
+         return 0;
+        }
+        if ((b | 0) != (e | 0)) {
+         break b;
+        }
+        q[d >> 2] = b + 2;
+        return 7;
+       }
+       if ((b | 0) != (e | 0)) {
+        break b;
+       }
+       a = b + 2 | 0;
+       e = -3;
+       if ((c - a | 0) < 2) {
+        break a;
+       }
+       if (!r[b + 3 | 0]) {
+        a = r[r[b + 2 | 0] + h | 0] == 10 ? b + 4 | 0 : a;
+       }
+       q[d >> 2] = a;
+       return 7;
+      }
+      if ((b | 0) != (e | 0)) {
+       break b;
+      }
+      q[d >> 2] = b + 2;
+      return 39;
+     }
+     g = 3;
+    }
+    e = e + g | 0;
+    if ((c - e | 0) > 1) {
+     continue;
+    }
+   }
+   break;
+  }
+  q[d >> 2] = e;
+  e = 6;
+ }
+ return e | 0;
+}
+function Zp(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, u = 0, v = 0;
+ f = 3;
+ a : {
+  if ((d | 0) < 0) {
+   break a;
+  }
+  h = q[a + 12 >> 2];
+  k = s[h >> 1];
+  g = q[a + 8 >> 2];
+  if ((e | 0) < 0 | k + e >>> 0 > t[g >> 2]) {
+   break a;
+  }
+  h = s[h + 2 >> 1];
+  if (h + d >>> 0 > t[g + 4 >> 2]) {
+   break a;
+  }
+  i = w(h, r[a + 18 | 0]);
+  if ((w(k, i) + 7 >>> 3 | 0) + b >>> 0 > c >>> 0) {
+   break a;
+  }
+  f = 0;
+  if (!k | !i) {
+   break a;
+  }
+  l = d & 7;
+  a = 8 - l | 0;
+  j = i >>> 0 < a >>> 0 ? i : a;
+  u = (255 << j ^ -1) << a - j;
+  n = q[g + 8 >> 2];
+  h = q[g + 12 >> 2] + (w(n, e) + (d >>> 3 | 0) | 0) | 0;
+  v = i - j | 0;
+  p = 8 - j | 0;
+  e = 0;
+  g = 0;
+  a = k;
+  while (1) {
+   m = a;
+   b : {
+    if (!l) {
+     d = b;
+     f = i;
+     a = h;
+     break b;
+    }
+    c : {
+     if ((k | 0) == (m | 0)) {
+      e = r[b | 0];
+      b = b + 1 | 0;
+      a = l;
+      break c;
+     }
+     if ((g | 0) < (j | 0)) {
+      a = g + p | 0;
+      if (b >>> 0 >= c >>> 0) {
+       break c;
+      }
+      e = r[b | 0] | e;
+      b = b + 1 | 0;
+      a = g + p | 0;
+      break c;
+     }
+     e = (e & 65280) >>> 8 | 0;
+     a = g - j | 0;
+    }
+    g = a;
+    d = b;
+    o[h | 0] = r[h | 0] | (e & 65535) >>> g & u;
+    e = e << 8;
+    f = v;
+    a = h + 1 | 0;
+   }
+   if ((f | 0) >= 8) {
+    while (1) {
+     b = r[d | 0] | e;
+     o[a | 0] = r[a | 0] | (b & 65535) >>> g;
+     a = a + 1 | 0;
+     d = d + 1 | 0;
+     e = b << 8;
+     b = (f | 0) > 15;
+     f = f + -8 | 0;
+     if (b) {
+      continue;
+     }
+     break;
+    }
+   }
+   d : {
+    if ((f | 0) >= 1) {
+     if ((g | 0) < (f | 0)) {
+      if (d >>> 0 >= c >>> 0) {
+       b = d;
+      } else {
+       e = r[d | 0] | e;
+       b = d + 1 | 0;
+      }
+      o[a | 0] = r[a | 0] | (e & 65535) >>> g & 65280 >>> f;
+      e = e << 8;
+      g = (g - f | 0) + 8 | 0;
+      break d;
+     }
+     o[a | 0] = r[a | 0] | 65280 >>> f & (e & 65535) >>> g;
+     g = g - f | 0;
+    }
+    b = d;
+   }
+   h = h + n | 0;
+   a = m + -1 | 0;
+   if ((m | 0) > 1) {
+    continue;
+   }
+   break;
+  }
+  f = 0;
+ }
+ return f | 0;
+}
+function PU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0;
+ e = -4;
+ a : {
+  if (b >>> 0 >= c >>> 0) {
+   break a;
+  }
+  e = -1;
+  if ((c - b | 0) < 2) {
+   break a;
+  }
+  h = a + 72 | 0;
+  e = b;
+  while (1) {
+   b : {
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         h : {
+          i : {
+           j : {
+            f = r[e | 0];
+            if (f + -216 >>> 0 < 4) {
+             break j;
+            }
+            g = 2;
+            if (f) {
+             break c;
+            }
+            f = r[r[e + 1 | 0] + h | 0] + -2 | 0;
+            if (f >>> 0 > 19) {
+             break c;
+            }
+            switch (f - 1 | 0) {
+            case 0:
+             break i;
+            case 4:
+             break j;
+            case 1:
+            case 2:
+            case 5:
+            case 8:
+            case 9:
+            case 10:
+            case 11:
+            case 12:
+            case 13:
+            case 14:
+            case 15:
+            case 16:
+            case 17:
+             break c;
+            case 3:
+             break d;
+            case 18:
+             break e;
+            case 6:
+             break f;
+            case 7:
+             break g;
+            default:
+             break h;
+            }
+           }
+           g = 4;
+           break c;
+          }
+          if ((b | 0) != (e | 0)) {
+           break b;
+          }
+          return MU(a, b + 2 | 0, c, d) | 0;
+         }
+         q[d >> 2] = e;
+         return 0;
+        }
+        if ((b | 0) != (e | 0)) {
+         break b;
+        }
+        q[d >> 2] = b + 2;
+        return 7;
+       }
+       if ((b | 0) != (e | 0)) {
+        break b;
+       }
+       a = b + 2 | 0;
+       e = -3;
+       if ((c - a | 0) < 2) {
+        break a;
+       }
+       if (!r[a | 0]) {
+        a = r[r[b + 3 | 0] + h | 0] == 10 ? b + 4 | 0 : a;
+       }
+       q[d >> 2] = a;
+       return 7;
+      }
+      if ((b | 0) != (e | 0)) {
+       break b;
+      }
+      q[d >> 2] = b + 2;
+      return 39;
+     }
+     g = 3;
+    }
+    e = e + g | 0;
+    if ((c - e | 0) > 1) {
+     continue;
+    }
+   }
+   break;
+  }
+  q[d >> 2] = e;
+  e = 6;
+ }
+ return e | 0;
+}
+function DH(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, r = 0, t = 0, u = 0;
+ a : {
+  c = w(b, 1348) + a | 0;
+  g = q[c + 56 >> 2];
+  if ((g | 0) < 1) {
+   break a;
+  }
+  d = q[a + 24 >> 2];
+  if ((d | 0) < 1) {
+   break a;
+  }
+  a = q[a + 28 >> 2];
+  m = a + w(d, 40) | 0;
+  i = b ? 8 : 4;
+  n = i | 16;
+  e = q[c - -64 >> 2];
+  j = e + w(g, 44) | 0;
+  h = j + -44 | 0;
+  c = (b | 0) == 1;
+  o = c ? 14 : 12;
+  r = c ? 8 : 4;
+  t = b ? 20 : 16;
+  while (1) {
+   if (!(s[a >> 1] & n)) {
+    b = q[a + r >> 2];
+    u = a + t | 0;
+    f = p[a + o >> 1];
+    c = (b + q[e + 8 >> 2] | 0) - q[e + 4 >> 2] | 0;
+    b : {
+     if (p[e >> 1] >= (f | 0)) {
+      break b;
+     }
+     c = (b + q[h + 8 >> 2] | 0) - q[h + 4 >> 2] | 0;
+     if ((f | 0) >= p[h >> 1]) {
+      break b;
+     }
+     b = 0;
+     c : {
+      c = g;
+      d : {
+       if ((c | 0) <= 8) {
+        while (1) {
+         e : {
+          b = b + 1 | 0;
+          if ((g | 0) == (b | 0)) {
+           c = s[j >> 1];
+           b = g;
+           break e;
+          }
+          c = p[w(b, 44) + e >> 1];
+          if ((c | 0) < (f | 0)) {
+           continue;
+          }
+         }
+         break;
+        }
+        if ((c & 65535) != (f & 65535)) {
+         break d;
+        }
+        c = q[(w(b, 44) + e | 0) + 8 >> 2];
+        break b;
+       }
+       while (1) {
+        d = b + c >> 1;
+        k = w(d, 44) + e | 0;
+        l = p[k >> 1];
+        f : {
+         if ((f | 0) < (l | 0)) {
+          c = d;
+          break f;
+         }
+         if ((f | 0) <= (l | 0)) {
+          break c;
+         }
+         b = d + 1 | 0;
+        }
+        if ((b | 0) < (c | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      c = w(b, 44) + e | 0;
+      b = c + -44 | 0;
+      d = q[c + -28 >> 2];
+      if (!d) {
+       d = Fe(q[c + 8 >> 2] - q[b + 8 >> 2] | 0, p[c >> 1] - p[b >> 1] | 0);
+       q[b + 16 >> 2] = d;
+      }
+      c = q[b + 8 >> 2] + Ee(f - p[b >> 1] | 0, d) | 0;
+      break b;
+     }
+     c = q[k + 8 >> 2];
+    }
+    q[u >> 2] = c;
+    p[a >> 1] = s[a >> 1] | i;
+   }
+   a = a + 40 | 0;
+   if (a >>> 0 < m >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function qt(a, b, c, d, e) {
+ var f = 0, g = 0;
+ g = Ca + -64 | 0;
+ Ca = g;
+ a : {
+  if ((b | 0) != 1196445523) {
+   f = 271040;
+   if ((b | 0) != 1196643650) {
+    break a;
+   }
+   f = q[Ws(a + 136 | 0) >> 2];
+   f = f ? f : 271040;
+   f = t[f + 16 >> 2] < 10 ? 271040 : q[f + 12 >> 2];
+   break a;
+  }
+  f = q[Xs(a + 140 | 0) >> 2];
+  f = f ? f : 271040;
+  f = t[f + 16 >> 2] < 10 ? 271040 : q[f + 12 >> 2];
+ }
+ q[g + 40 >> 2] = 0;
+ q[g + 44 >> 2] = 0;
+ q[g + 48 >> 2] = 0;
+ q[g + 52 >> 2] = 0;
+ q[g + 56 >> 2] = 0;
+ q[g + 32 >> 2] = 0;
+ q[g + 36 >> 2] = 0;
+ o[g + 28 | 0] = 1;
+ q[g + 24 >> 2] = 0;
+ q[g + 16 >> 2] = 1;
+ q[g + 20 >> 2] = 1;
+ lt(a, b, c, d, g + 16 | 0);
+ q[g + 12 >> 2] = -1;
+ if (Ns(g + 16 | 0, g + 12 | 0)) {
+  while (1) {
+   a = r[f + 7 | 0] | r[f + 6 | 0] << 8;
+   a = a ? a + f | 0 : 271040;
+   b = q[g + 12 >> 2];
+   b = (r[a + 1 | 0] | r[a | 0] << 8) >>> 0 > b >>> 0 ? (a + w(b, 6) | 0) + 2 | 0 : 271040;
+   b = r[b + 4 | 0] << 8 | r[b + 5 | 0];
+   rt((b ? a + b | 0 : 271040) + 2 | 0, e);
+   if (Ns(g + 16 | 0, g + 12 | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ a = r[f | 0] | r[f + 1 | 0] << 8 | (r[f + 2 | 0] << 16 | r[f + 3 | 0] << 24);
+ b : {
+  if ((a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) >>> 0 < 65537) {
+   break b;
+  }
+  a = r[f + 10 | 0] | r[f + 11 | 0] << 8 | (r[f + 12 | 0] << 16 | r[f + 13 | 0] << 24);
+  a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  c = a ? a + f | 0 : 271040;
+  a = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+  b = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  if (!b) {
+   break b;
+  }
+  f = (c + (b << 3) | 0) + 8 | 0;
+  a = c + 8 | 0;
+  while (1) {
+   d = b ? a : 271040;
+   d = r[d + 4 | 0] | r[d + 5 | 0] << 8 | (r[d + 6 | 0] << 16 | r[d + 7 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   st(d ? d + c | 0 : 271040, g + 16 | 0, e);
+   d = (b | 0) != 0;
+   b = b - d | 0;
+   a = (d << 3) + a | 0;
+   if ((f | 0) != (a | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ nt(g + 16 | 0);
+ a = g + 56 | 0;
+ M$(q[a >> 2]);
+ q[a >> 2] = 0;
+ q[g + 48 >> 2] = 0;
+ q[g + 52 >> 2] = 0;
+ M$(q[g + 44 >> 2]);
+ Ca = g - -64 | 0;
+}
+function OA(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ h = d;
+ f = $z(q[b + 16 >> 2] - -64 | 0);
+ g = q[f + 4 >> 2];
+ a : {
+  b : {
+   if (g >>> 0 > c >>> 0) {
+    e = q[f + 12 >> 2];
+    e = (c | 0) < 0 ? 271040 : q[(e ? e : 271040) + 12 >> 2] + (c << 2) | 0;
+    c = e + 3 | 0;
+    e = e + 2 | 0;
+    break b;
+   }
+   e = 0;
+   if (t[f >> 2] <= c >>> 0) {
+    break a;
+   }
+   e = c - g << 1;
+   c = q[f + 12 >> 2];
+   e = e + ((g | 0) < 0 ? 271040 : q[(c ? c : 271040) + 12 >> 2] + (g << 2) | 0) | 0;
+   c = e + 1 | 0;
+  }
+  e = (r[c | 0] | r[e | 0] << 8) << 16;
+  c = e >> 31;
+  j = e >> 16;
+  e = c;
+ }
+ f = q[b + 32 >> 2];
+ g = q[b + 36 >> 2];
+ c = T0(j, e, f, g);
+ q[h >> 2] = (Ea & 65535) << 16 | c >>> 16;
+ c = q[b + 44 >> 2];
+ j = c;
+ k = q[b + 40 >> 2];
+ e = a + 8 | 0;
+ h = a + 4 | 0;
+ b = r[a + 4 | 0] | r[a + 5 | 0] << 8;
+ c = (b << 24 | b << 8 & 16711680) >> 16;
+ b = r[a + 8 | 0] | r[a + 9 | 0] << 8;
+ b = (c | 0) < (b << 24 | b << 8 & 16711680) >> 16 ? e : h;
+ b = r[b | 0] | r[b + 1 | 0] << 8;
+ c = b << 24 | b << 8 & 16711680;
+ b = c >> 31;
+ b = T0(k, j, c >> 16, b);
+ q[d + 4 >> 2] = (Ea & 65535) << 16 | b >>> 16;
+ l = f;
+ m = g;
+ b = a + 6 | 0;
+ c = a + 2 | 0;
+ f = r[a + 2 | 0] | r[a + 3 | 0] << 8;
+ f = (f << 24 | f << 8 & 16711680) >> 16;
+ g = r[a + 6 | 0] | r[a + 7 | 0] << 8;
+ g = (g << 24 | g << 8 & 16711680) >> 16;
+ i = (f | 0) < (g | 0) ? b : c;
+ i = r[i | 0] | r[i + 1 | 0] << 8;
+ b = (f | 0) > (g | 0) ? b : c;
+ b = r[b | 0] | r[b + 1 | 0] << 8;
+ c = ((i << 24 | i << 8 & 16711680) >>> 16) - ((b << 24 | b << 8 & 16711680) >>> 16) << 16;
+ b = c >> 31;
+ b = T0(l, m, c >> 16, b);
+ q[d + 8 >> 2] = (Ea & 65535) << 16 | b >>> 16;
+ b = r[a + 4 | 0] | r[a + 5 | 0] << 8;
+ b = (b << 24 | b << 8 & 16711680) >> 16;
+ a = r[a + 8 | 0] | r[a + 9 | 0] << 8;
+ a = (a << 24 | a << 8 & 16711680) >> 16;
+ c = (b | 0) > (a | 0) ? e : h;
+ c = r[c | 0] | r[c + 1 | 0] << 8;
+ a = (b | 0) < (a | 0) ? e : h;
+ a = r[a | 0] | r[a + 1 | 0] << 8;
+ c = ((c << 24 | c << 8 & 16711680) >>> 16) - ((a << 24 | a << 8 & 16711680) >>> 16) << 16;
+ b = c >> 31;
+ a = T0(k, j, c >> 16, b);
+ q[d + 12 >> 2] = (Ea & 65535) << 16 | a >>> 16;
+ return 1;
+}
+function my(a, b, c) {
+ var d = 0, e = 0;
+ c = c + -1 | 0;
+ a : {
+  if (c >>> 0 > 7) {
+   break a;
+  }
+  b : {
+   switch (c - 1 | 0) {
+   default:
+    c = r[a | 0] | r[a + 1 | 0] << 8;
+    c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+    if (c >>> 0 > 1) {
+     break a;
+    }
+    if (c - 1) {
+     return Hw(a, b);
+    }
+    return Jw(a, b);
+   case 0:
+    if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+     break a;
+    }
+    c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+    e = c ? c + a | 0 : 271040;
+    c = q[b + 96 >> 2];
+    c = ct(e, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]);
+    if ((c | 0) == -1) {
+     break a;
+    }
+    d = a;
+    a = (r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0 > c >>> 0 ? ((c << 1) + a | 0) + 6 | 0 : 271040;
+    a = r[a | 0] << 8 | r[a + 1 | 0];
+    return Lw(a ? d + a | 0 : 271040, b);
+   case 1:
+    if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+     break a;
+    }
+    c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+    e = c ? c + a | 0 : 271040;
+    c = q[b + 96 >> 2];
+    c = ct(e, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]);
+    if ((c | 0) == -1) {
+     break a;
+    }
+    d = a;
+    a = (r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0 > c >>> 0 ? ((c << 1) + a | 0) + 6 | 0 : 271040;
+    a = r[a | 0] << 8 | r[a + 1 | 0];
+    return Nw(a ? d + a | 0 : 271040, b);
+   case 2:
+    if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+     break a;
+    }
+    return Pw(a, b);
+   case 3:
+    c = r[a | 0] | r[a + 1 | 0] << 8;
+    c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+    if (c >>> 0 > 2) {
+     break a;
+    }
+    c : {
+     switch (c - 1 | 0) {
+     default:
+      return Vw(a, b);
+     case 0:
+      return Yw(a, b);
+     case 1:
+      break c;
+     }
+    }
+    return Zw(a, b);
+   case 4:
+    return ny(a, b);
+   case 5:
+    if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+     break a;
+    }
+    c = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+    c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    return my(c ? c + a | 0 : 271040, b, r[a + 3 | 0] | r[a + 2 | 0] << 8);
+   case 6:
+    break b;
+   }
+  }
+  if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+   break a;
+  }
+  d = hx(a, b);
+ }
+ return d;
+}
+function bW(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ h = q[b >> 2];
+ i = r[d | 0];
+ a : {
+  b : {
+   if (!i) {
+    j = 28;
+    if (h) {
+     break a;
+    }
+    k = 1;
+    j = 1;
+    break b;
+   }
+   g = 0;
+   c : {
+    if (!h) {
+     break c;
+    }
+    g = 0;
+    if (r[h | 0] != 120) {
+     break c;
+    }
+    g = 0;
+    if (r[h + 1 | 0] != 109) {
+     break c;
+    }
+    g = 0;
+    if (r[h + 2 | 0] != 108) {
+     break c;
+    }
+    g = r[h + 3 | 0];
+    if (!(r[h + 5 | 0] | ((g | 0) != 110 | r[h + 4 | 0] != 115))) {
+     return 39;
+    }
+    g = !g;
+   }
+   j = 1;
+   k = 1;
+   h = 1;
+   while (1) {
+    if (!((i | 0) == r[f + 497952 | 0] ? !(!(j & 1) | f >>> 0 > 36) : 0)) {
+     h = 0;
+    }
+    if (!(!k | g | ((i | 0) == r[f + 498e3 | 0] ? f >>> 0 <= 29 : 0))) {
+     k = 0;
+    }
+    j = (h | 0) != 0;
+    f = f + 1 | 0;
+    i = r[f + d | 0];
+    if (i) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (((f | 0) == 36 & j) != (g | 0)) {
+   return g ? 38 : 40;
+  }
+  if (k) {
+   j = 40;
+   if ((f | 0) == 29) {
+    break a;
+   }
+  }
+  i = (r[a + 468 | 0] != 0) + f | 0;
+  f = q[a + 372 >> 2];
+  d : {
+   if (f) {
+    if ((i | 0) > q[f + 24 >> 2]) {
+     h = i + 24 | 0;
+     g = n[q[a + 16 >> 2]](q[f + 16 >> 2], h) | 0;
+     if (!g) {
+      return 1;
+     }
+     q[f + 24 >> 2] = h;
+     q[f + 16 >> 2] = g;
+    }
+    q[a + 372 >> 2] = q[f + 4 >> 2];
+    break d;
+   }
+   j = 1;
+   f = n[q[a + 12 >> 2]](28) | 0;
+   if (!f) {
+    break a;
+   }
+   h = i + 24 | 0;
+   g = n[q[a + 12 >> 2]](h) | 0;
+   q[f + 16 >> 2] = g;
+   if (!g) {
+    n[q[a + 20 >> 2]](f);
+    return 1;
+   }
+   q[f + 24 >> 2] = h;
+  }
+  q[f + 20 >> 2] = i;
+  Y$(q[f + 16 >> 2], d, i);
+  g = r[a + 468 | 0];
+  if (g) {
+   o[(i + q[f + 16 >> 2] | 0) + -1 | 0] = g;
+  }
+  q[f + 12 >> 2] = c;
+  q[f >> 2] = b;
+  q[f + 8 >> 2] = q[b + 4 >> 2];
+  g = b;
+  h = g;
+  if (r[d | 0] | (q[a + 352 >> 2] + 152 | 0) != (g | 0)) {
+   g = f;
+  } else {
+   g = 0;
+  }
+  q[h + 4 >> 2] = g;
+  q[f + 4 >> 2] = q[e >> 2];
+  q[e >> 2] = f;
+  j = 0;
+  if (!c) {
+   break a;
+  }
+  c = q[a + 100 >> 2];
+  if (!c) {
+   break a;
+  }
+  n[c](q[a + 4 >> 2], q[b >> 2], q[b + 4 >> 2] ? d : 0);
+ }
+ return j;
+}
+function ks(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ e = q[b + 4 >> 2];
+ a : {
+  if (e >>> 0 > a >>> 0) {
+   break a;
+  }
+  i = q[b + 8 >> 2];
+  if (i >>> 0 < a >>> 0) {
+   break a;
+  }
+  f = i - a | 0;
+  if (f >>> 0 < 2) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  b : {
+   h = r[a | 0] | r[a + 1 | 0] << 8;
+   h = (h << 24 | h << 8 & 16711680) >>> 16 | 0;
+   if (h >>> 0 > 10) {
+    break b;
+   }
+   c : {
+    switch (h - 1 | 0) {
+    default:
+     f = q[b + 32 >> 2];
+     if (f >>> 0 > 2147483646) {
+      break a;
+     }
+     if (!f) {
+      break b;
+     }
+     h = e;
+     e = a + 2 | 0;
+     if (h >>> 0 > e >>> 0 | i >>> 0 < e >>> 0 | i - e >>> 0 < f << 1 >>> 0) {
+      break a;
+     }
+     q[b + 12 >> 2] = d + -2;
+     if ((d | 0) <= 1) {
+      break a;
+     }
+     d = 0;
+     while (1) {
+      if (!ls(((d << 1) + a | 0) + 2 | 0, b, c)) {
+       break a;
+      }
+      d = d + 1 | 0;
+      if ((f | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+     break b;
+    case 1:
+     q[g + 12 >> 2] = c;
+     j = ms(a + 2 | 0, b, g + 12 | 0);
+     break a;
+    case 3:
+     q[g + 12 >> 2] = c;
+     q[g + 8 >> 2] = a;
+     j = ns(a + 2 | 0, b, g + 8 | 0, g + 12 | 0);
+     break a;
+    case 5:
+     q[g + 12 >> 2] = c;
+     j = os(a + 2 | 0, b, g + 12 | 0);
+     break a;
+    case 9:
+     break a;
+    case 0:
+    case 2:
+    case 4:
+    case 6:
+    case 8:
+     break b;
+    case 7:
+     break c;
+    }
+   }
+   if (f >>> 0 < 6) {
+    break a;
+   }
+   q[b + 12 >> 2] = d + -2;
+   if ((d | 0) < 2) {
+    break a;
+   }
+   f = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+   if (!f) {
+    break b;
+   }
+   h = e;
+   e = a + 6 | 0;
+   if (h >>> 0 > e >>> 0 | i >>> 0 < e >>> 0 | i - e >>> 0 < f << 1 >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = d + -3;
+   if ((d | 0) <= 2) {
+    break a;
+   }
+   d = 0;
+   while (1) {
+    if (ls(((d << 1) + a | 0) + 6 | 0, b, c)) {
+     j = 1;
+     d = d + 1 | 0;
+     if ((f | 0) != (d | 0)) {
+      continue;
+     }
+     break a;
+    }
+    break;
+   }
+   j = 0;
+   break a;
+  }
+  j = 1;
+ }
+ Ca = g + 16 | 0;
+ return j;
+}
+function OB(a, b, c) {
+ var d = 0, e = 0, h = 0, i = 0, j = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      if ((a | 0) != 24) {
+       if ((a | 0) == 293) {
+        break e;
+       }
+       if ((a | 0) != 263) {
+        break c;
+       }
+       FB(c, 263, b);
+       i = b + 24 | 0;
+       break d;
+      }
+      j = c;
+      i = b + 24 | 0;
+      d = q[i >> 2];
+      f : {
+       if (d) {
+        d = d + -1 | 0;
+        q[b + 24 >> 2] = d;
+        if (t[b + 32 >> 2] <= d >>> 0) {
+         d = q[67761];
+         e = q[67760];
+         q[160656] = e;
+         q[160657] = d;
+         f(0, e | 0);
+         f(1, d | 0);
+         h = +g();
+         break f;
+        }
+        h = v[q[b + 36 >> 2] + (d << 3) >> 3];
+        break f;
+       }
+       o[b + 20 | 0] = 1;
+       d = q[67761];
+       e = q[67760];
+       q[160656] = e;
+       q[160657] = d;
+       f(0, e | 0);
+       f(1, d | 0);
+       h = +g();
+      }
+      g : {
+       if (y(h) < 2147483648) {
+        d = ~~h;
+        break g;
+       }
+       d = -2147483648;
+      }
+      if ((d | 0) <= -1) {
+       o[b + 20 | 0] = 1;
+       d = 0;
+      }
+      q[j + 24 >> 2] = d;
+      break d;
+     }
+     j = c;
+     i = b + 24 | 0;
+     d = q[i >> 2];
+     h : {
+      if (d) {
+       d = d + -1 | 0;
+       q[b + 24 >> 2] = d;
+       if (t[b + 32 >> 2] <= d >>> 0) {
+        d = q[67761];
+        e = q[67760];
+        q[160656] = e;
+        q[160657] = d;
+        f(0, e | 0);
+        f(1, d | 0);
+        h = +g();
+        break h;
+       }
+       h = v[q[b + 36 >> 2] + (d << 3) >> 3];
+       break h;
+      }
+      o[b + 20 | 0] = 1;
+      d = q[67761];
+      e = q[67760];
+      q[160656] = e;
+      q[160657] = d;
+      f(0, e | 0);
+      f(1, d | 0);
+      h = +g();
+     }
+     i : {
+      if (y(h) < 2147483648) {
+       d = ~~h;
+       break i;
+      }
+      d = -2147483648;
+     }
+     if ((d | 0) <= -1) {
+      o[b + 20 | 0] = 1;
+      d = 0;
+     }
+     q[j + 28 >> 2] = d;
+    }
+    q[i >> 2] = 0;
+    break b;
+   }
+   AB(a, b, c);
+   if (q[b + 24 >> 2]) {
+    break a;
+   }
+  }
+  if (r[b + 40 | 0] | r[b + 16 | 0] | (r[b + 20 | 0] | q[b + 28 >> 2] < 0)) {
+   break a;
+  }
+  FB(c, a, b);
+ }
+}
+function uD(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ f = N$(1, 40);
+ if (f) {
+  g = q[a + 4 >> 2] == 1098015074;
+  o[f + 36 | 0] = g;
+  c = q[a + 44 >> 2];
+  l = c + -1 | 0;
+  i = q[a + 48 >> 2];
+  b = f;
+  a : {
+   b : {
+    if ((c | 0) < 1) {
+     break b;
+    }
+    a = l;
+    while (1) {
+     c : {
+      h = a + d >>> 1 | 0;
+      e = q[w(h, 36) + i >> 2];
+      d : {
+       if (e >>> 0 >= 1937007465) {
+        a = h + -1 | 0;
+        break d;
+       }
+       if ((e | 0) == 1937007464) {
+        break c;
+       }
+       d = h + 1 | 0;
+      }
+      if ((d | 0) <= (a | 0)) {
+       continue;
+      }
+      break b;
+     }
+     break;
+    }
+    a = 2;
+    if (q[(w(h, 36) + i | 0) + 28 >> 2]) {
+     break a;
+    }
+   }
+   a = 0;
+  }
+  o[b + 36 | 0] = a | g;
+  h = (c | 0) < 1;
+  while (1) {
+   b = j << 2;
+   k = q[b + 251520 >> 2];
+   d = 0;
+   a = l;
+   g = b + f | 0;
+   b = 0;
+   e : {
+    if (h) {
+     break e;
+    }
+    f : {
+     while (1) {
+      c = a + d >>> 1 | 0;
+      e = w(c, 36) + i | 0;
+      b = q[e >> 2];
+      g : {
+       if (b >>> 0 > k >>> 0) {
+        a = c + -1 | 0;
+        break g;
+       }
+       if (b >>> 0 >= k >>> 0) {
+        break f;
+       }
+       d = c + 1 | 0;
+      }
+      if ((d | 0) <= (a | 0)) {
+       continue;
+      }
+      break;
+     }
+     b = 0;
+     break e;
+    }
+    b = q[e + 28 >> 2];
+   }
+   q[g >> 2] = b;
+   b = 0;
+   g = r[f + 36 | 0];
+   h : {
+    if (!(g & 1)) {
+     break h;
+    }
+    b = 44 >>> j & 1;
+    if (h) {
+     break h;
+    }
+    d = 0;
+    a = l;
+    if (b) {
+     break h;
+    }
+    i : {
+     while (1) {
+      c = a + d >>> 1 | 0;
+      e = w(c, 36) + i | 0;
+      b = q[e >> 2];
+      j : {
+       if (b >>> 0 > k >>> 0) {
+        a = c + -1 | 0;
+        break j;
+       }
+       if (b >>> 0 >= k >>> 0) {
+        break i;
+       }
+       d = c + 1 | 0;
+      }
+      if ((d | 0) <= (a | 0)) {
+       continue;
+      }
+      break;
+     }
+     b = 0;
+     break h;
+    }
+    b = o[e + 32 | 0] & 1;
+   }
+   o[f + 36 | 0] = g & 254 | b;
+   j = j + 1 | 0;
+   if ((j | 0) != 7) {
+    continue;
+   }
+   break;
+  }
+ }
+ return f | 0;
+}
+function hx(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0;
+ a : {
+  if (q[b + 132 >> 2] != 6) {
+   break a;
+  }
+  c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  e = c ? c + a | 0 : 271040;
+  c = q[b + 96 >> 2];
+  l = ct(e, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]);
+  if ((l | 0) == -1) {
+   break a;
+  }
+  d = r[a + 5 | 0];
+  e = r[a + 4 | 0];
+  c = (a + 4 | 0) + (d << 1 | e << 9) | 0;
+  p = r[c + 3 | 0];
+  i = c + 2 | 0;
+  s = r[i | 0];
+  c = q[b + 96 >> 2];
+  j = q[c + (r[c + 69 | 0] ? 80 : 72) >> 2];
+  f = d | e << 8;
+  q[b + 80 >> 2] = f;
+  q[b + 44 >> 2] = j;
+  e = q[q[b + 48 >> 2] + 96 >> 2];
+  g = q[e + 76 >> 2];
+  q[b + 84 >> 2] = g;
+  m = a + 6 | 0;
+  d = 0;
+  k = q[e + 72 >> 2];
+  if ((k | 0) == (j | 0)) {
+   h = r[(q[e + 88 >> 2] + w(j, 20) | 0) + 15 | 0];
+  }
+  n = b + 44 | 0;
+  q[b + 76 >> 2] = m;
+  q[b + 72 >> 2] = a;
+  q[b + 68 >> 2] = 448;
+  o[b - -64 | 0] = h;
+  if (f) {
+   b : {
+    while (1) {
+     if (dx(n)) {
+      d = d + 1 | 0;
+      if ((f | 0) != (d | 0)) {
+       continue;
+      }
+      break b;
+     }
+     break;
+    }
+    return 0;
+   }
+   j = q[b + 44 >> 2];
+   e = q[q[b + 48 >> 2] + 96 >> 2];
+   k = q[e + 72 >> 2];
+   g = q[e + 76 >> 2];
+   c = q[b + 96 >> 2];
+  }
+  d = r[i + 1 | 0];
+  f = r[i | 0];
+  h = q[c + 72 >> 2];
+  q[b + 84 >> 2] = g;
+  q[b + 44 >> 2] = h;
+  f = d | f << 8;
+  q[b + 80 >> 2] = f;
+  m = i + 2 | 0;
+  d = 0;
+  g = 0;
+  g = (h | 0) == (k | 0) ? r[(q[e + 88 >> 2] + w(k, 20) | 0) + 15 | 0] : g;
+  q[b + 76 >> 2] = m;
+  q[b + 72 >> 2] = a;
+  q[b + 68 >> 2] = 448;
+  o[b + 64 | 0] = g;
+  if (f) {
+   c : {
+    while (1) {
+     if (Xt(n)) {
+      d = d + 1 | 0;
+      if ((f | 0) != (d | 0)) {
+       continue;
+      }
+      break c;
+     }
+     break;
+    }
+    return 0;
+   }
+   c = q[b + 96 >> 2];
+   h = q[b + 44 >> 2];
+  }
+  d = 1;
+  EG(c, j, h + 1 | 0);
+  a = ((p << 1 | s << 9) + i | 0) + 2 | 0;
+  a = (r[a + 1 | 0] | r[a | 0] << 8) >>> 0 > l >>> 0 ? (a + (l << 1) | 0) + 2 | 0 : 271040;
+  a = r[a | 0] << 8 | r[a + 1 | 0];
+  Iw(b, a, 0, 0, 0);
+  b = q[b + 96 >> 2];
+  q[q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) >> 2] = a;
+ }
+ return d;
+}
+function FD(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = Ca - 96 | 0;
+ Ca = d;
+ a : {
+  if (!HD(b, a, 2)) {
+   break a;
+  }
+  b : {
+   g = q[c + 4 >> 2];
+   if (!g) {
+    break b;
+   }
+   h = q[c + 16 >> 2];
+   if (!h) {
+    break b;
+   }
+   e = q[c + 12 >> 2];
+   f = q[c >> 2];
+   i = (r[e | 0] << 8 | r[e + 1 | 0]) - (r[f | 0] << 8 | r[f + 1 | 0]) | 0;
+   g = g + -1 | 0;
+   c : {
+    if (!g) {
+     break c;
+    }
+    h = h + -1 | 0;
+    if (!h) {
+     break c;
+    }
+    f = f + 2 | 0;
+    while (1) {
+     if (((r[e + 3 | 0] | r[e + 2 | 0] << 8) - (r[f + 1 | 0] | r[f | 0] << 8) ^ i) & 65535) {
+      break b;
+     }
+     h = h + -1 | 0;
+     if (!h) {
+      break c;
+     }
+     e = e + 2 | 0;
+     f = f + 2 | 0;
+     g = g + -1 | 0;
+     if (g) {
+      continue;
+     }
+     break;
+    }
+   }
+   o[a | 0] = 256;
+   o[a + 1 | 0] = 1;
+   e = q[c + 20 >> 2];
+   q[d + 80 >> 2] = q[c + 16 >> 2];
+   q[d + 84 >> 2] = e;
+   e = q[c + 12 >> 2];
+   q[d + 72 >> 2] = q[c + 8 >> 2];
+   q[d + 76 >> 2] = e;
+   e = q[c + 4 >> 2];
+   q[d + 64 >> 2] = q[c >> 2];
+   q[d + 68 >> 2] = e;
+   q[d + 88 >> 2] = 254776;
+   e = 0;
+   if (!HD(b, a, 6)) {
+    break a;
+   }
+   f = q[b + 4 >> 2];
+   c = f - a | 0;
+   g = (c << 24 | c << 8 & 16711680) >>> 16 | 0;
+   o[a + 2 | 0] = g;
+   o[a + 3 | 0] = g >>> 8;
+   if (!(!r[b + 20 | 0] | c >>> 0 < 65536)) {
+    o[b + 20 | 0] = 0;
+   }
+   q[d + 56 >> 2] = q[d + 88 >> 2];
+   c = q[d + 84 >> 2];
+   q[d + 48 >> 2] = q[d + 80 >> 2];
+   q[d + 52 >> 2] = c;
+   c = q[d + 76 >> 2];
+   q[d + 40 >> 2] = q[d + 72 >> 2];
+   q[d + 44 >> 2] = c;
+   c = q[d + 68 >> 2];
+   q[d + 32 >> 2] = q[d + 64 >> 2];
+   q[d + 36 >> 2] = c;
+   if (!ID(f, b, d + 32 | 0)) {
+    break a;
+   }
+   b = (i << 8 & 16711680 | i << 24) >>> 16 | 0;
+   o[a + 4 | 0] = b;
+   o[a + 5 | 0] = b >>> 8;
+   e = 1;
+   break a;
+  }
+  o[a | 0] = 512;
+  o[a + 1 | 0] = 2;
+  e = q[c + 12 >> 2];
+  q[d + 16 >> 2] = q[c + 8 >> 2];
+  q[d + 20 >> 2] = e;
+  e = q[c + 20 >> 2];
+  q[d + 24 >> 2] = q[c + 16 >> 2];
+  q[d + 28 >> 2] = e;
+  e = q[c + 4 >> 2];
+  q[d + 8 >> 2] = q[c >> 2];
+  q[d + 12 >> 2] = e;
+  e = JD(a, b, d + 8 | 0);
+ }
+ Ca = d + 96 | 0;
+ return e;
+}
+function Gd(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0;
+ p = q[a + 8 >> 2];
+ a : {
+  if (!p) {
+   break a;
+  }
+  s = (d | 0) < 1 ? d ? -1 : 0 : (d | 0) != 0;
+  f = s;
+  t = f;
+  u = f >> 31;
+  v = (p | 0) < 1;
+  x = (f | 0) > -1;
+  m = b;
+  k = c;
+  r = d;
+  while (1) {
+   b : {
+    if (v) {
+     i = 0;
+     h = b;
+     f = c;
+     break b;
+    }
+    y = q[a + 20 >> 2];
+    n = 0;
+    h = b;
+    f = c;
+    i = 0;
+    while (1) {
+     j = w(n, 56) + y | 0;
+     e = j;
+     g = q[e >> 2];
+     e = q[e + 4 >> 2];
+     c : {
+      if (!x) {
+       e = e + q[j + 12 >> 2] | 0;
+       l = g + q[j + 8 >> 2] | 0;
+       if (l >>> 0 < g >>> 0) {
+        e = e + 1 | 0;
+       }
+       g = e;
+       if ((e | 0) > (k | 0) ? 1 : (e | 0) >= (k | 0) ? l >>> 0 < m >>> 0 ? 0 : 1 : 0) {
+        break c;
+       }
+       e = !i | ((g | 0) > (f | 0) ? 1 : (g | 0) >= (f | 0) ? l >>> 0 <= h >>> 0 ? 0 : 1 : 0);
+       i = e ? j : i;
+       h = e ? l : h;
+       f = e ? g : f;
+       break c;
+      }
+      if (d) {
+       if ((e | 0) < (k | 0) ? 1 : (e | 0) <= (k | 0) ? g >>> 0 > m >>> 0 ? 0 : 1 : 0) {
+        break c;
+       }
+       l = j;
+       j = !i | ((e | 0) < (f | 0) ? 1 : (e | 0) <= (f | 0) ? g >>> 0 >= h >>> 0 ? 0 : 1 : 0);
+       i = j ? l : i;
+       h = j ? g : h;
+       f = j ? e : f;
+       break c;
+      }
+      if ((e | 0) > (k | 0) ? 1 : (e | 0) >= (k | 0) ? g >>> 0 < m >>> 0 ? 0 : 1 : 0) {
+       break c;
+      }
+      l = g;
+      g = (i | 0) != 0 & ((e | 0) < (f | 0) ? 1 : (e | 0) <= (f | 0) ? g >>> 0 >= h >>> 0 ? 0 : 1 : 0);
+      h = g ? h : l;
+      f = g ? f : e;
+      i = g ? i : j;
+     }
+     n = n + 1 | 0;
+     if ((p | 0) != (n | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   o = i ? i : o;
+   k = f + u | 0;
+   f = t;
+   h = f + h | 0;
+   if (h >>> 0 < f >>> 0) {
+    k = k + 1 | 0;
+   }
+   m = h;
+   r = r - s | 0;
+   if (r) {
+    continue;
+   }
+   break;
+  }
+  if (!o) {
+   break a;
+  }
+  a = q[o >> 2];
+  z = a - b | 0;
+  A = q[o + 4 >> 2] - (c + (a >>> 0 < b >>> 0) | 0) | 0;
+ }
+ Ea = A;
+ return z;
+}
+function mX(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ a : {
+  b : {
+   if (a) {
+    break b;
+   }
+   a = qX();
+   if (a) {
+    break b;
+   }
+   break a;
+  }
+  cT();
+  c : {
+   if (!YW(a, 0)) {
+    e = RX(a);
+    c = qX();
+    if (!c) {
+     break c;
+    }
+    TX(c, e);
+    if (ZW(c)) {
+     b = c;
+     break c;
+    }
+    pX(c);
+    break c;
+   }
+   UW(a, 502276, 0, 0);
+   b = q[a + 12 >> 2];
+   if (!b) {
+    b = a;
+    break a;
+   }
+   if (q[b + 4 >> 2]) {
+    b = a;
+    break a;
+   }
+   c = j$(502325);
+   e = j$(502341);
+   d : {
+    if (c) {
+     b = 1;
+     if (r[c | 0]) {
+      break d;
+     }
+    }
+    if (e) {
+     b = 1;
+     if (r[e | 0]) {
+      break d;
+     }
+    }
+    b = q[126919];
+    c0(502357, 71, 1, b);
+    q[f >> 2] = 502481;
+    j_(b, 502429, f);
+    b = 0;
+   }
+   e = b;
+   b = 0;
+   e : {
+    f : {
+     c = OX();
+     g : {
+      if (!c) {
+       break g;
+      }
+      b = c;
+      d = g0(c);
+      c = O$(c, d + 12 | 0);
+      if (!c) {
+       break g;
+      }
+      b = r[502527] | r[502528] << 8 | (r[502529] << 16 | r[502530] << 24);
+      d = c + d | 0;
+      g = r[502523] | r[502524] << 8 | (r[502525] << 16 | r[502526] << 24);
+      o[d | 0] = g;
+      o[d + 1 | 0] = g >>> 8;
+      o[d + 2 | 0] = g >>> 16;
+      o[d + 3 | 0] = g >>> 24;
+      o[d + 4 | 0] = b;
+      o[d + 5 | 0] = b >>> 8;
+      o[d + 6 | 0] = b >>> 16;
+      o[d + 7 | 0] = b >>> 24;
+      b = r[502530] | r[502531] << 8 | (r[502532] << 16 | r[502533] << 24);
+      o[d + 7 | 0] = b;
+      o[d + 8 | 0] = b >>> 8;
+      o[d + 9 | 0] = b >>> 16;
+      o[d + 10 | 0] = b >>> 24;
+      o[d + 11 | 0] = 0;
+      if (!e) {
+       c0(502535, 72, 1, q[126919]);
+      }
+      if (DX(a, 502481)) {
+       if (DX(a, c)) {
+        break f;
+       }
+      }
+      b = c;
+     }
+     e = RX(a);
+     c0(502608, 31, 1, q[126919]);
+     if (b) {
+      M$(b);
+     }
+     c = qX();
+     if (!c) {
+      b = 0;
+      break c;
+     }
+     TX(c, e);
+     b = 0;
+     if (!ZW(c)) {
+      break e;
+     }
+     b = c;
+     break c;
+    }
+    M$(c);
+    b = a;
+    break a;
+   }
+   pX(c);
+  }
+  pX(a);
+ }
+ Ca = f + 16 | 0;
+ return b;
+}
+function _V(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ a : {
+  b : {
+   c : {
+    b = q[a + 4 >> 2];
+    if (!b) {
+     break c;
+    }
+    c = q[a + 16 >> 2];
+    if (!c) {
+     q[a >> 2] = b;
+     q[a + 4 >> 2] = q[b >> 2];
+     q[b >> 2] = 0;
+     c = q[a >> 2];
+     b = c + 8 | 0;
+     q[a + 16 >> 2] = b;
+     c = q[c + 4 >> 2];
+     q[a + 12 >> 2] = b;
+     q[a + 8 >> 2] = b + c;
+     break b;
+    }
+    if ((q[a + 8 >> 2] - c | 0) >= q[b + 4 >> 2]) {
+     break c;
+    }
+    c = q[b >> 2];
+    q[b >> 2] = q[a >> 2];
+    b = q[a + 4 >> 2];
+    q[a + 4 >> 2] = c;
+    q[a >> 2] = b;
+    c = b + 8 | 0;
+    b = q[a + 16 >> 2];
+    Y$(c, b, q[a + 8 >> 2] - b | 0);
+    c = q[a + 16 >> 2];
+    d = q[a >> 2];
+    b = d + 8 | 0;
+    q[a + 16 >> 2] = b;
+    q[a + 12 >> 2] = b + (q[a + 12 >> 2] - c | 0);
+    q[a + 8 >> 2] = b + q[d + 4 >> 2];
+    break b;
+   }
+   d : {
+    e = q[a >> 2];
+    if (!e) {
+     c = q[a + 16 >> 2];
+     break d;
+    }
+    c = q[a + 16 >> 2];
+    if ((c | 0) != (e + 8 | 0)) {
+     break d;
+    }
+    b = 0;
+    d = q[a + 8 >> 2] - c << 1;
+    if ((d | 0) < 0 | !d) {
+     break a;
+    }
+    f = d + 8 | 0;
+    if ((f | 0) < 1) {
+     break a;
+    }
+    g = q[a + 12 >> 2];
+    e = n[q[q[a + 20 >> 2] + 4 >> 2]](e, f) | 0;
+    if (!e) {
+     break a;
+    }
+    q[a >> 2] = e;
+    q[e + 4 >> 2] = d;
+    b = q[a >> 2] + 8 | 0;
+    q[a + 16 >> 2] = b;
+    q[a + 12 >> 2] = b + (g - c | 0);
+    q[a + 8 >> 2] = b + d;
+    break b;
+   }
+   b = 0;
+   d = q[a + 8 >> 2] - c | 0;
+   if ((d | 0) < 0) {
+    break a;
+   }
+   e = 1024;
+   c = 1032;
+   if ((d | 0) >= 1024) {
+    e = d << 1;
+    if ((e | 0) < 0) {
+     break a;
+    }
+    c = e + 8 | 0;
+    if ((c | 0) < 1) {
+     break a;
+    }
+   }
+   d = n[q[q[a + 20 >> 2] >> 2]](c) | 0;
+   if (!d) {
+    break a;
+   }
+   q[d + 4 >> 2] = e;
+   q[d >> 2] = q[a >> 2];
+   q[a >> 2] = d;
+   b = q[a + 16 >> 2];
+   c = q[a + 12 >> 2];
+   if ((b | 0) != (c | 0)) {
+    Y$(d + 8 | 0, b, c - b | 0);
+    c = q[a + 12 >> 2];
+    b = q[a + 16 >> 2];
+   }
+   d = d + 8 | 0;
+   q[a + 16 >> 2] = d;
+   q[a + 12 >> 2] = d + (c - b | 0);
+   q[a + 8 >> 2] = d + e;
+  }
+  b = 1;
+ }
+ return b;
+}
+function sm(a, b, c, d) {
+ var e = 0, f = 0, g = 0;
+ a : {
+  b : {
+   g = q[a + 8264 >> 2];
+   if (g >>> 0 > b >>> 0) {
+    g = 0;
+    if (yg(q[a >> 2], q[a + 68 >> 2])) {
+     break a;
+    }
+    e = q[a + 40 >> 2];
+    c : {
+     if (!e) {
+      break c;
+     }
+     q[a + 20 >> 2] = 0;
+     q[a + 32 >> 2] = 0;
+     q[a + 36 >> 2] = 0;
+     q[e >> 2] = q[e + 12 >> 2] ? 7 : 0;
+     f = q[e + 20 >> 2];
+     e = q[f >> 2];
+     if ((e & -2) == 4) {
+      n[q[a + 48 >> 2]](q[a + 52 >> 2], q[f + 12 >> 2]);
+      e = q[f >> 2];
+     }
+     if ((e | 0) == 6) {
+      n[q[a + 48 >> 2]](q[a + 52 >> 2], q[f + 4 >> 2]);
+     }
+     q[f + 28 >> 2] = 0;
+     q[f + 32 >> 2] = 0;
+     q[f >> 2] = 0;
+     e = q[f + 40 >> 2];
+     q[f + 52 >> 2] = e;
+     q[f + 48 >> 2] = e;
+     e = q[f + 56 >> 2];
+     if (!e) {
+      break c;
+     }
+     e = n[e](0, 0, 0) | 0;
+     q[f + 60 >> 2] = e;
+     q[a + 60 >> 2] = e;
+    }
+    q[a + 8264 >> 2] = 0;
+    q[a + 28 >> 2] = 0;
+    q[a + 12 >> 2] = a + 72;
+    q[a + 16 >> 2] = 0;
+    e = a + 8264 | 0;
+    q[a + 8272 >> 2] = e;
+    q[a + 24 >> 2] = a + 4168;
+    q[a + 8268 >> 2] = e;
+   }
+   if (g >>> 0 < b >>> 0) {
+    f = q[a + 8268 >> 2];
+    e = q[a + 8272 >> 2] - f | 0;
+    b = b - g | 0;
+    e = e >>> 0 < b >>> 0 ? e : b;
+    q[a + 8268 >> 2] = e + f;
+    q[a + 8264 >> 2] = e + g;
+    b = b - e | 0;
+    if (b) {
+     while (1) {
+      if (wm(a)) {
+       return 0;
+      }
+      f = q[a + 8268 >> 2];
+      e = q[a + 8272 >> 2] - f | 0;
+      e = e >>> 0 < b >>> 0 ? e : b;
+      q[a + 8268 >> 2] = e + f;
+      q[a + 8264 >> 2] = e + q[a + 8264 >> 2];
+      b = b - e | 0;
+      if (b) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (d) {
+     break b;
+    }
+    return 0;
+   }
+   if (d) {
+    break b;
+   }
+   return 0;
+  }
+  g = 0;
+  while (1) {
+   e = q[a + 8268 >> 2];
+   b = q[a + 8272 >> 2] - e | 0;
+   f = b >>> 0 < d >>> 0 ? b : d;
+   b = Y$(c, e, f);
+   q[a + 8268 >> 2] = f + q[a + 8268 >> 2];
+   q[a + 8264 >> 2] = f + q[a + 8264 >> 2];
+   g = f + g | 0;
+   d = d - f | 0;
+   if (!d) {
+    break a;
+   }
+   c = b + f | 0;
+   if (!wm(a)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return g;
+}
+function UE() {
+ var a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ e = Ca - 32 | 0;
+ Ca = e;
+ c = j$(270216);
+ a : {
+  if (!c | !r[c | 0]) {
+   break a;
+  }
+  d = N$(1, 40);
+  if (!d) {
+   break a;
+  }
+  a = q[67553];
+  q[d + 32 >> 2] = q[67552];
+  q[d + 36 >> 2] = a;
+  a = q[67551];
+  q[d + 24 >> 2] = q[67550];
+  q[d + 28 >> 2] = a;
+  a = q[67549];
+  q[d + 16 >> 2] = q[67548];
+  q[d + 20 >> 2] = a;
+  a = q[67547];
+  q[d + 8 >> 2] = q[67546];
+  q[d + 12 >> 2] = a;
+  a = q[67545];
+  q[d >> 2] = q[67544];
+  q[d + 4 >> 2] = a;
+  g = d + 20 | 0;
+  while (1) {
+   h = eZ(c, 44);
+   if (!h) {
+    h = g0(c) + c | 0;
+   }
+   b : {
+    if (b >>> 0 > 1) {
+     break b;
+    }
+    f = w(b, 20) + d | 0;
+    i = h - c | 0;
+    a = b;
+    c : {
+     if ((g0(f) | 0) != (i | 0)) {
+      break c;
+     }
+     a = b;
+     if (jZ(f, c, i)) {
+      break c;
+     }
+     j = f + 16 | 0;
+     k = q[j >> 2];
+     q[e + 24 >> 2] = k;
+     a = f + 8 | 0;
+     l = q[a + 4 >> 2];
+     m = q[a >> 2];
+     q[e + 16 >> 2] = m;
+     q[e + 20 >> 2] = l;
+     n = q[f + 4 >> 2];
+     o = q[f >> 2];
+     q[e + 8 >> 2] = o;
+     q[e + 12 >> 2] = n;
+     q[j >> 2] = k;
+     q[a >> 2] = m;
+     q[a + 4 >> 2] = l;
+     q[f >> 2] = o;
+     q[f + 4 >> 2] = n;
+     a = b + 1 | 0;
+    }
+    d : {
+     if (b) {
+      break d;
+     }
+     if ((g0(g) | 0) != (i | 0)) {
+      break d;
+     }
+     if (jZ(g, c, i)) {
+      break d;
+     }
+     f = e + 24 | 0;
+     q[f >> 2] = q[g + 16 >> 2];
+     i = q[g + 12 >> 2];
+     c = e + 16 | 0;
+     b = c;
+     q[b >> 2] = q[g + 8 >> 2];
+     q[b + 4 >> 2] = i;
+     b = q[g + 4 >> 2];
+     q[e + 8 >> 2] = q[g >> 2];
+     q[e + 12 >> 2] = b;
+     b = w(a, 20) + d | 0;
+     _$(b + 20 | 0, b, w(1 - a | 0, 20));
+     q[b + 16 >> 2] = q[f >> 2];
+     f = q[c + 4 >> 2];
+     q[b + 8 >> 2] = q[c >> 2];
+     q[b + 12 >> 2] = f;
+     c = q[e + 12 >> 2];
+     q[b >> 2] = q[e + 8 >> 2];
+     q[b + 4 >> 2] = c;
+     b = a + 1 | 0;
+     break b;
+    }
+    b = a;
+   }
+   c = h + 1 | 0;
+   if (r[h | 0]) {
+    continue;
+   }
+   break;
+  }
+  h = d;
+ }
+ Ca = e + 32 | 0;
+ return h;
+}
+function hD(a, b, c) {
+ var d = 0, e = 0, f = x(0), g = 0, h = 0, i = x(0), j = 0, k = 0, l = x(0), m = 0, n = 0;
+ if (q[a + 4 >> 2]) {
+  if (c) {
+   j = N$(c, 4);
+   g = N$(c, 4);
+   k = N$(c, 4);
+   if (!(k ? !(!j | !g) : 0)) {
+    M$(j);
+    M$(g);
+    M$(k);
+    return;
+   }
+   d = c << 2;
+   Y$(j, b, d);
+   Y$(g, b, d);
+  }
+  b = jD(q[a + 16 >> 2] + 116 | 0);
+  b = t[b + 16 >> 2] < 8 ? 271040 : q[b + 12 >> 2];
+  d = r[b + 6 | 0] << 8 | r[b + 7 | 0];
+  e = d >>> 0 < c >>> 0 ? d : c;
+  if (e) {
+   b = b + 8 | 0;
+   d = 0;
+   while (1) {
+    h = (d << 2) + g | 0;
+    m = h, n = kD(b, q[h >> 2]), q[m >> 2] = n;
+    b = (r[b | 0] << 10 | r[b + 1 | 0] << 2 | 2) + b | 0;
+    d = d + 1 | 0;
+    if ((e | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (c) {
+   b = 0;
+   while (1) {
+    d = iD(q[a + 16 >> 2] + 112 | 0);
+    d = t[d + 16 >> 2] < 16 ? 271040 : q[d + 12 >> 2];
+    e = r[d + 5 | 0] | r[d + 4 | 0] << 8;
+    d = (r[d + 9 | 0] | r[d + 8 | 0] << 8) >>> 0 > b >>> 0 ? w(b, 20) + (e ? d + e | 0 : 271040) | 0 : 271040;
+    e = r[d + 8 | 0] | r[d + 9 | 0] << 8 | (r[d + 10 | 0] << 16 | r[d + 11 | 0] << 24);
+    f = x(x(e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24)) * x(152587890625e-16));
+    h = b << 2;
+    e = q[h + g >> 2];
+    a : {
+     if (!e) {
+      break a;
+     }
+     l = x(e | 0);
+     if ((e | 0) <= -1) {
+      d = r[d + 4 | 0] | r[d + 5 | 0] << 8 | (r[d + 6 | 0] << 16 | r[d + 7 | 0] << 24);
+      i = x(x(d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) * x(152587890625e-16));
+      f = x(f + x(x(x(f - (f <= i ? f : i)) * l) * x(6103515625e-14)));
+      break a;
+     }
+     d = r[d + 12 | 0] | r[d + 13 | 0] << 8 | (r[d + 14 | 0] << 16 | r[d + 15 | 0] << 24);
+     i = x(x(d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) * x(152587890625e-16));
+     f = x(f + x(x(x((f >= i ? f : i) - f) * l) * x(6103515625e-14)));
+    }
+    u[k + h >> 2] = f;
+    b = b + 1 | 0;
+    if ((c | 0) != (b | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  M$(g);
+  M$(q[a + 64 >> 2]);
+  M$(q[a + 68 >> 2]);
+  q[a + 68 >> 2] = k;
+  q[a + 64 >> 2] = j;
+  q[a + 60 >> 2] = c;
+ }
+}
+function yo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ d = a + 8208 | 0;
+ if (d >>> 0 > t[b + 160 >> 2]) {
+  kf(b, 8);
+ }
+ c = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+ c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+ if (!(c >>> 0 > 8207 ? c >>> 0 <= q[b + 160 >> 2] - a >>> 0 : 0)) {
+  kf(b, 8);
+ }
+ c = r[a + 8204 | 0] | r[a + 8205 | 0] << 8 | (r[a + 8206 | 0] << 16 | r[a + 8207 | 0] << 24);
+ f = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+ a : {
+  b : {
+   if (f >>> 0 > (q[b + 160 >> 2] - d >>> 0) / 12 >>> 0) {
+    kf(b, 8);
+    break b;
+   }
+   if (!f) {
+    break a;
+   }
+  }
+  g = a + 12 | 0;
+  while (1) {
+   c = h;
+   e = r[d + 8 | 0] | r[d + 9 | 0] << 8 | (r[d + 10 | 0] << 16 | r[d + 11 | 0] << 24);
+   j = r[d + 5 | 0] << 16 | r[d + 4 | 0] << 24;
+   h = r[d + 7 | 0] | (j | r[d + 6 | 0] << 8);
+   k = r[d + 1 | 0] << 16 | r[d | 0] << 24;
+   a = r[d + 3 | 0] | (k | r[d + 2 | 0] << 8);
+   if (h >>> 0 < a >>> 0) {
+    kf(b, 8);
+   }
+   if (!(!i | a >>> 0 > c >>> 0)) {
+    kf(b, 8);
+   }
+   c : {
+    if (!q[b + 164 >> 2]) {
+     break c;
+    }
+    l = q[b + 172 >> 2];
+    c = h - a | 0;
+    if (!((e << 8 & 16711680 | e << 24 | (e >>> 8 & 65280 | e >>> 24)) >>> 0 < l - c >>> 0 ? l >>> 0 >= c >>> 0 : 0)) {
+     kf(b, 16);
+    }
+    c = c + 1 | 0;
+    if (k) {
+     if (!c) {
+      break c;
+     }
+     while (1) {
+      if (!(r[(a >>> 19 | 0) + g | 0] << (a >>> 16 & 7) & 128)) {
+       kf(b, 8);
+      }
+      if (!(r[(a >>> 3 & 8191) + g | 0] << (a & 7) & 128)) {
+       kf(b, 8);
+      }
+      a = a + 1 | 0;
+      c = c + -1 | 0;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    }
+    if (j) {
+     kf(b, 8);
+    }
+    if (!c) {
+     break c;
+    }
+    while (1) {
+     if (r[(a >>> 3 & 8191) + g | 0] << (a & 7) & 128) {
+      kf(b, 8);
+     }
+     a = a + 1 | 0;
+     c = c + -1 | 0;
+     if (c) {
+      continue;
+     }
+     break;
+    }
+   }
+   d = d + 12 | 0;
+   i = i + 1 | 0;
+   if ((f | 0) != (i | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function uB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  h = q[b + 4 >> 2];
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 <= a >>> 0) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  g = r[a | 0];
+  d = g & 127;
+  if (d >>> 0 > 1) {
+   break a;
+  }
+  b : {
+   if (d - 1) {
+    d = a + 1 | 0;
+    if (h >>> 0 > d >>> 0 | f >>> 0 <= d >>> 0) {
+     break a;
+    }
+    e = c + -2 | 0;
+    q[b + 12 >> 2] = e;
+    if ((c | 0) < 2) {
+     break a;
+    }
+    i = r[a + 1 | 0];
+    if (!i) {
+     break b;
+    }
+    d = a + 2 | 0;
+    if (h >>> 0 > d >>> 0 | f >>> 0 < d >>> 0) {
+     break a;
+    }
+    if (f - d >>> 0 < i >>> 0) {
+     break a;
+    }
+    e = c + -3 | 0;
+    q[b + 12 >> 2] = e;
+    if ((c | 0) > 2) {
+     break b;
+    }
+    break a;
+   }
+   d = a + 1 | 0;
+   if (h >>> 0 > d >>> 0 | f >>> 0 <= d >>> 0) {
+    break a;
+   }
+   e = c + -2 | 0;
+   q[b + 12 >> 2] = e;
+   if ((c | 0) < 2) {
+    break a;
+   }
+   i = r[a + 1 | 0];
+   if (!i) {
+    break b;
+   }
+   d = a + 2 | 0;
+   if (h >>> 0 > d >>> 0 | f >>> 0 < d >>> 0) {
+    break a;
+   }
+   if (f - d >>> 0 < i << 1 >>> 0) {
+    break a;
+   }
+   e = c + -3 | 0;
+   q[b + 12 >> 2] = e;
+   if ((c | 0) >= 3) {
+    break b;
+   }
+   break a;
+  }
+  g = g << 24 >> 24;
+  c = 1;
+  c : {
+   if ((g | 0) > -1) {
+    break c;
+   }
+   d = h;
+   g = g & 127;
+   c = 271040;
+   d : {
+    if (g >>> 0 > 1) {
+     break d;
+    }
+    if (g - 1) {
+     c = a + 1 | 0;
+     a = r[a + 1 | 0];
+     c = (a ? c + a | 0 : 271040) + 1 | 0;
+     break d;
+    }
+    c = a;
+    a = r[a + 1 | 0];
+    c = (a ? c + (a << 1) | 0 : 271040) + 2 | 0;
+   }
+   if (d >>> 0 > c >>> 0 | f >>> 0 <= c >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -1;
+   if ((e | 0) < 1) {
+    break a;
+   }
+   d = r[c | 0];
+   if (d) {
+    a = c + 1 | 0;
+    if (h >>> 0 > a >>> 0 | f >>> 0 < a >>> 0) {
+     break a;
+    }
+    if (f - a >>> 0 < w(d, 3) >>> 0) {
+     break a;
+    }
+    q[b + 12 >> 2] = e + -2;
+    c = 0;
+    if ((e | 0) < 2) {
+     break c;
+    }
+   }
+   c = 1;
+  }
+  return c;
+ }
+ return 0;
+}
+function EG(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ a : {
+  b : {
+   c : {
+    if (!r[a + 69 | 0]) {
+     if (b >>> 0 >= c >>> 0) {
+      break c;
+     }
+     d = q[a + 88 >> 2];
+     f = -1;
+     e = b;
+     while (1) {
+      g = q[(d + w(e, 20) | 0) + 8 >> 2];
+      f = f >>> 0 > g >>> 0 ? g : f;
+      e = e + 1 | 0;
+      if ((e | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     while (1) {
+      e = d + w(b, 20) | 0;
+      if (q[e + 8 >> 2] != (f | 0)) {
+       q[a + 32 >> 2] = q[a + 32 >> 2] | 16;
+       q[e + 4 >> 2] = q[e + 4 >> 2] | 1;
+      }
+      b = b + 1 | 0;
+      if ((c | 0) != (b | 0)) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    }
+    g = q[a + 80 >> 2];
+    if (g >>> 0 < b >>> 0) {
+     break b;
+    }
+    e = q[a + 72 >> 2];
+    if (e >>> 0 > c >>> 0) {
+     break a;
+    }
+    i = q[a + 92 >> 2];
+    f = -1;
+    j = g >>> 0 <= b >>> 0;
+    if (!j) {
+     d = b;
+     while (1) {
+      h = q[(w(d, 20) + i | 0) + 8 >> 2];
+      f = f >>> 0 > h >>> 0 ? h : f;
+      d = d + 1 | 0;
+      if ((g | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    h = q[a + 88 >> 2];
+    k = e >>> 0 >= c >>> 0;
+    if (!k) {
+     d = e;
+     while (1) {
+      l = q[(h + w(d, 20) | 0) + 8 >> 2];
+      f = f >>> 0 > l >>> 0 ? l : f;
+      d = d + 1 | 0;
+      if ((d | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (!j) {
+     while (1) {
+      d = w(b, 20) + i | 0;
+      if (q[d + 8 >> 2] != (f | 0)) {
+       q[a + 32 >> 2] = q[a + 32 >> 2] | 16;
+       q[d + 4 >> 2] = q[d + 4 >> 2] | 1;
+      }
+      b = b + 1 | 0;
+      if ((g | 0) != (b | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (k) {
+     break c;
+    }
+    while (1) {
+     b = h + w(e, 20) | 0;
+     if (q[b + 8 >> 2] != (f | 0)) {
+      q[a + 32 >> 2] = q[a + 32 >> 2] | 16;
+      q[b + 4 >> 2] = q[b + 4 >> 2] | 1;
+     }
+     e = e + 1 | 0;
+     if ((e | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   return;
+  }
+  J(272460, 272314, 607, 272477);
+  F();
+ }
+ J(272508, 272314, 608, 272477);
+ F();
+}
+function Tm(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ d = 3;
+ g = f;
+ a : {
+  b : {
+   c : {
+    d : {
+     i = q[b + 188 >> 2];
+     e : {
+      if (!i) {
+       break e;
+      }
+      h = q[b + 192 >> 2];
+      while (1) {
+       if (q[h + (e << 4) >> 2] == (c | 0)) {
+        d = 83;
+        c = q[(h + (e << 4) | 0) + 12 >> 2];
+        e = q[a + 8 >> 2];
+        if (c >>> 0 < e >>> 0) {
+         break e;
+        }
+        if (Ag(a, c - e | 0)) {
+         break e;
+        }
+        q[f + 12 >> 2] = 0;
+        c = Wg(a, f + 12 | 0);
+        d = q[f + 12 >> 2];
+        if (d) {
+         break a;
+        }
+        i = c & -256;
+        if ((i | 256) != 256) {
+         break b;
+        }
+        d = b + 196 | 0;
+        e = c & 4;
+        if (!e) {
+         break d;
+        }
+        d = Xg(a, 25392, d);
+        break c;
+       }
+       e = e + 1 | 0;
+       if ((i | 0) != (e | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     q[f + 12 >> 2] = d;
+     break a;
+    }
+    d = Xg(a, 25456, d);
+   }
+   q[g + 12 >> 2] = d;
+   if (d) {
+    break a;
+   }
+   c = q[b + 204 >> 2];
+   d = c >> 31;
+   if ((d ^ c + d) >= 32768) {
+    q[b + 204 >> 2] = (c | 0) < 0 ? -32767 : 32767;
+   }
+   c = q[b + 208 >> 2];
+   d = c >> 31;
+   if ((d ^ c + d) >= 32768) {
+    q[b + 208 >> 2] = (c | 0) < 0 ? -32767 : 32767;
+   }
+   h = e ? 25520 : 25552;
+   g = b + 216 | 0;
+   d = Xg(a, h, g);
+   q[f + 12 >> 2] = d;
+   if (d) {
+    break a;
+   }
+   e = b + 232 | 0;
+   d = Xg(a, h, e);
+   q[f + 12 >> 2] = d;
+   if (d) {
+    break a;
+   }
+   c = b + 248 | 0;
+   if ((i | 0) == 256) {
+    d = Xg(a, h, c);
+    q[f + 12 >> 2] = d;
+    if (d) {
+     break a;
+    }
+    d = Xg(a, h, b + 264 | 0);
+    q[f + 12 >> 2] = d;
+    break a;
+   }
+   a = q[g + 4 >> 2];
+   q[c >> 2] = q[g >> 2];
+   q[c + 4 >> 2] = a;
+   a = q[g + 12 >> 2];
+   q[c + 8 >> 2] = q[g + 8 >> 2];
+   q[c + 12 >> 2] = a;
+   a = q[e + 12 >> 2];
+   q[b + 272 >> 2] = q[e + 8 >> 2];
+   q[b + 276 >> 2] = a;
+   a = q[e + 4 >> 2];
+   q[b + 264 >> 2] = q[e >> 2];
+   q[b + 268 >> 2] = a;
+  }
+  d = 0;
+ }
+ Ca = f + 16 | 0;
+ return d;
+}
+function Gr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ c = Ca - 48 | 0;
+ Ca = c;
+ d = r[a + 7 | 0];
+ a : {
+  if (d >>> 0 > 5) {
+   break a;
+  }
+  b : {
+   switch (d - 1 | 0) {
+   default:
+    q[c + 28 >> 2] = 0;
+    q[c + 32 >> 2] = 0;
+    o[c + 24 | 0] = 0;
+    d = q[b + 8 >> 2];
+    q[c + 12 >> 2] = q[b + 12 >> 2];
+    q[c + 8 >> 2] = a + 12;
+    b = c;
+    a = q[d + 32 >> 2];
+    if ((a | 0) == -1) {
+     a = VF(d);
+    }
+    q[b + 16 >> 2] = a;
+    Hr(c + 8 | 0, c + 24 | 0);
+    break a;
+   case 0:
+    q[c + 36 >> 2] = 0;
+    o[c + 32 | 0] = 0;
+    o[c + 24 | 0] = 0;
+    d = a + 12 | 0;
+    q[c + 40 >> 2] = d;
+    q[c + 28 >> 2] = b;
+    a = r[a + 28 | 0] | r[a + 29 | 0] << 8 | (r[a + 30 | 0] << 16 | r[a + 31 | 0] << 24);
+    q[c + 44 >> 2] = d + (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24));
+    e = q[b + 8 >> 2];
+    q[c + 12 >> 2] = q[b + 12 >> 2];
+    q[c + 8 >> 2] = d;
+    b = c;
+    a = q[e + 32 >> 2];
+    if ((a | 0) == -1) {
+     a = VF(e);
+    }
+    q[b + 16 >> 2] = a;
+    Ir(c + 8 | 0, c + 24 | 0);
+    break a;
+   case 1:
+    Jr(a + 12 | 0, b);
+    break a;
+   case 3:
+    e = q[b + 8 >> 2];
+    d = q[e + 32 >> 2];
+    if ((d | 0) == -1) {
+     d = VF(e);
+    }
+    b = q[b + 12 >> 2];
+    e = q[b + 76 >> 2];
+    if (e) {
+     g = a + 12 | 0;
+     h = q[b + 88 >> 2];
+     a = 0;
+     while (1) {
+      f = w(a, 20) + h | 0;
+      b = Kr(g, q[f >> 2], d);
+      if (b) {
+       q[f >> 2] = r[b + 1 | 0] | r[b | 0] << 8;
+      }
+      a = a + 1 | 0;
+      if ((e | 0) != (a | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    break a;
+   case 2:
+    break a;
+   case 4:
+    break b;
+   }
+  }
+  q[c + 32 >> 2] = 0;
+  o[c + 24 | 0] = 0;
+  q[c + 28 >> 2] = b;
+  d = r[a + 28 | 0] | r[a + 29 | 0] << 8 | (r[a + 30 | 0] << 16 | r[a + 31 | 0] << 24);
+  a = a + 12 | 0;
+  q[c + 36 >> 2] = (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + a;
+  d = q[b + 8 >> 2];
+  q[c + 12 >> 2] = q[b + 12 >> 2];
+  q[c + 8 >> 2] = a;
+  b = c;
+  a = q[d + 32 >> 2];
+  if ((a | 0) == -1) {
+   a = VF(d);
+  }
+  q[b + 16 >> 2] = a;
+  Lr(c + 8 | 0, c + 24 | 0);
+ }
+ Ca = c + 48 | 0;
+}
+function pF(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ b = q[a >> 2];
+ a : {
+  if (!b) {
+   b = q[a + 4 >> 2];
+   if ((b | 0) < 0) {
+    break a;
+   }
+   e = q[a + 8 >> 2] + 1 | 0;
+   b : {
+    if (b >>> 0 >= e >>> 0) {
+     c = b;
+     break b;
+    }
+    c = b;
+    while (1) {
+     c = ((c >>> 1 | 0) + c | 0) + 8 | 0;
+     if (c >>> 0 <= e >>> 0) {
+      continue;
+     }
+     break;
+    }
+    c : {
+     if (!(c >>> 0 < b >>> 0 | c >>> 0 > 1073741822)) {
+      b = O$(q[a + 12 >> 2], c << 2);
+      if (b) {
+       break c;
+      }
+     }
+     q[a + 4 >> 2] = -1;
+     return 0;
+    }
+    q[a + 4 >> 2] = c;
+    q[a + 12 >> 2] = b;
+   }
+   b = N$(1, 384);
+   if (!b) {
+    break a;
+   }
+   d : {
+    e : {
+     d = q[a + 8 >> 2];
+     e = d + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (c >>> 0 < e >>> 0) {
+      d = c;
+      while (1) {
+       d = ((d >>> 1 | 0) + d | 0) + 8 | 0;
+       if (d >>> 0 <= e >>> 0) {
+        continue;
+       }
+       break;
+      }
+      if (d >>> 0 < c >>> 0 | d >>> 0 > 1073741822) {
+       break e;
+      }
+      c = O$(q[a + 12 >> 2], d << 2);
+      if (!c) {
+       break e;
+      }
+      q[a + 4 >> 2] = d;
+      q[a + 12 >> 2] = c;
+      d = q[a + 8 >> 2];
+     }
+     if (e >>> 0 > d >>> 0) {
+      Z$(q[a + 12 >> 2] + (d << 2) | 0, 0, e - d << 2);
+     }
+     q[a + 8 >> 2] = e;
+     c = (q[a + 12 >> 2] + (e << 2) | 0) + -4 | 0;
+     break d;
+    }
+    q[a + 4 >> 2] = -1;
+    q[160656] = q[67760];
+    c = 642624;
+   }
+   q[c >> 2] = b;
+   q[b + 360 >> 2] = 0;
+   q[b + 336 >> 2] = b + 360;
+   q[b + 312 >> 2] = b + 336;
+   q[b + 288 >> 2] = b + 312;
+   q[b + 264 >> 2] = b + 288;
+   q[b + 240 >> 2] = b + 264;
+   q[b + 216 >> 2] = b + 240;
+   q[b + 192 >> 2] = b + 216;
+   q[b + 168 >> 2] = b + 192;
+   q[b + 144 >> 2] = b + 168;
+   q[b + 120 >> 2] = b + 144;
+   q[b + 96 >> 2] = b + 120;
+   q[b + 72 >> 2] = b + 96;
+   q[b + 48 >> 2] = b + 72;
+   q[b + 24 >> 2] = b + 48;
+   q[b >> 2] = b + 24;
+   q[a >> 2] = b;
+  }
+  q[a >> 2] = q[b >> 2];
+  q[b + 16 >> 2] = 0;
+  q[b + 20 >> 2] = 0;
+  q[b + 8 >> 2] = 0;
+  q[b + 12 >> 2] = 0;
+  q[b >> 2] = 0;
+  q[b + 4 >> 2] = 0;
+  d = b;
+ }
+ return d;
+}
+function tB(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ a : {
+  j = q[b + 4 >> 2];
+  if (j >>> 0 > a >>> 0) {
+   break a;
+  }
+  h = q[b + 8 >> 2];
+  if (h >>> 0 < a >>> 0 | h - a >>> 0 < 2) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  i = d + -2 | 0;
+  q[b + 12 >> 2] = i;
+  if ((d | 0) == 1) {
+   break a;
+  }
+  e = a + 2 | 0;
+  f = r[a + 1 | 0];
+  g = f | r[a | 0] << 8;
+  b : {
+   if (!g) {
+    break b;
+   }
+   if (h >>> 0 < e >>> 0 | j >>> 0 > e >>> 0 | h - e >>> 0 < w(g, 3) >>> 0) {
+    break a;
+   }
+   i = d + -3 | 0;
+   q[b + 12 >> 2] = i;
+   if ((d | 0) < 3) {
+    break a;
+   }
+   f = r[a + 1 | 0];
+   k = f | r[a | 0] << 8;
+   if (!k) {
+    break b;
+   }
+   l = q[b + 32 >> 2];
+   d = 0;
+   while (1) {
+    g = w(d, 3) + a | 0;
+    if ((r[g + 2 | 0] << 8 | r[g + 3 | 0]) >>> 0 >= l >>> 0 | r[g + 4 | 0] >= c >>> 0) {
+     break a;
+    }
+    d = d + 1 | 0;
+    if ((k | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = r[a | 0] | r[a + 1 | 0] << 8;
+  if (!c) {
+   break a;
+  }
+  d = e;
+  e = c << 8 & 65280 | f;
+  d = e ? d : 271040;
+  if (r[d | 0] << 8 | r[d + 1 | 0]) {
+   break a;
+  }
+  d = 1;
+  c = (c << 24 | c << 8) >>> 16 | 0;
+  if (c >>> 0 > 1) {
+   while (1) {
+    f = w(d, 3) + a | 0;
+    g = e >>> 0 > d + -1 >>> 0 ? f + -1 | 0 : 271040;
+    f = e >>> 0 > d >>> 0 ? f + 2 | 0 : 271040;
+    if ((r[g | 0] << 8 | r[g + 1 | 0]) >>> 0 >= (r[f | 0] << 8 | r[f + 1 | 0]) >>> 0) {
+     break a;
+    }
+    d = d + 1 | 0;
+    if ((c | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = c + -1 | 0;
+  c = (e >>> 0 > c >>> 0 ? (w(c, 3) + a | 0) + 2 | 0 : 271040) + 3 | 0;
+  if (j >>> 0 > c >>> 0 | h >>> 0 < c >>> 0 | h - c >>> 0 < 2) {
+   break a;
+  }
+  q[b + 12 >> 2] = i + -1;
+  if ((i | 0) < 1) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8;
+  c = d << 8;
+  e = q[b + 32 >> 2];
+  b = ((c & 16711680 | d << 24) >>> 16 | 0) + -1 | 0;
+  a = (r[a + 1 | 0] | c & 65280) >>> 0 > b >>> 0 ? (w(b, 3) + a | 0) + 2 | 0 : 271040;
+  return (e | 0) == (r[a + 3 | 0] << 8 | r[a + 4 | 0]);
+ }
+ return 0;
+}
+function KS(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = Ca - 32 | 0;
+ Ca = d;
+ f = 0;
+ a : {
+  if (!b) {
+   break a;
+  }
+  f = 0;
+  if (q[b >> 2] < 1) {
+   break a;
+  }
+  f = q[b + 8 >> 2] + b | 0;
+ }
+ while (1) {
+  b : {
+   c : {
+    if (!f) {
+     break c;
+    }
+    e = q[f + 4 >> 2];
+    e = e & 1 ? (e & -2) + f | 0 : e;
+    if (!e) {
+     break c;
+    }
+    while (1) {
+     g = e + 8 | 0;
+     i = q[f >> 2];
+     d : {
+      e : {
+       c = q[e + 8 >> 2] + -3 | 0;
+       if (c >>> 0 > 6) {
+        break e;
+       }
+       f : {
+        switch (c - 1 | 0) {
+        default:
+         c = q[e + 16 >> 2];
+         q[d + 16 >> 2] = 3;
+         q[d + 24 >> 2] = c & 1 ? g + (c & -2) | 0 : c;
+         break d;
+        case 2:
+         c = q[e + 16 >> 2];
+         q[d + 16 >> 2] = 6;
+         q[d + 24 >> 2] = c & 1 ? g + (c & -2) | 0 : c;
+         break d;
+        case 4:
+         c = q[e + 16 >> 2];
+         q[d + 16 >> 2] = 8;
+         q[d + 24 >> 2] = c & 1 ? g + (c & -2) | 0 : c;
+         break d;
+        case 0:
+        case 1:
+        case 3:
+         break e;
+        case 5:
+         break f;
+        }
+       }
+       c = q[e + 16 >> 2];
+       q[d + 16 >> 2] = 9;
+       q[d + 24 >> 2] = c & 1 ? g + (c & -2) | 0 : c;
+       break d;
+      }
+      c = q[g + 12 >> 2];
+      q[d + 24 >> 2] = q[g + 8 >> 2];
+      q[d + 28 >> 2] = c;
+      c = q[g + 4 >> 2];
+      q[d + 16 >> 2] = q[g >> 2];
+      q[d + 20 >> 2] = c;
+     }
+     g = q[e + 24 >> 2];
+     c = q[d + 28 >> 2];
+     q[d + 8 >> 2] = q[d + 24 >> 2];
+     q[d + 12 >> 2] = c;
+     c = q[d + 20 >> 2];
+     q[d >> 2] = q[d + 16 >> 2];
+     q[d + 4 >> 2] = c;
+     if (!lS(a, i, d, g)) {
+      f = 0;
+      break b;
+     }
+     c = e;
+     e = q[e >> 2];
+     e = e & 1 ? c + (e & -2) | 0 : e;
+     if (e) {
+      continue;
+     }
+     break;
+    }
+   }
+   f = 1;
+   if (!b) {
+    break b;
+   }
+   h = h + 1 | 0;
+   e = q[b >> 2];
+   if ((h | 0) >= (e | 0)) {
+    break b;
+   }
+   f = 0;
+   if ((e | 0) < 1) {
+    continue;
+   }
+   f = (q[b + 8 >> 2] + b | 0) + (h << 3) | 0;
+   continue;
+  }
+  break;
+ }
+ Ca = d + 32 | 0;
+ return f;
+}
+function Rz(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ j = v[a + 136 >> 3];
+ k = v[a + 128 >> 3];
+ d = q[a + 24 >> 2];
+ a : {
+  b : {
+   if (d) {
+    d = d + -1 | 0;
+    q[a + 24 >> 2] = d;
+    if (t[a + 32 >> 2] <= d >>> 0) {
+     break b;
+    }
+    d = q[a + 36 >> 2] + (d << 5) | 0;
+    break a;
+   }
+   o[a + 20 | 0] = 1;
+  }
+  d = q[67767];
+  q[160662] = q[67766];
+  q[160663] = d;
+  d = q[67765];
+  q[160660] = q[67764];
+  q[160661] = d;
+  d = q[67763];
+  q[160658] = q[67762];
+  q[160659] = d;
+  d = q[67761];
+  q[160656] = q[67760];
+  q[160657] = d;
+  d = 642624;
+ }
+ g = r[a + 176 | 0];
+ c : {
+  if (!g) {
+   break c;
+  }
+  c = q[d + 20 >> 2];
+  if (!c | (c | 0) != q[a + 168 >> 2]) {
+   break c;
+  }
+  h = q[d + 24 >> 2];
+  i = q[a + 172 >> 2];
+  f = v[d >> 3];
+  while (1) {
+   f = f + v[h + (e << 3) >> 3] * +u[i + (e << 2) >> 2];
+   e = e + 1 | 0;
+   if ((c | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+  q[d + 8 >> 2] = 0;
+  q[d + 12 >> 2] = 0;
+  v[d >> 3] = f;
+  if (q[d + 16 >> 2] < 0) {
+   break c;
+  }
+  q[d + 20 >> 2] = 0;
+ }
+ c = q[a + 24 >> 2];
+ d : {
+  e : {
+   if (c) {
+    c = c + -1 | 0;
+    q[a + 24 >> 2] = c;
+    if (t[a + 32 >> 2] <= c >>> 0) {
+     break e;
+    }
+    c = q[a + 36 >> 2] + (c << 5) | 0;
+    break d;
+   }
+   o[a + 20 | 0] = 1;
+  }
+  c = q[67767];
+  q[160662] = q[67766];
+  q[160663] = c;
+  c = q[67765];
+  q[160660] = q[67764];
+  q[160661] = c;
+  c = q[67763];
+  q[160658] = q[67762];
+  q[160659] = c;
+  c = q[67761];
+  q[160656] = q[67760];
+  q[160657] = c;
+  c = 642624;
+ }
+ f : {
+  if (!g) {
+   break f;
+  }
+  g = q[c + 20 >> 2];
+  if (!g | (g | 0) != q[a + 168 >> 2]) {
+   break f;
+  }
+  h = q[c + 24 >> 2];
+  i = q[a + 172 >> 2];
+  f = v[c >> 3];
+  e = 0;
+  while (1) {
+   f = f + v[h + (e << 3) >> 3] * +u[i + (e << 2) >> 2];
+   e = e + 1 | 0;
+   if ((g | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+  q[c + 8 >> 2] = 0;
+  q[c + 12 >> 2] = 0;
+  v[c >> 3] = f;
+  if (q[c + 16 >> 2] < 0) {
+   break f;
+  }
+  q[c + 20 >> 2] = 0;
+ }
+ f = v[c >> 3];
+ l = v[d >> 3];
+ o[b | 0] = 0;
+ v[a + 136 >> 3] = j + l;
+ v[a + 128 >> 3] = k + f;
+}
+function ut(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0;
+ f = Ca - 48 | 0;
+ Ca = f;
+ q[f + 8 >> 2] = a;
+ q[f + 12 >> 2] = 271040;
+ q[f + 16 >> 2] = d ? d : 271040;
+ q[f + 20 >> 2] = 271040;
+ q[f + 28 >> 2] = 0;
+ q[f + 24 >> 2] = e ? e : 271040;
+ d = Is();
+ q[f + 36 >> 2] = 6;
+ q[f + 40 >> 2] = 0;
+ q[f + 32 >> 2] = d;
+ a : {
+  if ((b | 0) != 1196445523) {
+   if ((b | 0) != 1196643650) {
+    break a;
+   }
+   d = 271040;
+   a = q[Ws(a + 136 | 0) >> 2];
+   a = a ? a : 271040;
+   a = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+   b = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+   a = b ? a + b | 0 : 271040;
+   if ((r[a | 0] << 8 | r[a + 1 | 0]) >>> 0 > c >>> 0) {
+    b = a;
+    a = a + (c << 1) | 0;
+    a = r[a + 2 | 0] << 8 | r[a + 3 | 0];
+    d = a ? b + a | 0 : 271040;
+   }
+   q[f + 28 >> 2] = 430;
+   e = r[d + 5 | 0];
+   b = r[d + 4 | 0];
+   c = e | b << 8;
+   if (!c) {
+    break a;
+   }
+   g = r[d + 1 | 0] | r[d | 0] << 8;
+   h = d + 4 | 0;
+   a = 0;
+   while (1) {
+    b = (e & 255 | b << 8) >>> 0 > a >>> 0 ? (h + (a << 1) | 0) + 2 | 0 : 271040;
+    b = r[b | 0] << 8 | r[b + 1 | 0];
+    wt(b ? b + d | 0 : 271040, f + 8 | 0, g);
+    a = a + 1 | 0;
+    if ((c | 0) == (a | 0)) {
+     break a;
+    }
+    e = r[d + 5 | 0];
+    b = r[d + 4 | 0];
+    continue;
+   }
+  }
+  d = 271040;
+  a = q[Xs(a + 140 | 0) >> 2];
+  a = a ? a : 271040;
+  a = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+  b = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+  a = b ? a + b | 0 : 271040;
+  if ((r[a | 0] << 8 | r[a + 1 | 0]) >>> 0 > c >>> 0) {
+   b = a;
+   a = a + (c << 1) | 0;
+   a = r[a + 2 | 0] << 8 | r[a + 3 | 0];
+   d = a ? b + a | 0 : 271040;
+  }
+  e = r[d + 5 | 0];
+  b = r[d + 4 | 0];
+  c = e | b << 8;
+  if (!c) {
+   break a;
+  }
+  g = r[d + 1 | 0] | r[d | 0] << 8;
+  h = d + 4 | 0;
+  a = 0;
+  while (1) {
+   b = (e & 255 | b << 8) >>> 0 > a >>> 0 ? (h + (a << 1) | 0) + 2 | 0 : 271040;
+   b = r[b | 0] << 8 | r[b + 1 | 0];
+   xt(b ? b + d | 0 : 271040, f + 8 | 0, g);
+   a = a + 1 | 0;
+   if ((c | 0) == (a | 0)) {
+    break a;
+   }
+   e = r[d + 5 | 0];
+   b = r[d + 4 | 0];
+   continue;
+  }
+ }
+ Js(q[f + 32 >> 2]);
+ Ca = f + 48 | 0;
+}
+function CJ(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ a : {
+  if (c + -2 >>> 0 > 34) {
+   break a;
+  }
+  d = q[a >> 2];
+  if (d >>> 0 >= b >>> 0) {
+   break a;
+  }
+  e = r[d | 0];
+  f = e + -43 | 0;
+  b : {
+   if (f >>> 0 > 2 | !(f - 1)) {
+    break b;
+   }
+   d = d + 1 | 0;
+   if ((d | 0) == (b | 0)) {
+    break a;
+   }
+   k = (e | 0) == 45;
+   e = r[d | 0];
+   f = e + -43 | 0;
+   if (f >>> 0 > 2) {
+    break b;
+   }
+   if (f - 1) {
+    break a;
+   }
+  }
+  i = 2147483647 / (c >>> 0) | 0;
+  c : {
+   d : {
+    if (d >>> 0 >= b >>> 0) {
+     q[a >> 2] = d;
+     break d;
+    }
+    l = 2147483647 - w(c, i) | 0;
+    while (1) {
+     e : {
+      f : {
+       g : {
+        f = e;
+        if (e >>> 0 > 32) {
+         break g;
+        }
+        switch (f - 1 | 0) {
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 10:
+        case 13:
+        case 14:
+        case 15:
+        case 16:
+        case 17:
+        case 18:
+        case 19:
+        case 20:
+        case 21:
+        case 22:
+        case 23:
+        case 24:
+        case 25:
+        case 26:
+        case 27:
+        case 28:
+        case 29:
+        case 30:
+         break g;
+        default:
+         break f;
+        }
+       }
+       if (e << 24 >> 24 < 0) {
+        break f;
+       }
+       e = o[f + 291344 | 0];
+       if ((e | 0) < 0 | (e | 0) >= (c | 0)) {
+        break f;
+       }
+       f = 1;
+       h = g;
+       h : {
+        if ((g | 0) > (i | 0)) {
+         break h;
+        }
+        if ((g | 0) == (i | 0)) {
+         h = i;
+         if ((l | 0) < (e | 0)) {
+          break h;
+         }
+        }
+        f = j;
+        h = e + w(c, g) | 0;
+       }
+       g = h;
+       d = d + 1 | 0;
+       if ((d | 0) != (b | 0)) {
+        break e;
+       }
+       j = f;
+       d = b;
+      }
+      q[a >> 2] = d;
+      a = 2147483647;
+      if (j & 255) {
+       break c;
+      }
+      break d;
+     }
+     e = r[d | 0];
+     j = f;
+     continue;
+    }
+   }
+   a = g;
+  }
+  g = k ? 0 - a | 0 : a;
+ }
+ return g;
+}
+function Kr(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ e = r[a | 0] | r[a + 1 | 0] << 8;
+ e = (e << 24 | e << 8 & 16711680) >>> 16 | 0;
+ a : {
+  if (e >>> 0 > 8) {
+   break a;
+  }
+  b : {
+   switch (e - 1 | 0) {
+   default:
+    d = b >>> 0 < c >>> 0 ? (b | 0) < 0 ? 271040 : ((b << 1) + a | 0) + 2 | 0 : 0;
+    break a;
+   case 1:
+    q[f + 12 >> 2] = b;
+    a = Nr(a + 2 | 0, f + 12 | 0);
+    d = a ? a + 4 | 0 : 0;
+    break a;
+   case 3:
+    q[f + 8 >> 2] = b;
+    b = Nr(a + 2 | 0, f + 8 | 0);
+    if (!b) {
+     break a;
+    }
+    c = q[f + 8 >> 2];
+    e = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+    if (c >>> 0 < e >>> 0 | (r[b + 1 | 0] | r[b | 0] << 8) >>> 0 < c >>> 0) {
+     break a;
+    }
+    b = (r[b + 5 | 0] | r[b + 4 | 0] << 8) + a | 0;
+    a = c - e | 0;
+    d = (a | 0) < 0 ? 271040 : b + (a << 1) | 0;
+    break a;
+   case 5:
+    d = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+    c : {
+     if (!d) {
+      e = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+      g = 0;
+      break c;
+     }
+     e = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+     c = (a + 2 | 0) + w(e, d + -1 | 0) | 0;
+     g = (r[c + 10 | 0] << 8 | r[c + 11 | 0]) == 65535 ? -1 : 0;
+    }
+    c = 0;
+    d = d + g | 0;
+    d : {
+     if ((d | 0) < 1) {
+      break d;
+     }
+     i = a + 12 | 0;
+     a = d + -1 | 0;
+     d = 0;
+     while (1) {
+      g = a + d >>> 1 | 0;
+      c = w(g, e) + i | 0;
+      h = r[c | 0] << 8 | r[c + 1 | 0];
+      e : {
+       if (h >>> 0 > b >>> 0) {
+        a = g + -1 | 0;
+        break e;
+       }
+       if ((b | 0) == (h | 0)) {
+        break d;
+       }
+       d = g + 1 | 0;
+      }
+      if ((d | 0) <= (a | 0)) {
+       continue;
+      }
+      break;
+     }
+     c = 0;
+    }
+    d = c ? c + 2 | 0 : 0;
+    break a;
+   case 0:
+   case 2:
+   case 4:
+   case 6:
+    break a;
+   case 7:
+    break b;
+   }
+  }
+  c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (c >>> 0 > b >>> 0) {
+   break a;
+  }
+  b = b - c | 0;
+  if (b >>> 0 >= (r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0) {
+   break a;
+  }
+  d = (b | 0) < 0 ? 271040 : ((b << 1) + a | 0) + 6 | 0;
+ }
+ Ca = f + 16 | 0;
+ return d;
+}
+function Ds(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ e = r[a | 0] | r[a + 1 | 0] << 8;
+ e = (e << 24 | e << 8 & 16711680) >>> 16 | 0;
+ a : {
+  if (e >>> 0 > 8) {
+   break a;
+  }
+  b : {
+   switch (e - 1 | 0) {
+   default:
+    d = b >>> 0 < c >>> 0 ? (b | 0) < 0 ? 271040 : ((b << 2) + a | 0) + 2 | 0 : 0;
+    break a;
+   case 1:
+    q[f + 12 >> 2] = b;
+    a = Nr(a + 2 | 0, f + 12 | 0);
+    d = a ? a + 4 | 0 : 0;
+    break a;
+   case 3:
+    q[f + 8 >> 2] = b;
+    b = Nr(a + 2 | 0, f + 8 | 0);
+    if (!b) {
+     break a;
+    }
+    c = q[f + 8 >> 2];
+    e = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+    if (c >>> 0 < e >>> 0 | (r[b + 1 | 0] | r[b | 0] << 8) >>> 0 < c >>> 0) {
+     break a;
+    }
+    b = (r[b + 5 | 0] | r[b + 4 | 0] << 8) + a | 0;
+    a = c - e | 0;
+    d = (a | 0) < 0 ? 271040 : b + (a << 2) | 0;
+    break a;
+   case 5:
+    d = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+    c : {
+     if (!d) {
+      e = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+      g = 0;
+      break c;
+     }
+     e = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+     c = (a + 2 | 0) + w(e, d + -1 | 0) | 0;
+     g = (r[c + 10 | 0] << 8 | r[c + 11 | 0]) == 65535 ? -1 : 0;
+    }
+    c = 0;
+    d = d + g | 0;
+    d : {
+     if ((d | 0) < 1) {
+      break d;
+     }
+     i = a + 12 | 0;
+     a = d + -1 | 0;
+     d = 0;
+     while (1) {
+      g = a + d >>> 1 | 0;
+      c = w(g, e) + i | 0;
+      h = r[c | 0] << 8 | r[c + 1 | 0];
+      e : {
+       if (h >>> 0 > b >>> 0) {
+        a = g + -1 | 0;
+        break e;
+       }
+       if ((b | 0) == (h | 0)) {
+        break d;
+       }
+       d = g + 1 | 0;
+      }
+      if ((d | 0) <= (a | 0)) {
+       continue;
+      }
+      break;
+     }
+     c = 0;
+    }
+    d = c ? c + 2 | 0 : 0;
+    break a;
+   case 0:
+   case 2:
+   case 4:
+   case 6:
+    break a;
+   case 7:
+    break b;
+   }
+  }
+  c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (c >>> 0 > b >>> 0) {
+   break a;
+  }
+  b = b - c | 0;
+  if (b >>> 0 >= (r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0) {
+   break a;
+  }
+  d = (b | 0) < 0 ? 271040 : ((b << 2) + a | 0) + 6 | 0;
+ }
+ Ca = f + 16 | 0;
+ return d;
+}
+function bY(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ a = q[a >> 2];
+ c = v[a + 8 >> 3];
+ b = q[b >> 2];
+ d = v[b + 8 >> 3];
+ a : {
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 16 >> 3];
+  d = v[b + 16 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 24 >> 3];
+  d = v[b + 24 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 32 >> 3];
+  d = v[b + 32 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 40 >> 3];
+  d = v[b + 40 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 48 >> 3];
+  d = v[b + 48 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 56 >> 3];
+  d = v[b + 56 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a - -64 >> 3];
+  d = v[b - -64 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 72 >> 3];
+  d = v[b + 72 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 80 >> 3];
+  d = v[b + 80 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 88 >> 3];
+  d = v[b + 88 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 96 >> 3];
+  d = v[b + 96 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 104 >> 3];
+  d = v[b + 104 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 112 >> 3];
+  d = v[b + 112 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 120 >> 3];
+  d = v[b + 120 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 128 >> 3];
+  d = v[b + 128 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 136 >> 3];
+  d = v[b + 136 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 144 >> 3];
+  d = v[b + 144 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 152 >> 3];
+  d = v[b + 152 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 160 >> 3];
+  d = v[b + 160 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 168 >> 3];
+  d = v[b + 168 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 176 >> 3];
+  d = v[b + 176 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 184 >> 3];
+  d = v[b + 184 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 192 >> 3];
+  d = v[b + 192 >> 3];
+  if (c != d) {
+   break a;
+  }
+  c = v[a + 200 >> 3];
+  d = v[b + 200 >> 3];
+  if (c != d) {
+   break a;
+  }
+  d = v[b + 208 >> 3];
+  c = v[a + 208 >> 3];
+ }
+ return (c < d ? -1 : c > d) | 0;
+}
+function DI(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ g = b + -21 | 0;
+ i = (c | 0) < 0;
+ if (e) {
+  q[e >> 2] = -1;
+ }
+ k = (c | 0) == -21;
+ l = k ? g : b;
+ m = i ? 0 : c;
+ i = q[a + 8 >> 2];
+ g = q[a >> 2];
+ a : {
+  b : {
+   if (g) {
+    b = i;
+    while (1) {
+     if (!((l | 0) != q[b >> 2] | (m | 0) != q[b + 4 >> 2])) {
+      g = f;
+      break b;
+     }
+     b = b + 12 | 0;
+     f = f + 1 | 0;
+     if ((g | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   j = g + 1 | 0;
+   b = q[a + 4 >> 2];
+   c : {
+    if (j >>> 0 < b >>> 0) {
+     break c;
+    }
+    q[h + 4 >> 2] = 0;
+    if (b >>> 0 >= j >>> 0) {
+     break c;
+    }
+    f = b;
+    b = g + 8 & -8;
+    i = Te(d, 12, f, b, i, h + 4 | 0);
+    q[a + 8 >> 2] = i;
+    f = q[h + 4 >> 2];
+    if (f) {
+     break a;
+    }
+    q[a + 4 >> 2] = b;
+   }
+   q[a >> 2] = j;
+   b = w(g, 12) + i | 0;
+   q[b + 8 >> 2] = c >> 31 & (k ? 3 : 1);
+   q[b + 4 >> 2] = m;
+   q[b >> 2] = l;
+  }
+  b = q[a + 12 >> 2];
+  d : {
+   e : {
+    if (!b) {
+     f : {
+      if (q[a + 16 >> 2]) {
+       b = q[a + 20 >> 2];
+       break f;
+      }
+      q[h + 8 >> 2] = 0;
+      c = a + 20 | 0;
+      b = Te(d, 16, 0, 8, q[c >> 2], h + 8 | 0);
+      q[c >> 2] = b;
+      f = q[h + 8 >> 2];
+      if (f) {
+       break a;
+      }
+      q[a + 16 >> 2] = 8;
+     }
+     q[b + 12 >> 2] = 0;
+     q[b >> 2] = 0;
+     q[a + 12 >> 2] = 1;
+     break e;
+    }
+    b = (q[a + 20 >> 2] + (b << 4) | 0) + -16 | 0;
+    if (t[b >> 2] > g >>> 0) {
+     break d;
+    }
+   }
+   a = q[b + 4 >> 2];
+   q[h + 12 >> 2] = 0;
+   c = g + 8 >>> 3 | 0;
+   a = a + 7 >>> 3 | 0;
+   if (c >>> 0 > a >>> 0) {
+    f = a;
+    a = c + 7 & 1073741816;
+    n = b, p = Te(d, 1, f, a, q[b + 8 >> 2], h + 12 | 0), q[n + 8 >> 2] = p;
+    f = q[h + 12 >> 2];
+    if (f) {
+     break a;
+    }
+    q[b + 4 >> 2] = a << 3;
+   }
+   q[b >> 2] = g + 1;
+  }
+  a = q[b + 8 >> 2] + (g >>> 3 | 0) | 0;
+  o[a | 0] = r[a | 0] | 128 >>> (g & 7);
+  f = 0;
+  if (!e) {
+   break a;
+  }
+  q[e >> 2] = g;
+ }
+ Ca = h + 16 | 0;
+ return f;
+}
+function Y$(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ if (c >>> 0 >= 512) {
+  Aa(a | 0, b | 0, c | 0) | 0;
+  return a;
+ }
+ e = a + c | 0;
+ a : {
+  if (!((a ^ b) & 3)) {
+   b : {
+    if ((c | 0) < 1) {
+     c = a;
+     break b;
+    }
+    if (!(a & 3)) {
+     c = a;
+     break b;
+    }
+    c = a;
+    while (1) {
+     o[c | 0] = r[b | 0];
+     b = b + 1 | 0;
+     c = c + 1 | 0;
+     if (c >>> 0 >= e >>> 0) {
+      break b;
+     }
+     if (c & 3) {
+      continue;
+     }
+     break;
+    }
+   }
+   d = e & -4;
+   c : {
+    if (d >>> 0 < 64) {
+     break c;
+    }
+    f = d + -64 | 0;
+    if (c >>> 0 > f >>> 0) {
+     break c;
+    }
+    while (1) {
+     q[c >> 2] = q[b >> 2];
+     q[c + 4 >> 2] = q[b + 4 >> 2];
+     q[c + 8 >> 2] = q[b + 8 >> 2];
+     q[c + 12 >> 2] = q[b + 12 >> 2];
+     q[c + 16 >> 2] = q[b + 16 >> 2];
+     q[c + 20 >> 2] = q[b + 20 >> 2];
+     q[c + 24 >> 2] = q[b + 24 >> 2];
+     q[c + 28 >> 2] = q[b + 28 >> 2];
+     q[c + 32 >> 2] = q[b + 32 >> 2];
+     q[c + 36 >> 2] = q[b + 36 >> 2];
+     q[c + 40 >> 2] = q[b + 40 >> 2];
+     q[c + 44 >> 2] = q[b + 44 >> 2];
+     q[c + 48 >> 2] = q[b + 48 >> 2];
+     q[c + 52 >> 2] = q[b + 52 >> 2];
+     q[c + 56 >> 2] = q[b + 56 >> 2];
+     q[c + 60 >> 2] = q[b + 60 >> 2];
+     b = b - -64 | 0;
+     c = c - -64 | 0;
+     if (c >>> 0 <= f >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (c >>> 0 >= d >>> 0) {
+    break a;
+   }
+   while (1) {
+    q[c >> 2] = q[b >> 2];
+    b = b + 4 | 0;
+    c = c + 4 | 0;
+    if (c >>> 0 < d >>> 0) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  if (e >>> 0 < 4) {
+   c = a;
+   break a;
+  }
+  d = e + -4 | 0;
+  if (d >>> 0 < a >>> 0) {
+   c = a;
+   break a;
+  }
+  c = a;
+  while (1) {
+   o[c | 0] = r[b | 0];
+   o[c + 1 | 0] = r[b + 1 | 0];
+   o[c + 2 | 0] = r[b + 2 | 0];
+   o[c + 3 | 0] = r[b + 3 | 0];
+   b = b + 4 | 0;
+   c = c + 4 | 0;
+   if (c >>> 0 <= d >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ if (c >>> 0 < e >>> 0) {
+  while (1) {
+   o[c | 0] = r[b | 0];
+   b = b + 1 | 0;
+   c = c + 1 | 0;
+   if ((e | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return a;
+}
+function Dv(a, b, c) {
+ var d = 0;
+ a : {
+  while (1) {
+   b : {
+    if ((c | 0) != 7) {
+     c = c + -1 | 0;
+     if (c >>> 0 > 7) {
+      break a;
+     }
+     c : {
+      switch (c - 1 | 0) {
+      default:
+       c = r[a | 0] | r[a + 1 | 0] << 8;
+       c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+       if (c >>> 0 > 1) {
+        break a;
+       }
+       if (c - 1) {
+        tw(b, a);
+        return;
+       }
+       uw(b, a);
+       return;
+      case 0:
+       if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+        break a;
+       }
+       vw(b, a);
+       return;
+      case 1:
+       if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+        break a;
+       }
+       ww(b, a);
+       return;
+      case 2:
+       if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+        break a;
+       }
+       xw(b, a);
+       return;
+      case 3:
+       c = r[a | 0] | r[a + 1 | 0] << 8;
+       c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+       if (c >>> 0 > 2) {
+        break a;
+       }
+       d : {
+        switch (c - 1 | 0) {
+        default:
+         yw(b, a);
+         return;
+        case 0:
+         zw(b, a);
+         return;
+        case 1:
+         break d;
+        }
+       }
+       Aw(b, a);
+       return;
+      case 5:
+       break a;
+      case 6:
+       break b;
+      case 4:
+       break c;
+      }
+     }
+     c = r[a | 0] | r[a + 1 | 0] << 8;
+     c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+     if (c >>> 0 > 2) {
+      break a;
+     }
+     e : {
+      switch (c - 1 | 0) {
+      default:
+       Bw(b, a);
+       return;
+      case 0:
+       Cw(b, a);
+       return;
+      case 1:
+       break e;
+      }
+     }
+     Dw(b, a);
+     return;
+    }
+    if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+     break a;
+    }
+    c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+    d = a;
+    a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+    a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+    a = a ? d + a | 0 : 271040;
+    continue;
+   }
+   break;
+  }
+  if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+   break a;
+  }
+  Ew(b, a);
+ }
+}
+function Yy(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ g = q[b + 4 >> 2];
+ a : {
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  d = 1;
+  if ((f | 0) < 1) {
+   d = 0;
+   break a;
+  }
+  h = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!h) {
+   break a;
+  }
+  if (g >>> 0 > c >>> 0) {
+   d = 0;
+   break a;
+  }
+  if (e >>> 0 < c >>> 0) {
+   d = 0;
+   break a;
+  }
+  if (e - c >>> 0 < h >>> 0) {
+   d = 0;
+   break a;
+  }
+  q[b + 12 >> 2] = f + -2;
+  if ((f | 0) < 2) {
+   d = 0;
+   break a;
+  }
+  h = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!h) {
+   break a;
+  }
+  b : {
+   c : {
+    c = c + h | 0;
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 <= 7) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -3;
+    if ((r[c + 1 | 0] | r[c | 0] << 8) != 1 | (f | 0) < 3) {
+     break c;
+    }
+    if (!hv(c + 2 | 0, b, c)) {
+     break c;
+    }
+    q[i + 12 >> 2] = c;
+    g = q[b + 4 >> 2];
+    d = c + 6 | 0;
+    if (g >>> 0 > d >>> 0) {
+     break c;
+    }
+    e = q[b + 8 >> 2];
+    if (e >>> 0 < d >>> 0 | e - d >>> 0 < 2) {
+     break c;
+    }
+    f = q[b + 12 >> 2];
+    q[b + 12 >> 2] = f + -1;
+    if ((f | 0) < 1) {
+     break c;
+    }
+    h = r[d + 1 | 0] | r[d | 0] << 8;
+    if (!h) {
+     break b;
+    }
+    j = g;
+    g = d + 2 | 0;
+    if (j >>> 0 > g >>> 0 | e >>> 0 < g >>> 0 | e - g >>> 0 < h << 2 >>> 0) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -2;
+    if ((f | 0) < 2) {
+     break c;
+    }
+    f = r[d + 1 | 0] | r[d | 0] << 8;
+    if (!f) {
+     break b;
+    }
+    e = 0;
+    while (1) {
+     if (!iv((d + (e << 2) | 0) + 2 | 0, b, c)) {
+      break c;
+     }
+     e = e + 1 | 0;
+     if ((f | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    d = 0;
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   d = 0;
+   if (!r[b + 20 | 0]) {
+    break a;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+  }
+  d = 1;
+ }
+ Ca = i + 16 | 0;
+ return d;
+}
+function hR(a, b) {
+ var c = 0, d = 0;
+ c = r[a | 0];
+ c = (((c + -65 & 255) >>> 0 < 26 ? c + 32 | 0 : c) & 255) + -48 | 0;
+ a : {
+  if (c >>> 0 > 73) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       switch (c - 1 | 0) {
+       default:
+        q[b >> 2] = 0;
+        break b;
+       case 1:
+       case 51:
+       case 71:
+        q[b >> 2] = 2;
+        break b;
+       case 2:
+       case 3:
+       case 4:
+       case 5:
+       case 6:
+       case 7:
+       case 8:
+       case 9:
+       case 10:
+       case 11:
+       case 12:
+       case 13:
+       case 14:
+       case 15:
+       case 16:
+       case 17:
+       case 18:
+       case 19:
+       case 20:
+       case 21:
+       case 22:
+       case 23:
+       case 24:
+       case 25:
+       case 26:
+       case 27:
+       case 28:
+       case 29:
+       case 30:
+       case 31:
+       case 32:
+       case 33:
+       case 34:
+       case 35:
+       case 36:
+       case 37:
+       case 38:
+       case 39:
+       case 40:
+       case 41:
+       case 42:
+       case 43:
+       case 44:
+       case 45:
+       case 46:
+       case 47:
+       case 48:
+       case 49:
+       case 50:
+       case 52:
+       case 54:
+       case 55:
+       case 56:
+       case 57:
+       case 58:
+       case 59:
+       case 60:
+       case 63:
+       case 64:
+       case 65:
+       case 66:
+       case 68:
+       case 69:
+       case 70:
+        break a;
+       case 0:
+       case 67:
+       case 72:
+        break e;
+       case 62:
+        break f;
+       }
+      }
+      a = r[a + 1 | 0];
+      a = (((a + -65 & 255) >>> 0 < 26 ? a + 32 | 0 : a) & 255) + -102 | 0;
+      if (a >>> 0 > 12) {
+       break a;
+      }
+      switch (a - 1 | 0) {
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 8:
+      case 9:
+      case 10:
+       break a;
+      case 11:
+       break c;
+      case 7:
+       break e;
+      default:
+       break d;
+      }
+     }
+     q[b >> 2] = 1;
+     return 1;
+    }
+    q[b >> 2] = 0;
+    break b;
+   }
+   q[b >> 2] = 2;
+  }
+  d = 1;
+ }
+ return d;
+}
+function KK(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ i = Ca - 32 | 0;
+ Ca = i;
+ k = q[b + 12 >> 2];
+ h = q[b + 8 >> 2];
+ g = k - h | 0;
+ l = g >> 3;
+ j = l & 1;
+ if (!(r[e | 0] | (r[a + 8 | 0] | !j))) {
+  a : {
+   if (!g) {
+    g = 0;
+    m = q[b + 4 >> 2];
+    if (!m | q[m >> 2]) {
+     break a;
+    }
+    q[m >> 2] = 130;
+    break a;
+   }
+   g = q[h + 4 >> 2] + -1 | 0;
+   if (g >>> 0 <= 1) {
+    if (!(g - 1)) {
+     g = q[h >> 2] << 16;
+     break a;
+    }
+    g = q[h >> 2];
+    g = ((g >> 31) + g | 0) - -8192 >> 14;
+    break a;
+   }
+   g = q[h >> 2];
+  }
+  q[d >> 2] = (q[q[q[a + 176 >> 2] + 536 >> 2] + 544 >> 2] << 16) + g;
+ }
+ if (!r[q[a + 176 >> 2] + 548 | 0]) {
+  d = b;
+  if (l >>> 0 > j >>> 0) {
+   while (1) {
+    k = k - h >> 3;
+    b : {
+     if (k >>> 0 <= j >>> 0) {
+      a = 0;
+      g = q[b + 4 >> 2];
+      if (!g | q[g >> 2]) {
+       break b;
+      }
+      q[g >> 2] = 130;
+      break b;
+     }
+     a = (j << 3) + h | 0;
+     g = q[a + 4 >> 2] + -1 | 0;
+     if (g >>> 0 <= 1) {
+      if (!(g - 1)) {
+       a = q[a >> 2] << 16;
+       break b;
+      }
+      a = q[a >> 2];
+      a = ((a >> 31) + a | 0) - -8192 >> 14;
+      break b;
+     }
+     a = q[a >> 2];
+    }
+    f = a + f | 0;
+    q[i + 12 >> 2] = f;
+    a = j + 1 | 0;
+    c : {
+     if (k >>> 0 <= a >>> 0) {
+      h = 0;
+      a = q[b + 4 >> 2];
+      if (!a | q[a >> 2]) {
+       break c;
+      }
+      q[a >> 2] = 130;
+      break c;
+     }
+     a = (a << 3) + h | 0;
+     h = q[a + 4 >> 2] + -1 | 0;
+     if (h >>> 0 <= 1) {
+      if (!(h - 1)) {
+       h = q[a >> 2] << 16;
+       break c;
+      }
+      a = q[a >> 2];
+      h = ((a >> 31) + a | 0) - -8192 >> 14;
+      break c;
+     }
+     h = q[a >> 2];
+    }
+    q[i + 20 >> 2] = 0;
+    q[i + 24 >> 2] = 0;
+    o[i + 8 | 0] = 0;
+    f = f + h | 0;
+    q[i + 16 >> 2] = f;
+    QK(c, i + 8 | 0);
+    j = j + 2 | 0;
+    if (j >>> 0 < l >>> 0) {
+     h = q[b + 8 >> 2];
+     k = q[b + 12 >> 2];
+     continue;
+    }
+    break;
+   }
+   h = q[b + 8 >> 2];
+  }
+  q[d + 12 >> 2] = h;
+ }
+ o[e | 0] = 1;
+ Ca = i + 32 | 0;
+}
+function xu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ a : {
+  c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (!yu(c ? c + a | 0 : 271040, q[b + 8 >> 2])) {
+   break a;
+  }
+  d = r[a + 5 | 0];
+  e = r[a + 4 | 0];
+  f = d | e << 8;
+  if (f) {
+   c = 0;
+   while (1) {
+    d = (d & 255 | e << 8) >>> 0 > c >>> 0 ? ((c << 1) + a | 0) + 6 | 0 : 271040;
+    d = r[d | 0] << 8 | r[d + 1 | 0];
+    if (!yu(d ? d + a | 0 : 271040, q[b + 4 >> 2])) {
+     break a;
+    }
+    d = r[a + 5 | 0];
+    e = r[a + 4 | 0];
+    c = c + 1 | 0;
+    if ((f | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = (d << 1 | e << 9) + a | 0;
+  e = c + 6 | 0;
+  d = r[e | 0];
+  f = r[c + 7 | 0];
+  g = f | d << 8;
+  if (g) {
+   c = 0;
+   while (1) {
+    d = (d << 8 | f) >>> 0 > c >>> 0 ? (e + (c << 1) | 0) + 2 | 0 : 271040;
+    d = r[d | 0] << 8 | r[d + 1 | 0];
+    if (!yu(d ? d + a | 0 : 271040, q[b + 12 >> 2])) {
+     break a;
+    }
+    f = r[e + 1 | 0];
+    d = r[e | 0];
+    c = c + 1 | 0;
+    if ((g | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = e + (f << 1 | d << 9) | 0;
+  a = c + 2 | 0;
+  e = r[a | 0] << 8 | r[c + 3 | 0];
+  if (!e) {
+   break a;
+  }
+  f = q[b + 16 >> 2];
+  if (r[f + 12 | 0] != 1) {
+   break a;
+  }
+  q[f + 16 >> 2] = -1;
+  a = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  d = nF(f, a);
+  if (!d) {
+   break a;
+  }
+  b = c + 4 | 0;
+  while (1) {
+   h = a & -512;
+   i = a + 512 & -512;
+   c = b;
+   while (1) {
+    g = (a >>> 3 & 56) + d | 0;
+    b = g;
+    j = q[b + 4 >> 2];
+    k = b;
+    l = q[b >> 2];
+    g = a & 63;
+    a = g & 31;
+    if (32 <= (g & 63) >>> 0) {
+     g = 1 << a;
+     a = 0;
+    } else {
+     g = (1 << a) - 1 & 1 >>> 32 - a;
+     a = 1 << a;
+    }
+    q[k >> 2] = l | a;
+    q[b + 4 >> 2] = g | j;
+    e = e + -1 | 0;
+    if (!e) {
+     break a;
+    }
+    b = c + 2 | 0;
+    a = r[c + 3 | 0] | r[c + 2 | 0] << 8;
+    if (h >>> 0 <= a >>> 0) {
+     c = b;
+     if (a >>> 0 < i >>> 0) {
+      continue;
+     }
+    }
+    break;
+   }
+   d = nF(f, a);
+   if (d) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function su(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ a : {
+  c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (!yu(c ? c + a | 0 : 271040, q[b + 8 >> 2])) {
+   break a;
+  }
+  c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  d = c ? c + a | 0 : 271040;
+  c = r[d | 0] | r[d + 1 | 0] << 8;
+  j = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+  n = j >>> 0 > 1;
+  b : {
+   if (n) {
+    d = 0;
+    c = 0;
+    break b;
+   }
+   c = 0;
+   if (j - 1) {
+    break b;
+   }
+   h = d + 4 | 0;
+   g = r[d + 3 | 0] | r[d + 2 | 0] << 8;
+   c = g ? h : 271432;
+   e = (r[c + 1 | 0] | r[c | 0] << 8) >>> 0 > (r[c + 3 | 0] | r[c + 2 | 0] << 8) >>> 0 ? g : 0;
+   c = g ? r[d + 5 | 0] | r[h | 0] << 8 : 0;
+  }
+  g = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  h = a + 6 | 0;
+  while (1) {
+   if (n) {
+    break a;
+   }
+   c : {
+    if (!(j - 1)) {
+     if (!g) {
+      break a;
+     }
+     if (e >>> 0 < (r[d + 3 | 0] | r[d + 2 | 0] << 8) >>> 0) {
+      break c;
+     }
+     break a;
+    }
+    if (!g | e >>> 0 >= (r[d + 3 | 0] | r[d + 2 | 0] << 8) >>> 0) {
+     break a;
+    }
+   }
+   f = r[h + 1 | 0] | r[h | 0] << 8;
+   i = f ? f + a | 0 : 271040;
+   k = r[i | 0] << 8 | r[i + 1 | 0];
+   if (k) {
+    f = i + 2 | 0;
+    while (1) {
+     l = r[f + 1 | 0] | r[f | 0] << 8;
+     Fu(l ? l + i | 0 : 271040, b);
+     f = f + 2 | 0;
+     k = k + -1 | 0;
+     if (k) {
+      continue;
+     }
+     break;
+    }
+   }
+   d : {
+    if (n) {
+     break d;
+    }
+    if (j - 1) {
+     e = e + 1 | 0;
+     break d;
+    }
+    f = r[d + 3 | 0] | r[d + 2 | 0] << 8;
+    i = f >>> 0 > e >>> 0 ? (w(e, 6) + d | 0) + 4 | 0 : 271432;
+    if (c >>> 0 >= (r[i + 2 | 0] << 8 | r[i + 3 | 0]) >>> 0) {
+     e = e + 1 | 0;
+     if (e >>> 0 >= f >>> 0) {
+      break d;
+     }
+     l = m + 1 | 0;
+     c = w(e, 6) + d | 0;
+     m = r[c + 8 | 0] << 8 | r[c + 9 | 0];
+     e = (l | 0) == (m | 0) ? e : f;
+     c = r[c + 5 | 0] | r[c + 4 | 0] << 8;
+     break d;
+    }
+    c = c + 1 | 0;
+    m = m + 1 | 0;
+   }
+   h = h + 2 | 0;
+   g = g + -1 | 0;
+   continue;
+  }
+ }
+}
+function NE(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = Ca - 144 | 0;
+ Ca = h;
+ Z$(a + 24 | 0, 0, 88);
+ e = LE(h, b, c);
+ i = q[c + 24 >> 2];
+ j = q[c + 20 >> 2];
+ d = e + 24 | 0;
+ vy(d, 1920365166, 1, 1);
+ xy(d, 0);
+ b = q[e + 4 >> 2] + -4 | 0;
+ a : {
+  if (b >>> 0 > 1) {
+   break a;
+  }
+  if (b - 1) {
+   vy(d, 1819570785, 1, 1);
+   vy(d, 1819570797, 1, 1);
+   break a;
+  }
+  vy(d, 1920232545, 1, 1);
+  vy(d, 1920232557, 0, 1);
+ }
+ vy(d, 1718772067, 0, 1);
+ vy(d, 1853189490, 0, 1);
+ vy(d, 1684959085, 0, 1);
+ vy(d, 1918987876, 33, 255);
+ vy(d, 1953653099, 3, 1);
+ vy(d, 1212240454, 1, 1);
+ b = q[q[e + 140 >> 2] >> 2];
+ if (b) {
+  n[b](e);
+ }
+ vy(d, 1112889946, 1, 1);
+ vy(d, 1633842797, 1, 1);
+ vy(d, 1651275629, 1, 1);
+ vy(d, 1667460464, 1, 1);
+ vy(d, 1819239276, 1, 1);
+ vy(d, 1835102827, 13, 1);
+ vy(d, 1835756907, 13, 1);
+ vy(d, 1919707495, 1, 1);
+ b : {
+  if ((q[e + 4 >> 2] & -2) == 4) {
+   vy(d, 1667329140, 1, 1);
+   vy(d, 1668049255, 1, 1);
+   vy(d, 1668641395, 1, 1);
+   vy(d, 1684632436, 1, 1);
+   vy(d, 1801810542, 3, 1);
+   vy(d, 1818847073, 1, 1);
+   vy(d, 1919118452, 1, 1);
+   break b;
+  }
+  vy(d, 1986359924, 17, 1);
+ }
+ c : {
+  if (!i) {
+   break c;
+  }
+  while (1) {
+   g = (f << 4) + j | 0;
+   vy(d, q[g >> 2], q[g + 8 >> 2] ? 0 : q[g + 12 >> 2] == -1, q[g + 4 >> 2]);
+   f = f + 1 | 0;
+   if ((i | 0) != (f | 0)) {
+    continue;
+   }
+   break;
+  }
+  if (!(o[e + 136 | 0] & 1)) {
+   break c;
+  }
+  g = e + 120 | 0;
+  b = 0;
+  while (1) {
+   f = (b << 4) + j | 0;
+   vE(g, q[f >> 2], q[f + 4 >> 2]);
+   b = b + 1 | 0;
+   if ((i | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ b = q[q[e + 140 >> 2] + 4 >> 2];
+ if (b) {
+  n[b](e);
+ }
+ ME(e, a, c + 28 | 0);
+ d : {
+  e : {
+   b = q[q[a + 20 >> 2] + 8 >> 2];
+   if (!b) {
+    break e;
+   }
+   c = a;
+   a = n[b](a) | 0;
+   q[c + 112 >> 2] = a;
+   if (a) {
+    break e;
+   }
+   a = 0;
+   break d;
+  }
+  a = 1;
+ }
+ b = e + 132 | 0;
+ M$(q[b >> 2]);
+ q[b >> 2] = 0;
+ q[e + 124 >> 2] = 0;
+ q[e + 128 >> 2] = 0;
+ uy(d);
+ Ca = h + 144 | 0;
+ return a;
+}
+function QT(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0;
+ a : {
+  e = c - b | 0;
+  if ((e | 0) >= 1) {
+   b : {
+    h = a + 72 | 0;
+    while (1) {
+     c : {
+      d : {
+       g = r[r[b | 0] + h | 0];
+       if (g >>> 0 > 8) {
+        break d;
+       }
+       e : {
+        switch (g - 2 | 0) {
+        case 3:
+         if ((e | 0) < 2) {
+          return -2;
+         }
+         if (n[q[a + 352 >> 2]](a, b)) {
+          break a;
+         }
+         b = b + 2 | 0;
+         break c;
+        case 4:
+         if ((e | 0) < 3) {
+          return -2;
+         }
+         if (n[q[a + 356 >> 2]](a, b)) {
+          break a;
+         }
+         b = b + 3 | 0;
+         break c;
+        case 5:
+         if ((e | 0) < 4) {
+          return -2;
+         }
+         if (n[q[a + 360 >> 2]](a, b)) {
+          break a;
+         }
+         b = b + 4 | 0;
+         break c;
+        case 0:
+         e = b + 1 | 0;
+         if ((c - e | 0) < 1) {
+          break b;
+         }
+         if (r[e | 0] != 33) {
+          b = e;
+          break c;
+         }
+         e = b + 2 | 0;
+         if ((c - e | 0) < 1) {
+          break b;
+         }
+         if (r[e | 0] != 91) {
+          b = e;
+          break c;
+         }
+         b = b + 3 | 0;
+         f = f + 1 | 0;
+         break c;
+        case 1:
+         break d;
+        case 2:
+         break e;
+        default:
+         break a;
+        }
+       }
+       e = b + 1 | 0;
+       if ((c - e | 0) < 1) {
+        break b;
+       }
+       if (r[e | 0] != 93) {
+        b = e;
+        break c;
+       }
+       e = b + 2 | 0;
+       if ((c - e | 0) < 1) {
+        break b;
+       }
+       if (r[e | 0] != 62) {
+        b = e;
+        break c;
+       }
+       b = b + 3 | 0;
+       if (!f) {
+        q[d >> 2] = b;
+        return 42;
+       }
+       f = f + -1 | 0;
+       break c;
+      }
+      b = b + 1 | 0;
+     }
+     e = c - b | 0;
+     if ((e | 0) > 0) {
+      continue;
+     }
+     break;
+    }
+   }
+  }
+  return -1;
+ }
+ q[d >> 2] = b;
+ return 0;
+}
+function Ep(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ e = q[a + 812 >> 2];
+ a : {
+  if ((e | 0) < 10) {
+   break a;
+  }
+  g = q[a + 816 >> 2];
+  if (!g) {
+   break a;
+  }
+  d = e;
+  e = q[a + 808 >> 2];
+  k = d + e | 0;
+  f = e + 10 | 0;
+  d = e + 4 | 0;
+  l = b << 16 | c;
+  n = q[a + 820 >> 2];
+  h = 1;
+  while (1) {
+   b = (r[d + 3 | 0] | r[d + 2 | 0] << 8) + d | 0;
+   e = b >>> 0 > k >>> 0 ? k : b;
+   b : {
+    if (!(h & n)) {
+     break b;
+    }
+    c = d + 14 | 0;
+    if (r[d + 4 | 0]) {
+     break b;
+    }
+    o = r[d + 5 | 0];
+    i = e - c | 0;
+    b = r[d + 7 | 0] | r[f | 0] << 8;
+    b = (i | 0) < (w(b, 6) | 0) ? (i | 0) / 6 | 0 : b;
+    c : {
+     if (q[a + 824 >> 2] & h) {
+      if (!b) {
+       break b;
+      }
+      i = d + 18 | 0;
+      c = 0;
+      while (1) {
+       f = b + c >>> 1 | 0;
+       j = w(f, 6) + i | 0;
+       d = j + -4 | 0;
+       d = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+       d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+       if ((d | 0) != (l | 0)) {
+        d = d >>> 0 < l >>> 0;
+        c = d ? f + 1 | 0 : c;
+        b = d ? b : f;
+        if (c >>> 0 < b >>> 0) {
+         continue;
+        }
+        break b;
+       }
+       break;
+      }
+      b = j + 1 | 0;
+      break c;
+     }
+     if (!b) {
+      break b;
+     }
+     while (1) {
+      d = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+      if ((l | 0) != (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24))) {
+       c = c + 6 | 0;
+       b = b + -1 | 0;
+       if (b) {
+        continue;
+       }
+       break b;
+      }
+      break;
+     }
+     j = c + 4 | 0;
+     b = c + 5 | 0;
+    }
+    m = ((r[b | 0] | r[j | 0] << 8) << 16 >> 16) + (o & 8 ? 0 : m) | 0;
+   }
+   f = e + 6 | 0;
+   if (f >>> 0 > k >>> 0) {
+    break a;
+   }
+   h = h << 1;
+   d = e;
+   g = g + -1 | 0;
+   if (g) {
+    continue;
+   }
+   break;
+  }
+ }
+ return m | 0;
+}
+function BH(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ h = q[a + 2744 >> 2];
+ if (h & 4) {
+  e = q[a + 2748 >> 2];
+  a = c >> 31;
+  d = a + c ^ a;
+  a : {
+   b : {
+    c : {
+     if ((b | 0) == 1) {
+      if (!(h & 2)) {
+       break c;
+      }
+      break b;
+     }
+     if (h & 1) {
+      break b;
+     }
+    }
+    d : {
+     a = e + w(b, 7452) | 0;
+     if (!q[a + 52 >> 2]) {
+      break d;
+     }
+     e = q[a + 60 >> 2];
+     a = d - e | 0;
+     b = a >> 31;
+     if ((b ^ a + b) > 39) {
+      break d;
+     }
+     d = (e | 0) > 48 ? e : 48;
+     break a;
+    }
+    if ((d | 0) <= 53) {
+     d = ((54 - d | 0) / 2 | 0) + d | 0;
+     break a;
+    }
+    if ((d | 0) > 191) {
+     break a;
+    }
+    b = d & 63;
+    if (b >>> 0 < 10) {
+     break a;
+    }
+    a = d & 2147483584;
+    if (b >>> 0 <= 21) {
+     d = a | 10;
+     break a;
+    }
+    d = b + -42 >>> 0 < 12 ? a | 54 : d;
+    break a;
+   }
+   j = e + w(b, 7452) | 0;
+   k = q[j + 52 >> 2];
+   e : {
+    f : {
+     if (k) {
+      a = 98;
+      e = d;
+      while (1) {
+       l = q[(w(i, 12) + j | 0) + 60 >> 2];
+       f = d - l | 0;
+       g = f >> 31;
+       f = g ^ f + g;
+       g = (f | 0) < (a | 0);
+       a = g ? f : a;
+       e = g ? l : e;
+       i = i + 1 | 0;
+       if ((k | 0) != (i | 0)) {
+        continue;
+       }
+       break;
+      }
+      a = e + 32 & -64;
+      f = a;
+      if ((e | 0) <= (d | 0)) {
+       break f;
+      }
+      a = (a + -48 | 0) < (d | 0) ? e : d;
+      break e;
+     }
+     e = d;
+     f = d + 32 & 2147483584;
+    }
+    a = (f | 48) > (d | 0) ? e : d;
+   }
+   if ((b | 0) == 1) {
+    d = 64;
+    if ((a | 0) < 64) {
+     break a;
+    }
+    d = a + 16 & -64;
+    break a;
+   }
+   if (h & 8) {
+    d = 64;
+    if ((a | 0) < 64) {
+     break a;
+    }
+    d = a + 32 & -64;
+    break a;
+   }
+   if ((a | 0) <= 47) {
+    d = a - -64 >> 1;
+    break a;
+   }
+   if ((a | 0) <= 127) {
+    d = a + 22 & -64;
+    break a;
+   }
+   d = a + 32 & -64;
+  }
+  c = (c | 0) > -1 ? d : 0 - d | 0;
+ }
+ return c;
+}
+function og(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ if (!a) {
+  return;
+ }
+ c = q[a + 204 >> 2];
+ q[a + 204 >> 2] = c + -1;
+ if ((c | 0) <= 1) {
+  k = q[a >> 2];
+  b = q[a + 16 >> 2];
+  c = b;
+  while (1) {
+   d = 0;
+   if (c) {
+    l = (h << 2) + 3840 | 0;
+    i = 0;
+    while (1) {
+     j = q[((i << 2) + a | 0) + 20 >> 2];
+     a : {
+      b : {
+       if (h) {
+        b = q[j >> 2];
+        break b;
+       }
+       b = q[j >> 2];
+       if (iZ(q[b + 8 >> 2], q[l >> 2])) {
+        break a;
+       }
+      }
+      if (!(o[b | 0] & 1)) {
+       break a;
+      }
+      c = q[j + 16 >> 2];
+      if (!c) {
+       break a;
+      }
+      while (1) {
+       f = q[c + 8 >> 2];
+       c : {
+        if (!f) {
+         break c;
+        }
+        d = q[f + 96 >> 2];
+        if (!d) {
+         break c;
+        }
+        e = q[f + 128 >> 2];
+        b = q[e + 64 >> 2];
+        q[e + 64 >> 2] = b + -1;
+        if ((b | 0) > 1) {
+         break c;
+        }
+        b = q[d + 16 >> 2];
+        if (!b) {
+         break c;
+        }
+        g = d + 16 | 0;
+        e = q[d + 8 >> 2];
+        while (1) {
+         if ((f | 0) != q[b + 8 >> 2]) {
+          b = q[b + 4 >> 2];
+          if (b) {
+           continue;
+          }
+          break c;
+         }
+         break;
+        }
+        c = q[b >> 2];
+        m = c ? c + 4 | 0 : g;
+        g = q[b + 4 >> 2];
+        q[m >> 2] = g;
+        q[(g ? g : d + 20 | 0) >> 2] = c;
+        n[q[e + 8 >> 2]](e, b);
+        Df(e, f, d);
+        c = q[j + 16 >> 2];
+       }
+       if (c) {
+        continue;
+       }
+       break;
+      }
+     }
+     b = q[a + 16 >> 2];
+     d = b;
+     i = i + 1 | 0;
+     if (i >>> 0 < b >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   c = d;
+   h = h + 1 | 0;
+   if ((h | 0) != 2) {
+    continue;
+   }
+   break;
+  }
+  if (b) {
+   while (1) {
+    hg(a, q[((b << 2) + a | 0) + 16 >> 2]);
+    b = q[a + 16 >> 2];
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  n[q[k + 8 >> 2]](k, a);
+ }
+}
+function AG(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ f = Ca - 32 | 0;
+ i = q[a + 76 >> 2];
+ a : {
+  if (i >>> 0 < 2) {
+   break a;
+  }
+  e = i + -1 | 0;
+  j = q[a + 88 >> 2];
+  while (1) {
+   m = f + 24 | 0;
+   b = j + w(e, 20) | 0;
+   g = b + 16 | 0;
+   q[m >> 2] = q[g >> 2];
+   h = b + 8 | 0;
+   l = q[h + 4 >> 2];
+   d = f + 16 | 0;
+   c = d;
+   q[c >> 2] = q[h >> 2];
+   q[c + 4 >> 2] = l;
+   c = q[b + 4 >> 2];
+   q[f + 8 >> 2] = q[b >> 2];
+   q[f + 12 >> 2] = c;
+   c = g;
+   g = j + w(k, 20) | 0;
+   l = g + 16 | 0;
+   q[c >> 2] = q[l >> 2];
+   c = g + 8 | 0;
+   n = q[c + 4 >> 2];
+   q[h >> 2] = q[c >> 2];
+   q[h + 4 >> 2] = n;
+   h = q[g + 4 >> 2];
+   q[b >> 2] = q[g >> 2];
+   q[b + 4 >> 2] = h;
+   q[l >> 2] = q[m >> 2];
+   b = q[d + 4 >> 2];
+   q[c >> 2] = q[d >> 2];
+   q[c + 4 >> 2] = b;
+   b = q[f + 12 >> 2];
+   q[g >> 2] = q[f + 8 >> 2];
+   q[g + 4 >> 2] = b;
+   k = k + 1 | 0;
+   e = e + -1 | 0;
+   if (k >>> 0 < e >>> 0) {
+    continue;
+   }
+   break;
+  }
+  if (!r[a + 70 | 0]) {
+   break a;
+  }
+  e = q[a + 76 >> 2];
+  e = e >>> 0 < i >>> 0 ? e : i;
+  if (e >>> 0 < 2) {
+   break a;
+  }
+  g = q[a + 96 >> 2];
+  e = e + -1 | 0;
+  k = 0;
+  while (1) {
+   h = f + 24 | 0;
+   a = g + w(e, 20) | 0;
+   b = a + 16 | 0;
+   q[h >> 2] = q[b >> 2];
+   j = a + 8 | 0;
+   c = j;
+   m = q[c + 4 >> 2];
+   i = f + 16 | 0;
+   d = i;
+   q[d >> 2] = q[c >> 2];
+   q[d + 4 >> 2] = m;
+   d = q[a + 4 >> 2];
+   q[f + 8 >> 2] = q[a >> 2];
+   q[f + 12 >> 2] = d;
+   d = b;
+   b = g + w(k, 20) | 0;
+   c = b + 16 | 0;
+   q[d >> 2] = q[c >> 2];
+   d = b + 8 | 0;
+   l = q[d + 4 >> 2];
+   q[j >> 2] = q[d >> 2];
+   q[j + 4 >> 2] = l;
+   j = q[b + 4 >> 2];
+   q[a >> 2] = q[b >> 2];
+   q[a + 4 >> 2] = j;
+   q[c >> 2] = q[h >> 2];
+   a = q[i + 4 >> 2];
+   q[d >> 2] = q[i >> 2];
+   q[d + 4 >> 2] = a;
+   a = q[f + 12 >> 2];
+   q[b >> 2] = q[f + 8 >> 2];
+   q[b + 4 >> 2] = a;
+   k = k + 1 | 0;
+   e = e + -1 | 0;
+   if (k >>> 0 < e >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function cN(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ d = q[b >> 2];
+ q[c + 12 >> 2] = d;
+ a : {
+  b : {
+   e = r[d | 0];
+   if ((e | 0) != 92) {
+    if ((e | 0) != 9) {
+     break b;
+    }
+    a = d + 1 | 0;
+    q[c + 12 >> 2] = a;
+    q[b >> 2] = a;
+    a = 32;
+    break a;
+   }
+   e = r[d + 1 | 0] + -78 | 0;
+   if (e >>> 0 > 47) {
+    break b;
+   }
+   c : {
+    d : {
+     e : {
+      f : {
+       g : {
+        switch (e - 1 | 0) {
+        case 31:
+         if (q[a + 520 >> 2] != 2) {
+          break f;
+         }
+         break;
+        case 0:
+        case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+        case 8:
+        case 9:
+        case 10:
+        case 11:
+        case 12:
+        case 13:
+        case 14:
+        case 15:
+        case 16:
+        case 17:
+        case 18:
+        case 19:
+        case 20:
+        case 21:
+        case 22:
+        case 23:
+        case 24:
+        case 26:
+        case 27:
+        case 28:
+        case 29:
+        case 30:
+        case 32:
+        case 33:
+        case 34:
+        case 35:
+        case 36:
+        case 37:
+        case 38:
+        case 39:
+        case 40:
+        case 41:
+        case 42:
+        case 43:
+        case 45:
+         break b;
+        case 46:
+         break c;
+        case 44:
+         break d;
+        case 25:
+         break e;
+        default:
+         break g;
+        }
+       }
+       a = d + 2 | 0;
+       q[c + 12 >> 2] = a;
+       q[b >> 2] = a;
+       a = 10;
+       break a;
+      }
+      a = d + 2 | 0;
+      q[c + 12 >> 2] = a;
+      q[b >> 2] = a;
+      a = 32;
+      break a;
+     }
+     a = d + 2 | 0;
+     q[c + 12 >> 2] = a;
+     q[b >> 2] = a;
+     a = 160;
+     break a;
+    }
+    a = d + 2 | 0;
+    q[c + 12 >> 2] = a;
+    q[b >> 2] = a;
+    a = 123;
+    break a;
+   }
+   a = d + 2 | 0;
+   q[c + 12 >> 2] = a;
+   q[b >> 2] = a;
+   a = 125;
+   break a;
+  }
+  a = Zd(c + 12 | 0);
+  q[b >> 2] = q[c + 12 >> 2];
+ }
+ Ca = c + 16 | 0;
+ return a;
+}
+function VU(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   e = r[b + 4 | 0];
+   if (!(e | r[b + 5 | 0] != 120)) {
+    c = b + 6 | 0;
+    b = 0;
+    while (1) {
+     c : {
+      if (r[c | 0]) {
+       break c;
+      }
+      a = o[c + 1 | 0];
+      if ((a | 0) == 59) {
+       break b;
+      }
+      d = a + -48 | 0;
+      if (d >>> 0 > 54) {
+       break c;
+      }
+      d : {
+       switch (d - 10 | 0) {
+       default:
+        b = d | b << 4;
+        break c;
+       case 7:
+       case 8:
+       case 9:
+       case 10:
+       case 11:
+       case 12:
+        b = (a + (b << 4) | 0) + -55 | 0;
+        break c;
+       case 0:
+       case 1:
+       case 2:
+       case 3:
+       case 4:
+       case 5:
+       case 6:
+       case 13:
+       case 14:
+       case 15:
+       case 16:
+       case 17:
+       case 18:
+       case 19:
+       case 20:
+       case 21:
+       case 22:
+       case 23:
+       case 24:
+       case 25:
+       case 26:
+       case 27:
+       case 28:
+       case 29:
+       case 30:
+       case 31:
+       case 32:
+       case 33:
+       case 34:
+       case 35:
+       case 36:
+       case 37:
+       case 38:
+        break c;
+       case 39:
+       case 40:
+       case 41:
+       case 42:
+       case 43:
+       case 44:
+        break d;
+       }
+      }
+      b = (a + (b << 4) | 0) + -87 | 0;
+     }
+     c = c + 2 | 0;
+     if ((b | 0) < 1114112) {
+      continue;
+     }
+     break;
+    }
+    return -1;
+   }
+   d = b + 4 | 0;
+   b = 0;
+   while (1) {
+    a = -1;
+    c = -1;
+    if (!e) {
+     c = o[d + 1 | 0];
+     if ((c | 0) == 59) {
+      break b;
+     }
+    }
+    b = (w(b, 10) + c | 0) + -48 | 0;
+    if ((b | 0) > 1114111) {
+     break a;
+    }
+    d = d + 2 | 0;
+    e = r[d | 0];
+    continue;
+   }
+  }
+  a = -1;
+  c = b >> 8;
+  if (c + -216 >>> 0 < 8) {
+   break a;
+  }
+  e : {
+   if ((c | 0) != 255) {
+    if (r[b + 489888 | 0] | c) {
+     break e;
+    }
+    break a;
+   }
+   if ((b | 1) == 65535) {
+    break a;
+   }
+  }
+  a = b;
+ }
+ return a | 0;
+}
+function rm(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ d = -2;
+ a : {
+  if (!a) {
+   break a;
+  }
+  q[a + 24 >> 2] = 0;
+  d = q[a + 32 >> 2];
+  if (!d) {
+   q[a + 40 >> 2] = 0;
+   q[a + 32 >> 2] = 270;
+   d = 270;
+  }
+  if (!q[a + 36 >> 2]) {
+   q[a + 36 >> 2] = 271;
+  }
+  c = n[d](q[a + 40 >> 2], 1, 24) | 0;
+  q[a + 28 >> 2] = c;
+  d = -4;
+  if (!c) {
+   break a;
+  }
+  q[c + 20 >> 2] = 0;
+  q[c + 12 >> 2] = b >>> 31;
+  d = b >> 31;
+  d = d + b ^ d;
+  if ((d & 2147483640) != 8) {
+   tm(a);
+   return -2;
+  }
+  q[c + 16 >> 2] = d;
+  b : {
+   c = n[q[a + 32 >> 2]](q[a + 40 >> 2], 1, 64) | 0;
+   c : {
+    if (!c) {
+     break c;
+    }
+    e = n[q[a + 32 >> 2]](q[a + 40 >> 2], 8, 1440) | 0;
+    q[c + 36 >> 2] = e;
+    if (!e) {
+     n[q[a + 36 >> 2]](q[a + 40 >> 2], c);
+     break c;
+    }
+    f = 1 << d;
+    e = n[q[a + 32 >> 2]](q[a + 40 >> 2], 1, f) | 0;
+    q[c + 40 >> 2] = e;
+    if (e) {
+     break b;
+    }
+    n[q[a + 36 >> 2]](q[a + 40 >> 2], q[c + 36 >> 2]);
+    n[q[a + 36 >> 2]](q[a + 40 >> 2], c);
+   }
+   q[q[a + 28 >> 2] + 20 >> 2] = 0;
+   tm(a);
+   return -4;
+  }
+  g = (b | 0) > -1 ? 272 : 0;
+  q[c + 56 >> 2] = g;
+  q[c + 52 >> 2] = e;
+  q[c + 28 >> 2] = 0;
+  q[c + 32 >> 2] = 0;
+  d = 0;
+  q[c >> 2] = 0;
+  q[c + 48 >> 2] = e;
+  q[c + 44 >> 2] = e + f;
+  if ((b | 0) >= 0) {
+   b = n[g](0, 0, 0) | 0;
+   q[c + 60 >> 2] = b;
+   q[a + 48 >> 2] = b;
+  }
+  b = q[a + 28 >> 2];
+  q[b + 20 >> 2] = c;
+  if (!b) {
+   break a;
+  }
+  q[a + 8 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  q[a + 24 >> 2] = 0;
+  q[b >> 2] = q[b + 12 >> 2] ? 7 : 0;
+  b = q[c >> 2];
+  if ((b & -2) == 4) {
+   n[q[a + 36 >> 2]](q[a + 40 >> 2], q[c + 12 >> 2]);
+   b = q[c >> 2];
+  }
+  if ((b | 0) == 6) {
+   n[q[a + 36 >> 2]](q[a + 40 >> 2], q[c + 4 >> 2]);
+  }
+  q[c + 28 >> 2] = 0;
+  q[c + 32 >> 2] = 0;
+  q[c >> 2] = 0;
+  b = q[c + 40 >> 2];
+  q[c + 52 >> 2] = b;
+  q[c + 48 >> 2] = b;
+  b = q[c + 56 >> 2];
+  if (!b) {
+   break a;
+  }
+  b = n[b](0, 0, 0) | 0;
+  q[c + 60 >> 2] = b;
+  q[a + 48 >> 2] = b;
+ }
+ return d;
+}
+function bN(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, r = 0, s = 0;
+ i = q[a + 692 >> 2];
+ if ((i | 0) >= 0) {
+  e = q[a + 168 >> 2];
+  c = q[q[a + 208 >> 2] >> 2];
+  r = e - c | 0;
+  while (1) {
+   k = b;
+   e = w(b, 336);
+   c = q[a + 688 >> 2];
+   if (!(q[(e + c | 0) + 152 >> 2] ? 0 : (b | 0) != (i | 0))) {
+    e = c + e | 0;
+    a : {
+     if (!d) {
+      break a;
+     }
+     l = q[d + 160 >> 2] + s | 0;
+     m = q[d + 156 >> 2];
+     g = -1e6;
+     f = 1e6;
+     b = d;
+     j = e + -336 | 0;
+     n = b >>> 0 > j >>> 0;
+     if (!n) {
+      while (1) {
+       h = q[b + 96 >> 2] + 32 | 0;
+       c = h + q[b + 88 >> 2] >> 6;
+       g = (g | 0) > (c | 0) ? g : c;
+       c = h + q[b + 80 >> 2] >> 6;
+       f = (f | 0) > (c | 0) ? c : f;
+       b = b + 336 | 0;
+       if (b >>> 0 <= j >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     s = l + m | 0;
+     b : {
+      c : {
+       h = q[d + 152 >> 2];
+       b = h + -1 | 0;
+       if (b >>> 0 <= 2) {
+        c = r - l | 0;
+        if (b - 1) {
+         break c;
+        }
+        p = +(c | 0) / +(m | 0) * +(g - f | 0) + +(f | 0);
+        if (y(p) < 2147483648) {
+         c = ~~p;
+         break b;
+        }
+        c = -2147483648;
+        break b;
+       }
+       Yd(q[a >> 2], 1, 356195, 0);
+       i = q[a + 692 >> 2];
+       break a;
+      }
+      c = (c | 0) > -1 ? g + 1 | 0 : f;
+     }
+     d : {
+      if (n) {
+       break d;
+      }
+      q[d + 152 >> 2] = h;
+      q[d + 156 >> 2] = c - (q[d + 96 >> 2] + 32 >> 6);
+      b = d + 336 | 0;
+      if (b >>> 0 > j >>> 0) {
+       break d;
+      }
+      while (1) {
+       q[b + 152 >> 2] = q[d + 152 >> 2];
+       q[b + 156 >> 2] = c - (q[b + 96 >> 2] + 32 >> 6);
+       b = b + 336 | 0;
+       if (b >>> 0 <= j >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     o[d + 148 | 0] = 1;
+    }
+    d = e;
+   }
+   b = k + 1 | 0;
+   if ((k | 0) < (i | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function nJ(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ g = Ca - 272 | 0;
+ Ca = g;
+ d = q[b >> 2] << 2;
+ q[g >> 2] = d;
+ b = q[b + 4 >> 2];
+ h = b << 2;
+ q[g + 4 >> 2] = h;
+ j = q[a >> 2];
+ q[g + 8 >> 2] = j << 2;
+ i = q[a + 4 >> 2];
+ q[g + 12 >> 2] = i << 2;
+ k = q[c + 208 >> 2];
+ q[g + 16 >> 2] = k;
+ a = q[c + 212 >> 2];
+ q[g + 20 >> 2] = a;
+ f = i >> 6;
+ a : {
+  b : {
+   l = b >> 6;
+   e = q[c + 176 >> 2];
+   c : {
+    d : {
+     if ((l | 0) < (e | 0)) {
+      b = a >> 8;
+      break d;
+     }
+     b = a >> 8;
+     if ((f | 0) < (e | 0)) {
+      break d;
+     }
+     if ((b | 0) >= (e | 0)) {
+      break c;
+     }
+    }
+    e = b;
+    b = q[c + 172 >> 2];
+    if ((e | 0) >= (b | 0) | (l | 0) >= (b | 0) | (f | 0) >= (b | 0)) {
+     break b;
+    }
+   }
+   q[c + 212 >> 2] = h;
+   q[c + 208 >> 2] = d;
+   break a;
+  }
+  f = 1;
+  h = a + (h - (i << 3) | 0) | 0;
+  a = h >> 31;
+  d = (d - (j << 3) | 0) + k | 0;
+  b = d >> 31;
+  a = a ^ a + h;
+  b = b ^ b + d;
+  a = (b | 0) < (a | 0) ? a : b;
+  if ((a | 0) >= 65) {
+   while (1) {
+    f = f << 1;
+    b = a >>> 0 > 259;
+    a = a >>> 2 | 0;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = g;
+  while (1) {
+   b = (0 - f & f) >> 1;
+   if (b) {
+    while (1) {
+     d = q[a + 16 >> 2];
+     q[a + 32 >> 2] = d;
+     h = a + 20 | 0;
+     i = q[h >> 2];
+     q[a + 36 >> 2] = i;
+     e = q[a + 8 >> 2];
+     j = e + q[a >> 2] | 0;
+     q[a + 8 >> 2] = j >> 1;
+     d = d + e | 0;
+     q[a + 24 >> 2] = d >> 1;
+     q[a + 16 >> 2] = d + j >> 2;
+     e = a + 12 | 0;
+     j = q[e >> 2];
+     d = j + q[a + 4 >> 2] | 0;
+     q[e >> 2] = d >> 1;
+     i = i + j | 0;
+     q[a + 28 >> 2] = i >> 1;
+     q[h >> 2] = d + i >> 2;
+     a = a + 16 | 0;
+     b = b >> 1;
+     if (b) {
+      continue;
+     }
+     break;
+    }
+   }
+   mJ(c, q[a >> 2], q[a + 4 >> 2]);
+   a = a + -16 | 0;
+   f = f + -1 | 0;
+   if (f) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = g + 272 | 0;
+ return 0;
+}
+function xG(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      f : {
+       if (!r[a + 69 | 0]) {
+        if (t[a + 76 >> 2] < b >>> 0) {
+         break d;
+        }
+        q[a + 72 >> 2] = b;
+        break f;
+       }
+       if (r[a + 68 | 0] != 1) {
+        break e;
+       }
+       c = q[a + 80 >> 2];
+       d = q[a + 72 >> 2];
+       if ((c + q[a + 76 >> 2] | 0) - d >>> 0 < b >>> 0) {
+        break c;
+       }
+       if (c >>> 0 < b >>> 0) {
+        if (t[a + 84 >> 2] <= b >>> 0) {
+         if (!oG(a, b)) {
+          break e;
+         }
+        }
+        d = b - c | 0;
+        e = q[a + 92 >> 2];
+        c = q[a + 88 >> 2];
+        g : {
+         if ((e | 0) != (c | 0)) {
+          b = c;
+          break g;
+         }
+         f = q[a + 80 >> 2];
+         b = e;
+         if (f + d >>> 0 <= d + q[a + 72 >> 2] >>> 0) {
+          break g;
+         }
+         if (!r[a + 69 | 0]) {
+          break b;
+         }
+         b = q[a + 96 >> 2];
+         q[a + 92 >> 2] = b;
+         Y$(b, c, w(f, 20));
+         e = q[a + 92 >> 2];
+         b = q[a + 88 >> 2];
+        }
+        _$(w(q[a + 80 >> 2], 20) + e | 0, b + w(q[a + 72 >> 2], 20) | 0, w(d, 20));
+        q[a + 72 >> 2] = d + q[a + 72 >> 2];
+        q[a + 80 >> 2] = d + q[a + 80 >> 2];
+        break f;
+       }
+       if (c >>> 0 <= b >>> 0) {
+        break f;
+       }
+       b = c - b | 0;
+       if (d >>> 0 < b >>> 0) {
+        if (!qG(a, b)) {
+         break e;
+        }
+        d = q[a + 72 >> 2];
+       }
+       if (d >>> 0 < b >>> 0) {
+        break a;
+       }
+       e = d - b | 0;
+       q[a + 72 >> 2] = e;
+       c = q[a + 80 >> 2] - b | 0;
+       q[a + 80 >> 2] = c;
+       _$(q[a + 88 >> 2] + w(e, 20) | 0, q[a + 92 >> 2] + w(c, 20) | 0, w(b, 20));
+      }
+      e = 1;
+     }
+     return e;
+    }
+    J(272403, 272314, 385, 272412);
+    F();
+   }
+   J(272420, 272314, 392, 272412);
+   F();
+  }
+  J(272302, 272314, 167, 272327);
+  F();
+ }
+ J(272447, 272314, 418, 272412);
+ F();
+}
+function zU(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ a : {
+  b : {
+   c = b + 4 | 0;
+   if (!(r[b + 5 | 0] | r[c | 0] != 120)) {
+    c = b + 6 | 0;
+    b = 0;
+    while (1) {
+     c : {
+      if (r[c + 1 | 0]) {
+       break c;
+      }
+      a = o[c | 0];
+      if ((a | 0) == 59) {
+       break b;
+      }
+      d = a + -48 | 0;
+      if (d >>> 0 > 54) {
+       break c;
+      }
+      d : {
+       switch (d - 10 | 0) {
+       default:
+        b = d | b << 4;
+        break c;
+       case 7:
+       case 8:
+       case 9:
+       case 10:
+       case 11:
+       case 12:
+        b = (a + (b << 4) | 0) + -55 | 0;
+        break c;
+       case 0:
+       case 1:
+       case 2:
+       case 3:
+       case 4:
+       case 5:
+       case 6:
+       case 13:
+       case 14:
+       case 15:
+       case 16:
+       case 17:
+       case 18:
+       case 19:
+       case 20:
+       case 21:
+       case 22:
+       case 23:
+       case 24:
+       case 25:
+       case 26:
+       case 27:
+       case 28:
+       case 29:
+       case 30:
+       case 31:
+       case 32:
+       case 33:
+       case 34:
+       case 35:
+       case 36:
+       case 37:
+       case 38:
+        break c;
+       case 39:
+       case 40:
+       case 41:
+       case 42:
+       case 43:
+       case 44:
+        break d;
+       }
+      }
+      b = (a + (b << 4) | 0) + -87 | 0;
+     }
+     c = c + 2 | 0;
+     if ((b | 0) < 1114112) {
+      continue;
+     }
+     break;
+    }
+    return -1;
+   }
+   b = 0;
+   while (1) {
+    a = -1;
+    d = -1;
+    if (!r[c + 1 | 0]) {
+     d = o[c | 0];
+     if ((d | 0) == 59) {
+      break b;
+     }
+    }
+    c = c + 2 | 0;
+    b = (w(b, 10) + d | 0) + -48 | 0;
+    if ((b | 0) < 1114112) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  a = -1;
+  c = b >> 8;
+  if (c + -216 >>> 0 < 8) {
+   break a;
+  }
+  e : {
+   if ((c | 0) != 255) {
+    if (r[b + 489888 | 0] | c) {
+     break e;
+    }
+    break a;
+   }
+   if ((b | 1) == 65535) {
+    break a;
+   }
+  }
+  a = b;
+ }
+ return a | 0;
+}
+function st(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0, u = 0, v = 0, x = 0;
+ e = Ca - 32 | 0;
+ Ca = e;
+ q[e + 4 >> 2] = b;
+ h = a + 6 | 0;
+ i = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+ a : {
+  if (!i) {
+   g = h;
+   i = 0;
+   break a;
+  }
+  g = (w(i, 6) + a | 0) + 6 | 0;
+  m = q[b + 24 >> 2];
+  u = m + -1 | 0;
+  v = q[b + 28 >> 2];
+  j = i;
+  while (1) {
+   b : {
+    if ((m | 0) < 1) {
+     break b;
+    }
+    d = r[h | 0];
+    l = d >>> 1 | 0;
+    n = r[h + 1 | 0];
+    x = n | d << 8;
+    f = 0;
+    d = u;
+    while (1) {
+     c : {
+      k = d + f >>> 1 | 0;
+      o = (k << 3) + v | 0;
+      p = l - q[o >> 2] | 0;
+      d : {
+       if ((p | 0) <= -1) {
+        d = k + -1 | 0;
+        break d;
+       }
+       if (!p) {
+        break c;
+       }
+       f = k + 1 | 0;
+      }
+      if ((f | 0) <= (d | 0)) {
+       continue;
+      }
+      break b;
+     }
+     break;
+    }
+    f = q[o + 4 >> 2];
+    d = 271040;
+    e : {
+     if (t[b + 36 >> 2] <= f >>> 0) {
+      break e;
+     }
+     d = q[b + 40 >> 2];
+     if (!d) {
+      break b;
+     }
+     d = d + (f << 6) | 0;
+    }
+    d = d + (x >>> 3 & 56) | 0;
+    k = q[d >> 2];
+    f = q[d + 4 >> 2];
+    l = n & 63;
+    d = l & 31;
+    if (!((32 <= (l & 63) >>> 0 ? f >>> d | 0 : ((1 << d) - 1 & f) << 32 - d | k >>> d) & 1)) {
+     break b;
+    }
+    g = h;
+    i = s;
+    break a;
+   }
+   h = h + 6 | 0;
+   s = s + 1 | 0;
+   j = j + -1 | 0;
+   if (j) {
+    continue;
+   }
+   break;
+  }
+  j = 0;
+ }
+ q[e + 24 >> 2] = 0;
+ q[e + 16 >> 2] = i;
+ q[e + 12 >> 2] = j;
+ q[e + 8 >> 2] = g;
+ q[e + 20 >> 2] = e + 4;
+ f : {
+  if (!j) {
+   break f;
+  }
+  while (1) {
+   b = r[g + 2 | 0] | r[g + 3 | 0] << 8 | (r[g + 4 | 0] << 16 | r[g + 5 | 0] << 24);
+   b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+   rt((b ? b + a | 0 : 271040) + 2 | 0, c);
+   mu(e + 8 | 0);
+   if (!q[e + 12 >> 2]) {
+    break f;
+   }
+   g = q[e + 8 >> 2];
+   continue;
+  }
+ }
+ Ca = e + 32 | 0;
+}
+function M_(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = Ca - 208 | 0;
+ Ca = e;
+ q[e + 8 >> 2] = 1;
+ q[e + 12 >> 2] = 0;
+ a : {
+  h = w(b, c);
+  if (!h) {
+   break a;
+  }
+  q[e + 16 >> 2] = c;
+  q[e + 20 >> 2] = c;
+  i = 0 - c | 0;
+  b = c;
+  g = b;
+  f = 2;
+  while (1) {
+   j = c + g | 0;
+   g = b;
+   b = b + j | 0;
+   q[(e + 16 | 0) + (f << 2) >> 2] = b;
+   f = f + 1 | 0;
+   if (b >>> 0 < h >>> 0) {
+    continue;
+   }
+   break;
+  }
+  g = (a + h | 0) + i | 0;
+  b : {
+   if (g >>> 0 <= a >>> 0) {
+    f = 1;
+    b = 1;
+    break b;
+   }
+   f = 1;
+   b = 1;
+   while (1) {
+    c : {
+     if ((f & 3) == 3) {
+      N_(a, c, d, b, e + 16 | 0);
+      O_(e + 8 | 0, 2);
+      b = b + 2 | 0;
+      break c;
+     }
+     f = b + -1 | 0;
+     d : {
+      if (t[(e + 16 | 0) + (f << 2) >> 2] >= g - a >>> 0) {
+       P_(a, c, d, e + 8 | 0, b, 0, e + 16 | 0);
+       break d;
+      }
+      N_(a, c, d, b, e + 16 | 0);
+     }
+     if ((b | 0) == 1) {
+      Q_(e + 8 | 0, 1);
+      b = 0;
+      break c;
+     }
+     Q_(e + 8 | 0, f);
+     b = 1;
+    }
+    f = q[e + 8 >> 2] | 1;
+    q[e + 8 >> 2] = f;
+    a = a + c | 0;
+    if (a >>> 0 < g >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  P_(a, c, d, e + 8 | 0, b, 0, e + 16 | 0);
+  while (1) {
+   e : {
+    f : {
+     g : {
+      if (!((b | 0) != 1 | (f | 0) != 1)) {
+       if (q[e + 12 >> 2]) {
+        break g;
+       }
+       break a;
+      }
+      if ((b | 0) > 1) {
+       break f;
+      }
+     }
+     g = R_(e + 8 | 0);
+     O_(e + 8 | 0, g);
+     f = q[e + 8 >> 2];
+     b = b + g | 0;
+     break e;
+    }
+    Q_(e + 8 | 0, 2);
+    q[e + 8 >> 2] = q[e + 8 >> 2] ^ 7;
+    O_(e + 8 | 0, 1);
+    h = a + i | 0;
+    g = b + -2 | 0;
+    P_(h - q[(e + 16 | 0) + (g << 2) >> 2] | 0, c, d, e + 8 | 0, b + -1 | 0, 1, e + 16 | 0);
+    Q_(e + 8 | 0, 1);
+    f = q[e + 8 >> 2] | 1;
+    q[e + 8 >> 2] = f;
+    P_(h, c, d, e + 8 | 0, g, 1, e + 16 | 0);
+    b = g;
+   }
+   a = a + i | 0;
+   continue;
+  }
+ }
+ Ca = e + 208 | 0;
+}
+function hM(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = q[a >> 2];
+ a : {
+  if (c >>> 0 > 2) {
+   break a;
+  }
+  b : {
+   switch (c - 1 | 0) {
+   default:
+    return w(r[a + 43 | 0] ^ w(r[a + 42 | 0] ^ w(r[a + 41 | 0] ^ w(r[a + 40 | 0] ^ w(r[a + 39 | 0] ^ w(r[a + 38 | 0] ^ w(r[a + 37 | 0] ^ w(r[a + 36 | 0] ^ w(r[a + 35 | 0] ^ w(r[a + 34 | 0] ^ w(r[a + 33 | 0] ^ w(r[a + 32 | 0] ^ w(r[a + 31 | 0] ^ w(r[a + 30 | 0] ^ w(r[a + 29 | 0] ^ w(r[a + 28 | 0] ^ w(r[a + 27 | 0] ^ w(r[a + 26 | 0] ^ w(r[a + 25 | 0] ^ w(r[a + 24 | 0] ^ w(r[a + 23 | 0] ^ w(r[a + 22 | 0] ^ w(r[a + 21 | 0] ^ w(r[a + 20 | 0] ^ w(r[a + 19 | 0] ^ w(r[a + 18 | 0] ^ w(r[a + 17 | 0] ^ w(r[a + 16 | 0] ^ w(r[a + 11 | 0] ^ w(r[a + 10 | 0] ^ w(r[a + 9 | 0] ^ w(r[a + 8 | 0] ^ b, 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619) | 0;
+   case 0:
+    a = q[a + 8 >> 2];
+    c = r[a | 0];
+    if (!c) {
+     break a;
+    }
+    while (1) {
+     b = w(b ^ c, 16777619);
+     c = r[a + 1 | 0];
+     a = a + 1 | 0;
+     if (c) {
+      continue;
+     }
+     break;
+    }
+    break a;
+   case 1:
+    break b;
+   }
+  }
+  b = w(r[a + 27 | 0] ^ w(r[a + 26 | 0] ^ w(r[a + 25 | 0] ^ w(r[a + 24 | 0] ^ w(r[a + 23 | 0] ^ w(r[a + 22 | 0] ^ w(r[a + 21 | 0] ^ w(r[a + 20 | 0] ^ w(r[a + 19 | 0] ^ w(r[a + 18 | 0] ^ w(r[a + 17 | 0] ^ w(r[a + 16 | 0] ^ w(r[a + 15 | 0] ^ w(r[a + 14 | 0] ^ w(r[a + 13 | 0] ^ w(r[a + 12 | 0] ^ w(r[a + 11 | 0] ^ w(r[a + 10 | 0] ^ w(r[a + 9 | 0] ^ w(r[a + 8 | 0] ^ b, 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619);
+ }
+ return b | 0;
+}
+function PG(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ j = q[a + 24 >> 2];
+ e = q[a + 44 >> 2];
+ if (!(e | q[a + 76 >> 2] ? (e | 0) != 1 : 0)) {
+  if (q[a + 4 >> 2]) {
+   a : {
+    if ((c | 0) != -1) {
+     break a;
+    }
+    c = 0;
+    if (!q[b >> 2]) {
+     break a;
+    }
+    e = b;
+    while (1) {
+     c = c + 1 | 0;
+     f = q[e + 4 >> 2];
+     e = e + 4 | 0;
+     if (f) {
+      continue;
+     }
+     break;
+    }
+   }
+   d = (d | 0) == -1 ? c : d;
+   e = q[a + 76 >> 2] + (d & 1073741823) | 0;
+   if (!(!e | t[a + 84 >> 2] > e >>> 0)) {
+    oG(a, e);
+   }
+   e = b;
+   b : {
+    if ((d | 0) < 1) {
+     d = e;
+     break b;
+    }
+    k = (d << 2) + e | 0;
+    while (1) {
+     h = q[e >> 2];
+     d = e + 4 | 0;
+     f = q[a + 76 >> 2];
+     i = f + 1 | 0;
+     g = -1;
+     c : {
+      d : {
+       if (i >>> 0 < f >>> 0) {
+        break d;
+       }
+       g = f;
+       if (t[a + 84 >> 2] > i >>> 0) {
+        break d;
+       }
+       if (!oG(a, i)) {
+        break c;
+       }
+       g = q[a + 76 >> 2];
+      }
+      f = g;
+      f = q[a + 88 >> 2] + w(f, 20) | 0;
+      q[f + 8 >> 2] = 0;
+      q[f + 12 >> 2] = 0;
+      q[f + 4 >> 2] = 0;
+      q[f >> 2] = h >>> 0 > 55295 ? h + -57344 >>> 0 > 1056767 ? j : h : h;
+      q[f + 8 >> 2] = e - b >> 2;
+      q[f + 16 >> 2] = 0;
+      q[a + 76 >> 2] = q[a + 76 >> 2] + 1;
+     }
+     e = d;
+     if (e >>> 0 < k >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   e = 0;
+   q[a + 148 >> 2] = 0;
+   c = (c << 2) + b | 0;
+   e : {
+    if (d >>> 0 >= c >>> 0) {
+     break e;
+    }
+    while (1) {
+     b = q[d >> 2];
+     q[a + 148 >> 2] = e + 1;
+     q[((e << 2) + a | 0) + 124 >> 2] = b >>> 0 > 55295 ? b + -57344 >>> 0 > 1056767 ? j : b : b;
+     d = d + 4 | 0;
+     if (d >>> 0 >= c >>> 0) {
+      break e;
+     }
+     e = q[a + 148 >> 2];
+     if (e >>> 0 < 5) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[a + 44 >> 2] = 1;
+  }
+  return;
+ }
+ J(272730, 272314, 1517, 272861);
+ F();
+}
+function Ad(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ b = q[a + 84 >> 2];
+ q[g >> 2] = q[q[a + 88 >> 2] + 16 >> 2];
+ Yd(b, 6, 2607, g);
+ a : {
+  c = q[a + 88 >> 2];
+  d = q[c + 16 >> 2];
+  h = (d | 0) / 4 | 0;
+  i = d - (h << 2) | 0;
+  b : {
+   if ((i | 0) == 1) {
+    Yd(q[a + 84 >> 2], 1, 2635, 0);
+    b = 0;
+    break b;
+   }
+   k = w(h, 3);
+   j = k + ((i | 0) > 1 ? i + -1 | 0 : 0) | 0;
+   f = L$(j);
+   b = 0;
+   if (!f) {
+    break b;
+   }
+   c = q[c + 8 >> 2];
+   if ((d | 0) < 4) {
+    b = f;
+   } else {
+    m = h << 2;
+    b = c;
+    d = f;
+    while (1) {
+     n = r[b | 0];
+     p = r[b + 1 | 0];
+     e = (r[b + 2 | 0] + 31 & 63) << 6;
+     o[d + 2 | 0] = e | r[b + 3 | 0] + 31 & 63;
+     s = e;
+     e = (p + 31 & 63) << 12;
+     o[d + 1 | 0] = (s | e) >>> 8;
+     o[d | 0] = (e | n << 18) + 8126464 >>> 16;
+     b = b + 4 | 0;
+     d = d + 3 | 0;
+     l = l + 1 | 0;
+     if ((h | 0) != (l | 0)) {
+      continue;
+     }
+     break;
+    }
+    c = c + m | 0;
+    b = f + k | 0;
+   }
+   d = i + -2 | 0;
+   if (d >>> 0 <= 1) {
+    c : {
+     if (!(d - 1)) {
+      d = r[c + 2 | 0];
+      e = r[c | 0] << 18;
+      c = (r[c + 1 | 0] + 31 & 63) << 12;
+      o[b | 0] = (e | c) + 8126464 >>> 16;
+      d = (c | (d + 31 & 60) << 6) >>> 8 | 0;
+      e = 2;
+      c = b + 1 | 0;
+      break c;
+     }
+     d = ((r[c + 1 | 0] + 31 & 48) << 12 | (r[c | 0] + 31 & 255) << 18) >>> 16 | 0;
+     e = 1;
+     c = b;
+    }
+    o[c | 0] = d;
+    b = b + e | 0;
+   }
+   if ((b - f | 0) != (j | 0)) {
+    break a;
+   }
+   b = q[a + 84 >> 2];
+   if (q[b + 4 >> 2]) {
+    ke(b, q[q[a + 88 >> 2] + 4 >> 2], f, j);
+   }
+   b = f;
+  }
+  M$(b);
+  M$(q[q[a + 88 >> 2] + 4 >> 2]);
+  M$(q[q[a + 88 >> 2] + 8 >> 2]);
+  a = q[a + 88 >> 2];
+  q[a + 4 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+  q[a + 16 >> 2] = 0;
+  Ca = g + 16 | 0;
+  return;
+ }
+ J(2657, 1186, 707, 2704);
+ F();
+}
+function ho(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ c = q[b >> 2] + 1 | 0;
+ a : {
+  if (c >>> 0 > 65535) {
+   break a;
+  }
+  a = q[a + 16 >> 2];
+  j = a + 518 | 0;
+  k = a + 6 | 0;
+  while (1) {
+   b : {
+    a = c >>> 8 | 0;
+    c : {
+     d : {
+      e : {
+       if (!a) {
+        d = (c << 1 & 510) + k | 0;
+        a = j;
+        if (!(r[d | 0] << 8 | r[d + 1 | 0])) {
+         break e;
+        }
+        break d;
+       }
+       a = (a << 1) + k | 0;
+       a = r[a | 0] << 8 | r[a + 1 | 0] & 248;
+       if (!a) {
+        break d;
+       }
+       a = a + j | 0;
+      }
+      d = a;
+      g = r[d + 1 | 0] | r[d | 0] << 8;
+      h = r[d + 3 | 0] | r[d + 2 | 0] << 8;
+      e = c & 255;
+      f = r[d + 6 | 0];
+      i = r[d + 7 | 0];
+      m = r[d + 4 | 0];
+      n = r[d + 5 | 0];
+      if (c >>> 0 <= 255) {
+       a = 256;
+       if (e >>> 0 >= g + h >>> 0) {
+        break c;
+       }
+      }
+      i = i | f << 8;
+      if (!i) {
+       if ((c | 0) != 256) {
+        break d;
+       }
+       break b;
+      }
+      c = c & -256;
+      l = e >>> 0 < g >>> 0 ? g : e;
+      f = c + l | 0;
+      a = e - g | 0;
+      a = a >>> 0 > e >>> 0 ? 0 : a;
+      if (a >>> 0 < h >>> 0) {
+       g = m << 8 | n;
+       e = ((h + l | 0) + c | 0) - a | 0;
+       c = d + 6 + (i + (a << 1)) | 0;
+       while (1) {
+        d = r[c + 1 | 0] | r[c | 0] << 8;
+        if (d) {
+         d = d + g & 65535;
+         if (d) {
+          break a;
+         }
+        }
+        c = c + 2 | 0;
+        f = f + 1 | 0;
+        a = a + 1 | 0;
+        if ((h | 0) != (a | 0)) {
+         continue;
+        }
+        break;
+       }
+       a = e;
+      } else {
+       a = f;
+      }
+      c = a - ((h | 0) != 0) | 0;
+     }
+     a = c >>> 0 < 256 ? c + 1 | 0 : c + 256 & -256;
+    }
+    c = a;
+    if (c >>> 0 < 65536) {
+     continue;
+    }
+   }
+   break;
+  }
+  f = 0;
+  d = 0;
+ }
+ q[b >> 2] = f;
+ return d | 0;
+}
+function Dr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ e = 1;
+ c = r[a + 3 | 0];
+ a : {
+  if (c >>> 0 > 5) {
+   break a;
+  }
+  b : {
+   switch (c - 1 | 0) {
+   default:
+    e = uv(a + 8 | 0, b);
+    break a;
+   case 0:
+    e = 0;
+    q[f + 8 >> 2] = 0;
+    d = a + 8 | 0;
+    if (!Er(d, b, f + 8 | 0)) {
+     break a;
+    }
+    i = q[b + 4 >> 2];
+    c = a + 16 | 0;
+    if (i >>> 0 > c >>> 0) {
+     break a;
+    }
+    g = q[b + 8 >> 2];
+    if (g >>> 0 < c >>> 0 | g - c >>> 0 < 2) {
+     break a;
+    }
+    h = q[b + 12 >> 2];
+    q[b + 12 >> 2] = h + -1;
+    if ((h | 0) < 1) {
+     break a;
+    }
+    j = f;
+    c = r[a + 17 | 0] | r[a + 16 | 0] << 8;
+    if (c) {
+     if (g >>> 0 < d >>> 0 | i >>> 0 > d >>> 0 | g - d >>> 0 < c >>> 0) {
+      break a;
+     }
+     q[b + 12 >> 2] = h + -2;
+     if ((h | 0) < 2) {
+      break a;
+     }
+     b = r[a + 17 | 0] | r[a + 16 | 0] << 8;
+    } else {
+     b = 0;
+    }
+    q[j + 12 >> 2] = (b + a | 0) + 8;
+    e = 1;
+    break a;
+   case 1:
+    e = 0;
+    c = a + 8 | 0;
+    if (t[b + 4 >> 2] > c >>> 0) {
+     break a;
+    }
+    d = q[b + 8 >> 2];
+    if (d >>> 0 < c >>> 0 | d - c >>> 0 < 28) {
+     break a;
+    }
+    d = q[b + 12 >> 2];
+    q[b + 12 >> 2] = d + -1;
+    if ((d | 0) < 1) {
+     break a;
+    }
+    if (!uv(c, b) | !(r[a + 17 | 0] | r[a + 16 | 0] << 8) | !(r[a + 19 | 0] | r[a + 18 | 0] << 8)) {
+     break a;
+    }
+    e = (r[a + 21 | 0] | r[a + 20 | 0] << 8) != 0;
+    break a;
+   case 3:
+    e = sr(a + 8 | 0, b);
+    break a;
+   case 2:
+    break a;
+   case 4:
+    break b;
+   }
+  }
+  e = 0;
+  c = a + 8 | 0;
+  if (t[b + 4 >> 2] > c >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < c >>> 0 | d - c >>> 0 < 20) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  if (!Er(c, b, 0)) {
+   break a;
+  }
+  e = (r[a + 17 | 0] | r[a + 16 | 0] << 8) != 0;
+ }
+ Ca = f + 16 | 0;
+ return e;
+}
+function z$(a, b, c, d) {
+ var e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ i = Ca - 32 | 0;
+ Ca = i;
+ e = d & 2147483647;
+ k = e;
+ e = e + -1006698496 | 0;
+ j = c;
+ h = c;
+ if (c >>> 0 < 0) {
+  e = e + 1 | 0;
+ }
+ l = h;
+ h = e;
+ e = k + -1140785152 | 0;
+ m = j;
+ if (j >>> 0 < 0) {
+  e = e + 1 | 0;
+ }
+ a : {
+  if ((e | 0) == (h | 0) & l >>> 0 < m >>> 0 | h >>> 0 < e >>> 0) {
+   e = d << 4 | c >>> 28;
+   c = c << 4 | b >>> 28;
+   b = b & 268435455;
+   j = b;
+   if ((b | 0) == 134217728 & a >>> 0 >= 1 | b >>> 0 > 134217728) {
+    e = e + 1073741824 | 0;
+    a = c + 1 | 0;
+    if (a >>> 0 < 1) {
+     e = e + 1 | 0;
+    }
+    h = a;
+    break a;
+   }
+   h = c;
+   e = e - ((c >>> 0 < 0) + -1073741824 | 0) | 0;
+   if (a | j ^ 134217728) {
+    break a;
+   }
+   a = h + (h & 1) | 0;
+   if (a >>> 0 < h >>> 0) {
+    e = e + 1 | 0;
+   }
+   h = a;
+   break a;
+  }
+  if (!(!j & (k | 0) == 2147418112 ? !(a | b) : (k | 0) == 2147418112 & j >>> 0 < 0 | k >>> 0 < 2147418112)) {
+   e = d << 4 | c >>> 28;
+   h = c << 4 | b >>> 28;
+   e = e & 524287 | 2146959360;
+   break a;
+  }
+  h = 0;
+  e = 2146435072;
+  if ((k | 0) == 1140785151 & j >>> 0 > 4294967295 | k >>> 0 > 1140785151) {
+   break a;
+  }
+  e = 0;
+  j = k >>> 16 | 0;
+  if (j >>> 0 < 15249) {
+   break a;
+  }
+  e = d & 65535 | 65536;
+  n$(i + 16 | 0, a, b, c, e, j + -15233 | 0);
+  v$(i, a, b, c, e, 15361 - j | 0);
+  c = q[i + 4 >> 2];
+  a = q[i + 8 >> 2];
+  e = q[i + 12 >> 2] << 4 | a >>> 28;
+  h = a << 4 | c >>> 28;
+  a = c & 268435455;
+  c = a;
+  b = q[i >> 2] | ((q[i + 16 >> 2] | q[i + 24 >> 2]) != 0 | (q[i + 20 >> 2] | q[i + 28 >> 2]) != 0);
+  if ((a | 0) == 134217728 & b >>> 0 >= 1 | a >>> 0 > 134217728) {
+   a = h + 1 | 0;
+   if (a >>> 0 < 1) {
+    e = e + 1 | 0;
+   }
+   h = a;
+   break a;
+  }
+  if (b | c ^ 134217728) {
+   break a;
+  }
+  a = h + (h & 1) | 0;
+  if (a >>> 0 < h >>> 0) {
+   e = e + 1 | 0;
+  }
+  h = a;
+ }
+ Ca = i + 32 | 0;
+ f(0, h | 0);
+ f(1, d & -2147483648 | e);
+ return +g();
+}
+function wR(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = Ca - 384 | 0;
+ Ca = d;
+ h = RX(a);
+ a : {
+  if (h) {
+   q[d + 68 >> 2] = 0;
+   q[d + 64 >> 2] = b;
+   e = uQ(h, d - -64 | 0);
+   break a;
+  }
+  e = mZ(b);
+ }
+ f = RQ(e, d + 144 | 0);
+ M$(e);
+ b : {
+  if ((f | 0) < 0) {
+   break b;
+  }
+  mR(a, b, d + 320 | 0);
+  i = yQ(q[a + 12 >> 2]);
+  if (!i) {
+   break b;
+  }
+  f = zQ(i);
+  c : {
+   if (!f) {
+    break c;
+   }
+   while (1) {
+    q[d + 136 >> 2] = 0;
+    q[d + 140 >> 2] = 0;
+    k = 0;
+    d : {
+     if (h) {
+      q[d + 40 >> 2] = 0;
+      q[d + 32 >> 2] = f;
+      q[d + 36 >> 2] = d + 320;
+      e = uQ(h, d + 32 | 0);
+      break d;
+     }
+     q[d + 52 >> 2] = 0;
+     q[d + 48 >> 2] = d + 320;
+     e = uQ(f, d + 48 | 0);
+    }
+    if (!e) {
+     break c;
+    }
+    e : {
+     while (1) {
+      f : {
+       g : {
+        h : {
+         i : {
+          g = SQ(e, 0, 0);
+          if ((g | 0) >= 0) {
+           if ((yY(g, d + 232 | 0) | 0) > -1) {
+            break i;
+           }
+           SY(g);
+          }
+          if (k) {
+           break f;
+          }
+          nR(a, b, d + 80 | 0);
+          g = r[d + 80 | 0];
+          M$(e);
+          if (!g) {
+           break e;
+          }
+          if (!h) {
+           break h;
+          }
+          q[d + 8 >> 2] = 0;
+          q[d >> 2] = f;
+          q[d + 4 >> 2] = d + 80;
+          e = uQ(h, d);
+          break g;
+         }
+         j = n[835](a, g, d + 232 | 0, d + 144 | 0, d + 136 | 0, c) | 0;
+         SY(g);
+         if (j) {
+          break f;
+         }
+         M$(e);
+         j = 0;
+         break e;
+        }
+        q[d + 20 >> 2] = 0;
+        q[d + 16 >> 2] = d + 80;
+        e = uQ(f, d + 16 | 0);
+       }
+       k = 1;
+       if (e) {
+        continue;
+       }
+       break c;
+      }
+      break;
+     }
+     M$(e);
+    }
+    f = zQ(i);
+    if (f) {
+     continue;
+    }
+    break;
+   }
+  }
+  AQ(i);
+ }
+ Ca = d + 384 | 0;
+ return j;
+}
+function Tz(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ if (!r[a + 178 | 0]) {
+  d = q[a + 152 >> 2];
+  b = d + 8 | 0;
+  c = q[a + 160 >> 2];
+  b = (r[d + 9 | 0] | r[b | 0] << 8) >>> 0 > c >>> 0 ? (b + (c << 2) | 0) + 2 | 0 : 271040;
+  b = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+  b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+  b = b ? (b + d | 0) + 2 | 0 : 271040;
+  d = r[b + 4 | 0] << 8 | r[b + 5 | 0];
+  q[a + 156 >> 2] = d;
+  if (r[a + 176 | 0]) {
+   b = q[a + 164 >> 2];
+   a : {
+    if ((b | 0) < 0) {
+     break a;
+    }
+    if (b >>> 0 < d >>> 0) {
+     c = b;
+     while (1) {
+      c = ((c >>> 1 | 0) + c | 0) + 8 | 0;
+      if (c >>> 0 <= d >>> 0) {
+       continue;
+      }
+      break;
+     }
+     b : {
+      if (!(c >>> 0 < b >>> 0 | c >>> 0 > 1073741822)) {
+       b = O$(q[a + 172 >> 2], c << 2);
+       if (b) {
+        break b;
+       }
+      }
+      q[a + 164 >> 2] = -1;
+      break a;
+     }
+     q[a + 164 >> 2] = c;
+     q[a + 172 >> 2] = b;
+    }
+    b = q[a + 168 >> 2];
+    if (d >>> 0 > b >>> 0) {
+     Z$(q[a + 172 >> 2] + (b << 2) | 0, 0, d - b << 2);
+    }
+    q[a + 168 >> 2] = d;
+   }
+   h = q[a + 148 >> 2];
+   d = q[a + 144 >> 2];
+   f = q[a + 160 >> 2];
+   e = q[a + 152 >> 2];
+   c : {
+    if (!q[a + 168 >> 2]) {
+     q[160656] = q[67760];
+     g = 642624;
+     break c;
+    }
+    g = q[a + 172 >> 2];
+   }
+   c = e + 2 | 0;
+   b = e + 8 | 0;
+   b = (r[e + 9 | 0] | r[b | 0] << 8) >>> 0 > f >>> 0 ? (b + (f << 2) | 0) + 2 | 0 : 271040;
+   b = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+   b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+   f = b ? c + b | 0 : 271040;
+   b = r[e + 4 | 0] | r[e + 5 | 0] << 8 | (r[e + 6 | 0] << 16 | r[e + 7 | 0] << 24);
+   b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+   Uz(f, d, h, b ? b + c | 0 : 271040, g, q[a + 156 >> 2]);
+  }
+  o[a + 178 | 0] = 1;
+ }
+}
+function LD(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ a : {
+  if (!HD(b, a, 2)) {
+   break a;
+  }
+  j = q[c >> 2];
+  e = q[c + 4 >> 2];
+  m = j + (e << 1) | 0;
+  h = -2;
+  f = j;
+  d = e;
+  b : {
+   while (1) {
+    c : {
+     d : {
+      e : {
+       if ((f | 0) == (m | 0)) {
+        if (d) {
+         break e;
+        }
+        h = 0;
+        o[a | 0] = 0;
+        d = k >>> 0 > w(l, 3) >>> 0;
+        o[a + 1 | 0] = d ? 2 : 1;
+        if (d - 1) {
+         break c;
+        }
+        break b;
+       }
+       if (d) {
+        break e;
+       }
+       g = 271040;
+       break d;
+      }
+      g = f;
+     }
+     n = h + 1 | 0;
+     g = r[g | 0] | r[g + 1 | 0] << 8;
+     h = (g << 24 | g << 8 & 16711680) >>> 16 | 0;
+     l = ((n | 0) != (h | 0)) + l | 0;
+     k = k + 1 | 0;
+     g = (d | 0) != 0;
+     d = d - g | 0;
+     f = (g << 1) + f | 0;
+     continue;
+    }
+    break;
+   }
+   d = a + 2 | 0;
+   if (!HD(b, d, 2)) {
+    break a;
+   }
+   c = (e << 8 & 16711680 | e << 24) >>> 16 | 0;
+   o[a + 2 | 0] = c;
+   o[a + 3 | 0] = c >>> 8;
+   f = (e & 65280) >>> 8 | 0;
+   c = e;
+   f : {
+    if (e >>> 0 < 65536) {
+     break f;
+    }
+    c = e;
+    if (!r[b + 20 | 0]) {
+     break f;
+    }
+    o[b + 20 | 0] = 0;
+    f = r[a + 2 | 0];
+    c = r[a + 3 | 0];
+   }
+   if (!HD(b, d, ((f & 255) << 9 | (c & 255) << 1) + 2 | 0)) {
+    break a;
+   }
+   h = 1;
+   if (!e) {
+    break a;
+   }
+   f = 0;
+   d = e;
+   while (1) {
+    c = (f << 1) + a | 0;
+    b = d ? j : 271040;
+    b = r[b | 0] | r[b + 1 | 0] << 8;
+    o[c + 4 | 0] = b;
+    o[c + 5 | 0] = b >>> 8;
+    b = (d | 0) != 0;
+    d = d - b | 0;
+    j = (b << 1) + j | 0;
+    f = f + 1 | 0;
+    if ((e | 0) != (f | 0)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  q[i + 8 >> 2] = q[c + 8 >> 2];
+  e = q[c + 4 >> 2];
+  q[i >> 2] = q[c >> 2];
+  q[i + 4 >> 2] = e;
+  h = ND(a, b, i);
+ }
+ Ca = i + 16 | 0;
+ return h;
+}
+function QD(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = N$(1, 16);
+ if (f) {
+  i = f;
+  d = q[a + 44 >> 2];
+  a : {
+   if ((d | 0) >= 1) {
+    e = q[a + 48 >> 2];
+    d = d + -1 | 0;
+    b = d;
+    a = f;
+    b : {
+     c : {
+      while (1) {
+       c = b >>> 1 | 0;
+       if (!q[e + w(c, 36) >> 2]) {
+        break c;
+       }
+       b = c + -1 | 0;
+       if (c) {
+        continue;
+       }
+       break;
+      }
+      b = 0;
+      break b;
+     }
+     b = q[(e + w(c, 36) | 0) + 28 >> 2];
+    }
+    q[a >> 2] = b;
+    b = 0;
+    a = d;
+    h = f;
+    d : {
+     while (1) {
+      c = a + b >>> 1 | 0;
+      g = q[e + w(c, 36) >> 2];
+      e : {
+       if (g >>> 0 <= 1818914159) {
+        b = q[(e + w(c, 36) | 0) + 28 >> 2];
+        if ((g | 0) == 1818914159) {
+         break d;
+        }
+        b = c + 1 | 0;
+        break e;
+       }
+       a = c + -1 | 0;
+      }
+      if ((b | 0) <= (a | 0)) {
+       continue;
+      }
+      break;
+     }
+     b = 0;
+    }
+    q[h + 4 >> 2] = b;
+    b = 0;
+    a = d;
+    h = f;
+    f : {
+     while (1) {
+      c = a + b >>> 1 | 0;
+      g = q[e + w(c, 36) >> 2];
+      g : {
+       if (g >>> 0 <= 1986686319) {
+        b = q[(e + w(c, 36) | 0) + 28 >> 2];
+        if ((g | 0) == 1986686319) {
+         break f;
+        }
+        b = c + 1 | 0;
+        break g;
+       }
+       a = c + -1 | 0;
+      }
+      if ((b | 0) <= (a | 0)) {
+       continue;
+      }
+      break;
+     }
+     b = 0;
+    }
+    q[h + 8 >> 2] = b;
+    a = 0;
+    while (1) {
+     c = a + d >>> 1 | 0;
+     b = q[e + w(c, 36) >> 2];
+     h : {
+      if (b >>> 0 <= 1953131887) {
+       a = q[(e + w(c, 36) | 0) + 28 >> 2];
+       if ((b | 0) == 1953131887) {
+        break a;
+       }
+       a = c + 1 | 0;
+       break h;
+      }
+      d = c + -1 | 0;
+     }
+     if ((a | 0) <= (d | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   a = 0;
+  }
+  q[i + 12 >> 2] = a;
+ }
+ return f | 0;
+}
+function LB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  b : {
+   c : {
+    c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+    j = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    f = b + 1 | 0;
+    if (j >>> 0 >= f >>> 0) {
+     c = r[a + 4 | 0];
+     if (c) {
+      i = c;
+      h = (w(c, f) + a | 0) + 5 | 0;
+      d = h;
+      while (1) {
+       e = r[d | 0] | e << 8;
+       d = d + 1 | 0;
+       i = i + -1 | 0;
+       if (i) {
+        continue;
+       }
+       break;
+      }
+      if (j >>> 0 < b >>> 0) {
+       break a;
+      }
+      f = c;
+      i = (w(b, c) + a | 0) + 5 | 0;
+      d = i;
+      while (1) {
+       g = r[d | 0] | g << 8;
+       d = d + 1 | 0;
+       f = f + -1 | 0;
+       if (f) {
+        continue;
+       }
+       break;
+      }
+      d = 0;
+      b = 0;
+      if (e >>> 0 < g >>> 0) {
+       break b;
+      }
+      g = c;
+      e = h;
+      while (1) {
+       d = r[e | 0] | d << 8;
+       e = e + 1 | 0;
+       g = g + -1 | 0;
+       if (g) {
+        continue;
+       }
+       break;
+      }
+      e = (w(c, j) + a | 0) + 5 | 0;
+      g = 0;
+      f = c;
+      while (1) {
+       g = r[e | 0] | g << 8;
+       e = e + 1 | 0;
+       f = f + -1 | 0;
+       if (f) {
+        continue;
+       }
+       break;
+      }
+      a = d >>> 0 > g >>> 0;
+      d = 0;
+      b = 0;
+      if (a) {
+       break b;
+      }
+      e = c;
+      while (1) {
+       d = r[h | 0] | d << 8;
+       h = h + 1 | 0;
+       e = e + -1 | 0;
+       if (e) {
+        continue;
+       }
+       break;
+      }
+      h = 0;
+      while (1) {
+       h = r[i | 0] | h << 8;
+       i = i + 1 | 0;
+       c = c + -1 | 0;
+       if (c) {
+        continue;
+       }
+       break;
+      }
+      break c;
+     }
+     if (j >>> 0 >= b >>> 0) {
+      break c;
+     }
+     break a;
+    }
+    break a;
+   }
+   b = d - h | 0;
+  }
+  return b;
+ }
+ J(242699, 242714, 251, 242736);
+ F();
+}
+function JD(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ d = Ca - 96 | 0;
+ Ca = d;
+ f = c + 16 | 0;
+ h = q[f >> 2];
+ i = q[c + 12 >> 2];
+ e = q[c + 4 >> 2];
+ g = q[f + 4 >> 2];
+ q[d + 88 >> 2] = q[f >> 2];
+ q[d + 92 >> 2] = g;
+ f = q[c + 12 >> 2];
+ q[d + 80 >> 2] = q[c + 8 >> 2];
+ q[d + 84 >> 2] = f;
+ f = q[c + 4 >> 2];
+ q[d + 72 >> 2] = q[c >> 2];
+ q[d + 76 >> 2] = f;
+ c = 0;
+ a : {
+  if (!HD(b, a, 6)) {
+   break a;
+  }
+  j = a + 4 | 0;
+  if (!HD(b, j, 2)) {
+   break a;
+  }
+  f = e >>> 0 > h >>> 0 ? h : e;
+  e = (f << 24 | f << 8 & 16711680) >>> 16 | 0;
+  o[a + 4 | 0] = e;
+  o[a + 5 | 0] = e >>> 8;
+  g = (f & 65280) >>> 8 | 0;
+  e = f;
+  b : {
+   if (f >>> 0 < 65536) {
+    break b;
+   }
+   e = f;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[b + 20 | 0] = 0;
+   g = r[a + 4 | 0];
+   e = r[a + 5 | 0];
+  }
+  if (!HD(b, j, ((g & 255) << 9 | (e & 255) << 1) + 2 | 0)) {
+   break a;
+  }
+  if (f) {
+   while (1) {
+    e = (c << 1) + a | 0;
+    g = h ? i : 271040;
+    g = r[g | 0] | r[g + 1 | 0] << 8;
+    o[e + 6 | 0] = g;
+    o[e + 7 | 0] = g >>> 8;
+    e = (h | 0) != 0;
+    h = h - e | 0;
+    i = (e << 1) + i | 0;
+    c = c + 1 | 0;
+    if ((f | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  f = q[b + 4 >> 2];
+  c = f - a | 0;
+  e = (c << 24 | c << 8 & 16711680) >>> 16 | 0;
+  o[a + 2 | 0] = e;
+  o[a + 3 | 0] = e >>> 8;
+  if (!(!r[b + 20 | 0] | c >>> 0 < 65536)) {
+   o[b + 20 | 0] = 0;
+  }
+  q[d + 32 >> 2] = 254776;
+  a = q[d + 92 >> 2];
+  e = q[d + 88 >> 2];
+  q[d + 56 >> 2] = e;
+  q[d + 60 >> 2] = a;
+  c = q[d + 84 >> 2];
+  h = q[d + 80 >> 2];
+  q[d + 48 >> 2] = h;
+  q[d + 52 >> 2] = c;
+  q[d + 16 >> 2] = h;
+  q[d + 20 >> 2] = c;
+  q[d + 24 >> 2] = e;
+  q[d + 28 >> 2] = a;
+  a = q[d + 76 >> 2];
+  c = q[d + 72 >> 2];
+  q[d + 40 >> 2] = c;
+  q[d + 44 >> 2] = a;
+  q[d + 64 >> 2] = 254776;
+  q[d + 8 >> 2] = c;
+  q[d + 12 >> 2] = a;
+  c = ID(f, b, d + 8 | 0);
+ }
+ Ca = d + 96 | 0;
+ return c;
+}
+function ms(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  i = q[b + 4 >> 2];
+  if (i >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 10) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  if (g >>> 0 < 6) {
+   break a;
+  }
+  h = r[a + 3 | 0];
+  j = r[a + 2 | 0];
+  d = h | j << 8;
+  if (4294967295 / (g >>> 0) >>> 0 <= d >>> 0) {
+   break a;
+  }
+  g = w(d, g);
+  if (g) {
+   d = a + 10 | 0;
+   if (i >>> 0 > d >>> 0 | f >>> 0 < d >>> 0 | f - d >>> 0 < g >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   h = r[a + 3 | 0];
+   j = r[a + 2 | 0];
+   d = h | j << 8;
+  }
+  f = 0;
+  b : {
+   if (!d) {
+    break b;
+   }
+   g = w(d + -1 | 0, r[a + 1 | 0] | r[a | 0] << 8) + a | 0;
+   e = g + 10 | 0;
+   if ((r[e | 0] << 8 | r[g + 11 | 0]) != 65535) {
+    break b;
+   }
+   f = (r[e + 3 | 0] | r[e + 2 | 0] << 8) == 65535 ? -1 : 0;
+  }
+  i = d + f | 0;
+  if (!i) {
+   return 1;
+  }
+  g = a + 10 | 0;
+  f = 0;
+  while (1) {
+   h = j << 8 | h;
+   d = 0;
+   c : {
+    if (!h) {
+     break c;
+    }
+    e = g + w(h + -1 | 0, r[a + 1 | 0] | r[a | 0] << 8) | 0;
+    d = 0;
+    if ((r[e | 0] << 8 | r[e + 1 | 0]) != 65535) {
+     break c;
+    }
+    d = (r[e + 3 | 0] | r[e + 2 | 0] << 8) == 65535 ? -1 : 0;
+   }
+   d = d + h >>> 0 <= f >>> 0 ? 271040 : g + w(r[a + 1 | 0] | r[a | 0] << 8, f) | 0;
+   if (t[b + 4 >> 2] > d >>> 0) {
+    break a;
+   }
+   e = q[b + 8 >> 2];
+   if (e >>> 0 < d >>> 0 | e - d >>> 0 < 6) {
+    break a;
+   }
+   e = q[c >> 2];
+   h = q[b + 12 >> 2];
+   q[b + 12 >> 2] = h + -1;
+   if ((h | 0) < 1) {
+    break a;
+   }
+   if (!ls(d + 4 | 0, b, e)) {
+    break a;
+   }
+   f = f + 1 | 0;
+   if ((i | 0) == (f | 0)) {
+    return 1;
+   } else {
+    h = r[a + 3 | 0];
+    j = r[a + 2 | 0];
+    continue;
+   }
+  }
+ }
+ return 0;
+}
+function Qk(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = Ca - 48 | 0;
+ Ca = e;
+ g = q[a + 4 >> 2];
+ o[b + 557 | 0] = 0;
+ q[b + 560 >> 2] = a;
+ if (!(!q[b + 116 >> 2] | !q[b + 120 >> 2])) {
+  f = Z$(b + 188 | 0, 0, 364);
+  q[b + 528 >> 2] = 3932;
+  q[b + 520 >> 2] = -1;
+  q[b + 392 >> 2] = 1;
+  q[b + 588 >> 2] = d;
+  q[b + 584 >> 2] = c;
+  q[b + 552 >> 2] = b;
+  q[b + 384 >> 2] = 2596864;
+  q[b + 388 >> 2] = 7;
+  h = r[a + 32 | 0];
+  c = 97;
+  a : {
+   if (!h) {
+    break a;
+   }
+   c = q[a + 1556 >> 2] + 1 | 0;
+  }
+  i = q[a >> 2];
+  d = q[i >> 2];
+  j = q[b + 176 >> 2];
+  q[e + 12 >> 2] = 0;
+  q[e + 16 >> 2] = 0;
+  q[e + 20 >> 2] = 0;
+  q[e + 24 >> 2] = 0;
+  q[e + 4 >> 2] = 0;
+  q[e + 8 >> 2] = 0;
+  q[e + 32 >> 2] = f;
+  q[e + 28 >> 2] = h ? 20480 : 8192;
+  q[e >> 2] = i;
+  q[e + 36 >> 2] = j;
+  f = Te(d, 4, 0, c, 0, e + 44 | 0);
+  q[e + 16 >> 2] = f;
+  b : {
+   c : {
+    if (!q[e + 44 >> 2]) {
+     q[e + 20 >> 2] = f;
+     q[e + 24 >> 2] = c;
+     break c;
+    }
+    Qe(d, f);
+    f = 0;
+    q[e + 16 >> 2] = 0;
+    if (q[e + 44 >> 2]) {
+     break b;
+    }
+   }
+   f = yg(g, q[b + 116 >> 2] + q[a + 12 >> 2] | 0);
+   if (f) {
+    break b;
+   }
+   f = Kg(g, q[b + 120 >> 2]);
+   if (f) {
+    break b;
+   }
+   f = Rk(e, q[g + 32 >> 2], q[g + 36 >> 2]);
+   Ng(g);
+   if (f) {
+    break b;
+   }
+   o[b + 188 | 0] = r[b + 188 | 0] & 254;
+   a = b;
+   c = q[b + 532 >> 2];
+   d : {
+    e : {
+     if ((c | 0) <= -1) {
+      c = 0 - c | 0;
+      break e;
+     }
+     if (c) {
+      break d;
+     }
+     c = 987654321;
+    }
+    q[a + 532 >> 2] = c;
+   }
+   if (t[b + 388 >> 2] >= 1001) {
+    q[b + 388 >> 2] = 7;
+   }
+   f = 0;
+   if (t[b + 392 >> 2] < 1001) {
+    break b;
+   }
+   q[b + 392 >> 2] = 1;
+  }
+  q[b + 600 >> 2] = 0;
+  q[b + 596 >> 2] = q[b + 592 >> 2];
+  Qe(q[q[e >> 2] >> 2], q[e + 16 >> 2]);
+  q[e + 16 >> 2] = 0;
+ }
+ Ca = e + 48 | 0;
+ return f | 0;
+}
+function wy(a, b, c, d, e, f, g, h, i) {
+ var j = 0, k = 0, l = 0, m = 0, n = 0, s = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0;
+ k = Ca - 144 | 0;
+ Ca = k;
+ y = (h ? 2 : 0) | g | (i ? 4 : 0);
+ b = w(c, 12) + b | 0;
+ l = b + 36 | 0;
+ m = b + 28 | 0;
+ n = b + 32 | 0;
+ b = q[67761];
+ z = b;
+ s = q[67760];
+ h = (b & 65535) << 16 | s >>> 16;
+ u = q[(c << 2) + 236136 >> 2];
+ A = kt(q[a >> 2], u);
+ while (1) {
+  a : {
+   q[k + 12 >> 2] = 32;
+   it(q[a >> 2], u, d, e, v, k + 12 | 0, k + 16 | 0);
+   c = 0;
+   b = q[k + 12 >> 2];
+   if (!b) {
+    break a;
+   }
+   while (1) {
+    x = (k + 16 | 0) + (c << 2) | 0;
+    if (t[x >> 2] < A >>> 0) {
+     b : {
+      c : {
+       d : {
+        g = q[m >> 2];
+        if ((g | 0) >= 0) {
+         b = g;
+         i = q[n >> 2];
+         j = i + 1 | 0;
+         j = (j | 0) > 0 ? j : 0;
+         if (b >>> 0 >= j >>> 0) {
+          break c;
+         }
+         while (1) {
+          b = ((b >>> 1 | 0) + b | 0) + 8 | 0;
+          if (b >>> 0 <= j >>> 0) {
+           continue;
+          }
+          break;
+         }
+         if (!(b >>> 0 < g >>> 0 | b >>> 0 > 536870910)) {
+          g = O$(q[l >> 2], b << 3);
+          if (g) {
+           break d;
+          }
+         }
+         q[m >> 2] = -1;
+        }
+        q[160656] = s;
+        q[160657] = z;
+        b = 642624;
+        g = h;
+        break b;
+       }
+       q[l >> 2] = g;
+       q[m >> 2] = b;
+       i = q[n >> 2];
+      }
+      if (j >>> 0 > i >>> 0) {
+       Z$(q[l >> 2] + (i << 3) | 0, 0, j - i << 3);
+      }
+      q[n >> 2] = j;
+      g = q[l >> 2] + (j << 3) | 0;
+      b = g + -8 | 0;
+      g = r[g + -6 | 0];
+     }
+     q[b + 4 >> 2] = f;
+     i = q[x >> 2];
+     o[b + 2 | 0] = g & 248 | y;
+     p[b >> 1] = i;
+     b = q[k + 12 >> 2];
+    }
+    c = c + 1 | 0;
+    if (c >>> 0 < b >>> 0) {
+     continue;
+    }
+    break;
+   }
+   v = b + v | 0;
+   if ((b | 0) == 32) {
+    continue;
+   }
+  }
+  break;
+ }
+ Ca = k + 144 | 0;
+}
+function Cm(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ a : {
+  if (!(b ? a : 0)) {
+   e = 40;
+   q[d + 8 >> 2] = 40;
+   break a;
+  }
+  g = q[b + 28 >> 2];
+  b : {
+   e = yg(b, 0);
+   c : {
+    if (e) {
+     break c;
+    }
+    e = zg(b, d + 14 | 0, 2);
+    if (e) {
+     break c;
+    }
+    e = 3;
+    if (r[d + 14 | 0] != 31) {
+     break c;
+    }
+    if (r[d + 15 | 0] == 157) {
+     break b;
+    }
+   }
+   q[d + 8 >> 2] = e;
+   break a;
+  }
+  q[d + 8 >> 2] = 0;
+  c = a;
+  q[c + 24 >> 2] = 0;
+  q[c + 28 >> 2] = 0;
+  q[c + 32 >> 2] = 0;
+  q[c + 36 >> 2] = 0;
+  q[c + 16 >> 2] = 0;
+  q[c + 20 >> 2] = 0;
+  q[c + 8 >> 2] = 0;
+  q[c + 12 >> 2] = 0;
+  q[c >> 2] = 0;
+  q[c + 4 >> 2] = 0;
+  q[c + 28 >> 2] = g;
+  c = Oe(g, 4292, d + 8 | 0);
+  e = q[d + 8 >> 2];
+  if (!e) {
+   q[c >> 2] = b;
+   q[c + 4 >> 2] = a;
+   f = q[a + 28 >> 2];
+   h = c + 4280 | 0;
+   q[c + 4288 >> 2] = h;
+   q[c + 8 >> 2] = f;
+   q[c + 4284 >> 2] = h;
+   q[c + 4280 >> 2] = 0;
+   d : {
+    f = yg(b, 0);
+    e : {
+     if (f) {
+      break e;
+     }
+     f = zg(b, d + 14 | 0, 2);
+     if (f) {
+      break e;
+     }
+     f = 3;
+     if (r[d + 14 | 0] != 31) {
+      break e;
+     }
+     if (r[d + 15 | 0] == 157) {
+      break d;
+     }
+    }
+    q[d + 8 >> 2] = f;
+    Qe(g, c);
+    e = q[d + 8 >> 2];
+    break a;
+   }
+   Z$(c + 20 | 0, 0, 156);
+   q[c + 176 >> 2] = b;
+   b = q[b + 28 >> 2];
+   q[c + 100 >> 2] = c + 112;
+   q[c + 96 >> 2] = 0;
+   q[c + 88 >> 2] = 0;
+   q[c + 92 >> 2] = 0;
+   q[c + 180 >> 2] = b;
+   q[c + 104 >> 2] = 0;
+   q[c + 108 >> 2] = 64;
+   q[c + 48 >> 2] = 0;
+   q[c + 36 >> 2] = 0;
+   q[c + 40 >> 2] = 0;
+   o[c + 44 | 0] = 0;
+   q[c + 64 >> 2] = 9;
+   q[c + 12 >> 2] = 0;
+   q[c + 16 >> 2] = 0;
+   q[d + 8 >> 2] = 0;
+   q[a + 12 >> 2] = c;
+  }
+  q[a + 8 >> 2] = 0;
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 2147483647;
+  q[a + 24 >> 2] = 273;
+  q[a + 20 >> 2] = 274;
+ }
+ Ca = d + 16 | 0;
+ return e;
+}
+function nw(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  h = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  b : {
+   if (!d) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < d >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (!d) {
+    break b;
+   }
+   c : {
+    d : {
+     c = c + d | 0;
+     if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 2) {
+      break d;
+     }
+     q[b + 12 >> 2] = f + -3;
+     if ((f | 0) < 3) {
+      break d;
+     }
+     d = r[c + 1 | 0] | r[c | 0] << 8;
+     if (!d) {
+      break b;
+     }
+     i = g;
+     g = c + 2 | 0;
+     if (i >>> 0 > g >>> 0 | e >>> 0 < g >>> 0 | e - g >>> 0 < d << 2 >>> 0) {
+      break d;
+     }
+     q[b + 12 >> 2] = f + -4;
+     if ((f | 0) < 4) {
+      break d;
+     }
+     f = r[c + 1 | 0] | r[c | 0] << 8;
+     if (!f) {
+      break b;
+     }
+     e = 0;
+     while (1) {
+      if (!pw((c + (e << 2) | 0) + 2 | 0, b, c)) {
+       break d;
+      }
+      e = e + 1 | 0;
+      if ((f | 0) != (e | 0)) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    }
+    c = q[b + 24 >> 2];
+    if (c >>> 0 > 31) {
+     break a;
+    }
+    q[b + 24 >> 2] = c + 1;
+    h = 0;
+    if (!r[b + 20 | 0]) {
+     break b;
+    }
+    o[a | 0] = 0;
+    o[a + 1 | 0] = 0;
+    o[a + 2 | 0] = 0;
+    o[a + 3 | 0] = 0;
+   }
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function Xf(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = 6;
+ a : {
+  if (!a | !c) {
+   break a;
+  }
+  g = q[c >> 2];
+  if (!g) {
+   break a;
+  }
+  i = q[g + 100 >> 2];
+  h = q[a >> 2];
+  b : {
+   c : {
+    if ((h | 0) <= 0) {
+     if (!h) {
+      break c;
+     }
+     break b;
+    }
+    e = n[q[i + 4 >> 2]](i, h) | 0;
+    if (!e) {
+     e = 64;
+     break b;
+    }
+    f = Z$(e, 0, h);
+   }
+   e = q[c + 4 >> 2];
+   q[f >> 2] = q[c >> 2];
+   q[f + 4 >> 2] = e;
+   q[f + 8 >> 2] = q[c + 8 >> 2];
+   q[f + 12 >> 2] = a;
+   d : {
+    a = q[a + 4 >> 2];
+    if (a) {
+     e = n[a](f, b) | 0;
+     if (e) {
+      break d;
+     }
+    }
+    a = q[g + 36 >> 2];
+    b = a + 1 | 0;
+    if ((a | b) < 0) {
+     e = 6;
+     break d;
+    }
+    h = q[g + 40 >> 2];
+    e : {
+     f : {
+      g : {
+       if (!b) {
+        c = 0;
+        if (!h) {
+         break g;
+        }
+        n[q[i + 8 >> 2]](i, h);
+        q[g + 40 >> 2] = 0;
+        break e;
+       }
+       e = 10;
+       if ((a | 0) > 536870910) {
+        break d;
+       }
+       h : {
+        if (!a) {
+         c = n[q[i + 4 >> 2]](i, b << 2) | 0;
+         e = !c << 6;
+         break h;
+        }
+        b = n[q[i + 12 >> 2]](i, a << 2, b << 2, h) | 0;
+        c = b ? b : h;
+        e = !b << 6;
+       }
+       if (e | !c) {
+        break f;
+       }
+       a = (a << 2) + c | 0;
+       o[a | 0] = 0;
+       o[a + 1 | 0] = 0;
+       o[a + 2 | 0] = 0;
+       o[a + 3 | 0] = 0;
+      }
+      q[g + 40 >> 2] = c;
+      break e;
+     }
+     q[g + 40 >> 2] = c;
+     if (e) {
+      break d;
+     }
+    }
+    a = q[g + 36 >> 2];
+    q[g + 36 >> 2] = a + 1;
+    q[(a << 2) + c >> 2] = f;
+    e = 0;
+    break b;
+   }
+   a = q[q[f >> 2] + 100 >> 2];
+   b = q[q[f + 12 >> 2] + 8 >> 2];
+   if (b) {
+    n[b](f);
+   }
+   n[q[a + 8 >> 2]](a, f);
+   f = 0;
+  }
+  if (!d) {
+   break a;
+  }
+  q[d >> 2] = f;
+ }
+ return e | 0;
+}
+function aN(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = Ca - 48 | 0;
+ Ca = f;
+ d = q[b + 44 >> 2];
+ a : {
+  if (!d | !r[d | 0]) {
+   break a;
+  }
+  g = eZ(d, 59);
+  b = 0;
+  b : {
+   if (!g) {
+    break b;
+   }
+   c = g + 1 | 0;
+   g = T_(c);
+   e = eZ(c, 59);
+   b = 1;
+   if (!e) {
+    break b;
+   }
+   c = e + 1 | 0;
+   e = T_(c);
+   c = eZ(c, 59);
+   b = 2;
+   if (!c) {
+    break b;
+   }
+   b = c + 1 | 0;
+   h = T_(b);
+   b = eZ(b, 59) ? 4 : 3;
+  }
+  if (!jZ(d, 356104, 7)) {
+   h = 1;
+   c : {
+    d : {
+     if (b >>> 0 <= 1) {
+      if (!(b - 1)) {
+       break d;
+      }
+      a = q[a >> 2];
+      q[f >> 2] = d;
+      Yd(a, 6, 356112, f);
+      break a;
+     }
+     if (!e) {
+      break c;
+     }
+    }
+    h = 0;
+   }
+   q[a + 496 >> 2] = h;
+   c = q[a + 208 >> 2];
+   b = q[c >> 2];
+   c = q[c + 4 >> 2];
+   q[a + 288 >> 2] = 2;
+   e = a;
+   d = q[a + 168 >> 2];
+   c = q[a + 172 >> 2] - ((d >>> 0 < b >>> 0) + c | 0) | 0;
+   a = g ? g : 1;
+   j = e, k = U0(d - b | 0, c, a, a >> 31), q[j + 500 >> 2] = k;
+   break a;
+  }
+  e : {
+   c = a;
+   i = 3;
+   f : {
+    if (!jZ(d, 356139, 10)) {
+     break f;
+    }
+    if (jZ(d, 356150, 12)) {
+     break e;
+    }
+    i = 2;
+   }
+   q[c + 496 >> 2] = i;
+   if (b >>> 0 <= 2) {
+    a = q[a >> 2];
+    q[f + 16 >> 2] = d;
+    Yd(a, 6, 356112, f + 16 | 0);
+    break a;
+   }
+   b = q[a + 168 >> 2];
+   c = q[a + 208 >> 2];
+   d = q[c >> 2];
+   i = b - d | 0;
+   c = q[a + 172 >> 2] - (q[c + 4 >> 2] + (b >>> 0 < d >>> 0) | 0) | 0;
+   b = h ? h : 1;
+   j = a, k = U0(i, c, b, b >> 31), q[j + 500 >> 2] = k;
+   b = (g | 0) < (e | 0);
+   d = b ? g : e;
+   c = a;
+   b = b ? e : g;
+   if (!b) {
+    b = q[q[a + 160 >> 2] + 40 >> 2];
+   }
+   q[c + 412 >> 2] = b;
+   q[a + 404 >> 2] = d;
+   o[a + 417 | 0] = 0;
+   q[a + 288 >> 2] = 3;
+   break a;
+  }
+  a = q[a >> 2];
+  q[f + 32 >> 2] = d;
+  Yd(a, 7, 356163, f + 32 | 0);
+ }
+ Ca = f + 48 | 0;
+}
+function Em(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  b : {
+   c : {
+    a = q[a + 12 >> 2];
+    f = q[a + 4280 >> 2];
+    if (f >>> 0 > b >>> 0) {
+     f = f - b | 0;
+     e = q[a + 4284 >> 2];
+     if (f >>> 0 <= (e - a | 0) + -184 >>> 0) {
+      q[a + 4280 >> 2] = b;
+      q[a + 4284 >> 2] = e - f;
+      break c;
+     }
+     f = 0;
+     if (yg(q[a >> 2], 0)) {
+      break a;
+     }
+     q[a + 12 >> 2] = 0;
+     q[a + 16 >> 2] = 0;
+     q[a + 4280 >> 2] = 0;
+     q[a + 104 >> 2] = 0;
+     q[a + 48 >> 2] = 0;
+     q[a + 36 >> 2] = 0;
+     q[a + 40 >> 2] = 0;
+     o[a + 44 | 0] = 0;
+     q[a - -64 >> 2] = 9;
+     e = a + 4280 | 0;
+     q[a + 4288 >> 2] = e;
+     q[a + 4284 >> 2] = e;
+    }
+    if (f >>> 0 >= b >>> 0) {
+     break c;
+    }
+    g = q[a + 4284 >> 2];
+    h = q[a + 4288 >> 2] - g | 0;
+    e = b - f | 0;
+    b = h >>> 0 < e >>> 0 ? h : e;
+    q[a + 4284 >> 2] = b + g;
+    q[a + 4280 >> 2] = b + f;
+    b = e - b | 0;
+    if (b) {
+     g = a + 12 | 0;
+     while (1) {
+      f = 0;
+      e = b >>> 0 < 4096 ? b : 4096;
+      if (Fm(g, 0, e) >>> 0 < e >>> 0) {
+       break a;
+      }
+      q[a + 4280 >> 2] = e + q[a + 4280 >> 2];
+      b = b - e | 0;
+      if (b) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (d) {
+     break b;
+    }
+    return 0;
+   }
+   if (d) {
+    break b;
+   }
+   return 0;
+  }
+  g = a + 184 | 0;
+  i = a + 12 | 0;
+  e = q[a + 4284 >> 2];
+  b = q[a + 4288 >> 2];
+  f = 0;
+  while (1) {
+   b = b - e | 0;
+   b = b >>> 0 < d >>> 0 ? b : d;
+   Y$(c + f | 0, e, b);
+   q[a + 4284 >> 2] = b + q[a + 4284 >> 2];
+   q[a + 4280 >> 2] = b + q[a + 4280 >> 2];
+   f = b + f | 0;
+   d = d - b | 0;
+   if (!d) {
+    break a;
+   }
+   q[a + 4284 >> 2] = g;
+   h = Fm(i, g, 4096);
+   e = q[a + 4284 >> 2];
+   b = h + e | 0;
+   q[a + 4288 >> 2] = b;
+   if (h) {
+    continue;
+   }
+   break;
+  }
+ }
+ return f | 0;
+}
+function hC(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, p = 0, r = 0, s = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ q[e + 4 >> 2] = 0;
+ a = q[b + 72 >> 2];
+ o = n[q[a + 156 >> 2]](b, q[b + 76 >> 2], 32, e + 4 | 0, q[a + 20 >> 2]) | 0;
+ tG(c);
+ i = q[c + 48 >> 2];
+ j = q[c + 76 >> 2];
+ if (j) {
+  k = q[c + 96 >> 2];
+  l = q[c + 88 >> 2];
+  p = i & -2;
+  d = 0;
+  while (1) {
+   a : {
+    b : {
+     if (!o) {
+      break b;
+     }
+     a = w(d, 20);
+     g = a + l | 0;
+     if (!SE(q[g >> 2])) {
+      break b;
+     }
+     q[g >> 2] = q[e + 4 >> 2];
+     a = a + k | 0;
+     q[a >> 2] = 0;
+     q[a + 4 >> 2] = 0;
+     break a;
+    }
+    a = w(d, 20);
+    g = a + l | 0;
+    f = q[g >> 2];
+    q[g >> 2] = 0;
+    h = f;
+    f = q[b + 72 >> 2];
+    n[q[f + 156 >> 2]](b, q[b + 76 >> 2], h, g, q[f + 20 >> 2]) | 0;
+    m = q[g >> 2];
+    a = a + k | 0;
+    q[a >> 2] = 0;
+    q[a + 4 >> 2] = 0;
+    f = q[b + 72 >> 2];
+    h = (p | 0) != 4;
+    c : {
+     if (!h) {
+      r = a, s = n[q[f + 168 >> 2]](b, q[b + 76 >> 2], m, q[f + 32 >> 2]) | 0, q[r >> 2] = s;
+      break c;
+     }
+     r = a, s = n[q[f + 172 >> 2]](b, q[b + 76 >> 2], m, q[f + 36 >> 2]) | 0, q[r + 4 >> 2] = s;
+    }
+    f = a + 12 | 0;
+    a = a + 8 | 0;
+    g = q[g >> 2];
+    d : {
+     if (!h) {
+      hu(b, g, e + 12 | 0, e + 8 | 0);
+      break d;
+     }
+     iu(b, g, e + 12 | 0, e + 8 | 0);
+    }
+    q[a >> 2] = q[a >> 2] - q[e + 12 >> 2];
+    q[f >> 2] = q[f >> 2] - q[e + 8 >> 2];
+   }
+   d = d + 1 | 0;
+   if ((j | 0) != (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ if ((i & -3) == 5) {
+  AG(c);
+ }
+ a = q[c + 76 >> 2];
+ if (a) {
+  c = q[c + 88 >> 2];
+  b = 0;
+  while (1) {
+   d = c + w(b, 20) | 0;
+   q[d + 4 >> 2] = q[d + 4 >> 2] & -2;
+   b = b + 1 | 0;
+   if ((a | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = e + 16 | 0;
+ return 1;
+}
+function RR(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ if ((a | 0) == (b | 0)) {
+  return 1;
+ }
+ if (!(!a | !b)) {
+  k = q[a + 4 >> 2];
+  a : {
+   if ((k | 0) < 1) {
+    break a;
+   }
+   j = q[b + 4 >> 2];
+   l = j + -1 | 0;
+   while (1) {
+    if ((d | 0) >= (j | 0)) {
+     break a;
+    }
+    g = s[(q[a + 12 >> 2] + a | 0) + (i << 1) >> 1];
+    h = q[b + 12 >> 2] + b | 0;
+    c = s[h + (d << 1) >> 1];
+    b : {
+     if ((g | 0) == (c | 0)) {
+      c : {
+       c = q[a + 8 >> 2] + a | 0;
+       c = q[c + (i << 2) >> 2] + c | 0;
+       e = q[b + 8 >> 2] + b | 0;
+       f = q[e + (d << 2) >> 2] + e | 0;
+       if ((c | 0) == (f | 0)) {
+        break c;
+       }
+       g = 8;
+       while (1) {
+        if (!g) {
+         break c;
+        }
+        g = g + -1 | 0;
+        h = q[f >> 2];
+        e = q[c >> 2];
+        c = c + 4 | 0;
+        f = f + 4 | 0;
+        if (!(e & (h ^ -1))) {
+         continue;
+        }
+        break;
+       }
+       return 0;
+      }
+      d = d + 1 | 0;
+      i = i + 1 | 0;
+      break b;
+     }
+     if (g >>> 0 < c >>> 0) {
+      return 0;
+     }
+     if (!h) {
+      d = 0;
+      break b;
+     }
+     c = l;
+     f = d + 1 | 0;
+     d : {
+      if ((j | 0) > (f | 0)) {
+       while (1) {
+        e = c + f | 0;
+        d = e >> 1;
+        e = s[h + (e & -2) >> 1];
+        if ((e | 0) == (g | 0)) {
+         break d;
+        }
+        e = e >>> 0 < g >>> 0;
+        f = e ? d + 1 | 0 : f;
+        c = e ? c : d + -1 | 0;
+        if ((f | 0) <= (c | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      if (!((c | 0) >= (j | 0) | s[h + (c << 1) >> 1] >= g >>> 0 ? (c | 0) >= 0 : 0)) {
+       c = c + 1 | 0;
+      }
+      d = c ^ -1;
+     }
+     if ((d | 0) > -1) {
+      break b;
+     }
+     d = d ^ -1;
+    }
+    if ((i | 0) < (k | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = (i | 0) >= (k | 0);
+ }
+ return c;
+}
+function KD(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, t = 0, u = 0, v = 0;
+ g = Ca - 32 | 0;
+ Ca = g;
+ a : {
+  if (!HD(b, a, 2)) {
+   break a;
+  }
+  i = q[c + 4 >> 2];
+  if (!HD(b, a, 2)) {
+   break a;
+  }
+  f = (i << 8 & 16711680 | i << 24) >>> 16 | 0;
+  o[a | 0] = f;
+  o[a + 1 | 0] = f >>> 8;
+  k = (i & 65280) >>> 8 | 0;
+  f = i;
+  h = f;
+  b : {
+   if (f >>> 0 < 65536) {
+    break b;
+   }
+   h = i;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[b + 20 | 0] = 0;
+   k = r[a | 0];
+   h = r[a + 1 | 0];
+  }
+  f = h;
+  if (!HD(b, a, ((k & 255) << 9 | (f & 255) << 1) + 2 | 0)) {
+   break a;
+  }
+  j = 1;
+  if (!i) {
+   break a;
+  }
+  k = q[c >> 2];
+  m = s[135520];
+  n = q[d >> 2];
+  t = q[d + 4 >> 2];
+  c = 0;
+  while (1) {
+   d = q[(t >>> 0 > c >>> 0 ? (c << 2) + n | 0 : 271040) >> 2];
+   d = (d | 0) > 0 ? d + -1 | 0 : 0;
+   c : {
+    if ((r[a + 1 | 0] | r[a | 0] << 8) >>> 0 <= c >>> 0) {
+     p[321312] = m;
+     f = 642624;
+     break c;
+    }
+    f = ((c << 1) + a | 0) + 2 | 0;
+   }
+   l = q[b + 4 >> 2];
+   j = l - a | 0;
+   h = (j << 24 | j << 8 & 16711680) >>> 16 | 0;
+   o[f | 0] = h;
+   o[f + 1 | 0] = h >>> 8;
+   if (!(!r[b + 20 | 0] | j >>> 0 < 65536)) {
+    o[b + 20 | 0] = 0;
+   }
+   f = i >>> 0 > c >>> 0 ? (c << 1) + k | 0 : 271040;
+   h = r[f + 1 | 0];
+   u = r[f | 0];
+   v = q[e >> 2];
+   f = q[e + 4 >> 2];
+   j = 0;
+   q[g + 8 >> 2] = 0;
+   q[g + 20 >> 2] = f >>> 0 > d >>> 0 ? d : f;
+   q[g + 16 >> 2] = v;
+   q[g + 24 >> 2] = 0;
+   f = q[g + 20 >> 2];
+   q[g >> 2] = q[g + 16 >> 2];
+   q[g + 4 >> 2] = f;
+   if (!MD(l, b, u << 8 | h, g)) {
+    break a;
+   }
+   f = q[e + 4 >> 2];
+   d = f >>> 0 < d >>> 0 ? f : d;
+   q[e + 4 >> 2] = f - d;
+   q[e + 8 >> 2] = d + q[e + 8 >> 2];
+   j = 1;
+   q[e >> 2] = q[e >> 2] + (d << 1);
+   c = c + 1 | 0;
+   if ((i | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = g + 32 | 0;
+ return j;
+}
+function yJ(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ c = q[a >> 2];
+ q[e + 12 >> 2] = c;
+ a : {
+  b : {
+   if (c >>> 0 >= b >>> 0) {
+    break b;
+   }
+   while (1) {
+    g = 0;
+    d = r[c | 0];
+    h = d + -37 | 0;
+    c : {
+     if (h >>> 0 > 23) {
+      d = d + -123 | 0;
+      if (d >>> 0 > 2) {
+       break c;
+      }
+      d : {
+       switch (d - 1 | 0) {
+       default:
+        f = f + 1 | 0;
+        break c;
+       case 0:
+        break c;
+       case 1:
+        break d;
+       }
+      }
+      f = f + -1 | 0;
+      if (f) {
+       break c;
+      }
+      c = c + 1 | 0;
+      q[e + 12 >> 2] = c;
+      break b;
+     }
+     e : {
+      switch (h - 1 | 0) {
+      default:
+       f : {
+        while (1) {
+         g : {
+          d = d + -10 | 0;
+          if (d >>> 0 > 3) {
+           break g;
+          }
+          switch (d - 1 | 0) {
+          case 0:
+          case 1:
+           break g;
+          default:
+           break f;
+          }
+         }
+         c = c + 1 | 0;
+         if ((c | 0) != (b | 0)) {
+          d = r[c | 0];
+          continue;
+         }
+         break;
+        }
+        c = b;
+       }
+       q[e + 12 >> 2] = c;
+       break c;
+      case 22:
+       g = AJ(e + 12 | 0, b);
+       break c;
+      case 0:
+      case 1:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 8:
+      case 9:
+      case 10:
+      case 11:
+      case 12:
+      case 13:
+      case 14:
+      case 15:
+      case 16:
+      case 17:
+      case 18:
+      case 19:
+      case 20:
+      case 21:
+       break c;
+      case 2:
+       break e;
+      }
+     }
+     g = zJ(e + 12 | 0, b);
+    }
+    c = q[e + 12 >> 2] + 1 | 0;
+    q[e + 12 >> 2] = c;
+    if (c >>> 0 < b >>> 0 ? !g : 0) {
+     continue;
+    }
+    break;
+   }
+   b = 3;
+   if (f) {
+    break a;
+   }
+  }
+  b = g;
+ }
+ q[a >> 2] = c;
+ Ca = e + 16 | 0;
+ return b;
+}
+function vp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, p = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ f = n[q[a + 516 >> 2]](a, 1801810542, b, h + 12 | 0) | 0;
+ a : {
+  if (f) {
+   break a;
+  }
+  f = 142;
+  c = q[h + 12 >> 2];
+  if (c >>> 0 < 4) {
+   break a;
+  }
+  f = Jg(b, c, a + 808 | 0);
+  if (f) {
+   break a;
+  }
+  c = q[h + 12 >> 2];
+  q[a + 812 >> 2] = c;
+  f = 0;
+  b = q[a + 808 >> 2];
+  g = r[b + 2 | 0] << 8 | r[b + 3 | 0];
+  g = g >>> 0 < 32 ? g : 32;
+  b : {
+   if (!g) {
+    break b;
+   }
+   k = b + c | 0;
+   c = b + 4 | 0;
+   while (1) {
+    b = c;
+    if (b + 6 >>> 0 > k >>> 0) {
+     break b;
+    }
+    c = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+    if (c >>> 0 < 15) {
+     break b;
+    }
+    d = b + 14 | 0;
+    c = b + c | 0;
+    c = c >>> 0 > k >>> 0 ? k : c;
+    c : {
+     if (r[b + 4 | 0] | d >>> 0 > c >>> 0 | (r[b + 5 | 0] & 3) != 1) {
+      break c;
+     }
+     l = 1 << i;
+     m = l | m;
+     d = c - d | 0;
+     e = r[b + 7 | 0] | r[b + 6 | 0] << 8;
+     j = (d | 0) < (w(e, 6) | 0) ? (d | 0) / 6 | 0 : e;
+     if (!j) {
+      break c;
+     }
+     d = r[b + 14 | 0] | r[b + 15 | 0] << 8 | (r[b + 16 | 0] << 16 | r[b + 17 | 0] << 24);
+     d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+     e = b + 20 | 0;
+     while (1) {
+      j = j + -1 | 0;
+      if (j) {
+       b = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+       b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+       p = b >>> 0 > d >>> 0;
+       e = e + 6 | 0;
+       d = b;
+       if (p) {
+        continue;
+       }
+       break c;
+      }
+      break;
+     }
+     o = o | l;
+    }
+    i = i + 1 | 0;
+    if ((g | 0) != (i | 0)) {
+     continue;
+    }
+    break;
+   }
+   i = g;
+  }
+  q[a + 824 >> 2] = o;
+  q[a + 820 >> 2] = m;
+  q[a + 816 >> 2] = i;
+ }
+ Ca = h + 16 | 0;
+ return f | 0;
+}
+function LH(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ e = w(d, 1348) + a | 0;
+ f = q[e + 44 >> 2];
+ e = q[e + 52 >> 2];
+ c = b ? q[(w(b, 12) + c | 0) + -12 >> 2] : 0;
+ g = q[q[a + 2748 >> 2] + 40 >> 2];
+ b = (g | 0) / 256 | 0;
+ k = (w(g, 6e3) | 0) / 2048 | 0;
+ if ((f | 0) >= 1) {
+  h = w(f, 44) + e | 0;
+  l = g + 255 >>> 0 < 511 ? 1 : b;
+  i = q[(w(d, 1348) + a | 0) + 68 >> 2];
+  b = e;
+  while (1) {
+   if (o[b + 1 | 0] == (i | 0)) {
+    j = p[b + 2 >> 1];
+    a = e;
+    while (1) {
+     f = p[a + 2 >> 1];
+     a : {
+      if ((0 - o[a + 1 | 0] | 0) != (i | 0) | (f | 0) <= (j | 0)) {
+       break a;
+      }
+      g = p[a + 8 >> 1];
+      d = p[b + 8 >> 1];
+      m = (d | 0) > (g | 0) ? g : d;
+      g = p[a + 6 >> 1];
+      d = p[b + 6 >> 1];
+      g = m - ((d | 0) < (g | 0) ? g : d) | 0;
+      if ((g | 0) < (l | 0)) {
+       break a;
+      }
+      d = f - j | 0;
+      f = d;
+      b : {
+       if (!c) {
+        break b;
+       }
+       d = (d << 10) / (c | 0) | 0;
+       f = 32e3;
+       if ((d | 0) > 11024) {
+        break b;
+       }
+       f = 0;
+       if ((d | 0) < 1025) {
+        break b;
+       }
+       d = d + -1024 | 0;
+       f = (w(d, d) >>> 0) / 3e3 | 0;
+      }
+      d = f + ((k | 0) / (g | 0) | 0) | 0;
+      if ((d | 0) < q[b + 28 >> 2]) {
+       q[b + 20 >> 2] = a;
+       q[b + 28 >> 2] = d;
+      }
+      if ((d | 0) >= q[a + 28 >> 2]) {
+       break a;
+      }
+      q[a + 20 >> 2] = b;
+      q[a + 28 >> 2] = d;
+     }
+     a = a + 44 | 0;
+     if (a >>> 0 < h >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = b + 44 | 0;
+   if (b >>> 0 < h >>> 0) {
+    continue;
+   }
+   break;
+  }
+  while (1) {
+   a = q[e + 20 >> 2];
+   if (!(!a | q[a + 20 >> 2] == (e | 0))) {
+    q[e + 20 >> 2] = 0;
+    q[e + 24 >> 2] = q[a + 20 >> 2];
+   }
+   e = e + 44 | 0;
+   if (e >>> 0 < h >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function UO(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0;
+ if (c) {
+  l = d + 12 | 0;
+  h = d << 4;
+  n = h << 1;
+  o = h + 192 << 1;
+  while (1) {
+   d = a;
+   g = 0;
+   k = 0;
+   if (l) {
+    while (1) {
+     q = g >>> 0 < h >>> 0 ? (g << 1) + b | 0 : 437888;
+     f = g + -32 | 0;
+     r = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -64 | 0;
+     t = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -80 | 0;
+     u = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -96 | 0;
+     v = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -112 | 0;
+     x = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -128 | 0;
+     y = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -160 | 0;
+     z = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -192 | 0;
+     A = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     j = 0;
+     while (1) {
+      f = j << 1;
+      i = s[f + v >> 1];
+      p[d + f >> 1] = ((((w(p[e >> 1], (s[f + u >> 1] - i << 16 >> 16) + (s[f + x >> 1] - i << 16 >> 16) | 0) + w(p[e + 2 >> 1], (s[f + t >> 1] - i << 16 >> 16) + (s[f + y >> 1] - i << 16 >> 16) | 0) | 0) + w(p[e + 4 >> 1], (s[f + r >> 1] - i << 16 >> 16) + (s[f + z >> 1] - i << 16 >> 16) | 0) | 0) + w(p[e + 6 >> 1], (s[f + q >> 1] - i << 16 >> 16) + (s[f + A >> 1] - i << 16 >> 16) | 0) | 0) + 32768 >>> 16 | 0) + i;
+      j = j + 1 | 0;
+      if ((j | 0) != 16) {
+       continue;
+      }
+      break;
+     }
+     g = g + 16 | 0;
+     d = d + 32 | 0;
+     k = k + 1 | 0;
+     if ((k | 0) != (l | 0)) {
+      continue;
+     }
+     break;
+    }
+    a = a + o | 0;
+   }
+   b = b + n | 0;
+   m = m + 16 | 0;
+   if (m >>> 0 < c >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function SO(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0;
+ if (c) {
+  l = d + 10 | 0;
+  h = d << 4;
+  n = h << 1;
+  o = h + 160 << 1;
+  while (1) {
+   d = a;
+   g = 0;
+   k = 0;
+   if (l) {
+    while (1) {
+     q = g >>> 0 < h >>> 0 ? (g << 1) + b | 0 : 437888;
+     f = g + -32 | 0;
+     r = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -48 | 0;
+     t = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -64 | 0;
+     u = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -80 | 0;
+     v = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -96 | 0;
+     x = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -112 | 0;
+     y = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -128 | 0;
+     z = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -160 | 0;
+     A = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     j = 0;
+     while (1) {
+      f = j << 1;
+      i = s[f + v >> 1];
+      p[d + f >> 1] = ((((w(p[e >> 1], (s[f + u >> 1] - i << 16 >> 16) + (s[f + x >> 1] - i << 16 >> 16) | 0) + w(p[e + 2 >> 1], (s[f + t >> 1] - i << 16 >> 16) + (s[f + y >> 1] - i << 16 >> 16) | 0) | 0) + w(p[e + 4 >> 1], (s[f + r >> 1] - i << 16 >> 16) + (s[f + z >> 1] - i << 16 >> 16) | 0) | 0) + w(p[e + 6 >> 1], (s[f + q >> 1] - i << 16 >> 16) + (s[f + A >> 1] - i << 16 >> 16) | 0) | 0) + 32768 >>> 16 | 0) + i;
+      j = j + 1 | 0;
+      if ((j | 0) != 16) {
+       continue;
+      }
+      break;
+     }
+     g = g + 16 | 0;
+     d = d + 32 | 0;
+     k = k + 1 | 0;
+     if ((k | 0) != (l | 0)) {
+      continue;
+     }
+     break;
+    }
+    a = a + o | 0;
+   }
+   b = b + n | 0;
+   m = m + 16 | 0;
+   if (m >>> 0 < c >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function QO(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0, t = 0, u = 0, v = 0, x = 0, y = 0, z = 0, A = 0;
+ if (c) {
+  l = d + 8 | 0;
+  h = d << 4;
+  n = h << 1;
+  o = h + 128 << 1;
+  while (1) {
+   d = a;
+   g = 0;
+   k = 0;
+   if (l) {
+    while (1) {
+     q = g >>> 0 < h >>> 0 ? (g << 1) + b | 0 : 437888;
+     f = g + -16 | 0;
+     r = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -32 | 0;
+     t = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -48 | 0;
+     u = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -64 | 0;
+     v = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -80 | 0;
+     x = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -96 | 0;
+     y = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -112 | 0;
+     z = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     f = g + -128 | 0;
+     A = f >>> 0 < h >>> 0 ? (f << 1) + b | 0 : 437888;
+     j = 0;
+     while (1) {
+      f = j << 1;
+      i = s[f + v >> 1];
+      p[d + f >> 1] = ((((w(p[e >> 1], (s[f + u >> 1] - i << 16 >> 16) + (s[f + x >> 1] - i << 16 >> 16) | 0) + w(p[e + 2 >> 1], (s[f + t >> 1] - i << 16 >> 16) + (s[f + y >> 1] - i << 16 >> 16) | 0) | 0) + w(p[e + 4 >> 1], (s[f + r >> 1] - i << 16 >> 16) + (s[f + z >> 1] - i << 16 >> 16) | 0) | 0) + w(p[e + 6 >> 1], (s[f + q >> 1] - i << 16 >> 16) + (s[f + A >> 1] - i << 16 >> 16) | 0) | 0) + 32768 >>> 16 | 0) + i;
+      j = j + 1 | 0;
+      if ((j | 0) != 16) {
+       continue;
+      }
+      break;
+     }
+     g = g + 16 | 0;
+     d = d + 32 | 0;
+     k = k + 1 | 0;
+     if ((k | 0) != (l | 0)) {
+      continue;
+     }
+     break;
+    }
+    a = a + o | 0;
+   }
+   b = b + n | 0;
+   m = m + 16 | 0;
+   if (m >>> 0 < c >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Ft(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0;
+ k = q[a + 76 >> 2];
+ if (k) {
+  m = q[a + 96 >> 2];
+  i = q[a + 88 >> 2];
+  while (1) {
+   o = k;
+   a : {
+    b : {
+     c : {
+      h = w(e, 20);
+      d = h + i | 0;
+      if (n[b](d)) {
+       f = q[d + 8 >> 2];
+       d : {
+        c = e + 1 | 0;
+        if (c >>> 0 < k >>> 0) {
+         if ((f | 0) != q[(w(c, 20) + i | 0) + 8 >> 2]) {
+          break d;
+         }
+         e = c;
+         break a;
+        }
+        if (g) {
+         break c;
+        }
+        break b;
+       }
+       if (g) {
+        break c;
+       }
+       wG(a, e, e + 2 | 0);
+       break b;
+      }
+      if ((g | 0) != (e | 0)) {
+       l = q[d + 4 >> 2];
+       j = w(g, 20);
+       c = j + i | 0;
+       q[c >> 2] = q[d >> 2];
+       q[c + 4 >> 2] = l;
+       q[c + 16 >> 2] = q[d + 16 >> 2];
+       f = q[d + 12 >> 2];
+       q[c + 8 >> 2] = q[d + 8 >> 2];
+       q[c + 12 >> 2] = f;
+       c = j + m | 0;
+       d = h + m | 0;
+       q[c + 16 >> 2] = q[d + 16 >> 2];
+       f = q[d + 12 >> 2];
+       q[c + 8 >> 2] = q[d + 8 >> 2];
+       q[c + 12 >> 2] = f;
+       f = q[d + 4 >> 2];
+       q[c >> 2] = q[d >> 2];
+       q[c + 4 >> 2] = f;
+      }
+      g = g + 1 | 0;
+      e = e + 1 | 0;
+      break a;
+     }
+     j = q[(w(g, 20) + i | 0) + -12 >> 2];
+     e = c;
+     if (f >>> 0 >= j >>> 0) {
+      break a;
+     }
+     l = q[d + 4 >> 2] & 1;
+     d = g;
+     while (1) {
+      d = d + -1 | 0;
+      h = w(d, 20) + i | 0;
+      e = c;
+      if ((j | 0) != q[h + 8 >> 2]) {
+       break a;
+      }
+      e = q[h + 4 >> 2];
+      q[h + 4 >> 2] = l ? e | 1 : e & -2;
+      q[h + 8 >> 2] = f;
+      if (d) {
+       continue;
+      }
+      break;
+     }
+     e = c;
+     break a;
+    }
+    g = 0;
+    e = c;
+   }
+   if ((o | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[a + 76 >> 2] = g;
+}
+function _I(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ f = q[a + 36 >> 2];
+ a : {
+  i = q[a + 48 >> 2];
+  m = b << 3;
+  h = q[(i + m | 0) + 4 >> 2];
+  b : {
+   if ((h | 0) > (e | 0)) {
+    break b;
+   }
+   j = q[i + 4 >> 2];
+   if ((j | 0) < (d | 0)) {
+    break b;
+   }
+   k = q[a + 4 >> 2];
+   g = 0 - k | 0;
+   l = j & g;
+   j = (l | 0) > (e | 0);
+   c : {
+    if ((h | 0) < (d | 0)) {
+     g = d;
+     break c;
+    }
+    g = (h + k | 0) + -1 & g;
+    if (h & k + -1 & 65535) {
+     d = g;
+     break c;
+    }
+    if (r[a + 79 | 0]) {
+     o[a + 79 | 0] = 0;
+     f = f + -4 | 0;
+    }
+    q[f >> 2] = q[(b << 3) + i >> 2];
+    d = g + k | 0;
+    f = f + 4 | 0;
+   }
+   h = j ? e : l;
+   if (r[a + 78 | 0]) {
+    q[q[a + 80 >> 2] + 20 >> 2] = g >> q[a >> 2];
+    o[a + 78 | 0] = 0;
+   }
+   if ((h | 0) < (d | 0)) {
+    break b;
+   }
+   if (((h - d >> q[a >> 2] << 2) + f | 0) + 4 >>> 0 >= t[a + 32 >> 2]) {
+    break a;
+   }
+   k = 0 - b | 0;
+   l = b << 3;
+   e = i;
+   while (1) {
+    o[a + 79 | 0] = 0;
+    b = q[e + 4 >> 2];
+    d : {
+     if ((b | 0) > (d | 0)) {
+      g = b;
+      b = e + l | 0;
+      j = q[b + 4 >> 2];
+      g = g - j | 0;
+      if ((g | 0) >= q[a + 16 >> 2]) {
+       n[c](e);
+       break d;
+      }
+      b = q[b >> 2];
+      q[f >> 2] = ((w(q[e >> 2] - b | 0, d - j | 0) | 0) / (g | 0) | 0) + b;
+      f = f + 4 | 0;
+      d = q[a + 4 >> 2] + d | 0;
+      b = (k << 3) + e | 0;
+      break d;
+     }
+     if ((b | 0) == (d | 0)) {
+      o[a + 79 | 0] = 1;
+      q[f >> 2] = q[e >> 2];
+      f = f + 4 | 0;
+      d = q[a + 4 >> 2] + d | 0;
+     }
+     b = (k << 3) + e | 0;
+    }
+    e = b;
+    if (e >>> 0 >= i >>> 0 ? (d | 0) <= (h | 0) : 0) {
+     continue;
+    }
+    break;
+   }
+   i = q[a + 48 >> 2];
+  }
+  q[a + 36 >> 2] = f;
+  q[a + 48 >> 2] = i - m;
+  return 0;
+ }
+ q[a + 40 >> 2] = 98;
+ q[a + 36 >> 2] = f;
+ return 1;
+}
+function pM(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ e = q[a + 16 >> 2];
+ f = q[e + 24 >> 2] + 39 & -8;
+ g = (n[q[e >> 2]](b, -2128831035) >>> 0) % t[a >> 2] | 0;
+ a : {
+  b : {
+   d = q[q[a + 4 >> 2] + (g << 2) >> 2];
+   if (d) {
+    while (1) {
+     if (n[q[e + 4 >> 2]](b, d + f | 0)) {
+      if (!q[d + 24 >> 2]) {
+       break b;
+      }
+      f = q[d + 20 >> 2];
+      c : {
+       d : {
+        if (f) {
+         c = q[d + 16 >> 2];
+         if (!c) {
+          break c;
+         }
+         q[c + 20 >> 2] = f;
+         q[q[d + 20 >> 2] >> 2] = c;
+         break d;
+        }
+        q[d + 28 >> 2] = q[d + 28 >> 2] + 1;
+       }
+       q[q[a + 12 >> 2] >> 2] = d;
+       q[d + 20 >> 2] = q[a + 12 >> 2];
+       q[a + 12 >> 2] = d + 16;
+       q[d + 16 >> 2] = 0;
+      }
+      q[a + 24 >> 2] = q[a + 24 >> 2] + 1;
+      n[q[e + 8 >> 2]](0, b) | 0;
+      q[d + 28 >> 2] = q[d + 28 >> 2] + 1;
+      return d + 32 | 0;
+     }
+     d = q[d + 8 >> 2];
+     if (d) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[a + 28 >> 2] = q[a + 28 >> 2] + 1;
+   d = L$(f + q[e + 20 >> 2] | 0);
+   if (!d) {
+    n[q[e + 8 >> 2]](0, b) | 0;
+    return 0;
+   }
+   q[d + 4 >> 2] = e;
+   q[d >> 2] = a;
+   f = d + f | 0;
+   if (!n[q[e + 8 >> 2]](f, b)) {
+    M$(d);
+    return 0;
+   }
+   b = f;
+   f = d + 32 | 0;
+   c = n[q[e + 12 >> 2]](b, f, c) | 0;
+   q[d + 24 >> 2] = c;
+   if (!c) {
+    break a;
+   }
+   b = q[a + 4 >> 2] + (g << 2) | 0;
+   e = q[b >> 2];
+   if (e) {
+    q[e + 12 >> 2] = d + 8;
+   }
+   q[d + 12 >> 2] = b;
+   q[d + 8 >> 2] = q[b >> 2];
+   q[b >> 2] = d;
+   q[q[a + 12 >> 2] >> 2] = d;
+   q[d + 20 >> 2] = q[a + 12 >> 2];
+   q[a + 12 >> 2] = d + 16;
+   q[d + 28 >> 2] = 2;
+   q[d + 16 >> 2] = 0;
+   q[a + 20 >> 2] = c + q[a + 20 >> 2];
+   q[a + 32 >> 2] = q[a + 32 >> 2] + 1;
+   return f;
+  }
+  J(355120, 355131, 370, 355143);
+  F();
+ }
+ J(355120, 355131, 405, 355143);
+ F();
+}
+function LX(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0;
+ g = Ca + -64 | 0;
+ Ca = g;
+ a : {
+  if (d) {
+   f = d;
+   while (1) {
+    if (!dR(e, q[f + 8 >> 2])) {
+     i = g, j = eR(e), q[i + 48 >> 2] = j;
+     b = q[126919];
+     j_(b, 503509, g + 48 | 0);
+     a = f + 8 | 0;
+     c = q[a + 12 >> 2];
+     q[g + 40 >> 2] = q[a + 8 >> 2];
+     q[g + 44 >> 2] = c;
+     c = q[a + 4 >> 2];
+     q[g + 32 >> 2] = q[a >> 2];
+     q[g + 36 >> 2] = c;
+     RS(b, g + 32 | 0);
+     BZ(10, b);
+     if (!(r[643388] & 4)) {
+      break a;
+     }
+     f0(503720);
+     break a;
+    }
+    h = f;
+    f = q[f >> 2];
+    f = f & 1 ? h + (f & -2) | 0 : f;
+    if (f) {
+     continue;
+    }
+    break;
+   }
+  }
+  e = b ? q[b + 24 >> 2] : 0;
+  if (d) {
+   f = d;
+   while (1) {
+    if (q[f + 24 >> 2] == 2) {
+     q[f + 24 >> 2] = e;
+    }
+    h = f;
+    f = q[f >> 2];
+    f = f & 1 ? h + (f & -2) | 0 : f;
+    if (f) {
+     continue;
+    }
+    break;
+   }
+  }
+  b : {
+   if (c) {
+    if (b) {
+     break b;
+    }
+    f = a;
+    while (1) {
+     b = f;
+     f = q[f >> 2];
+     if (f) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   }
+   e = a;
+   c : {
+    if (!b) {
+     break c;
+    }
+    f = a;
+    while (1) {
+     e = f;
+     f = q[f >> 2];
+     if (!f) {
+      break c;
+     }
+     if ((b | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (!(q[e >> 2] | !(r[643388] & 4))) {
+    f0(503699);
+   }
+   b = e;
+  }
+  if (r[643388] & 4) {
+   q[g + 16 >> 2] = c ? 503587 : 503594;
+   d0(503571, g + 16 | 0);
+   VS(q[a >> 2], q[b >> 2]);
+   OZ(10);
+  }
+  if (d) {
+   f = d;
+   while (1) {
+    e = f;
+    f = q[f >> 2];
+    if (f) {
+     continue;
+    }
+    break;
+   }
+   q[e >> 2] = q[b >> 2];
+   q[b >> 2] = d;
+  }
+  if (!(r[643388] & 4)) {
+   break a;
+  }
+  q[g >> 2] = c ? 503587 : 503594;
+  d0(503602, g);
+  WS(q[a >> 2]);
+  OZ(10);
+ }
+ Ca = g - -64 | 0;
+}
+function aA(a, b, c, d) {
+ var e = 0, f = 0, g = x(0), h = 0;
+ e = Ca - 128 | 0;
+ Ca = e;
+ a : {
+  b : {
+   h = q[b + 60 >> 2];
+   f = q[bA(q[a + 16 >> 2] + 120 | 0) >> 2];
+   f = f ? f : 271040;
+   f = t[f + 16 >> 2] < 20 ? 271040 : q[f + 12 >> 2];
+   if ((h | 0) == (r[f + 4 | 0] << 8 | r[f + 5 | 0])) {
+    q[e + 48 >> 2] = 2139095039;
+    q[e + 52 >> 2] = -8388609;
+    q[e + 56 >> 2] = -8388609;
+    q[e + 16 >> 2] = 2139095039;
+    q[e + 20 >> 2] = -8388609;
+    q[e + 24 >> 2] = -8388609;
+    q[e + 44 >> 2] = 2139095039;
+    q[e + 40 >> 2] = e - -64;
+    f = q[e + 44 >> 2];
+    q[e + 8 >> 2] = q[e + 40 >> 2];
+    q[e + 12 >> 2] = f;
+    q[e + 36 >> 2] = 0;
+    q[e + 32 >> 2] = b;
+    f = q[e + 36 >> 2];
+    q[e >> 2] = q[e + 32 >> 2];
+    q[e + 4 >> 2] = f;
+    if (Zz(a, b, c, e)) {
+     break b;
+    }
+   }
+   a = q[a + 16 >> 2];
+   if (d) {
+    b = _z(a + 92 | 0);
+    d = q[b >> 2];
+    if (d >>> 0 <= c >>> 0) {
+     a = 0;
+     if (d) {
+      break a;
+     }
+     a = q[b + 8 >> 2];
+     break a;
+    }
+    a = q[b + 12 >> 2];
+    d = q[(a ? a : 271040) + 12 >> 2];
+    a = q[b + 4 >> 2] + -1 | 0;
+    a = a >>> 0 < c >>> 0 ? a : c;
+    a = (a | 0) < 0 ? 271040 : d + (a << 2) | 0;
+    a = r[a | 0] << 8 | r[a + 1 | 0];
+    break a;
+   }
+   b = $z(a - -64 | 0);
+   d = q[b >> 2];
+   if (d >>> 0 <= c >>> 0) {
+    a = 0;
+    if (d) {
+     break a;
+    }
+    a = q[b + 8 >> 2];
+    break a;
+   }
+   a = q[b + 12 >> 2];
+   d = q[(a ? a : 271040) + 12 >> 2];
+   a = q[b + 4 >> 2] + -1 | 0;
+   a = a >>> 0 < c >>> 0 ? a : c;
+   a = (a | 0) < 0 ? 271040 : d + (a << 2) | 0;
+   a = r[a | 0] << 8 | r[a + 1 | 0];
+   break a;
+  }
+  if (d) {
+   g = x(u[e + 104 >> 2] - u[e + 120 >> 2]);
+  } else {
+   g = x(u[e + 84 >> 2] - u[e + 68 >> 2]);
+  }
+  g = x(S(x(g)));
+  if (g < x(4294967296) & g >= x(0)) {
+   a = ~~g >>> 0;
+   break a;
+  }
+  a = 0;
+ }
+ Ca = e + 128 | 0;
+ return a;
+}
+function KT(a, b, c, d) {
+ var e = 0, f = 0, g = 0;
+ a : {
+  b : {
+   if ((c - b | 0) < 1) {
+    break b;
+   }
+   if (r[b | 0] != 45) {
+    q[d >> 2] = b;
+    return 0;
+   }
+   b = b + 1 | 0;
+   f = c - b | 0;
+   if ((f | 0) < 1) {
+    break b;
+   }
+   g = a + 72 | 0;
+   while (1) {
+    c : {
+     d : {
+      e = b;
+      b = r[r[e | 0] + g | 0];
+      if (b >>> 0 > 27) {
+       break d;
+      }
+      e : {
+       switch (b - 2 | 0) {
+       case 3:
+        if ((f | 0) < 2) {
+         return -2;
+        }
+        if (n[q[a + 352 >> 2]](a, e)) {
+         break a;
+        }
+        b = e + 2 | 0;
+        break c;
+       case 4:
+        if ((f | 0) < 3) {
+         return -2;
+        }
+        if (n[q[a + 356 >> 2]](a, e)) {
+         break a;
+        }
+        b = e + 3 | 0;
+        break c;
+       case 5:
+        if ((f | 0) < 4) {
+         return -2;
+        }
+        if (n[q[a + 360 >> 2]](a, e)) {
+         break a;
+        }
+        b = e + 4 | 0;
+        break c;
+       case 0:
+       case 1:
+       case 2:
+       case 7:
+       case 8:
+       case 9:
+       case 10:
+       case 11:
+       case 12:
+       case 13:
+       case 14:
+       case 15:
+       case 16:
+       case 17:
+       case 18:
+       case 19:
+       case 20:
+       case 21:
+       case 22:
+       case 23:
+       case 24:
+        break d;
+       case 25:
+        break e;
+       default:
+        break a;
+       }
+      }
+      b = e + 1 | 0;
+      if ((c - b | 0) < 1) {
+       break b;
+      }
+      if (r[b | 0] != 45) {
+       break c;
+      }
+      a = e + 2 | 0;
+      if ((c - a | 0) < 1) {
+       break b;
+      }
+      if (r[a | 0] != 62) {
+       q[d >> 2] = a;
+       return 0;
+      }
+      q[d >> 2] = e + 3;
+      return 13;
+     }
+     b = e + 1 | 0;
+    }
+    f = c - b | 0;
+    if ((f | 0) > 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  return -1;
+ }
+ q[d >> 2] = e;
+ return 0;
+}
+function kD(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ d = r[a + 1 | 0] | r[a | 0] << 8;
+ a : {
+  if (d >>> 0 <= 1) {
+   if (!d) {
+    break a;
+   }
+   c = b;
+   b = a + 2 | 0;
+   a = r[b + 2 | 0] | r[b + 3 | 0] << 8;
+   c = c - ((a << 24 | a << 8 & 16711680) >> 16) | 0;
+   a = r[b | 0] | r[b + 1 | 0] << 8;
+   return c + ((a << 24 | a << 8 & 16711680) >> 16) | 0;
+  }
+  c = r[a + 4 | 0] | r[a + 5 | 0] << 8;
+  c = (c << 24 | c << 8 & 16711680) >> 16;
+  if ((c | 0) >= (b | 0)) {
+   a = r[a + 2 | 0] | r[a + 3 | 0] << 8;
+   return (b - c | 0) + ((a << 24 | a << 8 & 16711680) >> 16) | 0;
+  }
+  f = 1;
+  c = d + -1 | 0;
+  b : {
+   if (c >>> 0 < 2) {
+    break b;
+   }
+   while (1) {
+    d = (f << 2) + a | 0;
+    d = r[d + 4 | 0] | r[d + 5 | 0] << 8;
+    if ((d << 24 | d << 8 & 16711680) >> 16 >= (b | 0)) {
+     break b;
+    }
+    f = f + 1 | 0;
+    if ((c | 0) != (f | 0)) {
+     continue;
+    }
+    break;
+   }
+   f = c;
+  }
+  g = (f << 2) + a | 0;
+  e = r[g + 4 | 0] | r[g + 5 | 0] << 8;
+  c = e << 24 | e << 8 & 16711680;
+  d = c >> 16;
+  if ((d | 0) <= (b | 0)) {
+   a = r[g + 2 | 0] | r[g + 3 | 0] << 8;
+   return (b - d | 0) + ((a << 24 | a << 8 & 16711680) >> 16) | 0;
+  }
+  e = (e >>> 8 & 65280 | e >>> 24 | c) >>> 16 | 0;
+  g = f + -1 | 0;
+  c = (g << 2) + a | 0;
+  c = r[c + 4 | 0] | r[c + 5 | 0] << 8;
+  c = (c << 24 | c << 8 & 16711680) >>> 16 | 0;
+  if ((e | 0) == (c | 0)) {
+   a = (g << 2) + a | 0;
+   a = r[a + 2 | 0] | r[a + 3 | 0] << 8;
+   return (a << 24 | a << 8 & 16711680) >> 16;
+  }
+  e = d;
+  d = c << 16 >> 16;
+  e = e - d | 0;
+  c = a + 2 | 0;
+  a = c + (f << 2) | 0;
+  a = r[a | 0] | r[a + 1 | 0] << 8;
+  f = (a << 24 | a << 8 & 16711680) >> 16;
+  a = c + (g << 2) | 0;
+  a = r[a | 0] | r[a + 1 | 0] << 8;
+  a = (a << 24 | a << 8 & 16711680) >> 16;
+  b = ((w(f - a | 0, b - d | 0) + ((e | 0) / 2 | 0) | 0) / (e | 0) | 0) + a | 0;
+ }
+ return b;
+}
+function fC(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = s[b >> 1];
+ e = s[a >> 1];
+ a : {
+  b : {
+   c : {
+    d : {
+     a = q[c + 4 >> 2];
+     if ((a | 0) != 131072) {
+      if ((a | 0) != 65536) {
+       break a;
+      }
+      b = 0;
+      a = 0;
+      if (d >>> 0 <= 257) {
+       a = d << 2;
+       c = q[a + 247792 >> 2];
+       g = c + 248828 | 0;
+       a = q[a + 247796 >> 2] + (c ^ -1) | 0;
+      }
+      if (e >>> 0 <= 257) {
+       break d;
+      }
+      c = 0;
+      break b;
+     }
+     b = 0;
+     f = q[c + 8 >> 2];
+     h = r[f | 0] << 8 | r[f + 1 | 0];
+     a = 0;
+     e : {
+      if (h >>> 0 <= d >>> 0) {
+       break e;
+      }
+      a = (d << 1) + f | 0;
+      d = r[a + 2 | 0] << 8 | r[a + 3 | 0];
+      if (d >>> 0 <= 257) {
+       a = d << 2;
+       d = q[a + 247792 >> 2];
+       g = d + 248828 | 0;
+       a = q[a + 247796 >> 2] + (d ^ -1) | 0;
+       break e;
+      }
+      d = d + -258 | 0;
+      a = 0;
+      if (d >>> 0 >= t[c + 16 >> 2]) {
+       break e;
+      }
+      a = q[c + 24 >> 2] + q[q[c + 20 >> 2] + (d << 2) >> 2] | 0;
+      g = a + 1 | 0;
+      a = r[a | 0];
+     }
+     if (h >>> 0 > e >>> 0) {
+      break c;
+     }
+     c = 0;
+     break b;
+    }
+    b = e << 2;
+    c = q[b + 247792 >> 2];
+    b = q[b + 247796 >> 2] + (c ^ -1) | 0;
+    c = c + 248828 | 0;
+    break b;
+   }
+   b = (e << 1) + f | 0;
+   d = r[b + 2 | 0] << 8 | r[b + 3 | 0];
+   if (d >>> 0 <= 257) {
+    b = d << 2;
+    c = q[b + 247792 >> 2];
+    b = q[b + 247796 >> 2] + (c ^ -1) | 0;
+    c = c + 248828 | 0;
+    break b;
+   }
+   b = 0;
+   d = d + -258 | 0;
+   if (d >>> 0 >= t[c + 16 >> 2]) {
+    c = 0;
+    break b;
+   }
+   b = q[c + 24 >> 2] + q[q[c + 20 >> 2] + (d << 2) >> 2] | 0;
+   c = b + 1 | 0;
+   b = r[b | 0];
+  }
+  if ((a | 0) != (b | 0)) {
+   return b - a | 0;
+  }
+  if (!a) {
+   break a;
+  }
+  i = ZY(c, g, a);
+ }
+ return i;
+}
+function Qj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ d = Ca - 336 | 0;
+ Ca = d;
+ q[d + 332 >> 2] = 0;
+ i = q[a + 100 >> 2];
+ n[q[b + 60 >> 2]](b, d + 272 | 0, 4, d + 268 | 0);
+ c = q[d + 268 >> 2];
+ a : {
+  if ((c | 0) <= -1) {
+   c = 162;
+   q[d + 332 >> 2] = 162;
+   break a;
+  }
+  b : {
+   if (!c | (c | 0) >= 5) {
+    break b;
+   }
+   j = q[b + 8 >> 2];
+   k = q[b >> 2];
+   c = Pj(a, 0, c);
+   q[d + 332 >> 2] = c;
+   if (c) {
+    break a;
+   }
+   if (q[d + 268 >> 2] >= 1) {
+    l = q[a + 532 >> 2];
+    while (1) {
+     a = w(h, 12);
+     c = a + (d + 272 | 0) | 0;
+     q[b >> 2] = q[c >> 2];
+     q[b + 8 >> 2] = q[c + 4 >> 2];
+     n[q[b + 60 >> 2]](b, d + 16 | 0, 20, d + 12 | 0);
+     c = q[d + 12 >> 2];
+     if (c + -1 >>> 0 >= 20) {
+      break b;
+     }
+     a = a + l | 0;
+     f = a + 92 | 0;
+     if (q[f >> 2]) {
+      break b;
+     }
+     g = Te(i, 4, 0, c << 1, 0, d + 332 | 0);
+     q[f >> 2] = g;
+     c = q[d + 332 >> 2];
+     if (c) {
+      break a;
+     }
+     e = q[d + 12 >> 2];
+     o[a + 88 | 0] = e;
+     a = a + 96 | 0;
+     q[a >> 2] = (e << 2) + g;
+     c = 0;
+     if ((e | 0) >= 1) {
+      while (1) {
+       e = (d + 16 | 0) + w(c, 12) | 0;
+       q[b >> 2] = q[e >> 2] + 1;
+       q[b + 8 >> 2] = q[e + 4 >> 2] + -1;
+       e = n[q[b + 36 >> 2]](b) | 0;
+       g = c << 2;
+       q[g + q[f >> 2] >> 2] = e;
+       e = n[q[b + 40 >> 2]](b, 0) | 0;
+       q[g + q[a >> 2] >> 2] = e;
+       c = c + 1 | 0;
+       if ((c | 0) < q[d + 12 >> 2]) {
+        continue;
+       }
+       break;
+      }
+     }
+     h = h + 1 | 0;
+     if ((h | 0) < q[d + 268 >> 2]) {
+      continue;
+     }
+     break;
+    }
+    f = q[d + 332 >> 2];
+   }
+   q[b + 8 >> 2] = j;
+   q[b >> 2] = k;
+   c = f;
+   break a;
+  }
+  c = 3;
+  q[d + 332 >> 2] = 3;
+ }
+ q[b + 12 >> 2] = c;
+ Ca = d + 336 | 0;
+}
+function qv(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  b : {
+   d = q[b + 4 >> 2];
+   if (d >>> 0 > a >>> 0) {
+    break b;
+   }
+   c = q[b + 8 >> 2];
+   if (c >>> 0 < a >>> 0 | c - a >>> 0 < 2) {
+    break b;
+   }
+   f = q[b + 12 >> 2];
+   q[b + 12 >> 2] = f + -1;
+   if ((f | 0) < 1) {
+    break b;
+   }
+   g = a + 2 | 0;
+   if (d >>> 0 > g >>> 0 | c >>> 0 < g >>> 0 | c - g >>> 0 < 2) {
+    break b;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break b;
+   }
+   g = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   if (!g) {
+    return 1;
+   }
+   i = g + -1 | 0;
+   a = a + 4 | 0;
+   f = 0;
+   while (1) {
+    if (c >>> 0 < a >>> 0 | d >>> 0 > a >>> 0 | c - a >>> 0 < 6) {
+     break b;
+    }
+    c = q[b + 12 >> 2];
+    q[b + 12 >> 2] = c + -1;
+    if ((c | 0) < 1) {
+     break b;
+    }
+    c = q[b + 28 >> 2];
+    d = q[c + 12 >> 2];
+    q[b + 4 >> 2] = d;
+    c = q[c + 16 >> 2];
+    e = c + d | 0;
+    q[b + 8 >> 2] = e;
+    if ((c | 0) <= -1) {
+     break a;
+    }
+    c = f >>> 0 < i >>> 0 ? a : 0;
+    c : {
+     if (!c) {
+      break c;
+     }
+     if (!(e >>> 0 > c >>> 0 ? c >>> 0 >= d >>> 0 : 0)) {
+      q[b + 4 >> 2] = 0;
+      q[b + 8 >> 2] = 0;
+      break c;
+     }
+     q[b + 4 >> 2] = c;
+     d = r[c + 3 | 0] | r[c + 2 | 0] << 8;
+     e = e - c | 0;
+     q[b + 8 >> 2] = c + (e >>> 0 > d >>> 0 ? d : e);
+    }
+    e = 1;
+    d : {
+     if (!sv(a, b)) {
+      break d;
+     }
+     a = (r[a + 3 | 0] | r[a + 2 | 0] << 8) + a | 0;
+     e = 0;
+    }
+    c = q[b + 28 >> 2];
+    d = q[c + 12 >> 2];
+    q[b + 4 >> 2] = d;
+    h = q[c + 16 >> 2];
+    c = h + d | 0;
+    q[b + 8 >> 2] = c;
+    if ((h | 0) <= -1) {
+     break a;
+    }
+    if (e) {
+     break b;
+    }
+    f = f + 1 | 0;
+    if ((g | 0) != (f | 0)) {
+     continue;
+    }
+    break;
+   }
+   return 1;
+  }
+  return 0;
+ }
+ J(228462, 228487, 195, 228504);
+ F();
+}
+function dk(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ h = q[b + 28 >> 2];
+ q[a + 28 >> 2] = 0;
+ q[a + 32 >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 16 >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 8 >> 2] = 0;
+ q[a >> 2] = b;
+ q[a + 4 >> 2] = q[b + 8 >> 2];
+ a : {
+  b : {
+   f = a;
+   c : {
+    if (d) {
+     d = Eg(b, e + 8 | 0);
+     if (q[e + 8 >> 2]) {
+      break b;
+     }
+     g = 5;
+     break c;
+    }
+    d = Bg(b, e + 8 | 0);
+    if (q[e + 8 >> 2]) {
+     break b;
+    }
+    g = 3;
+   }
+   q[f + 8 >> 2] = g;
+   if (d) {
+    f = Tg(b, e + 8 | 0);
+    if (q[e + 8 >> 2]) {
+     break b;
+    }
+    if ((f + -1 & 255) >>> 0 >= 4) {
+     q[e + 8 >> 2] = 8;
+     break b;
+    }
+    o[a + 16 | 0] = f;
+    q[a + 12 >> 2] = d;
+    f = f & 255;
+    q[a + 20 >> 2] = q[a + 8 >> 2] + (q[a + 4 >> 2] + w(f, d + 1 | 0) | 0);
+    d = Ag(b, w(d, f));
+    q[e + 8 >> 2] = d;
+    if (d) {
+     break b;
+    }
+    d = zg(q[a >> 2], e + 12 | 0, r[a + 16 | 0]);
+    if (d) {
+     q[e + 8 >> 2] = d;
+     break b;
+    }
+    d : {
+     d = r[a + 16 | 0];
+     e : {
+      if (!d) {
+       q[e + 8 >> 2] = 0;
+       break e;
+      }
+      g = d >>> 0 > 1 ? d : 1;
+      d = 0;
+      f = 0;
+      while (1) {
+       f = r[(e + 12 | 0) + d | 0] | f << 8;
+       d = d + 1 | 0;
+       if ((g | 0) != (d | 0)) {
+        continue;
+       }
+       break;
+      }
+      q[e + 8 >> 2] = 0;
+      if (f) {
+       break d;
+      }
+     }
+     q[e + 8 >> 2] = 8;
+     break b;
+    }
+    f = f + -1 | 0;
+    q[a + 24 >> 2] = f;
+    d = e;
+    f : {
+     if (c) {
+      b = Jg(b, f, a + 32 | 0);
+      break f;
+     }
+     b = Ag(b, f);
+    }
+    q[d + 8 >> 2] = b;
+    if (b) {
+     break b;
+    }
+   }
+   a = 0;
+   break a;
+  }
+  Qe(h, q[a + 28 >> 2]);
+  q[a + 28 >> 2] = 0;
+  a = q[e + 8 >> 2];
+ }
+ Ca = e + 16 | 0;
+ return a;
+}
+function EI(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ i = q[a + 12 >> 2];
+ if (i) {
+  q[(q[a + 20 >> 2] + (i << 4) | 0) + -4 >> 2] = e;
+ }
+ a : {
+  b : {
+   c : {
+    k = i + 1 | 0;
+    g = q[a + 16 >> 2];
+    if (k >>> 0 > g >>> 0) {
+     q[h + 4 >> 2] = 0;
+     e = g;
+     j = i + 8 & -8;
+     g = a + 20 | 0;
+     e = Te(f, 16, e, j, q[g >> 2], h + 4 | 0);
+     q[g >> 2] = e;
+     g = q[h + 4 >> 2];
+     if (g) {
+      break a;
+     }
+     q[a + 16 >> 2] = j;
+     g = (i << 4) + e | 0;
+     q[g + 12 >> 2] = 0;
+     q[g >> 2] = 0;
+     q[a + 12 >> 2] = k;
+     break c;
+    }
+    e = q[a + 20 >> 2];
+    j = e + (i << 4) | 0;
+    q[j + 12 >> 2] = 0;
+    q[j >> 2] = 0;
+    q[a + 12 >> 2] = k;
+    if (k) {
+     break c;
+    }
+    if (!g) {
+     q[h + 8 >> 2] = 0;
+     e = Te(f, 16, 0, 8, e, h + 8 | 0);
+     q[a + 20 >> 2] = e;
+     g = q[h + 8 >> 2];
+     if (g) {
+      break a;
+     }
+     q[a + 16 >> 2] = 8;
+    }
+    q[e + 12 >> 2] = 0;
+    q[e >> 2] = 0;
+    q[a + 12 >> 2] = 1;
+    break b;
+   }
+   e = (i << 4) + e | 0;
+  }
+  a = q[e + 4 >> 2];
+  q[h + 12 >> 2] = 0;
+  i = d + 7 >>> 3 | 0;
+  a = a + 7 >>> 3 | 0;
+  d : {
+   if (i >>> 0 <= a >>> 0) {
+    a = q[e + 8 >> 2];
+    break d;
+   }
+   g = f;
+   f = i + 7 & 1073741816;
+   a = Te(g, 1, a, f, q[e + 8 >> 2], h + 12 | 0);
+   q[e + 8 >> 2] = a;
+   g = q[h + 12 >> 2];
+   if (g) {
+    break a;
+   }
+   q[e + 4 >> 2] = f << 3;
+  }
+  q[e >> 2] = d;
+  g = 0;
+  if (!d) {
+   break a;
+  }
+  e = (c >>> 3 | 0) + b | 0;
+  c = 128 >>> (c & 7) | 0;
+  b = 128;
+  while (1) {
+   f = r[a | 0];
+   o[a | 0] = r[e | 0] & c ? f | b : f & (b ^ -1);
+   b = b >> 1;
+   a = b ? a : a + 1 | 0;
+   c = c >> 1;
+   e = c ? e : e + 1 | 0;
+   b = b ? b : 128;
+   c = c ? c : 128;
+   d = d + -1 | 0;
+   if (d) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = h + 16 | 0;
+ return g;
+}
+function qg(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ if (!a) {
+  return 33;
+ }
+ e = 6;
+ a : {
+  if (!d) {
+   break a;
+  }
+  f = q[a >> 2];
+  if (!f) {
+   break a;
+  }
+  q[d >> 2] = 0;
+  q[d + 4 >> 2] = 0;
+  q[d + 16 >> 2] = 0;
+  q[d + 8 >> 2] = 0;
+  q[d + 12 >> 2] = 0;
+  if ((c | 0) < 0 | c >>> 0 > b >>> 0) {
+   break a;
+  }
+  e = 10;
+  if (b >>> 0 > 32767) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     e : {
+      if (!b) {
+       e = 0;
+       q[d + 4 >> 2] = 0;
+       g = d + 4 | 0;
+       break e;
+      }
+      e = b << 3;
+      g = n[q[f + 4 >> 2]](f, e) | 0;
+      if (!g) {
+       c = d + 4 | 0;
+       g = c;
+       e = 64;
+       break b;
+      }
+      i = d, j = Z$(g, 0, e), q[i + 4 >> 2] = j;
+      g = d + 4 | 0;
+      e = n[q[f + 4 >> 2]](f, b) | 0;
+      if (!e) {
+       break d;
+      }
+      Z$(e, 0, b);
+     }
+     q[d + 8 >> 2] = e;
+     e = 0;
+     f : {
+      g : {
+       if (c) {
+        if ((c | 0) > 1073741823) {
+         break g;
+        }
+        h = c << 1;
+        e = n[q[f + 4 >> 2]](f, h) | 0;
+        if (!e) {
+         break f;
+        }
+        Z$(e, 0, h);
+       }
+       p[d + 2 >> 1] = b;
+       q[d + 12 >> 2] = e;
+       p[d >> 1] = c;
+       q[d + 16 >> 2] = q[d + 16 >> 2] | 1;
+       return 0;
+      }
+      c = d + 12 | 0;
+      e = 10;
+      break b;
+     }
+     c = d + 12 | 0;
+     break c;
+    }
+    c = d + 8 | 0;
+   }
+   e = 64;
+  }
+  q[c >> 2] = 0;
+  q[d + 16 >> 2] = q[d + 16 >> 2] | 1;
+  a = q[a >> 2];
+  if (!a) {
+   break a;
+  }
+  b = q[g >> 2];
+  if (b) {
+   n[q[a + 8 >> 2]](a, b);
+  }
+  q[d + 4 >> 2] = 0;
+  b = q[d + 8 >> 2];
+  if (b) {
+   n[q[a + 8 >> 2]](a, b);
+  }
+  q[d + 8 >> 2] = 0;
+  b = q[d + 12 >> 2];
+  if (b) {
+   n[q[a + 8 >> 2]](a, b);
+  }
+  q[d >> 2] = 0;
+  q[d + 4 >> 2] = 0;
+  q[d + 16 >> 2] = 0;
+  q[d + 8 >> 2] = 0;
+  q[d + 12 >> 2] = 0;
+ }
+ return e;
+}
+function UL(a, b, c, d, e) {
+ var f = 0, g = 0;
+ f = Ca - 32 | 0;
+ g = d - e | 0;
+ q[f + 28 >> 2] = g;
+ q[f + 20 >> 2] = g;
+ q[f + 24 >> 2] = 0;
+ q[f + 16 >> 2] = b;
+ q[f + 8 >> 2] = b;
+ q[f >> 2] = 0;
+ b = d + e | 0;
+ q[f + 12 >> 2] = b;
+ q[f + 4 >> 2] = b;
+ b = q[a + 4 >> 2] + (p[a + 2 >> 1] << 3) | 0;
+ a : {
+  if (c) {
+   c = q[f + 28 >> 2];
+   q[b >> 2] = q[f + 24 >> 2];
+   q[b + 4 >> 2] = c;
+   b = p[a + 2 >> 1];
+   p[a + 2 >> 1] = b + 1;
+   o[b + q[a + 8 >> 2] | 0] = 1;
+   c = q[f + 20 >> 2];
+   b = q[a + 4 >> 2] + (p[a + 2 >> 1] << 3) | 0;
+   q[b >> 2] = q[f + 16 >> 2];
+   q[b + 4 >> 2] = c;
+   b = p[a + 2 >> 1];
+   p[a + 2 >> 1] = b + 1;
+   o[b + q[a + 8 >> 2] | 0] = 1;
+   c = q[f + 12 >> 2];
+   b = q[a + 4 >> 2] + (p[a + 2 >> 1] << 3) | 0;
+   q[b >> 2] = q[f + 8 >> 2];
+   q[b + 4 >> 2] = c;
+   b = p[a + 2 >> 1];
+   p[a + 2 >> 1] = b + 1;
+   o[b + q[a + 8 >> 2] | 0] = 1;
+   c = q[f + 4 >> 2];
+   b = q[a + 4 >> 2] + (p[a + 2 >> 1] << 3) | 0;
+   q[b >> 2] = q[f >> 2];
+   q[b + 4 >> 2] = c;
+   break a;
+  }
+  c = q[f + 4 >> 2];
+  q[b >> 2] = q[f >> 2];
+  q[b + 4 >> 2] = c;
+  b = p[a + 2 >> 1];
+  p[a + 2 >> 1] = b + 1;
+  o[b + q[a + 8 >> 2] | 0] = 1;
+  c = q[f + 12 >> 2];
+  b = q[a + 4 >> 2] + (p[a + 2 >> 1] << 3) | 0;
+  q[b >> 2] = q[f + 8 >> 2];
+  q[b + 4 >> 2] = c;
+  b = p[a + 2 >> 1];
+  p[a + 2 >> 1] = b + 1;
+  o[b + q[a + 8 >> 2] | 0] = 1;
+  c = q[f + 20 >> 2];
+  b = q[a + 4 >> 2] + (p[a + 2 >> 1] << 3) | 0;
+  q[b >> 2] = q[f + 16 >> 2];
+  q[b + 4 >> 2] = c;
+  b = p[a + 2 >> 1];
+  p[a + 2 >> 1] = b + 1;
+  o[b + q[a + 8 >> 2] | 0] = 1;
+  c = q[f + 28 >> 2];
+  b = q[a + 4 >> 2] + (p[a + 2 >> 1] << 3) | 0;
+  q[b >> 2] = q[f + 24 >> 2];
+  q[b + 4 >> 2] = c;
+ }
+ b = p[a + 2 >> 1];
+ p[a + 2 >> 1] = b + 1;
+ o[b + q[a + 8 >> 2] | 0] = 1;
+ b = p[a >> 1];
+ p[a >> 1] = b + 1;
+ p[q[a + 12 >> 2] + (b << 1) >> 1] = s[a + 2 >> 1] + -1;
+}
+function Sp(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ j = q[a + 552 >> 2];
+ a : {
+  b : {
+   g = s[(b ? a + 296 | 0 : a + 216 | 0) + 34 >> 1];
+   if (!g) {
+    break b;
+   }
+   h = q[(b ? 856 : 852) + a >> 2];
+   k = h + q[(b ? 756 : 752) + a >> 2] | 0;
+   i = q[a + 104 >> 2];
+   if (g >>> 0 > c >>> 0) {
+    g = h + (c << 2) | 0;
+    if (g + 4 >>> 0 > k >>> 0) {
+     break b;
+    }
+    g = yg(i, g);
+    q[f + 12 >> 2] = g;
+    if (g) {
+     break b;
+    }
+    m = e, o = Bg(i, f + 12 | 0), p[m >> 1] = o;
+    if (q[f + 12 >> 2]) {
+     break b;
+    }
+    m = d, o = Bg(i, f + 12 | 0), p[m >> 1] = o;
+    if (!q[f + 12 >> 2]) {
+     break a;
+    }
+    break b;
+   }
+   h = h + (g << 2) | 0;
+   if (h + -2 >>> 0 > k >>> 0) {
+    break b;
+   }
+   h = h + -4 | 0;
+   l = yg(i, h);
+   q[f + 12 >> 2] = l;
+   if (l) {
+    break b;
+   }
+   m = e, o = Bg(i, f + 12 | 0), p[m >> 1] = o;
+   if (q[f + 12 >> 2]) {
+    break b;
+   }
+   g = (c - g << 1) + h | 0;
+   if (g + 6 >>> 0 > k >>> 0) {
+    p[d >> 1] = 0;
+    break a;
+   }
+   g = yg(i, g + 4 | 0);
+   q[f + 12 >> 2] = g;
+   if (g) {
+    p[d >> 1] = 0;
+    break a;
+   }
+   m = d, o = Bg(i, f + 12 | 0), p[m >> 1] = o;
+   break a;
+  }
+  p[d >> 1] = 0;
+  p[e >> 1] = 0;
+ }
+ if (j) {
+  q[f + 8 >> 2] = s[e >> 1];
+  q[f + 4 >> 2] = p[d >> 1];
+  c : {
+   if (b) {
+    b = q[j + 12 >> 2];
+    if (b) {
+     n[b](a, c, f + 8 | 0) | 0;
+    }
+    b = q[j + 16 >> 2];
+    if (!b) {
+     break c;
+    }
+    n[b](a, c, f + 4 | 0) | 0;
+    break c;
+   }
+   b = q[j >> 2];
+   if (b) {
+    n[b](a, c, f + 8 | 0) | 0;
+   }
+   b = q[j + 4 >> 2];
+   if (!b) {
+    break c;
+   }
+   n[b](a, c, f + 4 | 0) | 0;
+  }
+  p[e >> 1] = q[f + 8 >> 2];
+  p[d >> 1] = q[f + 4 >> 2];
+ }
+ Ca = f + 16 | 0;
+}
+function sB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  i = q[b + 4 >> 2];
+  b : {
+   if (i >>> 0 > a >>> 0) {
+    break b;
+   }
+   f = q[b + 8 >> 2];
+   if (f >>> 0 <= a >>> 0) {
+    break b;
+   }
+   c = q[b + 12 >> 2];
+   g = c + -1 | 0;
+   q[b + 12 >> 2] = g;
+   if ((c | 0) < 1) {
+    break b;
+   }
+   d = r[a | 0];
+   if (d >>> 0 > 2) {
+    break b;
+   }
+   c : {
+    switch (d - 1 | 0) {
+    default:
+     a = ((q[b + 32 >> 2] << 1) + a | 0) + -1 | 0;
+     if (i >>> 0 > a >>> 0 | f >>> 0 < a >>> 0 | f - a >>> 0 < 2) {
+      break b;
+     }
+     q[b + 12 >> 2] = c + -2;
+     return (c | 0) > 1;
+    case 0:
+     h = 1;
+     d = q[b + 32 >> 2] + -1 | 0;
+     if (!d) {
+      break b;
+     }
+     j = a + 1 | 0;
+     while (1) {
+      c = j + w(e, 3) | 0;
+      if (i >>> 0 > c >>> 0 | f >>> 0 < c >>> 0) {
+       break a;
+      }
+      if (f - c >>> 0 < 3) {
+       break a;
+      }
+      a = g + -1 | 0;
+      q[b + 12 >> 2] = a;
+      if ((g | 0) < 1) {
+       break a;
+      }
+      c = r[c + 2 | 0];
+      if (d >>> 0 <= c >>> 0) {
+       break a;
+      }
+      e = e + 1 | 0;
+      g = a;
+      d = (c ^ -1) + d | 0;
+      if (d) {
+       continue;
+      }
+      break;
+     }
+     break b;
+    case 1:
+     break c;
+    }
+   }
+   e = q[b + 32 >> 2] + -1 | 0;
+   if (!e) {
+    return 1;
+   }
+   d = 0;
+   while (1) {
+    h = (d << 2) + a | 0;
+    c = h + 1 | 0;
+    if (i >>> 0 > c >>> 0 | f >>> 0 < c >>> 0) {
+     break a;
+    }
+    if (f - c >>> 0 < 4) {
+     break a;
+    }
+    c = g + -1 | 0;
+    q[b + 12 >> 2] = c;
+    if ((g | 0) < 1) {
+     break a;
+    }
+    j = r[h + 4 | 0] | r[h + 3 | 0] << 8;
+    if (e >>> 0 <= j >>> 0) {
+     break a;
+    }
+    h = 1;
+    d = d + 1 | 0;
+    g = c;
+    e = (j ^ -1) + e | 0;
+    if (e) {
+     continue;
+    }
+    break;
+   }
+  }
+  return h;
+ }
+ return 0;
+}
+function _u(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  e = q[b + 4 >> 2];
+  if (e >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  h = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!g) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | e >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < g >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!d) {
+    break b;
+   }
+   c : {
+    d : {
+     f = c + d | 0;
+     if (!dv(f, b, f)) {
+      break d;
+     }
+     g = q[b + 4 >> 2];
+     d = f + 2 | 0;
+     if (g >>> 0 > d >>> 0) {
+      break d;
+     }
+     c = q[b + 8 >> 2];
+     if (c >>> 0 < d >>> 0 | c - d >>> 0 < 2) {
+      break d;
+     }
+     e = q[b + 12 >> 2];
+     q[b + 12 >> 2] = e + -1;
+     if ((e | 0) < 1) {
+      break d;
+     }
+     i = r[d + 1 | 0] | r[d | 0] << 8;
+     if (!i) {
+      break b;
+     }
+     j = g;
+     g = d + 2 | 0;
+     if (j >>> 0 > g >>> 0 | c >>> 0 < g >>> 0 | c - g >>> 0 < i << 1 >>> 0) {
+      break d;
+     }
+     q[b + 12 >> 2] = e + -2;
+     if ((e | 0) < 2) {
+      break d;
+     }
+     e = r[d + 1 | 0] | r[d | 0] << 8;
+     if (!e) {
+      break b;
+     }
+     c = 0;
+     while (1) {
+      if (!ev((d + (c << 1) | 0) + 2 | 0, b, f)) {
+       break d;
+      }
+      c = c + 1 | 0;
+      if ((e | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    }
+    c = q[b + 24 >> 2];
+    if (c >>> 0 > 31) {
+     break a;
+    }
+    q[b + 24 >> 2] = c + 1;
+    h = 0;
+    if (!r[b + 20 | 0]) {
+     break b;
+    }
+    o[a | 0] = 0;
+    o[a + 1 | 0] = 0;
+   }
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function $u(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  e = q[b + 4 >> 2];
+  if (e >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  h = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!g) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | e >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < g >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!d) {
+    break b;
+   }
+   c : {
+    d : {
+     f = c + d | 0;
+     if (!dv(f, b, f)) {
+      break d;
+     }
+     g = q[b + 4 >> 2];
+     d = f + 2 | 0;
+     if (g >>> 0 > d >>> 0) {
+      break d;
+     }
+     c = q[b + 8 >> 2];
+     if (c >>> 0 < d >>> 0 | c - d >>> 0 < 2) {
+      break d;
+     }
+     e = q[b + 12 >> 2];
+     q[b + 12 >> 2] = e + -1;
+     if ((e | 0) < 1) {
+      break d;
+     }
+     i = r[d + 1 | 0] | r[d | 0] << 8;
+     if (!i) {
+      break b;
+     }
+     j = g;
+     g = d + 2 | 0;
+     if (j >>> 0 > g >>> 0 | c >>> 0 < g >>> 0 | c - g >>> 0 < i << 1 >>> 0) {
+      break d;
+     }
+     q[b + 12 >> 2] = e + -2;
+     if ((e | 0) < 2) {
+      break d;
+     }
+     e = r[d + 1 | 0] | r[d | 0] << 8;
+     if (!e) {
+      break b;
+     }
+     c = 0;
+     while (1) {
+      if (!fv((d + (c << 1) | 0) + 2 | 0, b, f)) {
+       break d;
+      }
+      c = c + 1 | 0;
+      if ((e | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    }
+    c = q[b + 24 >> 2];
+    if (c >>> 0 > 31) {
+     break a;
+    }
+    q[b + 24 >> 2] = c + 1;
+    h = 0;
+    if (!r[b + 20 | 0]) {
+     break b;
+    }
+    o[a | 0] = 0;
+    o[a + 1 | 0] = 0;
+   }
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function Hu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  if (!q[a + 28 >> 2] | !q[a + 20 >> 2] | q[a + 16 >> 2] == 271040) {
+   break a;
+  }
+  c = q[a + 24 >> 2];
+  d = q[c + 24 >> 2];
+  b : {
+   if ((d | 0) < 1) {
+    break b;
+   }
+   i = b >>> 9 | 0;
+   g = q[c + 28 >> 2];
+   d = d + -1 | 0;
+   while (1) {
+    c : {
+     f = d + e >>> 1 | 0;
+     h = i - q[(f << 3) + g >> 2] | 0;
+     d : {
+      if ((h | 0) <= -1) {
+       d = f + -1 | 0;
+       break d;
+      }
+      if (!h) {
+       break c;
+      }
+      e = f + 1 | 0;
+     }
+     if ((e | 0) <= (d | 0)) {
+      continue;
+     }
+     break b;
+    }
+    break;
+   }
+   e = q[((f << 3) + g | 0) + 4 >> 2];
+   d = 271040;
+   e : {
+    if (t[c + 36 >> 2] <= e >>> 0) {
+     break e;
+    }
+    c = q[c + 40 >> 2];
+    if (!c) {
+     break b;
+    }
+    d = c + (e << 6) | 0;
+   }
+   c = d + (b >>> 3 & 56) | 0;
+   e = q[c >> 2];
+   d = q[c + 4 >> 2];
+   f = b & 63;
+   c = f & 31;
+   if ((32 <= (f & 63) >>> 0 ? d >>> c | 0 : ((1 << c) - 1 & d) << 32 - c | e >>> c) & 1) {
+    break a;
+   }
+  }
+  c = q[a + 8 >> 2];
+  d = q[a + 4 >> 2];
+  e = q[a + 12 >> 2];
+  q[a + 8 >> 2] = 271040;
+  q[a + 12 >> 2] = 271040;
+  q[a + 4 >> 2] = 271040;
+  q[a + 28 >> 2] = q[a + 28 >> 2] + -1;
+  n[q[a + 20 >> 2]](a, b);
+  q[a + 12 >> 2] = e;
+  q[a + 4 >> 2] = d;
+  q[a + 8 >> 2] = c;
+  q[a + 28 >> 2] = q[a + 28 >> 2] + 1;
+  if ((b | 0) == -1) {
+   break a;
+  }
+  a = q[a + 24 >> 2];
+  if (r[a + 12 | 0] != 1) {
+   break a;
+  }
+  q[a + 16 >> 2] = -1;
+  a = nF(a, b);
+  if (!a) {
+   break a;
+  }
+  c = a + (b >>> 3 & 56) | 0;
+  a = c;
+  d = q[a + 4 >> 2];
+  e = a;
+  f = q[a >> 2];
+  c = b & 63;
+  b = c & 31;
+  if (32 <= (c & 63) >>> 0) {
+   c = 1 << b;
+   b = 0;
+  } else {
+   c = (1 << b) - 1 & 1 >>> 32 - b;
+   b = 1 << b;
+  }
+  q[e >> 2] = f | b;
+  q[a + 4 >> 2] = c | d;
+ }
+}
+function fG(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   if (!a | !q[a >> 2]) {
+    break b;
+   }
+   if (q[a >> 2] <= 0) {
+    break a;
+   }
+   b = q[a >> 2];
+   q[a >> 2] = b + -1;
+   if ((b | 0) != 1) {
+    break b;
+   }
+   q[a >> 2] = -57005;
+   b = q[a + 8 >> 2];
+   if (b) {
+    c : {
+     if (!q[b + 8 >> 2]) {
+      c = b + 12 | 0;
+      M$(q[c >> 2]);
+      q[c >> 2] = 0;
+      q[b + 4 >> 2] = 0;
+      q[b + 8 >> 2] = 0;
+      break c;
+     }
+     while (1) {
+      c = q[b >> 2];
+      q[b >> 2] = 1;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     c = q[b + 8 >> 2];
+     if (c) {
+      while (1) {
+       e = c + -1 | 0;
+       d = q[b + 12 >> 2] + w(e, 12) | 0;
+       c = q[d + 8 >> 2];
+       d = q[d + 4 >> 2];
+       q[b + 8 >> 2] = e;
+       q[b >> 2] = 0;
+       if (c) {
+        n[c](d);
+       }
+       while (1) {
+        c = q[b >> 2];
+        q[b >> 2] = 1;
+        if (c) {
+         continue;
+        }
+        break;
+       }
+       c = q[b + 8 >> 2];
+       if (c) {
+        continue;
+       }
+       break;
+      }
+     }
+     M$(q[b + 12 >> 2]);
+     q[b + 8 >> 2] = 0;
+     q[b + 12 >> 2] = 0;
+     q[b >> 2] = 0;
+     q[b + 4 >> 2] = 0;
+    }
+    M$(b);
+   }
+   b = q[a + 80 >> 2];
+   if (b) {
+    n[b](q[a + 48 >> 2]);
+   }
+   b = q[a + 84 >> 2];
+   if (b) {
+    n[b](q[a + 52 >> 2]);
+   }
+   b = q[a + 88 >> 2];
+   if (b) {
+    n[b](q[a + 56 >> 2]);
+   }
+   b = q[a + 92 >> 2];
+   if (b) {
+    n[b](q[a + 60 >> 2]);
+   }
+   b = q[a + 96 >> 2];
+   if (b) {
+    n[b](q[a - -64 >> 2]);
+   }
+   b = q[a + 100 >> 2];
+   if (b) {
+    n[b](q[a + 68 >> 2]);
+   }
+   b = q[a + 104 >> 2];
+   if (b) {
+    n[b](q[a + 72 >> 2]);
+   }
+   b = q[a + 108 >> 2];
+   if (b) {
+    n[b](q[a + 76 >> 2]);
+   }
+   fG(q[a + 12 >> 2]);
+   M$(a);
+  }
+  return;
+ }
+ J(272224, 272249, 279, 272284);
+ F();
+}
+function qB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ a : {
+  l = q[b + 4 >> 2];
+  if (l >>> 0 > a >>> 0) {
+   break a;
+  }
+  g = q[b + 8 >> 2];
+  if (g >>> 0 < a >>> 0) {
+   break a;
+  }
+  d = g - a | 0;
+  if (d >>> 0 < 3) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  b : {
+   c : {
+    if ((c | 0) >= 1) {
+     c = r[a + 1 | 0] | r[a | 0] << 8;
+     e = !c;
+     if (!c | d >>> 0 < 3) {
+      break b;
+     }
+     break c;
+    }
+    if (d >>> 0 >= 3) {
+     break c;
+    }
+    break a;
+   }
+   c = q[b + 12 >> 2];
+   i = c + -1 | 0;
+   q[b + 12 >> 2] = i;
+   if ((c | 0) < 1) {
+    break a;
+   }
+   d = r[a + 2 | 0];
+   if ((d + -1 & 255) >>> 0 > 3) {
+    break a;
+   }
+   e = 0;
+   j = (r[a + 1 | 0] | r[a | 0] << 8) + 1 | 0;
+   if (4294967295 / (j >>> 0) >>> 0 <= d >>> 0) {
+    break b;
+   }
+   h = w(d, j);
+   if (h) {
+    f = a + 3 | 0;
+    if (l >>> 0 > f >>> 0 | g >>> 0 < f >>> 0 | g - f >>> 0 < h >>> 0) {
+     break b;
+    }
+    i = c + -2 | 0;
+    q[b + 12 >> 2] = i;
+    if ((c | 0) < 2) {
+     break b;
+    }
+    j = (r[a + 1 | 0] | r[a | 0] << 8) + 1 | 0;
+    c = w(j, d);
+   } else {
+    c = 0;
+   }
+   h = (c + a | 0) + 3 | 0;
+   while (1) {
+    e = (w(d, m) + a | 0) + 3 | 0;
+    f = 0;
+    c = d;
+    while (1) {
+     f = r[e | 0] | f << 8;
+     e = e + 1 | 0;
+     c = c + -1 | 0;
+     if (c) {
+      continue;
+     }
+     break;
+    }
+    k = f >>> 0 > k >>> 0 ? f : k;
+    m = m + 1 | 0;
+    if ((j | 0) != (m | 0)) {
+     continue;
+    }
+    break;
+   }
+   a = k + -1 | 0;
+   if (!a) {
+    return 1;
+   }
+   e = 0;
+   if (!k | l >>> 0 > h >>> 0 | (a + a >>> 0 < a >>> 0 | g >>> 0 < h >>> 0)) {
+    break b;
+   }
+   if (g - h >>> 0 < a >>> 0) {
+    break b;
+   }
+   q[b + 12 >> 2] = i + -1;
+   e = (i | 0) > 0;
+  }
+  return e;
+ }
+ return 0;
+}
+function nB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  b : {
+   c : {
+    j = r[a + 1 | 0] | r[a | 0] << 8;
+    f = b + 1 | 0;
+    if (j >>> 0 >= f >>> 0) {
+     e = r[a + 2 | 0];
+     if (e) {
+      i = e;
+      h = (w(e, f) + a | 0) + 3 | 0;
+      c = h;
+      while (1) {
+       d = r[c | 0] | d << 8;
+       c = c + 1 | 0;
+       i = i + -1 | 0;
+       if (i) {
+        continue;
+       }
+       break;
+      }
+      if (j >>> 0 < b >>> 0) {
+       break a;
+      }
+      f = e;
+      i = (w(b, e) + a | 0) + 3 | 0;
+      c = i;
+      while (1) {
+       g = r[c | 0] | g << 8;
+       c = c + 1 | 0;
+       f = f + -1 | 0;
+       if (f) {
+        continue;
+       }
+       break;
+      }
+      c = 0;
+      b = 0;
+      if (d >>> 0 < g >>> 0) {
+       break b;
+      }
+      g = e;
+      d = h;
+      while (1) {
+       c = r[d | 0] | c << 8;
+       d = d + 1 | 0;
+       g = g + -1 | 0;
+       if (g) {
+        continue;
+       }
+       break;
+      }
+      d = (w(e, j) + a | 0) + 3 | 0;
+      g = 0;
+      f = e;
+      while (1) {
+       g = r[d | 0] | g << 8;
+       d = d + 1 | 0;
+       f = f + -1 | 0;
+       if (f) {
+        continue;
+       }
+       break;
+      }
+      a = c >>> 0 > g >>> 0;
+      c = 0;
+      b = 0;
+      if (a) {
+       break b;
+      }
+      d = e;
+      while (1) {
+       c = r[h | 0] | c << 8;
+       h = h + 1 | 0;
+       d = d + -1 | 0;
+       if (d) {
+        continue;
+       }
+       break;
+      }
+      h = 0;
+      while (1) {
+       h = r[i | 0] | h << 8;
+       i = i + 1 | 0;
+       e = e + -1 | 0;
+       if (e) {
+        continue;
+       }
+       break;
+      }
+      break c;
+     }
+     if (j >>> 0 >= b >>> 0) {
+      break c;
+     }
+     break a;
+    }
+    break a;
+   }
+   b = c - h | 0;
+  }
+  return b;
+ }
+ J(242699, 242714, 251, 242736);
+ F();
+}
+function jB(a, b, c, d, e, f, g) {
+ var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ k = r[a + 1 | 0] | r[a | 0] << 8;
+ if (!k) {
+  return 271040;
+ }
+ h = q[c + 16 >> 2];
+ j = a - q[c + 12 >> 2] | 0;
+ if (h >>> 0 > j >>> 0) {
+  o = h - j | 0;
+  l = a + 4 | 0;
+  h = 8;
+  a : {
+   while (1) {
+    m = h;
+    b : {
+     c : {
+      if (b >>> 0 >= f >>> 0) {
+       break c;
+      }
+      h = b + 1 | 0;
+      h = (h | 0) < 0 ? 271040 : (h << 2) + l | 0;
+      h = r[h | 0] | r[h + 1 | 0] << 8 | (r[h + 2 | 0] << 16 | r[h + 3 | 0] << 24);
+      i = h << 24 | h << 8 & 16711680 | (h >>> 8 & 65280 | h >>> 24);
+      b = (b | 0) < 0 ? 271040 : (b << 2) + l | 0;
+      b = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+      h = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+      if (i >>> 0 <= h >>> 0 | i >>> 0 > o >>> 0) {
+       break c;
+      }
+      b = i - h | 0;
+      if (b >>> 0 > 8) {
+       break b;
+      }
+     }
+     return 271040;
+    }
+    n = b + -8 | 0;
+    b = h ? a + h | 0 : 271040;
+    i = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+    i = i << 24 | i << 8 & 16711680 | (i >>> 8 & 65280 | i >>> 24);
+    if ((i | 0) != 1685418085) {
+     break a;
+    }
+    if (n >>> 0 >= 2) {
+     b = r[b + 9 | 0] | r[b + 8 | 0] << 8;
+     h = m + -1 | 0;
+     if (m) {
+      continue;
+     }
+    }
+    break;
+   }
+   return 271040;
+  }
+  if ((i | 0) != 1886283552) {
+   return 271040;
+  }
+  if (g) {
+   q[g >> 2] = k;
+  }
+  a = h + j | 0;
+  if (d) {
+   f = d;
+   d = r[b | 0] | r[b + 1 | 0] << 8;
+   q[f >> 2] = (d << 24 | d << 8 & 16711680) >> 16;
+  }
+  a = a + 8 | 0;
+  if (e) {
+   b = r[b + 2 | 0] | r[b + 3 | 0] << 8;
+   q[e >> 2] = (b << 24 | b << 8 & 16711680) >> 16;
+  }
+  return Eq(c, a, n);
+ }
+ J(242631, 242656, 106, 242684);
+ F();
+}
+function RK(a, b, c, d, e, f, g) {
+ var h = 0, i = 0, j = 0, k = 0, l = 0;
+ i = r[q[a >> 2] + 236 | 0];
+ q[g >> 2] = 0;
+ q[f >> 2] = 0;
+ if (r[a + 11666 | 0]) {
+  h = e - c | 0;
+  e = i ? 0 - h | 0 : h;
+  j = q[a + 4 >> 2];
+  h = w(h >> 16, b >> 16);
+  b = d - b | 0;
+  q[j + 16 >> 2] = q[j + 16 >> 2] + (h - w(b >> 16, c >> 16) | 0);
+  a : {
+   b : {
+    b = i ? 0 - b | 0 : b;
+    if ((b | 0) >= 0) {
+     if ((e | 0) >= 0) {
+      if ((b | 0) > e << 1) {
+       break b;
+      }
+      c = q[a + 11688 >> 2];
+      if ((e | 0) > b << 1) {
+       q[f >> 2] = c;
+       a = q[a + 11692 >> 2];
+       break a;
+      }
+      k = f, l = Ee(45875, c), q[k >> 2] = l;
+      a = Ee(19661, q[a + 11692 >> 2]);
+      break a;
+     }
+     if ((b | 0) > (0 - (e << 1) | 0)) {
+      break b;
+     }
+     c = q[a + 11688 >> 2];
+     if (b << 1 < (0 - e | 0)) {
+      q[f >> 2] = 0 - c;
+      a = q[a + 11692 >> 2];
+      break a;
+     }
+     k = f, l = Ee(-45874, c), q[k >> 2] = l;
+     a = Ee(19661, q[a + 11692 >> 2]);
+     break a;
+    }
+    c = 0 - b | 0;
+    if ((e | 0) >= 0) {
+     if (e << 1 < (c | 0)) {
+      q[f >> 2] = 0;
+      a = q[a + 11692 >> 2] << 1;
+      break a;
+     }
+     c = q[a + 11688 >> 2];
+     if ((e | 0) > (0 - (b << 1) | 0)) {
+      q[f >> 2] = c;
+      a = q[a + 11692 >> 2];
+      break a;
+     }
+     k = f, l = Ee(45875, c), q[k >> 2] = l;
+     a = Ee(111411, q[a + 11692 >> 2]);
+     break a;
+    }
+    if ((0 - (e << 1) | 0) < (c | 0)) {
+     q[f >> 2] = 0;
+     a = q[a + 11692 >> 2] << 1;
+     break a;
+    }
+    c = q[a + 11688 >> 2];
+    if ((0 - (b << 1) | 0) < (0 - e | 0)) {
+     q[f >> 2] = 0 - c;
+     a = q[a + 11692 >> 2];
+     break a;
+    }
+    k = f, l = Ee(-45874, c), q[k >> 2] = l;
+    a = Ee(111411, q[a + 11692 >> 2]);
+    break a;
+   }
+   q[f >> 2] = 0;
+   a = 0;
+  }
+  q[g >> 2] = a;
+ }
+}
+function qN(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0, u = 0;
+ a : {
+  if ((b | 0) < 1) {
+   break a;
+  }
+  s = 255;
+  while (1) {
+   m = d + h | 0;
+   f = r[m | 0];
+   g = f & 24;
+   b : {
+    if ((g | 0) == 16) {
+     break b;
+    }
+    i = 255;
+    i = q[(h << 2) + a >> 2] & 1052672 ? i : r[c + h | 0];
+    t = f & 4;
+    c : {
+     d : {
+      e : {
+       f : {
+        g : {
+         if (j) {
+          e = s & 255;
+          k = (e | 0) == 255 | (e | 0) == (i | 0) | (i | 0) == 255;
+          e = k ? j : 0;
+          k = k ^ 1;
+          if (g) {
+           break e;
+          }
+          g = i & 1 ? 1 : 2;
+          n = g;
+          if (!e) {
+           break g;
+          }
+          if (f & g) {
+           break f;
+          }
+          k = 1;
+          break d;
+         }
+         j = 0;
+         if (g) {
+          break c;
+         }
+         k = 0;
+         n = i & 1 ? 1 : 2;
+        }
+        e = n;
+        j = 0;
+        if (!t) {
+         break d;
+        }
+        o[m | 0] = f & (e ^ -1);
+        break d;
+       }
+       f = p + 1 | 0;
+       if ((f | 0) >= (h | 0)) {
+        break d;
+       }
+       j = g | l;
+       while (1) {
+        g = d + f | 0;
+        o[g | 0] = j | r[g | 0];
+        f = f + 1 | 0;
+        if ((h | 0) != (f | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      j = e;
+     }
+     if (!u | !k) {
+      break c;
+     }
+     e = d + p | 0;
+     o[e | 0] = r[e | 0] & (l ^ -1);
+    }
+    e = r[m | 0];
+    if (e & 24) {
+     break b;
+    }
+    l = i & 1 ? 2 : 1;
+    j = (e & l) != 0;
+    u = t;
+    s = i;
+    p = h;
+   }
+   h = h + 1 | 0;
+   if ((h | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+  if (!u | !j) {
+   break a;
+  }
+  a = d + p | 0;
+  o[a | 0] = r[a | 0] & (l ^ -1);
+ }
+}
+function nY(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ d = Ca - 848 | 0;
+ Ca = d;
+ e = N$(1, 12);
+ a : {
+  if (!e) {
+   break a;
+  }
+  f = qX();
+  q[e >> 2] = f;
+  c = YW(f, c);
+  if (!c) {
+   Yd(a, 2, 504780, 0);
+   pX(q[e >> 2]);
+   f = mX(0);
+   q[e >> 2] = f;
+  }
+  if (f) {
+   c = xX(f);
+  }
+  if (!(q[e >> 2] ? c : 0)) {
+   Yd(a, 0, 504843, 0);
+   pX(q[e >> 2]);
+   M$(e);
+   break a;
+  }
+  h = hL(b, e);
+  e = GX(q[e >> 2]);
+  if (q[e >> 2] < 1) {
+   break a;
+  }
+  f = d + 824 | 0;
+  i = d + 844 | 0;
+  j = d + 836 | 0;
+  a = 0;
+  while (1) {
+   b = q[q[e + 8 >> 2] + (a << 2) >> 2];
+   b : {
+    if (FS(b, d + 812 | 0) | q[d + 812 >> 2] != 1) {
+     break b;
+    }
+    if (BS(b, 504983, j) | BS(b, 504989, i) | BS(b, 504995, d + 804 | 0) | BS(b, 505002, d + 808 | 0)) {
+     break b;
+    }
+    k = d, l = $O(q[d + 804 >> 2]), q[k + 840 >> 2] = l;
+    c = 0;
+    if (ES(b, 505008, 0, d + 800 | 0)) {
+     break b;
+    }
+    while (1) {
+     c : {
+      q[d + 828 >> 2] = c;
+      if (ES(b, 504933, c, (c << 2) + d | 0)) {
+       break c;
+      }
+      g = q[d + 828 >> 2];
+      c = g + 1 | 0;
+      if ((g | 0) < 100) {
+       continue;
+      }
+     }
+     break;
+    }
+    q[d + 816 >> 2] = d;
+    c = 0;
+    while (1) {
+     d : {
+      q[d + 832 >> 2] = c;
+      if (ES(b, 505013, c, (d + 400 | 0) + (c << 2) | 0)) {
+       break d;
+      }
+      g = q[d + 832 >> 2];
+      c = g + 1 | 0;
+      if ((g | 0) < 100) {
+       continue;
+      }
+     }
+     break;
+    }
+    q[d + 820 >> 2] = d + 400;
+    if (ES(b, 505022, 0, f)) {
+     q[d + 824 >> 2] = 0;
+    }
+    iL(h, d + 816 | 0, q[d + 800 >> 2], q[d + 808 >> 2], b);
+   }
+   a = a + 1 | 0;
+   if ((a | 0) < q[e >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 848 | 0;
+ return h | 0;
+}
+function Yr(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ a : {
+  e = q[b + 4 >> 2];
+  d = q[e + 72 >> 2];
+  if (r[a + 8 | 0] ? 0 : (d | 0) == q[e + 76 >> 2]) {
+   break a;
+  }
+  m = q[a + 16 >> 2];
+  i = q[e + 88 >> 2];
+  b = q[a + 12 >> 2];
+  j = q[a + 20 >> 2];
+  k = (m + (q[i + w(b, 20) >> 2] + (r[c + 5 | 0] | r[c + 4 | 0] << 8) << 1) | 0) - j >>> 1 | 0;
+  f = q[a + 4 >> 2];
+  n = q[f + 20 >> 2];
+  g = (k << 1) + j | 0;
+  b : {
+   if (n >>> 0 > g >>> 0) {
+    break b;
+   }
+   h = q[f + 24 >> 2];
+   if (h >>> 0 < g >>> 0 | h - g >>> 0 < 2) {
+    break b;
+   }
+   l = f + 28 | 0;
+   h = q[l >> 2];
+   q[l >> 2] = h + -1;
+   if ((h | 0) < 1) {
+    break b;
+   }
+   h = (k << 1) + j | 0;
+   k = r[h + 1 | 0] | r[g | 0] << 8;
+   if (!k) {
+    break b;
+   }
+   l = q[e + 76 >> 2];
+   d = d + 1 | 0;
+   d = d >>> 0 > l >>> 0 ? l : d;
+   if (d - b >>> 0 >= 2) {
+    DG(e, b, d);
+    k = r[h + 1 | 0] | r[g | 0] << 8;
+    f = q[a + 4 >> 2];
+    n = q[f + 20 >> 2];
+    j = q[a + 20 >> 2];
+    m = q[a + 16 >> 2];
+    i = q[e + 88 >> 2];
+    b = q[a + 12 >> 2];
+   }
+   q[w(b, 20) + i >> 2] = k;
+   o[a | 0] = 1;
+  }
+  b = q[e + 76 >> 2] + -1 | 0;
+  e = q[e + 72 >> 2];
+  g = w(e >>> 0 > b >>> 0 ? b : e, 20) + i | 0;
+  i = ((q[g >> 2] + (r[c + 7 | 0] | r[c + 6 | 0] << 8) << 1) + m | 0) - j >>> 1 | 0;
+  b = (i << 1) + j | 0;
+  c : {
+   if (n >>> 0 > b >>> 0) {
+    break c;
+   }
+   d = q[f + 24 >> 2];
+   if (d >>> 0 < b >>> 0 | d - b >>> 0 < 2) {
+    break c;
+   }
+   d = f + 28 | 0;
+   f = q[d >> 2];
+   q[d >> 2] = f + -1;
+   if ((f | 0) < 1) {
+    break c;
+   }
+   b = r[((i << 1) + j | 0) + 1 | 0] | r[b | 0] << 8;
+   if (!b) {
+    break c;
+   }
+   q[g >> 2] = b;
+   o[a | 0] = 1;
+  }
+  if (o[c + 2 | 0] > -1) {
+   break a;
+  }
+  q[a + 12 >> 2] = e;
+  o[a + 8 | 0] = 1;
+ }
+}
+function _X(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, p = 0, s = 0, t = 0, u = 0, w = 0;
+ j = Ca - 32 | 0;
+ Ca = j;
+ a : {
+  b : {
+   c : {
+    d : {
+     if (b) {
+      if (c) {
+       break d;
+      }
+      i = 1e+99;
+      m = 1e+99;
+      o = 1e+99;
+      break c;
+     }
+     a = 1;
+     break a;
+    }
+    o = 1e+99;
+    k = c;
+    m = 1e+99;
+    i = 1e+99;
+    while (1) {
+     if (d) {
+      t = k + 8 | 0;
+      u = +(s | 0);
+      p = 0;
+      g = d;
+      while (1) {
+       h = +n[q[b + 4 >> 2]](t, g + 8 | 0, j + 16 | 0);
+       if (h < 0) {
+        break b;
+       }
+       h = h * 1e3 + u;
+       l = h < i;
+       i = l ? h : i;
+       w = l ? p : w;
+       e : {
+        if (!l) {
+         break e;
+        }
+       }
+       f : {
+        if (q[k + 24 >> 2] == 1) {
+         if (!(h < m)) {
+          break f;
+         }
+         m = h;
+         break f;
+        }
+        if (!(h < o)) {
+         break f;
+        }
+        o = h;
+       }
+       p = p + 1 | 0;
+       l = g;
+       g = q[g >> 2];
+       g = g & 1 ? l + (g & -2) | 0 : g;
+       if (g) {
+        continue;
+       }
+       break;
+      }
+     }
+     s = s + 1 | 0;
+     g = q[k >> 2];
+     k = g & 1 ? (g & -2) + k | 0 : g;
+     if (k) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (r[643388] & 2) {
+    a = eR(a);
+    v[j + 8 >> 3] = i;
+    q[j >> 2] = a;
+    e0(504755, j);
+    WS(c);
+    d0(504764, 0);
+    WS(d);
+    OZ(10);
+   }
+   if (e) {
+    h = i;
+    a = q[b + 12 >> 2];
+    g = (a << 3) + e | 0;
+    i = v[g >> 3];
+    h = h + i;
+    c = a;
+    a = q[b + 8 >> 2];
+    if ((c | 0) != (a | 0)) {
+     v[g >> 3] = o + i;
+     g = (a << 3) + e | 0;
+     h = m + v[g >> 3];
+    }
+    v[g >> 3] = h;
+   }
+   a = 1;
+   break a;
+  }
+  q[f >> 2] = 2;
+  a = 0;
+ }
+ Ca = j + 32 | 0;
+ return a;
+}
+function wz(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  if ((a | 0) == 271040) {
+   break a;
+  }
+  c = r[a | 0];
+  if (c >>> 0 > 4) {
+   break a;
+  }
+  b : {
+   switch (c - 1 | 0) {
+   default:
+    return r[(a + b | 0) + 1 | 0];
+   case 2:
+    d = 1;
+    f = a + 1 | 0;
+    c = r[a + 1 | 0] | r[a + 2 | 0] << 8;
+    e = c << 8;
+    c = (e & 16711680 | c << 24) >>> 16 | 0;
+    c : {
+     if (c >>> 0 <= 1) {
+      e = r[a + 2 | 0] | e & 65280;
+      break c;
+     }
+     e = r[a + 2 | 0] | e & 65280;
+     while (1) {
+      a = e >>> 0 > d >>> 0 ? (f + w(d, 3) | 0) + 2 | 0 : 271040;
+      if ((r[a | 0] << 8 | r[a + 1 | 0]) >>> 0 > b >>> 0) {
+       break c;
+      }
+      d = d + 1 | 0;
+      if ((c | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+     d = c;
+    }
+    a = d + -1 | 0;
+    return r[(e >>> 0 > a >>> 0 ? (f + w(a, 3) | 0) + 2 | 0 : 271040) + 2 | 0];
+   case 0:
+   case 1:
+    break a;
+   case 3:
+    break b;
+   }
+  }
+  d = 1;
+  c = r[a + 1 | 0] | r[a + 2 | 0] << 8 | (r[a + 3 | 0] << 16 | r[a + 4 | 0] << 24);
+  e = c << 24;
+  c = e | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  d : {
+   if (c >>> 0 <= 1) {
+    e = r[a + 4 | 0] | (e | r[a + 2 | 0] << 16 | r[a + 3 | 0] << 8);
+    break d;
+   }
+   e = r[a + 4 | 0] | (e | r[a + 2 | 0] << 16 | r[a + 3 | 0] << 8);
+   while (1) {
+    f = e >>> 0 > d >>> 0 ? (w(d, 6) + a | 0) + 5 | 0 : 271040;
+    f = r[f | 0] | r[f + 1 | 0] << 8 | (r[f + 2 | 0] << 16 | r[f + 3 | 0] << 24);
+    if ((f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24)) >>> 0 > b >>> 0) {
+     break d;
+    }
+    d = d + 1 | 0;
+    if ((c | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+   d = c;
+  }
+  b = a;
+  a = d + -1 | 0;
+  a = e >>> 0 > a >>> 0 ? (b + w(a, 6) | 0) + 5 | 0 : 271040;
+  d = r[a + 4 | 0] << 8 | r[a + 5 | 0];
+ }
+ return d;
+}
+function Yp(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ var g = 0, h = 0, i = 0, j = 0, k = 0;
+ i = 3;
+ a : {
+  if ((d | 0) < 0) {
+   break a;
+  }
+  f = q[a + 12 >> 2];
+  h = s[f >> 1];
+  g = q[a + 8 >> 2];
+  if ((e | 0) < 0 | h + e >>> 0 > t[g >> 2]) {
+   break a;
+  }
+  f = s[f + 2 >> 1];
+  if (f + d >>> 0 > t[g + 4 >> 2]) {
+   break a;
+  }
+  f = w(f, r[a + 18 | 0]);
+  if (w(f + 7 >>> 3 | 0, h) + b >>> 0 > c >>> 0) {
+   break a;
+  }
+  j = q[g + 8 >> 2];
+  c = q[g + 12 >> 2] + (w(j, e) + (d >>> 3 | 0) | 0) | 0;
+  g = d & 7;
+  if (g) {
+   if (h) {
+    i = f >>> 0 < 8;
+    while (1) {
+     e = 0;
+     a = f;
+     d = c;
+     if (!i) {
+      while (1) {
+       e = r[b | 0] | e;
+       o[d | 0] = r[d | 0] | e >>> g;
+       d = d + 1 | 0;
+       b = b + 1 | 0;
+       e = e << 8;
+       k = (a | 0) > 15;
+       a = a + -8 | 0;
+       if (k) {
+        continue;
+       }
+       break;
+      }
+     }
+     if ((a | 0) >= 1) {
+      e = r[b | 0] & 65280 >>> a | e;
+      b = b + 1 | 0;
+     }
+     o[d | 0] = r[d | 0] | e >>> g;
+     if ((a + g | 0) >= 9) {
+      o[d + 1 | 0] = r[d + 1 | 0] | e << 8 >>> g;
+     }
+     c = c + j | 0;
+     a = (h | 0) > 1;
+     h = h + -1 | 0;
+     if (a) {
+      continue;
+     }
+     break;
+    }
+   }
+   return 0;
+  }
+  i = 0;
+  if (!h) {
+   break a;
+  }
+  e = f >>> 0 < 8;
+  while (1) {
+   a = f;
+   d = c;
+   if (!e) {
+    while (1) {
+     o[d | 0] = r[b | 0] | r[d | 0];
+     d = d + 1 | 0;
+     b = b + 1 | 0;
+     g = (a | 0) > 15;
+     a = a + -8 | 0;
+     if (g) {
+      continue;
+     }
+     break;
+    }
+   }
+   if ((a | 0) >= 1) {
+    o[d | 0] = r[d | 0] | r[b | 0] & 65280 >>> a;
+    b = b + 1 | 0;
+   }
+   c = c + j | 0;
+   a = (h | 0) > 1;
+   h = h + -1 | 0;
+   if (a) {
+    continue;
+   }
+   break;
+  }
+ }
+ return i | 0;
+}
+function TA(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      while (1) {
+       o[a + 20 | 0] = e;
+       e = q[d + 12 >> 2];
+       q[a + 4 >> 2] = e;
+       c = q[d + 16 >> 2];
+       q[a + 8 >> 2] = c + e;
+       if ((c | 0) <= -1) {
+        break a;
+       }
+       q[a + 24 >> 2] = 0;
+       f = a;
+       if (c >>> 0 > 536870910) {
+        c = 1073741823;
+       } else {
+        c = c << 3;
+        c = c >>> 0 > 16384 ? c : 16384;
+        c = c >>> 0 < 1073741823 ? c : 1073741823;
+       }
+       q[f + 12 >> 2] = c;
+       q[a >> 2] = 0;
+       if (!e) {
+        Cq(d);
+        q[a + 28 >> 2] = 0;
+        q[a + 4 >> 2] = 0;
+        q[a + 8 >> 2] = 0;
+        return b;
+       }
+       d = UA(e, a);
+       c = q[a + 24 >> 2];
+       f : {
+        if (d) {
+         if (!c) {
+          break f;
+         }
+         q[a + 24 >> 2] = 0;
+         c = UA(e, a);
+         d = q[a + 24 >> 2];
+         Cq(q[a + 28 >> 2]);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         if (d) {
+          break b;
+         }
+         if (c) {
+          break e;
+         }
+         break b;
+        }
+        if (r[a + 20 | 0] | !c) {
+         break d;
+        }
+        c = Iq(b);
+        q[a + 4 >> 2] = c;
+        q[a + 8 >> 2] = c + q[b + 16 >> 2];
+        d = q[a + 28 >> 2];
+        e = 1;
+        if (c) {
+         continue;
+        }
+        break c;
+       }
+       break;
+      }
+      Cq(q[a + 28 >> 2]);
+      q[a + 28 >> 2] = 0;
+      q[a + 4 >> 2] = 0;
+      q[a + 8 >> 2] = 0;
+     }
+     Gq(b);
+     return b;
+    }
+    d = q[a + 28 >> 2];
+   }
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(242576, 242601, 195, 242618);
+ F();
+}
+
+
+
+function zv(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      while (1) {
+       o[a + 20 | 0] = e;
+       e = q[d + 12 >> 2];
+       q[a + 4 >> 2] = e;
+       c = q[d + 16 >> 2];
+       q[a + 8 >> 2] = c + e;
+       if ((c | 0) <= -1) {
+        break a;
+       }
+       q[a + 24 >> 2] = 0;
+       f = a;
+       if (c >>> 0 > 536870910) {
+        c = 1073741823;
+       } else {
+        c = c << 3;
+        c = c >>> 0 > 16384 ? c : 16384;
+        c = c >>> 0 < 1073741823 ? c : 1073741823;
+       }
+       q[f + 12 >> 2] = c;
+       q[a >> 2] = 0;
+       if (!e) {
+        Cq(d);
+        q[a + 28 >> 2] = 0;
+        q[a + 4 >> 2] = 0;
+        q[a + 8 >> 2] = 0;
+        return b;
+       }
+       d = Ev(e, a);
+       c = q[a + 24 >> 2];
+       f : {
+        if (d) {
+         if (!c) {
+          break f;
+         }
+         q[a + 24 >> 2] = 0;
+         c = Ev(e, a);
+         d = q[a + 24 >> 2];
+         Cq(q[a + 28 >> 2]);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         if (d) {
+          break b;
+         }
+         if (c) {
+          break e;
+         }
+         break b;
+        }
+        if (r[a + 20 | 0] | !c) {
+         break d;
+        }
+        c = Iq(b);
+        q[a + 4 >> 2] = c;
+        q[a + 8 >> 2] = c + q[b + 16 >> 2];
+        d = q[a + 28 >> 2];
+        e = 1;
+        if (c) {
+         continue;
+        }
+        break c;
+       }
+       break;
+      }
+      Cq(q[a + 28 >> 2]);
+      q[a + 28 >> 2] = 0;
+      q[a + 4 >> 2] = 0;
+      q[a + 8 >> 2] = 0;
+     }
+     Gq(b);
+     return b;
+    }
+    d = q[a + 28 >> 2];
+   }
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(228462, 228487, 195, 228504);
+ F();
+}
+function zr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      while (1) {
+       o[a + 20 | 0] = e;
+       e = q[d + 12 >> 2];
+       q[a + 4 >> 2] = e;
+       c = q[d + 16 >> 2];
+       q[a + 8 >> 2] = c + e;
+       if ((c | 0) <= -1) {
+        break a;
+       }
+       q[a + 24 >> 2] = 0;
+       f = a;
+       if (c >>> 0 > 536870910) {
+        c = 1073741823;
+       } else {
+        c = c << 3;
+        c = c >>> 0 > 16384 ? c : 16384;
+        c = c >>> 0 < 1073741823 ? c : 1073741823;
+       }
+       q[f + 12 >> 2] = c;
+       q[a >> 2] = 0;
+       if (!e) {
+        Cq(d);
+        q[a + 28 >> 2] = 0;
+        q[a + 4 >> 2] = 0;
+        q[a + 8 >> 2] = 0;
+        return b;
+       }
+       d = Ar(e, a);
+       c = q[a + 24 >> 2];
+       f : {
+        if (d) {
+         if (!c) {
+          break f;
+         }
+         q[a + 24 >> 2] = 0;
+         c = Ar(e, a);
+         d = q[a + 24 >> 2];
+         Cq(q[a + 28 >> 2]);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         if (d) {
+          break b;
+         }
+         if (c) {
+          break e;
+         }
+         break b;
+        }
+        if (r[a + 20 | 0] | !c) {
+         break d;
+        }
+        c = Iq(b);
+        q[a + 4 >> 2] = c;
+        q[a + 8 >> 2] = c + q[b + 16 >> 2];
+        d = q[a + 28 >> 2];
+        e = 1;
+        if (c) {
+         continue;
+        }
+        break c;
+       }
+       break;
+      }
+      Cq(q[a + 28 >> 2]);
+      q[a + 28 >> 2] = 0;
+      q[a + 4 >> 2] = 0;
+      q[a + 8 >> 2] = 0;
+     }
+     Gq(b);
+     return b;
+    }
+    d = q[a + 28 >> 2];
+   }
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(228144, 228169, 195, 228186);
+ F();
+}
+function rD(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      while (1) {
+       o[a + 20 | 0] = e;
+       e = q[d + 12 >> 2];
+       q[a + 4 >> 2] = e;
+       c = q[d + 16 >> 2];
+       q[a + 8 >> 2] = c + e;
+       if ((c | 0) <= -1) {
+        break a;
+       }
+       q[a + 24 >> 2] = 0;
+       f = a;
+       if (c >>> 0 > 536870910) {
+        c = 1073741823;
+       } else {
+        c = c << 3;
+        c = c >>> 0 > 16384 ? c : 16384;
+        c = c >>> 0 < 1073741823 ? c : 1073741823;
+       }
+       q[f + 12 >> 2] = c;
+       q[a >> 2] = 0;
+       if (!e) {
+        Cq(d);
+        q[a + 28 >> 2] = 0;
+        q[a + 4 >> 2] = 0;
+        q[a + 8 >> 2] = 0;
+        return b;
+       }
+       d = sD(e, a);
+       c = q[a + 24 >> 2];
+       f : {
+        if (d) {
+         if (!c) {
+          break f;
+         }
+         q[a + 24 >> 2] = 0;
+         c = sD(e, a);
+         d = q[a + 24 >> 2];
+         Cq(q[a + 28 >> 2]);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         if (d) {
+          break b;
+         }
+         if (c) {
+          break e;
+         }
+         break b;
+        }
+        if (r[a + 20 | 0] | !c) {
+         break d;
+        }
+        c = Iq(b);
+        q[a + 4 >> 2] = c;
+        q[a + 8 >> 2] = c + q[b + 16 >> 2];
+        d = q[a + 28 >> 2];
+        e = 1;
+        if (c) {
+         continue;
+        }
+        break c;
+       }
+       break;
+      }
+      Cq(q[a + 28 >> 2]);
+      q[a + 28 >> 2] = 0;
+      q[a + 4 >> 2] = 0;
+      q[a + 8 >> 2] = 0;
+     }
+     Gq(b);
+     return b;
+    }
+    d = q[a + 28 >> 2];
+   }
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(250756, 250781, 195, 250798);
+ F();
+}
+function pD(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      while (1) {
+       o[a + 20 | 0] = e;
+       e = q[d + 12 >> 2];
+       q[a + 4 >> 2] = e;
+       c = q[d + 16 >> 2];
+       q[a + 8 >> 2] = c + e;
+       if ((c | 0) <= -1) {
+        break a;
+       }
+       q[a + 24 >> 2] = 0;
+       f = a;
+       if (c >>> 0 > 536870910) {
+        c = 1073741823;
+       } else {
+        c = c << 3;
+        c = c >>> 0 > 16384 ? c : 16384;
+        c = c >>> 0 < 1073741823 ? c : 1073741823;
+       }
+       q[f + 12 >> 2] = c;
+       q[a >> 2] = 0;
+       if (!e) {
+        Cq(d);
+        q[a + 28 >> 2] = 0;
+        q[a + 4 >> 2] = 0;
+        q[a + 8 >> 2] = 0;
+        return b;
+       }
+       d = qD(e, a);
+       c = q[a + 24 >> 2];
+       f : {
+        if (d) {
+         if (!c) {
+          break f;
+         }
+         q[a + 24 >> 2] = 0;
+         c = qD(e, a);
+         d = q[a + 24 >> 2];
+         Cq(q[a + 28 >> 2]);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         if (d) {
+          break b;
+         }
+         if (c) {
+          break e;
+         }
+         break b;
+        }
+        if (r[a + 20 | 0] | !c) {
+         break d;
+        }
+        c = Iq(b);
+        q[a + 4 >> 2] = c;
+        q[a + 8 >> 2] = c + q[b + 16 >> 2];
+        d = q[a + 28 >> 2];
+        e = 1;
+        if (c) {
+         continue;
+        }
+        break c;
+       }
+       break;
+      }
+      Cq(q[a + 28 >> 2]);
+      q[a + 28 >> 2] = 0;
+      q[a + 4 >> 2] = 0;
+      q[a + 8 >> 2] = 0;
+     }
+     Gq(b);
+     return b;
+    }
+    d = q[a + 28 >> 2];
+   }
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(250756, 250781, 195, 250798);
+ F();
+}
+function kr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      while (1) {
+       o[a + 20 | 0] = e;
+       e = q[d + 12 >> 2];
+       q[a + 4 >> 2] = e;
+       c = q[d + 16 >> 2];
+       q[a + 8 >> 2] = c + e;
+       if ((c | 0) <= -1) {
+        break a;
+       }
+       q[a + 24 >> 2] = 0;
+       f = a;
+       if (c >>> 0 > 536870910) {
+        c = 1073741823;
+       } else {
+        c = c << 3;
+        c = c >>> 0 > 16384 ? c : 16384;
+        c = c >>> 0 < 1073741823 ? c : 1073741823;
+       }
+       q[f + 12 >> 2] = c;
+       q[a >> 2] = 0;
+       if (!e) {
+        Cq(d);
+        q[a + 28 >> 2] = 0;
+        q[a + 4 >> 2] = 0;
+        q[a + 8 >> 2] = 0;
+        return b;
+       }
+       d = lr(e, a);
+       c = q[a + 24 >> 2];
+       f : {
+        if (d) {
+         if (!c) {
+          break f;
+         }
+         q[a + 24 >> 2] = 0;
+         c = lr(e, a);
+         d = q[a + 24 >> 2];
+         Cq(q[a + 28 >> 2]);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         if (d) {
+          break b;
+         }
+         if (c) {
+          break e;
+         }
+         break b;
+        }
+        if (r[a + 20 | 0] | !c) {
+         break d;
+        }
+        c = Iq(b);
+        q[a + 4 >> 2] = c;
+        q[a + 8 >> 2] = c + q[b + 16 >> 2];
+        d = q[a + 28 >> 2];
+        e = 1;
+        if (c) {
+         continue;
+        }
+        break c;
+       }
+       break;
+      }
+      Cq(q[a + 28 >> 2]);
+      q[a + 28 >> 2] = 0;
+      q[a + 4 >> 2] = 0;
+      q[a + 8 >> 2] = 0;
+     }
+     Gq(b);
+     return b;
+    }
+    d = q[a + 28 >> 2];
+   }
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(228144, 228169, 195, 228186);
+ F();
+}
+function ix(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      while (1) {
+       o[a + 20 | 0] = e;
+       e = q[d + 12 >> 2];
+       q[a + 4 >> 2] = e;
+       c = q[d + 16 >> 2];
+       q[a + 8 >> 2] = c + e;
+       if ((c | 0) <= -1) {
+        break a;
+       }
+       q[a + 24 >> 2] = 0;
+       f = a;
+       if (c >>> 0 > 536870910) {
+        c = 1073741823;
+       } else {
+        c = c << 3;
+        c = c >>> 0 > 16384 ? c : 16384;
+        c = c >>> 0 < 1073741823 ? c : 1073741823;
+       }
+       q[f + 12 >> 2] = c;
+       q[a >> 2] = 0;
+       if (!e) {
+        Cq(d);
+        q[a + 28 >> 2] = 0;
+        q[a + 4 >> 2] = 0;
+        q[a + 8 >> 2] = 0;
+        return b;
+       }
+       d = mx(e, a);
+       c = q[a + 24 >> 2];
+       f : {
+        if (d) {
+         if (!c) {
+          break f;
+         }
+         q[a + 24 >> 2] = 0;
+         c = mx(e, a);
+         d = q[a + 24 >> 2];
+         Cq(q[a + 28 >> 2]);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         if (d) {
+          break b;
+         }
+         if (c) {
+          break e;
+         }
+         break b;
+        }
+        if (r[a + 20 | 0] | !c) {
+         break d;
+        }
+        c = Iq(b);
+        q[a + 4 >> 2] = c;
+        q[a + 8 >> 2] = c + q[b + 16 >> 2];
+        d = q[a + 28 >> 2];
+        e = 1;
+        if (c) {
+         continue;
+        }
+        break c;
+       }
+       break;
+      }
+      Cq(q[a + 28 >> 2]);
+      q[a + 28 >> 2] = 0;
+      q[a + 4 >> 2] = 0;
+      q[a + 8 >> 2] = 0;
+     }
+     Gq(b);
+     return b;
+    }
+    d = q[a + 28 >> 2];
+   }
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(228462, 228487, 195, 228504);
+ F();
+}
+function hs(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      while (1) {
+       o[a + 20 | 0] = e;
+       e = q[d + 12 >> 2];
+       q[a + 4 >> 2] = e;
+       c = q[d + 16 >> 2];
+       q[a + 8 >> 2] = c + e;
+       if ((c | 0) <= -1) {
+        break a;
+       }
+       q[a + 24 >> 2] = 0;
+       f = a;
+       if (c >>> 0 > 536870910) {
+        c = 1073741823;
+       } else {
+        c = c << 3;
+        c = c >>> 0 > 16384 ? c : 16384;
+        c = c >>> 0 < 1073741823 ? c : 1073741823;
+       }
+       q[f + 12 >> 2] = c;
+       q[a >> 2] = 0;
+       if (!e) {
+        Cq(d);
+        q[a + 28 >> 2] = 0;
+        q[a + 4 >> 2] = 0;
+        q[a + 8 >> 2] = 0;
+        return b;
+       }
+       d = is(e, a);
+       c = q[a + 24 >> 2];
+       f : {
+        if (d) {
+         if (!c) {
+          break f;
+         }
+         q[a + 24 >> 2] = 0;
+         c = is(e, a);
+         d = q[a + 24 >> 2];
+         Cq(q[a + 28 >> 2]);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         if (d) {
+          break b;
+         }
+         if (c) {
+          break e;
+         }
+         break b;
+        }
+        if (r[a + 20 | 0] | !c) {
+         break d;
+        }
+        c = Iq(b);
+        q[a + 4 >> 2] = c;
+        q[a + 8 >> 2] = c + q[b + 16 >> 2];
+        d = q[a + 28 >> 2];
+        e = 1;
+        if (c) {
+         continue;
+        }
+        break c;
+       }
+       break;
+      }
+      Cq(q[a + 28 >> 2]);
+      q[a + 28 >> 2] = 0;
+      q[a + 4 >> 2] = 0;
+      q[a + 8 >> 2] = 0;
+     }
+     Gq(b);
+     return b;
+    }
+    d = q[a + 28 >> 2];
+   }
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(228144, 228169, 195, 228186);
+ F();
+}
+function aC(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      while (1) {
+       o[a + 20 | 0] = e;
+       e = q[d + 12 >> 2];
+       q[a + 4 >> 2] = e;
+       c = q[d + 16 >> 2];
+       q[a + 8 >> 2] = c + e;
+       if ((c | 0) <= -1) {
+        break a;
+       }
+       q[a + 24 >> 2] = 0;
+       f = a;
+       if (c >>> 0 > 536870910) {
+        c = 1073741823;
+       } else {
+        c = c << 3;
+        c = c >>> 0 > 16384 ? c : 16384;
+        c = c >>> 0 < 1073741823 ? c : 1073741823;
+       }
+       q[f + 12 >> 2] = c;
+       q[a >> 2] = 0;
+       if (!e) {
+        Cq(d);
+        q[a + 28 >> 2] = 0;
+        q[a + 4 >> 2] = 0;
+        q[a + 8 >> 2] = 0;
+        return b;
+       }
+       d = bC(e, a);
+       c = q[a + 24 >> 2];
+       f : {
+        if (d) {
+         if (!c) {
+          break f;
+         }
+         q[a + 24 >> 2] = 0;
+         c = bC(e, a);
+         d = q[a + 24 >> 2];
+         Cq(q[a + 28 >> 2]);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         if (d) {
+          break b;
+         }
+         if (c) {
+          break e;
+         }
+         break b;
+        }
+        if (r[a + 20 | 0] | !c) {
+         break d;
+        }
+        c = Iq(b);
+        q[a + 4 >> 2] = c;
+        q[a + 8 >> 2] = c + q[b + 16 >> 2];
+        d = q[a + 28 >> 2];
+        e = 1;
+        if (c) {
+         continue;
+        }
+        break c;
+       }
+       break;
+      }
+      Cq(q[a + 28 >> 2]);
+      q[a + 28 >> 2] = 0;
+      q[a + 4 >> 2] = 0;
+      q[a + 8 >> 2] = 0;
+     }
+     Gq(b);
+     return b;
+    }
+    d = q[a + 28 >> 2];
+   }
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(242576, 242601, 195, 242618);
+ F();
+}
+function _r(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      while (1) {
+       o[a + 20 | 0] = e;
+       e = q[d + 12 >> 2];
+       q[a + 4 >> 2] = e;
+       c = q[d + 16 >> 2];
+       q[a + 8 >> 2] = c + e;
+       if ((c | 0) <= -1) {
+        break a;
+       }
+       q[a + 24 >> 2] = 0;
+       f = a;
+       if (c >>> 0 > 536870910) {
+        c = 1073741823;
+       } else {
+        c = c << 3;
+        c = c >>> 0 > 16384 ? c : 16384;
+        c = c >>> 0 < 1073741823 ? c : 1073741823;
+       }
+       q[f + 12 >> 2] = c;
+       q[a >> 2] = 0;
+       if (!e) {
+        Cq(d);
+        q[a + 28 >> 2] = 0;
+        q[a + 4 >> 2] = 0;
+        q[a + 8 >> 2] = 0;
+        return b;
+       }
+       d = $r(e, a);
+       c = q[a + 24 >> 2];
+       f : {
+        if (d) {
+         if (!c) {
+          break f;
+         }
+         q[a + 24 >> 2] = 0;
+         c = $r(e, a);
+         d = q[a + 24 >> 2];
+         Cq(q[a + 28 >> 2]);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         if (d) {
+          break b;
+         }
+         if (c) {
+          break e;
+         }
+         break b;
+        }
+        if (r[a + 20 | 0] | !c) {
+         break d;
+        }
+        c = Iq(b);
+        q[a + 4 >> 2] = c;
+        q[a + 8 >> 2] = c + q[b + 16 >> 2];
+        d = q[a + 28 >> 2];
+        e = 1;
+        if (c) {
+         continue;
+        }
+        break c;
+       }
+       break;
+      }
+      Cq(q[a + 28 >> 2]);
+      q[a + 28 >> 2] = 0;
+      q[a + 4 >> 2] = 0;
+      q[a + 8 >> 2] = 0;
+     }
+     Gq(b);
+     return b;
+    }
+    d = q[a + 28 >> 2];
+   }
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(228144, 228169, 195, 228186);
+ F();
+}
+function Xu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      while (1) {
+       o[a + 20 | 0] = e;
+       e = q[d + 12 >> 2];
+       q[a + 4 >> 2] = e;
+       c = q[d + 16 >> 2];
+       q[a + 8 >> 2] = c + e;
+       if ((c | 0) <= -1) {
+        break a;
+       }
+       q[a + 24 >> 2] = 0;
+       f = a;
+       if (c >>> 0 > 536870910) {
+        c = 1073741823;
+       } else {
+        c = c << 3;
+        c = c >>> 0 > 16384 ? c : 16384;
+        c = c >>> 0 < 1073741823 ? c : 1073741823;
+       }
+       q[f + 12 >> 2] = c;
+       q[a >> 2] = 0;
+       if (!e) {
+        Cq(d);
+        q[a + 28 >> 2] = 0;
+        q[a + 4 >> 2] = 0;
+        q[a + 8 >> 2] = 0;
+        return b;
+       }
+       d = Yu(e, a);
+       c = q[a + 24 >> 2];
+       f : {
+        if (d) {
+         if (!c) {
+          break f;
+         }
+         q[a + 24 >> 2] = 0;
+         c = Yu(e, a);
+         d = q[a + 24 >> 2];
+         Cq(q[a + 28 >> 2]);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         if (d) {
+          break b;
+         }
+         if (c) {
+          break e;
+         }
+         break b;
+        }
+        if (r[a + 20 | 0] | !c) {
+         break d;
+        }
+        c = Iq(b);
+        q[a + 4 >> 2] = c;
+        q[a + 8 >> 2] = c + q[b + 16 >> 2];
+        d = q[a + 28 >> 2];
+        e = 1;
+        if (c) {
+         continue;
+        }
+        break c;
+       }
+       break;
+      }
+      Cq(q[a + 28 >> 2]);
+      q[a + 28 >> 2] = 0;
+      q[a + 4 >> 2] = 0;
+      q[a + 8 >> 2] = 0;
+     }
+     Gq(b);
+     return b;
+    }
+    d = q[a + 28 >> 2];
+   }
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(228462, 228487, 195, 228504);
+ F();
+}
+function Wy(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      while (1) {
+       o[a + 20 | 0] = e;
+       e = q[d + 12 >> 2];
+       q[a + 4 >> 2] = e;
+       c = q[d + 16 >> 2];
+       q[a + 8 >> 2] = c + e;
+       if ((c | 0) <= -1) {
+        break a;
+       }
+       q[a + 24 >> 2] = 0;
+       f = a;
+       if (c >>> 0 > 536870910) {
+        c = 1073741823;
+       } else {
+        c = c << 3;
+        c = c >>> 0 > 16384 ? c : 16384;
+        c = c >>> 0 < 1073741823 ? c : 1073741823;
+       }
+       q[f + 12 >> 2] = c;
+       q[a >> 2] = 0;
+       if (!e) {
+        Cq(d);
+        q[a + 28 >> 2] = 0;
+        q[a + 4 >> 2] = 0;
+        q[a + 8 >> 2] = 0;
+        return b;
+       }
+       d = Xy(e, a);
+       c = q[a + 24 >> 2];
+       f : {
+        if (d) {
+         if (!c) {
+          break f;
+         }
+         q[a + 24 >> 2] = 0;
+         c = Xy(e, a);
+         d = q[a + 24 >> 2];
+         Cq(q[a + 28 >> 2]);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         if (d) {
+          break b;
+         }
+         if (c) {
+          break e;
+         }
+         break b;
+        }
+        if (r[a + 20 | 0] | !c) {
+         break d;
+        }
+        c = Iq(b);
+        q[a + 4 >> 2] = c;
+        q[a + 8 >> 2] = c + q[b + 16 >> 2];
+        d = q[a + 28 >> 2];
+        e = 1;
+        if (c) {
+         continue;
+        }
+        break c;
+       }
+       break;
+      }
+      Cq(q[a + 28 >> 2]);
+      q[a + 28 >> 2] = 0;
+      q[a + 4 >> 2] = 0;
+      q[a + 8 >> 2] = 0;
+     }
+     Gq(b);
+     return b;
+    }
+    d = q[a + 28 >> 2];
+   }
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(241753, 241778, 195, 241795);
+ F();
+}
+function Uy(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      while (1) {
+       o[a + 20 | 0] = e;
+       e = q[d + 12 >> 2];
+       q[a + 4 >> 2] = e;
+       c = q[d + 16 >> 2];
+       q[a + 8 >> 2] = c + e;
+       if ((c | 0) <= -1) {
+        break a;
+       }
+       q[a + 24 >> 2] = 0;
+       f = a;
+       if (c >>> 0 > 536870910) {
+        c = 1073741823;
+       } else {
+        c = c << 3;
+        c = c >>> 0 > 16384 ? c : 16384;
+        c = c >>> 0 < 1073741823 ? c : 1073741823;
+       }
+       q[f + 12 >> 2] = c;
+       q[a >> 2] = 0;
+       if (!e) {
+        Cq(d);
+        q[a + 28 >> 2] = 0;
+        q[a + 4 >> 2] = 0;
+        q[a + 8 >> 2] = 0;
+        return b;
+       }
+       d = Vy(e, a);
+       c = q[a + 24 >> 2];
+       f : {
+        if (d) {
+         if (!c) {
+          break f;
+         }
+         q[a + 24 >> 2] = 0;
+         c = Vy(e, a);
+         d = q[a + 24 >> 2];
+         Cq(q[a + 28 >> 2]);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         if (d) {
+          break b;
+         }
+         if (c) {
+          break e;
+         }
+         break b;
+        }
+        if (r[a + 20 | 0] | !c) {
+         break d;
+        }
+        c = Iq(b);
+        q[a + 4 >> 2] = c;
+        q[a + 8 >> 2] = c + q[b + 16 >> 2];
+        d = q[a + 28 >> 2];
+        e = 1;
+        if (c) {
+         continue;
+        }
+        break c;
+       }
+       break;
+      }
+      Cq(q[a + 28 >> 2]);
+      q[a + 28 >> 2] = 0;
+      q[a + 4 >> 2] = 0;
+      q[a + 8 >> 2] = 0;
+     }
+     Gq(b);
+     return b;
+    }
+    d = q[a + 28 >> 2];
+   }
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(241753, 241778, 195, 241795);
+ F();
+}
+function GA(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      while (1) {
+       o[a + 20 | 0] = e;
+       e = q[d + 12 >> 2];
+       q[a + 4 >> 2] = e;
+       c = q[d + 16 >> 2];
+       q[a + 8 >> 2] = c + e;
+       if ((c | 0) <= -1) {
+        break a;
+       }
+       q[a + 24 >> 2] = 0;
+       f = a;
+       if (c >>> 0 > 536870910) {
+        c = 1073741823;
+       } else {
+        c = c << 3;
+        c = c >>> 0 > 16384 ? c : 16384;
+        c = c >>> 0 < 1073741823 ? c : 1073741823;
+       }
+       q[f + 12 >> 2] = c;
+       q[a >> 2] = 0;
+       if (!e) {
+        Cq(d);
+        q[a + 28 >> 2] = 0;
+        q[a + 4 >> 2] = 0;
+        q[a + 8 >> 2] = 0;
+        return b;
+       }
+       d = IA(e, a);
+       c = q[a + 24 >> 2];
+       f : {
+        if (d) {
+         if (!c) {
+          break f;
+         }
+         q[a + 24 >> 2] = 0;
+         c = IA(e, a);
+         d = q[a + 24 >> 2];
+         Cq(q[a + 28 >> 2]);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         if (d) {
+          break b;
+         }
+         if (c) {
+          break e;
+         }
+         break b;
+        }
+        if (r[a + 20 | 0] | !c) {
+         break d;
+        }
+        c = Iq(b);
+        q[a + 4 >> 2] = c;
+        q[a + 8 >> 2] = c + q[b + 16 >> 2];
+        d = q[a + 28 >> 2];
+        e = 1;
+        if (c) {
+         continue;
+        }
+        break c;
+       }
+       break;
+      }
+      Cq(q[a + 28 >> 2]);
+      q[a + 28 >> 2] = 0;
+      q[a + 4 >> 2] = 0;
+      q[a + 8 >> 2] = 0;
+     }
+     Gq(b);
+     return b;
+    }
+    d = q[a + 28 >> 2];
+   }
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(242576, 242601, 195, 242618);
+ F();
+}
+function $E(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Hq(b);
+ q[a + 28 >> 2] = d;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      while (1) {
+       o[a + 20 | 0] = e;
+       e = q[d + 12 >> 2];
+       q[a + 4 >> 2] = e;
+       c = q[d + 16 >> 2];
+       q[a + 8 >> 2] = c + e;
+       if ((c | 0) <= -1) {
+        break a;
+       }
+       q[a + 24 >> 2] = 0;
+       f = a;
+       if (c >>> 0 > 536870910) {
+        c = 1073741823;
+       } else {
+        c = c << 3;
+        c = c >>> 0 > 16384 ? c : 16384;
+        c = c >>> 0 < 1073741823 ? c : 1073741823;
+       }
+       q[f + 12 >> 2] = c;
+       q[a >> 2] = 0;
+       if (!e) {
+        Cq(d);
+        q[a + 28 >> 2] = 0;
+        q[a + 4 >> 2] = 0;
+        q[a + 8 >> 2] = 0;
+        return b;
+       }
+       d = aF(e, a);
+       c = q[a + 24 >> 2];
+       f : {
+        if (d) {
+         if (!c) {
+          break f;
+         }
+         q[a + 24 >> 2] = 0;
+         c = aF(e, a);
+         d = q[a + 24 >> 2];
+         Cq(q[a + 28 >> 2]);
+         q[a + 28 >> 2] = 0;
+         q[a + 4 >> 2] = 0;
+         q[a + 8 >> 2] = 0;
+         if (d) {
+          break b;
+         }
+         if (c) {
+          break e;
+         }
+         break b;
+        }
+        if (r[a + 20 | 0] | !c) {
+         break d;
+        }
+        c = Iq(b);
+        q[a + 4 >> 2] = c;
+        q[a + 8 >> 2] = c + q[b + 16 >> 2];
+        d = q[a + 28 >> 2];
+        e = 1;
+        if (c) {
+         continue;
+        }
+        break c;
+       }
+       break;
+      }
+      Cq(q[a + 28 >> 2]);
+      q[a + 28 >> 2] = 0;
+      q[a + 4 >> 2] = 0;
+      q[a + 8 >> 2] = 0;
+     }
+     Gq(b);
+     return b;
+    }
+    d = q[a + 28 >> 2];
+   }
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(270893, 270918, 195, 270935);
+ F();
+}
+function Py(a) {
+ var b = 0, c = 0, d = 0;
+ b = q[a >> 2];
+ c = Fy(b);
+ a : {
+  b : {
+   c : {
+    d = b + -6042 | 0;
+    if (d >>> 0 > 67) {
+     break c;
+    }
+    b = 16;
+    d : {
+     switch (d - 1 | 0) {
+     case 43:
+     case 48:
+     case 50:
+     case 51:
+     case 52:
+     case 53:
+     case 54:
+      b = 21;
+      break a;
+     case 46:
+     case 47:
+     case 49:
+      break b;
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 8:
+     case 9:
+     case 10:
+     case 11:
+     case 12:
+     case 13:
+     case 14:
+     case 15:
+     case 16:
+     case 17:
+     case 18:
+     case 19:
+     case 20:
+     case 21:
+     case 22:
+     case 23:
+     case 24:
+     case 25:
+     case 26:
+     case 27:
+     case 28:
+     case 29:
+     case 30:
+     case 31:
+     case 32:
+     case 33:
+     case 34:
+     case 35:
+     case 36:
+     case 37:
+     case 38:
+     case 39:
+     case 40:
+     case 41:
+     case 42:
+     case 55:
+     case 57:
+     case 58:
+     case 59:
+     case 60:
+     case 61:
+     case 62:
+     case 63:
+     case 64:
+     case 65:
+      break c;
+     case 44:
+     case 45:
+     case 56:
+     case 66:
+      break d;
+     default:
+      break a;
+     }
+    }
+    b = 22;
+    break a;
+   }
+   b = c & 127;
+   if ((b | 0) != 7) {
+    break a;
+   }
+   e : {
+    c = (c >>> 8 | 0) + -3 | 0;
+    if (c >>> 0 > 8) {
+     break e;
+    }
+    b = 28;
+    f : {
+     switch (c - 1 | 0) {
+     case 4:
+      b = 27;
+      break a;
+     case 2:
+      b = 26;
+      break a;
+     case 0:
+     case 1:
+     case 3:
+     case 5:
+     case 6:
+      break e;
+     case 7:
+      break f;
+     default:
+      break a;
+     }
+    }
+    b = 29;
+    break a;
+   }
+   J(241464, 241466, 106, 241497);
+   F();
+  }
+  b = 20;
+ }
+ o[a + 18 | 0] = b;
+}
+function dr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ c = Ca - 48 | 0;
+ Ca = c;
+ d = r[a + 7 | 0];
+ a : {
+  if (d >>> 0 > 6) {
+   break a;
+  }
+  b : {
+   switch (d - 1 | 0) {
+   default:
+    d = q[b >> 2];
+    if (!(o[d + 140 | 0] & 1)) {
+     break a;
+    }
+    e = r[a + 4 | 0];
+    if (e & 16) {
+     break a;
+    }
+    q[c + 24 >> 2] = a;
+    f = 1;
+    q[c + 28 >> 2] = b;
+    o[c + 12 | 0] = e >>> 6 & 1;
+    q[c + 8 >> 2] = c + 24;
+    qs(c + 8 | 0, q[b + 4 >> 2], q[b + 12 >> 2], q[d + 132 >> 2]);
+    break a;
+   case 0:
+    f = rs(a, b);
+    break a;
+   case 1:
+    d = q[b >> 2];
+    if (!(o[d + 140 | 0] & 1)) {
+     break a;
+    }
+    e = r[a + 4 | 0];
+    if (e & 16) {
+     break a;
+    }
+    q[c + 24 >> 2] = a;
+    f = 1;
+    q[c + 28 >> 2] = b;
+    o[c + 12 | 0] = e >>> 6 & 1;
+    q[c + 8 >> 2] = c + 24;
+    ss(c + 8 | 0, q[b + 4 >> 2], q[b + 12 >> 2], q[d + 132 >> 2]);
+    break a;
+   case 3:
+    q[c + 24 >> 2] = b;
+    q[c + 28 >> 2] = r[a + 28 | 0] >>> 6;
+    f = r[a + 31 | 0];
+    d = r[a + 30 | 0];
+    e = r[a + 29 | 0];
+    q[c + 40 >> 2] = 0;
+    o[c + 36 | 0] = 0;
+    a = a + 12 | 0;
+    q[c + 32 >> 2] = a + (f | (d << 8 | e << 16));
+    f = q[q[b + 4 >> 2] + 16 >> 2];
+    q[c + 12 >> 2] = q[b + 12 >> 2];
+    q[c + 8 >> 2] = a;
+    b = c;
+    a = q[f + 32 >> 2];
+    if ((a | 0) == -1) {
+     a = VF(f);
+    }
+    q[b + 16 >> 2] = a;
+    ts(c + 8 | 0, c + 24 | 0);
+    f = 1;
+    break a;
+   case 2:
+   case 4:
+    break a;
+   case 5:
+    break b;
+   }
+  }
+  d = q[b >> 2];
+  if (!(o[d + 140 | 0] & 1)) {
+   break a;
+  }
+  e = r[a + 4 | 0];
+  if (e & 16) {
+   break a;
+  }
+  q[c + 24 >> 2] = a;
+  f = 1;
+  q[c + 28 >> 2] = b;
+  o[c + 12 | 0] = e >>> 6 & 1;
+  q[c + 8 >> 2] = c + 24;
+  us(c + 8 | 0, q[b + 4 >> 2], q[b + 12 >> 2], q[d + 132 >> 2]);
+ }
+ Ca = c + 48 | 0;
+ return f;
+}
+function aM(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ if (a) {
+  c = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+  d = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+  o[a | 0] = d;
+  o[a + 1 | 0] = d >>> 8;
+  o[a + 2 | 0] = d >>> 16;
+  o[a + 3 | 0] = d >>> 24;
+  o[a + 4 | 0] = c;
+  o[a + 5 | 0] = c >>> 8;
+  o[a + 6 | 0] = c >>> 16;
+  o[a + 7 | 0] = c >>> 24;
+  c = r[b + 32 | 0] | r[b + 33 | 0] << 8 | (r[b + 34 | 0] << 16 | r[b + 35 | 0] << 24);
+  o[a + 32 | 0] = c;
+  o[a + 33 | 0] = c >>> 8;
+  o[a + 34 | 0] = c >>> 16;
+  o[a + 35 | 0] = c >>> 24;
+  c = r[b + 28 | 0] | r[b + 29 | 0] << 8 | (r[b + 30 | 0] << 16 | r[b + 31 | 0] << 24);
+  d = r[b + 24 | 0] | r[b + 25 | 0] << 8 | (r[b + 26 | 0] << 16 | r[b + 27 | 0] << 24);
+  o[a + 24 | 0] = d;
+  o[a + 25 | 0] = d >>> 8;
+  o[a + 26 | 0] = d >>> 16;
+  o[a + 27 | 0] = d >>> 24;
+  o[a + 28 | 0] = c;
+  o[a + 29 | 0] = c >>> 8;
+  o[a + 30 | 0] = c >>> 16;
+  o[a + 31 | 0] = c >>> 24;
+  c = r[b + 20 | 0] | r[b + 21 | 0] << 8 | (r[b + 22 | 0] << 16 | r[b + 23 | 0] << 24);
+  d = r[b + 16 | 0] | r[b + 17 | 0] << 8 | (r[b + 18 | 0] << 16 | r[b + 19 | 0] << 24);
+  o[a + 16 | 0] = d;
+  o[a + 17 | 0] = d >>> 8;
+  o[a + 18 | 0] = d >>> 16;
+  o[a + 19 | 0] = d >>> 24;
+  o[a + 20 | 0] = c;
+  o[a + 21 | 0] = c >>> 8;
+  o[a + 22 | 0] = c >>> 16;
+  o[a + 23 | 0] = c >>> 24;
+  c = r[b + 12 | 0] | r[b + 13 | 0] << 8 | (r[b + 14 | 0] << 16 | r[b + 15 | 0] << 24);
+  b = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+  o[a + 8 | 0] = b;
+  o[a + 9 | 0] = b >>> 8;
+  o[a + 10 | 0] = b >>> 16;
+  o[a + 11 | 0] = b >>> 24;
+  o[a + 12 | 0] = c;
+  o[a + 13 | 0] = c >>> 8;
+  o[a + 14 | 0] = c >>> 16;
+  o[a + 15 | 0] = c >>> 24;
+  return 1;
+ }
+ bM(q[b >> 2]);
+ return 1;
+}
+function tO(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, q = 0, t = 0, u = 0, v = 0, x = 0;
+ f = 1;
+ l = Z$(e, 0, b << 2);
+ m = l + (b << 1) | 0;
+ e = r[a | 0];
+ n = 1;
+ a : {
+  if (b >>> 0 < 2) {
+   g = e;
+   h = e;
+   e = 0;
+   break a;
+  }
+  i = e;
+  while (1) {
+   q = (f << 1) + -2 | 0;
+   g = r[a + f | 0];
+   h = i + g | 0;
+   e = h + e | 0;
+   p[q + l >> 1] = e;
+   p[m + q >> 1] = e;
+   e = h;
+   i = g;
+   f = f + 1 | 0;
+   if ((f | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+  e = b + -1 | 0;
+ }
+ i = e << 1;
+ e = g + h | 0;
+ p[i + l >> 1] = e;
+ p[i + m >> 1] = e;
+ if (c >>> 0 >= 2) {
+  v = b >>> 0 < 2;
+  while (1) {
+   t = w(n + -1 | 0, d) + a | 0;
+   u = w(d, n) + a | 0;
+   e = r[u | 0];
+   h = e;
+   f = 1;
+   j = 1;
+   g = e;
+   if (!v) {
+    while (1) {
+     q = f + -1 | 0;
+     k = q << 1;
+     g = k + l | 0;
+     j = s[g >> 1];
+     x = g;
+     i = r[f + u | 0];
+     g = i + h | 0;
+     e = g + e | 0;
+     p[x >> 1] = e;
+     e = e + j | 0;
+     h = k + m | 0;
+     o[q + t | 0] = e + s[h >> 1] >>> 4;
+     p[h >> 1] = e;
+     e = g;
+     h = i;
+     f = f + 1 | 0;
+     if ((f | 0) != (b | 0)) {
+      continue;
+     }
+     break;
+    }
+    j = b;
+    e = i;
+   }
+   k = j + -1 | 0;
+   j = k << 1;
+   i = j + l | 0;
+   h = s[i >> 1];
+   e = e + g | 0;
+   p[i >> 1] = e;
+   e = e + h | 0;
+   g = j + m | 0;
+   o[k + t | 0] = e + s[g >> 1] >>> 4;
+   p[g >> 1] = e;
+   n = n + 1 | 0;
+   if ((n | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+  k = c + -1 | 0;
+ }
+ if (b) {
+  c = w(d, k) + a | 0;
+  f = 0;
+  while (1) {
+   a = f << 1;
+   o[c + f | 0] = s[a + l >> 1] + s[a + m >> 1] >>> 4;
+   f = f + 1 | 0;
+   if ((f | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Ud(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  if (ce(a, 3155, 2)) {
+   c = 10;
+   if (ce(a, 3158, 2)) {
+    break a;
+   }
+  }
+  a = a + 2 | 0;
+  c = 16;
+ }
+ g = 1;
+ b : {
+  c : {
+   while (1) {
+    b = r[a | 0] + -9 | 0;
+    if (b >>> 0 > 36) {
+     break b;
+    }
+    d : {
+     switch (b - 1 | 0) {
+     default:
+      a = a + 1 | 0;
+      continue;
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 8:
+     case 9:
+     case 10:
+     case 11:
+     case 12:
+     case 13:
+     case 14:
+     case 15:
+     case 16:
+     case 17:
+     case 18:
+     case 19:
+     case 20:
+     case 21:
+     case 23:
+     case 24:
+     case 25:
+     case 26:
+     case 27:
+     case 28:
+     case 29:
+     case 30:
+     case 31:
+     case 32:
+     case 34:
+      break b;
+     case 35:
+      break c;
+     case 33:
+      break d;
+     }
+    }
+    break;
+   }
+   a = a + 1 | 0;
+   break b;
+  }
+  a = a + 1 | 0;
+  g = -1;
+ }
+ b = 0;
+ if ((c | 0) == 16) {
+  a = ce(a, 3158, 2) ? a : a + 2 | 0;
+ }
+ d = o[a | 0];
+ if ((d | 0) >= 48) {
+  i = c + 55 | 0;
+  j = c + 87 | 0;
+  b = a;
+  while (1) {
+   e : {
+    e = b;
+    b = -48;
+    f : {
+     f = d & 255;
+     if (f >>> 0 < 58) {
+      break f;
+     }
+     if ((d | 0) >= 97) {
+      b = -87;
+      if (j >>> 0 > f >>> 0) {
+       break f;
+      }
+     }
+     if ((d | 0) < 65) {
+      b = e;
+      break e;
+     }
+     b = -55;
+     if (i >>> 0 > f >>> 0) {
+      break f;
+     }
+     b = e;
+     break e;
+    }
+    h = (b + f | 0) + w(c, h) | 0;
+    b = e + 1 | 0;
+    d = o[e + 1 | 0];
+    if ((d | 0) > 47) {
+     continue;
+    }
+   }
+   break;
+  }
+  b = w((a | 0) == (b | 0) ? 1 : g, h);
+ }
+ return b << 8 & 16711680 | b << 24 | (b >>> 8 & 65280 | b >>> 24);
+}
+function HK(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0;
+ a = Z$(a, 0, 656);
+ q[a >> 2] = q[b >> 2];
+ q[a + 4 >> 2] = q[b + 4 >> 2];
+ q[a + 8 >> 2] = q[b + 8 >> 2];
+ q[a + 12 >> 2] = q[b + 12 >> 2];
+ q[a + 16 >> 2] = q[b + 16 >> 2];
+ d = q[b + 20 >> 2];
+ q[a + 40 >> 2] = b + 48;
+ q[a + 36 >> 2] = b + 40;
+ q[a + 32 >> 2] = b + 32;
+ q[a + 28 >> 2] = b + 28;
+ q[a + 24 >> 2] = b + 24;
+ q[a + 20 >> 2] = d;
+ if (c) {
+  d = r[b + 70 | 0];
+  e = r[b + 68 | 0] | r[b + 69 | 0] << 8;
+  o[a + 45 | 0] = e;
+  o[a + 46 | 0] = e >>> 8;
+  q[a + 540 >> 2] = b + 1508;
+  e = q[72489];
+  q[a + 52 >> 2] = q[72488];
+  q[a + 56 >> 2] = e;
+  o[a + 48 | 0] = c;
+  o[a + 47 | 0] = d;
+  o[a + 44 | 0] = 0;
+  q[a + 604 >> 2] = q[b + 1348 >> 2];
+  q[a + 584 >> 2] = q[b + 1352 >> 2];
+  q[a + 580 >> 2] = q[b + 1356 >> 2];
+  q[a + 588 >> 2] = q[b + 1472 >> 2];
+  q[a + 644 >> 2] = q[b + 1468 >> 2];
+  q[a + 556 >> 2] = q[b + 1364 >> 2];
+  q[a + 572 >> 2] = q[b + 1368 >> 2];
+  q[a + 612 >> 2] = q[b + 1372 >> 2];
+  q[a + 616 >> 2] = q[b + 1376 >> 2];
+  q[a + 648 >> 2] = q[b + 1496 >> 2];
+  q[a + 652 >> 2] = q[b + 1500 >> 2];
+  q[a + 608 >> 2] = q[b + 1360 >> 2];
+  return;
+ }
+ c = q[b + 64 >> 2];
+ d = q[72489];
+ q[a + 52 >> 2] = q[72488];
+ q[a + 56 >> 2] = d;
+ o[a + 48 | 0] = 0;
+ q[a + 44 >> 2] = c;
+ c = q[b + 108 >> 2];
+ q[a + 532 >> 2] = c;
+ q[a + 540 >> 2] = c + 3104;
+ q[a + 536 >> 2] = q[b + 768 >> 2];
+ q[a + 560 >> 2] = q[b + 732 >> 2];
+ q[a + 576 >> 2] = q[b + 748 >> 2];
+ q[a + 568 >> 2] = q[b + 740 >> 2];
+ q[a + 556 >> 2] = q[b + 728 >> 2];
+ q[a + 572 >> 2] = q[b + 744 >> 2];
+ c = q[b + 736 >> 2];
+ q[a + 544 >> 2] = b + 584;
+ q[a + 564 >> 2] = c;
+ o[a + 548 | 0] = r[b + 593 | 0];
+ q[a + 588 >> 2] = q[b + 760 >> 2];
+ q[a + 596 >> 2] = q[b + 772 >> 2];
+ q[a + 600 >> 2] = q[b + 776 >> 2];
+}
+function Uz(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = x(0), l = 0, m = 0, n = 0, o = 0, p = 0, s = 0, t = x(0), v = 0, y = x(0);
+ p = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+ n = p >>> 0 < f >>> 0 ? p : f;
+ if (n) {
+  while (1) {
+   g = (o << 1) + a | 0;
+   g = r[g + 6 | 0] << 8 | r[g + 7 | 0];
+   a : {
+    if ((r[d + 3 | 0] | r[d + 2 | 0] << 8) >>> 0 <= g >>> 0) {
+     k = x(0);
+     break a;
+    }
+    k = x(1);
+    s = r[d + 1 | 0] | r[d | 0] << 8;
+    if (!s) {
+     break a;
+    }
+    v = (w(w(g, s), 6) + d | 0) + 4 | 0;
+    l = 0;
+    while (1) {
+     i = 0;
+     i = l >>> 0 < c >>> 0 ? q[(l << 2) + b >> 2] : i;
+     y = k;
+     t = x(1);
+     h = w(l, 6) + v | 0;
+     g = r[h + 2 | 0] | r[h + 3 | 0] << 8;
+     j = (g << 24 | g << 8 & 16711680) >> 16;
+     g = r[h | 0] | r[h + 1 | 0] << 8;
+     m = (g << 24 | g << 8 & 16711680) >> 16;
+     b : {
+      if ((j | 0) < (m | 0)) {
+       break b;
+      }
+      g = r[h + 4 | 0] | r[h + 5 | 0] << 8;
+      h = (g << 24 | g << 8 & 16711680) >> 16;
+      if ((h | 0) < (j | 0) | ((h | 0) > 0 ? !(!j | (m | 0) > -1) : 0)) {
+       break b;
+      }
+      if (!j | (i | 0) == (j | 0)) {
+       break b;
+      }
+      if ((i | 0) <= (m | 0)) {
+       k = x(0);
+       break a;
+      }
+      if ((i | 0) >= (h | 0)) {
+       k = x(0);
+       break a;
+      }
+      k = x(0);
+      g = (i | 0) < (j | 0);
+      t = x(x((g ? i - m | 0 : h - i | 0) | 0) / x((g ? j - m | 0 : h - j | 0) | 0));
+      if (t == x(0)) {
+       break a;
+      }
+     }
+     k = x(y * t);
+     l = l + 1 | 0;
+     if ((s | 0) != (l | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   u[(o << 2) + e >> 2] = k;
+   o = o + 1 | 0;
+   if ((n | 0) != (o | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ if (p >>> 0 < f >>> 0) {
+  Z$((n << 2) + e | 0, 0, f - n << 2);
+ }
+}
+function DM(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0, u = 0, x = 0, z = 0, B = 0, C = 0, D = 0, E = 0, F = 0;
+ d = Ca - 128 | 0;
+ Ca = d;
+ f = q[a >> 2];
+ x = q[f - -64 >> 2];
+ z = q[f + 56 >> 2];
+ o = q[a + 16 >> 2];
+ g = o >> 31;
+ p = q[a + 12 >> 2];
+ i = p >> 31;
+ r = q[a + 24 >> 2];
+ n = r >> 31;
+ s = q[a + 20 >> 2];
+ B = s >> 31;
+ C = q[f + 60 >> 2];
+ f = q[f + 52 >> 2];
+ j = +(C - f | 0) * .5 + 64;
+ t = 8 / j;
+ D = q[a + 28 >> 2];
+ g = (g ^ g + o) + (i ^ i + p) | 0;
+ i = (n ^ n + r) + (B ^ s + B) | 0;
+ e = .125 / +(((g | 0) > (i | 0) ? g : i) | 0);
+ h = t * +(D | 0) * e;
+ v[d + 96 >> 3] = h;
+ k = +(x - z | 0) * .5 + 64;
+ l = 8 / k;
+ g = q[a + 32 >> 2];
+ e = l * +(g | 0) * e;
+ v[d + 104 >> 3] = e;
+ i = q[a + 4 >> 2];
+ n = q[a + 8 >> 2];
+ j = A(k * y(e) + (j * y(h) + 1), 16);
+ k = +(f + C | 0) * .5;
+ u = +(x + z | 0) * .5;
+ v[d + 112 >> 3] = j - (k * h + u * e);
+ m = +(n << 3);
+ E = l * +(r | 0) + e * m;
+ v[d + 80 >> 3] = E;
+ F = t * +(s | 0) + h * m;
+ v[d + 72 >> 3] = F;
+ v[d + 88 >> 3] = j * m + 0 - (k * F + u * E);
+ m = e;
+ e = +(i << 3);
+ l = l * +(o | 0) + m * e;
+ v[d + 56 >> 3] = l;
+ h = t * +(p | 0) + h * e;
+ v[d + 48 >> 3] = h;
+ v[d + 64 >> 3] = j * e + 0 - (k * h + u * l);
+ f = q[a >> 2] + 4 | 0;
+ a : {
+  if (g | D) {
+   SN(d, f, d + 48 | 0);
+   SN(d + 24 | 0, q[a >> 2] + 28 | 0, d + 48 | 0);
+   break a;
+  }
+  RN(d, f, d + 48 | 0);
+  RN(d + 24 | 0, q[a >> 2] + 28 | 0, d + 48 | 0);
+ }
+ a = d + 24 | 0;
+ if (!zO(c, b, d, a)) {
+  q[b >> 2] = 0;
+  q[b + 4 >> 2] = 0;
+  q[b + 16 >> 2] = 0;
+  q[b + 20 >> 2] = 0;
+  q[b + 8 >> 2] = 0;
+  q[b + 12 >> 2] = 0;
+ }
+ ON(d);
+ ON(a);
+ Ca = d + 128 | 0;
+ return w(q[b + 16 >> 2], q[b + 12 >> 2]) + 60 | 0;
+}
+function kv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  f = q[b + 4 >> 2];
+  if (f >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  h = 1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!g) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | f >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < g >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = d + -2;
+   if ((d | 0) < 2) {
+    break a;
+   }
+   g = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!g) {
+    break b;
+   }
+   c = c + g | 0;
+   c : {
+    if (f >>> 0 > c >>> 0 | e >>> 0 < c >>> 0) {
+     break c;
+    }
+    e = e - c | 0;
+    if (e >>> 0 < 2) {
+     break c;
+    }
+    q[b + 12 >> 2] = d + -3;
+    if ((d | 0) < 3) {
+     break c;
+    }
+    f = r[c | 0] | r[c + 1 | 0] << 8;
+    f = ((f << 24 | f << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+    if (f >>> 0 > 2) {
+     break b;
+    }
+    d : {
+     switch (f - 1 | 0) {
+     default:
+      if (e >>> 0 < 4) {
+       break c;
+      }
+      q[b + 12 >> 2] = d + -4;
+      if ((d | 0) <= 3) {
+       break c;
+      }
+      break b;
+     case 0:
+      if (e >>> 0 < 4) {
+       break c;
+      }
+      q[b + 12 >> 2] = d + -4;
+      if ((d | 0) <= 3) {
+       break c;
+      }
+      break b;
+     case 1:
+      break d;
+     }
+    }
+    if (e >>> 0 < 6) {
+     break c;
+    }
+    q[b + 12 >> 2] = d + -4;
+    if ((d | 0) < 4) {
+     break c;
+    }
+    if (lv(c + 4 | 0, b, c)) {
+     break b;
+    }
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   h = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function mr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ e = q[b + 4 >> 2];
+ c = a + 4 | 0;
+ a : {
+  if (e >>> 0 > c >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < c >>> 0 | f - c >>> 0 < 4) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  if ((g | 0) < 1) {
+   break a;
+  }
+  c = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+  c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  if (c >>> 0 < 16 | e >>> 0 > a >>> 0 | (f >>> 0 < a >>> 0 | f - a >>> 0 < c >>> 0)) {
+   break a;
+  }
+  q[b + 12 >> 2] = g + -2;
+  if ((g | 0) < 2) {
+   break a;
+  }
+  c = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+  c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  if (c >>> 0 > 357913940) {
+   break a;
+  }
+  c = w(c, 12);
+  h = 0;
+  b : {
+   if (!c) {
+    break b;
+   }
+   h = e;
+   e = a + 16 | 0;
+   if (h >>> 0 > e >>> 0 | f >>> 0 < e >>> 0 | f - e >>> 0 < c >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = g + -3;
+   if ((g | 0) < 3) {
+    break a;
+   }
+   d = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+   h = w(d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24), 12);
+  }
+  d = h;
+  c = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+  c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  if (!c) {
+   return 1;
+  }
+  a = (a + d | 0) + 16 | 0;
+  e = 0;
+  while (1) {
+   if (!nr(a, b)) {
+    return 0;
+   }
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   a = a + (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) | 0;
+   d = 1;
+   e = e + 1 | 0;
+   if ((c | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return d;
+}
+function ru(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ a : {
+  c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (!yu(c ? c + a | 0 : 271040, q[b + 8 >> 2])) {
+   break a;
+  }
+  c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  d = c ? c + a | 0 : 271040;
+  c = r[d | 0] | r[d + 1 | 0] << 8;
+  i = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+  l = i >>> 0 > 1;
+  b : {
+   if (l) {
+    d = 0;
+    c = 0;
+    break b;
+   }
+   c = 0;
+   if (i - 1) {
+    break b;
+   }
+   g = d + 4 | 0;
+   f = r[d + 3 | 0] | r[d + 2 | 0] << 8;
+   c = f ? g : 271432;
+   e = (r[c + 1 | 0] | r[c | 0] << 8) >>> 0 > (r[c + 3 | 0] | r[c + 2 | 0] << 8) >>> 0 ? f : 0;
+   c = f ? r[d + 5 | 0] | r[g | 0] << 8 : 0;
+  }
+  f = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  g = a + 6 | 0;
+  while (1) {
+   if (l) {
+    break a;
+   }
+   c : {
+    if (!(i - 1)) {
+     if (!f) {
+      break a;
+     }
+     if (e >>> 0 < (r[d + 3 | 0] | r[d + 2 | 0] << 8) >>> 0) {
+      break c;
+     }
+     break a;
+    }
+    if (!f | e >>> 0 >= (r[d + 3 | 0] | r[d + 2 | 0] << 8) >>> 0) {
+     break a;
+    }
+   }
+   h = r[g + 1 | 0] | r[g | 0] << 8;
+   Eu(h ? h + a | 0 : 271040, b);
+   d : {
+    if (l) {
+     break d;
+    }
+    if (i - 1) {
+     e = e + 1 | 0;
+     break d;
+    }
+    h = r[d + 3 | 0] | r[d + 2 | 0] << 8;
+    j = h >>> 0 > e >>> 0 ? (w(e, 6) + d | 0) + 4 | 0 : 271432;
+    if (c >>> 0 >= (r[j + 2 | 0] << 8 | r[j + 3 | 0]) >>> 0) {
+     e = e + 1 | 0;
+     if (e >>> 0 >= h >>> 0) {
+      break d;
+     }
+     j = k + 1 | 0;
+     c = w(e, 6) + d | 0;
+     k = r[c + 8 | 0] << 8 | r[c + 9 | 0];
+     e = (j | 0) == (k | 0) ? e : h;
+     c = r[c + 5 | 0] | r[c + 4 | 0] << 8;
+     break d;
+    }
+    c = c + 1 | 0;
+    k = k + 1 | 0;
+   }
+   g = g + 2 | 0;
+   f = f + -1 | 0;
+   continue;
+  }
+ }
+}
+function qn(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ q[f + 12 >> 2] = 0;
+ a : {
+  if (!a) {
+   d = 33;
+   break a;
+  }
+  d = 6;
+  if (!b | !c) {
+   break a;
+  }
+  if ((b | 0) == (c | 0)) {
+   d = 0;
+   break a;
+  }
+  g = q[c + 8 >> 2];
+  i = (g | 0) > -1 ? 1 : -1;
+  d = 0;
+  e = q[b + 8 >> 2];
+  j = (e | 0) < 0 ? -1 : 1;
+  if (!q[b + 12 >> 2]) {
+   a = q[b + 4 >> 2];
+   q[c >> 2] = q[b >> 2];
+   q[c + 4 >> 2] = a;
+   a = q[b + 20 >> 2];
+   q[c + 16 >> 2] = q[b + 16 >> 2];
+   q[c + 20 >> 2] = a;
+   a = q[b + 12 >> 2];
+   q[c + 8 >> 2] = q[b + 8 >> 2];
+   q[c + 12 >> 2] = a;
+   if ((i | 0) == (j | 0)) {
+    break a;
+   }
+   q[c + 8 >> 2] = 0 - q[c + 8 >> 2];
+   break a;
+  }
+  d = e >> 31;
+  e = d + e ^ d;
+  h = w(e, q[b >> 2]);
+  d = q[a >> 2];
+  l = c;
+  a = q[c + 12 >> 2];
+  b : {
+   c : {
+    if (a) {
+     k = g >> 31;
+     g = w(q[c >> 2], k ^ g + k);
+     if ((g | 0) == (h | 0)) {
+      break b;
+     }
+     a = Yg(d, g, h, a, f + 12 | 0);
+     break c;
+    }
+    a = Mg(d, h, f + 12 | 0);
+   }
+   q[l + 12 >> 2] = a;
+  }
+  d : {
+   if (q[f + 12 >> 2]) {
+    break d;
+   }
+   d = q[b + 12 >> 2];
+   q[c + 8 >> 2] = q[b + 8 >> 2];
+   q[c + 12 >> 2] = d;
+   d = q[b + 4 >> 2];
+   q[c >> 2] = q[b >> 2];
+   q[c + 4 >> 2] = d;
+   d = q[b + 20 >> 2];
+   q[c + 16 >> 2] = q[b + 16 >> 2];
+   q[c + 20 >> 2] = d;
+   q[c + 12 >> 2] = a;
+   b = q[b + 12 >> 2];
+   if ((i | 0) == (j | 0)) {
+    Y$(a, b, h);
+    break d;
+   }
+   c = q[c >> 2];
+   if (!c) {
+    break d;
+   }
+   d = 0 - e | 0;
+   a = w(e, c + -1 | 0) + a | 0;
+   while (1) {
+    a = Y$(a, b, e) + d | 0;
+    b = b + e | 0;
+    c = c + -1 | 0;
+    if (c) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = q[f + 12 >> 2];
+ }
+ Ca = f + 16 | 0;
+ return d;
+}
+function bh(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0;
+ h = Ca - 32 | 0;
+ Ca = h;
+ i = q[a >> 2];
+ a : {
+  b : {
+   c : {
+    if (a) {
+     if (!b) {
+      a = 6;
+      break a;
+     }
+     g = n[q[i + 4 >> 2]](i, 40) | 0;
+     if (g) {
+      break b;
+     }
+     a = 64;
+     break c;
+    }
+    a = 33;
+    if (!b) {
+     break a;
+    }
+   }
+   n[q[i + 8 >> 2]](i, b);
+   break a;
+  }
+  o[g + 20 | 0] = 0;
+  o[g + 21 | 0] = 0;
+  o[g + 22 | 0] = 0;
+  o[g + 23 | 0] = 0;
+  o[g + 24 | 0] = 0;
+  o[g + 25 | 0] = 0;
+  o[g + 26 | 0] = 0;
+  o[g + 27 | 0] = 0;
+  o[g + 28 | 0] = 0;
+  o[g + 29 | 0] = 0;
+  o[g + 30 | 0] = 0;
+  o[g + 31 | 0] = 0;
+  o[g + 32 | 0] = 0;
+  o[g + 33 | 0] = 0;
+  o[g + 34 | 0] = 0;
+  o[g + 35 | 0] = 0;
+  o[g + 12 | 0] = 0;
+  o[g + 13 | 0] = 0;
+  o[g + 14 | 0] = 0;
+  o[g + 15 | 0] = 0;
+  o[g + 16 | 0] = 0;
+  o[g + 17 | 0] = 0;
+  o[g + 18 | 0] = 0;
+  o[g + 19 | 0] = 0;
+  q[g + 8 >> 2] = 0;
+  q[g + 4 >> 2] = c;
+  q[g >> 2] = b;
+  o[g + 36 | 0] = 0;
+  o[g + 37 | 0] = 0;
+  o[g + 38 | 0] = 0;
+  o[g + 39 | 0] = 0;
+  q[g + 24 >> 2] = 13;
+  q[g + 20 >> 2] = 0;
+  q[g + 32 >> 2] = 0;
+  q[h + 16 >> 2] = g;
+  q[h >> 2] = 2;
+  if (e) {
+   q[h >> 2] = 10;
+   b = q[a + 16 >> 2];
+   d : {
+    if ((b | 0) < 1) {
+     c = 0;
+     break d;
+    }
+    j = ((b << 2) + a | 0) + 20 | 0;
+    b = a + 20 | 0;
+    while (1) {
+     c = q[b >> 2];
+     if (!iZ(q[q[c >> 2] + 8 >> 2], e)) {
+      break d;
+     }
+     b = b + 4 | 0;
+     if (b >>> 0 < j >>> 0) {
+      continue;
+     }
+     break;
+    }
+    c = 0;
+   }
+   q[h + 20 >> 2] = c;
+  }
+  a = zf(a, h, d, f, 0);
+  if (!a) {
+   a = q[f >> 2];
+   q[a + 8 >> 2] = q[a + 8 >> 2] & -1025;
+   a = 0;
+   break a;
+  }
+  b = q[g + 24 >> 2];
+  if (b) {
+   n[b](g);
+  }
+  n[q[i + 8 >> 2]](i, g);
+ }
+ Ca = h + 32 | 0;
+ return a;
+}
+function Go(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ g = q[a + 16 >> 2];
+ d = r[g + 12 | 0] | r[g + 13 | 0] << 8 | (r[g + 14 | 0] << 16 | r[g + 15 | 0] << 24);
+ j = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+ a : {
+  if (!j) {
+   break a;
+  }
+  h = q[b >> 2];
+  if (c) {
+   if ((h | 0) == -1) {
+    break a;
+   }
+   h = h + 1 | 0;
+  }
+  m = g + 20 | 0;
+  d = j;
+  b : {
+   c : {
+    while (1) {
+     i = d + k >>> 1 | 0;
+     g = w(i, 12) + m | 0;
+     e = g;
+     f = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+     l = f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24);
+     f = i;
+     e = e + -4 | 0;
+     e = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+     e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+     if (h >>> 0 >= e >>> 0) {
+      if (h >>> 0 <= l >>> 0) {
+       break c;
+      }
+      k = i + 1 | 0;
+      f = d;
+     }
+     d = f;
+     if (k >>> 0 < d >>> 0) {
+      continue;
+     }
+     break;
+    }
+    d = 0;
+    break b;
+   }
+   f = r[g + 4 | 0] | r[g + 5 | 0] << 8 | (r[g + 6 | 0] << 16 | r[g + 7 | 0] << 24);
+   d = f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24);
+   f = h - e | 0;
+   d = d >>> 0 > (f ^ -1) >>> 0 ? 0 : d + f | 0;
+  }
+  if (!c) {
+   return d;
+  }
+  c = q[a >> 2];
+  if (h >>> 0 > l >>> 0) {
+   f = 0;
+   i = i + 1 | 0;
+   if ((j | 0) == (i | 0)) {
+    break a;
+   }
+  }
+  o[a + 24 | 0] = 1;
+  q[a + 36 >> 2] = i;
+  q[a + 28 >> 2] = h;
+  d : {
+   if (!(d >>> 0 < t[c + 16 >> 2] ? d : 0)) {
+    Io(a);
+    d = 0;
+    if (!r[a + 24 | 0]) {
+     break d;
+    }
+    d = q[a + 32 >> 2];
+    break d;
+   }
+   q[a + 32 >> 2] = d;
+  }
+  f = d;
+  q[b >> 2] = q[a + 28 >> 2];
+ }
+ return f;
+}
+function ht(a, b, c, d, e, f) {
+ var g = 0, h = 0;
+ a : {
+  if ((b | 0) != 1196445523) {
+   g = 271040;
+   if ((b | 0) != 1196643650) {
+    break a;
+   }
+   a = q[Ws(a + 136 | 0) >> 2];
+   a = a ? a : 271040;
+   g = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+   break a;
+  }
+  a = q[Xs(a + 140 | 0) >> 2];
+  a = a ? a : 271040;
+  g = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+ }
+ a = r[g + 5 | 0] | r[g + 4 | 0] << 8;
+ a = a ? g + a | 0 : 271040;
+ b = (r[a + 1 | 0] | r[a | 0] << 8) >>> 0 > c >>> 0 ? (a + w(c, 6) | 0) + 2 | 0 : 271040;
+ b = r[b + 4 | 0] << 8 | r[b + 5 | 0];
+ a = b ? a + b | 0 : 271040;
+ b : {
+  if ((d | 0) == 65535) {
+   c = a + 1 | 0;
+   b = a;
+   break b;
+  }
+  b = (r[a + 3 | 0] | r[a + 2 | 0] << 8) >>> 0 > d >>> 0 ? (a + w(d, 6) | 0) + 4 | 0 : 271040;
+  c = b + 5 | 0;
+  b = b + 4 | 0;
+ }
+ c : {
+  d : {
+   d = a;
+   a = r[c | 0] | r[b | 0] << 8;
+   d = a ? d + a | 0 : 271426;
+   h = r[d + 4 | 0] << 8 | r[d + 5 | 0];
+   if (!h) {
+    break d;
+   }
+   b = 0;
+   while (1) {
+    a = h >>> 0 > b >>> 0 ? ((b << 1) + d | 0) + 6 | 0 : 271424;
+    a = r[a | 0] << 8 | r[a + 1 | 0];
+    if ((a | 0) != 65535) {
+     c = r[g + 7 | 0] | r[g + 6 | 0] << 8;
+     c = c ? c + g | 0 : 271040;
+     c = (r[c + 1 | 0] | r[c | 0] << 8) >>> 0 > a >>> 0 ? (c + w(a, 6) | 0) + 2 | 0 : 271040;
+     c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+     c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    } else {
+     c = 0;
+    }
+    if ((c | 0) != (e | 0)) {
+     b = b + 1 | 0;
+     if ((h | 0) == (b | 0)) {
+      break d;
+     }
+     continue;
+    }
+    break;
+   }
+   b = 1;
+   if (!f) {
+    break c;
+   }
+   q[f >> 2] = a;
+   return 1;
+  }
+  b = 0;
+  if (!f) {
+   break c;
+  }
+  q[f >> 2] = 65535;
+ }
+ return b;
+}
+function VB(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 4) {
+   break a;
+  }
+  h = q[b + 12 >> 2];
+  d = h + -1 | 0;
+  q[b + 12 >> 2] = d;
+  if ((h | 0) < 1) {
+   break a;
+  }
+  e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+  if (e >>> 0 > 89478484) {
+   break a;
+  }
+  i = w(e, 48);
+  if (i) {
+   d = a + 4 | 0;
+   if (g >>> 0 > d >>> 0 | f >>> 0 < d >>> 0 | f - d >>> 0 < i >>> 0) {
+    break a;
+   }
+   d = h + -2 | 0;
+   q[b + 12 >> 2] = d;
+   if ((h | 0) < 2) {
+    break a;
+   }
+   e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+  }
+  if (!e) {
+   return 1;
+  }
+  h = 0;
+  while (1) {
+   j = g;
+   i = w(h, 48) + a | 0;
+   g = i + 4 | 0;
+   if (j >>> 0 > g >>> 0 | f >>> 0 < g >>> 0 | f - g >>> 0 < 48) {
+    break a;
+   }
+   f = q[c >> 2];
+   q[b + 12 >> 2] = d + -1;
+   if ((d | 0) < 1) {
+    break a;
+   }
+   if (!WB(g, b, f, i + 12 | 0)) {
+    break a;
+   }
+   g = q[b + 4 >> 2];
+   d = i + 20 | 0;
+   if (g >>> 0 > d >>> 0) {
+    break a;
+   }
+   f = q[b + 8 >> 2];
+   if (f >>> 0 < d >>> 0 | f - d >>> 0 < 12) {
+    break a;
+   }
+   j = q[b + 12 >> 2];
+   q[b + 12 >> 2] = j + -1;
+   if ((j | 0) < 1) {
+    break a;
+   }
+   d = i + 32 | 0;
+   if (g >>> 0 > d >>> 0 | f >>> 0 < d >>> 0 | f - d >>> 0 < 12) {
+    break a;
+   }
+   d = j + -2 | 0;
+   q[b + 12 >> 2] = d;
+   if ((j | 0) <= 1) {
+    break a;
+   }
+   h = h + 1 | 0;
+   if ((e | 0) != (h | 0)) {
+    continue;
+   }
+   break;
+  }
+  return 1;
+ }
+ return 0;
+}
+function Mp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ j = q[a + 100 >> 2];
+ q[d + 8 >> 2] = 0;
+ c = 3;
+ a : {
+  if (!q[a + 868 >> 2]) {
+   break a;
+  }
+  c = n[q[a + 516 >> 2]](a, 1129270354, b, d + 4 | 0) | 0;
+  q[d + 12 >> 2] = c;
+  b : {
+   if (c) {
+    break b;
+   }
+   c : {
+    c = q[d + 4 >> 2];
+    if (c >>> 0 < 14) {
+     break c;
+    }
+    c = Jg(b, c, d + 8 | 0);
+    q[d + 12 >> 2] = c;
+    if (c) {
+     break b;
+    }
+    c = q[d + 8 >> 2];
+    f = Oe(j, 24, d + 12 | 0);
+    if (q[d + 12 >> 2]) {
+     break b;
+    }
+    e = r[c | 0] | r[c + 1 | 0] << 8;
+    e = (e << 24 | e << 8 & 16711680) >>> 16 | 0;
+    p[f >> 1] = e;
+    if (e) {
+     break c;
+    }
+    e = r[c + 2 | 0] | r[c + 3 | 0] << 8;
+    h = (e << 24 | e << 8 & 16711680) >>> 16 | 0;
+    p[f + 2 >> 1] = h;
+    e = q[d + 4 >> 2];
+    g = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+    i = g << 24 | g << 8 & 16711680 | (g >>> 8 & 65280 | g >>> 24);
+    if (e >>> 0 <= i >>> 0 | w(h, 6) >>> 0 > e - i >>> 0) {
+     break c;
+    }
+    g = r[c + 8 | 0] | r[c + 9 | 0] << 8 | (r[c + 10 | 0] << 16 | r[c + 11 | 0] << 24);
+    c = r[c + 12 | 0] | r[c + 13 | 0] << 8;
+    h = (c << 24 | c << 8 & 16711680) >>> 16 | 0;
+    p[f + 4 >> 1] = h;
+    c = g << 8 & 16711680 | g << 24 | (g >>> 8 & 65280 | g >>> 24);
+    if (e >>> 0 <= c >>> 0 | h << 2 >>> 0 > e - c >>> 0) {
+     break c;
+    }
+    b = q[d + 8 >> 2];
+    q[f + 20 >> 2] = e;
+    q[f + 16 >> 2] = b;
+    q[f + 12 >> 2] = b + c;
+    q[f + 8 >> 2] = b + i;
+    q[a + 872 >> 2] = f;
+    c = 0;
+    break a;
+   }
+   q[d + 12 >> 2] = 8;
+  }
+  Lg(b, d + 8 | 0);
+  Qe(j, f);
+  c = q[d + 12 >> 2];
+ }
+ Ca = d + 16 | 0;
+ return c | 0;
+}
+function yS(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = 1;
+ a : {
+  if (!a) {
+   break a;
+  }
+  i = q[a + 8 >> 2] + a | 0;
+  f = q[a >> 2] + -1 | 0;
+  b : {
+   c : {
+    if ((f | 0) < 0) {
+     a = 0;
+     break c;
+    }
+    while (1) {
+     a = e + f >> 1;
+     j = q[(a << 3) + i >> 2] - b | 0;
+     if (!j) {
+      break b;
+     }
+     g = (j | 0) < 0;
+     e = g ? a + 1 | 0 : e;
+     f = g ? f : a + -1 | 0;
+     if ((e | 0) <= (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    e = j >>> 31 | 0;
+   }
+   a = a + e ^ -1;
+  }
+  if (!i | (a | 0) < 0) {
+   break a;
+  }
+  h = 3;
+  b = (a << 3) + i | 0;
+  a = q[b + 4 >> 2];
+  a = a & 1 ? (a & -2) + b | 0 : a;
+  if (!a) {
+   break a;
+  }
+  while (1) {
+   if (!c) {
+    d : {
+     e : {
+      c = q[a + 8 >> 2];
+      e = c + -3 | 0;
+      if (e >>> 0 > 6) {
+       break e;
+      }
+      b = a + 8 | 0;
+      f : {
+       switch (e - 1 | 0) {
+       default:
+        a = q[a + 16 >> 2];
+        a = a & 1 ? (a & -2) + b | 0 : a;
+        break d;
+       case 2:
+        a = q[a + 16 >> 2];
+        a = a & 1 ? (a & -2) + b | 0 : a;
+        break d;
+       case 4:
+        a = q[a + 16 >> 2];
+        a = a & 1 ? (a & -2) + b | 0 : a;
+        break d;
+       case 5:
+        break f;
+       case 0:
+       case 1:
+       case 3:
+        break e;
+       }
+      }
+      a = q[a + 16 >> 2];
+      a = a & 1 ? (a & -2) + b | 0 : a;
+      break d;
+     }
+     b = q[a + 20 >> 2];
+     g = q[a + 12 >> 2];
+     a = q[a + 16 >> 2];
+    }
+    q[d + 12 >> 2] = b;
+    q[d + 8 >> 2] = a;
+    q[d + 4 >> 2] = g;
+    q[d >> 2] = c;
+    h = 0;
+    break a;
+   }
+   c = c + -1 | 0;
+   b = a;
+   a = q[a >> 2];
+   a = a & 1 ? b + (a & -2) | 0 : a;
+   if (a) {
+    continue;
+   }
+   break;
+  }
+ }
+ return h;
+}
+function $W(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ a : {
+  b : {
+   c : {
+    while (1) {
+     if (!iZ(b, w(d, 20) + 498912 | 0)) {
+      break c;
+     }
+     d = d + 1 | 0;
+     if ((d | 0) != 54) {
+      continue;
+     }
+     break;
+    }
+    if (jZ(b, 499992, 4)) {
+     break b;
+    }
+    b = 0;
+    break a;
+   }
+   b = q[w(d, 20) + 498928 >> 2];
+   break a;
+  }
+  q[i >> 2] = b;
+  VW(a, 1, 498874, i);
+  b = 55;
+ }
+ d : {
+  e : {
+   e = q[a + 28 >> 2];
+   f : {
+    if (e >>> 0 <= 7) {
+     q[a + 28 >> 2] = e + 1;
+     f = (w(e, 160) + a | 0) + 32 | 0;
+     break f;
+    }
+    f = L$(160);
+    if (!f) {
+     break e;
+    }
+   }
+   e = q[a >> 2];
+   q[f + 4 >> 2] = b;
+   q[f >> 2] = e;
+   j = f;
+   e = 0;
+   g : {
+    if (!c) {
+     break g;
+    }
+    d = 0;
+    g = q[c >> 2];
+    if (!g) {
+     break g;
+    }
+    e = f + 96 | 0;
+    b = 0;
+    while (1) {
+     b = (g0(g) + b | 0) + 1 | 0;
+     h = d;
+     d = d + 1 | 0;
+     g = q[(d << 2) + c >> 2];
+     if (g) {
+      continue;
+     }
+     break;
+    }
+    h : {
+     d = b;
+     b = h + 2 << 2;
+     d = d + b | 0;
+     if ((d | 0) < 65) {
+      break h;
+     }
+     e = L$(d);
+     if (e) {
+      break h;
+     }
+     VW(0, 2, 498895, 0);
+     e = 0;
+     break g;
+    }
+    d = b + e | 0;
+    g = 0;
+    b = e;
+    h = c;
+    while (1) {
+     q[b >> 2] = d;
+     b = gZ(d, q[h >> 2]);
+     d = (g0(b) + b | 0) + 1 | 0;
+     g = g + 1 | 0;
+     h = g << 2;
+     b = h + e | 0;
+     h = c + h | 0;
+     if (q[h >> 2]) {
+      continue;
+     }
+     break;
+    }
+    q[b >> 2] = 0;
+   }
+   q[j + 8 >> 2] = e;
+   lQ(f + 12 | 0, 0, 0);
+   q[a >> 2] = f;
+   break d;
+  }
+  VW(a, 2, 498895, 0);
+ }
+ Ca = i + 16 | 0;
+}
+function Rq(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ c = a;
+ e = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+ h = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+ c = r[c + 8 | 0] | r[c + 9 | 0] << 8 | (r[c + 10 | 0] << 16 | r[c + 11 | 0] << 24);
+ k = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+ if (k) {
+  c = q[b + 8 >> 2];
+  e = c + -1 | 0;
+  n = q[b + 12 >> 2];
+  o = (c | 0) < 1;
+  while (1) {
+   d = (f | 0) < 0 ? 271040 : (w(f, 12) + a | 0) + 16 | 0;
+   i = r[d + 2 | 0] << 8 | r[d + 3 | 0];
+   g = r[d + 1 | 0] | r[d | 0] << 8;
+   while (1) {
+    a : {
+     b = 0;
+     c = e;
+     b : {
+      if (o) {
+       break b;
+      }
+      while (1) {
+       c : {
+        j = b + c >>> 1 | 0;
+        l = w(j, 12) + n | 0;
+        m = q[l >> 2];
+        d : {
+         if ((m | 0) < (g | 0)) {
+          c = j + -1 | 0;
+          break d;
+         }
+         if ((g | 0) == (m | 0)) {
+          break c;
+         }
+         b = j + 1 | 0;
+        }
+        if ((b | 0) <= (c | 0)) {
+         continue;
+        }
+        break b;
+       }
+       break;
+      }
+      if (q[l + 4 >> 2] != (i | 0)) {
+       break b;
+      }
+      b = r[d + 8 | 0] | r[d + 9 | 0] << 8 | (r[d + 10 | 0] << 16 | r[d + 11 | 0] << 24);
+      h = r[d + 7 | 0] | ((b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24)) & h | (r[d + 5 | 0] << 16 | r[d + 4 | 0] << 24) | r[d + 6 | 0] << 8);
+      break a;
+     }
+     if ((g | 0) != 3) {
+      break a;
+     }
+     g = 37;
+     b = (i | 0) == 3;
+     i = 1;
+     if (b) {
+      continue;
+     }
+    }
+    break;
+   }
+   f = f + 1 | 0;
+   if ((k | 0) != (f | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return h;
+}
+function Hs(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0;
+ a : {
+  b : {
+   if (c >>> 0 > 536870910) {
+    break b;
+   }
+   if (!c) {
+    return 1;
+   }
+   if (t[b + 4 >> 2] > a >>> 0) {
+    break b;
+   }
+   f = q[b + 8 >> 2];
+   if (f >>> 0 < a >>> 0 | f - a >>> 0 < c << 3 >>> 0) {
+    break b;
+   }
+   f = q[b + 12 >> 2];
+   q[b + 12 >> 2] = f + -1;
+   if ((f | 0) < 1) {
+    break b;
+   }
+   j = q[b + 4 >> 2];
+   k = q[d >> 2];
+   while (1) {
+    g = (l << 3) + a | 0;
+    if (j >>> 0 > g >>> 0) {
+     break a;
+    }
+    f = q[b + 8 >> 2];
+    if (f >>> 0 < g >>> 0 | f - g >>> 0 < 8) {
+     break a;
+    }
+    o = r[e | 0];
+    p = r[e + 1 | 0];
+    h = q[b + 12 >> 2];
+    q[b + 12 >> 2] = h + -1;
+    if ((h | 0) < 1) {
+     break a;
+    }
+    d = g + 6 | 0;
+    if (j >>> 0 > d >>> 0 | f >>> 0 < d >>> 0) {
+     break a;
+    }
+    if (f - d >>> 0 < 2) {
+     break a;
+    }
+    i = h + -2 | 0;
+    q[b + 12 >> 2] = i;
+    if ((h | 0) < 2) {
+     break a;
+    }
+    m = g + 7 | 0;
+    n = r[m | 0] | r[d | 0] << 8;
+    g = 0;
+    c : {
+     if (!n) {
+      break c;
+     }
+     g = 0;
+     if (f >>> 0 < k >>> 0 | j >>> 0 > k >>> 0 | f - k >>> 0 < n >>> 0) {
+      break b;
+     }
+     i = h + -3 | 0;
+     q[b + 12 >> 2] = i;
+     if ((h | 0) < 3) {
+      break b;
+     }
+     g = r[m | 0] | r[d | 0] << 8;
+    }
+    d = g;
+    h = o << 8 | p;
+    if (h) {
+     g = 0;
+     d = d + k | 0;
+     if (j >>> 0 > d >>> 0 | f >>> 0 < d >>> 0 | f - d >>> 0 < h << 1 >>> 0) {
+      break b;
+     }
+     q[b + 12 >> 2] = i + -1;
+     if ((i | 0) < 1) {
+      break b;
+     }
+    }
+    g = 1;
+    l = l + 1 | 0;
+    if ((l | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  return g;
+ }
+ return 0;
+}
+function zF(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  h = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  b : {
+   if (!d) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < d >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (!d) {
+    break b;
+   }
+   c = c + d | 0;
+   c : {
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 12) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -3;
+    if ((f | 0) < 3) {
+     break c;
+    }
+    d = c + 4 | 0;
+    if (g >>> 0 > d >>> 0 | e >>> 0 < d >>> 0 | e - d >>> 0 < 8) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -4;
+    if ((f | 0) < 4) {
+     break c;
+    }
+    d = r[c + 5 | 0] | r[c + 4 | 0] << 8;
+    if (!d) {
+     break b;
+    }
+    c = c + 12 | 0;
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < d << 4 >>> 0) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -5;
+    if ((f | 0) > 4) {
+     break b;
+    }
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   h = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   o[a + 2 | 0] = 0;
+   o[a + 3 | 0] = 0;
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function xA(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = Ca - 48 | 0;
+ Ca = f;
+ c = q[a >> 2];
+ a : {
+  if (c) {
+   break a;
+  }
+  h = a + -140 | 0;
+  while (1) {
+   e = q[h >> 2];
+   if (!e) {
+    c = 271040;
+    break a;
+   }
+   c = N$(1, 12);
+   b : {
+    if (c) {
+     g = f + 16 | 0;
+     b = g;
+     q[b >> 2] = 0;
+     q[b + 4 >> 2] = 0;
+     b = f + 21 | 0;
+     o[b | 0] = 0;
+     o[b + 1 | 0] = 0;
+     o[b + 2 | 0] = 0;
+     o[b + 3 | 0] = 0;
+     o[b + 4 | 0] = 0;
+     o[b + 5 | 0] = 0;
+     o[b + 6 | 0] = 0;
+     o[b + 7 | 0] = 0;
+     d = f;
+     q[d + 32 >> 2] = 0;
+     q[d + 36 >> 2] = 0;
+     q[d + 8 >> 2] = 0;
+     q[d + 12 >> 2] = 0;
+     i = kF(e);
+     o[d + 44 | 0] = 1;
+     q[d + 40 >> 2] = i;
+     j = c, k = TB(d + 8 | 0, iF(e, 1128418371)), q[j >> 2] = k;
+     q[g >> 2] = 0;
+     q[g + 4 >> 2] = 0;
+     o[b | 0] = 0;
+     o[b + 1 | 0] = 0;
+     o[b + 2 | 0] = 0;
+     o[b + 3 | 0] = 0;
+     o[b + 4 | 0] = 0;
+     o[b + 5 | 0] = 0;
+     o[b + 6 | 0] = 0;
+     o[b + 7 | 0] = 0;
+     q[d + 32 >> 2] = 0;
+     q[d + 36 >> 2] = 0;
+     q[d + 8 >> 2] = 0;
+     q[d + 12 >> 2] = 0;
+     b = kF(e);
+     o[d + 44 | 0] = 1;
+     q[d + 40 >> 2] = b;
+     j = c, k = UB(d + 8 | 0, iF(e, 1128416340)), q[j + 4 >> 2] = k;
+     j = c, k = jF(e), q[j + 8 >> 2] = k;
+     b = q[a >> 2];
+     q[a >> 2] = b ? b : c;
+     if (!b) {
+      break a;
+     }
+     b = q[c >> 2];
+     Cq(b ? b : 271040);
+     q[c >> 2] = 0;
+     b = q[c + 4 >> 2];
+     Cq(b ? b : 271040);
+     M$(c);
+     break b;
+    }
+    c = 271040;
+    b = q[a >> 2];
+    q[a >> 2] = b ? b : 271040;
+    if (!b) {
+     break a;
+    }
+   }
+   c = q[a >> 2];
+   if (!c) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = f + 48 | 0;
+ return c;
+}
+function xv(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ e = r[a + 5 | 0];
+ if (e >>> 0 > 3) {
+  return 1;
+ }
+ a : {
+  b : {
+   c : {
+    switch (e - 1 | 0) {
+    default:
+     e = 0;
+     f = q[b + 4 >> 2];
+     d = a + 8 | 0;
+     if (f >>> 0 > d >>> 0) {
+      break b;
+     }
+     c = q[b + 8 >> 2];
+     if (c >>> 0 < d >>> 0 | c - d >>> 0 < 8) {
+      break b;
+     }
+     d = q[b + 12 >> 2];
+     q[b + 12 >> 2] = d + -1;
+     if ((d | 0) < 1) {
+      break b;
+     }
+     g = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+     if (g) {
+      a = a + 16 | 0;
+      if (f >>> 0 > a >>> 0 | c >>> 0 < a >>> 0 | c - a >>> 0 < w(g, 6) >>> 0) {
+       break b;
+      }
+      q[b + 12 >> 2] = d + -2;
+      if ((d | 0) < 2) {
+       break b;
+      }
+     }
+     return 1;
+    case 0:
+     e = 0;
+     if (t[b + 4 >> 2] > a >>> 0) {
+      break b;
+     }
+     c = q[b + 8 >> 2];
+     if (c >>> 0 < a >>> 0 | c - a >>> 0 < 18) {
+      break b;
+     }
+     c = q[b + 12 >> 2];
+     q[b + 12 >> 2] = c + -1;
+     if ((c | 0) < 1) {
+      break b;
+     }
+     return uv(a + 8 | 0, b);
+    case 1:
+     return yv(a, b);
+    case 2:
+     break c;
+    }
+   }
+   f = q[b + 4 >> 2];
+   if (f >>> 0 > a >>> 0) {
+    break a;
+   }
+   c = q[b + 8 >> 2];
+   if (c >>> 0 < a >>> 0 | c - a >>> 0 < 14) {
+    break a;
+   }
+   d = q[b + 12 >> 2];
+   q[b + 12 >> 2] = d + -1;
+   e = 1;
+   if ((d | 0) < 1) {
+    break a;
+   }
+   g = w(r[a + 12 | 0], r[a + 11 | 0]) + (r[a + 10 | 0] + (r[a + 9 | 0] | r[a + 8 | 0] << 8) << 1) | 0;
+   if (!g) {
+    break b;
+   }
+   a = a + 14 | 0;
+   if (f >>> 0 > a >>> 0 | c >>> 0 < a >>> 0) {
+    break a;
+   }
+   e = 0;
+   if (c - a >>> 0 < g >>> 0) {
+    break b;
+   }
+   q[b + 12 >> 2] = d + -2;
+   e = (d | 0) > 1;
+  }
+  return e;
+ }
+ return 0;
+}
+function jR(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 96 | 0;
+ Ca = d;
+ gZ(q[a + 12 >> 2], q[a >> 2]);
+ b = q[a + 12 >> 2];
+ c = g0(b) + b | 0;
+ b = r[488008] | r[488009] << 8 | (r[488010] << 16 | r[488011] << 24);
+ e = r[488004] | r[488005] << 8 | (r[488006] << 16 | r[488007] << 24);
+ o[c | 0] = e;
+ o[c + 1 | 0] = e >>> 8;
+ o[c + 2 | 0] = e >>> 16;
+ o[c + 3 | 0] = e >>> 24;
+ o[c + 4 | 0] = b;
+ o[c + 5 | 0] = b >>> 8;
+ o[c + 6 | 0] = b >>> 16;
+ o[c + 7 | 0] = b >>> 24;
+ b = r[488012] | r[488013] << 8 | (r[488014] << 16 | r[488015] << 24);
+ o[c + 8 | 0] = b;
+ o[c + 9 | 0] = b >>> 8;
+ o[c + 10 | 0] = b >>> 16;
+ o[c + 11 | 0] = b >>> 24;
+ b = BY(q[a + 12 >> 2]);
+ a : {
+  if ((b | 0) < 0) {
+   break a;
+  }
+  c = yZ(b, 488016);
+  if (!c) {
+   SY(b);
+   TY(q[a + 12 >> 2]);
+   break a;
+  }
+  g = d, h = oa() | 0, q[g >> 2] = h;
+  b = j_(c, 488018, d);
+  c = CZ(c);
+  if ((b | 0) <= 0) {
+   TY(q[a + 12 >> 2]);
+   break a;
+  }
+  b = q[a + 12 >> 2];
+  if ((c | 0) == -1) {
+   TY(b);
+   break a;
+  }
+  b : {
+   if ((DY(ha(b | 0, q[a + 8 >> 2]) | 0) | 0) >= 0) {
+    TY(q[a + 12 >> 2]);
+    break b;
+   }
+   c : {
+    if (!(q[160854] == 63 | q[160854] == 138 | q[160854] == 2)) {
+     TY(q[a + 12 >> 2]);
+     b = 0;
+     break c;
+    }
+    b = wY(q[a + 8 >> 2], 384);
+    TY(q[a + 12 >> 2]);
+    if ((b | 0) > -1) {
+     break b;
+    }
+    b = 1;
+   }
+   if ((QQ(q[a + 8 >> 2], d + 8 | 0) | 0) < 0) {
+    break a;
+   }
+   if (((V(0) | 0) - q[d + 72 >> 2] | 0) < 601) {
+    break a;
+   }
+   c = q[a + 8 >> 2];
+   d : {
+    if (b) {
+     if (!LY(c)) {
+      break d;
+     }
+     break a;
+    }
+    if (TY(c)) {
+     break a;
+    }
+   }
+   f = jR(a);
+   break a;
+  }
+  TY(q[a + 4 >> 2]);
+  f = 1;
+ }
+ Ca = d + 96 | 0;
+ return f;
+}
+function po(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ a : {
+  b : {
+   b = q[a + 24 >> 2];
+   if (b >>> 0 > 65534) {
+    break b;
+   }
+   h = q[a >> 2];
+   k = q[h + 508 >> 2] + q[h + 512 >> 2] | 0;
+   c = q[a + 40 >> 2];
+   b = b + 1 | 0;
+   b = b >>> 0 < c >>> 0 ? c : b;
+   while (1) {
+    g = q[a + 44 >> 2];
+    c : {
+     if (b >>> 0 > g >>> 0) {
+      break c;
+     }
+     f = q[a + 48 >> 2];
+     d = q[a + 52 >> 2];
+     if (!d) {
+      d = 0 - f | 0;
+      l = 65536 - f | 0;
+      j = f + g | 0;
+      m = q[h + 16 >> 2];
+      while (1) {
+       i = b + f | 0;
+       e = i & 65535;
+       d : {
+        if (e >>> 0 >= m >>> 0) {
+         if ((j | 0) >= 0) {
+          c = d;
+          if ((i | 0) < 0) {
+           break d;
+          }
+         }
+         if ((j | 0) < 65536) {
+          break c;
+         }
+         c = l;
+         if ((i | 0) < 65536) {
+          break d;
+         }
+         break c;
+        }
+        c = b;
+        if (e) {
+         break a;
+        }
+       }
+       b = c + 1 | 0;
+       if (b >>> 0 <= g >>> 0) {
+        continue;
+       }
+       break;
+      }
+      break c;
+     }
+     c = d + (b - c << 1) | 0;
+     if (c >>> 0 > k >>> 0) {
+      break c;
+     }
+     while (1) {
+      d = r[c + 1 | 0] | r[c | 0] << 8;
+      if (d) {
+       e = f + d & 65535;
+       if (e) {
+        break a;
+       }
+      }
+      c = c + 2 | 0;
+      b = b + 1 | 0;
+      if (b >>> 0 <= g >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    e = 0;
+    if ((lq(a, q[a + 36 >> 2] + 1 | 0) | 0) < 0) {
+     break b;
+    }
+    c = q[a + 40 >> 2];
+    b = b >>> 0 < c >>> 0 ? c : b;
+    continue;
+   }
+  }
+  b = -1;
+ }
+ q[a + 28 >> 2] = e;
+ q[a + 24 >> 2] = b;
+}
+function wt(a, b, c) {
+ var d = 0;
+ a : {
+  while (1) {
+   b : {
+    if ((c | 0) != 7) {
+     c = c + -1 | 0;
+     if (c >>> 0 > 7) {
+      break a;
+     }
+     c : {
+      switch (c - 1 | 0) {
+      default:
+       c = r[a | 0] | r[a + 1 | 0] << 8;
+       c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+       if (c >>> 0 > 1) {
+        break a;
+       }
+       if (c - 1) {
+        pu(a, b);
+        return;
+       }
+       qu(a, b);
+       return;
+      case 0:
+       if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+        break a;
+       }
+       ru(a, b);
+       return;
+      case 1:
+       if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+        break a;
+       }
+       ru(a, b);
+       return;
+      case 2:
+       if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+        break a;
+       }
+       su(a, b);
+       return;
+      case 3:
+       tu(a, b);
+       return;
+      case 5:
+       break a;
+      case 6:
+       break b;
+      case 4:
+       break c;
+      }
+     }
+     c = r[a | 0] | r[a + 1 | 0] << 8;
+     c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+     if (c >>> 0 > 2) {
+      break a;
+     }
+     d : {
+      switch (c - 1 | 0) {
+      default:
+       uu(a, b);
+       return;
+      case 0:
+       vu(a, b);
+       return;
+      case 1:
+       break d;
+      }
+     }
+     wu(a, b);
+     return;
+    }
+    if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+     break a;
+    }
+    c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+    d = a;
+    a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+    a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+    a = a ? d + a | 0 : 271040;
+    continue;
+   }
+   break;
+  }
+  if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+   break a;
+  }
+  xu(a, b);
+ }
+}
+function Wq(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = Ca - 32 | 0;
+ Ca = f;
+ d = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+ g = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+ a : {
+  if (!g) {
+   break a;
+  }
+  d = a;
+  a = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+  a = (d + w(a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24), 12) | 0) + 16 | 0;
+  while (1) {
+   d = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+   b : {
+    if (!((d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) & c)) {
+     break b;
+    }
+    d = r[a + 4 | 0];
+    if (d >>> 7 ^ (q[q[b + 12 >> 2] + 48 >> 2] & -2) == 6 ? !(d & 32) : 0) {
+     break b;
+    }
+    e = d & 64;
+    c : {
+     if (d & 16) {
+      d = (e | 0) != 0;
+      e = q[b + 12 >> 2];
+      break c;
+     }
+     d = e >>> 6 | 0;
+     e = q[b + 12 >> 2];
+     d = (d | 0) != ((q[e + 48 >> 2] & -3) == 5 | 0);
+    }
+    i = q[b + 4 >> 2];
+    q[f + 16 >> 2] = q[b + 60 >> 2];
+    if (!Ot(e, i, 228199, f + 16 | 0)) {
+     break b;
+    }
+    d : {
+     if (d) {
+      AG(q[b + 12 >> 2]);
+      Fr(a, b);
+      AG(q[b + 12 >> 2]);
+      break d;
+     }
+     Fr(a, b);
+    }
+    d = q[b + 4 >> 2];
+    e = q[b + 12 >> 2];
+    q[f >> 2] = q[b + 60 >> 2];
+    Ot(e, d, 228223, f);
+    if (r[q[b + 12 >> 2] + 68 | 0] != 1) {
+     break a;
+    }
+   }
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   q[b + 60 >> 2] = q[b + 60 >> 2] + 1;
+   a = (d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24)) + a | 0;
+   h = h + 1 | 0;
+   if ((g | 0) != (h | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = f + 32 | 0;
+}
+function UF(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  h = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  b : {
+   if (!d) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < d >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (!d) {
+    break b;
+   }
+   c = c + d | 0;
+   c : {
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 4) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -3;
+    if ((f | 0) < 3) {
+     break c;
+    }
+    d = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+    d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+    if (d >>> 0 > 858993458) {
+     break c;
+    }
+    d = w(d, 5);
+    if (!d) {
+     break b;
+    }
+    c = c + 4 | 0;
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < d >>> 0) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -4;
+    if ((f | 0) > 3) {
+     break b;
+    }
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   h = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   o[a + 2 | 0] = 0;
+   o[a + 3 | 0] = 0;
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function nA(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ i = 271040;
+ e = a;
+ e = r[e + 3 | 0] | r[e + 4 | 0] << 8 | (r[e + 5 | 0] << 16 | r[e + 6 | 0] << 24);
+ e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+ j = e ? e + d | 0 : 271040;
+ e = j;
+ e = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+ e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+ if ((e | 0) >= 1) {
+  e = e + -1 | 0;
+  while (1) {
+   f = e + g >>> 1 | 0;
+   h = (f << 2) + j | 0;
+   k = h + 4 | 0;
+   h = r[h + 6 | 0] | (r[h + 5 | 0] << 8 | r[k | 0] << 16);
+   a : {
+    if (h >>> 0 > b >>> 0) {
+     e = f + -1 | 0;
+     break a;
+    }
+    if (h + r[k + 3 | 0] >>> 0 >= b >>> 0) {
+     return 2;
+    }
+    g = f + 1 | 0;
+   }
+   if ((g | 0) <= (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ a = r[a + 7 | 0] | r[a + 8 | 0] << 8 | (r[a + 9 | 0] << 16 | r[a + 10 | 0] << 24);
+ a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ a = a ? a + d | 0 : 271040;
+ d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+ d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+ b : {
+  if ((d | 0) < 1) {
+   break b;
+  }
+  e = d + -1 | 0;
+  g = 0;
+  while (1) {
+   c : {
+    d = e + g >>> 1 | 0;
+    f = a + w(d, 5) | 0;
+    f = r[f + 5 | 0] << 8 | r[f + 4 | 0] << 16 | r[f + 6 | 0];
+    d : {
+     if (f >>> 0 > b >>> 0) {
+      e = d + -1 | 0;
+      break d;
+     }
+     if ((b | 0) == (f | 0)) {
+      break c;
+     }
+     g = d + 1 | 0;
+    }
+    if ((g | 0) <= (e | 0)) {
+     continue;
+    }
+    break b;
+   }
+   break;
+  }
+  i = (a + w(d, 5) | 0) + 4 | 0;
+ }
+ a = r[i + 4 | 0] | r[i + 3 | 0] << 8;
+ if (!a) {
+  return 0;
+ }
+ q[c >> 2] = a;
+ return 1;
+}
+function Vf(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ if (!a) {
+  return 35;
+ }
+ a : {
+  b : {
+   c : {
+    d : {
+     if ((b | 0) != 1970170211) {
+      if (q[a + 36 >> 2] | b) {
+       break d;
+      }
+      return 6;
+     }
+     f = 38;
+     d = q[a + 40 >> 2];
+     if (!d) {
+      break a;
+     }
+     c = d + (q[a + 36 >> 2] << 2) | 0;
+     b = c + -4 | 0;
+     if (b >>> 0 >= d >>> 0) {
+      while (1) {
+       e = q[b >> 2];
+       e : {
+        if (q[e + 4 >> 2] != 1970170211) {
+         break e;
+        }
+        g = s[e + 8 >> 1];
+        if (g >>> 0 > 3) {
+         break e;
+        }
+        f : {
+         switch (g - 1 | 0) {
+         default:
+          if (s[e + 10 >> 1] != 4) {
+           break e;
+          }
+          break c;
+         case 2:
+          break f;
+         case 0:
+         case 1:
+          break e;
+         }
+        }
+        if (s[e + 10 >> 1] == 10) {
+         break c;
+        }
+       }
+       b = b + -4 | 0;
+       if (b >>> 0 >= d >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     while (1) {
+      c = c + -4 | 0;
+      if (c >>> 0 < d >>> 0) {
+       break a;
+      }
+      b = q[c >> 2];
+      if (q[b + 4 >> 2] != 1970170211) {
+       continue;
+      }
+      break;
+     }
+     q[a + 92 >> 2] = b;
+     break b;
+    }
+    c = q[a + 40 >> 2];
+    if (!c) {
+     return 38;
+    }
+    f = 6;
+    d = q[a + 36 >> 2];
+    if ((d | 0) <= 0) {
+     break a;
+    }
+    d = (d << 2) + c | 0;
+    while (1) {
+     e = q[c >> 2];
+     if (q[e + 4 >> 2] != (b | 0)) {
+      c = c + 4 | 0;
+      if (c >>> 0 < d >>> 0) {
+       continue;
+      }
+      break a;
+     }
+     break;
+    }
+    q[a + 92 >> 2] = e;
+    break b;
+   }
+   q[a + 92 >> 2] = e;
+  }
+  f = 0;
+ }
+ return f;
+}
+function os(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  j = q[b + 4 >> 2];
+  if (j >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 10) {
+   break a;
+  }
+  i = q[b + 12 >> 2];
+  q[b + 12 >> 2] = i + -1;
+  if ((i | 0) < 1) {
+   break a;
+  }
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  if (g >>> 0 < 4) {
+   break a;
+  }
+  f = r[a + 3 | 0];
+  h = r[a + 2 | 0];
+  d = f | h << 8;
+  if (4294967295 / (g >>> 0) >>> 0 <= d >>> 0) {
+   break a;
+  }
+  g = w(d, g);
+  if (g) {
+   d = a + 10 | 0;
+   if (j >>> 0 > d >>> 0 | e >>> 0 < d >>> 0 | e - d >>> 0 < g >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = i + -2;
+   if ((i | 0) < 2) {
+    break a;
+   }
+   f = r[a + 3 | 0];
+   h = r[a + 2 | 0];
+   d = f | h << 8;
+  }
+  e = 0;
+  b : {
+   if (!d) {
+    break b;
+   }
+   e = w(d + -1 | 0, r[a + 1 | 0] | r[a | 0] << 8) + a | 0;
+   e = (r[e + 10 | 0] << 8 | r[e + 11 | 0]) == 65535 ? -1 : 0;
+  }
+  g = d + e | 0;
+  if (!g) {
+   return 1;
+  }
+  i = a + 10 | 0;
+  e = 0;
+  while (1) {
+   d = 0;
+   f = h << 8 | f;
+   if (f) {
+    d = i + w(f + -1 | 0, r[a + 1 | 0] | r[a | 0] << 8) | 0;
+    d = (r[d | 0] << 8 | r[d + 1 | 0]) == 65535 ? -1 : 0;
+   }
+   d = d + f >>> 0 <= e >>> 0 ? 271040 : i + w(r[a + 1 | 0] | r[a | 0] << 8, e) | 0;
+   if (t[b + 4 >> 2] > d >>> 0) {
+    break a;
+   }
+   f = q[b + 8 >> 2];
+   if (f >>> 0 < d >>> 0 | f - d >>> 0 < 4) {
+    break a;
+   }
+   f = q[c >> 2];
+   h = q[b + 12 >> 2];
+   q[b + 12 >> 2] = h + -1;
+   if ((h | 0) < 1) {
+    break a;
+   }
+   if (!ls(d + 2 | 0, b, f)) {
+    break a;
+   }
+   e = e + 1 | 0;
+   if ((g | 0) == (e | 0)) {
+    return 1;
+   } else {
+    f = r[a + 3 | 0];
+    h = r[a + 2 | 0];
+    continue;
+   }
+  }
+ }
+ return 0;
+}
+function PP(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ c = q[a + 4 >> 2];
+ d = q[b + 4 >> 2];
+ e = c >>> 0 < d >>> 0 ? c : d;
+ d = (e | 0) < 8 ? e : 8;
+ a : {
+  if ((e | 0) >= 1) {
+   h = (d | 0) > 1 ? d : 1;
+   c = 0;
+   while (1) {
+    g = c << 2;
+    if (q[(g + b | 0) + 8 >> 2] & q[(a + g | 0) + 8 >> 2]) {
+     break a;
+    }
+    c = c + 1 | 0;
+    if ((h | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  k = (d | 0) > 1 ? d : 1;
+  f = 2;
+  while (1) {
+   d = 0;
+   h = 0;
+   c = 0;
+   b : {
+    if ((e | 0) <= 0) {
+     break b;
+    }
+    while (1) {
+     c : {
+      g = c << 2;
+      j = q[(g + (i << 5) | 0) + 481264 >> 2];
+      d = j & q[(b + g | 0) + 8 >> 2] | d;
+      h = q[(a + g | 0) + 8 >> 2] & j | h;
+      if (d ? h : 0) {
+       break c;
+      }
+      c = c + 1 | 0;
+      if ((k | 0) != (c | 0)) {
+       continue;
+      }
+      break b;
+     }
+     break;
+    }
+    f = 1;
+   }
+   i = i + 1 | 0;
+   if ((i | 0) != 10) {
+    continue;
+   }
+   break;
+  }
+  d = q[a >> 2];
+  if (d) {
+   c = 2;
+   d = yQ(d);
+   if (d) {
+    d : {
+     while (1) {
+      e = zQ(d);
+      if (!e) {
+       break d;
+      }
+      e = OP(b, e);
+      c = e >>> 0 < c >>> 0 ? e : c;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     c = 0;
+    }
+    AQ(d);
+   }
+   f = c >>> 0 < f >>> 0 ? c : f;
+  }
+  if (!f) {
+   f = 0;
+   break a;
+  }
+  b = q[b >> 2];
+  if (!b) {
+   break a;
+  }
+  c = 2;
+  b = yQ(b);
+  if (b) {
+   e : {
+    while (1) {
+     d = zQ(b);
+     if (!d) {
+      break e;
+     }
+     d = OP(a, d);
+     c = d >>> 0 < c >>> 0 ? d : c;
+     if (c) {
+      continue;
+     }
+     break;
+    }
+    c = 0;
+   }
+   AQ(b);
+  }
+  return c >>> 0 < f >>> 0 ? c : f;
+ }
+ return f;
+}
+function ug(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  b = s[a + 2 >> 1];
+  c = b << 16 >> 16;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  h = 2;
+  if ((c | 0) == 1) {
+   break a;
+  }
+  i = q[a + 4 >> 2];
+  k = i + (b << 3) | 0;
+  e = i + 8 | 0;
+  c = q[i >> 2];
+  d = c;
+  b = i;
+  g = q[b + 4 >> 2];
+  f = g;
+  while (1) {
+   b = q[b + 12 >> 2];
+   f = (b | 0) > (f | 0) ? b : f;
+   g = (b | 0) < (g | 0) ? b : g;
+   b = q[e >> 2];
+   d = (b | 0) > (d | 0) ? b : d;
+   c = (b | 0) < (c | 0) ? b : c;
+   b = e;
+   e = b + 8 | 0;
+   if (e >>> 0 < k >>> 0) {
+    continue;
+   }
+   break;
+  }
+  if ((c | 0) == (d | 0) | (f | 0) == (g | 0)) {
+   break a;
+  }
+  b = p[a >> 1];
+  if ((b | 0) >= 1) {
+   e = 0;
+   j = d;
+   d = d >> 31;
+   l = c;
+   c = c >> 31;
+   c = 17 - z(j + d ^ d | l + c ^ c) | 0;
+   h = (c | 0) > 0 ? c : 0;
+   c = 17 - z(f - g | 0) | 0;
+   k = (c | 0) > 0 ? c : 0;
+   b = b & 65535;
+   m = b >>> 0 > 1 ? b : 1;
+   n = q[a + 12 >> 2];
+   b = 0;
+   a = 0;
+   while (1) {
+    f = p[(a << 1) + n >> 1];
+    if ((b | 0) <= (f | 0)) {
+     d = (f << 3) + i | 0;
+     c = q[d >> 2] >> h;
+     d = q[d + 4 >> 2] >> k;
+     while (1) {
+      j = e;
+      e = (b << 3) + i | 0;
+      g = q[e + 4 >> 2] >> k;
+      l = c;
+      c = q[e >> 2] >> h;
+      e = j + w(g - d | 0, l + c | 0) | 0;
+      j = (b | 0) != (f | 0);
+      b = b + 1 | 0;
+      d = g;
+      if (j) {
+       continue;
+      }
+      break;
+     }
+    }
+    b = f + 1 | 0;
+    a = a + 1 | 0;
+    if ((m | 0) != (a | 0)) {
+     continue;
+    }
+    break;
+   }
+   h = 1;
+   if ((e | 0) > 0) {
+    break a;
+   }
+   h = 0;
+   if (e) {
+    break a;
+   }
+  }
+  h = 2;
+ }
+ return h;
+}
+function lp(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0;
+ if (a) {
+  d = q[a + 100 >> 2];
+  c = q[a + 540 >> 2];
+  a : {
+   if (!c) {
+    break a;
+   }
+   b = q[c + 80 >> 2];
+   if (b) {
+    n[b](a);
+   }
+   b = q[c + 100 >> 2];
+   if (b) {
+    n[b](a);
+   }
+   b = q[c + 120 >> 2];
+   if (!b) {
+    break a;
+   }
+   n[b](a);
+   n[q[c + 124 >> 2]](a);
+  }
+  if (r[a + 848 | 0]) {
+   if (q[a + 828 >> 2]) {
+    Lg(q[a + 104 >> 2], a + 828 | 0);
+   }
+   q[a + 840 >> 2] = 0;
+   q[a + 832 >> 2] = 0;
+   q[a + 836 >> 2] = 0;
+  }
+  Lg(q[a + 104 >> 2], a + 808 | 0);
+  q[a + 820 >> 2] = 0;
+  q[a + 824 >> 2] = 0;
+  q[a + 812 >> 2] = 0;
+  q[a + 816 >> 2] = 0;
+  Qe(d, q[a + 144 >> 2]);
+  q[a + 140 >> 2] = 0;
+  q[a + 144 >> 2] = 0;
+  Qe(d, q[a + 156 >> 2]);
+  p[a + 152 >> 1] = 0;
+  q[a + 156 >> 2] = 0;
+  Lg(q[a + 104 >> 2], a + 508 | 0);
+  q[a + 752 >> 2] = 0;
+  q[a + 756 >> 2] = 0;
+  q[a + 512 >> 2] = 0;
+  if (r[a + 292 | 0]) {
+   b = a + 332 | 0;
+   Qe(d, q[b >> 2]);
+   q[b >> 2] = 0;
+   b = a + 336 | 0;
+   Qe(d, q[b >> 2]);
+   o[a + 292 | 0] = 0;
+   q[b >> 2] = 0;
+  }
+  b = a + 564 | 0;
+  Qe(d, q[b >> 2]);
+  p[a + 562 >> 1] = 0;
+  q[b >> 2] = 0;
+  if (c) {
+   n[q[c + 52 >> 2]](a);
+  }
+  Qe(d, q[a + 20 >> 2]);
+  q[a + 20 >> 2] = 0;
+  Qe(d, q[a + 24 >> 2]);
+  q[a + 24 >> 2] = 0;
+  Qe(d, q[a + 32 >> 2]);
+  q[a + 32 >> 2] = 0;
+  Qe(d, q[a + 804 >> 2]);
+  q[a + 28 >> 2] = 0;
+  q[a + 804 >> 2] = 0;
+  Qe(d, q[a + 720 >> 2]);
+  q[a + 720 >> 2] = 0;
+  Qe(d, q[a + 744 >> 2]);
+  q[a + 744 >> 2] = 0;
+  c = a + 652 | 0;
+  Qe(d, q[c >> 2]);
+  q[c >> 2] = 0;
+  c = a + 656 | 0;
+  Qe(d, q[c >> 2]);
+  q[c >> 2] = 0;
+  c = a + 664 | 0;
+  Qe(d, q[c >> 2]);
+  q[c >> 2] = 0;
+  Qe(d, q[a + 672 >> 2]);
+  q[a + 540 >> 2] = 0;
+  q[a + 672 >> 2] = 0;
+ }
+}
+function TF(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  h = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  b : {
+   if (!d) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < d >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (!d) {
+    break b;
+   }
+   c = c + d | 0;
+   c : {
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 4) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -3;
+    if ((f | 0) < 3) {
+     break c;
+    }
+    d = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+    d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+    if (d >>> 0 > 1073741822) {
+     break c;
+    }
+    if (!d) {
+     break b;
+    }
+    c = c + 4 | 0;
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < d << 2 >>> 0) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -4;
+    if ((f | 0) > 3) {
+     break b;
+    }
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   h = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   o[a + 2 | 0] = 0;
+   o[a + 3 | 0] = 0;
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function vr(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ i = q[b + 4 >> 2];
+ a : {
+  if (i >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 10) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  if (g >>> 0 < 6) {
+   break a;
+  }
+  h = r[a + 3 | 0];
+  j = r[a + 2 | 0];
+  e = h | j << 8;
+  if (4294967295 / (g >>> 0) >>> 0 <= e >>> 0) {
+   break a;
+  }
+  g = w(e, g);
+  if (g) {
+   e = a + 10 | 0;
+   if (i >>> 0 > e >>> 0 | f >>> 0 < e >>> 0 | f - e >>> 0 < g >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = d + -2;
+   if ((d | 0) < 2) {
+    break a;
+   }
+   h = r[a + 3 | 0];
+   j = r[a + 2 | 0];
+   e = h | j << 8;
+  }
+  f = 0;
+  b : {
+   if (!e) {
+    break b;
+   }
+   g = w(e + -1 | 0, r[a + 1 | 0] | r[a | 0] << 8) + a | 0;
+   d = g + 10 | 0;
+   if ((r[d | 0] << 8 | r[g + 11 | 0]) != 65535) {
+    break b;
+   }
+   f = (r[d + 3 | 0] | r[d + 2 | 0] << 8) == 65535 ? -1 : 0;
+  }
+  i = e + f | 0;
+  if (!i) {
+   return 1;
+  }
+  g = a + 10 | 0;
+  e = 0;
+  while (1) {
+   h = j << 8 | h;
+   f = 0;
+   c : {
+    if (!h) {
+     break c;
+    }
+    d = g + w(h + -1 | 0, r[a + 1 | 0] | r[a | 0] << 8) | 0;
+    f = 0;
+    if ((r[d | 0] << 8 | r[d + 1 | 0]) != 65535) {
+     break c;
+    }
+    f = (r[d + 3 | 0] | r[d + 2 | 0] << 8) == 65535 ? -1 : 0;
+   }
+   d = 271040;
+   d : {
+    if (f + h >>> 0 <= e >>> 0) {
+     break d;
+    }
+    d = g + w(r[a + 1 | 0] | r[a | 0] << 8, e) | 0;
+   }
+   if (wr(d, b, q[c >> 2])) {
+    e = e + 1 | 0;
+    if ((i | 0) == (e | 0)) {
+     return 1;
+    }
+    h = r[a + 3 | 0];
+    j = r[a + 2 | 0];
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function fs(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ i = q[b + 4 >> 2];
+ a : {
+  if (i >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 10) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  if (g >>> 0 < 6) {
+   break a;
+  }
+  h = r[a + 3 | 0];
+  j = r[a + 2 | 0];
+  e = h | j << 8;
+  if (4294967295 / (g >>> 0) >>> 0 <= e >>> 0) {
+   break a;
+  }
+  g = w(e, g);
+  if (g) {
+   e = a + 10 | 0;
+   if (i >>> 0 > e >>> 0 | f >>> 0 < e >>> 0 | f - e >>> 0 < g >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = d + -2;
+   if ((d | 0) < 2) {
+    break a;
+   }
+   h = r[a + 3 | 0];
+   j = r[a + 2 | 0];
+   e = h | j << 8;
+  }
+  f = 0;
+  b : {
+   if (!e) {
+    break b;
+   }
+   g = w(e + -1 | 0, r[a + 1 | 0] | r[a | 0] << 8) + a | 0;
+   d = g + 10 | 0;
+   if ((r[d | 0] << 8 | r[g + 11 | 0]) != 65535) {
+    break b;
+   }
+   f = (r[d + 3 | 0] | r[d + 2 | 0] << 8) == 65535 ? -1 : 0;
+  }
+  i = e + f | 0;
+  if (!i) {
+   return 1;
+  }
+  g = a + 10 | 0;
+  e = 0;
+  while (1) {
+   h = j << 8 | h;
+   f = 0;
+   c : {
+    if (!h) {
+     break c;
+    }
+    d = g + w(h + -1 | 0, r[a + 1 | 0] | r[a | 0] << 8) | 0;
+    f = 0;
+    if ((r[d | 0] << 8 | r[d + 1 | 0]) != 65535) {
+     break c;
+    }
+    f = (r[d + 3 | 0] | r[d + 2 | 0] << 8) == 65535 ? -1 : 0;
+   }
+   d = 271040;
+   d : {
+    if (f + h >>> 0 <= e >>> 0) {
+     break d;
+    }
+    d = g + w(r[a + 1 | 0] | r[a | 0] << 8, e) | 0;
+   }
+   if (gs(d, b, q[c >> 2])) {
+    e = e + 1 | 0;
+    if ((i | 0) == (e | 0)) {
+     return 1;
+    }
+    h = r[a + 3 | 0];
+    j = r[a + 2 | 0];
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function cx(a, b, c, d, e, f, g, h, i, j) {
+ var k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, t = 0, u = 0, v = 0, x = 0;
+ l = Ca - 272 | 0;
+ Ca = l;
+ q[l + 268 >> 2] = 0;
+ k = 0;
+ a : {
+  if (!Rw(a, d, e, q[j >> 2], q[j + 8 >> 2], l + 268 | 0, l, 0)) {
+   break a;
+  }
+  e = q[a + 96 >> 2];
+  k = q[e + (r[e + 69 | 0] ? 80 : 72) >> 2];
+  s = q[j + 4 >> 2];
+  t = q[j >> 2];
+  q[a + 80 >> 2] = b;
+  q[a + 44 >> 2] = k;
+  m = q[q[a + 48 >> 2] + 96 >> 2];
+  u = q[m + 76 >> 2];
+  q[a + 84 >> 2] = u;
+  p = q[m + 72 >> 2];
+  if ((p | 0) == (k | 0)) {
+   x = r[(q[m + 88 >> 2] + w(k, 20) | 0) + 15 | 0];
+  }
+  v = a + 44 | 0;
+  q[a + 76 >> 2] = c;
+  q[a + 72 >> 2] = s;
+  q[a + 68 >> 2] = t;
+  o[a - -64 | 0] = x;
+  if (b) {
+   b : {
+    while (1) {
+     if (dx(v)) {
+      n = n + 1 | 0;
+      if ((n | 0) != (b | 0)) {
+       continue;
+      }
+      break b;
+     }
+     break;
+    }
+    k = 0;
+    break a;
+   }
+   t = q[j >> 2];
+   k = q[a + 44 >> 2];
+   m = q[q[a + 48 >> 2] + 96 >> 2];
+   p = q[m + 72 >> 2];
+   u = q[m + 76 >> 2];
+   e = q[a + 96 >> 2];
+  }
+  s = q[j + 12 >> 2];
+  b = q[e + 72 >> 2];
+  j = q[l + 268 >> 2];
+  q[a + 84 >> 2] = u;
+  q[a + 80 >> 2] = f;
+  b = (b + j | 0) + -1 | 0;
+  q[a + 44 >> 2] = b;
+  n = 0;
+  c = 0;
+  c = (b | 0) == (p | 0) ? r[(q[m + 88 >> 2] + w(p, 20) | 0) + 15 | 0] : c;
+  q[a + 76 >> 2] = g;
+  q[a + 72 >> 2] = s;
+  q[a + 68 >> 2] = t;
+  o[a + 64 | 0] = c;
+  if (f) {
+   c : {
+    while (1) {
+     if (Xt(v)) {
+      n = n + 1 | 0;
+      if ((n | 0) != (f | 0)) {
+       continue;
+      }
+      break c;
+     }
+     break;
+    }
+    k = 0;
+    break a;
+   }
+   e = q[a + 96 >> 2];
+   b = q[a + 44 >> 2];
+  }
+  EG(e, k, b + 1 | 0);
+  k = Xw(a, d, l, h, i, j);
+ }
+ Ca = l + 272 | 0;
+ return k;
+}
+function XV(a) {
+ var b = 0, c = 0, d = 0;
+ q[a + 276 >> 2] = 962;
+ b = a + 252 | 0;
+ q[b >> 2] = 910;
+ q[b + 20 >> 2] = 0;
+ q[b + 12 >> 2] = 0;
+ q[b + 16 >> 2] = 1;
+ while (1) {
+  d = c + 498749 | 0;
+  b = c + 1 | 0;
+  c = b;
+  if (r[d | 0]) {
+   continue;
+  }
+  break;
+ }
+ c = n[q[a + 12 >> 2]](b) | 0;
+ if (c) {
+  Y$(c, 498749, b);
+ }
+ q[a + 228 >> 2] = c;
+ q[a + 356 >> 2] = 0;
+ sT(a + 148 | 0, a + 144 | 0, 0);
+ q[a + 52 >> 2] = 0;
+ q[a + 56 >> 2] = 0;
+ q[a >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 60 >> 2] = 0;
+ q[a + 64 >> 2] = 0;
+ q[a + 68 >> 2] = 0;
+ q[a + 72 >> 2] = 0;
+ q[a + 76 >> 2] = 0;
+ q[a + 80 >> 2] = 0;
+ q[a + 84 >> 2] = 0;
+ q[a + 88 >> 2] = 0;
+ q[a + 92 >> 2] = 0;
+ q[a + 96 >> 2] = 0;
+ q[a + 100 >> 2] = 0;
+ q[a + 104 >> 2] = 0;
+ q[a + 108 >> 2] = 0;
+ q[a + 112 >> 2] = 0;
+ q[a + 128 >> 2] = 0;
+ q[a + 132 >> 2] = 0;
+ q[a + 120 >> 2] = 0;
+ q[a + 136 >> 2] = 0;
+ q[a + 140 >> 2] = 0;
+ q[a + 404 >> 2] = 0;
+ q[a + 408 >> 2] = 0;
+ q[a + 36 >> 2] = 0;
+ q[a + 40 >> 2] = 0;
+ b = q[a + 8 >> 2];
+ q[a + 28 >> 2] = b;
+ q[a + 24 >> 2] = b;
+ q[a + 116 >> 2] = a;
+ q[a + 296 >> 2] = 0;
+ q[a + 288 >> 2] = 0;
+ q[a + 292 >> 2] = 0;
+ q[a + 280 >> 2] = 0;
+ q[a + 284 >> 2] = 0;
+ q[a + 312 >> 2] = 0;
+ q[a + 316 >> 2] = 0;
+ q[a + 320 >> 2] = 0;
+ q[a + 324 >> 2] = 0;
+ q[a + 328 >> 2] = 0;
+ q[a + 332 >> 2] = 0;
+ q[a + 336 >> 2] = 0;
+ q[a + 340 >> 2] = 0;
+ p[a + 342 >> 1] = 0;
+ p[a + 344 >> 1] = 0;
+ p[a + 346 >> 1] = 0;
+ p[a + 348 >> 1] = 0;
+ q[a + 308 >> 2] = 0;
+ q[a + 360 >> 2] = 0;
+ q[a + 368 >> 2] = 0;
+ q[a + 380 >> 2] = 0;
+ o[a + 304 | 0] = 1;
+ q[a + 248 >> 2] = 0;
+ q[a + 236 >> 2] = 0;
+ q[a + 240 >> 2] = 0;
+ q[a + 472 >> 2] = 0;
+ q[a + 476 >> 2] = 0;
+ q[a + 488 >> 2] = 0;
+ q[a + 492 >> 2] = 0;
+ p[a + 484 >> 1] = 0;
+}
+function Gg(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0;
+ l = 6;
+ if (!(!a | !c | (!(r[a + 8 | 0] & 8) | s[a + 340 >> 1] <= b >>> 0))) {
+  l = 0;
+  g = q[a + 356 >> 2];
+  e = g + w(b, 20) | 0;
+  f = s[e + 8 >> 1];
+  d = 0;
+  a : {
+   if (!f) {
+    break a;
+   }
+   d = f;
+   if (q[e + 16 >> 2]) {
+    break a;
+   }
+   k = e + 8 | 0;
+   h = e + 16 | 0;
+   d = q[a + 104 >> 2];
+   j = q[a + 100 >> 2];
+   i = n[q[j + 4 >> 2]](j, f) | 0;
+   b : {
+    if (i) {
+     m = h, o = Z$(i, 0, f), q[m >> 2] = o;
+     a = q[(g + w(b, 20) | 0) + 12 >> 2];
+     c : {
+      b = q[d + 20 >> 2];
+      d : {
+       if (b) {
+        if (n[b](d, a, 0, 0)) {
+         break c;
+        }
+        b = q[d + 4 >> 2];
+        i = q[h >> 2];
+        break d;
+       }
+       b = q[d + 4 >> 2];
+       if (b >>> 0 < a >>> 0) {
+        break c;
+       }
+      }
+      q[d + 8 >> 2] = a;
+      if (b >>> 0 <= a >>> 0) {
+       break c;
+      }
+      f = s[k >> 1];
+      g = q[d + 20 >> 2];
+      e : {
+       if (g) {
+        b = n[g](d, a, i, f) | 0;
+        break e;
+       }
+       b = b - a | 0;
+       b = b >>> 0 > f >>> 0 ? f : b;
+       Y$(i, a + q[d >> 2] | 0, b);
+      }
+      q[d + 8 >> 2] = a + b;
+      if (b >>> 0 < f >>> 0) {
+       break c;
+      }
+      d = s[k >> 1];
+      break a;
+     }
+     a = q[h >> 2];
+     if (!a) {
+      break b;
+     }
+     n[q[j + 8 >> 2]](j, a);
+     break b;
+    }
+    q[h >> 2] = 0;
+   }
+   q[h >> 2] = 0;
+   p[k >> 1] = 0;
+   d = 0;
+  }
+  p[c >> 1] = s[e >> 1];
+  p[c + 2 >> 1] = s[e + 2 >> 1];
+  p[c + 4 >> 1] = s[e + 4 >> 1];
+  p[c + 6 >> 1] = s[e + 6 >> 1];
+  a = q[e + 16 >> 2];
+  q[c + 12 >> 2] = d & 65535;
+  q[c + 8 >> 2] = a;
+ }
+ return l;
+}
+function Bi(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ i = q[a + 736 >> 2];
+ j = q[i + 12 >> 2];
+ a = q[j >> 2];
+ f = a >>> 0 < b >>> 0 ? a : b;
+ if (f) {
+  a = q[j + 12 >> 2];
+  while (1) {
+   k = g << 2;
+   e = q[k + c >> 2];
+   l = q[a + 12 >> 2];
+   b = l;
+   if ((e | 0) <= (b | 0)) {
+    b = q[a + 4 >> 2];
+    b = (e | 0) < (b | 0) ? b : e;
+   }
+   e = q[a + 8 >> 2];
+   a : {
+    if ((b | 0) < (e | 0)) {
+     h = 0 - Fe(b - e | 0, q[a + 4 >> 2] - e | 0) | 0;
+     break a;
+    }
+    h = 0;
+    if ((b | 0) <= (e | 0)) {
+     break a;
+    }
+    h = Fe(b - e | 0, l - e | 0);
+   }
+   q[d + k >> 2] = h;
+   a = a + 24 | 0;
+   g = g + 1 | 0;
+   if ((f | 0) != (g | 0)) {
+    continue;
+   }
+   break;
+  }
+  a = q[j >> 2];
+ }
+ if (f >>> 0 < a >>> 0) {
+  b = f + 1 | 0;
+  Z$((f << 2) + d | 0, 0, (a >>> 0 > b >>> 0 ? a : b) - f << 2);
+ }
+ b = q[i + 28 >> 2];
+ b : {
+  if (!b) {
+   break b;
+  }
+  f = q[j >> 2];
+  if (!f) {
+   break b;
+  }
+  c = 0;
+  while (1) {
+   g = s[b >> 1];
+   c : {
+    if (g >>> 0 < 2) {
+     break c;
+    }
+    i = (c << 2) + d | 0;
+    e = q[i >> 2];
+    h = q[b + 4 >> 2];
+    a = 1;
+    while (1) {
+     k = a << 3;
+     l = k + h | 0;
+     m = q[l >> 2];
+     if ((e | 0) < (m | 0)) {
+      g = e;
+      a = k + -8 | 0;
+      f = a + h | 0;
+      e = q[f >> 2];
+      n = i, o = ue(g - e | 0, q[l + 4 >> 2] - q[f + 4 >> 2] | 0, m - e | 0) + q[(a + q[b + 4 >> 2] | 0) + 4 >> 2] | 0, q[n >> 2] = o;
+      f = q[j >> 2];
+      break c;
+     }
+     a = a + 1 | 0;
+     if (a >>> 0 < g >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = b + 8 | 0;
+   c = c + 1 | 0;
+   if (c >>> 0 < f >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function nR(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 96 | 0;
+ Ca = d;
+ a = RX(a);
+ o[c | 0] = 0;
+ a : {
+  if (a) {
+   q[d + 36 >> 2] = 0;
+   q[d + 32 >> 2] = b;
+   g = uQ(a, d + 32 | 0);
+   break a;
+  }
+  g = mZ(b);
+ }
+ q[d + 20 >> 2] = 0;
+ q[d + 16 >> 2] = 488023;
+ h = uQ(g, d + 16 | 0);
+ e = SQ(h, 0, 0);
+ b : {
+  if ((e | 0) == -1) {
+   break b;
+  }
+  o[d + 77 | 0] = 0;
+  o[d + 78 | 0] = 0;
+  o[d + 79 | 0] = 0;
+  o[d + 80 | 0] = 0;
+  o[d + 81 | 0] = 0;
+  o[d + 82 | 0] = 0;
+  o[d + 83 | 0] = 0;
+  o[d + 84 | 0] = 0;
+  q[d + 72 >> 2] = 0;
+  q[d + 76 >> 2] = 0;
+  a = d - -64 | 0;
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  q[d + 56 >> 2] = 0;
+  q[d + 60 >> 2] = 0;
+  q[d + 48 >> 2] = 0;
+  q[d + 52 >> 2] = 0;
+  a = PY(e, d + 48 | 0, 36);
+  o[d + 84 | 0] = 0;
+  SY(e);
+  if ((a | 0) < 0) {
+   break b;
+  }
+  o[c | 0] = 47;
+  gZ(c + 1 | 0, d + 48 | 0);
+  a = g0(c) + c | 0;
+  f = r[488084] | r[488085] << 8 | (r[488086] << 16 | r[488087] << 24);
+  e = r[488080] | r[488081] << 8 | (r[488082] << 16 | r[488083] << 24);
+  o[a | 0] = e;
+  o[a + 1 | 0] = e >>> 8;
+  o[a + 2 | 0] = e >>> 16;
+  o[a + 3 | 0] = e >>> 24;
+  o[a + 4 | 0] = f;
+  o[a + 5 | 0] = f >>> 8;
+  o[a + 6 | 0] = f >>> 16;
+  o[a + 7 | 0] = f >>> 24;
+  f = r[488092] | r[488093] << 8 | (r[488094] << 16 | r[488095] << 24);
+  e = r[488088] | r[488089] << 8 | (r[488090] << 16 | r[488091] << 24);
+  o[a + 8 | 0] = e;
+  o[a + 9 | 0] = e >>> 8;
+  o[a + 10 | 0] = e >>> 16;
+  o[a + 11 | 0] = e >>> 24;
+  o[a + 12 | 0] = f;
+  o[a + 13 | 0] = f >>> 8;
+  o[a + 14 | 0] = f >>> 16;
+  o[a + 15 | 0] = f >>> 24;
+  if (!(r[643388] & 16)) {
+   break b;
+  }
+  q[d + 4 >> 2] = b;
+  q[d >> 2] = c;
+  d0(488456, d);
+ }
+ M$(h);
+ M$(g);
+ Ca = d + 96 | 0;
+}
+function lS(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ e = Ca + -64 | 0;
+ Ca = e;
+ a : {
+  if (q[a + 12 >> 2] == -1) {
+   break a;
+  }
+  g = N$(1, 32);
+  if (!g) {
+   break a;
+  }
+  f = c + 8 | 0;
+  h = q[f + 4 >> 2];
+  q[e + 40 >> 2] = q[f >> 2];
+  q[e + 44 >> 2] = h;
+  h = q[c + 4 >> 2];
+  q[e + 32 >> 2] = q[c >> 2];
+  q[e + 36 >> 2] = h;
+  dS(e + 48 | 0, e + 32 | 0);
+  h = q[e + 60 >> 2];
+  q[f >> 2] = q[e + 56 >> 2];
+  q[f + 4 >> 2] = h;
+  f = q[e + 52 >> 2];
+  q[c >> 2] = q[e + 48 >> 2];
+  q[c + 4 >> 2] = f;
+  f = q[c >> 2];
+  b : {
+   if (!f) {
+    break b;
+   }
+   if (!dR(b, f)) {
+    j = e, k = eR(b), q[j + 16 >> 2] = k;
+    a = q[126919];
+    j_(a, 488835, e + 16 | 0);
+    b = q[c + 12 >> 2];
+    q[e + 8 >> 2] = q[c + 8 >> 2];
+    q[e + 12 >> 2] = b;
+    b = q[c + 4 >> 2];
+    q[e >> 2] = q[c >> 2];
+    q[e + 4 >> 2] = b;
+    RS(a, e);
+    BZ(10, a);
+    break b;
+   }
+   f = q[c + 4 >> 2];
+   q[g + 8 >> 2] = q[c >> 2];
+   q[g + 12 >> 2] = f;
+   f = q[c + 12 >> 2];
+   q[g + 16 >> 2] = q[c + 8 >> 2];
+   q[g + 20 >> 2] = f;
+   q[g + 24 >> 2] = d;
+   q[g >> 2] = 0;
+   a = iS(a, b);
+   if (a) {
+    c = a + 4 | 0;
+    while (1) {
+     a = c;
+     c = q[c >> 2];
+     if (c) {
+      continue;
+     }
+     break;
+    }
+    q[a >> 2] = g;
+    i = 1;
+    break a;
+   }
+   b = q[c >> 2] + -3 | 0;
+   if (b >>> 0 > 6) {
+    break b;
+   }
+   a = q[c + 8 >> 2];
+   c : {
+    switch (b - 1 | 0) {
+    default:
+     M$(a);
+     break b;
+    case 1:
+     XO(a);
+     break b;
+    case 2:
+     IR(a);
+     break b;
+    case 4:
+     KP(a);
+     break b;
+    case 0:
+    case 3:
+     break b;
+    case 5:
+     break c;
+    }
+   }
+   M$(a);
+  }
+  M$(g);
+ }
+ Ca = e - -64 | 0;
+ return i;
+}
+function as(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ f = 1;
+ a : {
+  c = r[a + 7 | 0];
+  b : {
+   if (c >>> 0 > 6) {
+    break b;
+   }
+   c : {
+    switch (c - 1 | 0) {
+    default:
+     f = 0;
+     g = q[b + 4 >> 2];
+     e = a + 12 | 0;
+     if (g >>> 0 > e >>> 0) {
+      break b;
+     }
+     c = q[b + 8 >> 2];
+     if (c >>> 0 < e >>> 0 | c - e >>> 0 < 8) {
+      break b;
+     }
+     e = q[b + 12 >> 2];
+     q[b + 12 >> 2] = e + -1;
+     if ((e | 0) < 1) {
+      break b;
+     }
+     d = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+     d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+     if (d >>> 0 > 715827881) {
+      break b;
+     }
+     d = w(d, 6);
+     if (d) {
+      a = a + 28 | 0;
+      if (g >>> 0 > a >>> 0 | c >>> 0 < a >>> 0 | c - a >>> 0 < d >>> 0) {
+       break b;
+      }
+      q[b + 12 >> 2] = e + -2;
+      if ((e | 0) < 2) {
+       break b;
+      }
+     }
+     return 1;
+    case 0:
+     f = 0;
+     if (t[b + 4 >> 2] > a >>> 0) {
+      break b;
+     }
+     c = q[b + 8 >> 2];
+     if (c >>> 0 < a >>> 0 | c - a >>> 0 < 32) {
+      break b;
+     }
+     c = q[b + 12 >> 2];
+     q[b + 12 >> 2] = c + -1;
+     if ((c | 0) < 1) {
+      break b;
+     }
+     break a;
+    case 1:
+     return bs(a, b);
+    case 3:
+     f = 0;
+     if (t[b + 4 >> 2] > a >>> 0) {
+      break b;
+     }
+     c = q[b + 8 >> 2];
+     if (c >>> 0 < a >>> 0 | c - a >>> 0 < 32) {
+      break b;
+     }
+     c = q[b + 12 >> 2];
+     q[b + 12 >> 2] = c + -1;
+     if ((c | 0) < 1) {
+      break b;
+     }
+     break a;
+    case 2:
+    case 4:
+     break b;
+    case 5:
+     break c;
+    }
+   }
+   f = cs(a, b);
+  }
+  return f;
+ }
+ return yr(a + 12 | 0, b);
+}
+function vG(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ g = Ca - 32 | 0;
+ Ca = g;
+ a : {
+  b : {
+   e = q[a + 80 >> 2] + c | 0;
+   c : {
+    if (!(!e | t[a + 84 >> 2] > e >>> 0)) {
+     if (!oG(a, e)) {
+      break c;
+     }
+    }
+    e = q[a + 88 >> 2];
+    d : {
+     if ((e | 0) != q[a + 92 >> 2]) {
+      break d;
+     }
+     f = q[a + 80 >> 2];
+     if (f + c >>> 0 <= q[a + 72 >> 2] + b >>> 0) {
+      break d;
+     }
+     if (!r[a + 69 | 0]) {
+      break b;
+     }
+     h = q[a + 96 >> 2];
+     q[a + 92 >> 2] = h;
+     Y$(h, e, w(f, 20));
+    }
+    e = q[a + 72 >> 2];
+    f = e + b | 0;
+    if (f >>> 0 > t[a + 76 >> 2]) {
+     break a;
+    }
+    if (b >>> 0 >= 2) {
+     wG(a, e, f);
+     e = q[a + 72 >> 2];
+    }
+    j = g + 24 | 0;
+    f = q[a + 88 >> 2] + w(e, 20) | 0;
+    q[j >> 2] = q[f + 16 >> 2];
+    i = q[f + 12 >> 2];
+    h = g + 16 | 0;
+    q[h >> 2] = q[f + 8 >> 2];
+    q[h + 4 >> 2] = i;
+    i = q[f + 4 >> 2];
+    q[g + 8 >> 2] = q[f >> 2];
+    q[g + 12 >> 2] = i;
+    f = q[a + 80 >> 2];
+    if (c) {
+     e = q[a + 92 >> 2] + w(f, 20) | 0;
+     f = 0;
+     while (1) {
+      i = q[g + 12 >> 2];
+      q[e >> 2] = q[g + 8 >> 2];
+      q[e + 4 >> 2] = i;
+      q[e + 16 >> 2] = q[j >> 2];
+      i = q[h + 4 >> 2];
+      q[e + 8 >> 2] = q[h >> 2];
+      q[e + 12 >> 2] = i;
+      q[e >> 2] = q[(f << 2) + d >> 2];
+      e = e + 20 | 0;
+      f = f + 1 | 0;
+      if ((f | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     f = q[a + 80 >> 2];
+     e = q[a + 72 >> 2];
+    }
+    q[a + 80 >> 2] = c + f;
+    q[a + 72 >> 2] = b + e;
+   }
+   Ca = g + 32 | 0;
+   return;
+  }
+  J(272302, 272314, 167, 272327);
+  F();
+ }
+ J(272368, 272314, 363, 272388);
+ F();
+}
+function CB(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ c = Ca - 48 | 0;
+ Ca = c;
+ a : {
+  if (!r[a + 16 | 0]) {
+   k = r[271040];
+   while (1) {
+    b : {
+     c : {
+      d : {
+       e : {
+        f : {
+         if (!(h & 1)) {
+          if (f) {
+           break b;
+          }
+          b = q[a + 12 >> 2];
+          i = b + 1 | 0;
+          d = q[a + 4 >> 2];
+          if (i >>> 0 > d >>> 0) {
+           break b;
+          }
+          if (b >>> 0 >= d >>> 0) {
+           o[a + 16 | 0] = 1;
+           g = k;
+           break f;
+          }
+          g = r[b + q[a >> 2] | 0];
+          if (f) {
+           break f;
+          }
+          q[a + 12 >> 2] = i;
+          f = 0;
+          break e;
+         }
+         b = g & 15;
+         break d;
+        }
+        o[a + 16 | 0] = 1;
+        q[a + 12 >> 2] = d;
+        f = 1;
+       }
+       b = (g & 240) >>> 4 | 0;
+      }
+      d = b + -13 | 0;
+      if (d >>> 0 > 2) {
+       break c;
+      }
+      g : {
+       switch (d - 1 | 0) {
+       case 1:
+        break g;
+       case 0:
+        break c;
+       default:
+        break b;
+       }
+      }
+      q[c + 12 >> 2] = c + 16;
+      if (!uq(c + 12 | 0, (c + 16 | 0) + e | 0, c)) {
+       break b;
+      }
+      j = v[c >> 3];
+      break a;
+     }
+     o[(c + 16 | 0) + e | 0] = r[b + 242746 | 0];
+     h : {
+      if ((b | 0) != 12) {
+       b = e;
+       break h;
+      }
+      b = e + 1 | 0;
+      if ((b | 0) == 32) {
+       break b;
+      }
+      o[(c + 16 | 0) + b | 0] = 45;
+     }
+     e = b + 1 | 0;
+     h = h + 1 | 0;
+     if (b >>> 0 < 31) {
+      continue;
+     }
+    }
+    break;
+   }
+   o[a + 16 | 0] = 1;
+  }
+  j = 0;
+ }
+ Ca = c + 48 | 0;
+ return j;
+}
+function JA(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  h = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  b : {
+   if (!d) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < d >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (!d) {
+    break b;
+   }
+   c = c + d | 0;
+   c : {
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 4) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -3;
+    if ((f | 0) < 3) {
+     break c;
+    }
+    d = (r[c + 1 | 0] >>> 4 & 3) + 1 | 0;
+    i = r[c + 3 | 0] | r[c + 2 | 0] << 8;
+    if (4294967295 / (d >>> 0) >>> 0 <= i >>> 0) {
+     break c;
+    }
+    d = w(d, i);
+    if (!d) {
+     break b;
+    }
+    c = c + 4 | 0;
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < d >>> 0) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -4;
+    if ((f | 0) > 3) {
+     break b;
+    }
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   h = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   o[a + 2 | 0] = 0;
+   o[a + 3 | 0] = 0;
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function _m(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ if (a) {
+  c = q[a + 100 >> 2];
+  Qe(c, q[a >> 2]);
+  q[a >> 2] = 0;
+  e = q[a + 92 >> 2];
+  if (e) {
+   cf(e, c);
+   Qe(c, q[a + 92 >> 2]);
+   q[a + 92 >> 2] = 0;
+  }
+  Qe(c, q[a + 84 >> 2]);
+  q[a + 84 >> 2] = 0;
+  d = q[a + 72 >> 2];
+  if (d) {
+   while (1) {
+    e = b << 4;
+    f = e + q[a + 80 >> 2] | 0;
+    if (q[f + 4 >> 2] == 1) {
+     Qe(c, q[f + 12 >> 2]);
+     q[(q[a + 80 >> 2] + e | 0) + 12 >> 2] = 0;
+     d = q[a + 72 >> 2];
+    }
+    b = b + 1 | 0;
+    if (b >>> 0 < d >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  Qe(c, q[a + 80 >> 2]);
+  q[a + 80 >> 2] = 0;
+  if (q[a + 52 >> 2]) {
+   b = q[a + 56 >> 2];
+   d = 0;
+   while (1) {
+    Qe(c, q[b >> 2]);
+    q[b >> 2] = 0;
+    Qe(c, q[b + 24 >> 2]);
+    q[b + 24 >> 2] = 0;
+    b = b + 36 | 0;
+    d = d + 1 | 0;
+    if (d >>> 0 < t[a + 52 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (q[a + 64 >> 2]) {
+   b = q[a + 68 >> 2];
+   d = 0;
+   while (1) {
+    Qe(c, q[b >> 2]);
+    q[b >> 2] = 0;
+    Qe(c, q[b + 24 >> 2]);
+    q[b + 24 >> 2] = 0;
+    b = b + 36 | 0;
+    d = d + 1 | 0;
+    if (d >>> 0 < t[a + 64 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  Qe(c, q[a + 56 >> 2]);
+  d = 0;
+  q[a + 56 >> 2] = 0;
+  Qe(c, q[a + 68 >> 2]);
+  q[a + 68 >> 2] = 0;
+  cf(a + 112 | 0, c);
+  b = q[a + 104 >> 2];
+  e = c;
+  if (q[a + 108 >> 2]) {
+   while (1) {
+    Qe(c, q[b >> 2]);
+    q[b >> 2] = 0;
+    if (q[b + 4 >> 2] == 1) {
+     Qe(c, q[b + 12 >> 2]);
+     q[b + 12 >> 2] = 0;
+    }
+    b = b + 16 | 0;
+    d = d + 1 | 0;
+    if (d >>> 0 < t[a + 108 >> 2]) {
+     continue;
+    }
+    break;
+   }
+   b = q[a + 104 >> 2];
+  }
+  Qe(e, b);
+  q[a + 104 >> 2] = 0;
+ }
+}
+function RI(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ e = Ca + -64 | 0;
+ Ca = e;
+ q[e + 60 >> 2] = 0;
+ h = b + 108 | 0;
+ i = q[a + 8 >> 2];
+ a : {
+  b : {
+   c : {
+    d : {
+     if (q[b + 72 >> 2] != q[a + 16 >> 2]) {
+      q[e + 60 >> 2] = 6;
+      break d;
+     }
+     g = 19;
+     if ((c | 0) != 2) {
+      break a;
+     }
+     if (o[q[b + 156 >> 2] + 4 | 0] & 1) {
+      c = b + 88 | 0;
+      Qe(i, q[c >> 2]);
+      q[c >> 2] = 0;
+      c = q[b + 156 >> 2];
+      q[c + 4 >> 2] = q[c + 4 >> 2] & -2;
+     }
+     if (ze(b, 2, d)) {
+      q[e + 60 >> 2] = 98;
+      break d;
+     }
+     j = b, k = Te(i, q[b + 84 >> 2], 0, q[b + 76 >> 2], 0, e + 60 | 0), q[j + 88 >> 2] = k;
+     c = 0;
+     if (q[e + 60 >> 2]) {
+      break c;
+     }
+     c = q[b + 156 >> 2];
+     q[c + 4 >> 2] = q[c + 4 >> 2] | 1;
+     g = q[b + 100 >> 2] << 6;
+     f = q[b + 76 >> 2] - q[b + 104 >> 2] << 6;
+     if (d) {
+      f = q[d + 4 >> 2] + f | 0;
+      c = q[d >> 2];
+     } else {
+      c = 0;
+     }
+     d = b + 76 | 0;
+     c = c - g | 0;
+     if (f | c) {
+      wf(h, c, f);
+     }
+     q[e + 16 >> 2] = 0;
+     q[e + 12 >> 2] = h;
+     q[e + 8 >> 2] = d;
+     a = n[q[a + 56 >> 2]](q[a + 52 >> 2], e + 8 | 0) | 0;
+     q[e + 60 >> 2] = a;
+     if (a) {
+      break c;
+     }
+     q[b + 72 >> 2] = 1651078259;
+     break b;
+    }
+    c = 0;
+   }
+   if (!(o[q[b + 156 >> 2] + 4 | 0] & 1)) {
+    break b;
+   }
+   a = b + 88 | 0;
+   Qe(i, q[a >> 2]);
+   q[a >> 2] = 0;
+   a = q[b + 156 >> 2];
+   q[a + 4 >> 2] = q[a + 4 >> 2] & -2;
+  }
+  if (c | f) {
+   wf(h, 0 - c | 0, 0 - f | 0);
+  }
+  g = q[e + 60 >> 2];
+ }
+ Ca = e - -64 | 0;
+ return g | 0;
+}
+function Mo(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ g = q[a + 16 >> 2];
+ d = r[g + 12 | 0] | r[g + 13 | 0] << 8 | (r[g + 14 | 0] << 16 | r[g + 15 | 0] << 24);
+ j = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+ a : {
+  if (!j) {
+   break a;
+  }
+  h = q[b >> 2];
+  if (c) {
+   if ((h | 0) == -1) {
+    break a;
+   }
+   h = h + 1 | 0;
+  }
+  m = g + 20 | 0;
+  d = j;
+  b : {
+   c : {
+    while (1) {
+     i = d + k >>> 1 | 0;
+     g = w(i, 12) + m | 0;
+     e = g;
+     f = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+     l = f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24);
+     f = i;
+     e = e + -4 | 0;
+     e = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+     if (h >>> 0 >= (e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24)) >>> 0) {
+      if (h >>> 0 <= l >>> 0) {
+       break c;
+      }
+      k = i + 1 | 0;
+      f = d;
+     }
+     d = f;
+     if (k >>> 0 < d >>> 0) {
+      continue;
+     }
+     break;
+    }
+    d = 0;
+    break b;
+   }
+   f = r[g + 4 | 0] | r[g + 5 | 0] << 8 | (r[g + 6 | 0] << 16 | r[g + 7 | 0] << 24);
+   d = f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24);
+  }
+  if (!c) {
+   return d;
+  }
+  c = q[a >> 2];
+  if (h >>> 0 > l >>> 0) {
+   f = 0;
+   i = i + 1 | 0;
+   if ((j | 0) == (i | 0)) {
+    break a;
+   }
+  }
+  o[a + 24 | 0] = 1;
+  q[a + 36 >> 2] = i;
+  q[a + 28 >> 2] = h;
+  d : {
+   if (!(d >>> 0 < t[c + 16 >> 2] ? d : 0)) {
+    Oo(a);
+    d = 0;
+    if (!r[a + 24 | 0]) {
+     break d;
+    }
+    d = q[a + 32 >> 2];
+    break d;
+   }
+   q[a + 32 >> 2] = d;
+  }
+  f = d;
+  q[b >> 2] = q[a + 28 >> 2];
+ }
+ return f;
+}
+function kk(a, b) {
+ var c = 0, d = 0;
+ b = Z$(b, 0, 196);
+ d = r[a + 188 | 0];
+ o[b + 8 | 0] = d;
+ if (d) {
+  while (1) {
+   p[(b + (c << 1) | 0) + 12 >> 1] = q[((c << 2) + a | 0) + 192 >> 2];
+   c = c + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ d = r[a + 189 | 0];
+ o[b + 9 | 0] = d;
+ if (d) {
+  c = 0;
+  while (1) {
+   p[(b + (c << 1) | 0) + 40 >> 1] = q[((c << 2) + a | 0) + 248 >> 2];
+   c = c + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ d = r[a + 190 | 0];
+ o[b + 10 | 0] = d;
+ if (d) {
+  c = 0;
+  while (1) {
+   p[(b + (c << 1) | 0) + 60 >> 1] = q[((c << 2) + a | 0) + 288 >> 2];
+   c = c + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ d = r[a + 191 | 0];
+ o[b + 11 | 0] = d;
+ if (d) {
+  c = 0;
+  while (1) {
+   p[(b + (c << 1) | 0) + 88 >> 1] = q[((c << 2) + a | 0) + 344 >> 2];
+   c = c + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[b + 108 >> 2] = q[a + 384 >> 2];
+ q[b + 112 >> 2] = q[a + 388 >> 2];
+ q[b + 116 >> 2] = q[a + 392 >> 2];
+ p[b + 120 >> 1] = q[a + 396 >> 2];
+ p[b + 122 >> 1] = q[a + 400 >> 2];
+ d = r[a + 404 | 0];
+ o[b + 124 | 0] = d;
+ if (d) {
+  c = 0;
+  while (1) {
+   p[(b + (c << 1) | 0) + 128 >> 1] = q[((c << 2) + a | 0) + 408 >> 2];
+   c = c + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ d = r[a + 405 | 0];
+ o[b + 125 | 0] = d;
+ if (d) {
+  c = 0;
+  while (1) {
+   p[(b + (c << 1) | 0) + 154 >> 1] = q[((c << 2) + a | 0) + 460 >> 2];
+   c = c + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ o[b + 126 | 0] = r[a + 512 | 0];
+ q[b + 184 >> 2] = q[a + 524 >> 2];
+ q[b + 4 >> 2] = q[a + 520 >> 2];
+}
+function Et(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ c = r[b + 164 | 0];
+ if ((c & 3) == 3) {
+  a : {
+   if (!(c & 4) | !(c & 8)) {
+    break a;
+   }
+   c = q[a + 16 >> 2];
+   d = c + 132 | 0;
+   a = q[d >> 2];
+   b : {
+    if (a) {
+     break b;
+    }
+    g = c + 48 | 0;
+    while (1) {
+     a = q[g >> 2];
+     if (!a) {
+      a = 271040;
+      break b;
+     }
+     c = N$(1, 4);
+     if (c) {
+      $s(c, a);
+     }
+     e = q[d >> 2];
+     a = c ? c : 271040;
+     q[d >> 2] = e ? e : a;
+     if (!e) {
+      break b;
+     }
+     if (!(!c | !a)) {
+      c = q[a >> 2];
+      Cq(c ? c : 271040);
+      M$(a);
+     }
+     a = q[d >> 2];
+     if (!a) {
+      continue;
+     }
+     break;
+    }
+   }
+   g = q[b + 76 >> 2];
+   if (g) {
+    a = q[a >> 2];
+    a = a ? a : 271040;
+    c = t[a + 16 >> 2] < 12 ? 271040 : q[a + 12 >> 2];
+    a = 0;
+    while (1) {
+     e = r[c + 5 | 0] | r[c + 4 | 0] << 8;
+     d = e ? e + c | 0 : 271040;
+     e = w(a, 20);
+     h = e + q[b + 88 >> 2] | 0;
+     i = q[h >> 2];
+     d = at(d, i) + -1 | 0;
+     f = 0;
+     c : {
+      if (d >>> 0 > 2) {
+       break c;
+      }
+      d : {
+       switch (d - 1 | 0) {
+       default:
+        f = 2;
+        break c;
+       case 0:
+        f = 4;
+        break c;
+       case 1:
+        break d;
+       }
+      }
+      d = r[c + 11 | 0] | r[c + 10 | 0] << 8;
+      f = at(d ? d + c | 0 : 271040, i) << 8 | 8;
+     }
+     d = f;
+     p[h + 12 >> 1] = d;
+     o[(e + q[b + 88 >> 2] | 0) + 14 | 0] = 0;
+     o[(e + q[b + 88 >> 2] | 0) + 15 | 0] = 0;
+     a = a + 1 | 0;
+     if ((g | 0) != (a | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   return;
+  }
+ }
+ J(228618, 228592, 170, 228607);
+ F();
+}
+function io(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ if (a + 4 >>> 0 > t[b + 160 >> 2]) {
+  kf(b, 8);
+ }
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ i = c + a | 0;
+ if (!(i >>> 0 <= t[b + 160 >> 2] ? c >>> 0 >= 518 : 0)) {
+  kf(b, 8);
+ }
+ c = a + 6 | 0;
+ while (1) {
+  d = r[c + 1 | 0];
+  f = d | r[c | 0] << 8;
+  if (!(!(d & 7) | t[b + 164 >> 2] < 2)) {
+   kf(b, 8);
+  }
+  c = c + 2 | 0;
+  d = f >>> 3 | 0;
+  g = d >>> 0 > g >>> 0 ? d : g;
+  e = e + 1 | 0;
+  if ((e | 0) != 256) {
+   continue;
+  }
+  break;
+ }
+ c = a + 518 | 0;
+ j = (c + (g << 3) | 0) + 8 | 0;
+ if (j >>> 0 > t[b + 160 >> 2]) {
+  kf(b, 8);
+ }
+ a = 0;
+ while (1) {
+  d = c + 8 | 0;
+  f = r[c + 3 | 0] | r[c + 2 | 0] << 8;
+  a : {
+   if (!f) {
+    c = d;
+    break a;
+   }
+   e = r[c + 7 | 0] | r[c + 6 | 0] << 8;
+   k = r[c + 4 | 0];
+   l = r[c + 5 | 0];
+   h = r[c | 0];
+   m = r[c + 1 | 0];
+   b : {
+    if (t[b + 164 >> 2] < 2) {
+     break b;
+    }
+    h = h << 8 | m;
+    if (f >>> 0 <= 256 - h >>> 0 ? h >>> 0 <= 255 : 0) {
+     break b;
+    }
+    kf(b, 8);
+   }
+   if (!e) {
+    c = d;
+    break a;
+   }
+   e = e + (c + 6 | 0) | 0;
+   if (!(e + (f << 1) >>> 0 <= i >>> 0 ? e >>> 0 >= j >>> 0 : 0)) {
+    kf(b, 9);
+   }
+   if (!q[b + 164 >> 2]) {
+    c = d;
+    break a;
+   }
+   e = k << 8 | l;
+   f = ((f << 1) + c | 0) + 8 | 0;
+   c = d;
+   while (1) {
+    d = c;
+    c = c + 2 | 0;
+    d = r[d + 1 | 0] | r[d | 0] << 8;
+    if (!(!d | (d + e & 65535) >>> 0 < t[b + 172 >> 2])) {
+     kf(b, 16);
+    }
+    if (c >>> 0 < f >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = a + 1 | 0;
+  if (a >>> 0 <= g >>> 0) {
+   continue;
+  }
+  break;
+ }
+ return 0;
+}
+function ST(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0;
+ if (b >>> 0 < c >>> 0) {
+  if ((c - b | 0) < 1) {
+   return -1;
+  }
+  g = a + 72 | 0;
+  e = b;
+  while (1) {
+   a : {
+    b : {
+     c : {
+      h = r[r[e | 0] + g | 0] + -3 | 0;
+      if (h >>> 0 > 27) {
+       break c;
+      }
+      f = 2;
+      d : {
+       switch (h - 1 | 0) {
+       case 2:
+        f = 3;
+        break b;
+       case 3:
+        f = 4;
+        break b;
+       default:
+        if ((b | 0) != (e | 0)) {
+         break a;
+        }
+        return OT(a, b + 1 | 0, c, d) | 0;
+       case 26:
+        if ((b | 0) != (e | 0)) {
+         break a;
+        }
+        a = MT(a, b + 1 | 0, c, d);
+        return ((a | 0) == 22 ? 0 : a) | 0;
+       case 6:
+        if ((b | 0) != (e | 0)) {
+         break a;
+        }
+        q[d >> 2] = b + 1;
+        return 7;
+       case 1:
+        break b;
+       case 0:
+       case 4:
+       case 7:
+       case 8:
+       case 9:
+       case 10:
+       case 11:
+       case 12:
+       case 13:
+       case 14:
+       case 15:
+       case 16:
+       case 17:
+       case 18:
+       case 19:
+       case 20:
+       case 21:
+       case 22:
+       case 23:
+       case 24:
+       case 25:
+        break c;
+       case 5:
+        break d;
+       }
+      }
+      if ((b | 0) != (e | 0)) {
+       break a;
+      }
+      a = b + 1 | 0;
+      if ((c - a | 0) < 1) {
+       return -3;
+      }
+      q[d >> 2] = r[r[b + 1 | 0] + g | 0] == 10 ? b + 2 | 0 : a;
+      return 7;
+     }
+     f = 1;
+    }
+    e = e + f | 0;
+    if ((c - e | 0) > 0) {
+     continue;
+    }
+   }
+   break;
+  }
+  q[d >> 2] = e;
+  a = 6;
+ } else {
+  a = -4;
+ }
+ return a | 0;
+}
+function xe(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ if (!(!a | !b)) {
+  e = q[a >> 2];
+  g = (e | 0) < 0 ? -1 : 1;
+  f = 0 - g | 0;
+  d = q[b >> 2];
+  i = (d | 0) < 0 ? f : g;
+  c = e;
+  e = e >> 31;
+  e = c + e ^ e;
+  c = d;
+  d = d >> 31;
+  d = c + d ^ d;
+  a : {
+   if (e + (d >>> 8 | 0) >>> 0 <= 8190) {
+    d = w(d, e) + 32768 >>> 16 | 0;
+    break a;
+   }
+   c = e & 65535;
+   d = w(c, d >>> 16 | 0) + w(d, e >>> 16 | 0) + (w(c, d & 65535) + 32768 >>> 16) | 0;
+  }
+  h = q[a + 4 >> 2];
+  j = (h | 0) < 0 ? -1 : 1;
+  k = 0 - j | 0;
+  c = q[b + 4 >> 2];
+  l = (c | 0) < 0 ? k : j;
+  i = (i | 0) < 0 ? 0 - d | 0 : d;
+  d = c >> 31;
+  c = d + c ^ d;
+  d = h >> 31;
+  d = d + h ^ d;
+  b : {
+   if ((c >>> 8 | 0) + d >>> 0 <= 8190) {
+    c = w(d, c) + 32768 >>> 16 | 0;
+    break b;
+   }
+   h = d & 65535;
+   c = w(h, c >>> 16 | 0) + w(c, d >>> 16 | 0) + (w(h, c & 65535) + 32768 >>> 16) | 0;
+  }
+  h = (l | 0) < 0 ? 0 - c | 0 : c;
+  c = q[b + 8 >> 2];
+  g = (c | 0) < 0 ? f : g;
+  f = c;
+  c = c >> 31;
+  c = f + c ^ c;
+  c : {
+   if (e + (c >>> 8 | 0) >>> 0 <= 8190) {
+    e = w(c, e) + 32768 >>> 16 | 0;
+    break c;
+   }
+   f = e & 65535;
+   e = w(f, c >>> 16 | 0) + w(c, e >>> 16 | 0) + (w(f, c & 65535) + 32768 >>> 16) | 0;
+  }
+  b = q[b + 12 >> 2];
+  c = (b | 0) < 0 ? k : j;
+  q[a >> 2] = h + i;
+  f = (g | 0) < 0 ? 0 - e | 0 : e;
+  e = b;
+  b = b >> 31;
+  b = e + b ^ b;
+  d : {
+   if (d + (b >>> 8 | 0) >>> 0 <= 8190) {
+    b = w(b, d) + 32768 >>> 16 | 0;
+    break d;
+   }
+   g = d & 65535;
+   b = w(g, b >>> 16 | 0) + w(b, d >>> 16 | 0) + (w(g, b & 65535) + 32768 >>> 16) | 0;
+  }
+  q[a + 4 >> 2] = f + ((c | 0) < 0 ? 0 - b | 0 : b);
+ }
+}
+function NG(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ i = q[a + 24 >> 2];
+ e = q[a + 44 >> 2];
+ if (!(e | q[a + 76 >> 2] ? (e | 0) != 1 : 0)) {
+  if (q[a + 4 >> 2]) {
+   if ((c | 0) == -1) {
+    c = g0(b);
+   }
+   d = (d | 0) == -1 ? c : d;
+   e = (d >>> 2 | 0) + q[a + 76 >> 2] | 0;
+   if (!(!e | t[a + 84 >> 2] > e >>> 0)) {
+    oG(a, e);
+   }
+   e = b;
+   a : {
+    if ((d | 0) < 1) {
+     g = e;
+     break a;
+    }
+    j = d + e | 0;
+    while (1) {
+     g = OG(e, j, f + 8 | 0, i);
+     k = q[f + 8 >> 2];
+     d = q[a + 76 >> 2];
+     h = d + 1 | 0;
+     b : {
+      c : {
+       if (h >>> 0 < d >>> 0) {
+        d = -1;
+        break c;
+       }
+       if (t[a + 84 >> 2] > h >>> 0) {
+        break c;
+       }
+       if (!oG(a, h)) {
+        break b;
+       }
+       d = q[a + 76 >> 2];
+      }
+      d = q[a + 88 >> 2] + w(d, 20) | 0;
+      q[d + 8 >> 2] = 0;
+      q[d + 12 >> 2] = 0;
+      q[d + 4 >> 2] = 0;
+      q[d >> 2] = k;
+      q[d + 8 >> 2] = e - b;
+      q[d + 16 >> 2] = 0;
+      q[a + 76 >> 2] = q[a + 76 >> 2] + 1;
+     }
+     e = g;
+     if (e >>> 0 < j >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[a + 148 >> 2] = 0;
+   b = b + c | 0;
+   d : {
+    if (g >>> 0 >= b >>> 0) {
+     break d;
+    }
+    while (1) {
+     g = OG(g, b, f + 4 | 0, i);
+     c = q[f + 4 >> 2];
+     d = q[a + 148 >> 2];
+     q[a + 148 >> 2] = d + 1;
+     q[((d << 2) + a | 0) + 124 >> 2] = c;
+     if (g >>> 0 >= b >>> 0) {
+      break d;
+     }
+     if (t[a + 148 >> 2] < 5) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[a + 44 >> 2] = 1;
+  }
+  Ca = f + 16 | 0;
+  return;
+ }
+ J(272730, 272314, 1517, 272861);
+ F();
+}
+function Wl(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0;
+ e = q[q[q[a + 4 >> 2] + 96 >> 2] + 28 >> 2];
+ f = L_(q[q[q[b >> 2] + 428 >> 2] + (c << 2) >> 2], 0, 10);
+ c = q[a + 160 >> 2];
+ pf(c);
+ q[c + 24 >> 2] = 0;
+ q[c + 28 >> 2] = 0;
+ q[c + 152 >> 2] = 0;
+ q[c + 32 >> 2] = 0;
+ q[c + 36 >> 2] = 0;
+ q[c + 40 >> 2] = 0;
+ q[c + 44 >> 2] = 0;
+ q[c + 48 >> 2] = 0;
+ q[c + 52 >> 2] = 0;
+ q[c + 56 >> 2] = 0;
+ q[c + 60 >> 2] = 0;
+ Z$(c + 72 | 0, 0, 72);
+ c = n[q[e + 72 >> 2]](q[a + 160 >> 2], q[b + 44 >> 2], f, d | 8) | 0;
+ if (!c) {
+  b = q[a + 160 >> 2];
+  d = q[b + 28 >> 2];
+  q[a + 24 >> 2] = q[b + 24 >> 2];
+  q[a + 28 >> 2] = d;
+  d = q[b + 36 >> 2];
+  q[a + 32 >> 2] = q[b + 32 >> 2];
+  q[a + 36 >> 2] = d;
+  d = q[b + 44 >> 2];
+  q[a + 40 >> 2] = q[b + 40 >> 2];
+  q[a + 44 >> 2] = d;
+  d = q[b + 52 >> 2];
+  q[a + 48 >> 2] = q[b + 48 >> 2];
+  q[a + 52 >> 2] = d;
+  q[a + 56 >> 2] = q[b + 56 >> 2];
+  q[a + 60 >> 2] = q[b + 60 >> 2];
+  q[a + 72 >> 2] = q[b + 72 >> 2];
+  q[a + 124 >> 2] = q[b + 124 >> 2];
+  d = q[b + 120 >> 2];
+  q[a + 116 >> 2] = q[b + 116 >> 2];
+  q[a + 120 >> 2] = d;
+  d = q[b + 112 >> 2];
+  q[a + 108 >> 2] = q[b + 108 >> 2];
+  q[a + 112 >> 2] = d;
+  d = q[b + 96 >> 2];
+  q[a + 92 >> 2] = q[b + 92 >> 2];
+  q[a + 96 >> 2] = d;
+  d = q[b + 88 >> 2];
+  q[a + 84 >> 2] = q[b + 84 >> 2];
+  q[a + 88 >> 2] = d;
+  d = q[b + 80 >> 2];
+  q[a + 76 >> 2] = q[b + 76 >> 2];
+  q[a + 80 >> 2] = d;
+  q[a + 100 >> 2] = q[b + 100 >> 2];
+  q[a + 104 >> 2] = q[b + 104 >> 2];
+  q[a + 128 >> 2] = q[b + 128 >> 2];
+  q[a + 132 >> 2] = q[b + 132 >> 2];
+  q[a + 136 >> 2] = q[b + 136 >> 2];
+  q[a + 140 >> 2] = q[b + 140 >> 2];
+ }
+ return c | 0;
+}
+function Ai(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ d = q[a + 104 >> 2];
+ h = q[d + 28 >> 2];
+ f = q[a + 736 >> 2];
+ o[f + 24 | 0] = 1;
+ a = n[q[a + 516 >> 2]](a, 1635148146, d, c + 8 | 0) | 0;
+ q[c + 12 >> 2] = a;
+ a : {
+  if (a) {
+   break a;
+  }
+  a = Kg(d, q[c + 8 >> 2]);
+  q[c + 12 >> 2] = a;
+  if (a) {
+   break a;
+  }
+  a = (Rg(d) | 0) != 65536;
+  e = Rg(d);
+  b : {
+   if (a | (e | 0) != q[q[f + 12 >> 2] >> 2]) {
+    break b;
+   }
+   a = Te(h, 8, 0, e, 0, c + 12 | 0);
+   q[f + 28 >> 2] = a;
+   if (q[c + 12 >> 2] | (e | 0) < 1) {
+    break b;
+   }
+   while (1) {
+    c : {
+     b = Pg(d);
+     p[a >> 1] = b;
+     if (b << 2 >>> 0 > t[c + 8 >> 2]) {
+      break c;
+     }
+     k = a, l = Te(h, 8, 0, b, 0, c + 12 | 0), q[k + 4 >> 2] = l;
+     if (q[c + 12 >> 2]) {
+      break c;
+     }
+     b = 0;
+     if (s[a >> 1]) {
+      while (1) {
+       i = Pg(d);
+       j = b << 3;
+       q[j + q[a + 4 >> 2] >> 2] = i << 16 >> 16 << 2;
+       i = Pg(d);
+       q[(q[a + 4 >> 2] + j | 0) + 4 >> 2] = i << 16 >> 16 << 2;
+       b = b + 1 | 0;
+       if (b >>> 0 < s[a >> 1]) {
+        continue;
+       }
+       break;
+      }
+     }
+     a = a + 8 | 0;
+     g = g + 1 | 0;
+     if ((e | 0) != (g | 0)) {
+      continue;
+     }
+     break b;
+    }
+    break;
+   }
+   a = q[f + 28 >> 2];
+   if (g) {
+    while (1) {
+     e = g + -1 | 0;
+     b = e << 3;
+     Qe(h, q[(b + a | 0) + 4 >> 2]);
+     a = q[f + 28 >> 2];
+     q[(b + a | 0) + 4 >> 2] = 0;
+     b = (g | 0) > 1;
+     g = e;
+     if (b) {
+      continue;
+     }
+     break;
+    }
+   }
+   Qe(h, a);
+   q[f + 28 >> 2] = 0;
+  }
+  Ng(d);
+ }
+ Ca = c + 16 | 0;
+}
+function A$(a, b, c, d) {
+ var e = 0, g = 0, h = 0, i = 0, j = 0, l = 0, m = 0;
+ i = Ca - 32 | 0;
+ Ca = i;
+ g = d & 2147483647;
+ h = g;
+ e = g + -1065418752 | 0;
+ g = c;
+ j = g;
+ if (g >>> 0 < 0) {
+  e = e + 1 | 0;
+ }
+ m = j;
+ l = h + -1082064896 | 0;
+ j = g;
+ if (g >>> 0 < 0) {
+  l = l + 1 | 0;
+ }
+ a : {
+  if ((e | 0) == (l | 0) & m >>> 0 < j >>> 0 | e >>> 0 < l >>> 0) {
+   h = (d & 33554431) << 7 | c >>> 25;
+   g = 0;
+   l = g;
+   j = c & 33554431;
+   if (!(!g & (j | 0) == 16777216 ? !(a | b) : !g & j >>> 0 < 16777216 | g >>> 0 < 0)) {
+    e = h + 1073741825 | 0;
+    break a;
+   }
+   e = h + 1073741824 | 0;
+   if (j ^ 16777216 | a | (b | l)) {
+    break a;
+   }
+   e = (e & 1) + e | 0;
+   break a;
+  }
+  if (!(!g & (h | 0) == 2147418112 ? !(a | b) : (h | 0) == 2147418112 & g >>> 0 < 0 | h >>> 0 < 2147418112)) {
+   e = ((d & 33554431) << 7 | c >>> 25) & 4194303 | 2143289344;
+   break a;
+  }
+  e = 2139095040;
+  if ((h | 0) == 1082064895 & g >>> 0 > 4294967295 | h >>> 0 > 1082064895) {
+   break a;
+  }
+  e = 0;
+  h = h >>> 16 | 0;
+  if (h >>> 0 < 16145) {
+   break a;
+  }
+  e = d & 65535 | 65536;
+  n$(i + 16 | 0, a, b, c, e, h + -16129 | 0);
+  v$(i, a, b, g, e, 16257 - h | 0);
+  b = q[i + 8 >> 2];
+  e = (q[i + 12 >> 2] & 33554431) << 7 | b >>> 25;
+  g = q[i + 4 >> 2];
+  h = g;
+  a = 0;
+  j = a;
+  l = q[i >> 2] | ((q[i + 16 >> 2] | q[i + 24 >> 2]) != 0 | (q[i + 20 >> 2] | q[i + 28 >> 2]) != 0);
+  b = b & 33554431;
+  if (!(!a & (b | 0) == 16777216 ? !(g | l) : !a & b >>> 0 < 16777216 | a >>> 0 < 0)) {
+   e = e + 1 | 0;
+   break a;
+  }
+  if (b ^ 16777216 | l | (h | j)) {
+   break a;
+  }
+  e = (e & 1) + e | 0;
+ }
+ Ca = i + 32 | 0;
+ return f(0, d & -2147483648 | e), k();
+}
+function rB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ c = b;
+ q[c >> 2] = 0;
+ q[c + 4 >> 2] = 0;
+ q[c + 24 >> 2] = -1;
+ q[c + 28 >> 2] = -1;
+ q[c + 80 >> 2] = 0;
+ q[c + 84 >> 2] = 0;
+ q[c + 72 >> 2] = 0;
+ q[c + 76 >> 2] = 8720;
+ q[c + 16 >> 2] = 0;
+ q[c + 20 >> 2] = 0;
+ q[c + 8 >> 2] = 0;
+ q[c + 12 >> 2] = 0;
+ q[c + 32 >> 2] = -1;
+ q[c + 36 >> 2] = -1;
+ q[c + 40 >> 2] = -1;
+ q[c + 44 >> 2] = -1;
+ q[c + 48 >> 2] = -1;
+ q[c + 52 >> 2] = -1;
+ q[c + 56 >> 2] = -1;
+ q[c + 60 >> 2] = -1;
+ q[c - -64 >> 2] = -1;
+ q[c + 88 >> 2] = 0;
+ q[c + 92 >> 2] = 0;
+ q[c + 96 >> 2] = 0;
+ q[c + 100 >> 2] = 0;
+ c = 1;
+ a : {
+  if (r[a + 16 | 0]) {
+   break a;
+  }
+  g = r[271040];
+  i = g | 256;
+  while (1) {
+   c = q[a + 12 >> 2];
+   f = c + 1 | 0;
+   d = q[a + 4 >> 2];
+   if (f >>> 0 > d >>> 0) {
+    return 1;
+   }
+   b : {
+    c : {
+     d : {
+      if (c >>> 0 < d >>> 0) {
+       h = q[a >> 2];
+       e = r[h + c | 0];
+       if ((e | 0) == 12) {
+        if (f >>> 0 >= d >>> 0) {
+         break d;
+        }
+        c = r[f + h | 0];
+        q[a + 12 >> 2] = f;
+        e = c | 256;
+        c = f;
+       }
+       if (c >>> 0 >= d >>> 0) {
+        c = e;
+        break c;
+       }
+       q[a + 12 >> 2] = c + 1;
+       break b;
+      }
+      o[a + 16 | 0] = 1;
+      e = 65535;
+      c = g;
+      if ((c | 0) == 12) {
+       break b;
+      }
+      break c;
+     }
+     o[a + 16 | 0] = 1;
+     q[a + 12 >> 2] = d;
+     c = i;
+    }
+    o[a + 16 | 0] = 1;
+    q[a + 12 >> 2] = d;
+    e = c;
+   }
+   xB(e, a, b);
+   c = 0;
+   if (r[a + 20 | 0] | (r[a + 40 | 0] | r[a + 16 | 0])) {
+    break a;
+   }
+   if (q[a + 28 >> 2] > -1) {
+    continue;
+   }
+   break;
+  }
+ }
+ return c;
+}
+function _$(a, b, c) {
+ var d = 0, e = 0;
+ a : {
+  if ((a | 0) == (b | 0)) {
+   break a;
+  }
+  b : {
+   if (b + c >>> 0 > a >>> 0) {
+    e = a + c | 0;
+    if (e >>> 0 > b >>> 0) {
+     break b;
+    }
+   }
+   return Y$(a, b, c);
+  }
+  d = (a ^ b) & 3;
+  c : {
+   d : {
+    if (a >>> 0 < b >>> 0) {
+     if (d) {
+      d = a;
+      break c;
+     }
+     if (!(a & 3)) {
+      d = a;
+      break d;
+     }
+     d = a;
+     while (1) {
+      if (!c) {
+       break a;
+      }
+      o[d | 0] = r[b | 0];
+      b = b + 1 | 0;
+      c = c + -1 | 0;
+      d = d + 1 | 0;
+      if (d & 3) {
+       continue;
+      }
+      break;
+     }
+     break d;
+    }
+    e : {
+     if (d) {
+      break e;
+     }
+     if (e & 3) {
+      while (1) {
+       if (!c) {
+        break a;
+       }
+       c = c + -1 | 0;
+       d = c + a | 0;
+       o[d | 0] = r[b + c | 0];
+       if (d & 3) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (c >>> 0 <= 3) {
+      break e;
+     }
+     while (1) {
+      c = c + -4 | 0;
+      q[c + a >> 2] = q[b + c >> 2];
+      if (c >>> 0 > 3) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (!c) {
+     break a;
+    }
+    while (1) {
+     c = c + -1 | 0;
+     o[c + a | 0] = r[b + c | 0];
+     if (c) {
+      continue;
+     }
+     break;
+    }
+    break a;
+   }
+   if (c >>> 0 <= 3) {
+    break c;
+   }
+   while (1) {
+    q[d >> 2] = q[b >> 2];
+    b = b + 4 | 0;
+    d = d + 4 | 0;
+    c = c + -4 | 0;
+    if (c >>> 0 > 3) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (!c) {
+   break a;
+  }
+  while (1) {
+   o[d | 0] = r[b | 0];
+   d = d + 1 | 0;
+   b = b + 1 | 0;
+   c = c + -1 | 0;
+   if (c) {
+    continue;
+   }
+   break;
+  }
+ }
+ return a;
+}
+function BG(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ a : {
+  if (q[a + 20 >> 2] == 2 | c - b >>> 0 < 2) {
+   break a;
+  }
+  g = q[a + 92 >> 2];
+  e = q[(g + w(b, 20) | 0) + 8 >> 2];
+  f = e;
+  d = b + 1 | 0;
+  if (d >>> 0 < c >>> 0) {
+   f = e;
+   while (1) {
+    h = q[(w(d, 20) + g | 0) + 8 >> 2];
+    f = f >>> 0 > h >>> 0 ? h : f;
+    d = d + 1 | 0;
+    if ((d | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  while (1) {
+   d = b;
+   if (b) {
+    b = d + -1 | 0;
+    if ((e | 0) == q[(w(b, 20) + g | 0) + 8 >> 2]) {
+     continue;
+    }
+   }
+   break;
+  }
+  e = q[a + 80 >> 2];
+  b : {
+   if (e >>> 0 <= c >>> 0) {
+    break b;
+   }
+   while (1) {
+    b = w(c, 20) + g | 0;
+    if (q[b + -12 >> 2] != q[b + 8 >> 2]) {
+     break b;
+    }
+    c = c + 1 | 0;
+    if (c >>> 0 < e >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  c : {
+   if ((c | 0) != (e | 0)) {
+    break c;
+   }
+   b = q[a + 72 >> 2];
+   h = q[a + 76 >> 2];
+   if (b >>> 0 >= h >>> 0) {
+    break c;
+   }
+   e = (w(e, 20) + g | 0) + -12 | 0;
+   j = q[a + 88 >> 2];
+   while (1) {
+    a = w(b, 20) + j | 0;
+    i = q[a + 8 >> 2];
+    if ((i | 0) != q[e >> 2]) {
+     break c;
+    }
+    k = a + 8 | 0;
+    if ((f | 0) != (i | 0)) {
+     q[a + 4 >> 2] = q[a + 4 >> 2] & -2;
+    }
+    q[k >> 2] = f;
+    b = b + 1 | 0;
+    if (b >>> 0 < h >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (d >>> 0 >= c >>> 0) {
+   break a;
+  }
+  while (1) {
+   a = w(d, 20) + g | 0;
+   b = a + 8 | 0;
+   if (q[a + 8 >> 2] != (f | 0)) {
+    q[a + 4 >> 2] = q[a + 4 >> 2] & -2;
+   }
+   q[b >> 2] = f;
+   d = d + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function xD(a, b) {
+ var c = 0;
+ c = a >>> 12 | 0;
+ a : {
+  b : {
+   if (c >>> 0 > 30) {
+    break b;
+   }
+   c : {
+    d : {
+     switch (c - 1 | 0) {
+     default:
+      a = a + -1536 | 0;
+      if (a >>> 0 < 739) {
+       break c;
+      }
+      break b;
+     case 0:
+      if (a + -6150 >>> 0 > 164) {
+       break b;
+      }
+      a = a + -5411 | 0;
+      break c;
+     case 1:
+      if (a + -8204 >>> 0 > 93) {
+       break b;
+      }
+      a = a + -7300 | 0;
+      break c;
+     case 9:
+      if (a + -43072 >>> 0 > 51) {
+       break b;
+      }
+      a = a + -42074 | 0;
+      break c;
+     case 15:
+      if (a + -68288 >>> 0 <= 47) {
+       a = a + -67238 | 0;
+       break c;
+      }
+      if (a + -68480 >>> 0 <= 47) {
+       a = a + -67382 | 0;
+       break c;
+      }
+      if (a + -68864 >>> 0 <= 35) {
+       a = a + -67718 | 0;
+       break c;
+      }
+      if (a + -69424 >>> 0 > 36) {
+       break b;
+      }
+      a = a + -68242 | 0;
+      break c;
+     case 16:
+      if (a + -69821 >>> 0 > 16) {
+       break b;
+      }
+      a = a + -68602 | 0;
+      break c;
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 8:
+     case 10:
+     case 11:
+     case 12:
+     case 13:
+     case 14:
+     case 17:
+     case 18:
+     case 19:
+     case 20:
+     case 21:
+     case 22:
+     case 23:
+     case 24:
+     case 25:
+     case 26:
+     case 27:
+     case 28:
+      break b;
+     case 29:
+      break d;
+     }
+    }
+    if (a + -125184 >>> 0 > 75) {
+     break b;
+    }
+    a = a + -123948 | 0;
+   }
+   a = r[a + 251856 | 0];
+   if ((a | 0) != 8) {
+    break a;
+   }
+  }
+  a = b >>> 0 < 32 ? 1 << b & 6146 ? 7 : 0 : 0;
+ }
+ return a;
+}
+function sz(a, b) {
+ var c = 0, d = 0, e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0;
+ i = q[a + 24 >> 2];
+ if (i >>> 0 >= 2) {
+  m = q[a + 32 >> 2];
+  h = q[67761];
+  n = h;
+  j = q[67760];
+  f(0, j | 0);
+  f(1, h | 0);
+  p = +g();
+  k = 2;
+  while (1) {
+   l = v[a + 136 >> 3];
+   d = v[a + 128 >> 3];
+   if (i >>> 0 <= e >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   a : {
+    if (m >>> 0 <= e >>> 0) {
+     q[160656] = j;
+     q[160657] = n;
+     h = 642624;
+     break a;
+    }
+    h = q[a + 36 >> 2] + (e << 3) | 0;
+   }
+   e = e | 1;
+   if (i >>> 0 <= e >>> 0) {
+    o[a + 20 | 0] = 1;
+   }
+   b : {
+    if (m >>> 0 <= e >>> 0) {
+     q[160656] = j;
+     q[160657] = n;
+     c = p;
+     break b;
+    }
+    c = v[q[a + 36 >> 2] + (e << 3) >> 3];
+   }
+   l = l + c;
+   c = d + v[h >> 3];
+   c : {
+    if (r[b | 0]) {
+     break c;
+    }
+    o[b | 0] = 1;
+    if (!!(v[b + 8 >> 3] > d)) {
+     v[b + 8 >> 3] = d;
+     d = v[a + 128 >> 3];
+    }
+    if (!!(d > v[b + 24 >> 3])) {
+     v[b + 24 >> 3] = d;
+    }
+    d = v[a + 136 >> 3];
+    if (!!(v[b + 16 >> 3] > d)) {
+     v[b + 16 >> 3] = d;
+     d = v[a + 136 >> 3];
+    }
+    if (!(d > v[b + 32 >> 3])) {
+     break c;
+    }
+    v[b + 32 >> 3] = d;
+   }
+   v[a + 136 >> 3] = l;
+   v[a + 128 >> 3] = c;
+   if (!!(v[b + 8 >> 3] > c)) {
+    v[b + 8 >> 3] = c;
+    c = v[a + 128 >> 3];
+   }
+   if (!!(c > v[b + 24 >> 3])) {
+    v[b + 24 >> 3] = c;
+   }
+   c = v[a + 136 >> 3];
+   if (!!(v[b + 16 >> 3] > c)) {
+    v[b + 16 >> 3] = c;
+    c = v[a + 136 >> 3];
+   }
+   if (!!(c > v[b + 32 >> 3])) {
+    v[b + 32 >> 3] = c;
+   }
+   e = k;
+   k = e + 2 | 0;
+   if (k >>> 0 <= i >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Wi(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0;
+ a : {
+  if ((a | 0) > (b | 0)) {
+   break a;
+  }
+  g = q[(c << 3) + e >> 2] > q[(d << 3) + e >> 2];
+  j = g ? c : d;
+  h = j << 3;
+  i = q[h + f >> 2];
+  k = g ? d : c;
+  c = k << 3;
+  g = q[c + f >> 2];
+  m = (b | 0) > (a | 0) ? b : a;
+  h = q[e + h >> 2];
+  d = q[c + e >> 2];
+  if (!((g | 0) != (i | 0) ? (h | 0) == (d | 0) : 0)) {
+   if ((d | 0) != (h | 0)) {
+    l = Fe(i - g | 0, h - d | 0);
+   }
+   o = i - h | 0;
+   p = g - d | 0;
+   c = a;
+   while (1) {
+    b = c;
+    n = c << 3;
+    c = q[n + e >> 2];
+    b : {
+     if ((c | 0) <= (d | 0)) {
+      i = c + p | 0;
+      break b;
+     }
+     i = c + o | 0;
+     if ((c | 0) >= (h | 0)) {
+      break b;
+     }
+     i = Ee(c - d | 0, l) + g | 0;
+    }
+    q[f + n >> 2] = i;
+    c = b + 1 | 0;
+    if ((b | 0) != (m | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  h = f + 4 | 0;
+  d = e + 4 | 0;
+  c = q[d + (k << 3) >> 2] > q[d + (j << 3) >> 2];
+  f = (c ? k : j) << 3;
+  b = q[h + f >> 2];
+  c = (c ? j : k) << 3;
+  e = q[c + h >> 2];
+  f = q[d + f >> 2];
+  c = q[c + d >> 2];
+  if ((b | 0) != (e | 0) ? (f | 0) == (c | 0) : 0) {
+   break a;
+  }
+  j = 0;
+  if ((c | 0) != (f | 0)) {
+   j = Fe(b - e | 0, f - c | 0);
+  }
+  i = b - f | 0;
+  k = e - c | 0;
+  while (1) {
+   b = a;
+   l = b << 3;
+   a = q[l + d >> 2];
+   c : {
+    if ((a | 0) <= (c | 0)) {
+     g = a + k | 0;
+     break c;
+    }
+    g = a + i | 0;
+    if ((a | 0) >= (f | 0)) {
+     break c;
+    }
+    g = Ee(a - c | 0, j) + e | 0;
+   }
+   q[h + l >> 2] = g;
+   a = b + 1 | 0;
+   if ((b | 0) != (m | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function cK(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ a : {
+  b : {
+   d = q[a + 28 >> 2];
+   if (r[d + 44 | 0]) {
+    break b;
+   }
+   c = JK(d, q[b >> 2], q[b + 4 >> 2]);
+   if (!c) {
+    break b;
+   }
+   a = q[a + 24 >> 2];
+   if (q[a >> 2]) {
+    break a;
+   }
+   q[a >> 2] = c;
+   return;
+  }
+  c : {
+   c = q[d + 12 >> 2];
+   if ((p[c + 22 >> 1] + p[c + 58 >> 1] | 0) + 3 >>> 0 <= t[c + 4 >> 2]) {
+    break c;
+   }
+   c = Ue(c, 3, 0);
+   if (!c) {
+    break c;
+   }
+   a = q[a + 24 >> 2];
+   if (q[a >> 2]) {
+    break a;
+   }
+   q[a >> 2] = c;
+   return;
+  }
+  a = q[d + 20 >> 2];
+  d : {
+   e : {
+    f : {
+     if (!r[d + 45 | 0]) {
+      p[a + 2 >> 1] = s[a + 2 >> 1] + 1;
+      break f;
+     }
+     c = q[a + 8 >> 2];
+     e = q[b + 8 >> 2];
+     f = p[a + 2 >> 1];
+     g = q[a + 4 >> 2] + (f << 3) | 0;
+     q[g + 4 >> 2] = q[b + 12 >> 2] >> 10;
+     q[g >> 2] = e >> 10;
+     o[c + f | 0] = 2;
+     e = r[d + 45 | 0];
+     c = q[d + 20 >> 2];
+     p[a + 2 >> 1] = s[a + 2 >> 1] + 1;
+     if (e) {
+      break e;
+     }
+     a = c;
+    }
+    p[a + 2 >> 1] = s[a + 2 >> 1] + 1;
+    break d;
+   }
+   a = q[c + 8 >> 2];
+   e = q[b + 16 >> 2];
+   f = p[c + 2 >> 1];
+   g = q[c + 4 >> 2] + (f << 3) | 0;
+   q[g + 4 >> 2] = q[b + 20 >> 2] >> 10;
+   q[g >> 2] = e >> 10;
+   o[a + f | 0] = 2;
+   e = r[d + 45 | 0];
+   a = q[d + 20 >> 2];
+   p[c + 2 >> 1] = s[c + 2 >> 1] + 1;
+   if (!e) {
+    break d;
+   }
+   c = q[a + 8 >> 2];
+   d = q[b + 24 >> 2];
+   e = p[a + 2 >> 1];
+   f = q[a + 4 >> 2] + (e << 3) | 0;
+   q[f + 4 >> 2] = q[b + 28 >> 2] >> 10;
+   q[f >> 2] = d >> 10;
+   o[c + e | 0] = 1;
+  }
+  p[a + 2 >> 1] = s[a + 2 >> 1] + 1;
+ }
+}
+function Zt(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ c = Ca - 80 | 0;
+ Ca = c;
+ d = r[a + 5 | 0];
+ a : {
+  if (d >>> 0 > 3) {
+   break a;
+  }
+  b : {
+   c : {
+    switch (d - 1 | 0) {
+    default:
+     d = q[b >> 2];
+     if (!(o[d + 140 | 0] & 1)) {
+      break a;
+     }
+     e = r[a + 4 | 0];
+     q[c + 24 >> 2] = a;
+     q[c + 28 >> 2] = b;
+     o[c + 12 | 0] = e >>> 6 & 1;
+     q[c + 8 >> 2] = c + 24;
+     _t(c + 8 | 0, q[b + 4 >> 2], q[b + 12 >> 2], q[d + 132 >> 2]);
+     break b;
+    case 0:
+     d = r[a + 4 | 0];
+     if (d & 64 ? 0 : !(o[q[b >> 2] + 140 | 0] & 1)) {
+      break a;
+     }
+     q[c + 28 >> 2] = a;
+     q[c + 24 >> 2] = b;
+     e = r[a + 17 | 0];
+     f = r[a + 16 | 0];
+     o[c + 72 | 0] = d >>> 6 & 1;
+     q[c + 68 >> 2] = 0;
+     a = a + 8 | 0;
+     q[c + 32 >> 2] = a + (e | f << 8);
+     d = q[q[b + 4 >> 2] + 16 >> 2];
+     q[c + 12 >> 2] = q[b + 12 >> 2];
+     q[c + 8 >> 2] = a;
+     b = c;
+     a = q[d + 32 >> 2];
+     if ((a | 0) == -1) {
+      a = VF(d);
+     }
+     q[b + 16 >> 2] = a;
+     $t(c + 8 | 0, c + 24 | 0);
+     break b;
+    case 1:
+     d = q[b >> 2];
+     if (!(o[d + 140 | 0] & 1)) {
+      break a;
+     }
+     e = r[a + 4 | 0];
+     q[c + 24 >> 2] = a;
+     q[c + 28 >> 2] = b;
+     o[c + 12 | 0] = e >>> 6 & 1;
+     q[c + 8 >> 2] = c + 24;
+     au(c + 8 | 0, q[b + 4 >> 2], q[b + 12 >> 2], q[d + 132 >> 2]);
+     break b;
+    case 2:
+     break c;
+    }
+   }
+   d = q[b >> 2];
+   if (!(o[d + 140 | 0] & 1)) {
+    break a;
+   }
+   e = r[a + 4 | 0];
+   q[c + 24 >> 2] = a;
+   o[c + 28 | 0] = e >>> 6 & 1;
+   bu(c + 24 | 0, q[b + 4 >> 2], q[b + 12 >> 2], q[d + 132 >> 2]);
+  }
+  e = 1;
+ }
+ Ca = c + 80 | 0;
+ return e;
+}
+function Jx(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  i = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  h = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!h) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < h >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   h = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!h) {
+    break b;
+   }
+   c : {
+    d : {
+     c = c + h | 0;
+     if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 2) {
+      break d;
+     }
+     q[b + 12 >> 2] = f + -3;
+     if ((f | 0) < 3) {
+      break d;
+     }
+     h = r[c + 1 | 0] | r[c | 0] << 8;
+     if (!h) {
+      break b;
+     }
+     j = g;
+     g = c + 2 | 0;
+     if (j >>> 0 > g >>> 0 | e >>> 0 < g >>> 0 | e - g >>> 0 < h << 1 >>> 0) {
+      break d;
+     }
+     q[b + 12 >> 2] = f + -4;
+     if ((f | 0) < 4) {
+      break d;
+     }
+     f = r[c + 1 | 0] | r[c | 0] << 8;
+     if (!f) {
+      break b;
+     }
+     e = 0;
+     while (1) {
+      if (!Gx((c + (e << 1) | 0) + 2 | 0, b, c, d)) {
+       break d;
+      }
+      e = e + 1 | 0;
+      if ((f | 0) != (e | 0)) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    }
+    c = q[b + 24 >> 2];
+    if (c >>> 0 > 31) {
+     break a;
+    }
+    q[b + 24 >> 2] = c + 1;
+    i = 0;
+    if (!r[b + 20 | 0]) {
+     break b;
+    }
+    o[a | 0] = 0;
+    o[a + 1 | 0] = 0;
+   }
+   i = 1;
+  }
+  return i;
+ }
+ return 0;
+}
+function hv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  h = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  b : {
+   if (!d) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < d >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (!d) {
+    break b;
+   }
+   c = c + d | 0;
+   c : {
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 4) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -3;
+    if ((f | 0) < 3) {
+     break c;
+    }
+    d = w(r[c + 3 | 0] | r[c + 2 | 0] << 8, r[c + 1 | 0] | r[c | 0] << 8);
+    if (d >>> 0 > 715827881) {
+     break c;
+    }
+    d = w(d, 6);
+    if (!d) {
+     break b;
+    }
+    c = c + 4 | 0;
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < d >>> 0) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -4;
+    if ((f | 0) > 3) {
+     break b;
+    }
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   h = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   o[a + 2 | 0] = 0;
+   o[a + 3 | 0] = 0;
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function OP(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = JP(b);
+ a : {
+  b : {
+   if ((d | 0) <= -1) {
+    d = d ^ -1;
+    break b;
+   }
+   c = r[d + 480514 | 0];
+   e = c >>> 5 | 0;
+   if (e >>> 0 >= t[a + 4 >> 2]) {
+    break b;
+   }
+   if (q[((e << 2) + a | 0) + 8 >> 2] >>> (c & 31) & 1) {
+    break a;
+   }
+  }
+  c = 2;
+  c : {
+   if ((d | 0) >= 1) {
+    f = d;
+    while (1) {
+     e = f + -1 | 0;
+     g = GP(b, (e << 5) + 444768 | 0);
+     if ((g | 0) != 2) {
+      i = g;
+      j = c;
+      h = r[e + 480514 | 0];
+      k = h >>> 5 | 0;
+      if (k >>> 0 < t[a + 4 >> 2]) {
+       h = q[((k << 2) + a | 0) + 8 >> 2] >>> (h & 31) & 1;
+      } else {
+       h = 0;
+      }
+      c = g >>> 0 < c >>> 0 ? h ? i : j : c;
+      g = (f | 0) > 1;
+      f = e;
+      if (g) {
+       continue;
+      }
+     }
+     break;
+    }
+    if ((d | 0) > 245) {
+     break c;
+    }
+   }
+   while (1) {
+    f = GP(b, (d << 5) + 444768 | 0);
+    if ((f | 0) == 2) {
+     break c;
+    }
+    i = f;
+    j = c;
+    g = r[d + 480514 | 0];
+    e = g >>> 5 | 0;
+    if (e >>> 0 < t[a + 4 >> 2]) {
+     e = q[((e << 2) + a | 0) + 8 >> 2] >>> (g & 31) & 1;
+    } else {
+     e = 0;
+    }
+    c = f >>> 0 < c >>> 0 ? e ? i : j : c;
+    d = d + 1 | 0;
+    if ((d | 0) != 246) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = q[a >> 2];
+  if (!a) {
+   return c;
+  }
+  a = yQ(a);
+  if (!a) {
+   return c;
+  }
+  f = 0;
+  d : {
+   if (!c) {
+    break d;
+   }
+   while (1) {
+    d = zQ(a);
+    if (!d) {
+     f = c;
+     break d;
+    }
+    d = GP(b, d);
+    c = d >>> 0 < c >>> 0 ? d : c;
+    if (c) {
+     continue;
+    }
+    break;
+   }
+  }
+  AQ(a);
+ }
+ return f;
+}
+function oN(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ a : {
+  if (!b) {
+   break a;
+  }
+  i = b + -1 | 0;
+  if ((i | 0) < 0) {
+   break a;
+  }
+  b = i;
+  while (1) {
+   if (q[(b << 2) + a >> 2] & 9441280) {
+    o[b + c | 0] = 0;
+    e = (b | 0) > 0;
+    b = b + -1 | 0;
+    if (e) {
+     continue;
+    }
+   }
+   break;
+  }
+  b = i;
+  while (1) {
+   a = o[b + c | 0];
+   f = ((a | 0) > (f | 0) ? a : f) << 24 >> 24;
+   a = (b | 0) > 0;
+   b = b + -1 | 0;
+   if (a) {
+    continue;
+   }
+   break;
+  }
+  if ((f | 0) < 1) {
+   break a;
+  }
+  j = f;
+  while (1) {
+   a = i;
+   while (1) {
+    k = j << 24 >> 24;
+    b : {
+     if (o[a + c | 0] < (k | 0)) {
+      e = a;
+      break b;
+     }
+     g = (a | 0) < 0 ? a : 0;
+     l = g + -1 | 0;
+     e = a;
+     while (1) {
+      c : {
+       b = e;
+       if ((b | 0) <= 0) {
+        b = g;
+        e = l;
+        break c;
+       }
+       e = b + -1 | 0;
+       if (o[e + c | 0] >= (k | 0)) {
+        continue;
+       }
+      }
+      break;
+     }
+     if (!d) {
+      break b;
+     }
+     a = a - e | 0;
+     if ((a | 0) < 2) {
+      break b;
+     }
+     l = (a | 0) / 2 | 0;
+     g = (b << 2) + d | 0;
+     b = 0;
+     while (1) {
+      h = g + (b << 2) | 0;
+      m = q[h >> 2];
+      n = h;
+      h = g + (a + (b ^ -1) << 2) | 0;
+      q[n >> 2] = q[h >> 2];
+      q[h >> 2] = m;
+      b = b + 1 | 0;
+      if ((l | 0) != (b | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    a = e + -1 | 0;
+    if ((e | 0) > 0) {
+     continue;
+    }
+    break;
+   }
+   j = j + -1 | 0;
+   if ((k | 0) > 1) {
+    continue;
+   }
+   break;
+  }
+ }
+ return (f << 24) + 16777216 >> 24;
+}
+function nx(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  f = q[b + 4 >> 2];
+  if (f >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  h = 1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!g) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | f >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < g >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   g = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!g) {
+    break b;
+   }
+   c : {
+    d : {
+     c = c + g | 0;
+     if (f >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+      break d;
+     }
+     q[b + 12 >> 2] = e + -3;
+     if ((e | 0) < 3) {
+      break d;
+     }
+     g = r[c + 1 | 0] | r[c | 0] << 8;
+     if (!g) {
+      break b;
+     }
+     i = f;
+     f = c + 2 | 0;
+     if (i >>> 0 > f >>> 0 | d >>> 0 < f >>> 0 | d - f >>> 0 < g << 1 >>> 0) {
+      break d;
+     }
+     q[b + 12 >> 2] = e + -4;
+     if ((e | 0) < 4) {
+      break d;
+     }
+     e = r[c + 1 | 0] | r[c | 0] << 8;
+     if (!e) {
+      break b;
+     }
+     d = 0;
+     while (1) {
+      if (!ox((c + (d << 1) | 0) + 2 | 0, b, c)) {
+       break d;
+      }
+      d = d + 1 | 0;
+      if ((e | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    }
+    c = q[b + 24 >> 2];
+    if (c >>> 0 > 31) {
+     break a;
+    }
+    q[b + 24 >> 2] = c + 1;
+    h = 0;
+    if (!r[b + 20 | 0]) {
+     break b;
+    }
+    o[a | 0] = 0;
+    o[a + 1 | 0] = 0;
+   }
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function mu(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0;
+ e = q[a + 4 >> 2];
+ c = (e | 0) != 0;
+ f = e - c | 0;
+ q[a + 4 >> 2] = f;
+ i = q[a + 8 >> 2] + c | 0;
+ q[a + 8 >> 2] = i;
+ e = q[a >> 2];
+ b = e + w(c, 6) | 0;
+ q[a >> 2] = b;
+ a : {
+  if (!f) {
+   break a;
+  }
+  l = q[a + 16 >> 2];
+  m = q[a + 12 >> 2];
+  while (1) {
+   d = e;
+   e = b;
+   g = q[m >> 2];
+   h = q[g + 24 >> 2];
+   b : {
+    if ((h | 0) < 1) {
+     break b;
+    }
+    d = (d + w(c, 6) | 0) + l | 0;
+    b = r[d | 0];
+    j = r[d + 1 | 0];
+    n = j | b << 8;
+    o = b >>> 1 | 0;
+    p = q[g + 28 >> 2];
+    b = h + -1 | 0;
+    c = 0;
+    while (1) {
+     c : {
+      d = b + c >>> 1 | 0;
+      h = (d << 3) + p | 0;
+      k = o - q[h >> 2] | 0;
+      d : {
+       if ((k | 0) <= -1) {
+        b = d + -1 | 0;
+        break d;
+       }
+       if (!k) {
+        break c;
+       }
+       c = d + 1 | 0;
+      }
+      if ((c | 0) <= (b | 0)) {
+       continue;
+      }
+      break b;
+     }
+     break;
+    }
+    d = q[h + 4 >> 2];
+    b = 271040;
+    e : {
+     if (t[g + 36 >> 2] <= d >>> 0) {
+      break e;
+     }
+     b = q[g + 40 >> 2];
+     if (!b) {
+      break b;
+     }
+     b = b + (d << 6) | 0;
+    }
+    b = b + (n >>> 3 & 56) | 0;
+    c = q[b >> 2];
+    d = q[b + 4 >> 2];
+    g = j & 63;
+    b = g & 31;
+    if ((32 <= (g & 63) >>> 0 ? d >>> b | 0 : ((1 << b) - 1 & d) << 32 - b | c >>> b) & 1) {
+     break a;
+    }
+   }
+   c = (f | 0) != 0;
+   i = i + c | 0;
+   q[a + 8 >> 2] = i;
+   f = f - c | 0;
+   q[a + 4 >> 2] = f;
+   b = w(c, 6) + e | 0;
+   q[a >> 2] = b;
+   if (f) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function gw(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  f = q[b + 4 >> 2];
+  if (f >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  h = 1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!g) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | f >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < g >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   g = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!g) {
+    break b;
+   }
+   c : {
+    d : {
+     c = c + g | 0;
+     if (f >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+      break d;
+     }
+     q[b + 12 >> 2] = e + -3;
+     if ((e | 0) < 3) {
+      break d;
+     }
+     g = r[c + 1 | 0] | r[c | 0] << 8;
+     if (!g) {
+      break b;
+     }
+     i = f;
+     f = c + 2 | 0;
+     if (i >>> 0 > f >>> 0 | d >>> 0 < f >>> 0 | d - f >>> 0 < g << 1 >>> 0) {
+      break d;
+     }
+     q[b + 12 >> 2] = e + -4;
+     if ((e | 0) < 4) {
+      break d;
+     }
+     e = r[c + 1 | 0] | r[c | 0] << 8;
+     if (!e) {
+      break b;
+     }
+     d = 0;
+     while (1) {
+      if (!lw((c + (d << 1) | 0) + 2 | 0, b, c)) {
+       break d;
+      }
+      d = d + 1 | 0;
+      if ((e | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    }
+    c = q[b + 24 >> 2];
+    if (c >>> 0 > 31) {
+     break a;
+    }
+    q[b + 24 >> 2] = c + 1;
+    h = 0;
+    if (!r[b + 20 | 0]) {
+     break b;
+    }
+    o[a | 0] = 0;
+    o[a + 1 | 0] = 0;
+   }
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function fv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  f = q[b + 4 >> 2];
+  if (f >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  h = 1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!g) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | f >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < g >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   g = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!g) {
+    break b;
+   }
+   c : {
+    d : {
+     c = c + g | 0;
+     if (f >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+      break d;
+     }
+     q[b + 12 >> 2] = e + -3;
+     if ((e | 0) < 3) {
+      break d;
+     }
+     g = r[c + 1 | 0] | r[c | 0] << 8;
+     if (!g) {
+      break b;
+     }
+     i = f;
+     f = c + 2 | 0;
+     if (i >>> 0 > f >>> 0 | d >>> 0 < f >>> 0 | d - f >>> 0 < g << 1 >>> 0) {
+      break d;
+     }
+     q[b + 12 >> 2] = e + -4;
+     if ((e | 0) < 4) {
+      break d;
+     }
+     e = r[c + 1 | 0] | r[c | 0] << 8;
+     if (!e) {
+      break b;
+     }
+     d = 0;
+     while (1) {
+      if (!kv((c + (d << 1) | 0) + 2 | 0, b, c)) {
+       break d;
+      }
+      d = d + 1 | 0;
+      if ((e | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    }
+    c = q[b + 24 >> 2];
+    if (c >>> 0 > 31) {
+     break a;
+    }
+    q[b + 24 >> 2] = c + 1;
+    h = 0;
+    if (!r[b + 20 | 0]) {
+     break b;
+    }
+    o[a | 0] = 0;
+    o[a + 1 | 0] = 0;
+   }
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function ew(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  f = q[b + 4 >> 2];
+  if (f >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  h = 1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!g) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | f >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < g >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   g = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!g) {
+    break b;
+   }
+   c : {
+    d : {
+     c = c + g | 0;
+     if (f >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+      break d;
+     }
+     q[b + 12 >> 2] = e + -3;
+     if ((e | 0) < 3) {
+      break d;
+     }
+     g = r[c + 1 | 0] | r[c | 0] << 8;
+     if (!g) {
+      break b;
+     }
+     i = f;
+     f = c + 2 | 0;
+     if (i >>> 0 > f >>> 0 | d >>> 0 < f >>> 0 | d - f >>> 0 < g << 1 >>> 0) {
+      break d;
+     }
+     q[b + 12 >> 2] = e + -4;
+     if ((e | 0) < 4) {
+      break d;
+     }
+     e = r[c + 1 | 0] | r[c | 0] << 8;
+     if (!e) {
+      break b;
+     }
+     d = 0;
+     while (1) {
+      if (!kw((c + (d << 1) | 0) + 2 | 0, b, c)) {
+       break d;
+      }
+      d = d + 1 | 0;
+      if ((e | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    }
+    c = q[b + 24 >> 2];
+    if (c >>> 0 > 31) {
+     break a;
+    }
+    q[b + 24 >> 2] = c + 1;
+    h = 0;
+    if (!r[b + 20 | 0]) {
+     break b;
+    }
+    o[a | 0] = 0;
+    o[a + 1 | 0] = 0;
+   }
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function dw(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  f = q[b + 4 >> 2];
+  if (f >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  h = 1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!g) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | f >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < g >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   g = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!g) {
+    break b;
+   }
+   c : {
+    d : {
+     c = c + g | 0;
+     if (f >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+      break d;
+     }
+     q[b + 12 >> 2] = e + -3;
+     if ((e | 0) < 3) {
+      break d;
+     }
+     g = r[c + 1 | 0] | r[c | 0] << 8;
+     if (!g) {
+      break b;
+     }
+     i = f;
+     f = c + 2 | 0;
+     if (i >>> 0 > f >>> 0 | d >>> 0 < f >>> 0 | d - f >>> 0 < g << 1 >>> 0) {
+      break d;
+     }
+     q[b + 12 >> 2] = e + -4;
+     if ((e | 0) < 4) {
+      break d;
+     }
+     e = r[c + 1 | 0] | r[c | 0] << 8;
+     if (!e) {
+      break b;
+     }
+     d = 0;
+     while (1) {
+      if (!jw((c + (d << 1) | 0) + 2 | 0, b, c)) {
+       break d;
+      }
+      d = d + 1 | 0;
+      if ((e | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    }
+    c = q[b + 24 >> 2];
+    if (c >>> 0 > 31) {
+     break a;
+    }
+    q[b + 24 >> 2] = c + 1;
+    h = 0;
+    if (!r[b + 20 | 0]) {
+     break b;
+    }
+    o[a | 0] = 0;
+    o[a + 1 | 0] = 0;
+   }
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function cj(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ f = Ca - 1312 | 0;
+ Ca = f;
+ g = q[a + 4 >> 2];
+ i = q[g + 492 >> 2];
+ j = q[i + 12 >> 2];
+ h = q[q[g + 128 >> 2] + 52 >> 2];
+ k = q[g + 452 >> 2];
+ e = a + 1388 | 0;
+ q[e >> 2] = q[g + 448 >> 2];
+ q[e + 4 >> 2] = k;
+ e = q[g + 444 >> 2];
+ q[a + 1380 >> 2] = q[g + 440 >> 2];
+ q[a + 1384 >> 2] = e;
+ e = q[g + 460 >> 2];
+ q[a + 1396 >> 2] = q[g + 456 >> 2];
+ q[a + 1400 >> 2] = e;
+ a : {
+  b : {
+   if (!h) {
+    e = b << 2;
+    q[c >> 2] = q[e + q[g + 428 >> 2] >> 2];
+    q[c + 4 >> 2] = q[e + q[g + 432 >> 2] >> 2];
+    break b;
+   }
+   e = n[q[q[h >> 2] >> 2]](q[h + 4 >> 2], b, c) | 0;
+   if (e) {
+    break a;
+   }
+  }
+  c : {
+   if (r[a + 70 | 0]) {
+    e = n[q[j + 8 >> 2]](a, q[c >> 2], q[c + 4 >> 2]) | 0;
+    break c;
+   }
+   n[q[i + 24 >> 2]](f + 656 | 0, a, 1);
+   n[q[i + 28 >> 2]](g, g + 168 | 0, f);
+   q[f + 1192 >> 2] = f;
+   e = n[q[j + 12 >> 2]](f + 656 | 0, q[c >> 2], q[c + 4 >> 2]) | 0;
+   if ((e & 255) != 164) {
+    break c;
+   }
+   o[q[a + 8 >> 2] + 160 | 0] = 0;
+   o[d | 0] = 1;
+   e = n[q[j + 12 >> 2]](f + 656 | 0, q[c >> 2], q[c + 4 >> 2]) | 0;
+  }
+  if (e | !h) {
+   break a;
+  }
+  if (!q[q[h >> 2] + 8 >> 2]) {
+   e = 0;
+   break a;
+  }
+  c = Ae(q[a + 32 >> 2]);
+  q[f + 4 >> 2] = 0;
+  q[f >> 2] = c >> 16;
+  l = f, m = Ae(q[a + 40 >> 2]) >> 16, q[l + 8 >> 2] = m;
+  c = a + 44 | 0;
+  l = f, m = Ae(q[c >> 2]) >> 16, q[l + 12 >> 2] = m;
+  e = n[q[q[h >> 2] + 8 >> 2]](q[h + 4 >> 2], b, 0, f) | 0;
+  q[a + 32 >> 2] = q[f >> 2] << 16;
+  q[a + 40 >> 2] = q[f + 8 >> 2] << 16;
+  q[c >> 2] = q[f + 12 >> 2] << 16;
+ }
+ Ca = f + 1312 | 0;
+ return e;
+}
+function Hv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  f = q[b + 4 >> 2];
+  if (f >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  h = 1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!g) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | f >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < g >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   g = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!g) {
+    break b;
+   }
+   c : {
+    d : {
+     c = c + g | 0;
+     if (f >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+      break d;
+     }
+     q[b + 12 >> 2] = e + -3;
+     if ((e | 0) < 3) {
+      break d;
+     }
+     g = r[c + 1 | 0] | r[c | 0] << 8;
+     if (!g) {
+      break b;
+     }
+     i = f;
+     f = c + 2 | 0;
+     if (i >>> 0 > f >>> 0 | d >>> 0 < f >>> 0 | d - f >>> 0 < g << 1 >>> 0) {
+      break d;
+     }
+     q[b + 12 >> 2] = e + -4;
+     if ((e | 0) < 4) {
+      break d;
+     }
+     e = r[c + 1 | 0] | r[c | 0] << 8;
+     if (!e) {
+      break b;
+     }
+     d = 0;
+     while (1) {
+      if (!Lv((c + (d << 1) | 0) + 2 | 0, b, c)) {
+       break d;
+      }
+      d = d + 1 | 0;
+      if ((e | 0) != (d | 0)) {
+       continue;
+      }
+      break;
+     }
+     break c;
+    }
+    c = q[b + 24 >> 2];
+    if (c >>> 0 > 31) {
+     break a;
+    }
+    q[b + 24 >> 2] = c + 1;
+    h = 0;
+    if (!r[b + 20 | 0]) {
+     break b;
+    }
+    o[a | 0] = 0;
+    o[a + 1 | 0] = 0;
+   }
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function Qf(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ c = p[a + 70 >> 1];
+ d = (c | 0) < 0 ? -1 : 1;
+ f = q[b + 8 >> 2];
+ d = (f | 0) < 0 ? 0 - d | 0 : d;
+ g = b;
+ e = f >> 31;
+ e = e + f ^ e;
+ h = e >>> 8 | 0;
+ i = c;
+ c = c >> 31;
+ c = i + c ^ c;
+ a : {
+  if (h + c >>> 0 <= 8190) {
+   c = w(c, e) + 32768 >>> 16 | 0;
+   break a;
+  }
+  c = w(c, e >>> 16 | 0) + w(e, c >>> 16 | 0) + (w(c, e & 65535) + 32768 >>> 16) | 0;
+ }
+ q[g + 12 >> 2] = ((d | 0) < 0 ? 0 - c | 0 : c) + 63 & -64;
+ c = p[a + 72 >> 1];
+ d = (c | 0) < 0 ? -1 : 1;
+ d = (f | 0) < 0 ? 0 - d | 0 : d;
+ g = b;
+ i = c;
+ c = c >> 31;
+ c = i + c ^ c;
+ b : {
+  if (c + h >>> 0 <= 8190) {
+   c = w(c, e) + 32768 >>> 16 | 0;
+   break b;
+  }
+  c = w(e, c >>> 16 | 0) + w(c, e >>> 16 | 0) + (w(c, e & 65535) + 32768 >>> 16) | 0;
+ }
+ q[g + 16 >> 2] = ((d | 0) < 0 ? 0 - c | 0 : c) & -64;
+ c = p[a + 74 >> 1];
+ d = (c | 0) < 0 ? -1 : 1;
+ d = (f | 0) < 0 ? 0 - d | 0 : d;
+ g = b;
+ f = c >> 31;
+ f = f + c ^ f;
+ c : {
+  if (f + h >>> 0 <= 8190) {
+   e = w(e, f) + 32768 >>> 16 | 0;
+   break c;
+  }
+  e = w(e, f >>> 16 | 0) + w(f, e >>> 16 | 0) + (w(f, e & 65535) + 32768 >>> 16) | 0;
+ }
+ q[g + 20 >> 2] = ((d | 0) < 0 ? 0 - e | 0 : e) + 32 & -64;
+ d = p[a + 76 >> 1];
+ a = (d | 0) < 0 ? -1 : 1;
+ e = 0 - a | 0;
+ c = a;
+ a = q[b + 4 >> 2];
+ e = (a | 0) < 0 ? e : c;
+ c = d;
+ d = d >> 31;
+ d = c + d ^ d;
+ c = a;
+ a = a >> 31;
+ a = c + a ^ a;
+ d : {
+  if (d + (a >>> 8 | 0) >>> 0 <= 8190) {
+   a = w(a, d) + 32768 >>> 16 | 0;
+   break d;
+  }
+  a = w(d, a >>> 16 | 0) + w(a, d >>> 16 | 0) + (w(d, a & 65535) + 32768 >>> 16) | 0;
+ }
+ q[b + 24 >> 2] = ((e | 0) < 0 ? 0 - a | 0 : a) + 32 & -64;
+}
+function zR(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = Ca + -64 | 0;
+ Ca = h;
+ qR();
+ c = q[160844];
+ if ((c | 0) >= 1) {
+  e = 643312;
+  while (1) {
+   f = c;
+   c = c + -1 | 0;
+   j = c << 2;
+   i = j + e | 0;
+   d = q[i >> 2];
+   if (!(!d | t[d >> 2] > a >>> 0)) {
+    while (1) {
+     e = d;
+     i = (d + j | 0) + 40 | 0;
+     d = q[i >> 2];
+     if (t[d >> 2] <= a >>> 0 ? d : 0) {
+      continue;
+     }
+     break;
+    }
+    e = e + 40 | 0;
+   }
+   q[h + j >> 2] = i;
+   if ((f | 0) > 1) {
+    continue;
+   }
+   break;
+  }
+ }
+ d = TQ() | TQ();
+ while (1) {
+  a : {
+   c = g;
+   g = c + 1 | 0;
+   if (c >>> 0 > 14) {
+    break a;
+   }
+   f = d & 1;
+   d = d >> 1;
+   if (!f) {
+    continue;
+   }
+  }
+  break;
+ }
+ e = 0;
+ d = q[160844];
+ if ((c | 0) >= (d | 0)) {
+  g = d + 1 | 0;
+  q[160844] = g;
+  d = d << 2;
+  q[d + h >> 2] = d + 643312;
+ }
+ c = L$((g << 2) + 44 | 0);
+ if (c) {
+  q[c >> 2] = a;
+  a = q[a + 8 >> 2];
+  q[c + 12 >> 2] = 0;
+  q[c + 8 >> 2] = a;
+  q[c + 4 >> 2] = 1;
+  b : {
+   if (b) {
+    q[c + 16 >> 2] = q[b >> 2];
+    a = q[b + 84 >> 2];
+    q[c + 24 >> 2] = q[b + 80 >> 2];
+    q[c + 28 >> 2] = a;
+    q[c + 32 >> 2] = q[b + 64 >> 2];
+    q[c + 36 >> 2] = q[b + 68 >> 2];
+    break b;
+   }
+   q[c + 24 >> 2] = 0;
+   q[c + 28 >> 2] = 0;
+   q[c + 16 >> 2] = 0;
+   q[c + 32 >> 2] = 0;
+   q[c + 36 >> 2] = 0;
+  }
+  e = 1;
+  if ((g | 0) >= 1) {
+   b = c + 40 | 0;
+   d = 0;
+   while (1) {
+    f = d << 2;
+    a = q[f + h >> 2];
+    q[b + f >> 2] = q[a >> 2];
+    q[a >> 2] = c;
+    d = d + 1 | 0;
+    if ((g | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+ }
+ Ca = h - -64 | 0;
+ return e;
+}
+function vs(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ f = 271040;
+ e = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+ e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+ a : {
+  if ((e | 0) < 1) {
+   break a;
+  }
+  e = e + -1 | 0;
+  while (1) {
+   b : {
+    c : {
+     d : {
+      i = e + j >>> 1 | 0;
+      h = w(i, 6) + a | 0;
+      g = h + 28 | 0;
+      h = r[g | 0] << 8 | r[h + 29 | 0];
+      e : {
+       if ((h | 0) == (b | 0)) {
+        g = r[g + 3 | 0] | r[g + 2 | 0] << 8;
+        if (g >>> 0 > c >>> 0) {
+         break e;
+        }
+        if ((c | 0) == (g | 0)) {
+         break d;
+        }
+        break c;
+       }
+       if (h >>> 0 <= b >>> 0) {
+        break c;
+       }
+      }
+      e = i + -1 | 0;
+      break b;
+     }
+     f = (w(i, 6) + a | 0) + 28 | 0;
+     break a;
+    }
+    j = i + 1 | 0;
+   }
+   if ((j | 0) <= (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ b = r[f + 4 | 0] | r[f + 5 | 0] << 8;
+ b = (b << 24 | b << 8 & 16711680) >> 16;
+ if (!d) {
+  return b;
+ }
+ c = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+ c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+ if (!c) {
+  return b;
+ }
+ f = 0;
+ f : {
+  if (c >>> 0 > 2147483646) {
+   break f;
+  }
+  a = a + b | 0;
+  if (t[d + 20 >> 2] > a >>> 0) {
+   break f;
+  }
+  b = q[d + 24 >> 2];
+  if (b >>> 0 < a >>> 0 | b - a >>> 0 < c << 1 >>> 0) {
+   break f;
+  }
+  c = d + 28 | 0;
+  b = q[c >> 2];
+  q[c >> 2] = b + -1;
+  if ((b | 0) < 1) {
+   break f;
+  }
+  a = r[a | 0] | r[a + 1 | 0] << 8;
+  f = (a << 24 | a << 8 & 16711680) >> 16;
+ }
+ return f;
+}
+function rT(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ f = q[b >> 2];
+ a : {
+  if ((f | 0) == (c | 0)) {
+   break a;
+  }
+  k = a + 72 | 0;
+  l = a + 884 | 0;
+  while (1) {
+   m = b;
+   i = (r[f | 0] << 2) + l | 0;
+   h = o[i | 0];
+   b : {
+    if (!h) {
+     h = 0;
+     f = n[q[a + 364 >> 2]](q[a + 368 >> 2], f) | 0;
+     c : {
+      if ((f | 0) < 0) {
+       break c;
+      }
+      if ((f | 0) <= 127) {
+       o[g + 12 | 0] = f;
+       h = 1;
+       break c;
+      }
+      if ((f | 0) <= 2047) {
+       o[g + 13 | 0] = f & 63 | 128;
+       o[g + 12 | 0] = f >>> 6 | 192;
+       h = 2;
+       break c;
+      }
+      if ((f | 0) <= 65535) {
+       o[g + 14 | 0] = f & 63 | 128;
+       o[g + 12 | 0] = f >>> 12 | 224;
+       o[g + 13 | 0] = f >>> 6 & 63 | 128;
+       h = 3;
+       break c;
+      }
+      if ((f | 0) > 1114111) {
+       break c;
+      }
+      o[g + 15 | 0] = f & 63 | 128;
+      o[g + 12 | 0] = f >>> 18 | 240;
+      o[g + 14 | 0] = f >>> 6 & 63 | 128;
+      o[g + 13 | 0] = f >>> 12 & 63 | 128;
+      h = 4;
+     }
+     if ((h | 0) > (e - q[d >> 2] | 0)) {
+      j = 2;
+      break a;
+     }
+     i = g + 12 | 0;
+     f = q[b >> 2];
+     f = (r[r[f | 0] + k | 0] + f | 0) + -3 | 0;
+     break b;
+    }
+    if ((e - q[d >> 2] | 0) < (h | 0)) {
+     j = 2;
+     break a;
+    }
+    i = i + 1 | 0;
+    f = f + 1 | 0;
+   }
+   q[m >> 2] = f;
+   Y$(q[d >> 2], i, h);
+   q[d >> 2] = q[d >> 2] + h;
+   f = q[b >> 2];
+   if ((f | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = g + 16 | 0;
+ return j | 0;
+}
+function fM(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ if (!a) {
+  if (q[b + 20 >> 2]) {
+   a = 0;
+   while (1) {
+    c = w(a, 24);
+    bM(q[c + q[b + 24 >> 2] >> 2]);
+    bM(q[(q[b + 24 >> 2] + c | 0) + 4 >> 2]);
+    a = a + 1 | 0;
+    if (a >>> 0 < t[b + 20 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  M$(q[b + 24 >> 2]);
+  return 1;
+ }
+ c = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+ d = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+ o[a | 0] = d;
+ o[a + 1 | 0] = d >>> 8;
+ o[a + 2 | 0] = d >>> 16;
+ o[a + 3 | 0] = d >>> 24;
+ o[a + 4 | 0] = c;
+ o[a + 5 | 0] = c >>> 8;
+ o[a + 6 | 0] = c >>> 16;
+ o[a + 7 | 0] = c >>> 24;
+ c = r[b + 24 | 0] | r[b + 25 | 0] << 8 | (r[b + 26 | 0] << 16 | r[b + 27 | 0] << 24);
+ o[a + 24 | 0] = c;
+ o[a + 25 | 0] = c >>> 8;
+ o[a + 26 | 0] = c >>> 16;
+ o[a + 27 | 0] = c >>> 24;
+ c = r[b + 20 | 0] | r[b + 21 | 0] << 8 | (r[b + 22 | 0] << 16 | r[b + 23 | 0] << 24);
+ d = r[b + 16 | 0] | r[b + 17 | 0] << 8 | (r[b + 18 | 0] << 16 | r[b + 19 | 0] << 24);
+ o[a + 16 | 0] = d;
+ o[a + 17 | 0] = d >>> 8;
+ o[a + 18 | 0] = d >>> 16;
+ o[a + 19 | 0] = d >>> 24;
+ o[a + 20 | 0] = c;
+ o[a + 21 | 0] = c >>> 8;
+ o[a + 22 | 0] = c >>> 16;
+ o[a + 23 | 0] = c >>> 24;
+ c = r[b + 12 | 0] | r[b + 13 | 0] << 8 | (r[b + 14 | 0] << 16 | r[b + 15 | 0] << 24);
+ b = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+ o[a + 8 | 0] = b;
+ o[a + 9 | 0] = b >>> 8;
+ o[a + 10 | 0] = b >>> 16;
+ o[a + 11 | 0] = b >>> 24;
+ o[a + 12 | 0] = c;
+ o[a + 13 | 0] = c >>> 8;
+ o[a + 14 | 0] = c >>> 16;
+ o[a + 15 | 0] = c >>> 24;
+ return 1;
+}
+function $R(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ a : {
+  b : {
+   if (q[b >> 2] == -1) {
+    break b;
+   }
+   c = q[a + 4 >> 2];
+   if (!c) {
+    break b;
+   }
+   c = q[(c + ((b >>> 0) % 67 << 2) | 0) + 1304 >> 2];
+   if (!c) {
+    break a;
+   }
+   while (1) {
+    if (q[c + 4 >> 2] != (b | 0)) {
+     c = q[c >> 2];
+     if (c) {
+      continue;
+     }
+     break a;
+    }
+    break;
+   }
+   b = q[c + 8 >> 2];
+   if (!b) {
+    break a;
+   }
+  }
+  c = cP(a, b);
+  if (!c) {
+   break a;
+  }
+  q[c >> 2] = -1;
+  q[c + 4 >> 2] = q[b + 4 >> 2];
+  c : {
+   if (q[b + 4 >> 2]) {
+    g = cP(a, q[b + 8 >> 2] + b | 0);
+    if (!g) {
+     break a;
+    }
+    q[c + 8 >> 2] = g - c;
+    i = q[b + 12 >> 2] + b | 0;
+    j = cP(a, i);
+    if (!i) {
+     break a;
+    }
+    q[c + 12 >> 2] = j - c;
+    if (q[b + 4 >> 2] < 1) {
+     break c;
+    }
+    while (1) {
+     k = h << 2;
+     d = q[b + 8 >> 2] + b | 0;
+     d = q[k + d >> 2] + d | 0;
+     e = cP(a, d);
+     if (!e) {
+      return 0;
+     }
+     f = q[d + 4 >> 2];
+     q[e >> 2] = q[d >> 2];
+     q[e + 4 >> 2] = f;
+     f = q[d + 28 >> 2];
+     q[e + 24 >> 2] = q[d + 24 >> 2];
+     q[e + 28 >> 2] = f;
+     f = q[d + 20 >> 2];
+     q[e + 16 >> 2] = q[d + 16 >> 2];
+     q[e + 20 >> 2] = f;
+     f = q[d + 12 >> 2];
+     q[e + 8 >> 2] = q[d + 8 >> 2];
+     q[e + 12 >> 2] = f;
+     q[g + k >> 2] = e - g;
+     d = h << 1;
+     p[d + j >> 1] = s[d + i >> 1];
+     h = h + 1 | 0;
+     if ((h | 0) < q[b + 4 >> 2]) {
+      continue;
+     }
+     break;
+    }
+    break c;
+   }
+   q[c + 8 >> 2] = 0;
+   q[c + 12 >> 2] = 0;
+  }
+  d = c;
+ }
+ return d;
+}
+function lL(a, b, c, d, e, f, g, h) {
+ var i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, p = 0;
+ i = Ca - 96 | 0;
+ Ca = i;
+ j = q[a + 28 >> 2];
+ l = q[c + 8 >> 2];
+ m = q[c + 4 >> 2];
+ k = q[c >> 2];
+ a : {
+  b : {
+   if (!(!k | !r[k | 0])) {
+    c = mL(a, b, k, m, l, d, e, f, g, h);
+    if (c) {
+     break b;
+    }
+   }
+   c : {
+    c = q[a + 4 >> 2];
+    if (!c) {
+     break c;
+    }
+    c = mL(a, b, c, m, l, d, e, f, g, h);
+    if (!c) {
+     break c;
+    }
+    a = q[e >> 2];
+    q[i + 80 >> 2] = q[d >> 2];
+    q[i + 84 >> 2] = a ? a : 353991;
+    q[i + 76 >> 2] = c;
+    q[i + 72 >> 2] = l;
+    q[i + 68 >> 2] = m;
+    q[i + 64 >> 2] = k;
+    Yd(b, 2, 353925, i - -64 | 0);
+    break b;
+   }
+   d : {
+    if (!j) {
+     break d;
+    }
+    o = q[j + 32 >> 2];
+    if (!o) {
+     break d;
+    }
+    p = q[j + 40 >> 2];
+    e : {
+     if (k) {
+      c = k;
+      j = c;
+      if (r[c | 0]) {
+       break e;
+      }
+     }
+     j = 353998;
+    }
+    j = n[o](p, j, h) | 0;
+    if (!j) {
+     break d;
+    }
+    c = mL(a, b, j, m, l, d, e, f, g, h);
+    M$(j);
+    if (c) {
+     break b;
+    }
+   }
+   c = q[a + 8 >> 2];
+   if (!c) {
+    c = 0;
+    break a;
+   }
+   f = q[a + 12 >> 2];
+   q[d >> 2] = f;
+   a = q[e >> 2];
+   q[i + 48 >> 2] = f;
+   q[i + 52 >> 2] = a ? a : 353991;
+   q[i + 44 >> 2] = c;
+   q[i + 40 >> 2] = l;
+   q[i + 36 >> 2] = m;
+   q[i + 32 >> 2] = k;
+   Yd(b, 2, 354004, i + 32 | 0);
+  }
+  a = q[e >> 2];
+  q[i + 16 >> 2] = q[d >> 2];
+  q[i + 20 >> 2] = a ? a : 353991;
+  q[i + 12 >> 2] = c;
+  q[i + 8 >> 2] = l;
+  q[i + 4 >> 2] = m;
+  q[i >> 2] = k;
+  Yd(b, 4, 354063, i);
+ }
+ Ca = i + 96 | 0;
+ return c;
+}
+function Df(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ h = q[c + 12 >> 2];
+ f = q[b + 120 >> 2];
+ if (f) {
+  n[f](q[b + 116 >> 2]);
+ }
+ while (1) {
+  f = q[b + 84 >> 2];
+  if (f) {
+   uf(f);
+   continue;
+  }
+  break;
+ }
+ if (a) {
+  e = q[b + 108 >> 2];
+  if (e) {
+   while (1) {
+    f = q[e + 4 >> 2];
+    g = q[e + 8 >> 2];
+    d = q[g + 8 >> 2];
+    if (d) {
+     n[d](g);
+    }
+    d = q[q[c + 12 >> 2] + 60 >> 2];
+    if (d) {
+     n[d](g);
+    }
+    d = q[g + 40 >> 2];
+    if (d) {
+     n[q[a + 8 >> 2]](a, d);
+    }
+    q[g + 40 >> 2] = 0;
+    n[q[a + 8 >> 2]](a, g);
+    n[q[a + 8 >> 2]](a, e);
+    e = f;
+    if (e) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[b + 108 >> 2] = 0;
+  q[b + 112 >> 2] = 0;
+ }
+ e = 0;
+ q[b + 88 >> 2] = 0;
+ c = q[b + 48 >> 2];
+ if (c) {
+  n[c](b);
+ }
+ if (q[b + 36 >> 2] >= 1) {
+  while (1) {
+   f = e << 2;
+   g = q[f + q[b + 40 >> 2] >> 2];
+   d = q[q[g >> 2] + 100 >> 2];
+   c = q[q[g + 12 >> 2] + 8 >> 2];
+   if (c) {
+    n[c](g);
+   }
+   n[q[d + 8 >> 2]](d, g);
+   q[f + q[b + 40 >> 2] >> 2] = 0;
+   e = e + 1 | 0;
+   if ((e | 0) < q[b + 36 >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+ c = q[b + 40 >> 2];
+ if (c) {
+  n[q[a + 8 >> 2]](a, c);
+ }
+ q[b + 36 >> 2] = 0;
+ q[b + 40 >> 2] = 0;
+ c = q[h + 52 >> 2];
+ if (c) {
+  n[c](b);
+ }
+ d = q[b + 104 >> 2];
+ a : {
+  if (!d) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  e = q[d + 28 >> 2];
+  c = q[d + 24 >> 2];
+  if (c) {
+   n[c](d);
+  }
+  if (f & 1024) {
+   break a;
+  }
+  n[q[e + 8 >> 2]](e, d);
+ }
+ q[b + 104 >> 2] = 0;
+ c = q[b + 128 >> 2];
+ if (c) {
+  n[q[a + 8 >> 2]](a, c);
+  q[b + 128 >> 2] = 0;
+ }
+ n[q[a + 8 >> 2]](a, b);
+}
+function Jt(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ a : {
+  b : {
+   e = w(c, 20) + a | 0;
+   f = p[e + 16 >> 1];
+   c : {
+    if (!f) {
+     break c;
+    }
+    g = r[e + 18 | 0];
+    p[e + 16 >> 1] = 0;
+    e = c + f | 0;
+    if (e >>> 0 >= b >>> 0) {
+     break c;
+    }
+    Jt(a, b, e, d);
+    b = g & 2;
+    if ((g & 1) == (b >>> 1 | 0)) {
+     break b;
+    }
+    if (b) {
+     if ((d & -2) == 4) {
+      b = w(c, 20) + a | 0;
+      q[b + 12 >> 2] = q[b + 12 >> 2] + q[(w(e, 20) + a | 0) + 12 >> 2];
+      return;
+     }
+     b = w(c, 20) + a | 0;
+     q[b + 8 >> 2] = q[b + 8 >> 2] + q[(w(e, 20) + a | 0) + 8 >> 2];
+     return;
+    }
+    g = w(c, 20) + a | 0;
+    f = w(e, 20) + a | 0;
+    b = q[g + 8 >> 2] + q[f + 8 >> 2] | 0;
+    q[g + 8 >> 2] = b;
+    f = q[g + 12 >> 2] + q[f + 12 >> 2] | 0;
+    q[g + 12 >> 2] = f;
+    if (e >>> 0 >= c >>> 0) {
+     break a;
+    }
+    h = g + 12 | 0;
+    g = g + 8 | 0;
+    d : {
+     if ((d & -3) == 4) {
+      while (1) {
+       d = w(e, 20) + a | 0;
+       f = f - q[d + 4 >> 2] | 0;
+       b = b - q[d >> 2] | 0;
+       e = e + 1 | 0;
+       if ((e | 0) != (c | 0)) {
+        continue;
+       }
+       break d;
+      }
+     }
+     e = e + 1 | 0;
+     if (e >>> 0 >= c + 1 >>> 0) {
+      break c;
+     }
+     while (1) {
+      d = w(e, 20) + a | 0;
+      f = q[d + 4 >> 2] + f | 0;
+      b = q[d >> 2] + b | 0;
+      d = (c | 0) == (e | 0);
+      e = e + 1 | 0;
+      if (!d) {
+       continue;
+      }
+      break;
+     }
+    }
+    q[g >> 2] = b;
+    q[h >> 2] = f;
+   }
+   return;
+  }
+  J(228654, 228715, 2296, 228744);
+  F();
+ }
+ J(228773, 228715, 2310, 228744);
+ F();
+}
+function wE(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = q[a + 8 >> 2];
+ a : {
+  if (!c) {
+   break a;
+  }
+  xE(q[a + 12 >> 2], c, 12);
+  e = 1;
+  c = q[a + 8 >> 2];
+  if (c >>> 0 > 1) {
+   while (1) {
+    b : {
+     if (c >>> 0 <= e >>> 0) {
+      q[160658] = q[67762];
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      c = q[a + 8 >> 2];
+      d = 642624;
+      break b;
+     }
+     d = q[a + 12 >> 2] + w(e, 12) | 0;
+    }
+    d = q[d >> 2];
+    c : {
+     if (c >>> 0 <= f >>> 0) {
+      q[160658] = q[67762];
+      c = q[67761];
+      q[160656] = q[67760];
+      q[160657] = c;
+      c = 642624;
+      break c;
+     }
+     c = q[a + 12 >> 2] + w(f, 12) | 0;
+    }
+    if ((d | 0) != q[c >> 2]) {
+     d = q[a + 8 >> 2];
+     d : {
+      if (d >>> 0 <= e >>> 0) {
+       q[160658] = q[67762];
+       c = q[67761];
+       q[160656] = q[67760];
+       q[160657] = c;
+       d = q[a + 8 >> 2];
+       c = 642624;
+       break d;
+      }
+      c = q[a + 12 >> 2] + w(e, 12) | 0;
+     }
+     f = f + 1 | 0;
+     e : {
+      if (d >>> 0 <= f >>> 0) {
+       q[160658] = q[67762];
+       d = q[67761];
+       q[160656] = q[67760];
+       q[160657] = d;
+       d = 642624;
+       break e;
+      }
+      d = q[a + 12 >> 2] + w(f, 12) | 0;
+     }
+     g = q[c + 4 >> 2];
+     q[d >> 2] = q[c >> 2];
+     q[d + 4 >> 2] = g;
+     q[d + 8 >> 2] = q[c + 8 >> 2];
+    }
+    e = e + 1 | 0;
+    c = q[a + 8 >> 2];
+    if (e >>> 0 < c >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = f + 1 | 0;
+  d = (d | 0) > 0 ? d : 0;
+  if (d >>> 0 >= c >>> 0) {
+   break a;
+  }
+  q[a + 8 >> 2] = d;
+ }
+ Pq(a, b);
+}
+function sq(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0;
+ a : {
+  b : {
+   a = b + -44032 | 0;
+   if (!(a >>> 0 > 11171 | c + -4520 >>> 0 > 26)) {
+    if (((a & 65535) >>> 0) % 28) {
+     break b;
+    }
+    q[d >> 2] = (b + c | 0) + -4519;
+    return 1;
+   }
+   if (!(b + -4352 >>> 0 > 18 | c + -4449 >>> 0 > 20)) {
+    q[d >> 2] = (w(b, 588) + w(c, 28) | 0) + -2639516;
+    return 1;
+   }
+   if ((c & -128) != 768 | b >>> 0 > 2047) {
+    break b;
+   }
+   e = c << 14 & 2080768 | b << 21;
+   b = 637;
+   c = 0;
+   c : {
+    while (1) {
+     a = b + c >>> 1 | 0;
+     g = q[(a << 2) + 218992 >> 2];
+     f = g & -16384;
+     d : {
+      if (e >>> 0 < f >>> 0) {
+       b = a + -1 | 0;
+       break d;
+      }
+      if (e >>> 0 <= f >>> 0) {
+       break c;
+      }
+      c = a + 1 | 0;
+     }
+     if ((c | 0) <= (b | 0)) {
+      continue;
+     }
+     break;
+    }
+    return 0;
+   }
+   a = g & 16383;
+   break a;
+  }
+  a = c >>> 11 | 0;
+  g = c << 21;
+  e = b << 10 | a;
+  b = 386;
+  c = 0;
+  e : {
+   while (1) {
+    f = b + c >>> 1 | 0;
+    h = (f << 3) + 221552 | 0;
+    a = q[h + 4 >> 2];
+    h = q[h >> 2];
+    a = a & 2147483647;
+    i = h & -2097152;
+    f : {
+     if ((a | 0) == (e | 0) & g >>> 0 < i >>> 0 | e >>> 0 < a >>> 0) {
+      b = f + -1 | 0;
+      break f;
+     }
+     if ((a | 0) == (e | 0) & g >>> 0 <= i >>> 0 | e >>> 0 < a >>> 0) {
+      break e;
+     }
+     c = f + 1 | 0;
+    }
+    if ((c | 0) <= (b | 0)) {
+     continue;
+    }
+    break;
+   }
+   return 0;
+  }
+  a = h & 2097151;
+ }
+ if (!a) {
+  return 0;
+ }
+ q[d >> 2] = a;
+ return 1;
+}
+function aw(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 2) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  c = 1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8;
+  d = ((d << 24 | d << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+  b : {
+   if (d >>> 0 > 2) {
+    break b;
+   }
+   c : {
+    switch (d - 1 | 0) {
+    default:
+     if (!dv(a + 2 | 0, b, a)) {
+      break a;
+     }
+     g = q[b + 4 >> 2];
+     d = a + 4 | 0;
+     if (g >>> 0 > d >>> 0) {
+      break a;
+     }
+     e = q[b + 8 >> 2];
+     if (e >>> 0 < d >>> 0 | e - d >>> 0 < 2) {
+      break a;
+     }
+     f = q[b + 12 >> 2];
+     q[b + 12 >> 2] = f + -1;
+     if ((f | 0) < 1) {
+      break a;
+     }
+     h = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+     if (!h) {
+      break b;
+     }
+     c = d + 2 | 0;
+     if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0) {
+      break a;
+     }
+     if (e - c >>> 0 < h << 1 >>> 0) {
+      break a;
+     }
+     q[b + 12 >> 2] = f + -2;
+     c = 0;
+     if ((f | 0) < 2) {
+      break b;
+     }
+     c = 1;
+     e = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+     if (!e) {
+      break b;
+     }
+     c = 0;
+     d : {
+      while (1) {
+       if (!gw((d + (c << 1) | 0) + 2 | 0, b, a)) {
+        break d;
+       }
+       c = c + 1 | 0;
+       if ((e | 0) != (c | 0)) {
+        continue;
+       }
+       break;
+      }
+      return 1;
+     }
+     break a;
+    case 0:
+     return hw(a, b);
+    case 1:
+     break c;
+    }
+   }
+   c = iw(a, b);
+  }
+  return c;
+ }
+ return 0;
+}
+function Tq(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+ f = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+ j = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+ if (j) {
+  d = q[b + 8 >> 2];
+  m = d + -1 | 0;
+  n = q[b + 12 >> 2];
+  o = (d | 0) < 1;
+  while (1) {
+   c = w(g, 12) + a | 0;
+   h = r[c + 14 | 0] << 8 | r[c + 15 | 0];
+   e = r[c + 13 | 0] | r[c + 12 | 0] << 8;
+   while (1) {
+    a : {
+     b = 0;
+     d = m;
+     b : {
+      if (o) {
+       break b;
+      }
+      while (1) {
+       c : {
+        i = b + d >>> 1 | 0;
+        k = w(i, 12) + n | 0;
+        l = q[k >> 2];
+        d : {
+         if ((l | 0) < (e | 0)) {
+          d = i + -1 | 0;
+          break d;
+         }
+         if ((e | 0) == (l | 0)) {
+          break c;
+         }
+         b = i + 1 | 0;
+        }
+        if ((b | 0) <= (d | 0)) {
+         continue;
+        }
+        break b;
+       }
+       break;
+      }
+      if (q[k + 4 >> 2] != (h | 0)) {
+       break b;
+      }
+      b = r[c + 20 | 0] | r[c + 21 | 0] << 8 | (r[c + 22 | 0] << 16 | r[c + 23 | 0] << 24);
+      f = r[c + 19 | 0] | ((b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24)) & f | (r[c + 17 | 0] << 16 | r[c + 16 | 0] << 24) | r[c + 18 | 0] << 8);
+      break a;
+     }
+     if ((e | 0) != 3) {
+      break a;
+     }
+     e = 37;
+     b = (h | 0) == 3;
+     h = 1;
+     if (b) {
+      continue;
+     }
+    }
+    break;
+   }
+   g = g + 1 | 0;
+   if ((j | 0) != (g | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return f;
+}
+function ir(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ g = r[a + 1 | 0] | r[a | 0] << 8;
+ a : {
+  if (!g) {
+   break a;
+  }
+  while (1) {
+   h = ((f << 3) + a | 0) + 8 | 0;
+   d = h;
+   d = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+   if (x(x(d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) * x(152587890625e-16)) != x(0)) {
+    f = f + 1 | 0;
+    if ((g | 0) != (f | 0)) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  g = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (g >>> 0 <= 1) {
+   if (g - 1) {
+    break a;
+   }
+   a = (f << 3) + a | 0;
+   a = (r[a + 14 | 0] << 8 | r[a + 15 | 0]) + b | 0;
+   a = r[a | 0] | r[a + 1 | 0] << 8;
+   return (a << 24 | a << 8 & 16711680) >> 16;
+  }
+  i = a;
+  b : {
+   c : {
+    f = g + -1 | 0;
+    if (!f) {
+     break c;
+    }
+    a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+    d = (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) + b | 0;
+    a = 0;
+    d : {
+     while (1) {
+      e = g >>> 0 > a >>> 0 ? d + (a << 2) | 0 : 271040;
+      e = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+      if (x(x(e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24)) * x(152587890625e-16)) >= c) {
+       break d;
+      }
+      a = a + 1 | 0;
+      if ((f | 0) != (a | 0)) {
+       continue;
+      }
+      break;
+     }
+     a = f;
+    }
+    if (!a) {
+     break c;
+    }
+    a = a + -1 | 0;
+    break b;
+   }
+   a = 0;
+  }
+  c = x(S(x(jr(i, a, c, h, b))));
+  if (x(y(c)) < x(2147483648)) {
+   return ~~c;
+  }
+  e = -2147483648;
+ }
+ return e;
+}
+function _d(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ g = 1024;
+ a : {
+  if ((c | 0) < 1) {
+   break a;
+  }
+  h = b + c | 0;
+  while (1) {
+   c = a;
+   b : {
+    c : {
+     d : {
+      a = b;
+      e = h - a | 0;
+      if (e >>> 0 >= 2) {
+       i = r[a | 0];
+       f = r[a + 1 | 0] | i << 8;
+       b = a + 2 | 0;
+       d = b;
+       if ((i & 252) != 216) {
+        break c;
+       }
+       e = e + -2 | 0;
+       if (e >>> 0 >= 2) {
+        break d;
+       }
+       a = b;
+      }
+      b = a + e | 0;
+      d = 65533;
+      break b;
+     }
+     e = r[b | 0];
+     d = 65533;
+     if ((e & 252) != 220) {
+      break b;
+     }
+     f = ((r[a + 3 | 0] | e << 8) + (f << 10) | 0) + -56613888 | 0;
+     d = a + 4 | 0;
+    }
+    b = d;
+    d = (f & -1024) == 56320 ? 65533 : f;
+   }
+   a = d;
+   if (g >>> 0 < 5) {
+    a = c;
+    break a;
+   }
+   e : {
+    if (a >>> 0 <= 127) {
+     o[c | 0] = a;
+     d = c + 1 | 0;
+     break e;
+    }
+    if (a >>> 0 <= 2047) {
+     o[c + 1 | 0] = a & 63 | 128;
+     o[c | 0] = a >>> 6 | 192;
+     d = c + 2 | 0;
+     break e;
+    }
+    if (a >>> 0 <= 65535) {
+     o[c + 2 | 0] = a & 63 | 128;
+     o[c | 0] = a >>> 12 | 224;
+     o[c + 1 | 0] = a >>> 6 & 63 | 128;
+     d = c + 3 | 0;
+     break e;
+    }
+    d = c;
+    if (a >>> 0 > 1114111) {
+     break e;
+    }
+    o[c + 3 | 0] = a & 63 | 128;
+    o[c | 0] = a >>> 18 | 240;
+    o[c + 2 | 0] = a >>> 6 & 63 | 128;
+    o[c + 1 | 0] = a >>> 12 & 63 | 128;
+    d = c + 4 | 0;
+   }
+   a = d;
+   o[a | 0] = 0;
+   g = (c + g | 0) - a | 0;
+   if (b >>> 0 < h >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ o[a | 0] = 0;
+}
+function $y(a, b, c, d) {
+ var e = x(0), f = 0, g = x(0), h = 0, i = 0, j = 0;
+ h = Ca - 32 | 0;
+ Ca = h;
+ if (az(a, c, h, 0)) {
+  j = v[h + 16 >> 3];
+  i = v[h >> 3];
+  a : {
+   if (!(j > i)) {
+    q[d >> 2] = 0;
+    q[d + 8 >> 2] = 0;
+    break a;
+   }
+   e = x(q[b + 20 >> 2]);
+   g = x(x(i) * e);
+   f = q[b + 16 >> 2];
+   a = q[f + 28 >> 2];
+   if (!a) {
+    a = XF(f);
+    e = x(q[b + 20 >> 2]);
+    f = q[b + 16 >> 2];
+   }
+   c = d;
+   g = x(S(x(x(g / x(a >>> 0)))));
+   b : {
+    if (x(y(g)) < x(2147483648)) {
+     a = ~~g;
+     break b;
+    }
+    a = -2147483648;
+   }
+   q[c >> 2] = a;
+   c = d;
+   e = x(e * x(j - i));
+   a = q[f + 28 >> 2];
+   if (!a) {
+    a = XF(f);
+   }
+   e = x(S(x(x(e / x(a >>> 0)))));
+   c : {
+    if (x(y(e)) < x(2147483648)) {
+     a = ~~e;
+     break c;
+    }
+    a = -2147483648;
+   }
+   q[c + 8 >> 2] = a;
+  }
+  i = v[h + 24 >> 3];
+  j = v[h + 8 >> 3];
+  d : {
+   if (!(i > j)) {
+    q[d + 4 >> 2] = 0;
+    q[d + 12 >> 2] = 0;
+    break d;
+   }
+   e = x(q[b + 24 >> 2]);
+   g = x(x(i) * e);
+   f = q[b + 16 >> 2];
+   a = q[f + 28 >> 2];
+   if (!a) {
+    a = XF(f);
+    e = x(q[b + 24 >> 2]);
+    f = q[b + 16 >> 2];
+   }
+   b = d;
+   g = x(S(x(x(g / x(a >>> 0)))));
+   e : {
+    if (x(y(g)) < x(2147483648)) {
+     a = ~~g;
+     break e;
+    }
+    a = -2147483648;
+   }
+   q[b + 4 >> 2] = a;
+   e = x(e * x(j - i));
+   a = q[f + 28 >> 2];
+   if (!a) {
+    a = XF(f);
+   }
+   e = x(S(x(x(e / x(a >>> 0)))));
+   f : {
+    if (x(y(e)) < x(2147483648)) {
+     a = ~~e;
+     break f;
+    }
+    a = -2147483648;
+   }
+   q[d + 12 >> 2] = a;
+  }
+  f = 1;
+ }
+ Ca = h + 32 | 0;
+ return f;
+}
+function hB(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  h = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  b : {
+   if (!d) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < d >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (!d) {
+    break b;
+   }
+   c = c + d | 0;
+   c : {
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 4) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -3;
+    if ((f | 0) < 3) {
+     break c;
+    }
+    d = q[b + 32 >> 2] + 1 | 0;
+    if (d >>> 0 > 1073741822) {
+     break c;
+    }
+    if (!d) {
+     break b;
+    }
+    c = c + 4 | 0;
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < d << 2 >>> 0) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -4;
+    if ((f | 0) > 3) {
+     break b;
+    }
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   h = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   o[a + 2 | 0] = 0;
+   o[a + 3 | 0] = 0;
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function Xt(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = q[a + 36 >> 2];
+ if (c) {
+  b = q[a >> 2];
+  a : {
+   if (c + b >>> 0 >= t[a + 40 >> 2]) {
+    break a;
+   }
+   while (1) {
+    b = b + 1 | 0;
+    q[a >> 2] = b;
+    b : {
+     d = q[a + 8 >> 2];
+     e = q[a + 4 >> 2];
+     b = q[q[e + 96 >> 2] + 88 >> 2] + w(b, 20) | 0;
+     c = s[b + 12 >> 1];
+     if (d & c & 14) {
+      break b;
+     }
+     if (c & 8) {
+      if (!Pt(e, q[b >> 2], c, d)) {
+       break b;
+      }
+     }
+     c = 0;
+     e = b + 12 | 0;
+     d = s[b + 16 >> 1];
+     if (!(r[e | 0] & 32 | (d & 96) != 32 | (r[a + 12 | 0] ? 0 : (d & 543) == 513))) {
+      c = (d & 287) == 257 ? r[a + 13 | 0] << 1 : 2;
+     }
+     c : {
+      d : {
+       e : {
+        if (!(q[a + 16 >> 2] & q[b + 4 >> 2])) {
+         break e;
+        }
+        d = q[a + 32 >> 2];
+        f = r[a + 20 | 0];
+        if ((f | 0) != r[e + 3 | 0] ? f : 0) {
+         break e;
+        }
+        e = q[a + 24 >> 2];
+        if (!e) {
+         break d;
+        }
+        if (n[e](q[b >> 2], d, q[a + 28 >> 2])) {
+         d = q[a + 32 >> 2];
+         break c;
+        }
+        if (c) {
+         break b;
+        }
+        return 0;
+       }
+       if (c) {
+        break b;
+       }
+       return 0;
+      }
+      if (c) {
+       break b;
+      }
+     }
+     q[a + 36 >> 2] = q[a + 36 >> 2] + -1;
+     g = 1;
+     if (!d) {
+      break a;
+     }
+     q[a + 32 >> 2] = d + 2;
+     return 1;
+    }
+    b = q[a >> 2];
+    if (b + q[a + 36 >> 2] >>> 0 < t[a + 40 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  return g;
+ }
+ J(228517, 228531, 450, 228558);
+ F();
+}
+function zO(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ i = a + 768 | 0;
+ a : {
+  b : {
+   if (!c) {
+    break b;
+   }
+   if (fO(i, c, 0)) {
+    break b;
+   }
+   Yd(q[a >> 2], 2, 437588, 0);
+   break a;
+  }
+  c : {
+   if (!d) {
+    break c;
+   }
+   if (fO(i, d, (c | 0) != 0)) {
+    break c;
+   }
+   Yd(q[a >> 2], 2, 437588, 0);
+   break a;
+  }
+  c = q[a + 772 >> 2];
+  e = q[a + 780 >> 2];
+  if ((c | 0) > (e | 0)) {
+   break a;
+  }
+  d = q[a + 776 >> 2];
+  f = q[a + 784 >> 2];
+  if ((d | 0) > (f | 0)) {
+   break a;
+  }
+  d : {
+   j = d + -1 >> 6;
+   d = (f + 127 >> 6) - j | 0;
+   k = c + -1 >> 6;
+   c = (e + 127 >> 6) - k | 0;
+   e : {
+    if ((d | c) < 0) {
+     break e;
+    }
+    f = q[a + 764 >> 2];
+    e = -1 << q[f + 4 >> 2];
+    g = e ^ -2147483648;
+    if ((c | 0) > (g | 0)) {
+     break e;
+    }
+    if ((d | 0) <= (g | 0)) {
+     break d;
+    }
+   }
+   a = q[a >> 2];
+   q[h + 4 >> 2] = d;
+   q[h >> 2] = c;
+   Yd(a, 2, 437622, h);
+   break a;
+  }
+  g = 1 << q[f >> 2];
+  l = 0 - g | 0;
+  m = e ^ -1;
+  f = e & c + m;
+  c = f >>> 0 > l >>> 0 ? f : l & (f + g | 0) + -1;
+  d = e & d + m;
+  if (c >>> 0 > 2147483615 / (((d | 0) > 1 ? d : 1) >>> 0) >>> 0) {
+   break a;
+  }
+  e = Jd(g, w(c, d) + 32 | 0, 0);
+  if (!e) {
+   break a;
+  }
+  q[b + 20 >> 2] = e;
+  q[b + 16 >> 2] = c;
+  q[b + 12 >> 2] = d;
+  q[b + 8 >> 2] = f;
+  q[b + 4 >> 2] = j;
+  q[b >> 2] = k;
+  n = 1;
+  if (jO(q[a + 764 >> 2], i, e, k, j, c, d, c)) {
+   break a;
+  }
+  n = 0;
+  Yd(q[a >> 2], 2, 437660, 0);
+  Kd(q[b + 20 >> 2]);
+ }
+ Ca = h + 16 | 0;
+ return n;
+}
+function uO(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, p = 0, s = 0, t = 0, u = 0, v = 0, x = 0, y = 0;
+ a : {
+  if (!q[b + 20 >> 2]) {
+   break a;
+  }
+  if (!!(d > .001)) {
+   VO(a, b, d);
+  }
+  if (!c) {
+   break a;
+  }
+  l = Jd(32, q[b + 16 >> 2] << 2, 0);
+  if (!l) {
+   break a;
+  }
+  i = q[b + 20 >> 2];
+  f = q[b + 16 >> 2];
+  g = q[b + 12 >> 2];
+  h = q[b + 8 >> 2];
+  c = c + -1 | 0;
+  b : {
+   if (!c) {
+    e = f << 1;
+    break b;
+   }
+   if ((g | 0) >= 1) {
+    j = (h | 0) < 1;
+    while (1) {
+     if (!j) {
+      m = w(f, e);
+      b = 0;
+      while (1) {
+       k = (b + m | 0) + i | 0;
+       o[k | 0] = (r[k | 0] >>> 1 | 0) + 1 >>> 1;
+       b = b + 1 | 0;
+       if ((h | 0) != (b | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     e = e + 1 | 0;
+     if ((g | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   e = f << 1;
+   while (1) {
+    t = i, u = h, v = g, x = f, y = Z$(l, 0, e), s = q[a + 32 >> 2], n[s](t | 0, u | 0, v | 0, x | 0, y | 0);
+    c = c + -1 | 0;
+    if (c) {
+     continue;
+    }
+    break;
+   }
+   if ((g | 0) < 1) {
+    break b;
+   }
+   c = 0;
+   m = (h | 0) < 1;
+   while (1) {
+    if (!m) {
+     k = w(c, f);
+     b = 0;
+     while (1) {
+      p = (b + k | 0) + i | 0;
+      j = r[p | 0];
+      o[p | 0] = (j << 2) - (j >>> 0 > 32);
+      b = b + 1 | 0;
+      if ((h | 0) != (b | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    c = c + 1 | 0;
+    if ((c | 0) != (g | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  b = Z$(l, 0, e);
+  n[q[a + 32 >> 2]](i, h, g, f, b);
+  Kd(b);
+ }
+}
+function hF(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ a : {
+  if (!a | !q[a >> 2]) {
+   break a;
+  }
+  b : {
+   if (q[a >> 2] > 0) {
+    b = q[a >> 2];
+    q[a >> 2] = b + -1;
+    if ((b | 0) != 1) {
+     break a;
+    }
+    q[a >> 2] = -57005;
+    b = q[a + 8 >> 2];
+    if (b) {
+     c : {
+      if (!q[b + 8 >> 2]) {
+       c = b + 12 | 0;
+       M$(q[c >> 2]);
+       q[c >> 2] = 0;
+       q[b + 4 >> 2] = 0;
+       q[b + 8 >> 2] = 0;
+       break c;
+      }
+      while (1) {
+       c = q[b >> 2];
+       q[b >> 2] = 1;
+       if (c) {
+        continue;
+       }
+       break;
+      }
+      c = q[b + 8 >> 2];
+      if (c) {
+       while (1) {
+        e = c + -1 | 0;
+        d = q[b + 12 >> 2] + w(e, 12) | 0;
+        c = q[d + 8 >> 2];
+        d = q[d + 4 >> 2];
+        q[b + 8 >> 2] = e;
+        q[b >> 2] = 0;
+        if (c) {
+         n[c](d);
+        }
+        while (1) {
+         c = q[b >> 2];
+         q[b >> 2] = 1;
+         if (c) {
+          continue;
+         }
+         break;
+        }
+        c = q[b + 8 >> 2];
+        if (c) {
+         continue;
+        }
+        break;
+       }
+      }
+      M$(q[b + 12 >> 2]);
+      q[b + 8 >> 2] = 0;
+      q[b + 12 >> 2] = 0;
+      q[b >> 2] = 0;
+      q[b + 4 >> 2] = 0;
+     }
+     M$(b);
+    }
+    b = q[a + 204 >> 2];
+    if (!b) {
+     break b;
+    }
+    while (1) {
+     c = q[b + 4 >> 2];
+     YE(q[b >> 2]);
+     M$(b);
+     b = c;
+     if (b) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   }
+   J(270948, 270973, 279, 271008);
+   F();
+  }
+  Jq(a + 48 | 0);
+  b = q[a + 20 >> 2];
+  if (b) {
+   n[b](q[a + 16 >> 2]);
+  }
+  M$(a);
+ }
+}
+function xo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = q[b >> 2];
+ if ((e | 0) == -1) {
+  return 0;
+ }
+ d = q[a + 16 >> 2];
+ c = r[d + 8204 | 0] | r[d + 8205 | 0] << 8 | (r[d + 8206 | 0] << 16 | r[d + 8207 | 0] << 24);
+ f = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+ a : {
+  b : {
+   if (!f) {
+    break b;
+   }
+   j = q[a >> 2];
+   c = e + 1 | 0;
+   d = d + 8208 | 0;
+   while (1) {
+    a = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+    g = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+    a = c >>> 0 < g >>> 0 ? g : c;
+    c = r[d + 4 | 0] | r[d + 5 | 0] << 8 | (r[d + 6 | 0] << 16 | r[d + 7 | 0] << 24);
+    h = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    c : {
+     if (a >>> 0 > h >>> 0) {
+      c = a;
+      break c;
+     }
+     c = r[d + 8 | 0] | r[d + 9 | 0] << 8 | (r[d + 10 | 0] << 16 | r[d + 11 | 0] << 24);
+     i = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+     while (1) {
+      c = a - g | 0;
+      if (i >>> 0 > (c ^ -1) >>> 0) {
+       c = a;
+       break c;
+      }
+      e = c + i | 0;
+      if (!e) {
+       if ((a | 0) == -1) {
+        break b;
+       }
+       e = a >>> 0 < h >>> 0;
+       c = a + 1 | 0;
+       a = c;
+       if (e) {
+        continue;
+       }
+       break c;
+      }
+      break;
+     }
+     c = a;
+     if (e >>> 0 < t[j + 16 >> 2]) {
+      break a;
+     }
+    }
+    d = d + 12 | 0;
+    f = f + -1 | 0;
+    if (f) {
+     continue;
+    }
+    break;
+   }
+  }
+  e = 0;
+  a = 0;
+ }
+ q[b >> 2] = a;
+ return e | 0;
+}
+function dx(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = q[a + 36 >> 2];
+ if (c) {
+  b = q[a >> 2];
+  a : {
+   if (b >>> 0 <= c + -1 >>> 0) {
+    break a;
+   }
+   while (1) {
+    b = b + -1 | 0;
+    q[a >> 2] = b;
+    b : {
+     d = q[a + 8 >> 2];
+     e = q[a + 4 >> 2];
+     b = q[q[e + 96 >> 2] + 92 >> 2] + w(b, 20) | 0;
+     c = s[b + 12 >> 1];
+     if (d & c & 14) {
+      break b;
+     }
+     if (c & 8) {
+      if (!Pt(e, q[b >> 2], c, d)) {
+       break b;
+      }
+     }
+     c = 0;
+     e = b + 12 | 0;
+     d = s[b + 16 >> 1];
+     if (!(r[e | 0] & 32 | (d & 96) != 32 | (r[a + 12 | 0] ? 0 : (d & 543) == 513))) {
+      c = (d & 287) == 257 ? r[a + 13 | 0] << 1 : 2;
+     }
+     c : {
+      d : {
+       e : {
+        if (!(q[a + 16 >> 2] & q[b + 4 >> 2])) {
+         break e;
+        }
+        d = q[a + 32 >> 2];
+        f = r[a + 20 | 0];
+        if ((f | 0) != r[e + 3 | 0] ? f : 0) {
+         break e;
+        }
+        e = q[a + 24 >> 2];
+        if (!e) {
+         break d;
+        }
+        if (n[e](q[b >> 2], d, q[a + 28 >> 2])) {
+         d = q[a + 32 >> 2];
+         break c;
+        }
+        if (c) {
+         break b;
+        }
+        return 0;
+       }
+       if (c) {
+        break b;
+       }
+       return 0;
+      }
+      if (c) {
+       break b;
+      }
+     }
+     q[a + 36 >> 2] = q[a + 36 >> 2] + -1;
+     g = 1;
+     if (!d) {
+      break a;
+     }
+     q[a + 32 >> 2] = d + 2;
+     return 1;
+    }
+    b = q[a >> 2];
+    if (b >>> 0 > q[a + 36 >> 2] + -1 >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  return g;
+ }
+ J(228517, 228531, 477, 228808);
+ F();
+}
+function lf(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ q[c >> 2] = 0;
+ if (!a) {
+  return 33;
+ }
+ if (!b) {
+  return 6;
+ }
+ d = q[a >> 2];
+ a = n[q[d + 4 >> 2]](d, 40) | 0;
+ if (!a) {
+  return 64;
+ }
+ o[a + 24 | 0] = 0;
+ o[a + 25 | 0] = 0;
+ o[a + 26 | 0] = 0;
+ o[a + 27 | 0] = 0;
+ o[a + 28 | 0] = 0;
+ o[a + 29 | 0] = 0;
+ o[a + 30 | 0] = 0;
+ o[a + 31 | 0] = 0;
+ o[a | 0] = 0;
+ o[a + 1 | 0] = 0;
+ o[a + 2 | 0] = 0;
+ o[a + 3 | 0] = 0;
+ o[a + 4 | 0] = 0;
+ o[a + 5 | 0] = 0;
+ o[a + 6 | 0] = 0;
+ o[a + 7 | 0] = 0;
+ o[a + 32 | 0] = 0;
+ o[a + 33 | 0] = 0;
+ o[a + 34 | 0] = 0;
+ o[a + 35 | 0] = 0;
+ o[a + 36 | 0] = 0;
+ o[a + 37 | 0] = 0;
+ o[a + 38 | 0] = 0;
+ o[a + 39 | 0] = 0;
+ o[a + 16 | 0] = 0;
+ o[a + 17 | 0] = 0;
+ o[a + 18 | 0] = 0;
+ o[a + 19 | 0] = 0;
+ o[a + 20 | 0] = 0;
+ o[a + 21 | 0] = 0;
+ o[a + 22 | 0] = 0;
+ o[a + 23 | 0] = 0;
+ o[a + 8 | 0] = 0;
+ o[a + 9 | 0] = 0;
+ o[a + 10 | 0] = 0;
+ o[a + 11 | 0] = 0;
+ o[a + 12 | 0] = 0;
+ o[a + 13 | 0] = 0;
+ o[a + 14 | 0] = 0;
+ o[a + 15 | 0] = 0;
+ q[a + 28 >> 2] = d;
+ a : {
+  f = q[b >> 2];
+  if (f & 1) {
+   e = q[b + 4 >> 2];
+   b = q[b + 8 >> 2];
+   q[a + 32 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+   q[a + 20 >> 2] = 0;
+   q[a + 24 >> 2] = 0;
+   q[a >> 2] = e;
+   q[a + 4 >> 2] = b;
+   break a;
+  }
+  b : {
+   if (!(f & 4)) {
+    e = 6;
+    if (!(f & 2) | !q[b + 16 >> 2]) {
+     break b;
+    }
+    n[q[d + 8 >> 2]](d, a);
+    a = q[b + 16 >> 2];
+    break a;
+   }
+   e = le(a, q[b + 12 >> 2]);
+   q[a + 16 >> 2] = q[b + 12 >> 2];
+   if (!e) {
+    break a;
+   }
+  }
+  n[q[d + 8 >> 2]](d, a);
+  q[c >> 2] = 0;
+  return e;
+ }
+ q[a + 28 >> 2] = d;
+ q[c >> 2] = a;
+ return 0;
+}
+function li(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, t = 0, u = 0, v = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ a : {
+  if (o[a + 372 | 0] & 1) {
+   i = q[a + 52 >> 2];
+   j = q[a + 48 >> 2];
+   k = s[a + 46 >> 1];
+   h = s[a + 44 >> 1];
+   l = q[a + 36 >> 2];
+   m = q[a + 40 >> 2];
+   f = a - -64 | 0;
+   t = q[f + 4 >> 2];
+   q[g + 8 >> 2] = q[f >> 2];
+   q[g + 12 >> 2] = t;
+   f = q[a + 60 >> 2];
+   q[g >> 2] = q[a + 56 >> 2];
+   q[g + 4 >> 2] = f;
+   f = a + 290 | 0;
+   break a;
+  }
+  i = q[a + 88 >> 2];
+  j = q[a + 84 >> 2];
+  k = s[a + 82 >> 1];
+  h = s[a + 80 >> 1];
+  l = q[a + 72 >> 2];
+  m = q[a + 76 >> 2];
+  f = q[a + 104 >> 2];
+  q[g + 8 >> 2] = q[a + 100 >> 2];
+  q[g + 12 >> 2] = f;
+  f = q[a + 96 >> 2];
+  q[g >> 2] = q[a + 92 >> 2];
+  q[g + 4 >> 2] = f;
+  f = a + 292 | 0;
+ }
+ f = s[f >> 1];
+ b : {
+  if (f >>> 0 >= h >>> 0) {
+   if (r[a + 565 | 0]) {
+    q[a + 12 >> 2] = 134;
+   }
+   p[e >> 1] = 0;
+   a = 1;
+   break b;
+  }
+  q[d + 16 >> 2] = i;
+  q[d + 12 >> 2] = j;
+  p[d + 10 >> 1] = k;
+  p[d + 8 >> 1] = h;
+  q[d >> 2] = l;
+  q[d + 4 >> 2] = m;
+  h = q[g + 4 >> 2];
+  q[d + 20 >> 2] = q[g >> 2];
+  q[d + 24 >> 2] = h;
+  h = q[g + 12 >> 2];
+  q[d + 28 >> 2] = q[g + 8 >> 2];
+  q[d + 32 >> 2] = h;
+  p[e >> 1] = f;
+  e = b;
+  b = f << 3;
+  d = b + i | 0;
+  b = b + j | 0;
+  b = n[q[a + 576 >> 2]](a, q[d >> 2] - q[b >> 2] | 0, q[d + 4 >> 2] - q[b + 4 >> 2] | 0) | 0;
+  u = e, v = ue(b, p[a + 302 >> 1], q[a + 568 >> 2]), q[u >> 2] = v;
+  u = c, v = ue(b, p[a + 304 >> 1], q[a + 568 >> 2]), q[u >> 2] = v;
+  a = 0;
+ }
+ Ca = g + 16 | 0;
+ return a;
+}
+function jw(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  h = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  d = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!d) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < d >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!d) {
+    break b;
+   }
+   c = c + d | 0;
+   c : {
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 2) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -3;
+    if ((f | 0) < 3) {
+     break c;
+    }
+    d = c + 2 | 0;
+    if (g >>> 0 > d >>> 0 | e >>> 0 < d >>> 0 | e - d >>> 0 < 2) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -4;
+    if ((f | 0) < 4) {
+     break c;
+    }
+    d = r[c + 3 | 0] | r[c + 2 | 0] << 8;
+    if (!d) {
+     break b;
+    }
+    d = d + -1 | 0;
+    if (d >>> 0 > 2147483646) {
+     break c;
+    }
+    if (!d) {
+     break b;
+    }
+    c = c + 4 | 0;
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < d << 1 >>> 0) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -5;
+    if ((f | 0) > 4) {
+     break b;
+    }
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   h = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function Nl(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ q[g + 12 >> 2] = 0;
+ i = q[c >> 2];
+ d = Oe(i, 24, g + 12 | 0);
+ e = q[g + 12 >> 2];
+ a : {
+  if (e) {
+   break a;
+  }
+  b : {
+   e = a + 4 | 0;
+   if (e >>> 0 > b >>> 0) {
+    break b;
+   }
+   h = r[a | 0];
+   o[d + 4 | 0] = h;
+   f = r[a + 1 | 0] | r[a + 2 | 0] << 8;
+   p[d + 6 >> 1] = (f << 24 | f << 8 & 16711680) >>> 16;
+   f = r[a + 3 | 0];
+   o[d + 5 | 0] = f;
+   k = q[c + 148 >> 2];
+   l = q[c + 4 >> 2];
+   j = f & 1;
+   f = (f >>> 1 & 1) + (j ? 5 : 3) | 0;
+   q[d + 8 >> 2] = f;
+   q[d + 12 >> 2] = (e + l | 0) - k;
+   if (e + w(f, h) >>> 0 > b >>> 0) {
+    break b;
+   }
+   if (h) {
+    c : {
+     if (j) {
+      a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+      q[d + 16 >> 2] = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+      a = e + w(f, h + -1 | 0) | 0;
+      a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+      a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+      break c;
+     }
+     q[d + 16 >> 2] = r[a + 5 | 0] | r[a + 4 | 0] << 16;
+     a = e + w(f, h + -1 | 0) | 0;
+     a = r[a | 0] << 16 | r[a + 1 | 0];
+    }
+    e = 0;
+    q[d >> 2] = 0;
+    q[d + 20 >> 2] = a;
+    q[q[c + 140 >> 2] >> 2] = d;
+    q[c + 140 >> 2] = d;
+    q[c + 132 >> 2] = q[c + 132 >> 2] + h;
+    break a;
+   }
+   Qe(i, d);
+   e = q[g + 12 >> 2];
+   break a;
+  }
+  Qe(i, d);
+  e = 8;
+  q[g + 12 >> 2] = 8;
+ }
+ Ca = g + 16 | 0;
+ return e | 0;
+}
+function Qp(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ i = q[a + 872 >> 2];
+ if (!i) {
+  return 0;
+ }
+ f = q[e + 8 >> 2];
+ a : {
+  b : {
+   if (f) {
+    g = q[e >> 2];
+    b = q[e + 4 >> 2];
+    break b;
+   }
+   f = 0;
+   q[e + 4 >> 2] = 0;
+   g = s[i + 2 >> 1];
+   if (!g) {
+    break a;
+   }
+   g = g + -1 | 0;
+   l = q[i + 8 >> 2] + 2 | 0;
+   c : {
+    while (1) {
+     k = ((g - f | 0) / 2 | 0) + f | 0;
+     h = w(k, 6) + l | 0;
+     j = h + -2 | 0;
+     j = r[j | 0] << 8 | r[j + 1 | 0];
+     d : {
+      if (j >>> 0 < b >>> 0) {
+       f = k + 1 | 0;
+       break d;
+      }
+      if (j >>> 0 <= b >>> 0) {
+       break c;
+      }
+      g = k + -1 | 0;
+     }
+     if ((g | 0) >= (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    return 0;
+   }
+   f = 0;
+   b = r[h + 2 | 0] | r[h + 3 | 0] << 8;
+   g = (b << 24 | b << 8 & 16711680) >>> 16 | 0;
+   if (!g) {
+    break a;
+   }
+   b = r[h + 1 | 0];
+   h = r[h | 0];
+   q[e >> 2] = g;
+   b = b << 2 | h << 10;
+   if (b + (g << 2) >>> 0 > t[i + 20 >> 2]) {
+    break a;
+   }
+   f = b + q[i + 12 >> 2] | 0;
+   q[e + 8 >> 2] = f;
+   b = 0;
+  }
+  if (b >>> 0 >= g >>> 0) {
+   return 0;
+  }
+  q[e + 8 >> 2] = f + 2;
+  q[c >> 2] = r[f + 1 | 0] | r[f | 0] << 8;
+  q[e + 8 >> 2] = f + 4;
+  b = r[f + 3 | 0] | r[f + 2 | 0] << 8;
+  q[d >> 2] = b;
+  if (t[c >> 2] >= t[a + 16 >> 2]) {
+   return 0;
+  }
+  if ((b | 0) != 65535) {
+   f = 0;
+   if (b >>> 0 >= s[a + 660 >> 1]) {
+    break a;
+   }
+  }
+  f = 1;
+  q[e + 4 >> 2] = q[e + 4 >> 2] + 1;
+ }
+ return f | 0;
+}
+function Io(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ a : {
+  c = q[a + 28 >> 2];
+  b : {
+   if ((c | 0) == -1) {
+    break b;
+   }
+   e = q[a + 36 >> 2];
+   g = q[a + 40 >> 2];
+   if (e >>> 0 >= g >>> 0) {
+    break b;
+   }
+   i = q[a >> 2];
+   b = c + 1 | 0;
+   j = q[a + 16 >> 2] + 20 | 0;
+   while (1) {
+    d = w(e, 12) + j | 0;
+    c = d + -4 | 0;
+    c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+    f = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    c = b >>> 0 < f >>> 0 ? f : b;
+    b = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+    h = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+    c : {
+     d : {
+      if (c >>> 0 > h >>> 0) {
+       break d;
+      }
+      b = r[d + 4 | 0] | r[d + 5 | 0] << 8 | (r[d + 6 | 0] << 16 | r[d + 7 | 0] << 24);
+      d = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+      while (1) {
+       b = c - f | 0;
+       if (d >>> 0 > (b ^ -1) >>> 0) {
+        break d;
+       }
+       b = b + d | 0;
+       if (!b) {
+        if ((c | 0) == -1) {
+         break b;
+        }
+        k = c >>> 0 < h >>> 0;
+        b = c + 1 | 0;
+        c = b;
+        if (k) {
+         continue;
+        }
+        break c;
+       }
+       break;
+      }
+      if (b >>> 0 < t[i + 16 >> 2]) {
+       break a;
+      }
+     }
+     b = c;
+    }
+    e = e + 1 | 0;
+    if (e >>> 0 < g >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  o[a + 24 | 0] = 0;
+  return;
+ }
+ q[a + 36 >> 2] = e;
+ q[a + 32 >> 2] = b;
+ q[a + 28 >> 2] = c;
+}
+function AR(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = L$(32776);
+ f = 0;
+ a : {
+  if (!e) {
+   break a;
+  }
+  f = Z$(e, 0, 32776);
+ }
+ if (f) {
+  q[f >> 2] = q[f >> 2] + 40;
+  b : {
+   if (!dP(f, b)) {
+    break b;
+   }
+   bP(f, d, q[d + 4 >> 2] << 2);
+   if (q[d + 4 >> 2] >= 1) {
+    while (1) {
+     if (!dP(f, q[q[d + 12 >> 2] + (g << 2) >> 2])) {
+      break b;
+     }
+     g = g + 1 | 0;
+     if ((g | 0) < q[d + 4 >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (!tP(f, a)) {
+    break b;
+   }
+   e = L$(q[f >> 2]);
+   if (!e) {
+    break b;
+   }
+   e = Z$(e, 0, q[f >> 2]);
+   q[f + 8 >> 2] = e;
+   q[e >> 2] = -66913275;
+   q[e + 4 >> 2] = 7;
+   q[e + 8 >> 2] = q[f >> 2];
+   i = e, j = BR(c), q[i + 28 >> 2] = j;
+   g = e;
+   if (j$(488579)) {
+    c = 0;
+    h = 0;
+   } else {
+    h = q[c + 68 >> 2];
+    c = h;
+    h = c >> 31;
+   }
+   q[g + 32 >> 2] = c;
+   q[g + 36 >> 2] = h;
+   c : {
+    b = eP(f, b);
+    if (!b) {
+     break c;
+    }
+    q[e + 12 >> 2] = b - e;
+    b = cP(f, d);
+    if (!b) {
+     break c;
+    }
+    q[e + 16 >> 2] = b - e;
+    c = q[d + 4 >> 2];
+    q[e + 20 >> 2] = c;
+    if ((c | 0) >= 1) {
+     g = 0;
+     while (1) {
+      c = g << 2;
+      h = eP(f, q[c + q[d + 12 >> 2] >> 2]);
+      if (!h) {
+       break c;
+      }
+      q[b + c >> 2] = h - b;
+      g = g + 1 | 0;
+      if ((g | 0) < q[d + 4 >> 2]) {
+       continue;
+      }
+      break;
+     }
+    }
+    a = uP(f, a);
+    if (!a) {
+     break c;
+    }
+    q[e + 24 >> 2] = a - e;
+    aP(f);
+    zR(e, 0);
+    return e;
+   }
+   M$(e);
+  }
+  aP(f);
+ }
+ return 0;
+}
+function dI(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ d = r[a + 20 | 0];
+ f = q[a + 16 >> 2];
+ g = q[a + 12 >> 2];
+ a : {
+  b : {
+   if (!iZ(b, 289204)) {
+    b = q[c >> 2];
+    if (!b) {
+     d = 35;
+     break a;
+    }
+    d = q[b + 116 >> 2];
+    q[e + 8 >> 2] = d;
+    if (!d) {
+     d = WH(b, e + 8 | 0, a);
+     if (d) {
+      break a;
+     }
+     d = q[e + 8 >> 2];
+     q[b + 116 >> 2] = d;
+     q[b + 120 >> 2] = 596;
+    }
+    q[c + 4 >> 2] = q[d + 8 >> 2];
+    break b;
+   }
+   if (!iZ(b, 289108)) {
+    q[c >> 2] = q[q[(g << 2) + 284080 >> 2] + 8 >> 2];
+    break b;
+   }
+   if (!iZ(b, 289124)) {
+    q[c >> 2] = f;
+    break b;
+   }
+   if (!iZ(b, 289139)) {
+    b = q[c >> 2];
+    if (!b) {
+     d = 35;
+     break a;
+    }
+    d = q[b + 116 >> 2];
+    q[e + 12 >> 2] = d;
+    if (!d) {
+     d = WH(b, e + 12 | 0, a);
+     if (d) {
+      break a;
+     }
+     d = q[e + 12 >> 2];
+     q[b + 116 >> 2] = d;
+     q[b + 120 >> 2] = 596;
+    }
+    q[c + 4 >> 2] = q[d + 20 >> 2];
+    break b;
+   }
+   if (!iZ(b, 289157)) {
+    o[c | 0] = d;
+    break b;
+   }
+   if (!iZ(b, 289165)) {
+    q[c >> 2] = q[a + 24 >> 2];
+    q[c + 4 >> 2] = q[a + 28 >> 2];
+    q[c + 8 >> 2] = q[a + 32 >> 2];
+    q[c + 12 >> 2] = q[a + 36 >> 2];
+    q[c + 16 >> 2] = q[a + 40 >> 2];
+    q[c + 20 >> 2] = q[a + 44 >> 2];
+    q[c + 24 >> 2] = q[a + 48 >> 2];
+    q[c + 28 >> 2] = q[a + 52 >> 2];
+    break b;
+   }
+   d = 12;
+   if (iZ(b, 289186)) {
+    break a;
+   }
+   o[c | 0] = r[a + 21 | 0];
+  }
+  d = 0;
+ }
+ Ca = e + 16 | 0;
+ return d | 0;
+}
+function RT(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0;
+ if (b >>> 0 < c >>> 0) {
+  if ((c - b | 0) < 1) {
+   return -1;
+  }
+  g = a + 72 | 0;
+  e = b;
+  while (1) {
+   a : {
+    b : {
+     c : {
+      h = r[r[e | 0] + g | 0] + -2 | 0;
+      if (h >>> 0 > 19) {
+       break c;
+      }
+      f = 2;
+      d : {
+       switch (h - 1 | 0) {
+       case 3:
+        f = 3;
+        break b;
+       case 4:
+        f = 4;
+        break b;
+       case 0:
+        if ((b | 0) != (e | 0)) {
+         break a;
+        }
+        return OT(a, b + 1 | 0, c, d) | 0;
+       default:
+        q[d >> 2] = e;
+        return 0;
+       case 7:
+        if ((b | 0) != (e | 0)) {
+         break a;
+        }
+        q[d >> 2] = b + 1;
+        return 7;
+       case 6:
+        if ((b | 0) != (e | 0)) {
+         break a;
+        }
+        a = b + 1 | 0;
+        if ((c - a | 0) < 1) {
+         return -3;
+        }
+        q[d >> 2] = r[r[b + 1 | 0] + g | 0] == 10 ? b + 2 | 0 : a;
+        return 7;
+       case 2:
+        break b;
+       case 1:
+       case 5:
+       case 8:
+       case 9:
+       case 10:
+       case 11:
+       case 12:
+       case 13:
+       case 14:
+       case 15:
+       case 16:
+       case 17:
+        break c;
+       case 18:
+        break d;
+       }
+      }
+      if ((b | 0) != (e | 0)) {
+       break a;
+      }
+      q[d >> 2] = b + 1;
+      return 39;
+     }
+     f = 1;
+    }
+    e = e + f | 0;
+    if ((c - e | 0) > 0) {
+     continue;
+    }
+   }
+   break;
+  }
+  q[d >> 2] = e;
+  a = 6;
+ } else {
+  a = -4;
+ }
+ return a | 0;
+}
+function cU(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0;
+ f = q[b >> 2];
+ h = f >>> 0 < c >>> 0;
+ g = q[d >> 2];
+ a : {
+  b : {
+   if (g >>> 0 >= e >>> 0 | f >>> 0 >= c >>> 0) {
+    break b;
+   }
+   i = a + 72 | 0;
+   while (1) {
+    h = r[f | 0];
+    a = r[h + i | 0] + -5 | 0;
+    c : {
+     if (a >>> 0 <= 2) {
+      d : {
+       switch (a - 1 | 0) {
+       default:
+        a = 1;
+        if ((c - f | 0) < 2) {
+         break a;
+        }
+        p[g >> 1] = r[f + 1 | 0] & 63 | (h & 31) << 6;
+        g = g + 2 | 0;
+        f = f + 2 | 0;
+        break c;
+       case 0:
+        a = 1;
+        if ((c - f | 0) < 3) {
+         break a;
+        }
+        p[g >> 1] = r[f + 2 | 0] & 63 | ((r[f + 1 | 0] & 63) << 6 | h << 12);
+        g = g + 2 | 0;
+        f = f + 3 | 0;
+        break c;
+       case 1:
+        break d;
+       }
+      }
+      a = 2;
+      if ((e - g | 0) < 4) {
+       break a;
+      }
+      a = 1;
+      if ((c - f | 0) < 4) {
+       break a;
+      }
+      a = (r[f + 3 | 0] & 63 | ((r[f + 1 | 0] & 63) << 12 | (h & 7) << 18 | (r[f + 2 | 0] & 63) << 6)) + -65536 | 0;
+      p[g + 2 >> 1] = a & 1023 | 56320;
+      p[g >> 1] = a >>> 10 | 55296;
+      g = g + 4 | 0;
+      f = f + 4 | 0;
+      break c;
+     }
+     p[g >> 1] = h << 24 >> 24;
+     g = g + 2 | 0;
+     f = f + 1 | 0;
+    }
+    h = f >>> 0 < c >>> 0;
+    if (g >>> 0 >= e >>> 0) {
+     break b;
+    }
+    if (f >>> 0 < c >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = h ? 2 : 0;
+ }
+ q[b >> 2] = f;
+ q[d >> 2] = g;
+ return a | 0;
+}
+function zm(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, s = 0, t = 0, u = 0;
+ if (!b) {
+  return 1;
+ }
+ f = a >>> 16 | 0;
+ a = a & 65535;
+ if (c) {
+  while (1) {
+   d = c >>> 0 < 5552 ? c : 5552;
+   u = c - d | 0;
+   a : {
+    if ((d | 0) >= 16) {
+     while (1) {
+      c = r[b | 0] + a | 0;
+      e = c + r[b + 1 | 0] | 0;
+      g = e + r[b + 2 | 0] | 0;
+      h = g + r[b + 3 | 0] | 0;
+      i = h + r[b + 4 | 0] | 0;
+      j = i + r[b + 5 | 0] | 0;
+      k = j + r[b + 6 | 0] | 0;
+      l = k + r[b + 7 | 0] | 0;
+      m = l + r[b + 8 | 0] | 0;
+      n = m + r[b + 9 | 0] | 0;
+      o = n + r[b + 10 | 0] | 0;
+      p = o + r[b + 11 | 0] | 0;
+      q = p + r[b + 12 | 0] | 0;
+      s = q + r[b + 13 | 0] | 0;
+      t = s + r[b + 14 | 0] | 0;
+      a = t + r[b + 15 | 0] | 0;
+      f = a + (t + (s + (q + (p + (o + (n + (m + (l + (k + (j + (i + (h + (g + (e + (c + f | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0;
+      b = b + 16 | 0;
+      e = (d | 0) > 31;
+      c = d + -16 | 0;
+      d = c;
+      if (e) {
+       continue;
+      }
+      break;
+     }
+     if (!c) {
+      break a;
+     }
+    }
+    d = b;
+    e = c;
+    while (1) {
+     a = r[d | 0] + a | 0;
+     f = f + a | 0;
+     d = d + 1 | 0;
+     e = e + -1 | 0;
+     if (e) {
+      continue;
+     }
+     break;
+    }
+    b = b + c | 0;
+   }
+   f = (f >>> 0) % 65521 | 0;
+   a = (a >>> 0) % 65521 | 0;
+   c = u;
+   if (c) {
+    continue;
+   }
+   break;
+  }
+ }
+ return f << 16 | a;
+}
+function dB(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = x(0);
+ q[b + 8 >> 2] = 0;
+ q[b + 12 >> 2] = 1065353216;
+ q[b >> 2] = 1065353216;
+ q[b + 4 >> 2] = 0;
+ e = r[a + 1 | 0];
+ a : {
+  if (e & 1) {
+   d = r[a + 4 | 0] | r[a + 5 | 0] << 8;
+   h = (d << 24 | d << 8 & 16711680) >> 16;
+   d = a + 6 | 0;
+   f = r[d | 0] | r[d + 1 | 0] << 8;
+   g = (f << 24 | f << 8 & 16711680) >> 16;
+   break a;
+  }
+  d = a + 4 | 0;
+  h = o[a + 4 | 0];
+  g = o[a + 5 | 0];
+ }
+ o[c + 12 | 0] = 0;
+ o[c | 0] = 0;
+ f = e << 30 >> 31;
+ e = g & f;
+ u[c + 8 >> 2] = e | 0;
+ g = c;
+ c = f & h;
+ u[g + 4 >> 2] = c | 0;
+ a = r[a + 1 | 0];
+ if (a & 8) {
+  a = r[d + 2 | 0] | r[d + 3 | 0] << 8;
+  i = x(x((a << 24 | a << 8 & 16711680) >> 16) * x(6103515625e-14));
+  u[b >> 2] = i;
+  u[b + 12 >> 2] = i;
+  return 1;
+ }
+ if (a & 64) {
+  a = r[d + 2 | 0] | r[d + 3 | 0] << 8;
+  u[b >> 2] = x((a << 24 | a << 8 & 16711680) >> 16) * x(6103515625e-14);
+  a = r[d + 4 | 0] | r[d + 5 | 0] << 8;
+  u[b + 12 >> 2] = x((a << 24 | a << 8 & 16711680) >> 16) * x(6103515625e-14);
+  return 1;
+ }
+ if (a & 128) {
+  a = r[d + 2 | 0] | r[d + 3 | 0] << 8;
+  u[b >> 2] = x((a << 24 | a << 8 & 16711680) >> 16) * x(6103515625e-14);
+  a = r[d + 4 | 0] | r[d + 5 | 0] << 8;
+  u[b + 4 >> 2] = x((a << 24 | a << 8 & 16711680) >> 16) * x(6103515625e-14);
+  a = r[d + 6 | 0] | r[d + 7 | 0] << 8;
+  u[b + 8 >> 2] = x((a << 24 | a << 8 & 16711680) >> 16) * x(6103515625e-14);
+  a = r[d + 8 | 0] | r[d + 9 | 0] << 8;
+  u[b + 12 >> 2] = x((a << 24 | a << 8 & 16711680) >> 16) * x(6103515625e-14);
+  return 1;
+ }
+ return (c | e) != 0;
+}
+function Gk(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ f = q[a + 712 >> 2];
+ q[g + 12 >> 2] = 0;
+ a : {
+  if (!f) {
+   break a;
+  }
+  e = q[f + 3132 >> 2];
+  if (!e) {
+   e = Oe(q[a + 100 >> 2], 2, g + 12 | 0);
+   c = q[g + 12 >> 2];
+   if (c) {
+    break a;
+   }
+   p[e >> 1] = 0;
+   a = q[f + 1500 >> 2];
+   b : {
+    if ((a | 0) == 65535) {
+     break b;
+    }
+    c : {
+     if (a >>> 0 >= 391) {
+      a = a + -391 | 0;
+      if (t[f + 1356 >> 2] <= a >>> 0) {
+       break b;
+      }
+      a = q[q[f + 1360 >> 2] + (a << 2) >> 2];
+      break c;
+     }
+     c = q[f + 3084 >> 2];
+     if (!c) {
+      break b;
+     }
+     a = n[q[c + 20 >> 2]](a) | 0;
+    }
+    if (!a) {
+     break b;
+    }
+    a = UY(a, 9880);
+    if (!a) {
+     break b;
+    }
+    c = a + 7 | 0;
+    a = UY(c, 9888);
+    if (!a | (a | 0) == (c | 0)) {
+     break b;
+    }
+    while (1) {
+     d : {
+      e : {
+       d = r[c | 0];
+       if ((d + -48 & 255) >>> 0 <= 9) {
+        d = s[e >> 1];
+        if (d >>> 0 < 6552) {
+         break e;
+        }
+        p[e >> 1] = 0;
+        break b;
+       }
+       d = d + -10 | 0;
+       if (1 << d & 4194313 ? d >>> 0 <= 22 : 0) {
+        break d;
+       }
+       p[e >> 1] = 0;
+       break b;
+      }
+      d = w(d, 10);
+      p[e >> 1] = d;
+      p[e >> 1] = (d + o[c | 0] | 0) + -48;
+     }
+     c = c + 1 | 0;
+     if ((a | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[f + 3132 >> 2] = e;
+   c = q[g + 12 >> 2];
+  }
+  p[b >> 1] = s[e >> 1];
+ }
+ Ca = g + 16 | 0;
+ return c | 0;
+}
+function Jm(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ a : {
+  b : {
+   if (Km(a, b, c)) {
+    Lm(b);
+    e = b + 132 | 0;
+    f = nm(e, a);
+    if ((f & 255) == 7) {
+     break b;
+    }
+    if (f) {
+     f = Cm(e, a);
+     if (f | (f & 255) == 7) {
+      break b;
+     }
+    }
+    q[b + 104 >> 2] = e;
+    q[b + 172 >> 2] = a;
+    if (Km(e, b, c)) {
+     break b;
+    }
+   }
+   a = 0;
+   if ((c | 0) < 0) {
+    break a;
+   }
+   if (c & 65535) {
+    Lm(b);
+    a = 6;
+    break a;
+   }
+   c : {
+    d : {
+     e : {
+      f : {
+       a = q[b + 180 >> 2];
+       g : {
+        if (!a) {
+         break g;
+        }
+        c = q[b + 176 >> 2];
+        if (!c | (r[a | 0] | 32) != 105 | ((r[a + 1 | 0] | 32) != 115 | (r[a + 2 | 0] | 32) != 111)) {
+         break g;
+        }
+        a = a + 3 | 0;
+        if (!iZ(a, 25104)) {
+         break f;
+        }
+        if (!iZ(a, 25110)) {
+         if (!iZ(c, 25115)) {
+          break f;
+         }
+        }
+        if (!iZ(a, 25117)) {
+         break e;
+        }
+       }
+       q[d + 4 >> 2] = 0;
+       q[d + 8 >> 2] = 0;
+       q[d >> 2] = b;
+       break c;
+      }
+      q[d + 4 >> 2] = 0;
+      q[d + 8 >> 2] = 0;
+      q[d >> 2] = b;
+      break d;
+     }
+     a = iZ(c, 25126);
+     q[d + 4 >> 2] = 0;
+     q[d + 8 >> 2] = 0;
+     q[d >> 2] = b;
+     if (a) {
+      break c;
+     }
+    }
+    q[d + 4 >> 2] = 1970170211;
+    q[d + 8 >> 2] = 65539;
+   }
+   a = Xf(25132, 0, d, 0);
+   break a;
+  }
+  Lm(b);
+  a = 2;
+ }
+ Ca = d + 16 | 0;
+ return a | 0;
+}
+function Uf(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0;
+ if (!a) {
+  return 35;
+ }
+ if (!e) {
+  return 6;
+ }
+ f = q[a + 96 >> 2];
+ q[e >> 2] = 0;
+ q[e + 4 >> 2] = 0;
+ f = q[q[f + 12 >> 2] + 76 >> 2];
+ if (!f) {
+  return 0;
+ }
+ b = n[f](a, b, c, e) | 0;
+ a : {
+  if (b | (d | 0) == 2) {
+   break a;
+  }
+  f = q[e >> 2];
+  b = (f | 0) < 0 ? -1 : 1;
+  h = 0 - b | 0;
+  g = b;
+  c = q[a + 88 >> 2];
+  b = q[c + 16 >> 2];
+  h = (b | 0) < 0 ? h : g;
+  a = e;
+  g = f;
+  f = f >> 31;
+  f = g + f ^ f;
+  g = b;
+  b = b >> 31;
+  b = g + b ^ b;
+  b : {
+   if (f + (b >>> 8 | 0) >>> 0 <= 8190) {
+    b = w(b, f) + 32768 >>> 16 | 0;
+    break b;
+   }
+   g = f & 65535;
+   b = w(g, b >>> 16 | 0) + w(b, f >>> 16 | 0) + (w(g, b & 65535) + 32768 >>> 16) | 0;
+  }
+  f = (h | 0) < 0 ? 0 - b | 0 : b;
+  q[a >> 2] = f;
+  b = q[e + 4 >> 2];
+  a = (b | 0) < 0 ? -1 : 1;
+  h = 0 - a | 0;
+  g = a;
+  a = q[c + 20 >> 2];
+  h = (a | 0) < 0 ? h : g;
+  g = b;
+  b = b >> 31;
+  b = g + b ^ b;
+  g = a;
+  a = a >> 31;
+  a = g + a ^ a;
+  c : {
+   if (b + (a >>> 8 | 0) >>> 0 <= 8190) {
+    a = w(a, b) + 32768 >>> 16 | 0;
+    break c;
+   }
+   g = b & 65535;
+   a = w(g, a >>> 16 | 0) + w(a, b >>> 16 | 0) + (w(g, a & 65535) + 32768 >>> 16) | 0;
+  }
+  b = 0;
+  a = (h | 0) < 0 ? 0 - a | 0 : a;
+  q[e + 4 >> 2] = a;
+  if ((d | 0) == 1) {
+   break a;
+  }
+  d = s[c + 12 >> 1];
+  if (d >>> 0 <= 24) {
+   f = ue(f, d, 25);
+   q[e >> 2] = f;
+  }
+  c = s[c + 14 >> 1];
+  if (c >>> 0 <= 24) {
+   a = ue(a, c, 25);
+   q[e + 4 >> 2] = a;
+  }
+  q[e + 4 >> 2] = a + 32 & -64;
+  q[e >> 2] = f + 32 & -64;
+ }
+ return b;
+}
+function _x(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ e = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ d = q[b + 96 >> 2];
+ a : {
+  if ((ct(e ? e + a | 0 : 271040, q[q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) >> 2]) | 0) == -1) {
+   break a;
+  }
+  c = q[d + 72 >> 2];
+  q[b + 36 >> 2] = 1;
+  q[b >> 2] = c;
+  f = q[q[b + 4 >> 2] + 96 >> 2];
+  q[b + 40 >> 2] = q[f + 76 >> 2];
+  o[b + 20 | 0] = (c | 0) == q[f + 72 >> 2] ? r[(q[f + 88 >> 2] + w(c, 20) | 0) + 15 | 0] : 0;
+  if (!Xt(b)) {
+   break a;
+  }
+  f = r[a + 4 | 0];
+  h = r[a + 5 | 0];
+  i = r[a + 6 | 0];
+  j = r[a + 7 | 0];
+  e = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+  e = at(e ? e + a | 0 : 271040, q[q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) >> 2]);
+  c = r[a + 11 | 0] | r[a + 10 | 0] << 8;
+  c = at(c ? c + a | 0 : 271040, q[q[d + 88 >> 2] + w(q[b >> 2], 20) >> 2]);
+  if (e >>> 0 >= (r[a + 13 | 0] | r[a + 12 | 0] << 8) >>> 0) {
+   break a;
+  }
+  g = r[a + 15 | 0] | r[a + 14 | 0] << 8;
+  if (c >>> 0 >= g >>> 0) {
+   break a;
+  }
+  f = X0(f << 8 | h);
+  c = c + w(e, g) | 0;
+  e = i << 8 | j;
+  c = w(c, X0(e) + f | 0);
+  c = (c | 0) < 0 ? 271040 : ((c << 1) + a | 0) + 16 | 0;
+  b : {
+   if (l = 0, m = !Ux(a + 4 | 0, b, a, c, q[d + 96 >> 2] + w(q[d + 72 >> 2], 20) | 0), n = Ux(a + 6 | 0, b, a, c + (f << 1) | 0, q[d + 96 >> 2] + w(q[b >> 2], 20) | 0), n ? l : m) {
+    break b;
+   }
+   a = q[b >> 2] + 1 | 0;
+   c = q[d + 72 >> 2];
+   if (a - c >>> 0 < 2) {
+    break b;
+   }
+   DG(d, c, a);
+  }
+  q[d + 72 >> 2] = q[b >> 2] + ((e | 0) != 0);
+  k = 1;
+ }
+ return k;
+}
+function kw(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  h = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  d = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!d) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < d >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!d) {
+    break b;
+   }
+   c = c + d | 0;
+   c : {
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 2) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -3;
+    if ((f | 0) < 3) {
+     break c;
+    }
+    d = c + 2 | 0;
+    if (g >>> 0 > d >>> 0 | e >>> 0 < d >>> 0 | e - d >>> 0 < 2) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -4;
+    if ((f | 0) < 4) {
+     break c;
+    }
+    d = r[c + 1 | 0] | r[c | 0] << 8;
+    d = (r[c + 3 | 0] << 2 | r[c + 2 | 0] << 10) + (d ? (d << 1) + -2 | 0 : 0) | 0;
+    if (!d) {
+     break b;
+    }
+    c = c + 4 | 0;
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < d >>> 0) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -5;
+    if ((f | 0) > 4) {
+     break b;
+    }
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   h = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function JI(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ a : {
+  g = q[a + 4 >> 2];
+  j = 0 - g | 0;
+  k = c + -1 | 0;
+  h = j & g + k;
+  i = d & j;
+  b : {
+   if ((h | 0) <= (i | 0)) {
+    e = q[a >> 2];
+    d = h;
+    break b;
+   }
+   if ((h | 0) != (g + i | 0)) {
+    break a;
+   }
+   l = s[e + 12 >> 1];
+   m = l & 7;
+   if (m >>> 0 > 5) {
+    break a;
+   }
+   g = i;
+   c : {
+    d : {
+     switch (m - 1 | 0) {
+     case 3:
+      g = q[a + 8 >> 2] + ((d + k | 0) / 2 | 0) & j;
+      break c;
+     case 1:
+     case 2:
+      break a;
+     case 0:
+     case 4:
+      break d;
+     default:
+      break c;
+     }
+    }
+    if ((!(l & 16) | (d - c | 0) < q[a + 8 >> 2] ? !(q[e + 28 >> 2] != (f | 0) | q[e + 16 >> 2] > 0) : 0) | (!(l & 32) | (d - c | 0) < q[a + 8 >> 2] ? !(q[f + 28 >> 2] != (e | 0) | q[e + 20 >> 2] != (b | 0)) : 0)) {
+     break a;
+    }
+    if ((m | 0) == 1) {
+     break c;
+    }
+    g = q[a + 8 >> 2] + ((d + k | 0) / 2 | 0) & j;
+   }
+   e = q[a >> 2];
+   d = h;
+   d = (g | 0) >= 0 ? (g >>> e | 0) < s[a + 52 >> 1] ? g : i : d;
+   b = ((h | 0) == (d | 0) ? i : h) >> e;
+   if ((b | 0) < 0 | (b | 0) >= s[a + 52 >> 1]) {
+    break b;
+   }
+   if (r[q[a + 56 >> 2] + (q[a + 140 >> 2] + (b << 13 >> 16) | 0) | 0] << (b & 7) & 128) {
+    break a;
+   }
+  }
+  b = d >> e;
+  if ((b | 0) < 0 | (b | 0) >= s[a + 52 >> 1]) {
+   break a;
+  }
+  a = q[a + 56 >> 2] + (q[a + 140 >> 2] + (b << 13 >> 16) | 0) | 0;
+  o[a | 0] = r[a | 0] | 128 >>> (b & 7);
+ }
+}
+function NI(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ a : {
+  g = q[a + 4 >> 2];
+  j = 0 - g | 0;
+  k = c + -1 | 0;
+  h = j & g + k;
+  i = d & j;
+  b : {
+   if ((h | 0) <= (i | 0)) {
+    f = q[a >> 2];
+    d = h;
+    break b;
+   }
+   if ((h | 0) != (g + i | 0)) {
+    break a;
+   }
+   l = s[e + 12 >> 1];
+   m = l & 7;
+   if (m >>> 0 > 5) {
+    break a;
+   }
+   g = i;
+   c : {
+    d : {
+     switch (m - 1 | 0) {
+     case 3:
+      g = q[a + 8 >> 2] + ((d + k | 0) / 2 | 0) & j;
+      break c;
+     case 1:
+     case 2:
+      break a;
+     case 0:
+     case 4:
+      break d;
+     default:
+      break c;
+     }
+    }
+    if ((!(l & 16) | (d - c | 0) < q[a + 8 >> 2] ? !(q[e + 28 >> 2] != (f | 0) | q[e + 16 >> 2] > 0) : 0) | (!(l & 32) | (d - c | 0) < q[a + 8 >> 2] ? !(q[f + 28 >> 2] != (e | 0) | q[e + 20 >> 2] != (b | 0)) : 0)) {
+     break a;
+    }
+    if ((m | 0) == 1) {
+     break c;
+    }
+    g = q[a + 8 >> 2] + ((d + k | 0) / 2 | 0) & j;
+   }
+   f = q[a >> 2];
+   d = h;
+   d = (g | 0) >= 0 ? g >>> f >>> 0 < t[a + 96 >> 2] ? g : i : d;
+   c = ((h | 0) == (d | 0) ? i : h) >> f;
+   if ((c | 0) < 0 | c >>> 0 >= t[a + 96 >> 2]) {
+    break b;
+   }
+   if (r[(q[a + 56 >> 2] + (b >> 3) | 0) - w(c, q[a + 104 >> 2]) | 0] & 128 >>> (b & 7)) {
+    break a;
+   }
+  }
+  c = d >> f;
+  if ((c | 0) < 0 | c >>> 0 >= t[a + 96 >> 2]) {
+   break a;
+  }
+  a = (q[a + 56 >> 2] + (b >> 3) | 0) - w(c, q[a + 104 >> 2]) | 0;
+  o[a | 0] = r[a | 0] | 128 >>> (b & 7);
+ }
+}
+function JT(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = -1;
+ a : {
+  f = d - c | 0;
+  b : {
+   if ((f | 0) < 1) {
+    break b;
+   }
+   i = b + 72 | 0;
+   while (1) {
+    j = d;
+    c : {
+     d : {
+      g = r[r[c | 0] + i | 0];
+      if (g >>> 0 > 13) {
+       break d;
+      }
+      e : {
+       switch (g - 2 | 0) {
+       case 3:
+        if ((f | 0) < 2) {
+         return -2;
+        }
+        if (n[q[b + 352 >> 2]](b, c)) {
+         break a;
+        }
+        c = c + 2 | 0;
+        break c;
+       case 4:
+        if ((f | 0) < 3) {
+         return -2;
+        }
+        if (n[q[b + 356 >> 2]](b, c)) {
+         break a;
+        }
+        c = c + 3 | 0;
+        break c;
+       case 5:
+        if ((f | 0) < 4) {
+         return -2;
+        }
+        if (n[q[b + 360 >> 2]](b, c)) {
+         break a;
+        }
+        c = c + 4 | 0;
+        break c;
+       case 0:
+       case 1:
+       case 2:
+       case 7:
+       case 8:
+       case 9:
+        break d;
+       case 10:
+       case 11:
+        break e;
+       default:
+        break a;
+       }
+      }
+      f = c + 1 | 0;
+      c = f;
+      if ((a | 0) != (g | 0)) {
+       break c;
+      }
+      if ((d - f | 0) < 1) {
+       return -27;
+      }
+      q[e >> 2] = f;
+      a = r[r[f | 0] + i | 0];
+      if (a >>> 0 <= 30) {
+       h = 27;
+       if (1 << a & 1076891136) {
+        break b;
+       }
+      }
+      return 0;
+     }
+     c = c + 1 | 0;
+    }
+    f = j - c | 0;
+    if ((f | 0) > 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  return h;
+ }
+ q[e >> 2] = c;
+ return 0;
+}
+function Fu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ g = q[b + 8 >> 2];
+ a : {
+  if (r[g + 12 | 0] != 1) {
+   break a;
+  }
+  d = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  h = d ? d + -1 | 0 : 0;
+  if (!h) {
+   break a;
+  }
+  q[g + 16 >> 2] = -1;
+  c = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  i = nF(g, c);
+  if (!i) {
+   break a;
+  }
+  e = a + 4 | 0;
+  while (1) {
+   k = c & -512;
+   l = c + 512 & -512;
+   d = e;
+   while (1) {
+    f = (c >>> 3 & 56) + i | 0;
+    e = f;
+    m = q[e + 4 >> 2];
+    j = e;
+    n = q[e >> 2];
+    f = c & 63;
+    c = f & 31;
+    if (32 <= (f & 63) >>> 0) {
+     f = 1 << c;
+     c = 0;
+    } else {
+     f = (1 << c) - 1 & 1 >>> 32 - c;
+     c = 1 << c;
+    }
+    q[j >> 2] = n | c;
+    q[e + 4 >> 2] = f | m;
+    h = h + -1 | 0;
+    if (!h) {
+     break a;
+    }
+    e = d + 2 | 0;
+    c = r[d + 3 | 0] | r[d + 2 | 0] << 8;
+    if (k >>> 0 <= c >>> 0) {
+     d = e;
+     if (c >>> 0 < l >>> 0) {
+      continue;
+     }
+    }
+    break;
+   }
+   i = nF(g, c);
+   if (i) {
+    continue;
+   }
+   break;
+  }
+ }
+ b = q[b + 16 >> 2];
+ b : {
+  if (r[b + 12 | 0] != 1) {
+   break b;
+  }
+  e = r[a | 0];
+  d = r[a + 1 | 0];
+  q[b + 16 >> 2] = -1;
+  a = d | e << 8;
+  b = nF(b, a);
+  if (!b) {
+   break b;
+  }
+  b = b + (a >>> 3 & 56) | 0;
+  a = b;
+  e = q[b + 4 >> 2];
+  f = b;
+  j = q[b >> 2];
+  d = d & 63;
+  b = d & 31;
+  if (32 <= (d & 63) >>> 0) {
+   d = 1 << b;
+   b = 0;
+  } else {
+   d = (1 << b) - 1 & 1 >>> 32 - b;
+   b = 1 << b;
+  }
+  q[f >> 2] = j | b;
+  q[a + 4 >> 2] = d | e;
+ }
+}
+function vx(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 16) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  if (!dv(a + 2 | 0, b, a)) {
+   break a;
+  }
+  if (!Zu(a + 8 | 0, b, a)) {
+   break a;
+  }
+  if (!Zu(a + 10 | 0, b, a)) {
+   break a;
+  }
+  f = w(r[a + 15 | 0] | r[a + 14 | 0] << 8, r[a + 13 | 0] | r[a + 12 | 0] << 8);
+  c = r[a + 5 | 0];
+  h = X0(c | r[a + 4 | 0] << 8);
+  g = h + X0(r[a + 7 | 0] | r[a + 6 | 0] << 8) | 0;
+  e = g << 1;
+  if (4294967295 / (e >>> 0) >>> 0 <= f >>> 0 ? g : 0) {
+   break a;
+  }
+  d = a + 16 | 0;
+  i = !f;
+  e = w(e, f);
+  if (e) {
+   if (t[b + 4 >> 2] > d >>> 0) {
+    break a;
+   }
+   c = q[b + 8 >> 2];
+   if (c >>> 0 < d >>> 0 | c - d >>> 0 < e >>> 0) {
+    break a;
+   }
+   c = q[b + 12 >> 2];
+   q[b + 12 >> 2] = c + -1;
+   if ((c | 0) < 1) {
+    break a;
+   }
+   c = r[a + 5 | 0];
+  }
+  if (!(i | c >>> 0 < 16)) {
+   e = a + 4 | 0;
+   c = 0;
+   while (1) {
+    if (!Ax(e, b, a, d)) {
+     break a;
+    }
+    d = (g << 1) + d | 0;
+    c = c + 1 | 0;
+    if ((f | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  j = 1;
+  if (!f | r[a + 7 | 0] < 16) {
+   break a;
+  }
+  e = a + 6 | 0;
+  d = ((h << 1) + a | 0) + 16 | 0;
+  c = 0;
+  while (1) {
+   if (!Ax(e, b, a, d)) {
+    return 0;
+   }
+   d = (g << 1) + d | 0;
+   c = c + 1 | 0;
+   if ((f | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return j;
+}
+function wu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ h = a + 3 | 0;
+ g = (a + 2 | 0) + (r[h | 0] << 1 | r[a + 2 | 0] << 9) | 0;
+ c = g + 3 | 0;
+ d = g + 2 | 0;
+ f = r[c | 0] | r[d | 0] << 8 ? g + 4 | 0 : 271040;
+ f = r[f | 0] << 8 | r[f + 1 | 0];
+ yu(f ? f + a | 0 : 271040, q[b + 8 >> 2]);
+ c = r[c | 0];
+ e = r[d | 0];
+ f = d + (c << 1 | e << 9) | 0;
+ i = r[f + 3 | 0];
+ d = f + 2 | 0;
+ j = r[d | 0];
+ k = (i << 1 | j << 9) + d | 0;
+ m = r[k + 2 | 0];
+ n = r[k + 3 | 0];
+ j = j << 8;
+ e = c | e << 8;
+ d = r[h | 0] | r[a + 2 | 0] << 8;
+ if (d) {
+  h = q[b + 4 >> 2];
+  c = a + 4 | 0;
+  while (1) {
+   l = r[c + 1 | 0] | r[c | 0] << 8;
+   yu(l ? l + a | 0 : 271040, h);
+   c = c + 2 | 0;
+   d = d + -1 | 0;
+   if (d) {
+    continue;
+   }
+   break;
+  }
+ }
+ h = m << 8;
+ d = i | j;
+ a : {
+  if (!e) {
+   break a;
+  }
+  e = e + -1 | 0;
+  if (!e) {
+   break a;
+  }
+  c = g + 6 | 0;
+  g = q[b + 8 >> 2];
+  while (1) {
+   i = r[c + 1 | 0] | r[c | 0] << 8;
+   yu(i ? i + a | 0 : 271040, g);
+   c = c + 2 | 0;
+   e = e + -1 | 0;
+   if (e) {
+    continue;
+   }
+   break;
+  }
+ }
+ g = h | n;
+ if (d) {
+  c = f + 4 | 0;
+  f = q[b + 12 >> 2];
+  while (1) {
+   e = r[c + 1 | 0] | r[c | 0] << 8;
+   yu(e ? e + a | 0 : 271040, f);
+   c = c + 2 | 0;
+   d = d + -1 | 0;
+   if (d) {
+    continue;
+   }
+   break;
+  }
+ }
+ if (g) {
+  a = k + 4 | 0;
+  c = 0;
+  while (1) {
+   d = a + (c << 2) | 0;
+   Hu(b, r[d + 2 | 0] << 8 | r[d + 3 | 0]);
+   c = c + 1 | 0;
+   if ((g | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function YI(a, b, c, d, e, f, g) {
+ var h = 0, i = 0, j = 0;
+ j = e - c | 0;
+ a : {
+  if ((j | 0) < 1 | (e | 0) < (f | 0) | (c | 0) > (g | 0)) {
+   break a;
+  }
+  h = d - b | 0;
+  b : {
+   if ((f | 0) > (c | 0)) {
+    b = ue(h, f - c | 0, j) + b | 0;
+    i = q[a >> 2];
+    f = f >> i;
+    c = 0;
+    break b;
+   }
+   i = q[a >> 2];
+   f = c >> i;
+   c = q[a + 4 >> 2] + -1 & c;
+  }
+  d = 0;
+  if ((e | 0) <= (g | 0)) {
+   g = e;
+   d = q[a + 4 >> 2] + -1 & e;
+  }
+  e = g >> i;
+  c : {
+   if ((c | 0) >= 1) {
+    if ((e | 0) == (f | 0)) {
+     break a;
+    }
+    f = f + 1 | 0;
+    b = ue(h, q[a + 4 >> 2] - c | 0, j) + b | 0;
+    break c;
+   }
+   if (!r[a + 79 | 0]) {
+    break c;
+   }
+   o[a + 79 | 0] = 0;
+   q[a + 36 >> 2] = q[a + 36 >> 2] + -4;
+  }
+  o[a + 79 | 0] = !d;
+  if (r[a + 78 | 0]) {
+   q[q[a + 80 >> 2] + 20 >> 2] = f;
+   o[a + 78 | 0] = 0;
+  }
+  g = e - f | 0;
+  c = g + 1 | 0;
+  if (q[a + 36 >> 2] + (c << 2) >>> 0 >= t[a + 32 >> 2]) {
+   q[a + 40 >> 2] = 98;
+   return 1;
+  }
+  d = 1;
+  e = q[a + 4 >> 2];
+  d : {
+   if ((h | 0) >= 1) {
+    f = De(e, h, j);
+    break d;
+   }
+   d = -1;
+   h = 0 - h | 0;
+   f = 0 - De(e, h, j) | 0;
+  }
+  h = (w(q[a + 4 >> 2], h) | 0) % (j | 0) | 0;
+  e = q[a + 36 >> 2];
+  if ((g | 0) >= 0) {
+   g = 0 - j | 0;
+   while (1) {
+    q[e >> 2] = b;
+    g = g + h | 0;
+    i = (g | 0) > -1;
+    g = g - (i ? j : 0) | 0;
+    b = (b + f | 0) + (i ? d : 0) | 0;
+    e = e + 4 | 0;
+    i = (c | 0) > 1;
+    c = c + -1 | 0;
+    if (i) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[a + 36 >> 2] = e;
+ }
+ return 0;
+}
+function uz(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  if (r[b | 0]) {
+   g = v[b + 8 >> 3];
+   break a;
+  }
+  o[b | 0] = 1;
+  g = v[b + 8 >> 3];
+  f = v[a + 128 >> 3];
+  if (!!(g > f)) {
+   v[b + 8 >> 3] = f;
+   g = f;
+   f = v[a + 128 >> 3];
+  }
+  if (!!(f > v[b + 24 >> 3])) {
+   v[b + 24 >> 3] = f;
+  }
+  f = v[a + 136 >> 3];
+  if (!!(v[b + 16 >> 3] > f)) {
+   v[b + 16 >> 3] = f;
+   f = v[a + 136 >> 3];
+  }
+  if (!(f > v[b + 32 >> 3])) {
+   break a;
+  }
+  v[b + 32 >> 3] = f;
+ }
+ f = v[c >> 3];
+ if (!!(g > f)) {
+  v[b + 8 >> 3] = f;
+  g = f;
+  f = v[c >> 3];
+ }
+ h = v[b + 24 >> 3];
+ if (!!(f > h)) {
+  v[b + 24 >> 3] = f;
+  h = f;
+ }
+ i = v[b + 16 >> 3];
+ f = v[c + 8 >> 3];
+ if (!!(i > f)) {
+  v[b + 16 >> 3] = f;
+  i = f;
+  f = v[c + 8 >> 3];
+ }
+ j = v[b + 32 >> 3];
+ if (!!(f > j)) {
+  v[b + 32 >> 3] = f;
+  j = f;
+ }
+ f = v[d >> 3];
+ if (!!(g > f)) {
+  v[b + 8 >> 3] = f;
+  f = v[d >> 3];
+ }
+ if (!!(f > h)) {
+  v[b + 24 >> 3] = f;
+ }
+ g = v[d + 8 >> 3];
+ if (!!(i > g)) {
+  v[b + 16 >> 3] = g;
+  g = v[d + 8 >> 3];
+ }
+ if (!!(g > j)) {
+  v[b + 32 >> 3] = g;
+ }
+ c = q[e + 4 >> 2];
+ q[a + 128 >> 2] = q[e >> 2];
+ q[a + 132 >> 2] = c;
+ c = q[e + 12 >> 2];
+ q[a + 136 >> 2] = q[e + 8 >> 2];
+ q[a + 140 >> 2] = c;
+ g = v[a + 128 >> 3];
+ if (!!(v[b + 8 >> 3] > g)) {
+  v[b + 8 >> 3] = g;
+  g = v[a + 128 >> 3];
+ }
+ if (!!(g > v[b + 24 >> 3])) {
+  v[b + 24 >> 3] = g;
+ }
+ g = v[a + 136 >> 3];
+ if (!!(v[b + 16 >> 3] > g)) {
+  v[b + 16 >> 3] = g;
+  g = v[a + 136 >> 3];
+ }
+ if (!!(g > v[b + 32 >> 3])) {
+  v[b + 32 >> 3] = g;
+ }
+}
+function YH(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ d = s[q[b + 88 >> 2] + 12 >> 1];
+ a = q[q[a + 4 >> 2] + 392 >> 2];
+ g = Fe(65536e3, s[b + 68 >> 1] << 16);
+ if ((g | 0) >= 655) {
+  m = q[a + 52 >> 2];
+  h = q[a + 44 >> 2];
+  e = q[a + 40 >> 2];
+  i = q[a + 36 >> 2];
+  j = q[a + 32 >> 2];
+  k = q[a + 28 >> 2];
+  n = q[a + 24 >> 2];
+  l = q[a + 48 >> 2];
+  a = l << 16;
+  b = d << 16;
+  d = (b | 0) > 262144 ? b : 262144;
+  f = z(d);
+  if ((c | 0) < 1) {
+   b = 4915200;
+  } else {
+   b = Ee(c << 16, g);
+  }
+  if ((62 - (f + z(b) | 0) | 0) < 46) {
+   a = Ee(b, d);
+  }
+  c = n << 16;
+  a : {
+   if ((a | 0) < (c | 0)) {
+    a = Fe(k << 16, d);
+    break a;
+   }
+   b : {
+    c : {
+     d : {
+      f = j << 16;
+      e : {
+       if ((a | 0) < (f | 0)) {
+        a = Fe(c, d);
+        c = j - n | 0;
+        if (!c) {
+         break e;
+        }
+        a = ue(b - a | 0, i - k | 0, c) + Fe(k << 16, d) | 0;
+        break a;
+       }
+       c = e << 16;
+       if ((a | 0) >= (c | 0)) {
+        break d;
+       }
+      }
+      a = Fe(f, d);
+      c = e - j | 0;
+      if (!c) {
+       c = e << 16;
+       break c;
+      }
+      a = ue(b - a | 0, h - i | 0, c) + Fe(i << 16, d) | 0;
+      break a;
+     }
+     if ((a | 0) >= l << 16) {
+      break b;
+     }
+    }
+    a = Fe(c, d);
+    c = l - e | 0;
+    if (!c) {
+     break b;
+    }
+    a = ue(b - a | 0, m - h | 0, c) + Fe(h << 16, d) | 0;
+    break a;
+   }
+   a = Fe(m << 16, d);
+  }
+  a = Fe(a, g) + 32768 >> 16;
+ } else {
+  a = 0;
+ }
+ return a;
+}
+function Rh(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ c = q[a >> 2];
+ a : {
+  if (r[c + 732 | 0]) {
+   break a;
+  }
+  o[a + 112 | 0] = 0;
+  d = q[a + 16 >> 2];
+  e = q[a + 12 >> 2];
+  q[a + 48 >> 2] = e;
+  q[a + 52 >> 2] = d;
+  d = q[a + 24 >> 2];
+  q[a + 56 >> 2] = q[a + 20 >> 2];
+  q[a + 60 >> 2] = d;
+  f = q[a + 32 >> 2];
+  d = a - -64 | 0;
+  q[d >> 2] = q[a + 28 >> 2];
+  q[d + 4 >> 2] = f;
+  q[a + 72 >> 2] = q[a + 36 >> 2];
+  d = 151;
+  if (!(e & 65535) | !s[a + 50 >> 1]) {
+   break a;
+  }
+  if (r[c + 176 | 0] & 8) {
+   d = a + 56 | 0;
+   g = a, h = Ee(p[c + 70 >> 1], q[d >> 2]) + 32 & -64, q[g + 60 >> 2] = h;
+   g = a - -64 | 0, h = Ee(p[c + 72 >> 1], q[d >> 2]) + 32 & -64, q[g >> 2] = h;
+   g = a, h = Ee(p[c + 74 >> 1], q[d >> 2]) + 32 & -64, q[g + 68 >> 2] = h;
+  }
+  o[a + 112 | 0] = 1;
+  d = 0;
+  if (b) {
+   break a;
+  }
+  if (r[c + 176 | 0] & 8) {
+   b = a + 52 | 0;
+   g = b, h = Fe(s[a + 48 >> 1] << 6, s[c + 68 >> 1]), q[g >> 2] = h;
+   g = a, h = Fe(s[a + 50 >> 1] << 6, s[c + 68 >> 1]), q[g + 56 >> 2] = h;
+   g = a, h = Ee(p[c + 76 >> 1], q[b >> 2]) + 32 & -64, q[g + 72 >> 2] = h;
+  }
+  e = a + 48 | 0;
+  b = s[a + 48 >> 1];
+  c = s[a + 50 >> 1];
+  b : {
+   if (b >>> 0 >= c >>> 0) {
+    q[a + 76 >> 2] = 65536;
+    p[a + 84 >> 1] = b;
+    q[a + 92 >> 2] = q[a + 52 >> 2];
+    b = Fe(c, b);
+    break b;
+   }
+   p[a + 84 >> 1] = c;
+   q[a + 92 >> 2] = q[a + 56 >> 2];
+   g = a, h = Fe(b, c), q[g + 76 >> 2] = h;
+   b = 65536;
+  }
+  q[a + 308 >> 2] = -1;
+  q[a + 44 >> 2] = e;
+  q[a + 80 >> 2] = b;
+ }
+ return d;
+}
+function ys(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = r[a + 16 | 0] | r[a + 17 | 0] << 8 | (r[a + 18 | 0] << 16 | r[a + 19 | 0] << 24);
+ g = (e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24)) + a | 0;
+ e = q[d + 48 >> 2];
+ b = Kr(g, b, e);
+ if (b) {
+  f = r[b + 1 | 0] | r[b | 0] << 8;
+ }
+ b = r[a + 20 | 0] | r[a + 21 | 0] << 8 | (r[a + 22 | 0] << 16 | r[a + 23 | 0] << 24);
+ b = Kr((b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24)) + a | 0, c, e);
+ if (b) {
+  h = r[b + 1 | 0] | r[b | 0] << 8;
+ }
+ g = q[d + 20 >> 2];
+ f = f + h | 0;
+ b = r[a + 24 | 0] | r[a + 25 | 0] << 8 | (r[a + 26 | 0] << 16 | r[a + 27 | 0] << 24);
+ h = (b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24)) + a | 0;
+ c = (f << 1) + h | 0;
+ a : {
+  if (g >>> 0 > c >>> 0) {
+   break a;
+  }
+  e = q[d + 24 >> 2];
+  if (e >>> 0 < c >>> 0 | e - c >>> 0 < 2) {
+   break a;
+  }
+  i = d + 28 | 0;
+  b = q[i >> 2];
+  q[i >> 2] = b + -1;
+  if ((b | 0) < 1) {
+   break a;
+  }
+  f = (r[(h + (f << 1) | 0) + 1 | 0] | r[c | 0] << 8) << 16 >> 16;
+  c = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+  c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  if (!c) {
+   return f;
+  }
+  if (c >>> 0 > 2147483646) {
+   break a;
+  }
+  a = a + f | 0;
+  if (g >>> 0 > a >>> 0 | e >>> 0 < a >>> 0 | e - a >>> 0 < c << 1 >>> 0) {
+   break a;
+  }
+  q[d + 28 >> 2] = b + -2;
+  if ((b | 0) < 2) {
+   break a;
+  }
+  a = r[a | 0] | r[a + 1 | 0] << 8;
+  j = (a << 24 | a << 8 & 16711680) >> 16;
+ }
+ return j;
+}
+function WU(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ a = ((c - b | 0) / 2 | 0) + -2 | 0;
+ a : {
+  b : {
+   if (a >>> 0 > 2) {
+    break b;
+   }
+   c : {
+    switch (a - 1 | 0) {
+    default:
+     if (r[b + 2 | 0] | r[b + 3 | 0] != 116) {
+      break b;
+     }
+     c = 0;
+     if (r[b | 0]) {
+      break a;
+     }
+     a = r[b + 1 | 0];
+     return ((a | 0) == 103 ? 62 : (a | 0) == 108 ? 60 : 0) | 0;
+    case 0:
+     if (r[b | 0] | r[b + 1 | 0] != 97 | (r[b + 2 | 0] | r[b + 3 | 0] != 109)) {
+      break b;
+     }
+     if (r[b + 4 | 0]) {
+      break b;
+     }
+     c = 38;
+     if (r[b + 5 | 0] != 112) {
+      break b;
+     }
+     break a;
+    case 1:
+     break c;
+    }
+   }
+   if (r[b | 0]) {
+    break b;
+   }
+   a = o[b + 1 | 0] + -97 | 0;
+   if (a >>> 0 > 16) {
+    break b;
+   }
+   d : {
+    switch (a - 1 | 0) {
+    case 15:
+     if (r[b + 2 | 0] | r[b + 3 | 0] != 117 | (r[b + 4 | 0] | r[b + 5 | 0] != 111)) {
+      break b;
+     }
+     if (r[b + 6 | 0]) {
+      break b;
+     }
+     c = 34;
+     if (r[b + 7 | 0] != 116) {
+      break b;
+     }
+     break a;
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 14:
+     break b;
+    default:
+     break d;
+    }
+   }
+   if (r[b + 2 | 0] | r[b + 3 | 0] != 112 | (r[b + 4 | 0] | r[b + 5 | 0] != 111)) {
+    break b;
+   }
+   if (r[b + 6 | 0]) {
+    break b;
+   }
+   c = 39;
+   if (r[b + 7 | 0] == 115) {
+    break a;
+   }
+  }
+  c = 0;
+ }
+ return c | 0;
+}
+function AU(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ a = ((c - b | 0) / 2 | 0) + -2 | 0;
+ a : {
+  b : {
+   if (a >>> 0 > 2) {
+    break b;
+   }
+   c : {
+    switch (a - 1 | 0) {
+    default:
+     if (r[b + 3 | 0] | r[b + 2 | 0] != 116) {
+      break b;
+     }
+     c = 0;
+     if (r[b + 1 | 0]) {
+      break a;
+     }
+     a = r[b | 0];
+     return ((a | 0) == 103 ? 62 : (a | 0) == 108 ? 60 : 0) | 0;
+    case 0:
+     if (r[b + 1 | 0] | r[b | 0] != 97 | (r[b + 3 | 0] | r[b + 2 | 0] != 109)) {
+      break b;
+     }
+     if (r[b + 5 | 0]) {
+      break b;
+     }
+     c = 38;
+     if (r[b + 4 | 0] != 112) {
+      break b;
+     }
+     break a;
+    case 1:
+     break c;
+    }
+   }
+   if (r[b + 1 | 0]) {
+    break b;
+   }
+   a = o[b | 0] + -97 | 0;
+   if (a >>> 0 > 16) {
+    break b;
+   }
+   d : {
+    switch (a - 1 | 0) {
+    case 15:
+     if (r[b + 3 | 0] | r[b + 2 | 0] != 117 | (r[b + 5 | 0] | r[b + 4 | 0] != 111)) {
+      break b;
+     }
+     if (r[b + 7 | 0]) {
+      break b;
+     }
+     c = 34;
+     if (r[b + 6 | 0] != 116) {
+      break b;
+     }
+     break a;
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 14:
+     break b;
+    default:
+     break d;
+    }
+   }
+   if (r[b + 3 | 0] | r[b + 2 | 0] != 112 | (r[b + 5 | 0] | r[b + 4 | 0] != 111)) {
+    break b;
+   }
+   if (r[b + 7 | 0]) {
+    break b;
+   }
+   c = 39;
+   if (r[b + 6 | 0] == 115) {
+    break a;
+   }
+  }
+  c = 0;
+ }
+ return c | 0;
+}
+function PA(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = x(0);
+ e = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+ f = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+ a : {
+  if (!f) {
+   break a;
+  }
+  e = r[a + 16 | 0] | r[a + 17 | 0] << 8 | (r[a + 18 | 0] << 16 | r[a + 19 | 0] << 24);
+  if (!(e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24))) {
+   break a;
+  }
+  e = a + f | 0;
+  f = r[e + 2 | 0] << 8 | r[e + 3 | 0];
+  if (f) {
+   h = r[e + 1 | 0];
+   g = (h >>> 4 & 3) + 1 | 0;
+   e = (e + w(g, f >>> 0 > b >>> 0 ? b : f + -1 | 0) | 0) + 4 | 0;
+   b = 0;
+   while (1) {
+    b = r[e | 0] | b << 8;
+    e = e + 1 | 0;
+    g = g + -1 | 0;
+    if (g) {
+     continue;
+    }
+    break;
+   }
+   e = (h & 15) + 1 | 0;
+   b = b >>> e << 16 | (-1 << e ^ -1) & b;
+  }
+  e = a;
+  a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+  a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  a = a ? e + a | 0 : 271040;
+  e = b >>> 16 | 0;
+  if ((r[a + 6 | 0] << 8 | r[a + 7 | 0]) >>> 0 <= e >>> 0) {
+   break a;
+  }
+  e = a + (e << 2) | 0;
+  e = r[e + 8 | 0] | r[e + 9 | 0] << 8 | (r[e + 10 | 0] << 16 | r[e + 11 | 0] << 24);
+  e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+  f = e ? e + a | 0 : 271040;
+  e = a;
+  a = r[a + 2 | 0] | r[a + 3 | 0] << 8 | (r[a + 4 | 0] << 16 | r[a + 5 | 0] << 24);
+  a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  i = ku(f, b & 65535, c, d, a ? e + a | 0 : 271040);
+ }
+ return i;
+}
+function Ie(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ if (!a) {
+  return 0;
+ }
+ f = q[a + 12 >> 2];
+ b = f >> 31;
+ g = q[a + 8 >> 2];
+ d = g >> 31;
+ h = q[a + 4 >> 2];
+ c = h >> 31;
+ i = q[a >> 2];
+ a = i >> 31;
+ b = b ^ b + f;
+ d = d ^ d + g;
+ c = c ^ c + h;
+ e = a ^ a + i;
+ a = (e | 0) > 0 ? e : 0;
+ a = (c | 0) > (a | 0) ? c : a;
+ a = (d | 0) > (a | 0) ? d : a;
+ a = (b | 0) > (a | 0) ? b : a;
+ a : {
+  if ((a | 0) >= 23171) {
+   e = i ? (e | 0) != 2147483647 ? e : 2147483647 : 2147483647;
+   c = h ? (c | 0) < (e | 0) ? c : e : e;
+   d = g ? (d | 0) < (c | 0) ? d : c : c;
+   j = f ? (b | 0) < (d | 0) ? b : d : d;
+   b : {
+    if (a >>> 0 <= 65535) {
+     b = ((a << 16 | 11584) >>> 0) / 23170 | 0;
+     break b;
+    }
+    b = 2147483647;
+    if (a >>> 0 > 1518469119) {
+     break b;
+    }
+    e = a << 16 | 11585;
+    b = a >>> 16 | 0;
+    a = z(b);
+    d = 32 - a | 0;
+    c = e >>> d | b << a;
+    b = (c >>> 0) / 23170 | 0;
+    c = w(b, -23170) + c | 0;
+    a = e << a;
+    while (1) {
+     e = c << 1 | a >>> 31;
+     c = e - (e >>> 0 < 23170 ? 0 : 23170) | 0;
+     b = b << 1 | e >>> 0 > 23169;
+     a = a << 1;
+     d = d + -1 | 0;
+     if (d) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (!Fe(j, b)) {
+    break a;
+   }
+   i = Fe(i, b);
+   h = Fe(h, b);
+   g = Fe(g, b);
+   f = Fe(f, b);
+  }
+  b = w(f, i) - w(g, h) | 0;
+  a = b >> 31;
+  a = a ^ a + b;
+  if (!a) {
+   break a;
+  }
+  k = (((w(i, i) + w(h, h) | 0) + w(g, g) | 0) + w(f, f) >>> 0) / (a >>> 0) >>> 0 < 51;
+ }
+ return k;
+}
+function YA(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ g = q[a + 4 >> 2];
+ e = q[a >> 2];
+ a : {
+  if ((e | 0) < 0) {
+   break a;
+  }
+  c = g;
+  d = c + q[b + 4 >> 2] | 0;
+  d = (d | 0) > 0 ? d : 0;
+  if (e >>> 0 < d >>> 0) {
+   c = e;
+   while (1) {
+    c = ((c >>> 1 | 0) + c | 0) + 8 | 0;
+    if (c >>> 0 <= d >>> 0) {
+     continue;
+    }
+    break;
+   }
+   b : {
+    if (!(c >>> 0 < e >>> 0 | c >>> 0 > 268435454)) {
+     e = O$(q[a + 8 >> 2], c << 4);
+     if (e) {
+      break b;
+     }
+    }
+    q[a >> 2] = -1;
+    break a;
+   }
+   q[a >> 2] = c;
+   q[a + 8 >> 2] = e;
+   c = q[a + 4 >> 2];
+  }
+  if (d >>> 0 > c >>> 0) {
+   Z$(q[a + 8 >> 2] + (c << 4) | 0, 0, d - c << 4);
+  }
+  q[a + 4 >> 2] = d;
+ }
+ c = q[b + 4 >> 2];
+ if (c) {
+  e = 0;
+  while (1) {
+   c : {
+    if (c >>> 0 <= e >>> 0) {
+     c = q[67763];
+     q[160658] = q[67762];
+     q[160659] = c;
+     c = q[67761];
+     q[160656] = q[67760];
+     q[160657] = c;
+     c = 642624;
+     break c;
+    }
+    c = q[b >> 2] + (e << 4) | 0;
+   }
+   d = e + g | 0;
+   d : {
+    if (t[a + 4 >> 2] <= d >>> 0) {
+     d = q[67763];
+     q[160658] = q[67762];
+     q[160659] = d;
+     d = q[67761];
+     q[160656] = q[67760];
+     q[160657] = d;
+     d = 642624;
+     break d;
+    }
+    d = q[a + 8 >> 2] + (d << 4) | 0;
+   }
+   f = q[c + 4 >> 2];
+   q[d >> 2] = q[c >> 2];
+   q[d + 4 >> 2] = f;
+   f = q[c + 12 >> 2];
+   q[d + 8 >> 2] = q[c + 8 >> 2];
+   q[d + 12 >> 2] = f;
+   e = e + 1 | 0;
+   c = q[b + 4 >> 2];
+   if (e >>> 0 < c >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function dM(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ c = w(r[a + 19 | 0] ^ w(r[a + 18 | 0] ^ w(r[a + 17 | 0] ^ w(r[a + 16 | 0] ^ w(r[a + 15 | 0] ^ w(r[a + 14 | 0] ^ w(r[a + 13 | 0] ^ w(r[a + 12 | 0] ^ w(r[a + 11 | 0] ^ w(r[a + 10 | 0] ^ w(r[a + 9 | 0] ^ w(r[a + 8 | 0] ^ w(r[a + 7 | 0] ^ w(r[a + 6 | 0] ^ w(r[a + 5 | 0] ^ w(r[a + 4 | 0] ^ w(r[a + 3 | 0] ^ w(r[a + 2 | 0] ^ w(r[a + 1 | 0] ^ w(r[a | 0] ^ b, 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619);
+ d = q[a + 20 >> 2];
+ if (d) {
+  a = q[a + 24 >> 2];
+  b = 0;
+  while (1) {
+   e = c;
+   c = w(b, 24) + a | 0;
+   c = w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(e ^ r[c | 0], 16777619) ^ r[c + 1 | 0], 16777619) ^ r[c + 2 | 0], 16777619) ^ r[c + 3 | 0], 16777619) ^ r[c + 4 | 0], 16777619) ^ r[c + 5 | 0], 16777619) ^ r[c + 6 | 0], 16777619) ^ r[c + 7 | 0], 16777619) ^ r[c + 8 | 0], 16777619) ^ r[c + 9 | 0], 16777619) ^ r[c + 10 | 0], 16777619) ^ r[c + 11 | 0], 16777619) ^ r[c + 12 | 0], 16777619) ^ r[c + 13 | 0], 16777619) ^ r[c + 14 | 0], 16777619) ^ r[c + 15 | 0], 16777619) ^ r[c + 16 | 0], 16777619) ^ r[c + 17 | 0], 16777619) ^ r[c + 18 | 0], 16777619) ^ r[c + 19 | 0], 16777619) ^ r[c + 20 | 0], 16777619) ^ r[c + 21 | 0], 16777619) ^ r[c + 22 | 0], 16777619) ^ r[c + 23 | 0], 16777619);
+   b = b + 1 | 0;
+   if ((d | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return c | 0;
+}
+function MF(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = 271438;
+ d = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+ d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+ a : {
+  if ((d | 0) < 1) {
+   break a;
+  }
+  f = d + -1 | 0;
+  while (1) {
+   b : {
+    g = f + i >>> 1 | 0;
+    d = (w(g, 12) + a | 0) + 16 | 0;
+    h = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+    c : {
+     if ((h << 24 | h << 8 & 16711680 | (h >>> 8 & 65280 | h >>> 24)) >>> 0 > b >>> 0) {
+      f = g + -1 | 0;
+      break c;
+     }
+     d = r[d + 4 | 0] | r[d + 5 | 0] << 8 | (r[d + 6 | 0] << 16 | r[d + 7 | 0] << 24);
+     if ((d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) >>> 0 >= b >>> 0) {
+      break b;
+     }
+     i = g + 1 | 0;
+    }
+    if ((i | 0) <= (f | 0)) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  e = (w(g, 12) + a | 0) + 16 | 0;
+ }
+ f = 0;
+ a = e;
+ d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+ d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+ a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+ d : {
+  if (d >>> 0 > (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) >>> 0) {
+   break d;
+  }
+  a = r[e + 8 | 0] | r[e + 9 | 0] << 8 | (r[e + 10 | 0] << 16 | r[e + 11 | 0] << 24);
+  a = (b - d | 0) + (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) | 0;
+  if (!a) {
+   break d;
+  }
+  q[c >> 2] = a;
+  f = 1;
+ }
+ return f;
+}
+function pw(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  h = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  b : {
+   if (!d) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < d >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (!d) {
+    break b;
+   }
+   c = c + d | 0;
+   c : {
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0) {
+     break c;
+    }
+    e = e - c | 0;
+    if (e >>> 0 < 2) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -3;
+    if ((f | 0) < 3) {
+     break c;
+    }
+    if ((r[c + 1 | 0] | r[c | 0] << 8) != 1) {
+     break b;
+    }
+    if (e >>> 0 < 8) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -4;
+    if ((f | 0) > 3) {
+     break b;
+    }
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   h = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   o[a + 2 | 0] = 0;
+   o[a + 3 | 0] = 0;
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function gy(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ f = c ? c + a | 0 : 271040;
+ c = q[b + 96 >> 2];
+ i = ct(f, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]);
+ a : {
+  if ((i | 0) == -1) {
+   break a;
+  }
+  e = q[c + 72 >> 2];
+  q[b + 36 >> 2] = 1;
+  q[b >> 2] = e;
+  d = q[q[b + 4 >> 2] + 96 >> 2];
+  q[b + 40 >> 2] = q[d + 76 >> 2];
+  h = (e | 0) == q[d + 72 >> 2] ? r[(q[d + 88 >> 2] + w(e, 20) | 0) + 15 | 0] : h;
+  q[b + 8 >> 2] = 8;
+  o[b + 20 | 0] = h;
+  if (!dx(b)) {
+   break a;
+  }
+  while (1) {
+   b : {
+    h = q[c + 88 >> 2];
+    e = q[b >> 2];
+    d = h + w(e, 20) | 0;
+    if (!(r[d + 12 | 0] & 64) | !e) {
+     break b;
+    }
+    g = r[d + 14 | 0];
+    f = g & 16 ? 0 : g & 15;
+    if (!f) {
+     break b;
+    }
+    d = d + -8 | 0;
+    if (r[d | 0] & 8) {
+     break b;
+    }
+    d = r[d + 2 | 0];
+    if (((d ^ g) & 255) >>> 0 > 31 | (f | 0) != ((d & 16 ? 1 : (d & 15) + 1 | 0) | 0)) {
+     break b;
+    }
+    q[b + 36 >> 2] = q[b + 36 >> 2] + 1;
+    e = q[b + 32 >> 2];
+    if (e) {
+     q[b + 32 >> 2] = e + -2;
+    }
+    g = 0;
+    if (dx(b)) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  c = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  c = ct(c ? c + a | 0 : 271040, q[w(e, 20) + h >> 2]);
+  if ((c | 0) == -1) {
+   return 0;
+  }
+  e = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+  f = c;
+  c = r[a + 11 | 0] | r[a + 10 | 0] << 8;
+  g = hy(e ? e + a | 0 : 271040, b, i, f, c ? c + a | 0 : 271040, r[a + 7 | 0] | r[a + 6 | 0] << 8, q[b >> 2]);
+ }
+ return g;
+}
+function dK(a, b, c, d, e, f, g) {
+ var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0;
+ q[d >> 2] = 0;
+ if (!(!(e | f) | (a | 0) < 655)) {
+  a : {
+   if (!f) {
+    g = 0;
+    break a;
+   }
+   n = q[g + 28 >> 2];
+   i = q[g + 20 >> 2];
+   h = q[g + 16 >> 2];
+   j = q[g + 12 >> 2];
+   k = q[g + 8 >> 2];
+   l = q[g + 4 >> 2];
+   o = q[g >> 2];
+   r = d;
+   m = q[g + 24 >> 2];
+   f = m << 16;
+   g = Ee(c + e | 0, a);
+   if ((62 - (z(b) + z(g) | 0) | 0) < 46) {
+    f = Ee(g, b);
+   }
+   c = f;
+   f = o << 16;
+   b : {
+    if ((c | 0) < (f | 0)) {
+     b = Fe(l << 16, b);
+     break b;
+    }
+    c : {
+     d : {
+      e : {
+       p = k << 16;
+       f : {
+        if ((c | 0) < (p | 0)) {
+         c = Fe(f, b);
+         f = k - o | 0;
+         if (!f) {
+          break f;
+         }
+         b = ue(g - c | 0, j - l | 0, f) + Fe(l << 16, b) | 0;
+         break b;
+        }
+        f = h << 16;
+        if ((c | 0) >= (f | 0)) {
+         break e;
+        }
+       }
+       c = Fe(p, b);
+       f = h - k | 0;
+       if (!f) {
+        f = h << 16;
+        break d;
+       }
+       b = ue(g - c | 0, i - j | 0, f) + Fe(j << 16, b) | 0;
+       break b;
+      }
+      if ((c | 0) >= m << 16) {
+       break c;
+      }
+     }
+     c = Fe(f, b);
+     f = m - h | 0;
+     if (!f) {
+      break c;
+     }
+     b = ue(g - c | 0, n - i | 0, f) + Fe(i << 16, b) | 0;
+     break b;
+    }
+    b = Fe(n << 16, b);
+   }
+   q[r >> 2] = b;
+   g = Fe(b, a << 1);
+   q[d >> 2] = g;
+  }
+  q[d >> 2] = ((e | 0) / 2 | 0) + g;
+ }
+}
+function OK(a, b, c, d, e, f, g) {
+ var h = 0, i = 0, j = 0, k = 0;
+ h = Ca - 48 | 0;
+ Ca = h;
+ i = a + 11724 | 0;
+ RK(a, q[a + 11720 >> 2], q[i >> 2], b, c, h + 44 | 0, h + 40 | 0);
+ RK(a, d, e, f, g, h + 36 | 0, h + 32 | 0);
+ j = q[a + 4 >> 2];
+ q[j + 16 >> 2] = q[j + 16 >> 2] + (w(e - c >> 16, b >> 16) - w(d - b >> 16, c >> 16) | 0);
+ j = q[h + 44 >> 2];
+ q[h + 24 >> 2] = j + q[a + 11720 >> 2];
+ i = q[i >> 2];
+ k = c;
+ c = q[h + 40 >> 2];
+ q[h + 20 >> 2] = k + c;
+ q[h + 16 >> 2] = b + j;
+ q[h + 28 >> 2] = c + i;
+ b = q[h + 32 >> 2];
+ c = q[h + 36 >> 2];
+ if (r[a + 11667 | 0]) {
+  i = q[h + 28 >> 2];
+  q[h + 8 >> 2] = q[h + 24 >> 2];
+  q[h + 12 >> 2] = i;
+  SK(a, h + 8 | 0);
+  o[a + 11664 | 0] = 1;
+  o[a + 11667 | 0] = 0;
+  i = q[h + 20 >> 2];
+  q[a + 11712 >> 2] = q[h + 16 >> 2];
+  q[a + 11716 >> 2] = i;
+ }
+ i = b + g | 0;
+ j = c + f | 0;
+ b = b + e | 0;
+ c = c + d | 0;
+ if (r[a + 11744 | 0]) {
+  d = q[h + 20 >> 2];
+  q[h >> 2] = q[h + 16 >> 2];
+  q[h + 4 >> 2] = d;
+  MK(a, a + 8 | 0, h + 24 | 0, h, 0);
+ }
+ q[a + 11748 >> 2] = 4;
+ o[a + 11744 | 0] = 1;
+ d = q[h + 28 >> 2];
+ q[a + 11752 >> 2] = q[h + 24 >> 2];
+ q[a + 11756 >> 2] = d;
+ d = q[h + 20 >> 2];
+ e = q[h + 16 >> 2];
+ q[a + 11780 >> 2] = i;
+ q[a + 11776 >> 2] = j;
+ q[a + 11772 >> 2] = b;
+ q[a + 11768 >> 2] = c;
+ q[a + 11760 >> 2] = e;
+ q[a + 11764 >> 2] = d;
+ b = q[a + 11676 >> 2];
+ if (r[b + 5 | 0]) {
+  NK(a + 8 | 0, q[a + 11668 >> 2], q[a + 11672 >> 2], b, q[a + 11680 >> 2], 0);
+ }
+ q[a + 11724 >> 2] = g;
+ q[a + 11720 >> 2] = f;
+ Ca = h + 48 | 0;
+}
+function XR(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ if (!a) {
+  return -1;
+ }
+ h = q[a + 4 >> 2];
+ e = -1;
+ f = -1;
+ i = q[a + 12 >> 2] + a | 0;
+ a : {
+  b : {
+   if (i) {
+    d = h + -1 | 0;
+    j = q[c >> 2];
+    l = j >>> 8 | 0;
+    c : {
+     if ((h | 0) >= 1) {
+      m = l & 65535;
+      while (1) {
+       g = d + k | 0;
+       f = g >> 1;
+       g = s[(g & -2) + i >> 1];
+       if ((g | 0) == (m | 0)) {
+        break c;
+       }
+       g = g >>> 0 < m >>> 0;
+       k = g ? f + 1 | 0 : k;
+       d = g ? d : f + -1 | 0;
+       if ((k | 0) <= (d | 0)) {
+        continue;
+       }
+       break;
+      }
+     }
+     if (!((d | 0) >= (h | 0) | s[(d << 1) + i >> 1] >= (l & 65535) >>> 0 ? (d | 0) >= 0 : 0)) {
+      d = d + 1 | 0;
+     }
+     f = d ^ -1;
+    }
+    if ((f | 0) > -1) {
+     break b;
+    }
+   }
+   f = f ^ -1;
+   if ((h | 0) == (f | 0)) {
+    break a;
+   }
+   j = s[(f << 1) + i >> 1] << 8;
+  }
+  e = q[a + 8 >> 2] + a | 0;
+  e = q[e + (f << 2) >> 2] + e | 0;
+  if (!e) {
+   return -1;
+  }
+  d = q[e + 4 >> 2];
+  q[b >> 2] = q[e >> 2];
+  q[b + 4 >> 2] = d;
+  d = q[e + 28 >> 2];
+  q[b + 24 >> 2] = q[e + 24 >> 2];
+  q[b + 28 >> 2] = d;
+  d = q[e + 20 >> 2];
+  q[b + 16 >> 2] = q[e + 16 >> 2];
+  q[b + 20 >> 2] = d;
+  d = q[e + 12 >> 2];
+  q[b + 8 >> 2] = q[e + 8 >> 2];
+  q[b + 12 >> 2] = d;
+  b = f + 1 | 0;
+  if ((b | 0) < q[a + 4 >> 2]) {
+   a = s[(q[a + 12 >> 2] + a | 0) + (b << 1) >> 1] << 8;
+  } else {
+   a = -1;
+  }
+  q[c >> 2] = a;
+  e = j;
+ }
+ return e;
+}
+function FV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     e : {
+      g = b + -15 | 0;
+      if (g >>> 0 > 8) {
+       break e;
+      }
+      f = 33;
+      f : {
+       switch (g - 1 | 0) {
+       case 2:
+        b = 23;
+        if (n[q[e + 24 >> 2]](e, c, d, 496427)) {
+         break a;
+        }
+        b = 24;
+        if (!n[q[e + 24 >> 2]](e, c, d, 496433)) {
+         break d;
+        }
+        break a;
+       case 0:
+       case 1:
+       case 3:
+       case 4:
+       case 5:
+       case 6:
+        break e;
+       case 7:
+        break f;
+       default:
+        break b;
+       }
+      }
+      q[a >> 2] = 947;
+      return 33;
+     }
+     if ((b | 0) != 28) {
+      break c;
+     }
+     f = 59;
+     if (!q[a + 16 >> 2]) {
+      break b;
+     }
+     break c;
+    }
+    b = 25;
+    if (n[q[e + 24 >> 2]](e, c, d, 496436)) {
+     break a;
+    }
+    b = 26;
+    if (n[q[e + 24 >> 2]](e, c, d, 496442)) {
+     break a;
+    }
+    b = 27;
+    if (n[q[e + 24 >> 2]](e, c, d, 496374)) {
+     break a;
+    }
+    b = 28;
+    if (n[q[e + 24 >> 2]](e, c, d, 496449)) {
+     break a;
+    }
+    b = 29;
+    if (n[q[e + 24 >> 2]](e, c, d, 496458)) {
+     break a;
+    }
+    b = 30;
+    if (n[q[e + 24 >> 2]](e, c, d, 496466)) {
+     break a;
+    }
+    if (!n[q[e + 24 >> 2]](e, c, d, 496397)) {
+     break c;
+    }
+    q[a >> 2] = 948;
+    return 33;
+   }
+   q[a >> 2] = 913;
+   f = -1;
+  }
+  return f | 0;
+ }
+ q[a >> 2] = 949;
+ return b | 0;
+}
+function Pn(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ if (!Ln(d)) {
+  return -26;
+ }
+ e = q[d + 548 >> 2];
+ a : {
+  while (1) {
+   if (e >>> 0 > 1) {
+    continue;
+   }
+   b : {
+    if (e - 1) {
+     g = q[d + 64 >> 2];
+     f = q[d + 52 >> 2];
+     e = q[d + 184 >> 2];
+     i = q[d + 12 >> 2];
+     h = 32 - i | 0;
+     j = q[d + 20 >> 2] + (h >>> 3 | 0) | 0;
+     e = (j | 0) > (e | 0) ? e : j;
+     g = (e + f | 0) > (g | 0) ? g - f | 0 : e;
+     e = f + q[d + 96 >> 2] | 0;
+     c : {
+      if (h >>> 0 < 8) {
+       f = g;
+       break c;
+      }
+      f = g;
+      if (!f) {
+       break c;
+      }
+      while (1) {
+       o[e | 0] = q[d + 8 >> 2] >>> i;
+       h = q[d + 12 >> 2];
+       i = h + 8 | 0;
+       q[d + 12 >> 2] = i;
+       e = e + 1 | 0;
+       f = f + -1 | 0;
+       if (!f) {
+        break c;
+       }
+       if (24 - h >>> 0 > 7) {
+        continue;
+       }
+       break;
+      }
+     }
+     Y$(e, q[d + 16 >> 2], f);
+     q[d + 20 >> 2] = q[d + 20 >> 2] - f;
+     q[d + 16 >> 2] = q[d + 16 >> 2] + f;
+     f = g + q[d + 52 >> 2] | 0;
+     q[d + 52 >> 2] = f;
+     g = q[d + 184 >> 2] - g | 0;
+     q[d + 184 >> 2] = g;
+     if ((f | 0) < 1 << q[d + 564 >> 2]) {
+      break b;
+     }
+     q[d + 548 >> 2] = 1;
+    }
+    e = In(d, a, b, c, 0);
+    if ((e | 0) != 1) {
+     break a;
+    }
+    if (q[d + 64 >> 2] == 1 << q[d + 564 >> 2]) {
+     q[d + 60 >> 2] = q[d + 56 >> 2];
+    }
+    e = 0;
+    q[d + 548 >> 2] = 0;
+    continue;
+   }
+   break;
+  }
+  e = g ? 2 : 1;
+ }
+ return e;
+}
+function cv(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ f = q[b + 4 >> 2];
+ a : {
+  if (f >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0) {
+   break a;
+  }
+  c = e - a | 0;
+  if (c >>> 0 < 2) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  g = r[a | 0] | r[a + 1 | 0] << 8;
+  g = ((g << 24 | g << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+  b : {
+   if (g >>> 0 > 1) {
+    break b;
+   }
+   if (g - 1) {
+    if (c >>> 0 < 6) {
+     break a;
+    }
+    q[b + 12 >> 2] = d + -2;
+    if ((d | 0) < 2) {
+     break a;
+    }
+    c = a + 4 | 0;
+    if (f >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 2) {
+     break a;
+    }
+    q[b + 12 >> 2] = d + -3;
+    if ((d | 0) < 3) {
+     break a;
+    }
+    c = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+    if (!c) {
+     break b;
+    }
+    a = a + 6 | 0;
+    if (f >>> 0 > a >>> 0 | e >>> 0 < a >>> 0 | e - a >>> 0 < c << 1 >>> 0) {
+     break a;
+    }
+    q[b + 12 >> 2] = d + -4;
+    if ((d | 0) >= 4) {
+     break b;
+    }
+    break a;
+   }
+   c = a + 2 | 0;
+   if (f >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 2) {
+    break a;
+   }
+   q[b + 12 >> 2] = d + -2;
+   if ((d | 0) < 2) {
+    break a;
+   }
+   c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   if (!c) {
+    break b;
+   }
+   a = a + 4 | 0;
+   if (f >>> 0 > a >>> 0 | e >>> 0 < a >>> 0 | e - a >>> 0 < w(c, 6) >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = d + -3;
+   if ((d | 0) < 3) {
+    break a;
+   }
+  }
+  h = 1;
+ }
+ return h;
+}
+function $D(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = N$(1, 8);
+ a : {
+  if (d) {
+   h = d;
+   c = q[a + 44 >> 2];
+   b = 0;
+   b : {
+    if ((c | 0) < 1) {
+     break b;
+    }
+    f = q[a + 48 >> 2];
+    e = c + -1 | 0;
+    c : {
+     while (1) {
+      c = e + g >>> 1 | 0;
+      b = q[w(c, 36) + f >> 2];
+      d : {
+       if (b >>> 0 >= 1919969383) {
+        e = c + -1 | 0;
+        break d;
+       }
+       if ((b | 0) == 1919969382) {
+        break c;
+       }
+       g = c + 1 | 0;
+      }
+      if ((g | 0) <= (e | 0)) {
+       continue;
+      }
+      break;
+     }
+     b = 0;
+     break b;
+    }
+    b = q[(w(c, 36) + f | 0) + 28 >> 2];
+   }
+   q[h >> 2] = b;
+   b = q[a + 4 >> 2];
+   e : {
+    if ((b | 0) <= 1315663726) {
+     if ((b | 0) <= 1298230883) {
+      if ((b | 0) == 1097100397 | (b | 0) == 1098015074) {
+       break e;
+      }
+      break a;
+     }
+     e = b + -1298230884 | 0;
+     if (e >>> 0 > 5) {
+      if ((b | 0) == 1299148391) {
+       break e;
+      }
+      break a;
+     }
+     switch (e - 1 | 0) {
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+      break a;
+     default:
+      break e;
+     }
+    }
+    if ((b | 0) <= 1349020783) {
+     if ((b | 0) == 1315663727 | (b | 0) == 1349017959) {
+      break e;
+     }
+     break a;
+    }
+    if ((b | 0) == 1400468067) {
+     break e;
+    }
+    if ((b | 0) != 1349020784) {
+     break a;
+    }
+   }
+   a = uD(a);
+   q[d + 4 >> 2] = a;
+   if (a) {
+    break a;
+   }
+   M$(d);
+  }
+  d = 0;
+ }
+ return d | 0;
+}
+function GB(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ a : {
+  b : {
+   c : {
+    f = q[a + 4 >> 2];
+    if ((f | 0) >= 0) {
+     e = q[a + 8 >> 2];
+     g = e + 1 | 0;
+     g = (g | 0) > 0 ? g : 0;
+     if (f >>> 0 >= g >>> 0) {
+      break b;
+     }
+     e = f;
+     while (1) {
+      e = ((e >>> 1 | 0) + e | 0) + 8 | 0;
+      if (e >>> 0 <= g >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(e >>> 0 < f >>> 0 | e >>> 0 > 178956969)) {
+      f = O$(q[a + 12 >> 2], w(e, 24));
+      if (f) {
+       break c;
+      }
+     }
+     q[a + 4 >> 2] = -1;
+    }
+    e = q[67765];
+    q[160660] = q[67764];
+    q[160661] = e;
+    e = q[67763];
+    q[160658] = q[67762];
+    q[160659] = e;
+    e = q[67761];
+    q[160656] = q[67760];
+    q[160657] = e;
+    e = 642624;
+    break a;
+   }
+   q[a + 4 >> 2] = e;
+   q[a + 12 >> 2] = f;
+   e = q[a + 8 >> 2];
+  }
+  if (g >>> 0 > e >>> 0) {
+   Z$(q[a + 12 >> 2] + w(e, 24) | 0, 0, w(g - e | 0, 24));
+  }
+  q[a + 8 >> 2] = g;
+  e = (q[a + 12 >> 2] + w(g, 24) | 0) + -24 | 0;
+ }
+ f = q[d + 4 >> 2];
+ q[e >> 2] = q[d >> 2];
+ q[e + 4 >> 2] = f;
+ f = q[d + 20 >> 2];
+ q[e + 16 >> 2] = q[d + 16 >> 2];
+ q[e + 20 >> 2] = f;
+ g = q[d + 12 >> 2];
+ f = e + 8 | 0;
+ q[f >> 2] = q[d + 8 >> 2];
+ q[f + 4 >> 2] = g;
+ q[e >> 2] = b;
+ g = q[c + 12 >> 2];
+ d = q[c + 4 >> 2];
+ h = q[c >> 2];
+ b = q[a >> 2];
+ q[e + 12 >> 2] = 0;
+ q[e + 4 >> 2] = b + h;
+ e = g - b | 0;
+ b = d - b | 0;
+ b = b >>> 0 > d >>> 0 ? 0 : b;
+ q[f >> 2] = b >>> 0 > e >>> 0 ? e : b;
+ q[a >> 2] = q[c + 12 >> 2];
+}
+function sJ(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ j = Ca - 16 | 0;
+ Ca = j;
+ e = 6;
+ a : {
+  if ((b | 0) < 0 | q[a + 16 >> 2] <= (b | 0)) {
+   break a;
+  }
+  b : {
+   e = q[a + 4 >> 2] + d | 0;
+   f = q[a + 8 >> 2];
+   c : {
+    if (e >>> 0 <= f >>> 0) {
+     break c;
+    }
+    g = q[a >> 2];
+    h = c - g | 0;
+    i = h >>> 0 < f >>> 0;
+    while (1) {
+     f = ((f >>> 2 | 0) + f | 0) + 1024 & -1024;
+     if (f >>> 0 < e >>> 0) {
+      continue;
+     }
+     break;
+    }
+    l = q[a + 32 >> 2];
+    k = Oe(l, f, j + 12 | 0);
+    q[a >> 2] = k;
+    e = q[j + 12 >> 2];
+    if (e) {
+     break b;
+    }
+    h = i & (h | 0) > -1 ? h : -1;
+    if (g) {
+     Y$(k, g, q[a + 8 >> 2]);
+     i = q[a + 16 >> 2];
+     if ((i | 0) >= 1) {
+      k = q[a >> 2] - g | 0;
+      e = q[a + 24 >> 2];
+      i = e + (i << 2) | 0;
+      while (1) {
+       m = q[e >> 2];
+       if (m) {
+        q[e >> 2] = k + m;
+       }
+       e = e + 4 | 0;
+       if (e >>> 0 < i >>> 0) {
+        continue;
+       }
+       break;
+      }
+     }
+     Qe(l, g);
+    }
+    q[a + 8 >> 2] = f;
+    if ((h | 0) < 0) {
+     break c;
+    }
+    c = q[a >> 2] + h | 0;
+   }
+   e = 0;
+   b = b << 2;
+   f = q[a >> 2];
+   g = q[a + 4 >> 2];
+   q[b + q[a + 24 >> 2] >> 2] = f ? f + g | 0 : 0;
+   q[b + q[a + 28 >> 2] >> 2] = d;
+   Y$(g + q[a >> 2] | 0, c, d);
+   q[a + 4 >> 2] = q[a + 4 >> 2] + d;
+   break a;
+  }
+  q[a >> 2] = g;
+ }
+ Ca = j + 16 | 0;
+ return e | 0;
+}
+function Nh(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ e = q[a >> 2];
+ if (q[a + 248 >> 2]) {
+  d = q[a + 92 >> 2] >> 6;
+  while (1) {
+   f = c << 2;
+   g = Ee(q[f + q[e + 704 >> 2] >> 2], d);
+   q[f + q[a + 252 >> 2] >> 2] = g;
+   c = c + 1 | 0;
+   if (c >>> 0 < t[a + 248 >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+ c = q[a + 300 >> 2];
+ d = Mh(c, e, a);
+ if (!d) {
+  o[c + 565 | 0] = b;
+  o[c + 492 | 0] = 0;
+  q[c + 16 >> 2] = 0;
+  q[c + 432 >> 2] = 0;
+  f = q[e + 696 >> 2];
+  b = q[e + 692 >> 2];
+  g = c + 464 | 0;
+  d = g;
+  q[d >> 2] = 0;
+  q[d + 4 >> 2] = 0;
+  q[c + 460 >> 2] = b;
+  h = c + 456 | 0;
+  q[h >> 2] = f;
+  d = 0;
+  if (b) {
+   q[c + 368 >> 2] = b;
+   q[c + 360 >> 2] = f;
+   q[c + 364 >> 2] = 0;
+   q[c + 356 >> 2] = 2;
+   d = n[q[e + 708 >> 2]](c) | 0;
+  }
+  q[a + 308 >> 2] = d;
+  p[c + 304 >> 1] = 0;
+  p[c + 296 >> 1] = 1073741824;
+  p[c + 298 >> 1] = 16384;
+  p[c + 300 >> 1] = 1073741824;
+  p[c + 302 >> 1] = 16384;
+  q[c + 288 >> 2] = 0;
+  q[c + 292 >> 2] = 1073741824;
+  p[c + 352 >> 1] = 1;
+  q[c + 348 >> 2] = 65537;
+  q[c + 308 >> 2] = 1;
+  Y$(a + 180 | 0, c + 288 | 0, 68);
+  q[a + 124 >> 2] = q[c + 400 >> 2];
+  q[a + 136 >> 2] = q[c + 412 >> 2];
+  q[a + 148 >> 2] = q[c + 424 >> 2];
+  q[a + 152 >> 2] = q[c + 428 >> 2];
+  b = q[c + 452 >> 2];
+  q[a + 156 >> 2] = q[c + 448 >> 2];
+  q[a + 160 >> 2] = b;
+  b = q[h + 4 >> 2];
+  q[a + 164 >> 2] = q[h >> 2];
+  q[a + 168 >> 2] = b;
+  b = q[g + 4 >> 2];
+  q[a + 172 >> 2] = q[g >> 2];
+  q[a + 176 >> 2] = b;
+ }
+ return d;
+}
+function Oj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = Ca - 272 | 0;
+ Ca = d;
+ n[q[b + 60 >> 2]](b, d + 80 | 0, 16, d + 76 | 0);
+ e = q[d + 76 >> 2];
+ a : {
+  if ((e | 0) < 0) {
+   c = 162;
+   break a;
+  }
+  c = 3;
+  if (!e | (e | 0) > 16) {
+   break a;
+  }
+  i = q[b + 8 >> 2];
+  j = q[b >> 2];
+  if ((e | 0) >= 1) {
+   h = q[a + 532 >> 2];
+   while (1) {
+    c = (d + 80 | 0) + w(f, 12) | 0;
+    q[b >> 2] = q[c >> 2];
+    q[b + 8 >> 2] = q[c + 4 >> 2];
+    n[q[b + 60 >> 2]](b, d + 16 | 0, 4, d + 12 | 0);
+    e = q[d + 12 >> 2];
+    b : {
+     if (!f) {
+      c = 3;
+      if (e + -1 >>> 0 > 3) {
+       break a;
+      }
+      c = Pj(a, q[d + 76 >> 2], e);
+      if (c) {
+       break a;
+      }
+      h = q[a + 532 >> 2];
+      c = q[d + 12 >> 2];
+      k = e;
+      break b;
+     }
+     c = k;
+     if ((e | 0) == (c | 0)) {
+      break b;
+     }
+     c = 3;
+     break a;
+    }
+    if ((c | 0) >= 1) {
+     e = ((f << 2) + h | 0) + 24 | 0;
+     c = 0;
+     while (1) {
+      g = (d + 16 | 0) + w(c, 12) | 0;
+      q[b >> 2] = q[g >> 2];
+      q[b + 8 >> 2] = q[g + 4 >> 2];
+      g = n[q[b + 40 >> 2]](b, 0) | 0;
+      q[q[e >> 2] + (c << 2) >> 2] = g;
+      c = c + 1 | 0;
+      if ((c | 0) < q[d + 12 >> 2]) {
+       continue;
+      }
+      break;
+     }
+    }
+    f = f + 1 | 0;
+    if ((f | 0) < q[d + 76 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[b + 8 >> 2] = i;
+  q[b >> 2] = j;
+  c = 0;
+ }
+ q[b + 12 >> 2] = c;
+ Ca = d + 272 | 0;
+}
+function iO(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ f = q[c + 4 >> 2];
+ i = q[b + 4 >> 2];
+ d = f - i | 0;
+ g = q[c >> 2];
+ e = q[b >> 2];
+ h = g - e | 0;
+ if (!(d | h)) {
+  return 1;
+ }
+ b = q[a + 36 >> 2];
+ c = q[a + 28 >> 2];
+ j = c + 1 | 0;
+ a : {
+  if (b >>> 0 >= j >>> 0) {
+   b = q[a + 20 >> 2];
+   break a;
+  }
+  b = b << 1;
+  b = b >>> 0 > 64 ? b : 64;
+  while (1) {
+   c = b;
+   b = b << 1;
+   if (c >>> 0 < j >>> 0) {
+    continue;
+   }
+   break;
+  }
+  b = O$(q[a + 20 >> 2], w(c, 40));
+  if (!b) {
+   return 0;
+  }
+  q[a + 36 >> 2] = c;
+  q[a + 20 >> 2] = b;
+  c = q[a + 28 >> 2];
+  j = c + 1 | 0;
+ }
+ q[a + 28 >> 2] = j;
+ a = w(c, 40) + b | 0;
+ b = (f | 0) < (i | 0);
+ q[a + 36 >> 2] = b ? i : f;
+ q[a + 32 >> 2] = b ? f : i;
+ b = (g | 0) < (e | 0);
+ q[a + 28 >> 2] = b ? e : g;
+ q[a + 24 >> 2] = b ? g : e;
+ b = (h | 0) < 0 ? 62 : 60;
+ q[a + 20 >> 2] = (d | 0) > -1 ? b ^ 3 : b;
+ b = h >> 31;
+ b = b + h ^ b;
+ c = d >> 31;
+ c = c + d ^ c;
+ f = (b | 0) > (c | 0) ? b : c;
+ g = z(f) ^ 31;
+ c = 30 - g | 0;
+ q[a + 12 >> 2] = 0 - h << c;
+ q[a + 8 >> 2] = d << c;
+ b = T0(d, d >> 31, e, e >> 31);
+ d = Ea;
+ c = 1 << c;
+ e = c;
+ j = c >> 31;
+ c = T0(i, i >> 31, h, h >> 31);
+ k = a, l = T0(e, j, b - c | 0, d - (Ea + (b >>> 0 < c >>> 0) | 0) | 0), q[k >> 2] = l;
+ q[a + 4 >> 2] = Ea;
+ b = a;
+ d = f << 31 - g;
+ T0(d, 0, d, 0);
+ T0(Ea, 0, 1395864371, 0);
+ c = Ea;
+ T0(d, 0, -1144608785, 0);
+ d = Ea;
+ a = (c - d | 0) + -2012192179 | 0;
+ q[b + 16 >> 2] = a;
+ return 1;
+}
+function Li(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ j = q[a + 28 >> 2];
+ q[h + 12 >> 2] = 0;
+ a : {
+  if (c >>> 0 > b >>> 0) {
+   break a;
+  }
+  f = Te(j, 4, 0, c, 0, h + 12 | 0);
+  if (!q[h + 12 >> 2]) {
+   b = 0;
+   while (1) {
+    if (b >>> 0 >= c >>> 0) {
+     break a;
+    }
+    d = Og(a);
+    g = d & 63;
+    b : {
+     if (d & 128) {
+      e = 0;
+      d = (b ^ -1) + c | 0;
+      Z$((b << 2) + f | 0, 0, ((d >>> 0 < g >>> 0 ? d : g) << 2) + 4 | 0);
+      while (1) {
+       d = e + 1 | 0;
+       b = b + 1 | 0;
+       if (b >>> 0 >= c >>> 0) {
+        break b;
+       }
+       i = e >>> 0 < g >>> 0;
+       e = d;
+       if (i) {
+        continue;
+       }
+       break;
+      }
+      break b;
+     }
+     e = 0;
+     if (d & 64) {
+      while (1) {
+       k = (b << 2) + f | 0, l = Pg(a) << 16, q[k >> 2] = l;
+       d = e + 1 | 0;
+       b = b + 1 | 0;
+       if (b >>> 0 >= c >>> 0) {
+        break b;
+       }
+       i = e >>> 0 < g >>> 0;
+       e = d;
+       if (i) {
+        continue;
+       }
+       break b;
+      }
+     }
+     while (1) {
+      k = (b << 2) + f | 0, l = Og(a) << 16, q[k >> 2] = l;
+      d = e + 1 | 0;
+      b = b + 1 | 0;
+      if (b >>> 0 >= c >>> 0) {
+       break b;
+      }
+      i = e >>> 0 < g >>> 0;
+      e = d;
+      if (i) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (d >>> 0 > g >>> 0) {
+     continue;
+    }
+    break;
+   }
+   Qe(j, f);
+  }
+  f = 0;
+ }
+ Ca = h + 16 | 0;
+ return f;
+}
+function I$(a) {
+ var b = 0, c = 0, d = 0, f = 0, g = 0, i = 0, j = 0;
+ h(+a);
+ d = e(1) | 0;
+ j = e(0) | 0;
+ f = d >>> 31 | 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     g = a;
+     e : {
+      f : {
+       b = d;
+       d = b & 2147483647;
+       g : {
+        if (d >>> 0 >= 1082532651) {
+         b = b & 2147483647;
+         if ((b | 0) == 2146435072 & j >>> 0 > 0 | b >>> 0 > 2146435072) {
+          return a;
+         }
+         if (!!(a > 709.782712893384)) {
+          return a * 8.98846567431158e+307;
+         }
+         if (!(a < -745.1332191019411) | a < -708.3964185322641 ^ 1) {
+          break g;
+         }
+         break b;
+        }
+        if (d >>> 0 < 1071001155) {
+         break d;
+        }
+        if (d >>> 0 < 1072734898) {
+         break f;
+        }
+       }
+       a = a * 1.4426950408889634 + v[(f << 3) + 636624 >> 3];
+       if (y(a) < 2147483648) {
+        b = ~~a;
+        break e;
+       }
+       b = -2147483648;
+       break e;
+      }
+      b = (f ^ 1) - f | 0;
+     }
+     c = +(b | 0);
+     a = g + c * -.6931471803691238;
+     i = c * 1.9082149292705877e-10;
+     c = a - i;
+     break c;
+    }
+    if (d >>> 0 <= 1043333120) {
+     break a;
+    }
+    b = 0;
+    c = a;
+   }
+   g = a;
+   a = c * c;
+   a = c - a * (a * (a * (a * (a * 4.1381367970572385e-8 + -16533902205465252e-22) + 6613756321437934e-20) + -.0027777777777015593) + .16666666666666602);
+   c = g + (c * a / (2 - a) - i) + 1;
+   if (!b) {
+    break b;
+   }
+   c = W$(c, b);
+  }
+  return c;
+ }
+ return a + 1;
+}
+function Zk(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ b = q[a + 16 >> 2];
+ c = 161;
+ a : {
+  if (t[a + 20 >> 2] < b + 20 >>> 0) {
+   break a;
+  }
+  f = q[a + 32 >> 2];
+  b : {
+   c : {
+    b = q[b >> 2];
+    d = r[b | 0];
+    if ((d | 0) != 255) {
+     if ((d | 0) != 30) {
+      break c;
+     }
+     b = Vk(a, b, 0, 0) >> 16;
+     break b;
+    }
+    b = ((r[b + 3 | 0] | (r[b + 2 | 0] << 8 | r[b + 1 | 0] << 16)) << 8) + 32768 >> 16;
+    break b;
+   }
+   e = b + 1 | 0;
+   c = d + -28 | 0;
+   if (c >>> 0 <= 1) {
+    if (c - 1) {
+     b = b + 2 | 0;
+     c = 3;
+     if (t[a + 8 >> 2] <= b >>> 0) {
+      break a;
+     }
+     b = (r[b | 0] | r[e | 0] << 8) << 16 >> 16;
+     break b;
+    }
+    c = 3;
+    if (t[a + 8 >> 2] <= b + 4 >>> 0) {
+     break a;
+    }
+    b = r[b + 1 | 0] | r[b + 2 | 0] << 8 | (r[b + 3 | 0] << 16 | r[b + 4 | 0] << 24);
+    b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+    break b;
+   }
+   b = d + -139 | 0;
+   if (d >>> 0 <= 246) {
+    break b;
+   }
+   b = q[a + 8 >> 2];
+   if (d >>> 0 <= 250) {
+    c = 3;
+    if (b >>> 0 <= e >>> 0) {
+     break a;
+    }
+    b = (r[e | 0] | d << 8) + -63124 | 0;
+    break b;
+   }
+   c = 3;
+   if (b >>> 0 <= e >>> 0) {
+    break a;
+   }
+   b = 64148 - (r[e | 0] | d << 8) | 0;
+  }
+  c = 3;
+  if (b + -2 >>> 0 > 14) {
+   break a;
+  }
+  p[f + 176 >> 1] = b;
+  c = (q[a + 20 >> 2] - q[a + 16 >> 2] >>> 2 | 0) + -4 | 0;
+  p[f + 178 >> 1] = c;
+  p[a + 38 >> 1] = c;
+  p[a + 36 >> 1] = b;
+  c = 0;
+ }
+ return c | 0;
+}
+function AA(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = 1;
+ a : {
+  if (!c) {
+   break a;
+  }
+  f = 0;
+  if (!q[a >> 2] | q[a + 144 >> 2] != -1) {
+   break a;
+  }
+  b : {
+   c : {
+    e = q[a + 48 >> 2];
+    d : {
+     e : {
+      if ((e | 0) != 271040) {
+       b = mB(e, b, q[a + 212 >> 2]);
+       break e;
+      }
+      e = q[a + 168 >> 2];
+      if (e >>> 0 > 2) {
+       b = 0;
+       break d;
+      }
+      f : {
+       switch (e - 1 | 0) {
+       default:
+        b = b >>> 0 < 229 ? b : 0;
+        break d;
+       case 0:
+        b = Zy(b);
+        break e;
+       case 1:
+        break f;
+       }
+      }
+      b = _y(b);
+     }
+     if (b >>> 0 > 390) {
+      break c;
+     }
+    }
+    a = b << 2;
+    b = q[a + 242768 >> 2];
+    a = q[a + 242772 >> 2] + (b ^ -1) | 0;
+    b = b + 244336 | 0;
+    break b;
+   }
+   e = q[a + 60 >> 2];
+   a = r[e | 0] << 8 | r[e + 1 | 0];
+   g = b + -391 | 0;
+   if (a >>> 0 <= g >>> 0) {
+    a = q[67761];
+    b = q[67760];
+    break b;
+   }
+   b = r[e + 2 | 0];
+   i = (w(b, a + 1 | 0) + e | 0) + 3 | 0;
+   g : {
+    if (!b) {
+     break g;
+    }
+    a = (w(b, g) + e | 0) + 3 | 0;
+    while (1) {
+     h = r[a | 0] | h << 8;
+     a = a + 1 | 0;
+     b = b + -1 | 0;
+     if (b) {
+      continue;
+     }
+     break;
+    }
+   }
+   a = nB(e, g);
+   b = (h + i | 0) + -1 | 0;
+  }
+  if (!a) {
+   break a;
+  }
+  e = b;
+  b = d + -1 | 0;
+  a = b >>> 0 > a >>> 0 ? a : b;
+  j = lZ(c, e, a) + a | 0, k = 0, o[j | 0] = k;
+  f = 1;
+ }
+ return f;
+}
+function qk(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ i = q[a + 84 >> 2];
+ a : {
+  b : {
+   f = q[a + 8 >> 2];
+   if (!(f & 8)) {
+    break b;
+   }
+   f = q[a + 4 >> 2] & 2147418112 | f & 32768;
+   if (d & 16) {
+    if (f) {
+     h = 7;
+     if (!(r[a + 740 | 0] & 16)) {
+      break a;
+     }
+    }
+    if (!r[a + 292 | 0]) {
+     break b;
+    }
+    h = 0;
+    if (!c) {
+     break a;
+    }
+    f = 0;
+    while (1) {
+     n[q[q[a + 540 >> 2] + 140 >> 2]](a, 1, b + f | 0, g + 14 | 0, g + 12 | 0);
+     q[(f << 2) + e >> 2] = s[g + 12 >> 1];
+     f = f + 1 | 0;
+     if ((f | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+    break a;
+   }
+   if (f) {
+    h = 7;
+    if (!(r[a + 740 | 0] & 2)) {
+     break a;
+    }
+   }
+   if (!s[a + 250 >> 1]) {
+    break b;
+   }
+   h = 0;
+   if (!c) {
+    break a;
+   }
+   f = 0;
+   while (1) {
+    n[q[q[a + 540 >> 2] + 140 >> 2]](a, 0, b + f | 0, g + 14 | 0, g + 10 | 0);
+    q[(f << 2) + e >> 2] = s[g + 10 >> 1];
+    f = f + 1 | 0;
+    if ((f | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  if (c) {
+   j = d | 256;
+   f = 0;
+   d = (d & 16 ? 60 : 56) + i | 0;
+   while (1) {
+    h = nk(i, q[a + 88 >> 2], b + f | 0, j);
+    if (h) {
+     break a;
+    }
+    q[(f << 2) + e >> 2] = q[d >> 2];
+    f = f + 1 | 0;
+    if ((f | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  h = 0;
+ }
+ Ca = g + 16 | 0;
+ return h | 0;
+}
+function SK(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ f = 1;
+ q[d + 40 >> 2] = 1;
+ c = q[a + 11732 >> 2];
+ q[d + 8 >> 2] = q[a + 11728 >> 2];
+ q[d + 12 >> 2] = c;
+ c = a + 8 | 0;
+ if (!r[a + 20 | 0]) {
+  e = q[a + 11740 >> 2];
+  g = q[a + 11736 >> 2];
+  if (r[a + 11664 | 0]) {
+   o[a + 11665 | 0] = 1;
+   LK(a, g, e);
+   if (r[a + 11744 | 0]) {
+    f = q[a + 11716 >> 2];
+    q[d >> 2] = q[a + 11712 >> 2];
+    q[d + 4 >> 2] = f;
+    MK(a, c, a + 11704 | 0, d, 1);
+   }
+   o[a + 11744 | 0] = 0;
+   p[a + 11664 >> 1] = 0;
+   o[a + 11667 | 0] = 1;
+   f = !r[a + 20 | 0];
+  }
+  q[a + 11740 >> 2] = e;
+  q[a + 11720 >> 2] = g;
+  q[a + 11736 >> 2] = g;
+  o[a + 11667 | 0] = 1;
+  q[a + 11724 >> 2] = e;
+  e = q[a + 11676 >> 2];
+  if (!(r[e + 5 | 0] ? 0 : !f)) {
+   NK(c, q[a + 11668 >> 2], q[a + 11672 >> 2], e, q[a + 11680 >> 2], 0);
+  }
+  Y$(a + 3876 | 0, c, 3868);
+ }
+ e = q[b + 4 >> 2];
+ g = Ee(q[a + 11644 >> 2], q[b >> 2]);
+ f = Ee(q[a + 11648 >> 2], e);
+ c = UK(c, e);
+ e = f + g | 0;
+ h = d, i = (Ee(q[q[a >> 2] + 64 >> 2], e) + Ee(q[q[a >> 2] + 72 >> 2], c) | 0) + q[a + 11656 >> 2] | 0, q[h + 16 >> 2] = i;
+ h = d, i = (Ee(q[q[a >> 2] + 68 >> 2], e) + Ee(q[q[a >> 2] + 76 >> 2], c) | 0) + q[a + 11660 >> 2] | 0, q[h + 20 >> 2] = i;
+ c = q[a + 4 >> 2];
+ n[q[c >> 2]](c, d + 8 | 0);
+ c = q[d + 20 >> 2];
+ q[a + 11728 >> 2] = q[d + 16 >> 2];
+ q[a + 11732 >> 2] = c;
+ c = q[b + 4 >> 2];
+ q[a + 11704 >> 2] = q[b >> 2];
+ q[a + 11708 >> 2] = c;
+ Ca = d + 48 | 0;
+}
+function bO(a, b, c, d) {
+ var e = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ e = Ca - 32 | 0;
+ Ca = e;
+ a : {
+  b : {
+   if (d) {
+    q[a + 56 >> 2] = q[a + 56 >> 2] | c;
+    break b;
+   }
+   k = (q[a + 60 >> 2] ^ -1) & c;
+   d = r[a + 84 | 0] | r[a + 85 | 0] << 8 | (r[a + 86 | 0] << 16 | r[a + 87 | 0] << 24);
+   f(0, r[a + 80 | 0] | r[a + 81 | 0] << 8 | (r[a + 82 | 0] << 16 | r[a + 83 | 0] << 24));
+   f(1, d | 0);
+   h = +g() * v[a + 16 >> 3];
+   c : {
+    if (y(h) < 2147483648) {
+     d = ~~h;
+     break c;
+    }
+    d = -2147483648;
+   }
+   j = k & 1;
+   i = r[a + 92 | 0] | r[a + 93 | 0] << 8 | (r[a + 94 | 0] << 16 | r[a + 95 | 0] << 24);
+   f(0, r[a + 88 | 0] | r[a + 89 | 0] << 8 | (r[a + 90 | 0] << 16 | r[a + 91 | 0] << 24));
+   f(1, i | 0);
+   h = +g() * v[a + 24 >> 3];
+   d : {
+    if (y(h) < 2147483648) {
+     i = ~~h;
+     break d;
+    }
+    i = -2147483648;
+   }
+   l = q[b + 4 >> 2];
+   m = q[b >> 2];
+   if (j) {
+    q[e + 28 >> 2] = i + l;
+    q[e + 24 >> 2] = d + m;
+    j = q[a >> 2];
+    b = q[e + 28 >> 2];
+    q[e + 16 >> 2] = q[e + 24 >> 2];
+    q[e + 20 >> 2] = b;
+    b = 0;
+    if (!TN(j, e + 16 | 0, 1)) {
+     break a;
+    }
+   }
+   if (!(k & 2)) {
+    break b;
+   }
+   q[e + 28 >> 2] = l - i;
+   q[e + 24 >> 2] = m - d;
+   d = q[a + 4 >> 2];
+   b = q[e + 28 >> 2];
+   q[e + 8 >> 2] = q[e + 24 >> 2];
+   q[e + 12 >> 2] = b;
+   b = 0;
+   if (!TN(d, e + 8 | 0, 1)) {
+    break a;
+   }
+  }
+  q[a + 60 >> 2] = q[a + 60 >> 2] | c;
+  b = 1;
+ }
+ Ca = e + 32 | 0;
+ return b;
+}
+function nM(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ a : {
+  b : {
+   if (!a) {
+    break b;
+   }
+   c = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+   d = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+   o[a | 0] = d;
+   o[a + 1 | 0] = d >>> 8;
+   o[a + 2 | 0] = d >>> 16;
+   o[a + 3 | 0] = d >>> 24;
+   o[a + 4 | 0] = c;
+   o[a + 5 | 0] = c >>> 8;
+   o[a + 6 | 0] = c >>> 16;
+   o[a + 7 | 0] = c >>> 24;
+   c = r[b + 20 | 0] | r[b + 21 | 0] << 8 | (r[b + 22 | 0] << 16 | r[b + 23 | 0] << 24);
+   d = r[b + 16 | 0] | r[b + 17 | 0] << 8 | (r[b + 18 | 0] << 16 | r[b + 19 | 0] << 24);
+   o[a + 16 | 0] = d;
+   o[a + 17 | 0] = d >>> 8;
+   o[a + 18 | 0] = d >>> 16;
+   o[a + 19 | 0] = d >>> 24;
+   o[a + 20 | 0] = c;
+   o[a + 21 | 0] = c >>> 8;
+   o[a + 22 | 0] = c >>> 16;
+   o[a + 23 | 0] = c >>> 24;
+   c = r[b + 12 | 0] | r[b + 13 | 0] << 8 | (r[b + 14 | 0] << 16 | r[b + 15 | 0] << 24);
+   d = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+   o[a + 8 | 0] = d;
+   o[a + 9 | 0] = d >>> 8;
+   o[a + 10 | 0] = d >>> 16;
+   o[a + 11 | 0] = d >>> 24;
+   o[a + 12 | 0] = c;
+   o[a + 13 | 0] = c >>> 8;
+   o[a + 14 | 0] = c >>> 16;
+   o[a + 15 | 0] = c >>> 24;
+   a = q[b >> 2];
+   if (!a) {
+    break b;
+   }
+   if (!q[a + -8 >> 2]) {
+    break a;
+   }
+   a = a + -4 | 0;
+   b = q[a >> 2];
+   if (!b) {
+    break a;
+   }
+   q[a >> 2] = b + 1;
+  }
+  return 1;
+ }
+ J(355157, 355131, 444, 355187);
+ F();
+}
+function ow(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ i = q[b + 4 >> 2];
+ a : {
+  if (i >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 4) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  e = 1;
+  if ((g | 0) < 1) {
+   e = 0;
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  if (!d) {
+   break a;
+  }
+  if (i >>> 0 > c >>> 0) {
+   e = 0;
+   break a;
+  }
+  if (f >>> 0 < c >>> 0) {
+   e = 0;
+   break a;
+  }
+  if (f - c >>> 0 < d >>> 0) {
+   e = 0;
+   break a;
+  }
+  q[b + 12 >> 2] = g + -2;
+  if ((g | 0) < 2) {
+   e = 0;
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  if (!d) {
+   break a;
+  }
+  c = c + d | 0;
+  b : {
+   if (i >>> 0 > c >>> 0 | f >>> 0 < c >>> 0 | f - c >>> 0 <= 3) {
+    break b;
+   }
+   q[b + 12 >> 2] = g + -3;
+   if ((r[c + 1 | 0] | r[c | 0] << 8) != 1 | (g | 0) < 3) {
+    break b;
+   }
+   q[h + 12 >> 2] = c;
+   if (qw(c + 4 | 0, b, h + 12 | 0)) {
+    break a;
+   }
+  }
+  c = q[b + 24 >> 2];
+  if (c >>> 0 > 31) {
+   e = 0;
+   break a;
+  }
+  q[b + 24 >> 2] = c + 1;
+  e = 0;
+  if (!r[b + 20 | 0]) {
+   break a;
+  }
+  o[a | 0] = 0;
+  o[a + 1 | 0] = 0;
+  o[a + 2 | 0] = 0;
+  o[a + 3 | 0] = 0;
+  e = 1;
+ }
+ Ca = h + 16 | 0;
+ return e;
+}
+function ZB(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  h = q[b + 4 >> 2];
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 8) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  g = 1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  f = r[a | 0] | r[a + 1 | 0] << 8;
+  f = ((f << 24 | f << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+  b : {
+   if (f >>> 0 > 2) {
+    break b;
+   }
+   c : {
+    d : {
+     switch (f - 1 | 0) {
+     default:
+      q[b + 12 >> 2] = d + -2;
+      if ((d | 0) < 2) {
+       break a;
+      }
+      c = c + 1 | 0;
+      if (c >>> 0 > 1073741822) {
+       break a;
+      }
+      if (!c) {
+       break c;
+      }
+      a = a + 8 | 0;
+      if (h >>> 0 > a >>> 0 | e >>> 0 < a >>> 0) {
+       break a;
+      }
+      if (e - a >>> 0 < c << 2 >>> 0) {
+       break a;
+      }
+      q[b + 12 >> 2] = d + -3;
+      g = 0;
+      if ((d | 0) >= 3) {
+       break c;
+      }
+      break b;
+     case 0:
+      break b;
+     case 1:
+      break d;
+     }
+    }
+    q[b + 12 >> 2] = d + -2;
+    if ((d | 0) < 2) {
+     break a;
+    }
+    c = c + 1 | 0;
+    if (c >>> 0 > 2147483646) {
+     break a;
+    }
+    if (!c) {
+     break c;
+    }
+    a = a + 8 | 0;
+    if (h >>> 0 > a >>> 0 | e >>> 0 < a >>> 0) {
+     break a;
+    }
+    if (e - a >>> 0 < c << 1 >>> 0) {
+     break a;
+    }
+    q[b + 12 >> 2] = d + -3;
+    g = 0;
+    if ((d | 0) < 3) {
+     break b;
+    }
+   }
+   g = 1;
+  }
+  return g;
+ }
+ return 0;
+}
+function Iv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ i = q[b + 4 >> 2];
+ a : {
+  if (i >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 4) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  e = 1;
+  if ((g | 0) < 1) {
+   e = 0;
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  if (!d) {
+   break a;
+  }
+  if (i >>> 0 > c >>> 0) {
+   e = 0;
+   break a;
+  }
+  if (f >>> 0 < c >>> 0) {
+   e = 0;
+   break a;
+  }
+  if (f - c >>> 0 < d >>> 0) {
+   e = 0;
+   break a;
+  }
+  q[b + 12 >> 2] = g + -2;
+  if ((g | 0) < 2) {
+   e = 0;
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  if (!d) {
+   break a;
+  }
+  c = c + d | 0;
+  b : {
+   if (i >>> 0 > c >>> 0 | f >>> 0 < c >>> 0 | f - c >>> 0 <= 3) {
+    break b;
+   }
+   q[b + 12 >> 2] = g + -3;
+   if ((r[c + 1 | 0] | r[c | 0] << 8) != 1 | (g | 0) < 3) {
+    break b;
+   }
+   q[h + 12 >> 2] = c;
+   if (Mv(c + 4 | 0, b, h + 12 | 0)) {
+    break a;
+   }
+  }
+  c = q[b + 24 >> 2];
+  if (c >>> 0 > 31) {
+   e = 0;
+   break a;
+  }
+  q[b + 24 >> 2] = c + 1;
+  e = 0;
+  if (!r[b + 20 | 0]) {
+   break a;
+  }
+  o[a | 0] = 0;
+  o[a + 1 | 0] = 0;
+  o[a + 2 | 0] = 0;
+  o[a + 3 | 0] = 0;
+  e = 1;
+ }
+ Ca = h + 16 | 0;
+ return e;
+}
+function Or(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ a : {
+  e = q[b + 4 >> 2];
+  if (r[a + 8 | 0] ? 0 : q[e + 72 >> 2] == q[e + 76 >> 2]) {
+   break a;
+  }
+  d = r[c + 5 | 0] | r[c + 4 | 0] << 8;
+  b : {
+   if ((d | 0) == 65535) {
+    break b;
+   }
+   f = q[a + 20 >> 2];
+   d = f + (d << 2) | 0;
+   d = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+   f = Kr((d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + f | 0, q[q[e + 88 >> 2] + w(q[a + 12 >> 2], 20) >> 2], q[b + 8 >> 2]);
+   if (!f) {
+    break b;
+   }
+   d = q[e + 76 >> 2];
+   g = q[e + 72 >> 2] + 1 | 0;
+   g = g >>> 0 > d >>> 0 ? d : g;
+   d = q[a + 12 >> 2];
+   if (g - d >>> 0 >= 2) {
+    DG(e, d, g);
+    d = q[a + 12 >> 2];
+   }
+   q[q[e + 88 >> 2] + w(d, 20) >> 2] = r[f + 1 | 0] | r[f | 0] << 8;
+   o[a | 0] = 1;
+  }
+  d = r[c + 7 | 0] | r[c + 6 | 0] << 8;
+  c : {
+   if ((d | 0) == 65535) {
+    break c;
+   }
+   f = q[a + 20 >> 2];
+   d = f + (d << 2) | 0;
+   d = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+   g = (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + f | 0;
+   d = q[e + 76 >> 2] + -1 | 0;
+   f = q[e + 72 >> 2];
+   d = w(f >>> 0 > d >>> 0 ? d : f, 20);
+   b = Kr(g, q[d + q[e + 88 >> 2] >> 2], q[b + 8 >> 2]);
+   if (!b) {
+    break c;
+   }
+   q[d + q[e + 88 >> 2] >> 2] = r[b + 1 | 0] | r[b | 0] << 8;
+   o[a | 0] = 1;
+  }
+  if (o[c + 2 | 0] > -1) {
+   break a;
+  }
+  o[a + 8 | 0] = 1;
+  q[a + 12 >> 2] = q[e + 72 >> 2];
+ }
+}
+function Ov(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  h = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  d = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!d) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < d >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!d) {
+    break b;
+   }
+   c = c + d | 0;
+   c : {
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 6) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -3;
+    if ((f | 0) < 3) {
+     break c;
+    }
+    d = c + 4 | 0;
+    if (g >>> 0 > d >>> 0 | e >>> 0 < d >>> 0 | e - d >>> 0 < 2) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -4;
+    if ((f | 0) < 4) {
+     break c;
+    }
+    d = r[c + 5 | 0] | r[c + 4 | 0] << 8;
+    if (!d) {
+     break b;
+    }
+    c = c + 6 | 0;
+    if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < d << 1 >>> 0) {
+     break c;
+    }
+    q[b + 12 >> 2] = f + -5;
+    if ((f | 0) > 4) {
+     break b;
+    }
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   h = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function ux(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = Ca - 32 | 0;
+ Ca = f;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 10) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  e = r[a + 7 | 0];
+  c = r[a + 6 | 0];
+  d = r[a + 5 | 0];
+  g = r[a + 4 | 0];
+  q[f + 16 >> 2] = a + 4;
+  d = X0(d | g << 8);
+  q[f + 20 >> 2] = d;
+  j = f, k = (X0(e | c << 8) + d | 0) + 1 | 0, q[j + 24 >> 2] = k;
+  e = 0;
+  if (!dv(a + 2 | 0, b, a)) {
+   break a;
+  }
+  q[f + 12 >> 2] = f + 16;
+  g = q[b + 4 >> 2];
+  d = a + 8 | 0;
+  if (g >>> 0 > d >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < d >>> 0 | c - d >>> 0 < 2) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  h = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+  if (!h) {
+   e = 1;
+   break a;
+  }
+  i = g;
+  g = a + 10 | 0;
+  if (i >>> 0 > g >>> 0 | c >>> 0 < g >>> 0 | c - g >>> 0 < h << 1 >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = d + -2;
+  if ((d | 0) < 2) {
+   break a;
+  }
+  e = 1;
+  c = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+  if (!c) {
+   break a;
+  }
+  e = 0;
+  b : {
+   while (1) {
+    if (!Bx(((e << 1) + a | 0) + 10 | 0, b, a, f + 12 | 0)) {
+     break b;
+    }
+    e = e + 1 | 0;
+    if ((c | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   e = 1;
+   break a;
+  }
+  e = 0;
+ }
+ Ca = f + 32 | 0;
+ return e;
+}
+function Ji(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ g = q[a + 28 >> 2];
+ q[h + 12 >> 2] = 0;
+ q[c >> 2] = 0;
+ f = Og(a);
+ e = -1;
+ a : {
+  if (!f) {
+   break a;
+  }
+  f = f & 255;
+  if (f & 128) {
+   f = f << 8 & 32512 | Og(a) & 255;
+  }
+  e = 0;
+  if (f >>> 0 > b >>> 0) {
+   break a;
+  }
+  b = Te(g, 2, 0, f + 1 | 0, 0, h + 12 | 0);
+  e = 0;
+  if (q[h + 12 >> 2]) {
+   break a;
+  }
+  q[c >> 2] = f;
+  if (f) {
+   c = 0;
+   while (1) {
+    e = Og(a);
+    i = e & 255;
+    b : {
+     if (e & 128) {
+      c = Pg(a) + c | 0;
+      p[b + (d << 1) >> 1] = c;
+      d = d + 1 | 0;
+      g = 0;
+      e = i & 127;
+      if (!e) {
+       break b;
+      }
+      while (1) {
+       c = Pg(a) + c | 0;
+       p[b + (d << 1) >> 1] = c;
+       d = d + 1 | 0;
+       if (d >>> 0 >= f >>> 0) {
+        break b;
+       }
+       g = g + 1 | 0;
+       if (g >>> 0 < e >>> 0) {
+        continue;
+       }
+       break;
+      }
+      break b;
+     }
+     c = (Og(a) & 255) + c | 0;
+     p[b + (d << 1) >> 1] = c;
+     d = d + 1 | 0;
+     g = 0;
+     if (!e) {
+      break b;
+     }
+     while (1) {
+      c = (Og(a) & 255) + c | 0;
+      p[b + (d << 1) >> 1] = c;
+      d = d + 1 | 0;
+      if (d >>> 0 >= f >>> 0) {
+       break b;
+      }
+      g = g + 1 | 0;
+      if (g >>> 0 < i >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (d >>> 0 < f >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  e = b;
+ }
+ d = e;
+ Ca = h + 16 | 0;
+ return d;
+}
+function Tf(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ if (!a) {
+  return 35;
+ }
+ h = 6;
+ a : {
+  if (!b) {
+   break a;
+  }
+  d = q[b + 4 >> 2];
+  if ((d | 0) < 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if ((f | 0) < 0) {
+   break a;
+  }
+  e = q[b >> 2];
+  if (e >>> 0 > 4) {
+   break a;
+  }
+  i = q[a + 88 >> 2];
+  q[q[i + 40 >> 2] + 12 >> 2] = 0;
+  j = q[q[a + 96 >> 2] + 12 >> 2];
+  c = q[j + 88 >> 2];
+  if (c) {
+   return n[c](i, b) | 0;
+  }
+  b : {
+   if ((q[a + 8 >> 2] & 3) == 2) {
+    h = 7;
+    if (e) {
+     break a;
+    }
+    c = d;
+    g = f;
+    h = 23;
+    e = q[b + 12 >> 2];
+    if (e) {
+     c = (w(d, e) + 36 | 0) / 72 | 0;
+    }
+    e = c;
+    b = q[b + 16 >> 2];
+    if (b) {
+     g = (w(b, f) + 36 | 0) / 72 | 0;
+    }
+    b = f ? g : c;
+    f = (d ? e : b) + 32 & -64;
+    if (!f) {
+     break a;
+    }
+    g = (d ? b : g) + 32 & -64;
+    if (!g) {
+     break a;
+    }
+    d = q[a + 28 >> 2];
+    if ((d | 0) < 1) {
+     break a;
+    }
+    e = q[a + 32 >> 2];
+    b = 0;
+    while (1) {
+     c = e + (b << 4) | 0;
+     if (!((q[c + 8 >> 2] + 32 & -64) == (f | 0) ? (g | 0) == (q[c + 12 >> 2] + 32 & -64) : 0)) {
+      b = b + 1 | 0;
+      if ((d | 0) != (b | 0)) {
+       continue;
+      }
+      break a;
+     }
+     break;
+    }
+    h = 6;
+    if ((d | 0) <= (b | 0)) {
+     break a;
+    }
+    c = q[j + 92 >> 2];
+    if (c) {
+     return n[c](i, b) | 0;
+    }
+    Pf(a, b);
+    break b;
+   }
+   Rf(a, b);
+  }
+  h = 0;
+ }
+ return h;
+}
+function jy(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ c = d ? d + a | 0 : 271040;
+ d = q[b + 96 >> 2];
+ i = ct(c, q[q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) >> 2]);
+ a : {
+  if ((i | 0) == -1) {
+   break a;
+  }
+  e = q[d + 72 >> 2];
+  q[b + 36 >> 2] = 1;
+  q[b >> 2] = e;
+  c = q[q[b + 4 >> 2] + 96 >> 2];
+  q[b + 40 >> 2] = q[c + 76 >> 2];
+  f = (e | 0) == q[c + 72 >> 2] ? r[(q[c + 88 >> 2] + w(e, 20) | 0) + 15 | 0] : f;
+  q[b + 8 >> 2] = 8;
+  o[b + 20 | 0] = f;
+  if (!dx(b)) {
+   break a;
+  }
+  e = 271040;
+  c = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  f = q[b >> 2];
+  g = ct(c ? c + a | 0 : 271040, q[q[d + 88 >> 2] + w(f, 20) >> 2]);
+  if ((g | 0) == -1) {
+   break a;
+  }
+  c = r[a + 11 | 0] | r[a + 10 | 0] << 8;
+  c = c ? c + a | 0 : 271040;
+  if ((r[c | 0] << 8 | r[c + 1 | 0]) >>> 0 > g >>> 0) {
+   e = c + (g << 1) | 0;
+   e = r[e + 2 | 0] << 8 | r[e + 3 | 0];
+   e = e ? e + c | 0 : 271040;
+  }
+  c = r[e + 1 | 0] | r[e | 0] << 8;
+  if (!c) {
+   break a;
+  }
+  g = q[d + 88 >> 2];
+  h = r[(g + w(f, 20) | 0) + 14 | 0] >>> 5 | 0;
+  b : {
+   if (!h) {
+    break b;
+   }
+   d = r[(g + w(q[d + 72 >> 2], 20) | 0) + 14 | 0];
+   if ((h | 0) != (d >>> 5 | 0)) {
+    break b;
+   }
+   d = d & 16 ? 0 : d & 15;
+   if (!d) {
+    break b;
+   }
+   c = c >>> 0 > d >>> 0 ? d : c;
+  }
+  d = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+  h = hy(d ? d + a | 0 : 271040, b, i, c + -1 | 0, e, r[a + 7 | 0] | r[a + 6 | 0] << 8, f);
+ }
+ return h;
+}
+function gA(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ var g = 0, h = 0, i = 0, j = 0;
+ f = q[b + 8 >> 2];
+ a : {
+  if (f) {
+   break a;
+  }
+  while (1) {
+   f = q[b >> 2];
+   if (!f) {
+    f = 271040;
+    break a;
+   }
+   a = N$(1, 48);
+   if (a) {
+    mF(a, f);
+   }
+   g = q[b + 8 >> 2];
+   f = a ? a : 271040;
+   q[b + 8 >> 2] = g ? g : f;
+   if (!g) {
+    break a;
+   }
+   if (!(!a | !f)) {
+    a = q[f + 44 >> 2];
+    Cq(a ? a : 271040);
+    M$(f);
+   }
+   f = q[b + 8 >> 2];
+   if (!f) {
+    continue;
+   }
+   break;
+  }
+ }
+ j = 271040;
+ a = q[f + 4 >> 2];
+ b = a ? a : 271040;
+ a = r[b + 6 | 0] | r[b + 7 | 0] << 8 | (r[b + 8 | 0] << 16 | r[b + 9 | 0] << 24);
+ a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ b : {
+  if ((a | 0) < 1) {
+   break b;
+  }
+  a = a + -1 | 0;
+  g = 0;
+  while (1) {
+   c : {
+    i = a + g >>> 1 | 0;
+    h = w(i, 11) + b | 0;
+    h = r[h + 11 | 0] << 8 | r[h + 10 | 0] << 16 | r[h + 12 | 0];
+    d : {
+     if (h >>> 0 > d >>> 0) {
+      a = i + -1 | 0;
+      break d;
+     }
+     if ((d | 0) == (h | 0)) {
+      break c;
+     }
+     g = i + 1 | 0;
+    }
+    if ((g | 0) <= (a | 0)) {
+     continue;
+    }
+    break b;
+   }
+   break;
+  }
+  j = (w(i, 11) + b | 0) + 10 | 0;
+ }
+ b = nA(j, c, e, b);
+ e : {
+  if (b >>> 0 <= 1) {
+   if (b - 1) {
+    break e;
+   }
+   return 1;
+  }
+  a = q[f + 8 >> 2];
+  if (!a) {
+   return 0;
+  }
+  b = n[a](q[f + 12 >> 2], c, e) | 0;
+ }
+ return b | 0;
+}
+function eV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ a : {
+  b : {
+   c : {
+    f = b + 4 | 0;
+    if (f >>> 0 > 32) {
+     break c;
+    }
+    d : {
+     switch (f - 1 | 0) {
+     case 19:
+      if (n[q[e + 24 >> 2]](e, (q[e + 64 >> 2] << 1) + c | 0, d, 496374)) {
+       q[a >> 2] = 920;
+       return 11;
+      }
+      if (n[q[e + 24 >> 2]](e, (q[e + 64 >> 2] << 1) + c | 0, d, 496381)) {
+       q[a >> 2] = 921;
+       return 33;
+      }
+      if (n[q[e + 24 >> 2]](e, (q[e + 64 >> 2] << 1) + c | 0, d, 496389)) {
+       q[a >> 2] = 922;
+       return 39;
+      }
+      if (!n[q[e + 24 >> 2]](e, (q[e + 64 >> 2] << 1) + c | 0, d, 496397)) {
+       break b;
+      }
+      q[a >> 2] = 923;
+      return 17;
+     case 14:
+      return 55;
+     case 16:
+      return 56;
+     case 31:
+      return 60;
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 8:
+     case 9:
+     case 10:
+     case 11:
+     case 12:
+     case 13:
+     case 15:
+     case 17:
+     case 20:
+     case 21:
+     case 22:
+     case 23:
+     case 24:
+     case 25:
+     case 26:
+     case 27:
+     case 28:
+     case 30:
+      break c;
+     case 29:
+      break d;
+     default:
+      break a;
+     }
+    }
+    q[a >> 2] = 924;
+    return 3;
+   }
+   if ((b | 0) != 28) {
+    break b;
+   }
+   g = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  g = -1;
+ }
+ return g | 0;
+}
+function VG(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ a : {
+  if (c ? 0 : b) {
+   break a;
+  }
+  if (!a) {
+   return;
+  }
+  if (!(o[a + 9 | 0] & 1)) {
+   break a;
+  }
+  f = q[a + 128 >> 2];
+  d = q[f + 32 >> 2];
+  e = d + 2 | 0;
+  b : {
+   if (e >>> 0 > 2) {
+    break b;
+   }
+   c : {
+    switch (e - 1 | 0) {
+    case 0:
+     break b;
+    case 1:
+     break c;
+    default:
+     break a;
+    }
+   }
+   d = q[a + 96 >> 2];
+   e = q[q[d >> 2] + 32 >> 2];
+   d : {
+    if (!e) {
+     d = 0;
+     break d;
+    }
+    d = n[e](d, 272879) | 0;
+    f = q[a + 128 >> 2];
+   }
+   q[f + 32 >> 2] = d ? d : -2;
+  }
+  if (!d) {
+   break a;
+  }
+  d = q[d + 20 >> 2];
+  if (!d) {
+   break a;
+  }
+  b = (n[d](a, b, c) | 0) + 1 | 0;
+  if (b >>> 0 > 1 | b - 1) {
+   break a;
+  }
+  e : {
+   if (!(o[a + 9 | 0] & 1)) {
+    break e;
+   }
+   d = q[a + 128 >> 2];
+   b = q[d + 36 >> 2];
+   c = b + 2 | 0;
+   f : {
+    if (c >>> 0 > 2) {
+     break f;
+    }
+    g : {
+     switch (c - 1 | 0) {
+     case 0:
+      break f;
+     case 1:
+      break g;
+     default:
+      break e;
+     }
+    }
+    b = q[a + 96 >> 2];
+    c = q[q[b >> 2] + 32 >> 2];
+    h : {
+     if (!c) {
+      b = 0;
+      break h;
+     }
+     b = n[c](b, 272893) | 0;
+     d = q[a + 128 >> 2];
+    }
+    q[d + 36 >> 2] = b ? b : -2;
+   }
+   if (!b) {
+    break e;
+   }
+   b = q[b + 28 >> 2];
+   if (!b) {
+    break e;
+   }
+   n[b](a);
+  }
+  b = q[a + 120 >> 2];
+  if (!b) {
+   break a;
+  }
+  n[b](q[a + 116 >> 2]);
+  q[a + 116 >> 2] = 0;
+ }
+}
+function CH(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ n = q[a + 2744 >> 2] & 4;
+ f = 64;
+ a : {
+  if (n) {
+   break a;
+  }
+  f = (e | 0) == 1 ? 55 : 49;
+  if (!(!(o[b + 12 | 0] & 1) | !(o[c + 12 | 0] & 1))) {
+   break a;
+  }
+  f = (e | 0) == 1 ? 61 : 59;
+ }
+ k = q[c + 4 >> 2];
+ l = q[b + 4 >> 2];
+ i = BH(a, e, k - l | 0);
+ m = (((k + l | 0) / 2 | 0) + d | 0) + ((i | 0) / -2 | 0) | 0;
+ a = m & 63;
+ b : {
+  if (!a) {
+   break b;
+  }
+  g = i + m & 63;
+  if (!g) {
+   break b;
+  }
+  e = 64 - a | 0;
+  if ((i | 0) <= (f | 0)) {
+   if ((g | 0) >= (i | 0)) {
+    break b;
+   }
+   h = e >>> 0 > g >>> 0 ? 0 - g | 0 : e;
+   break b;
+  }
+  if (f >>> 0 <= 63) {
+   if (f >>> 0 <= g >>> 0 | 64 - g >>> 0 >= f >>> 0 | (f >>> 0 <= e >>> 0 | a >>> 0 >= f >>> 0)) {
+    break b;
+   }
+  }
+  j = i & 63;
+  c : {
+   if (j >>> 0 <= 31) {
+    if (e >>> 0 <= j >>> 0) {
+     break b;
+    }
+    if (g >>> 0 > j >>> 0) {
+     break c;
+    }
+    break b;
+   }
+   j = 64 - f | 0;
+  }
+  d = e - j | 0;
+  a = f - e | 0;
+  h = (a | 0) > (d | 0) ? d : 0 - a | 0;
+  e = h >> 31;
+  d = f - g | 0;
+  a = g - j | 0;
+  d = (a | 0) > (d | 0) ? d : 0 - a | 0;
+  a = d >> 31;
+  h = (e ^ e + h) > (a ^ a + d) ? d : h;
+ }
+ a = h;
+ d : {
+  if (n) {
+   break d;
+  }
+  a = 14;
+  if ((h | 0) > 14) {
+   break d;
+  }
+  a = (h | 0) > -14 ? h : -14;
+ }
+ e = a + m | 0;
+ d = e + i | 0;
+ f = b;
+ b = (k | 0) > (l | 0);
+ q[f + 8 >> 2] = b ? e : d;
+ q[c + 8 >> 2] = b ? d : e;
+ return a;
+}
+function Jo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = a + 16 | 0;
+ if (d >>> 0 > t[b + 160 >> 2]) {
+  kf(b, 8);
+ }
+ c = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+ h = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+ c = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+ c = c << 8 & 16711680 | c << 24 | (c >>> 8 & 65280 | c >>> 24);
+ if (!((c + -16 >>> 0) / 12 >>> 0 >= h >>> 0 ? !(c >>> 0 < 16 | c >>> 0 > q[b + 160 >> 2] - a >>> 0) : 0)) {
+  kf(b, 8);
+ }
+ if (h) {
+  a = 0;
+  while (1) {
+   c = f;
+   g = r[d + 8 | 0] | r[d + 9 | 0] << 8 | (r[d + 10 | 0] << 16 | r[d + 11 | 0] << 24);
+   f = r[d + 4 | 0] | r[d + 5 | 0] << 8 | (r[d + 6 | 0] << 16 | r[d + 7 | 0] << 24);
+   f = f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24);
+   e = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+   e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+   if (f >>> 0 < e >>> 0) {
+    kf(b, 8);
+   }
+   if (!(!a | e >>> 0 > c >>> 0)) {
+    kf(b, 8);
+   }
+   a : {
+    if (!q[b + 164 >> 2]) {
+     break a;
+    }
+    c = q[b + 172 >> 2];
+    e = f - e | 0;
+    if ((g << 8 & 16711680 | g << 24 | (g >>> 8 & 65280 | g >>> 24)) >>> 0 < c - e >>> 0 ? c >>> 0 >= e >>> 0 : 0) {
+     break a;
+    }
+    kf(b, 16);
+   }
+   d = d + 12 | 0;
+   a = a + 1 | 0;
+   if ((h | 0) != (a | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function dQ(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ e = Ca - 32 | 0;
+ Ca = e;
+ c = g0(a);
+ f = g0(b);
+ d = 0;
+ a : {
+  if ((c | 0) < (f | 0)) {
+   break a;
+  }
+  d = 1;
+  while (1) {
+   g = c;
+   b : {
+    if (!d) {
+     break b;
+    }
+    q[e + 20 >> 2] = a;
+    q[e + 16 >> 2] = 0;
+    q[e + 4 >> 2] = b;
+    q[e >> 2] = 0;
+    while (1) {
+     c : {
+      c = _P(e + 16 | 0, 0);
+      d = _P(e, 0);
+      if (!c) {
+       break c;
+      }
+      if ((c | 0) == (d | 0)) {
+       continue;
+      }
+     }
+     break;
+    }
+    if (d ? (c | 0) != (d | 0) : 0) {
+     break b;
+    }
+    d = a;
+    if ((f | 0) == (g | 0)) {
+     break a;
+    }
+    c = r[a + f | 0];
+    d = a;
+    if (c >>> 0 < 48) {
+     break a;
+    }
+    if (c >>> 0 < 58) {
+     break b;
+    }
+    d = a;
+    if (c >>> 0 < 65) {
+     break a;
+    }
+    if (c >>> 0 < 91) {
+     break b;
+    }
+    d = a;
+    if (c >>> 0 < 97) {
+     break a;
+    }
+    if ((c + -123 & 255) >>> 0 >= 4) {
+     break b;
+    }
+    d = a;
+    break a;
+   }
+   d = 1;
+   c = r[a | 0];
+   d : {
+    if (c >>> 0 < 48) {
+     break d;
+    }
+    e : {
+     if (c >>> 0 < 58) {
+      break e;
+     }
+     if (c >>> 0 < 65) {
+      break d;
+     }
+     if (c >>> 0 < 91) {
+      break e;
+     }
+     if (c >>> 0 < 97 | (c + -123 & 255) >>> 0 < 4) {
+      break d;
+     }
+    }
+    d = 0;
+   }
+   c = g + -1 | 0;
+   a = a + 1 | 0;
+   if ((g | 0) > (f | 0)) {
+    continue;
+   }
+   break;
+  }
+  d = 0;
+ }
+ Ca = e + 32 | 0;
+ return d;
+}
+function Ph(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ f = q[a + 4 >> 2] & 2147418112;
+ a : {
+  if (d & 16) {
+   if (!(r[a + 9 | 0] & 128 ? 0 : !f)) {
+    f = 7;
+    if (!(r[a + 740 | 0] & 16)) {
+     break a;
+    }
+   }
+   if (!c) {
+    f = 0;
+    break a;
+   }
+   d = 0;
+   while (1) {
+    b : {
+     if (r[a + 292 | 0]) {
+      n[q[q[a + 540 >> 2] + 140 >> 2]](a, 1, b + d | 0, g + 14 | 0, g + 12 | 0);
+      f = s[g + 12 >> 1];
+      break b;
+     }
+     i = g;
+     c : {
+      if (s[a + 372 >> 1] != 65535) {
+       f = p[a + 442 >> 1];
+       p[g + 14 >> 1] = f;
+       f = f - p[a + 444 >> 1] | 0;
+       h = f >> 31;
+       f = h ^ f + h;
+       break c;
+      }
+      f = p[a + 220 >> 1];
+      p[g + 14 >> 1] = f;
+      f = f - p[a + 222 >> 1] | 0;
+      h = f >> 31;
+      f = h ^ f + h;
+     }
+     p[i + 12 >> 1] = f;
+    }
+    q[(d << 2) + e >> 2] = f & 65535;
+    d = d + 1 | 0;
+    if ((d | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   f = 0;
+   break a;
+  }
+  if (!(r[a + 9 | 0] & 128 ? 0 : !f)) {
+   f = 7;
+   if (!(r[a + 740 | 0] & 2)) {
+    break a;
+   }
+  }
+  f = 0;
+  if (!c) {
+   break a;
+  }
+  d = 0;
+  while (1) {
+   n[q[q[a + 540 >> 2] + 140 >> 2]](a, 0, b + d | 0, g + 10 | 0, g + 8 | 0);
+   q[(d << 2) + e >> 2] = s[g + 8 >> 1];
+   d = d + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = g + 16 | 0;
+ return f | 0;
+}
+function qD(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ g = q[b + 4 >> 2];
+ a : {
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0) {
+   break a;
+  }
+  c = f - a | 0;
+  if (c >>> 0 < 4) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((r[a + 1 | 0] | r[a | 0] << 8) != 1 | (d | 0) < 1 | c >>> 0 < 16) {
+   break a;
+  }
+  c = d + -2 | 0;
+  q[b + 12 >> 2] = c;
+  if ((r[a + 11 | 0] | r[a + 10 | 0] << 8) != 20 | (d | 0) < 2) {
+   break a;
+  }
+  e = r[a + 9 | 0];
+  h = r[a + 8 | 0];
+  if ((r[a + 15 | 0] | r[a + 14 | 0] << 8) >>> 0 < (e << 2 | h << 10) + 4 >>> 0) {
+   break a;
+  }
+  e = e | h << 8;
+  if (e) {
+   c = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+   c = c ? c + a | 0 : 271040;
+   if (g >>> 0 > c >>> 0 | f >>> 0 < c >>> 0 | f - c >>> 0 < w(e, 20) >>> 0) {
+    break a;
+   }
+   c = d + -3 | 0;
+   q[b + 12 >> 2] = c;
+   if ((d | 0) < 3) {
+    break a;
+   }
+  }
+  e = r[a + 13 | 0] | r[a + 12 | 0] << 8;
+  d = 0;
+  b : {
+   if (!e) {
+    break b;
+   }
+   d = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+   d = w(r[a + 9 | 0] | r[a + 8 | 0] << 8, 20) + (d ? d + a | 0 : 271040) | 0;
+  }
+  a = r[a + 15 | 0] | r[a + 14 | 0] << 8;
+  if (a) {
+   if (4294967295 / (a >>> 0) >>> 0 <= e >>> 0) {
+    break a;
+   }
+  }
+  a = w(a, e);
+  if (!a) {
+   return 1;
+  }
+  if (f >>> 0 < d >>> 0 | g >>> 0 > d >>> 0 | f - d >>> 0 < a >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = c + -1;
+  i = (c | 0) > 0;
+ }
+ return i;
+}
+function BA(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ f = q[a + 4 >> 2];
+ a : {
+  b : {
+   if ((f | 0) == 65536) {
+    g = 258;
+    break b;
+   }
+   if ((f | 0) != 131072) {
+    break a;
+   }
+   f = q[a + 8 >> 2];
+   g = r[f | 0] << 8 | r[f + 1 | 0];
+   if (!g) {
+    break a;
+   }
+  }
+  if ((c | 0) <= -1) {
+   c = g0(b);
+  }
+  if (!c) {
+   break a;
+  }
+  f = q[a + 28 >> 2];
+  c : {
+   if (f) {
+    break c;
+   }
+   i = g << 1;
+   while (1) {
+    e = 0;
+    f = L$(i);
+    if (!f) {
+     break a;
+    }
+    while (1) {
+     p[(e << 1) + f >> 1] = e;
+     e = e + 1 | 0;
+     if ((g | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    cC(f, g, a);
+    e = q[a + 28 >> 2];
+    q[a + 28 >> 2] = e ? e : f;
+    if (!e) {
+     break c;
+    }
+    M$(f);
+    f = q[a + 28 >> 2];
+    if (!f) {
+     continue;
+    }
+    break;
+   }
+  }
+  e = 0;
+  q[h + 8 >> 2] = 0;
+  q[h + 4 >> 2] = c;
+  q[h >> 2] = b;
+  if ((g | 0) < 1) {
+   break a;
+  }
+  e = g + -1 | 0;
+  c = 0;
+  d : {
+   while (1) {
+    g = c + e | 0;
+    b = g >>> 1 | 0;
+    g = dC(h, (g & -2) + f | 0, a);
+    e : {
+     if ((g | 0) <= -1) {
+      e = b + -1 | 0;
+      break e;
+     }
+     if (!g) {
+      break d;
+     }
+     c = b + 1 | 0;
+    }
+    if ((c | 0) <= (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   e = 0;
+   break a;
+  }
+  e = 1;
+  a = (b << 1) + f | 0;
+  if (!a) {
+   e = 0;
+   break a;
+  }
+  q[d >> 2] = s[a >> 1];
+ }
+ Ca = h + 16 | 0;
+ return e;
+}
+function Kv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ j = q[b + 4 >> 2];
+ a : {
+  if (j >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!i) {
+   d = 1;
+   break a;
+  }
+  h = a + 2 | 0;
+  if (j >>> 0 > h >>> 0 | e >>> 0 < h >>> 0 | e - h >>> 0 < w(i, 6) >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = f + -2;
+  if ((f | 0) < 2) {
+   break a;
+  }
+  d = 1;
+  h = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!h) {
+   break a;
+  }
+  f = 0;
+  while (1) {
+   b : {
+    i = w(f, 6) + a | 0;
+    d = i + 2 | 0;
+    e = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+    k = q[c >> 2];
+    q[g + 12 >> 2] = k;
+    q[g + 8 >> 2] = e << 8 & 16711680 | e << 24 | (e >>> 8 & 65280 | e >>> 24);
+    if (j >>> 0 > d >>> 0) {
+     break b;
+    }
+    e = q[b + 8 >> 2];
+    if (e >>> 0 < d >>> 0 | e - d >>> 0 <= 5) {
+     break b;
+    }
+    d = q[b + 12 >> 2];
+    q[b + 12 >> 2] = d + -1;
+    if ((d | 0) <= 0) {
+     break b;
+    }
+    q[g + 4 >> 2] = g + 8;
+    if (!Qv(i + 6 | 0, b, k, g + 4 | 0)) {
+     break b;
+    }
+    f = f + 1 | 0;
+    if ((h | 0) == (f | 0)) {
+     d = 1;
+     break a;
+    } else {
+     j = q[b + 4 >> 2];
+     continue;
+    }
+   }
+   break;
+  }
+  d = 0;
+ }
+ Ca = g + 16 | 0;
+ return d;
+}
+function iB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ a = q[a >> 2];
+ a = a ? a : 271040;
+ d = t[a + 16 >> 2] < 8 ? 271040 : q[a + 12 >> 2];
+ a = r[d + 4 | 0] | r[d + 5 | 0] << 8 | (r[d + 6 | 0] << 16 | r[d + 7 | 0] << 24);
+ e = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ if (e) {
+  if ((e | 0) != 1) {
+   a = q[b + 52 >> 2];
+   b = q[b + 48 >> 2];
+   a = b >>> 0 < a >>> 0 ? a : b;
+   f = a ? a : 1073741824;
+   a = r[d + 8 | 0] | r[d + 9 | 0] << 8 | (r[d + 10 | 0] << 16 | r[d + 11 | 0] << 24);
+   a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+   a = a ? a + d | 0 : 271040;
+   b = r[a | 0] << 8 | r[a + 1 | 0];
+   a = 1;
+   while (1) {
+    c = e >>> 0 > a >>> 0 ? ((a << 2) + d | 0) + 8 | 0 : 271040;
+    c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+    c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    c = c ? c + d | 0 : 271040;
+    c = r[c | 0] << 8 | r[c + 1 | 0];
+    if (!(f >>> 0 <= b >>> 0 | c >>> 0 <= b >>> 0 ? !(c >>> 0 < b >>> 0 ? f >>> 0 <= c >>> 0 : 0) : 0)) {
+     g = a;
+     b = c;
+    }
+    a = a + 1 | 0;
+    if ((e | 0) != (a | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = e >>> 0 > g >>> 0 ? ((g << 2) + d | 0) + 8 | 0 : 271040;
+  a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  a = a ? a + d | 0 : 271040;
+ } else {
+  a = 271040;
+ }
+ return a;
+}
+function nh(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0;
+ g = q[a >> 2];
+ f = hh(g, c, 4087);
+ if (!f) {
+  return 64;
+ }
+ a : {
+  c = q[a >> 2];
+  a = n[q[c + 4 >> 2]](c, 40) | 0;
+  if (!a) {
+   b = 64;
+   break a;
+  }
+  o[a + 24 | 0] = 0;
+  o[a + 25 | 0] = 0;
+  o[a + 26 | 0] = 0;
+  o[a + 27 | 0] = 0;
+  o[a + 28 | 0] = 0;
+  o[a + 29 | 0] = 0;
+  o[a + 30 | 0] = 0;
+  o[a + 31 | 0] = 0;
+  o[a | 0] = 0;
+  o[a + 1 | 0] = 0;
+  o[a + 2 | 0] = 0;
+  o[a + 3 | 0] = 0;
+  o[a + 4 | 0] = 0;
+  o[a + 5 | 0] = 0;
+  o[a + 6 | 0] = 0;
+  o[a + 7 | 0] = 0;
+  o[a + 32 | 0] = 0;
+  o[a + 33 | 0] = 0;
+  o[a + 34 | 0] = 0;
+  o[a + 35 | 0] = 0;
+  o[a + 36 | 0] = 0;
+  o[a + 37 | 0] = 0;
+  o[a + 38 | 0] = 0;
+  o[a + 39 | 0] = 0;
+  h = a + 16 | 0;
+  b = h;
+  o[b | 0] = 0;
+  o[b + 1 | 0] = 0;
+  o[b + 2 | 0] = 0;
+  o[b + 3 | 0] = 0;
+  o[b + 4 | 0] = 0;
+  o[b + 5 | 0] = 0;
+  o[b + 6 | 0] = 0;
+  o[b + 7 | 0] = 0;
+  o[a + 8 | 0] = 0;
+  o[a + 9 | 0] = 0;
+  o[a + 10 | 0] = 0;
+  o[a + 11 | 0] = 0;
+  o[a + 12 | 0] = 0;
+  o[a + 13 | 0] = 0;
+  o[a + 14 | 0] = 0;
+  o[a + 15 | 0] = 0;
+  q[a + 28 >> 2] = c;
+  b = le(a, f);
+  q[h >> 2] = f;
+  if (b) {
+   n[q[c + 8 >> 2]](c, a);
+   break a;
+  }
+  q[a + 28 >> 2] = c;
+  b = eh(a, 333319, e);
+  c = q[a + 28 >> 2];
+  e = q[a + 24 >> 2];
+  if (e) {
+   n[e](a);
+  }
+  n[q[c + 8 >> 2]](c, a);
+  if (b) {
+   break a;
+  }
+  q[d >> 2] = f;
+  return 0;
+ }
+ n[q[g + 8 >> 2]](g, f);
+ return b | 0;
+}
+function mh(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0;
+ g = q[a >> 2];
+ f = hh(g, c, 4085);
+ if (!f) {
+  return 64;
+ }
+ a : {
+  c = q[a >> 2];
+  a = n[q[c + 4 >> 2]](c, 40) | 0;
+  if (!a) {
+   b = 64;
+   break a;
+  }
+  o[a + 24 | 0] = 0;
+  o[a + 25 | 0] = 0;
+  o[a + 26 | 0] = 0;
+  o[a + 27 | 0] = 0;
+  o[a + 28 | 0] = 0;
+  o[a + 29 | 0] = 0;
+  o[a + 30 | 0] = 0;
+  o[a + 31 | 0] = 0;
+  o[a | 0] = 0;
+  o[a + 1 | 0] = 0;
+  o[a + 2 | 0] = 0;
+  o[a + 3 | 0] = 0;
+  o[a + 4 | 0] = 0;
+  o[a + 5 | 0] = 0;
+  o[a + 6 | 0] = 0;
+  o[a + 7 | 0] = 0;
+  o[a + 32 | 0] = 0;
+  o[a + 33 | 0] = 0;
+  o[a + 34 | 0] = 0;
+  o[a + 35 | 0] = 0;
+  o[a + 36 | 0] = 0;
+  o[a + 37 | 0] = 0;
+  o[a + 38 | 0] = 0;
+  o[a + 39 | 0] = 0;
+  h = a + 16 | 0;
+  b = h;
+  o[b | 0] = 0;
+  o[b + 1 | 0] = 0;
+  o[b + 2 | 0] = 0;
+  o[b + 3 | 0] = 0;
+  o[b + 4 | 0] = 0;
+  o[b + 5 | 0] = 0;
+  o[b + 6 | 0] = 0;
+  o[b + 7 | 0] = 0;
+  o[a + 8 | 0] = 0;
+  o[a + 9 | 0] = 0;
+  o[a + 10 | 0] = 0;
+  o[a + 11 | 0] = 0;
+  o[a + 12 | 0] = 0;
+  o[a + 13 | 0] = 0;
+  o[a + 14 | 0] = 0;
+  o[a + 15 | 0] = 0;
+  q[a + 28 >> 2] = c;
+  b = le(a, f);
+  q[h >> 2] = f;
+  if (b) {
+   n[q[c + 8 >> 2]](c, a);
+   break a;
+  }
+  q[a + 28 >> 2] = c;
+  b = eh(a, 333319, e);
+  c = q[a + 28 >> 2];
+  e = q[a + 24 >> 2];
+  if (e) {
+   n[e](a);
+  }
+  n[q[c + 8 >> 2]](c, a);
+  if (b) {
+   break a;
+  }
+  q[d >> 2] = f;
+  return 0;
+ }
+ n[q[g + 8 >> 2]](g, f);
+ return b | 0;
+}
+function gh(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0;
+ g = q[a >> 2];
+ f = hh(g, c, 4033);
+ if (!f) {
+  return 64;
+ }
+ a : {
+  c = q[a >> 2];
+  a = n[q[c + 4 >> 2]](c, 40) | 0;
+  if (!a) {
+   b = 64;
+   break a;
+  }
+  o[a + 24 | 0] = 0;
+  o[a + 25 | 0] = 0;
+  o[a + 26 | 0] = 0;
+  o[a + 27 | 0] = 0;
+  o[a + 28 | 0] = 0;
+  o[a + 29 | 0] = 0;
+  o[a + 30 | 0] = 0;
+  o[a + 31 | 0] = 0;
+  o[a | 0] = 0;
+  o[a + 1 | 0] = 0;
+  o[a + 2 | 0] = 0;
+  o[a + 3 | 0] = 0;
+  o[a + 4 | 0] = 0;
+  o[a + 5 | 0] = 0;
+  o[a + 6 | 0] = 0;
+  o[a + 7 | 0] = 0;
+  o[a + 32 | 0] = 0;
+  o[a + 33 | 0] = 0;
+  o[a + 34 | 0] = 0;
+  o[a + 35 | 0] = 0;
+  o[a + 36 | 0] = 0;
+  o[a + 37 | 0] = 0;
+  o[a + 38 | 0] = 0;
+  o[a + 39 | 0] = 0;
+  h = a + 16 | 0;
+  b = h;
+  o[b | 0] = 0;
+  o[b + 1 | 0] = 0;
+  o[b + 2 | 0] = 0;
+  o[b + 3 | 0] = 0;
+  o[b + 4 | 0] = 0;
+  o[b + 5 | 0] = 0;
+  o[b + 6 | 0] = 0;
+  o[b + 7 | 0] = 0;
+  o[a + 8 | 0] = 0;
+  o[a + 9 | 0] = 0;
+  o[a + 10 | 0] = 0;
+  o[a + 11 | 0] = 0;
+  o[a + 12 | 0] = 0;
+  o[a + 13 | 0] = 0;
+  o[a + 14 | 0] = 0;
+  o[a + 15 | 0] = 0;
+  q[a + 28 >> 2] = c;
+  b = le(a, f);
+  q[h >> 2] = f;
+  if (b) {
+   n[q[c + 8 >> 2]](c, a);
+   break a;
+  }
+  q[a + 28 >> 2] = c;
+  b = eh(a, 333319, e);
+  c = q[a + 28 >> 2];
+  e = q[a + 24 >> 2];
+  if (e) {
+   n[e](a);
+  }
+  n[q[c + 8 >> 2]](c, a);
+  if (b) {
+   break a;
+  }
+  q[d >> 2] = f;
+  return 0;
+ }
+ n[q[g + 8 >> 2]](g, f);
+ return b | 0;
+}
+function Rv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ d = q[b + 4 >> 2];
+ a : {
+  if (d >>> 0 > a >>> 0) {
+   break a;
+  }
+  g = q[b + 8 >> 2];
+  if (g >>> 0 < a >>> 0 | g - a >>> 0 < 4) {
+   break a;
+  }
+  h = q[b + 12 >> 2];
+  q[b + 12 >> 2] = h + -1;
+  if ((h | 0) < 1) {
+   break a;
+  }
+  e = a + 2 | 0;
+  if (d >>> 0 > e >>> 0 | g >>> 0 < e >>> 0 | g - e >>> 0 < 2) {
+   break a;
+  }
+  q[b + 12 >> 2] = h + -2;
+  if ((h | 0) < 2) {
+   break a;
+  }
+  e = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (e) {
+   i = d;
+   d = a + 4 | 0;
+   if (i >>> 0 > d >>> 0 | g >>> 0 < d >>> 0 | g - d >>> 0 < e << 1 >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = h + -3;
+   if ((h | 0) < 3) {
+    break a;
+   }
+  }
+  d = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!d) {
+    break b;
+   }
+   q[f + 12 >> 2] = c ? q[c >> 2] : 0;
+   if (!Sv(a, b, a, f + 12 | 0)) {
+    break a;
+   }
+   if (!c | (r[a + 1 | 0] | r[a | 0] << 8) | q[c >> 2] != 1936292453) {
+    break b;
+   }
+   e = q[c + 4 >> 2];
+   if (!e | e >>> 0 >= a >>> 0) {
+    break b;
+   }
+   d = d + (e - a | 0) | 0;
+   if (d >>> 0 > 65535) {
+    break b;
+   }
+   e = q[b + 24 >> 2];
+   if (e >>> 0 > 31) {
+    break b;
+   }
+   q[b + 24 >> 2] = e + 1;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a + 1 | 0] = d;
+   o[a | 0] = (d & 65280) >>> 8;
+   q[f + 8 >> 2] = q[c >> 2];
+   if (!Sv(a, b, a, f + 8 | 0)) {
+    break a;
+   }
+  }
+  j = 1;
+ }
+ Ca = f + 16 | 0;
+ return j;
+}
+function OO(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0, t = 0, u = 0, v = 0;
+ if (c) {
+  j = d + 6 | 0;
+  g = d << 4;
+  l = g << 1;
+  m = g + 96 << 1;
+  while (1) {
+   d = a;
+   f = 0;
+   i = 0;
+   if (j) {
+    while (1) {
+     n = f >>> 0 < g >>> 0 ? (f << 1) + b | 0 : 437888;
+     e = f + -16 | 0;
+     o = e >>> 0 < g >>> 0 ? (e << 1) + b | 0 : 437888;
+     e = f + -32 | 0;
+     q = e >>> 0 < g >>> 0 ? (e << 1) + b | 0 : 437888;
+     e = f + -48 | 0;
+     r = e >>> 0 < g >>> 0 ? (e << 1) + b | 0 : 437888;
+     e = f + -64 | 0;
+     t = e >>> 0 < g >>> 0 ? (e << 1) + b | 0 : 437888;
+     e = f + -80 | 0;
+     u = e >>> 0 < g >>> 0 ? (e << 1) + b | 0 : 437888;
+     e = f + -96 | 0;
+     v = e >>> 0 < g >>> 0 ? (e << 1) + b | 0 : 437888;
+     h = 0;
+     while (1) {
+      e = h << 1;
+      p[e + d >> 1] = (((w(s[e + r >> 1], 20) + w(s[e + q >> 1] + s[e + t >> 1] & 65535, 15) | 0) + w(s[e + o >> 1] + s[e + u >> 1] & 65535, 6) | 0) + (s[e + n >> 1] + s[e + v >> 1] & 65535) | 0) + 32 >>> 6;
+      h = h + 1 | 0;
+      if ((h | 0) != 16) {
+       continue;
+      }
+      break;
+     }
+     f = f + 16 | 0;
+     d = d + 32 | 0;
+     i = i + 1 | 0;
+     if ((i | 0) != (j | 0)) {
+      continue;
+     }
+     break;
+    }
+    a = a + m | 0;
+   }
+   b = b + l | 0;
+   k = k + 16 | 0;
+   if (k >>> 0 < c >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function eD(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   if (!a | !q[a >> 2]) {
+    break b;
+   }
+   if (q[a >> 2] <= 0) {
+    break a;
+   }
+   b = q[a >> 2];
+   q[a >> 2] = b + -1;
+   if ((b | 0) != 1) {
+    break b;
+   }
+   q[a >> 2] = -57005;
+   b = q[a + 8 >> 2];
+   if (b) {
+    c : {
+     if (!q[b + 8 >> 2]) {
+      c = b + 12 | 0;
+      M$(q[c >> 2]);
+      q[c >> 2] = 0;
+      q[b + 4 >> 2] = 0;
+      q[b + 8 >> 2] = 0;
+      break c;
+     }
+     while (1) {
+      c = q[b >> 2];
+      q[b >> 2] = 1;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     c = q[b + 8 >> 2];
+     if (c) {
+      while (1) {
+       e = c + -1 | 0;
+       d = q[b + 12 >> 2] + w(e, 12) | 0;
+       c = q[d + 8 >> 2];
+       d = q[d + 4 >> 2];
+       q[b + 8 >> 2] = e;
+       q[b >> 2] = 0;
+       if (c) {
+        n[c](d);
+       }
+       while (1) {
+        c = q[b >> 2];
+        q[b >> 2] = 1;
+        if (c) {
+         continue;
+        }
+        break;
+       }
+       c = q[b + 8 >> 2];
+       if (c) {
+        continue;
+       }
+       break;
+      }
+     }
+     M$(q[b + 12 >> 2]);
+     q[b + 8 >> 2] = 0;
+     q[b + 12 >> 2] = 0;
+     q[b >> 2] = 0;
+     q[b + 4 >> 2] = 0;
+    }
+    M$(b);
+   }
+   b = q[a + 80 >> 2];
+   if (b) {
+    n[b](q[a + 76 >> 2]);
+   }
+   eD(q[a + 12 >> 2]);
+   hF(q[a + 16 >> 2]);
+   wC(q[a + 72 >> 2]);
+   M$(q[a + 64 >> 2]);
+   M$(q[a + 68 >> 2]);
+   M$(a);
+  }
+  return;
+ }
+ J(250678, 250703, 279, 250738);
+ F();
+}
+function Gm(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ b = q[a + 52 >> 2];
+ c = r[a + 32 | 0];
+ a : {
+  b : {
+   c : {
+    if (c) {
+     break c;
+    }
+    d = q[a + 24 >> 2];
+    if (d >>> 0 >= t[a + 28 >> 2]) {
+     break c;
+    }
+    if (t[a + 56 >> 2] < t[a + 60 >> 2]) {
+     break b;
+    }
+   }
+   if (t[a + 56 >> 2] >= t[a + 60 >> 2]) {
+    b = b + 1 | 0;
+    q[a + 52 >> 2] = b;
+    e = -1;
+    if (b >>> 0 > 16) {
+     break a;
+    }
+    d = a;
+    if (b >>> 0 < t[a + 40 >> 2]) {
+     e = (1 << b) + -256 | 0;
+    } else {
+     e = q[a + 48 >> 2] + 1 | 0;
+    }
+    q[d + 60 >> 2] = e;
+   }
+   if (c) {
+    q[a + 60 >> 2] = 256;
+    q[a + 52 >> 2] = 9;
+    o[a + 32 | 0] = 0;
+    b = 9;
+   }
+   e = -1;
+   if (q[a + 4 >> 2]) {
+    break a;
+   }
+   d = 0;
+   c = Ig(q[a + 164 >> 2], a + 8 | 0, b);
+   q[a + 24 >> 2] = 0;
+   f = c << 3;
+   q[a + 28 >> 2] = f;
+   q[a + 36 >> 2] = c + q[a + 36 >> 2];
+   g = q[a + 52 >> 2];
+   q[a + 4 >> 2] = c >>> 0 < g >>> 0;
+   if (f >>> 0 <= g >>> 0) {
+    break a;
+   }
+   q[a + 28 >> 2] = (f | 1) - g;
+   if (!c) {
+    break a;
+   }
+  }
+  q[a + 24 >> 2] = b + d;
+  a = (d >>> 3 | 0) + a | 0;
+  c = a + 8 | 0;
+  d = d & 7;
+  e = r[c | 0] >>> d | 0;
+  f = a + 9 | 0;
+  a = b;
+  b = 8 - d | 0;
+  a = a - b | 0;
+  if (a >>> 0 >= 8) {
+   a = a + -8 | 0;
+   e = r[c + 1 | 0] << b | e;
+   b = 16 - d | 0;
+   f = c + 2 | 0;
+  }
+  if (!a) {
+   break a;
+  }
+  e = (r[f | 0] & (-1 << a ^ -1)) << b | e;
+ }
+ return e;
+}
+function oy(a, b, c) {
+ var d = 0;
+ c = c + -1 | 0;
+ a : {
+  if (c >>> 0 > 8) {
+   break a;
+  }
+  b : {
+   switch (c - 1 | 0) {
+   default:
+    return py(a, b);
+   case 0:
+    c = r[a | 0] | r[a + 1 | 0] << 8;
+    c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+    if (c >>> 0 > 1) {
+     break a;
+    }
+    if (c - 1) {
+     return Yx(a, b);
+    }
+    return _x(a, b);
+   case 1:
+    if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+     break a;
+    }
+    return ay(a, b);
+   case 2:
+    if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+     break a;
+    }
+    return gy(a, b);
+   case 3:
+    if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+     break a;
+    }
+    return jy(a, b);
+   case 4:
+    if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+     break a;
+    }
+    return ly(a, b);
+   case 5:
+    c = r[a | 0] | r[a + 1 | 0] << 8;
+    c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+    if (c >>> 0 > 2) {
+     break a;
+    }
+    c : {
+     switch (c - 1 | 0) {
+     default:
+      return Vw(a, b);
+     case 0:
+      return Yw(a, b);
+     case 1:
+      break c;
+     }
+    }
+    return Zw(a, b);
+   case 6:
+    return ny(a, b);
+   case 7:
+    break b;
+   }
+  }
+  if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+   break a;
+  }
+  c = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+  c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  d = oy(c ? c + a | 0 : 271040, b, r[a + 3 | 0] | r[a + 2 | 0] << 8);
+ }
+ return d;
+}
+function kL(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ g = q[a >> 2];
+ b = q[g + 16 >> 2];
+ a : {
+  if ((b | 0) < 1) {
+   break a;
+  }
+  while (1) {
+   c = q[g + 24 >> 2] + w(e, 52) | 0;
+   if (q[c + 44 >> 2] == (a | 0)) {
+    jL(c);
+    b = c + 44 | 0;
+    f = q[q[b >> 2] + 16 >> 2];
+    if (f) {
+     n[f](q[c + 48 >> 2]);
+    }
+    q[b >> 2] = 0;
+    b = q[g + 16 >> 2];
+   }
+   e = e + 1 | 0;
+   if ((e | 0) < (b | 0)) {
+    continue;
+   }
+   break;
+  }
+  e = 0;
+  if ((b | 0) < 1) {
+   f = 0;
+   break a;
+  }
+  f = 0;
+  while (1) {
+   d = q[g + 24 >> 2];
+   c = d + w(e, 52) | 0;
+   if (q[c + 44 >> 2]) {
+    if ((f | 0) != (e | 0)) {
+     h = q[c + 4 >> 2];
+     b = w(f, 52) + d | 0;
+     q[b >> 2] = q[c >> 2];
+     q[b + 4 >> 2] = h;
+     q[b + 48 >> 2] = q[c + 48 >> 2];
+     d = q[c + 44 >> 2];
+     q[b + 40 >> 2] = q[c + 40 >> 2];
+     q[b + 44 >> 2] = d;
+     d = q[c + 36 >> 2];
+     q[b + 32 >> 2] = q[c + 32 >> 2];
+     q[b + 36 >> 2] = d;
+     d = q[c + 28 >> 2];
+     q[b + 24 >> 2] = q[c + 24 >> 2];
+     q[b + 28 >> 2] = d;
+     d = q[c + 20 >> 2];
+     q[b + 16 >> 2] = q[c + 16 >> 2];
+     q[b + 20 >> 2] = d;
+     d = q[c + 12 >> 2];
+     q[b + 8 >> 2] = q[c + 8 >> 2];
+     q[b + 12 >> 2] = d;
+     b = q[g + 16 >> 2];
+    }
+    f = f + 1 | 0;
+   }
+   e = e + 1 | 0;
+   if ((e | 0) < (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[g + 16 >> 2] = f;
+ c = q[a + 20 >> 2];
+ if (c) {
+  n[c](q[a + 40 >> 2]);
+ }
+ M$(a);
+}
+function Pv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ j = q[b + 4 >> 2];
+ a : {
+  if (j >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!i) {
+   d = 1;
+   break a;
+  }
+  h = a + 2 | 0;
+  if (j >>> 0 > h >>> 0 | e >>> 0 < h >>> 0 | e - h >>> 0 < w(i, 6) >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = f + -2;
+  if ((f | 0) < 2) {
+   break a;
+  }
+  d = 1;
+  h = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!h) {
+   break a;
+  }
+  f = 0;
+  while (1) {
+   b : {
+    i = w(f, 6) + a | 0;
+    d = i + 2 | 0;
+    e = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+    k = q[c >> 2];
+    q[g + 12 >> 2] = k;
+    q[g + 8 >> 2] = e << 8 & 16711680 | e << 24 | (e >>> 8 & 65280 | e >>> 24);
+    if (j >>> 0 > d >>> 0) {
+     break b;
+    }
+    e = q[b + 8 >> 2];
+    if (e >>> 0 < d >>> 0 | e - d >>> 0 <= 5) {
+     break b;
+    }
+    d = q[b + 12 >> 2];
+    q[b + 12 >> 2] = d + -1;
+    if ((d | 0) <= 0) {
+     break b;
+    }
+    q[g + 4 >> 2] = g + 8;
+    if (!Ov(i + 6 | 0, b, k)) {
+     break b;
+    }
+    f = f + 1 | 0;
+    if ((h | 0) == (f | 0)) {
+     d = 1;
+     break a;
+    } else {
+     j = q[b + 4 >> 2];
+     continue;
+    }
+   }
+   break;
+  }
+  d = 0;
+ }
+ Ca = g + 16 | 0;
+ return d;
+}
+function Jv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ j = q[b + 4 >> 2];
+ a : {
+  if (j >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!i) {
+   d = 1;
+   break a;
+  }
+  h = a + 2 | 0;
+  if (j >>> 0 > h >>> 0 | e >>> 0 < h >>> 0 | e - h >>> 0 < w(i, 6) >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = f + -2;
+  if ((f | 0) < 2) {
+   break a;
+  }
+  d = 1;
+  h = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!h) {
+   break a;
+  }
+  f = 0;
+  while (1) {
+   b : {
+    i = w(f, 6) + a | 0;
+    d = i + 2 | 0;
+    e = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+    k = q[c >> 2];
+    q[g + 12 >> 2] = k;
+    q[g + 8 >> 2] = e << 8 & 16711680 | e << 24 | (e >>> 8 & 65280 | e >>> 24);
+    if (j >>> 0 > d >>> 0) {
+     break b;
+    }
+    e = q[b + 8 >> 2];
+    if (e >>> 0 < d >>> 0 | e - d >>> 0 <= 5) {
+     break b;
+    }
+    d = q[b + 12 >> 2];
+    q[b + 12 >> 2] = d + -1;
+    if ((d | 0) <= 0) {
+     break b;
+    }
+    q[g + 4 >> 2] = g + 8;
+    if (!Nv(i + 6 | 0, b, k)) {
+     break b;
+    }
+    f = f + 1 | 0;
+    if ((h | 0) == (f | 0)) {
+     d = 1;
+     break a;
+    } else {
+     j = q[b + 4 >> 2];
+     continue;
+    }
+   }
+   break;
+  }
+  d = 0;
+ }
+ Ca = g + 16 | 0;
+ return d;
+}
+function ct(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = -1;
+ c = r[a | 0] | r[a + 1 | 0] << 8;
+ c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+ a : {
+  if (c >>> 0 > 1) {
+   break a;
+  }
+  if (c - 1) {
+   c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   if (!c) {
+    break a;
+   }
+   c = c + -1 | 0;
+   while (1) {
+    d = c + f | 0;
+    e = d >>> 1 | 0;
+    d = (d & -2) + a | 0;
+    d = r[d + 4 | 0] << 8 | r[d + 5 | 0];
+    b : {
+     if (d >>> 0 > b >>> 0) {
+      c = e + -1 | 0;
+      break b;
+     }
+     if ((b | 0) == (d | 0)) {
+      break a;
+     }
+     f = e + 1 | 0;
+    }
+    if ((f | 0) <= (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   return -1;
+  }
+  d = 271432;
+  c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  c : {
+   if (!c) {
+    break c;
+   }
+   c = c + -1 | 0;
+   while (1) {
+    d : {
+     g = c + f >>> 1 | 0;
+     i = w(g, 6) + a | 0;
+     h = i + 4 | 0;
+     e : {
+      if ((r[h | 0] << 8 | r[i + 5 | 0]) >>> 0 > b >>> 0) {
+       c = g + -1 | 0;
+       break e;
+      }
+      if ((r[h + 3 | 0] | r[h + 2 | 0] << 8) >>> 0 >= b >>> 0) {
+       break d;
+      }
+      f = g + 1 | 0;
+     }
+     if ((f | 0) <= (c | 0)) {
+      continue;
+     }
+     break c;
+    }
+    break;
+   }
+   d = (w(g, 6) + a | 0) + 4 | 0;
+  }
+  a = r[d + 1 | 0] | r[d | 0] << 8;
+  if (a >>> 0 > (r[d + 3 | 0] | r[d + 2 | 0] << 8) >>> 0) {
+   break a;
+  }
+  e = (b - a | 0) + (r[d + 5 | 0] | r[d + 4 | 0] << 8) | 0;
+ }
+ return e;
+}
+function Pu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ f = r[a | 0] | r[a + 1 | 0] << 8;
+ f = ((f << 24 | f << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+ c = 0;
+ a : {
+  if (f >>> 0 > 2) {
+   break a;
+  }
+  b : {
+   switch (f - 1 | 0) {
+   default:
+    c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+    c = ct(c ? c + a | 0 : 271040, q[q[b + 4 >> 2] >> 2]);
+    c = (r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0 > c >>> 0 ? ((c << 1) + a | 0) + 6 | 0 : 271040;
+    f = r[c + 1 | 0];
+    c = r[c | 0];
+    e = q[57201];
+    q[d + 8 >> 2] = q[57200];
+    q[d + 12 >> 2] = e;
+    e = q[57199];
+    q[d >> 2] = q[57198];
+    q[d + 4 >> 2] = e;
+    e = a;
+    a = f | c << 8;
+    c = Su(a ? e + a | 0 : 271040, b, d);
+    break a;
+   case 0:
+    c = r[a + 5 | 0];
+    f = r[a + 4 | 0];
+    e = r[a + 9 | 0];
+    i = r[a + 8 | 0];
+    h = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+    h = h ? h + a | 0 : 271040;
+    g = at(h, q[q[b + 4 >> 2] >> 2]);
+    g = (r[a + 11 | 0] | r[a + 10 | 0] << 8) >>> 0 > g >>> 0 ? ((g << 1) + a | 0) + 12 | 0 : 271040;
+    j = r[g + 1 | 0];
+    g = r[g | 0];
+    e = e | i << 8;
+    q[d + 12 >> 2] = e ? e + a | 0 : 271040;
+    q[d + 8 >> 2] = h;
+    c = c | f << 8;
+    q[d + 4 >> 2] = c ? c + a | 0 : 271040;
+    q[d >> 2] = 434;
+    c = a;
+    a = g << 8 | j;
+    c = Su(a ? c + a | 0 : 271040, b, d);
+    break a;
+   case 1:
+    break b;
+   }
+  }
+  c = Uu(a, b);
+ }
+ Ca = d + 16 | 0;
+ return c;
+}
+function SF(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ h = q[b + 4 >> 2];
+ a : {
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 4) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  g = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  if (g >>> 0 > 390451571) {
+   break a;
+  }
+  d = a + 4 | 0;
+  i = w(g, 11);
+  if (i) {
+   if (f >>> 0 < d >>> 0 | h >>> 0 > d >>> 0 | f - d >>> 0 < i >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   g = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   g = g << 24 | g << 8 & 16711680 | (g >>> 8 & 65280 | g >>> 24);
+  }
+  if (!g) {
+   return 1;
+  }
+  if (h >>> 0 > d >>> 0) {
+   break a;
+  }
+  f = 0;
+  while (1) {
+   e = q[b + 8 >> 2];
+   if (e >>> 0 < d >>> 0 | e - d >>> 0 < 11) {
+    break a;
+   }
+   d = q[c >> 2];
+   e = q[b + 12 >> 2];
+   q[b + 12 >> 2] = e + -1;
+   if ((e | 0) < 1) {
+    break a;
+   }
+   e = w(f, 11) + a | 0;
+   if (!TF(e + 7 | 0, b, d)) {
+    break a;
+   }
+   if (!UF(e + 11 | 0, b, d)) {
+    break a;
+   }
+   f = f + 1 | 0;
+   if ((g | 0) == (f | 0)) {
+    return 1;
+   }
+   d = (w(f, 11) + a | 0) + 4 | 0;
+   if (t[b + 4 >> 2] <= d >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function QN(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0;
+ a : {
+  if (b) {
+   e = q[b >> 2];
+   if (e) {
+    break a;
+   }
+  }
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  q[a + 16 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+  return 1;
+ }
+ f = q[b + 8 >> 2];
+ h = L$(e << 3);
+ q[a + 16 >> 2] = h;
+ j = L$(f);
+ q[a + 20 >> 2] = j;
+ if (!(j ? h : 0)) {
+  M$(h);
+  M$(q[a + 20 >> 2]);
+  q[a + 16 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  return 0;
+ }
+ q[a + 12 >> 2] = f;
+ q[a + 4 >> 2] = e;
+ q[a + 8 >> 2] = 0;
+ q[a >> 2] = 0;
+ k = q[b >> 2];
+ if (k) {
+  o = q[b + 16 >> 2];
+  d = d + 32 | 0;
+  c = c + 32 | 0;
+  while (1) {
+   e = l << 3;
+   i = e + h | 0;
+   f = i;
+   n = e + o | 0;
+   e = q[n >> 2];
+   g = e;
+   m = f;
+   p = e >> 31;
+   e = c;
+   f = e & 31;
+   if (32 <= (e & 63) >>> 0) {
+    e = g << f;
+   } else {
+    e = (1 << f) - 1 & g >>> 32 - f | p << f;
+   }
+   q[m >> 2] = e;
+   e = q[n + 4 >> 2];
+   m = i;
+   i = e >> 31;
+   g = e;
+   e = d;
+   f = e & 31;
+   if (32 <= (e & 63) >>> 0) {
+    e = g << f;
+   } else {
+    e = (1 << f) - 1 & g >>> 32 - f | i << f;
+   }
+   q[m + 4 >> 2] = e;
+   l = l + 1 | 0;
+   if ((k | 0) != (l | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ c = q[b + 20 >> 2];
+ b = q[b + 8 >> 2];
+ Y$(j, c, b);
+ q[a + 8 >> 2] = b;
+ q[a >> 2] = k;
+ return 1;
+}
+function ji(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ j = n[q[a + 596 >> 2]](a) | 0;
+ g = q[b >> 2];
+ a : {
+  if (!g) {
+   break a;
+  }
+  h = a + 36 | 0;
+  f = 1;
+  while (1) {
+   b = q[a + 28 >> 2];
+   if ((b | 0) <= 1) {
+    if (r[a + 565 | 0]) {
+     q[a + 12 >> 2] = 129;
+    }
+    q[a + 28 >> 2] = 0;
+    break a;
+   }
+   d = b + -2 | 0;
+   q[a + 28 >> 2] = d;
+   c = b << 2;
+   b = q[a + 24 >> 2];
+   e = s[(c + b | 0) + -4 >> 1];
+   b : {
+    if (e >>> 0 < s[a + 44 >> 1]) {
+     d = q[b + (d << 2) >> 2];
+     b = d >>> 4 & 15;
+     i = r[a + 372 | 0] + -113 | 0;
+     c = b;
+     c : {
+      if (i >>> 0 > 1) {
+       break c;
+      }
+      c = b | 16;
+      if (i - 1) {
+       break c;
+      }
+      c = b | 32;
+     }
+     if ((c + s[a + 336 >> 1] | 0) != (j | 0)) {
+      break b;
+     }
+     b = d & 15;
+     b = (b >>> 0 > 7 ? -7 : -8) + b << 6 - s[a + 338 >> 1];
+     if (!(!r[a + 615 | 0] | q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] != 40)) {
+      if ((r[a + 617 | 0] ? r[a + 616 | 0] : 0) | (r[q[a + 60 >> 2] + e | 0] & 16 ? 0 : !(s[a + 304 >> 1] ? r[a + 564 | 0] : 0))) {
+       break b;
+      }
+      n[q[a + 588 >> 2]](a, h, e, b);
+      break b;
+     }
+     n[q[a + 588 >> 2]](a, h, e, b);
+     break b;
+    }
+    if (!r[a + 565 | 0]) {
+     break b;
+    }
+    q[a + 12 >> 2] = 134;
+   }
+   f = f + 1 | 0;
+   if (f >>> 0 <= g >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[a + 32 >> 2] = q[a + 28 >> 2];
+}
+function Fy(a) {
+ var b = 0, c = 0;
+ b = 3840;
+ c = a >>> 12 | 0;
+ a : {
+  if (c >>> 0 > 10) {
+   break a;
+  }
+  b : {
+   switch (c - 1 | 0) {
+   default:
+    if ((a | 0) == 160) {
+     b = 3851;
+     break a;
+    }
+    c = a + -40 | 0;
+    if (c >>> 0 <= 23) {
+     b = s[(c << 1) + 236432 >> 1];
+     break a;
+    }
+    if (a + -176 >>> 0 <= 39) {
+     b = s[(a << 1) + 236128 >> 1];
+     break a;
+    }
+    if (a + -2304 >>> 0 > 1271) {
+     break a;
+    }
+    b = s[(a << 1) + 231952 >> 1];
+    break a;
+   case 0:
+    if (a + -4096 >>> 0 <= 159) {
+     b = s[(a << 1) + 230912 >> 1];
+     break a;
+    }
+    if (a + -6016 >>> 0 <= 111) {
+     b = s[(a << 1) + 227392 >> 1];
+     break a;
+    }
+    if (a + -7376 >>> 0 > 47) {
+     break a;
+    }
+    b = s[(a << 1) + 224896 >> 1];
+    break a;
+   case 1:
+    if ((a | 0) == 9676) {
+     b = 3851;
+     break a;
+    }
+    if (a + -8200 >>> 0 <= 15) {
+     b = s[(a << 1) + 223344 >> 1];
+     break a;
+    }
+    if (a + -8304 >>> 0 > 23) {
+     break a;
+    }
+    b = s[(a << 1) + 223168 >> 1];
+    break a;
+   case 2:
+   case 3:
+   case 4:
+   case 5:
+   case 6:
+   case 7:
+   case 8:
+    break a;
+   case 9:
+    break b;
+   }
+  }
+  c = a & -32;
+  if ((c | 0) != 43616) {
+   if ((c | 0) != 43488) {
+    if ((c | 0) != 43232) {
+     break a;
+    }
+    b = s[(a << 1) + 153360 >> 1];
+    break a;
+   }
+   b = s[(a << 1) + 152912 >> 1];
+   break a;
+  }
+  b = s[(a << 1) + 152720 >> 1];
+ }
+ return b;
+}
+function BB(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ a : {
+  b : {
+   c : {
+    f = q[a + 4 >> 2];
+    if ((f | 0) >= 0) {
+     e = q[a + 8 >> 2];
+     g = e + 1 | 0;
+     g = (g | 0) > 0 ? g : 0;
+     if (f >>> 0 >= g >>> 0) {
+      break b;
+     }
+     e = f;
+     while (1) {
+      e = ((e >>> 1 | 0) + e | 0) + 8 | 0;
+      if (e >>> 0 <= g >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(e >>> 0 < f >>> 0 | e >>> 0 > 214748363)) {
+      f = O$(q[a + 12 >> 2], w(e, 20));
+      if (f) {
+       break c;
+      }
+     }
+     q[a + 4 >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    e = q[67763];
+    q[160658] = q[67762];
+    q[160659] = e;
+    e = q[67761];
+    q[160656] = q[67760];
+    q[160657] = e;
+    e = 642624;
+    break a;
+   }
+   q[a + 4 >> 2] = e;
+   q[a + 12 >> 2] = f;
+   e = q[a + 8 >> 2];
+  }
+  if (g >>> 0 > e >>> 0) {
+   Z$(q[a + 12 >> 2] + w(e, 20) | 0, 0, w(g - e | 0, 20));
+  }
+  q[a + 8 >> 2] = g;
+  e = (q[a + 12 >> 2] + w(g, 20) | 0) + -20 | 0;
+ }
+ f = q[d + 4 >> 2];
+ q[e >> 2] = q[d >> 2];
+ q[e + 4 >> 2] = f;
+ q[e + 16 >> 2] = q[d + 16 >> 2];
+ g = q[d + 12 >> 2];
+ f = e + 8 | 0;
+ q[f >> 2] = q[d + 8 >> 2];
+ q[f + 4 >> 2] = g;
+ q[e >> 2] = b;
+ g = q[c + 12 >> 2];
+ d = q[c + 4 >> 2];
+ h = q[c >> 2];
+ b = q[a >> 2];
+ q[e + 12 >> 2] = 0;
+ q[e + 4 >> 2] = b + h;
+ e = g - b | 0;
+ b = d - b | 0;
+ b = b >>> 0 > d >>> 0 ? 0 : b;
+ q[f >> 2] = b >>> 0 > e >>> 0 ? e : b;
+ q[a >> 2] = q[c + 12 >> 2];
+}
+function SN(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0, u = 0, w = 0, x = 0, y = 0;
+ a : {
+  if (b) {
+   d = q[b >> 2];
+   if (d) {
+    break a;
+   }
+  }
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  q[a + 16 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+  return;
+ }
+ e = q[b + 8 >> 2];
+ g = L$(d << 3);
+ q[a + 16 >> 2] = g;
+ h = L$(e);
+ q[a + 20 >> 2] = h;
+ if (!(h ? g : 0)) {
+  M$(g);
+  M$(q[a + 20 >> 2]);
+  q[a + 16 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  return;
+ }
+ q[a + 12 >> 2] = e;
+ q[a + 4 >> 2] = d;
+ d = 0;
+ q[a + 8 >> 2] = 0;
+ q[a >> 2] = 0;
+ e = q[b >> 2];
+ if (e) {
+  l = q[b + 16 >> 2];
+  m = v[c - -64 >> 3];
+  n = v[c + 56 >> 3];
+  o = v[c + 40 >> 3];
+  p = v[c + 32 >> 3];
+  r = v[c + 48 >> 3];
+  s = v[c + 24 >> 3];
+  t = v[c + 16 >> 3];
+  u = v[c + 8 >> 3];
+  w = v[c >> 3];
+  while (1) {
+   c = d << 3;
+   k = c + g | 0;
+   c = c + l | 0;
+   i = +q[c >> 2];
+   j = +q[c + 4 >> 2];
+   f = m + (r * i + n * j);
+   f = 1 / (f > .1 ? f : .1);
+   x = k, y = oZ(f * (o + (s * i + p * j))), q[x + 4 >> 2] = y;
+   x = k, y = oZ((t + (w * i + u * j)) * f), q[x >> 2] = y;
+   d = d + 1 | 0;
+   if ((e | 0) != (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ c = q[b + 20 >> 2];
+ b = q[b + 8 >> 2];
+ Y$(h, c, b);
+ q[a + 8 >> 2] = b;
+ q[a >> 2] = e;
+}
+function QV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 23) {
+    break b;
+   }
+   c = 39;
+   c : {
+    switch (d - 1 | 0) {
+    case 8:
+     b = q[a + 4 >> 2] + -1 | 0;
+     q[a + 4 >> 2] = b;
+     c = 45;
+     if (b) {
+      break a;
+     }
+     q[a + 8 >> 2] = 39;
+     q[a >> 2] = 934;
+     return 45;
+    case 20:
+     b = q[a + 4 >> 2] + -1 | 0;
+     q[a + 4 >> 2] = b;
+     c = 46;
+     if (b) {
+      break a;
+     }
+     q[a + 8 >> 2] = 39;
+     q[a >> 2] = 934;
+     return 46;
+    case 19:
+     b = q[a + 4 >> 2] + -1 | 0;
+     q[a + 4 >> 2] = b;
+     c = 47;
+     if (b) {
+      break a;
+     }
+     q[a + 8 >> 2] = 39;
+     q[a >> 2] = 934;
+     return 47;
+    case 21:
+     b = q[a + 4 >> 2] + -1 | 0;
+     q[a + 4 >> 2] = b;
+     c = 48;
+     if (b) {
+      break a;
+     }
+     q[a + 8 >> 2] = 39;
+     q[a >> 2] = 934;
+     return 48;
+    case 22:
+     q[a >> 2] = 955;
+     return 50;
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 6:
+    case 7:
+    case 9:
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 14:
+    case 15:
+    case 16:
+    case 17:
+    case 18:
+     break b;
+    case 5:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 955;
+   return 49;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function eC(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = r[a | 0];
+ a : {
+  if (d >>> 0 > 2) {
+   break a;
+  }
+  b : {
+   switch (d - 1 | 0) {
+   default:
+    if (!b | c >>> 0 < 2) {
+     break a;
+    }
+    d = 1;
+    a = a + 1 | 0;
+    while (1) {
+     e = (a + (d << 1) | 0) + -2 | 0;
+     if ((r[e | 0] << 8 | r[e + 1 | 0]) == (b | 0)) {
+      return d;
+     }
+     d = d + 1 | 0;
+     if ((d | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+    break a;
+   case 0:
+    if (!b | c >>> 0 < 2) {
+     break a;
+    }
+    d = 1;
+    g = a + 1 | 0;
+    while (1) {
+     a = g + w(e, 3) | 0;
+     f = r[a + 2 | 0];
+     a = r[a + 1 | 0] | r[a | 0] << 8;
+     if (!(a >>> 0 > b >>> 0 | a + f >>> 0 < b >>> 0)) {
+      return (b + d | 0) - a | 0;
+     }
+     e = e + 1 | 0;
+     d = (d + f | 0) + 1 | 0;
+     if (d >>> 0 < c >>> 0) {
+      continue;
+     }
+     break;
+    }
+    break a;
+   case 1:
+    break b;
+   }
+  }
+  if (!b | c >>> 0 < 2) {
+   break a;
+  }
+  f = 1;
+  while (1) {
+   d = (e << 2) + a | 0;
+   g = r[d + 3 | 0];
+   c : {
+    h = r[d + 2 | 0] | r[d + 1 | 0] << 8;
+    if (h >>> 0 > b >>> 0) {
+     d = r[d + 4 | 0] | g << 8;
+     break c;
+    }
+    d = r[d + 4 | 0] | g << 8;
+    if (h + d >>> 0 < b >>> 0) {
+     break c;
+    }
+    i = (b + f | 0) - h | 0;
+    break a;
+   }
+   e = e + 1 | 0;
+   f = (d + f | 0) + 1 | 0;
+   if (f >>> 0 < c >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ return i;
+}
+function Ed(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ a : {
+  b : {
+   if (d) {
+    h = $_(d);
+    if ((h | 0) == -1) {
+     break b;
+    }
+    Yd(a, 6, 2995, 0);
+    q[e + 12 >> 2] = c;
+    q[e + 8 >> 2] = c + -1;
+    d = 0;
+    f = L$(c);
+    c : {
+     if (!f) {
+      break c;
+     }
+     q[e >> 2] = f;
+     q[e + 4 >> 2] = b;
+     b = c;
+     g = c;
+     d = f;
+     d : {
+      e : {
+       while (1) {
+        f : {
+         if (b) {
+          if ((c$(h, e + 4 | 0, e + 12 | 0, e, e + 8 | 0) | 0) == -1) {
+           break f;
+          }
+          if (i) {
+           break d;
+          }
+          i = 0;
+          b = q[e + 12 >> 2];
+          continue;
+         }
+         i = 1;
+         if ((c$(h, 0, 0, e, e + 8 | 0) | 0) != -1) {
+          break d;
+         }
+        }
+        if (q[160854] == 1) {
+         f = q[e >> 2];
+         g = c + g | 0;
+         b = O$(d, g);
+         if (!b) {
+          break e;
+         }
+         q[e + 8 >> 2] = q[e + 8 >> 2] + c;
+         q[e >> 2] = b + (f - d | 0);
+         d = b;
+         b = q[e + 12 >> 2];
+         continue;
+        }
+        break;
+       }
+       Yd(a, 2, 3050, 0);
+      }
+      M$(d);
+      d = 0;
+      break c;
+     }
+     o[((q[e + 8 >> 2] ^ -1) + g | 0) + d | 0] = 0;
+    }
+    Yd(a, 6, 3070, 0);
+    break a;
+   }
+   J(2975, 1186, 983, 2984);
+   F();
+  }
+  d = 0;
+  Yd(a, 1, 3019, 0);
+ }
+ Ca = e + 16 | 0;
+ return d;
+}
+function BF(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ e = q[b + 4 >> 2];
+ a : {
+  if (e >>> 0 > a >>> 0) {
+   break a;
+  }
+  i = q[b + 8 >> 2];
+  if (i >>> 0 < a >>> 0 | i - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  g = a + 2 | 0;
+  if (e >>> 0 > g >>> 0 | i >>> 0 < g >>> 0 | i - g >>> 0 < (r[a | 0] << 11 | r[a + 1 | 0] << 3) + 8 >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = f + -2;
+  if ((f | 0) < 2) {
+   break a;
+  }
+  k = q[c >> 2];
+  f = r[a + 1 | 0];
+  e = r[a | 0];
+  q[h + 12 >> 2] = q[d >> 2];
+  i = f | e << 8;
+  while (1) {
+   b : {
+    e = q[b + 8 >> 2];
+    if (e >>> 0 < g >>> 0 | e - g >>> 0 <= 7) {
+     break b;
+    }
+    e = q[b + 12 >> 2];
+    q[b + 12 >> 2] = e + -1;
+    if ((e | 0) < 1) {
+     break b;
+    }
+    e = (j << 3) + a | 0;
+    f = e + 8 | 0;
+    q[h + 8 >> 2] = (r[e + 5 | 0] | (r[e + 3 | 0] << 16 | r[g | 0] << 24 | r[e + 4 | 0] << 8)) == 1936092788 ? (r[e + 7 | 0] | r[e + 6 | 0] << 8) + 1 | 0 : 0;
+    if (!CF(f, b, k, h + 8 | 0, h + 12 | 0)) {
+     break a;
+    }
+    if ((i | 0) == (j | 0)) {
+     l = 1;
+     break a;
+    }
+    k = q[c >> 2];
+    e = q[b + 4 >> 2];
+    q[h + 12 >> 2] = q[d >> 2];
+    j = j + 1 | 0;
+    g = ((j << 3) + a | 0) + 2 | 0;
+    if (e >>> 0 <= g >>> 0) {
+     continue;
+    }
+   }
+   break;
+  }
+ }
+ Ca = h + 16 | 0;
+ return l;
+}
+function ot(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = b - q[a >> 2] | 0;
+ a = q[c + 24 >> 2];
+ a : {
+  b : {
+   if ((a | 0) < 1) {
+    break b;
+   }
+   f = d >>> 9 | 0;
+   g = q[c + 28 >> 2];
+   a = a + -1 | 0;
+   b = 0;
+   while (1) {
+    c : {
+     e = a + b >>> 1 | 0;
+     h = f - q[(e << 3) + g >> 2] | 0;
+     d : {
+      if ((h | 0) <= -1) {
+       a = e + -1 | 0;
+       break d;
+      }
+      if (!h) {
+       break c;
+      }
+      b = e + 1 | 0;
+     }
+     if ((b | 0) <= (a | 0)) {
+      continue;
+     }
+     break b;
+    }
+    break;
+   }
+   b = q[((e << 3) + g | 0) + 4 >> 2];
+   a = 271040;
+   e : {
+    if (t[c + 36 >> 2] <= b >>> 0) {
+     break e;
+    }
+    a = q[c + 40 >> 2];
+    if (!a) {
+     break b;
+    }
+    a = a + (b << 6) | 0;
+   }
+   b = 1;
+   a = a + (d >>> 3 & 56) | 0;
+   g = q[a >> 2];
+   e = q[a + 4 >> 2];
+   f = d & 63;
+   a = f & 31;
+   if ((32 <= (f & 63) >>> 0 ? e >>> a | 0 : ((1 << a) - 1 & e) << 32 - a | g >>> a) & 1) {
+    break a;
+   }
+  }
+  b = 0;
+  if ((d | 0) == -1 | r[c + 12 | 0] != 1) {
+   break a;
+  }
+  q[c + 16 >> 2] = -1;
+  a = nF(c, d);
+  if (!a) {
+   break a;
+  }
+  c = a + (d >>> 3 & 56) | 0;
+  a = c;
+  e = q[a + 4 >> 2];
+  g = a;
+  f = q[a >> 2];
+  d = d & 63;
+  c = d & 31;
+  if (32 <= (d & 63) >>> 0) {
+   d = 1 << c;
+   c = 0;
+  } else {
+   d = (1 << c) - 1 & 1 >>> 32 - c;
+   c = 1 << c;
+  }
+  q[g >> 2] = f | c;
+  q[a + 4 >> 2] = d | e;
+ }
+ return b;
+}
+function Js(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   if (!a | !q[a >> 2]) {
+    break b;
+   }
+   if (q[a >> 2] <= 0) {
+    break a;
+   }
+   b = q[a >> 2];
+   q[a >> 2] = b + -1;
+   if ((b | 0) != 1) {
+    break b;
+   }
+   q[a >> 2] = -57005;
+   b = q[a + 8 >> 2];
+   if (b) {
+    c : {
+     if (!q[b + 8 >> 2]) {
+      c = b + 12 | 0;
+      M$(q[c >> 2]);
+      q[c >> 2] = 0;
+      q[b + 4 >> 2] = 0;
+      q[b + 8 >> 2] = 0;
+      break c;
+     }
+     while (1) {
+      c = q[b >> 2];
+      q[b >> 2] = 1;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     c = q[b + 8 >> 2];
+     if (c) {
+      while (1) {
+       e = c + -1 | 0;
+       d = q[b + 12 >> 2] + w(e, 12) | 0;
+       c = q[d + 8 >> 2];
+       d = q[d + 4 >> 2];
+       q[b + 8 >> 2] = e;
+       q[b >> 2] = 0;
+       if (c) {
+        n[c](d);
+       }
+       while (1) {
+        c = q[b >> 2];
+        q[b >> 2] = 1;
+        if (c) {
+         continue;
+        }
+        break;
+       }
+       c = q[b + 8 >> 2];
+       if (c) {
+        continue;
+       }
+       break;
+      }
+     }
+     M$(q[b + 12 >> 2]);
+     q[b + 8 >> 2] = 0;
+     q[b + 12 >> 2] = 0;
+     q[b >> 2] = 0;
+     q[b + 4 >> 2] = 0;
+    }
+    M$(b);
+   }
+   q[a + 16 >> 2] = 0;
+   b = a + 28 | 0;
+   M$(q[b >> 2]);
+   q[b >> 2] = 0;
+   q[a + 20 >> 2] = 0;
+   q[a + 24 >> 2] = 0;
+   M$(q[a + 40 >> 2]);
+   M$(a);
+  }
+  return;
+ }
+ J(228352, 228377, 279, 228392);
+ F();
+}
+function gT(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ e = Ca - 96 | 0;
+ Ca = e;
+ a : {
+  if (!(QQ(c, e + 8 | 0) | (q[e + 20 >> 2] & 61440) != 16384)) {
+   a = RX(d);
+   b : {
+    if (!a) {
+     break b;
+    }
+    d = a;
+    a = g0(a);
+    if (jZ(c, d, a)) {
+     break b;
+    }
+    if (r[a + c | 0] != 47) {
+     a = a + -1 | 0;
+    } else {
+     d = a + 1 | 0;
+     a = r[c + d | 0] == 47 ? d : a;
+    }
+    c = a + c | 0;
+   }
+   xQ(b, c);
+   break a;
+  }
+  if (!a) {
+   break a;
+  }
+  b = q[a >> 2];
+  h = RX(d);
+  if (r[643388] & 128) {
+   q[e >> 2] = c;
+   d0(489769, e);
+   DZ(q[126918]);
+  }
+  if (!EP(c, a)) {
+   break a;
+  }
+  if (r[643388] & 128) {
+   f0(489810);
+  }
+  i = 1;
+  if ((b | 0) >= q[a >> 2]) {
+   break a;
+  }
+  while (1) {
+   c = q[q[a + 8 >> 2] + (b << 2) >> 2];
+   c : {
+    if (!h) {
+     break c;
+    }
+    f = g0(h);
+    q[e + 8 >> 2] = 0;
+    if (DS(c, 21, 0, e + 8 | 0)) {
+     break c;
+    }
+    g = q[e + 8 >> 2];
+    if (jZ(g, h, f)) {
+     break c;
+    }
+    g = mZ(g);
+    oS(c, 21);
+    k = c;
+    if (r[g + f | 0] != 47) {
+     f = f + -1 | 0;
+    } else {
+     j = f + 1 | 0;
+     f = r[g + j | 0] == 47 ? j : f;
+    }
+    rS(k, 21, f + g | 0);
+    M$(g);
+   }
+   if (d) {
+    i = MX(d, c, 2) ? i : 0;
+   }
+   if (o[643389] & 1) {
+    f0(489790);
+    XS(c);
+   }
+   b = b + 1 | 0;
+   if ((b | 0) < q[a >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = e + 96 | 0;
+}
+function Ch(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ b = q[a + 736 >> 2];
+ if (b) {
+  f = q[q[b + 12 >> 2] >> 2];
+  d = q[a + 100 >> 2];
+  Qe(d, q[b + 4 >> 2]);
+  q[b + 4 >> 2] = 0;
+  Qe(d, q[b + 8 >> 2]);
+  q[b + 8 >> 2] = 0;
+  Qe(d, q[b + 20 >> 2]);
+  q[b + 20 >> 2] = 0;
+  Qe(d, q[b + 12 >> 2]);
+  q[b + 12 >> 2] = 0;
+  c = q[b + 28 >> 2];
+  if (c) {
+   if (f) {
+    while (1) {
+     g = e << 3;
+     Qe(d, q[(g + c | 0) + 4 >> 2]);
+     c = q[b + 28 >> 2];
+     q[(g + c | 0) + 4 >> 2] = 0;
+     e = e + 1 | 0;
+     if ((f | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   Qe(d, c);
+   q[b + 28 >> 2] = 0;
+  }
+  c = q[b + 40 >> 2];
+  if (c) {
+   Hi(a, c);
+   Qe(d, q[q[b + 40 >> 2] + 28 >> 2]);
+   c = q[b + 40 >> 2];
+   q[c + 28 >> 2] = 0;
+   Qe(d, q[c + 24 >> 2]);
+   c = q[b + 40 >> 2];
+   q[c + 24 >> 2] = 0;
+   Qe(d, c);
+   q[b + 40 >> 2] = 0;
+  }
+  c = q[b + 52 >> 2];
+  if (c) {
+   Hi(a, c);
+   Qe(d, q[q[b + 52 >> 2] + 28 >> 2]);
+   c = q[b + 52 >> 2];
+   q[c + 28 >> 2] = 0;
+   Qe(d, q[c + 24 >> 2]);
+   c = q[b + 52 >> 2];
+   q[c + 24 >> 2] = 0;
+   Qe(d, c);
+   q[b + 52 >> 2] = 0;
+  }
+  c = q[b + 56 >> 2];
+  if (c) {
+   Hi(a, c + 4 | 0);
+   Qe(d, q[q[b + 56 >> 2] + 24 >> 2]);
+   a = q[b + 56 >> 2];
+   q[a + 24 >> 2] = 0;
+   Qe(d, a);
+   q[b + 56 >> 2] = 0;
+  }
+  Qe(d, q[b + 64 >> 2]);
+  q[b + 64 >> 2] = 0;
+  Qe(d, q[b + 72 >> 2]);
+  q[b + 72 >> 2] = 0;
+  Qe(d, b);
+ }
+}
+function hy(a, b, c, d, e, f, g) {
+ var h = 0, i = x(0), j = 0, k = x(0), l = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ c = (r[a + 1 | 0] | r[a | 0] << 8) >>> 0 > c >>> 0 ? ((c << 2) + a | 0) + 2 | 0 : 271040;
+ j = r[c | 0] << 8 | r[c + 1 | 0];
+ a : {
+  if ((r[e + 1 | 0] | r[e | 0] << 8) >>> 0 <= d >>> 0 | j >>> 0 >= f >>> 0) {
+   break a;
+  }
+  d = w(d, f) + j | 0;
+  d = (d | 0) < 0 ? 271040 : ((d << 1) + e | 0) + 2 | 0;
+  d = r[d | 0] << 8 | r[d + 1 | 0];
+  if (!d) {
+   break a;
+  }
+  f = a;
+  a = r[c + 3 | 0] | r[c + 2 | 0] << 8;
+  f = a ? f + a | 0 : 271040;
+  d = d ? d + e | 0 : 271040;
+  c = q[b + 96 >> 2];
+  a = q[c + 72 >> 2];
+  if (a - g >>> 0 >= 2) {
+   DG(c, g, a);
+   a = q[c + 72 >> 2];
+  }
+  by(f, b, q[q[c + 88 >> 2] + w(a, 20) >> 2], h + 12 | 0, h + 8 | 0);
+  by(d, b, q[q[c + 88 >> 2] + w(g, 20) >> 2], h + 4 | 0, h);
+  a = q[c + 96 >> 2] + w(q[c + 72 >> 2], 20) | 0;
+  b = a;
+  i = x(S(x(x(u[h + 4 >> 2] - u[h + 12 >> 2]))));
+  b : {
+   if (x(y(i)) < x(2147483648)) {
+    d = ~~i;
+    break b;
+   }
+   d = -2147483648;
+  }
+  q[b + 8 >> 2] = d;
+  i = u[h + 8 >> 2];
+  k = u[h >> 2];
+  l = 1;
+  o[a + 18 | 0] = 1;
+  b = a;
+  i = x(S(x(x(k - i))));
+  c : {
+   if (x(y(i)) < x(2147483648)) {
+    d = ~~i;
+    break c;
+   }
+   d = -2147483648;
+  }
+  q[b + 12 >> 2] = d;
+  p[a + 16 >> 1] = g - q[c + 72 >> 2];
+  q[c + 32 >> 2] = q[c + 32 >> 2] | 8;
+  q[c + 72 >> 2] = q[c + 72 >> 2] + 1;
+ }
+ Ca = h + 16 | 0;
+ return l;
+}
+function Xq(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = Ca - 32 | 0;
+ Ca = f;
+ g = r[a + 11 | 0] | r[a + 10 | 0] << 8;
+ a : {
+  if (!g) {
+   break a;
+  }
+  a = (w(r[a + 9 | 0] | r[a + 8 | 0] << 8, 12) + a | 0) + 12 | 0;
+  while (1) {
+   d = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+   b : {
+    if (!((d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) & c)) {
+     break b;
+    }
+    d = r[a + 2 | 0];
+    if (d >>> 7 ^ (q[q[b + 12 >> 2] + 48 >> 2] & -2) == 6 ? !(d & 32) : 0) {
+     break b;
+    }
+    e = d & 64;
+    c : {
+     if (d & 16) {
+      d = (e | 0) != 0;
+      e = q[b + 12 >> 2];
+      break c;
+     }
+     d = e >>> 6 | 0;
+     e = q[b + 12 >> 2];
+     d = (d | 0) != ((q[e + 48 >> 2] & -3) == 5 | 0);
+    }
+    i = q[b + 4 >> 2];
+    q[f + 16 >> 2] = q[b + 60 >> 2];
+    if (!Ot(e, i, 228199, f + 16 | 0)) {
+     break b;
+    }
+    d : {
+     if (d) {
+      AG(q[b + 12 >> 2]);
+      Sr(a, b);
+      AG(q[b + 12 >> 2]);
+      break d;
+     }
+     Sr(a, b);
+    }
+    d = q[b + 4 >> 2];
+    e = q[b + 12 >> 2];
+    q[f >> 2] = q[b + 60 >> 2];
+    Ot(e, d, 228223, f);
+    if (r[q[b + 12 >> 2] + 68 | 0] != 1) {
+     break a;
+    }
+   }
+   d = r[a + 1 | 0];
+   e = r[a | 0];
+   q[b + 60 >> 2] = q[b + 60 >> 2] + 1;
+   a = (d | e << 8) + a | 0;
+   h = h + 1 | 0;
+   if ((g | 0) != (h | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = f + 32 | 0;
+}
+function al(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ c = 3;
+ d = q[a + 32 >> 2];
+ a : {
+  if (!d) {
+   break a;
+  }
+  b = q[d + 364 >> 2];
+  if (!b) {
+   break a;
+  }
+  c = 160;
+  if (r[b + 557 | 0]) {
+   break a;
+  }
+  f = d;
+  b : {
+   c : {
+    c = q[q[a + 16 >> 2] >> 2];
+    d = r[c | 0];
+    if ((d | 0) != 255) {
+     if ((d | 0) != 30) {
+      break c;
+     }
+     b = Vk(a, c, 0, 0) >> 16;
+     break b;
+    }
+    b = ((r[c + 3 | 0] | (r[c + 2 | 0] << 8 | r[c + 1 | 0] << 16)) << 8) + 32768 >> 16;
+    break b;
+   }
+   e = c + 1 | 0;
+   b = d + -28 | 0;
+   if (b >>> 0 <= 1) {
+    if (b - 1) {
+     d = q[a + 8 >> 2];
+     a = c + 2 | 0;
+     b = 0;
+     if (d >>> 0 <= a >>> 0) {
+      break b;
+     }
+     b = (r[a | 0] | r[e | 0] << 8) << 16 >> 16;
+     break b;
+    }
+    b = 0;
+    if (t[a + 8 >> 2] <= c + 4 >>> 0) {
+     break b;
+    }
+    a = r[c + 1 | 0] | r[c + 2 | 0] << 8 | (r[c + 3 | 0] << 16 | r[c + 4 | 0] << 24);
+    b = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+    break b;
+   }
+   b = d + -139 | 0;
+   if (d >>> 0 <= 246) {
+    break b;
+   }
+   a = q[a + 8 >> 2];
+   if (d >>> 0 <= 250) {
+    b = 0;
+    if (a >>> 0 <= e >>> 0) {
+     break b;
+    }
+    b = (r[e | 0] | d << 8) + -63124 | 0;
+    break b;
+   }
+   b = 0;
+   if (a >>> 0 <= e >>> 0) {
+    break b;
+   }
+   b = 64148 - (r[e | 0] | d << 8) | 0;
+  }
+  q[f + 360 >> 2] = b;
+  c = 0;
+ }
+ return c | 0;
+}
+function Yv(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  d = 1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  c = r[a | 0] | r[a + 1 | 0] << 8;
+  c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+  b : {
+   if (c >>> 0 > 1) {
+    break b;
+   }
+   if (c - 1) {
+    if (!dv(a + 2 | 0, b, a)) {
+     break a;
+    }
+    a = a + 4 | 0;
+    if (t[b + 4 >> 2] > a >>> 0) {
+     break a;
+    }
+    c = q[b + 8 >> 2];
+    if (c >>> 0 < a >>> 0) {
+     break a;
+    }
+    d = 0;
+    if (c - a >>> 0 < 2) {
+     break b;
+    }
+    a = q[b + 12 >> 2];
+    q[b + 12 >> 2] = a + -1;
+    return (a | 0) > 0;
+   }
+   if (!dv(a + 2 | 0, b, a)) {
+    break a;
+   }
+   e = q[b + 4 >> 2];
+   c = a + 4 | 0;
+   if (e >>> 0 > c >>> 0) {
+    break a;
+   }
+   d = q[b + 8 >> 2];
+   if (d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+    break a;
+   }
+   c = q[b + 12 >> 2];
+   q[b + 12 >> 2] = c + -1;
+   if ((c | 0) < 1) {
+    break a;
+   }
+   f = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+   if (f) {
+    a = a + 6 | 0;
+    if (e >>> 0 > a >>> 0 | d >>> 0 < a >>> 0) {
+     break a;
+    }
+    if (d - a >>> 0 < f << 1 >>> 0) {
+     break a;
+    }
+    q[b + 12 >> 2] = c + -2;
+    d = 0;
+    if ((c | 0) < 2) {
+     break b;
+    }
+   }
+   d = 1;
+  }
+  return d;
+ }
+ return 0;
+}
+function HG(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   if (!a | !q[a >> 2]) {
+    break b;
+   }
+   if (q[a >> 2] <= 0) {
+    break a;
+   }
+   b = q[a >> 2];
+   q[a >> 2] = b + -1;
+   if ((b | 0) != 1) {
+    break b;
+   }
+   q[a >> 2] = -57005;
+   b = q[a + 8 >> 2];
+   if (b) {
+    c : {
+     if (!q[b + 8 >> 2]) {
+      c = b + 12 | 0;
+      M$(q[c >> 2]);
+      q[c >> 2] = 0;
+      q[b + 4 >> 2] = 0;
+      q[b + 8 >> 2] = 0;
+      break c;
+     }
+     while (1) {
+      c = q[b >> 2];
+      q[b >> 2] = 1;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     c = q[b + 8 >> 2];
+     if (c) {
+      while (1) {
+       e = c + -1 | 0;
+       d = q[b + 12 >> 2] + w(e, 12) | 0;
+       c = q[d + 8 >> 2];
+       d = q[d + 4 >> 2];
+       q[b + 8 >> 2] = e;
+       q[b >> 2] = 0;
+       if (c) {
+        n[c](d);
+       }
+       while (1) {
+        c = q[b >> 2];
+        q[b >> 2] = 1;
+        if (c) {
+         continue;
+        }
+        break;
+       }
+       c = q[b + 8 >> 2];
+       if (c) {
+        continue;
+       }
+       break;
+      }
+     }
+     M$(q[b + 12 >> 2]);
+     q[b + 8 >> 2] = 0;
+     q[b + 12 >> 2] = 0;
+     q[b >> 2] = 0;
+     q[b + 4 >> 2] = 0;
+    }
+    M$(b);
+   }
+   fG(q[a + 12 >> 2]);
+   M$(q[a + 88 >> 2]);
+   M$(q[a + 96 >> 2]);
+   b = q[a + 160 >> 2];
+   if (b) {
+    n[b](q[a + 156 >> 2]);
+   }
+   M$(a);
+  }
+  return;
+ }
+ J(272672, 272697, 279, 272712);
+ F();
+}
+function zM(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ c = Ca - 48 | 0;
+ Ca = c;
+ a : {
+  b : {
+   if (eL(c + 44 | 0)) {
+    q[c + 16 >> 2] = 355295;
+    Yd(a, 0, 355285, c + 16 | 0);
+    break b;
+   }
+   ng(q[c + 44 >> 2], c + 40 | 0, c + 36 | 0, c + 32 | 0);
+   q[c >> 2] = q[c + 40 >> 2];
+   q[c + 4 >> 2] = q[c + 36 >> 2];
+   q[c + 8 >> 2] = q[c + 32 >> 2];
+   Yd(a, 6, 355312, c);
+   b = N$(1, 968);
+   if (!b) {
+    fL(q[c + 44 >> 2]);
+    break b;
+   }
+   q[b >> 2] = a;
+   d = q[c + 44 >> 2];
+   q[b + 764 >> 2] = 437480;
+   q[b + 4 >> 2] = d;
+   c : {
+    if (!eO(b + 768 | 0, q[109371])) {
+     fL(q[c + 44 >> 2]);
+     break c;
+    }
+    e = b, f = uM(), q[e + 736 >> 2] = f;
+    e = b, f = xM(), q[e + 744 >> 2] = f;
+    e = b, f = yM(), q[e + 748 >> 2] = f;
+    d = vM();
+    q[b + 760 >> 2] = 67108864;
+    q[b + 752 >> 2] = 1e4;
+    q[b + 756 >> 2] = 134217728;
+    q[b + 740 >> 2] = d;
+    q[b + 728 >> 2] = 16;
+    q[b + 720 >> 2] = 1024;
+    q[b + 724 >> 2] = 64;
+    q[b + 708 >> 2] = 0;
+    e = b, f = N$(16, 84), q[e + 704 >> 2] = f;
+    e = b, f = N$(1024, 336), q[e + 688 >> 2] = f;
+    d = N$(64, 24);
+    q[b + 96 >> 2] = 2;
+    q[b + 32 >> 2] = 0;
+    q[b + 36 >> 2] = 1072693248;
+    q[b + 696 >> 2] = d;
+    e = b, f = KN(), q[e + 116 >> 2] = f;
+    vN(a);
+    q[b + 92 >> 2] = 1;
+   }
+   Yd(a, 6, 355338, 0);
+   break a;
+  }
+  b = 0;
+  Yd(a, 1, 355350, 0);
+ }
+ Ca = c + 48 | 0;
+ return b;
+}
+function Wd(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ while (1) {
+  a : {
+   b : {
+    c : {
+     b = r[a | 0];
+     if (b >>> 0 > 9) {
+      if ((b | 0) != 32) {
+       break c;
+      }
+      break a;
+     }
+     switch (b - 1 | 0) {
+     case 8:
+      break a;
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+      break c;
+     default:
+      break b;
+     }
+    }
+    b = g0(a);
+    c = b + a | 0;
+    d : {
+     if ((b | 0) < 1) {
+      break d;
+     }
+     while (1) {
+      b = c + -1 | 0;
+      e = r[b | 0];
+      if ((e | 0) != 9 ? (e | 0) != 32 : 0) {
+       break d;
+      }
+      c = b;
+      if (b >>> 0 > a >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    b = a;
+    a = c - a | 0;
+    a = a >>> 0 < 15 ? a : 15;
+    b = Y$(d, b, a);
+    o[a + b | 0] = 0;
+    if (!be(b, 3165)) {
+     c = 2;
+     break b;
+    }
+    if (!be(b, 3170)) {
+     c = 3;
+     break b;
+    }
+    if (!be(b, 3177)) {
+     c = 4;
+     break b;
+    }
+    if (!be(b, 3184)) {
+     c = 5;
+     break b;
+    }
+    if (!be(b, 3191)) {
+     c = 6;
+     break b;
+    }
+    if (!be(b, 3198)) {
+     c = 7;
+     break b;
+    }
+    if (!be(b, 3206)) {
+     c = 8;
+     break b;
+    }
+    if (!be(b, 3214)) {
+     c = 9;
+     break b;
+    }
+    c = be(b, 3221) ? 1 : 10;
+   }
+   Ca = d + 16 | 0;
+   return c;
+  }
+  a = a + 1 | 0;
+  continue;
+ }
+}
+function QG(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ g = Ca - 32 | 0;
+ Ca = g;
+ if (!r[a + 70 | 0]) {
+  e = b + 1 | 0;
+  if (e >>> 0 < c >>> 0) {
+   i = b;
+   while (1) {
+    j = i;
+    i = e;
+    k = e >>> 0 > b >>> 0 ? b : e;
+    f = e;
+    while (1) {
+     a : {
+      e = f;
+      if (e >>> 0 <= b >>> 0) {
+       e = k;
+       break a;
+      }
+      h = q[a + 88 >> 2];
+      f = e + -1 | 0;
+      if ((n[d](h + w(f, 20) | 0, h + w(i, 20) | 0) | 0) > 0) {
+       continue;
+      }
+     }
+     break;
+    }
+    if ((e | 0) != (i | 0)) {
+     f = j + 2 | 0;
+     if (f - e >>> 0 >= 2) {
+      wG(a, e, f);
+     }
+     k = g + 24 | 0;
+     h = q[a + 88 >> 2];
+     f = h + w(i, 20) | 0;
+     q[k >> 2] = q[f + 16 >> 2];
+     l = q[f + 12 >> 2];
+     j = g + 16 | 0;
+     q[j >> 2] = q[f + 8 >> 2];
+     q[j + 4 >> 2] = l;
+     l = q[f + 4 >> 2];
+     q[g + 8 >> 2] = q[f >> 2];
+     q[g + 12 >> 2] = l;
+     f = w(e, 20);
+     h = f + h | 0;
+     _$(h + 20 | 0, h, w(i - e | 0, 20));
+     e = f + q[a + 88 >> 2] | 0;
+     f = q[g + 12 >> 2];
+     q[e >> 2] = q[g + 8 >> 2];
+     q[e + 4 >> 2] = f;
+     q[e + 16 >> 2] = q[k >> 2];
+     f = q[j + 4 >> 2];
+     q[e + 8 >> 2] = q[j >> 2];
+     q[e + 12 >> 2] = f;
+    }
+    e = i + 1 | 0;
+    if ((e | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  Ca = g + 32 | 0;
+  return;
+ }
+ J(272651, 272314, 1849, 272667);
+ F();
+}
+function Ct(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0;
+ f = Ca - 32 | 0;
+ Ca = f;
+ g = a + 136 | 0;
+ a : {
+  if (t[Ws(g) + 4 >> 2] <= b >>> 0) {
+   break a;
+  }
+  q[f + 16 >> 2] = d;
+  q[f + 12 >> 2] = c;
+  q[f + 8 >> 2] = a;
+  q[f + 24 >> 2] = 0;
+  o[f + 20 | 0] = (e | 0) != 0;
+  a = 271040;
+  e = q[Ws(g) >> 2];
+  e = e ? e : 271040;
+  e = t[e + 16 >> 2] < 10 ? 271040 : q[e + 12 >> 2];
+  h = r[e + 9 | 0] | r[e + 8 | 0] << 8;
+  e = h ? e + h | 0 : 271040;
+  if ((r[e | 0] << 8 | r[e + 1 | 0]) >>> 0 > b >>> 0) {
+   a = e + (b << 1) | 0;
+   a = r[a + 2 | 0] << 8 | r[a + 3 | 0];
+   a = a ? a + e | 0 : 271040;
+  }
+  e = Ws(g);
+  if (!d) {
+   break a;
+  }
+  d = q[e + 8 >> 2];
+  e = d + w(b, 24) | 0;
+  c = q[c >> 2];
+  if (!(q[e >> 2] >>> (c >>> 4 & 31) & 1) | !(q[e + 4 >> 2] >>> (c & 31) & 1) | !(q[(d + w(b, 24) | 0) + 8 >> 2] >>> (c >>> 9 & 31) & 1)) {
+   break a;
+  }
+  d = r[a + 5 | 0];
+  e = r[a + 4 | 0];
+  c = d | e << 8;
+  if (!c) {
+   break a;
+  }
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  h = a + 4 | 0;
+  b = 0;
+  while (1) {
+   i = 1;
+   d = (d & 255 | (e & 255) << 8) >>> 0 > b >>> 0 ? ((b << 1) + h | 0) + 2 | 0 : 271040;
+   d = r[d | 0] << 8 | r[d + 1 | 0];
+   if (Dt(d ? d + a | 0 : 271040, f + 8 | 0, g)) {
+    break a;
+   }
+   b = b + 1 | 0;
+   if ((b | 0) != (c | 0)) {
+    d = r[a + 5 | 0];
+    e = r[a + 4 | 0];
+    continue;
+   }
+   break;
+  }
+  i = 0;
+ }
+ Ca = f + 32 | 0;
+ return i;
+}
+function eF(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ e = q[c >> 2];
+ a : {
+  if (!b) {
+   a = Hq(e);
+   break a;
+  }
+  a = 65535;
+  g = fF(t[e + 16 >> 2] < 4 ? 271040 : q[e + 12 >> 2], q[c + 4 >> 2], f + 12 | 0);
+  h = r[g + 4 | 0] << 8 | r[g + 5 | 0];
+  b : {
+   if (!h) {
+    break b;
+   }
+   k = b << 8 & 16711680 | b << 24 | (b >>> 8 & 65280 | b >>> 24);
+   i = h + -1 | 0;
+   while (1) {
+    e = i + j >>> 1 | 0;
+    d = (e << 4) + g | 0;
+    d = r[d + 12 | 0] | r[d + 13 | 0] << 8 | (r[d + 14 | 0] << 16 | r[d + 15 | 0] << 24);
+    d = (d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24)) >>> 0 < b >>> 0 ? 1 : (d | 0) != (k | 0) ? -1 : 0;
+    c : {
+     if ((d | 0) <= -1) {
+      i = e + -1 | 0;
+      break c;
+     }
+     if (!d) {
+      a = e;
+      break b;
+     }
+     j = e + 1 | 0;
+    }
+    if ((j | 0) <= (i | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = h >>> 0 > a >>> 0 ? ((a << 4) + g | 0) + 12 | 0 : 271040;
+  b = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+  a = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+  a = Eq(q[c >> 2], q[f + 12 >> 2] + (b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24)) | 0, a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24));
+ }
+ Ca = f + 16 | 0;
+ return a | 0;
+}
+function dj(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ if (a) {
+  c = q[a + 100 >> 2];
+  b = q[a + 548 >> 2];
+  if (b) {
+   Qe(c, b);
+   q[a + 544 >> 2] = 0;
+   q[a + 548 >> 2] = 0;
+  }
+  aj(a);
+  q[a + 532 >> 2] = 0;
+  Qe(c, q[a + 132 >> 2]);
+  q[a + 132 >> 2] = 0;
+  b = a + 136 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 140 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 144 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 148 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 432 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 428 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 424 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 408 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 412 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 416 | 0;
+  cf(q[b >> 2], c);
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 392 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  Qe(c, q[a + 396 >> 2]);
+  q[a + 396 >> 2] = 0;
+  b = a + 400 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 384 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 388 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 364 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = q[a + 496 >> 2];
+  if (b) {
+   Qe(c, q[b + 36 >> 2]);
+   q[b + 36 >> 2] = 0;
+   q[b + 40 >> 2] = 0;
+   Qe(c, q[b + 28 >> 2]);
+   q[b + 28 >> 2] = 0;
+   q[b + 32 >> 2] = 0;
+   Qe(c, b);
+  }
+  q[a + 20 >> 2] = 0;
+  q[a + 24 >> 2] = 0;
+ }
+}
+function di(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0;
+ a : {
+  if (b >>> 0 > c >>> 0) {
+   break a;
+  }
+  f = q[a + 12 >> 2];
+  if (f >>> 0 <= d >>> 0 | f >>> 0 <= e >>> 0) {
+   break a;
+  }
+  l = q[a + 4 >> 2];
+  f = q[a + 8 >> 2];
+  i = q[f + (d << 3) >> 2];
+  j = q[f + (e << 3) >> 2];
+  g = (i | 0) > (j | 0);
+  k = (g ? d : e) << 3;
+  h = q[l + k >> 2];
+  f = q[a >> 2];
+  k = q[k + f >> 2];
+  n = h - k | 0;
+  e = (g ? e : d) << 3;
+  d = q[e + l >> 2];
+  m = q[e + f >> 2];
+  o = d - m | 0;
+  e = g ? i : j;
+  g = g ? j : i;
+  if (!((e | 0) == (g | 0) | (d | 0) == (h | 0))) {
+   p = e - g | 0;
+   r = h - d | 0;
+   i = 0;
+   j = 0;
+   while (1) {
+    h = b << 3;
+    e = q[h + f >> 2];
+    b : {
+     if ((e | 0) <= (m | 0)) {
+      f = e + o | 0;
+      break b;
+     }
+     if ((e | 0) >= (k | 0)) {
+      f = e + n | 0;
+      break b;
+     }
+     if (!i) {
+      j = Fe(r, p);
+      i = 1;
+     }
+     f = Ee(q[h + q[a + 8 >> 2] >> 2] - g | 0, j) + d | 0;
+     l = q[a + 4 >> 2];
+    }
+    q[h + l >> 2] = f;
+    b = b + 1 | 0;
+    if (b >>> 0 > c >>> 0) {
+     break a;
+    }
+    f = q[a >> 2];
+    continue;
+   }
+  }
+  while (1) {
+   e = b << 3;
+   a = q[e + f >> 2];
+   q[e + l >> 2] = (a | 0) > (m | 0) ? (a | 0) < (k | 0) ? d : a + n | 0 : a + o | 0;
+   b = b + 1 | 0;
+   if (b >>> 0 <= c >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function mv(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ a : {
+  f = q[b + 4 >> 2];
+  c = a + 4 | 0;
+  if (f >>> 0 > c >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  g = 1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  b : {
+   c : {
+    e = r[a + 4 | 0] | r[a + 5 | 0] << 8;
+    e = (e << 24 | e << 8 & 16711680) >>> 16 | 0;
+    if (e + -1 >>> 0 >= 3) {
+     if ((e | 0) != 32768) {
+      break b;
+     }
+     if (f >>> 0 <= a >>> 0) {
+      break c;
+     }
+     break a;
+    }
+    if (d >>> 0 < a >>> 0 | f >>> 0 > a >>> 0) {
+     break a;
+    }
+    d = d - a | 0;
+    if (d >>> 0 < 6) {
+     break a;
+    }
+    q[b + 12 >> 2] = c + -2;
+    if ((c | 0) < 2) {
+     break a;
+    }
+    f = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+    d : {
+     if (f + -1 >>> 0 > 2) {
+      break d;
+     }
+     e = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+     a = r[a + 1 | 0] | r[a | 0] << 8;
+     if (e >>> 0 < a >>> 0) {
+      break d;
+     }
+     a = (e - a >>> 4 - f << 1) + 8 | 0;
+     if (!a) {
+      break b;
+     }
+     g = 0;
+     if (d >>> 0 < a >>> 0) {
+      break b;
+     }
+    }
+    q[b + 12 >> 2] = c + -3;
+    return (c | 0) > 2;
+   }
+   if (d >>> 0 < a >>> 0) {
+    break a;
+   }
+   g = 0;
+   if (d - a >>> 0 < 6) {
+    break b;
+   }
+   q[b + 12 >> 2] = c + -2;
+   g = (c | 0) > 1;
+  }
+  return g;
+ }
+ return 0;
+}
+function JM(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0;
+ q[a + 712 >> 2] = 0;
+ q[a + 716 >> 2] = 0;
+ l = q[a + 692 >> 2];
+ a : {
+  if ((l | 0) < 1) {
+   b = .0078125;
+   c = 0;
+   break a;
+  }
+  n = q[a + 688 >> 2];
+  b = .0078125;
+  while (1) {
+   e = w(j, 336) + n | 0;
+   if (r[e + 112 | 0]) {
+    g = q[a + 696 >> 2] + w(f, 24) | 0;
+    c = b * +(d | 0);
+    v[g + 8 >> 3] = c;
+    b = b * +(h | 0);
+    v[g >> 3] = b;
+    k = b + c + k;
+    v[a + 712 >> 3] = k;
+    f = f + 1 | 0;
+    h = 0;
+    d = 0;
+    b = .0078125;
+   }
+   g = q[e + 168 >> 2];
+   o = (d | 0) > (g | 0);
+   m = q[e + 164 >> 2];
+   p = (h | 0) > (m | 0);
+   b : {
+    c : {
+     e = q[e >> 2];
+     if (e >>> 0 > 10) {
+      break c;
+     }
+     switch (e - 1 | 0) {
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 8:
+      break c;
+     default:
+      break b;
+     }
+    }
+    b = .015625;
+   }
+   d = o ? d : g;
+   h = p ? h : m;
+   j = j + 1 | 0;
+   if ((l | 0) != (j | 0)) {
+    continue;
+   }
+   break;
+  }
+  i = +(d | 0);
+  c = +(h | 0);
+ }
+ if ((q[a + 700 >> 2] + -1 | 0) != (f | 0)) {
+  J(355698, 355425, 1513, 355733);
+  F();
+ }
+ d = q[a + 696 >> 2] + w(f, 24) | 0;
+ i = b * i;
+ v[d + 8 >> 3] = i;
+ c = b * c;
+ v[d >> 3] = c;
+ v[a + 712 >> 3] = c + i + k + v[a + 40 >> 3] * +(f | 0);
+}
+
+
+
+function XK(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  if (!a | a >>> 0 >= b >>> 0) {
+   break a;
+  }
+  f = a + 1 | 0;
+  g = o[a | 0];
+  a = 0;
+  e = 52;
+  b : {
+   while (1) {
+    h = a + e | 0;
+    c = h & -2;
+    c = (r[c + 297682 | 0] << 8 | r[c + 297683 | 0]) + 297680 | 0;
+    d = r[c | 0];
+    i = d & 127;
+    if ((i | 0) == (g | 0)) {
+     break b;
+    }
+    c = h >> 1;
+    d = (i | 0) < (g | 0);
+    a = d ? c + 1 | 0 : a;
+    e = d ? e : c;
+    if ((a | 0) < (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   return 0;
+  }
+  if (f >>> 0 < b >>> 0) {
+   while (1) {
+    a = c + 1 | 0;
+    e = d << 24;
+    d = r[c + 1 | 0];
+    g = o[f | 0];
+    c : {
+     if (e >> 24 <= -1) {
+      c = a;
+      if ((g | 0) == (d & 127)) {
+       break c;
+      }
+      return 0;
+     }
+     e = d & 127;
+     if (!e) {
+      break a;
+     }
+     a = a + (d & 128 ? 3 : 1) | 0;
+     while (1) {
+      c = (r[a + 1 | 0] | r[a | 0] << 8) + 297680 | 0;
+      d = r[c | 0];
+      if ((g | 0) == (d & 127)) {
+       break c;
+      }
+      a = a + 2 | 0;
+      c = (e | 0) > 1;
+      e = e + -1 | 0;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     break a;
+    }
+    f = f + 1 | 0;
+    if ((f | 0) != (b | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (d << 24 >> 24 < 0 | o[c + 1 | 0] > -1) {
+   break a;
+  }
+  return r[c + 3 | 0] | r[c + 2 | 0] << 8;
+ }
+ return 0;
+}
+function SA(a, b, c) {
+ var d = x(0), e = 0, f = 0, g = x(0), h = x(0), i = 0, j = x(0);
+ d = u[a >> 2];
+ h = u[a + 8 >> 2];
+ if (!(u[a + 4 >> 2] >= u[a + 12 >> 2] ^ 1 ? !(d >= h) : 0)) {
+  q[c >> 2] = 0;
+  q[c + 4 >> 2] = 0;
+  q[c + 8 >> 2] = 0;
+  q[c + 12 >> 2] = 0;
+  return;
+ }
+ g = x(q[b + 20 >> 2]);
+ j = x(d * g);
+ f = q[b + 16 >> 2];
+ e = q[f + 28 >> 2];
+ if (!e) {
+  e = XF(f);
+  h = u[a + 8 >> 2];
+  g = x(q[b + 20 >> 2]);
+  d = u[a >> 2];
+  f = q[b + 16 >> 2];
+ }
+ i = c;
+ j = x(S(x(x(j / x(e >>> 0)))));
+ a : {
+  if (x(y(j)) < x(2147483648)) {
+   e = ~~j;
+   break a;
+  }
+  e = -2147483648;
+ }
+ q[i >> 2] = e;
+ d = x(x(h - d) * g);
+ e = q[f + 28 >> 2];
+ if (!e) {
+  e = XF(f);
+  f = q[b + 16 >> 2];
+ }
+ i = c;
+ d = x(S(x(x(d / x(e >>> 0)))));
+ b : {
+  if (x(y(d)) < x(2147483648)) {
+   e = ~~d;
+   break b;
+  }
+  e = -2147483648;
+ }
+ q[i + 8 >> 2] = e;
+ d = u[a + 12 >> 2];
+ h = x(q[b + 24 >> 2]);
+ g = x(d * h);
+ e = q[f + 28 >> 2];
+ if (!e) {
+  e = XF(f);
+  h = x(q[b + 24 >> 2]);
+  d = u[a + 12 >> 2];
+  f = q[b + 16 >> 2];
+ }
+ b = c;
+ g = x(S(x(x(g / x(e >>> 0)))));
+ c : {
+  if (x(y(g)) < x(2147483648)) {
+   i = ~~g;
+   break c;
+  }
+  i = -2147483648;
+ }
+ q[b + 4 >> 2] = i;
+ d = x(x(u[a + 4 >> 2] - d) * h);
+ a = q[f + 28 >> 2];
+ if (!a) {
+  a = XF(f);
+ }
+ d = x(S(x(x(d / x(a >>> 0)))));
+ if (x(y(d)) < x(2147483648)) {
+  q[c + 12 >> 2] = ~~d;
+  return;
+ }
+ q[c + 12 >> 2] = -2147483648;
+}
+function AP(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = q[a + 104 >> 2];
+ a : {
+  if (!d) {
+   break a;
+  }
+  if (oP(a, b, d)) {
+   break a;
+  }
+  b = q[d + 8 >> 2];
+  if (lP(d, b + 4 | 0)) {
+   break a;
+  }
+  if (mP(d, 2)) {
+   break a;
+  }
+  a = q[d + 32 >> 2];
+  q[d + 32 >> 2] = a + 2;
+  e = r[a + 1 | 0];
+  a = r[a | 0];
+  nP(d);
+  if (lP(d, b + (e | a << 8) | 0)) {
+   break a;
+  }
+  g = q[d + 8 >> 2];
+  if (mP(d, 2)) {
+   break a;
+  }
+  a = q[d + 32 >> 2];
+  q[d + 32 >> 2] = a + 2;
+  b = r[a + 1 | 0];
+  a = r[a | 0];
+  nP(d);
+  a = b | a << 8;
+  b = L$(a << 2);
+  q[c >> 2] = b;
+  if (!b) {
+   break a;
+  }
+  b : {
+   if (!a) {
+    break b;
+   }
+   b = 0;
+   while (1) {
+    if (mP(d, 6)) {
+     break b;
+    }
+    e = q[d + 32 >> 2];
+    q[d + 32 >> 2] = e + 4;
+    e = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+    q[q[c >> 2] + ((f & 65535) << 2) >> 2] = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+    e = q[d + 32 >> 2];
+    q[d + 32 >> 2] = e + 2;
+    h = r[e + 1 | 0];
+    e = r[e | 0];
+    nP(d);
+    i = q[d + 8 >> 2];
+    e = lP(d, (h | e << 8) + g | 0);
+    lP(d, i);
+    f = !e + f | 0;
+    b = b + 1 | 0;
+    if (a >>> 0 > (b & 65535) >>> 0) {
+     continue;
+    }
+    break;
+   }
+   if (!(f & 65535)) {
+    break b;
+   }
+   M_(q[c >> 2], a, 4, 832);
+   return a;
+  }
+  M$(q[c >> 2]);
+  q[c >> 2] = 0;
+ }
+ return 0;
+}
+function nr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  b : {
+   if (t[b + 4 >> 2] > a >>> 0) {
+    break b;
+   }
+   c = q[b + 8 >> 2];
+   if (c >>> 0 < a >>> 0) {
+    break b;
+   }
+   e = c - a | 0;
+   if (e >>> 0 < 4) {
+    break b;
+   }
+   c = q[b + 12 >> 2];
+   q[b + 12 >> 2] = c + -1;
+   if ((c | 0) < 1) {
+    break b;
+   }
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (d >>> 0 < 13 | e >>> 0 < d >>> 0) {
+    break b;
+   }
+   q[b + 12 >> 2] = c + -2;
+   if ((c | 0) < 2) {
+    break b;
+   }
+   d = q[b + 28 >> 2];
+   c = q[d + 12 >> 2];
+   q[b + 4 >> 2] = c;
+   e = q[d + 16 >> 2];
+   d = e + c | 0;
+   q[b + 8 >> 2] = d;
+   if ((e | 0) <= -1) {
+    break a;
+   }
+   c : {
+    if (!(d >>> 0 > a >>> 0 ? a >>> 0 >= c >>> 0 : 0)) {
+     q[b + 4 >> 2] = 0;
+     q[b + 8 >> 2] = 0;
+     break c;
+    }
+    q[b + 4 >> 2] = a;
+    c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+    c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    d = d - a | 0;
+    q[b + 8 >> 2] = (d >>> 0 > c >>> 0 ? c : d) + a;
+   }
+   f = or(a, b);
+   a = q[b + 28 >> 2];
+   c = q[a + 12 >> 2];
+   q[b + 4 >> 2] = c;
+   a = q[a + 16 >> 2];
+   q[b + 8 >> 2] = a + c;
+   if ((a | 0) <= -1) {
+    break a;
+   }
+  }
+  return f;
+ }
+ J(228144, 228169, 195, 228186);
+ F();
+}
+function un(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ l = q[a + 8 >> 2];
+ e = l;
+ m = q[a + 12 >> 2];
+ f = m;
+ n = q[a >> 2];
+ g = n;
+ a : {
+  o = q[a + 4 >> 2];
+  i = o;
+  if (32 - i >>> 0 <= 15) {
+   e = l;
+   g = n;
+   f = m;
+   h = o;
+   while (1) {
+    if (!f) {
+     break a;
+    }
+    d = g >>> 8 | 0;
+    q[a >> 2] = d;
+    g = r[e | 0];
+    f = f + -1 | 0;
+    q[a + 12 >> 2] = f;
+    i = h + -8 | 0;
+    q[a + 4 >> 2] = i;
+    e = e + 1 | 0;
+    q[a + 8 >> 2] = e;
+    g = d | g << 24;
+    q[a >> 2] = g;
+    d = 40 - h | 0;
+    h = i;
+    if (d >>> 0 < 16) {
+     continue;
+    }
+    break;
+   }
+  }
+  h = i + 16 | 0;
+  q[a + 4 >> 2] = h;
+  j = b + -16 | 0;
+  b : {
+   if (16 - i >>> 0 >= j >>> 0) {
+    b = g;
+    d = h;
+    break b;
+   }
+   b = g;
+   while (1) {
+    if (!f) {
+     break a;
+    }
+    k = b >>> 8 | 0;
+    q[a >> 2] = k;
+    b = r[e | 0];
+    f = f + -1 | 0;
+    q[a + 12 >> 2] = f;
+    d = h + -8 | 0;
+    q[a + 4 >> 2] = d;
+    e = e + 1 | 0;
+    q[a + 8 >> 2] = e;
+    b = k | b << 24;
+    q[a >> 2] = b;
+    k = 40 - h | 0;
+    h = d;
+    if (k >>> 0 < j >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[a + 4 >> 2] = d + j;
+  q[c >> 2] = g >>> i & 65535 | (q[(j << 2) + 28928 >> 2] & b >>> d) << 16;
+  return 1;
+ }
+ q[a + 12 >> 2] = m;
+ q[a + 8 >> 2] = l;
+ q[a + 4 >> 2] = o;
+ q[a >> 2] = n;
+ return 0;
+}
+function Nw(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = r[a + 1 | 0] | r[a | 0] << 8;
+ a : {
+  if (!d) {
+   break a;
+  }
+  c = q[b + 96 >> 2];
+  e = q[(q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) | 0) + 4 >> 2];
+  c = q[b + 116 >> 2];
+  c = (e & c) >>> R0(c) | 0;
+  b : {
+   if ((c | 0) != 255) {
+    break b;
+   }
+   c = 255;
+   if (!r[b + 143 | 0]) {
+    break b;
+   }
+   c = (w(q[b + 144 >> 2], 48271) >>> 0) % 2147483647 | 0;
+   q[b + 144 >> 2] = c;
+   c = ((c >>> 0) % (d >>> 0) | 0) + 1 | 0;
+  }
+  c = c + -1 | 0;
+  if (c >>> 0 >= d >>> 0) {
+   break a;
+  }
+  f = 1;
+  a = (r[a + 1 | 0] | r[a | 0] << 8) >>> 0 > c >>> 0 ? ((c << 1) + a | 0) + 2 | 0 : 271040;
+  e = r[a | 0] << 8 | r[a + 1 | 0];
+  Iw(b, e, 0, 0, 0);
+  b = q[b + 96 >> 2];
+  d = q[b + 92 >> 2];
+  c : {
+   if ((d | 0) == q[b + 88 >> 2]) {
+    c = q[b + 80 >> 2];
+    a = c;
+    if ((c | 0) == q[b + 72 >> 2]) {
+     break c;
+    }
+   }
+   if (!pG(b, 1, 1)) {
+    break a;
+   }
+   c = q[b + 88 >> 2] + w(q[b + 72 >> 2], 20) | 0;
+   d = q[c + 4 >> 2];
+   a = q[b + 92 >> 2] + w(q[b + 80 >> 2], 20) | 0;
+   q[a >> 2] = q[c >> 2];
+   q[a + 4 >> 2] = d;
+   q[a + 16 >> 2] = q[c + 16 >> 2];
+   d = q[c + 12 >> 2];
+   q[a + 8 >> 2] = q[c + 8 >> 2];
+   q[a + 12 >> 2] = d;
+   c = q[b + 72 >> 2];
+   a = q[b + 80 >> 2];
+   d = q[b + 92 >> 2];
+  }
+  q[w(a, 20) + d >> 2] = e;
+  q[b + 80 >> 2] = a + 1;
+  q[b + 72 >> 2] = c + 1;
+ }
+ return f;
+}
+function rZ(a) {
+ var b = 0, c = 0, d = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0;
+ a : {
+  b : {
+   c : {
+    h(+a);
+    i = e(1) | 0;
+    b = i;
+    d : {
+     if (!(n = (q = 1, r = (t = e(0) >>> 0 < 0 ? 0 : 1, u = 0, v = (b | 0) >= 0, v ? t : u), s = (b | 0) > 0, s ? q : r), o = 0, p = b >>> 0 > 1071284857, p ? n : o)) {
+      if (b >>> 0 >= 3220176896) {
+       d = -H;
+       if (a == -1) {
+        break a;
+       }
+       return (a - a) / 0;
+      }
+      if (b << 1 >>> 0 < 2034237440) {
+       break d;
+      }
+      if (b >>> 0 >= 3218259653) {
+       break c;
+      }
+      d = 0;
+      break b;
+     }
+     if (b >>> 0 <= 2146435071) {
+      break c;
+     }
+    }
+    return a;
+   }
+   c = a + 1;
+   h(+c);
+   b = e(1) | 0;
+   i = e(0) | 0;
+   b = b + 614242 | 0;
+   l = b >>> 0 <= 1129316351 ? (b >>> 0 > 1074790399 ? a - c + 1 : a - (c + -1)) / c : l;
+   f(0, i | 0);
+   f(1, (b & 1048575) + 1072079006 | 0);
+   a = +g() + -1;
+   d = +((b >>> 20 | 0) + -1023 | 0);
+  }
+  j = a / (a + 2);
+  k = j * j;
+  c = k * k;
+  m = a;
+  a = a * (a * .5);
+  d = d * .6931471803691238 + (m + (l + d * 1.9082149292705877e-10 + j * (a + (c * (c * (c * .15313837699209373 + .22222198432149784) + .3999999999940942) + k * (c * (c * (c * .14798198605116586 + .1818357216161805) + .2857142874366239) + .6666666666666735))) - a));
+ }
+ return d;
+}
+function lu(a, b, c, d) {
+ var e = 0, f = x(0), g = 0, h = x(0), i = 0, j = 0, k = x(0), l = 0, m = 0, n = 0;
+ if ((r[a + 3 | 0] | r[a + 2 | 0] << 8) >>> 0 <= b >>> 0) {
+  return x(0);
+ }
+ f = x(1);
+ j = r[a + 1 | 0] | r[a | 0] << 8;
+ a : {
+  if (!j) {
+   break a;
+  }
+  l = (w(w(b, j), 6) + a | 0) + 4 | 0;
+  while (1) {
+   b = 0;
+   b = i >>> 0 < d >>> 0 ? q[(i << 2) + c >> 2] : b;
+   h = f;
+   e = w(i, 6) + l | 0;
+   a = r[e + 2 | 0] | r[e + 3 | 0] << 8;
+   a = (a << 24 | a << 8 & 16711680) >> 16;
+   g = r[e | 0] | r[e + 1 | 0] << 8;
+   g = (g << 24 | g << 8 & 16711680) >> 16;
+   f = h;
+   b : {
+    if ((a | 0) < (g | 0)) {
+     break b;
+    }
+    e = r[e + 4 | 0] | r[e + 5 | 0] << 8;
+    e = (e << 24 | e << 8 & 16711680) >> 16;
+    f = h;
+    if ((e | 0) < (a | 0)) {
+     break b;
+    }
+    if (!(!a | (g | 0) > -1 | (e | 0) <= 0)) {
+     f = h;
+     break b;
+    }
+    f = h;
+    if (!a) {
+     break b;
+    }
+    f = h;
+    if ((a | 0) == (b | 0)) {
+     break b;
+    }
+    if ((b | 0) <= (g | 0)) {
+     return x(0);
+    }
+    if ((b | 0) >= (e | 0)) {
+     return x(0);
+    }
+    f = x(0);
+    m = b - g | 0;
+    n = e - b | 0;
+    b = (b | 0) < (a | 0);
+    k = x(x((b ? m : n) | 0) / x((b ? a - g | 0 : e - a | 0) | 0));
+    if (k == x(0)) {
+     break a;
+    }
+    f = x(h * k);
+   }
+   i = i + 1 | 0;
+   if ((j | 0) != (i | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return f;
+}
+function GO(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0;
+ if (c) {
+  g = d << 4;
+  n = g << 1;
+  i = d + 5 >>> 1 | 0;
+  o = i << 5;
+  while (1) {
+   d = a;
+   f = 0;
+   j = 0;
+   if (i) {
+    while (1) {
+     q = f >>> 0 < g >>> 0 ? (f << 1) + b | 0 : 437888;
+     e = f | 16;
+     r = e >>> 0 < g >>> 0 ? (e << 1) + b | 0 : 437888;
+     e = f + -16 | 0;
+     s = e >>> 0 < g >>> 0 ? (e << 1) + b | 0 : 437888;
+     e = f + -32 | 0;
+     t = e >>> 0 < g >>> 0 ? (e << 1) + b | 0 : 437888;
+     e = f + -48 | 0;
+     u = e >>> 0 < g >>> 0 ? (e << 1) + b | 0 : 437888;
+     e = f + -64 | 0;
+     v = e >>> 0 < g >>> 0 ? (e << 1) + b | 0 : 437888;
+     h = 0;
+     while (1) {
+      e = h << 1;
+      k = p[e + s >> 1] + p[e + t >> 1] | 0;
+      l = p[e + q >> 1] + p[e + u >> 1] | 0;
+      p[d + e >> 1] = ((l + ((p[e + r >> 1] + (p[e + v >> 1] + l | 0) >> 1) + k >>> 1 | 0) >>> 1 | 0) + k | 0) + 2 >>> 2;
+      h = h + 1 | 0;
+      if ((h | 0) != 16) {
+       continue;
+      }
+      break;
+     }
+     f = f + 32 | 0;
+     d = d + 32 | 0;
+     j = j + 1 | 0;
+     if ((j | 0) != (i | 0)) {
+      continue;
+     }
+     break;
+    }
+    a = a + o | 0;
+   }
+   b = b + n | 0;
+   m = m + 16 | 0;
+   if (m >>> 0 < c >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function GJ(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ h = q[a >> 2];
+ if (h >>> 0 < b >>> 0) {
+  f = 1;
+  b = b - h | 0;
+  d = d << 1;
+  d = d >>> 0 > b >>> 0 ? b : d;
+  a : {
+   if (!d) {
+    b = 0;
+    break a;
+   }
+   b = 0;
+   b : {
+    while (1) {
+     c : {
+      d : {
+       e = r[b + h | 0];
+       if (e >>> 0 > 32) {
+        break d;
+       }
+       switch (e - 1 | 0) {
+       case 0:
+       case 1:
+       case 2:
+       case 3:
+       case 4:
+       case 5:
+       case 6:
+       case 7:
+       case 10:
+       case 13:
+       case 14:
+       case 15:
+       case 16:
+       case 17:
+       case 18:
+       case 19:
+       case 20:
+       case 21:
+       case 22:
+       case 23:
+       case 24:
+       case 25:
+       case 26:
+       case 27:
+       case 28:
+       case 29:
+       case 30:
+        break d;
+       default:
+        break c;
+       }
+      }
+      if (e << 24 >> 24 < 0) {
+       break b;
+      }
+      e = r[e + 291344 | 0];
+      if (e >>> 0 > 15) {
+       break b;
+      }
+      e = e | f << 4;
+      if (!(f & 16)) {
+       f = e;
+       break c;
+      }
+      o[c + g | 0] = e;
+      f = 1;
+      g = g + 1 | 0;
+     }
+     b = b + 1 | 0;
+     if ((d | 0) != (b | 0)) {
+      continue;
+     }
+     break;
+    }
+    b = d;
+   }
+   if ((f | 0) == 1) {
+    break a;
+   }
+   o[c + g | 0] = f << 4;
+   g = g + 1 | 0;
+  }
+  q[a >> 2] = b + h;
+ }
+ return g;
+}
+function Pi(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ c = q[b + 4 >> 2] + (c << 4) | 0;
+ e = q[c + 4 >> 2];
+ if (!e) {
+  return 0;
+ }
+ m = q[c + 12 >> 2] + (w(d, e) << 1) | 0;
+ n = c + 4 | 0;
+ o = c + 8 | 0;
+ while (1) {
+  a : {
+   if (!s[b + 8 >> 1]) {
+    d = 65536;
+    break a;
+   }
+   c = q[q[b + 16 >> 2] + (q[q[o >> 2] + (j << 2) >> 2] << 2) >> 2];
+   k = 0;
+   d = 65536;
+   while (1) {
+    e = d;
+    f = q[c + 4 >> 2];
+    h = q[c >> 2];
+    d = e;
+    b : {
+     if ((f | 0) < (h | 0)) {
+      break b;
+     }
+     i = q[c + 8 >> 2];
+     d = e;
+     if ((i | 0) < (f | 0)) {
+      break b;
+     }
+     d = e;
+     if (!f) {
+      break b;
+     }
+     d = e;
+     if ((h | 0) < 0 & (i | 0) > 0) {
+      break b;
+     }
+     g = q[q[q[a + 736 >> 2] + 8 >> 2] + (k << 2) >> 2];
+     d = e;
+     if ((g | 0) == (f | 0)) {
+      break b;
+     }
+     d = 0;
+     if ((g | 0) <= (h | 0) | (i | 0) <= (g | 0)) {
+      break a;
+     }
+     if ((g | 0) < (f | 0)) {
+      d = ue(e, g - h | 0, f - h | 0);
+      break b;
+     }
+     d = ue(e, i - g | 0, i - f | 0);
+    }
+    c = c + 12 | 0;
+    k = k + 1 | 0;
+    if (k >>> 0 < s[b + 8 >> 1]) {
+     continue;
+    }
+    break;
+   }
+  }
+  l = Ee(d, s[(j << 1) + m >> 1] << 16) + l | 0;
+  j = j + 1 | 0;
+  if (j >>> 0 < t[n >> 2]) {
+   continue;
+  }
+  break;
+ }
+ return l + 32768 >> 16;
+}
+function Bz(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   if (r[b + 16 | 0]) {
+    break b;
+   }
+   c = q[b + 12 >> 2];
+   d = q[b + 4 >> 2];
+   if (c + 4 >>> 0 > d >>> 0) {
+    break b;
+   }
+   c : {
+    if (c >>> 0 >= d >>> 0) {
+     o[b + 16 | 0] = 1;
+     c = 271040;
+     break c;
+    }
+    c = c + q[b >> 2] | 0;
+   }
+   c = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+   d = c >>> 8 & 65280 | c >>> 24;
+   e = c << 8 & 16711680 | c << 24;
+   c = q[a + 4 >> 2];
+   d : {
+    if (c >>> 0 < t[a + 12 >> 2]) {
+     q[a + 4 >> 2] = c + 1;
+     a = q[a + 16 >> 2] + (c << 5) | 0;
+     break d;
+    }
+    o[a | 0] = 1;
+    a = q[67767];
+    q[160662] = q[67766];
+    q[160663] = a;
+    a = q[67765];
+    q[160660] = q[67764];
+    q[160661] = a;
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+   }
+   c = d | e;
+   q[a + 8 >> 2] = 0;
+   q[a + 12 >> 2] = 0;
+   if (q[a + 16 >> 2] >= 0) {
+    q[a + 20 >> 2] = 0;
+   }
+   v[a >> 3] = +(c | 0) * 152587890625e-16;
+   if (r[b + 16 | 0]) {
+    a = q[b + 4 >> 2];
+    break a;
+   }
+   c = q[b + 12 >> 2];
+   a = q[b + 4 >> 2];
+   if (c >>> 0 > a >>> 0) {
+    break a;
+   }
+   c = c + 4 | 0;
+   if (c >>> 0 > a >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = c;
+  }
+  return;
+ }
+ o[b + 16 | 0] = 1;
+ q[b + 12 >> 2] = a;
+}
+function jK(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ iK(a);
+ a : {
+  if (q[a + 12 >> 2] > 0) {
+   break a;
+  }
+  c = q[a >> 2];
+  d = c + -1 | 0;
+  e = q[a + 8 >> 2];
+  b : {
+   c : {
+    while (1) {
+     b = c;
+     if (b >>> 0 >= e >>> 0) {
+      break b;
+     }
+     c = b + 1 | 0;
+     q[a >> 2] = c;
+     b = r[b | 0] + -9 | 0;
+     if (b >>> 0 > 50) {
+      continue;
+     }
+     d : {
+      switch (b - 1 | 0) {
+      case 16:
+       break b;
+      case 49:
+       break c;
+      case 1:
+      case 2:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 8:
+      case 9:
+      case 10:
+      case 11:
+      case 12:
+      case 13:
+      case 14:
+      case 15:
+      case 17:
+      case 18:
+      case 19:
+      case 20:
+      case 21:
+      case 23:
+      case 24:
+      case 25:
+      case 26:
+      case 27:
+      case 28:
+      case 29:
+      case 30:
+      case 31:
+      case 32:
+      case 33:
+      case 34:
+      case 35:
+      case 36:
+      case 37:
+      case 38:
+      case 39:
+      case 40:
+      case 41:
+      case 42:
+      case 43:
+      case 44:
+      case 45:
+      case 46:
+      case 47:
+      case 48:
+       continue;
+      case 0:
+      case 3:
+       break d;
+      default:
+       break a;
+      }
+     }
+     break;
+    }
+    q[a + 12 >> 2] = 2;
+    return d;
+   }
+   q[a + 12 >> 2] = 1;
+   return d;
+  }
+  q[a + 12 >> 2] = 3;
+ }
+ return d;
+}
+function Ce(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ if (!a) {
+  return 0;
+ }
+ b = q[a + 4 >> 2];
+ c = q[a >> 2];
+ if (!c) {
+  a = b >> 31;
+  return a + b ^ a;
+ }
+ a = c >> 31;
+ a = a + c ^ a;
+ if (b) {
+  e = b >> 31;
+  e = a | e + b ^ e;
+  a = z(e);
+  a : {
+   if (e >>> 0 <= 1073741823) {
+    e = a + -2 | 0;
+    a = b << e;
+    b = c << e;
+    break a;
+   }
+   e = a + -2 | 0;
+   d = b;
+   b = 2 - a | 0;
+   a = d >> b;
+   b = c >> b;
+  }
+  c = 0 - b | 0;
+  b : {
+   if ((a | 0) > (b | 0)) {
+    d = (a | 0) > (c | 0);
+    b = d ? c : 0 - a | 0;
+    c = d ? a : c;
+    break b;
+   }
+   d = (a | 0) < (c | 0);
+   c = d ? 0 - a | 0 : b;
+   b = d ? b : a;
+  }
+  a = 1;
+  d = 1;
+  while (1) {
+   f = a + b >> d;
+   c : {
+    if ((b | 0) >= 1) {
+     b = b - (a + c >> d) | 0;
+     c = c + f | 0;
+     break c;
+    }
+    b = (a + c >> d) + b | 0;
+    c = c - f | 0;
+   }
+   a = a << 1;
+   d = d + 1 | 0;
+   if ((d | 0) != 23) {
+    continue;
+   }
+   break;
+  }
+  a = c >> 31;
+  b = a + c ^ a;
+  d = b & 65535;
+  a = w(d, 56281);
+  f = b >>> 16 | 0;
+  b = a + w(f, 23318) | 0;
+  g = b << 16;
+  d = g + w(d, 23318) | 0;
+  a = (((w(f, 56281) + (b >>> 16 | 0) | 0) + ((b >>> 0 < a >>> 0) << 16) | 0) + (d >>> 0 < g >>> 0) | 0) + (d >>> 0 > 3221225471) | 0;
+  a = (c | 0) < 0 ? 0 - a | 0 : a;
+  if ((e | 0) >= 1) {
+   return a + (1 << e + -1) >> e;
+  }
+  a = a << 0 - e;
+ }
+ return a;
+}
+function lI(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ a : {
+  if (q[a + 4 >> 2]) {
+   break a;
+  }
+  c = 6;
+  b : {
+   if (q[a + 12 >> 2] != 1) {
+    break b;
+   }
+   g = q[a >> 2];
+   d = q[a + 28 >> 2];
+   if (d) {
+    q[(q[a + 36 >> 2] + (d << 4) | 0) + -4 >> 2] = b;
+   }
+   i = d + 1 | 0;
+   c = q[a + 32 >> 2];
+   c : {
+    if (i >>> 0 <= c >>> 0) {
+     f = q[a + 36 >> 2];
+     break c;
+    }
+    q[e + 8 >> 2] = 0;
+    h = c;
+    j = d + 8 & -8;
+    c = a + 36 | 0;
+    f = Te(g, 16, h, j, q[c >> 2], e + 8 | 0);
+    q[c >> 2] = f;
+    c = q[e + 8 >> 2];
+    if (c) {
+     break b;
+    }
+    q[a + 32 >> 2] = j;
+   }
+   d = (d << 4) + f | 0;
+   q[d + 12 >> 2] = 0;
+   q[d >> 2] = 0;
+   q[a + 28 >> 2] = i;
+   d = q[a - -64 >> 2];
+   if (d) {
+    q[(q[a + 72 >> 2] + (d << 4) | 0) + -4 >> 2] = b;
+   }
+   f = d + 1 | 0;
+   b = q[a + 68 >> 2];
+   d : {
+    if (f >>> 0 <= b >>> 0) {
+     b = q[a + 72 >> 2];
+     break d;
+    }
+    q[e + 12 >> 2] = 0;
+    h = g;
+    g = d + 8 & -8;
+    c = a + 72 | 0;
+    b = Te(h, 16, b, g, q[c >> 2], e + 12 | 0);
+    q[c >> 2] = b;
+    c = q[e + 12 >> 2];
+    if (c) {
+     break b;
+    }
+    q[a + 68 >> 2] = g;
+   }
+   b = (d << 4) + b | 0;
+   q[b + 12 >> 2] = 0;
+   q[b >> 2] = 0;
+   q[a + 64 >> 2] = f;
+   break a;
+  }
+  q[a + 4 >> 2] = c;
+ }
+ Ca = e + 16 | 0;
+}
+function Fj(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ g = q[a + 532 >> 2];
+ d = 6;
+ a : {
+  if (!g) {
+   break a;
+  }
+  Cj(q[g + 136 >> 2], h, q[g + 4 >> 2]);
+  k = q[g + 4 >> 2];
+  i = k >>> 0 < b >>> 0 ? k : b;
+  if (i) {
+   while (1) {
+    d = w(j, 12) + g | 0;
+    e = q[d + 96 >> 2];
+    n = j << 2;
+    l = q[n + h >> 2];
+    b : {
+     if (q[e >> 2] < (l | 0)) {
+      a = 1;
+      f = r[d + 88 | 0];
+      if (f >>> 0 > 1) {
+       while (1) {
+        m = a << 2;
+        o = q[e + m >> 2];
+        if ((o | 0) >= (l | 0)) {
+         d = q[d + 92 >> 2];
+         f = m + -4 | 0;
+         a = q[d + f >> 2];
+         d = q[d + m >> 2];
+         e = q[e + f >> 2];
+         a = w(Fe(l - e | 0, o - e | 0), d - a | 0) + (a << 16) | 0;
+         break b;
+        }
+        a = a + 1 | 0;
+        if ((f | 0) != (a | 0)) {
+         continue;
+        }
+        break;
+       }
+      }
+      a = q[(q[d + 92 >> 2] + (f << 2) | 0) + -4 >> 2] << 16;
+      break b;
+     }
+     a = q[q[d + 92 >> 2] >> 2] << 16;
+    }
+    q[c + n >> 2] = a;
+    j = j + 1 | 0;
+    if ((i | 0) != (j | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = 0;
+  if (k >>> 0 >= b >>> 0) {
+   break a;
+  }
+  Z$((i << 2) + c | 0, 0, b - i << 2);
+  d = 0;
+ }
+ Ca = h + 16 | 0;
+ return d | 0;
+}
+function fF(a, b, c) {
+ var d = 0, e = 0;
+ if (c) {
+  q[c >> 2] = 0;
+ }
+ e = 271040;
+ a : {
+  b : {
+   c : {
+    d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+    d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+    d : {
+     if ((d | 0) <= 1953658212) {
+      if ((d | 0) == 256) {
+       break b;
+      }
+      if ((d | 0) == 65536 | (d | 0) == 1330926671) {
+       break d;
+      }
+      break a;
+     }
+     if ((d | 0) == 1954115633) {
+      break d;
+     }
+     if ((d | 0) == 1953784678) {
+      break c;
+     }
+     if ((d | 0) != 1953658213) {
+      break a;
+     }
+    }
+    return a;
+   }
+   if ((r[a + 5 | 0] | r[a + 4 | 0] << 8) + -1 >>> 0 > 1) {
+    break a;
+   }
+   c = a;
+   d = ((b << 2) + a | 0) + 12 | 0;
+   a = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+   a = (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) >>> 0 > b >>> 0 ? d : 271040;
+   a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+   return a ? c + a | 0 : 271040;
+  }
+  d = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+  e = lF((d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) + a | 0, b, a + 256 | 0);
+  if (!c) {
+   break a;
+  }
+  q[c >> 2] = e - a;
+ }
+ return e;
+}
+function TP(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ d = Ca - 32 | 0;
+ Ca = d;
+ if (r[643388] & 2) {
+  d0(481584, 0);
+  US(a);
+  d0(481595, 0);
+  US(b);
+  OZ(10);
+ }
+ g = 1;
+ c = q[a + 4 >> 2];
+ e = q[b + 4 >> 2];
+ c = c >>> 0 < e >>> 0 ? c : e;
+ a : {
+  if ((c | 0) >= 1) {
+   c = (c | 0) < 8 ? c : 8;
+   e = (c | 0) > 1 ? c : 1;
+   while (1) {
+    c = f << 2;
+    h = q[(c + b | 0) + 8 >> 2] & (q[(a + c | 0) + 8 >> 2] ^ -1);
+    if (h) {
+     j = f << 5;
+     c = 0;
+     while (1) {
+      b : {
+       if (!(h >>> c & 1)) {
+        break b;
+       }
+       i = (r[(c + j | 0) + 480760 | 0] << 5) + 444768 | 0;
+       if (UP(a, i)) {
+        break b;
+       }
+       g = 0;
+       if (!(r[643388] & 2)) {
+        break a;
+       }
+       q[d + 16 >> 2] = i;
+       d0(481606, d + 16 | 0);
+       break a;
+      }
+      c = c + 1 | 0;
+      if ((c | 0) != 32) {
+       continue;
+      }
+      break;
+     }
+    }
+    f = f + 1 | 0;
+    if ((e | 0) != (f | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  b = q[b >> 2];
+  if (!b) {
+   break a;
+  }
+  b = yQ(b);
+  if (!b) {
+   break a;
+  }
+  c : {
+   while (1) {
+    c = zQ(b);
+    if (!c) {
+     break c;
+    }
+    if (UP(a, c)) {
+     continue;
+    }
+    break;
+   }
+   g = 0;
+   if (!(r[643388] & 2)) {
+    break c;
+   }
+   q[d >> 2] = c;
+   d0(481626, d);
+  }
+  AQ(b);
+ }
+ Ca = d + 32 | 0;
+ return g;
+}
+function qK(a, b, c, d, e, f, g, h) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ var i = 0, j = 0;
+ i = q[b + 712 >> 2];
+ Z$(a + 12 | 0, 0, 768);
+ q[a + 8 >> 2] = d;
+ q[a + 4 >> 2] = b;
+ o[a + 65 | 0] = 1;
+ q[a >> 2] = q[b + 100 >> 2];
+ a : {
+  if (!d) {
+   break a;
+  }
+  b = q[q[d + 156 >> 2] >> 2];
+  q[a + 12 >> 2] = b;
+  q[a + 20 >> 2] = b + 56;
+  q[a + 16 >> 2] = b + 20;
+  Pe(b);
+  q[a + 68 >> 2] = 0;
+  q[a + 72 >> 2] = 0;
+  if (!c | !e) {
+   break a;
+  }
+  b = q[q[c + 40 >> 2] >> 2];
+  if (!b) {
+   break a;
+  }
+  q[a + 72 >> 2] = q[b >> 2];
+  q[a + 68 >> 2] = q[q[d + 156 >> 2] + 36 >> 2];
+ }
+ q[a + 24 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ q[a + 40 >> 2] = 0;
+ q[a + 44 >> 2] = 0;
+ q[a + 32 >> 2] = 0;
+ q[a + 36 >> 2] = 0;
+ b = q[72550];
+ q[a + 76 >> 2] = q[72549];
+ q[a + 80 >> 2] = b;
+ b = q[72552];
+ q[a + 84 >> 2] = q[72551];
+ q[a + 88 >> 2] = b;
+ b = q[72554];
+ q[a + 92 >> 2] = q[72553];
+ q[a + 96 >> 2] = b;
+ b = q[72556];
+ q[a + 100 >> 2] = q[72555];
+ q[a + 104 >> 2] = b;
+ q[a + 108 >> 2] = i;
+ b = q[i + 120 >> 2];
+ q[a + 732 >> 2] = b;
+ q[a + 748 >> 2] = q[i + 1352 >> 2];
+ b : {
+  if (q[i + 1416 >> 2] == 1) {
+   break b;
+  }
+  j = 107;
+  if (b >>> 0 < 1240) {
+   break b;
+  }
+  j = b >>> 0 < 33900 ? 1131 : 32768;
+ }
+ q[a + 776 >> 2] = h;
+ q[a + 772 >> 2] = g;
+ q[a + 760 >> 2] = f;
+ q[a + 740 >> 2] = j;
+}
+function sD(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  b : {
+   if (g >>> 0 > a >>> 0) {
+    break b;
+   }
+   e = q[b + 8 >> 2];
+   if (e >>> 0 < a >>> 0) {
+    break b;
+   }
+   d = e - a | 0;
+   if (d >>> 0 < 4) {
+    break b;
+   }
+   c = q[b + 12 >> 2];
+   q[b + 12 >> 2] = c + -1;
+   if ((r[a + 1 | 0] | r[a | 0] << 8) != 1 | (c | 0) < 1 | d >>> 0 < 8) {
+    break b;
+   }
+   d = c + -2 | 0;
+   q[b + 12 >> 2] = d;
+   if ((c | 0) < 2) {
+    break b;
+   }
+   i = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+   if (!i) {
+    return 1;
+   }
+   a = a + 8 | 0;
+   while (1) {
+    if (e >>> 0 < a >>> 0 | g >>> 0 > a >>> 0) {
+     break a;
+    }
+    if (e - a >>> 0 < 2) {
+     break a;
+    }
+    c = d + -1 | 0;
+    q[b + 12 >> 2] = c;
+    if ((d | 0) < 1) {
+     break a;
+    }
+    h = r[a + 1 | 0];
+    f = r[a | 0];
+    j = h | f << 8;
+    if (j) {
+     c = a + 2 | 0;
+     if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0) {
+      break a;
+     }
+     if (e - c >>> 0 < j << 2 >>> 0) {
+      break a;
+     }
+     c = d + -2 | 0;
+     q[b + 12 >> 2] = c;
+     if ((d | 0) < 2) {
+      break a;
+     }
+     h = r[a + 1 | 0];
+     f = r[a | 0];
+    }
+    a = (f << 10 | h << 2 | 2) + a | 0;
+    f = 1;
+    d = c;
+    k = k + 1 | 0;
+    if ((i | 0) != (k | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  return f;
+ }
+ return 0;
+}
+function Cx(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ j = q[b + 4 >> 2];
+ a : {
+  if (j >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  if ((g | 0) < 1) {
+   break a;
+  }
+  h = q[c + 8 >> 2];
+  d = r[a + 1 | 0];
+  f = r[a | 0];
+  i = d << 1 | f << 9;
+  if (4294967295 / (h >>> 0) >>> 0 <= i >>> 0 ? h : 0) {
+   break a;
+  }
+  i = w(h, i);
+  if (i) {
+   d = a + 2 | 0;
+   if (j >>> 0 > d >>> 0 | e >>> 0 < d >>> 0 | e - d >>> 0 < i >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = g + -2;
+   if ((g | 0) < 2) {
+    break a;
+   }
+   f = r[a | 0];
+   d = r[a + 1 | 0];
+  }
+  g = f << 8 | d;
+  f = q[c >> 2];
+  if (!(!g | r[f + 1 | 0] < 16)) {
+   d = a + 4 | 0;
+   e = 0;
+   while (1) {
+    if (!Ax(f, b, a, d)) {
+     break a;
+    }
+    d = (h << 1) + d | 0;
+    e = e + 1 | 0;
+    if ((g | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   f = q[c >> 2];
+   h = q[c + 8 >> 2];
+  }
+  k = 1;
+  if (!g | r[f + 3 | 0] < 16) {
+   break a;
+  }
+  f = f + 2 | 0;
+  c = q[c + 4 >> 2];
+  d = (c | 0) < 0 ? 271040 : ((c << 1) + a | 0) + 4 | 0;
+  e = 0;
+  while (1) {
+   if (!Ax(f, b, a, d)) {
+    return 0;
+   }
+   d = (h << 1) + d | 0;
+   e = e + 1 | 0;
+   if ((g | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return k;
+}
+function BO(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0;
+ if ((b | c) >>> 0 < 64) {
+  h = q[a + 20 >> 2];
+  a : {
+   if (!h) {
+    break a;
+   }
+   m = q[a + 16 >> 2];
+   i = q[a + 8 >> 2];
+   j = q[a + 12 >> 2];
+   if (!(!b | (j | 0) < 1)) {
+    k = (i | 0) < 2;
+    while (1) {
+     if (!k) {
+      l = w(d, m);
+      a = i;
+      while (1) {
+       f = a + -1 | 0;
+       g = (f + l | 0) + h | 0;
+       n = g + -1 | 0;
+       p = r[n | 0];
+       e = w(p, b) >>> 6 | 0;
+       o[n | 0] = p - e;
+       o[g | 0] = e + r[g | 0];
+       g = (a | 0) > 2;
+       a = f;
+       if (g) {
+        continue;
+       }
+       break;
+      }
+     }
+     d = d + 1 | 0;
+     if ((d | 0) != (j | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (!c | (i | 0) < 1) {
+    break a;
+   }
+   f = 0;
+   g = (j | 0) > 1;
+   while (1) {
+    a = j;
+    if (g) {
+     while (1) {
+      b = a + -1 | 0;
+      e = w(b, m) + f | 0;
+      k = (e - m | 0) + h | 0;
+      l = r[k | 0];
+      d = w(l, c) >>> 6 | 0;
+      o[k | 0] = l - d;
+      e = e + h | 0;
+      o[e | 0] = d + r[e | 0];
+      d = (a | 0) > 2;
+      a = b;
+      if (d) {
+       continue;
+      }
+      break;
+     }
+    }
+    f = f + 1 | 0;
+    if ((i | 0) != (f | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  return;
+ }
+ J(437688, 437733, 226, 437746);
+ F();
+}
+function MO(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0, t = 0, u = 0, v = 0;
+ if (c) {
+  k = d + 4 | 0;
+  g = d << 4;
+  m = g << 1;
+  n = g - -64 << 1;
+  while (1) {
+   d = a;
+   f = 0;
+   j = 0;
+   if (k) {
+    while (1) {
+     o = f >>> 0 < g >>> 0 ? (f << 1) + b | 0 : 437888;
+     e = f + -16 | 0;
+     q = e >>> 0 < g >>> 0 ? (e << 1) + b | 0 : 437888;
+     e = f + -32 | 0;
+     r = e >>> 0 < g >>> 0 ? (e << 1) + b | 0 : 437888;
+     e = f + -48 | 0;
+     t = e >>> 0 < g >>> 0 ? (e << 1) + b | 0 : 437888;
+     e = f + -64 | 0;
+     u = e >>> 0 < g >>> 0 ? (e << 1) + b | 0 : 437888;
+     i = 0;
+     while (1) {
+      e = i << 1;
+      h = s[e + r >> 1];
+      v = d + e | 0;
+      h = h + ((h + ((s[e + o >> 1] + s[e + u >> 1] & 65534) >>> 1 | 0) & 65534) >>> 1 | 0) | 0;
+      e = s[e + q >> 1] + s[e + t >> 1] | 0;
+      p[v >> 1] = (((h + e & 65534) >>> 1 | e & h & 32768) + 1 & 65534) >>> 1;
+      i = i + 1 | 0;
+      if ((i | 0) != 16) {
+       continue;
+      }
+      break;
+     }
+     f = f + 16 | 0;
+     d = d + 32 | 0;
+     j = j + 1 | 0;
+     if ((j | 0) != (k | 0)) {
+      continue;
+     }
+     break;
+    }
+    a = a + n | 0;
+   }
+   b = b + m | 0;
+   l = l + 16 | 0;
+   if (l >>> 0 < c >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function ly(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ f = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ c = q[b + 96 >> 2];
+ g = ct(f ? f + a | 0 : 271040, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]);
+ a : {
+  if ((g | 0) == -1) {
+   break a;
+  }
+  e = q[c + 72 >> 2];
+  q[b + 36 >> 2] = 1;
+  q[b >> 2] = e;
+  d = q[q[b + 4 >> 2] + 96 >> 2];
+  q[b + 40 >> 2] = q[d + 76 >> 2];
+  o[b + 20 | 0] = (e | 0) == q[d + 72 >> 2] ? r[(q[d + 88 >> 2] + w(e, 20) | 0) + 15 | 0] : 0;
+  q[b + 8 >> 2] = q[b + 128 >> 2] & -15;
+  if (!dx(b)) {
+   break a;
+  }
+  e = q[c + 88 >> 2];
+  f = q[b >> 2];
+  d = e + w(f, 20) | 0;
+  if (!(r[d + 12 | 0] & 8)) {
+   break a;
+  }
+  d = r[d + 14 | 0];
+  h = d & 16 ? 0 : d & 15;
+  c = r[(e + w(q[c + 72 >> 2], 20) | 0) + 14 | 0];
+  i = c & 16 ? 0 : c & 15;
+  c = c >>> 5 | 0;
+  d = d >>> 5 | 0;
+  b : {
+   if ((c | 0) == (d | 0)) {
+    if (!c | (h | 0) == (i | 0)) {
+     break b;
+    }
+    break a;
+   }
+   if (i ? 0 : c) {
+    break b;
+   }
+   if (h | !d) {
+    break a;
+   }
+  }
+  c = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  c = ct(c ? c + a | 0 : 271040, q[e + w(f, 20) >> 2]);
+  if ((c | 0) == -1) {
+   return 0;
+  }
+  e = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+  d = b;
+  b = r[a + 11 | 0] | r[a + 10 | 0] << 8;
+  j = hy(e ? e + a | 0 : 271040, d, g, c, b ? b + a | 0 : 271040, r[a + 7 | 0] | r[a + 6 | 0] << 8, f);
+ }
+ return j;
+}
+function jv(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ f = q[b + 4 >> 2];
+ a : {
+  if (f >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  c = r[a | 0] | r[a + 1 | 0] << 8;
+  c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+  b : {
+   if (c >>> 0 > 1) {
+    break b;
+   }
+   if (c - 1) {
+    c = a + 2 | 0;
+    if (f >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+     break a;
+    }
+    q[b + 12 >> 2] = e + -2;
+    if ((e | 0) < 2) {
+     break a;
+    }
+    c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+    if (!c) {
+     break b;
+    }
+    a = a + 4 | 0;
+    if (f >>> 0 > a >>> 0 | d >>> 0 < a >>> 0 | d - a >>> 0 < c << 1 >>> 0) {
+     break a;
+    }
+    q[b + 12 >> 2] = e + -3;
+    if ((e | 0) >= 3) {
+     break b;
+    }
+    break a;
+   }
+   c = a + 2 | 0;
+   if (f >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   if (!c) {
+    break b;
+   }
+   a = a + 4 | 0;
+   if (f >>> 0 > a >>> 0 | d >>> 0 < a >>> 0 | d - a >>> 0 < w(c, 6) >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -3;
+   if ((e | 0) < 3) {
+    break a;
+   }
+  }
+  g = 1;
+ }
+ return g;
+}
+function QS(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  if (!b) {
+   break a;
+  }
+  while (1) {
+   e = c;
+   c = cP(a, b);
+   if (!c) {
+    break a;
+   }
+   b : {
+    if (!e) {
+     f = c;
+     break b;
+    }
+    q[e >> 2] = c - e | 1;
+   }
+   q[c >> 2] = 0;
+   q[c + 8 >> 2] = q[b + 8 >> 2];
+   d = q[b + 8 >> 2] + -1 | 0;
+   c : {
+    if (d >>> 0 > 8) {
+     break c;
+    }
+    e = c + 8 | 0;
+    d : {
+     switch (d - 1 | 0) {
+     default:
+      q[c + 16 >> 2] = q[b + 16 >> 2];
+      break c;
+     case 0:
+      e = q[b + 20 >> 2];
+      q[c + 16 >> 2] = q[b + 16 >> 2];
+      q[c + 20 >> 2] = e;
+      break c;
+     case 1:
+      d = eP(a, q[b + 16 >> 2]);
+      if (!d) {
+       break a;
+      }
+      q[c + 16 >> 2] = d - e | 1;
+      break c;
+     case 2:
+      q[c + 16 >> 2] = q[b + 16 >> 2];
+      break c;
+     case 4:
+      d = $R(a, q[b + 16 >> 2]);
+      if (!d) {
+       break a;
+      }
+      q[c + 16 >> 2] = d - e | 1;
+      break c;
+     case 6:
+      d = VP(a, q[b + 16 >> 2]);
+      if (!d) {
+       break a;
+      }
+      q[c + 16 >> 2] = d - e | 1;
+      break c;
+     case 3:
+     case 5:
+      break c;
+     case 7:
+      break d;
+     }
+    }
+    d = kP(a, q[b + 16 >> 2]);
+    if (!d) {
+     break a;
+    }
+    q[c + 16 >> 2] = d - e | 1;
+   }
+   b = q[b >> 2];
+   if (b) {
+    continue;
+   }
+   break;
+  }
+  return f;
+ }
+ return 0;
+}
+function _E(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0, k = 0;
+ j = Ca - 48 | 0;
+ Ca = j;
+ a : {
+  b : {
+   if (q[a >> 2]) {
+    h = q[a + 204 >> 2];
+    while (1) {
+     if (!VE(j, 0, a, b, c, d, e, f)) {
+      g = 271040;
+      break b;
+     }
+     g = h;
+     if (g) {
+      while (1) {
+       if (WE(q[g >> 2] + 16 | 0, j)) {
+        g = q[g >> 2];
+        if (!g) {
+         g = 0;
+         break b;
+        }
+        if (!q[g >> 2]) {
+         break b;
+        }
+        if (q[g >> 2] <= 0) {
+         break a;
+        }
+        q[g >> 2] = q[g >> 2] + 1;
+        break b;
+       }
+       g = q[g + 4 >> 2];
+       if (g) {
+        continue;
+       }
+       break;
+      }
+     }
+     g = XE(a, b, c, d, e, f);
+     i = N$(1, 8);
+     if (!i) {
+      break b;
+     }
+     q[i + 4 >> 2] = h;
+     q[i >> 2] = g;
+     k = q[a + 204 >> 2];
+     q[a + 204 >> 2] = (h | 0) == (k | 0) ? i : k;
+     if ((h | 0) == (k | 0)) {
+      if (!g) {
+       g = 0;
+       break b;
+      }
+      if (!q[g >> 2]) {
+       break b;
+      }
+      if (q[g >> 2] <= 0) {
+       break a;
+      }
+      q[g >> 2] = q[g >> 2] + 1;
+      break b;
+     }
+     YE(g);
+     M$(i);
+     h = q[a + 204 >> 2];
+     if (q[a >> 2]) {
+      continue;
+     }
+     break;
+    }
+   }
+   g = XE(a, b, c, d, e, f);
+  }
+  Ca = j + 48 | 0;
+  return g;
+ }
+ J(270540, 270565, 269, 270580);
+ F();
+}
+function sN(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, s = 0, u = 0;
+ if ((b | 0) >= 2) {
+  s = b + -1 | 0;
+  b = 0;
+  while (1) {
+   k = b;
+   e = r[b + a | 0];
+   b = b + 1 | 0;
+   a : {
+    if (!(e & 1) | (e | 0) != r[b + a | 0]) {
+     break a;
+    }
+    l = (k << 2) + d | 0;
+    h = q[l >> 2];
+    if (h >>> 0 < t[106748] | h >>> 0 > t[106769]) {
+     break a;
+    }
+    m = (b << 2) + d | 0;
+    n = q[m >> 2];
+    j = 0;
+    f = 8;
+    b : while (1) {
+     u = f + -1 | 0;
+     while (1) {
+      if ((j | 0) >= (f | 0)) {
+       break a;
+      }
+      c : {
+       e = j + u >>> 1 | 0;
+       i = w(e, 12) + 426992 | 0;
+       g = q[i >> 2];
+       if ((g | 0) != (h | 0)) {
+        p = 1;
+        if (g >>> 0 <= h >>> 0) {
+         break c;
+        }
+        f = e;
+        continue b;
+       }
+       g = q[i + 4 >> 2];
+       p = g >>> 0 < n >>> 0;
+       if (g >>> 0 <= n >>> 0) {
+        break c;
+       }
+       f = e;
+       continue b;
+      }
+      j = e + 1 | 0;
+      if (p) {
+       continue;
+      }
+      break;
+     }
+     break;
+    }
+    if (!i) {
+     break a;
+    }
+    f = q[i + 8 >> 2];
+    if (!f) {
+     break a;
+    }
+    q[l >> 2] = 65279;
+    e = c + k | 0;
+    o[e | 0] = r[e | 0] | 32;
+    q[m >> 2] = f;
+   }
+   if ((b | 0) != (s | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Ty(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = x(0);
+ e = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+ a : {
+  if (!e) {
+   break a;
+  }
+  j = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+  k = a + 12 | 0;
+  g = e + -1 | 0;
+  while (1) {
+   b : {
+    h = g + i >>> 1 | 0;
+    e = w(j, h) + k | 0;
+    f = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+    f = f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24);
+    c : {
+     if (f >>> 0 > b >>> 0) {
+      g = h + -1 | 0;
+      break c;
+     }
+     if ((b | 0) == (f | 0)) {
+      break b;
+     }
+     i = h + 1 | 0;
+    }
+    if ((i | 0) <= (g | 0)) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  b = a;
+  a = r[a + 11 | 0] | r[a + 10 | 0] << 8;
+  a = a ? b + a | 0 : 271040;
+  b = r[e + 5 | 0] | r[e + 4 | 0] << 8;
+  if ((r[a + 6 | 0] << 8 | r[a + 7 | 0]) >>> 0 <= b >>> 0) {
+   break a;
+  }
+  b = a + (b << 2) | 0;
+  b = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+  b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+  f = b ? b + a | 0 : 271040;
+  b = a;
+  a = r[a + 2 | 0] | r[a + 3 | 0] << 8 | (r[a + 4 | 0] << 16 | r[a + 5 | 0] << 24);
+  a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  l = ku(f, r[e + 7 | 0] | r[e + 6 | 0] << 8, c, d, a ? b + a | 0 : 271040);
+ }
+ return l;
+}
+function Po(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ c = a + 16 | 0;
+ if (c >>> 0 > t[b + 160 >> 2]) {
+  kf(b, 8);
+ }
+ d = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+ f = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+ d = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+ d = d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24);
+ if (!((d + -16 >>> 0) / 12 >>> 0 >= f >>> 0 ? !(d >>> 0 < 16 | d >>> 0 > q[b + 160 >> 2] - a >>> 0) : 0)) {
+  kf(b, 8);
+ }
+ if (f) {
+  a = 0;
+  while (1) {
+   d = a;
+   e = r[c + 8 | 0] | r[c + 9 | 0] << 8 | (r[c + 10 | 0] << 16 | r[c + 11 | 0] << 24);
+   a = r[c | 0] | r[c + 1 | 0] << 8 | (r[c + 2 | 0] << 16 | r[c + 3 | 0] << 24);
+   h = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+   a = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+   a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+   if (h >>> 0 > a >>> 0) {
+    kf(b, 8);
+   }
+   if (!(!g | h >>> 0 > d >>> 0)) {
+    kf(b, 8);
+   }
+   if (!(!q[b + 164 >> 2] | (e << 8 & 16711680 | e << 24 | (e >>> 8 & 65280 | e >>> 24)) >>> 0 < t[b + 172 >> 2])) {
+    kf(b, 16);
+   }
+   c = c + 12 | 0;
+   g = g + 1 | 0;
+   if ((f | 0) != (g | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function r_(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ f = d ? d : 644544;
+ d = q[f >> 2];
+ a : {
+  b : {
+   c : {
+    if (!b) {
+     if (d) {
+      break c;
+     }
+     break a;
+    }
+    e = -2;
+    if (!c) {
+     break a;
+    }
+    i = a ? a : h + 12 | 0;
+    d : {
+     if (d) {
+      a = c;
+      break d;
+     }
+     a = r[b | 0];
+     d = a << 24 >> 24;
+     if ((d | 0) >= 0) {
+      q[i >> 2] = a;
+      e = (d | 0) != 0;
+      break a;
+     }
+     a = o[b | 0];
+     if (!q[q[160522] >> 2]) {
+      q[i >> 2] = a & 57343;
+      e = 1;
+      break a;
+     }
+     a = (a & 255) + -194 | 0;
+     if (a >>> 0 > 50) {
+      break c;
+     }
+     d = q[(a << 2) + 507952 >> 2];
+     a = c + -1 | 0;
+     if (!a) {
+      break b;
+     }
+     b = b + 1 | 0;
+    }
+    g = r[b | 0];
+    j = g >>> 3 | 0;
+    if ((j + -16 | (d >> 26) + j) >>> 0 > 7) {
+     break c;
+    }
+    while (1) {
+     a = a + -1 | 0;
+     d = g + -128 | d << 6;
+     if ((d | 0) >= 0) {
+      q[f >> 2] = 0;
+      q[i >> 2] = d;
+      e = c - a | 0;
+      break a;
+     }
+     if (!a) {
+      break b;
+     }
+     b = b + 1 | 0;
+     g = r[b | 0];
+     if ((g & 192) == 128) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[f >> 2] = 0;
+   q[160854] = 25;
+   e = -1;
+   break a;
+  }
+  q[f >> 2] = d;
+ }
+ Ca = h + 16 | 0;
+ return e;
+}
+function WF(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ e = Hq(b);
+ o[a + 20 | 0] = 0;
+ q[a + 28 >> 2] = e;
+ f = q[e + 12 >> 2];
+ q[a + 4 >> 2] = f;
+ g = q[e + 16 >> 2];
+ q[a + 8 >> 2] = g + f;
+ if ((g | 0) > -1) {
+  q[a + 24 >> 2] = 0;
+  d = a;
+  if (g >>> 0 > 536870910) {
+   c = 1073741823;
+  } else {
+   c = g << 3;
+   c = c >>> 0 > 16384 ? c : 16384;
+   c = c >>> 0 < 1073741823 ? c : 1073741823;
+  }
+  q[d + 12 >> 2] = c;
+  q[a >> 2] = 0;
+  if (!f) {
+   Cq(e);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+   return b;
+  }
+  a : {
+   b : {
+    if (g >>> 0 < 6) {
+     break b;
+    }
+    q[a + 12 >> 2] = c + -1;
+    d = r[f | 0] | r[f + 1 | 0] << 8;
+    d = (d << 24 | d << 8 & 16711680) >>> 16 | 0;
+    if (d >>> 0 > 1) {
+     break b;
+    }
+    if (!(d - 1)) {
+     if (g + -6 >>> 0 < 26) {
+      break b;
+     }
+     q[a + 12 >> 2] = c + -2;
+     Cq(e);
+     q[a + 28 >> 2] = 0;
+     q[a + 4 >> 2] = 0;
+     q[a + 8 >> 2] = 0;
+     Gq(b);
+     return b;
+    }
+    c = r[f + 3 | 0];
+    d = r[f + 2 | 0];
+    Cq(e);
+    q[a + 28 >> 2] = 0;
+    q[a + 4 >> 2] = 0;
+    q[a + 8 >> 2] = 0;
+    if ((c | d << 8) != 20480) {
+     break a;
+    }
+    Gq(b);
+    return b;
+   }
+   Cq(e);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(271452, 271477, 195, 271494);
+ F();
+}
+function qF(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ d = q[a + 40 >> 2];
+ if (!d) {
+  return;
+ }
+ q[a + 40 >> 2] = q[d + 20 >> 2];
+ b = q[a + 4 >> 2];
+ q[d + 20 >> 2] = 0;
+ q[d + 4 >> 2] = b;
+ c = q[d >> 2];
+ q[a + 4 >> 2] = c;
+ b = b - c | 0;
+ a : {
+  if (!b) {
+   if (!q[d + 12 >> 2]) {
+    break a;
+   }
+   J(270645, 270627, 223, 270664);
+   F();
+  }
+  c = q[a + 8 >> 2] - b | 0;
+  q[a + 8 >> 2] = c;
+  _$(c, q[d >> 2], b);
+  c = q[a + 8 >> 2];
+  q[d >> 2] = c;
+  q[d + 4 >> 2] = b + c;
+  b : {
+   c : {
+    c = q[a + 44 >> 2];
+    if ((c | 0) >= 0) {
+     f = q[a + 48 >> 2];
+     b = f + 1 | 0;
+     e = (b | 0) > 0 ? b : 0;
+     if (c >>> 0 >= e >>> 0) {
+      b = c;
+      break b;
+     }
+     b = c;
+     while (1) {
+      b = ((b >>> 1 | 0) + b | 0) + 8 | 0;
+      if (b >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(b >>> 0 < c >>> 0 | b >>> 0 > 1073741822)) {
+      c = O$(q[a + 52 >> 2], b << 2);
+      if (c) {
+       break c;
+      }
+     }
+     q[a + 44 >> 2] = -1;
+    }
+    q[160656] = d;
+    return;
+   }
+   q[a + 44 >> 2] = b;
+   q[a + 52 >> 2] = c;
+   f = q[a + 48 >> 2];
+  }
+  if (e >>> 0 > f >>> 0) {
+   Z$(q[a + 52 >> 2] + (f << 2) | 0, 0, e - f << 2);
+   b = q[a + 44 >> 2];
+  }
+  q[a + 48 >> 2] = e;
+  q[(q[a + 52 >> 2] + (e << 2) | 0) + -4 >> 2] = d;
+  if ((b | 0) < 0) {
+   break a;
+  }
+ }
+}
+function oO(a, b, c, d, e, f, g) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ var h = 0, i = 0, j = 0, k = 0, l = 0;
+ k = Ca + -64 | 0;
+ i = g;
+ g = g >> 31;
+ h = T0(i, g, d, d >> 31);
+ d = Ea + 131072 | 0;
+ h = (h >>> 0 < 0 ? d + 1 | 0 : d) >> 2;
+ d = h >> 16;
+ h = h >> 31;
+ j = d + h ^ h;
+ h = T0(i, g, c, c >> 31);
+ c = Ea + 131072 | 0;
+ c = (h >>> 0 < 0 ? c + 1 | 0 : c) >> 2;
+ h = c >> 16;
+ c = c >> 31;
+ c = h + c ^ c;
+ j = ((c | 0) > (j | 0) ? j : c) + 2 >>> 2 | 0;
+ l = d + h | 0;
+ e = f << 21 | e >>> 11;
+ e = T0(e, e >> 31, i, g);
+ c = Ea + 4096 | 0;
+ e = ((e >>> 0 < 0 ? c + 1 | 0 : c) >>> 13 & 65535) + 512 | 0;
+ c = 0;
+ while (1) {
+  f = c << 1;
+  g = w(c, h);
+  p[f + k >> 1] = g + j;
+  p[f + (k + 32 | 0) >> 1] = g - j;
+  c = c + 1 | 0;
+  if ((c | 0) != 16) {
+   continue;
+  }
+  break;
+ }
+ g = e - (l >>> 1 | 0) | 0;
+ e = 0;
+ while (1) {
+  c = 0;
+  while (1) {
+   f = c << 1;
+   i = g - s[f + k >> 1] << 16 >> 16;
+   i = (i | 0) > 0 ? i : 0;
+   f = g - s[f + (k + 32 | 0) >> 1] << 16 >> 16;
+   f = (f | 0) > 0 ? f : 0;
+   o[a + c | 0] = ((i | 0) < 1023 ? i : 1023) + ((f | 0) < 1023 ? f : 1023) >>> 3;
+   c = c + 1 | 0;
+   if ((c | 0) != 16) {
+    continue;
+   }
+   break;
+  }
+  a = a + b | 0;
+  g = (g << 16 >> 16) - d | 0;
+  e = e + 1 | 0;
+  if ((e | 0) != 16) {
+   continue;
+  }
+  break;
+ }
+}
+function XJ(a, b, c, d, e, f, g, h, i) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ i = i | 0;
+ var j = 0;
+ a = Z$(a, 0, 1516);
+ j = kg(q[b + 96 >> 2], 291580, 1);
+ if (!j) {
+  return 7;
+ }
+ o[a + 68 | 0] = 1;
+ q[a + 64 >> 2] = 0;
+ q[a + 1348 >> 2] = j;
+ q[a + 8 >> 2] = d;
+ q[a + 4 >> 2] = b;
+ q[a >> 2] = q[b + 100 >> 2];
+ a : {
+  if (!d) {
+   break a;
+  }
+  j = q[q[d + 156 >> 2] >> 2];
+  q[a + 12 >> 2] = j;
+  q[a + 20 >> 2] = j + 56;
+  q[a + 16 >> 2] = j + 20;
+  Pe(j);
+  c = q[q[c + 40 >> 2] >> 2];
+  q[a + 72 >> 2] = 0;
+  q[a + 76 >> 2] = c;
+  if (!g) {
+   break a;
+  }
+  q[a + 72 >> 2] = q[q[d + 156 >> 2] + 36 >> 2];
+ }
+ q[a + 24 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ q[a + 40 >> 2] = 0;
+ q[a + 44 >> 2] = 0;
+ q[a + 32 >> 2] = 0;
+ q[a + 36 >> 2] = 0;
+ c = q[72491];
+ q[a + 80 >> 2] = q[72490];
+ q[a + 84 >> 2] = c;
+ c = q[72493];
+ q[a + 88 >> 2] = q[72492];
+ q[a + 92 >> 2] = c;
+ c = q[72495];
+ q[a + 96 >> 2] = q[72494];
+ q[a + 100 >> 2] = c;
+ c = q[72497];
+ q[a + 104 >> 2] = q[72496];
+ q[a + 108 >> 2] = c;
+ q[a + 1352 >> 2] = q[b + 16 >> 2];
+ q[a + 1468 >> 2] = f;
+ q[a + 1476 >> 2] = i;
+ q[a + 1356 >> 2] = e;
+ q[a + 1472 >> 2] = h;
+ c = q[72501];
+ b = a + 1488 | 0;
+ q[b >> 2] = q[72500];
+ q[b + 4 >> 2] = c;
+ b = q[72499];
+ q[a + 1480 >> 2] = q[72498];
+ q[a + 1484 >> 2] = b;
+ return 0;
+}
+function vy(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ if (b) {
+  f = q[a - -64 >> 2];
+  a : {
+   b : {
+    c : {
+     h = q[a + 60 >> 2];
+     if ((h | 0) >= 0) {
+      e = f + 1 | 0;
+      g = (e | 0) > 0 ? e : 0;
+      if (h >>> 0 >= g >>> 0) {
+       break b;
+      }
+      e = h;
+      while (1) {
+       e = ((e >>> 1 | 0) + e | 0) + 8 | 0;
+       if (e >>> 0 <= g >>> 0) {
+        continue;
+       }
+       break;
+      }
+      if (!(e >>> 0 < h >>> 0 | e >>> 0 > 153391688)) {
+       f = O$(q[a + 68 >> 2], w(e, 28));
+       if (f) {
+        break c;
+       }
+       f = q[a + 64 >> 2];
+      }
+      q[a + 60 >> 2] = -1;
+     }
+     q[160662] = q[67766];
+     e = q[67765];
+     q[160660] = q[67764];
+     q[160661] = e;
+     e = q[67763];
+     q[160658] = q[67762];
+     q[160659] = e;
+     e = q[67761];
+     q[160656] = q[67760];
+     q[160657] = e;
+     e = 642624;
+     break a;
+    }
+    q[a + 60 >> 2] = e;
+    q[a + 68 >> 2] = f;
+    f = q[a + 64 >> 2];
+   }
+   if (g >>> 0 > f >>> 0) {
+    Z$(q[a + 68 >> 2] + w(f, 28) | 0, 0, w(g - f | 0, 28));
+   }
+   q[a + 64 >> 2] = g;
+   f = g;
+   e = (q[a + 68 >> 2] + w(f, 28) | 0) + -28 | 0;
+  }
+  q[e + 12 >> 2] = c;
+  q[e + 8 >> 2] = d;
+  q[e + 4 >> 2] = f;
+  q[e >> 2] = b;
+  q[e + 16 >> 2] = 0 - (c & 1) & d;
+  q[e + 20 >> 2] = q[a + 52 >> 2];
+  q[e + 24 >> 2] = q[a + 56 >> 2];
+ }
+}
+function iS(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ g = q[a + 8 >> 2];
+ f = g + a | 0;
+ a : {
+  b : {
+   if (!a) {
+    break b;
+   }
+   d = q[a >> 2] + -1 | 0;
+   if ((d | 0) < 0) {
+    break b;
+   }
+   while (1) {
+    e = c + d >> 1;
+    h = q[(e << 3) + f >> 2] - b | 0;
+    if (!h) {
+     break a;
+    }
+    i = (h | 0) < 0;
+    c = i ? e + 1 | 0 : c;
+    d = i ? d : e + -1 | 0;
+    if ((c | 0) <= (d | 0)) {
+     continue;
+    }
+    break;
+   }
+   c = h >>> 31 | 0;
+  }
+  e = c + e ^ -1;
+ }
+ if ((e | 0) <= -1) {
+  c = q[a + 4 >> 2];
+  c : {
+   if (((a ? q[a >> 2] + 1 | 0 : 1) | 0) < (c | 0)) {
+    break c;
+   }
+   d = c + 16 | 0;
+   d : {
+    e : {
+     if (c) {
+      g = d << 3;
+      c = O$(f, g);
+      if (c) {
+       break d;
+      }
+      c = L$(g);
+      if (c) {
+       break e;
+      }
+      return 0;
+     }
+     c = L$(d << 3);
+     if (c) {
+      break d;
+     }
+     return 0;
+    }
+    Y$(c, f, q[a >> 2] << 3);
+   }
+   g = c - a | 0;
+   q[a + 8 >> 2] = g;
+   f = q[a + 4 >> 2];
+   if ((d | 0) <= (f | 0)) {
+    break c;
+   }
+   Z$((f << 3) + c | 0, 0, d - f << 3);
+   q[a + 4 >> 2] = d;
+  }
+  e = e ^ -1;
+  c = (a + g | 0) + (e << 3) | 0;
+  _$(c + 8 | 0, c, q[a >> 2] - e << 3);
+  q[a >> 2] = q[a >> 2] + 1;
+  q[c + 4 >> 2] = 0;
+  q[c >> 2] = b;
+  f = q[a + 8 >> 2] + a | 0;
+ }
+ return f + (e << 3) | 0;
+}
+function hY(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = Ca - 32 | 0;
+ Ca = e;
+ cS(e + 16 | 0, a);
+ cS(e, b);
+ d = -1;
+ a = q[e + 16 >> 2] + -1 | 0;
+ a : {
+  if (a >>> 0 > 8) {
+   break a;
+  }
+  b : {
+   c : {
+    switch (a - 1 | 0) {
+    default:
+     f = +q[e + 24 >> 2];
+     h = f;
+     break b;
+    case 0:
+     f = v[e + 24 >> 3];
+     h = f;
+     break b;
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+     break a;
+    case 7:
+     break c;
+    }
+   }
+   a = q[e + 24 >> 2];
+   h = v[a + 8 >> 3];
+   f = v[a >> 3];
+  }
+  a = q[e >> 2] + -1 | 0;
+  if (a >>> 0 > 8) {
+   break a;
+  }
+  d : {
+   e : {
+    switch (a - 1 | 0) {
+    default:
+     d = +q[e + 8 >> 2];
+     g = d;
+     break d;
+    case 0:
+     d = v[e + 8 >> 3];
+     g = d;
+     break d;
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+     break a;
+    case 7:
+     break e;
+    }
+   }
+   a = q[e + 8 >> 2];
+   g = v[a + 8 >> 3];
+   d = v[a >> 3];
+  }
+  i = d;
+  f : {
+   if (h < d) {
+    break f;
+   }
+   i = g;
+   if (g < f) {
+    break f;
+   }
+   q[c >> 2] = 2;
+   v[c + 8 >> 3] = ((f > d ? f : d) + (h < g ? h : g)) * .5;
+   d = 0;
+   break a;
+  }
+  v[c + 8 >> 3] = i;
+  q[c >> 2] = 2;
+  i = y(d - h);
+  d = y(f - g);
+  d = i < d ? i : d;
+ }
+ Ca = e + 32 | 0;
+ return +d;
+}
+function Cq(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   if (!a | !q[a >> 2]) {
+    break b;
+   }
+   if (q[a >> 2] <= 0) {
+    break a;
+   }
+   b = q[a >> 2];
+   q[a >> 2] = b + -1;
+   if ((b | 0) != 1) {
+    break b;
+   }
+   q[a >> 2] = -57005;
+   b = q[a + 8 >> 2];
+   if (b) {
+    c : {
+     if (!q[b + 8 >> 2]) {
+      c = b + 12 | 0;
+      M$(q[c >> 2]);
+      q[c >> 2] = 0;
+      q[b + 4 >> 2] = 0;
+      q[b + 8 >> 2] = 0;
+      break c;
+     }
+     while (1) {
+      c = q[b >> 2];
+      q[b >> 2] = 1;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     c = q[b + 8 >> 2];
+     if (c) {
+      while (1) {
+       e = c + -1 | 0;
+       d = q[b + 12 >> 2] + w(e, 12) | 0;
+       c = q[d + 8 >> 2];
+       d = q[d + 4 >> 2];
+       q[b + 8 >> 2] = e;
+       q[b >> 2] = 0;
+       if (c) {
+        n[c](d);
+       }
+       while (1) {
+        c = q[b >> 2];
+        q[b >> 2] = 1;
+        if (c) {
+         continue;
+        }
+        break;
+       }
+       c = q[b + 8 >> 2];
+       if (c) {
+        continue;
+       }
+       break;
+      }
+     }
+     M$(q[b + 12 >> 2]);
+     q[b + 8 >> 2] = 0;
+     q[b + 12 >> 2] = 0;
+     q[b >> 2] = 0;
+     q[b + 4 >> 2] = 0;
+    }
+    M$(b);
+   }
+   b = q[a + 28 >> 2];
+   if (b) {
+    n[b](q[a + 24 >> 2]);
+   }
+   M$(a);
+  }
+  return;
+ }
+ J(226848, 226873, 279, 226908);
+ F();
+}
+function Zs(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ q[d + 16 >> 2] = 0;
+ q[d + 20 >> 2] = 0;
+ o[d + 21 | 0] = 0;
+ o[d + 22 | 0] = 0;
+ o[d + 23 | 0] = 0;
+ o[d + 24 | 0] = 0;
+ o[d + 25 | 0] = 0;
+ o[d + 26 | 0] = 0;
+ o[d + 27 | 0] = 0;
+ o[d + 28 | 0] = 0;
+ q[d + 32 >> 2] = 0;
+ q[d + 36 >> 2] = 0;
+ q[d + 8 >> 2] = 0;
+ q[d + 12 >> 2] = 0;
+ c = kF(b);
+ o[d + 44 | 0] = 1;
+ q[d + 40 >> 2] = c;
+ c = ix(d + 8 | 0, iF(b, 1196445523));
+ q[a >> 2] = c;
+ b = c ? c : 271040;
+ b = t[b + 16 >> 2] < 10 ? 271040 : q[b + 12 >> 2];
+ e = r[b + 9 | 0] | r[b + 8 | 0] << 8;
+ b = e ? b + e | 0 : 271040;
+ b = r[b | 0] << 8 | r[b + 1 | 0];
+ q[a + 4 >> 2] = b;
+ e = N$(b, 24);
+ q[a + 8 >> 2] = e;
+ a : {
+  if (!e) {
+   q[a + 4 >> 2] = 0;
+   break a;
+  }
+  if (!b) {
+   break a;
+  }
+  b = 0;
+  while (1) {
+   f = w(b, 24) + e | 0;
+   c = c ? c : 271040;
+   c = t[c + 16 >> 2] < 10 ? 271040 : q[c + 12 >> 2];
+   e = r[c + 9 | 0] | r[c + 8 | 0] << 8;
+   c = e ? c + e | 0 : 271040;
+   if ((r[c | 0] << 8 | r[c + 1 | 0]) >>> 0 > b >>> 0) {
+    e = c;
+    c = c + (b << 1) | 0;
+    c = r[c + 2 | 0] << 8 | r[c + 3 | 0];
+    e = c ? e + c | 0 : 271040;
+   } else {
+    e = 271040;
+   }
+   jx(f, e);
+   b = b + 1 | 0;
+   if (b >>> 0 >= t[a + 4 >> 2]) {
+    break a;
+   }
+   c = q[a >> 2];
+   e = q[a + 8 >> 2];
+   continue;
+  }
+ }
+ Ca = d + 48 | 0;
+}
+function Ys(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ q[d + 16 >> 2] = 0;
+ q[d + 20 >> 2] = 0;
+ o[d + 21 | 0] = 0;
+ o[d + 22 | 0] = 0;
+ o[d + 23 | 0] = 0;
+ o[d + 24 | 0] = 0;
+ o[d + 25 | 0] = 0;
+ o[d + 26 | 0] = 0;
+ o[d + 27 | 0] = 0;
+ o[d + 28 | 0] = 0;
+ q[d + 32 >> 2] = 0;
+ q[d + 36 >> 2] = 0;
+ q[d + 8 >> 2] = 0;
+ q[d + 12 >> 2] = 0;
+ c = kF(b);
+ o[d + 44 | 0] = 1;
+ q[d + 40 >> 2] = c;
+ c = zv(d + 8 | 0, iF(b, 1196643650));
+ q[a >> 2] = c;
+ b = c ? c : 271040;
+ b = t[b + 16 >> 2] < 10 ? 271040 : q[b + 12 >> 2];
+ e = r[b + 9 | 0] | r[b + 8 | 0] << 8;
+ b = e ? b + e | 0 : 271040;
+ b = r[b | 0] << 8 | r[b + 1 | 0];
+ q[a + 4 >> 2] = b;
+ e = N$(b, 24);
+ q[a + 8 >> 2] = e;
+ a : {
+  if (!e) {
+   q[a + 4 >> 2] = 0;
+   break a;
+  }
+  if (!b) {
+   break a;
+  }
+  b = 0;
+  while (1) {
+   f = w(b, 24) + e | 0;
+   c = c ? c : 271040;
+   c = t[c + 16 >> 2] < 10 ? 271040 : q[c + 12 >> 2];
+   e = r[c + 9 | 0] | r[c + 8 | 0] << 8;
+   c = e ? c + e | 0 : 271040;
+   if ((r[c | 0] << 8 | r[c + 1 | 0]) >>> 0 > b >>> 0) {
+    e = c;
+    c = c + (b << 1) | 0;
+    c = r[c + 2 | 0] << 8 | r[c + 3 | 0];
+    e = c ? e + c | 0 : 271040;
+   } else {
+    e = 271040;
+   }
+   Av(f, e);
+   b = b + 1 | 0;
+   if (b >>> 0 >= t[a + 4 >> 2]) {
+    break a;
+   }
+   c = q[a >> 2];
+   e = q[a + 8 >> 2];
+   continue;
+  }
+ }
+ Ca = d + 48 | 0;
+}
+function LK(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ e = q[a + 11724 >> 2];
+ if (r[q[a + 11676 >> 2] + 5 | 0]) {
+  g = !r[a + 11665 | 0];
+ } else {
+  g = 0;
+ }
+ f = q[a + 11720 >> 2];
+ if (!((c | 0) == (e | 0) ? !(g | (f | 0) != (b | 0)) : 0)) {
+  RK(a, f, e, b, c, d + 44 | 0, d + 40 | 0);
+  e = q[d + 44 >> 2];
+  q[d + 32 >> 2] = e + q[a + 11720 >> 2];
+  f = q[a + 11724 >> 2];
+  h = q[d + 40 >> 2];
+  q[d + 28 >> 2] = h + c;
+  q[d + 24 >> 2] = b + e;
+  q[d + 36 >> 2] = f + h;
+  if (r[a + 11667 | 0]) {
+   e = q[d + 36 >> 2];
+   q[d + 16 >> 2] = q[d + 32 >> 2];
+   q[d + 20 >> 2] = e;
+   SK(a, d + 16 | 0);
+   o[a + 11664 | 0] = 1;
+   o[a + 11667 | 0] = 0;
+   e = q[d + 28 >> 2];
+   q[a + 11712 >> 2] = q[d + 24 >> 2];
+   q[a + 11716 >> 2] = e;
+  }
+  if (r[a + 11744 | 0]) {
+   e = q[d + 28 >> 2];
+   q[d + 8 >> 2] = q[d + 24 >> 2];
+   q[d + 12 >> 2] = e;
+   MK(a, a + 8 | 0, d + 32 | 0, d + 8 | 0, 0);
+  }
+  q[a + 11748 >> 2] = 2;
+  o[a + 11744 | 0] = 1;
+  e = q[d + 36 >> 2];
+  q[a + 11752 >> 2] = q[d + 32 >> 2];
+  q[a + 11756 >> 2] = e;
+  e = q[d + 28 >> 2];
+  q[a + 11760 >> 2] = q[d + 24 >> 2];
+  q[a + 11764 >> 2] = e;
+  if (g) {
+   NK(a + 8 | 0, q[a + 11668 >> 2], q[a + 11672 >> 2], q[a + 11676 >> 2], q[a + 11680 >> 2], 0);
+  }
+  q[a + 11724 >> 2] = c;
+  q[a + 11720 >> 2] = b;
+ }
+ Ca = d + 48 | 0;
+}
+function Cj(a, b, c) {
+ c = c + -1 | 0;
+ if (c >>> 0 <= 2) {
+  a : {
+   switch (c - 1 | 0) {
+   default:
+    q[b >> 2] = q[a + 4 >> 2];
+    return;
+   case 0:
+    q[b >> 2] = q[a + 4 >> 2] + q[a + 12 >> 2];
+    q[b + 4 >> 2] = q[a + 8 >> 2] + q[a + 12 >> 2];
+    return;
+   case 1:
+    break a;
+   }
+  }
+  q[b >> 2] = q[a + 4 >> 2] + (q[a + 12 >> 2] + (q[a + 20 >> 2] + q[a + 28 >> 2] | 0) | 0);
+  q[b + 4 >> 2] = q[a + 8 >> 2] + (q[a + 12 >> 2] + (q[a + 24 >> 2] + q[a + 28 >> 2] | 0) | 0);
+  q[b + 8 >> 2] = q[a + 16 >> 2] + (q[a + 20 >> 2] + (q[a + 24 >> 2] + q[a + 28 >> 2] | 0) | 0);
+  return;
+ }
+ q[b >> 2] = q[a + 4 >> 2] + (q[a + 12 >> 2] + (q[a + 20 >> 2] + (q[a + 28 >> 2] + (q[a + 36 >> 2] + (q[a + 44 >> 2] + (q[a + 52 >> 2] + q[a + 60 >> 2] | 0) | 0) | 0) | 0) | 0) | 0);
+ q[b + 4 >> 2] = q[a + 8 >> 2] + (q[a + 12 >> 2] + (q[a + 24 >> 2] + (q[a + 28 >> 2] + (q[a + 40 >> 2] + (q[a + 44 >> 2] + (q[a + 56 >> 2] + q[a + 60 >> 2] | 0) | 0) | 0) | 0) | 0) | 0);
+ q[b + 8 >> 2] = q[a + 16 >> 2] + (q[a + 20 >> 2] + (q[a + 24 >> 2] + (q[a + 28 >> 2] + (q[a + 48 >> 2] + (q[a + 52 >> 2] + (q[a + 56 >> 2] + q[a + 60 >> 2] | 0) | 0) | 0) | 0) | 0) | 0);
+ q[b + 12 >> 2] = q[a + 32 >> 2] + (q[a + 36 >> 2] + (q[a + 40 >> 2] + (q[a + 44 >> 2] + (q[a + 48 >> 2] + (q[a + 52 >> 2] + (q[a + 56 >> 2] + q[a + 60 >> 2] | 0) | 0) | 0) | 0) | 0) | 0);
+}
+function jE(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ o[a + 8 | 0] = d;
+ a : {
+  b : {
+   c : {
+    d = q[b + 20 >> 2];
+    if ((d | 0) >= 1) {
+     e = q[b + 24 >> 2];
+     d = d + -1 | 0;
+     while (1) {
+      f = d + h >>> 1 | 0;
+      g = q[w(f, 36) + e >> 2];
+      d : {
+       if (g >>> 0 > c >>> 0) {
+        d = f + -1 | 0;
+        break d;
+       }
+       if (g >>> 0 >= c >>> 0) {
+        break c;
+       }
+       h = f + 1 | 0;
+      }
+      if ((h | 0) <= (d | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    d = a + 4 | 0;
+    break b;
+   }
+   d = a + 4 | 0;
+   f = q[(w(f, 36) + e | 0) + 12 >> 2];
+   if ((f | 0) != -1) {
+    break a;
+   }
+  }
+  q[a >> 2] = 0;
+  q[d >> 2] = 0;
+  return;
+ }
+ e = q[b + 56 >> 2];
+ if (e >>> 0 >= f >>> 0) {
+  if (f) {
+   h = f + -1 | 0;
+   c = 271040;
+   e : {
+    if (e >>> 0 <= h >>> 0) {
+     break e;
+    }
+    c = q[b + 60 >> 2] + (h << 3) | 0;
+   }
+   c = q[c >> 2];
+  } else {
+   c = 0;
+  }
+  if (e >>> 0 > f >>> 0) {
+   e = q[b + 60 >> 2] + (f << 3) | 0;
+  } else {
+   e = b + 32 | 0;
+  }
+  e = q[e >> 2];
+  g = 0;
+  f : {
+   if ((e | 0) == (c | 0)) {
+    break f;
+   }
+   g = 271040;
+   if (t[b + 32 >> 2] <= c >>> 0) {
+    break f;
+   }
+   g = q[b + 36 >> 2] + (c << 3) | 0;
+  }
+  q[a >> 2] = g;
+  q[d >> 2] = e - c;
+  return;
+ }
+ J(267460, 267496, 148, 267511);
+ F();
+}
+function WE(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  if (!nG(a, b)) {
+   break a;
+  }
+  e = q[a + 24 >> 2];
+  if ((e | 0) != q[b + 24 >> 2]) {
+   break a;
+  }
+  if (e) {
+   g = q[b + 20 >> 2];
+   h = q[a + 20 >> 2];
+   while (1) {
+    c = f << 4;
+    d = c + h | 0;
+    c = c + g | 0;
+    if (q[d >> 2] != q[c >> 2]) {
+     return 0;
+    }
+    if (q[d + 4 >> 2] != q[c + 4 >> 2]) {
+     return 0;
+    }
+    b : {
+     c : {
+      if (!q[d + 8 >> 2]) {
+       d = q[d + 12 >> 2];
+       if (!q[c + 8 >> 2]) {
+        break c;
+       }
+       if ((d | 0) != -1) {
+        break b;
+       }
+       return 0;
+      }
+      if (q[c + 8 >> 2] | q[c + 12 >> 2] != -1) {
+       break b;
+      }
+      return 0;
+     }
+     if (!((d | 0) == -1 ^ q[c + 12 >> 2] == -1)) {
+      break b;
+     }
+     return 0;
+    }
+    f = f + 1 | 0;
+    if ((e | 0) != (f | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  if ((r[a + 28 | 0] | r[a + 29 | 0] << 8 | (r[a + 30 | 0] << 16 | r[a + 31 | 0] << 24)) != (r[b + 28 | 0] | r[b + 29 | 0] << 8 | (r[b + 30 | 0] << 16 | r[b + 31 | 0] << 24)) | (r[a + 32 | 0] | r[a + 33 | 0] << 8 | (r[a + 34 | 0] << 16 | r[a + 35 | 0] << 24)) != (r[b + 32 | 0] | r[b + 33 | 0] << 8 | (r[b + 34 | 0] << 16 | r[b + 35 | 0] << 24))) {
+   break a;
+  }
+  i = q[a + 36 >> 2] == q[b + 36 >> 2];
+ }
+ return i;
+}
+function YD(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ a : {
+  i = q[q[a + 112 >> 2] >> 2];
+  if (!i) {
+   break a;
+  }
+  e = q[c + 76 >> 2];
+  if (!e) {
+   break a;
+  }
+  d = e + -1 | 0;
+  a = 0;
+  f = q[c + 88 >> 2];
+  b = r[f + 15 | 0];
+  while (1) {
+   b : {
+    if ((a | 0) == (d | 0)) {
+     a = e;
+     break b;
+    }
+    a = a + 1 | 0;
+    if ((b | 0) == r[(w(a, 20) + f | 0) + 15 | 0]) {
+     continue;
+    }
+   }
+   break;
+  }
+  d = 0;
+  g = e;
+  h = f;
+  while (1) {
+   b = a;
+   c : {
+    if (d >>> 0 >= a >>> 0) {
+     break c;
+    }
+    while (1) {
+     a = w(d, 20) + f | 0;
+     if (!(q[a + 4 >> 2] & i)) {
+      break c;
+     }
+     if (r[a + 12 | 0] & 16) {
+      o[a + 18 | 0] = 18;
+      g = q[c + 76 >> 2];
+      h = q[c + 88 >> 2];
+      break c;
+     }
+     d = d + 1 | 0;
+     if ((d | 0) != (b | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   a = b + 1 | 0;
+   d = g >>> 0 > a >>> 0 ? g : a;
+   j = d + -1 | 0;
+   k = r[(w(b, 20) + h | 0) + 15 | 0];
+   a = b;
+   while (1) {
+    d : {
+     if ((a | 0) == (j | 0)) {
+      a = d;
+      break d;
+     }
+     a = a + 1 | 0;
+     if (r[(w(a, 20) + h | 0) + 15 | 0] == (k | 0)) {
+      continue;
+     }
+    }
+    break;
+   }
+   d = b;
+   if (d >>> 0 < e >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Mk(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0;
+ a = q[a + 712 >> 2];
+ a : {
+  b : {
+   if (!a) {
+    break b;
+   }
+   f = q[a + 1504 >> 2];
+   g = 6;
+   if ((f | 0) == 65535) {
+    break a;
+   }
+   if (b) {
+    e = q[a + 3096 >> 2];
+    if (!e) {
+     h = a;
+     c : {
+      if (f >>> 0 >= 391) {
+       f = f + -391 | 0;
+       g = 0;
+       if (t[a + 1356 >> 2] <= f >>> 0) {
+        break c;
+       }
+       g = q[q[a + 1360 >> 2] + (f << 2) >> 2];
+       break c;
+      }
+      e = q[a + 3084 >> 2];
+      g = 0;
+      if (!e) {
+       break c;
+      }
+      g = n[q[e + 20 >> 2]](f) | 0;
+     }
+     e = g;
+     q[h + 3096 >> 2] = e;
+    }
+    q[b >> 2] = e;
+   }
+   if (c) {
+    e = q[a + 3100 >> 2];
+    if (!e) {
+     e = 0;
+     b = q[a + 1508 >> 2];
+     d : {
+      if ((b | 0) == 65535) {
+       break d;
+      }
+      if (b >>> 0 >= 391) {
+       b = b + -391 | 0;
+       if (t[a + 1356 >> 2] <= b >>> 0) {
+        break d;
+       }
+       e = q[q[a + 1360 >> 2] + (b << 2) >> 2];
+       break d;
+      }
+      f = q[a + 3084 >> 2];
+      if (!f) {
+       break d;
+      }
+      e = n[q[f + 20 >> 2]](b) | 0;
+     }
+     q[a + 3100 >> 2] = e;
+    }
+    q[c >> 2] = e;
+   }
+   if (!d) {
+    break b;
+   }
+   q[d >> 2] = q[a + 1512 >> 2];
+  }
+  g = 0;
+ }
+ return g | 0;
+}
+function gt(a, b, c, d, e, f) {
+ var g = 0;
+ a : {
+  if ((b | 0) != 1196445523) {
+   g = 271040;
+   if ((b | 0) != 1196643650) {
+    break a;
+   }
+   a = q[Ws(a + 136 | 0) >> 2];
+   a = a ? a : 271040;
+   g = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+   break a;
+  }
+  a = q[Xs(a + 140 | 0) >> 2];
+  a = a ? a : 271040;
+  g = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+ }
+ a = r[g + 5 | 0] | r[g + 4 | 0] << 8;
+ b = a ? g + a | 0 : 271040;
+ a = (r[b + 1 | 0] | r[b | 0] << 8) >>> 0 > c >>> 0 ? (b + w(c, 6) | 0) + 2 | 0 : 271040;
+ a = r[a + 4 | 0] << 8 | r[a + 5 | 0];
+ b = a ? a + b | 0 : 271040;
+ b : {
+  if ((d | 0) == 65535) {
+   c = b + 1 | 0;
+   a = b;
+   break b;
+  }
+  a = (r[b + 3 | 0] | r[b + 2 | 0] << 8) >>> 0 > d >>> 0 ? (b + w(d, 6) | 0) + 4 | 0 : 271040;
+  c = a + 5 | 0;
+  a = a + 4 | 0;
+ }
+ a = r[c | 0] | r[a | 0] << 8;
+ a = a ? a + b | 0 : 271426;
+ b = r[a + 2 | 0] << 8 | r[a + 3 | 0];
+ if (e) {
+  q[e >> 2] = b;
+ }
+ if (f) {
+  if ((b | 0) != 65535) {
+   a = r[g + 7 | 0] | r[g + 6 | 0] << 8;
+   a = a ? a + g | 0 : 271040;
+   a = (r[a + 1 | 0] | r[a | 0] << 8) >>> 0 > b >>> 0 ? (a + w(b, 6) | 0) + 2 | 0 : 271040;
+   a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  } else {
+   a = 0;
+  }
+  q[f >> 2] = a;
+ }
+}
+function Cv(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  c = r[a | 0] | r[a + 1 | 0] << 8;
+  c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+  if (c >>> 0 > 1) {
+   break a;
+  }
+  if (c - 1) {
+   f = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   if (!f) {
+    return;
+   }
+   d = q[b >> 2];
+   a = a + 4 | 0;
+   c = a;
+   while (1) {
+    d = 1 << ((r[c + 1 | 0] | r[c | 0] << 8) >>> 4 & 31) | d;
+    q[b >> 2] = d;
+    c = c + 2 | 0;
+    e = e + 1 | 0;
+    if ((f | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   d = q[b + 4 >> 2];
+   e = 0;
+   c = a;
+   while (1) {
+    d = 1 << (r[c + 1 | 0] & 31) | d;
+    q[b + 4 >> 2] = d;
+    c = c + 2 | 0;
+    e = e + 1 | 0;
+    if ((f | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   c = q[b + 8 >> 2];
+   d = 0;
+   while (1) {
+    c = 1 << (r[a | 0] >>> 1 & 31) | c;
+    q[b + 8 >> 2] = c;
+    a = a + 2 | 0;
+    d = d + 1 | 0;
+    if ((f | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  d = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (!d) {
+   return;
+  }
+  if (!sw(a + 4 | 0, b)) {
+   break a;
+  }
+  c = 1;
+  while (1) {
+   if ((c | 0) == (d | 0)) {
+    return;
+   }
+   e = w(c, 6);
+   f = (r[a + 3 | 0] | r[a + 2 | 0] << 8) >>> 0 > c >>> 0;
+   c = c + 1 | 0;
+   if (sw(f ? (a + e | 0) + 4 | 0 : 271432, b)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function qH(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ i = q[q[b >> 2] + 16 >> 2];
+ f = q[b + 36 >> 2];
+ h = q[f + 12 >> 2];
+ f = s[q[f >> 2] + 68 >> 1];
+ gD(h, f, f);
+ j = q[(i << 2) + 288720 >> 2];
+ while (1) {
+  f = a;
+  a = f + 1 | 0;
+  e = r[f | 0];
+  if ((e | 0) == 32) {
+   continue;
+  }
+  break;
+ }
+ a = f;
+ if (e & 223) {
+  while (1) {
+   a = a + 1 | 0;
+   if (e << 24 >> 24 <= -1) {
+    k = a;
+    a = e & 255;
+    a = k + (a >>> 0 < 224 ? 1 : a >>> 0 < 240 ? 2 : 3) | 0;
+   }
+   e = r[a | 0];
+   if (e & 223) {
+    continue;
+   }
+   break;
+  }
+ }
+ KG(c);
+ e = a - f | 0;
+ NG(c, f, e, e);
+ FG(c);
+ SG(h, c, j, (i | 0) != 10);
+ a : {
+  if ((i | 0) == 10) {
+   break a;
+  }
+  b = q[q[b + 36 >> 2] + 16 >> 2];
+  KG(b);
+  NG(b, f, e, e);
+  FG(b);
+  SG(h, b, 0, 0);
+  f = LG(c, g + 12 | 0);
+  i = LG(b, g + 8 | 0);
+  b = q[g + 12 >> 2];
+  if ((b | 0) != q[g + 8 >> 2]) {
+   break a;
+  }
+  e = 0;
+  b : {
+   c : {
+    if (!b) {
+     break c;
+    }
+    while (1) {
+     h = w(e, 20);
+     if (q[h + f >> 2] != q[i + h >> 2]) {
+      break c;
+     }
+     e = e + 1 | 0;
+     if ((b | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   }
+   if ((b | 0) != (e | 0)) {
+    break a;
+   }
+  }
+  KG(c);
+ }
+ q[d >> 2] = q[c + 76 >> 2];
+ Ca = g + 16 | 0;
+ return a;
+}
+function tu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ c = r[a | 0] | r[a + 1 | 0] << 8;
+ c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+ a : {
+  if (c >>> 0 > 2) {
+   break a;
+  }
+  b : {
+   switch (c - 1 | 0) {
+   default:
+    c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+    yu(c ? c + a | 0 : 271040, q[b + 8 >> 2]);
+    c = q[57143];
+    q[e + 8 >> 2] = q[57142];
+    q[e + 12 >> 2] = c;
+    d = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+    if (!d) {
+     break a;
+    }
+    c = a + 6 | 0;
+    while (1) {
+     f = r[c + 1 | 0] | r[c | 0] << 8;
+     zu(f ? f + a | 0 : 271040, b, e + 8 | 0);
+     c = c + 2 | 0;
+     d = d + -1 | 0;
+     if (d) {
+      continue;
+     }
+     break;
+    }
+    break a;
+   case 0:
+    c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+    yu(c ? c + a | 0 : 271040, q[b + 8 >> 2]);
+    c = r[a + 5 | 0];
+    d = r[a + 4 | 0];
+    q[e + 8 >> 2] = 433;
+    c = c | d << 8;
+    q[e + 12 >> 2] = c ? c + a | 0 : 271040;
+    d = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+    if (!d) {
+     break a;
+    }
+    c = a + 8 | 0;
+    while (1) {
+     f = r[c + 1 | 0] | r[c | 0] << 8;
+     zu(f ? f + a | 0 : 271040, b, e + 8 | 0);
+     c = c + 2 | 0;
+     d = d + -1 | 0;
+     if (d) {
+      continue;
+     }
+     break;
+    }
+    break a;
+   case 1:
+    break b;
+   }
+  }
+  Bu(a, b);
+ }
+ Ca = e + 16 | 0;
+}
+function Fs(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ j = q[b + 4 >> 2];
+ a : {
+  if (j >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 2) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  e = 1;
+  if ((g | 0) < 1) {
+   e = 0;
+   break a;
+  }
+  h = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!h) {
+   break a;
+  }
+  if (j >>> 0 > c >>> 0) {
+   e = 0;
+   break a;
+  }
+  if (f >>> 0 < c >>> 0) {
+   e = 0;
+   break a;
+  }
+  if (f - c >>> 0 < h >>> 0) {
+   e = 0;
+   break a;
+  }
+  q[b + 12 >> 2] = g + -2;
+  if ((g | 0) < 2) {
+   e = 0;
+   break a;
+  }
+  h = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!h) {
+   break a;
+  }
+  d = q[d >> 2];
+  q[i + 12 >> 2] = d;
+  c = c + h | 0;
+  b : {
+   if (j >>> 0 > c >>> 0 | f >>> 0 < c >>> 0 | f - c >>> 0 < 8) {
+    break b;
+   }
+   q[b + 12 >> 2] = g + -3;
+   if ((g | 0) < 3) {
+    break b;
+   }
+   f = d;
+   d = c + 2 | 0;
+   if (!Gs(c + 4 | 0, b, f, d)) {
+    break b;
+   }
+   if (Hs(c + 8 | 0, b, r[c + 1 | 0] | r[c | 0] << 8, i + 12 | 0, d)) {
+    break a;
+   }
+  }
+  c = q[b + 24 >> 2];
+  if (c >>> 0 > 31) {
+   e = 0;
+   break a;
+  }
+  q[b + 24 >> 2] = c + 1;
+  e = 0;
+  if (!r[b + 20 | 0]) {
+   break a;
+  }
+  o[a | 0] = 0;
+  o[a + 1 | 0] = 0;
+  e = 1;
+ }
+ Ca = i + 16 | 0;
+ return e;
+}
+function ov(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = q[b + 4 >> 2];
+ a : {
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 6) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  c = a + 4 | 0;
+  if (h >>> 0 > c >>> 0 | f >>> 0 < c >>> 0 | f - c >>> 0 < 2) {
+   break a;
+  }
+  c = d + -2 | 0;
+  q[b + 12 >> 2] = c;
+  if ((d | 0) < 2) {
+   break a;
+  }
+  i = r[a + 5 | 0];
+  j = r[a + 4 | 0];
+  e = i | j << 8;
+  if (e) {
+   c = a + 6 | 0;
+   if (h >>> 0 > c >>> 0 | f >>> 0 < c >>> 0 | f - c >>> 0 < e << 1 >>> 0) {
+    break a;
+   }
+   c = d + -3 | 0;
+   q[b + 12 >> 2] = c;
+   if ((d | 0) < 3) {
+    break a;
+   }
+   i = r[a + 5 | 0];
+   j = r[a + 4 | 0];
+   g = i | j << 8;
+  }
+  e = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (e >>> 0 > g >>> 0) {
+   return 0;
+  }
+  e = g + e | 0;
+  d = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!(!e | 4294967295 / (e >>> 0) >>> 0 > d >>> 0)) {
+   return 0;
+  }
+  g = 1;
+  d = w(d, e);
+  if (!d) {
+   break a;
+  }
+  a = ((i << 1 | j << 9) + a | 0) + 6 | 0;
+  if (h >>> 0 > a >>> 0) {
+   return 0;
+  }
+  if (f >>> 0 < a >>> 0) {
+   return 0;
+  }
+  g = 0;
+  if (f - a >>> 0 < d >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = c + -1;
+  g = (c | 0) > 0;
+ }
+ return g;
+}
+function YE(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   if (!a | !q[a >> 2]) {
+    break b;
+   }
+   if (q[a >> 2] <= 0) {
+    break a;
+   }
+   b = q[a >> 2];
+   q[a >> 2] = b + -1;
+   if ((b | 0) != 1) {
+    break b;
+   }
+   q[a >> 2] = -57005;
+   b = q[a + 8 >> 2];
+   if (b) {
+    c : {
+     if (!q[b + 8 >> 2]) {
+      c = b + 12 | 0;
+      M$(q[c >> 2]);
+      q[c >> 2] = 0;
+      q[b + 4 >> 2] = 0;
+      q[b + 8 >> 2] = 0;
+      break c;
+     }
+     while (1) {
+      c = q[b >> 2];
+      q[b >> 2] = 1;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     c = q[b + 8 >> 2];
+     if (c) {
+      while (1) {
+       e = c + -1 | 0;
+       d = q[b + 12 >> 2] + w(e, 12) | 0;
+       c = q[d + 8 >> 2];
+       d = q[d + 4 >> 2];
+       q[b + 8 >> 2] = e;
+       q[b >> 2] = 0;
+       if (c) {
+        n[c](d);
+       }
+       while (1) {
+        c = q[b >> 2];
+        q[b >> 2] = 1;
+        if (c) {
+         continue;
+        }
+        break;
+       }
+       c = q[b + 8 >> 2];
+       if (c) {
+        continue;
+       }
+       break;
+      }
+     }
+     M$(q[b + 12 >> 2]);
+     q[b + 8 >> 2] = 0;
+     q[b + 12 >> 2] = 0;
+     q[b >> 2] = 0;
+     q[b + 4 >> 2] = 0;
+    }
+    M$(b);
+   }
+   OE(a + 60 | 0);
+   M$(q[a + 36 >> 2]);
+   M$(a);
+  }
+  return;
+ }
+ J(270540, 270565, 279, 270600);
+ F();
+}
+function Aj(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ f = q[a + 532 >> 2];
+ if (!f) {
+  return 6;
+ }
+ k = -1;
+ a : {
+  if (!q[f >> 2]) {
+   break a;
+  }
+  i = q[f + 4 >> 2];
+  l = i >>> 0 < b >>> 0 ? i : b;
+  e = i;
+  while (1) {
+   g = 65536;
+   j = 0;
+   d = 0;
+   b : {
+    if (!e) {
+     break b;
+    }
+    while (1) {
+     c : {
+      if (j >>> 0 >= l >>> 0) {
+       g = g >> 1;
+       break c;
+      }
+      d = q[(j << 2) + c >> 2];
+      d = h >>> j & 1 ? d : 65536 - d | 0;
+      if ((d | 0) < 1) {
+       g = 0;
+       d = e;
+       break b;
+      }
+      if ((d | 0) > 65535) {
+       break c;
+      }
+      g = Ee(g, d);
+      i = q[f + 4 >> 2];
+     }
+     e = i;
+     j = j + 1 | 0;
+     d = i;
+     if (j >>> 0 < d >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   e = q[f + 136 >> 2] + (h << 2) | 0;
+   d : {
+    if (q[e >> 2] == (g | 0)) {
+     e = d;
+     h = h + 1 | 0;
+     if (h >>> 0 < t[f >> 2]) {
+      continue;
+     }
+     if (!m) {
+      break a;
+     }
+     break d;
+    }
+    q[e >> 2] = g;
+    m = 1;
+    e = d;
+    h = h + 1 | 0;
+    if (h >>> 0 < t[f >> 2]) {
+     continue;
+    }
+   }
+   break;
+  }
+  c = a;
+  a = q[a + 8 >> 2];
+  q[c + 8 >> 2] = b ? a | 32768 : a & -32769;
+  k = 0;
+ }
+ return k | 0;
+}
+function jN(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ d = L$(36);
+ a : {
+  if (d) {
+   p[d + 20 >> 1] = 255;
+   q[d + 28 >> 2] = 0;
+   q[d + 32 >> 2] = 0;
+   q[d + 16 >> 2] = 128;
+   q[d + 8 >> 2] = -1;
+   q[d + 12 >> 2] = -1;
+   q[d + 4 >> 2] = d;
+   q[d >> 2] = d;
+   b : {
+    if ((c | 0) < 1) {
+     f = d;
+     break b;
+    }
+    f = d;
+    while (1) {
+     j = g << 2;
+     i = q[j + a >> 2];
+     h = 0;
+     h = b ? q[b + j >> 2] : h;
+     if (!(q[f + 24 >> 2] | i & 32768 ? 0 : !(h | q[f + 16 >> 2] != (i | 0)))) {
+      e = L$(36);
+      if (!e) {
+       e = 0;
+       break b;
+      }
+      q[e + 4 >> 2] = 0;
+      q[e + 8 >> 2] = 0;
+      p[e + 20 >> 1] = 0;
+      q[e + 28 >> 2] = 0;
+      q[e + 32 >> 2] = 0;
+      q[e + 16 >> 2] = i;
+      q[e + 8 >> 2] = g;
+      q[e + 12 >> 2] = 0;
+      q[f + 4 >> 2] = e;
+      q[f + 12 >> 2] = g - q[f + 8 >> 2];
+      q[e + 24 >> 2] = h;
+      q[e >> 2] = f;
+      f = e;
+     }
+     g = g + 1 | 0;
+     if ((g | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[f + 4 >> 2] = d;
+   q[f + 12 >> 2] = c - q[f + 8 >> 2];
+   q[d >> 2] = f;
+   if (e) {
+    break a;
+   }
+   q[f + 4 >> 2] = 0;
+   while (1) {
+    a = q[d + 4 >> 2];
+    M$(d);
+    d = a;
+    if (d) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = 0;
+ }
+ return d;
+}
+function xr(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ j = q[b + 4 >> 2];
+ a : {
+  if (j >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 4) {
+   break a;
+  }
+  h = q[b + 12 >> 2];
+  g = h + -1 | 0;
+  q[b + 12 >> 2] = g;
+  if ((h | 0) < 1) {
+   break a;
+  }
+  e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+  if (e) {
+   if (f >>> 0 < c >>> 0 | j >>> 0 > c >>> 0 | f - c >>> 0 < e >>> 0) {
+    break a;
+   }
+   g = h + -2 | 0;
+   q[b + 12 >> 2] = g;
+   if ((h | 0) < 2) {
+    break a;
+   }
+   a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   i = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  }
+  d = q[d >> 2];
+  if (d >>> 0 > 1073741822) {
+   return 0;
+  }
+  if (d) {
+   c = c + i | 0;
+   if (j >>> 0 > c >>> 0) {
+    return 0;
+   }
+   if (f >>> 0 < c >>> 0) {
+    return 0;
+   }
+   i = 0;
+   if (f - c >>> 0 < d << 2 >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = g + -1;
+   if ((g | 0) <= 0) {
+    break a;
+   }
+   a = 0;
+   while (1) {
+    if (!ur(c + (a << 2) | 0, b, c)) {
+     break a;
+    }
+    a = a + 1 | 0;
+    if ((d | 0) != (a | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  i = 1;
+ }
+ return i;
+}
+function xF(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ i = q[b + 4 >> 2];
+ a : {
+  if (i >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 4) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  h = g + -1 | 0;
+  q[b + 12 >> 2] = h;
+  if ((g | 0) < 1) {
+   break a;
+  }
+  e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  j = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+  e = 0;
+  b : {
+   if (!j) {
+    break b;
+   }
+   e = 0;
+   if (f >>> 0 < c >>> 0 | i >>> 0 > c >>> 0 | f - c >>> 0 < j >>> 0) {
+    break a;
+   }
+   h = g + -2 | 0;
+   q[b + 12 >> 2] = h;
+   if ((g | 0) < 2) {
+    break a;
+   }
+   a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   e = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  }
+  g = e;
+  e = 1;
+  a = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+  d = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  a = d + 1 | 0;
+  c : {
+   if (a >>> 0 <= 1) {
+    if (a - 1) {
+     break c;
+    }
+    break a;
+   }
+   a = c + g | 0;
+   if (i >>> 0 > a >>> 0 | f >>> 0 < a >>> 0 | f - a >>> 0 < d >>> 0) {
+    break c;
+   }
+   q[b + 12 >> 2] = h + -1;
+   if ((h | 0) > 0) {
+    break a;
+   }
+  }
+  e = 0;
+ }
+ return e;
+}
+function iI(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = q[b >> 2];
+ i = q[b + 8 >> 2];
+ d = q[a >> 2];
+ if (d) {
+  b = q[a + 8 >> 2];
+  c = d;
+  while (1) {
+   q[b + 24 >> 2] = -1;
+   q[b + 16 >> 2] = q[b + 16 >> 2] & -5;
+   b = b + 28 | 0;
+   c = c + -1 | 0;
+   if (c) {
+    continue;
+   }
+   break;
+  }
+ }
+ if (!e) {
+  q[a + 4 >> 2] = 0;
+  return;
+ }
+ b = 0;
+ c = 0;
+ while (1) {
+  if (!b) {
+   j = r[i | 0];
+   i = i + 1 | 0;
+   b = 128;
+  }
+  a : {
+   if (!(b & j)) {
+    break a;
+   }
+   f = q[a + 8 >> 2] + w(c, 28) | 0;
+   h = q[f + 16 >> 2];
+   if (h & 4) {
+    break a;
+   }
+   q[f + 16 >> 2] = h | 4;
+   if (g >>> 0 >= d >>> 0) {
+    break a;
+   }
+   q[q[a + 12 >> 2] + (g << 2) >> 2] = f;
+   g = g + 1 | 0;
+  }
+  b = b >> 1;
+  c = c + 1 | 0;
+  if ((e | 0) != (c | 0)) {
+   continue;
+  }
+  break;
+ }
+ q[a + 4 >> 2] = g;
+ if ((g | 0) >= 2) {
+  e = q[a + 12 >> 2];
+  d = 1;
+  while (1) {
+   f = q[e + (d << 2) >> 2];
+   j = q[f >> 2];
+   b = d;
+   while (1) {
+    a = b + -1 | 0;
+    h = e + (a << 2) | 0;
+    c = q[h >> 2];
+    if (q[c >> 2] >= (j | 0)) {
+     q[e + (b << 2) >> 2] = c;
+     q[h >> 2] = f;
+     c = (b | 0) > 1;
+     b = a;
+     if (c) {
+      continue;
+     }
+    }
+    break;
+   }
+   d = d + 1 | 0;
+   if ((d | 0) != (g | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function G_(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = Ca - 32 | 0;
+ Ca = d;
+ e = q[a + 28 >> 2];
+ q[d + 16 >> 2] = e;
+ f = q[a + 20 >> 2];
+ q[d + 28 >> 2] = c;
+ q[d + 24 >> 2] = b;
+ b = f - e | 0;
+ q[d + 20 >> 2] = b;
+ e = b + c | 0;
+ h = 2;
+ b = d + 16 | 0;
+ a : {
+  b : {
+   c : {
+    if (!k$(ka(q[a + 60 >> 2], d + 16 | 0, 2, d + 12 | 0) | 0)) {
+     while (1) {
+      f = q[d + 12 >> 2];
+      if ((f | 0) == (e | 0)) {
+       break c;
+      }
+      if ((f | 0) <= -1) {
+       break b;
+      }
+      g = q[b + 4 >> 2];
+      i = f >>> 0 > g >>> 0;
+      b = i ? b + 8 | 0 : b;
+      g = f - (i ? g : 0) | 0;
+      q[b >> 2] = g + q[b >> 2];
+      q[b + 4 >> 2] = q[b + 4 >> 2] - g;
+      e = e - f | 0;
+      h = h - i | 0;
+      if (!k$(ka(q[a + 60 >> 2], b | 0, h | 0, d + 12 | 0) | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    q[d + 12 >> 2] = -1;
+    if ((e | 0) != -1) {
+     break b;
+    }
+   }
+   b = q[a + 44 >> 2];
+   q[a + 28 >> 2] = b;
+   q[a + 20 >> 2] = b;
+   q[a + 16 >> 2] = b + q[a + 48 >> 2];
+   a = c;
+   break a;
+  }
+  q[a + 28 >> 2] = 0;
+  q[a + 16 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  q[a >> 2] = q[a >> 2] | 32;
+  a = 0;
+  if ((h | 0) == 2) {
+   break a;
+  }
+  a = c - q[b + 4 >> 2] | 0;
+ }
+ Ca = d + 32 | 0;
+ return a | 0;
+}
+function EF(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ g = q[b + 4 >> 2];
+ a : {
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 3) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  f = e + -1 | 0;
+  q[b + 12 >> 2] = f;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  k = g;
+  i = r[a + 2 | 0] | (r[a + 1 | 0] << 8 | r[a | 0] << 16);
+  h = 0;
+  b : {
+   if (!i) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | g >>> 0 > c >>> 0 | d - c >>> 0 < i >>> 0) {
+    break a;
+   }
+   f = e + -2 | 0;
+   q[b + 12 >> 2] = f;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   h = r[a + 2 | 0] | (r[a + 1 | 0] << 8 | r[a | 0] << 16);
+  }
+  a = h + c | 0;
+  c : {
+   if (k >>> 0 > a >>> 0 | d >>> 0 < a >>> 0 | d - a >>> 0 < 4) {
+    break c;
+   }
+   q[b + 12 >> 2] = f + -1;
+   j = 1;
+   if ((f | 0) < 1) {
+    break c;
+   }
+   c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+   e = c + 1 | 0;
+   if (e >>> 0 <= 1) {
+    if (e - 1) {
+     break c;
+    }
+    break a;
+   }
+   a = a + 4 | 0;
+   if (g >>> 0 > a >>> 0 | d >>> 0 < a >>> 0 | d - a >>> 0 < c >>> 0) {
+    break c;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) > 1) {
+    break a;
+   }
+  }
+  j = 0;
+ }
+ return j;
+}
+function DA(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ d = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+ d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+ d = d ? d + a | 0 : 271040;
+ e = r[d + 2 | 0] << 8 | r[d + 3 | 0];
+ if (e) {
+  g = r[d + 1 | 0];
+  f = (g >>> 4 & 3) + 1 | 0;
+  d = (d + w(f, e >>> 0 > b >>> 0 ? b : e + -1 | 0) | 0) + 4 | 0;
+  b = 0;
+  while (1) {
+   b = r[d | 0] | b << 8;
+   d = d + 1 | 0;
+   f = f + -1 | 0;
+   if (f) {
+    continue;
+   }
+   break;
+  }
+  d = (g & 15) + 1 | 0;
+  b = b >>> d << 16 | (-1 << d ^ -1) & b;
+ }
+ d = a;
+ a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+ a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ a = a ? d + a | 0 : 271040;
+ d = b >>> 16 | 0;
+ if ((r[a + 6 | 0] << 8 | r[a + 7 | 0]) >>> 0 <= d >>> 0) {
+  return x(0);
+ }
+ d = a + (d << 2) | 0;
+ d = r[d + 8 | 0] | r[d + 9 | 0] << 8 | (r[d + 10 | 0] << 16 | r[d + 11 | 0] << 24);
+ d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+ e = d ? d + a | 0 : 271040;
+ d = a;
+ a = r[a + 2 | 0] | r[a + 3 | 0] << 8 | (r[a + 4 | 0] << 16 | r[a + 5 | 0] << 24);
+ a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ return ku(e, b & 65535, q[c + 64 >> 2], q[c + 60 >> 2], a ? d + a | 0 : 271040);
+}
+function vB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ c = b;
+ q[c >> 2] = 0;
+ q[c + 4 >> 2] = 0;
+ q[c + 16 >> 2] = 0;
+ q[c + 20 >> 2] = 0;
+ q[c + 8 >> 2] = 0;
+ q[c + 12 >> 2] = 0;
+ q[c + 24 >> 2] = 0;
+ q[c + 28 >> 2] = -1;
+ c = 1;
+ a : {
+  if (r[a + 16 | 0]) {
+   break a;
+  }
+  g = r[271040];
+  i = g | 256;
+  while (1) {
+   c = q[a + 12 >> 2];
+   f = c + 1 | 0;
+   d = q[a + 4 >> 2];
+   if (f >>> 0 > d >>> 0) {
+    return 1;
+   }
+   b : {
+    c : {
+     d : {
+      if (c >>> 0 < d >>> 0) {
+       h = q[a >> 2];
+       e = r[h + c | 0];
+       if ((e | 0) == 12) {
+        if (f >>> 0 >= d >>> 0) {
+         break d;
+        }
+        c = r[f + h | 0];
+        q[a + 12 >> 2] = f;
+        e = c | 256;
+        c = f;
+       }
+       if (c >>> 0 >= d >>> 0) {
+        c = e;
+        break c;
+       }
+       q[a + 12 >> 2] = c + 1;
+       break b;
+      }
+      o[a + 16 | 0] = 1;
+      e = 65535;
+      c = g;
+      if ((c | 0) == 12) {
+       break b;
+      }
+      break c;
+     }
+     o[a + 16 | 0] = 1;
+     q[a + 12 >> 2] = d;
+     c = i;
+    }
+    o[a + 16 | 0] = 1;
+    q[a + 12 >> 2] = d;
+    e = c;
+   }
+   yB(e, a, b);
+   c = 0;
+   if (r[a + 20 | 0] | (r[a + 40 | 0] | r[a + 16 | 0])) {
+    break a;
+   }
+   if (q[a + 28 >> 2] > -1) {
+    continue;
+   }
+   break;
+  }
+ }
+ return c;
+}
+function hT(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ i = Ca - 16 | 0;
+ Ca = i;
+ a : {
+  if (!a) {
+   e = 1;
+   if (!b) {
+    break a;
+   }
+  }
+  e = 0;
+  f = L$(g0(c) + 4098 | 0);
+  if (!f) {
+   break a;
+  }
+  f = gZ(f, c);
+  g = f + g0(f) | 0;
+  o[g | 0] = 47;
+  o[g + 1 | 0] = 0;
+  h = g0(f);
+  if (r[643388] & 128) {
+   q[i >> 2] = c;
+   d0(489732, i);
+  }
+  g = EY(c);
+  b : {
+   if (!g) {
+    e = q[160854] == 44;
+    break b;
+   }
+   c = wQ(3);
+   if (c) {
+    e = FY(g);
+    c : {
+     if (e) {
+      h = f + h | 0;
+      while (1) {
+       d : {
+        if (r[e + 19 | 0] == 46) {
+         break d;
+        }
+        e = e + 19 | 0;
+        if (g0(e) >>> 0 > 4095) {
+         break d;
+        }
+        gZ(h, e);
+        if (xQ(c, f)) {
+         break d;
+        }
+        e = 0;
+        break c;
+       }
+       e = FY(g);
+       if (e) {
+        continue;
+       }
+       break;
+      }
+     }
+     M_(q[c + 12 >> 2], q[c + 4 >> 2], 4, 838);
+     e = 1;
+     if (q[c + 4 >> 2] < 1) {
+      break c;
+     }
+     h = 0;
+     while (1) {
+      gT(a, b, q[q[c + 12 >> 2] + (h << 2) >> 2], d);
+      h = h + 1 | 0;
+      if ((h | 0) < q[c + 4 >> 2]) {
+       continue;
+      }
+      break;
+     }
+    }
+    BQ(c);
+    GY(g);
+    break b;
+   }
+   GY(g);
+  }
+  M$(f);
+ }
+ Ca = i + 16 | 0;
+ return e;
+}
+function an(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ d = q[b >> 2];
+ if (!d) {
+  return 35;
+ }
+ if (t[d + 16 >> 2] > c >>> 0) {
+  b = q[d + 140 >> 2];
+  f = s[b + 96 >> 1];
+  b = q[b + 56 >> 2];
+  if (c) {
+   c = c + -1 | 0;
+  } else {
+   c = q[d + 148 >> 2];
+  }
+  b = b + w(c, 36) | 0;
+  g = s[b + 10 >> 1];
+  c = p[b + 20 >> 1];
+  e = p[b + 16 >> 1];
+  h = q[b + 24 >> 2];
+  i = s[b + 14 >> 1];
+  j = s[b + 12 >> 1];
+  q[a + 84 >> 2] = q[b + 28 >> 2];
+  q[a + 80 >> 2] = j;
+  q[a + 76 >> 2] = i;
+  rf(a, h);
+  b = f + -1 | 0;
+  a : {
+   if (b >>> 0 > 7) {
+    break a;
+   }
+   b : {
+    switch (b - 1 | 0) {
+    default:
+     o[a + 94 | 0] = 1;
+     break a;
+    case 0:
+     o[a + 94 | 0] = 3;
+     break a;
+    case 2:
+     o[a + 94 | 0] = 4;
+     break a;
+    case 1:
+    case 3:
+    case 4:
+    case 5:
+     break a;
+    case 6:
+     break b;
+    }
+   }
+   p[a + 92 >> 1] = 256;
+   o[a + 94 | 0] = 2;
+  }
+  q[a + 104 >> 2] = c;
+  q[a + 100 >> 2] = e;
+  q[a + 72 >> 2] = 1651078259;
+  q[a + 40 >> 2] = g << 6;
+  q[a + 36 >> 2] = c << 6;
+  q[a + 32 >> 2] = e << 6;
+  q[a + 24 >> 2] = q[a + 80 >> 2] << 6;
+  q[a + 28 >> 2] = q[a + 76 >> 2] << 6;
+  Of(a + 24 | 0, s[q[d + 140 >> 2] + 6 >> 1] << 6);
+  a = 0;
+ } else {
+  a = 6;
+ }
+ return a | 0;
+}
+function IB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ c = b;
+ q[c >> 2] = 0;
+ q[c + 4 >> 2] = 0;
+ q[c + 24 >> 2] = 0;
+ q[c + 28 >> 2] = 0;
+ q[c + 16 >> 2] = 0;
+ q[c + 20 >> 2] = 0;
+ q[c + 8 >> 2] = 0;
+ q[c + 12 >> 2] = 0;
+ c = 1;
+ a : {
+  if (r[a + 16 | 0]) {
+   break a;
+  }
+  g = r[271040];
+  i = g | 256;
+  while (1) {
+   c = q[a + 12 >> 2];
+   f = c + 1 | 0;
+   d = q[a + 4 >> 2];
+   if (f >>> 0 > d >>> 0) {
+    return 1;
+   }
+   b : {
+    c : {
+     d : {
+      if (c >>> 0 < d >>> 0) {
+       h = q[a >> 2];
+       e = r[h + c | 0];
+       if ((e | 0) == 12) {
+        if (f >>> 0 >= d >>> 0) {
+         break d;
+        }
+        c = r[f + h | 0];
+        q[a + 12 >> 2] = f;
+        e = c | 256;
+        c = f;
+       }
+       if (c >>> 0 >= d >>> 0) {
+        c = e;
+        break c;
+       }
+       q[a + 12 >> 2] = c + 1;
+       break b;
+      }
+      o[a + 16 | 0] = 1;
+      e = 65535;
+      c = g;
+      if ((c | 0) == 12) {
+       break b;
+      }
+      break c;
+     }
+     o[a + 16 | 0] = 1;
+     q[a + 12 >> 2] = d;
+     c = i;
+    }
+    o[a + 16 | 0] = 1;
+    q[a + 12 >> 2] = d;
+    e = c;
+   }
+   OB(e, a, b);
+   c = 0;
+   if (r[a + 20 | 0] | (r[a + 40 | 0] | r[a + 16 | 0])) {
+    break a;
+   }
+   if (q[a + 28 >> 2] > -1) {
+    continue;
+   }
+   break;
+  }
+ }
+ return c;
+}
+function eW(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ b = Ca - 48 | 0;
+ Ca = b;
+ a : {
+  if (!q[a + 492 >> 2]) {
+   b : {
+    c : {
+     d = uY(498073, 0, 0);
+     if ((d | 0) >= 0) {
+      while (1) {
+       e = PY(d, (b + 36 | 0) + c | 0, 4 - c | 0);
+       f = e + c | 0;
+       if (f >>> 0 > 3 ? (e | 0) >= 1 : 0) {
+        break c;
+       }
+       c = (e | 0) > 0 ? f : c;
+       if (q[160854] == 27) {
+        continue;
+       }
+       break;
+      }
+      SY(d);
+     }
+     if (X(b + 40 | 0, 0)) {
+      break a;
+     }
+     c = q[b + 44 >> 2] ^ oa();
+     q[b + 36 >> 2] = c;
+     c = w(c, 2147483647);
+     d = j$(498098);
+     if (!d) {
+      break b;
+     }
+     if (iZ(d, 498118)) {
+      break b;
+     }
+     q[b + 12 >> 2] = 4;
+     q[b + 8 >> 2] = c;
+     q[b + 4 >> 2] = 8;
+     q[b >> 2] = 498086;
+     j_(q[126919], 498120, b);
+     break b;
+    }
+    SY(d);
+    c = q[b + 36 >> 2];
+    d = j$(498098);
+    if (!d) {
+     break b;
+    }
+    if (iZ(d, 498118)) {
+     break b;
+    }
+    q[b + 28 >> 2] = 4;
+    q[b + 24 >> 2] = c;
+    q[b + 20 >> 2] = 8;
+    q[b + 16 >> 2] = 498073;
+    j_(q[126919], 498120, b + 16 | 0);
+   }
+   q[a + 492 >> 2] = c;
+  }
+  if (r[a + 232 | 0]) {
+   c = aW(a);
+  } else {
+   c = 1;
+  }
+  Ca = b + 48 | 0;
+  return c;
+ }
+ J(498157, 496515, 800, 498179);
+ F();
+}
+function Iu(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, o = 0, p = 0;
+ f = r[a + 1 | 0];
+ j = r[a | 0];
+ h = (f << 1 | j << 9) + a | 0;
+ d = h + 2 | 0;
+ e = r[h + 3 | 0] | r[d | 0] << 8;
+ g = d + (e ? e << 1 : 2) | 0;
+ k = r[g + 1 | 0];
+ d = r[g | 0];
+ l = (k << 1 | d << 9) + g | 0;
+ m = r[l + 2 | 0];
+ o = r[l + 3 | 0];
+ p = d << 8;
+ i = q[c >> 2];
+ d = f | j << 8;
+ if (d) {
+  f = q[c + 4 >> 2];
+  j = q[b + 4 >> 2];
+  a = a + 2 | 0;
+  while (1) {
+   n[i](j, a, f);
+   a = a + 2 | 0;
+   d = d + -1 | 0;
+   if (d) {
+    continue;
+   }
+   break;
+  }
+  i = q[c >> 2];
+ }
+ f = m << 8;
+ d = k | p;
+ a : {
+  if (!e) {
+   break a;
+  }
+  e = e + -1 | 0;
+  if (!e) {
+   break a;
+  }
+  a = h + 4 | 0;
+  h = q[c + 8 >> 2];
+  k = q[b + 8 >> 2];
+  while (1) {
+   n[i](k, a, h);
+   a = a + 2 | 0;
+   e = e + -1 | 0;
+   if (e) {
+    continue;
+   }
+   break;
+  }
+  i = q[c >> 2];
+ }
+ e = f | o;
+ if (d) {
+  a = g + 2 | 0;
+  c = q[c + 12 >> 2];
+  g = q[b + 12 >> 2];
+  while (1) {
+   n[i](g, a, c);
+   a = a + 2 | 0;
+   d = d + -1 | 0;
+   if (d) {
+    continue;
+   }
+   break;
+  }
+ }
+ if (e) {
+  c = l + 4 | 0;
+  a = 0;
+  while (1) {
+   d = c + (a << 2) | 0;
+   Hu(b, r[d + 2 | 0] << 8 | r[d + 3 | 0]);
+   a = a + 1 | 0;
+   if ((e | 0) != (a | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function aH(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ a : {
+  if (q[a + 80 >> 2] != 583) {
+   break a;
+  }
+  g = q[q[a + 76 >> 2] + 4 >> 2];
+  b = g;
+  c = s[b + 68 >> 1];
+  e = q[b + 88 >> 2];
+  b = q[e + 16 >> 2];
+  d = T0(c, 0, b, b >> 31) + 32768 | 0;
+  b = Ea;
+  b = d >>> 0 < 32768 ? b + 1 | 0 : b;
+  h = (b & 65535) << 16 | d >>> 16;
+  b = q[e + 20 >> 2];
+  d = T0(b, b >> 31, c, 0) + 32768 | 0;
+  b = Ea;
+  b = d >>> 0 < 32768 ? b + 1 | 0 : b;
+  gD(a, h, (b & 65535) << 16 | d >>> 16);
+  q[f + 12 >> 2] = 0;
+  if (TG(g, f + 12 | 0)) {
+   break a;
+  }
+  c = q[f + 12 >> 2];
+  b = N$(q[c >> 2], 4);
+  d = N$(q[c >> 2], 4);
+  b : {
+   if (!b | !d) {
+    break b;
+   }
+   if (WG(g, q[c >> 2], b)) {
+    break b;
+   }
+   c : {
+    i = q[f + 12 >> 2];
+    if (!q[i >> 2]) {
+     break c;
+    }
+    c = 0;
+    while (1) {
+     j = c << 2;
+     h = j + b | 0;
+     e = q[h >> 2] >> 2;
+     q[h >> 2] = e;
+     q[d + j >> 2] = e;
+     k = (e | 0) != 0 | k;
+     c = c + 1 | 0;
+     e = q[i >> 2];
+     if (c >>> 0 < e >>> 0) {
+      continue;
+     }
+     break;
+    }
+    if (!(k & 1)) {
+     break c;
+    }
+    hD(a, d, e);
+    break b;
+   }
+   hD(a, 0, 0);
+  }
+  M$(d);
+  M$(b);
+  UG(q[q[g + 84 >> 2] >> 2], q[f + 12 >> 2]);
+ }
+ Ca = f + 16 | 0;
+}
+function SB(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  if (d >>> 0 > 715827881) {
+   break a;
+  }
+  h = w(d, 6);
+  if (h) {
+   d = a + 4 | 0;
+   if (g >>> 0 > d >>> 0 | e >>> 0 < d >>> 0 | e - d >>> 0 < h >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  }
+  if (!d) {
+   return 1;
+  }
+  f = q[c >> 2];
+  g = q[b + 32 >> 2];
+  c = 0;
+  while (1) {
+   b = w(c, 6) + a | 0;
+   e = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+   if ((e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24)) >>> 0 >= g >>> 0 | (r[b + 9 | 0] | r[b + 8 | 0] << 8) >>> 0 >= f >>> 0) {
+    break a;
+   }
+   c = c + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+  return 1;
+ }
+ return 0;
+}
+function ev(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  h = 1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  f = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!f) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < f >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   f = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!f) {
+    break b;
+   }
+   c = c + f | 0;
+   c : {
+    if (g >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+     break c;
+    }
+    q[b + 12 >> 2] = e + -3;
+    if ((e | 0) < 3) {
+     break c;
+    }
+    f = r[c + 1 | 0] | r[c | 0] << 8;
+    if (!f) {
+     break b;
+    }
+    c = c + 2 | 0;
+    if (g >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < f << 1 >>> 0) {
+     break c;
+    }
+    q[b + 12 >> 2] = e + -4;
+    if ((e | 0) > 3) {
+     break b;
+    }
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   h = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function ZE(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0;
+ if (!q[c + 76 >> 2]) {
+  return 1;
+ }
+ a : {
+  if (q[c + 4 >> 2]) {
+   if (q[c + 44 >> 2] == 1) {
+    if (!q[a >> 2]) {
+     return 0;
+    }
+    if (q[a + 12 >> 2] == q[b + 16 >> 2]) {
+     if (nG(a + 16 | 0, c + 48 | 0)) {
+      f = q[a + 52 >> 2];
+      if ((f | 0) != 566) {
+       break a;
+      }
+      f = b + 88 | 0;
+      b : {
+       if (q[f >> 2]) {
+        break b;
+       }
+       h = b + 84 | 0;
+       while (1) {
+        if (!q[h >> 2]) {
+         return 0;
+        }
+        g = q[f >> 2];
+        q[f >> 2] = g ? g : 1;
+        if (!g) {
+         break b;
+        }
+        if (!q[f >> 2]) {
+         continue;
+        }
+        break;
+       }
+      }
+      return (QE(a, b, c, d, e) | 0) != 0;
+     }
+     J(270471, 270284, 395, 270356);
+     F();
+    }
+    J(270433, 270284, 394, 270356);
+    F();
+   }
+   J(270378, 270284, 389, 270356);
+   F();
+  }
+  J(270323, 270284, 388, 270356);
+  F();
+ }
+ if ((f | 0) != 567) {
+  return 0;
+ }
+ f = b + 92 | 0;
+ c : {
+  if (q[f >> 2]) {
+   break c;
+  }
+  h = b + 84 | 0;
+  while (1) {
+   if (!q[h >> 2]) {
+    return 0;
+   }
+   g = q[f >> 2];
+   q[f >> 2] = g ? g : 1;
+   if (!g) {
+    break c;
+   }
+   if (!q[f >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+ return (hC(a, b, c, d, e) | 0) != 0;
+}
+function dy(a, b, c, d, e) {
+ var f = 0, g = 0, h = x(0), i = 0, j = 0, k = 0, l = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ g = q[b + 88 >> 2];
+ k = q[g + 52 >> 2];
+ j = q[g + 48 >> 2];
+ q[f + 4 >> 2] = 0;
+ q[f >> 2] = 0;
+ a : {
+  b : {
+   i = 0;
+   c : {
+    if (!(j | k)) {
+     break c;
+    }
+    b = r[a + 7 | 0];
+    i = r[a + 6 | 0];
+    q[f + 4 >> 2] = 0;
+    q[f >> 2] = 0;
+    l = b | i << 8;
+    b = q[g + 72 >> 2];
+    i = 0;
+    if (!n[q[b + 204 >> 2]](g, q[g + 76 >> 2], c, l, f + 4 | 0, f, q[b + 68 >> 2])) {
+     break c;
+    }
+    hu(g, c, f + 12 | 0, f + 8 | 0);
+    b = q[f + 4 >> 2] - q[f + 12 >> 2] | 0;
+    q[f + 4 >> 2] = b;
+    q[f >> 2] = q[f >> 2] - q[f + 8 >> 2];
+    if (j) {
+     break b;
+    }
+    i = 1;
+   }
+   b = i;
+   c = r[a + 2 | 0] | r[a + 3 | 0] << 8;
+   h = x(x(q[g + 20 >> 2]) * x((c << 24 | c << 8 & 16711680) >> 16));
+   j = q[g + 16 >> 2];
+   c = q[j + 28 >> 2];
+   if (!c) {
+    c = XF(j);
+   }
+   h = x(h / x(c >>> 0));
+   break a;
+  }
+  h = x(b | 0);
+  b = 1;
+ }
+ u[d >> 2] = h;
+ if (!k | !b) {
+  a = r[a + 4 | 0] | r[a + 5 | 0] << 8;
+  h = x(x(q[g + 24 >> 2]) * x((a << 24 | a << 8 & 16711680) >> 16));
+  b = q[g + 16 >> 2];
+  a = q[b + 28 >> 2];
+  if (!a) {
+   a = XF(b);
+  }
+  h = x(h / x(a >>> 0));
+ } else {
+  h = x(q[f >> 2]);
+ }
+ u[e >> 2] = h;
+ Ca = f + 16 | 0;
+}
+function lX(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  c = q[a + 4 >> 2];
+  if (!c) {
+   break a;
+  }
+  b : {
+   c : {
+    while (1) {
+     if (q[c + 4 >> 2] == q[a >> 2]) {
+      d : {
+       if (q[c + 8 >> 2] != 2) {
+        VW(a, 1, 501048, 0);
+        eX(a);
+        break d;
+       }
+       q[c + 8 >> 2] = 0;
+       d = q[c + 16 >> 2];
+       eX(a);
+       if (!e) {
+        e = d;
+        break d;
+       }
+       c = vX(q[a + 16 >> 2]);
+       if (!c) {
+        break c;
+       }
+       q[c + 8 >> 2] = d;
+       q[c >> 2] = 36;
+       q[c + 12 >> 2] = e;
+       e = c;
+      }
+      c = q[a + 4 >> 2];
+      if (c) {
+       continue;
+      }
+     }
+     break;
+    }
+    if (!e) {
+     break a;
+    }
+    break b;
+   }
+   VW(a, 2, 498895, 0);
+   SW(d);
+   SW(e);
+  }
+  e : {
+   c = q[a + 1312 >> 2];
+   f : {
+    if (c >>> 0 <= 63) {
+     q[a + 1312 >> 2] = c + 1;
+     c = (w(c, 24) + a | 0) + 1320 | 0;
+     break f;
+    }
+    c = L$(24);
+    if (!c) {
+     break e;
+    }
+   }
+   q[c + 8 >> 2] = 0;
+   q[c >> 2] = q[a + 4 >> 2];
+   f = c;
+   d = q[a >> 2];
+   if (d) {
+    d = q[d >> 2];
+   } else {
+    d = 0;
+   }
+   q[f + 4 >> 2] = d;
+   q[a + 4 >> 2] = c;
+   if (!c) {
+    break e;
+   }
+   q[c + 8 >> 2] = b;
+   q[c + 16 >> 2] = e;
+   return;
+  }
+  VW(a, 2, 498895, 0);
+  SW(e);
+ }
+}
+function Z$(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0;
+ a : {
+  if (!c) {
+   break a;
+  }
+  d = a + c | 0;
+  o[d + -1 | 0] = b;
+  o[a | 0] = b;
+  if (c >>> 0 < 3) {
+   break a;
+  }
+  o[d + -2 | 0] = b;
+  o[a + 1 | 0] = b;
+  o[d + -3 | 0] = b;
+  o[a + 2 | 0] = b;
+  if (c >>> 0 < 7) {
+   break a;
+  }
+  o[d + -4 | 0] = b;
+  o[a + 3 | 0] = b;
+  if (c >>> 0 < 9) {
+   break a;
+  }
+  d = 0 - a & 3;
+  e = d + a | 0;
+  b = w(b & 255, 16843009);
+  q[e >> 2] = b;
+  c = c - d & -4;
+  d = c + e | 0;
+  q[d + -4 >> 2] = b;
+  if (c >>> 0 < 9) {
+   break a;
+  }
+  q[e + 8 >> 2] = b;
+  q[e + 4 >> 2] = b;
+  q[d + -8 >> 2] = b;
+  q[d + -12 >> 2] = b;
+  if (c >>> 0 < 25) {
+   break a;
+  }
+  q[e + 24 >> 2] = b;
+  q[e + 20 >> 2] = b;
+  q[e + 16 >> 2] = b;
+  q[e + 12 >> 2] = b;
+  q[d + -16 >> 2] = b;
+  q[d + -20 >> 2] = b;
+  q[d + -24 >> 2] = b;
+  q[d + -28 >> 2] = b;
+  g = e & 4 | 24;
+  c = c - g | 0;
+  if (c >>> 0 < 32) {
+   break a;
+  }
+  d = b;
+  f = b;
+  b = e + g | 0;
+  while (1) {
+   q[b + 24 >> 2] = f;
+   q[b + 28 >> 2] = d;
+   q[b + 16 >> 2] = f;
+   q[b + 20 >> 2] = d;
+   q[b + 8 >> 2] = f;
+   q[b + 12 >> 2] = d;
+   q[b >> 2] = f;
+   q[b + 4 >> 2] = d;
+   b = b + 32 | 0;
+   c = c + -32 | 0;
+   if (c >>> 0 > 31) {
+    continue;
+   }
+   break;
+  }
+ }
+ return a | 0;
+}
+function cY(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ cS(d + 32 | 0, a);
+ cS(d + 16 | 0, b);
+ e = -1;
+ a = q[d + 32 >> 2] + -3 | 0;
+ a : {
+  if (a >>> 0 > 5) {
+   break a;
+  }
+  b : {
+   c : {
+    switch (a - 1 | 0) {
+    case 4:
+     a = q[d + 16 >> 2] + -3 | 0;
+     if (a >>> 0 > 5) {
+      break a;
+     }
+     d : {
+      switch (a - 1 | 0) {
+      case 4:
+       a = PP(q[d + 40 >> 2], q[d + 24 >> 2]);
+       break b;
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+       break a;
+      default:
+       break d;
+      }
+     }
+     a = OP(q[d + 40 >> 2], q[d + 24 >> 2]);
+     break b;
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+     break a;
+    default:
+     break c;
+    }
+   }
+   a = q[d + 16 >> 2] + -3 | 0;
+   if (a >>> 0 > 5) {
+    break a;
+   }
+   e : {
+    switch (a - 1 | 0) {
+    case 4:
+     a = OP(q[d + 24 >> 2], q[d + 40 >> 2]);
+     break b;
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+     break a;
+    default:
+     break e;
+    }
+   }
+   a = GP(q[d + 40 >> 2], q[d + 24 >> 2]);
+  }
+  cS(d, b);
+  b = q[d + 12 >> 2];
+  q[c + 8 >> 2] = q[d + 8 >> 2];
+  q[c + 12 >> 2] = b;
+  b = q[d + 4 >> 2];
+  q[c >> 2] = q[d >> 2];
+  q[c + 4 >> 2] = b;
+  e = a ? (a | 0) == 1 ? 1 : 2 : 0;
+ }
+ Ca = d + 48 | 0;
+ return +e;
+}
+function kE(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ a : {
+  b : {
+   c : {
+    d : {
+     if ((b | 0) <= 2963) {
+      if (b + -2524 >>> 0 < 2) {
+       break a;
+      }
+      if ((b | 0) != 2353) {
+       break d;
+      }
+      break a;
+     }
+     if ((b | 0) == 2964) {
+      break a;
+     }
+     if ((b | 0) == 3546) {
+      break c;
+     }
+    }
+    if (b + -3548 >>> 0 > 2) {
+     break b;
+    }
+   }
+   e : {
+    f = q[q[a >> 2] + 112 >> 2];
+    if (r[f + 5 | 0]) {
+     break e;
+    }
+    e = q[a + 8 >> 2];
+    q[g + 12 >> 2] = 0;
+    h = e;
+    i = q[e + 76 >> 2];
+    e = q[e + 72 >> 2];
+    if (!n[q[e + 156 >> 2]](h, i, b, g + 12 | 0, q[e + 20 >> 2]) | !q[f + 52 >> 2]) {
+     break b;
+    }
+    h = q[q[a + 8 >> 2] + 16 >> 2];
+    e = 0;
+    while (1) {
+     if (Ct(h, s[q[f + 48 >> 2] + (e << 3) >> 1], g + 12 | 0, 1, r[f + 56 | 0])) {
+      break e;
+     }
+     e = e + 1 | 0;
+     if (e >>> 0 < t[f + 52 >> 2]) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   }
+   q[c >> 2] = 3545;
+   q[d >> 2] = b;
+   f = 1;
+   break a;
+  }
+  a = q[a + 12 >> 2];
+  q[c >> 2] = b;
+  q[d >> 2] = 0;
+  f = (n[q[a + 40 >> 2]](a, b, c, d, q[a + 72 >> 2]) | 0) != 0;
+ }
+ Ca = g + 16 | 0;
+ return f | 0;
+}
+function BU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ if ((c - b | 0) >= 2) {
+  e = a + 72 | 0;
+  while (1) {
+   a : {
+    b : {
+     c : {
+      d : {
+       e : {
+        a = r[b + 1 | 0];
+        if (a + -216 >>> 0 < 4) {
+         break e;
+        }
+        if (a) {
+         break b;
+        }
+        a = r[r[b | 0] + e | 0] + -5 | 0;
+        if (a >>> 0 > 5) {
+         break b;
+        }
+        f : {
+         switch (a - 1 | 0) {
+         case 4:
+          break c;
+         case 3:
+          break d;
+         case 1:
+          break e;
+         case 0:
+          break f;
+         default:
+          break b;
+         }
+        }
+        b = b + 3 | 0;
+        break a;
+       }
+       b = b + 4 | 0;
+       break a;
+      }
+      q[d >> 2] = q[d >> 2] + 1;
+      a = b + 2 | 0;
+      if ((c - a | 0) < 2) {
+       b = a;
+       q[d + 4 >> 2] = -1;
+       break a;
+      }
+      if (r[b + 3 | 0]) {
+       b = a;
+       q[d + 4 >> 2] = -1;
+       break a;
+      }
+      b = r[r[b + 2 | 0] + e | 0] == 10 ? b + 4 | 0 : a;
+      q[d + 4 >> 2] = -1;
+      break a;
+     }
+     q[d + 4 >> 2] = -1;
+     q[d >> 2] = q[d >> 2] + 1;
+    }
+    b = b + 2 | 0;
+   }
+   q[d + 4 >> 2] = q[d + 4 >> 2] + 1;
+   if ((c - b | 0) > 1) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function XU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ if ((c - b | 0) >= 2) {
+  e = a + 72 | 0;
+  while (1) {
+   a : {
+    b : {
+     c : {
+      d : {
+       e : {
+        a = r[b | 0];
+        if (a + -216 >>> 0 < 4) {
+         break e;
+        }
+        if (a) {
+         break b;
+        }
+        a = r[r[b + 1 | 0] + e | 0] + -5 | 0;
+        if (a >>> 0 > 5) {
+         break b;
+        }
+        f : {
+         switch (a - 1 | 0) {
+         case 4:
+          break c;
+         case 3:
+          break d;
+         case 1:
+          break e;
+         case 0:
+          break f;
+         default:
+          break b;
+         }
+        }
+        b = b + 3 | 0;
+        break a;
+       }
+       b = b + 4 | 0;
+       break a;
+      }
+      q[d >> 2] = q[d >> 2] + 1;
+      a = b + 2 | 0;
+      if ((c - a | 0) < 2) {
+       b = a;
+       q[d + 4 >> 2] = -1;
+       break a;
+      }
+      if (r[a | 0]) {
+       b = a;
+       q[d + 4 >> 2] = -1;
+       break a;
+      }
+      b = r[r[b + 3 | 0] + e | 0] == 10 ? b + 4 | 0 : a;
+      q[d + 4 >> 2] = -1;
+      break a;
+     }
+     q[d + 4 >> 2] = -1;
+     q[d >> 2] = q[d >> 2] + 1;
+    }
+    b = b + 2 | 0;
+   }
+   q[d + 4 >> 2] = q[d + 4 >> 2] + 1;
+   if ((c - b | 0) > 1) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function MB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ c = b;
+ q[c >> 2] = 0;
+ q[c + 4 >> 2] = 0;
+ q[c + 24 >> 2] = 0;
+ q[c + 16 >> 2] = 0;
+ q[c + 20 >> 2] = 0;
+ q[c + 8 >> 2] = 0;
+ q[c + 12 >> 2] = 0;
+ c = 1;
+ a : {
+  if (r[a + 16 | 0]) {
+   break a;
+  }
+  g = r[271040];
+  i = g | 256;
+  while (1) {
+   c = q[a + 12 >> 2];
+   f = c + 1 | 0;
+   d = q[a + 4 >> 2];
+   if (f >>> 0 > d >>> 0) {
+    return 1;
+   }
+   b : {
+    c : {
+     d : {
+      if (c >>> 0 < d >>> 0) {
+       h = q[a >> 2];
+       e = r[h + c | 0];
+       if ((e | 0) == 12) {
+        if (f >>> 0 >= d >>> 0) {
+         break d;
+        }
+        c = r[f + h | 0];
+        q[a + 12 >> 2] = f;
+        e = c | 256;
+        c = f;
+       }
+       if (c >>> 0 >= d >>> 0) {
+        c = e;
+        break c;
+       }
+       q[a + 12 >> 2] = c + 1;
+       break b;
+      }
+      o[a + 16 | 0] = 1;
+      e = 65535;
+      c = g;
+      if ((c | 0) == 12) {
+       break b;
+      }
+      break c;
+     }
+     o[a + 16 | 0] = 1;
+     q[a + 12 >> 2] = d;
+     c = i;
+    }
+    o[a + 16 | 0] = 1;
+    q[a + 12 >> 2] = d;
+    e = c;
+   }
+   QB(e, a, b);
+   c = 0;
+   if (r[a + 20 | 0] | (r[a + 40 | 0] | r[a + 16 | 0])) {
+    break a;
+   }
+   if (q[a + 28 >> 2] > -1) {
+    continue;
+   }
+   break;
+  }
+ }
+ return c;
+}
+function Dw(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 445;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = (b + 2 | 0) + (r[b + 3 | 0] << 1 | r[b + 2 | 0] << 9) | 0;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8 ? b + 4 | 0 : 271040;
+ b = r[b | 0] << 8 | r[b + 1 | 0];
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function CP(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ a : {
+  b : {
+   d = GR();
+   if (!d) {
+    break b;
+   }
+   f = 0;
+   c : {
+    if (!Vf(a, 1970170211)) {
+     break c;
+    }
+    if (Vf(a, 1937337698)) {
+     break a;
+    }
+    f = 1;
+   }
+   b = Yf(a, e + 12 | 0);
+   c = q[e + 12 >> 2];
+   if (c) {
+    g = -1;
+    while (1) {
+     d : {
+      e : {
+       if (b >>> 0 > 31) {
+        break e;
+       }
+       if (we(a, c, 515)) {
+        break d;
+       }
+       c = q[a + 84 >> 2];
+       if (q[c + 72 >> 2] != 1869968492) {
+        break e;
+       }
+       if (!s[c + 108 >> 1]) {
+        break d;
+       }
+      }
+      LR(d, b);
+      c = b >>> 8 | 0;
+      if ((c | 0) != (g | 0)) {
+       g = c;
+       h = JR(d, b);
+       if (!h) {
+        break b;
+       }
+      }
+      c = (b >>> 3 & 28) + h | 0;
+      q[c >> 2] = q[c >> 2] | 1 << (b & 31);
+     }
+     b = Zf(a, b, e + 12 | 0);
+     c = q[e + 12 >> 2];
+     if (c) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (!f) {
+    break a;
+   }
+   b = 61440;
+   while (1) {
+    if (UR(d, b)) {
+     LR(d, b + -61440 | 0);
+    }
+    b = b + 1 | 0;
+    if ((b | 0) != 61696) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  IR(d);
+  d = 0;
+ }
+ Ca = e + 16 | 0;
+ return d;
+}
+function Br(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = q[b + 4 >> 2];
+ c = a + 4 | 0;
+ a : {
+  if (d >>> 0 > c >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < c >>> 0 | e - c >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  c = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+  c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  if (c >>> 0 < 12 | d >>> 0 > a >>> 0 | (e >>> 0 < a >>> 0 | e - a >>> 0 < c >>> 0)) {
+   break a;
+  }
+  q[b + 12 >> 2] = f + -2;
+  if ((f | 0) < 2) {
+   break a;
+  }
+  c = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+  g = 0;
+  b : {
+   if (!c) {
+    break b;
+   }
+   g = d;
+   d = a + 12 | 0;
+   if (g >>> 0 > d >>> 0 | e >>> 0 < d >>> 0 | e - d >>> 0 < w(c, 12) >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -3;
+   if ((f | 0) < 3) {
+    break a;
+   }
+   g = w(r[a + 9 | 0] | r[a + 8 | 0] << 8, 12);
+  }
+  h = g;
+  c = r[a + 11 | 0] | r[a + 10 | 0] << 8;
+  if (!c) {
+   return 1;
+  }
+  a = (a + h | 0) + 12 | 0;
+  d = 0;
+  while (1) {
+   if (!Cr(a, b)) {
+    return 0;
+   }
+   a = (r[a + 1 | 0] | r[a | 0] << 8) + a | 0;
+   h = 1;
+   d = d + 1 | 0;
+   if ((c | 0) != (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return h;
+}
+function uf(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  c = q[a + 4 >> 2];
+  b = q[c + 84 >> 2];
+  if (!b) {
+   break a;
+  }
+  f = q[c + 96 >> 2];
+  g = q[f + 8 >> 2];
+  if ((a | 0) != (b | 0)) {
+   while (1) {
+    d = q[b + 8 >> 2];
+    if (!d) {
+     break a;
+    }
+    e = b;
+    b = d;
+    if ((b | 0) != (a | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[(e ? e + 8 | 0 : c + 84 | 0) >> 2] = q[a + 8 >> 2];
+  d = g;
+  b = q[a + 20 >> 2];
+  if (b) {
+   n[b](a);
+   f = q[q[a + 4 >> 2] + 96 >> 2];
+   d = q[f + 8 >> 2];
+  }
+  b = q[q[f + 12 >> 2] + 68 >> 2];
+  if (b) {
+   n[b](a);
+  }
+  b : {
+   c : {
+    b = q[a + 156 >> 2];
+    if (!b) {
+     break c;
+    }
+    e = q[b + 4 >> 2];
+    if (!(e & 1)) {
+     break c;
+    }
+    c = q[a + 88 >> 2];
+    if (c) {
+     b = q[q[a + 4 >> 2] + 100 >> 2];
+     n[q[b + 8 >> 2]](b, c);
+     b = q[a + 156 >> 2];
+     e = q[b + 4 >> 2];
+    }
+    q[a + 88 >> 2] = 0;
+    q[b + 4 >> 2] = e & -2;
+    break b;
+   }
+   q[a + 88 >> 2] = 0;
+  }
+  if (b) {
+   d : {
+    if (!(r[q[f >> 2] + 1 | 0] & 2)) {
+     Re(q[b >> 2]);
+     b = q[a + 156 >> 2];
+     q[b >> 2] = 0;
+     if (!b) {
+      break d;
+     }
+    }
+    n[q[d + 8 >> 2]](d, b);
+   }
+   q[a + 156 >> 2] = 0;
+  }
+  n[q[g + 8 >> 2]](g, a);
+ }
+}
+function yq(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ a : {
+  while (1) {
+   f = q[160652];
+   e = f;
+   if (e) {
+    while (1) {
+     c = a;
+     d = q[e + 4 >> 2];
+     b = r[d | 0];
+     b : {
+      if (b) {
+       while (1) {
+        if (o[r[c | 0] + 226592 | 0] != (b & 255)) {
+         break b;
+        }
+        c = c + 1 | 0;
+        b = r[d + 1 | 0];
+        d = d + 1 | 0;
+        if (b) {
+         continue;
+        }
+        break;
+       }
+      }
+      b = 0;
+     }
+     if (o[r[c | 0] + 226592 | 0] == (b & 255)) {
+      break a;
+     }
+     e = q[e >> 2];
+     if (e) {
+      continue;
+     }
+     break;
+    }
+   }
+   e = 0;
+   d = N$(1, 8);
+   if (!d) {
+    break a;
+   }
+   q[d >> 2] = f;
+   c = g0(a) + 1 | 0;
+   b = L$(c);
+   q[d + 4 >> 2] = b;
+   c : {
+    if (b) {
+     c = r[Y$(b, a, c) | 0];
+     if (!c) {
+      break c;
+     }
+     while (1) {
+      o[b | 0] = r[(c & 255) + 226592 | 0];
+      c = r[b + 1 | 0];
+      b = b + 1 | 0;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     b = q[d + 4 >> 2];
+    }
+    if (b) {
+     break c;
+    }
+    M$(d);
+    return 0;
+   }
+   c = q[160652];
+   b = (c | 0) == (f | 0);
+   q[160652] = b ? d : c;
+   if (!b) {
+    M$(q[d + 4 >> 2]);
+    M$(d);
+    continue;
+   }
+   break;
+  }
+  e = d;
+ }
+ return e;
+}
+function NB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ q[b + 24 >> 2] = 0;
+ q[b + 20 >> 2] = 271040;
+ q[b >> 2] = 0;
+ q[b + 4 >> 2] = 0;
+ q[b + 16 >> 2] = 0;
+ q[b + 8 >> 2] = 0;
+ q[b + 12 >> 2] = 0;
+ c = 1;
+ a : {
+  if (r[a + 16 | 0]) {
+   break a;
+  }
+  g = r[271040];
+  i = g | 256;
+  while (1) {
+   c = q[a + 12 >> 2];
+   f = c + 1 | 0;
+   d = q[a + 4 >> 2];
+   if (f >>> 0 > d >>> 0) {
+    return 1;
+   }
+   b : {
+    c : {
+     d : {
+      if (c >>> 0 < d >>> 0) {
+       h = q[a >> 2];
+       e = r[h + c | 0];
+       if ((e | 0) == 12) {
+        if (f >>> 0 >= d >>> 0) {
+         break d;
+        }
+        c = r[f + h | 0];
+        q[a + 12 >> 2] = f;
+        e = c | 256;
+        c = f;
+       }
+       if (c >>> 0 >= d >>> 0) {
+        c = e;
+        break c;
+       }
+       q[a + 12 >> 2] = c + 1;
+       break b;
+      }
+      o[a + 16 | 0] = 1;
+      e = 65535;
+      c = g;
+      if ((c | 0) == 12) {
+       break b;
+      }
+      break c;
+     }
+     o[a + 16 | 0] = 1;
+     q[a + 12 >> 2] = d;
+     c = i;
+    }
+    o[a + 16 | 0] = 1;
+    q[a + 12 >> 2] = d;
+    e = c;
+   }
+   RB(e, a, b);
+   c = 0;
+   if (r[a + 20 | 0] | (r[a + 40 | 0] | r[a + 16 | 0])) {
+    break a;
+   }
+   if (q[a + 28 >> 2] > -1) {
+    continue;
+   }
+   break;
+  }
+ }
+ return c;
+}
+function SS(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = Ca - 96 | 0;
+ Ca = c;
+ d = q[b >> 2] + 1 | 0;
+ a : {
+  if (d >>> 0 > 10) {
+   break a;
+  }
+  b : {
+   switch (d - 1 | 0) {
+   default:
+    c0(489567, 9, 1, a);
+    break a;
+   case 0:
+    c0(489577, 6, 1, a);
+    break a;
+   case 1:
+    q[c >> 2] = q[b + 8 >> 2];
+    j_(a, 489584, c);
+    break a;
+   case 2:
+    v[c + 16 >> 3] = v[b + 8 >> 3];
+    k_(a, 489590, c + 16 | 0);
+    break a;
+   case 3:
+    q[c + 32 >> 2] = q[b + 8 >> 2];
+    j_(a, 489352, c + 32 | 0);
+    break a;
+   case 4:
+    d = a;
+    a = q[b + 8 >> 2];
+    j_(d, (a | 0) == 1 ? 489596 : a ? 489607 : 489601, 0);
+    break a;
+   case 5:
+    b = q[b + 8 >> 2];
+    e = v[b >> 3];
+    f = v[b + 8 >> 3];
+    g = v[b + 16 >> 3];
+    v[c + 72 >> 3] = v[b + 24 >> 3];
+    v[c - -64 >> 3] = g;
+    v[c + 56 >> 3] = f;
+    v[c + 48 >> 3] = e;
+    k_(a, 489616, c + 48 | 0);
+    break a;
+   case 6:
+    if (q[126918] != (a | 0)) {
+     break a;
+    }
+    TS(q[b + 8 >> 2]);
+    break a;
+   case 8:
+    US(q[b + 8 >> 2]);
+    break a;
+   case 7:
+    c0(489631, 4, 1, a);
+    break a;
+   case 9:
+    break b;
+   }
+  }
+  b = q[b + 8 >> 2];
+  e = v[b >> 3];
+  v[c + 88 >> 3] = v[b + 8 >> 3];
+  v[c + 80 >> 3] = e;
+  k_(a, 489636, c + 80 | 0);
+ }
+ Ca = c + 96 | 0;
+}
+function rM(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ a : {
+  b : {
+   e = q[a + 20 >> 2];
+   if (e >>> 0 > b >>> 0) {
+    f = a + 8 | 0;
+    c : {
+     d : {
+      while (1) {
+       c = q[f >> 2];
+       if (!c) {
+        break d;
+       }
+       g = q[c + 24 >> 2];
+       if (!g) {
+        break b;
+       }
+       q[f >> 2] = q[c + 16 >> 2];
+       d = q[c + 28 >> 2] + -1 | 0;
+       q[c + 28 >> 2] = d;
+       e : {
+        if (d) {
+         q[c + 20 >> 2] = 0;
+         break e;
+        }
+        d = q[c + 8 >> 2];
+        if (d) {
+         q[d + 12 >> 2] = q[c + 12 >> 2];
+        }
+        q[q[c + 12 >> 2] >> 2] = d;
+        q[a + 20 >> 2] = e - g;
+        q[a + 32 >> 2] = q[a + 32 >> 2] + -1;
+        e = q[a + 16 >> 2];
+        if ((e | 0) != q[c + 4 >> 2]) {
+         break a;
+        }
+        d = c + 32 | 0;
+        n[q[e + 16 >> 2]](d + (q[e + 24 >> 2] + 7 & -8) | 0, d);
+        M$(c);
+        e = q[a + 20 >> 2];
+       }
+       if (e >>> 0 > b >>> 0) {
+        continue;
+       }
+       break;
+      }
+      b = q[f >> 2];
+      if (!b) {
+       break d;
+      }
+      a = b + 20 | 0;
+      break c;
+     }
+     a = a + 12 | 0;
+    }
+    q[a >> 2] = f;
+   }
+   return;
+  }
+  J(355120, 355131, 478, 355223);
+  F();
+ }
+ J(355253, 355131, 433, 355272);
+ F();
+}
+function $X(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ l = Z$(c, 0, 208);
+ g = q[a >> 2];
+ a : {
+  if ((g | 0) < 1) {
+   break a;
+  }
+  c = 0;
+  while (1) {
+   if ((c | 0) >= q[b >> 2]) {
+    break a;
+   }
+   j = (q[a + 8 >> 2] + a | 0) + (h << 3) | 0;
+   e = q[j >> 2];
+   k = (q[b + 8 >> 2] + b | 0) + (c << 3) | 0;
+   f = e - q[k >> 2] | 0;
+   b : {
+    if ((f | 0) >= 1) {
+     c = c + 1 | 0;
+     break b;
+    }
+    if ((f | 0) <= -1) {
+     h = h + 1 | 0;
+     break b;
+    }
+    m = e;
+    i = 0;
+    c : {
+     if ((e | 0) > 51) {
+      break c;
+     }
+     g = e;
+     f = e & 31;
+     i = 0;
+     if (!((32 <= (e & 63) >>> 0 ? 901422 >>> f | 0 : ((1 << f) - 1 & 901422) << 32 - f | 60880778 >>> f) & 1)) {
+      break c;
+     }
+     f = (e << 4) + 503920 | 0;
+     e = g & 31;
+     i = (32 <= (g & 63) >>> 0 ? 147153 >>> e | 0 : ((1 << e) - 1 & 147153) << 32 - e | -60880779 >>> e) & 1 ? 0 : f;
+    }
+    e = q[j + 4 >> 2];
+    g = e & 1 ? j + (e & -2) | 0 : e;
+    e = q[k + 4 >> 2];
+    e = _X(m, i, g, e & 1 ? (e & -2) + k | 0 : e, l, d);
+    if (!e) {
+     return 0;
+    }
+    e = (e | 0) != 0;
+    c = e + c | 0;
+    h = e + h | 0;
+    g = q[a >> 2];
+   }
+   if ((h | 0) < (g | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 1;
+}
+function om(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ b = Ca - 16 | 0;
+ Ca = b;
+ c = yg(a, 0);
+ q[b + 12 >> 2] = c;
+ a : {
+  if (c) {
+   break a;
+  }
+  c = zg(a, b + 8 | 0, 4);
+  q[b + 12 >> 2] = c;
+  if (c) {
+   break a;
+  }
+  e = b;
+  b : {
+   c : {
+    if (!(r[b + 8 | 0] != 31 | r[b + 9 | 0] != 139 | r[b + 10 | 0] != 8)) {
+     if (r[b + 11 | 0] < 32) {
+      break c;
+     }
+    }
+    c = 3;
+    break b;
+   }
+   c = Ag(a, 6);
+   q[b + 12 >> 2] = c;
+   d = r[b + 11 | 0];
+   if (d & 4) {
+    d = Ug(a, b + 12 | 0);
+    c = q[b + 12 >> 2];
+    if (c) {
+     break a;
+    }
+    c = Ag(a, d);
+    q[b + 12 >> 2] = c;
+    if (c) {
+     break a;
+    }
+    d = r[b + 11 | 0];
+    c = 0;
+   }
+   if (d & 8) {
+    while (1) {
+     d = Tg(a, b + 12 | 0) ? 0 : 3;
+     c = q[b + 12 >> 2];
+     d = c ? 2 : d;
+     if (!d) {
+      continue;
+     }
+     break;
+    }
+    if ((d | 0) != 3) {
+     break a;
+    }
+    d = r[b + 11 | 0];
+   }
+   if (d & 16) {
+    while (1) {
+     d = Tg(a, b + 12 | 0) ? 0 : 5;
+     c = q[b + 12 >> 2];
+     d = c ? 2 : d;
+     if (!d) {
+      continue;
+     }
+     break;
+    }
+    if ((d | 0) != 5) {
+     break a;
+    }
+    d = r[b + 11 | 0];
+   }
+   if (!(d & 2)) {
+    break a;
+   }
+   c = Ag(a, 2);
+  }
+  q[e + 12 >> 2] = c;
+ }
+ Ca = b + 16 | 0;
+ return c;
+}
+function Cu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ g = b + 4 | 0;
+ while (1) {
+  a : {
+   c = q[b >> 2] + -1 | 0;
+   if (c >>> 0 > 1) {
+    break a;
+   }
+   b : {
+    if (c - 1) {
+     d = q[b + 8 >> 2];
+     c = q[b + 4 >> 2];
+     if (d >>> 0 >= (r[c + 2 | 0] << 8 | r[c + 3 | 0]) >>> 0) {
+      break a;
+     }
+     c = c + (d << 1) | 0;
+     c = r[c + 4 | 0] << 8 | r[c + 5 | 0];
+     break b;
+    }
+    c = q[b + 4 >> 2];
+    if (t[b + 8 >> 2] >= (r[c + 2 | 0] << 8 | r[c + 3 | 0]) >>> 0) {
+     break a;
+    }
+    c = q[b + 16 >> 2];
+   }
+   d = q[a >> 2];
+   c : {
+    if (r[d + 12 | 0] != 1) {
+     break c;
+    }
+    e = q[b + 20 >> 2];
+    q[d + 16 >> 2] = -1;
+    f = d;
+    d = c + e | 0;
+    c = nF(f, d & 65535);
+    if (!c) {
+     break c;
+    }
+    e = c + (d >>> 3 & 56) | 0;
+    c = e;
+    h = q[c + 4 >> 2];
+    f = c;
+    i = q[c >> 2];
+    e = d & 63;
+    d = e & 31;
+    if (32 <= (e & 63) >>> 0) {
+     e = 1 << d;
+     d = 0;
+    } else {
+     e = (1 << d) - 1 & 1 >>> 32 - d;
+     d = 1 << d;
+    }
+    q[f >> 2] = i | d;
+    q[c + 4 >> 2] = e | h;
+   }
+   c = q[b >> 2] + -1 | 0;
+   if (c >>> 0 > 1) {
+    continue;
+   }
+   if (c - 1) {
+    q[b + 8 >> 2] = q[b + 8 >> 2] + 1;
+   } else {
+    ou(g);
+   }
+   continue;
+  }
+  break;
+ }
+}
+function sv(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0) {
+   break a;
+  }
+  c = e - a | 0;
+  if (c >>> 0 < 6) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  f = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (f >>> 0 < 6 | c >>> 0 < f >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = d + -2;
+  if ((d | 0) < 2) {
+   break a;
+  }
+  c = 1;
+  f = r[a + 4 | 0];
+  b : {
+   if (f >>> 0 > 2) {
+    break b;
+   }
+   c : {
+    switch (f - 1 | 0) {
+    default:
+     c = a + 6 | 0;
+     if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0) {
+      break a;
+     }
+     if (e - c >>> 0 < 8) {
+      break a;
+     }
+     q[b + 12 >> 2] = d + -3;
+     if ((d | 0) < 3) {
+      break a;
+     }
+     c = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+     if (c) {
+      a = a + 14 | 0;
+      if (g >>> 0 > a >>> 0 | e >>> 0 < a >>> 0) {
+       break a;
+      }
+      if (e - a >>> 0 < w(c, 6) >>> 0) {
+       break a;
+      }
+      q[b + 12 >> 2] = d + -4;
+      c = 0;
+      if ((d | 0) < 4) {
+       break b;
+      }
+     }
+     return 1;
+    case 0:
+     break b;
+    case 1:
+     break c;
+    }
+   }
+   c = tv(a, b);
+  }
+  return c;
+ }
+ return 0;
+}
+function iK(a) {
+ var b = 0, c = 0, d = 0;
+ a : {
+  if (q[a + 12 >> 2] > 0) {
+   break a;
+  }
+  b = q[a >> 2];
+  c = q[a + 8 >> 2];
+  b : {
+   if (b >>> 0 >= c >>> 0) {
+    break b;
+   }
+   while (1) {
+    d = b + 1 | 0;
+    q[a >> 2] = d;
+    b = r[b | 0] + -9 | 0;
+    if (b >>> 0 > 50) {
+     break a;
+    }
+    c : {
+     switch (b - 1 | 0) {
+     case 0:
+     case 3:
+      q[a + 12 >> 2] = 2;
+      return;
+     case 49:
+      q[a + 12 >> 2] = 1;
+      return;
+     case 1:
+     case 2:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 8:
+     case 9:
+     case 10:
+     case 11:
+     case 12:
+     case 13:
+     case 14:
+     case 15:
+     case 17:
+     case 18:
+     case 19:
+     case 20:
+     case 21:
+     case 23:
+     case 24:
+     case 25:
+     case 26:
+     case 27:
+     case 28:
+     case 29:
+     case 30:
+     case 31:
+     case 32:
+     case 33:
+     case 34:
+     case 35:
+     case 36:
+     case 37:
+     case 38:
+     case 39:
+     case 40:
+     case 41:
+     case 42:
+     case 43:
+     case 44:
+     case 45:
+     case 46:
+     case 47:
+     case 48:
+      break a;
+     case 16:
+      break b;
+     default:
+      break c;
+     }
+    }
+    b = d;
+    if (b >>> 0 < c >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[a + 12 >> 2] = 3;
+ }
+}
+function RN(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, r = 0, s = 0, t = 0;
+ a : {
+  if (b) {
+   d = q[b >> 2];
+   if (d) {
+    break a;
+   }
+  }
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  q[a + 16 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+  return;
+ }
+ e = q[b + 8 >> 2];
+ f = L$(d << 3);
+ q[a + 16 >> 2] = f;
+ g = L$(e);
+ q[a + 20 >> 2] = g;
+ if (!(g ? f : 0)) {
+  M$(f);
+  M$(q[a + 20 >> 2]);
+  q[a + 16 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  return;
+ }
+ q[a + 12 >> 2] = e;
+ q[a + 4 >> 2] = d;
+ d = 0;
+ q[a + 8 >> 2] = 0;
+ q[a >> 2] = 0;
+ e = q[b >> 2];
+ if (e) {
+  k = q[b + 16 >> 2];
+  l = v[c + 40 >> 3];
+  m = v[c + 32 >> 3];
+  n = v[c + 24 >> 3];
+  o = v[c + 16 >> 3];
+  p = v[c + 8 >> 3];
+  r = v[c >> 3];
+  while (1) {
+   c = d << 3;
+   h = c + f | 0;
+   c = c + k | 0;
+   i = +q[c >> 2];
+   j = +q[c + 4 >> 2];
+   s = h, t = oZ(l + (n * i + m * j)), q[s + 4 >> 2] = t;
+   s = h, t = oZ(o + (r * i + p * j)), q[s >> 2] = t;
+   d = d + 1 | 0;
+   if ((e | 0) != (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ c = q[b + 20 >> 2];
+ b = q[b + 8 >> 2];
+ Y$(g, c, b);
+ q[a + 8 >> 2] = b;
+ q[a >> 2] = e;
+}
+function yt(a, b, c, d, e) {
+ var f = 0, g = 0;
+ a : {
+  if ((b | 0) != 1196445523) {
+   f = 271040;
+   if ((b | 0) != 1196643650) {
+    break a;
+   }
+   a = q[Ws(a + 136 | 0) >> 2];
+   a = a ? a : 271040;
+   f = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+   break a;
+  }
+  a = q[Xs(a + 140 | 0) >> 2];
+  a = a ? a : 271040;
+  f = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+ }
+ a = 271040;
+ b = r[f | 0] | r[f + 1 | 0] << 8 | (r[f + 2 | 0] << 16 | r[f + 3 | 0] << 24);
+ if ((b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24)) >>> 0 >= 65537) {
+  a = r[f + 10 | 0] | r[f + 11 | 0] << 8 | (r[f + 12 | 0] << 16 | r[f + 13 | 0] << 24);
+  a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  a = a ? a + f | 0 : 271040;
+ }
+ b = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+ f = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+ if (f) {
+  while (1) {
+   b = (g << 3) + a | 0;
+   b = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+   b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+   if (zt(b ? b + a | 0 : 271040, c, d)) {
+    q[e >> 2] = g;
+    return;
+   }
+   g = g + 1 | 0;
+   if ((f | 0) != (g | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[e >> 2] = -1;
+}
+function wv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = q[b + 4 >> 2];
+ a : {
+  if (f >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  e = g + -1 | 0;
+  q[b + 12 >> 2] = e;
+  if ((g | 0) < 1) {
+   break a;
+  }
+  k = f;
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  h = 0;
+  b : {
+   if (!i) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | f >>> 0 > c >>> 0 | d - c >>> 0 < i >>> 0) {
+    break a;
+   }
+   e = g + -2 | 0;
+   q[b + 12 >> 2] = e;
+   if ((g | 0) < 2) {
+    break a;
+   }
+   h = r[a + 1 | 0] | r[a | 0] << 8;
+  }
+  a = h + c | 0;
+  c : {
+   if (k >>> 0 > a >>> 0 | d >>> 0 < a >>> 0 | d - a >>> 0 < 4) {
+    break c;
+   }
+   q[b + 12 >> 2] = e + -1;
+   if ((e | 0) < 1) {
+    break c;
+   }
+   c = a + 2 | 0;
+   if (f >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+    break c;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break c;
+   }
+   j = 1;
+   c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   if (!c) {
+    break a;
+   }
+   a = a + 4 | 0;
+   if (f >>> 0 > a >>> 0 | d >>> 0 < a >>> 0 | d - a >>> 0 < c << 1 >>> 0) {
+    break c;
+   }
+   q[b + 12 >> 2] = e + -3;
+   if ((e | 0) > 2) {
+    break a;
+   }
+  }
+  j = 0;
+ }
+ return j;
+}
+function Dt(a, b, c) {
+ var d = 0;
+ a : {
+  c = c + -1 | 0;
+  b : {
+   if (c >>> 0 > 7) {
+    break b;
+   }
+   c : {
+    switch (c - 1 | 0) {
+    default:
+     return Mu(a, b);
+    case 0:
+     if ((r[a + 1 | 0] | r[a | 0] << 8) != 1 | q[b + 8 >> 2] != 1) {
+      break b;
+     }
+     break a;
+    case 1:
+     if ((r[a + 1 | 0] | r[a | 0] << 8) != 1 | q[b + 8 >> 2] != 1) {
+      break b;
+     }
+     break a;
+    case 2:
+     if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+      break b;
+     }
+     return Nu(a, b);
+    case 3:
+     return Ou(a, b);
+    case 4:
+     return Pu(a, b);
+    case 5:
+     if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+      break b;
+     }
+     c = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+     c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+     return Dt(c ? c + a | 0 : 271040, b, r[a + 3 | 0] | r[a + 2 | 0] << 8);
+    case 6:
+     break c;
+    }
+   }
+   if ((r[a + 1 | 0] | r[a | 0] << 8) != 1 | q[b + 8 >> 2] != 1) {
+    break b;
+   }
+   c = a;
+   a = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   d = (ct(a ? c + a | 0 : 271040, q[q[b + 4 >> 2] >> 2]) | 0) != -1;
+  }
+  return d;
+ }
+ c = a;
+ a = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ return (ct(a ? c + a | 0 : 271040, q[q[b + 4 >> 2] >> 2]) | 0) != -1;
+}
+function SU(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ e = a + 72 | 0;
+ a = b;
+ while (1) {
+  a : {
+   b : {
+    c = r[a | 0];
+    d = c + -216 | 0;
+    c : {
+     if (d >>> 0 > 39) {
+      if (c) {
+       break b;
+      }
+      c = r[r[a + 1 | 0] + e | 0] + -5 | 0;
+      d = c & 255;
+      if (d >>> 0 >= 25 | !(25034759 >>> d & 1)) {
+       break c;
+      }
+      c = q[(c << 24 >> 24 << 2) + 496252 >> 2];
+      break a;
+     }
+     c = 4;
+     d : {
+      switch (d - 4 | 0) {
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 8:
+      case 9:
+      case 10:
+      case 11:
+      case 12:
+      case 13:
+      case 14:
+      case 15:
+      case 16:
+      case 17:
+      case 18:
+      case 19:
+      case 20:
+      case 21:
+      case 22:
+      case 23:
+      case 24:
+      case 25:
+      case 26:
+      case 27:
+      case 28:
+      case 29:
+      case 30:
+      case 31:
+      case 32:
+      case 33:
+      case 34:
+       break b;
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+       break c;
+      case 35:
+       break d;
+      default:
+       break a;
+      }
+     }
+     if (r[a + 1 | 0] <= 253) {
+      break b;
+     }
+    }
+    return a - b | 0;
+   }
+   a = a + 2 | 0;
+   continue;
+  }
+  a = a + c | 0;
+  continue;
+ }
+}
+function vv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = q[b + 4 >> 2];
+ a : {
+  if (f >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  e = g + -1 | 0;
+  q[b + 12 >> 2] = e;
+  if ((g | 0) < 1) {
+   break a;
+  }
+  k = f;
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  h = 0;
+  b : {
+   if (!i) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | f >>> 0 > c >>> 0 | d - c >>> 0 < i >>> 0) {
+    break a;
+   }
+   e = g + -2 | 0;
+   q[b + 12 >> 2] = e;
+   if ((g | 0) < 2) {
+    break a;
+   }
+   h = r[a + 1 | 0] | r[a | 0] << 8;
+  }
+  a = h + c | 0;
+  c : {
+   if (k >>> 0 > a >>> 0 | d >>> 0 < a >>> 0 | d - a >>> 0 < 4) {
+    break c;
+   }
+   q[b + 12 >> 2] = e + -1;
+   if ((e | 0) < 1) {
+    break c;
+   }
+   c = a + 2 | 0;
+   if (f >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+    break c;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break c;
+   }
+   j = 1;
+   c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   if (!c) {
+    break a;
+   }
+   a = a + 4 | 0;
+   if (f >>> 0 > a >>> 0 | d >>> 0 < a >>> 0 | d - a >>> 0 < c >>> 0) {
+    break c;
+   }
+   q[b + 12 >> 2] = e + -3;
+   if ((e | 0) > 2) {
+    break a;
+   }
+  }
+  j = 0;
+ }
+ return j;
+}
+function wU(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ e = a + 72 | 0;
+ a = b;
+ while (1) {
+  a : {
+   b : {
+    c = r[a + 1 | 0];
+    d = c + -216 | 0;
+    c : {
+     if (d >>> 0 > 39) {
+      if (c) {
+       break b;
+      }
+      c = r[r[a | 0] + e | 0] + -5 | 0;
+      d = c & 255;
+      if (d >>> 0 >= 25 | !(25034759 >>> d & 1)) {
+       break c;
+      }
+      c = q[(c << 24 >> 24 << 2) + 496252 >> 2];
+      break a;
+     }
+     c = 4;
+     d : {
+      switch (d - 4 | 0) {
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 8:
+      case 9:
+      case 10:
+      case 11:
+      case 12:
+      case 13:
+      case 14:
+      case 15:
+      case 16:
+      case 17:
+      case 18:
+      case 19:
+      case 20:
+      case 21:
+      case 22:
+      case 23:
+      case 24:
+      case 25:
+      case 26:
+      case 27:
+      case 28:
+      case 29:
+      case 30:
+      case 31:
+      case 32:
+      case 33:
+      case 34:
+       break b;
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+       break c;
+      case 35:
+       break d;
+      default:
+       break a;
+      }
+     }
+     if (r[a | 0] <= 253) {
+      break b;
+     }
+    }
+    return a - b | 0;
+   }
+   a = a + 2 | 0;
+   continue;
+  }
+  a = a + c | 0;
+  continue;
+ }
+}
+function wB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ q[b >> 2] = 0;
+ q[b + 4 >> 2] = 0;
+ q[b + 20 >> 2] = 271040;
+ q[b + 16 >> 2] = 0;
+ q[b + 8 >> 2] = 0;
+ q[b + 12 >> 2] = 0;
+ c = 1;
+ a : {
+  if (r[a + 16 | 0]) {
+   break a;
+  }
+  g = r[271040];
+  i = g | 256;
+  while (1) {
+   c = q[a + 12 >> 2];
+   f = c + 1 | 0;
+   d = q[a + 4 >> 2];
+   if (f >>> 0 > d >>> 0) {
+    return 1;
+   }
+   b : {
+    c : {
+     d : {
+      if (c >>> 0 < d >>> 0) {
+       h = q[a >> 2];
+       e = r[h + c | 0];
+       if ((e | 0) == 12) {
+        if (f >>> 0 >= d >>> 0) {
+         break d;
+        }
+        c = r[f + h | 0];
+        q[a + 12 >> 2] = f;
+        e = c | 256;
+        c = f;
+       }
+       if (c >>> 0 >= d >>> 0) {
+        c = e;
+        break c;
+       }
+       q[a + 12 >> 2] = c + 1;
+       break b;
+      }
+      o[a + 16 | 0] = 1;
+      e = 65535;
+      c = g;
+      if ((c | 0) == 12) {
+       break b;
+      }
+      break c;
+     }
+     o[a + 16 | 0] = 1;
+     q[a + 12 >> 2] = d;
+     c = i;
+    }
+    o[a + 16 | 0] = 1;
+    q[a + 12 >> 2] = d;
+    e = c;
+   }
+   zB(e, a, b);
+   c = 0;
+   if (r[a + 20 | 0] | (r[a + 40 | 0] | r[a + 16 | 0])) {
+    break a;
+   }
+   if (q[a + 28 >> 2] > -1) {
+    continue;
+   }
+   break;
+  }
+ }
+ return c;
+}
+function wr(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ h = q[b + 4 >> 2];
+ a : {
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 6) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  j = r[a + 1 | 0] | r[a | 0] << 8;
+  k = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (j >>> 0 < k >>> 0) {
+   break a;
+  }
+  e = a + 4 | 0;
+  if (h >>> 0 > e >>> 0 | d >>> 0 < e >>> 0 | d - e >>> 0 < 2) {
+   break a;
+  }
+  g = f + -2 | 0;
+  q[b + 12 >> 2] = g;
+  if ((f | 0) < 2) {
+   break a;
+  }
+  e = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  i = 0;
+  b : {
+   if (!e) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | h >>> 0 > c >>> 0 | d - c >>> 0 < e >>> 0) {
+    break a;
+   }
+   g = f + -3 | 0;
+   q[b + 12 >> 2] = g;
+   if ((f | 0) < 3) {
+    break a;
+   }
+   i = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  }
+  e = i;
+  a = (j - k | 0) + 1 | 0;
+  c : {
+   if (a >>> 0 > 2147483646) {
+    break c;
+   }
+   l = 1;
+   if (!a) {
+    break a;
+   }
+   c = c + e | 0;
+   if (h >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < a << 1 >>> 0) {
+    break c;
+   }
+   q[b + 12 >> 2] = g + -1;
+   if ((g | 0) > 0) {
+    break a;
+   }
+  }
+  l = 0;
+ }
+ return l;
+}
+function gs(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ h = q[b + 4 >> 2];
+ a : {
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 6) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  j = r[a + 1 | 0] | r[a | 0] << 8;
+  k = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (j >>> 0 < k >>> 0) {
+   break a;
+  }
+  e = a + 4 | 0;
+  if (h >>> 0 > e >>> 0 | d >>> 0 < e >>> 0 | d - e >>> 0 < 2) {
+   break a;
+  }
+  g = f + -2 | 0;
+  q[b + 12 >> 2] = g;
+  if ((f | 0) < 2) {
+   break a;
+  }
+  e = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  i = 0;
+  b : {
+   if (!e) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | h >>> 0 > c >>> 0 | d - c >>> 0 < e >>> 0) {
+    break a;
+   }
+   g = f + -3 | 0;
+   q[b + 12 >> 2] = g;
+   if ((f | 0) < 3) {
+    break a;
+   }
+   i = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  }
+  e = i;
+  a = (j - k | 0) + 1 | 0;
+  c : {
+   if (a >>> 0 > 1073741822) {
+    break c;
+   }
+   l = 1;
+   if (!a) {
+    break a;
+   }
+   c = c + e | 0;
+   if (h >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < a << 2 >>> 0) {
+    break c;
+   }
+   q[b + 12 >> 2] = g + -1;
+   if ((g | 0) > 0) {
+    break a;
+   }
+  }
+  l = 0;
+ }
+ return l;
+}
+function Yz(a, b, c) {
+ var d = 0, e = 0, f = x(0);
+ d = Ca - 144 | 0;
+ Ca = d;
+ q[d + 56 >> 2] = -8388609;
+ q[d + 48 >> 2] = 2139095039;
+ q[d + 52 >> 2] = -8388609;
+ q[d + 16 >> 2] = 2139095039;
+ q[d + 20 >> 2] = -8388609;
+ q[d + 24 >> 2] = -8388609;
+ q[d + 44 >> 2] = 2139095039;
+ q[d + 40 >> 2] = d - -64;
+ e = q[d + 44 >> 2];
+ q[d + 8 >> 2] = q[d + 40 >> 2];
+ q[d + 12 >> 2] = e;
+ q[d + 32 >> 2] = b;
+ q[d + 36 >> 2] = d + 128;
+ e = q[d + 36 >> 2];
+ q[d >> 2] = q[d + 32 >> 2];
+ q[d + 4 >> 2] = e;
+ a : {
+  if (!Zz(a, b, c, d)) {
+   b = _z(q[a + 16 >> 2] + 92 | 0);
+   e = q[b + 4 >> 2];
+   if (e >>> 0 > c >>> 0) {
+    a = q[b + 12 >> 2];
+    a = (c | 0) < 0 ? 271040 : q[(a ? a : 271040) + 12 >> 2] + (c << 2) | 0;
+    a = r[a + 2 | 0] | r[a + 3 | 0] << 8;
+    a = (a << 24 | a << 8 & 16711680) >> 16;
+    break a;
+   }
+   a = 0;
+   if (t[b >> 2] <= c >>> 0) {
+    break a;
+   }
+   a = q[b + 12 >> 2];
+   a = (c - e << 1) + ((e | 0) < 0 ? 271040 : q[(a ? a : 271040) + 12 >> 2] + (e << 2) | 0) | 0;
+   a = r[a | 0] | r[a + 1 | 0] << 8;
+   a = (a << 24 | a << 8 & 16711680) >> 16;
+   break a;
+  }
+  f = x(x(D(u[d + 104 >> 2])) - x(q[d + 132 >> 2]));
+  if (x(y(f)) < x(2147483648)) {
+   a = ~~f;
+   break a;
+  }
+  a = -2147483648;
+ }
+ Ca = d + 144 | 0;
+ return a;
+}
+function _Z(a, b, c, d) {
+ a : {
+  b : {
+   if (b >>> 0 > 20) {
+    break b;
+   }
+   b = b + -9 | 0;
+   if (b >>> 0 > 9) {
+    break b;
+   }
+   c : {
+    switch (b - 1 | 0) {
+    default:
+     b = q[c >> 2];
+     q[c >> 2] = b + 4;
+     q[a >> 2] = q[b >> 2];
+     return;
+    case 0:
+     b = q[c >> 2];
+     q[c >> 2] = b + 4;
+     b = q[b >> 2];
+     q[a >> 2] = b;
+     q[a + 4 >> 2] = b >> 31;
+     return;
+    case 1:
+     b = q[c >> 2];
+     q[c >> 2] = b + 4;
+     q[a >> 2] = q[b >> 2];
+     q[a + 4 >> 2] = 0;
+     return;
+    case 3:
+     b = q[c >> 2];
+     q[c >> 2] = b + 4;
+     b = p[b >> 1];
+     q[a >> 2] = b;
+     q[a + 4 >> 2] = b >> 31;
+     return;
+    case 4:
+     b = q[c >> 2];
+     q[c >> 2] = b + 4;
+     q[a >> 2] = s[b >> 1];
+     q[a + 4 >> 2] = 0;
+     return;
+    case 5:
+     b = q[c >> 2];
+     q[c >> 2] = b + 4;
+     b = o[b | 0];
+     q[a >> 2] = b;
+     q[a + 4 >> 2] = b >> 31;
+     return;
+    case 6:
+     b = q[c >> 2];
+     q[c >> 2] = b + 4;
+     q[a >> 2] = r[b | 0];
+     q[a + 4 >> 2] = 0;
+     return;
+    case 2:
+    case 7:
+     break a;
+    case 8:
+     break c;
+    }
+   }
+   n[d](a, c);
+  }
+  return;
+ }
+ b = q[c >> 2] + 7 & -8;
+ q[c >> 2] = b + 8;
+ c = q[b + 4 >> 2];
+ q[a >> 2] = q[b >> 2];
+ q[a + 4 >> 2] = c;
+}
+function P_(a, b, c, d, e, f, g) {
+ var h = 0, i = 0, j = 0, k = 0, l = 0;
+ h = Ca - 240 | 0;
+ Ca = h;
+ i = q[d >> 2];
+ q[h + 232 >> 2] = i;
+ d = q[d + 4 >> 2];
+ q[h >> 2] = a;
+ q[h + 236 >> 2] = d;
+ j = 1;
+ a : {
+  b : {
+   c : {
+    d : {
+     if (d ? 0 : (i | 0) == 1) {
+      break d;
+     }
+     i = a - q[(e << 2) + g >> 2] | 0;
+     if ((n[c](i, a) | 0) < 1) {
+      break d;
+     }
+     l = 0 - b | 0;
+     k = !f;
+     while (1) {
+      e : {
+       d = i;
+       if (!(!k | (e | 0) < 2)) {
+        f = q[((e << 2) + g | 0) + -8 >> 2];
+        i = a + l | 0;
+        if ((n[c](i, d) | 0) > -1) {
+         break e;
+        }
+        if ((n[c](i - f | 0, d) | 0) > -1) {
+         break e;
+        }
+       }
+       q[(j << 2) + h >> 2] = d;
+       a = R_(h + 232 | 0);
+       O_(h + 232 | 0, a);
+       j = j + 1 | 0;
+       e = a + e | 0;
+       if (q[h + 236 >> 2] ? 0 : q[h + 232 >> 2] == 1) {
+        break b;
+       }
+       f = 0;
+       k = 1;
+       a = d;
+       i = d - q[(e << 2) + g >> 2] | 0;
+       if ((n[c](i, q[h >> 2]) | 0) > 0) {
+        continue;
+       }
+       break c;
+      }
+      break;
+     }
+     d = a;
+     break b;
+    }
+    d = a;
+   }
+   if (f) {
+    break a;
+   }
+  }
+  S_(b, h, j);
+  N_(d, b, c, e, g);
+ }
+ Ca = h + 240 | 0;
+}
+function ls(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = q[b + 4 >> 2];
+ a : {
+  if (f >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  e = g + -1 | 0;
+  q[b + 12 >> 2] = e;
+  if ((g | 0) < 1) {
+   break a;
+  }
+  k = f;
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  h = 0;
+  b : {
+   if (!i) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | f >>> 0 > c >>> 0 | d - c >>> 0 < i >>> 0) {
+    break a;
+   }
+   e = g + -2 | 0;
+   q[b + 12 >> 2] = e;
+   if ((g | 0) < 2) {
+    break a;
+   }
+   h = r[a + 1 | 0] | r[a | 0] << 8;
+  }
+  a = h + c | 0;
+  c : {
+   if (k >>> 0 > a >>> 0 | d >>> 0 < a >>> 0 | d - a >>> 0 < 4) {
+    break c;
+   }
+   q[b + 12 >> 2] = e + -1;
+   if ((e | 0) < 1) {
+    break c;
+   }
+   c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+   if (c >>> 0 > 1073741822) {
+    break c;
+   }
+   if (!c) {
+    return 1;
+   }
+   a = a + 4 | 0;
+   if (f >>> 0 > a >>> 0 | d >>> 0 < a >>> 0 | d - a >>> 0 < c << 2 >>> 0) {
+    break c;
+   }
+   q[b + 12 >> 2] = e + -2;
+   j = 1;
+   if ((e | 0) > 1) {
+    break a;
+   }
+  }
+  j = 0;
+ }
+ return j;
+}
+function _v(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ a : {
+  b : {
+   if (t[b + 4 >> 2] > a >>> 0) {
+    break b;
+   }
+   c = q[b + 8 >> 2];
+   if (c >>> 0 < a >>> 0 | c - a >>> 0 < 2) {
+    break b;
+   }
+   d = q[b + 12 >> 2];
+   q[b + 12 >> 2] = d + -1;
+   c = 1;
+   if ((d | 0) < 1) {
+    break b;
+   }
+   if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+    break a;
+   }
+   if (!dv(a + 2 | 0, b, a)) {
+    break b;
+   }
+   f = q[b + 4 >> 2];
+   c = a + 4 | 0;
+   if (f >>> 0 > c >>> 0) {
+    break b;
+   }
+   d = q[b + 8 >> 2];
+   if (d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+    break b;
+   }
+   e = q[b + 12 >> 2];
+   q[b + 12 >> 2] = e + -1;
+   c = 1;
+   if ((e | 0) < 1) {
+    break b;
+   }
+   g = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+   if (!g) {
+    break a;
+   }
+   c = a + 6 | 0;
+   if (f >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < g << 1 >>> 0) {
+    break b;
+   }
+   q[b + 12 >> 2] = e + -2;
+   c = 0;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   c = 1;
+   d = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+   if (!d) {
+    break a;
+   }
+   c = 0;
+   while (1) {
+    if (!dw(((c << 1) + a | 0) + 6 | 0, b, a)) {
+     break b;
+    }
+    c = c + 1 | 0;
+    if ((d | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   return 1;
+  }
+  c = 0;
+ }
+ return c;
+}
+function Zv(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ a : {
+  b : {
+   if (t[b + 4 >> 2] > a >>> 0) {
+    break b;
+   }
+   c = q[b + 8 >> 2];
+   if (c >>> 0 < a >>> 0 | c - a >>> 0 < 2) {
+    break b;
+   }
+   d = q[b + 12 >> 2];
+   q[b + 12 >> 2] = d + -1;
+   c = 1;
+   if ((d | 0) < 1) {
+    break b;
+   }
+   if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+    break a;
+   }
+   if (!dv(a + 2 | 0, b, a)) {
+    break b;
+   }
+   f = q[b + 4 >> 2];
+   c = a + 4 | 0;
+   if (f >>> 0 > c >>> 0) {
+    break b;
+   }
+   d = q[b + 8 >> 2];
+   if (d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+    break b;
+   }
+   e = q[b + 12 >> 2];
+   q[b + 12 >> 2] = e + -1;
+   c = 1;
+   if ((e | 0) < 1) {
+    break b;
+   }
+   g = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+   if (!g) {
+    break a;
+   }
+   c = a + 6 | 0;
+   if (f >>> 0 > c >>> 0 | d >>> 0 < c >>> 0 | d - c >>> 0 < g << 1 >>> 0) {
+    break b;
+   }
+   q[b + 12 >> 2] = e + -2;
+   c = 0;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   c = 1;
+   d = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+   if (!d) {
+    break a;
+   }
+   c = 0;
+   while (1) {
+    if (!ev(((c << 1) + a | 0) + 6 | 0, b, a)) {
+     break b;
+    }
+    c = c + 1 | 0;
+    if ((d | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   return 1;
+  }
+  c = 0;
+ }
+ return c;
+}
+function zH(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, r = 0, s = 0, u = 0;
+ a = w(c, 1348) + a | 0;
+ f = q[a - -64 >> 2];
+ g = q[a + 56 >> 2];
+ h = w(c, 7452) + b | 0;
+ i = q[h + 44 >> 2];
+ b = Ee(t[b + 40 >> 2] / 40 | 0, i);
+ if ((g | 0) >= 1) {
+  r = (b | 0) < 32 ? b : 32;
+  s = w(g, 44) + f | 0;
+  u = a + 68 | 0;
+  j = h + 260 | 0;
+  a = q[j >> 2];
+  b = a;
+  while (1) {
+   if (b) {
+    b = 0;
+    c = r;
+    g = 0;
+    while (1) {
+     e = w(b, 28) + h | 0;
+     d = q[e + 288 >> 2];
+     if (!(!(d & 1) | ((d & 2) >>> 1 | 0) == (q[u >> 2] == o[f + 13 | 0] | 0))) {
+      a = p[f >> 1];
+      k = e + 264 | 0;
+      l = a - q[k >> 2] | 0;
+      d = l >> 31;
+      m = e + 276 | 0;
+      n = a - q[m >> 2] | 0;
+      e = n >> 31;
+      e = (d ^ d + l) > (e ^ e + n) ? m : k;
+      d = a - q[e >> 2] | 0;
+      a = d >> 31;
+      d = Ee(a ^ a + d, i);
+      a = (d | 0) < (c | 0);
+      c = a ? d : c;
+      g = a ? e : g;
+      a = q[j >> 2];
+     }
+     b = b + 1 | 0;
+     if (b >>> 0 < a >>> 0) {
+      continue;
+     }
+     break;
+    }
+    if (g) {
+     q[f + 20 >> 2] = g;
+    }
+    b = a;
+   } else {
+    b = 0;
+   }
+   f = f + 44 | 0;
+   if (f >>> 0 < s >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function th(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ h = q[a + 760 >> 2];
+ a : {
+  if (h >>> 0 > b >>> 0) {
+   g = q[a + 764 >> 2];
+   b : {
+    if (s[a + 210 >> 1]) {
+     e = g + (b << 2) | 0;
+     d = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+     f = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+     d = e + 8 | 0;
+     e = f;
+     if (d >>> 0 > g + (h << 2) >>> 0) {
+      break b;
+     }
+     d = d + -4 | 0;
+     d = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+     e = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+     break b;
+    }
+    f = g + (b << 1) | 0;
+    e = r[f | 0] << 8 | r[f + 1 | 0];
+    d = e;
+    f = f + 4 | 0;
+    if (f >>> 0 <= g + (h << 1) >>> 0) {
+     d = f + -2 | 0;
+     d = r[d | 0] << 8 | r[d + 1 | 0];
+    }
+    f = e << 1;
+    e = d << 1;
+   }
+   d = e;
+   g = 0;
+   e = q[a + 724 >> 2];
+   if (f >>> 0 > e >>> 0) {
+    q[c >> 2] = 0;
+    return 0;
+   }
+   if (d >>> 0 > e >>> 0) {
+    d = e;
+    a = 0;
+    if ((h + -2 | 0) != (b | 0)) {
+     break a;
+    }
+   }
+   a = d >>> 0 < f >>> 0 ? e : d;
+  } else {
+   a = 0;
+  }
+  g = a - f | 0;
+  a = f;
+ }
+ q[c >> 2] = g;
+ return a | 0;
+}
+function tY(a, b, c) {
+ var d = 0;
+ d = Ca - 144 | 0;
+ Ca = d;
+ q[d + 140 >> 2] = c + 4;
+ c = q[c >> 2];
+ c = (b | 0) == 4 ? c | 32768 : c;
+ a : {
+  b : {
+   if (b >>> 0 > 16) {
+    break b;
+   }
+   if (!(1 << b & 110592)) {
+    if ((b | 0) != 9) {
+     if ((b | 0) != 14) {
+      break b;
+     }
+     q[d + 16 >> 2] = c;
+     a = DY(Y(a | 0, 14, d + 16 | 0) | 0);
+     break a;
+    }
+    q[d + 48 >> 2] = d + 128;
+    b = Y(a | 0, 16, d + 48 | 0) | 0;
+    if (b) {
+     if ((b | 0) == -28) {
+      q[d + 32 >> 2] = c;
+      a = Y(a | 0, 9, d + 32 | 0) | 0;
+      break a;
+     }
+     a = DY(b);
+     break a;
+    }
+    a = q[d + 132 >> 2];
+    a = q[d + 128 >> 2] == 2 ? 0 - a | 0 : a;
+    break a;
+   }
+   q[d + 112 >> 2] = c;
+   a = DY(Y(a | 0, b | 0, d + 112 | 0) | 0);
+   break a;
+  }
+  if ((b | 0) != 1030) {
+   q[d >> 2] = c;
+   a = DY(Y(a | 0, b | 0, d | 0) | 0);
+   break a;
+  }
+  q[d + 96 >> 2] = c;
+  b = Y(a | 0, 1030, d + 96 | 0) | 0;
+  if ((b | 0) != -28) {
+   a = DY(b);
+   break a;
+  }
+  q[d + 80 >> 2] = 0;
+  b = Y(a | 0, 1030, d + 80 | 0) | 0;
+  if ((b | 0) != -28) {
+   if ((b | 0) >= 0) {
+    Z(b | 0) | 0;
+   }
+   a = DY(-28);
+   break a;
+  }
+  q[d + 64 >> 2] = c;
+  a = DY(Y(a | 0, 0, d - -64 | 0) | 0);
+ }
+ Ca = d + 144 | 0;
+ return a;
+}
+function p_(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ b = q[a + 116 >> 2];
+ c = b;
+ a : {
+  f = q[a + 112 >> 2];
+  b : {
+   if (b | f) {
+    b = q[a + 124 >> 2];
+    if ((b | 0) > (c | 0) ? 1 : (b | 0) >= (c | 0) ? t[a + 120 >> 2] < f >>> 0 ? 0 : 1 : 0) {
+     break b;
+    }
+   }
+   f = n_(a);
+   if ((f | 0) > -1) {
+    break a;
+   }
+  }
+  q[a + 104 >> 2] = 0;
+  return -1;
+ }
+ b = q[a + 8 >> 2];
+ c = q[a + 116 >> 2];
+ e = c;
+ c : {
+  d : {
+   d = q[a + 112 >> 2];
+   if (!(c | d)) {
+    break d;
+   }
+   c = (q[a + 124 >> 2] ^ -1) + e | 0;
+   e = q[a + 120 >> 2] ^ -1;
+   d = e + d | 0;
+   if (d >>> 0 < e >>> 0) {
+    c = c + 1 | 0;
+   }
+   e = d;
+   d = q[a + 4 >> 2];
+   g = b - d | 0;
+   h = e >>> 0 < g >>> 0 ? 0 : 1;
+   g = g >> 31;
+   if ((c | 0) > (g | 0) ? 1 : (c | 0) >= (g | 0) ? h : 0) {
+    break d;
+   }
+   q[a + 104 >> 2] = e + d;
+   break c;
+  }
+  q[a + 104 >> 2] = b;
+ }
+ e : {
+  if (!b) {
+   b = q[a + 4 >> 2];
+   break e;
+  }
+  c = a;
+  e = b;
+  b = q[a + 4 >> 2];
+  d = (e - b | 0) + 1 | 0;
+  e = d + q[a + 120 >> 2] | 0;
+  a = q[a + 124 >> 2] + (d >> 31) | 0;
+  q[c + 120 >> 2] = e;
+  q[c + 124 >> 2] = e >>> 0 < d >>> 0 ? a + 1 | 0 : a;
+ }
+ a = b + -1 | 0;
+ if (r[a | 0] != (f | 0)) {
+  o[a | 0] = f;
+ }
+ return f;
+}
+function DW(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ i = q[a + 296 >> 2];
+ a : {
+  if (!i) {
+   e = 23;
+   break a;
+  }
+  g = q[i + 12 >> 2];
+  j = q[g + 8 >> 2];
+  h = q[g + 4 >> 2];
+  e = h + q[g + 12 >> 2] | 0;
+  q[f + 12 >> 2] = e;
+  j = j + h | 0;
+  b : {
+   if (r[g + 33 | 0]) {
+    h = q[a + 224 >> 2];
+    h = n[q[h >> 2]](h, e, j, f + 12 | 0) | 0;
+    e = lW(a, q[a + 224 >> 2], e, j, h, q[f + 12 >> 2], f + 12 | 0, 0, 1);
+    break b;
+   }
+   e = oW(a, q[i + 16 >> 2], q[a + 224 >> 2], e, j, f + 12 | 0, 0);
+  }
+  if (e) {
+   break a;
+  }
+  e = q[f + 12 >> 2];
+  if (!((e | 0) == (j | 0) | q[a + 476 >> 2] != 3)) {
+   q[g + 12 >> 2] = e - q[g + 4 >> 2];
+   e = 0;
+   break a;
+  }
+  o[g + 32 | 0] = 0;
+  q[a + 296 >> 2] = q[i + 8 >> 2];
+  q[i + 8 >> 2] = q[a + 300 >> 2];
+  q[a + 300 >> 2] = i;
+  if (r[g + 33 | 0]) {
+   q[a + 276 >> 2] = 965;
+   e = q[a + 144 >> 2];
+   e = n[q[e >> 2]](e, b, c, f + 12 | 0) | 0;
+   e = lW(a, q[a + 144 >> 2], b, c, e, q[f + 12 >> 2], d, !r[a + 480 | 0], 1);
+   break a;
+  }
+  q[a + 276 >> 2] = 969;
+  e = oW(a, q[a + 472 >> 2] != 0, q[a + 144 >> 2], b, c, d, !r[a + 480 | 0]);
+ }
+ Ca = f + 16 | 0;
+ return e | 0;
+}
+function hW(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ if (a) {
+  a : {
+   d = q[a + 476 >> 2];
+   if (d >>> 0 > 3) {
+    break a;
+   }
+   b : {
+    switch (d - 1 | 0) {
+    case 2:
+     q[a + 280 >> 2] = 33;
+     return 0;
+    case 1:
+     q[a + 280 >> 2] = 36;
+     return 0;
+    case 0:
+     break a;
+    default:
+     break b;
+    }
+   }
+   if (q[a + 472 >> 2]) {
+    break a;
+   }
+   if (eW(a)) {
+    break a;
+   }
+   q[a + 280 >> 2] = 1;
+   return 0;
+  }
+  d = 1;
+  q[a + 476 >> 2] = 1;
+  f = q[a + 24 >> 2];
+  q[a + 292 >> 2] = f;
+  o[a + 480 | 0] = c;
+  e = q[a + 28 >> 2] + b | 0;
+  q[a + 28 >> 2] = e;
+  q[a + 40 >> 2] = e;
+  q[a + 36 >> 2] = q[a + 36 >> 2] + b;
+  b = n[q[a + 276 >> 2]](a, f, e, a + 24 | 0) | 0;
+  q[a + 280 >> 2] = b;
+  if (b) {
+   q[a + 276 >> 2] = 968;
+   q[a + 288 >> 2] = q[a + 284 >> 2];
+   return 0;
+  }
+  b = q[a + 476 >> 2];
+  c : {
+   if (b >>> 0 > 3) {
+    break c;
+   }
+   d : {
+    switch (b - 2 | 0) {
+    default:
+     if (!c) {
+      break c;
+     }
+     q[a + 476 >> 2] = 2;
+     return 1;
+    case 0:
+     break c;
+    case 1:
+     break d;
+    }
+   }
+   d = 2;
+  }
+  b = q[a + 144 >> 2];
+  n[q[b + 48 >> 2]](b, q[a + 292 >> 2], q[a + 24 >> 2], a + 404 | 0);
+  q[a + 292 >> 2] = q[a + 24 >> 2];
+ }
+ return d;
+}
+function TX(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ e = Ca - 4112 | 0;
+ Ca = e;
+ a : {
+  b : {
+   if (a) {
+    break b;
+   }
+   a = q[160852];
+   if (a) {
+    break b;
+   }
+   d = 1;
+   a = qX();
+   if (!a) {
+    break a;
+   }
+  }
+  if (b) {
+   c = HY(b, e);
+   c = CQ(c ? c : b);
+   if (!c) {
+    break a;
+   }
+  }
+  f = q[a + 76 >> 2];
+  if (f) {
+   M$(f);
+  }
+  q[a + 76 >> 2] = c;
+  if (!d) {
+   break a;
+  }
+  c : {
+   a = nX(a);
+   if (a) {
+    break c;
+   }
+   d = 0;
+   a = q[160852];
+   if (!a) {
+    d = 1;
+    a = qX();
+    if (!a) {
+     break a;
+    }
+   }
+   if (b) {
+    c = HY(b, e);
+    c = CQ(c ? c : b);
+    if (!c) {
+     break a;
+    }
+   }
+   f = q[a + 76 >> 2];
+   if (f) {
+    M$(f);
+   }
+   q[a + 76 >> 2] = c;
+   if (!d) {
+    break a;
+   }
+   a = nX(a);
+   if (a) {
+    break c;
+   }
+   d = 0;
+   a = q[160852];
+   if (!a) {
+    d = 1;
+    a = qX();
+    if (!a) {
+     break a;
+    }
+   }
+   if (b) {
+    c = HY(b, e);
+    c = CQ(c ? c : b);
+    if (!c) {
+     break a;
+    }
+   }
+   b = q[a + 76 >> 2];
+   if (b) {
+    M$(b);
+   }
+   q[a + 76 >> 2] = c;
+   if (!d) {
+    break a;
+   }
+   a = nX(a);
+   if (a) {
+    break c;
+   }
+   c0(503254, 122, 1, q[126919]);
+   break a;
+  }
+  zX(a);
+  pX(a);
+ }
+ Ca = e + 4112 | 0;
+}
+function rk(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ a : {
+  b : {
+   c = q[a >> 2];
+   if (r[c + 8 | 0] & 2) {
+    if (!n[q[q[c + 540 >> 2] + 104 >> 2]](c, b, f + 12 | 0)) {
+     break b;
+    }
+    q[a + 44 >> 2] = -1;
+    c = q[a >> 2];
+   }
+   Rf(c, b);
+   c = q[a >> 2];
+   b = q[q[c + 712 >> 2] + 3080 >> 2];
+   c = ig(q[q[c + 96 >> 2] + 4 >> 2], 12632);
+   if (!b | !c) {
+    break a;
+   }
+   b = q[b >> 2];
+   if (!b) {
+    break a;
+   }
+   g = n[b](c) | 0;
+   if (!g) {
+    break a;
+   }
+   h = q[q[a >> 2] + 712 >> 2];
+   c = q[h + 1440 >> 2];
+   i = q[q[a + 40 >> 2] >> 2];
+   n[q[g + 4 >> 2]](q[i >> 2], q[a + 16 >> 2], q[a + 20 >> 2], 0, 0);
+   e = q[h + 2024 >> 2];
+   if (!e) {
+    break a;
+   }
+   while (1) {
+    b = q[a + 16 >> 2];
+    e = e + -1 | 0;
+    j = e << 2;
+    d = q[q[(j + h | 0) + 2028 >> 2] + 68 >> 2];
+    c : {
+     if ((d | 0) != (c | 0)) {
+      b = ue(b, c, d);
+      d = ue(q[a + 20 >> 2], c, d);
+      break c;
+     }
+     d = q[a + 20 >> 2];
+    }
+    n[q[g + 4 >> 2]](q[(i + j | 0) + 4 >> 2], b, d, 0, 0);
+    if (e) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  sk(a, q[f + 12 >> 2]);
+ }
+ Ca = f + 16 | 0;
+ return 0;
+}
+function MS(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  a = q[a >> 2];
+  if (!a) {
+   break a;
+  }
+  c = q[a + 4 >> 2];
+  a = c & 1 ? a + (c & -2) | 0 : c;
+  if (!a) {
+   break a;
+  }
+  while (1) {
+   if (!d) {
+    b : {
+     c : {
+      d = q[a + 8 >> 2];
+      e = d + -3 | 0;
+      if (e >>> 0 > 6) {
+       break c;
+      }
+      c = a + 8 | 0;
+      d : {
+       switch (e - 1 | 0) {
+       default:
+        a = q[a + 16 >> 2];
+        a = a & 1 ? (a & -2) + c | 0 : a;
+        break b;
+       case 2:
+        a = q[a + 16 >> 2];
+        a = a & 1 ? (a & -2) + c | 0 : a;
+        break b;
+       case 4:
+        a = q[a + 16 >> 2];
+        a = a & 1 ? (a & -2) + c | 0 : a;
+        break b;
+       case 0:
+       case 1:
+       case 3:
+        break c;
+       case 5:
+        break d;
+       }
+      }
+      a = q[a + 16 >> 2];
+      a = a & 1 ? (a & -2) + c | 0 : a;
+      break b;
+     }
+     c = q[a + 20 >> 2];
+     f = q[a + 12 >> 2];
+     a = q[a + 16 >> 2];
+    }
+    q[b + 12 >> 2] = c;
+    q[b + 8 >> 2] = a;
+    q[b + 4 >> 2] = f;
+    q[b >> 2] = d;
+    break a;
+   }
+   d = d + -1 | 0;
+   c = a;
+   a = q[a >> 2];
+   a = a & 1 ? c + (a & -2) | 0 : a;
+   if (a) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function ue(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = (a | 0) < 0 ? -1 : 1;
+ e = (b | 0) < 0 ? 0 - e | 0 : e;
+ j = (c | 0) < 0 ? 0 - e | 0 : e;
+ e = 2147483647;
+ d = c;
+ c = c >> 31;
+ c = d + c ^ c;
+ a : {
+  if (!c) {
+   break a;
+  }
+  d = b;
+  b = b >> 31;
+  b = d + b ^ b;
+  d = a;
+  a = a >> 31;
+  a = d + a ^ a;
+  if (b + a >>> 0 <= 129894 - (c >>> 17 | 0) >>> 0) {
+   e = (w(a, b) + (c >>> 1 | 0) >>> 0) / (c >>> 0) | 0;
+   break a;
+  }
+  g = a >>> 16 | 0;
+  f = b & 65535;
+  h = b >>> 16 | 0;
+  a = a & 65535;
+  i = w(h, a);
+  b = w(g, f) + i | 0;
+  d = b << 16;
+  f = d + w(a, f) | 0;
+  a = f + (c >>> 1 | 0) | 0;
+  b = (((w(g, h) + (b >>> 16 | 0) | 0) + ((b >>> 0 < i >>> 0) << 16) | 0) + (f >>> 0 < d >>> 0) | 0) + (a >>> 0 < f >>> 0) | 0;
+  if (!b) {
+   e = (a >>> 0) / (c >>> 0) | 0;
+   break a;
+  }
+  if (b >>> 0 >= c >>> 0) {
+   break a;
+  }
+  d = z(b);
+  f = 32 - d | 0;
+  b = a >>> f | b << d;
+  e = (b >>> 0) / (c >>> 0) | 0;
+  b = b - w(c, e) | 0;
+  a = a << d;
+  while (1) {
+   d = b << 1 | a >>> 31;
+   b = d - (d >>> 0 < c >>> 0 ? 0 : c) | 0;
+   e = e << 1 | d >>> 0 >= c >>> 0;
+   a = a << 1;
+   f = f + -1 | 0;
+   if (f) {
+    continue;
+   }
+   break;
+  }
+ }
+ return (j | 0) < 0 ? 0 - e | 0 : e;
+}
+function el(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ if (a) {
+  b = q[a + 100 >> 2];
+  c = q[a + 316 >> 2];
+  if (c) {
+   d = b;
+   e = q[a + 300 >> 2];
+   if ((e | 0) >= 1) {
+    while (1) {
+     g = (f << 3) + c | 0;
+     c = q[g + 4 >> 2];
+     if (c) {
+      Qe(b, q[c >> 2]);
+      c = g + 4 | 0;
+      q[q[c >> 2] >> 2] = 0;
+      Qe(b, q[c >> 2]);
+      q[c >> 2] = 0;
+      e = q[a + 300 >> 2];
+     }
+     f = f + 1 | 0;
+     if ((f | 0) < (e | 0)) {
+      c = q[a + 316 >> 2];
+      continue;
+     }
+     break;
+    }
+    c = q[a + 316 >> 2];
+   }
+   Qe(d, c);
+   q[a + 316 >> 2] = 0;
+  }
+  Qe(b, q[a + 164 >> 2]);
+  q[a + 164 >> 2] = 0;
+  Qe(b, q[a + 168 >> 2]);
+  q[a + 168 >> 2] = 0;
+  Qe(b, q[a + 172 >> 2]);
+  q[a + 172 >> 2] = 0;
+  Qe(b, q[a + 176 >> 2]);
+  q[a + 176 >> 2] = 0;
+  Qe(b, q[a + 180 >> 2]);
+  q[a + 180 >> 2] = 0;
+  Qe(b, q[a + 304 >> 2]);
+  q[a + 300 >> 2] = 0;
+  q[a + 304 >> 2] = 0;
+  Qe(b, q[a + 140 >> 2]);
+  q[a + 140 >> 2] = 0;
+  Qe(b, q[a + 152 >> 2]);
+  q[a + 152 >> 2] = 0;
+  Qe(b, q[a + 156 >> 2]);
+  q[a + 20 >> 2] = 0;
+  q[a + 24 >> 2] = 0;
+  q[a + 156 >> 2] = 0;
+  d = a + 324 | 0;
+  Qe(b, q[d >> 2]);
+  q[d >> 2] = 0;
+  a = a + 328 | 0;
+  Qe(b, q[a >> 2]);
+  q[a >> 2] = 0;
+ }
+}
+function VC(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0;
+ b = q[a + 12 >> 2];
+ q[d + 8 >> 2] = 0;
+ q[d + 12 >> 2] = 0;
+ q[d >> 2] = 0;
+ q[d + 4 >> 2] = 0;
+ e = b;
+ f = q[b + 76 >> 2];
+ b = q[b + 72 >> 2];
+ h = n[q[b + 200 >> 2]](e, f, c, d, q[b - -64 >> 2]) | 0;
+ if (h) {
+  e = q[a + 12 >> 2];
+  a : {
+   if (e) {
+    b = q[d >> 2];
+    c = d;
+    f = q[e + 20 >> 2];
+    g = q[a + 20 >> 2];
+    if ((f | 0) != (g | 0)) {
+     b = U0(T0(g, g >> 31, b, b >> 31), Ea, f, f >> 31);
+    }
+    q[c >> 2] = b;
+    b = q[d + 4 >> 2];
+    f = q[e + 24 >> 2];
+    g = q[a + 24 >> 2];
+    if ((f | 0) != (g | 0)) {
+     b = U0(T0(g, g >> 31, b, b >> 31), Ea, f, f >> 31);
+    }
+    q[c + 4 >> 2] = b;
+    c = q[d + 8 >> 2];
+    b = q[e + 20 >> 2];
+    f = q[a + 20 >> 2];
+    if ((b | 0) != (f | 0)) {
+     c = U0(T0(f, f >> 31, c, c >> 31), Ea, b, b >> 31);
+    }
+    b = d + 12 | 0;
+    q[d + 8 >> 2] = c;
+    d = q[d + 12 >> 2];
+    e = q[e + 24 >> 2];
+    a = q[a + 24 >> 2];
+    c = d;
+    if ((e | 0) == (a | 0)) {
+     break a;
+    }
+    c = U0(T0(a, a >> 31, d, d >> 31), Ea, e, e >> 31);
+    break a;
+   }
+   b = d + 12 | 0;
+   c = q[d + 12 >> 2];
+  }
+  q[b >> 2] = c;
+ }
+ return h | 0;
+}
+function vQ(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  i = q[a + 16 >> 2];
+  d = q[a + 4 >> 2];
+  if (i & 1 | (d | 0) < 1) {
+   break a;
+  }
+  j = q[a + 12 >> 2];
+  while (1) {
+   b : {
+    c = b;
+    f = q[(e << 2) + j >> 2];
+    if ((c | 0) == (f | 0)) {
+     break b;
+    }
+    while (1) {
+     c : {
+      g = r[c | 0];
+      h = r[f | 0];
+      if (!h) {
+       break c;
+      }
+      f = f + 1 | 0;
+      c = c + 1 | 0;
+      if ((g | 0) == (h | 0)) {
+       continue;
+      }
+     }
+     break;
+    }
+    if ((g | 0) == (h | 0)) {
+     break b;
+    }
+    e = e + 1 | 0;
+    if ((e | 0) != (d | 0)) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  M$(b);
+  return 1;
+ }
+ d : {
+  if (q[a + 8 >> 2] != (d | 0)) {
+   c = q[a + 12 >> 2];
+   break d;
+  }
+  g = i & 2 ? 64 : 1;
+  f = g + d | 0;
+  c = L$((f << 2) + 4 | 0);
+  if (!c) {
+   return 0;
+  }
+  e : {
+   if (!d) {
+    e = q[a + 12 >> 2];
+    break e;
+   }
+   e = q[a + 12 >> 2];
+   Y$(c, e, d << 2);
+  }
+  if (e) {
+   M$(e);
+   f = g + q[a + 8 >> 2] | 0;
+   d = q[a + 4 >> 2];
+  }
+  q[a + 12 >> 2] = c;
+  q[a + 8 >> 2] = f;
+ }
+ q[a + 4 >> 2] = d + 1;
+ q[(d << 2) + c >> 2] = b;
+ q[q[a + 12 >> 2] + (q[a + 4 >> 2] << 2) >> 2] = 0;
+ return 1;
+}
+function gH(a, b, c, d, e, f, g, h) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ j = Ca - 16 | 0;
+ Ca = j;
+ while (1) {
+  h = q[b >> 2];
+  q[b >> 2] = 1;
+  if (h) {
+   continue;
+  }
+  break;
+ }
+ m = q[b + 8 >> 2];
+ n = q[b + 4 >> 2];
+ k = q[a + 20 >> 2];
+ if ((k | 0) != q[b + 16 >> 2]) {
+  i = b + 20 | 0;
+  h = 0;
+  while (1) {
+   q[i + (h << 2) >> 2] = -1;
+   h = h + 1 | 0;
+   if ((h | 0) != 256) {
+    continue;
+   }
+   break;
+  }
+  q[b + 16 >> 2] = q[a + 20 >> 2];
+ }
+ if (c) {
+  o = b + 20 | 0;
+  a = 0;
+  while (1) {
+   q[j + 12 >> 2] = 0;
+   i = q[d >> 2];
+   l = ((i & 255) << 2) + o | 0;
+   h = q[l >> 2];
+   a : {
+    if (!((h | 0) == -1 | (h >>> 24 | 0) != (i >>> 8 | 0))) {
+     h = h & 16777215;
+     q[j + 12 >> 2] = h;
+     break a;
+    }
+    te(n, i, m, j + 12 | 0);
+    h = q[j + 12 >> 2];
+    if (i >>> 0 > 65535 | h >>> 0 > 16777215) {
+     break a;
+    }
+    q[l >> 2] = i << 16 & -16777216 | h;
+   }
+   q[f >> 2] = ((k | 0) > -1 ? h : 0 - h | 0) + 512 >> 10;
+   f = f + g | 0;
+   d = d + e | 0;
+   a = a + 1 | 0;
+   if ((c | 0) != (a | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[b >> 2] = 0;
+ Ca = j + 16 | 0;
+}
+function nj(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ f = Ca - 1536 | 0;
+ Ca = f;
+ a : {
+  b : {
+   if (d & 16) {
+    if (!c) {
+     break b;
+    }
+    d = 0;
+    Z$(e, 0, c << 2);
+    break a;
+   }
+   d = n[q[q[q[a + 492 >> 2] + 12 >> 2] >> 2]](f + 8 | 0, a, 0, 0, q[a + 424 >> 2], q[a + 532 >> 2], 0, 0, 84) | 0;
+   if (d) {
+    break a;
+   }
+   o[f + 76 | 0] = 0;
+   o[f + 78 | 0] = 1;
+   q[f + 1372 >> 2] = q[a + 404 >> 2];
+   q[f + 1376 >> 2] = q[a + 408 >> 2];
+   q[f + 1380 >> 2] = q[a + 412 >> 2];
+   q[f + 1384 >> 2] = q[a + 416 >> 2];
+   q[f + 1504 >> 2] = q[a + 548 >> 2];
+   q[f + 1508 >> 2] = q[a + 544 >> 2];
+   d = 0;
+   if (!c) {
+    break a;
+   }
+   a = 0;
+   while (1) {
+    o[f + 1527 | 0] = 0;
+    g = (a << 2) + e | 0;
+    c : {
+     if (!cj(f + 8 | 0, a + b | 0, f + 1528 | 0, f + 1527 | 0)) {
+      d = q[q[q[f + 12 >> 2] + 128 >> 2] + 52 >> 2];
+      if (d) {
+       n[q[q[d >> 2] + 4 >> 2]](q[d + 4 >> 2], f + 1528 | 0);
+      }
+      d = Ae(q[f + 48 >> 2]) >> 16;
+      break c;
+     }
+     d = 0;
+    }
+    q[g >> 2] = d;
+    a = a + 1 | 0;
+    if ((c | 0) != (a | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = 0;
+ }
+ Ca = f + 1536 | 0;
+ return d | 0;
+}
+function Ge(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ j = 6;
+ a : {
+  if (!a) {
+   break a;
+  }
+  f = q[a >> 2];
+  b = (f | 0) < 0 ? -1 : 1;
+  g = q[a + 12 >> 2];
+  e = (g | 0) < 0 ? 0 - b | 0 : b;
+  c = f >> 31;
+  c = c + f ^ c;
+  b = g >> 31;
+  b = b + g ^ b;
+  b : {
+   if (c + (b >>> 8 | 0) >>> 0 <= 8190) {
+    b = w(b, c) + 32768 >>> 16 | 0;
+    break b;
+   }
+   d = c & 65535;
+   b = w(d, b >>> 16 | 0) + w(b, c >>> 16 | 0) + (w(d, b & 65535) + 32768 >>> 16) | 0;
+  }
+  c = q[a + 4 >> 2];
+  d = (c | 0) < 0 ? -1 : 1;
+  h = 0 - d | 0;
+  i = d;
+  d = q[a + 8 >> 2];
+  i = (d | 0) < 0 ? h : i;
+  k = (e | 0) < 0 ? 0 - b | 0 : b;
+  e = c >> 31;
+  e = e + c ^ e;
+  b = d >> 31;
+  b = b + d ^ b;
+  c : {
+   if (e + (b >>> 8 | 0) >>> 0 <= 8190) {
+    b = w(b, e) + 32768 >>> 16 | 0;
+    break c;
+   }
+   h = e & 65535;
+   b = w(h, b >>> 16 | 0) + w(b, e >>> 16 | 0) + (w(b & 65535, h) + 32768 >>> 16) | 0;
+  }
+  b = k - ((i | 0) < 0 ? 0 - b | 0 : b) | 0;
+  if (!b) {
+   break a;
+  }
+  l = a, m = 0 - Fe(c, b) | 0, q[l + 4 >> 2] = m;
+  l = a, m = 0 - Fe(d, b) | 0, q[l + 8 >> 2] = m;
+  l = a, m = Fe(g, b), q[l >> 2] = m;
+  l = a, m = Fe(f, b), q[l + 12 >> 2] = m;
+  j = 0;
+ }
+ return j;
+}
+function GP(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ c = r[a | 0];
+ f = (c + -65 & 255) >>> 0 < 26 ? c + 32 | 0 : c;
+ a : {
+  if ((f | 0) != 117) {
+   break a;
+  }
+  c = r[a + 1 | 0];
+  if ((((c + -65 & 255) >>> 0 < 26 ? c + 32 | 0 : c) | 0) != 110) {
+   break a;
+  }
+  c = r[a + 2 | 0];
+  if ((((c + -65 & 255) >>> 0 < 26 ? c + 32 | 0 : c) | 0) != 100) {
+   break a;
+  }
+  e = 1;
+  c = r[a + 3 | 0];
+  if ((c | 0) == 45) {
+   break a;
+  }
+  e = !c;
+ }
+ g = 2;
+ b : {
+  c = r[b | 0];
+  d = (c + -65 & 255) >>> 0 < 26 ? c + 32 | 0 : c;
+  c : {
+   if ((f & 255) != (d & 255)) {
+    c = e;
+    break c;
+   }
+   h = a;
+   while (1) {
+    c = f & 255;
+    if (!c) {
+     g = e ? g : 0;
+     break b;
+    }
+    g = e ? g : (c | 0) != 45 ? g : 1;
+    h = h + 1 | 0;
+    c = e ? (h - a | 0) == 4 ? 0 : e : 0;
+    e = c;
+    d = r[h | 0];
+    f = (d + -65 & 255) >>> 0 < 26 ? d + 32 | 0 : d;
+    b = b + 1 | 0;
+    d = r[b | 0];
+    d = (d + -65 & 255) >>> 0 < 26 ? d + 32 | 0 : d;
+    if ((f & 255) == (d & 255)) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (c) {
+   break b;
+  }
+  a = f & 255;
+  if (a ? (a | 0) != 45 : 0) {
+   break b;
+  }
+  a = d & 255;
+  if (a ? (a | 0) != 45 : 0) {
+   break b;
+  }
+  return 1;
+ }
+ return g;
+}
+function jk(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = Ca - 208 | 0;
+ Ca = d;
+ q[d + 204 >> 2] = 0;
+ a : {
+  b : {
+   c = q[a >> 2];
+   b = q[q[c + 712 >> 2] + 3080 >> 2];
+   c = ig(q[q[c + 96 >> 2] + 4 >> 2], 12632);
+   c : {
+    if (!b | !c) {
+     break c;
+    }
+    b = q[b >> 2];
+    if (!b) {
+     break c;
+    }
+    e = n[b](c) | 0;
+    if (!e) {
+     break c;
+    }
+    b = q[a >> 2];
+    f = q[b + 712 >> 2];
+    g = Oe(q[b + 100 >> 2], 1028, d + 204 | 0);
+    b = q[d + 204 >> 2];
+    if (b) {
+     break b;
+    }
+    kk(f + 1372 | 0, d + 8 | 0);
+    b = n[q[e >> 2]](q[q[a >> 2] + 100 >> 2], d + 8 | 0, g) | 0;
+    q[d + 204 >> 2] = b;
+    if (b) {
+     break b;
+    }
+    i = g + 4 | 0;
+    b = q[f + 2024 >> 2];
+    d : {
+     while (1) {
+      if (!b) {
+       break d;
+      }
+      b = b + -1 | 0;
+      c = b << 2;
+      kk(q[(c + f | 0) + 2028 >> 2], d + 8 | 0);
+      c = n[q[e >> 2]](q[q[a >> 2] + 100 >> 2], d + 8 | 0, c + i | 0) | 0;
+      q[d + 204 >> 2] = c;
+      if (!c) {
+       continue;
+      }
+      break;
+     }
+     h = c;
+     break a;
+    }
+    q[q[a + 40 >> 2] >> 2] = g;
+   }
+   q[a + 44 >> 2] = -1;
+   break a;
+  }
+  h = b;
+ }
+ Ca = d + 208 | 0;
+ return h | 0;
+}
+function rA(a, b, c, d) {
+ var e = 0, f = 0, g = 0;
+ e = Ca - 96 | 0;
+ Ca = e;
+ f = 0;
+ a : {
+  if (t[a + 4 >> 2] <= c >>> 0) {
+   break a;
+  }
+  b : {
+   f = q[b + 60 >> 2];
+   if (!f) {
+    break b;
+   }
+   g = q[bA(q[a + 16 >> 2] + 120 | 0) >> 2];
+   g = g ? g : 271040;
+   g = t[g + 16 >> 2] < 20 ? 271040 : q[g + 12 >> 2];
+   if ((f | 0) != (r[g + 4 | 0] << 8 | r[g + 5 | 0])) {
+    break b;
+   }
+   g = e + 88 | 0;
+   q[g >> 2] = -8388609;
+   f = e + 80 | 0;
+   q[f >> 2] = 2139095039;
+   q[f + 4 >> 2] = -8388609;
+   q[e + 72 >> 2] = 0;
+   q[e + 76 >> 2] = 2139095039;
+   q[e + 68 >> 2] = d;
+   q[e + 64 >> 2] = b;
+   if (d) {
+    q[e + 84 >> 2] = -8388609;
+    q[e + 88 >> 2] = -8388609;
+    q[e + 76 >> 2] = 2139095039;
+    q[e + 80 >> 2] = 2139095039;
+   }
+   q[e + 32 >> 2] = q[g >> 2];
+   d = q[f + 4 >> 2];
+   q[e + 24 >> 2] = q[f >> 2];
+   q[e + 28 >> 2] = d;
+   d = q[e + 76 >> 2];
+   q[e + 16 >> 2] = q[e + 72 >> 2];
+   q[e + 20 >> 2] = d;
+   d = q[e + 68 >> 2];
+   q[e + 8 >> 2] = q[e + 64 >> 2];
+   q[e + 12 >> 2] = d;
+   f = Zz(a, b, c, e + 8 | 0);
+   break a;
+  }
+  NA(e + 40 | 0, a, c);
+  f = 1;
+  if (!q[e + 60 >> 2]) {
+   break a;
+  }
+  f = OA(q[e + 56 >> 2], b, q[e + 52 >> 2], d);
+ }
+ Ca = e + 96 | 0;
+ return f;
+}
+function R$(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = 16;
+ d = a >>> 0 > 16 ? a : 16;
+ a : {
+  if (!(d + -1 & d)) {
+   a = d;
+   break a;
+  }
+  while (1) {
+   a = c;
+   c = a << 1;
+   if (a >>> 0 < d >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ if (-64 - a >>> 0 <= b >>> 0) {
+  q[160854] = 48;
+  return 0;
+ }
+ d = b >>> 0 < 11 ? 16 : b + 11 & -8;
+ c = L$((d + a | 0) + 12 | 0);
+ if (!c) {
+  return 0;
+ }
+ b = c + -8 | 0;
+ b : {
+  if (!(c & a + -1)) {
+   a = b;
+   break b;
+  }
+  f = c + -4 | 0;
+  g = q[f >> 2];
+  c = ((a + c | 0) + -1 & 0 - a) + -8 | 0;
+  a = c - b >>> 0 > 15 ? c : a + c | 0;
+  c = a - b | 0;
+  e = (g & -8) - c | 0;
+  if (!(g & 3)) {
+   b = q[b >> 2];
+   q[a + 4 >> 2] = e;
+   q[a >> 2] = b + c;
+   break b;
+  }
+  q[a + 4 >> 2] = e | q[a + 4 >> 2] & 1 | 2;
+  e = a + e | 0;
+  q[e + 4 >> 2] = q[e + 4 >> 2] | 1;
+  q[f >> 2] = c | q[f >> 2] & 1 | 2;
+  q[a + 4 >> 2] = q[a + 4 >> 2] | 1;
+  S$(b, c);
+ }
+ b = q[a + 4 >> 2];
+ c : {
+  if (!(b & 3)) {
+   break c;
+  }
+  c = b & -8;
+  if (c >>> 0 <= d + 16 >>> 0) {
+   break c;
+  }
+  q[a + 4 >> 2] = d | b & 1 | 2;
+  b = a + d | 0;
+  d = c - d | 0;
+  q[b + 4 >> 2] = d | 3;
+  c = a + c | 0;
+  q[c + 4 >> 2] = q[c + 4 >> 2] | 1;
+  S$(b, d);
+ }
+ return a + 8 | 0;
+}
+function FB(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ a : {
+  b : {
+   c : {
+    e = q[a + 4 >> 2];
+    if ((e | 0) >= 0) {
+     d = q[a + 8 >> 2];
+     f = d + 1 | 0;
+     f = (f | 0) > 0 ? f : 0;
+     if (e >>> 0 >= f >>> 0) {
+      break b;
+     }
+     d = e;
+     while (1) {
+      d = ((d >>> 1 | 0) + d | 0) + 8 | 0;
+      if (d >>> 0 <= f >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(d >>> 0 < e >>> 0 | d >>> 0 > 268435454)) {
+      e = O$(q[a + 12 >> 2], d << 4);
+      if (e) {
+       break c;
+      }
+     }
+     q[a + 4 >> 2] = -1;
+    }
+    e = q[67763];
+    q[160658] = q[67762];
+    q[160659] = e;
+    e = q[67761];
+    q[160656] = q[67760];
+    q[160657] = e;
+    g = 642624;
+    break a;
+   }
+   q[a + 4 >> 2] = d;
+   q[a + 12 >> 2] = e;
+   d = q[a + 8 >> 2];
+  }
+  if (f >>> 0 > d >>> 0) {
+   Z$(q[a + 12 >> 2] + (d << 4) | 0, 0, f - d << 4);
+  }
+  q[a + 8 >> 2] = f;
+  g = (q[a + 12 >> 2] + (f << 4) | 0) + -16 | 0;
+ }
+ q[g >> 2] = b;
+ e = q[c + 12 >> 2];
+ d = q[c + 4 >> 2];
+ b = q[c >> 2];
+ f = q[a >> 2];
+ q[g + 12 >> 2] = 0;
+ q[g + 4 >> 2] = b + f;
+ e = e - f | 0;
+ b = d - f | 0;
+ b = b >>> 0 > d >>> 0 ? 0 : b;
+ q[g + 8 >> 2] = b >>> 0 > e >>> 0 ? e : b;
+ q[a >> 2] = q[c + 12 >> 2];
+}
+function IO(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0, t = 0, u = 0;
+ if (c) {
+  j = (d << 1) + 4 | 0;
+  h = d << 4;
+  o = h << 1;
+  while (1) {
+   i = 0;
+   d = 0;
+   if (j) {
+    while (1) {
+     q = d >>> 0 < h >>> 0 ? (d << 1) + b | 0 : 437888;
+     e = d + -16 | 0;
+     r = e >>> 0 < h >>> 0 ? (e << 1) + b | 0 : 437888;
+     e = d + -32 | 0;
+     t = e >>> 0 < h >>> 0 ? (e << 1) + b | 0 : 437888;
+     e = 0;
+     while (1) {
+      f = e << 1;
+      k = f + a | 0;
+      l = s[f + r >> 1];
+      g = s[f + q >> 1];
+      m = s[f + t >> 1];
+      f = (l + ((g + m & 65534) >>> 1 | 0) & 65534) >>> 1 | 0;
+      u = (f + g & 65534) >>> 1 | 0;
+      g = l + 1 | 0;
+      p[k + 32 >> 1] = (u + g & 65534) >>> 1;
+      p[k >> 1] = (g + ((f + m & 65534) >>> 1 | 0) & 65534) >>> 1;
+      e = e + 1 | 0;
+      if ((e | 0) != 16) {
+       continue;
+      }
+      break;
+     }
+     d = d + 16 | 0;
+     a = a - -64 | 0;
+     i = i + 2 | 0;
+     if (i >>> 0 < j >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = b + o | 0;
+   n = n + 16 | 0;
+   if (n >>> 0 < c >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function jx(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ q[a >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 8 >> 2] = 0;
+ q[e + 12 >> 2] = 0;
+ q[e + 8 >> 2] = a;
+ a : {
+  c = r[b + 5 | 0];
+  f = r[b + 4 | 0];
+  g = c | f << 8;
+  if (!g) {
+   break a;
+  }
+  h = r[b + 1 | 0] | r[b | 0] << 8;
+  i = b + 4 | 0;
+  while (1) {
+   c = (f << 8 | c) >>> 0 > d >>> 0 ? (i + (d << 1) | 0) + 2 | 0 : 271040;
+   c = r[c | 0] << 8 | r[c + 1 | 0];
+   Cv(kx(c ? c + b | 0 : 271040, h), q[e + 8 >> 2]);
+   d = d + 1 | 0;
+   if ((g | 0) == (d | 0)) {
+    break a;
+   }
+   c = r[b + 5 | 0];
+   f = r[b + 4 | 0];
+   continue;
+  }
+ }
+ q[a + 12 >> 2] = 0;
+ q[a + 16 >> 2] = 0;
+ d = 0;
+ q[a + 20 >> 2] = 0;
+ q[e + 12 >> 2] = 0;
+ q[e + 8 >> 2] = a + 12;
+ b : {
+  c = r[b + 5 | 0];
+  f = r[b + 4 | 0];
+  a = c | f << 8;
+  if (!a) {
+   break b;
+  }
+  g = r[b + 1 | 0] | r[b | 0] << 8;
+  h = b + 4 | 0;
+  while (1) {
+   c = (f << 8 | c) >>> 0 > d >>> 0 ? (h + (d << 1) | 0) + 2 | 0 : 271040;
+   c = r[c | 0] << 8 | r[c + 1 | 0];
+   lx(c ? c + b | 0 : 271040, e + 8 | 0, g);
+   d = d + 1 | 0;
+   if ((a | 0) == (d | 0)) {
+    break b;
+   }
+   c = r[b + 5 | 0];
+   f = r[b + 4 | 0];
+   continue;
+  }
+ }
+ Ca = e + 16 | 0;
+}
+function LA(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ c = Ca - 48 | 0;
+ Ca = c;
+ h = a, i = jF(b), q[h + 8 >> 2] = i;
+ d = MA(b + 88 | 0);
+ d = t[d + 16 >> 2] < 36 ? 271040 : q[d + 12 >> 2];
+ q[a + 4 >> 2] = r[d + 34 | 0] << 8 | r[d + 35 | 0];
+ kF(b);
+ d = iF(b, 1986884728);
+ e = Hq(d);
+ if (q[e + 16 >> 2] > -1) {
+  f = q[e + 12 >> 2];
+  Cq(e);
+  if (f) {
+   Gq(d);
+  }
+  q[a + 12 >> 2] = d;
+  e = q[a + 4 >> 2];
+  f = e << 2;
+  g = d ? d : 271040;
+  d = q[g + 16 >> 2];
+  if (f >>> 0 > d >>> 0) {
+   e = d >>> 2 | 0;
+   q[a + 4 >> 2] = e;
+   f = d & -4;
+  }
+  q[a >> 2] = (d - f >>> 1 | 0) + e;
+  if (!e) {
+   q[a >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   Cq(g);
+   q[a + 12 >> 2] = 0;
+   q[a + 12 >> 2] = 271040;
+  }
+  q[c + 16 >> 2] = 0;
+  q[c + 20 >> 2] = 0;
+  o[c + 21 | 0] = 0;
+  o[c + 22 | 0] = 0;
+  o[c + 23 | 0] = 0;
+  o[c + 24 | 0] = 0;
+  o[c + 25 | 0] = 0;
+  o[c + 26 | 0] = 0;
+  o[c + 27 | 0] = 0;
+  o[c + 28 | 0] = 0;
+  q[c + 32 >> 2] = 0;
+  q[c + 36 >> 2] = 0;
+  q[c + 8 >> 2] = 0;
+  q[c + 12 >> 2] = 0;
+  d = kF(b);
+  o[c + 44 | 0] = 1;
+  q[c + 40 >> 2] = d;
+  h = a, i = GA(c + 8 | 0, iF(b, 1448493394)), q[h + 16 >> 2] = i;
+  Ca = c + 48 | 0;
+  return;
+ }
+ J(242576, 242601, 195, 242618);
+ F();
+}
+function EA(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ c = Ca - 48 | 0;
+ Ca = c;
+ h = a, i = jF(b), q[h + 8 >> 2] = i;
+ d = FA(b + 60 | 0);
+ d = t[d + 16 >> 2] < 36 ? 271040 : q[d + 12 >> 2];
+ q[a + 4 >> 2] = r[d + 34 | 0] << 8 | r[d + 35 | 0];
+ kF(b);
+ d = iF(b, 1752003704);
+ e = Hq(d);
+ if (q[e + 16 >> 2] > -1) {
+  f = q[e + 12 >> 2];
+  Cq(e);
+  if (f) {
+   Gq(d);
+  }
+  q[a + 12 >> 2] = d;
+  e = q[a + 4 >> 2];
+  f = e << 2;
+  g = d ? d : 271040;
+  d = q[g + 16 >> 2];
+  if (f >>> 0 > d >>> 0) {
+   e = d >>> 2 | 0;
+   q[a + 4 >> 2] = e;
+   f = d & -4;
+  }
+  q[a >> 2] = (d - f >>> 1 | 0) + e;
+  if (!e) {
+   q[a >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   Cq(g);
+   q[a + 12 >> 2] = 0;
+   q[a + 12 >> 2] = 271040;
+  }
+  q[c + 16 >> 2] = 0;
+  q[c + 20 >> 2] = 0;
+  o[c + 21 | 0] = 0;
+  o[c + 22 | 0] = 0;
+  o[c + 23 | 0] = 0;
+  o[c + 24 | 0] = 0;
+  o[c + 25 | 0] = 0;
+  o[c + 26 | 0] = 0;
+  o[c + 27 | 0] = 0;
+  o[c + 28 | 0] = 0;
+  q[c + 32 >> 2] = 0;
+  q[c + 36 >> 2] = 0;
+  q[c + 8 >> 2] = 0;
+  q[c + 12 >> 2] = 0;
+  d = kF(b);
+  o[c + 44 | 0] = 1;
+  q[c + 40 >> 2] = d;
+  h = a, i = GA(c + 8 | 0, iF(b, 1213612370)), q[h + 16 >> 2] = i;
+  Ca = c + 48 | 0;
+  return;
+ }
+ J(242576, 242601, 195, 242618);
+ F();
+}
+function Av(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ q[a >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 8 >> 2] = 0;
+ q[e + 12 >> 2] = 0;
+ q[e + 8 >> 2] = a;
+ a : {
+  c = r[b + 5 | 0];
+  f = r[b + 4 | 0];
+  g = c | f << 8;
+  if (!g) {
+   break a;
+  }
+  h = r[b + 1 | 0] | r[b | 0] << 8;
+  i = b + 4 | 0;
+  while (1) {
+   c = (f << 8 | c) >>> 0 > d >>> 0 ? (i + (d << 1) | 0) + 2 | 0 : 271040;
+   c = r[c | 0] << 8 | r[c + 1 | 0];
+   Cv(Bv(c ? c + b | 0 : 271040, h), q[e + 8 >> 2]);
+   d = d + 1 | 0;
+   if ((g | 0) == (d | 0)) {
+    break a;
+   }
+   c = r[b + 5 | 0];
+   f = r[b + 4 | 0];
+   continue;
+  }
+ }
+ q[a + 12 >> 2] = 0;
+ q[a + 16 >> 2] = 0;
+ d = 0;
+ q[a + 20 >> 2] = 0;
+ q[e + 12 >> 2] = 0;
+ q[e + 8 >> 2] = a + 12;
+ b : {
+  c = r[b + 5 | 0];
+  f = r[b + 4 | 0];
+  a = c | f << 8;
+  if (!a) {
+   break b;
+  }
+  g = r[b + 1 | 0] | r[b | 0] << 8;
+  h = b + 4 | 0;
+  while (1) {
+   c = (f << 8 | c) >>> 0 > d >>> 0 ? (h + (d << 1) | 0) + 2 | 0 : 271040;
+   c = r[c | 0] << 8 | r[c + 1 | 0];
+   Dv(c ? c + b | 0 : 271040, e + 8 | 0, g);
+   d = d + 1 | 0;
+   if ((a | 0) == (d | 0)) {
+    break b;
+   }
+   c = r[b + 5 | 0];
+   f = r[b + 4 | 0];
+   continue;
+  }
+ }
+ Ca = e + 16 | 0;
+}
+function sY(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ b = q[a + 4 >> 2];
+ a : {
+  if (!b) {
+   b = aS();
+   sS(b, 504967);
+   uS(b);
+   MX(q[a >> 2], b, 0);
+   aR(b);
+   oS(b, WQ(504978));
+   f = a, g = dY(q[a >> 2], b, a + 8 | 0, d + 12 | 0), q[f + 4 >> 2] = g;
+   if (q[d + 12 >> 2]) {
+    f = a, g = qP(), q[f + 4 >> 2] = g;
+   }
+   gS(b);
+   b = q[a + 4 >> 2];
+   if (!b) {
+    break a;
+   }
+  }
+  if (!q[b >> 2]) {
+   break a;
+  }
+  if (!c) {
+   q[d + 12 >> 2] = 0;
+   if (ES(q[q[b + 8 >> 2] >> 2], 504933, 0, d + 12 | 0)) {
+    break a;
+   }
+   e = mZ(q[d + 12 >> 2]);
+   break a;
+  }
+  if (!UR(q[a + 8 >> 2], c)) {
+   break a;
+  }
+  b = q[a + 4 >> 2];
+  if (q[b >> 2] < 1) {
+   break a;
+  }
+  while (1) {
+   b : {
+    b = q[q[b + 8 >> 2] + (e << 2) >> 2];
+    if (GS(b, 504925, d + 12 | 0)) {
+     break b;
+    }
+    if (!UR(q[d + 12 >> 2], c)) {
+     break b;
+    }
+    e = 0;
+    q[d + 8 >> 2] = 0;
+    if (ES(b, 504933, 0, d + 8 | 0)) {
+     break a;
+    }
+    e = mZ(q[d + 8 >> 2]);
+    break a;
+   }
+   e = e + 1 | 0;
+   b = q[a + 4 >> 2];
+   if ((e | 0) < q[b >> 2]) {
+    continue;
+   }
+   break;
+  }
+  e = 0;
+ }
+ Ca = d + 16 | 0;
+ return e | 0;
+}
+function kA(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0;
+ e = q[b + 144 >> 2];
+ a : {
+  if (e) {
+   break a;
+  }
+  f = b + 144 | 0;
+  while (1) {
+   if (!q[b >> 2]) {
+    e = 271040;
+    break a;
+   }
+   e = tA(f);
+   g = q[f >> 2];
+   e = e ? e : 271040;
+   q[f >> 2] = g ? g : e;
+   if (!g) {
+    break a;
+   }
+   if ((e | 0) != 271040) {
+    g = q[e >> 2];
+    Cq(g ? g : 271040);
+    M$(e);
+   }
+   e = q[f >> 2];
+   if (!e) {
+    continue;
+   }
+   break;
+  }
+ }
+ g = 1;
+ b : {
+  if (uA(e, a, c, d)) {
+   break b;
+  }
+  if (rA(Xz(b + 48 | 0), a, c, d)) {
+   break b;
+  }
+  if ($y(vA(b + 52 | 0), a, c, d)) {
+   break b;
+  }
+  e = q[b + 56 >> 2];
+  c : {
+   if (e) {
+    break c;
+   }
+   while (1) {
+    e = q[b >> 2];
+    if (!e) {
+     e = 271040;
+     break c;
+    }
+    f = N$(1, 128);
+    if (f) {
+     wA(f, e);
+    }
+    h = q[b + 56 >> 2];
+    e = f ? f : 271040;
+    q[b + 56 >> 2] = h ? h : e;
+    if (!h) {
+     break c;
+    }
+    if (!(!f | !e)) {
+     Lq(e);
+     M$(e);
+    }
+    e = q[b + 56 >> 2];
+    if (!e) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (vz(e, a, c, d)) {
+   break b;
+  }
+  g = yA(xA(b + 140 | 0), a, c, d);
+ }
+ return g | 0;
+}
+function gf(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ c = c + -3 | 0;
+ if (c >>> 0 <= 1) {
+  b = q[b >> 2];
+  if (c - 1) {
+   c = q[b + 180 >> 2];
+   d = q[b + 188 >> 2];
+   f = (c | 0) > (d | 0) ? c : d;
+   e = q[b + 196 >> 2];
+   q[a >> 2] = q[a >> 2] - ((f | 0) > (e | 0) ? f : e);
+   c = (c | 0) < (d | 0) ? c : d;
+   q[a + 8 >> 2] = q[a + 8 >> 2] - ((c | 0) < (e | 0) ? c : e);
+   c = q[b + 184 >> 2];
+   d = q[b + 192 >> 2];
+   e = (c | 0) > (d | 0) ? c : d;
+   b = q[b + 200 >> 2];
+   q[a + 4 >> 2] = q[a + 4 >> 2] - ((e | 0) > (b | 0) ? e : b);
+   e = a;
+   f = q[a + 12 >> 2];
+   a = (c | 0) < (d | 0) ? c : d;
+   q[e + 12 >> 2] = f - ((a | 0) < (b | 0) ? a : b);
+   return;
+  }
+  c = q[b + 184 >> 2];
+  d = q[b + 192 >> 2];
+  f = (c | 0) > (d | 0) ? c : d;
+  e = q[b + 200 >> 2];
+  q[a >> 2] = q[a >> 2] - ((f | 0) > (e | 0) ? f : e);
+  c = (c | 0) < (d | 0) ? c : d;
+  q[a + 8 >> 2] = q[a + 8 >> 2] - ((c | 0) < (e | 0) ? c : e);
+  c = q[b + 180 >> 2];
+  d = q[b + 188 >> 2];
+  e = (c | 0) < (d | 0) ? c : d;
+  b = q[b + 196 >> 2];
+  q[a + 4 >> 2] = q[a + 4 >> 2] + ((e | 0) < (b | 0) ? e : b);
+  e = a;
+  f = q[a + 12 >> 2];
+  a = (c | 0) > (d | 0) ? c : d;
+  q[e + 12 >> 2] = f + ((a | 0) > (b | 0) ? a : b);
+ }
+}
+function BP(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ o[e + 15 | 0] = 0;
+ o[e + 14 | 0] = b;
+ c = b >>> 8 | 0;
+ o[e + 13 | 0] = c;
+ d = b >>> 16 | 0;
+ o[e + 12 | 0] = d;
+ f = b >>> 24 | 0;
+ o[e + 11 | 0] = f;
+ a : {
+  if (((f + -48 & 255) >>> 0 > 9 ? !((f | 0) == 32 | ((f & 223) + -65 & 255) >>> 0 < 26) : 0) | ((d + -48 & 255) >>> 0 > 9 ? !((d & 255) == 32 | ((d & 223) + -65 & 255) >>> 0 < 26) : 0)) {
+   break a;
+  }
+  if (((c + -48 & 255) >>> 0 > 9 ? !((c & 255) == 32 | ((c & 223) + -65 & 255) >>> 0 < 26) : 0) | ((b + -48 & 255) >>> 0 > 9 ? !((b & 255) == 32 | ((b & 223) + -65 & 255) >>> 0 < 26) : 0)) {
+   break a;
+  }
+  if (r[a | 0]) {
+   b = g0(a) + a | 0;
+   o[b | 0] = 32;
+   o[b + 1 | 0] = 0;
+  }
+  c = g0(a) + a | 0;
+  b = r[444297] | r[444298] << 8 | (r[444299] << 16 | r[444300] << 24);
+  d = r[444293] | r[444294] << 8 | (r[444295] << 16 | r[444296] << 24);
+  o[c | 0] = d;
+  o[c + 1 | 0] = d >>> 8;
+  o[c + 2 | 0] = d >>> 16;
+  o[c + 3 | 0] = d >>> 24;
+  o[c + 4 | 0] = b;
+  o[c + 5 | 0] = b >>> 8;
+  o[c + 6 | 0] = b >>> 16;
+  o[c + 7 | 0] = b >>> 24;
+  b = r[444301] | r[444302] << 8;
+  o[c + 8 | 0] = b;
+  o[c + 9 | 0] = b >>> 8;
+  cZ(a, e + 11 | 0);
+ }
+ Ca = e + 16 | 0;
+}
+function HL(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ a : {
+  if (!a) {
+   e = 37;
+   break a;
+  }
+  e = 6;
+  if (!b) {
+   break a;
+  }
+  f = q[a >> 2];
+  if (!f) {
+   break a;
+  }
+  b : {
+   c = q[a + 72 >> 2];
+   d = 354520;
+   c : {
+    if ((c | 0) == 1651078259) {
+     break c;
+    }
+    d = 354552;
+    if ((c | 0) == 1869968492) {
+     break c;
+    }
+    d = fg(f, c);
+    if (!d) {
+     break b;
+    }
+    d = d + 20 | 0;
+   }
+   c = Oe(q[f >> 2], q[d >> 2], g + 12 | 0);
+   e = q[g + 12 >> 2];
+   if (e) {
+    break a;
+   }
+   q[c + 4 >> 2] = d;
+   q[c >> 2] = f;
+   q[c + 8 >> 2] = q[d + 4 >> 2];
+   e = 6;
+   d : {
+    f = q[a + 64 >> 2];
+    e : {
+     if (f + 2097151 >>> 0 > 4194302) {
+      break e;
+     }
+     h = q[a + 68 >> 2];
+     if (h + 2097151 >>> 0 > 4194302) {
+      break e;
+     }
+     q[c + 16 >> 2] = h << 10;
+     q[c + 12 >> 2] = f << 10;
+     e = n[q[d + 8 >> 2]](c, a) | 0;
+     if (!e) {
+      break d;
+     }
+     d = q[c + 4 >> 2];
+    }
+    a = q[q[c >> 2] >> 2];
+    b = q[d + 12 >> 2];
+    if (b) {
+     n[b](c);
+    }
+    Qe(a, c);
+    break a;
+   }
+   q[b >> 2] = c;
+   e = 0;
+   break a;
+  }
+  e = 18;
+ }
+ Ca = g + 16 | 0;
+ return e;
+}
+function lq(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ a : {
+  b : {
+   f = q[a + 32 >> 2];
+   if (f >>> 0 > b >>> 0) {
+    i = f + -1 | 0;
+    g = f << 1;
+    j = g + 2 | 0;
+    k = q[a + 16 >> 2] + 14 | 0;
+    while (1) {
+     c = (b << 1) + k | 0;
+     e = r[c | 0] << 8 | r[c + 1 | 0];
+     q[a + 44 >> 2] = e;
+     c = c + j | 0;
+     h = r[c | 0] << 8 | r[c + 1 | 0];
+     q[a + 40 >> 2] = h;
+     c = c + g | 0;
+     d = r[c | 0] | r[c + 1 | 0] << 8;
+     q[a + 48 >> 2] = (d << 24 | d << 8 & 16711680) >> 16;
+     d = c + g | 0;
+     c = r[d | 0] << 8 | r[d + 1 | 0];
+     c : {
+      if ((e | 0) != 65535 | b >>> 0 < i >>> 0 | (h | 0) != 65535) {
+       break c;
+      }
+      if (!c) {
+       break b;
+      }
+      e = q[a >> 2];
+      if ((c + d | 0) + 2 >>> 0 <= q[e + 508 >> 2] + q[e + 512 >> 2] >>> 0) {
+       break c;
+      }
+      q[a + 48 >> 2] = 1;
+      break b;
+     }
+     if ((c | 0) != 65535) {
+      if (!c) {
+       break b;
+      }
+      c = c + d | 0;
+      break a;
+     }
+     b = b + 1 | 0;
+     if ((f | 0) != (b | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   return -1;
+  }
+  c = 0;
+ }
+ q[a + 36 >> 2] = b;
+ q[a + 52 >> 2] = c;
+ return 0;
+}
+function aj(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = q[a + 532 >> 2];
+ if (c) {
+  g = q[c + 4 >> 2];
+  d = q[c >> 2];
+  e = q[a + 100 >> 2];
+  Qe(e, q[c + 24 >> 2]);
+  q[c + 24 >> 2] = 0;
+  if (d >>> 0 >= 2) {
+   Z$(c + 28 | 0, 0, (d << 2) + -4 | 0);
+  }
+  b = c + 216 | 0;
+  Qe(e, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = c + 148 | 0;
+  Qe(e, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = c + 288 | 0;
+  Qe(e, q[b >> 2]);
+  q[b >> 2] = 0;
+  if (d) {
+   while (1) {
+    b = (f << 2) + c | 0;
+    q[b + 284 >> 2] = 0;
+    q[b + 144 >> 2] = 0;
+    q[b + 212 >> 2] = 0;
+    f = f + 1 | 0;
+    if ((d | 0) != (f | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  Qe(e, q[c + 136 >> 2]);
+  q[c + 136 >> 2] = 0;
+  q[c + 140 >> 2] = 0;
+  if (g) {
+   d = 0;
+   while (1) {
+    b = ((d << 2) + c | 0) + 8 | 0;
+    Qe(e, q[b >> 2]);
+    f = 0;
+    q[b >> 2] = 0;
+    d = d + 1 | 0;
+    if ((g | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+   while (1) {
+    d = w(f, 12) + c | 0;
+    b = d + 92 | 0;
+    Qe(e, q[b >> 2]);
+    o[d + 88 | 0] = 0;
+    q[b >> 2] = 0;
+    f = f + 1 | 0;
+    if ((g | 0) != (f | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  Qe(e, q[a + 532 >> 2]);
+  q[a + 532 >> 2] = 0;
+ }
+}
+function pC(a, b, c, d, e, f, g, h) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ var i = 0, j = 0, k = 0;
+ a : {
+  b = q[a + 72 >> 2];
+  h = q[b + 172 >> 2];
+  if ((h | 0) != q[160319]) {
+   if (!c) {
+    break a;
+   }
+   j = f, k = n[h](a, q[a + 76 >> 2], q[d >> 2], q[b + 36 >> 2]) | 0, q[j >> 2] = k;
+   b = 1;
+   if ((c | 0) == 1) {
+    break a;
+   }
+   while (1) {
+    f = f + g | 0;
+    d = d + e | 0;
+    h = q[a + 72 >> 2];
+    j = f, k = n[q[h + 172 >> 2]](a, q[a + 76 >> 2], q[d >> 2], q[h + 36 >> 2]) | 0, q[j >> 2] = k;
+    b = b + 1 | 0;
+    if ((c | 0) != (b | 0)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  b = q[a + 12 >> 2];
+  h = q[b + 72 >> 2];
+  n[q[h + 180 >> 2]](b, q[b + 76 >> 2], c, d, e, f, g, q[h + 44 >> 2]);
+  if (!c) {
+   break a;
+  }
+  e = q[a + 12 >> 2];
+  d = 0;
+  while (1) {
+   b = q[f >> 2];
+   b : {
+    if (!e) {
+     break b;
+    }
+    h = q[a + 24 >> 2];
+    i = q[e + 24 >> 2];
+    if ((h | 0) == (i | 0)) {
+     break b;
+    }
+    b = U0(T0(h, h >> 31, b, b >> 31), Ea, i, i >> 31);
+   }
+   q[f >> 2] = b;
+   f = f + g | 0;
+   d = d + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function oC(a, b, c, d, e, f, g, h) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ var i = 0, j = 0, k = 0;
+ a : {
+  b = q[a + 72 >> 2];
+  h = q[b + 168 >> 2];
+  if ((h | 0) != q[160318]) {
+   if (!c) {
+    break a;
+   }
+   j = f, k = n[h](a, q[a + 76 >> 2], q[d >> 2], q[b + 32 >> 2]) | 0, q[j >> 2] = k;
+   b = 1;
+   if ((c | 0) == 1) {
+    break a;
+   }
+   while (1) {
+    f = f + g | 0;
+    d = d + e | 0;
+    h = q[a + 72 >> 2];
+    j = f, k = n[q[h + 168 >> 2]](a, q[a + 76 >> 2], q[d >> 2], q[h + 32 >> 2]) | 0, q[j >> 2] = k;
+    b = b + 1 | 0;
+    if ((c | 0) != (b | 0)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  b = q[a + 12 >> 2];
+  h = q[b + 72 >> 2];
+  n[q[h + 176 >> 2]](b, q[b + 76 >> 2], c, d, e, f, g, q[h + 40 >> 2]);
+  if (!c) {
+   break a;
+  }
+  e = q[a + 12 >> 2];
+  d = 0;
+  while (1) {
+   b = q[f >> 2];
+   b : {
+    if (!e) {
+     break b;
+    }
+    h = q[a + 20 >> 2];
+    i = q[e + 20 >> 2];
+    if ((h | 0) == (i | 0)) {
+     break b;
+    }
+    b = U0(T0(h, h >> 31, b, b >> 31), Ea, i, i >> 31);
+   }
+   q[f >> 2] = b;
+   f = f + g | 0;
+   d = d + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Rj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = Ca + -64 | 0;
+ Ca = d;
+ q[d + 8 >> 2] = 0;
+ n[q[b + 60 >> 2]](b, d + 16 | 0, 4, d + 12 | 0);
+ c = q[d + 12 >> 2];
+ a : {
+  if ((c | 0) <= -1) {
+   c = 162;
+   q[d + 8 >> 2] = 162;
+   break a;
+  }
+  b : {
+   if (!c | (c | 0) >= 5) {
+    break b;
+   }
+   c = Pj(a, 0, c);
+   q[d + 8 >> 2] = c;
+   if (c) {
+    break a;
+   }
+   if (q[d + 12 >> 2] < 1) {
+    c = 0;
+    break a;
+   }
+   h = q[a + 100 >> 2];
+   i = q[a + 532 >> 2];
+   while (1) {
+    a = (d + 16 | 0) + w(f, 12) | 0;
+    c = q[a >> 2];
+    if (r[c | 0] == 47) {
+     c = c + 1 | 0;
+     q[a >> 2] = c;
+    }
+    g = q[a + 4 >> 2] - c | 0;
+    if (!g) {
+     break b;
+    }
+    c = ((f << 2) + i | 0) + 8 | 0;
+    e = q[c >> 2];
+    if (e) {
+     Qe(h, e);
+    }
+    e = Oe(h, g + 1 | 0, d + 8 | 0);
+    q[c >> 2] = e;
+    c = q[d + 8 >> 2];
+    if (c) {
+     break a;
+    }
+    j = Y$(e, q[a >> 2], g) + g | 0, k = 0, o[j | 0] = k;
+    f = f + 1 | 0;
+    if ((f | 0) < q[d + 12 >> 2]) {
+     continue;
+    }
+    break;
+   }
+   c = q[d + 8 >> 2];
+   break a;
+  }
+  c = 3;
+  q[d + 8 >> 2] = 3;
+ }
+ q[b + 12 >> 2] = c;
+ Ca = d - -64 | 0;
+}
+function uF(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ c = q[a + 52 >> 2];
+ b = q[a + 48 >> 2];
+ d = (b | 0) != 0;
+ if ((b | 0) != (d | 0)) {
+  e = c + (b << 2) | 0;
+  b = b - d | 0;
+  c = c + (d << 2) | 0;
+  while (1) {
+   d = q[(b ? c : 271040) >> 2];
+   f = d + 16 | 0;
+   M$(q[f >> 2]);
+   q[f >> 2] = 0;
+   q[d + 8 >> 2] = 0;
+   q[d + 12 >> 2] = 0;
+   d = (b | 0) != 0;
+   b = b - d | 0;
+   c = (d << 2) + c | 0;
+   if ((e | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+  c = q[a + 52 >> 2];
+ }
+ M$(c);
+ q[a + 52 >> 2] = 0;
+ q[a + 44 >> 2] = 0;
+ q[a + 48 >> 2] = 0;
+ vF(a + 56 | 0);
+ b = q[a + 40 >> 2];
+ if (b) {
+  while (1) {
+   q[a + 40 >> 2] = q[b + 20 >> 2];
+   c = b + 16 | 0;
+   M$(q[c >> 2]);
+   q[c >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   b = q[a + 40 >> 2];
+   if (b) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[a + 24 >> 2] = 0;
+ c = q[a + 36 >> 2];
+ b = q[a + 32 >> 2];
+ if (b) {
+  d = (b << 2) + c | 0;
+  while (1) {
+   M$(q[(b ? c : 271040) >> 2]);
+   e = (b | 0) != 0;
+   b = b - e | 0;
+   c = (e << 2) + c | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+  c = q[a + 36 >> 2];
+ }
+ M$(c);
+ q[a + 36 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ q[a + 32 >> 2] = 0;
+}
+function KR(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  if (b >>> 0 > 16777215) {
+   break a;
+  }
+  g = q[a + 12 >> 2] + a | 0;
+  e = q[a + 8 >> 2] + a | 0;
+  f = q[a + 4 >> 2];
+  if (!(f & f + -1)) {
+   b : {
+    if (!f) {
+     e = L$(32);
+     g = L$(16);
+     if (!(!e | !g)) {
+      f = 0;
+      break b;
+     }
+     if (e) {
+      M$(e);
+     }
+     if (!g) {
+      break a;
+     }
+     M$(g);
+     return 0;
+    }
+    h = O$(e, f << 3);
+    if (!h) {
+     break a;
+    }
+    i = f << 2;
+    g = O$(g, i);
+    if (!g) {
+     b = O$(h, i);
+     if (!b) {
+      break a;
+     }
+     q[a + 8 >> 2] = b - a;
+     return 0;
+    }
+    i = h - e | 0;
+    f = q[a + 4 >> 2];
+    if (!(!i | (f | 0) < 1)) {
+     while (1) {
+      e = h + (j << 2) | 0;
+      q[e >> 2] = q[e >> 2] - i;
+      j = j + 1 | 0;
+      if ((j | 0) != (f | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    e = h;
+   }
+   q[a + 12 >> 2] = g - a;
+   q[a + 8 >> 2] = e - a;
+  }
+  i = (d << 2) + e | 0;
+  _$(i + 4 | 0, i, f - d << 2);
+  j = 1;
+  h = (d << 1) + g | 0;
+  _$(h + 2 | 0, h, q[a + 4 >> 2] - d << 1);
+  p[h >> 1] = b >>> 8;
+  q[i >> 2] = c - e;
+  q[a + 4 >> 2] = q[a + 4 >> 2] + 1;
+ }
+ return j;
+}
+function VR(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  e = q[a + 4 >> 2];
+  c = -1;
+  f = q[a + 12 >> 2] + a | 0;
+  b : {
+   if (f) {
+    b = e + -1 | 0;
+    c : {
+     d : {
+      if ((e | 0) < 1) {
+       c = b;
+       break d;
+      }
+      while (1) {
+       c = b >> 1;
+       d = c;
+       if (!s[(b & -2) + f >> 1]) {
+        break c;
+       }
+       d = (b | 0) > 1;
+       c = c + -1 | 0;
+       b = c;
+       if (d) {
+        continue;
+       }
+       break;
+      }
+     }
+     d = (c >>> 31 | 0) + c ^ -1;
+    }
+    c = d;
+    if ((c | 0) > -1) {
+     break b;
+    }
+   }
+   c = c ^ -1;
+   if ((e | 0) == (c | 0)) {
+    break a;
+   }
+  }
+  b = q[a + 8 >> 2] + a | 0;
+  b = q[b + (c << 2) >> 2] + b | 0;
+  if (!b) {
+   break a;
+  }
+  while (1) {
+   g = X0(q[b + 28 >> 2]) + (X0(q[b + 24 >> 2]) + (X0(q[b + 20 >> 2]) + (X0(q[b + 16 >> 2]) + (X0(q[b + 12 >> 2]) + (X0(q[b + 8 >> 2]) + (X0(q[b + 4 >> 2]) + (X0(q[b >> 2]) + g | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0;
+   c = c + 1 | 0;
+   if ((c | 0) >= (e | 0)) {
+    break a;
+   }
+   b = q[a + 8 >> 2] + a | 0;
+   b = q[b + (c << 2) >> 2] + b | 0;
+   if (b) {
+    continue;
+   }
+   break;
+  }
+ }
+ return g;
+}
+function wn(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ e = o[a | 0];
+ if ((e | 0) >= 0) {
+  o[a | 0] = c + e & 127;
+  return 1;
+ }
+ d = 1;
+ f = e & 255;
+ a : {
+  if (f >>> 0 < 192) {
+   break a;
+  }
+  c = ((c & 32767) - (c & 32768) | 0) + 16777216 | 0;
+  g = e & 255;
+  if (g >>> 0 <= 223) {
+   if ((b | 0) < 2) {
+    break a;
+   }
+   b = r[a + 1 | 0];
+   c = (f << 6 & 1984 | b & 63) + c | 0;
+   o[a + 1 | 0] = c & 63 | b & 192;
+   o[a | 0] = c >>> 6 & 31 | 192;
+   return 2;
+  }
+  if (g >>> 0 <= 239) {
+   d = b;
+   if ((b | 0) < 3) {
+    break a;
+   }
+   b = c;
+   c = r[a + 2 | 0];
+   d = r[a + 1 | 0];
+   b = b + ((c | f << 12) & 61503 | (d & 63) << 6) | 0;
+   o[a + 2 | 0] = b & 63 | c & 192;
+   o[a + 1 | 0] = b >>> 6 & 63 | d & 192;
+   o[a | 0] = b >>> 12 & 15 | 224;
+   return 3;
+  }
+  if ((e & 255) >>> 0 > 247) {
+   break a;
+  }
+  d = b;
+  if ((b | 0) < 4) {
+   break a;
+  }
+  b = c;
+  c = r[a + 3 | 0];
+  d = r[a + 2 | 0];
+  e = r[a + 1 | 0];
+  b = b + ((c | f << 18) & 1835071 | (d & 63) << 6 | (e & 63) << 12) | 0;
+  o[a + 3 | 0] = b & 63 | c & 192;
+  o[a + 2 | 0] = b >>> 6 & 63 | d & 192;
+  o[a + 1 | 0] = b >>> 12 & 63 | e & 192;
+  o[a | 0] = b >>> 18 & 7 | 240;
+  d = 4;
+ }
+ return d;
+}
+function cV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     f = b + 4 | 0;
+     if (f >>> 0 > 38) {
+      break d;
+     }
+     e : {
+      switch (f - 1 | 0) {
+      case 36:
+       q[a >> 2] = 915;
+       return 0;
+      case 18:
+       break a;
+      case 29:
+       break b;
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+      case 6:
+      case 7:
+      case 8:
+      case 9:
+      case 10:
+      case 11:
+      case 12:
+      case 13:
+      case 14:
+      case 15:
+      case 16:
+      case 17:
+      case 19:
+      case 20:
+      case 21:
+      case 22:
+      case 23:
+      case 24:
+      case 25:
+      case 26:
+      case 27:
+      case 28:
+      case 30:
+      case 31:
+      case 32:
+      case 33:
+      case 34:
+      case 35:
+       break d;
+      case 37:
+       break e;
+      default:
+       break c;
+      }
+     }
+     b = q[a + 12 >> 2];
+     if (!b) {
+      break b;
+     }
+     q[a + 12 >> 2] = b + -1;
+     return 0;
+    }
+    return eV(a, b, c, d, e) | 0;
+   }
+   if (!q[a + 12 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  g = -1;
+ }
+ return g | 0;
+}
+function sM(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ a : {
+  b : {
+   d = q[a >> 2];
+   if (d) {
+    while (1) {
+     c = q[a + 4 >> 2];
+     g = e << 2;
+     b = q[c + g >> 2];
+     if (b) {
+      while (1) {
+       if (!q[b + 24 >> 2]) {
+        break b;
+       }
+       c = q[b + 28 >> 2];
+       d = q[b + 8 >> 2];
+       if (q[b + 20 >> 2]) {
+        c = c + -1 | 0;
+        q[b + 28 >> 2] = c;
+       }
+       c : {
+        if (c) {
+         q[b >> 2] = 0;
+         break c;
+        }
+        f = q[a + 16 >> 2];
+        if ((f | 0) != q[b + 4 >> 2]) {
+         break a;
+        }
+        c = b + 32 | 0;
+        n[q[f + 16 >> 2]](c + (q[f + 24 >> 2] + 7 & -8) | 0, c);
+        M$(b);
+       }
+       b = d;
+       if (b) {
+        continue;
+       }
+       break;
+      }
+      c = q[a + 4 >> 2];
+      d = q[a >> 2];
+     }
+     q[c + g >> 2] = 0;
+     e = e + 1 | 0;
+     if (e >>> 0 < d >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[a + 20 >> 2] = 0;
+   q[a + 24 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+   q[a + 12 >> 2] = a + 8;
+   q[a + 28 >> 2] = 0;
+   q[a + 32 >> 2] = 0;
+   return;
+  }
+  J(355120, 355131, 518, 355237);
+  F();
+ }
+ J(355253, 355131, 433, 355272);
+ F();
+}
+function tH(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ g = q[(c ? 16 : 12) + b >> 2];
+ b = q[(c ? 8 : 4) + b >> 2];
+ f = w(c, 7452) + a | 0;
+ e = f + 7488 | 0;
+ a : {
+  if (q[f + 7492 >> 2] == (g | 0) ? (b | 0) == q[e >> 2] : 0) {
+   break a;
+  }
+  q[e >> 2] = b;
+  q[f + 48 >> 2] = g;
+  q[f + 44 >> 2] = b;
+  q[f + 7492 >> 2] = g;
+  h = f + 260 | 0;
+  if (!q[h >> 2]) {
+   break a;
+  }
+  f = 0;
+  l = w(c, 7452) + a | 0;
+  while (1) {
+   a = w(f, 28) + l | 0;
+   c = a + 272 | 0;
+   d = a + 264 | 0;
+   e = Ee(q[d >> 2], b) + g | 0;
+   q[c >> 2] = e;
+   i = a + 268 | 0;
+   q[i >> 2] = e;
+   j = a + 284 | 0;
+   e = a + 276 | 0;
+   k = Ee(q[e >> 2], b) + g | 0;
+   q[j >> 2] = k;
+   q[a + 280 >> 2] = k;
+   a = a + 288 | 0;
+   q[a >> 2] = q[a >> 2] & -2;
+   if (Ee(q[d >> 2] - q[e >> 2] | 0, b) + 48 >>> 0 <= 96) {
+    d = q[i >> 2] + 32 & -64;
+    q[c >> 2] = d;
+    e = Fe(d, b) - q[e >> 2] | 0;
+    d = e >> 31;
+    d = Ee(d ^ d + e, b);
+    d = (d | 0) < 32 ? 0 : d + 32 & -64;
+    q[j >> 2] = q[c >> 2] - ((e | 0) < 0 ? 0 - d | 0 : d);
+    q[a >> 2] = q[a >> 2] | 1;
+   }
+   f = f + 1 | 0;
+   if (f >>> 0 < t[h >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function ZD(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = q[c + 76 >> 2];
+ if (e) {
+  d = e + -1 | 0;
+  a = 0;
+  f = q[c + 88 >> 2];
+  b = r[f + 15 | 0];
+  while (1) {
+   a : {
+    if ((a | 0) == (d | 0)) {
+     a = e;
+     break a;
+    }
+    a = a + 1 | 0;
+    if ((b | 0) == r[(w(a, 20) + f | 0) + 15 | 0]) {
+     continue;
+    }
+   }
+   break;
+  }
+  d = 0;
+  g = e;
+  h = f;
+  while (1) {
+   b = a;
+   b : {
+    if (d >>> 0 >= a >>> 0) {
+     break b;
+    }
+    while (1) {
+     a = w(d, 20) + f | 0;
+     if (r[a + 12 | 0] & 16) {
+      o[a + 18 | 0] = 22;
+      g = q[c + 76 >> 2];
+      h = q[c + 88 >> 2];
+      break b;
+     }
+     d = d + 1 | 0;
+     if ((d | 0) != (b | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   a = b + 1 | 0;
+   d = g >>> 0 > a >>> 0 ? g : a;
+   i = d + -1 | 0;
+   j = r[(w(b, 20) + h | 0) + 15 | 0];
+   a = b;
+   while (1) {
+    c : {
+     if ((a | 0) == (i | 0)) {
+      a = d;
+      break c;
+     }
+     a = a + 1 | 0;
+     if (r[(w(a, 20) + h | 0) + 15 | 0] == (j | 0)) {
+      continue;
+     }
+    }
+    break;
+   }
+   d = b;
+   if (d >>> 0 < e >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function YT(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ a = (c - b | 0) + -2 | 0;
+ a : {
+  b : {
+   if (a >>> 0 > 2) {
+    break b;
+   }
+   c : {
+    switch (a - 1 | 0) {
+    default:
+     if (r[b + 1 | 0] != 116) {
+      break b;
+     }
+     a = r[b | 0];
+     return ((a | 0) == 108 ? 60 : (a | 0) == 103 ? 62 : 0) | 0;
+    case 0:
+     if (r[b | 0] != 97 | r[b + 1 | 0] != 109) {
+      break b;
+     }
+     c = 38;
+     if (r[b + 2 | 0] != 112) {
+      break b;
+     }
+     break a;
+    case 1:
+     break c;
+    }
+   }
+   a = o[b | 0] + -97 | 0;
+   if (a >>> 0 > 16) {
+    break b;
+   }
+   d : {
+    switch (a - 1 | 0) {
+    case 15:
+     if (r[b + 1 | 0] != 117 | r[b + 2 | 0] != 111) {
+      break b;
+     }
+     c = 34;
+     if (r[b + 3 | 0] != 116) {
+      break b;
+     }
+     break a;
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 14:
+     break b;
+    default:
+     break d;
+    }
+   }
+   if (r[b + 1 | 0] != 112 | r[b + 2 | 0] != 111) {
+    break b;
+   }
+   c = 39;
+   if (r[b + 3 | 0] == 115) {
+    break a;
+   }
+  }
+  c = 0;
+ }
+ return c | 0;
+}
+function Ke(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = q[a + 4 >> 2];
+ b = h >> 31;
+ b = b ^ b + h;
+ i = q[a >> 2];
+ d = i >> 31;
+ c = d ^ d + i;
+ if (!c) {
+  if (!b) {
+   return 0;
+  }
+  q[a + 4 >> 2] = (h | 0) < 0 ? -65536 : 65536;
+  return b;
+ }
+ if (!b) {
+  q[a >> 2] = (i | 0) < 0 ? -65536 : 65536;
+  return c;
+ }
+ e = c >>> 0 > b >>> 0 ? c + (b >>> 1 | 0) | 0 : b + (c >>> 1 | 0) | 0;
+ d = z(e);
+ d = d - (e >>> 0 < -1431655766 >>> d >>> 0 ? 15 : 16) | 0;
+ a : {
+  if ((d | 0) >= 1) {
+   c = c << d;
+   b = b << d;
+   e = c >>> 0 > b >>> 0 ? c + (b >>> 1 | 0) | 0 : (c >>> 1 | 0) + b | 0;
+   break a;
+  }
+  f = 0 - d | 0;
+  e = e >>> f | 0;
+  b = b >>> f | 0;
+  c = c >>> f | 0;
+ }
+ e = 65536 - e | 0;
+ while (1) {
+  f = (w(c, e) >> 16) + c | 0;
+  g = (w(b, e) >> 16) + b | 0;
+  j = w((w(f, f) + w(g, g) | 0) / -512 | 0, e + 65536 >> 8);
+  e = ((j | 0) / 65536 | 0) + e | 0;
+  if ((j | 0) > 65535) {
+   continue;
+  }
+  break;
+ }
+ q[a + 4 >> 2] = (h | 0) < 0 ? 0 - g | 0 : g;
+ q[a >> 2] = (i | 0) < 0 ? 0 - f | 0 : f;
+ a = ((w(c, f) + w(b, g) | 0) / 65536 | 0) + 65536 | 0;
+ if ((d | 0) >= 1) {
+  return a + (1 << d + -1) >>> d | 0;
+ }
+ return a << 0 - d;
+}
+function zW(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ a : {
+  b : {
+   d = q[a + 300 >> 2];
+   if (d) {
+    q[a + 300 >> 2] = q[d + 8 >> 2];
+    break b;
+   }
+   d = n[q[a + 12 >> 2]](24) | 0;
+   if (d) {
+    break b;
+   }
+   c = 1;
+   break a;
+  }
+  q[b + 12 >> 2] = 0;
+  o[b + 32 | 0] = 1;
+  q[d + 8 >> 2] = q[a + 296 >> 2];
+  q[a + 296 >> 2] = d;
+  q[d + 12 >> 2] = b;
+  f = q[a + 308 >> 2];
+  o[d + 20 | 0] = c;
+  q[d + 16 >> 2] = f;
+  q[d >> 2] = 0;
+  q[d + 4 >> 2] = 0;
+  c = q[b + 8 >> 2];
+  f = q[b + 4 >> 2];
+  q[e + 12 >> 2] = f;
+  g = c + f | 0;
+  c : {
+   if (r[b + 33 | 0]) {
+    c = q[a + 224 >> 2];
+    c = n[q[c >> 2]](c, f, g, e + 12 | 0) | 0;
+    c = lW(a, q[a + 224 >> 2], f, g, c, q[e + 12 >> 2], e + 12 | 0, 0, 0);
+    break c;
+   }
+   c = oW(a, q[a + 308 >> 2], q[a + 224 >> 2], f, g, e + 12 | 0, 0);
+  }
+  if (c) {
+   break a;
+  }
+  c = q[e + 12 >> 2];
+  if (!((c | 0) == (g | 0) | q[a + 476 >> 2] != 3)) {
+   q[b + 12 >> 2] = c - f;
+   q[a + 276 >> 2] = 975;
+   c = 0;
+   break a;
+  }
+  c = 0;
+  o[b + 32 | 0] = 0;
+  q[a + 296 >> 2] = q[d + 8 >> 2];
+  q[d + 8 >> 2] = q[a + 300 >> 2];
+  q[a + 300 >> 2] = d;
+ }
+ Ca = e + 16 | 0;
+ return c;
+}
+function iu(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ e = Ca - 48 | 0;
+ Ca = e;
+ q[d >> 2] = 0;
+ q[c >> 2] = 0;
+ f = q[a + 72 >> 2];
+ a : {
+  if (n[q[f + 188 >> 2]](a, q[a + 76 >> 2], b, c, d, q[f + 52 >> 2])) {
+   break a;
+  }
+  q[d >> 2] = 0;
+  q[c >> 2] = 0;
+  f = q[a + 72 >> 2];
+  if (!n[q[f + 184 >> 2]](a, q[a + 76 >> 2], b, c, d, q[f + 48 >> 2])) {
+   break a;
+  }
+  f = b;
+  b = q[a + 72 >> 2];
+  b = n[q[b + 168 >> 2]](a, q[a + 76 >> 2], f, q[b + 32 >> 2]) | 0;
+  q[e + 40 >> 2] = 0;
+  q[e + 44 >> 2] = 0;
+  q[e + 32 >> 2] = 0;
+  q[e + 36 >> 2] = 0;
+  q[e + 24 >> 2] = 0;
+  q[e + 28 >> 2] = 0;
+  q[e + 16 >> 2] = 0;
+  q[e + 20 >> 2] = 0;
+  q[e + 8 >> 2] = 0;
+  q[e + 12 >> 2] = 0;
+  q[e >> 2] = 0;
+  q[e + 4 >> 2] = 0;
+  h = (b | 0) / 2 | 0;
+  b = q[a + 72 >> 2];
+  b : {
+   if (n[q[b + 148 >> 2]](a, q[a + 76 >> 2], e, q[b + 12 >> 2])) {
+    a = q[e >> 2];
+    break b;
+   }
+   f = q[a + 24 >> 2];
+   q[e + 8 >> 2] = 0;
+   b = e;
+   g = +(f | 0) * .8;
+   c : {
+    if (y(g) < 2147483648) {
+     a = ~~g;
+     break c;
+    }
+    a = -2147483648;
+   }
+   q[b >> 2] = a;
+   q[e + 4 >> 2] = a - f;
+  }
+  q[c >> 2] = h + q[c >> 2];
+  q[d >> 2] = q[d >> 2] + a;
+ }
+ Ca = e + 48 | 0;
+}
+function hu(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ e = Ca - 48 | 0;
+ Ca = e;
+ q[d >> 2] = 0;
+ q[c >> 2] = 0;
+ f = q[a + 72 >> 2];
+ a : {
+  if (n[q[f + 184 >> 2]](a, q[a + 76 >> 2], b, c, d, q[f + 48 >> 2])) {
+   break a;
+  }
+  q[d >> 2] = 0;
+  q[c >> 2] = 0;
+  f = q[a + 72 >> 2];
+  if (!n[q[f + 188 >> 2]](a, q[a + 76 >> 2], b, c, d, q[f + 52 >> 2])) {
+   break a;
+  }
+  f = b;
+  b = q[a + 72 >> 2];
+  b = n[q[b + 168 >> 2]](a, q[a + 76 >> 2], f, q[b + 32 >> 2]) | 0;
+  q[e + 40 >> 2] = 0;
+  q[e + 44 >> 2] = 0;
+  q[e + 32 >> 2] = 0;
+  q[e + 36 >> 2] = 0;
+  q[e + 24 >> 2] = 0;
+  q[e + 28 >> 2] = 0;
+  q[e + 16 >> 2] = 0;
+  q[e + 20 >> 2] = 0;
+  q[e + 8 >> 2] = 0;
+  q[e + 12 >> 2] = 0;
+  q[e >> 2] = 0;
+  q[e + 4 >> 2] = 0;
+  h = (b | 0) / 2 | 0;
+  b = q[a + 72 >> 2];
+  b : {
+   if (n[q[b + 148 >> 2]](a, q[a + 76 >> 2], e, q[b + 12 >> 2])) {
+    a = q[e >> 2];
+    break b;
+   }
+   f = q[a + 24 >> 2];
+   q[e + 8 >> 2] = 0;
+   b = e;
+   g = +(f | 0) * .8;
+   c : {
+    if (y(g) < 2147483648) {
+     a = ~~g;
+     break c;
+    }
+    a = -2147483648;
+   }
+   q[b >> 2] = a;
+   q[e + 4 >> 2] = a - f;
+  }
+  q[c >> 2] = q[c >> 2] - h;
+  q[d >> 2] = q[d >> 2] - a;
+ }
+ Ca = e + 48 | 0;
+}
+function Nu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ c = ct(c ? c + a | 0 : 271040, q[q[b + 4 >> 2] >> 2]);
+ a : {
+  b : {
+   if ((c | 0) == -1) {
+    break b;
+   }
+   d = a;
+   a = (r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0 > c >>> 0 ? ((c << 1) + a | 0) + 6 | 0 : 271040;
+   a = r[a | 0] << 8 | r[a + 1 | 0];
+   e = a ? d + a | 0 : 271040;
+   f = r[e | 0] << 8 | r[e + 1 | 0];
+   if (!f) {
+    break b;
+   }
+   d = e + 2 | 0;
+   g = q[b + 8 >> 2];
+   while (1) {
+    c : {
+     a = r[d + 1 | 0] | r[d | 0] << 8;
+     h = a ? a + e | 0 : 271040;
+     if ((r[h + 2 | 0] << 8 | r[h + 3 | 0]) != (g | 0)) {
+      break c;
+     }
+     if (g >>> 0 < 2) {
+      return 1;
+     }
+     i = q[b + 4 >> 2];
+     c = 1;
+     while (1) {
+      a = g >>> 0 > c >>> 0 ? ((c << 1) + h | 0) + 2 | 0 : 271040;
+      if (q[(c << 2) + i >> 2] != (r[a | 0] << 8 | r[a + 1 | 0])) {
+       break c;
+      }
+      a = 1;
+      c = c + 1 | 0;
+      if ((g | 0) != (c | 0)) {
+       continue;
+      }
+      break;
+     }
+     break a;
+    }
+    d = d + 2 | 0;
+    f = f + -1 | 0;
+    if (f) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = 0;
+ }
+ return a;
+}
+function gu(a, b, c) {
+ var d = 0, e = 0, f = 0, g = x(0), h = 0, i = 0;
+ a : {
+  b : {
+   e = r[a + 5 | 0];
+   d = r[a + 4 | 0];
+   f = e | d << 8;
+   if (f + -1 >>> 0 >= 3) {
+    if ((f | 0) != 32768) {
+     break a;
+    }
+    g = x(ju(a, b, c) * x(q[b + 24 >> 2]));
+    b = q[b + 16 >> 2];
+    a = q[b + 28 >> 2];
+    if (!a) {
+     a = XF(b);
+    }
+    g = x(S(x(x(g / x(a >>> 0)))));
+    if (!(x(y(g)) < x(2147483648))) {
+     break b;
+    }
+    return ~~g;
+   }
+   c = q[b + 52 >> 2];
+   if (!c) {
+    break a;
+   }
+   d = e | d << 8;
+   if (d + -1 >>> 0 > 2) {
+    break a;
+   }
+   e = r[a + 1 | 0] | r[a | 0] << 8;
+   if (c >>> 0 < e >>> 0 | (r[a + 3 | 0] | r[a + 2 | 0] << 8) >>> 0 < c >>> 0) {
+    break a;
+   }
+   h = a;
+   a = c - e | 0;
+   e = 4 - d | 0;
+   f = a >>> e | 0;
+   f = (f | 0) < 0 ? 271040 : (h + (f << 1) | 0) + 6 | 0;
+   h = (r[f | 0] << 8 | r[f + 1 | 0]) >>> 16 - ((a & (-1 << e ^ -1)) + 1 << d) | 0;
+   a = 65535 >>> 16 - (1 << d) | 0;
+   d = h & a;
+   a = a + 1 | 0;
+   a = d - (d >>> 0 < a >>> 1 >>> 0 ? 0 : a) | 0;
+   if (!a) {
+    break a;
+   }
+   b = q[b + 24 >> 2];
+   return U0(T0(b, b >> 31, a, a >> 31), Ea, c, 0);
+  }
+  i = -2147483648;
+ }
+ return i;
+}
+function fu(a, b, c) {
+ var d = 0, e = 0, f = 0, g = x(0), h = 0, i = 0;
+ a : {
+  b : {
+   e = r[a + 5 | 0];
+   d = r[a + 4 | 0];
+   f = e | d << 8;
+   if (f + -1 >>> 0 >= 3) {
+    if ((f | 0) != 32768) {
+     break a;
+    }
+    g = x(ju(a, b, c) * x(q[b + 20 >> 2]));
+    b = q[b + 16 >> 2];
+    a = q[b + 28 >> 2];
+    if (!a) {
+     a = XF(b);
+    }
+    g = x(S(x(x(g / x(a >>> 0)))));
+    if (!(x(y(g)) < x(2147483648))) {
+     break b;
+    }
+    return ~~g;
+   }
+   c = q[b + 48 >> 2];
+   if (!c) {
+    break a;
+   }
+   d = e | d << 8;
+   if (d + -1 >>> 0 > 2) {
+    break a;
+   }
+   e = r[a + 1 | 0] | r[a | 0] << 8;
+   if (c >>> 0 < e >>> 0 | (r[a + 3 | 0] | r[a + 2 | 0] << 8) >>> 0 < c >>> 0) {
+    break a;
+   }
+   h = a;
+   a = c - e | 0;
+   e = 4 - d | 0;
+   f = a >>> e | 0;
+   f = (f | 0) < 0 ? 271040 : (h + (f << 1) | 0) + 6 | 0;
+   h = (r[f | 0] << 8 | r[f + 1 | 0]) >>> 16 - ((a & (-1 << e ^ -1)) + 1 << d) | 0;
+   a = 65535 >>> 16 - (1 << d) | 0;
+   d = h & a;
+   a = a + 1 | 0;
+   a = d - (d >>> 0 < a >>> 1 >>> 0 ? 0 : a) | 0;
+   if (!a) {
+    break a;
+   }
+   b = q[b + 20 >> 2];
+   return U0(T0(b, b >> 31, a, a >> 31), Ea, c, 0);
+  }
+  i = -2147483648;
+ }
+ return i;
+}
+function vh(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ if (o[a + 741 | 0] & 1) {
+  a : {
+   h = q[a + 736 >> 2];
+   c = q[h + 56 >> 2];
+   e = s[c >> 1];
+   if (!e) {
+    break a;
+   }
+   b = q[c + 24 >> 2];
+   i = b + w(e, 12) | 0;
+   while (1) {
+    e = Di(a, q[b >> 2]);
+    d = Pi(a, c + 4 | 0, s[b + 4 >> 1], s[b + 6 >> 1]);
+    b : {
+     c : {
+      if (!e) {
+       break c;
+      }
+      p[e >> 1] = s[b + 8 >> 1] + d;
+      c = q[b >> 2];
+      if ((c | 0) == 1751216995) {
+       break b;
+      }
+      if ((c | 0) != 1751934832) {
+       if ((c | 0) != 1751413603) {
+        break c;
+       }
+       f = d;
+       break c;
+      }
+      j = d;
+     }
+     d = g;
+    }
+    b = b + 12 | 0;
+    if (b >>> 0 >= i >>> 0) {
+     break a;
+    }
+    c = q[h + 56 >> 2];
+    g = d;
+    continue;
+   }
+  }
+  g = s[a + 72 >> 1];
+  f = g + f | 0;
+  p[a + 72 >> 1] = f;
+  b = d;
+  d = s[a + 70 >> 1];
+  b = b + d | 0;
+  p[a + 70 >> 1] = b;
+  c = p[a + 486 >> 1];
+  p[a + 82 >> 1] = c;
+  p[a + 80 >> 1] = s[a + 484 >> 1] - ((c | 0) / 2 | 0);
+  p[a + 74 >> 1] = (b + (g + ((s[a + 74 >> 1] + j | 0) - d | 0) | 0) | 0) - f;
+  $g(a + 108 | 0, 28);
+ }
+}
+function Mv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = q[b + 4 >> 2];
+ a : {
+  if (f >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 4) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  if ((g | 0) < 1) {
+   break a;
+  }
+  e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+  if (e >>> 0 > 536870910) {
+   break a;
+  }
+  if (e) {
+   i = f;
+   f = a + 4 | 0;
+   if (i >>> 0 > f >>> 0 | d >>> 0 < f >>> 0 | d - f >>> 0 < e << 3 >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = g + -2;
+   if ((g | 0) < 2) {
+    break a;
+   }
+   h = 1;
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   g = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (!g) {
+    break a;
+   }
+   h = 0;
+   d = 0;
+   while (1) {
+    e = (d << 3) + a | 0;
+    f = q[c >> 2];
+    if (!nw(e + 4 | 0, b, f)) {
+     break a;
+    }
+    if (!ow(e + 8 | 0, b, f)) {
+     break a;
+    }
+    d = d + 1 | 0;
+    if ((g | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  h = 1;
+ }
+ return h;
+}
+function Lm(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  d = q[a + 100 >> 2];
+  b = a + 292 | 0;
+  Qe(d, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 308 | 0;
+  Qe(d, q[b >> 2]);
+  q[b >> 2] = 0;
+  c = q[a + 284 >> 2];
+  if (c) {
+   b = d;
+   if (q[a + 280 >> 2] >= 1) {
+    while (1) {
+     b : {
+      if (!c) {
+       break b;
+      }
+      c = w(e, 12) + c | 0;
+      Qe(d, q[c >> 2]);
+      q[c >> 2] = 0;
+      if (!r[c + 4 | 0]) {
+       break b;
+      }
+      Qe(d, q[c + 8 >> 2]);
+      q[c + 8 >> 2] = 0;
+     }
+     e = e + 1 | 0;
+     if ((e | 0) < q[a + 280 >> 2]) {
+      c = q[a + 284 >> 2];
+      continue;
+     }
+     break;
+    }
+    c = q[a + 284 >> 2];
+   }
+   Qe(b, c);
+   q[a + 284 >> 2] = 0;
+  }
+  b = a + 192 | 0;
+  Qe(d, q[b >> 2]);
+  q[b >> 2] = 0;
+  Qe(d, q[a + 20 >> 2]);
+  q[a + 20 >> 2] = 0;
+  Qe(d, q[a + 24 >> 2]);
+  q[a + 24 >> 2] = 0;
+  Qe(d, q[a + 32 >> 2]);
+  q[a + 32 >> 2] = 0;
+  b = a + 176 | 0;
+  Qe(d, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 180 | 0;
+  Qe(d, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = q[a + 104 >> 2];
+  if ((b | 0) != (a + 132 | 0)) {
+   break a;
+  }
+  of(b);
+  q[a + 104 >> 2] = q[a + 172 >> 2];
+ }
+}
+function VA(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ i = q[b + 4 >> 2];
+ a : {
+  if (i >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 4) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  h = g + -1 | 0;
+  q[b + 12 >> 2] = h;
+  if ((g | 0) < 1) {
+   break a;
+  }
+  e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  j = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+  e = 0;
+  b : {
+   if (!j) {
+    break b;
+   }
+   e = 0;
+   if (f >>> 0 < c >>> 0 | i >>> 0 > c >>> 0 | f - c >>> 0 < j >>> 0) {
+    break a;
+   }
+   h = g + -2 | 0;
+   q[b + 12 >> 2] = h;
+   if ((g | 0) < 2) {
+    break a;
+   }
+   a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   e = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  }
+  g = e;
+  a = q[d >> 2];
+  c : {
+   if (a >>> 0 > 2147483646) {
+    break c;
+   }
+   e = 1;
+   if (!a) {
+    break a;
+   }
+   c = c + g | 0;
+   if (i >>> 0 > c >>> 0 | f >>> 0 < c >>> 0 | f - c >>> 0 < a << 1 >>> 0) {
+    break c;
+   }
+   q[b + 12 >> 2] = h + -1;
+   if ((h | 0) > 0) {
+    break a;
+   }
+  }
+  e = 0;
+ }
+ return e;
+}
+function lA(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ var g = 0, h = 0;
+ a : {
+  b : {
+   a = zA(b + 24 | 0);
+   f = q[a + 4 >> 2];
+   c : {
+    if ((f | 0) != 131072) {
+     if ((f | 0) != 65536 | c >>> 0 > 257) {
+      break b;
+     }
+     a = c << 2;
+     f = q[a + 247792 >> 2];
+     a = q[a + 247796 >> 2] + (f ^ -1) | 0;
+     f = f + 248828 | 0;
+     break c;
+    }
+    f = q[a + 8 >> 2];
+    if ((r[f | 0] << 8 | r[f + 1 | 0]) >>> 0 <= c >>> 0) {
+     break b;
+    }
+    f = f + (c << 1) | 0;
+    f = r[f + 2 | 0] << 8 | r[f + 3 | 0];
+    if (f >>> 0 <= 257) {
+     a = f << 2;
+     f = q[a + 247792 >> 2];
+     a = q[a + 247796 >> 2] + (f ^ -1) | 0;
+     f = f + 248828 | 0;
+     break c;
+    }
+    f = f + -258 | 0;
+    if (f >>> 0 >= t[a + 16 >> 2]) {
+     break b;
+    }
+    a = q[a + 24 >> 2] + q[q[a + 20 >> 2] + (f << 2) >> 2] | 0;
+    f = a + 1 | 0;
+    a = r[a | 0];
+   }
+   if (!a) {
+    break b;
+   }
+   b = 1;
+   if (!e) {
+    break a;
+   }
+   b = e + -1 | 0;
+   a = b >>> 0 > a >>> 0 ? a : b;
+   g = lZ(d, f, a) + a | 0, h = 0, o[g | 0] = h;
+   return 1;
+  }
+  b = AA(vA(b + 52 | 0), c, d, e);
+ }
+ return b | 0;
+}
+function js(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  i = q[b + 4 >> 2];
+  if (i >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 4) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  h = 1;
+  if ((g | 0) < 1) {
+   break a;
+  }
+  f = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  f = f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24);
+  b : {
+   if (!f) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | i >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < f >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = g + -2;
+   if ((g | 0) < 2) {
+    break a;
+   }
+   e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+   if (!e) {
+    break b;
+   }
+   if (ks(c + e | 0, b, q[d >> 2])) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   h = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   o[a + 2 | 0] = 0;
+   o[a + 3 | 0] = 0;
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function ih(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0;
+ b = g0(c);
+ f = b + 18 | 0;
+ a : {
+  b : {
+   if ((b | 0) <= -18) {
+    a = 6;
+    if (f) {
+     break a;
+    }
+    a = 0;
+    break b;
+   }
+   a = q[a >> 2];
+   a = n[q[a + 4 >> 2]](a, f) | 0;
+   if (!a) {
+    return 64;
+   }
+   Z$(a, 0, f);
+  }
+  f = Y$(a, c, b);
+  b = f + b | 0;
+  a = r[4052] | r[4053] << 8;
+  o[b + 16 | 0] = a;
+  o[b + 17 | 0] = a >>> 8;
+  a = r[4048] | r[4049] << 8 | (r[4050] << 16 | r[4051] << 24);
+  c = r[4044] | r[4045] << 8 | (r[4046] << 16 | r[4047] << 24);
+  o[b + 8 | 0] = c;
+  o[b + 9 | 0] = c >>> 8;
+  o[b + 10 | 0] = c >>> 16;
+  o[b + 11 | 0] = c >>> 24;
+  o[b + 12 | 0] = a;
+  o[b + 13 | 0] = a >>> 8;
+  o[b + 14 | 0] = a >>> 16;
+  o[b + 15 | 0] = a >>> 24;
+  a = r[4040] | r[4041] << 8 | (r[4042] << 16 | r[4043] << 24);
+  c = r[4036] | r[4037] << 8 | (r[4038] << 16 | r[4039] << 24);
+  o[b | 0] = c;
+  o[b + 1 | 0] = c >>> 8;
+  o[b + 2 | 0] = c >>> 16;
+  o[b + 3 | 0] = c >>> 24;
+  o[b + 4 | 0] = a;
+  o[b + 5 | 0] = a >>> 8;
+  o[b + 6 | 0] = a >>> 16;
+  o[b + 7 | 0] = a >>> 24;
+  q[d >> 2] = f;
+  q[e >> 2] = 0;
+  a = 0;
+ }
+ return a | 0;
+}
+function YB(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  i = q[b + 4 >> 2];
+  if (i >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 4) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  h = 1;
+  if ((g | 0) < 1) {
+   break a;
+  }
+  f = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  f = f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24);
+  b : {
+   if (!f) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | i >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < f >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = g + -2;
+   if ((g | 0) < 2) {
+    break a;
+   }
+   e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+   if (!e) {
+    break b;
+   }
+   if (ZB(c + e | 0, b, q[d >> 2])) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   h = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   o[a + 2 | 0] = 0;
+   o[a + 3 | 0] = 0;
+   h = 1;
+  }
+  return h;
+ }
+ return 0;
+}
+function Cr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  b : {
+   if (t[b + 4 >> 2] > a >>> 0) {
+    break b;
+   }
+   c = q[b + 8 >> 2];
+   if (c >>> 0 < a >>> 0) {
+    break b;
+   }
+   d = c - a | 0;
+   if (d >>> 0 < 2) {
+    break b;
+   }
+   c = q[b + 12 >> 2];
+   q[b + 12 >> 2] = c + -1;
+   if ((c | 0) < 1) {
+    break b;
+   }
+   e = r[a + 1 | 0] | r[a | 0] << 8;
+   if (e >>> 0 < 9 | d >>> 0 < e >>> 0) {
+    break b;
+   }
+   q[b + 12 >> 2] = c + -2;
+   if ((c | 0) < 2) {
+    break b;
+   }
+   d = q[b + 28 >> 2];
+   c = q[d + 12 >> 2];
+   q[b + 4 >> 2] = c;
+   e = q[d + 16 >> 2];
+   d = e + c | 0;
+   q[b + 8 >> 2] = d;
+   if ((e | 0) <= -1) {
+    break a;
+   }
+   c : {
+    if (!(d >>> 0 > a >>> 0 ? a >>> 0 >= c >>> 0 : 0)) {
+     q[b + 4 >> 2] = 0;
+     q[b + 8 >> 2] = 0;
+     break c;
+    }
+    q[b + 4 >> 2] = a;
+    c = r[a + 1 | 0] | r[a | 0] << 8;
+    d = d - a | 0;
+    q[b + 8 >> 2] = (d >>> 0 > c >>> 0 ? c : d) + a;
+   }
+   f = Dr(a, b);
+   a = q[b + 28 >> 2];
+   c = q[a + 12 >> 2];
+   q[b + 4 >> 2] = c;
+   a = q[a + 16 >> 2];
+   q[b + 8 >> 2] = a + c;
+   if ((a | 0) <= -1) {
+    break a;
+   }
+  }
+  return f;
+ }
+ J(228144, 228169, 195, 228186);
+ F();
+}
+function wJ(a, b) {
+ var c = 0, d = 0;
+ c = q[a >> 2];
+ a : {
+  if (c >>> 0 >= b >>> 0) {
+   break a;
+  }
+  while (1) {
+   d = r[c | 0];
+   if (d >>> 0 > 37) {
+    break a;
+   }
+   b : {
+    c : {
+     switch (d - 1 | 0) {
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 10:
+     case 13:
+     case 14:
+     case 15:
+     case 16:
+     case 17:
+     case 18:
+     case 19:
+     case 20:
+     case 21:
+     case 22:
+     case 23:
+     case 24:
+     case 25:
+     case 26:
+     case 27:
+     case 28:
+     case 29:
+     case 30:
+     case 32:
+     case 33:
+     case 34:
+     case 35:
+      break a;
+     case 36:
+      break c;
+     default:
+      break b;
+     }
+    }
+    while (1) {
+     d : {
+      d = d + -10 | 0;
+      if (d >>> 0 > 3) {
+       break d;
+      }
+      switch (d - 1 | 0) {
+      case 0:
+      case 1:
+       break d;
+      default:
+       break b;
+      }
+     }
+     c = c + 1 | 0;
+     if ((c | 0) != (b | 0)) {
+      d = r[c | 0];
+      continue;
+     }
+     break;
+    }
+    c = b;
+   }
+   c = c + 1 | 0;
+   if (c >>> 0 < b >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[a >> 2] = c;
+}
+
+
+
+function Du(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ j = 1;
+ a : {
+  if (r[b + 12 | 0] != 1) {
+   break a;
+  }
+  f = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (!f) {
+   break a;
+  }
+  q[b + 16 >> 2] = -1;
+  c = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  g = nF(b, c);
+  b : {
+   if (!g) {
+    break b;
+   }
+   e = a + 4 | 0;
+   a = c;
+   while (1) {
+    k = c + 512 & -512;
+    d = a;
+    h = e;
+    while (1) {
+     a = c;
+     if (a >>> 0 < d >>> 0) {
+      break b;
+     }
+     d = (a >>> 3 & 56) + g | 0;
+     c = d;
+     i = q[c + 4 >> 2];
+     l = c;
+     m = q[c >> 2];
+     e = a & 63;
+     d = e & 31;
+     if (32 <= (e & 63) >>> 0) {
+      e = 1 << d;
+      d = 0;
+     } else {
+      e = (1 << d) - 1 & 1 >>> 32 - d;
+      d = 1 << d;
+     }
+     q[l >> 2] = m | d;
+     q[c + 4 >> 2] = e | i;
+     f = f + -1 | 0;
+     if (!f) {
+      break a;
+     }
+     c = r[h + 2 | 0];
+     i = r[h + 3 | 0];
+     d = a;
+     e = h + 2 | 0;
+     h = e;
+     c = c << 8 | i;
+     if (c >>> 0 < k >>> 0) {
+      continue;
+     }
+     break;
+    }
+    g = nF(b, c);
+    if (g) {
+     continue;
+    }
+    break;
+   }
+  }
+  j = 0;
+ }
+ return j;
+}
+function NV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ a : {
+  b : {
+   c : {
+    g = b + -15 | 0;
+    if (g >>> 0 > 26) {
+     break c;
+    }
+    f = 39;
+    d : {
+     switch (g - 1 | 0) {
+     case 4:
+      if (!n[q[e + 24 >> 2]](e, q[e + 64 >> 2] + c | 0, d, 496508)) {
+       break b;
+      }
+      q[a >> 2] = 954;
+      return 43;
+     case 7:
+      q[a >> 2] = 955;
+      q[a + 4 >> 2] = 2;
+      return 44;
+     case 2:
+     case 25:
+      q[a >> 2] = 956;
+      return 51;
+     case 14:
+      q[a >> 2] = 956;
+      return 53;
+     case 15:
+      q[a >> 2] = 956;
+      return 52;
+     case 0:
+     case 1:
+     case 3:
+     case 5:
+     case 6:
+     case 8:
+     case 9:
+     case 10:
+     case 11:
+     case 12:
+     case 13:
+     case 17:
+     case 18:
+     case 19:
+     case 20:
+     case 21:
+     case 22:
+     case 23:
+     case 24:
+      break c;
+     case 16:
+      break d;
+     default:
+      break a;
+     }
+    }
+    q[a >> 2] = 956;
+    return 54;
+   }
+   if ((b | 0) != 28) {
+    break b;
+   }
+   f = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  f = -1;
+ }
+ return f | 0;
+}
+function KA(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 8) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((r[a + 1 | 0] | r[a | 0] << 8) != 1 | (c | 0) < 1) {
+   break a;
+  }
+  if (!hv(a + 2 | 0, b, a)) {
+   break a;
+  }
+  e = q[b + 4 >> 2];
+  d = a + 6 | 0;
+  if (e >>> 0 > d >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < d >>> 0 | c - d >>> 0 < 2) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  f = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+  if (!f) {
+   return 1;
+  }
+  h = e;
+  e = a + 8 | 0;
+  if (h >>> 0 > e >>> 0 | c >>> 0 < e >>> 0 | c - e >>> 0 < f << 2 >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = d + -2;
+  if ((d | 0) < 2) {
+   break a;
+  }
+  g = 1;
+  d = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+  if (!d) {
+   break a;
+  }
+  c = 0;
+  b : {
+   while (1) {
+    if (!iv(((c << 2) + a | 0) + 8 | 0, b, a)) {
+     break b;
+    }
+    c = c + 1 | 0;
+    if ((d | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   return 1;
+  }
+  g = 0;
+ }
+ return g;
+}
+function $A(a, b, c, d) {
+ var e = 0, f = 0, g = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ f = q[a >> 2];
+ e = q[a + 4 >> 2];
+ q[d + 24 >> 2] = q[a + 8 >> 2];
+ q[d + 20 >> 2] = e;
+ q[d + 16 >> 2] = f;
+ q[d + 8 >> 2] = b;
+ b = 0;
+ q[d + 4 >> 2] = 0;
+ q[d + 12 >> 2] = 0;
+ a = e >>> 0 < 4 ? 271040 : f;
+ q[d >> 2] = a;
+ q[d + 28 >> 2] = a + 4;
+ e = o[a | 0];
+ f = 0;
+ a : {
+  b : {
+   if ((e | 0) > -1) {
+    break b;
+   }
+   e = a;
+   a = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   a = a ? e + a | 0 : 271040;
+   q[g + 12 >> 2] = a;
+   if (!bB(g + 12 | 0, c, d + 16 | 0)) {
+    break a;
+   }
+   q[d + 12 >> 2] = q[g + 12 >> 2] - a;
+   a = q[d >> 2];
+   e = r[a | 0];
+   f = q[d + 4 >> 2];
+  }
+  if (f >>> 0 >= (r[a + 1 | 0] | e << 8 & 3840) >>> 0) {
+   break a;
+  }
+  c = q[d + 16 >> 2];
+  a = q[d + 28 >> 2];
+  if (c >>> 0 > a >>> 0) {
+   break a;
+  }
+  c = c + q[d + 20 >> 2] | 0;
+  if (a >>> 0 > c >>> 0) {
+   break a;
+  }
+  c = c - a | 0;
+  if (c >>> 0 < 4) {
+   break a;
+  }
+  b = r[a + 2 | 0];
+  b = (w(q[d + 8 >> 2], b >>> 5 & 2 | b >>> 7) << 1) + 4 | 0;
+  a = r[a + 1 | 0] | r[a | 0] << 8;
+  b = (b | 0) != 0 & c >>> 0 >= (a >>> 0 < b >>> 0 ? b : a) >>> 0;
+ }
+ Ca = g + 16 | 0;
+ return b;
+}
+function pW(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ c = q[a + 352 >> 2];
+ d = 1;
+ f = q[b >> 2];
+ g = f;
+ while (1) {
+  a : {
+   e = r[g | 0];
+   b : {
+    if (!e) {
+     break b;
+    }
+    if ((e | 0) != 58) {
+     break a;
+    }
+    e = q[c + 92 >> 2];
+    d = (e | 0) == q[c + 88 >> 2];
+    h = c + 80 | 0;
+    if ((g | 0) != (f | 0)) {
+     while (1) {
+      if (d) {
+       if (!_V(h)) {
+        return 0;
+       }
+       e = q[c + 92 >> 2];
+      }
+      d = r[f | 0];
+      q[c + 92 >> 2] = e + 1;
+      o[e | 0] = d;
+      e = q[c + 92 >> 2];
+      d = (e | 0) == q[c + 88 >> 2];
+      f = f + 1 | 0;
+      if ((f | 0) != (g | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (d) {
+     if (!_V(h)) {
+      return 0;
+     }
+     e = q[c + 92 >> 2];
+    }
+    q[c + 92 >> 2] = e + 1;
+    d = 0;
+    o[e | 0] = 0;
+    a = $V(a, c + 60 | 0, q[c + 96 >> 2], 8);
+    if (!a) {
+     break b;
+    }
+    d = q[c + 96 >> 2];
+    c : {
+     if ((d | 0) == q[a >> 2]) {
+      q[c + 96 >> 2] = q[c + 92 >> 2];
+      break c;
+     }
+     q[c + 92 >> 2] = d;
+    }
+    q[b + 4 >> 2] = a;
+    d = 1;
+   }
+   return d;
+  }
+  g = g + 1 | 0;
+  continue;
+ }
+}
+function AO(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ a : {
+  d = q[a + 20 >> 2];
+  if (!d) {
+   break a;
+  }
+  k = q[b + 20 >> 2];
+  if (!k) {
+   break a;
+  }
+  c = q[a + 4 >> 2];
+  f = c + q[a + 12 >> 2] | 0;
+  g = q[b + 4 >> 2];
+  i = g + q[b + 12 >> 2] | 0;
+  h = (g | 0) > (c | 0) ? g : c;
+  l = ((i | 0) > (f | 0) ? f : i) - h | 0;
+  if ((l | 0) < 1) {
+   break a;
+  }
+  f = q[a + 16 >> 2];
+  e = d + w(f, h - c | 0) | 0;
+  c = q[b >> 2];
+  d = q[a >> 2];
+  j = (c | 0) > (d | 0) ? c : d;
+  i = e + (j - d | 0) | 0;
+  e = q[b + 16 >> 2];
+  g = k + w(e, h - g | 0) + (j - c) | 0;
+  d = d + f | 0;
+  c = c + e | 0;
+  d = ((c | 0) > (d | 0) ? d : c) - j | 0;
+  h = 0;
+  while (1) {
+   c = 0;
+   if ((d | 0) > 0) {
+    while (1) {
+     e = c + g | 0;
+     f = r[e | 0];
+     j = e;
+     e = r[c + i | 0];
+     o[j | 0] = f >>> 0 > e >>> 0 ? f - (e >>> 1 | 0) | 0 : 0;
+     c = c + 1 | 0;
+     if ((d | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+    e = q[b + 16 >> 2];
+    f = q[a + 16 >> 2];
+   }
+   g = g + e | 0;
+   i = f + i | 0;
+   h = h + 1 | 0;
+   if ((l | 0) != (h | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function zw(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 441;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function yw(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 440;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function xw(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 439;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function ww(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 438;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function vw(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 437;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function uw(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 436;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function tw(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 435;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function pu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ c = Ca + -64 | 0;
+ Ca = c;
+ d = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ if (yu(d ? d + a | 0 : 271040, q[b + 8 >> 2])) {
+  h = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  e = a;
+  a = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  a = a ? e + a | 0 : 271040;
+  g = r[a | 0] << 8 | r[a + 1 | 0];
+  d = g + -1 | 0;
+  a : {
+   if (d >>> 0 > 1) {
+    a = 0;
+    e = 0;
+    break a;
+   }
+   e = 0;
+   if (d - 1) {
+    break a;
+   }
+   d = a + 4 | 0;
+   e = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   f = e ? d : 271432;
+   f = (r[f + 1 | 0] | r[f | 0] << 8) >>> 0 > (r[f + 3 | 0] | r[f + 2 | 0] << 8) >>> 0 ? e : 0;
+   e = e ? r[a + 5 | 0] | r[d | 0] << 8 : 0;
+  }
+  q[c + 52 >> 2] = 0;
+  d = c + 48 | 0;
+  q[d >> 2] = f;
+  f = c + 56 | 0;
+  q[f >> 2] = e;
+  q[c + 44 >> 2] = a;
+  q[c + 40 >> 2] = g;
+  q[c + 60 >> 2] = h;
+  b = q[b + 16 >> 2];
+  a = q[d + 4 >> 2];
+  q[c + 16 >> 2] = q[d >> 2];
+  q[c + 20 >> 2] = a;
+  a = q[f + 4 >> 2];
+  q[c + 24 >> 2] = q[f >> 2];
+  q[c + 28 >> 2] = a;
+  q[c + 32 >> 2] = b;
+  a = q[c + 44 >> 2];
+  q[c + 8 >> 2] = q[c + 40 >> 2];
+  q[c + 12 >> 2] = a;
+  Cu(c + 32 | 0, c + 8 | 0);
+ }
+ Ca = c - -64 | 0;
+}
+function Rx(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 456;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function Qx(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 455;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function Px(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 454;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function Ox(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 453;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function Nx(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 452;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function Mx(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 451;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function Lx(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 450;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function Kx(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 449;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function Ew(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 446;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function EW(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ b = a;
+ d = q[b + 16 >> 2];
+ f = q[b + 20 >> 2];
+ i = q[b + 24 >> 2];
+ j = q[b + 28 >> 2];
+ c = q[b >> 2];
+ e = q[b + 4 >> 2];
+ g = q[b + 8 >> 2];
+ k = q[b + 12 >> 2];
+ while (1) {
+  b = f + j | 0;
+  f = d + i | 0;
+  if (f >>> 0 < d >>> 0) {
+   b = b + 1 | 0;
+  }
+  d = f;
+  f = b;
+  l = d;
+  h = b;
+  b = e + k | 0;
+  e = c + g | 0;
+  if (e >>> 0 < c >>> 0) {
+   b = b + 1 | 0;
+  }
+  o = e;
+  c = Z0(g, k, 13) ^ e;
+  m = h;
+  e = b;
+  h = b ^ Ea;
+  b = m + h | 0;
+  g = c + l | 0;
+  if (g >>> 0 < c >>> 0) {
+   b = b + 1 | 0;
+  }
+  l = g;
+  g = Z0(c, h, 17) ^ g;
+  k = Ea ^ b;
+  d = Z0(i, j, 16) ^ d;
+  c = f ^ Ea;
+  f = c;
+  c = Z0(d, c, 21);
+  h = Ea;
+  m = c;
+  c = Z0(o, e, 32);
+  d = c + d | 0;
+  e = Ea + f | 0;
+  e = d >>> 0 < c >>> 0 ? e + 1 | 0 : e;
+  c = d;
+  i = m ^ c;
+  j = e ^ h;
+  d = Z0(l, b, 32);
+  f = Ea;
+  n = n + 1 | 0;
+  if ((n | 0) != 2) {
+   continue;
+  }
+  break;
+ }
+ q[a + 24 >> 2] = i;
+ q[a + 28 >> 2] = j;
+ q[a >> 2] = c;
+ q[a + 4 >> 2] = e;
+ q[a + 8 >> 2] = g;
+ q[a + 12 >> 2] = k;
+ q[a + 16 >> 2] = d;
+ q[a + 20 >> 2] = f;
+}
+function Cw(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 444;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function Bw(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 443;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function Aw(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a >> 2];
+    d = q[c >> 2];
+    if ((d | 0) >= 0) {
+     a = q[c + 4 >> 2];
+     e = a + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     a = d;
+     while (1) {
+      a = ((a >>> 1 | 0) + a | 0) + 8 | 0;
+      if (a >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(a >>> 0 < d >>> 0 | a >>> 0 > 214748363)) {
+      d = O$(q[c + 8 >> 2], w(a, 20));
+      if (d) {
+       break c;
+      }
+     }
+     q[c >> 2] = -1;
+    }
+    q[160660] = q[67764];
+    a = q[67763];
+    q[160658] = q[67762];
+    q[160659] = a;
+    a = q[67761];
+    q[160656] = q[67760];
+    q[160657] = a;
+    a = 642624;
+    break a;
+   }
+   q[c >> 2] = a;
+   q[c + 8 >> 2] = d;
+   a = q[c + 4 >> 2];
+  }
+  if (e >>> 0 > a >>> 0) {
+   Z$(q[c + 8 >> 2] + w(a, 20) | 0, 0, w(e - a | 0, 20));
+  }
+  q[c + 4 >> 2] = e;
+  a = (q[c + 8 >> 2] + w(e, 20) | 0) + -20 | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 442;
+ q[a >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ d = b;
+ b = r[b + 7 | 0] | r[b + 6 | 0] << 8;
+ Cv(b ? d + b | 0 : 271040, a + 8 | 0);
+}
+function tq(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0;
+ a = b + -44032 | 0;
+ a : {
+  b : {
+   if (a >>> 0 <= 11171) {
+    f = a & 65535;
+    e = (f >>> 0) % 28 | 0;
+    if (e) {
+     q[c >> 2] = b - e;
+     q[d >> 2] = e + 4519;
+     break b;
+    }
+    b = (f >>> 0) / 588 | 0;
+    q[c >> 2] = b | 4352;
+    q[d >> 2] = (((a - w(b, 588) & 65535) >>> 0) / 28 | 0) + 4449;
+    break b;
+   }
+   a = 0;
+   if (b >>> 0 > 195101) {
+    break a;
+   }
+   b = s[(r[(b >>> 6 | 0) + 192572 | 0] << 7 | (b & 63) << 1) + 207728 >> 1];
+   if (!b) {
+    break a;
+   }
+   a = b + -1 | 0;
+   if (a >>> 0 <= 934) {
+    if (a >>> 0 <= 824) {
+     a = s[(a << 1) + 224656 >> 1];
+    } else {
+     a = s[(b << 1) + 224668 >> 1] | 131072;
+    }
+    q[c >> 2] = a;
+    q[d >> 2] = 0;
+    break b;
+   }
+   a = b + -936 | 0;
+   if (a >>> 0 <= 637) {
+    a = q[(a << 2) + 218992 >> 2];
+    q[c >> 2] = a >>> 21;
+    q[d >> 2] = a >>> 14 & 127 | 768;
+    break b;
+   }
+   a = (b << 3) + 208960 | 0;
+   b = q[a + 4 >> 2];
+   e = q[a >> 2];
+   q[c >> 2] = b >>> 10;
+   q[d >> 2] = ((b & 2097151) << 11 | e >>> 21) & 2097151;
+  }
+  a = 1;
+ }
+ return a | 0;
+}
+function bC(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = q[b + 4 >> 2];
+ a : {
+  if (d >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 32) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  g = 1;
+  c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  if ((c | 0) == 65536) {
+   break a;
+  }
+  b : {
+   if ((c | 0) != 131072) {
+    break b;
+   }
+   c = a + 32 | 0;
+   if (d >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < 2) {
+    break b;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break b;
+   }
+   c = r[a + 33 | 0] | r[a + 32 | 0] << 8;
+   if (!c) {
+    break a;
+   }
+   h = d;
+   d = a + 34 | 0;
+   if (h >>> 0 > d >>> 0 | e >>> 0 < d >>> 0 | e - d >>> 0 < c << 1 >>> 0) {
+    break b;
+   }
+   q[b + 12 >> 2] = f + -3;
+   if ((f | 0) > 2) {
+    break a;
+   }
+  }
+  a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  g = (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) == 196608;
+ }
+ return g;
+}
+function $h(a) {
+ var b = 0, c = 0, d = 0;
+ d = s[a + 302 >> 1];
+ a : {
+  if ((d | 0) == 16384) {
+   b = p[a + 298 >> 1];
+   q[a + 568 >> 2] = b;
+   c = b;
+   break a;
+  }
+  c = p[a + 304 >> 1];
+  if ((c | 0) == 16384) {
+   b = p[a + 300 >> 1];
+   q[a + 568 >> 2] = b;
+   c = s[a + 298 >> 1];
+   break a;
+  }
+  b = w(c, p[a + 300 >> 1]);
+  c = p[a + 298 >> 1];
+  b = b + w(c, d << 16 >> 16) >> 14;
+  q[a + 568 >> 2] = b;
+ }
+ b : {
+  if ((c & 65535) == 16384) {
+   q[a + 576 >> 2] = 46;
+   break b;
+  }
+  if (s[a + 300 >> 1] == 16384) {
+   q[a + 576 >> 2] = 47;
+   break b;
+  }
+  q[a + 576 >> 2] = 48;
+ }
+ c : {
+  if (s[a + 294 >> 1] == 16384) {
+   q[a + 580 >> 2] = 46;
+   break c;
+  }
+  if (s[a + 296 >> 1] == 16384) {
+   q[a + 580 >> 2] = 47;
+   break c;
+  }
+  q[a + 580 >> 2] = 49;
+ }
+ q[a + 592 >> 2] = 50;
+ q[a + 588 >> 2] = 51;
+ d : {
+  if ((b | 0) != 16384) {
+   break d;
+  }
+  if ((d | 0) == 16384) {
+   q[a + 592 >> 2] = 52;
+   q[a + 588 >> 2] = 53;
+   break d;
+  }
+  if (s[a + 304 >> 1] != 16384) {
+   break d;
+  }
+  q[a + 592 >> 2] = 54;
+  q[a + 588 >> 2] = 55;
+ }
+ c = b >> 31;
+ if ((c + b ^ c) <= 1023) {
+  q[a + 568 >> 2] = 16384;
+ }
+ q[a + 260 >> 2] = 0;
+}
+function ZF(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ e = Hq(b);
+ o[a + 20 | 0] = 0;
+ q[a + 28 >> 2] = e;
+ d = q[e + 12 >> 2];
+ q[a + 4 >> 2] = d;
+ f = q[e + 16 >> 2];
+ q[a + 8 >> 2] = d + f;
+ if ((f | 0) > -1) {
+  q[a + 24 >> 2] = 0;
+  g = a;
+  if (f >>> 0 > 536870910) {
+   c = 1073741823;
+  } else {
+   c = f << 3;
+   c = c >>> 0 > 16384 ? c : 16384;
+   c = c >>> 0 < 1073741823 ? c : 1073741823;
+  }
+  q[g + 12 >> 2] = c;
+  q[a >> 2] = 0;
+  if (!d) {
+   Cq(e);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+   return b;
+  }
+  a : {
+   b : {
+    if (f >>> 0 < 54) {
+     break b;
+    }
+    q[a + 12 >> 2] = c + -1;
+    if ((r[d + 1 | 0] | r[d | 0] << 8) != 1) {
+     break b;
+    }
+    c = r[d + 12 | 0] | r[d + 13 | 0] << 8 | (r[d + 14 | 0] << 16 | r[d + 15 | 0] << 24);
+    Cq(e);
+    q[a + 28 >> 2] = 0;
+    q[a + 4 >> 2] = 0;
+    q[a + 8 >> 2] = 0;
+    if ((c << 8 & 16711680 | c << 24 | (c >>> 8 & 65280 | c >>> 24)) != 1594834165) {
+     break a;
+    }
+    Gq(b);
+    return b;
+   }
+   Cq(e);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(271452, 271477, 195, 271494);
+ F();
+}
+function DB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ e = q[b + 12 >> 2];
+ d = q[b + 4 >> 2];
+ a : {
+  if (e >>> 0 >= d >>> 0) {
+   o[b + 16 | 0] = 1;
+   c = 271040;
+   break a;
+  }
+  c = e + q[b >> 2] | 0;
+ }
+ f = r[c | 0] << 24;
+ c = e + 1 | 0;
+ b : {
+  if (c >>> 0 >= d >>> 0) {
+   o[b + 16 | 0] = 1;
+   c = 271040;
+   break b;
+  }
+  c = c + q[b >> 2] | 0;
+ }
+ f = f | r[c | 0] << 16;
+ c = e + 2 | 0;
+ c : {
+  if (c >>> 0 >= d >>> 0) {
+   o[b + 16 | 0] = 1;
+   c = 271040;
+   break c;
+  }
+  c = c + q[b >> 2] | 0;
+ }
+ f = f | r[c | 0] << 8;
+ c = e + 3 | 0;
+ d : {
+  if (c >>> 0 >= d >>> 0) {
+   o[b + 16 | 0] = 1;
+   c = 271040;
+   break d;
+  }
+  c = c + q[b >> 2] | 0;
+ }
+ f = f | r[c | 0];
+ c = q[a + 4 >> 2];
+ e : {
+  if (c >>> 0 < t[a + 12 >> 2]) {
+   q[a + 4 >> 2] = c + 1;
+   a = q[a + 16 >> 2] + (c << 3) | 0;
+   break e;
+  }
+  o[a | 0] = 1;
+  a = q[67761];
+  q[160656] = q[67760];
+  q[160657] = a;
+  d = q[b + 4 >> 2];
+  a = 642624;
+ }
+ v[a >> 3] = f | 0;
+ f : {
+  if (r[b + 16 | 0] | e >>> 0 > d >>> 0) {
+   break f;
+  }
+  a = e + 4 | 0;
+  if (a >>> 0 > d >>> 0) {
+   break f;
+  }
+  q[b + 12 >> 2] = a;
+  return;
+ }
+ o[b + 16 | 0] = 1;
+ q[b + 12 >> 2] = d;
+}
+function nv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  h = q[b + 4 >> 2];
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  g = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+  b : {
+   if (!e) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | h >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < e >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (!d) {
+    break b;
+   }
+   if (jv(c + d | 0, b)) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   g = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   o[a + 2 | 0] = 0;
+   o[a + 3 | 0] = 0;
+   g = 1;
+  }
+  return g;
+ }
+ return 0;
+}
+function jr(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = x(0), j = x(0), k = x(0);
+ h = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+ g = (h << 24 | h << 8 & 16711680 | (h >>> 8 & 65280 | h >>> 24)) + e | 0;
+ a = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ h = a >>> 0 > b >>> 0;
+ f = h ? g + (b << 2) | 0 : 271040;
+ f = r[f | 0] | r[f + 1 | 0] << 8 | (r[f + 2 | 0] << 16 | r[f + 3 | 0] << 24);
+ j = x(x(f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24)) * x(152587890625e-16));
+ f = b + 1 | 0;
+ a = a >>> 0 > f >>> 0;
+ g = a ? g + (f << 2) | 0 : 271040;
+ g = r[g | 0] | r[g + 1 | 0] << 8 | (r[g + 2 | 0] << 16 | r[g + 3 | 0] << 24);
+ k = x(x(g << 24 | g << 8 & 16711680 | (g >>> 8 & 65280 | g >>> 24)) * x(152587890625e-16));
+ i = x(0);
+ a : {
+  if (j == k) {
+   break a;
+  }
+  i = x(x(c - j) / x(k - j));
+ }
+ c = i;
+ d = (r[d + 7 | 0] | r[d + 6 | 0] << 8) + e | 0;
+ a = a ? d + (f << 1) | 0 : 271040;
+ a = r[a | 0] | r[a + 1 | 0] << 8;
+ i = x(c * x((a << 24 | a << 8 & 16711680) >> 16));
+ a = h ? d + (b << 1) | 0 : 271040;
+ a = r[a | 0] | r[a + 1 | 0] << 8;
+ return x(i + x(x(x(1) - c) * x((a << 24 | a << 8 & 16711680) >> 16)));
+}
+function iv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  h = q[b + 4 >> 2];
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  g = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+  b : {
+   if (!e) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | h >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < e >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (!d) {
+    break b;
+   }
+   if (ov(c + d | 0, b)) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   g = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   o[a + 2 | 0] = 0;
+   o[a + 3 | 0] = 0;
+   g = 1;
+  }
+  return g;
+ }
+ return 0;
+}
+function PF(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  h = q[b + 4 >> 2];
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  g = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+  b : {
+   if (!e) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | h >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < e >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (!d) {
+    break b;
+   }
+   if (QF(c + d | 0, b)) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   g = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   o[a + 2 | 0] = 0;
+   o[a + 3 | 0] = 0;
+   g = 1;
+  }
+  return g;
+ }
+ return 0;
+}
+function RP(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = 1;
+ a : {
+  c = q[b + 4 >> 2];
+  g = c >>> 0 < 8 ? c : 8;
+  b : {
+   if ((g | 0) >= 1) {
+    while (1) {
+     h = q[((e << 2) + b | 0) + 8 >> 2];
+     if (h) {
+      i = e << 5;
+      c = 0;
+      while (1) {
+       if (h >>> c & 1) {
+        c : {
+         if (d) {
+          break c;
+         }
+         if (pQ(a, 124)) {
+          break c;
+         }
+         return 0;
+        }
+        d = 0;
+        f = 0;
+        if (!qQ(a, (r[(c | i) + 480760 | 0] << 5) + 444768 | 0)) {
+         break b;
+        }
+       }
+       c = c + 1 | 0;
+       if ((c | 0) != 32) {
+        continue;
+       }
+       break;
+      }
+     }
+     e = e + 1 | 0;
+     if ((g | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = q[b >> 2];
+   if (b) {
+    b = yQ(b);
+    if (!b) {
+     return 0;
+    }
+    while (1) {
+     c = zQ(b);
+     if (c) {
+      if (!d) {
+       if (!pQ(a, 124)) {
+        break a;
+       }
+      }
+      d = 0;
+      if (qQ(a, c)) {
+       continue;
+      }
+      break a;
+     }
+     break;
+    }
+    AQ(b);
+   }
+   f = 1;
+  }
+  return f;
+ }
+ AQ(b);
+ return 0;
+}
+function ve(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ if (!a) {
+  return 35;
+ }
+ if (!d) {
+  return 6;
+ }
+ f = 16;
+ g = b + 1 | 0;
+ e = q[a + 16 >> 2];
+ a : {
+  if (g >>> 0 > e >>> 0 | g >>> 0 < 1 | e >>> 0 <= b >>> 0) {
+   break a;
+  }
+  f = 0;
+  e = q[q[q[a + 96 >> 2] + 12 >> 2] + 84 >> 2];
+  if (!(!e | ((c & 983040) != 65536 ? !(c & 3) : 0))) {
+   e = n[e](a, b, 1, c, d) | 0;
+   if (!e) {
+    if (c & 1) {
+     break a;
+    }
+    a = q[a + 88 >> 2];
+    if (!a) {
+     return 36;
+    }
+    c = q[a + (c & 16 ? 20 : 16) >> 2];
+    a = 0;
+    while (1) {
+     b = (a << 2) + d | 0;
+     i = b, j = ue(q[b >> 2], c, 64), q[i >> 2] = j;
+     a = a + 1 | 0;
+     if ((a | 0) != 1) {
+      continue;
+     }
+     break;
+    }
+    break a;
+   }
+   f = e;
+   if ((e & 255) != 7) {
+    break a;
+   }
+  }
+  f = 7;
+  if (c & 536870912) {
+   break a;
+  }
+  g = c & 1 ? 1 : 1024;
+  e = c | 256;
+  c = c & 16 ? 68 : 64;
+  while (1) {
+   f = we(a, b + h | 0, e);
+   if (f) {
+    break a;
+   }
+   q[(h << 2) + d >> 2] = w(g, q[c + q[a + 84 >> 2] >> 2]);
+   f = 0;
+   h = h + 1 | 0;
+   if ((h | 0) != 1) {
+    continue;
+   }
+   break;
+  }
+ }
+ return f;
+}
+function bA(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ c = q[a >> 2];
+ a : {
+  if (c) {
+   break a;
+  }
+  g = a + -72 | 0;
+  f = d + 16 | 0;
+  h = d + 21 | 0;
+  while (1) {
+   e = q[g >> 2];
+   if (!e) {
+    c = 271040;
+    break a;
+   }
+   c = N$(1, 4);
+   b : {
+    if (!c) {
+     c = 271040;
+     b = q[a >> 2];
+     q[a >> 2] = b ? b : 271040;
+     if (b) {
+      break b;
+     }
+     break a;
+    }
+    q[f >> 2] = 0;
+    q[f + 4 >> 2] = 0;
+    b = h;
+    o[b | 0] = 0;
+    o[b + 1 | 0] = 0;
+    o[b + 2 | 0] = 0;
+    o[b + 3 | 0] = 0;
+    o[b + 4 | 0] = 0;
+    o[b + 5 | 0] = 0;
+    o[b + 6 | 0] = 0;
+    o[b + 7 | 0] = 0;
+    b = d;
+    q[b + 32 >> 2] = 0;
+    q[b + 36 >> 2] = 0;
+    q[b + 8 >> 2] = 0;
+    q[b + 12 >> 2] = 0;
+    i = kF(e);
+    o[b + 44 | 0] = 1;
+    q[b + 40 >> 2] = i;
+    j = c, k = TA(b + 8 | 0, iF(e, 1735811442)), q[j >> 2] = k;
+    b = q[a >> 2];
+    q[a >> 2] = b ? b : c;
+    if (!b) {
+     break a;
+    }
+    b = q[c >> 2];
+    Cq(b ? b : 271040);
+    M$(c);
+   }
+   c = q[a >> 2];
+   if (!c) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 48 | 0;
+ return c;
+}
+function iY(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0;
+ d = Ca - 32 | 0;
+ Ca = d;
+ cS(d + 16 | 0, a);
+ cS(d, b);
+ f = -1;
+ a = q[d + 16 >> 2] + -1 | 0;
+ a : {
+  if (a >>> 0 > 8) {
+   break a;
+  }
+  b : {
+   c : {
+    switch (a - 1 | 0) {
+    case 0:
+     e = v[d + 24 >> 3];
+     break b;
+    case 7:
+     W();
+     F();
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+     break a;
+    default:
+     break c;
+    }
+   }
+   e = +q[d + 24 >> 2];
+  }
+  a = q[d >> 2] + -1 | 0;
+  if (a >>> 0 > 8) {
+   break a;
+  }
+  d : {
+   e : {
+    switch (a - 1 | 0) {
+    default:
+     g = +q[d + 8 >> 2];
+     f = g;
+     break d;
+    case 0:
+     g = v[d + 8 >> 3];
+     f = g;
+     break d;
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+     break a;
+    case 7:
+     break e;
+    }
+   }
+   a = q[d + 8 >> 2];
+   f = v[a + 8 >> 3];
+   g = v[a >> 3];
+  }
+  q[c >> 2] = 2;
+  v[c + 8 >> 3] = (e + e) * .5;
+  if (!(f < e ^ 1 ? !(e < g) : 0)) {
+   g = y(g - e);
+   e = y(e - f);
+   f = g < e ? g : e;
+   break a;
+  }
+  f = g != f ? e == f ? 1e-15 : 0 : 0;
+ }
+ Ca = d + 32 | 0;
+ return +f;
+}
+function t_(a, b, c, d, e, f) {
+ var g = 0;
+ g = Ca - 80 | 0;
+ Ca = g;
+ a : {
+  if ((f | 0) >= 16384) {
+   w$(g + 32 | 0, b, c, d, e, 0, 0, 0, 2147352576);
+   d = q[g + 40 >> 2];
+   e = q[g + 44 >> 2];
+   b = q[g + 32 >> 2];
+   c = q[g + 36 >> 2];
+   if ((f | 0) < 32767) {
+    f = f + -16383 | 0;
+    break a;
+   }
+   w$(g + 16 | 0, b, c, d, e, 0, 0, 0, 2147352576);
+   f = ((f | 0) < 49149 ? f : 49149) + -32766 | 0;
+   d = q[g + 24 >> 2];
+   e = q[g + 28 >> 2];
+   b = q[g + 16 >> 2];
+   c = q[g + 20 >> 2];
+   break a;
+  }
+  if ((f | 0) > -16383) {
+   break a;
+  }
+  w$(g - -64 | 0, b, c, d, e, 0, 0, 0, 65536);
+  d = q[g + 72 >> 2];
+  e = q[g + 76 >> 2];
+  b = q[g + 64 >> 2];
+  c = q[g + 68 >> 2];
+  if ((f | 0) > -32765) {
+   f = f + 16382 | 0;
+   break a;
+  }
+  w$(g + 48 | 0, b, c, d, e, 0, 0, 0, 65536);
+  f = ((f | 0) > -49146 ? f : -49146) + 32764 | 0;
+  d = q[g + 56 >> 2];
+  e = q[g + 60 >> 2];
+  b = q[g + 48 >> 2];
+  c = q[g + 52 >> 2];
+ }
+ w$(g, b, c, d, e, 0, 0, 0, f + 16383 << 16);
+ b = q[g + 12 >> 2];
+ q[a + 8 >> 2] = q[g + 8 >> 2];
+ q[a + 12 >> 2] = b;
+ b = q[g + 4 >> 2];
+ q[a >> 2] = q[g >> 2];
+ q[a + 4 >> 2] = b;
+ Ca = g + 80 | 0;
+}
+function JP(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  b : {
+   b = r[a | 0];
+   if ((b + -65 & 255) >>> 0 <= 25) {
+    b = b + 32 | 0;
+    break b;
+   }
+   if (b & 255) {
+    break b;
+   }
+   b = 0;
+   break a;
+  }
+  d = r[a + 1 | 0];
+  d = (d + -65 & 255) >>> 0 < 26 ? d + 32 | 0 : d;
+  c = b & 255;
+  if (c >>> 0 < 97) {
+   c = 0;
+   break a;
+  }
+  if (c >>> 0 > 122) {
+   c = 245;
+   e = 239;
+   break a;
+  }
+  c = c << 3;
+  e = q[c + 480872 >> 2];
+  c = q[c + 480876 >> 2];
+  if ((e | 0) <= (c | 0)) {
+   break a;
+  }
+  return e ^ -1;
+ }
+ g = a + 2 | 0;
+ h = d & 255;
+ i = b & 255;
+ c : {
+  while (1) {
+   d = c + e >> 1;
+   f = d << 5;
+   b = f + 444768 | 0;
+   d : {
+    if (r[b | 0] != (i | 0)) {
+     b = $P(b, a);
+     break d;
+    }
+    b = r[f + 444769 | 0] - h | 0;
+    if (b) {
+     break d;
+    }
+    b = f + 444770 | 0;
+    if (r[g | 0] ? 0 : !r[b | 0]) {
+     break c;
+    }
+    b = $P(b, g);
+   }
+   if (!b) {
+    break c;
+   }
+   f = (b | 0) < 0;
+   e = f ? d + 1 | 0 : e;
+   c = f ? c : d + -1 | 0;
+   if ((e | 0) <= (c | 0)) {
+    continue;
+   }
+   break;
+  }
+  d = (b >>> 31 | 0) + d ^ -1;
+ }
+ return d;
+}
+function De(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = (a | 0) < 0 ? -1 : 1;
+ e = (b | 0) < 0 ? 0 - e | 0 : e;
+ j = (c | 0) < 0 ? 0 - e | 0 : e;
+ e = 2147483647;
+ d = c;
+ c = c >> 31;
+ c = d + c ^ c;
+ a : {
+  if (!c) {
+   break a;
+  }
+  d = b;
+  b = b >> 31;
+  b = d + b ^ b;
+  d = a;
+  a = a >> 31;
+  a = d + a ^ a;
+  if (b + a >>> 0 <= 131071) {
+   e = (w(a, b) >>> 0) / (c >>> 0) | 0;
+   break a;
+  }
+  g = b >>> 16 | 0;
+  h = a & 65535;
+  i = w(g, h);
+  d = a >>> 16 | 0;
+  f = b & 65535;
+  a = i + w(d, f) | 0;
+  b = a << 16;
+  d = (w(d, g) + (a >>> 16 | 0) | 0) + ((a >>> 0 < i >>> 0) << 16) | 0;
+  a = b + w(f, h) | 0;
+  b = d + (a >>> 0 < b >>> 0) | 0;
+  if (!b) {
+   e = (a >>> 0) / (c >>> 0) | 0;
+   break a;
+  }
+  if (b >>> 0 >= c >>> 0) {
+   break a;
+  }
+  d = z(b);
+  f = 32 - d | 0;
+  b = a >>> f | b << d;
+  e = (b >>> 0) / (c >>> 0) | 0;
+  b = b - w(c, e) | 0;
+  a = a << d;
+  while (1) {
+   d = b << 1 | a >>> 31;
+   b = d - (d >>> 0 < c >>> 0 ? 0 : c) | 0;
+   e = e << 1 | d >>> 0 >= c >>> 0;
+   a = a << 1;
+   f = f + -1 | 0;
+   if (f) {
+    continue;
+   }
+   break;
+  }
+ }
+ return (j | 0) < 0 ? 0 - e | 0 : e;
+}
+function OG(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ e = a + 1 | 0;
+ f = o[a | 0];
+ g = f & 255;
+ if ((f | 0) > -1) {
+  q[c >> 2] = g;
+  return e;
+ }
+ a : {
+  if (g + -194 >>> 0 <= 29) {
+   if (e >>> 0 >= b >>> 0) {
+    break a;
+   }
+   b = r[a + 1 | 0] + -128 | 0;
+   if (b >>> 0 >= 64) {
+    break a;
+   }
+   q[c >> 2] = b | g << 6 & 1984;
+   return a + 2 | 0;
+  }
+  if ((g & 240) == 224) {
+   if ((b - e | 0) < 2) {
+    break a;
+   }
+   b = r[e | 0] + -128 | 0;
+   if (b >>> 0 > 63) {
+    break a;
+   }
+   f = r[a + 2 | 0] + -128 | 0;
+   if (f >>> 0 > 63) {
+    break a;
+   }
+   b = f | (g << 12 & 61440 | b << 6);
+   if (b >>> 0 < 2048 | (b & -2048) == 55296) {
+    break a;
+   }
+   q[c >> 2] = b;
+   return a + 3 | 0;
+  }
+  if ((b - e | 0) < 3 | g + -240 >>> 0 > 4) {
+   break a;
+  }
+  b = r[e | 0] + -128 | 0;
+  if (b >>> 0 > 63) {
+   break a;
+  }
+  f = r[a + 2 | 0] + -128 | 0;
+  if (f >>> 0 > 63) {
+   break a;
+  }
+  h = r[a + 3 | 0] + -128 | 0;
+  if (h >>> 0 > 63) {
+   break a;
+  }
+  b = g << 18 & 1835008 | b << 12 | f << 6 | h;
+  if (b + -65536 >>> 0 >= 1048576) {
+   break a;
+  }
+  e = a + 4 | 0;
+  d = b;
+ }
+ q[c >> 2] = d;
+ return e;
+}
+function uI(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ g = Ca - 128 | 0;
+ Ca = g;
+ if ((c | 0) >= 1) {
+  k = (w((b | 0) != 0, 36) + a | 0) + 16 | 0;
+  while (1) {
+   i = (c | 0) < 16 ? c : 16;
+   f = i << 1;
+   e = (f | 0) > 1 ? f : 1;
+   b = 0;
+   while (1) {
+    h = b << 2;
+    j = q[h + d >> 2] + j | 0;
+    l = g + h | 0, m = Ae(j) >> 16, q[l >> 2] = m;
+    b = b + 1 | 0;
+    if ((e | 0) != (b | 0)) {
+     continue;
+    }
+    break;
+   }
+   b = 0;
+   while (1) {
+    e = b << 2;
+    h = (e | 4) + g | 0;
+    q[h >> 2] = q[h >> 2] - q[e + g >> 2];
+    b = b + 2 | 0;
+    if ((b | 0) < (f | 0)) {
+     continue;
+    }
+    break;
+   }
+   a : {
+    if (q[a + 4 >> 2]) {
+     break a;
+    }
+    b = g;
+    f = i;
+    while (1) {
+     e = DI(k, q[b >> 2], q[b + 4 >> 2], q[a >> 2], 0);
+     if (e) {
+      q[a + 4 >> 2] = e;
+      break a;
+     }
+     b = b + 8 | 0;
+     e = (f | 0) > 1;
+     f = f + -1 | 0;
+     if (e) {
+      continue;
+     }
+     break;
+    }
+   }
+   c = c - i | 0;
+   if ((c | 0) > 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = g + 128 | 0;
+}
+function Oo(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ c = q[a + 28 >> 2];
+ a : {
+  if ((c | 0) == -1) {
+   break a;
+  }
+  d = q[a + 36 >> 2];
+  f = q[a + 40 >> 2];
+  if (d >>> 0 >= f >>> 0) {
+   break a;
+  }
+  g = q[a >> 2];
+  e = c + 1 | 0;
+  h = q[a + 16 >> 2] + 20 | 0;
+  while (1) {
+   b : {
+    c = w(d, 12) + h | 0;
+    b = c + -4 | 0;
+    b = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+    b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+    e = e >>> 0 < b >>> 0 ? b : e;
+    b = c;
+    b = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+    if (e >>> 0 > (b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24)) >>> 0) {
+     break b;
+    }
+    c = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+    c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    if (!c | c >>> 0 >= t[g + 16 >> 2]) {
+     break b;
+    }
+    q[a + 36 >> 2] = d;
+    q[a + 32 >> 2] = c;
+    q[a + 28 >> 2] = e;
+    return;
+   }
+   d = d + 1 | 0;
+   if (d >>> 0 < f >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ o[a + 24 | 0] = 0;
+}
+function ri(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0;
+ e = p[a + 302 >> 1];
+ if (e) {
+  f = q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] + -35 | 0;
+  a : {
+   if (f >>> 0 > 5) {
+    break a;
+   }
+   b : {
+    switch (f - 1 | 0) {
+    case 4:
+     if (r[a + 615 | 0]) {
+      break a;
+     }
+     f = c << 3;
+     g = q[f + q[b + 16 >> 2] >> 2];
+     e = ue(d, e, q[a + 568 >> 2]);
+     q[f + q[b + 16 >> 2] >> 2] = e + g;
+     break a;
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+     break a;
+    default:
+     break b;
+    }
+   }
+   f = c << 3;
+   g = q[f + q[b + 16 >> 2] >> 2];
+   e = ue(d, e, q[a + 568 >> 2]);
+   q[f + q[b + 16 >> 2] >> 2] = e + g;
+  }
+  e = q[b + 24 >> 2] + c | 0;
+  o[e | 0] = r[e | 0] | 8;
+ }
+ e = p[a + 304 >> 1];
+ if (e) {
+  c : {
+   if (!(!r[a + 616 | 0] | (!r[a + 615 | 0] | q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] != 40))) {
+    if (r[a + 617 | 0]) {
+     break c;
+    }
+   }
+   f = c << 3;
+   g = q[(f + q[b + 16 >> 2] | 0) + 4 >> 2];
+   a = ue(d, e, q[a + 568 >> 2]);
+   q[(f + q[b + 16 >> 2] | 0) + 4 >> 2] = a + g;
+  }
+  a = q[b + 24 >> 2] + c | 0;
+  o[a | 0] = r[a | 0] | 16;
+ }
+}
+function OJ(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ q[a >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 56 >> 2] = 0;
+ q[a + 48 >> 2] = 0;
+ q[a + 52 >> 2] = 0;
+ e = a + 40 | 0;
+ d = e;
+ q[d >> 2] = 0;
+ q[d + 4 >> 2] = 0;
+ g = a + 32 | 0;
+ d = g;
+ q[d >> 2] = 0;
+ q[d + 4 >> 2] = 0;
+ f = a + 24 | 0;
+ d = f;
+ q[d >> 2] = 0;
+ q[d + 4 >> 2] = 0;
+ h = a + 16 | 0;
+ d = h;
+ q[d >> 2] = 0;
+ q[d + 4 >> 2] = 0;
+ d = a + 8 | 0;
+ q[d >> 2] = 0;
+ q[d + 4 >> 2] = 0;
+ q[a >> 2] = q[b >> 2];
+ q[a + 4 >> 2] = q[b + 4 >> 2];
+ q[d >> 2] = q[b + 8 >> 2];
+ q[a + 12 >> 2] = q[b + 12 >> 2];
+ q[h >> 2] = q[b + 16 >> 2];
+ d = q[b + 20 >> 2];
+ q[e >> 2] = b + 48;
+ q[a + 36 >> 2] = b + 40;
+ q[g >> 2] = b + 32;
+ q[a + 28 >> 2] = b + 28;
+ q[f >> 2] = b + 24;
+ q[a + 20 >> 2] = d;
+ a : {
+  if (c) {
+   e = 68;
+   g = 0;
+   f = 69;
+   d = 70;
+   break a;
+  }
+  g = r[b + 64 | 0];
+  e = 65;
+  f = 66;
+  d = 67;
+ }
+ e = r[b + e | 0];
+ f = r[b + f | 0];
+ b = r[b + d | 0];
+ d = q[72489];
+ q[a + 52 >> 2] = q[72488];
+ q[a + 56 >> 2] = d;
+ o[a + 48 | 0] = c;
+ o[a + 47 | 0] = b;
+ o[a + 46 | 0] = f;
+ o[a + 45 | 0] = e;
+ o[a + 44 | 0] = g;
+}
+function Xe(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ if (a) {
+  c = p[a + 56 >> 1];
+  p[a + 20 >> 1] = c + s[a + 20 >> 1];
+  b = a + 22 | 0;
+  d = s[b >> 1];
+  p[b >> 1] = s[a + 58 >> 1] + d;
+  b = a + 48 | 0;
+  e = q[b >> 2] + q[a + 84 >> 2] | 0;
+  q[b >> 2] = e;
+  if ((c | 0) >= 1) {
+   g = q[a + 68 >> 2];
+   b = 0;
+   while (1) {
+    f = (b << 1) + g | 0;
+    p[f >> 1] = s[f >> 1] + d;
+    b = b + 1 | 0;
+    if ((c | 0) != (b | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[a + 84 >> 2] = 0;
+  q[a + 56 >> 2] = 0;
+  b = a;
+  c = q[a + 24 >> 2];
+  if (c) {
+   c = c + (p[a + 22 >> 1] << 3) | 0;
+  } else {
+   c = 0;
+  }
+  q[b + 60 >> 2] = c;
+  c = a - -64 | 0;
+  b = q[a + 28 >> 2];
+  if (b) {
+   b = b + p[a + 22 >> 1] | 0;
+  } else {
+   b = 0;
+  }
+  q[c >> 2] = b;
+  b = a;
+  d = q[a + 32 >> 2];
+  c = 0;
+  a : {
+   if (!d) {
+    break a;
+   }
+   c = d + (p[a + 20 >> 1] << 1) | 0;
+  }
+  q[b + 68 >> 2] = c;
+  if (r[a + 16 | 0]) {
+   b = p[a + 22 >> 1] << 3;
+   q[a + 76 >> 2] = b + q[a + 40 >> 2];
+   q[a + 80 >> 2] = b + q[a + 44 >> 2];
+  }
+  b = a;
+  a = q[a + 52 >> 2];
+  q[b + 88 >> 2] = a ? a + (e << 5) | 0 : 0;
+ }
+}
+function sl(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ c = Ca - 32 | 0;
+ Ca = c;
+ e = q[b + 96 >> 2];
+ a : {
+  if ((e | 0) < 0 | (e | 0) >= q[a + 300 >> 2]) {
+   break a;
+  }
+  f = q[a + 304 >> 2];
+  if ((n[q[b + 52 >> 2]](b, 6, c, 3) | 0) < 6) {
+   break a;
+  }
+  g = q[c + 12 >> 2];
+  d = g >> 31;
+  d = d ^ d + g;
+  if (!d) {
+   break a;
+  }
+  if ((d | 0) != 65536) {
+   h = a, i = Fe(1e3, d), p[h + 68 >> 1] = i;
+   h = c, i = Fe(q[c >> 2], d), q[h >> 2] = i;
+   h = c, i = Fe(q[c + 4 >> 2], d), q[h + 4 >> 2] = i;
+   h = c, i = Fe(q[c + 8 >> 2], d), q[h + 8 >> 2] = i;
+   h = c, i = Fe(q[c + 16 >> 2], d), q[h + 16 >> 2] = i;
+   h = c, i = Fe(q[c + 20 >> 2], d), q[h + 20 >> 2] = i;
+   q[c + 12 >> 2] = q[c + 12 >> 2] < 0 ? -65536 : 65536;
+  }
+  d = (w(e, 252) + f | 0) + 216 | 0;
+  q[d >> 2] = q[c >> 2];
+  a = w(e, 252) + f | 0;
+  q[a + 224 >> 2] = q[c + 4 >> 2];
+  q[a + 220 >> 2] = q[c + 8 >> 2];
+  q[a + 228 >> 2] = q[c + 12 >> 2];
+  if (!Ie(d)) {
+   q[b + 12 >> 2] = 3;
+   break a;
+  }
+  q[a + 232 >> 2] = q[c + 16 >> 2] >> 16;
+  q[a + 236 >> 2] = q[c + 20 >> 2] >> 16;
+ }
+ Ca = c + 32 | 0;
+}
+function mB(a, b, c) {
+ var d = 0;
+ a : {
+  if (b >>> 0 >= c >>> 0) {
+   break a;
+  }
+  c = r[a | 0];
+  if (c >>> 0 > 2) {
+   break a;
+  }
+  b : {
+   switch (c - 1 | 0) {
+   default:
+    if (!b) {
+     break a;
+    }
+    a = ((b << 1) + a | 0) + -1 | 0;
+    return r[a | 0] << 8 | r[a + 1 | 0];
+   case 0:
+    if (!b) {
+     break a;
+    }
+    d = a + 1 | 0;
+    c = 0;
+    b = b + -1 | 0;
+    a = r[a + 3 | 0];
+    if (b >>> 0 > a >>> 0) {
+     while (1) {
+      b = (a ^ -1) + b | 0;
+      c = c + 1 | 0;
+      a = r[(d + w(c, 3) | 0) + 2 | 0];
+      if (b >>> 0 > a >>> 0) {
+       continue;
+      }
+      break;
+     }
+    }
+    a = d + w(c, 3) | 0;
+    return (r[a | 0] << 8 | r[a + 1 | 0]) + b | 0;
+   case 1:
+    break b;
+   }
+  }
+  if (!b) {
+   break a;
+  }
+  c = 0;
+  b = b + -1 | 0;
+  d = r[a + 4 | 0] | r[a + 3 | 0] << 8;
+  if (b >>> 0 > d >>> 0) {
+   while (1) {
+    b = (d ^ -1) + b | 0;
+    c = c + 1 | 0;
+    d = (c << 2) + a | 0;
+    d = r[d + 3 | 0] << 8 | r[d + 4 | 0];
+    if (b >>> 0 > d >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = (c << 2) + a | 0;
+  d = (r[a + 1 | 0] << 8 | r[a + 2 | 0]) + b | 0;
+ }
+ return d;
+}
+function vW(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ b = q[a + 352 >> 2];
+ if (!q[b + 184 >> 2]) {
+  c = n[q[a + 12 >> 2]](q[a + 464 >> 2] << 2) | 0;
+  q[b + 184 >> 2] = c;
+  if (!c) {
+   return -1;
+  }
+  q[c >> 2] = 0;
+ }
+ c = q[b + 164 >> 2];
+ d = q[b + 176 >> 2];
+ e = q[b + 172 >> 2];
+ if (d >>> 0 >= e >>> 0) {
+  a : {
+   b : {
+    if (c) {
+     c = n[q[a + 16 >> 2]](c, w(e, 56)) | 0;
+     if (c) {
+      break b;
+     }
+     return -1;
+    }
+    c = n[q[a + 12 >> 2]](896) | 0;
+    d = 32;
+    if (c) {
+     break a;
+    }
+    return -1;
+   }
+   d = q[b + 172 >> 2] << 1;
+  }
+  q[b + 164 >> 2] = c;
+  q[b + 172 >> 2] = d;
+  d = q[b + 176 >> 2];
+ }
+ q[b + 176 >> 2] = d + 1;
+ a = q[b + 180 >> 2];
+ if (a) {
+  b = q[(q[b + 184 >> 2] + (a << 2) | 0) + -4 >> 2];
+  a = w(b, 28) + c | 0;
+  e = q[a + 16 >> 2];
+  if (e) {
+   q[(w(e, 28) + c | 0) + 24 >> 2] = d;
+  }
+  e = a + 16 | 0;
+  f = a + 20 | 0;
+  a = q[a + 20 >> 2];
+  if (!a) {
+   q[(w(b, 28) + c | 0) + 12 >> 2] = d;
+  }
+  q[e >> 2] = d;
+  q[f >> 2] = a + 1;
+ }
+ a = w(d, 28) + c | 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 16 >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+ return d;
+}
+function QA(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ f = Hq(b);
+ o[a + 20 | 0] = 0;
+ q[a + 28 >> 2] = f;
+ d = q[f + 12 >> 2];
+ q[a + 4 >> 2] = d;
+ e = q[f + 16 >> 2];
+ q[a + 8 >> 2] = d + e;
+ a : {
+  if ((e | 0) > -1) {
+   q[a + 24 >> 2] = 0;
+   g = a;
+   if (e >>> 0 > 536870910) {
+    c = 1073741823;
+   } else {
+    c = e << 3;
+    c = c >>> 0 > 16384 ? c : 16384;
+    c = c >>> 0 < 1073741823 ? c : 1073741823;
+   }
+   q[g + 12 >> 2] = c;
+   q[a >> 2] = 0;
+   if (!d) {
+    Cq(f);
+    q[a + 28 >> 2] = 0;
+    q[a + 4 >> 2] = 0;
+    q[a + 8 >> 2] = 0;
+    return b;
+   }
+   if (e >>> 0 < 8) {
+    break a;
+   }
+   q[a + 12 >> 2] = c + -1;
+   if ((e & -2) == 6 | (r[d + 1 | 0] | r[d | 0] << 8) != 1) {
+    break a;
+   }
+   q[a + 12 >> 2] = c + -2;
+   d = r[d + 7 | 0] | r[d + 6 | 0] << 8;
+   if (d) {
+    if (e + -8 >>> 0 < d << 2 >>> 0) {
+     break a;
+    }
+    q[a + 12 >> 2] = c + -3;
+   }
+   Cq(f);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+   Gq(b);
+   return b;
+  }
+  J(242576, 242601, 195, 242618);
+  F();
+ }
+ Cq(f);
+ q[a + 28 >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 8 >> 2] = 0;
+ Cq(b);
+ return 271040;
+}
+function kZ(a, b, c) {
+ var d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    if ((a ^ b) & 3) {
+     break c;
+    }
+    d = (c | 0) != 0;
+    d : {
+     if (!c | !(b & 3)) {
+      break d;
+     }
+     while (1) {
+      d = r[b | 0];
+      o[a | 0] = d;
+      if (!d) {
+       break a;
+      }
+      a = a + 1 | 0;
+      b = b + 1 | 0;
+      c = c + -1 | 0;
+      d = (c | 0) != 0;
+      if (!c) {
+       break d;
+      }
+      if (b & 3) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (!d) {
+     break b;
+    }
+    if (!r[b | 0]) {
+     break a;
+    }
+    if (c >>> 0 < 4) {
+     break c;
+    }
+    while (1) {
+     d = q[b >> 2];
+     if ((d ^ -1) & d + -16843009 & -2139062144) {
+      break c;
+     }
+     q[a >> 2] = d;
+     a = a + 4 | 0;
+     b = b + 4 | 0;
+     c = c + -4 | 0;
+     if (c >>> 0 > 3) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (!c) {
+    break b;
+   }
+   d = a + c | 0;
+   while (1) {
+    e = r[b | 0];
+    o[a | 0] = e;
+    if (!e) {
+     break a;
+    }
+    a = a + 1 | 0;
+    b = b + 1 | 0;
+    c = c + -1 | 0;
+    if (c) {
+     continue;
+    }
+    break;
+   }
+   a = d;
+  }
+  c = 0;
+ }
+ Z$(a, 0, c);
+}
+function NF(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ h = q[a + 20 >> 2];
+ if ((h | 0) < 1) {
+  return 0;
+ }
+ j = q[a >> 2];
+ d = h + -1 | 0;
+ k = h + 1 << 1;
+ a : {
+  while (1) {
+   e = d + f | 0;
+   g = e >>> 1 | 0;
+   e = e & -2;
+   i = j + e | 0;
+   b : {
+    if ((r[i | 0] << 8 | r[i + 1 | 0]) >>> 0 >= b >>> 0) {
+     d = i + k | 0;
+     if ((r[d | 0] << 8 | r[d + 1 | 0]) >>> 0 <= b >>> 0) {
+      break a;
+     }
+     d = g + -1 | 0;
+     break b;
+    }
+    f = g + 1 | 0;
+   }
+   if ((f | 0) <= (d | 0)) {
+    continue;
+   }
+   break;
+  }
+  return 0;
+ }
+ f = e >> 1;
+ d = q[a + 12 >> 2] + e | 0;
+ g = r[d | 0] << 8 | r[d + 1 | 0];
+ c : {
+  if (g) {
+   d = 0;
+   e = f + (b - h | 0) + (g >>> 1) | 0;
+   b = q[a + 4 >> 2] + (f << 1) | 0;
+   b = e - (r[b | 0] << 8 | r[b + 1 | 0]) | 0;
+   if (b >>> 0 >= t[a + 24 >> 2]) {
+    break c;
+   }
+   b = q[a + 16 >> 2] + (b << 1) | 0;
+   b = r[b | 0] << 8 | r[b + 1 | 0];
+   if (!b) {
+    break c;
+   }
+  }
+  a = q[a + 8 >> 2] + (f << 1) | 0;
+  a = (r[a | 0] << 8 | r[a + 1 | 0]) + b & 65535;
+  if (!a) {
+   return 0;
+  }
+  q[c >> 2] = a;
+  d = 1;
+ }
+ return d;
+}
+function SW(a) {
+ var b = 0;
+ if (a) {
+  b = s[a >> 1] + -2 | 0;
+  a : {
+   if (b >>> 0 > 38) {
+    break a;
+   }
+   b : {
+    switch (b - 1 | 0) {
+    default:
+     M$(q[a + 8 >> 2]);
+     break a;
+    case 0:
+     b = q[a + 8 >> 2];
+     if (!b) {
+      break a;
+     }
+     SW(q[b >> 2]);
+     SW(q[b + 4 >> 2]);
+     SW(q[b + 8 >> 2]);
+     SW(q[b + 12 >> 2]);
+     M$(b);
+     break a;
+    case 1:
+     M$(q[a + 8 >> 2]);
+     break a;
+    case 3:
+     IR(q[a + 8 >> 2]);
+     break a;
+    case 4:
+     KP(q[a + 8 >> 2]);
+     break a;
+    case 7:
+     M$(q[a + 8 >> 2]);
+     break a;
+    case 16:
+    case 17:
+    case 18:
+    case 19:
+    case 20:
+    case 21:
+    case 22:
+    case 23:
+    case 24:
+    case 25:
+    case 26:
+    case 27:
+    case 28:
+    case 29:
+    case 30:
+    case 31:
+    case 33:
+     SW(q[a + 12 >> 2]);
+     break;
+    case 2:
+    case 5:
+    case 6:
+    case 8:
+    case 9:
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 14:
+    case 15:
+     break a;
+    case 32:
+    case 34:
+    case 35:
+    case 36:
+    case 37:
+     break b;
+    }
+   }
+   SW(q[a + 8 >> 2]);
+  }
+  q[a >> 2] = 8;
+ }
+}
+function Ju(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ a : {
+  e = q[b + 8 >> 2];
+  if (r[e + 12 | 0] != 1) {
+   break a;
+  }
+  b = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!b) {
+   break a;
+  }
+  g = r[c + 2 | 0];
+  d = r[c + 3 | 0];
+  h = r[c | 0];
+  i = r[c + 1 | 0];
+  q[e + 16 >> 2] = -1;
+  c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  f = nF(e, c);
+  if (!f) {
+   break a;
+  }
+  h = (X0(i | h << 8) + X0(d | g << 8) << 1) + 2 | 0;
+  a = a + 2 | 0;
+  while (1) {
+   i = c & -512;
+   j = c + 512 & -512;
+   while (1) {
+    d = (c >>> 3 & 56) + f | 0;
+    g = d;
+    k = q[d + 4 >> 2];
+    l = d;
+    m = q[d >> 2];
+    d = c & 63;
+    c = d & 31;
+    if (32 <= (d & 63) >>> 0) {
+     d = 1 << c;
+     c = 0;
+    } else {
+     d = (1 << c) - 1 & 1 >>> 32 - c;
+     c = 1 << c;
+    }
+    q[l >> 2] = m | c;
+    q[g + 4 >> 2] = d | k;
+    b = b + -1 | 0;
+    if (!b) {
+     break a;
+    }
+    a = a + h | 0;
+    c = r[a | 0] << 8 | r[a + 1 | 0];
+    if (c >>> 0 < j >>> 0 ? i >>> 0 <= c >>> 0 : 0) {
+     continue;
+    }
+    break;
+   }
+   f = nF(e, c);
+   if (f) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function rw(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ h = q[b + 4 >> 2];
+ a : {
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+  b : {
+   if (!e) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | h >>> 0 > c >>> 0 | d - c >>> 0 < e >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (!d) {
+    break b;
+   }
+   g = 1;
+   if (Rv(c + d | 0, b, 0)) {
+    break a;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    return 0;
+   }
+   q[b + 24 >> 2] = c + 1;
+   g = 0;
+   if (!r[b + 20 | 0]) {
+    break a;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   o[a + 2 | 0] = 0;
+   o[a + 3 | 0] = 0;
+  }
+  g = 1;
+ }
+ return g;
+}
+function PL(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 32 | 0;
+ Ca = d;
+ c = cg(a, 3);
+ e = cg(a, 2);
+ h = q[a + 88 >> 2];
+ f = 1;
+ a : {
+  if (!e) {
+   break a;
+  }
+  b : {
+   if (c) {
+    g = p[c + 4 >> 1] - p[c + 6 >> 1] | 0;
+    if (g) {
+     break b;
+    }
+   }
+   g = p[e + 70 >> 1] - p[e + 72 >> 1] | 0;
+  }
+  if (!g) {
+   break a;
+  }
+  c = p[e + 78 >> 1] + p[e + 76 >> 1] | 0;
+  if (!c) {
+   break a;
+  }
+  f = +(g | 0) / +(c | 0);
+ }
+ q[d + 8 >> 2] = 1;
+ q[d + 12 >> 2] = 0;
+ q[d + 20 >> 2] = 0;
+ q[d + 24 >> 2] = 0;
+ c = d;
+ b = f * b * 64;
+ c : {
+  if (y(b) < 2147483648) {
+   e = ~~b;
+   break c;
+  }
+  e = -2147483648;
+ }
+ q[c + 16 >> 2] = e;
+ Tf(a, d + 8 | 0);
+ a = h + 24 | 0;
+ b = +q[a >> 2] / f;
+ d : {
+  if (y(b) < 2147483648) {
+   c = ~~b;
+   break d;
+  }
+  c = -2147483648;
+ }
+ q[a >> 2] = c;
+ a = h + 28 | 0;
+ b = +q[a >> 2] / f;
+ e : {
+  if (y(b) < 2147483648) {
+   c = ~~b;
+   break e;
+  }
+  c = -2147483648;
+ }
+ q[a >> 2] = c;
+ a = h + 32 | 0;
+ b = +q[a >> 2] / f;
+ f : {
+  if (y(b) < 2147483648) {
+   c = ~~b;
+   break f;
+  }
+  c = -2147483648;
+ }
+ q[a >> 2] = c;
+ Ca = d + 32 | 0;
+}
+function nt(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ q[a >> 2] = -57005;
+ b = q[a + 8 >> 2];
+ if (b) {
+  a : {
+   if (!q[b + 8 >> 2]) {
+    c = b + 12 | 0;
+    M$(q[c >> 2]);
+    q[c >> 2] = 0;
+    q[b + 4 >> 2] = 0;
+    q[b + 8 >> 2] = 0;
+    break a;
+   }
+   while (1) {
+    c = q[b >> 2];
+    q[b >> 2] = 1;
+    if (c) {
+     continue;
+    }
+    break;
+   }
+   c = q[b + 8 >> 2];
+   if (c) {
+    while (1) {
+     e = c + -1 | 0;
+     d = q[b + 12 >> 2] + w(e, 12) | 0;
+     c = q[d + 8 >> 2];
+     d = q[d + 4 >> 2];
+     q[b + 8 >> 2] = e;
+     q[b >> 2] = 0;
+     if (c) {
+      n[c](d);
+     }
+     while (1) {
+      c = q[b >> 2];
+      q[b >> 2] = 1;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     c = q[b + 8 >> 2];
+     if (c) {
+      continue;
+     }
+     break;
+    }
+   }
+   M$(q[b + 12 >> 2]);
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   q[b >> 2] = 0;
+   q[b + 4 >> 2] = 0;
+  }
+  M$(b);
+ }
+ q[a + 16 >> 2] = 0;
+ b = a + 28 | 0;
+ M$(q[b >> 2]);
+ q[b >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+ b = a + 40 | 0;
+ M$(q[b >> 2]);
+ q[b >> 2] = 0;
+ q[a + 32 >> 2] = 0;
+ q[a + 36 >> 2] = 0;
+}
+function o$(a, b, c, d, e, f, g, h) {
+ var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ j = 1;
+ i = d & 2147483647;
+ m = i;
+ k = c;
+ a : {
+  if (!c & (i | 0) == 2147418112 ? a | b : (i | 0) == 2147418112 & c >>> 0 > 0 | i >>> 0 > 2147418112) {
+   break a;
+  }
+  l = h & 2147483647;
+  n = l;
+  i = g;
+  if (!g & (l | 0) == 2147418112 ? e | f : (l | 0) == 2147418112 & g >>> 0 > 0 | l >>> 0 > 2147418112) {
+   break a;
+  }
+  if (!(a | e | (i | k) | (b | f | (m | n)))) {
+   return 0;
+  }
+  k = d & h;
+  if ((k | 0) > 0 ? 1 : (k | 0) >= 0 ? (c & g) >>> 0 < 0 ? 0 : 1 : 0) {
+   j = -1;
+   if ((c | 0) == (g | 0) & (d | 0) == (h | 0) ? (b | 0) == (f | 0) & a >>> 0 < e >>> 0 | b >>> 0 < f >>> 0 : (d | 0) < (h | 0) ? 1 : (d | 0) <= (h | 0) ? c >>> 0 >= g >>> 0 ? 0 : 1 : 0) {
+    break a;
+   }
+   return (a ^ e | c ^ g) != 0 | (b ^ f | d ^ h) != 0;
+  }
+  j = -1;
+  if ((c | 0) == (g | 0) & (d | 0) == (h | 0) ? (b | 0) == (f | 0) & a >>> 0 > e >>> 0 | b >>> 0 > f >>> 0 : (d | 0) > (h | 0) ? 1 : (d | 0) >= (h | 0) ? c >>> 0 <= g >>> 0 ? 0 : 1 : 0) {
+   break a;
+  }
+  j = (a ^ e | c ^ g) != 0 | (b ^ f | d ^ h) != 0;
+ }
+ return j;
+}
+function Gs(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ i = q[b + 4 >> 2];
+ a : {
+  if (i >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 4) {
+   break a;
+  }
+  h = q[b + 12 >> 2];
+  g = h + -1 | 0;
+  q[b + 12 >> 2] = g;
+  if ((h | 0) < 1) {
+   break a;
+  }
+  e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  j = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+  e = 0;
+  b : {
+   if (!j) {
+    break b;
+   }
+   e = 0;
+   if (f >>> 0 < c >>> 0 | i >>> 0 > c >>> 0 | f - c >>> 0 < j >>> 0) {
+    break a;
+   }
+   g = h + -2 | 0;
+   q[b + 12 >> 2] = g;
+   if ((h | 0) < 2) {
+    break a;
+   }
+   a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   e = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  }
+  a = e;
+  e = 1;
+  d = r[d + 1 | 0] | r[d | 0] << 8;
+  if (!d) {
+   break a;
+  }
+  a = a + c | 0;
+  if (!(i >>> 0 > a >>> 0 | f >>> 0 < a >>> 0 | f - a >>> 0 < d << 2 >>> 0)) {
+   q[b + 12 >> 2] = g + -1;
+   if ((g | 0) > 0) {
+    break a;
+   }
+  }
+  e = 0;
+ }
+ return e;
+}
+function AW(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ i = a + 32 | 0;
+ h = a + 40 | 0;
+ g = b + c | 0;
+ while (1) {
+  d = 0;
+  a : {
+   if (b >>> 0 >= g >>> 0) {
+    break a;
+   }
+   d = 1;
+   c = q[a + 40 >> 2];
+   if (c >>> 0 >= h >>> 0) {
+    break a;
+   }
+   b : {
+    c : {
+     while (1) {
+      d = r[b | 0];
+      q[a + 40 >> 2] = c + 1;
+      o[c | 0] = d;
+      b = b + 1 | 0;
+      if ((g | 0) == (b | 0)) {
+       break c;
+      }
+      c = q[a + 40 >> 2];
+      if (c >>> 0 < h >>> 0) {
+       continue;
+      }
+      break;
+     }
+     c = b;
+     break b;
+    }
+    c = g;
+   }
+   d = b >>> 0 < g >>> 0;
+   b = c;
+  }
+  if (t[a + 40 >> 2] >= h >>> 0) {
+   c = q[a + 36 >> 2];
+   e = c ^ q[a + 28 >> 2];
+   f = q[a + 32 >> 2];
+   q[a + 24 >> 2] = f ^ q[a + 24 >> 2];
+   q[a + 28 >> 2] = e;
+   EW(a);
+   q[a + 40 >> 2] = i;
+   c = q[a + 4 >> 2] ^ c;
+   q[a >> 2] = q[a >> 2] ^ f;
+   q[a + 4 >> 2] = c;
+   e = q[a + 52 >> 2];
+   f = q[a + 48 >> 2] + 8 | 0;
+   if (f >>> 0 < 8) {
+    e = e + 1 | 0;
+   }
+   q[a + 48 >> 2] = f;
+   q[a + 52 >> 2] = e;
+   if (d) {
+    continue;
+   }
+  }
+  break;
+ }
+}
+function Am(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ g = q[b + 12 >> 2];
+ h = b;
+ e = q[b + 16 >> 2];
+ j = e;
+ f = e;
+ i = q[a + 48 >> 2];
+ d = q[a + 52 >> 2];
+ if (i >>> 0 > d >>> 0) {
+  d = q[a + 44 >> 2];
+ }
+ d = d - i | 0;
+ e = d >>> 0 > e >>> 0 ? f : d;
+ q[h + 16 >> 2] = j - e;
+ q[b + 20 >> 2] = e + q[b + 20 >> 2];
+ d = e ? 0 : c;
+ h = (c | 0) == -5;
+ f = q[a + 56 >> 2];
+ if (f) {
+  f = n[f](q[a + 60 >> 2], i, e) | 0;
+  q[a + 60 >> 2] = f;
+  q[b + 48 >> 2] = f;
+ }
+ c = h ? d : c;
+ h = Y$(g, i, e) + e | 0;
+ d = e + i | 0;
+ if ((d | 0) == q[a + 44 >> 2]) {
+  e = q[a + 40 >> 2];
+  f = d;
+  d = q[a + 52 >> 2];
+  if ((f | 0) == (d | 0)) {
+   q[a + 52 >> 2] = e;
+   d = e;
+  }
+  f = q[b + 16 >> 2];
+  d = d - e | 0;
+  d = d >>> 0 > f >>> 0 ? f : d;
+  q[b + 16 >> 2] = f - d;
+  q[b + 20 >> 2] = d + q[b + 20 >> 2];
+  f = d ? 0 : c;
+  i = (c | 0) == -5;
+  g = q[a + 56 >> 2];
+  if (g) {
+   g = n[g](q[a + 60 >> 2], e, d) | 0;
+   q[a + 60 >> 2] = g;
+   q[b + 48 >> 2] = g;
+  }
+  h = Y$(h, e, d) + d | 0;
+  d = d + e | 0;
+  c = i ? f : c;
+ }
+ q[b + 12 >> 2] = h;
+ q[a + 48 >> 2] = d;
+ return c;
+}
+function eX(a) {
+ var b = 0, c = 0, d = 0;
+ b = q[a + 4 >> 2];
+ if (!(!b | q[b + 4 >> 2] != q[a >> 2])) {
+  q[a + 4 >> 2] = q[b >> 2];
+  c = q[b + 8 >> 2] + -1 | 0;
+  a : {
+   if (c >>> 0 > 18) {
+    break a;
+   }
+   b : {
+    switch (c - 1 | 0) {
+    default:
+     M$(q[b + 16 >> 2]);
+     break a;
+    case 4:
+     gS(q[b + 16 >> 2]);
+     break a;
+    case 10:
+     c = q[b + 16 >> 2];
+     if (!c) {
+      break a;
+     }
+     M$(c);
+     break a;
+    case 11:
+     M$(q[b + 16 >> 2]);
+     break a;
+    case 13:
+     IR(q[b + 16 >> 2]);
+     break a;
+    case 14:
+     KP(q[b + 16 >> 2]);
+     break a;
+    case 15:
+     c = q[b + 16 >> 2];
+     SW(q[c + 16 >> 2]);
+     M$(c);
+     break a;
+    case 5:
+    case 6:
+    case 7:
+    case 16:
+     SW(q[b + 16 >> 2]);
+     break a;
+    case 0:
+    case 3:
+    case 8:
+    case 9:
+    case 12:
+     break a;
+    case 17:
+     break b;
+    }
+   }
+   c = q[b + 16 >> 2];
+   d = q[c + 8 >> 2];
+   if (d) {
+    SW(d);
+   }
+   M$(c);
+  }
+  c = q[a + 1312 >> 2] + -1 | 0;
+  if (((w(c, 24) + a | 0) + 1320 | 0) == (b | 0)) {
+   q[a + 1312 >> 2] = c;
+   return;
+  }
+  M$(b);
+ }
+}
+function AJ(a, b) {
+ var c = 0, d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ c = q[a >> 2] + 1 | 0;
+ q[d + 12 >> 2] = c;
+ a : {
+  if (c >>> 0 >= b >>> 0) {
+   break a;
+  }
+  while (1) {
+   wJ(d + 12 | 0, b);
+   c = q[d + 12 >> 2];
+   if (c >>> 0 >= b >>> 0) {
+    break a;
+   }
+   b : {
+    e = r[c | 0];
+    if ((e + -48 & 255) >>> 0 <= 9) {
+     break b;
+    }
+    e = e + -65 | 0;
+    if (e >>> 0 > 37) {
+     break a;
+    }
+    switch (e - 6 | 0) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 14:
+    case 15:
+    case 16:
+    case 17:
+    case 18:
+    case 19:
+    case 20:
+    case 21:
+    case 22:
+    case 23:
+    case 24:
+    case 25:
+     break a;
+    default:
+     break b;
+    }
+   }
+   c = c + 1 | 0;
+   q[d + 12 >> 2] = c;
+   if (c >>> 0 < b >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ c : {
+  if (c >>> 0 < b >>> 0) {
+   b = 3;
+   if (r[c | 0] != 62) {
+    break c;
+   }
+  }
+  c = c + 1 | 0;
+  q[d + 12 >> 2] = c;
+  b = 0;
+ }
+ q[a >> 2] = c;
+ Ca = d + 16 | 0;
+ return b;
+}
+function XB(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = Ca - 16 | 0;
+ Ca = h;
+ a : {
+  if (c >>> 0 > 536870910) {
+   break a;
+  }
+  if (!c) {
+   e = 1;
+   break a;
+  }
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < c << 3 >>> 0) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  f = 0;
+  b : {
+   while (1) {
+    e = (f << 3) + a | 0;
+    if (t[b + 4 >> 2] > e >>> 0) {
+     break b;
+    }
+    i = q[b + 8 >> 2];
+    if (i >>> 0 < e >>> 0 | i - e >>> 0 <= 7) {
+     break b;
+    }
+    i = q[d >> 2];
+    g = q[b + 12 >> 2];
+    q[b + 12 >> 2] = g + -1;
+    if ((g | 0) < 1) {
+     break b;
+    }
+    g = r[e + 3 | 0] | r[e + 2 | 0] << 8;
+    j = r[e + 1 | 0] | r[e | 0] << 8;
+    if (g >>> 0 < j >>> 0) {
+     break b;
+    }
+    q[h + 12 >> 2] = (g - j | 0) + 1;
+    if (!YB(e + 4 | 0, b, i, h + 12 | 0)) {
+     break b;
+    }
+    f = f + 1 | 0;
+    if ((f | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   e = 1;
+   break a;
+  }
+  e = 0;
+ }
+ Ca = h + 16 | 0;
+ return e;
+}
+function Se(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   b = q[a + 4 >> 2];
+   if (!(q[a + 40 >> 2] | !b)) {
+    c = b << 1;
+    if ((c | 0) < 0) {
+     d = 6;
+     break a;
+    }
+    if (c) {
+     d = 10;
+     if ((c | 0) > 268435455) {
+      break a;
+     }
+     d = q[a >> 2];
+     b = b << 4;
+     d = n[q[d + 4 >> 2]](d, b) | 0;
+     if (!d) {
+      break b;
+     }
+     Z$(d, 0, b);
+    }
+    o[a + 16 | 0] = 1;
+    q[a + 40 >> 2] = d;
+    e = (q[a + 4 >> 2] << 3) + d | 0;
+    q[a + 44 >> 2] = e;
+    b = a;
+    c = q[a + 24 >> 2];
+    if (c) {
+     c = c + (p[a + 22 >> 1] << 3) | 0;
+    } else {
+     c = 0;
+    }
+    q[b + 60 >> 2] = c;
+    c = a - -64 | 0;
+    b = q[a + 28 >> 2];
+    if (b) {
+     b = b + p[a + 22 >> 1] | 0;
+    } else {
+     b = 0;
+    }
+    q[c >> 2] = b;
+    b = a;
+    c = q[a + 32 >> 2];
+    if (c) {
+     c = c + (p[a + 20 >> 1] << 1) | 0;
+    } else {
+     c = 0;
+    }
+    q[b + 68 >> 2] = c;
+    b = p[a + 22 >> 1] << 3;
+    q[a + 80 >> 2] = b + e;
+    q[a + 76 >> 2] = d + b;
+   }
+   return 0;
+  }
+  q[a + 40 >> 2] = d;
+  return 64;
+ }
+ q[a + 40 >> 2] = 0;
+ return d;
+}
+function CF(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ i = q[b + 4 >> 2];
+ a : {
+  if (i >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 2) {
+   break a;
+  }
+  h = q[b + 12 >> 2];
+  g = h + -1 | 0;
+  q[b + 12 >> 2] = g;
+  if ((h | 0) < 1) {
+   break a;
+  }
+  j = r[a + 1 | 0] | r[a | 0] << 8;
+  if (j) {
+   if (f >>> 0 < c >>> 0 | i >>> 0 > c >>> 0 | f - c >>> 0 < j >>> 0) {
+    break a;
+   }
+   g = h + -2 | 0;
+   q[b + 12 >> 2] = g;
+   if ((h | 0) < 2) {
+    break a;
+   }
+   k = r[a + 1 | 0] | r[a | 0] << 8;
+  }
+  b : {
+   d = q[d >> 2];
+   if (d >>> 0 > 357913940) {
+    break b;
+   }
+   c = c + k | 0;
+   a = w(d, 12);
+   if (a) {
+    if (f >>> 0 < c >>> 0 | i >>> 0 > c >>> 0 | f - c >>> 0 < a >>> 0) {
+     break b;
+    }
+    q[b + 12 >> 2] = g + -1;
+    if ((g | 0) < 1) {
+     break a;
+    }
+   }
+   if (!d) {
+    return 1;
+   }
+   a = 0;
+   while (1) {
+    if (!DF(c + w(a, 12) | 0, b, q[e >> 2])) {
+     break b;
+    }
+    a = a + 1 | 0;
+    if ((d | 0) != (a | 0)) {
+     continue;
+    }
+    break;
+   }
+   return 1;
+  }
+ }
+ return 0;
+}
+function Tv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ if ((c | 0) == 1936292453) {
+  return Uv(a, b);
+ }
+ d = c & -65536;
+ a : {
+  if ((d | 0) != 1668677632) {
+   c = 1;
+   if ((d | 0) != 1936916480) {
+    break a;
+   }
+   c = 0;
+   if (t[b + 4 >> 2] > a >>> 0) {
+    break a;
+   }
+   d = q[b + 8 >> 2];
+   if (d >>> 0 < a >>> 0 | d - a >>> 0 < 4) {
+    break a;
+   }
+   a = q[b + 12 >> 2];
+   q[b + 12 >> 2] = a + -1;
+   return (a | 0) > 0;
+  }
+  c = 0;
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 14) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  f = a + 12 | 0;
+  if (g >>> 0 > f >>> 0 | d >>> 0 < f >>> 0 | d - f >>> 0 < 2) {
+   break a;
+  }
+  q[b + 12 >> 2] = e + -2;
+  if ((e | 0) < 2) {
+   break a;
+  }
+  f = r[a + 13 | 0] | r[a + 12 | 0] << 8;
+  if (f) {
+   a = a + 14 | 0;
+   if (g >>> 0 > a >>> 0 | d >>> 0 < a >>> 0 | d - a >>> 0 < w(f, 3) >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -3;
+   if ((e | 0) < 3) {
+    break a;
+   }
+  }
+  c = 1;
+ }
+ return c;
+}
+function wF(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ g = q[b + 4 >> 2];
+ a : {
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+  if (e >>> 0 > 1073741822) {
+   break a;
+  }
+  if (e) {
+   i = g;
+   g = a + 4 | 0;
+   if (i >>> 0 > g >>> 0 | d >>> 0 < g >>> 0 | d - g >>> 0 < e << 2 >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   h = 1;
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   f = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (!f) {
+    break a;
+   }
+   h = 0;
+   d = 0;
+   while (1) {
+    if (!zF(((d << 2) + a | 0) + 4 | 0, b, q[c >> 2])) {
+     break a;
+    }
+    d = d + 1 | 0;
+    if ((f | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  h = 1;
+ }
+ return h;
+}
+function ps(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ i = q[b + 4 >> 2];
+ a : {
+  if (i >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 2) {
+   break a;
+  }
+  h = q[b + 12 >> 2];
+  g = h + -1 | 0;
+  q[b + 12 >> 2] = g;
+  if ((h | 0) < 1) {
+   break a;
+  }
+  k = r[a + 1 | 0] | r[a | 0] << 8;
+  if (k) {
+   if (f >>> 0 < c >>> 0 | i >>> 0 > c >>> 0 | f - c >>> 0 < k >>> 0) {
+    break a;
+   }
+   g = h + -2 | 0;
+   q[b + 12 >> 2] = g;
+   if ((h | 0) < 2) {
+    break a;
+   }
+   l = r[a + 1 | 0] | r[a | 0] << 8;
+  }
+  d = q[d >> 2];
+  if (d >>> 0 > 2147483646) {
+   return 0;
+  }
+  j = 1;
+  if (!d) {
+   break a;
+  }
+  c = c + l | 0;
+  if (i >>> 0 > c >>> 0) {
+   return 0;
+  }
+  if (f >>> 0 < c >>> 0) {
+   return 0;
+  }
+  j = 0;
+  if (f - c >>> 0 < d << 1 >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = g + -1;
+  if ((g | 0) <= 0) {
+   break a;
+  }
+  a = 0;
+  while (1) {
+   if (!ls(c + (a << 1) | 0, b, q[e >> 2])) {
+    break a;
+   }
+   a = a + 1 | 0;
+   if ((d | 0) != (a | 0)) {
+    continue;
+   }
+   break;
+  }
+  j = 1;
+ }
+ return j;
+}
+function gB(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ g = q[b + 4 >> 2];
+ a : {
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+  if (e >>> 0 > 1073741822) {
+   break a;
+  }
+  if (e) {
+   i = g;
+   g = a + 4 | 0;
+   if (i >>> 0 > g >>> 0 | d >>> 0 < g >>> 0 | d - g >>> 0 < e << 2 >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   h = 1;
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   f = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   if (!f) {
+    break a;
+   }
+   h = 0;
+   d = 0;
+   while (1) {
+    if (!hB(((d << 2) + a | 0) + 4 | 0, b, q[c >> 2])) {
+     break a;
+    }
+    d = d + 1 | 0;
+    if ((f | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  h = 1;
+ }
+ return h;
+}
+function yC(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = q[a + 12 >> 2];
+ b = c;
+ q[b + 40 >> 2] = 0;
+ q[b + 44 >> 2] = 0;
+ q[b + 32 >> 2] = 0;
+ q[b + 36 >> 2] = 0;
+ q[b + 24 >> 2] = 0;
+ q[b + 28 >> 2] = 0;
+ q[b + 16 >> 2] = 0;
+ q[b + 20 >> 2] = 0;
+ q[b + 8 >> 2] = 0;
+ q[b + 12 >> 2] = 0;
+ q[b >> 2] = 0;
+ q[b + 4 >> 2] = 0;
+ b = q[d + 72 >> 2];
+ g = n[q[b + 148 >> 2]](d, q[d + 76 >> 2], c, q[b + 12 >> 2]) | 0;
+ if (g) {
+  a : {
+   b : {
+    b = q[a + 12 >> 2];
+    if (b) {
+     b = q[b + 24 >> 2];
+     a = q[a + 24 >> 2];
+     if ((b | 0) != (a | 0)) {
+      break b;
+     }
+     a = c + 8 | 0;
+     b = q[c + 8 >> 2];
+     break a;
+    }
+    a = c + 8 | 0;
+    b = q[c + 8 >> 2];
+    break a;
+   }
+   d = a;
+   e = a >> 31;
+   a = q[c >> 2];
+   f = b;
+   b = b >> 31;
+   h = c, i = U0(T0(d, e, a, a >> 31), Ea, f, b), q[h >> 2] = i;
+   a = q[c + 4 >> 2];
+   h = c, i = U0(T0(d, e, a, a >> 31), Ea, f, b), q[h + 4 >> 2] = i;
+   a = c + 8 | 0;
+   c = q[c + 8 >> 2];
+   b = U0(T0(d, e, c, c >> 31), Ea, f, b);
+  }
+  q[a >> 2] = b;
+ }
+ return g | 0;
+}
+function gC(a, b) {
+ var c = 0, d = 0;
+ q[a + 16 >> 2] = b;
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 8 >> 2] = 0;
+ o[a | 0] = 0;
+ a : {
+  b = YF(b + 52 | 0);
+  b = t[b + 16 >> 2] < 54 ? 271040 : q[b + 12 >> 2];
+  c = r[b + 50 | 0] << 8 | r[b + 51 | 0];
+  if (!(c >>> 0 > 1 | (r[b + 53 | 0] | r[b + 52 | 0] << 8))) {
+   o[a | 0] = !c;
+   b = q[a + 16 >> 2];
+   kF(b);
+   b = iF(b, 1819239265);
+   c = Hq(b);
+   if (q[c + 16 >> 2] <= -1) {
+    break a;
+   }
+   d = q[c + 12 >> 2];
+   Cq(c);
+   if (d) {
+    Gq(b);
+   }
+   q[a + 8 >> 2] = b;
+   b = q[a + 16 >> 2];
+   kF(b);
+   b = iF(b, 1735162214);
+   c = Hq(b);
+   if (q[c + 16 >> 2] <= -1) {
+    break a;
+   }
+   d = q[c + 12 >> 2];
+   Cq(c);
+   if (d) {
+    Gq(b);
+   }
+   q[a + 12 >> 2] = b;
+   b = q[a + 8 >> 2];
+   b = q[(b ? b : 271040) + 16 >> 2] >>> (r[a | 0] ? 1 : 2) | 0;
+   b = (b >>> 0 > 1 ? b : 1) + -1 | 0;
+   q[a + 4 >> 2] = b;
+   d = q[a + 16 >> 2];
+   c = q[d + 32 >> 2];
+   if ((c | 0) == -1) {
+    c = VF(d);
+    b = q[a + 4 >> 2];
+   }
+   q[a + 4 >> 2] = b >>> 0 > c >>> 0 ? c : b;
+  }
+  return;
+ }
+ J(242576, 242601, 195, 242618);
+ F();
+}
+function AC(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = q[a + 12 >> 2];
+ b = c;
+ q[b + 40 >> 2] = 0;
+ q[b + 44 >> 2] = 0;
+ q[b + 32 >> 2] = 0;
+ q[b + 36 >> 2] = 0;
+ q[b + 24 >> 2] = 0;
+ q[b + 28 >> 2] = 0;
+ q[b + 16 >> 2] = 0;
+ q[b + 20 >> 2] = 0;
+ q[b + 8 >> 2] = 0;
+ q[b + 12 >> 2] = 0;
+ q[b >> 2] = 0;
+ q[b + 4 >> 2] = 0;
+ b = q[d + 72 >> 2];
+ g = n[q[b + 152 >> 2]](d, q[d + 76 >> 2], c, q[b + 16 >> 2]) | 0;
+ if (g) {
+  a : {
+   b : {
+    b = q[a + 12 >> 2];
+    if (b) {
+     b = q[b + 20 >> 2];
+     a = q[a + 20 >> 2];
+     if ((b | 0) != (a | 0)) {
+      break b;
+     }
+     a = c + 8 | 0;
+     b = q[c + 8 >> 2];
+     break a;
+    }
+    a = c + 8 | 0;
+    b = q[c + 8 >> 2];
+    break a;
+   }
+   d = a;
+   e = a >> 31;
+   a = q[c >> 2];
+   f = b;
+   b = b >> 31;
+   h = c, i = U0(T0(d, e, a, a >> 31), Ea, f, b), q[h >> 2] = i;
+   a = q[c + 4 >> 2];
+   h = c, i = U0(T0(d, e, a, a >> 31), Ea, f, b), q[h + 4 >> 2] = i;
+   a = c + 8 | 0;
+   c = q[c + 8 >> 2];
+   b = U0(T0(d, e, c, c >> 31), Ea, f, b);
+  }
+  q[a >> 2] = b;
+ }
+ return g | 0;
+}
+function _R(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   if (q[b >> 2] != -1) {
+    d = q[a + 4 >> 2];
+    if (!d) {
+     d = N$(1, 1596);
+     q[a + 4 >> 2] = d;
+     if (!d) {
+      break b;
+     }
+    }
+    c = q[(((b >>> 0) % 67 << 2) + d | 0) + 1304 >> 2];
+    c : {
+     if (!c) {
+      break c;
+     }
+     while (1) {
+      if (q[c + 4 >> 2] != (b | 0)) {
+       c = q[c >> 2];
+       if (c) {
+        continue;
+       }
+       break c;
+      }
+      break;
+     }
+     e = 1;
+     if (q[c + 8 >> 2]) {
+      break a;
+     }
+    }
+    b = YR(d, b);
+   }
+   c = q[b + 12 >> 2];
+   d = q[b + 8 >> 2];
+   e = 0;
+   if (!bP(a, b, 16)) {
+    break a;
+   }
+   if (!bP(a, b + d | 0, q[b + 4 >> 2] << 2)) {
+    break a;
+   }
+   if (!bP(a, b + c | 0, q[b + 4 >> 2] << 1)) {
+    break a;
+   }
+   c = 0;
+   e = 1;
+   if (q[b + 4 >> 2] <= 0) {
+    break a;
+   }
+   while (1) {
+    d = q[b + 8 >> 2] + b | 0;
+    if (!bP(a, q[d + (c << 2) >> 2] + d | 0, 32)) {
+     break b;
+    }
+    c = c + 1 | 0;
+    if ((c | 0) < q[b + 4 >> 2]) {
+     continue;
+    }
+    break;
+   }
+   return 1;
+  }
+  e = 0;
+ }
+ return e;
+}
+function Kg(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  e = q[a + 20 >> 2];
+  b : {
+   if (e) {
+    c = 85;
+    if (t[a + 4 >> 2] < b >>> 0) {
+     break b;
+    }
+    d = q[a + 28 >> 2];
+    c : {
+     d : {
+      if ((b | 0) >= 1) {
+       c = n[q[d + 4 >> 2]](d, b) | 0;
+       if (c) {
+        break d;
+       }
+       c = 64;
+       break a;
+      }
+      c = 6;
+      if (b) {
+       break a;
+      }
+      c = 0;
+      break c;
+     }
+     e = q[a + 20 >> 2];
+    }
+    q[a >> 2] = c;
+    e = n[e](a, q[a + 8 >> 2], c, b) | 0;
+    c = q[a >> 2];
+    if (e >>> 0 >= b >>> 0) {
+     d = 0;
+    } else {
+     if (c) {
+      n[q[d + 8 >> 2]](d, c);
+     }
+     c = 0;
+     q[a >> 2] = 0;
+     d = 85;
+    }
+    q[a + 32 >> 2] = c;
+    q[a + 36 >> 2] = c ? b + c | 0 : 0;
+    q[a + 8 >> 2] = e + q[a + 8 >> 2];
+    return d;
+   }
+   e = q[a + 4 >> 2];
+   d = q[a + 8 >> 2];
+   c = 85;
+   if (e >>> 0 <= d >>> 0 | e - d >>> 0 < b >>> 0) {
+    break b;
+   }
+   q[a + 8 >> 2] = b + d;
+   c = d + q[a >> 2] | 0;
+   q[a + 32 >> 2] = c;
+   q[a + 36 >> 2] = b + c;
+   c = 0;
+  }
+  return c;
+ }
+ q[a >> 2] = 0;
+ return c;
+}
+function Le(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ a : {
+  e = d >> 31;
+  f = e + d ^ e;
+  e = a >> 31;
+  if ((f + (e + a ^ e) | 0) > 131071) {
+   break a;
+  }
+  e = c >> 31;
+  f = e + c ^ e;
+  e = b >> 31;
+  if ((f + (e + b ^ e) | 0) > 131071) {
+   break a;
+  }
+  a = w(a, d);
+  b = w(b, c);
+  return (a | 0) > (b | 0) ? 1 : (a | 0) < (b | 0) ? -1 : 0;
+ }
+ f = d & 65535;
+ g = a >>> 16 | 0;
+ h = d >>> 16 | 0;
+ a = a & 65535;
+ i = w(h, a);
+ d = w(f, g) + i | 0;
+ e = d << 16;
+ j = c >>> 16 | 0;
+ k = b & 65535;
+ l = w(j, k);
+ m = c & 65535;
+ n = b >>> 16 | 0;
+ b = l + w(m, n) | 0;
+ c = b << 16;
+ g = (w(g, h) + (d >>> 16 | 0) | 0) + ((d >>> 0 < i >>> 0) << 16) | 0;
+ d = e + w(a, f) | 0;
+ e = g + (d >>> 0 < e >>> 0) | 0;
+ a = (w(n, j) + (b >>> 16 | 0) | 0) + ((b >>> 0 < l >>> 0) << 16) | 0;
+ b = c + w(m, k) | 0;
+ c = a + (b >>> 0 < c >>> 0) | 0;
+ a = 1;
+ b : {
+  if (e >>> 0 > c >>> 0) {
+   break b;
+  }
+  a = -1;
+  if (e >>> 0 < c >>> 0) {
+   break b;
+  }
+  a = 1;
+  if (d >>> 0 > b >>> 0) {
+   break b;
+  }
+  a = d >>> 0 < b >>> 0 ? -1 : 0;
+ }
+ return a;
+}
+function VJ(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = 3;
+ a : {
+  if (q[a + 64 >> 2] != 3) {
+   q[a + 64 >> 2] = 3;
+   e = q[a + 20 >> 2];
+   if (!e) {
+    break a;
+   }
+   b : {
+    if (r[a + 68 | 0]) {
+     d = q[a + 12 >> 2];
+     if ((p[d + 20 >> 1] + p[d + 56 >> 1] | 0) + 1 >>> 0 > t[d + 8 >> 2]) {
+      d = Ue(d, 0, 1);
+      if (d) {
+       break a;
+      }
+     }
+     f = s[e >> 1];
+     d = f << 16 >> 16;
+     if ((d | 0) < 1) {
+      break b;
+     }
+     p[(q[e + 12 >> 2] + (f << 1) | 0) + -2 >> 1] = s[e + 2 >> 1] + -1;
+    }
+    d = s[e >> 1];
+   }
+   p[e >> 1] = d + 1;
+   d = q[a + 12 >> 2];
+   if ((p[d + 22 >> 1] + p[d + 58 >> 1] | 0) + 1 >>> 0 > t[d + 4 >> 2]) {
+    d = Ue(d, 1, 0);
+    if (d) {
+     break a;
+    }
+   }
+   d = q[a + 20 >> 2];
+   if (r[a + 68 | 0]) {
+    a = q[d + 8 >> 2];
+    e = p[d + 2 >> 1];
+    f = q[d + 4 >> 2] + (e << 3) | 0;
+    g = f, h = Ae(b) >> 16, q[g >> 2] = h;
+    g = f, h = Ae(c) >> 16, q[g + 4 >> 2] = h;
+    o[a + e | 0] = 1;
+   }
+   p[d + 2 >> 1] = s[d + 2 >> 1] + 1;
+  }
+  d = 0;
+ }
+ return d | 0;
+}
+function Qs(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ b = r[a | 0] | r[a + 1 | 0] << 8;
+ b = (b << 24 | b << 8 & 16711680) >>> 16 | 0;
+ a : {
+  if (b >>> 0 > 1) {
+   break a;
+  }
+  b : {
+   if (b - 1) {
+    c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+    if (!c) {
+     break a;
+    }
+    a = a + 4 | 0;
+    b = 0;
+    d = 1;
+    while (1) {
+     if (r[a + 4 | 0] == 1) {
+      break a;
+     }
+     a = (r[a + 3 | 0] | r[a + 2 | 0] << 8) + a | 0;
+     b = b + 1 | 0;
+     if ((c | 0) != (b | 0)) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   }
+   b = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+   b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+   if (!b) {
+    break a;
+   }
+   a = a + 8 | 0;
+   d = 1;
+   while (1) {
+    if (r[a + 5 | 0] == 1) {
+     break a;
+    }
+    e = a;
+    a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+    a = e + (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) | 0;
+    c = c + 1 | 0;
+    if ((b | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = 0;
+ }
+ return d;
+}
+function Rs(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ b = r[a | 0] | r[a + 1 | 0] << 8;
+ b = (b << 24 | b << 8 & 16711680) >>> 16 | 0;
+ a : {
+  if (b >>> 0 > 1) {
+   break a;
+  }
+  b : {
+   if (b - 1) {
+    c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+    if (!c) {
+     break a;
+    }
+    a = a + 4 | 0;
+    b = 0;
+    d = 1;
+    while (1) {
+     if (r[a + 5 | 0] & 4) {
+      break a;
+     }
+     a = (r[a + 3 | 0] | r[a + 2 | 0] << 8) + a | 0;
+     b = b + 1 | 0;
+     if ((c | 0) != (b | 0)) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   }
+   b = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+   b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+   if (!b) {
+    break a;
+   }
+   a = a + 8 | 0;
+   d = 1;
+   while (1) {
+    if (r[a + 4 | 0] & 64) {
+     break a;
+    }
+    e = a;
+    a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+    a = e + (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) | 0;
+    c = c + 1 | 0;
+    if ((b | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = 0;
+ }
+ return d;
+}
+function OF(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = q[b + 4 >> 2];
+ a : {
+  if (d >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  if ((g | 0) < 1) {
+   break a;
+  }
+  f = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!f) {
+   return 1;
+  }
+  i = d;
+  d = a + 2 | 0;
+  if (i >>> 0 > d >>> 0 | e >>> 0 < d >>> 0 | e - d >>> 0 < f << 3 >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = g + -2;
+  if ((g | 0) < 2) {
+   break a;
+  }
+  h = 1;
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!g) {
+   break a;
+  }
+  h = 0;
+  e = 0;
+  while (1) {
+   f = q[b + 8 >> 2];
+   if (f >>> 0 < d >>> 0 | f - d >>> 0 < 8) {
+    break a;
+   }
+   d = q[c >> 2];
+   f = q[b + 12 >> 2];
+   q[b + 12 >> 2] = f + -1;
+   if ((f | 0) < 1) {
+    break a;
+   }
+   if (!PF(((e << 3) + a | 0) + 6 | 0, b, d)) {
+    break a;
+   }
+   e = e + 1 | 0;
+   if ((g | 0) == (e | 0)) {
+    return 1;
+   }
+   d = ((e << 3) + a | 0) + 2 | 0;
+   if (t[b + 4 >> 2] <= d >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ return h;
+}
+function Hx(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = q[b + 4 >> 2];
+ a : {
+  if (d >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  if ((g | 0) < 1) {
+   break a;
+  }
+  f = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!f) {
+   return 1;
+  }
+  i = d;
+  d = a + 2 | 0;
+  if (i >>> 0 > d >>> 0 | e >>> 0 < d >>> 0 | e - d >>> 0 < f << 2 >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = g + -2;
+  if ((g | 0) < 2) {
+   break a;
+  }
+  h = 1;
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!g) {
+   break a;
+  }
+  h = 0;
+  e = 0;
+  while (1) {
+   f = q[b + 8 >> 2];
+   if (f >>> 0 < d >>> 0 | f - d >>> 0 < 4) {
+    break a;
+   }
+   d = q[c >> 2];
+   f = q[b + 12 >> 2];
+   q[b + 12 >> 2] = f + -1;
+   if ((f | 0) < 1) {
+    break a;
+   }
+   if (!Dx(((e << 2) + a | 0) + 4 | 0, b, d)) {
+    break a;
+   }
+   e = e + 1 | 0;
+   if ((g | 0) == (e | 0)) {
+    return 1;
+   }
+   d = ((e << 2) + a | 0) + 2 | 0;
+   if (t[b + 4 >> 2] <= d >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ return h;
+}
+function qw(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = q[b + 4 >> 2];
+ a : {
+  if (d >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  if ((g | 0) < 1) {
+   break a;
+  }
+  f = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!f) {
+   return 1;
+  }
+  i = d;
+  d = a + 2 | 0;
+  if (i >>> 0 > d >>> 0 | e >>> 0 < d >>> 0 | e - d >>> 0 < w(f, 6) >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = g + -2;
+  if ((g | 0) < 2) {
+   break a;
+  }
+  h = 1;
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!g) {
+   break a;
+  }
+  h = 0;
+  e = 0;
+  while (1) {
+   f = q[b + 8 >> 2];
+   if (f >>> 0 < d >>> 0 | f - d >>> 0 < 6) {
+    break a;
+   }
+   d = q[c >> 2];
+   f = q[b + 12 >> 2];
+   q[b + 12 >> 2] = f + -1;
+   if ((f | 0) < 1) {
+    break a;
+   }
+   if (!rw((w(e, 6) + a | 0) + 4 | 0, b, d)) {
+    break a;
+   }
+   e = e + 1 | 0;
+   if ((g | 0) == (e | 0)) {
+    return 1;
+   }
+   d = (w(e, 6) + a | 0) + 2 | 0;
+   if (t[b + 4 >> 2] <= d >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ return h;
+}
+function KI(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ var g = 0, h = 0;
+ g = q[a + 4 >> 2];
+ b = 0 - g | 0;
+ f = b & (c + g | 0) + -1;
+ b = b & d;
+ if ((s[e + 12 >> 1] & 7) != 2) {
+  b = (b | 0) == (d | 0) ? b : (c | 0) == (f | 0) ? b : ((d - c | 0) - g | 0) > q[a + 20 >> 2] ? b : f;
+ }
+ c = q[a >> 2];
+ b = b >> c;
+ a : {
+  if ((b | 0) < 0) {
+   break a;
+  }
+  c = f >> c;
+  d = s[a + 52 >> 1];
+  if ((c | 0) >= (d | 0)) {
+   break a;
+  }
+  f = (b | 0) < (d | 0) ? b : d + -1 | 0;
+  d = -128 >> (f & 7);
+  g = q[a + 140 >> 2];
+  h = q[a + 56 >> 2];
+  a = (c | 0) > 0 ? c : 0;
+  c = a << 13 >> 16;
+  b = (g + h | 0) + c | 0;
+  e = 255 >>> (a & 7) | 0;
+  f = f << 13 >> 16;
+  a = f - c | 0;
+  if ((a | 0) >= 1) {
+   o[b | 0] = e | r[b | 0];
+   if ((a | 0) != 1) {
+    Z$((h + (c + g | 0) | 0) + 1 | 0, 255, f + (c ^ -1) | 0);
+    while (1) {
+     b = b + 1 | 0;
+     c = (a | 0) > 2;
+     a = a + -1 | 0;
+     if (c) {
+      continue;
+     }
+     break;
+    }
+   }
+   o[b + 1 | 0] = d | r[b + 1 | 0];
+   return;
+  }
+  o[b | 0] = r[b | 0] | d & e;
+ }
+}
+function JE(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = q[b + 12 >> 2];
+ d = q[a >> 2];
+ e = n[q[f + 24 >> 2]](f, d, q[f + 56 >> 2]) | 0;
+ i = a;
+ if (d >>> 0 >= 128) {
+  q[b + 32 >> 2] = q[b + 32 >> 2] | 1;
+  c = e;
+  a : {
+   if (!SE(d)) {
+    break a;
+   }
+   g = q[b + 32 >> 2];
+   q[b + 32 >> 2] = g | 2;
+   h = d + -8204 | 0;
+   if (h >>> 0 <= 1) {
+    c = e | 544;
+    if (h - 1) {
+     break a;
+    }
+    c = e | 288;
+    break a;
+   }
+   c = e | 96;
+   if (d + -6155 >>> 0 <= 2) {
+    break a;
+   }
+   c = e | 96;
+   if (d + -917536 >>> 0 <= 95) {
+    break a;
+   }
+   c = e | 32;
+   if ((d | 0) != 847) {
+    break a;
+   }
+   q[b + 32 >> 2] = g | 34;
+   c = e | 96;
+  }
+  b = c;
+  if (e >>> 0 > 31) {
+   p[a + 16 >> 1] = b;
+   return;
+  }
+  if (!(1 << e & 7168)) {
+   p[a + 16 >> 1] = b;
+   return;
+  }
+  a = 65024;
+  b : {
+   if ((d | 0) == 6752 | (d | 0) == 4038) {
+    break b;
+   }
+   a = 32512;
+   if ((d | 0) == 3897) {
+    break b;
+   }
+   a = r[(n[q[f + 16 >> 2]](f, d, q[f + 48 >> 2]) | 0) + 271520 | 0] << 8;
+  }
+  e = a | b | 128;
+ }
+ p[i + 16 >> 1] = e;
+}
+function Zx(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, s = 0, t = 0;
+ e = r[a + 1 | 0] | r[a | 0] << 8;
+ if (!e) {
+  return 0;
+ }
+ i = X0(r[c + 1 | 0] | r[c | 0] << 8);
+ j = r[c + 3 | 0] | r[c + 2 | 0] << 8;
+ n = (i + X0(j) << 1) + 2 | 0;
+ o = c + 2 | 0;
+ f = e + -1 | 0;
+ e = q[b + 96 >> 2];
+ k = q[q[e + 88 >> 2] + w(d, 20) >> 2];
+ a : {
+  while (1) {
+   h = f + l >>> 1 | 0;
+   g = w(n, h) + a | 0;
+   m = g + 2 | 0;
+   g = r[m | 0] << 8 | r[g + 3 | 0];
+   b : {
+    if (g >>> 0 > k >>> 0) {
+     f = h + -1 | 0;
+     break b;
+    }
+    if ((g | 0) == (k | 0)) {
+     break a;
+    }
+    l = h + 1 | 0;
+   }
+   if ((l | 0) <= (f | 0)) {
+    continue;
+   }
+   break;
+  }
+  return 0;
+ }
+ f = c;
+ c = m + 2 | 0;
+ c : {
+  if (p = 0, s = !Ux(f, b, a, c, q[e + 96 >> 2] + w(q[e + 72 >> 2], 20) | 0), t = Ux(o, b, a, c + (i << 1) | 0, q[e + 96 >> 2] + w(d, 20) | 0), t ? p : s) {
+   break c;
+  }
+  a = d + 1 | 0;
+  b = q[e + 72 >> 2];
+  if (a - b >>> 0 < 2) {
+   break c;
+  }
+  DG(e, b, a);
+ }
+ q[e + 72 >> 2] = ((j | 0) != 0) + d;
+ return 1;
+}
+function Bp(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ if (!a) {
+  return 35;
+ }
+ f = 16;
+ a : {
+  b : {
+   if (s[a + 264 >> 1] <= b >>> 0) {
+    break b;
+   }
+   d = q[a + 544 >> 2];
+   if (!d) {
+    return 7;
+   }
+   f = 0;
+   g = c, h = n[q[d + 16 >> 2]](0) | 0, q[g >> 2] = h;
+   e = q[a + 476 >> 2];
+   if ((e | 0) != 151552) {
+    if ((e | 0) != 131072) {
+     if ((e | 0) != 65536 | b >>> 0 > 257) {
+      break b;
+     }
+     break a;
+    }
+    if (!r[a + 632 | 0]) {
+     if (Cp(a)) {
+      break b;
+     }
+    }
+    if (s[a + 636 >> 1] <= b >>> 0) {
+     break b;
+    }
+    b = s[q[a + 640 >> 2] + (b << 1) >> 1];
+    if (b >>> 0 <= 257) {
+     break a;
+    }
+    q[c >> 2] = q[(q[a + 644 >> 2] + (b << 2) | 0) + -1032 >> 2];
+    return 0;
+   }
+   if (!r[a + 632 | 0]) {
+    if (Cp(a)) {
+     break b;
+    }
+   }
+   if (s[a + 636 >> 1] <= b >>> 0) {
+    break b;
+   }
+   g = c, h = n[q[d + 16 >> 2]](o[q[a + 640 >> 2] + b | 0] + b | 0) | 0, q[g >> 2] = h;
+  }
+  return f | 0;
+ }
+ g = c, h = n[q[d + 16 >> 2]](b) | 0, q[g >> 2] = h;
+ return 0;
+}
+function dJ(a, b, c, d, e) {
+ var f = 0, g = 0;
+ f = d >> 9;
+ a : {
+  if (r[a + 232 | 0] & 2) {
+   d = f & 511;
+   d = d >>> 0 > 255 ? d ^ 511 : d;
+   break a;
+  }
+  d = f ^ d >> 31;
+  d = (d | 0) < 255 ? d : 255;
+ }
+ f = q[a + 312 >> 2];
+ b : {
+  if ((f | 0) >= 0) {
+   g = f + 1 | 0;
+   q[a + 312 >> 2] = g;
+   f = w(f, 6) + a | 0;
+   o[f + 256 | 0] = d;
+   p[f + 254 >> 1] = e;
+   p[f + 252 >> 1] = b;
+   if ((g | 0) != 10) {
+    break b;
+   }
+   n[q[a + 244 >> 2]](c, 10, a + 252 | 0, q[a + 248 >> 2]);
+   q[a + 312 >> 2] = 0;
+   return;
+  }
+  a = (q[a + 236 >> 2] - w(q[a + 240 >> 2], c) | 0) + b | 0;
+  if (e >>> 0 <= 7) {
+   c : {
+    switch (e - 1 | 0) {
+    case 6:
+     o[a | 0] = d;
+     a = a + 1 | 0;
+    case 5:
+     o[a | 0] = d;
+     a = a + 1 | 0;
+    case 4:
+     o[a | 0] = d;
+     a = a + 1 | 0;
+    case 3:
+     o[a | 0] = d;
+     a = a + 1 | 0;
+    case 2:
+     o[a | 0] = d;
+     a = a + 1 | 0;
+    case 1:
+     o[a | 0] = d;
+     a = a + 1 | 0;
+     break;
+    case 0:
+     break c;
+    default:
+     break b;
+    }
+   }
+   o[a | 0] = d;
+   return;
+  }
+  Z$(a, d, e);
+ }
+}
+function _p(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ h = 3;
+ g = b + 2 | 0;
+ a : {
+  if (g >>> 0 > c >>> 0) {
+   break a;
+  }
+  i = r[b + 1 | 0] | r[b | 0] << 8;
+  if ((i << 2) + g >>> 0 > c >>> 0) {
+   break a;
+  }
+  b = q[a + 12 >> 2];
+  c = r[b + 14 | 0];
+  j = s[b + 12 >> 1];
+  k = s[b + 10 >> 1];
+  l = r[b + 8 | 0];
+  m = s[b + 6 >> 1];
+  n = s[b + 4 >> 1];
+  b : {
+   if (!i) {
+    h = 0;
+    break b;
+   }
+   f = f + 1 | 0;
+   b = 0;
+   while (1) {
+    h = Ap(a, r[g + 1 | 0] | r[g | 0] << 8, o[g + 2 | 0] + d | 0, o[g + 3 | 0] + e | 0, f, 0);
+    if (!h) {
+     g = g + 4 | 0;
+     b = b + 1 | 0;
+     if ((i | 0) != (b | 0)) {
+      continue;
+     }
+    }
+    break;
+   }
+   b = q[a + 12 >> 2];
+  }
+  p[b + 14 >> 1] = c;
+  p[b + 8 >> 1] = l;
+  p[b + 12 >> 1] = j << 24 >> 24;
+  p[b + 10 >> 1] = k << 24 >> 24;
+  p[b + 6 >> 1] = m << 24 >> 24;
+  p[b + 4 >> 1] = n << 24 >> 24;
+  a = q[a + 8 >> 2];
+  p[b + 2 >> 1] = r[a + 4 | 0];
+  p[b >> 1] = r[a | 0];
+ }
+ return h | 0;
+}
+function gQ(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = Ca + -64 | 0;
+ Ca = c;
+ a : {
+  if (!a | !b) {
+   break a;
+  }
+  if ((a | 0) == (b | 0)) {
+   d = a;
+   break a;
+  }
+  q[c + 48 >> 2] = 0;
+  q[c + 52 >> 2] = a;
+  q[c + 36 >> 2] = b;
+  q[c + 32 >> 2] = 0;
+  e = _P(c + 32 | 0, 0);
+  b = _P(c + 48 | 0, 0);
+  if (!b) {
+   break a;
+  }
+  while (1) {
+   b : {
+    if ((b & 255) == (e | 0)) {
+     b = q[c + 60 >> 2];
+     q[c + 24 >> 2] = q[c + 56 >> 2];
+     q[c + 28 >> 2] = b;
+     b = q[c + 52 >> 2];
+     q[c + 16 >> 2] = q[c + 48 >> 2];
+     q[c + 20 >> 2] = b;
+     b = q[c + 44 >> 2];
+     q[c + 8 >> 2] = q[c + 40 >> 2];
+     q[c + 12 >> 2] = b;
+     b = q[c + 36 >> 2];
+     q[c >> 2] = q[c + 32 >> 2];
+     q[c + 4 >> 2] = b;
+     while (1) {
+      b = _P(c + 16 | 0, 0);
+      d = _P(c, 0);
+      if (!d) {
+       break b;
+      }
+      if ((b | 0) == (d | 0)) {
+       continue;
+      }
+      break;
+     }
+    }
+    d = 0;
+    a = q[c + 52 >> 2];
+    b = _P(c + 48 | 0, 0);
+    if (b) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  d = a;
+ }
+ Ca = c - -64 | 0;
+ return d;
+}
+function WZ(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0;
+ f = Ca - 208 | 0;
+ Ca = f;
+ q[f + 204 >> 2] = c;
+ c = 0;
+ Z$(f + 160 | 0, 0, 40);
+ q[f + 200 >> 2] = q[f + 204 >> 2];
+ a : {
+  if ((XZ(0, b, f + 200 | 0, f + 80 | 0, f + 160 | 0, d, e) | 0) < 0) {
+   b = -1;
+   break a;
+  }
+  c = q[a + 76 >> 2] >= 0 ? 1 : c;
+  g = q[a >> 2];
+  if (o[a + 74 | 0] <= 0) {
+   q[a >> 2] = g & -33;
+  }
+  h = g & 32;
+  b : {
+   if (q[a + 48 >> 2]) {
+    b = XZ(a, b, f + 200 | 0, f + 80 | 0, f + 160 | 0, d, e);
+    break b;
+   }
+   q[a + 48 >> 2] = 80;
+   q[a + 16 >> 2] = f + 80;
+   q[a + 28 >> 2] = f;
+   q[a + 20 >> 2] = f;
+   g = q[a + 44 >> 2];
+   q[a + 44 >> 2] = f;
+   d = XZ(a, b, f + 200 | 0, f + 80 | 0, f + 160 | 0, d, e);
+   b = d;
+   if (!g) {
+    break b;
+   }
+   n[q[a + 36 >> 2]](a, 0, 0) | 0;
+   q[a + 48 >> 2] = 0;
+   q[a + 44 >> 2] = g;
+   q[a + 28 >> 2] = 0;
+   q[a + 16 >> 2] = 0;
+   b = q[a + 20 >> 2];
+   q[a + 20 >> 2] = 0;
+   b = b ? d : -1;
+  }
+  d = a;
+  a = q[a >> 2];
+  q[d >> 2] = a | h;
+  b = a & 32 ? -1 : b;
+  if (!c) {
+   break a;
+  }
+ }
+ Ca = f + 208 | 0;
+ return b;
+}
+
+
+
+function _L(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return w(r[a + 35 | 0] ^ w(r[a + 34 | 0] ^ w(r[a + 33 | 0] ^ w(r[a + 32 | 0] ^ w(r[a + 31 | 0] ^ w(r[a + 30 | 0] ^ w(r[a + 29 | 0] ^ w(r[a + 28 | 0] ^ w(r[a + 27 | 0] ^ w(r[a + 26 | 0] ^ w(r[a + 25 | 0] ^ w(r[a + 24 | 0] ^ w(r[a + 23 | 0] ^ w(r[a + 22 | 0] ^ w(r[a + 21 | 0] ^ w(r[a + 20 | 0] ^ w(r[a + 19 | 0] ^ w(r[a + 18 | 0] ^ w(r[a + 17 | 0] ^ w(r[a + 16 | 0] ^ w(r[a + 15 | 0] ^ w(r[a + 14 | 0] ^ w(r[a + 13 | 0] ^ w(r[a + 12 | 0] ^ w(r[a + 11 | 0] ^ w(r[a + 10 | 0] ^ w(r[a + 9 | 0] ^ w(r[a + 8 | 0] ^ w(r[a + 7 | 0] ^ w(r[a + 6 | 0] ^ w(r[a + 5 | 0] ^ w(r[a + 4 | 0] ^ w(r[a + 3 | 0] ^ w(r[a + 2 | 0] ^ w(r[a + 1 | 0] ^ w(r[a | 0] ^ b, 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619) | 0;
+}
+function WB(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ j = q[b + 4 >> 2];
+ a : {
+  if (j >>> 0 > a >>> 0) {
+   break a;
+  }
+  g = q[b + 8 >> 2];
+  if (g >>> 0 < a >>> 0 | g - a >>> 0 < 4) {
+   break a;
+  }
+  h = q[b + 12 >> 2];
+  q[b + 12 >> 2] = h + -1;
+  if ((h | 0) < 1) {
+   break a;
+  }
+  e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+  i = 0;
+  b : {
+   if (!e) {
+    break b;
+   }
+   if (g >>> 0 < c >>> 0 | j >>> 0 > c >>> 0 | g - c >>> 0 < e >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = h + -2;
+   if ((h | 0) < 2) {
+    break a;
+   }
+   a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   i = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  }
+  d = r[d | 0] | r[d + 1 | 0] << 8 | (r[d + 2 | 0] << 16 | r[d + 3 | 0] << 24);
+  a = c + i | 0;
+  q[f + 12 >> 2] = a;
+  k = XB(a, b, d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24), f + 12 | 0);
+ }
+ Ca = f + 16 | 0;
+ return k;
+}
+function Jw(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ e = c ? c + a | 0 : 271040;
+ c = q[b + 96 >> 2];
+ c = ct(e, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]);
+ a : {
+  if ((c | 0) == -1 | c >>> 0 >= (r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0) {
+   break a;
+  }
+  d = 1;
+  a = (c << 1) + a | 0;
+  f = r[a + 6 | 0] << 8 | r[a + 7 | 0];
+  Iw(b, f, 0, 0, 0);
+  a = q[b + 96 >> 2];
+  e = q[a + 92 >> 2];
+  b : {
+   if ((e | 0) == q[a + 88 >> 2]) {
+    c = q[a + 80 >> 2];
+    b = c;
+    if (q[a + 72 >> 2] == (c | 0)) {
+     break b;
+    }
+   }
+   if (!pG(a, 1, 1)) {
+    break a;
+   }
+   c = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+   d = q[c + 4 >> 2];
+   b = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+   q[b >> 2] = q[c >> 2];
+   q[b + 4 >> 2] = d;
+   q[b + 16 >> 2] = q[c + 16 >> 2];
+   d = q[c + 12 >> 2];
+   q[b + 8 >> 2] = q[c + 8 >> 2];
+   q[b + 12 >> 2] = d;
+   c = q[a + 72 >> 2];
+   b = q[a + 80 >> 2];
+   e = q[a + 92 >> 2];
+  }
+  q[w(b, 20) + e >> 2] = f;
+  d = 1;
+  q[a + 80 >> 2] = b + 1;
+  q[a + 72 >> 2] = c + 1;
+ }
+ return d;
+}
+function tx(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 8) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  if (!dv(a + 2 | 0, b, a)) {
+   break a;
+  }
+  f = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+  d = r[a + 5 | 0];
+  c = d | r[a + 4 | 0] << 8;
+  g = X0(c);
+  e = g << 1;
+  if (4294967295 / (e >>> 0) >>> 0 <= f >>> 0 ? c : 0) {
+   break a;
+  }
+  c = a + 8 | 0;
+  e = w(e, f);
+  if (e) {
+   if (t[b + 4 >> 2] > c >>> 0) {
+    break a;
+   }
+   d = q[b + 8 >> 2];
+   if (d >>> 0 < c >>> 0 | d - c >>> 0 < e >>> 0) {
+    break a;
+   }
+   d = q[b + 12 >> 2];
+   q[b + 12 >> 2] = d + -1;
+   if ((d | 0) < 1) {
+    break a;
+   }
+   d = r[a + 5 | 0];
+  }
+  h = 1;
+  if (!f | d >>> 0 < 16) {
+   break a;
+  }
+  e = a + 4 | 0;
+  d = 0;
+  while (1) {
+   if (!Ax(e, b, a, c)) {
+    return 0;
+   }
+   c = (g << 1) + c | 0;
+   d = d + 1 | 0;
+   if ((f | 0) != (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return h;
+}
+function gv(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ e = q[b + 4 >> 2];
+ a : {
+  if (e >>> 0 > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 2) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+   return 1;
+  }
+  f = a + 2 | 0;
+  if (e >>> 0 > f >>> 0 | c >>> 0 < f >>> 0 | c - f >>> 0 < 2) {
+   break a;
+  }
+  q[b + 12 >> 2] = d + -2;
+  if ((d | 0) < 2) {
+   break a;
+  }
+  f = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (!f) {
+   return 1;
+  }
+  h = e;
+  e = a + 4 | 0;
+  if (h >>> 0 > e >>> 0 | c >>> 0 < e >>> 0 | c - e >>> 0 < f << 2 >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = d + -3;
+  if ((d | 0) < 3) {
+   break a;
+  }
+  g = 1;
+  d = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (!d) {
+   break a;
+  }
+  c = 0;
+  b : {
+   while (1) {
+    if (!nv(((c << 2) + a | 0) + 4 | 0, b, a)) {
+     break b;
+    }
+    c = c + 1 | 0;
+    if ((d | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   return 1;
+  }
+  g = 0;
+ }
+ return g;
+}
+function ar(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 80 | 0;
+ Ca = d;
+ e = $q(q[b + 16 >> 2] + 156 | 0);
+ g = q[e + 16 >> 2];
+ h = q[e + 12 >> 2];
+ q[d + 12 >> 2] = b;
+ q[d + 8 >> 2] = a;
+ a = q[b + 16 >> 2];
+ q[d + 48 >> 2] = 0;
+ f = d + 32 | 0;
+ q[f >> 2] = 0;
+ q[f + 4 >> 2] = 0;
+ q[d + 40 >> 2] = 0;
+ o[d + 60 | 0] = 0;
+ q[d + 56 >> 2] = 65536;
+ q[d + 20 >> 2] = c;
+ q[d + 16 >> 2] = a;
+ q[d + 24 >> 2] = 0;
+ q[d + 28 >> 2] = 0;
+ q[d + 68 >> 2] = 0;
+ q[d + 72 >> 2] = 0;
+ q[d + 64 >> 2] = 271040;
+ e = Hq(e);
+ o[d + 44 | 0] = 0;
+ q[d + 52 >> 2] = e;
+ c = q[a + 32 >> 2];
+ if ((c | 0) == -1) {
+  c = VF(a);
+ }
+ o[d + 60 | 0] = 1;
+ q[d + 56 >> 2] = c;
+ a = q[e + 12 >> 2];
+ q[d + 28 >> 2] = a;
+ c = a;
+ a = q[e + 16 >> 2];
+ q[f >> 2] = c + a;
+ if ((a | 0) <= -1) {
+  J(228144, 228169, 195, 228186);
+  F();
+ }
+ q[d + 36 >> 2] = 1073741823;
+ q[d + 24 >> 2] = 0;
+ q[d + 48 >> 2] = 0;
+ a = br(q[b + 16 >> 2] + 160 | 0);
+ q[d + 64 >> 2] = t[a + 16 >> 2] < 12 ? 271040 : q[a + 12 >> 2];
+ cr(g >>> 0 < 8 ? 271040 : h, d + 8 | 0);
+ Cq(q[d + 52 >> 2]);
+ Ca = d + 80 | 0;
+}
+function fw(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ e = q[b + 4 >> 2];
+ a : {
+  if (e >>> 0 > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 6) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  f = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (!f) {
+   break a;
+  }
+  g = e;
+  e = a + 6 | 0;
+  if (g >>> 0 > e >>> 0 | c >>> 0 < e >>> 0 | c - e >>> 0 < f << 1 >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = d + -2;
+  if ((d | 0) <= 1) {
+   break a;
+  }
+  c = 0;
+  while (1) {
+   if (!dv(((c << 1) + a | 0) + 6 | 0, b, a)) {
+    break a;
+   }
+   c = c + 1 | 0;
+   if ((f | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+  c = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  if (!c) {
+   return 1;
+  }
+  a = ((r[a + 3 | 0] << 1 | r[a + 2 | 0] << 9) + a | 0) + 6 | 0;
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < c << 2 >>> 0) {
+   break a;
+  }
+  a = q[b + 12 >> 2];
+  q[b + 12 >> 2] = a + -1;
+  h = (a | 0) > 0;
+ }
+ return h;
+}
+function Sj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 208 | 0;
+ Ca = d;
+ f = q[a + 532 >> 2];
+ n[q[b + 60 >> 2]](b, d + 16 | 0, 16, d + 12 | 0);
+ c = q[d + 12 >> 2];
+ a : {
+  if ((c | 0) < 0) {
+   e = 162;
+   break a;
+  }
+  e = 3;
+  if (!c | (c | 0) > 16) {
+   break a;
+  }
+  b : {
+   c : {
+    if (f) {
+     g = q[f >> 2];
+     if (g) {
+      break c;
+     }
+    }
+    e = Pj(a, c, 0);
+    if (e) {
+     break a;
+    }
+    f = q[a + 532 >> 2];
+    c = q[d + 12 >> 2];
+    break b;
+   }
+   if ((c | 0) != (g | 0)) {
+    break a;
+   }
+  }
+  e = q[b + 8 >> 2];
+  g = q[b >> 2];
+  if ((c | 0) >= 1) {
+   c = 0;
+   while (1) {
+    a = (d + 16 | 0) + w(c, 12) | 0;
+    q[b >> 2] = q[a >> 2];
+    q[b + 8 >> 2] = q[a + 4 >> 2];
+    a = n[q[b + 40 >> 2]](b, 0) | 0;
+    h = c << 2;
+    q[h + q[f + 136 >> 2] >> 2] = a;
+    q[h + q[f + 140 >> 2] >> 2] = a;
+    c = c + 1 | 0;
+    if ((c | 0) < q[d + 12 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[b + 8 >> 2] = e;
+  q[b >> 2] = g;
+  e = 0;
+ }
+ q[b + 12 >> 2] = e;
+ Ca = d + 208 | 0;
+}
+function r$(a, b) {
+ var c = 0, d = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ h(+b);
+ d = e(1) | 0;
+ i = e(0) | 0;
+ m = d & -2147483648;
+ f = d & 2147483647;
+ c = f;
+ j = c + -1048576 | 0;
+ f = i;
+ k = f;
+ if (f >>> 0 < 0) {
+  j = j + 1 | 0;
+ }
+ a : {
+  if ((j | 0) == 2145386495 & k >>> 0 <= 4294967295 | j >>> 0 < 2145386495) {
+   l = f << 28;
+   d = (c & 15) << 28 | f >>> 4;
+   c = (c >>> 4 | 0) + 1006632960 | 0;
+   c = d >>> 0 < 0 ? c + 1 | 0 : c;
+   break a;
+  }
+  if ((c | 0) == 2146435072 & f >>> 0 >= 0 | c >>> 0 > 2146435072) {
+   l = i << 28;
+   c = d >>> 4 | 0;
+   d = (d & 15) << 28 | i >>> 4;
+   c = c | 2147418112;
+   break a;
+  }
+  if (!(c | f)) {
+   d = 0;
+   c = 0;
+   break a;
+  }
+  k = c;
+  c = (c | 0) == 1 & f >>> 0 >= 0 | c >>> 0 > 1 ? z(c) : z(i) + 32 | 0;
+  n$(g, f, k, 0, 0, c + 49 | 0);
+  n = q[g >> 2];
+  l = q[g + 4 >> 2];
+  d = q[g + 8 >> 2];
+  c = q[g + 12 >> 2] ^ 65536 | 15372 - c << 16;
+ }
+ q[a >> 2] = n;
+ q[a + 4 >> 2] = l;
+ q[a + 8 >> 2] = d | o;
+ q[a + 12 >> 2] = c | m;
+ Ca = g + 16 | 0;
+}
+function bU(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0;
+ g = q[b >> 2];
+ i = q[d >> 2];
+ a = e - i | 0;
+ j = (c - g | 0) > (a | 0);
+ h = j ? a + g | 0 : c;
+ a = h;
+ a : {
+  if (g >>> 0 >= a >>> 0) {
+   break a;
+  }
+  e = 0;
+  c = h;
+  while (1) {
+   a = c;
+   c = c + -1 | 0;
+   f = r[c | 0];
+   b : {
+    if ((f & 248) == 240) {
+     f = e + 1 | 0;
+     e = 0;
+     if (f >>> 0 < 4) {
+      break b;
+     }
+     a = a + 3 | 0;
+     break a;
+    }
+    if ((f & 240) == 224) {
+     f = e + 1 | 0;
+     e = 0;
+     if (f >>> 0 < 3) {
+      break b;
+     }
+     a = a + 2 | 0;
+     break a;
+    }
+    if ((f & 224) == 192) {
+     f = e + 1 | 0;
+     e = 0;
+     if (f >>> 0 < 2) {
+      break b;
+     }
+     a = a + 1 | 0;
+     break a;
+    }
+    if (!(f & 128)) {
+     break a;
+    }
+   }
+   e = e + 1 | 0;
+   a = c;
+   if (c >>> 0 > g >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ c = a - g | 0;
+ Y$(i, g, c);
+ q[b >> 2] = c + q[b >> 2];
+ q[d >> 2] = c + q[d >> 2];
+ return (j ? 2 : a >>> 0 < h >>> 0) | 0;
+}
+function Z_(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ f = q[a >> 2] + 1794895138 | 0;
+ e = __(q[a + 8 >> 2], f);
+ g = __(q[a + 12 >> 2], f);
+ d = __(q[a + 16 >> 2], f);
+ a : {
+  if (e >>> 0 >= b >>> 2 >>> 0) {
+   break a;
+  }
+  h = b - (e << 2) | 0;
+  if ((d | g) & 3 | (g >>> 0 >= h >>> 0 | d >>> 0 >= h >>> 0)) {
+   break a;
+  }
+  l = d >>> 2 | 0;
+  m = g >>> 2 | 0;
+  g = 0;
+  while (1) {
+   h = e >>> 1 | 0;
+   i = h + g | 0;
+   j = i << 1;
+   d = (j + m << 2) + a | 0;
+   k = __(q[d >> 2], f);
+   d = __(q[d + 4 >> 2], f);
+   if (b >>> 0 <= d >>> 0 | k >>> 0 >= b - d >>> 0 | r[(d + k | 0) + a | 0]) {
+    break a;
+   }
+   d = iZ(c, a + d | 0);
+   if (!d) {
+    c = (l + j << 2) + a | 0;
+    e = __(q[c >> 2], f);
+    c = __(q[c + 4 >> 2], f);
+    if (b >>> 0 <= c >>> 0 | e >>> 0 >= b - c >>> 0) {
+     break a;
+    }
+    n = r[(c + e | 0) + a | 0] ? 0 : a + c | 0;
+    break a;
+   }
+   if ((e | 0) == 1) {
+    break a;
+   }
+   d = (d | 0) < 0;
+   e = d ? h : e - h | 0;
+   g = d ? g : i;
+   continue;
+  }
+ }
+ return n;
+}
+function AM(a) {
+ var b = 0, c = 0, d = 0;
+ b = q[a + 120 >> 2];
+ a : {
+  if (!b) {
+   break a;
+  }
+  d = b + 44 | 0;
+  c = q[d >> 2] + -1 | 0;
+  q[d >> 2] = c;
+  if (c) {
+   break a;
+  }
+  while (1) {
+   c = q[b + 28 >> 2];
+   bM(q[b + 36 >> 2]);
+   Kd(q[b + 40 >> 2]);
+   M$(b);
+   b = c;
+   if (b) {
+    continue;
+   }
+   break;
+  }
+ }
+ b = q[a + 124 >> 2];
+ b : {
+  if (!b) {
+   break b;
+  }
+  d = b + 44 | 0;
+  c = q[d >> 2] + -1 | 0;
+  q[d >> 2] = c;
+  if (c) {
+   break b;
+  }
+  while (1) {
+   c = q[b + 28 >> 2];
+   bM(q[b + 36 >> 2]);
+   Kd(q[b + 40 >> 2]);
+   M$(b);
+   b = c;
+   if (b) {
+    continue;
+   }
+   break;
+  }
+ }
+ tM(q[a + 748 >> 2]);
+ tM(q[a + 744 >> 2]);
+ tM(q[a + 740 >> 2]);
+ wN(q[a + 116 >> 2]);
+ tM(q[a + 736 >> 2]);
+ b = a + 768 | 0;
+ M$(q[b + 20 >> 2]);
+ M$(q[b + 24 >> 2]);
+ Kd(q[b + 48 >> 2]);
+ b = q[a + 8 >> 2];
+ if (b) {
+  qL(b);
+ }
+ b = q[a + 4 >> 2];
+ if (b) {
+  fL(b);
+ }
+ M$(q[a + 128 >> 2]);
+ M$(q[a + 688 >> 2]);
+ M$(q[a + 696 >> 2]);
+ M$(q[a + 704 >> 2]);
+ M$(q[a + 100 >> 2]);
+ M$(q[a + 104 >> 2]);
+ M$(q[a + 828 >> 2]);
+ M$(a);
+}
+function uq(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = Ca - 48 | 0;
+ Ca = e;
+ f = q[a >> 2];
+ d = b - f | 0;
+ d = d >>> 0 < 31 ? d : 31;
+ f = lZ(e + 16 | 0, f, d);
+ o[d + (e + 16 | 0) | 0] = 0;
+ q[e + 12 >> 2] = f;
+ q[160854] = 0;
+ a : {
+  if (q[160649]) {
+   break a;
+  }
+  while (1) {
+   d = X_();
+   b : {
+    if (d) {
+     g = q[160649];
+     q[160649] = g ? g : d;
+     if (!g) {
+      break a;
+     }
+     if (W_(d)) {
+      M$(d);
+     }
+     break b;
+    }
+    d = q[160649];
+    q[160649] = d ? d : 0;
+    if (!d) {
+     break a;
+    }
+   }
+   if (!q[160649]) {
+    continue;
+   }
+   break;
+  }
+ }
+ i = c, j = V_(f, e + 12 | 0), v[i >> 3] = j;
+ c : {
+  if (q[160854]) {
+   break c;
+  }
+  c = q[e + 12 >> 2];
+  f = (c | 0) == (f | 0);
+  d : {
+   if (!f) {
+    c = c - (e + 16 | 0) | 0;
+    d = b;
+    b = q[a >> 2];
+    if ((c | 0) == (d - b | 0)) {
+     break d;
+    }
+    break c;
+   }
+   if (f) {
+    break c;
+   }
+   c = c - (e + 16 | 0) | 0;
+   b = q[a >> 2];
+  }
+  q[a >> 2] = b + c;
+  h = 1;
+ }
+ Ca = e + 48 | 0;
+ return h;
+}
+function DF(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 12) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  if (!EF(a + 5 | 0, b, c)) {
+   break a;
+  }
+  f = q[b + 4 >> 2];
+  a = ((r[a + 7 | 0] | (r[a + 6 | 0] << 8 | r[a + 5 | 0] << 16)) + c | 0) + 4 | 0;
+  if (f >>> 0 > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 12) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  e = a + 4 | 0;
+  if (f >>> 0 > e >>> 0 | c >>> 0 < e >>> 0 | c - e >>> 0 < 8) {
+   break a;
+  }
+  q[b + 12 >> 2] = d + -2;
+  if ((d | 0) < 2) {
+   break a;
+  }
+  e = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  if (e) {
+   a = a + 12 | 0;
+   if (f >>> 0 > a >>> 0 | c >>> 0 < a >>> 0 | c - a >>> 0 < e << 4 >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = d + -3;
+   if ((d | 0) < 3) {
+    break a;
+   }
+  }
+  g = 1;
+ }
+ return g;
+}
+function Nv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ h = q[b + 4 >> 2];
+ a : {
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  d = 1;
+  if ((g | 0) < 1) {
+   d = 0;
+   break a;
+  }
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!i) {
+   break a;
+  }
+  if (h >>> 0 > c >>> 0) {
+   d = 0;
+   break a;
+  }
+  if (e >>> 0 < c >>> 0) {
+   d = 0;
+   break a;
+  }
+  if (e - c >>> 0 < i >>> 0) {
+   d = 0;
+   break a;
+  }
+  q[b + 12 >> 2] = g + -2;
+  if ((g | 0) < 2) {
+   d = 0;
+   break a;
+  }
+  e = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!e) {
+   break a;
+  }
+  c = c + e | 0;
+  if (Ov(c, b, c)) {
+   q[f + 12 >> 2] = c;
+   if (Pv(c + 2 | 0, b, f + 12 | 0)) {
+    break a;
+   }
+  }
+  c = q[b + 24 >> 2];
+  if (c >>> 0 > 31) {
+   d = 0;
+   break a;
+  }
+  q[b + 24 >> 2] = c + 1;
+  d = 0;
+  if (!r[b + 20 | 0]) {
+   break a;
+  }
+  o[a | 0] = 0;
+  o[a + 1 | 0] = 0;
+  d = 1;
+ }
+ Ca = f + 16 | 0;
+ return d;
+}
+function Uh(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, r = 0, s = 0;
+ j = b << 2;
+ r = q[j + q[a + 388 >> 2] >> 2];
+ b = q[a + 260 >> 2];
+ if (!b) {
+  s = a;
+  b = p[a + 300 >> 1];
+  d = q[a + 248 >> 2];
+  a : {
+   if (!b) {
+    break a;
+   }
+   e = p[a + 298 >> 1];
+   d = q[a + 252 >> 2];
+   if (!e) {
+    break a;
+   }
+   h = q[a + 248 >> 2];
+   d = h >> 31;
+   g = d ^ d + h;
+   d = e >> 31;
+   k = d + e ^ d;
+   l = w(g >>> 16 | 0, k);
+   d = l << 16 | 8192;
+   i = q[a + 252 >> 2];
+   f = i >> 31;
+   m = f ^ f + i;
+   f = b >> 31;
+   n = f + b ^ f;
+   o = w(m >>> 16 | 0, n);
+   f = o << 16 | 8192;
+   g = d + w(k, g & 65535) | 0;
+   d = (l >>> 16 | 0) + (g >>> 0 < d >>> 0) << 18 | g >>> 14;
+   d = (e ^ h) > -1 ? d : 0 - d | 0;
+   e = f + w(n, m & 65535) | 0;
+   e = (o >>> 16 | 0) + (e >>> 0 < f >>> 0) << 18 | e >>> 14;
+   d = Be(d, (b ^ i) > -1 ? e : 0 - e | 0);
+  }
+  b = d;
+  q[s + 260 >> 2] = b;
+ }
+ b = Fe(c, b);
+ q[q[a + 388 >> 2] + j >> 2] = b + r;
+}
+function _f(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ a : {
+  if (!a) {
+   break a;
+  }
+  d = q[a + 92 >> 2];
+  if (!d | q[d + 4 >> 2] != 1970170211) {
+   break a;
+  }
+  d = q[a + 40 >> 2];
+  if (!d) {
+   break a;
+  }
+  f = q[a + 36 >> 2];
+  if ((f | 0) < 1) {
+   break a;
+  }
+  i = (f << 2) + d | 0;
+  while (1) {
+   b : {
+    f = q[d >> 2];
+    c : {
+     if (s[f + 8 >> 1] | s[f + 10 >> 1] != 5) {
+      break c;
+     }
+     e = q[f >> 2];
+     if (!e) {
+      break c;
+     }
+     e = q[e + 96 >> 2];
+     h = q[q[e >> 2] + 32 >> 2];
+     if (!h) {
+      break c;
+     }
+     e = n[h](e, 3824) | 0;
+     if (!e) {
+      break c;
+     }
+     if (n[q[e >> 2]](f, g + 8 | 0)) {
+      break c;
+     }
+     if (q[g + 12 >> 2] == 14) {
+      break b;
+     }
+    }
+    d = d + 4 | 0;
+    if (d >>> 0 < i >>> 0) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  d = q[d >> 2];
+  if (!d) {
+   break a;
+  }
+  j = n[q[q[d + 12 >> 2] + 20 >> 2]](d, q[a + 92 >> 2], b, c) | 0;
+ }
+ Ca = g + 16 | 0;
+ return j;
+}
+function is(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ a : {
+  b : {
+   c : {
+    if (t[b + 4 >> 2] > a >>> 0) {
+     break c;
+    }
+    c = q[b + 8 >> 2];
+    if (c >>> 0 < a >>> 0) {
+     break c;
+    }
+    f = c - a | 0;
+    if (f >>> 0 > 11) {
+     break b;
+    }
+   }
+   c = 0;
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  c = 0;
+  if (r[a + 1 | 0] | r[a | 0] << 8 | (e | 0) < 1) {
+   break a;
+  }
+  h = d;
+  c = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+  g = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  c = 0;
+  d : {
+   if (!g) {
+    break d;
+   }
+   c = 0;
+   if (f >>> 0 < g >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   c = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+   c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  }
+  q[h + 12 >> 2] = c + a;
+  c = js(a + 4 | 0, b, a, d + 12 | 0);
+ }
+ Ca = d + 16 | 0;
+ return c;
+}
+function Ve(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ d = q[a + 84 >> 2] + (q[a + 48 >> 2] + b | 0) | 0;
+ b = q[a + 12 >> 2];
+ a : {
+  if (d >>> 0 <= b >>> 0) {
+   break a;
+  }
+  c = d + 1 | 0;
+  if ((c | b) < 0) {
+   return 6;
+  }
+  d = q[a >> 2];
+  g = q[a + 52 >> 2];
+  b : {
+   c : {
+    f = c & -2;
+    d : {
+     if (!f) {
+      if (!g) {
+       break d;
+      }
+      n[q[d + 8 >> 2]](d, g);
+      q[a + 52 >> 2] = 0;
+      break b;
+     }
+     c = 10;
+     if ((f | 0) > 67108863) {
+      break a;
+     }
+     e : {
+      if (!b) {
+       e = n[q[d + 4 >> 2]](d, f << 5) | 0;
+       c = !e << 6;
+       break e;
+      }
+      c = n[q[d + 12 >> 2]](d, b << 5, f << 5, g) | 0;
+      e = c ? c : g;
+      c = !c << 6;
+     }
+     if (c | (f | 0) <= (b | 0) | !e) {
+      break c;
+     }
+     Z$((b << 5) + e | 0, 0, f - b << 5);
+    }
+    q[a + 52 >> 2] = e;
+    break b;
+   }
+   q[a + 52 >> 2] = e;
+   if (c) {
+    break a;
+   }
+  }
+  q[a + 12 >> 2] = f;
+  c = 0;
+  q[a + 88 >> 2] = e ? (q[a + 48 >> 2] << 5) + e | 0 : 0;
+ }
+ return c;
+}
+function WJ(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ a : {
+  a = q[a + 20 >> 2];
+  b : {
+   if (!a) {
+    break b;
+   }
+   c : {
+    d : {
+     b = s[a >> 1];
+     e = b << 16 >> 16;
+     if ((e | 0) >= 2) {
+      d = p[(q[a + 12 >> 2] + (b << 1) | 0) + -4 >> 1] + 1 | 0;
+      break d;
+     }
+     if (e) {
+      break d;
+     }
+     b = p[a + 2 >> 1];
+     break c;
+    }
+    b = p[a + 2 >> 1];
+    if ((d | 0) != (b | 0)) {
+     break c;
+    }
+    break a;
+   }
+   e : {
+    if ((b | 0) < 2) {
+     break e;
+    }
+    c = q[a + 4 >> 2];
+    f = c + (d << 3) | 0;
+    c = (c + (b << 3) | 0) + -8 | 0;
+    if (q[f >> 2] != q[c >> 2] | q[f + 4 >> 2] != q[c + 4 >> 2] | r[(q[a + 8 >> 2] + b | 0) + -1 | 0] != 1) {
+     break e;
+    }
+    b = b + -1 | 0;
+    p[a + 2 >> 1] = b;
+   }
+   if ((e | 0) < 1) {
+    break b;
+   }
+   c = d;
+   d = (b << 16 >> 16) + -1 | 0;
+   if ((c | 0) == (d | 0)) {
+    p[a + 2 >> 1] = b + -1;
+    break a;
+   }
+   p[(q[a + 12 >> 2] + (e << 1) | 0) + -2 >> 1] = d;
+  }
+  return;
+ }
+ p[a >> 1] = e + -1;
+}
+function ER(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ c = Ca - 144 | 0;
+ Ca = c;
+ f = RX(b);
+ mR(b, a, c + 80 | 0);
+ d = yQ(q[b + 12 >> 2]);
+ a : {
+  if (!d) {
+   b = -1;
+   break a;
+  }
+  b = -1;
+  b : {
+   c : {
+    while (1) {
+     a = zQ(d);
+     if (!a) {
+      break c;
+     }
+     d : {
+      if (f) {
+       q[c + 40 >> 2] = 0;
+       q[c + 32 >> 2] = a;
+       q[c + 36 >> 2] = c + 80;
+       a = uQ(f, c + 32 | 0);
+       break d;
+      }
+      q[c + 20 >> 2] = 0;
+      q[c + 16 >> 2] = c + 80;
+      a = uQ(a, c + 16 | 0);
+     }
+     if (!a) {
+      break c;
+     }
+     e = SQ(a, 2, 0);
+     M$(a);
+     if ((e | 0) == -1) {
+      continue;
+     }
+     break;
+    }
+    a = c - -64 | 0;
+    q[a >> 2] = 0;
+    q[a + 4 >> 2] = 0;
+    q[c + 56 >> 2] = 0;
+    q[c + 60 >> 2] = 0;
+    q[c + 48 >> 2] = 1;
+    g = c, h = oa() | 0, q[g + 72 >> 2] = h;
+    q[c >> 2] = c + 48;
+    if ((tY(e, 14, c) | 0) == -1) {
+     break b;
+    }
+    b = e;
+   }
+   AQ(d);
+   break a;
+  }
+  AQ(d);
+  SY(e);
+ }
+ Ca = c + 144 | 0;
+ return b;
+}
+function Vy(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ f = q[b + 4 >> 2];
+ a : {
+  if (f >>> 0 > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 78) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  b : {
+   if (!(r[a + 1 | 0] | r[a | 0] << 8)) {
+    break b;
+   }
+   e = a + 78 | 0;
+   if (f >>> 0 > e >>> 0 | c >>> 0 < e >>> 0 | c - e >>> 0 < 8) {
+    break a;
+   }
+   q[b + 12 >> 2] = d + -2;
+   if ((d | 0) < 2) {
+    break a;
+   }
+   if ((r[a + 1 | 0] | r[a | 0] << 8) >>> 0 < 2) {
+    break b;
+   }
+   e = a + 86 | 0;
+   if (f >>> 0 > e >>> 0 | c >>> 0 < e >>> 0 | c - e >>> 0 < 10) {
+    break a;
+   }
+   q[b + 12 >> 2] = d + -3;
+   if ((d | 0) < 3) {
+    break a;
+   }
+   if ((r[a + 1 | 0] | r[a | 0] << 8) >>> 0 < 5) {
+    break b;
+   }
+   a = a + 96 | 0;
+   if (f >>> 0 > a >>> 0 | c >>> 0 < a >>> 0 | c - a >>> 0 < 4) {
+    break a;
+   }
+   q[b + 12 >> 2] = d + -4;
+   if ((d | 0) < 4) {
+    break a;
+   }
+  }
+  g = 1;
+ }
+ return g;
+}
+function Ex(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  b : {
+   if (t[b + 4 >> 2] > a >>> 0) {
+    break b;
+   }
+   c = q[b + 8 >> 2];
+   if (c >>> 0 < a >>> 0) {
+    break b;
+   }
+   f = c - a | 0;
+   if (f >>> 0 < 2) {
+    break b;
+   }
+   c = q[b + 12 >> 2];
+   q[b + 12 >> 2] = c + -1;
+   d = 1;
+   if ((c | 0) < 1) {
+    break b;
+   }
+   e = r[a | 0] | r[a + 1 | 0] << 8;
+   e = ((e << 24 | e << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+   c : {
+    if (e >>> 0 > 2) {
+     break c;
+    }
+    d : {
+     switch (e - 1 | 0) {
+     default:
+      d = 0;
+      if (f >>> 0 < 6) {
+       break c;
+      }
+      break a;
+     case 0:
+      d = 0;
+      if (f >>> 0 < 8) {
+       break c;
+      }
+      break a;
+     case 1:
+      break d;
+     }
+    }
+    if (f >>> 0 < 10) {
+     break b;
+    }
+    q[b + 12 >> 2] = c + -2;
+    if ((c | 0) < 2) {
+     break b;
+    }
+    d = 0;
+    if (!lv(a + 6 | 0, b, a)) {
+     break c;
+    }
+    d = lv(a + 8 | 0, b, a);
+   }
+   return d;
+  }
+  return 0;
+ }
+ q[b + 12 >> 2] = c + -2;
+ return (c | 0) > 1;
+}
+function xy(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  b : {
+   c : {
+    c = a;
+    f = c + 72 | 0;
+    d = q[f >> 2];
+    if ((d | 0) >= 0) {
+     g = c + 76 | 0;
+     c = q[g >> 2];
+     e = c + 1 | 0;
+     e = (e | 0) > 0 ? e : 0;
+     if (d >>> 0 >= e >>> 0) {
+      break b;
+     }
+     c = d;
+     while (1) {
+      c = ((c >>> 1 | 0) + c | 0) + 8 | 0;
+      if (c >>> 0 <= e >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(c >>> 0 < d >>> 0 | c >>> 0 > 536870910)) {
+      d = a + 80 | 0;
+      h = O$(q[d >> 2], c << 3);
+      if (h) {
+       break c;
+      }
+     }
+     q[f >> 2] = -1;
+    }
+    c = q[67761];
+    q[160656] = q[67760];
+    q[160657] = c;
+    c = 642624;
+    break a;
+   }
+   q[d >> 2] = h;
+   q[f >> 2] = c;
+   c = q[g >> 2];
+  }
+  if (e >>> 0 > c >>> 0) {
+   Z$(q[a + 80 >> 2] + (c << 3) | 0, 0, e - c << 3);
+  }
+  q[g >> 2] = e;
+  c = (q[a + 80 >> 2] + (e << 3) | 0) + -8 | 0;
+ }
+ a = a + 52 | 0;
+ d = q[a >> 2];
+ q[c + 4 >> 2] = b;
+ q[c >> 2] = d;
+ q[a >> 2] = q[a >> 2] + 1;
+}
+function Eu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ a : {
+  e = q[b + 16 >> 2];
+  if (r[e + 12 | 0] != 1) {
+   break a;
+  }
+  f = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!f) {
+   break a;
+  }
+  q[e + 16 >> 2] = -1;
+  b = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  g = nF(e, b);
+  if (!g) {
+   break a;
+  }
+  d = a + 2 | 0;
+  while (1) {
+   h = b & -512;
+   i = b + 512 & -512;
+   a = d;
+   while (1) {
+    c = (b >>> 3 & 56) + g | 0;
+    d = c;
+    j = q[c + 4 >> 2];
+    k = c;
+    l = q[c >> 2];
+    c = b & 63;
+    b = c & 31;
+    if (32 <= (c & 63) >>> 0) {
+     c = 1 << b;
+     b = 0;
+    } else {
+     c = (1 << b) - 1 & 1 >>> 32 - b;
+     b = 1 << b;
+    }
+    q[k >> 2] = l | b;
+    q[d + 4 >> 2] = c | j;
+    f = f + -1 | 0;
+    if (!f) {
+     break a;
+    }
+    d = a + 2 | 0;
+    b = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+    if (h >>> 0 <= b >>> 0) {
+     a = d;
+     if (b >>> 0 < i >>> 0) {
+      continue;
+     }
+    }
+    break;
+   }
+   g = nF(e, b);
+   if (g) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function ZR(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ if (r[643388] & 16) {
+  b = q[a + 1584 >> 2];
+  c = q[a + 1592 >> 2];
+  f = q[a + 1580 >> 2];
+  q[e + 12 >> 2] = q[a + 1588 >> 2];
+  q[e + 8 >> 2] = f;
+  q[e + 4 >> 2] = c;
+  q[e >> 2] = b;
+  d0(488799, e);
+ }
+ while (1) {
+  b = q[((d << 2) + a | 0) + 1036 >> 2];
+  if (b) {
+   while (1) {
+    c = q[b >> 2];
+    M$(b);
+    b = c;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = d + 1 | 0;
+  if ((d | 0) != 67) {
+   continue;
+  }
+  break;
+ }
+ d = 0;
+ while (1) {
+  b = q[((d << 2) + a | 0) + 1304 >> 2];
+  if (b) {
+   while (1) {
+    c = q[b >> 2];
+    M$(b);
+    b = c;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = d + 1 | 0;
+  if ((d | 0) != 67) {
+   continue;
+  }
+  break;
+ }
+ b = 0;
+ c = q[a + 1028 >> 2];
+ if (q[a + 1032 >> 2] > 0) {
+  while (1) {
+   M$(q[(b << 2) + c >> 2]);
+   c = q[a + 1028 >> 2];
+   b = b + 1 | 0;
+   if ((b | 0) < q[a + 1032 >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+ M$(c);
+ M$(a);
+ Ca = e + 16 | 0;
+}
+function at(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ c = r[a | 0] | r[a + 1 | 0] << 8;
+ c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+ if (c >>> 0 > 1) {
+  return 0;
+ }
+ a : {
+  if (c - 1) {
+   b = b - (r[a + 3 | 0] | r[a + 2 | 0] << 8) | 0;
+   c = (r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0 > b >>> 0 ? ((b << 1) + a | 0) + 6 | 0 : 271040;
+   a = c + 1 | 0;
+   break a;
+  }
+  e = 271432;
+  c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  b : {
+   if (!c) {
+    break b;
+   }
+   c = c + -1 | 0;
+   while (1) {
+    c : {
+     d = c + g >>> 1 | 0;
+     h = w(d, 6) + a | 0;
+     f = h + 4 | 0;
+     d : {
+      if ((r[f | 0] << 8 | r[h + 5 | 0]) >>> 0 > b >>> 0) {
+       c = d + -1 | 0;
+       break d;
+      }
+      if ((r[f + 3 | 0] | r[f + 2 | 0] << 8) >>> 0 >= b >>> 0) {
+       break c;
+      }
+      g = d + 1 | 0;
+     }
+     if ((g | 0) <= (c | 0)) {
+      continue;
+     }
+     break b;
+    }
+    break;
+   }
+   e = (w(d, 6) + a | 0) + 4 | 0;
+  }
+  c = e + 4 | 0;
+  a = e + 5 | 0;
+ }
+ return r[a | 0] | r[c | 0] << 8;
+}
+function aZ(a, b, c) {
+ var d = 0, e = 0;
+ d = (c | 0) != 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     if (!c | !(a & 3)) {
+      break d;
+     }
+     e = b & 255;
+     while (1) {
+      if ((e | 0) == r[a | 0]) {
+       break c;
+      }
+      a = a + 1 | 0;
+      c = c + -1 | 0;
+      d = (c | 0) != 0;
+      if (!c) {
+       break d;
+      }
+      if (a & 3) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (!d) {
+     break b;
+    }
+   }
+   if (r[a | 0] == (b & 255)) {
+    break a;
+   }
+   e : {
+    if (c >>> 0 >= 4) {
+     d = w(b & 255, 16843009);
+     while (1) {
+      e = d ^ q[a >> 2];
+      if ((e ^ -1) & e + -16843009 & -2139062144) {
+       break e;
+      }
+      a = a + 4 | 0;
+      c = c + -4 | 0;
+      if (c >>> 0 > 3) {
+       continue;
+      }
+      break;
+     }
+    }
+    if (!c) {
+     break b;
+    }
+   }
+   b = b & 255;
+   while (1) {
+    if ((b | 0) == r[a | 0]) {
+     break a;
+    }
+    a = a + 1 | 0;
+    c = c + -1 | 0;
+    if (c) {
+     continue;
+    }
+    break;
+   }
+  }
+  return 0;
+ }
+ return a;
+}
+function In(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ if (q[a + 184 >> 2] < 0) {
+  return -9;
+ }
+ g = q[a + 64 >> 2];
+ f = q[a + 52 >> 2];
+ h = q[a + 276 >> 2];
+ j = (((f | 0) > (g | 0) ? g : f) - h | 0) + w(g, q[a + 272 >> 2]) | 0;
+ g = q[b >> 2];
+ i = g >>> 0 > j >>> 0 ? j : g;
+ k = b;
+ f = g;
+ a : {
+  if (!c) {
+   break a;
+  }
+  h = q[a + 96 >> 2] + (h & q[a + 68 >> 2]) | 0;
+  f = q[c >> 2];
+  if (!f) {
+   q[c >> 2] = h;
+   f = g;
+   break a;
+  }
+  Y$(f, h, i);
+  q[c >> 2] = i + q[c >> 2];
+  f = q[b >> 2];
+ }
+ q[k >> 2] = f - i;
+ b = i + q[a + 276 >> 2] | 0;
+ q[a + 276 >> 2] = b;
+ if (d) {
+  q[d >> 2] = b;
+ }
+ b = 1 << q[a + 564 >> 2];
+ c = q[a + 64 >> 2];
+ if (j >>> 0 > g >>> 0) {
+  return e ? 3 : (b | 0) == (c | 0) ? 3 : 1;
+ }
+ b : {
+  if ((b | 0) != (c | 0)) {
+   break b;
+  }
+  b = q[a + 52 >> 2];
+  if ((b | 0) < (c | 0)) {
+   break b;
+  }
+  b = b - c | 0;
+  q[a + 52 >> 2] = b;
+  q[a + 272 >> 2] = q[a + 272 >> 2] + 1;
+  p[a + 560 >> 1] = s[a + 560 >> 1] & 65527 | ((b | 0) != 0) << 3;
+ }
+ return 1;
+}
+function QX() {
+ var a = 0, b = 0, c = 0, d = 0, e = 0;
+ d = j$(503199);
+ a : {
+  if (!q[160468]) {
+   break a;
+  }
+  if (d) {
+   return mZ(d);
+  }
+  b = j$(503155);
+  if (b) {
+   a = g0(b);
+  }
+  d = L$(a + 14 | 0);
+  if (!d) {
+   break a;
+  }
+  e = a + 13 | 0;
+  if (b) {
+   Y$(d, b, a);
+  }
+  c = r[503217] | r[503218] << 8 | (r[503219] << 16 | r[503220] << 24);
+  a = a + d | 0;
+  b = r[503213] | r[503214] << 8 | (r[503215] << 16 | r[503216] << 24);
+  o[a | 0] = b;
+  o[a + 1 | 0] = b >>> 8;
+  o[a + 2 | 0] = b >>> 16;
+  o[a + 3 | 0] = b >>> 24;
+  o[a + 4 | 0] = c;
+  o[a + 5 | 0] = c >>> 8;
+  o[a + 6 | 0] = c >>> 16;
+  o[a + 7 | 0] = c >>> 24;
+  c = r[503222] | r[503223] << 8 | (r[503224] << 16 | r[503225] << 24);
+  b = r[503218] | r[503219] << 8 | (r[503220] << 16 | r[503221] << 24);
+  o[a + 5 | 0] = b;
+  o[a + 6 | 0] = b >>> 8;
+  o[a + 7 | 0] = b >>> 16;
+  o[a + 8 | 0] = b >>> 24;
+  o[a + 9 | 0] = c;
+  o[a + 10 | 0] = c >>> 8;
+  o[a + 11 | 0] = c >>> 16;
+  o[a + 12 | 0] = c >>> 24;
+  o[d + e | 0] = 0;
+  c = d;
+ }
+ return c;
+}
+function wp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ e = q[b + 28 >> 2];
+ c = n[q[a + 516 >> 2]](a, 1734439792, b, 0) | 0;
+ q[d + 12 >> 2] = c;
+ a : {
+  if (c) {
+   break a;
+  }
+  c = Kg(b, 4);
+  q[d + 12 >> 2] = c;
+  if (c) {
+   break a;
+  }
+  g = a, h = Pg(b), p[g + 560 >> 1] = h;
+  g = a, h = Pg(b), p[g + 562 >> 1] = h;
+  Ng(b);
+  if (s[a + 560 >> 1] >= 2) {
+   p[a + 562 >> 1] = 0;
+   c = 8;
+   q[d + 12 >> 2] = 8;
+   break a;
+  }
+  c = e;
+  e = s[a + 562 >> 1];
+  g = a, h = Te(c, 4, 0, e, 0, d + 12 | 0), q[g + 564 >> 2] = h;
+  c = q[d + 12 >> 2];
+  if (c) {
+   break a;
+  }
+  c = Kg(b, e << 2);
+  q[d + 12 >> 2] = c;
+  if (c) {
+   break a;
+  }
+  if (e) {
+   a = q[a + 564 >> 2];
+   c = 0;
+   while (1) {
+    f = a + (c << 2) | 0;
+    g = f, h = Pg(b), p[g >> 1] = h;
+    g = f, h = Pg(b), p[g + 2 >> 1] = h;
+    c = c + 1 | 0;
+    if ((e | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  Ng(b);
+  c = q[d + 12 >> 2];
+ }
+ Ca = d + 16 | 0;
+ return c | 0;
+}
+function Xv(a, b, c) {
+ var d = 0;
+ c = c + -1 | 0;
+ if (c >>> 0 > 7) {
+  return 1;
+ }
+ a : {
+  b : {
+   switch (c - 1 | 0) {
+   default:
+    return Yv(a, b);
+   case 0:
+    return Zv(a, b);
+   case 1:
+    return Zv(a, b);
+   case 2:
+    return _v(a, b);
+   case 3:
+    return $v(a, b);
+   case 4:
+    return aw(a, b);
+   case 5:
+    c = 0;
+    if (t[b + 4 >> 2] > a >>> 0) {
+     break a;
+    }
+    d = q[b + 8 >> 2];
+    if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+     break a;
+    }
+    d = q[b + 12 >> 2];
+    q[b + 12 >> 2] = d + -1;
+    if ((d | 0) < 1) {
+     break a;
+    }
+    c = 1;
+    if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+     break a;
+    }
+    return bw(a, b);
+   case 6:
+    break b;
+   }
+  }
+  c = 0;
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  c = 1;
+  if ((r[a + 1 | 0] | r[a | 0] << 8) != 1) {
+   break a;
+  }
+  c = cw(a, b);
+ }
+ return c;
+}
+function Wp(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[d + 12 >> 2] = 0;
+ e = Tg(a, d + 12 | 0);
+ c = q[d + 12 >> 2];
+ a : {
+  if (c) {
+   break a;
+  }
+  if ((e | 0) == -128) {
+   c = 8;
+   break a;
+  }
+  f = b;
+  b = e & 127;
+  c = b;
+  b : {
+   if (!(e & 128)) {
+    break b;
+   }
+   e = Tg(a, d + 12 | 0);
+   c = q[d + 12 >> 2];
+   if (c) {
+    break a;
+   }
+   b = e & 127 | b << 7;
+   c = b;
+   if (!(e & 128)) {
+    break b;
+   }
+   e = Tg(a, d + 12 | 0);
+   c = q[d + 12 >> 2];
+   if (c) {
+    break a;
+   }
+   b = e & 127 | b << 7;
+   c = b;
+   if (!(e & 128)) {
+    break b;
+   }
+   e = Tg(a, d + 12 | 0);
+   c = q[d + 12 >> 2];
+   if (c) {
+    break a;
+   }
+   b = e & 127 | b << 7;
+   c = b;
+   if (!(e & 128)) {
+    break b;
+   }
+   a = Tg(a, d + 12 | 0);
+   c = q[d + 12 >> 2];
+   if (c) {
+    break a;
+   }
+   if (b >>> 0 > 33554431) {
+    c = 8;
+    break a;
+   }
+   c = 8;
+   if (a & 128) {
+    break a;
+   }
+   c = a & 127 | b << 7;
+  }
+  q[f >> 2] = c;
+  c = 0;
+ }
+ Ca = d + 16 | 0;
+ return c;
+}
+function HJ(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ wJ(a, q[a + 8 >> 2]);
+ f = q[a + 8 >> 2];
+ d = q[a >> 2];
+ q[e + 12 >> 2] = d;
+ a : {
+  if (d >>> 0 >= f >>> 0) {
+   break a;
+  }
+  g = r[d | 0];
+  i = (g | 0) == 91 ? 93 : (g | 0) == 123 ? 125 : 0;
+  if (i) {
+   d = d + 1 | 0;
+   q[e + 12 >> 2] = d;
+  }
+  if (d >>> 0 >= f >>> 0) {
+   break a;
+  }
+  j = !c ^ 1;
+  while (1) {
+   wJ(e + 12 | 0, f);
+   d = q[e + 12 >> 2];
+   if (d >>> 0 >= f >>> 0) {
+    break a;
+   }
+   if ((i | 0) == r[d | 0]) {
+    d = d + 1 | 0;
+    q[e + 12 >> 2] = d;
+    break a;
+   }
+   if ((h | 0) >= (b | 0) & j) {
+    break a;
+   }
+   k = c ? (h << 1) + c | 0 : e + 10 | 0, l = EJ(e + 12 | 0, f, 0) >>> 16 | 0, p[k >> 1] = l;
+   g = q[e + 12 >> 2];
+   if ((g | 0) == (d | 0)) {
+    h = -1;
+    break a;
+   }
+   h = h + 1 | 0;
+   if (g >>> 0 < f >>> 0 ? i : 0) {
+    continue;
+   }
+   break;
+  }
+  d = g;
+ }
+ q[a >> 2] = d;
+ Ca = e + 16 | 0;
+ return h | 0;
+}
+function xn(a) {
+ var b = 0;
+ q[a + 92 >> 2] = 0;
+ q[a + 32 >> 2] = 0;
+ q[a + 28 >> 2] = 308;
+ q[a + 24 >> 2] = 309;
+ b = a + 8 | 0;
+ q[b >> 2] = 0;
+ q[b + 4 >> 2] = 32;
+ q[a >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 272 >> 2] = 0;
+ q[a + 276 >> 2] = 0;
+ q[a + 48 >> 2] = 0;
+ q[a + 52 >> 2] = 0;
+ q[a + 96 >> 2] = 0;
+ q[a + 576 >> 2] = 0;
+ q[a + 580 >> 2] = 0;
+ q[a + 64 >> 2] = 0;
+ q[a + 68 >> 2] = 0;
+ q[a + 252 >> 2] = 0;
+ q[a + 136 >> 2] = 0;
+ q[a + 140 >> 2] = 0;
+ q[a + 152 >> 2] = 0;
+ q[a + 156 >> 2] = 0;
+ q[a + 112 >> 2] = 0;
+ q[a + 116 >> 2] = 0;
+ q[a + 120 >> 2] = 0;
+ q[a + 124 >> 2] = 0;
+ q[a + 544 >> 2] = 0;
+ q[a + 548 >> 2] = 0;
+ q[a + 552 >> 2] = 0;
+ q[a + 556 >> 2] = 0;
+ q[a + 564 >> 2] = 0;
+ q[a + 568 >> 2] = 0;
+ q[a + 60 >> 2] = 0;
+ q[a + 76 >> 2] = 16;
+ q[a + 80 >> 2] = 15;
+ q[a + 84 >> 2] = 11;
+ q[a + 88 >> 2] = 4;
+ p[a + 560 >> 1] = s[a + 560 >> 1] & 65472 | 16;
+ q[a + 280 >> 2] = 63;
+ q[a + 168 >> 2] = 0;
+ q[a + 172 >> 2] = 0;
+ q[a + 72 >> 2] = 0;
+ q[a + 584 >> 2] = 29060;
+ q[a + 588 >> 2] = 152016;
+ return 1;
+}
+function lr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ d = q[b + 4 >> 2];
+ a : {
+  if (d >>> 0 > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  if (!(r[a + 1 | 0] | r[a | 0] << 8) | (e | 0) < 1) {
+   break a;
+  }
+  f = d;
+  d = a + 4 | 0;
+  if (f >>> 0 > d >>> 0 | c >>> 0 < d >>> 0 | c - d >>> 0 < 4) {
+   break a;
+  }
+  q[b + 12 >> 2] = e + -2;
+  if ((e | 0) < 2) {
+   break a;
+  }
+  c = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+  d = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  if (!d) {
+   return 1;
+  }
+  c = a + 8 | 0;
+  e = 0;
+  while (1) {
+   if (!mr(c, b)) {
+    return 0;
+   }
+   a = c;
+   c = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+   c = a + (c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) | 0;
+   g = 1;
+   e = e + 1 | 0;
+   if ((d | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return g;
+}
+function hw(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  if (!dv(a + 2 | 0, b, a)) {
+   break a;
+  }
+  if (!Zu(a + 4 | 0, b, a)) {
+   break a;
+  }
+  if (!Zu(a + 6 | 0, b, a)) {
+   break a;
+  }
+  if (!Zu(a + 8 | 0, b, a)) {
+   break a;
+  }
+  e = q[b + 4 >> 2];
+  c = a + 10 | 0;
+  if (e >>> 0 > c >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < c >>> 0 | d - c >>> 0 < 2) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  f = r[a + 11 | 0] | r[a + 10 | 0] << 8;
+  if (!f) {
+   return 1;
+  }
+  h = e;
+  e = a + 12 | 0;
+  if (h >>> 0 > e >>> 0 | d >>> 0 < e >>> 0 | d - e >>> 0 < f << 1 >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = c + -2;
+  if ((c | 0) < 2) {
+   break a;
+  }
+  g = 1;
+  c = r[a + 11 | 0] | r[a + 10 | 0] << 8;
+  if (!c) {
+   break a;
+  }
+  d = 0;
+  while (1) {
+   if (gw(((d << 1) + a | 0) + 12 | 0, b, a)) {
+    d = d + 1 | 0;
+    if ((c | 0) != (d | 0)) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  g = 0;
+ }
+ return g;
+}
+function KO(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0;
+ if (c) {
+  j = d + 2 | 0;
+  g = d << 4;
+  l = g << 1;
+  m = g + 32 << 1;
+  while (1) {
+   d = a;
+   i = 0;
+   f = 0;
+   if (j) {
+    while (1) {
+     n = f >>> 0 < g >>> 0 ? (f << 1) + b | 0 : 437888;
+     e = f + -16 | 0;
+     o = e >>> 0 < g >>> 0 ? (e << 1) + b | 0 : 437888;
+     e = f + -32 | 0;
+     q = e >>> 0 < g >>> 0 ? (e << 1) + b | 0 : 437888;
+     e = 0;
+     while (1) {
+      h = e << 1;
+      p[h + d >> 1] = ((s[h + o >> 1] + ((s[h + n >> 1] + s[h + q >> 1] & 65534) >>> 1 | 0) | 0) + 1 & 65534) >>> 1;
+      e = e + 1 | 0;
+      if ((e | 0) != 16) {
+       continue;
+      }
+      break;
+     }
+     f = f + 16 | 0;
+     d = d + 32 | 0;
+     i = i + 1 | 0;
+     if ((i | 0) != (j | 0)) {
+      continue;
+     }
+     break;
+    }
+    a = a + m | 0;
+   }
+   b = b + l | 0;
+   k = k + 16 | 0;
+   if (k >>> 0 < c >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Ar(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ d = q[b + 4 >> 2];
+ a : {
+  if (d >>> 0 > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  if (!(r[a + 1 | 0] | r[a | 0] << 8) | (e | 0) < 1) {
+   break a;
+  }
+  f = d;
+  d = a + 4 | 0;
+  if (f >>> 0 > d >>> 0 | c >>> 0 < d >>> 0 | c - d >>> 0 < 4) {
+   break a;
+  }
+  q[b + 12 >> 2] = e + -2;
+  if ((e | 0) < 2) {
+   break a;
+  }
+  c = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+  d = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  if (!d) {
+   return 1;
+  }
+  c = a + 8 | 0;
+  e = 0;
+  while (1) {
+   if (!Br(c, b)) {
+    return 0;
+   }
+   a = c;
+   c = r[c + 4 | 0] | r[c + 5 | 0] << 8 | (r[c + 6 | 0] << 16 | r[c + 7 | 0] << 24);
+   c = a + (c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) | 0;
+   g = 1;
+   e = e + 1 | 0;
+   if ((d | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return g;
+}
+function wo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ a : {
+  a = q[a + 16 >> 2];
+  c = r[a + 8204 | 0] | r[a + 8205 | 0] << 8 | (r[a + 8206 | 0] << 16 | r[a + 8207 | 0] << 24);
+  d = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  if (!d) {
+   break a;
+  }
+  a = a + 8208 | 0;
+  while (1) {
+   c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   e = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+   if (e >>> 0 > b >>> 0) {
+    break a;
+   }
+   c = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+   if ((c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) >>> 0 < b >>> 0) {
+    a = a + 12 | 0;
+    d = d + -1 | 0;
+    if (!d) {
+     break a;
+    }
+    continue;
+   }
+   break;
+  }
+  a = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+  a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  b = b - e | 0;
+  return (a >>> 0 > (b ^ -1) >>> 0 ? 0 : a + b | 0) | 0;
+ }
+ return 0;
+}
+function IV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ a : {
+  b : {
+   c : {
+    g = b + -15 | 0;
+    if (g >>> 0 > 12) {
+     break c;
+    }
+    f = 33;
+    d : {
+     switch (g - 1 | 0) {
+     case 4:
+      if (n[q[e + 24 >> 2]](e, q[e + 64 >> 2] + c | 0, d, 496475)) {
+       q[a >> 2] = 928;
+       return 35;
+      }
+      if (n[q[e + 24 >> 2]](e, q[e + 64 >> 2] + c | 0, d, 496483)) {
+       q[a >> 2] = 928;
+       return 36;
+      }
+      if (!n[q[e + 24 >> 2]](e, q[e + 64 >> 2] + c | 0, d, 496492)) {
+       break b;
+      }
+      q[a >> 2] = 952;
+      return 33;
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 5:
+     case 6:
+     case 7:
+     case 8:
+     case 9:
+     case 10:
+      break c;
+     case 11:
+      break d;
+     default:
+      break a;
+     }
+    }
+    q[a >> 2] = 928;
+    return 37;
+   }
+   if ((b | 0) != 28) {
+    break b;
+   }
+   f = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  f = -1;
+ }
+ return f | 0;
+}
+function Fd(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ a : {
+  b : {
+   d = Cd(a, b, f + 12 | 0);
+   if (d) {
+    if (!c) {
+     g = d;
+     break b;
+    }
+    g = Ed(a, d, q[f + 12 >> 2], c);
+    M$(d);
+    if (g) {
+     break b;
+    }
+   }
+   break a;
+  }
+  c = N$(1, 96);
+  c : {
+   if (!c) {
+    break c;
+   }
+   q[c + 60 >> 2] = 1;
+   q[c + 84 >> 2] = a;
+   d = N$(1, 32);
+   q[c + 88 >> 2] = d;
+   if (!d) {
+    M$(c);
+    break c;
+   }
+   q[d + 28 >> 2] = 1;
+   e = c;
+  }
+  yd(e, g);
+  d = q[e + 8 >> 2];
+  if ((d | 0) >= 1) {
+   h = q[e + 20 >> 2];
+   c = 0;
+   while (1) {
+    q[(w(c, 56) + h | 0) + 16 >> 2] = c;
+    c = c + 1 | 0;
+    if ((d | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (!q[e + 32 >> 2]) {
+   td(e);
+   M$(g);
+   e = 0;
+   break a;
+  }
+  xd(e);
+  M$(g);
+  i = e, j = mZ(b), q[i + 80 >> 2] = j;
+  c = q[e >> 2];
+  q[f + 8 >> 2] = q[e + 8 >> 2];
+  q[f + 4 >> 2] = c;
+  q[f >> 2] = b;
+  Yd(a, 4, 1709, f);
+ }
+ Ca = f + 16 | 0;
+ return e;
+}
+function Kh(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ a : {
+  b : {
+   if (!a) {
+    break b;
+   }
+   b = q[a + 8 >> 2];
+   a = Oe(b, 636, c + 8 | 0);
+   if (q[c + 8 >> 2]) {
+    break b;
+   }
+   q[a + 436 >> 2] = 32;
+   q[a + 8 >> 2] = b;
+   d = a, e = Te(b, 16, 0, 32, 0, c + 12 | 0), q[d + 440 >> 2] = e;
+   if (!q[c + 12 >> 2]) {
+    q[a + 444 >> 2] = 0;
+    q[a + 392 >> 2] = 0;
+    q[a + 396 >> 2] = 0;
+    q[a + 20 >> 2] = 0;
+    q[a + 24 >> 2] = 0;
+    q[a >> 2] = 0;
+    q[a + 4 >> 2] = 0;
+    q[c + 8 >> 2] = 0;
+    break a;
+   }
+   q[a + 444 >> 2] = 0;
+   b = q[a + 8 >> 2];
+   Qe(b, q[a + 24 >> 2]);
+   q[a + 20 >> 2] = 0;
+   q[a + 24 >> 2] = 0;
+   Qe(b, q[a + 440 >> 2]);
+   q[a + 440 >> 2] = 0;
+   q[a + 432 >> 2] = 0;
+   q[a + 436 >> 2] = 0;
+   Qe(b, q[a + 396 >> 2]);
+   q[a + 392 >> 2] = 0;
+   q[a + 396 >> 2] = 0;
+   q[a >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   Qe(b, a);
+   b = q[c + 12 >> 2];
+   q[c + 8 >> 2] = b;
+   if (!b) {
+    break a;
+   }
+  }
+  a = 0;
+ }
+ Ca = c + 16 | 0;
+ return a;
+}
+
+
+
+function Jj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = Ca - 32 | 0;
+ Ca = c;
+ a : {
+  if ((n[q[b + 52 >> 2]](b, 6, c, 3) | 0) <= 5) {
+   q[b + 12 >> 2] = 3;
+   break a;
+  }
+  e = q[c + 12 >> 2];
+  d = e >> 31;
+  d = d ^ d + e;
+  if ((d | 0) != 65536) {
+   if (!d) {
+    q[b + 12 >> 2] = 3;
+    break a;
+   }
+   f = a, g = Fe(1e3, d), p[f + 68 >> 1] = g;
+   f = c, g = Fe(q[c >> 2], d), q[f >> 2] = g;
+   f = c, g = Fe(q[c + 4 >> 2], d), q[f + 4 >> 2] = g;
+   f = c, g = Fe(q[c + 8 >> 2], d), q[f + 8 >> 2] = g;
+   f = c, g = Fe(q[c + 16 >> 2], d), q[f + 16 >> 2] = g;
+   f = c, g = Fe(q[c + 20 >> 2], d), q[f + 20 >> 2] = g;
+   e = q[c + 12 >> 2] < 0 ? -65536 : 65536;
+   q[c + 12 >> 2] = e;
+  }
+  q[a + 440 >> 2] = q[c >> 2];
+  q[a + 448 >> 2] = q[c + 4 >> 2];
+  d = q[c + 8 >> 2];
+  q[a + 452 >> 2] = e;
+  q[a + 444 >> 2] = d;
+  if (!Ie(a + 440 | 0)) {
+   q[b + 12 >> 2] = 3;
+   break a;
+  }
+  q[a + 456 >> 2] = q[c + 16 >> 2] >> 16;
+  q[a + 460 >> 2] = q[c + 20 >> 2] >> 16;
+ }
+ Ca = c + 32 | 0;
+}
+function $U(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ a : {
+  b : {
+   c : {
+    f = b + -11 | 0;
+    if (f >>> 0 > 18) {
+     break c;
+    }
+    d : {
+     switch (f - 1 | 0) {
+     case 3:
+      q[a >> 2] = 911;
+      return 0;
+     case 0:
+      q[a >> 2] = 911;
+      return 1;
+     default:
+      q[a >> 2] = 911;
+      return 55;
+     case 1:
+      q[a >> 2] = 911;
+      return 56;
+     case 4:
+      if (!n[q[e + 24 >> 2]](e, (q[e + 64 >> 2] << 1) + c | 0, d, 496352)) {
+       break b;
+      }
+      q[a >> 2] = 912;
+      return 3;
+     case 2:
+      break a;
+     case 5:
+     case 6:
+     case 7:
+     case 8:
+     case 9:
+     case 10:
+     case 11:
+     case 12:
+     case 13:
+     case 14:
+     case 15:
+     case 16:
+      break c;
+     case 17:
+      break d;
+     }
+    }
+    q[a >> 2] = 913;
+    return 2;
+   }
+   if ((b | 0) != 28) {
+    break b;
+   }
+   g = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  g = -1;
+ }
+ return g | 0;
+}
+function bR(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ if (!a) {
+  return 0;
+ }
+ f = 1;
+ a : {
+  if (q[a >> 2] < 1) {
+   break a;
+  }
+  while (1) {
+   c = (q[a + 8 >> 2] + a | 0) + (g << 3) | 0;
+   e = q[c >> 2];
+   b : {
+    if ((e | 0) == 42) {
+     break b;
+    }
+    f = 0;
+    e = hS(b, e);
+    if (!e) {
+     break a;
+    }
+    d = q[c + 4 >> 2];
+    d = d & 1 ? c + (d & -2) | 0 : d;
+    if (!d) {
+     break b;
+    }
+    c = q[e + 4 >> 2];
+    e = c & 1 ? e + (c & -2) | 0 : c;
+    if (!e) {
+     break a;
+    }
+    while (1) {
+     h = d + 8 | 0;
+     c = e;
+     while (1) {
+      if (!HX(c + 8 | 0, 65561, h)) {
+       i = c;
+       c = q[c >> 2];
+       c = c & 1 ? i + (c & -2) | 0 : c;
+       if (c) {
+        continue;
+       }
+       break a;
+      }
+      break;
+     }
+     c = q[d >> 2];
+     d = c & 1 ? (c & -2) + d | 0 : c;
+     if (d) {
+      continue;
+     }
+     break;
+    }
+   }
+   f = 1;
+   g = g + 1 | 0;
+   if ((g | 0) < q[a >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+ return f;
+}
+function Gv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ h = q[b + 4 >> 2];
+ a : {
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  d = 1;
+  if ((g | 0) < 1) {
+   d = 0;
+   break a;
+  }
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!i) {
+   break a;
+  }
+  if (h >>> 0 > c >>> 0) {
+   d = 0;
+   break a;
+  }
+  if (e >>> 0 < c >>> 0) {
+   d = 0;
+   break a;
+  }
+  if (e - c >>> 0 < i >>> 0) {
+   d = 0;
+   break a;
+  }
+  q[b + 12 >> 2] = g + -2;
+  if ((g | 0) < 2) {
+   d = 0;
+   break a;
+  }
+  e = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!e) {
+   break a;
+  }
+  c = c + e | 0;
+  q[f + 12 >> 2] = c;
+  if (Kv(c, b, f + 12 | 0)) {
+   break a;
+  }
+  c = q[b + 24 >> 2];
+  if (c >>> 0 > 31) {
+   d = 0;
+   break a;
+  }
+  q[b + 24 >> 2] = c + 1;
+  d = 0;
+  if (!r[b + 20 | 0]) {
+   break a;
+  }
+  o[a | 0] = 0;
+  o[a + 1 | 0] = 0;
+  d = 1;
+ }
+ Ca = f + 16 | 0;
+ return d;
+}
+function Fx(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ h = q[b + 4 >> 2];
+ a : {
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  d = 1;
+  if ((g | 0) < 1) {
+   d = 0;
+   break a;
+  }
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!i) {
+   break a;
+  }
+  if (h >>> 0 > c >>> 0) {
+   d = 0;
+   break a;
+  }
+  if (e >>> 0 < c >>> 0) {
+   d = 0;
+   break a;
+  }
+  if (e - c >>> 0 < i >>> 0) {
+   d = 0;
+   break a;
+  }
+  q[b + 12 >> 2] = g + -2;
+  if ((g | 0) < 2) {
+   d = 0;
+   break a;
+  }
+  e = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!e) {
+   break a;
+  }
+  c = c + e | 0;
+  q[f + 12 >> 2] = c;
+  if (Hx(c, b, f + 12 | 0)) {
+   break a;
+  }
+  c = q[b + 24 >> 2];
+  if (c >>> 0 > 31) {
+   d = 0;
+   break a;
+  }
+  q[b + 24 >> 2] = c + 1;
+  d = 0;
+  if (!r[b + 20 | 0]) {
+   break a;
+  }
+  o[a | 0] = 0;
+  o[a + 1 | 0] = 0;
+  d = 1;
+ }
+ Ca = f + 16 | 0;
+ return d;
+}
+function Fv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ h = q[b + 4 >> 2];
+ a : {
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  d = 1;
+  if ((g | 0) < 1) {
+   d = 0;
+   break a;
+  }
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!i) {
+   break a;
+  }
+  if (h >>> 0 > c >>> 0) {
+   d = 0;
+   break a;
+  }
+  if (e >>> 0 < c >>> 0) {
+   d = 0;
+   break a;
+  }
+  if (e - c >>> 0 < i >>> 0) {
+   d = 0;
+   break a;
+  }
+  q[b + 12 >> 2] = g + -2;
+  if ((g | 0) < 2) {
+   d = 0;
+   break a;
+  }
+  e = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!e) {
+   break a;
+  }
+  c = c + e | 0;
+  q[f + 12 >> 2] = c;
+  if (Jv(c, b, f + 12 | 0)) {
+   break a;
+  }
+  c = q[b + 24 >> 2];
+  if (c >>> 0 > 31) {
+   d = 0;
+   break a;
+  }
+  q[b + 24 >> 2] = c + 1;
+  d = 0;
+  if (!r[b + 20 | 0]) {
+   break a;
+  }
+  o[a | 0] = 0;
+  o[a + 1 | 0] = 0;
+  d = 1;
+ }
+ Ca = f + 16 | 0;
+ return d;
+}
+function dq(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ q[f + 12 >> 2] = 0;
+ g = Oe(a, (s[c + 8 >> 1] >>> 1 | 0) + 1 | 0, f + 12 | 0);
+ e = 0;
+ a : {
+  if (q[f + 12 >> 2]) {
+   break a;
+  }
+  e = yg(b, q[c + 12 >> 2]);
+  q[f + 12 >> 2] = e;
+  b : {
+   if (e) {
+    break b;
+   }
+   e = Kg(b, s[c + 8 >> 1]);
+   q[f + 12 >> 2] = e;
+   if (e) {
+    break b;
+   }
+   j = g;
+   c : {
+    h = s[c + 8 >> 1] >>> 1 | 0;
+    if (h) {
+     j = g + h | 0;
+     i = q[b + 32 >> 2];
+     e = g;
+     while (1) {
+      if (r[i | 0]) {
+       break c;
+      }
+      if (!n[d](o[i + 1 | 0])) {
+       break c;
+      }
+      o[e | 0] = r[i + 1 | 0];
+      i = i + 2 | 0;
+      e = e + 1 | 0;
+      h = h + -1 | 0;
+      if (h) {
+       continue;
+      }
+      break;
+     }
+    }
+    o[j | 0] = 0;
+    Ng(b);
+    e = g;
+    break a;
+   }
+   Ng(b);
+  }
+  Qe(a, g);
+  q[c + 12 >> 2] = 0;
+  p[c + 8 >> 1] = 0;
+  Qe(a, q[c + 16 >> 2]);
+  q[c + 16 >> 2] = 0;
+  e = 0;
+ }
+ Ca = f + 16 | 0;
+ return e;
+}
+function Re(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ if (a) {
+  c = q[a >> 2];
+  b = q[a + 24 >> 2];
+  if (b) {
+   n[q[c + 8 >> 2]](c, b);
+  }
+  q[a + 24 >> 2] = 0;
+  b = q[a + 28 >> 2];
+  if (b) {
+   n[q[c + 8 >> 2]](c, b);
+  }
+  q[a + 28 >> 2] = 0;
+  b = q[a + 32 >> 2];
+  if (b) {
+   n[q[c + 8 >> 2]](c, b);
+  }
+  q[a + 32 >> 2] = 0;
+  b = q[a + 40 >> 2];
+  if (b) {
+   n[q[c + 8 >> 2]](c, b);
+  }
+  q[a + 40 >> 2] = 0;
+  b = q[a + 52 >> 2];
+  if (b) {
+   n[q[c + 8 >> 2]](c, b);
+  }
+  q[a + 20 >> 2] = 0;
+  b = a + 44 | 0;
+  q[b >> 2] = 0;
+  q[a + 48 >> 2] = 0;
+  q[a + 52 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+  q[a + 88 >> 2] = 0;
+  d = q[a + 24 >> 2];
+  q[a + 56 >> 2] = q[a + 20 >> 2];
+  q[a + 60 >> 2] = d;
+  e = q[a + 32 >> 2];
+  d = a - -64 | 0;
+  q[d >> 2] = q[a + 28 >> 2];
+  q[d + 4 >> 2] = e;
+  d = q[a + 40 >> 2];
+  q[a + 72 >> 2] = q[a + 36 >> 2];
+  q[a + 76 >> 2] = d;
+  d = q[b + 4 >> 2];
+  q[a + 80 >> 2] = q[b >> 2];
+  q[a + 84 >> 2] = d;
+  n[q[c + 8 >> 2]](c, a);
+ }
+}
+function Hw(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ e = c ? c + a | 0 : 271040;
+ c = q[b + 96 >> 2];
+ c = q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2];
+ d = 0;
+ a : {
+  if ((ct(e, c) | 0) == -1) {
+   break a;
+  }
+  e = c + (r[a + 5 | 0] | r[a + 4 | 0] << 8) & 65535;
+  Iw(b, e, 0, 0, 0);
+  a = q[b + 96 >> 2];
+  c = q[a + 92 >> 2];
+  b : {
+   if ((c | 0) == q[a + 88 >> 2]) {
+    d = q[a + 80 >> 2];
+    b = d;
+    if (q[a + 72 >> 2] == (b | 0)) {
+     break b;
+    }
+   }
+   d = 1;
+   if (!pG(a, 1, 1)) {
+    break a;
+   }
+   d = q[a + 88 >> 2] + w(q[a + 72 >> 2], 20) | 0;
+   c = q[d + 4 >> 2];
+   b = q[a + 92 >> 2] + w(q[a + 80 >> 2], 20) | 0;
+   q[b >> 2] = q[d >> 2];
+   q[b + 4 >> 2] = c;
+   q[b + 16 >> 2] = q[d + 16 >> 2];
+   c = q[d + 12 >> 2];
+   q[b + 8 >> 2] = q[d + 8 >> 2];
+   q[b + 12 >> 2] = c;
+   d = q[a + 72 >> 2];
+   b = q[a + 80 >> 2];
+   c = q[a + 92 >> 2];
+  }
+  q[w(b, 20) + c >> 2] = e;
+  q[a + 80 >> 2] = b + 1;
+  q[a + 72 >> 2] = d + 1;
+  d = 1;
+ }
+ return d;
+}
+function rt(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ a : {
+  if (r[b + 12 | 0] != 1) {
+   break a;
+  }
+  f = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!f) {
+   break a;
+  }
+  q[b + 16 >> 2] = -1;
+  c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  g = nF(b, c);
+  if (!g) {
+   break a;
+  }
+  e = a + 2 | 0;
+  while (1) {
+   h = c & -512;
+   i = c + 512 & -512;
+   a = e;
+   while (1) {
+    d = (c >>> 3 & 56) + g | 0;
+    e = d;
+    j = q[d + 4 >> 2];
+    k = d;
+    l = q[d >> 2];
+    d = c & 63;
+    c = d & 31;
+    if (32 <= (d & 63) >>> 0) {
+     d = 1 << c;
+     c = 0;
+    } else {
+     d = (1 << c) - 1 & 1 >>> 32 - c;
+     c = 1 << c;
+    }
+    q[k >> 2] = l | c;
+    q[e + 4 >> 2] = d | j;
+    f = f + -1 | 0;
+    if (!f) {
+     break a;
+    }
+    e = a + 2 | 0;
+    c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+    if (h >>> 0 <= c >>> 0) {
+     a = e;
+     if (c >>> 0 < i >>> 0) {
+      continue;
+     }
+    }
+    break;
+   }
+   g = nF(b, c);
+   if (g) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function dX(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ d = Ca - 32 | 0;
+ Ca = d;
+ a : {
+  b : {
+   c : {
+    if (c) {
+     if (!bQ(c, 500082)) {
+      a = QX();
+      if (a) {
+       break b;
+      }
+      c = 0;
+      break a;
+     }
+     if (!bQ(c, 500086)) {
+      break c;
+     }
+     if (!bQ(c, 500094)) {
+      break c;
+     }
+     if (bQ(c, 500098)) {
+      break c;
+     }
+     a = FQ(q[a + 12 >> 2]);
+     if (a) {
+      break b;
+     }
+     c = 0;
+     break a;
+    }
+    if (tQ(b) | r[b | 0] == 126) {
+     break c;
+    }
+    f = q[q[a >> 2] + 4 >> 2];
+    c = 0;
+    g = d;
+    d : {
+     while (1) {
+      e = w(c, 20) + 498912 | 0;
+      if ((f | 0) == q[w(c, 20) + 498928 >> 2]) {
+       break d;
+      }
+      c = c + 1 | 0;
+      if ((c | 0) != 54) {
+       continue;
+      }
+      break;
+     }
+     e = 0;
+    }
+    q[g >> 2] = e;
+    VW(a, 1, 500107, d);
+   }
+   c = mZ(b);
+   break a;
+  }
+  q[d + 20 >> 2] = 0;
+  q[d + 16 >> 2] = b;
+  c = uQ(a, d + 16 | 0);
+  M$(a);
+ }
+ Ca = d + 32 | 0;
+ return c;
+}
+function RF(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0) {
+   break a;
+  }
+  d = c - a | 0;
+  if (d >>> 0 < 14) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  c = r[a + 3 | 0];
+  f = r[a + 2 | 0];
+  g = c | f << 8;
+  b : {
+   if (!g) {
+    break b;
+   }
+   c : {
+    if (d >>> 0 < g >>> 0) {
+     break c;
+    }
+    q[b + 12 >> 2] = e + -2;
+    if ((e | 0) < 2) {
+     break c;
+    }
+    c = r[a + 3 | 0];
+    f = r[a + 2 | 0];
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   if (!r[b + 20 | 0]) {
+    break a;
+   }
+   c = d >>> 0 < 65535 ? d : 65535;
+   b = (c << 24 | c << 8 & 16711680) >>> 16 | 0;
+   o[a + 2 | 0] = b;
+   o[a + 3 | 0] = b >>> 8;
+   f = (c & 65280) >>> 8 | 0;
+  }
+  h = (r[a + 7 | 0] << 2 | r[a + 6 | 0] << 10) + 16 >>> 0 <= (c & 255 | f << 8) >>> 0;
+ }
+ return h;
+}
+function Rl(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ if (a) {
+  c = q[a + 100 >> 2];
+  b = q[a + 504 >> 2];
+  if (b) {
+   Jf(b);
+  }
+  Qe(c, q[a + 132 >> 2]);
+  q[a + 132 >> 2] = 0;
+  b = a + 136 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 140 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 144 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 148 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 432 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 428 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 424 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  Qe(c, q[a + 396 >> 2]);
+  q[a + 396 >> 2] = 0;
+  b = a + 400 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 384 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 388 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 364 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 496 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  Qe(c, q[a + 560 >> 2]);
+  q[a + 556 >> 2] = 0;
+  q[a + 560 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  q[a + 24 >> 2] = 0;
+ }
+}
+function Ru(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = a;
+ c = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+ h = c ? c + a | 0 : 271040;
+ c = at(h, q[q[b + 4 >> 2] >> 2]);
+ a = (r[a + 7 | 0] | r[a + 6 | 0] << 8) >>> 0 > c >>> 0 ? ((c << 1) + a | 0) + 8 | 0 : 271040;
+ a = r[a | 0] << 8 | r[a + 1 | 0];
+ d = a ? d + a | 0 : 271040;
+ e = r[d | 0] << 8 | r[d + 1 | 0];
+ if (e) {
+  a = d + 2 | 0;
+  while (1) {
+   a : {
+    c = r[a + 1 | 0] | r[a | 0] << 8;
+    f = c ? c + d | 0 : 271040;
+    g = r[f | 0] << 8 | r[f + 1 | 0];
+    if ((g | 0) != q[b + 8 >> 2]) {
+     break a;
+    }
+    c = 1;
+    if (g >>> 0 <= 1) {
+     return 1;
+    }
+    while (1) {
+     i = f + (c << 1) | 0;
+     if ((at(h, q[q[b + 4 >> 2] + (c << 2) >> 2]) | 0) != (r[i + 2 | 0] << 8 | r[i + 3 | 0])) {
+      break a;
+     }
+     c = c + 1 | 0;
+     if ((g | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+    return 1;
+   }
+   a = a + 2 | 0;
+   e = e + -1 | 0;
+   if (e) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function NH(a) {
+ var b = 0, c = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  c = q[a >> 2];
+  if (!c) {
+   break a;
+  }
+  q[a + 44 >> 2] = 0;
+  q[a + 48 >> 2] = 0;
+  b = q[a + 52 >> 2];
+  if ((b | 0) != (a + 72 | 0)) {
+   Qe(c, b);
+   q[a + 52 >> 2] = 0;
+  }
+  q[a + 56 >> 2] = 0;
+  q[a + 60 >> 2] = 0;
+  b = q[a - -64 >> 2];
+  if ((b | 0) != (a + 864 | 0)) {
+   Qe(c, b);
+   q[a + 64 >> 2] = 0;
+  }
+  b = a + 1392 | 0;
+  q[b >> 2] = 0;
+  q[b + 4 >> 2] = 0;
+  b = q[a + 1400 >> 2];
+  if ((b | 0) != (a + 1420 | 0)) {
+   Qe(c, b);
+   q[a + 1400 >> 2] = 0;
+  }
+  b = a + 1404 | 0;
+  q[b >> 2] = 0;
+  q[b + 4 >> 2] = 0;
+  b = q[a + 1412 >> 2];
+  if ((b | 0) != (a + 2212 | 0)) {
+   Qe(c, b);
+   q[a + 1412 >> 2] = 0;
+  }
+  b = q[a + 40 >> 2];
+  if ((b | 0) != (a + 2760 | 0)) {
+   Qe(c, b);
+   q[a + 40 >> 2] = 0;
+  }
+  q[a + 32 >> 2] = 0;
+  q[a + 36 >> 2] = 0;
+  b = q[a + 28 >> 2];
+  if ((b | 0) != (a + 2792 | 0)) {
+   Qe(c, b);
+   q[a + 28 >> 2] = 0;
+  }
+  q[a + 20 >> 2] = 0;
+  q[a + 24 >> 2] = 0;
+  q[a >> 2] = 0;
+ }
+}
+function Su(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = r[a + 1 | 0] | r[a | 0] << 8;
+ if (h) {
+  i = a + 2 | 0;
+  while (1) {
+   d = r[i + 1 | 0] | r[i | 0] << 8;
+   d = d ? d + a | 0 : 271040;
+   f = r[d + 1 | 0];
+   g = r[d | 0];
+   e = (f << 1 | g << 9) + d | 0;
+   j = e + 2 | 0;
+   d = r[j | 0] << 8 | r[e + 3 | 0];
+   a : {
+    if (r[b + 12 | 0]) {
+     g = f | g << 8;
+     f = j + (d ? d << 1 : 2) | 0;
+     if (g | r[f + 1 | 0] | r[f | 0] << 8) {
+      break a;
+     }
+    }
+    if ((d | 0) != q[b + 8 >> 2]) {
+     break a;
+    }
+    if (d >>> 0 <= 1) {
+     return 1;
+    }
+    f = e + 4 | 0;
+    g = q[c + 8 >> 2];
+    j = q[c >> 2];
+    e = 1;
+    while (1) {
+     if (!n[j](q[q[b + 4 >> 2] + (e << 2) >> 2], (f + (e << 1) | 0) + -2 | 0, g)) {
+      break a;
+     }
+     e = e + 1 | 0;
+     if ((d | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    return 1;
+   }
+   i = i + 2 | 0;
+   h = h + -1 | 0;
+   if (h) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function UM(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ M$(q[a + 100 >> 2]);
+ M$(q[a + 104 >> 2]);
+ f = a;
+ if (b) {
+  g = mZ(b);
+ } else {
+  g = 0;
+ }
+ q[f + 100 >> 2] = g;
+ f = a;
+ if (c) {
+  g = mZ(c);
+ } else {
+  g = 0;
+ }
+ q[f + 104 >> 2] = g;
+ q[a + 112 >> 2] = q[a + 112 >> 2] + 1;
+ sM(q[a + 748 >> 2]);
+ sM(q[a + 744 >> 2]);
+ sM(q[a + 740 >> 2]);
+ f = q[a + 16 >> 2];
+ q[a + 136 >> 2] = f;
+ g = q[a + 20 >> 2];
+ q[a + 140 >> 2] = g;
+ h = q[a - -64 >> 2];
+ i = q[a + 68 >> 2];
+ q[a + 148 >> 2] = (f - h | 0) - i;
+ j = q[a + 56 >> 2];
+ k = q[a + 60 >> 2];
+ q[a + 144 >> 2] = (g - j | 0) - k;
+ q[a + 156 >> 2] = (f + ((h | 0) > 0 ? 0 - h | 0 : 0) | 0) + ((i | 0) > 0 ? 0 - i | 0 : 0);
+ q[a + 152 >> 2] = (((j | 0) > 0 ? 0 - j | 0 : 0) + g | 0) + ((k | 0) > 0 ? 0 - k | 0 : 0);
+ sM(q[a + 736 >> 2]);
+ f = q[a + 116 >> 2];
+ if (f) {
+  sM(q[f + 44 >> 2]);
+ }
+ f = q[a + 8 >> 2];
+ if (f) {
+  qL(f);
+ }
+ l = a, m = pL(q[a >> 2], q[a + 4 >> 2], c, b, e, d), q[l + 8 >> 2] = m;
+}
+function Hj(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = 6;
+ d = q[a + 532 >> 2];
+ a : {
+  if (!d) {
+   break a;
+  }
+  b : {
+   if (!(b | c)) {
+    a = q[d >> 2];
+    if (!a) {
+     break b;
+    }
+    b = q[d + 136 >> 2];
+    c = q[d + 140 >> 2];
+    e = 0;
+    while (1) {
+     d = f << 2;
+     q[d + b >> 2] = q[c + d >> 2];
+     f = f + 1 | 0;
+     if ((a | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+    break a;
+   }
+   if (!c) {
+    break a;
+   }
+   e = q[d >> 2];
+   g = e >>> 0 > b >>> 0 ? b : e;
+   if (g) {
+    i = q[d + 136 >> 2];
+    while (1) {
+     h = f << 2;
+     q[h + i >> 2] = q[c + h >> 2];
+     f = f + 1 | 0;
+     if ((g | 0) != (f | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (e >>> 0 > b >>> 0) {
+    Z$(q[d + 136 >> 2] + (g << 2) | 0, 0, e - g << 2);
+   }
+   c = q[a + 8 >> 2];
+   if (b) {
+    q[a + 8 >> 2] = c | 32768;
+    break b;
+   }
+   q[a + 8 >> 2] = c & -32769;
+  }
+  e = 0;
+ }
+ return e | 0;
+}
+function vF(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ q[a >> 2] = -57005;
+ b = q[a + 8 >> 2];
+ if (b) {
+  a : {
+   if (!q[b + 8 >> 2]) {
+    c = b + 12 | 0;
+    M$(q[c >> 2]);
+    q[c >> 2] = 0;
+    q[b + 4 >> 2] = 0;
+    q[b + 8 >> 2] = 0;
+    break a;
+   }
+   while (1) {
+    c = q[b >> 2];
+    q[b >> 2] = 1;
+    if (c) {
+     continue;
+    }
+    break;
+   }
+   c = q[b + 8 >> 2];
+   if (c) {
+    while (1) {
+     e = c + -1 | 0;
+     d = q[b + 12 >> 2] + w(e, 12) | 0;
+     c = q[d + 8 >> 2];
+     d = q[d + 4 >> 2];
+     q[b + 8 >> 2] = e;
+     q[b >> 2] = 0;
+     if (c) {
+      n[c](d);
+     }
+     while (1) {
+      c = q[b >> 2];
+      q[b >> 2] = 1;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     c = q[b + 8 >> 2];
+     if (c) {
+      continue;
+     }
+     break;
+    }
+   }
+   M$(q[b + 12 >> 2]);
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   q[b >> 2] = 0;
+   q[b + 4 >> 2] = 0;
+  }
+  M$(b);
+ }
+ M$(q[a + 32 >> 2]);
+ q[a + 32 >> 2] = 0;
+ q[a + 16 >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+}
+function Wh(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, r = 0;
+ f = q[a + 260 >> 2];
+ if (!f) {
+  r = a;
+  f = p[a + 300 >> 1];
+  d = q[a + 248 >> 2];
+  a : {
+   if (!f) {
+    break a;
+   }
+   e = p[a + 298 >> 1];
+   d = q[a + 252 >> 2];
+   if (!e) {
+    break a;
+   }
+   i = q[a + 248 >> 2];
+   d = i >> 31;
+   h = d ^ d + i;
+   d = e >> 31;
+   k = d + e ^ d;
+   l = w(h >>> 16 | 0, k);
+   d = l << 16 | 8192;
+   j = q[a + 252 >> 2];
+   g = j >> 31;
+   m = g ^ g + j;
+   g = f >> 31;
+   n = g + f ^ g;
+   o = w(m >>> 16 | 0, n);
+   g = o << 16 | 8192;
+   h = d + w(k, h & 65535) | 0;
+   d = (l >>> 16 | 0) + (h >>> 0 < d >>> 0) << 18 | h >>> 14;
+   d = (e ^ i) > -1 ? d : 0 - d | 0;
+   e = g + w(n, m & 65535) | 0;
+   e = (o >>> 16 | 0) + (e >>> 0 < g >>> 0) << 18 | e >>> 14;
+   d = Be(d, (f ^ j) > -1 ? e : 0 - e | 0);
+  }
+  f = d;
+  q[r + 260 >> 2] = f;
+ }
+ c = Fe(c, f);
+ q[q[a + 388 >> 2] + (b << 2) >> 2] = c;
+}
+function sA(a, b, c) {
+ var d = 0, e = 0, f = 0, g = x(0);
+ e = q[a + 4 >> 2];
+ a : {
+  if (e >>> 0 > c >>> 0) {
+   f = q[a >> 2];
+   d = q[a + 12 >> 2];
+   d = (c | 0) < 0 ? 271040 : q[(d ? d : 271040) + 12 >> 2] + (c << 2) | 0;
+   d = r[d + 2 | 0] | r[d + 3 | 0] << 8;
+   d = (d << 24 | d << 8 & 16711680) >> 16;
+   break a;
+  }
+  f = q[a >> 2];
+  d = 0;
+  if (f >>> 0 <= c >>> 0) {
+   break a;
+  }
+  d = q[a + 12 >> 2];
+  d = (c - e << 1) + ((e | 0) < 0 ? 271040 : q[(d ? d : 271040) + 12 >> 2] + (e << 2) | 0) | 0;
+  d = r[d | 0] | r[d + 1 | 0] << 8;
+  d = (d << 24 | d << 8 & 16711680) >> 16;
+ }
+ b : {
+  if (f >>> 0 <= c >>> 0) {
+   break b;
+  }
+  e = q[b + 60 >> 2];
+  if (!e) {
+   break b;
+  }
+  a = q[a + 16 >> 2];
+  a = a ? a : 271040;
+  f = q[a + 16 >> 2];
+  if (f) {
+   g = x(PA(f >>> 0 < 20 ? 271040 : q[a + 12 >> 2], c, q[b + 64 >> 2], e) + x(d | 0));
+   if (x(y(g)) < x(2147483648)) {
+    return ~~g;
+   }
+   return -2147483648;
+  }
+  d = Yz(Xz(q[b + 16 >> 2] + 96 | 0), b, c);
+ }
+ return d;
+}
+function Qu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = a;
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ c = ct(c ? c + a | 0 : 271040, q[q[b + 4 >> 2] >> 2]);
+ a = (r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0 > c >>> 0 ? ((c << 1) + a | 0) + 6 | 0 : 271040;
+ a = r[a | 0] << 8 | r[a + 1 | 0];
+ d = a ? d + a | 0 : 271040;
+ e = r[d | 0] << 8 | r[d + 1 | 0];
+ if (e) {
+  a = d + 2 | 0;
+  f = q[b + 8 >> 2];
+  while (1) {
+   a : {
+    c = r[a + 1 | 0] | r[a | 0] << 8;
+    g = c ? c + d | 0 : 271040;
+    if ((r[g | 0] << 8 | r[g + 1 | 0]) != (f | 0)) {
+     break a;
+    }
+    if (f >>> 0 < 2) {
+     return 1;
+    }
+    i = q[b + 4 >> 2];
+    c = 1;
+    while (1) {
+     h = g + (c << 1) | 0;
+     if (q[(c << 2) + i >> 2] != (r[h + 2 | 0] << 8 | r[h + 3 | 0])) {
+      break a;
+     }
+     c = c + 1 | 0;
+     if ((f | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+    return 1;
+   }
+   a = a + 2 | 0;
+   e = e + -1 | 0;
+   if (e) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function _B(a, b, c, d) {
+ var e = 0, f = 0, g = 0;
+ e = a + 8 | 0;
+ g = b + 1 | 0;
+ g = (g | 0) < 0 ? 271040 : e + (g << 2) | 0;
+ f = g;
+ f = r[f | 0] | r[f + 1 | 0] << 8 | (r[f + 2 | 0] << 16 | r[f + 3 | 0] << 24);
+ e = (b | 0) < 0 ? 271040 : e + (b << 2) | 0;
+ b = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+ b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+ if ((f << 24 | f << 8 & 16711680 | (f >>> 8 & 65280 | f >>> 24)) >>> 0 > b >>> 0) {
+  a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+  q[c >> 2] = b + (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24));
+  a = r[g | 0] | r[g + 1 | 0] << 8 | (r[g + 2 | 0] << 16 | r[g + 3 | 0] << 24);
+  b = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  a = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+  q[d >> 2] = b - (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24));
+  a = 1;
+ } else {
+  a = 0;
+ }
+ return a;
+}
+function KB(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ h = q[b + 4 >> 2];
+ a : {
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 2) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  e = d + -1 | 0;
+  q[b + 12 >> 2] = e;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  d = r[a | 0];
+  if (d >>> 0 > 4) {
+   break a;
+  }
+  b : {
+   switch (d - 1 | 0) {
+   default:
+    g = 1;
+    d = q[b + 32 >> 2];
+    if (!d) {
+     break a;
+    }
+    i = a + 1 | 0;
+    a = 0;
+    while (1) {
+     g = 0;
+     c = a + i | 0;
+     if (h >>> 0 > c >>> 0 | f >>> 0 <= c >>> 0) {
+      break a;
+     }
+     c = e + -1 | 0;
+     q[b + 12 >> 2] = c;
+     if ((e | 0) <= 0) {
+      break a;
+     }
+     e = c;
+     a = a + 1 | 0;
+     if ((d | 0) != (a | 0)) {
+      continue;
+     }
+     break;
+    }
+    return 1;
+   case 2:
+    return tB(a + 1 | 0, b, c);
+   case 0:
+   case 1:
+    break a;
+   case 3:
+    break b;
+   }
+  }
+  g = PB(a + 1 | 0, b, c);
+ }
+ return g;
+}
+function Cl(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0;
+ if (a) {
+  d = q[q[a + 96 >> 2] + 8 >> 2];
+  q[a + 20 >> 2] = 0;
+  q[a + 24 >> 2] = 0;
+  c = q[a + 100 >> 2];
+  b = a + 368 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 372 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  b = a + 376 | 0;
+  Qe(c, q[b >> 2]);
+  q[b >> 2] = 0;
+  Qe(c, q[a + 364 >> 2]);
+  q[a + 360 >> 2] = 0;
+  q[a + 364 >> 2] = 0;
+  q[a + 348 >> 2] = 0;
+  q[a + 352 >> 2] = 0;
+  b = a + 388 | 0;
+  Qe(c, q[b >> 2]);
+  q[a + 380 >> 2] = 0;
+  q[a + 384 >> 2] = 0;
+  q[b >> 2] = 0;
+  b = a + 416 | 0;
+  Qe(c, q[b >> 2]);
+  q[a + 408 >> 2] = 0;
+  q[a + 412 >> 2] = 0;
+  q[b >> 2] = 0;
+  Qe(c, q[a + 396 >> 2]);
+  q[a + 392 >> 2] = 0;
+  q[a + 396 >> 2] = 0;
+  b = q[a + 424 >> 2];
+  if (b) {
+   while (1) {
+    e = q[b >> 2];
+    Qe(c, b);
+    b = e;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[a + 428 >> 2] = 0;
+  q[a + 420 >> 2] = 0;
+  q[a + 424 >> 2] = 0;
+  Qe(d, q[a + 32 >> 2]);
+  q[a + 32 >> 2] = 0;
+ }
+}
+function td(a) {
+ var b = 0, c = 0;
+ b = q[a + 88 >> 2];
+ if (b) {
+  M$(q[b + 20 >> 2]);
+  M$(q[q[a + 88 >> 2] + 4 >> 2]);
+  M$(q[q[a + 88 >> 2] + 8 >> 2]);
+  M$(q[a + 88 >> 2]);
+ }
+ M$(q[a + 24 >> 2]);
+ M$(q[a + 28 >> 2]);
+ M$(q[a + 68 >> 2]);
+ b = q[a + 16 >> 2];
+ a : {
+  if (!b) {
+   break a;
+  }
+  c = 1;
+  if (q[a >> 2] < 1) {
+   break a;
+  }
+  M$(q[b >> 2]);
+  M$(q[b + 4 >> 2]);
+  if (q[a >> 2] >= 2) {
+   while (1) {
+    b = q[a + 16 >> 2] + w(c, 144) | 0;
+    M$(q[b >> 2]);
+    M$(q[b + 4 >> 2]);
+    c = c + 1 | 0;
+    if ((c | 0) < q[a >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  b = q[a + 16 >> 2];
+ }
+ M$(b);
+ c = q[a + 20 >> 2];
+ if (!(!c | q[a + 8 >> 2] < 1)) {
+  b = 0;
+  while (1) {
+   c = w(b, 56) + c | 0;
+   M$(q[c + 28 >> 2]);
+   M$(q[c + 44 >> 2]);
+   M$(q[c + 48 >> 2]);
+   M$(q[c + 52 >> 2]);
+   b = b + 1 | 0;
+   if ((b | 0) < q[a + 8 >> 2]) {
+    c = q[a + 20 >> 2];
+    continue;
+   }
+   break;
+  }
+  c = q[a + 20 >> 2];
+ }
+ M$(c);
+ M$(q[a + 80 >> 2]);
+ M$(a);
+}
+function $Q() {
+ var a = 0, b = 0, c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c : {
+    a = q[160824];
+    if (a) {
+     break c;
+    }
+    while (1) {
+     a = 4096;
+     d : {
+      while (1) {
+       e : {
+        b = L$(a);
+        if (b) {
+         c = a + -1 | 0;
+         d = MY(486010, b, c);
+         if ((d | 0) > -1) {
+          break e;
+         }
+         M$(b);
+        }
+        a = mZ(486025);
+        break d;
+       }
+       if (d >>> 0 >= c >>> 0) {
+        M$(b);
+        a = a << 1;
+        continue;
+       }
+       break;
+      }
+      o[b + d | 0] = 0;
+      a = $Y(b, 47);
+      a = mZ(a ? a + 1 | 0 : b);
+      if (!a) {
+       a = mZ(486025);
+      }
+      M$(b);
+     }
+     c = q[160824];
+     q[160824] = c ? c : a;
+     if (c) {
+      M$(a);
+      a = q[160824];
+      if (!a) {
+       continue;
+      }
+      break c;
+     }
+     break;
+    }
+    if (a) {
+     break c;
+    }
+    a = 0;
+    break b;
+   }
+   if (!r[a | 0]) {
+    break a;
+   }
+  }
+  e = a;
+ }
+ return e;
+}
+function yZ(a, b) {
+ var c = 0, d = 0;
+ d = Ca - 32 | 0;
+ Ca = d;
+ a : {
+  b : {
+   c : {
+    if (!eZ(506972, o[b | 0])) {
+     q[160854] = 28;
+     break c;
+    }
+    c = L$(1176);
+    if (c) {
+     break b;
+    }
+   }
+   a = 0;
+   break a;
+  }
+  Z$(c, 0, 144);
+  if (!eZ(b, 43)) {
+   q[c >> 2] = r[b | 0] == 114 ? 8 : 4;
+  }
+  d : {
+   if (r[b | 0] != 97) {
+    b = q[c >> 2];
+    break d;
+   }
+   b = Y(a | 0, 3, 0) | 0;
+   if (!(b & 1024)) {
+    q[d + 16 >> 2] = b | 1024;
+    Y(a | 0, 4, d + 16 | 0) | 0;
+   }
+   b = q[c >> 2] | 128;
+   q[c >> 2] = b;
+  }
+  o[c + 75 | 0] = 255;
+  q[c + 48 >> 2] = 1024;
+  q[c + 60 >> 2] = a;
+  q[c + 44 >> 2] = c + 152;
+  e : {
+   if (b & 8) {
+    break e;
+   }
+   q[d >> 2] = d + 24;
+   if (sa(a | 0, 21523, d | 0)) {
+    break e;
+   }
+   o[c + 75 | 0] = 10;
+  }
+  q[c + 40 >> 2] = 1001;
+  q[c + 36 >> 2] = 1002;
+  q[c + 32 >> 2] = 1003;
+  q[c + 12 >> 2] = 1004;
+  if (!q[160856]) {
+   q[c + 76 >> 2] = -1;
+  }
+  a = l_(c);
+ }
+ Ca = d + 32 | 0;
+ return a;
+}
+function Yw(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ e = c ? c + a | 0 : 271040;
+ c = q[b + 96 >> 2];
+ a : {
+  if ((ct(e, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]) | 0) == -1) {
+   break a;
+  }
+  c = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+  c = c ? c + a | 0 : 271040;
+  d = q[b + 96 >> 2];
+  d = at(c, q[q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) >> 2]);
+  d = (r[a + 7 | 0] | r[a + 6 | 0] << 8) >>> 0 > d >>> 0 ? ((d << 1) + a | 0) + 8 | 0 : 271040;
+  e = r[d + 1 | 0];
+  g = r[d | 0];
+  q[f + 12 >> 2] = c;
+  q[f + 8 >> 2] = 434;
+  d = 0;
+  c = a;
+  a = e | g << 8;
+  c = a ? c + a | 0 : 271040;
+  e = r[c | 0] << 8 | r[c + 1 | 0];
+  if (!e) {
+   break a;
+  }
+  a = c + 2 | 0;
+  while (1) {
+   g = r[a + 1 | 0] | r[a | 0] << 8;
+   if (Ww(g ? g + c | 0 : 271040, b, f + 8 | 0)) {
+    d = 1;
+    break a;
+   }
+   a = a + 2 | 0;
+   e = e + -1 | 0;
+   if (e) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = f + 16 | 0;
+ return d;
+}
+function fQ(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  while (1) {
+   b : {
+    c = a + 1 | 0;
+    c : {
+     d : {
+      a = r[a | 0];
+      if ((a | 0) != 63) {
+       if (!a) {
+        break b;
+       }
+       if ((a | 0) != 42) {
+        break d;
+       }
+       if (!r[c | 0]) {
+        return 1;
+       }
+       if (!eZ(c, 42)) {
+        a = 0;
+        d = g0(b);
+        e = g0(c);
+        if (d >>> 0 < e >>> 0) {
+         break a;
+        }
+        b = (d - e | 0) + b | 0;
+       }
+       a = 0;
+       if (!r[b | 0]) {
+        break a;
+       }
+       while (1) {
+        if (!fQ(c, b)) {
+         b = b + 1 | 0;
+         if (r[b | 0]) {
+          continue;
+         }
+         break a;
+        }
+        break;
+       }
+       return 1;
+      }
+      if (r[b | 0]) {
+       break c;
+      }
+      return 0;
+     }
+     if ((a | 0) == r[b | 0]) {
+      break c;
+     }
+     return 0;
+    }
+    b = b + 1 | 0;
+    a = c;
+    continue;
+   }
+   break;
+  }
+  a = !r[b | 0];
+ }
+ return a;
+}
+function Yh(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ m = q[q[a + 388 >> 2] + (b << 2) >> 2];
+ b = q[a + 260 >> 2];
+ if (!b) {
+  n = a;
+  b = p[a + 300 >> 1];
+  c = q[a + 248 >> 2];
+  a : {
+   if (!b) {
+    break a;
+   }
+   d = p[a + 298 >> 1];
+   c = q[a + 252 >> 2];
+   if (!d) {
+    break a;
+   }
+   g = q[a + 248 >> 2];
+   c = g >> 31;
+   f = c ^ c + g;
+   c = d >> 31;
+   h = c + d ^ c;
+   i = w(f >>> 16 | 0, h);
+   c = i << 16 | 8192;
+   a = q[a + 252 >> 2];
+   e = a >> 31;
+   j = e ^ a + e;
+   e = b >> 31;
+   k = e + b ^ e;
+   l = w(j >>> 16 | 0, k);
+   e = l << 16 | 8192;
+   f = c + w(h, f & 65535) | 0;
+   c = (i >>> 16 | 0) + (f >>> 0 < c >>> 0) << 18 | f >>> 14;
+   c = (d ^ g) > -1 ? c : 0 - c | 0;
+   d = e + w(k, j & 65535) | 0;
+   d = (l >>> 16 | 0) + (d >>> 0 < e >>> 0) << 18 | d >>> 14;
+   c = Be(c, (a ^ b) > -1 ? d : 0 - d | 0);
+  }
+  b = c;
+  q[n + 260 >> 2] = b;
+ }
+ return Ee(m, b) | 0;
+}
+function MD(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  if (!HD(b, a, 4)) {
+   break a;
+  }
+  c = (c << 8 & 16711680 | c << 24) >>> 16 | 0;
+  o[a | 0] = c;
+  o[a + 1 | 0] = c >>> 8;
+  g = q[d + 4 >> 2];
+  d = q[d >> 2];
+  f = a + 2 | 0;
+  if (!HD(b, f, 2)) {
+   break a;
+  }
+  c = g + 1 | 0;
+  e = (c << 24 | c << 8 & 16711680) >>> 16 | 0;
+  o[a + 2 | 0] = e;
+  o[a + 3 | 0] = e >>> 8;
+  e = (c & 65280) >>> 8 | 0;
+  h = b;
+  if (!(!r[b + 20 | 0] | c >>> 0 < 65536)) {
+   o[b + 20 | 0] = 0;
+   e = r[a + 2 | 0];
+   c = r[a + 3 | 0];
+  }
+  b = c & 255 | e << 8;
+  if (!HD(h, f, b ? b << 1 : 2)) {
+   break a;
+  }
+  if (!g) {
+   return 1;
+  }
+  b = 0;
+  c = g;
+  while (1) {
+   i = 1;
+   e = (b << 1) + a | 0;
+   f = c ? d : 271040;
+   f = r[f | 0] | r[f + 1 | 0] << 8;
+   o[e + 4 | 0] = f;
+   o[e + 5 | 0] = f >>> 8;
+   e = (c | 0) != 0;
+   c = c - e | 0;
+   d = (e << 1) + d | 0;
+   b = b + 1 | 0;
+   if ((g | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return i;
+}
+function vu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ yu(c ? c + a | 0 : 271040, q[b + 8 >> 2]);
+ c = r[a + 5 | 0];
+ d = r[a + 7 | 0];
+ g = r[a + 4 | 0];
+ h = r[a + 6 | 0];
+ f = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+ q[e + 12 >> 2] = f ? f + a | 0 : 271040;
+ d = d | h << 8;
+ q[e + 8 >> 2] = d ? d + a | 0 : 271040;
+ q[e >> 2] = 433;
+ c = c | g << 8;
+ q[e + 4 >> 2] = c ? c + a | 0 : 271040;
+ h = r[a + 11 | 0] | r[a + 10 | 0] << 8;
+ if (h) {
+  c = a + 12 | 0;
+  while (1) {
+   d = r[c + 1 | 0] | r[c | 0] << 8;
+   g = d ? d + a | 0 : 271040;
+   f = r[g | 0] << 8 | r[g + 1 | 0];
+   if (f) {
+    d = g + 2 | 0;
+    while (1) {
+     i = r[d + 1 | 0] | r[d | 0] << 8;
+     Iu(i ? i + g | 0 : 271040, b, e);
+     d = d + 2 | 0;
+     f = f + -1 | 0;
+     if (f) {
+      continue;
+     }
+     break;
+    }
+   }
+   c = c + 2 | 0;
+   h = h + -1 | 0;
+   if (h) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = e + 16 | 0;
+}
+function gr(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ d = Ca - 80 | 0;
+ Ca = d;
+ e = fr(q[b + 16 >> 2] + 164 | 0);
+ g = q[e + 12 >> 2];
+ e = q[e + 16 >> 2];
+ q[d + 12 >> 2] = b;
+ q[d + 8 >> 2] = a;
+ a = q[b + 16 >> 2];
+ q[d + 48 >> 2] = 0;
+ f = d + 32 | 0;
+ b = f;
+ q[b >> 2] = 0;
+ q[b + 4 >> 2] = 0;
+ q[d + 40 >> 2] = 0;
+ o[d + 60 | 0] = 0;
+ q[d + 56 >> 2] = 65536;
+ q[d + 20 >> 2] = c;
+ q[d + 16 >> 2] = a;
+ q[d + 24 >> 2] = 0;
+ q[d + 28 >> 2] = 0;
+ q[d + 68 >> 2] = 0;
+ q[d + 72 >> 2] = 0;
+ q[d + 64 >> 2] = 271040;
+ b = Hq(271040);
+ o[d + 44 | 0] = 0;
+ q[d + 52 >> 2] = b;
+ c = q[a + 32 >> 2];
+ if ((c | 0) == -1) {
+  c = VF(a);
+ }
+ o[d + 60 | 0] = 1;
+ q[d + 56 >> 2] = c;
+ a = q[b + 12 >> 2];
+ q[d + 28 >> 2] = a;
+ c = a;
+ a = q[b + 16 >> 2];
+ q[f >> 2] = c + a;
+ if ((a | 0) <= -1) {
+  J(228144, 228169, 195, 228186);
+  F();
+ }
+ q[d + 36 >> 2] = 1073741823;
+ q[d + 24 >> 2] = 0;
+ q[d + 48 >> 2] = 0;
+ hr(e >>> 0 < 12 ? 271040 : g, d + 8 | 0);
+ Cq(q[d + 52 >> 2]);
+ Ca = d + 80 | 0;
+}
+function Cd(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ d = Ca + -64 | 0;
+ Ca = d;
+ e = JZ(b, 1554);
+ a : {
+  if (!e) {
+   q[d >> 2] = b;
+   Yd(a, 2, 1557, d);
+   break a;
+  }
+  if ((IZ(e, 0, 2) | 0) == -1) {
+   q[d + 16 >> 2] = b;
+   Yd(a, 2, 1589, d + 16 | 0);
+   CZ(e);
+   break a;
+  }
+  f = AZ(e);
+  SZ(e);
+  q[d + 48 >> 2] = f;
+  Yd(a, 6, 1621, d + 48 | 0);
+  b : {
+   if ((f | 0) == -1) {
+    break b;
+   }
+   g = L$(f + 1 | 0);
+   if (!g) {
+    break b;
+   }
+   b = 0;
+   while (1) {
+    h = NZ(b + g | 0, f - b | 0, e);
+    if ((h | 0) <= 0) {
+     b = q[160854];
+     i = d, j = KY(q[160854]), q[i + 36 >> 2] = j;
+     q[d + 32 >> 2] = b;
+     Yd(a, 4, 1636, d + 32 | 0);
+     CZ(e);
+     M$(g);
+     g = 0;
+     break a;
+    }
+    b = b + h | 0;
+    if ((f | 0) > (b | 0)) {
+     continue;
+    }
+    break;
+   }
+   o[f + g | 0] = 0;
+   CZ(e);
+   if (!c) {
+    break a;
+   }
+   q[c >> 2] = f;
+   break a;
+  }
+  CZ(e);
+  g = 0;
+ }
+ Ca = d - -64 | 0;
+ return g;
+}
+function sh(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ c = q[b + 28 >> 2];
+ e = n[q[a + 516 >> 2]](a, 1668707360, b, d + 8 | 0) | 0;
+ q[d + 12 >> 2] = e;
+ f = d;
+ a : {
+  b : {
+   if (e) {
+    q[a + 700 >> 2] = 0;
+    q[a + 704 >> 2] = 0;
+    c = 0;
+    break b;
+   }
+   e = q[d + 8 >> 2] >>> 1 | 0;
+   q[a + 700 >> 2] = e;
+   g = a, h = Te(c, 4, 0, e, 0, d + 12 | 0), q[g + 704 >> 2] = h;
+   c = q[d + 12 >> 2];
+   if (c) {
+    break a;
+   }
+   c = Kg(b, q[a + 700 >> 2] << 1);
+   q[d + 12 >> 2] = c;
+   if (c) {
+    break a;
+   }
+   e = q[a + 700 >> 2];
+   if ((e | 0) >= 1) {
+    c = q[a + 704 >> 2];
+    e = c + (e << 2) | 0;
+    while (1) {
+     g = c, h = Pg(b) << 16 >> 16 << 6, q[g >> 2] = h;
+     c = c + 4 | 0;
+     if (c >>> 0 < e >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   Ng(b);
+   if (!r[a + 733 | 0]) {
+    c = q[d + 12 >> 2];
+    break a;
+   }
+   c = Ii(a, b);
+  }
+  q[f + 12 >> 2] = c;
+ }
+ Ca = d + 16 | 0;
+ return c;
+}
+function pK(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0;
+ a : {
+  if (r[a + 64 | 0]) {
+   break a;
+  }
+  o[a + 64 | 0] = 1;
+  e = q[a + 20 >> 2];
+  b : {
+   if (r[a + 65 | 0]) {
+    d = q[a + 12 >> 2];
+    if ((p[d + 20 >> 1] + p[d + 56 >> 1] | 0) + 1 >>> 0 > t[d + 8 >> 2]) {
+     d = Ue(d, 0, 1);
+     if (d) {
+      break a;
+     }
+    }
+    f = s[e >> 1];
+    d = f << 16 >> 16;
+    if ((d | 0) < 1) {
+     break b;
+    }
+    p[(q[e + 12 >> 2] + (f << 1) | 0) + -2 >> 1] = s[e + 2 >> 1] + -1;
+   }
+   d = s[e >> 1];
+  }
+  p[e >> 1] = d + 1;
+  d = q[a + 12 >> 2];
+  if ((p[d + 22 >> 1] + p[d + 58 >> 1] | 0) + 1 >>> 0 > t[d + 4 >> 2]) {
+   d = Ue(d, 1, 0);
+   if (d) {
+    break a;
+   }
+  }
+  d = q[a + 20 >> 2];
+  if (r[a + 65 | 0]) {
+   a = q[d + 8 >> 2];
+   e = p[d + 2 >> 1];
+   f = q[d + 4 >> 2] + (e << 3) | 0;
+   q[f + 4 >> 2] = c >> 10;
+   q[f >> 2] = b >> 10;
+   o[a + e | 0] = 1;
+  }
+  p[d + 2 >> 1] = s[d + 2 >> 1] + 1;
+  d = 0;
+ }
+ return d | 0;
+}
+function eu(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ a : {
+  e = r[a + 5 | 0];
+  d = r[a + 4 | 0];
+  h = e | d << 8;
+  if (!h) {
+   break a;
+  }
+  while (1) {
+   e = (d << 8 | e) >>> 0 > g >>> 0 ? ((g << 1) + a | 0) + 6 | 0 : 271040;
+   b : {
+    if ((r[e | 0] << 8 | r[e + 1 | 0]) != (c | 0) | r[b + 12 | 0] != 1) {
+     break b;
+    }
+    d = (r[a + 3 | 0] | r[a + 2 | 0] << 8) + g | 0;
+    if ((d | 0) == -1) {
+     break b;
+    }
+    q[b + 16 >> 2] = -1;
+    e = nF(b, d);
+    if (!e) {
+     break b;
+    }
+    f = e + (d >>> 3 & 56) | 0;
+    e = f;
+    i = q[e + 4 >> 2];
+    j = e;
+    k = q[e >> 2];
+    f = d & 63;
+    d = f & 31;
+    if (32 <= (f & 63) >>> 0) {
+     f = 1 << d;
+     d = 0;
+    } else {
+     f = (1 << d) - 1 & 1 >>> 32 - d;
+     d = 1 << d;
+    }
+    q[j >> 2] = k | d;
+    q[e + 4 >> 2] = f | i;
+   }
+   g = g + 1 | 0;
+   if ((h | 0) == (g | 0)) {
+    break a;
+   }
+   e = r[a + 5 | 0];
+   d = r[a + 4 | 0];
+   continue;
+  }
+ }
+}
+function BR(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = Ca - 48 | 0;
+ Ca = c;
+ a = q[a + 64 >> 2];
+ b = j$(488579);
+ a : {
+  if (!b) {
+   break a;
+  }
+  q[160854] = 0;
+  e = J_(b, c + 44 | 0, 10, -1, -1);
+  d = Ea;
+  f = q[c + 44 >> 2];
+  if ((b | 0) == (f | 0)) {
+   c0(488597, 38, 1, q[126919]);
+   break a;
+  }
+  b = d;
+  g = e + 1 | 0;
+  if (g >>> 0 < 1) {
+   b = b + 1 | 0;
+  }
+  if (!(!q[160854] | (e | d) ? !(q[160854] == 68 ? !b & g >>> 0 <= 1 | b >>> 0 < 0 : 0) : 0)) {
+   b = KY(q[160854]);
+   q[c + 8 >> 2] = e;
+   q[c + 12 >> 2] = d;
+   q[c >> 2] = b;
+   j_(q[126919], 488636, c);
+   break a;
+  }
+  if (r[f | 0]) {
+   c0(488687, 51, 1, q[126919]);
+   break a;
+  }
+  if ((d | 0) == 1 & e >>> 0 >= 0 | d >>> 0 > 1) {
+   q[c + 24 >> 2] = e;
+   q[c + 28 >> 2] = d;
+   q[c + 16 >> 2] = -1;
+   j_(q[126919], 488739, c + 16 | 0);
+   break a;
+  }
+  b = a >> 31;
+  a = (b | 0) == (d | 0) & e >>> 0 < a >>> 0 | d >>> 0 < b >>> 0 ? e : a;
+ }
+ Ca = c + 48 | 0;
+ return a;
+}
+
+
+
+function zu(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ g = r[a + 1 | 0] | r[a | 0] << 8;
+ if (g) {
+  h = a + 2 | 0;
+  while (1) {
+   d = r[h + 1 | 0] | r[h | 0] << 8;
+   e = d ? d + a | 0 : 271040;
+   j = r[e + 2 | 0] << 8 | r[e + 3 | 0];
+   f = r[e + 1 | 0] | r[e | 0] << 8;
+   a : {
+    if (!f) {
+     break a;
+    }
+    i = f + -1 | 0;
+    if (!i) {
+     break a;
+    }
+    k = q[c + 4 >> 2];
+    l = q[c >> 2];
+    m = q[b + 8 >> 2];
+    d = e + 4 | 0;
+    while (1) {
+     n[l](m, d, k);
+     d = d + 2 | 0;
+     i = i + -1 | 0;
+     if (i) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (j) {
+    e = ((f ? (f << 1) + -2 | 0 : 0) + e | 0) + 4 | 0;
+    d = 0;
+    while (1) {
+     f = e + (d << 2) | 0;
+     Hu(b, r[f + 2 | 0] << 8 | r[f + 3 | 0]);
+     d = d + 1 | 0;
+     if ((j | 0) != (d | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   h = h + 2 | 0;
+   g = g + -1 | 0;
+   if (g) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function _l(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = Ca - 32 | 0;
+ Ca = c;
+ a : {
+  if ((n[q[b + 52 >> 2]](b, 6, c, 0) | 0) <= 5) {
+   q[b + 12 >> 2] = 3;
+   break a;
+  }
+  e = q[c + 12 >> 2];
+  d = e >> 31;
+  d = d ^ d + e;
+  if ((d | 0) != 65536) {
+   if (!d) {
+    q[b + 12 >> 2] = 3;
+    break a;
+   }
+   f = c, g = Fe(q[c >> 2], d), q[f >> 2] = g;
+   f = c, g = Fe(q[c + 4 >> 2], d), q[f + 4 >> 2] = g;
+   f = c, g = Fe(q[c + 8 >> 2], d), q[f + 8 >> 2] = g;
+   f = c, g = Fe(q[c + 16 >> 2], d), q[f + 16 >> 2] = g;
+   f = c, g = Fe(q[c + 20 >> 2], d), q[f + 20 >> 2] = g;
+   e = q[c + 12 >> 2] < 0 ? -65536 : 65536;
+   q[c + 12 >> 2] = e;
+  }
+  q[a + 440 >> 2] = q[c >> 2];
+  q[a + 448 >> 2] = q[c + 4 >> 2];
+  d = q[c + 8 >> 2];
+  q[a + 452 >> 2] = e;
+  q[a + 444 >> 2] = d;
+  if (!Ie(a + 440 | 0)) {
+   q[b + 12 >> 2] = 3;
+   break a;
+  }
+  q[a + 456 >> 2] = q[c + 16 >> 2] >> 16;
+  q[a + 460 >> 2] = q[c + 20 >> 2] >> 16;
+ }
+ Ca = c + 32 | 0;
+}
+function Cy(a) {
+ var b = 0, c = 0, d = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a + 84 >> 2];
+    if ((c | 0) >= 0) {
+     b = q[a + 88 >> 2];
+     d = b + 1 | 0;
+     d = (d | 0) > 0 ? d : 0;
+     if (c >>> 0 >= d >>> 0) {
+      break b;
+     }
+     b = c;
+     while (1) {
+      b = ((b >>> 1 | 0) + b | 0) + 8 | 0;
+      if (b >>> 0 <= d >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(b >>> 0 < c >>> 0 | b >>> 0 > 536870910)) {
+      c = O$(q[a + 92 >> 2], b << 3);
+      if (c) {
+       break c;
+      }
+     }
+     q[a + 84 >> 2] = -1;
+    }
+    c = q[67761];
+    q[160656] = q[67760];
+    q[160657] = c;
+    b = 642624;
+    break a;
+   }
+   q[a + 84 >> 2] = b;
+   q[a + 92 >> 2] = c;
+   b = q[a + 88 >> 2];
+  }
+  if (d >>> 0 > b >>> 0) {
+   Z$(q[a + 92 >> 2] + (b << 3) | 0, 0, d - b << 3);
+  }
+  q[a + 88 >> 2] = d;
+  b = (q[a + 92 >> 2] + (d << 3) | 0) + -8 | 0;
+ }
+ c = a + 56 | 0;
+ a = q[c >> 2];
+ q[b + 4 >> 2] = 0;
+ q[b >> 2] = a;
+ q[c >> 2] = q[c >> 2] + 1;
+}
+function By(a) {
+ var b = 0, c = 0, d = 0;
+ a : {
+  b : {
+   c : {
+    c = q[a + 72 >> 2];
+    if ((c | 0) >= 0) {
+     b = q[a + 76 >> 2];
+     d = b + 1 | 0;
+     d = (d | 0) > 0 ? d : 0;
+     if (c >>> 0 >= d >>> 0) {
+      break b;
+     }
+     b = c;
+     while (1) {
+      b = ((b >>> 1 | 0) + b | 0) + 8 | 0;
+      if (b >>> 0 <= d >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(b >>> 0 < c >>> 0 | b >>> 0 > 536870910)) {
+      c = O$(q[a + 80 >> 2], b << 3);
+      if (c) {
+       break c;
+      }
+     }
+     q[a + 72 >> 2] = -1;
+    }
+    c = q[67761];
+    q[160656] = q[67760];
+    q[160657] = c;
+    b = 642624;
+    break a;
+   }
+   q[a + 72 >> 2] = b;
+   q[a + 80 >> 2] = c;
+   b = q[a + 76 >> 2];
+  }
+  if (d >>> 0 > b >>> 0) {
+   Z$(q[a + 80 >> 2] + (b << 3) | 0, 0, d - b << 3);
+  }
+  q[a + 76 >> 2] = d;
+  b = (q[a + 80 >> 2] + (d << 3) | 0) + -8 | 0;
+ }
+ c = q[a + 52 >> 2];
+ q[b + 4 >> 2] = 0;
+ q[b >> 2] = c;
+ q[a + 52 >> 2] = q[a + 52 >> 2] + 1;
+}
+function bI(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ a : {
+  if (a >>> 0 > b >>> 0) {
+   break a;
+  }
+  f = q[c + 28 >> 2] > q[d + 28 >> 2];
+  g = f ? c : d;
+  e = q[g + 24 >> 2];
+  g = q[g + 28 >> 2];
+  h = e - g | 0;
+  c = f ? d : c;
+  f = q[c + 24 >> 2];
+  d = q[c + 28 >> 2];
+  i = f - d | 0;
+  if (!((e | 0) != (f | 0) ? (d | 0) != (g | 0) : 0)) {
+   while (1) {
+    c = q[a + 28 >> 2];
+    q[a + 24 >> 2] = (c | 0) > (d | 0) ? (c | 0) < (g | 0) ? f : c + h | 0 : c + i | 0;
+    a = a + 40 | 0;
+    if (a >>> 0 <= b >>> 0) {
+     continue;
+    }
+    break a;
+   }
+  }
+  j = Fe(e - f | 0, g - d | 0);
+  while (1) {
+   c = a;
+   k = c;
+   e = q[c + 28 >> 2];
+   b : {
+    if ((e | 0) <= (d | 0)) {
+     c = e + i | 0;
+     break b;
+    }
+    c = e + h | 0;
+    if ((e | 0) >= (g | 0)) {
+     break b;
+    }
+    c = Ee(e - d | 0, j) + f | 0;
+   }
+   q[k + 24 >> 2] = c;
+   a = a + 40 | 0;
+   if (a >>> 0 <= b >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function jJ(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0;
+ d = q[a + 156 >> 2];
+ a : {
+  b : {
+   c = q[a + 192 >> 2] + (q[a + 160 >> 2] - q[a + 172 >> 2] << 2) | 0;
+   b = q[c >> 2];
+   c : {
+    if (!b) {
+     break c;
+    }
+    e = q[b >> 2];
+    if ((e | 0) > (d | 0)) {
+     break c;
+    }
+    while (1) {
+     c = b;
+     if ((d | 0) == (e | 0)) {
+      break b;
+     }
+     b = q[c + 12 >> 2];
+     if (b) {
+      e = q[b >> 2];
+      if ((e | 0) <= (d | 0)) {
+       continue;
+      }
+     }
+     break;
+    }
+    c = c + 12 | 0;
+   }
+   b = q[a + 204 >> 2];
+   if ((b | 0) >= q[a + 200 >> 2]) {
+    break a;
+   }
+   q[a + 204 >> 2] = b + 1;
+   b = q[a + 196 >> 2] + (b << 4) | 0;
+   q[b >> 2] = d;
+   q[b + 8 >> 2] = q[a + 180 >> 2];
+   q[b + 4 >> 2] = q[a + 184 >> 2];
+   q[b + 12 >> 2] = q[c >> 2];
+   q[c >> 2] = b;
+   return;
+  }
+  q[c + 8 >> 2] = q[c + 8 >> 2] + q[a + 180 >> 2];
+  q[c + 4 >> 2] = q[c + 4 >> 2] + q[a + 184 >> 2];
+  return;
+ }
+ L(a | 0, 1);
+ F();
+}
+function _A(a, b, c, d) {
+ var e = 0, f = 0;
+ e = b + 20 | 0;
+ a : {
+  if (o[b + 15 | 0] & 1) {
+   e = e + (d << 2) | 0;
+   d = r[e | 0] | r[e + 1 | 0] << 8 | (r[e + 2 | 0] << 16 | r[e + 3 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   e = r[e + 4 | 0] | r[e + 5 | 0] << 8 | (r[e + 6 | 0] << 16 | r[e + 7 | 0] << 24);
+   e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+   break a;
+  }
+  e = e + (d << 1) | 0;
+  d = r[e + 1 | 0] << 1 | r[e | 0] << 9;
+  e = r[e + 3 | 0] << 1 | r[e + 2 | 0] << 9;
+ }
+ e = e - d | 0;
+ f = q[c + 16 >> 2];
+ b = r[b + 16 | 0] | r[b + 17 | 0] << 8 | (r[b + 18 | 0] << 16 | r[b + 19 | 0] << 24);
+ d = (b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24)) + d | 0;
+ b = f - d | 0;
+ b = b >>> 0 > f >>> 0 ? 0 : b;
+ b = b >>> 0 > e >>> 0 ? e : b;
+ b : {
+  if (b >>> 0 < 4) {
+   b = 0;
+   c = 0;
+   break b;
+  }
+  c = d + q[c + 12 >> 2] | 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 4 >> 2] = b;
+ q[a >> 2] = c;
+}
+function oF(a) {
+ var b = 0, c = 0, d = 0;
+ p[a + 20 >> 1] = 1;
+ q[a + 16 >> 2] = 0;
+ q[a + 4 >> 2] = q[a >> 2];
+ q[a + 8 >> 2] = q[a + 12 >> 2];
+ uF(a);
+ a : {
+  b : {
+   c : {
+    d = q[a + 44 >> 2];
+    if ((d | 0) >= 0) {
+     b = q[a + 48 >> 2];
+     c = b + 1 | 0;
+     c = (c | 0) > 0 ? c : 0;
+     if (d >>> 0 >= c >>> 0) {
+      break b;
+     }
+     b = d;
+     while (1) {
+      b = ((b >>> 1 | 0) + b | 0) + 8 | 0;
+      if (b >>> 0 <= c >>> 0) {
+       continue;
+      }
+      break;
+     }
+     if (!(b >>> 0 < d >>> 0 | b >>> 0 > 1073741822)) {
+      d = O$(q[a + 52 >> 2], b << 2);
+      if (d) {
+       break c;
+      }
+     }
+     q[a + 44 >> 2] = -1;
+    }
+    q[160656] = q[67760];
+    a = 642624;
+    break a;
+   }
+   q[a + 44 >> 2] = b;
+   q[a + 52 >> 2] = d;
+   b = q[a + 48 >> 2];
+  }
+  if (c >>> 0 > b >>> 0) {
+   Z$(q[a + 52 >> 2] + (b << 2) | 0, 0, c - b << 2);
+  }
+  q[a + 48 >> 2] = c;
+  a = (q[a + 52 >> 2] + (c << 2) | 0) + -4 | 0;
+ }
+ q[a >> 2] = 0;
+}
+function Lq(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ b = a + 32 | 0;
+ Cq(q[b >> 2]);
+ q[b >> 2] = 0;
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ b = a + 56 | 0;
+ M$(q[b >> 2]);
+ q[b >> 2] = 0;
+ q[a + 48 >> 2] = 0;
+ q[a + 52 >> 2] = 0;
+ d = q[a + 104 >> 2];
+ if (d) {
+  while (1) {
+   b = q[a + 108 >> 2] + w(c, 28) | 0;
+   e = b + 12 | 0;
+   M$(q[e >> 2]);
+   q[e >> 2] = 0;
+   q[b + 4 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   c = c + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ M$(q[a + 108 >> 2]);
+ c = 0;
+ q[a + 108 >> 2] = 0;
+ q[a + 100 >> 2] = 0;
+ q[a + 104 >> 2] = 0;
+ d = q[a + 116 >> 2];
+ if (d) {
+  while (1) {
+   b = q[a + 120 >> 2] + w(c, 28) | 0;
+   e = b + 12 | 0;
+   M$(q[e >> 2]);
+   q[e >> 2] = 0;
+   q[b + 4 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   c = c + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ M$(q[a + 120 >> 2]);
+ q[a + 120 >> 2] = 0;
+ q[a + 112 >> 2] = 0;
+ q[a + 116 >> 2] = 0;
+ Cq(q[a >> 2]);
+ q[a >> 2] = 0;
+}
+function Kq(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ b = a + 32 | 0;
+ Cq(q[b >> 2]);
+ q[b >> 2] = 0;
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ b = a + 96 | 0;
+ M$(q[b >> 2]);
+ q[b >> 2] = 0;
+ q[a + 88 >> 2] = 0;
+ q[a + 92 >> 2] = 0;
+ d = q[a + 192 >> 2];
+ if (d) {
+  while (1) {
+   b = q[a + 196 >> 2] + (c << 5) | 0;
+   e = b + 12 | 0;
+   M$(q[e >> 2]);
+   q[e >> 2] = 0;
+   q[b + 4 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   c = c + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ M$(q[a + 196 >> 2]);
+ c = 0;
+ q[a + 196 >> 2] = 0;
+ q[a + 188 >> 2] = 0;
+ q[a + 192 >> 2] = 0;
+ d = q[a + 204 >> 2];
+ if (d) {
+  while (1) {
+   b = q[a + 208 >> 2] + w(c, 24) | 0;
+   e = b + 12 | 0;
+   M$(q[e >> 2]);
+   q[e >> 2] = 0;
+   q[b + 4 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   c = c + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ M$(q[a + 208 >> 2]);
+ q[a + 208 >> 2] = 0;
+ q[a + 200 >> 2] = 0;
+ q[a + 204 >> 2] = 0;
+ Cq(q[a >> 2]);
+ q[a >> 2] = 0;
+}
+function ZX(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ f = Ca - 32 | 0;
+ Ca = f;
+ e = -1;
+ a : {
+  if (!a | c >>> 0 > 2) {
+   break a;
+  }
+  d = ((c << 2) + a | 0) + 20 | 0;
+  PW(q[d >> 2], f + 16 | 0);
+  if (!RW(q[d >> 2], f + 16 | 0, b)) {
+   break a;
+  }
+  if (b) {
+   e = b;
+   while (1) {
+    d = q[e + 4 >> 2] + -1 | 0;
+    b : {
+     if (d >>> 0 > 1) {
+      break b;
+     }
+     if (d - 1) {
+      d = q[e + 8 >> 2];
+      if (!d) {
+       break b;
+      }
+      if (q[d >> 2] == -1) {
+       q[d >> 2] = c;
+       d = q[e + 8 >> 2];
+      }
+      d = q[d + 8 >> 2];
+      g = (g | 0) < (d | 0) ? d : g;
+      break b;
+     }
+     d = q[q[e + 8 >> 2] >> 2];
+     g = (g | 0) < (d | 0) ? d : g;
+    }
+    e = q[e >> 2];
+    if (e) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (r[643388] & 4) {
+   q[f + 4 >> 2] = q[a + 4 >> 2];
+   q[f >> 2] = c;
+   d0(503377, f);
+   aT(b);
+  }
+  a = g & -1025;
+  e = ((a | 0) > 51 ? a : 51) + -51 | 0;
+ }
+ Ca = f + 32 | 0;
+ return e;
+}
+function Nq(a, b, c, d, e) {
+ q[a + 4 >> 2] = c;
+ q[a >> 2] = b;
+ b = q[c + 16 >> 2];
+ q[a + 40 >> 2] = 0;
+ q[a + 44 >> 2] = 0;
+ q[a + 12 >> 2] = d;
+ q[a + 8 >> 2] = b;
+ q[a + 16 >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+ b = a + 24 | 0;
+ c = b;
+ q[c >> 2] = 0;
+ q[c + 4 >> 2] = 0;
+ o[a + 29 | 0] = 0;
+ o[a + 30 | 0] = 0;
+ o[a + 31 | 0] = 0;
+ o[a + 32 | 0] = 0;
+ o[a + 33 | 0] = 0;
+ o[a + 34 | 0] = 0;
+ o[a + 35 | 0] = 0;
+ o[a + 36 | 0] = 0;
+ q[a + 60 >> 2] = 0;
+ q[a + 64 >> 2] = 0;
+ q[a + 56 >> 2] = 271040;
+ o[a + 52 | 0] = 0;
+ q[a + 48 >> 2] = 65536;
+ c = Hq(e);
+ o[a + 36 | 0] = 0;
+ q[a + 44 >> 2] = c;
+ d = q[a + 8 >> 2];
+ e = q[d + 32 >> 2];
+ if ((e | 0) == -1) {
+  e = VF(d);
+  c = q[a + 44 >> 2];
+ }
+ o[a + 52 | 0] = 1;
+ q[a + 48 >> 2] = e;
+ d = q[c + 12 >> 2];
+ q[a + 20 >> 2] = d;
+ e = b;
+ b = q[c + 16 >> 2];
+ q[e >> 2] = b + d;
+ if ((b | 0) <= -1) {
+  J(228144, 228169, 195, 228186);
+  F();
+ }
+ q[a + 16 >> 2] = 0;
+ q[a + 40 >> 2] = 0;
+ q[a + 28 >> 2] = 1073741823;
+ return a;
+}
+function JJ(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ g = Ca - 16 | 0;
+ Ca = g;
+ f = q[a >> 2];
+ q[g + 12 >> 2] = f;
+ a : {
+  if (f >>> 0 >= b >>> 0) {
+   break a;
+  }
+  h = r[f | 0];
+  j = (h | 0) == 91 ? 93 : (h | 0) == 123 ? 125 : 0;
+  if (j) {
+   f = f + 1 | 0;
+   q[g + 12 >> 2] = f;
+  }
+  if (f >>> 0 >= b >>> 0) {
+   break a;
+  }
+  k = !d ^ 1;
+  while (1) {
+   wJ(g + 12 | 0, b);
+   h = q[g + 12 >> 2];
+   if (h >>> 0 >= b >>> 0) {
+    f = h;
+    break a;
+   }
+   if (r[h | 0] == (j | 0)) {
+    f = h + 1 | 0;
+    q[g + 12 >> 2] = f;
+    break a;
+   }
+   if ((i | 0) >= (c | 0) & k) {
+    f = h;
+    break a;
+   }
+   l = d ? (i << 2) + d | 0 : g + 8 | 0, m = EJ(g + 12 | 0, b, e), q[l >> 2] = m;
+   f = q[g + 12 >> 2];
+   if ((h | 0) == (f | 0)) {
+    i = -1;
+    break a;
+   }
+   i = i + 1 | 0;
+   if (!j) {
+    break a;
+   }
+   if (f >>> 0 < b >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[a >> 2] = f;
+ Ca = g + 16 | 0;
+ return i;
+}
+function V$(a) {
+ var b = 0, c = 0, d = 0, f = 0, g = 0;
+ a : {
+  h(+a);
+  c = e(1) | 0;
+  f = e(0) | 0;
+  b = c;
+  c = b & 2147483647;
+  b : {
+   if (c >>> 0 >= 1083174912) {
+    if (!(c >>> 0 < 1083179008 | ((b | 0) < 0 ? 1 : (b | 0) <= 0 ? f >>> 0 >= 0 ? 0 : 1 : 0))) {
+     return a * 8.98846567431158e+307;
+    }
+    if (c >>> 0 >= 2146435072) {
+     return -1 / a;
+    }
+    if (!(a <= -1075)) {
+     break a;
+    }
+    d = 0;
+    if ((b | 0) < -1 ? 1 : (b | 0) <= -1 ? f >>> 0 > 4294967295 ? 0 : 1 : 0) {
+     break b;
+    }
+    break a;
+   }
+   if (c >>> 0 > 1016070143) {
+    break a;
+   }
+   d = a + 1;
+  }
+  return d;
+ }
+ g = a + 26388279066624;
+ h(+g);
+ e(1) | 0;
+ b = (e(0) | 0) + 128 | 0;
+ f = b << 4 & 4080;
+ d = v[f + 636688 >> 3];
+ a = a - (g + -26388279066624) - v[(f | 8) + 636688 >> 3];
+ return W$(d + d * a * (a * (a * (a * (a * .0013333559164630223 + .009618129842126066) + .0555041086648214) + .2402265069591) + .6931471805599453), (b & -256) / 256 | 0);
+}
+function JK(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ a : {
+  if (r[a + 44 | 0]) {
+   break a;
+  }
+  o[a + 44 | 0] = 1;
+  e = q[a + 20 >> 2];
+  if (!e) {
+   return 3;
+  }
+  b : {
+   if (r[a + 45 | 0]) {
+    d = q[a + 12 >> 2];
+    if ((p[d + 20 >> 1] + p[d + 56 >> 1] | 0) + 1 >>> 0 > t[d + 8 >> 2]) {
+     d = Ue(d, 0, 1);
+     if (d) {
+      break a;
+     }
+    }
+    f = s[e >> 1];
+    d = f << 16 >> 16;
+    if ((d | 0) < 1) {
+     break b;
+    }
+    p[(q[e + 12 >> 2] + (f << 1) | 0) + -2 >> 1] = s[e + 2 >> 1] + -1;
+   }
+   d = s[e >> 1];
+  }
+  p[e >> 1] = d + 1;
+  d = q[a + 12 >> 2];
+  if ((p[d + 22 >> 1] + p[d + 58 >> 1] | 0) + 1 >>> 0 > t[d + 4 >> 2]) {
+   d = Ue(d, 1, 0);
+   if (d) {
+    break a;
+   }
+  }
+  d = q[a + 20 >> 2];
+  if (r[a + 45 | 0]) {
+   a = q[d + 8 >> 2];
+   e = p[d + 2 >> 1];
+   f = q[d + 4 >> 2] + (e << 3) | 0;
+   q[f + 4 >> 2] = c >> 10;
+   q[f >> 2] = b >> 10;
+   o[a + e | 0] = 1;
+  }
+  p[d + 2 >> 1] = s[d + 2 >> 1] + 1;
+  d = 0;
+ }
+ return d;
+}
+function QK(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ a : {
+  b : {
+   d = q[a + 20 >> 2];
+   if ((d | 0) != q[a + 12 >> 2]) {
+    e = q[a + 28 >> 2];
+    break b;
+   }
+   c = q[a + 16 >> 2];
+   q[f + 12 >> 2] = 0;
+   c : {
+    e = q[a + 8 >> 2];
+    c = c + d | 0;
+    if (2147483647 / (e >>> 0) >>> 0 < c >>> 0) {
+     break c;
+    }
+    d = w(c, e);
+    e = Te(q[a >> 2], 1, q[a + 24 >> 2], d, q[a + 28 >> 2], f + 12 | 0);
+    q[a + 28 >> 2] = e;
+    if (q[f + 12 >> 2]) {
+     break c;
+    }
+    q[a + 24 >> 2] = d;
+    q[a + 12 >> 2] = c;
+    d = q[a + 20 >> 2];
+    if (d >>> 0 <= c >>> 0) {
+     break b;
+    }
+    b = q[a + 4 >> 2];
+    if (!(!b | q[b >> 2])) {
+     q[b >> 2] = 130;
+    }
+    q[a + 20 >> 2] = c;
+    break a;
+   }
+   a = q[a + 4 >> 2];
+   if (!a | q[a >> 2]) {
+    break a;
+   }
+   q[a >> 2] = 64;
+   break a;
+  }
+  c = q[a + 8 >> 2];
+  Y$(w(c, d) + e | 0, b, c);
+  q[a + 20 >> 2] = q[a + 20 >> 2] + 1;
+ }
+ Ca = f + 16 | 0;
+}
+function dR(a, b) {
+ var c = 0, d = 0;
+ a : {
+  c = a + -1 | 0;
+  if (c >>> 0 <= 50) {
+   c = (c << 3) + 486032 | 0;
+   break a;
+  }
+  c = ZQ(a);
+  if (c) {
+   break a;
+  }
+  return 1;
+ }
+ a = 1;
+ b : {
+  c : {
+   d : {
+    c = q[c + 4 >> 2];
+    d = c + 1 | 0;
+    if (d >>> 0 > 10) {
+     break d;
+    }
+    e : {
+     switch (d - 1 | 0) {
+     case 1:
+     case 2:
+      if (b + -1 >>> 0 >= 2) {
+       break c;
+      }
+      break b;
+     case 8:
+      b = b + -3 | 0;
+      if (b >>> 0 > 5) {
+       break c;
+      }
+      switch (b - 1 | 0) {
+      case 0:
+      case 1:
+      case 2:
+      case 3:
+       break c;
+      default:
+       break b;
+      }
+     case 0:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+      break d;
+     case 9:
+      break e;
+     default:
+      break b;
+     }
+    }
+    if (!(1 << b & 518) | b >>> 0 > 9) {
+     break c;
+    }
+    break b;
+   }
+   if ((b | 0) == (c | 0)) {
+    break b;
+   }
+  }
+  a = 0;
+ }
+ return a;
+}
+function EO(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ if (d) {
+  m = e << 5;
+  while (1) {
+   h = c;
+   g = 0;
+   i = a;
+   if (e) {
+    while (1) {
+     n = (g << 5 & 32) + 437760 | 0;
+     f = 0;
+     while (1) {
+      j = f << 1;
+      k = p[j + h >> 1];
+      o[f + i | 0] = (k - (k >>> 8 | 0) | 0) + s[n + j >> 1] >>> 6;
+      f = f + 1 | 0;
+      if ((f | 0) != 16) {
+       continue;
+      }
+      break;
+     }
+     h = h + 32 | 0;
+     i = b + i | 0;
+     g = g + 1 | 0;
+     if ((g | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+    c = c + m | 0;
+   }
+   a = a + 16 | 0;
+   l = l + 16 | 0;
+   if (l >>> 0 < d >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ if (e) {
+  c = b - (d + 15 & -16) | 0;
+  f = 0;
+  while (1) {
+   if (c) {
+    Z$(w(b, f) + a | 0, 0, c);
+   }
+   f = f + 1 | 0;
+   if ((f | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function zP(a) {
+ var b = 0;
+ if (!a) {
+  return 0;
+ }
+ a : {
+  if (UY(a, 439936)) {
+   break a;
+  }
+  b = 1;
+  if (UY(a, 439948)) {
+   break a;
+  }
+  b = 2;
+  if (UY(a, 439960)) {
+   break a;
+  }
+  b = 3;
+  if (UY(a, 439980)) {
+   break a;
+  }
+  b = 4;
+  if (UY(a, 439992)) {
+   break a;
+  }
+  b = 5;
+  if (UY(a, 439998)) {
+   break a;
+  }
+  b = 6;
+  if (UY(a, 440021)) {
+   break a;
+  }
+  b = 7;
+  if (UY(a, 440033)) {
+   break a;
+  }
+  b = 8;
+  if (UY(a, 440041)) {
+   break a;
+  }
+  b = 9;
+  if (UY(a, 440080)) {
+   break a;
+  }
+  b = 10;
+  if (UY(a, 440098)) {
+   break a;
+  }
+  b = 11;
+  if (UY(a, 440112)) {
+   break a;
+  }
+  b = 12;
+  if (UY(a, 440132)) {
+   break a;
+  }
+  b = 13;
+  if (UY(a, 440150)) {
+   break a;
+  }
+  b = 14;
+  if (UY(a, 440162)) {
+   break a;
+  }
+  b = 15;
+  if (UY(a, 440182)) {
+   break a;
+  }
+  b = 16;
+  if (UY(a, 440190)) {
+   break a;
+  }
+  b = 17;
+  if (UY(a, 440206)) {
+   break a;
+  }
+  return 0;
+ }
+ return q[(b << 3) + 439796 >> 2];
+}
+function Mf(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  b = q[a >> 2];
+  if (!b) {
+   return;
+  }
+  f = q[b + 96 >> 2];
+  if (!f) {
+   return;
+  }
+  c = q[b + 108 >> 2];
+  if (!c) {
+   break a;
+  }
+  e = b + 108 | 0;
+  d = q[f + 8 >> 2];
+  while (1) {
+   if (q[c + 8 >> 2] != (a | 0)) {
+    c = q[c + 4 >> 2];
+    if (c) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  g = q[c >> 2];
+  h = g ? g + 4 | 0 : e;
+  e = q[c + 4 >> 2];
+  q[h >> 2] = e;
+  q[(e ? e : b + 112 | 0) >> 2] = g;
+  n[q[d + 8 >> 2]](d, c);
+  b : {
+   if (q[b + 88 >> 2] != (a | 0)) {
+    break b;
+   }
+   q[b + 88 >> 2] = 0;
+   c = q[b + 108 >> 2];
+   if (!c) {
+    break b;
+   }
+   q[b + 88 >> 2] = q[c + 8 >> 2];
+  }
+  b = q[a + 8 >> 2];
+  if (b) {
+   n[b](a);
+  }
+  b = q[q[f + 12 >> 2] + 60 >> 2];
+  if (b) {
+   n[b](a);
+  }
+  b = q[a + 40 >> 2];
+  if (b) {
+   n[q[d + 8 >> 2]](d, b);
+  }
+  q[a + 40 >> 2] = 0;
+  n[q[d + 8 >> 2]](d, a);
+ }
+}
+function et(a, b, c, d) {
+ var e = 0, f = 0;
+ a : {
+  if ((b | 0) != 1196445523) {
+   e = 271040;
+   if ((b | 0) != 1196643650) {
+    break a;
+   }
+   a = q[Ws(a + 136 | 0) >> 2];
+   a = a ? a : 271040;
+   e = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+   break a;
+  }
+  a = q[Xs(a + 140 | 0) >> 2];
+  a = a ? a : 271040;
+  e = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+ }
+ a = r[e + 7 | 0] | r[e + 6 | 0] << 8;
+ e = a ? e + a | 0 : 271040;
+ f = r[e | 0] << 8 | r[e + 1 | 0];
+ b : {
+  if (f) {
+   b = 0;
+   while (1) {
+    a = e + w(b, 6) | 0;
+    a = r[a + 2 | 0] | r[a + 3 | 0] << 8 | (r[a + 4 | 0] << 16 | r[a + 5 | 0] << 24);
+    if ((a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) == (c | 0)) {
+     a = 1;
+     if (!d) {
+      break b;
+     }
+     q[d >> 2] = b;
+     return 1;
+    }
+    b = b + 1 | 0;
+    if ((f | 0) != (b | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = 0;
+  if (!d) {
+   break b;
+  }
+  q[d >> 2] = 65535;
+ }
+ return a;
+}
+function Qh(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ c = q[a >> 2];
+ a : {
+  b : {
+   if (r[c + 8 | 0] & 2) {
+    d = n[q[q[c + 540 >> 2] + 104 >> 2]](c, b, e + 12 | 0) | 0;
+    if (!d) {
+     c = q[e + 12 >> 2];
+     q[a + 116 >> 2] = c;
+     b = q[a >> 2];
+     if (o[b + 8 | 0] & 1) {
+      Pf(b, c);
+      d = 0;
+      Rh(a, 0);
+      break a;
+     }
+     d = n[q[q[b + 540 >> 2] + 108 >> 2]](b, c, a + 12 | 0) | 0;
+     if (!d) {
+      break b;
+     }
+     q[a + 116 >> 2] = -1;
+     break a;
+    }
+    q[a + 116 >> 2] = -1;
+    c = q[a >> 2];
+   }
+   Rf(c, b);
+   if (!(o[q[a >> 2] + 8 | 0] & 1)) {
+    break a;
+   }
+   d = Rh(a, 0);
+   if (d) {
+    break a;
+   }
+   c = a;
+   d = s[a + 84 >> 1];
+   a = q[a + 44 >> 2];
+   a = q[(s[a >> 1] > s[a + 2 >> 1] ? 12 : 16) + b >> 2];
+   f = c, g = ue(d, 4608, a ? q[b >> 2] != 4 ? a : 72 : 72), q[f + 120 >> 2] = g;
+  }
+  d = 0;
+ }
+ Ca = e + 16 | 0;
+ return d | 0;
+}
+function ZT(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ if ((c - b | 0) >= 1) {
+  e = a + 72 | 0;
+  while (1) {
+   a = r[r[b | 0] + e | 0] + -5 | 0;
+   a : {
+    b : {
+     if (a >>> 0 > 5) {
+      break b;
+     }
+     c : {
+      switch (a - 1 | 0) {
+      default:
+       b = b + 2 | 0;
+       break a;
+      case 0:
+       b = b + 3 | 0;
+       break a;
+      case 1:
+       b = b + 4 | 0;
+       break a;
+      case 3:
+       q[d >> 2] = q[d >> 2] + 1;
+       a = b + 1 | 0;
+       if ((c - a | 0) < 1) {
+        b = a;
+        q[d + 4 >> 2] = -1;
+        break a;
+       }
+       b = r[r[b + 1 | 0] + e | 0] == 10 ? b + 2 | 0 : a;
+       q[d + 4 >> 2] = -1;
+       break a;
+      case 2:
+       break b;
+      case 4:
+       break c;
+      }
+     }
+     q[d + 4 >> 2] = -1;
+     q[d >> 2] = q[d >> 2] + 1;
+    }
+    b = b + 1 | 0;
+   }
+   q[d + 4 >> 2] = q[d + 4 >> 2] + 1;
+   if ((c - b | 0) > 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function wW(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0;
+ f = w(b, 28);
+ g = q[a + 352 >> 2];
+ h = q[f + q[g + 164 >> 2] >> 2];
+ q[c >> 2] = h;
+ q[c + 4 >> 2] = q[(f + q[g + 164 >> 2] | 0) + 4 >> 2];
+ if ((h | 0) == 4) {
+  q[c + 8 >> 2] = q[e >> 2];
+  f = q[(f + q[g + 164 >> 2] | 0) + 8 >> 2];
+  while (1) {
+   a = r[f | 0];
+   b = q[e >> 2];
+   q[e >> 2] = b + 1;
+   o[b | 0] = a;
+   a = r[f | 0];
+   f = f + 1 | 0;
+   if (a) {
+    continue;
+   }
+   break;
+  }
+  q[c + 12 >> 2] = 0;
+  q[c + 16 >> 2] = 0;
+  return;
+ }
+ f = q[(f + q[g + 164 >> 2] | 0) + 20 >> 2];
+ q[c + 12 >> 2] = f;
+ q[c + 16 >> 2] = q[d >> 2];
+ q[d >> 2] = q[d >> 2] + w(f, 20);
+ if (q[c + 12 >> 2]) {
+  b = (q[g + 164 >> 2] + w(b, 28) | 0) + 12 | 0;
+  f = 0;
+  while (1) {
+   b = q[b >> 2];
+   wW(a, b, q[c + 16 >> 2] + w(f, 20) | 0, d, e);
+   b = (q[g + 164 >> 2] + w(b, 28) | 0) + 24 | 0;
+   f = f + 1 | 0;
+   if (f >>> 0 < t[c + 12 >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[c + 8 >> 2] = 0;
+}
+function v$(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0;
+ a : {
+  if (f & 64) {
+   c = f + -64 | 0;
+   b = c & 31;
+   if (32 <= (c & 63) >>> 0) {
+    c = 0;
+    b = e >>> b | 0;
+   } else {
+    c = e >>> b | 0;
+    b = ((1 << b) - 1 & e) << 32 - b | d >>> b;
+   }
+   d = 0;
+   e = 0;
+   break a;
+  }
+  if (!f) {
+   break a;
+  }
+  h = e;
+  i = d;
+  j = 64 - f | 0;
+  g = j & 31;
+  if (32 <= (j & 63) >>> 0) {
+   h = i << g;
+   j = 0;
+  } else {
+   h = (1 << g) - 1 & i >>> 32 - g | h << g;
+   j = i << g;
+  }
+  i = b;
+  g = f;
+  b = g & 31;
+  if (32 <= (g & 63) >>> 0) {
+   g = 0;
+   b = c >>> b | 0;
+  } else {
+   g = c >>> b | 0;
+   b = ((1 << b) - 1 & c) << 32 - b | i >>> b;
+  }
+  b = j | b;
+  c = g | h;
+  g = d;
+  d = f & 31;
+  if (32 <= (f & 63) >>> 0) {
+   h = 0;
+   d = e >>> d | 0;
+  } else {
+   h = e >>> d | 0;
+   d = ((1 << d) - 1 & e) << 32 - d | g >>> d;
+  }
+  e = h;
+ }
+ q[a >> 2] = b;
+ q[a + 4 >> 2] = c;
+ q[a + 8 >> 2] = d;
+ q[a + 12 >> 2] = e;
+}
+function At(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ d = a;
+ f = ((b << 3) + a | 0) + 8 | 0;
+ a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+ a = (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) >>> 0 > b >>> 0 ? f : 271040;
+ a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+ a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ a = a ? d + a | 0 : 271040;
+ b = r[a + 4 | 0] << 8 | r[a + 5 | 0];
+ if (b) {
+  a : {
+   while (1) {
+    d = a + w(e, 6) | 0;
+    if ((r[d + 6 | 0] << 8 | r[d + 7 | 0]) == (c | 0)) {
+     break a;
+    }
+    e = e + 1 | 0;
+    if ((b | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+   return 0;
+  }
+  b = a;
+  a = a + w(e, 6) | 0;
+  a = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+  a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  a = a ? b + a | 0 : 271040;
+ } else {
+  a = 0;
+ }
+ return a;
+}
+function UB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ e = Hq(b);
+ o[a + 20 | 0] = 0;
+ q[a + 28 >> 2] = e;
+ d = q[e + 12 >> 2];
+ q[a + 4 >> 2] = d;
+ f = q[e + 16 >> 2];
+ q[a + 8 >> 2] = f + d;
+ if ((f | 0) > -1) {
+  q[a + 24 >> 2] = 0;
+  g = a;
+  if (f >>> 0 > 536870910) {
+   c = 1073741823;
+  } else {
+   c = f << 3;
+   c = c >>> 0 > 16384 ? c : 16384;
+   c = c >>> 0 < 1073741823 ? c : 1073741823;
+  }
+  q[g + 12 >> 2] = c;
+  q[a >> 2] = 0;
+  if (!d) {
+   Cq(e);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+   return b;
+  }
+  a : {
+   if (f >>> 0 >= 4) {
+    q[a + 12 >> 2] = c + -1;
+    c = r[d + 1 | 0];
+    d = r[d | 0];
+    Cq(e);
+    q[a + 28 >> 2] = 0;
+    q[a + 4 >> 2] = 0;
+    q[a + 8 >> 2] = 0;
+    if ((c | d << 8 | 1) != 3) {
+     break a;
+    }
+    Gq(b);
+    return b;
+   }
+   Cq(e);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(242576, 242601, 195, 242618);
+ F();
+}
+function HA(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ e = Hq(b);
+ o[a + 20 | 0] = 0;
+ q[a + 28 >> 2] = e;
+ d = q[e + 12 >> 2];
+ q[a + 4 >> 2] = d;
+ f = q[e + 16 >> 2];
+ q[a + 8 >> 2] = f + d;
+ if ((f | 0) > -1) {
+  q[a + 24 >> 2] = 0;
+  g = a;
+  if (f >>> 0 > 536870910) {
+   c = 1073741823;
+  } else {
+   c = f << 3;
+   c = c >>> 0 > 16384 ? c : 16384;
+   c = c >>> 0 < 1073741823 ? c : 1073741823;
+  }
+  q[g + 12 >> 2] = c;
+  q[a >> 2] = 0;
+  if (!d) {
+   Cq(e);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+   return b;
+  }
+  a : {
+   if (f >>> 0 >= 36) {
+    q[a + 12 >> 2] = c + -1;
+    c = r[d + 1 | 0];
+    d = r[d | 0];
+    Cq(e);
+    q[a + 28 >> 2] = 0;
+    q[a + 4 >> 2] = 0;
+    q[a + 8 >> 2] = 0;
+    if ((c | d << 8) != 1) {
+     break a;
+    }
+    Gq(b);
+    return b;
+   }
+   Cq(e);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(242576, 242601, 195, 242618);
+ F();
+}
+function BX(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ a = tX(a);
+ a : {
+  if (!a) {
+   break a;
+  }
+  c = yQ(q[a + 8 >> 2]);
+  pX(a);
+  if (!c) {
+   break a;
+  }
+  b : {
+   a = zQ(c);
+   if (a) {
+    while (1) {
+     e = g0(a);
+     if (!jZ(b, a, e)) {
+      e = r[b + e | 0];
+      if (!e | (e | 0) == 47) {
+       break b;
+      }
+     }
+     a = zQ(c);
+     if (a) {
+      continue;
+     }
+     break;
+    }
+   }
+   AQ(c);
+   break a;
+  }
+  AQ(c);
+  c = g0(a) + a | 0;
+  c = r[c + 1 | 0] ? c + 1 | 0 : 0;
+  if (!c) {
+   break a;
+  }
+  a = g0(a) + b | 0;
+  while (1) {
+   b = a;
+   a = a + 1 | 0;
+   if (r[b | 0] == 47) {
+    continue;
+   }
+   break;
+  }
+  q[d + 4 >> 2] = 0;
+  q[d >> 2] = b;
+  b = uQ(c, d);
+  if (!b) {
+   break a;
+  }
+  a = g0(b);
+  while (1) {
+   f = a;
+   if (a) {
+    a = f + -1 | 0;
+    if (r[b + a | 0] == 47) {
+     continue;
+    }
+   }
+   break;
+  }
+  o[b + f | 0] = 0;
+  f = b;
+ }
+ Ca = d + 16 | 0;
+ return f;
+}
+function oG(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ if (r[a + 68 | 0] != 1) {
+  return 0;
+ }
+ if (t[a + 36 >> 2] < b >>> 0) {
+  o[a + 68 | 0] = 0;
+  return 0;
+ }
+ e = a + 88 | 0;
+ f = q[a + 88 >> 2];
+ g = q[a + 92 >> 2];
+ c = q[a + 84 >> 2];
+ a : {
+  b : {
+   if (b >>> 0 > 214748363) {
+    break b;
+   }
+   if (c >>> 0 <= b >>> 0) {
+    while (1) {
+     c = ((c >>> 1 | 0) + c | 0) + 32 | 0;
+     if (c >>> 0 <= b >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (c >>> 0 > 214748363) {
+    break b;
+   }
+   d = w(c, 20);
+   b = O$(q[a + 96 >> 2], d);
+   d = O$(q[a + 88 >> 2], d);
+   c : {
+    if (!(d ? b : 0)) {
+     o[a + 68 | 0] = 0;
+     if (!b) {
+      break c;
+     }
+    }
+    q[a + 96 >> 2] = b;
+   }
+   if (!d) {
+    break a;
+   }
+   q[e >> 2] = d;
+   break a;
+  }
+  o[a + 68 | 0] = 0;
+ }
+ q[a + 92 >> 2] = q[((f | 0) == (g | 0) ? e : a + 96 | 0) >> 2];
+ b = r[a + 68 | 0];
+ if (b) {
+  q[a + 84 >> 2] = c;
+ }
+ return (b | 0) != 0;
+}
+function GG() {
+ var a = 0, b = 0;
+ a = N$(1, 168);
+ if (!a) {
+  return 641640;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a >> 2] = 1;
+ q[a + 4 >> 2] = 1;
+ q[a + 36 >> 2] = 1073741823;
+ q[a + 40 >> 2] = 536870911;
+ fG(0);
+ b = $F(mq());
+ q[a + 24 >> 2] = 65533;
+ q[a + 28 >> 2] = 0;
+ q[a + 16 >> 2] = 0;
+ q[a + 12 >> 2] = b;
+ if (q[a + 4 >> 2]) {
+  q[a + 44 >> 2] = 0;
+  q[a + 48 >> 2] = 0;
+  q[a + 32 >> 2] = 0;
+  q[a + 80 >> 2] = 0;
+  q[a + 72 >> 2] = 0;
+  q[a + 76 >> 2] = 0;
+  o[a + 70 | 0] = 0;
+  p[a + 68 >> 1] = 1;
+  o[a + 164 | 0] = 0;
+  q[a + 100 >> 2] = 0;
+  q[a + 104 >> 2] = 0;
+  q[a + 52 >> 2] = 0;
+  q[a + 56 >> 2] = 0;
+  q[a + 60 >> 2] = 0;
+  q[a + 64 >> 2] = 0;
+  q[a + 92 >> 2] = q[a + 88 >> 2];
+  q[a + 108 >> 2] = 0;
+  q[a + 112 >> 2] = 0;
+  q[a + 116 >> 2] = 0;
+  q[a + 120 >> 2] = 0;
+  q[a + 124 >> 2] = 0;
+  q[a + 128 >> 2] = 0;
+  q[a + 132 >> 2] = 0;
+  q[a + 136 >> 2] = 0;
+  q[a + 140 >> 2] = 0;
+  q[a + 144 >> 2] = 0;
+  q[a + 148 >> 2] = 0;
+ }
+ return a;
+}
+function wm(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ q[a + 28 >> 2] = 4096;
+ b = a + 4168 | 0;
+ q[a + 24 >> 2] = b;
+ q[a + 8268 >> 2] = b;
+ d = a + 72 | 0;
+ f = a + 12 | 0;
+ a : {
+  while (1) {
+   if (!q[a + 16 >> 2]) {
+    b = q[a >> 2];
+    c = q[b + 20 >> 2];
+    b : {
+     if (c) {
+      c = n[c](b, q[b + 8 >> 2], d, 4096) | 0;
+      if (c) {
+       break b;
+      }
+      break a;
+     }
+     e = q[b + 8 >> 2];
+     c = q[b + 4 >> 2] - e | 0;
+     c = c >>> 0 < 4096 ? c : 4096;
+     if (!c) {
+      break a;
+     }
+     Y$(d, q[b >> 2] + e | 0, c);
+    }
+    q[b + 8 >> 2] = q[b + 8 >> 2] + c;
+    q[a + 16 >> 2] = c;
+    q[a + 12 >> 2] = d;
+   }
+   b = ym(f, 0);
+   if (b) {
+    if ((b | 0) == 1) {
+     b = q[a + 24 >> 2];
+     q[a + 8272 >> 2] = b;
+     return (b | 0) == q[a + 8268 >> 2] ? 85 : 0;
+    }
+    break a;
+   }
+   if (q[a + 28 >> 2]) {
+    continue;
+   }
+   break;
+  }
+  return 0;
+ }
+ q[a + 8272 >> 2] = q[a + 8268 >> 2];
+ return 85;
+}
+function mP(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  d = q[a + 20 >> 2];
+  if (d) {
+   e = q[a + 28 >> 2];
+   if (b) {
+    c = n[q[e + 4 >> 2]](e, b) | 0;
+    if (!c) {
+     break a;
+    }
+    d = q[a + 20 >> 2];
+   }
+   q[a >> 2] = c;
+   f = n[d](a, q[a + 8 >> 2], c, b) | 0;
+   g = a;
+   d = q[a >> 2];
+   c = d;
+   b : {
+    if (f >>> 0 >= b >>> 0) {
+     break b;
+    }
+    h = 85;
+    c = 0;
+    if (!d) {
+     break b;
+    }
+    n[q[e + 8 >> 2]](e, d);
+    q[a >> 2] = 0;
+    c = 0;
+   }
+   d = c;
+   q[g + 32 >> 2] = d;
+   q[a + 36 >> 2] = b + d;
+   q[a + 8 >> 2] = f + q[a + 8 >> 2];
+   return h;
+  }
+  c = 85;
+  e = q[a + 8 >> 2];
+  d = q[a + 4 >> 2];
+  c : {
+   if (e >>> 0 >= d >>> 0) {
+    break c;
+   }
+   f = b + e | 0;
+   if (f >>> 0 > d >>> 0) {
+    break c;
+   }
+   q[a + 8 >> 2] = f;
+   c = e + q[a >> 2] | 0;
+   q[a + 32 >> 2] = c;
+   q[a + 36 >> 2] = b + c;
+   c = 0;
+  }
+  return c;
+ }
+ q[a >> 2] = 0;
+ return 64;
+}
+function _h(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ m = s[a + 256 >> 1];
+ b = q[a + 260 >> 2];
+ if (!b) {
+  n = a;
+  f = p[a + 300 >> 1];
+  b = q[a + 248 >> 2];
+  a : {
+   if (!f) {
+    break a;
+   }
+   c = p[a + 298 >> 1];
+   b = q[a + 252 >> 2];
+   if (!c) {
+    break a;
+   }
+   g = q[a + 248 >> 2];
+   b = g >> 31;
+   e = b ^ b + g;
+   b = c >> 31;
+   h = b + c ^ b;
+   i = w(e >>> 16 | 0, h);
+   b = i << 16 | 8192;
+   a = q[a + 252 >> 2];
+   d = a >> 31;
+   j = d ^ a + d;
+   d = f >> 31;
+   k = d + f ^ d;
+   l = w(j >>> 16 | 0, k);
+   d = l << 16 | 8192;
+   e = b + w(h, e & 65535) | 0;
+   b = (i >>> 16 | 0) + (e >>> 0 < b >>> 0) << 18 | e >>> 14;
+   b = (c ^ g) > -1 ? b : 0 - b | 0;
+   c = d + w(k, j & 65535) | 0;
+   c = (l >>> 16 | 0) + (c >>> 0 < d >>> 0) << 18 | c >>> 14;
+   b = Be(b, (a ^ f) > -1 ? c : 0 - c | 0);
+  }
+  q[n + 260 >> 2] = b;
+ }
+ return Ee(m, b) | 0;
+}
+function n$(a, b, c, d, e, f) {
+ var g = 0, h = 0, i = 0, j = 0;
+ a : {
+  if (f & 64) {
+   d = b;
+   e = f + -64 | 0;
+   b = e & 31;
+   if (32 <= (e & 63) >>> 0) {
+    e = d << b;
+    d = 0;
+   } else {
+    e = (1 << b) - 1 & d >>> 32 - b | c << b;
+    d = d << b;
+   }
+   b = 0;
+   c = 0;
+   break a;
+  }
+  if (!f) {
+   break a;
+  }
+  g = d;
+  i = f;
+  d = f & 31;
+  if (32 <= (f & 63) >>> 0) {
+   h = g << d;
+   j = 0;
+  } else {
+   h = (1 << d) - 1 & g >>> 32 - d | e << d;
+   j = g << d;
+  }
+  d = c;
+  g = b;
+  f = 64 - f | 0;
+  e = f & 31;
+  if (32 <= (f & 63) >>> 0) {
+   f = 0;
+   d = d >>> e | 0;
+  } else {
+   f = d >>> e | 0;
+   d = ((1 << e) - 1 & d) << 32 - e | g >>> e;
+  }
+  d = j | d;
+  e = f | h;
+  f = b;
+  b = i & 31;
+  if (32 <= (i & 63) >>> 0) {
+   h = f << b;
+   b = 0;
+  } else {
+   h = (1 << b) - 1 & f >>> 32 - b | c << b;
+   b = f << b;
+  }
+  c = h;
+ }
+ q[a >> 2] = b;
+ q[a + 4 >> 2] = c;
+ q[a + 8 >> 2] = d;
+ q[a + 12 >> 2] = e;
+}
+function AF(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ q[e + 12 >> 2] = c;
+ d = q[b + 4 >> 2];
+ a : {
+  if (d >>> 0 > a >>> 0) {
+   break a;
+  }
+  g = q[b + 8 >> 2];
+  if (g >>> 0 < a >>> 0) {
+   break a;
+  }
+  h = g - a | 0;
+  if (h >>> 0 <= 27) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  q[e + 8 >> 2] = (r[a + 25 | 0] | r[a + 24 | 0] << 8) + a;
+  f = d;
+  d = a + 24 | 0;
+  if (f >>> 0 > d >>> 0 | g >>> 0 < d >>> 0 | g - d >>> 0 < 2) {
+   break a;
+  }
+  q[b + 12 >> 2] = c + -2;
+  if ((c | 0) < 2) {
+   break a;
+  }
+  d = r[a + 25 | 0] | r[a + 24 | 0] << 8;
+  f = 0;
+  b : {
+   if (!d) {
+    break b;
+   }
+   if (h >>> 0 < d >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = c + -3;
+   if ((c | 0) < 3) {
+    break a;
+   }
+   f = r[a + 25 | 0] | r[a + 24 | 0] << 8;
+  }
+  i = BF(f + a | 0, b, e + 8 | 0, e + 12 | 0);
+ }
+ Ca = e + 16 | 0;
+ return i;
+}
+function fr(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  f = a + -116 | 0;
+  e = d + 16 | 0;
+  g = d + 21 | 0;
+  while (1) {
+   c = q[f >> 2];
+   if (!c) {
+    b = 271040;
+    break a;
+   }
+   q[e >> 2] = 0;
+   q[e + 4 >> 2] = 0;
+   b = g;
+   o[b | 0] = 0;
+   o[b + 1 | 0] = 0;
+   o[b + 2 | 0] = 0;
+   o[b + 3 | 0] = 0;
+   o[b + 4 | 0] = 0;
+   o[b + 5 | 0] = 0;
+   o[b + 6 | 0] = 0;
+   o[b + 7 | 0] = 0;
+   b = d;
+   q[b + 32 >> 2] = 0;
+   q[b + 36 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   h = kF(c);
+   o[b + 44 | 0] = 1;
+   q[b + 40 >> 2] = h;
+   b = Es(b + 8 | 0, iF(c, 1953653099));
+   if (!b) {
+    b = 271040;
+   }
+   c = q[a >> 2];
+   q[a >> 2] = c ? c : b;
+   if (!c) {
+    break a;
+   }
+   if (!(!b | (b | 0) == 271040)) {
+    Cq(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 48 | 0;
+ return b;
+}
+function br(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  f = a + -112 | 0;
+  e = d + 16 | 0;
+  g = d + 21 | 0;
+  while (1) {
+   c = q[f >> 2];
+   if (!c) {
+    b = 271040;
+    break a;
+   }
+   q[e >> 2] = 0;
+   q[e + 4 >> 2] = 0;
+   b = g;
+   o[b | 0] = 0;
+   o[b + 1 | 0] = 0;
+   o[b + 2 | 0] = 0;
+   o[b + 3 | 0] = 0;
+   o[b + 4 | 0] = 0;
+   o[b + 5 | 0] = 0;
+   o[b + 6 | 0] = 0;
+   o[b + 7 | 0] = 0;
+   b = d;
+   q[b + 32 >> 2] = 0;
+   q[b + 36 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   h = kF(c);
+   o[b + 44 | 0] = 1;
+   q[b + 40 >> 2] = h;
+   b = hs(b + 8 | 0, iF(c, 1634626418));
+   if (!b) {
+    b = 271040;
+   }
+   c = q[a >> 2];
+   q[a >> 2] = c ? c : b;
+   if (!c) {
+    break a;
+   }
+   if (!(!b | (b | 0) == 271040)) {
+    Cq(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 48 | 0;
+ return b;
+}
+function Sq(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  f = a + -104 | 0;
+  e = d + 16 | 0;
+  g = d + 21 | 0;
+  while (1) {
+   c = q[f >> 2];
+   if (!c) {
+    b = 271040;
+    break a;
+   }
+   q[e >> 2] = 0;
+   q[e + 4 >> 2] = 0;
+   b = g;
+   o[b | 0] = 0;
+   o[b + 1 | 0] = 0;
+   o[b + 2 | 0] = 0;
+   o[b + 3 | 0] = 0;
+   o[b + 4 | 0] = 0;
+   o[b + 5 | 0] = 0;
+   o[b + 6 | 0] = 0;
+   o[b + 7 | 0] = 0;
+   b = d;
+   q[b + 32 >> 2] = 0;
+   q[b + 36 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   h = kF(c);
+   o[b + 44 | 0] = 1;
+   q[b + 40 >> 2] = h;
+   b = zr(b + 8 | 0, iF(c, 1836020340));
+   if (!b) {
+    b = 271040;
+   }
+   c = q[a >> 2];
+   q[a >> 2] = c ? c : b;
+   if (!c) {
+    break a;
+   }
+   if (!(!b | (b | 0) == 271040)) {
+    Cq(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 48 | 0;
+ return b;
+}
+function Qq(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  f = a + -100 | 0;
+  e = d + 16 | 0;
+  g = d + 21 | 0;
+  while (1) {
+   c = q[f >> 2];
+   if (!c) {
+    b = 271040;
+    break a;
+   }
+   q[e >> 2] = 0;
+   q[e + 4 >> 2] = 0;
+   b = g;
+   o[b | 0] = 0;
+   o[b + 1 | 0] = 0;
+   o[b + 2 | 0] = 0;
+   o[b + 3 | 0] = 0;
+   o[b + 4 | 0] = 0;
+   o[b + 5 | 0] = 0;
+   o[b + 6 | 0] = 0;
+   o[b + 7 | 0] = 0;
+   b = d;
+   q[b + 32 >> 2] = 0;
+   q[b + 36 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   h = kF(c);
+   o[b + 44 | 0] = 1;
+   q[b + 40 >> 2] = h;
+   b = kr(b + 8 | 0, iF(c, 1836020344));
+   if (!b) {
+    b = 271040;
+   }
+   c = q[a >> 2];
+   q[a >> 2] = c ? c : b;
+   if (!c) {
+    break a;
+   }
+   if (!(!b | (b | 0) == 271040)) {
+    Cq(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 48 | 0;
+ return b;
+}
+function $q(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  f = a + -108 | 0;
+  e = d + 16 | 0;
+  g = d + 21 | 0;
+  while (1) {
+   c = q[f >> 2];
+   if (!c) {
+    b = 271040;
+    break a;
+   }
+   q[e >> 2] = 0;
+   q[e + 4 >> 2] = 0;
+   b = g;
+   o[b | 0] = 0;
+   o[b + 1 | 0] = 0;
+   o[b + 2 | 0] = 0;
+   o[b + 3 | 0] = 0;
+   o[b + 4 | 0] = 0;
+   o[b + 5 | 0] = 0;
+   o[b + 6 | 0] = 0;
+   o[b + 7 | 0] = 0;
+   b = d;
+   q[b + 32 >> 2] = 0;
+   q[b + 36 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   h = kF(c);
+   o[b + 44 | 0] = 1;
+   q[b + 40 >> 2] = h;
+   b = _r(b + 8 | 0, iF(c, 1801810552));
+   if (!b) {
+    b = 271040;
+   }
+   c = q[a >> 2];
+   q[a >> 2] = c ? c : b;
+   if (!c) {
+    break a;
+   }
+   if (!(!b | (b | 0) == 271040)) {
+    Cq(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 48 | 0;
+ return b;
+}
+function sk(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ q[a + 44 >> 2] = b;
+ Pf(q[a >> 2], b);
+ c = q[a >> 2];
+ b = q[q[c + 712 >> 2] + 3080 >> 2];
+ c = ig(q[q[c + 96 >> 2] + 4 >> 2], 12632);
+ a : {
+  if (!b | !c) {
+   break a;
+  }
+  b = q[b >> 2];
+  if (!b) {
+   break a;
+  }
+  e = n[b](c) | 0;
+  if (!e) {
+   break a;
+  }
+  f = q[q[a >> 2] + 712 >> 2];
+  c = q[f + 1440 >> 2];
+  h = q[q[a + 40 >> 2] >> 2];
+  n[q[e + 4 >> 2]](q[h >> 2], q[a + 16 >> 2], q[a + 20 >> 2], 0, 0);
+  b = q[f + 2024 >> 2];
+  if (!b) {
+   break a;
+  }
+  while (1) {
+   g = q[a + 16 >> 2];
+   b = b + -1 | 0;
+   i = b << 2;
+   d = q[q[(i + f | 0) + 2028 >> 2] + 68 >> 2];
+   b : {
+    if ((d | 0) != (c | 0)) {
+     g = ue(g, c, d);
+     d = ue(q[a + 20 >> 2], c, d);
+     break b;
+    }
+    d = q[a + 20 >> 2];
+   }
+   n[q[e + 4 >> 2]](q[(h + i | 0) + 4 >> 2], g, d, 0, 0);
+   if (b) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function qA(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  f = a + -60 | 0;
+  e = d + 16 | 0;
+  g = d + 21 | 0;
+  while (1) {
+   c = q[f >> 2];
+   if (!c) {
+    b = 271040;
+    break a;
+   }
+   q[e >> 2] = 0;
+   q[e + 4 >> 2] = 0;
+   b = g;
+   o[b | 0] = 0;
+   o[b + 1 | 0] = 0;
+   o[b + 2 | 0] = 0;
+   o[b + 3 | 0] = 0;
+   o[b + 4 | 0] = 0;
+   o[b + 5 | 0] = 0;
+   o[b + 6 | 0] = 0;
+   o[b + 7 | 0] = 0;
+   b = d;
+   q[b + 32 >> 2] = 0;
+   q[b + 36 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   h = kF(c);
+   o[b + 44 | 0] = 1;
+   q[b + 40 >> 2] = h;
+   b = QA(b + 8 | 0, iF(c, 1448038983));
+   if (!b) {
+    b = 271040;
+   }
+   c = q[a >> 2];
+   q[a >> 2] = c ? c : b;
+   if (!c) {
+    break a;
+   }
+   if (!(!b | (b | 0) == 271040)) {
+    Cq(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 48 | 0;
+ return b;
+}
+function jD(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  f = a + -68 | 0;
+  e = d + 16 | 0;
+  g = d + 21 | 0;
+  while (1) {
+   c = q[f >> 2];
+   if (!c) {
+    b = 271040;
+    break a;
+   }
+   q[e >> 2] = 0;
+   q[e + 4 >> 2] = 0;
+   b = g;
+   o[b | 0] = 0;
+   o[b + 1 | 0] = 0;
+   o[b + 2 | 0] = 0;
+   o[b + 3 | 0] = 0;
+   o[b + 4 | 0] = 0;
+   o[b + 5 | 0] = 0;
+   o[b + 6 | 0] = 0;
+   o[b + 7 | 0] = 0;
+   b = d;
+   q[b + 32 >> 2] = 0;
+   q[b + 36 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   h = kF(c);
+   o[b + 44 | 0] = 1;
+   q[b + 40 >> 2] = h;
+   b = rD(b + 8 | 0, iF(c, 1635148146));
+   if (!b) {
+    b = 271040;
+   }
+   c = q[a >> 2];
+   q[a >> 2] = c ? c : b;
+   if (!c) {
+    break a;
+   }
+   if (!(!b | (b | 0) == 271040)) {
+    Cq(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 48 | 0;
+ return b;
+}
+function iD(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  f = a + -64 | 0;
+  e = d + 16 | 0;
+  g = d + 21 | 0;
+  while (1) {
+   c = q[f >> 2];
+   if (!c) {
+    b = 271040;
+    break a;
+   }
+   q[e >> 2] = 0;
+   q[e + 4 >> 2] = 0;
+   b = g;
+   o[b | 0] = 0;
+   o[b + 1 | 0] = 0;
+   o[b + 2 | 0] = 0;
+   o[b + 3 | 0] = 0;
+   o[b + 4 | 0] = 0;
+   o[b + 5 | 0] = 0;
+   o[b + 6 | 0] = 0;
+   o[b + 7 | 0] = 0;
+   b = d;
+   q[b + 32 >> 2] = 0;
+   q[b + 36 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   h = kF(c);
+   o[b + 44 | 0] = 1;
+   q[b + 40 >> 2] = h;
+   b = pD(b + 8 | 0, iF(c, 1719034226));
+   if (!b) {
+    b = 271040;
+   }
+   c = q[a >> 2];
+   q[a >> 2] = c ? c : b;
+   if (!c) {
+    break a;
+   }
+   if (!(!b | (b | 0) == 271040)) {
+    Cq(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 48 | 0;
+ return b;
+}
+function Sy(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  f = a + -76 | 0;
+  e = d + 16 | 0;
+  g = d + 21 | 0;
+  while (1) {
+   c = q[f >> 2];
+   if (!c) {
+    b = 271040;
+    break a;
+   }
+   q[e >> 2] = 0;
+   q[e + 4 >> 2] = 0;
+   b = g;
+   o[b | 0] = 0;
+   o[b + 1 | 0] = 0;
+   o[b + 2 | 0] = 0;
+   o[b + 3 | 0] = 0;
+   o[b + 4 | 0] = 0;
+   o[b + 5 | 0] = 0;
+   o[b + 6 | 0] = 0;
+   o[b + 7 | 0] = 0;
+   b = d;
+   q[b + 32 >> 2] = 0;
+   q[b + 36 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   h = kF(c);
+   o[b + 44 | 0] = 1;
+   q[b + 40 >> 2] = h;
+   b = Wy(b + 8 | 0, iF(c, 1297498450));
+   if (!b) {
+    b = 271040;
+   }
+   c = q[a >> 2];
+   q[a >> 2] = c ? c : b;
+   if (!c) {
+    break a;
+   }
+   if (!(!b | (b | 0) == 271040)) {
+    Cq(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 48 | 0;
+ return b;
+}
+function Ry(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  f = a + -20 | 0;
+  e = d + 16 | 0;
+  g = d + 21 | 0;
+  while (1) {
+   c = q[f >> 2];
+   if (!c) {
+    b = 271040;
+    break a;
+   }
+   q[e >> 2] = 0;
+   q[e + 4 >> 2] = 0;
+   b = g;
+   o[b | 0] = 0;
+   o[b + 1 | 0] = 0;
+   o[b + 2 | 0] = 0;
+   o[b + 3 | 0] = 0;
+   o[b + 4 | 0] = 0;
+   o[b + 5 | 0] = 0;
+   o[b + 6 | 0] = 0;
+   o[b + 7 | 0] = 0;
+   b = d;
+   q[b + 32 >> 2] = 0;
+   q[b + 36 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   h = kF(c);
+   o[b + 44 | 0] = 1;
+   q[b + 40 >> 2] = h;
+   b = Uy(b + 8 | 0, iF(c, 1330851634));
+   if (!b) {
+    b = 271040;
+   }
+   c = q[a >> 2];
+   q[a >> 2] = c ? c : b;
+   if (!c) {
+    break a;
+   }
+   if (!(!b | (b | 0) == 271040)) {
+    Cq(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 48 | 0;
+ return b;
+}
+function Ps(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  f = a + -80 | 0;
+  e = d + 16 | 0;
+  g = d + 21 | 0;
+  while (1) {
+   c = q[f >> 2];
+   if (!c) {
+    b = 271040;
+    break a;
+   }
+   q[e >> 2] = 0;
+   q[e + 4 >> 2] = 0;
+   b = g;
+   o[b | 0] = 0;
+   o[b + 1 | 0] = 0;
+   o[b + 2 | 0] = 0;
+   o[b + 3 | 0] = 0;
+   o[b + 4 | 0] = 0;
+   o[b + 5 | 0] = 0;
+   o[b + 6 | 0] = 0;
+   o[b + 7 | 0] = 0;
+   b = d;
+   q[b + 32 >> 2] = 0;
+   q[b + 36 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   h = kF(c);
+   o[b + 44 | 0] = 1;
+   q[b + 40 >> 2] = h;
+   b = pv(b + 8 | 0, iF(c, 1801810542));
+   if (!b) {
+    b = 271040;
+   }
+   c = q[a >> 2];
+   q[a >> 2] = c ? c : b;
+   if (!c) {
+    break a;
+   }
+   if (!(!b | (b | 0) == 271040)) {
+    Cq(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 48 | 0;
+ return b;
+}
+function MA(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  f = a + -40 | 0;
+  e = d + 16 | 0;
+  g = d + 21 | 0;
+  while (1) {
+   c = q[f >> 2];
+   if (!c) {
+    b = 271040;
+    break a;
+   }
+   q[e >> 2] = 0;
+   q[e + 4 >> 2] = 0;
+   b = g;
+   o[b | 0] = 0;
+   o[b + 1 | 0] = 0;
+   o[b + 2 | 0] = 0;
+   o[b + 3 | 0] = 0;
+   o[b + 4 | 0] = 0;
+   o[b + 5 | 0] = 0;
+   o[b + 6 | 0] = 0;
+   o[b + 7 | 0] = 0;
+   b = d;
+   q[b + 32 >> 2] = 0;
+   q[b + 36 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   h = kF(c);
+   o[b + 44 | 0] = 1;
+   q[b + 40 >> 2] = h;
+   b = HA(b + 8 | 0, iF(c, 1986553185));
+   if (!b) {
+    b = 271040;
+   }
+   c = q[a >> 2];
+   q[a >> 2] = c ? c : b;
+   if (!c) {
+    break a;
+   }
+   if (!(!b | (b | 0) == 271040)) {
+    Cq(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 48 | 0;
+ return b;
+}
+function FA(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  f = a + -12 | 0;
+  e = d + 16 | 0;
+  g = d + 21 | 0;
+  while (1) {
+   c = q[f >> 2];
+   if (!c) {
+    b = 271040;
+    break a;
+   }
+   q[e >> 2] = 0;
+   q[e + 4 >> 2] = 0;
+   b = g;
+   o[b | 0] = 0;
+   o[b + 1 | 0] = 0;
+   o[b + 2 | 0] = 0;
+   o[b + 3 | 0] = 0;
+   o[b + 4 | 0] = 0;
+   o[b + 5 | 0] = 0;
+   o[b + 6 | 0] = 0;
+   o[b + 7 | 0] = 0;
+   b = d;
+   q[b + 32 >> 2] = 0;
+   q[b + 36 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   h = kF(c);
+   o[b + 44 | 0] = 1;
+   q[b + 40 >> 2] = h;
+   b = HA(b + 8 | 0, iF(c, 1751672161));
+   if (!b) {
+    b = 271040;
+   }
+   c = q[a >> 2];
+   q[a >> 2] = c ? c : b;
+   if (!c) {
+    break a;
+   }
+   if (!(!b | (b | 0) == 271040)) {
+    Cq(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 48 | 0;
+ return b;
+}
+function ny(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ c = r[a | 0] | r[a + 1 | 0] << 8;
+ c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+ a : {
+  if (c >>> 0 > 2) {
+   break a;
+  }
+  b : {
+   switch (c - 1 | 0) {
+   default:
+    c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+    f = c ? c + a | 0 : 271040;
+    c = q[b + 96 >> 2];
+    c = ct(f, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]);
+    if ((c | 0) == -1) {
+     break a;
+    }
+    d = (r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0 > c >>> 0 ? ((c << 1) + a | 0) + 6 | 0 : 271040;
+    c = r[d + 1 | 0];
+    d = r[d | 0];
+    f = q[57201];
+    q[e + 8 >> 2] = q[57200];
+    q[e + 12 >> 2] = f;
+    f = q[57199];
+    q[e >> 2] = q[57198];
+    q[e + 4 >> 2] = f;
+    f = a;
+    a = c | d << 8;
+    d = bx(a ? f + a | 0 : 271040, b, e);
+    break a;
+   case 0:
+    d = ex(a, b);
+    break a;
+   case 1:
+    break b;
+   }
+  }
+  d = fx(a, b);
+ }
+ Ca = e + 16 | 0;
+ return d;
+}
+function YF(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  f = a + -4 | 0;
+  e = d + 16 | 0;
+  g = d + 21 | 0;
+  while (1) {
+   c = q[f >> 2];
+   if (!c) {
+    b = 271040;
+    break a;
+   }
+   q[e >> 2] = 0;
+   q[e + 4 >> 2] = 0;
+   b = g;
+   o[b | 0] = 0;
+   o[b + 1 | 0] = 0;
+   o[b + 2 | 0] = 0;
+   o[b + 3 | 0] = 0;
+   o[b + 4 | 0] = 0;
+   o[b + 5 | 0] = 0;
+   o[b + 6 | 0] = 0;
+   o[b + 7 | 0] = 0;
+   b = d;
+   q[b + 32 >> 2] = 0;
+   q[b + 36 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   h = kF(c);
+   o[b + 44 | 0] = 1;
+   q[b + 40 >> 2] = h;
+   b = ZF(b + 8 | 0, iF(c, 1751474532));
+   if (!b) {
+    b = 271040;
+   }
+   c = q[a >> 2];
+   q[a >> 2] = c ? c : b;
+   if (!c) {
+    break a;
+   }
+   if (!(!b | (b | 0) == 271040)) {
+    Cq(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 48 | 0;
+ return b;
+}
+function uT(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ if ((c - b | 0) >= 1) {
+  while (1) {
+   a = r[r[b | 0] + 492884 | 0] + -5 | 0;
+   a : {
+    b : {
+     if (a >>> 0 > 5) {
+      break b;
+     }
+     c : {
+      switch (a - 1 | 0) {
+      default:
+       b = b + 2 | 0;
+       break a;
+      case 0:
+       b = b + 3 | 0;
+       break a;
+      case 1:
+       b = b + 4 | 0;
+       break a;
+      case 3:
+       q[d >> 2] = q[d >> 2] + 1;
+       a = b + 1 | 0;
+       if ((c - a | 0) < 1) {
+        b = a;
+        q[d + 4 >> 2] = -1;
+        break a;
+       }
+       b = r[r[b + 1 | 0] + 492884 | 0] == 10 ? b + 2 | 0 : a;
+       q[d + 4 >> 2] = -1;
+       break a;
+      case 2:
+       break b;
+      case 4:
+       break c;
+      }
+     }
+     q[d + 4 >> 2] = -1;
+     q[d >> 2] = q[d >> 2] + 1;
+    }
+    b = b + 1 | 0;
+   }
+   q[d + 4 >> 2] = q[d + 4 >> 2] + 1;
+   if ((c - b | 0) > 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function hQ(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  if ((a | 0) == 500308) {
+   return a;
+  }
+  e = r[500308];
+  if (!e) {
+   break a;
+  }
+  b : while (1) {
+   i = a;
+   a = a + 1 | 0;
+   b = r[i | 0];
+   if ((b | 0) != (e | 0) ? b : 0) {
+    continue;
+   }
+   if ((b | 0) != (e | 0)) {
+    break a;
+   }
+   c = r[500309];
+   f = !c;
+   b = r[a | 0];
+   j = !b;
+   c : {
+    if (!(!b | (b | 0) == (c | 0))) {
+     d = 500309;
+     b = a;
+     if (c) {
+      continue;
+     }
+     break c;
+    }
+    d = 500309;
+    b = a;
+   }
+   while (1) {
+    if (!(f | j)) {
+     g = r[d + 1 | 0];
+     f = !g;
+     b = b + 1 | 0;
+     h = r[b | 0];
+     j = !h;
+     c = d + 1 | 0;
+     d = c;
+     if ((g | 0) == (h | 0)) {
+      continue;
+     }
+     d = c;
+     if (!h | !g) {
+      continue;
+     }
+     continue b;
+    }
+    break;
+   }
+   break;
+  }
+  k = f ? i : 0;
+ }
+ return k;
+}
+function Ki(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ if (!q[a >> 2]) {
+  return 65536;
+ }
+ l = b & 16384;
+ b = 0;
+ k = 65536;
+ while (1) {
+  a : {
+   j = k;
+   i = b << 2;
+   g = q[i + c >> 2];
+   f = j;
+   b : {
+    if (!g) {
+     break b;
+    }
+    k = 0;
+    h = q[i + q[a + 8 >> 2] >> 2];
+    if (!h) {
+     break a;
+    }
+    f = j;
+    if ((g | 0) == (h | 0)) {
+     break b;
+    }
+    if (!l) {
+     if ((h | 0) < (g >> 31 & g) | (h | 0) > (((g | 0) > 0 ? g : 0) | 0)) {
+      break a;
+     }
+     f = ue(j, h, g);
+     break b;
+    }
+    f = q[d + i >> 2];
+    if ((h | 0) <= (f | 0)) {
+     break a;
+    }
+    i = q[e + i >> 2];
+    if ((i | 0) <= (h | 0)) {
+     break a;
+    }
+    if ((h | 0) < (g | 0)) {
+     f = ue(j, h - f | 0, g - f | 0);
+     break b;
+    }
+    f = ue(j, i - h | 0, i - g | 0);
+   }
+   k = f;
+   b = b + 1 | 0;
+   if (b >>> 0 < t[a >> 2]) {
+    continue;
+   }
+  }
+  break;
+ }
+ return k;
+}
+function zT(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0;
+ d = Ca - 160 | 0;
+ Ca = d;
+ q[d + 156 >> 2] = b;
+ q[d + 12 >> 2] = d + 16;
+ n[q[a + 56 >> 2]](a, d + 156 | 0, c, d + 12 | 0, d + 143 | 0) | 0;
+ b = 0;
+ a : {
+  if (q[d + 156 >> 2] != (c | 0)) {
+   break a;
+  }
+  o[q[d + 12 >> 2]] = 0;
+  b = 492746;
+  c = d + 16 | 0;
+  b : {
+   while (1) {
+    c : {
+     f = r[b | 0];
+     e = r[c | 0];
+     b = b + 1 | 0;
+     c = c + 1 | 0;
+     e = ((e + -97 & 255) >>> 0 < 26 ? e + -32 | 0 : e) & 255;
+     switch (((e | 0) == (((f + -97 & 255) >>> 0 < 26 ? f + -32 | 0 : f) & 255) ? !e << 1 : 1) - 1 | 0) {
+     case 0:
+      break b;
+     case 1:
+      break c;
+     default:
+      continue;
+     }
+    }
+    break;
+   }
+   b = a;
+   if (q[a + 64 >> 2] == 2) {
+    break a;
+   }
+  }
+  a = tT(d + 16 | 0);
+  if ((a | 0) == -1) {
+   b = 0;
+   break a;
+  }
+  b = q[(a << 2) + 492784 >> 2];
+ }
+ Ca = d + 160 | 0;
+ return b | 0;
+}
+function Xy(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0) {
+   break a;
+  }
+  d = c - a | 0;
+  if (d >>> 0 < 4) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((r[a + 1 | 0] | r[a | 0] << 8) != 1 | (c | 0) < 1 | d >>> 0 < 12) {
+   break a;
+  }
+  q[b + 12 >> 2] = c + -2;
+  if ((c | 0) < 2 | (r[a + 7 | 0] | r[a + 6 | 0] << 8) >>> 0 < 8) {
+   break a;
+  }
+  if (!Yy(a + 10 | 0, b, a)) {
+   break a;
+  }
+  d = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+  c = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+  if (4294967295 / (d >>> 0) >>> 0 <= c >>> 0 ? d : 0) {
+   break a;
+  }
+  c = w(c, d);
+  if (!c) {
+   return 1;
+  }
+  a = a + 12 | 0;
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < c >>> 0) {
+   break a;
+  }
+  a = q[b + 12 >> 2];
+  q[b + 12 >> 2] = a + -1;
+  e = (a | 0) > 0;
+ }
+ return e;
+}
+function TS(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ b = Ca - 144 | 0;
+ Ca = b;
+ c = q[a + 8 >> 2];
+ d = q[a + 12 >> 2];
+ OZ(10);
+ if (q[a + 4 >> 2] >= 1) {
+  f = a + d | 0;
+  e = a + c | 0;
+  d = 0;
+  while (1) {
+   c = q[(d << 2) + e >> 2];
+   OZ(9);
+   q[b + 128 >> 2] = s[(d << 1) + f >> 1];
+   d0(488976, b + 128 | 0);
+   c = c + e | 0;
+   q[b + 112 >> 2] = q[c >> 2];
+   d0(488982, b + 112 | 0);
+   q[b + 96 >> 2] = q[c + 4 >> 2];
+   d0(488982, b + 96 | 0);
+   q[b + 80 >> 2] = q[c + 8 >> 2];
+   d0(488982, b + 80 | 0);
+   q[b + 64 >> 2] = q[c + 12 >> 2];
+   d0(488982, b - -64 | 0);
+   q[b + 48 >> 2] = q[c + 16 >> 2];
+   d0(488982, b + 48 | 0);
+   q[b + 32 >> 2] = q[c + 20 >> 2];
+   d0(488982, b + 32 | 0);
+   q[b + 16 >> 2] = q[c + 24 >> 2];
+   d0(488982, b + 16 | 0);
+   q[b >> 2] = q[c + 28 >> 2];
+   d0(488982, b);
+   OZ(10);
+   d = d + 1 | 0;
+   if ((d | 0) < q[a + 4 >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = b + 144 | 0;
+}
+function GT(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0;
+ d = Ca - 160 | 0;
+ Ca = d;
+ q[d + 156 >> 2] = b;
+ q[d + 12 >> 2] = d + 16;
+ n[q[a + 56 >> 2]](a, d + 156 | 0, c, d + 12 | 0, d + 143 | 0) | 0;
+ b = 0;
+ a : {
+  if (q[d + 156 >> 2] != (c | 0)) {
+   break a;
+  }
+  o[q[d + 12 >> 2]] = 0;
+  b = 492746;
+  c = d + 16 | 0;
+  b : {
+   while (1) {
+    c : {
+     f = r[b | 0];
+     e = r[c | 0];
+     b = b + 1 | 0;
+     c = c + 1 | 0;
+     e = ((e + -97 & 255) >>> 0 < 26 ? e + -32 | 0 : e) & 255;
+     switch (((e | 0) == (((f + -97 & 255) >>> 0 < 26 ? f + -32 | 0 : f) & 255) ? !e << 1 : 1) - 1 | 0) {
+     case 0:
+      break b;
+     case 1:
+      break c;
+     default:
+      continue;
+     }
+    }
+    break;
+   }
+   b = a;
+   if (q[a + 64 >> 2] == 2) {
+    break a;
+   }
+  }
+  a = tT(d + 16 | 0);
+  if ((a | 0) == -1) {
+   b = 0;
+   break a;
+  }
+  b = q[(a << 2) + 494304 >> 2];
+ }
+ Ca = d + 160 | 0;
+ return b | 0;
+}
+function IL(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  e = q[b + 36 >> 2];
+  if ((e | 0) < 1) {
+   break a;
+  }
+  i = q[b + 40 >> 2];
+  c = -1;
+  while (1) {
+   b : {
+    f = q[(d << 2) + i >> 2];
+    g = s[f + 8 >> 1];
+    if ((g | 0) != 3) {
+     break b;
+    }
+    h = s[f + 10 >> 1] + -1 | 0;
+    if (h >>> 0 > 9) {
+     break b;
+    }
+    c : {
+     switch (h - 1 | 0) {
+     case 0:
+     case 1:
+     case 2:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+      break b;
+     default:
+      break c;
+     }
+    }
+    Wf(b, f);
+    return;
+   }
+   c = (c | 0) < 0 ? (g | 0) == 3 ? d : c : c;
+   d = d + 1 | 0;
+   if ((d | 0) < (e | 0)) {
+    continue;
+   }
+   break;
+  }
+  if ((c | 0) < 0) {
+   break a;
+  }
+  Wf(b, q[q[b + 40 >> 2] + (c << 2) >> 2]);
+  return;
+ }
+ if (!q[b + 92 >> 2]) {
+  if (!e) {
+   Yd(a, 2, 354584, 0);
+   return;
+  }
+  Yd(a, 2, 354611, 0);
+  Wf(b, q[q[b + 40 >> 2] >> 2]);
+ }
+}
+function eq(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ q[f + 12 >> 2] = 0;
+ g = Oe(a, s[c + 8 >> 1] + 1 | 0, f + 12 | 0);
+ e = 0;
+ a : {
+  if (q[f + 12 >> 2]) {
+   break a;
+  }
+  e = yg(b, q[c + 12 >> 2]);
+  q[f + 12 >> 2] = e;
+  b : {
+   if (e) {
+    break b;
+   }
+   e = Kg(b, s[c + 8 >> 1]);
+   q[f + 12 >> 2] = e;
+   if (e) {
+    break b;
+   }
+   j = g;
+   c : {
+    h = s[c + 8 >> 1];
+    if (h) {
+     j = g + h | 0;
+     i = q[b + 32 >> 2];
+     e = g;
+     while (1) {
+      if (!n[d](o[i | 0])) {
+       break c;
+      }
+      o[e | 0] = r[i | 0];
+      i = i + 1 | 0;
+      e = e + 1 | 0;
+      h = h + -1 | 0;
+      if (h) {
+       continue;
+      }
+      break;
+     }
+    }
+    o[j | 0] = 0;
+    Ng(b);
+    e = g;
+    break a;
+   }
+   Ng(b);
+  }
+  Qe(a, g);
+  p[c + 8 >> 1] = 0;
+  q[c + 12 >> 2] = 0;
+  Qe(a, q[c + 16 >> 2]);
+  q[c + 16 >> 2] = 0;
+  e = 0;
+ }
+ Ca = f + 16 | 0;
+ return e;
+}
+function Yu(a, b) {
+ var c = 0, d = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 4) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((r[a + 1 | 0] | r[a | 0] << 8) != 1 | (c | 0) < 1) {
+   break a;
+  }
+  if (!Zu(a + 4 | 0, b, a)) {
+   break a;
+  }
+  if (!_u(a + 6 | 0, b, a)) {
+   break a;
+  }
+  if (!$u(a + 8 | 0, b, a)) {
+   break a;
+  }
+  if (!Zu(a + 10 | 0, b, a)) {
+   break a;
+  }
+  c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  if ((c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) >>> 0 < 65538) {
+   return 1;
+  }
+  if (!av(a + 12 | 0, b, a)) {
+   break a;
+  }
+  d = 1;
+  c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  if ((c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) >>> 0 < 65539) {
+   break a;
+  }
+  d = bv(a + 14 | 0, b, a);
+ }
+ return d;
+}
+function du(a, b, c, d) {
+ var e = 0, f = 0, g = 0;
+ e = b;
+ b = (r[a + 11 | 0] | r[a + 10 | 0] << 8) + a | 0;
+ e = e - (r[b | 0] << 8 | r[b + 1 | 0]) | 0;
+ if (e >>> 0 < (r[b + 3 | 0] | r[b + 2 | 0] << 8) >>> 0) {
+  b = b + (e << 1) | 0;
+  f = r[b + 4 | 0] << 8 | r[b + 5 | 0];
+ }
+ b = (r[a + 13 | 0] | r[a + 12 | 0] << 8) + a | 0;
+ c = c - (r[b | 0] << 8 | r[b + 1 | 0]) | 0;
+ if (c >>> 0 < (r[b + 3 | 0] | r[b + 2 | 0] << 8) >>> 0) {
+  b = b + (c << 1) | 0;
+  g = r[b + 4 | 0] << 8 | r[b + 5 | 0];
+ }
+ b = 0;
+ c = (r[a + 15 | 0] | r[a + 14 | 0] << 8) + a | 0;
+ e = ((a + f | 0) + g | 0) - c >>> 1 | 0;
+ a = (e << 1) + c | 0;
+ a : {
+  if (t[d + 20 >> 2] > a >>> 0) {
+   break a;
+  }
+  f = q[d + 24 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 2) {
+   break a;
+  }
+  f = d + 28 | 0;
+  d = q[f >> 2];
+  q[f >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  b = (r[(c + (e << 1) | 0) + 1 | 0] | r[a | 0] << 8) << 16 >> 16;
+ }
+ return b;
+}
+function Yt(a, b, c, d) {
+ var e = 0, f = 0, g = 0;
+ e = b;
+ b = (r[a + 9 | 0] | r[a + 8 | 0] << 8) + a | 0;
+ e = e - (r[b | 0] << 8 | r[b + 1 | 0]) | 0;
+ if (e >>> 0 < (r[b + 3 | 0] | r[b + 2 | 0] << 8) >>> 0) {
+  b = b + (e << 1) | 0;
+  f = r[b + 4 | 0] << 8 | r[b + 5 | 0];
+ }
+ b = (r[a + 11 | 0] | r[a + 10 | 0] << 8) + a | 0;
+ c = c - (r[b | 0] << 8 | r[b + 1 | 0]) | 0;
+ if (c >>> 0 < (r[b + 3 | 0] | r[b + 2 | 0] << 8) >>> 0) {
+  b = b + (c << 1) | 0;
+  g = r[b + 4 | 0] << 8 | r[b + 5 | 0];
+ }
+ b = 0;
+ c = (r[a + 13 | 0] | r[a + 12 | 0] << 8) + a | 0;
+ e = ((a + f | 0) + g | 0) - c >>> 1 | 0;
+ a = (e << 1) + c | 0;
+ a : {
+  if (t[d + 20 >> 2] > a >>> 0) {
+   break a;
+  }
+  f = q[d + 24 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 2) {
+   break a;
+  }
+  f = d + 28 | 0;
+  d = q[f >> 2];
+  q[f >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  b = (r[(c + (e << 1) | 0) + 1 | 0] | r[a | 0] << 8) << 16 >> 16;
+ }
+ return b;
+}
+function PV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 26) {
+    break b;
+   }
+   c = 39;
+   c : {
+    switch (d - 1 | 0) {
+    case 7:
+     q[a + 4 >> 2] = q[a + 4 >> 2] + 1;
+     return 44;
+    case 2:
+    case 25:
+     q[a >> 2] = 956;
+     return 51;
+    case 14:
+     q[a >> 2] = 956;
+     return 53;
+    case 15:
+     q[a >> 2] = 956;
+     return 52;
+    case 0:
+    case 1:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 8:
+    case 9:
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 17:
+    case 18:
+    case 19:
+    case 20:
+    case 21:
+    case 22:
+    case 23:
+    case 24:
+     break b;
+    case 16:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 956;
+   return 54;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function pB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ d = Hq(b);
+ o[a + 20 | 0] = 0;
+ q[a + 28 >> 2] = d;
+ f = q[d + 12 >> 2];
+ q[a + 4 >> 2] = f;
+ e = q[d + 16 >> 2];
+ q[a + 8 >> 2] = e + f;
+ if ((e | 0) > -1) {
+  q[a + 24 >> 2] = 0;
+  g = a;
+  if (e >>> 0 > 536870910) {
+   c = 1073741823;
+  } else {
+   c = e << 3;
+   c = c >>> 0 > 16384 ? c : 16384;
+   c = c >>> 0 < 1073741823 ? c : 1073741823;
+  }
+  q[g + 12 >> 2] = c;
+  q[a >> 2] = 0;
+  if (!f) {
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+   return b;
+  }
+  a : {
+   if (e >>> 0 >= 4) {
+    q[a + 12 >> 2] = c + -1;
+    c = r[f | 0];
+    Cq(d);
+    q[a + 28 >> 2] = 0;
+    q[a + 4 >> 2] = 0;
+    q[a + 8 >> 2] = 0;
+    if ((c | 0) != 1) {
+     break a;
+    }
+    Gq(b);
+    return b;
+   }
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(242576, 242601, 195, 242618);
+ F();
+}
+function dC(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ b = s[b >> 1];
+ e = q[c + 4 >> 2];
+ a : {
+  if ((e | 0) != 131072) {
+   d = 0;
+   if ((e | 0) != 65536 | b >>> 0 > 257) {
+    break a;
+   }
+   b = b << 2;
+   c = q[b + 247792 >> 2];
+   f = c + 248828 | 0;
+   d = q[b + 247796 >> 2] + (c ^ -1) | 0;
+   break a;
+  }
+  e = q[c + 8 >> 2];
+  d = 0;
+  if ((r[e | 0] << 8 | r[e + 1 | 0]) >>> 0 <= b >>> 0) {
+   break a;
+  }
+  b = e + (b << 1) | 0;
+  b = r[b + 2 | 0] << 8 | r[b + 3 | 0];
+  if (b >>> 0 <= 257) {
+   b = b << 2;
+   c = q[b + 247792 >> 2];
+   f = c + 248828 | 0;
+   d = q[b + 247796 >> 2] + (c ^ -1) | 0;
+   break a;
+  }
+  b = b + -258 | 0;
+  d = 0;
+  if (b >>> 0 >= t[c + 16 >> 2]) {
+   break a;
+  }
+  b = q[c + 24 >> 2] + q[q[c + 20 >> 2] + (b << 2) >> 2] | 0;
+  f = b + 1 | 0;
+  d = r[b | 0];
+ }
+ b = d;
+ c = q[a + 4 >> 2];
+ if ((b | 0) != (c | 0)) {
+  return c - b | 0;
+ }
+ if (!b) {
+  return 0;
+ }
+ return ZY(q[a >> 2], f, b);
+}
+function HB(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ d = Hq(b);
+ o[a + 20 | 0] = 0;
+ q[a + 28 >> 2] = d;
+ f = q[d + 12 >> 2];
+ q[a + 4 >> 2] = f;
+ e = q[d + 16 >> 2];
+ q[a + 8 >> 2] = e + f;
+ if ((e | 0) > -1) {
+  q[a + 24 >> 2] = 0;
+  g = a;
+  if (e >>> 0 > 536870910) {
+   c = 1073741823;
+  } else {
+   c = e << 3;
+   c = c >>> 0 > 16384 ? c : 16384;
+   c = c >>> 0 < 1073741823 ? c : 1073741823;
+  }
+  q[g + 12 >> 2] = c;
+  q[a >> 2] = 0;
+  if (!f) {
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+   return b;
+  }
+  a : {
+   if (e >>> 0 >= 5) {
+    q[a + 12 >> 2] = c + -1;
+    c = r[f | 0];
+    Cq(d);
+    q[a + 28 >> 2] = 0;
+    q[a + 4 >> 2] = 0;
+    q[a + 8 >> 2] = 0;
+    if ((c | 0) != 2) {
+     break a;
+    }
+    Gq(b);
+    return b;
+   }
+   Cq(d);
+   q[a + 28 >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   q[a + 8 >> 2] = 0;
+  }
+  Cq(b);
+  return 271040;
+ }
+ J(242576, 242601, 195, 242618);
+ F();
+}
+function dS(a, b) {
+ var c = 0;
+ c = q[b >> 2] + -3 | 0;
+ a : {
+  if (c >>> 0 > 6) {
+   break a;
+  }
+  b : {
+   switch (c - 1 | 0) {
+   default:
+    c = mZ(q[b + 8 >> 2]);
+    q[b + 8 >> 2] = c;
+    if (c) {
+     break a;
+    }
+    q[b >> 2] = 0;
+    break a;
+   case 1:
+    c = WO(q[b + 8 >> 2]);
+    q[b + 8 >> 2] = c;
+    if (c) {
+     break a;
+    }
+    q[b >> 2] = 0;
+    break a;
+   case 2:
+    c = MR(q[b + 8 >> 2]);
+    q[b + 8 >> 2] = c;
+    if (c) {
+     break a;
+    }
+    q[b >> 2] = 0;
+    break a;
+   case 4:
+    c = LP(q[b + 8 >> 2]);
+    q[b + 8 >> 2] = c;
+    if (c) {
+     break a;
+    }
+    q[b >> 2] = 0;
+    break a;
+   case 0:
+   case 3:
+    break a;
+   case 5:
+    break b;
+   }
+  }
+  c = gP(q[b + 8 >> 2]);
+  q[b + 8 >> 2] = c;
+  if (c) {
+   break a;
+  }
+  q[b >> 2] = 0;
+ }
+ c = q[b + 4 >> 2];
+ q[a >> 2] = q[b >> 2];
+ q[a + 4 >> 2] = c;
+ c = q[b + 12 >> 2];
+ q[a + 8 >> 2] = q[b + 8 >> 2];
+ q[a + 12 >> 2] = c;
+}
+function IQ(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ d = q[a + 4 >> 2];
+ a : {
+  if ((d | 0) != q[b + 4 >> 2]) {
+   break a;
+  }
+  c = 1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  i = q[b + 12 >> 2];
+  j = q[a + 12 >> 2];
+  while (1) {
+   b = q[(f << 2) + j >> 2];
+   e = 0;
+   b : {
+    while (1) {
+     a = q[(e << 2) + i >> 2];
+     c = b;
+     if ((a | 0) == (c | 0)) {
+      break b;
+     }
+     while (1) {
+      c : {
+       h = r[c | 0];
+       g = r[a | 0];
+       if (!g) {
+        break c;
+       }
+       a = a + 1 | 0;
+       c = c + 1 | 0;
+       if ((h | 0) == (g | 0)) {
+        continue;
+       }
+      }
+      break;
+     }
+     if ((h | 0) == (g | 0)) {
+      break b;
+     }
+     e = e + 1 | 0;
+     if ((e | 0) != (d | 0)) {
+      continue;
+     }
+     break;
+    }
+    return 0;
+   }
+   c = 1;
+   f = f + 1 | 0;
+   if ((f | 0) != (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return c;
+}
+function lK(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ p[a + 64 >> 1] = 256;
+ q[a + 8 >> 2] = d;
+ q[a + 4 >> 2] = b;
+ q[a >> 2] = q[b + 100 >> 2];
+ a : {
+  if (!d) {
+   break a;
+  }
+  b = q[q[d + 156 >> 2] >> 2];
+  q[a + 12 >> 2] = b;
+  q[a + 20 >> 2] = b + 56;
+  q[a + 16 >> 2] = b + 20;
+  Pe(b);
+  q[a + 68 >> 2] = 0;
+  q[a + 72 >> 2] = 0;
+  if (!c | !e) {
+   break a;
+  }
+  b = q[q[c + 40 >> 2] >> 2];
+  if (!b) {
+   break a;
+  }
+  q[a + 72 >> 2] = q[b >> 2];
+  q[a + 68 >> 2] = q[q[d + 156 >> 2] + 36 >> 2];
+ }
+ q[a + 24 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ q[a + 40 >> 2] = 0;
+ q[a + 44 >> 2] = 0;
+ q[a + 32 >> 2] = 0;
+ q[a + 36 >> 2] = 0;
+ b = q[72550];
+ q[a + 76 >> 2] = q[72549];
+ q[a + 80 >> 2] = b;
+ b = q[72552];
+ q[a + 84 >> 2] = q[72551];
+ q[a + 88 >> 2] = b;
+ b = q[72554];
+ q[a + 92 >> 2] = q[72553];
+ q[a + 96 >> 2] = b;
+ b = q[72556];
+ q[a + 100 >> 2] = q[72555];
+ q[a + 104 >> 2] = b;
+}
+function _F() {
+ var a = 0, b = 0, c = 0;
+ a = N$(1, 112);
+ if (!a) {
+  return 641528;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a >> 2] = 1;
+ q[a + 4 >> 2] = 1;
+ if (q[160383]) {
+  q[160383] = 0;
+ }
+ a : {
+  if (q[160382]) {
+   if (q[160382] <= 0) {
+    break a;
+   }
+   q[160382] = q[160382] + 1;
+  }
+  q[a + 12 >> 2] = 641528;
+  b = q[160387];
+  q[a + 16 >> 2] = q[160386];
+  q[a + 20 >> 2] = b;
+  b = q[160389];
+  q[a + 24 >> 2] = q[160388];
+  q[a + 28 >> 2] = b;
+  b = q[160391];
+  q[a + 32 >> 2] = q[160390];
+  q[a + 36 >> 2] = b;
+  b = q[160393];
+  q[a + 40 >> 2] = q[160392];
+  q[a + 44 >> 2] = b;
+  b = q[160395];
+  q[a + 48 >> 2] = q[160394];
+  q[a + 52 >> 2] = b;
+  b = q[160397];
+  q[a + 56 >> 2] = q[160396];
+  q[a + 60 >> 2] = b;
+  c = q[160399];
+  b = a - -64 | 0;
+  q[b >> 2] = q[160398];
+  q[b + 4 >> 2] = c;
+  b = q[160401];
+  q[a + 72 >> 2] = q[160400];
+  q[a + 76 >> 2] = b;
+  return a;
+ }
+ J(272224, 272249, 269, 272264);
+ F();
+}
+function YU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0;
+ a : {
+  e = c + -2 | 0;
+  c = b + 2 | 0;
+  if ((e - c | 0) >= 2) {
+   g = a + 72 | 0;
+   while (1) {
+    a = b;
+    b = c;
+    if (r[a + 2 | 0]) {
+     break a;
+    }
+    c = r[a + 3 | 0];
+    a = c << 24 >> 24;
+    c = r[c + g | 0] + -9 | 0;
+    b : {
+     c : {
+      if (c >>> 0 > 26) {
+       break c;
+      }
+      f = 1 << c;
+      if (f & 132499443) {
+       break b;
+      }
+      if (!(f & 139264)) {
+       if ((c | 0) != 12) {
+        break c;
+       }
+       if ((a | 0) != 9) {
+        break b;
+       }
+       break a;
+      }
+      if ((a | 0) > -1) {
+       break b;
+      }
+     }
+     if ((a | 0) == 36) {
+      break b;
+     }
+     if ((a | 0) != 64) {
+      break a;
+     }
+    }
+    c = b + 2 | 0;
+    if ((e - c | 0) > 1) {
+     continue;
+    }
+    break;
+   }
+  }
+  return 1;
+ }
+ q[d >> 2] = b;
+ return 0;
+}
+function Nf(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ h = 35;
+ a : {
+  if (!(r[a + 8 | 0] & 2)) {
+   break a;
+  }
+  h = 7;
+  if (q[b >> 2]) {
+   break a;
+  }
+  d = q[b + 4 >> 2];
+  f = d;
+  i = q[b + 8 >> 2];
+  g = i;
+  h = 23;
+  e = q[b + 12 >> 2];
+  if (e) {
+   f = (w(d, e) + 36 | 0) / 72 | 0;
+  }
+  e = f;
+  b = q[b + 16 >> 2];
+  if (b) {
+   g = (w(b, i) + 36 | 0) / 72 | 0;
+  }
+  b = i ? g : f;
+  f = (d ? e : b) + 32 & -64;
+  if (!f) {
+   break a;
+  }
+  e = (d ? b : g) + 32 & -64;
+  if (!e) {
+   break a;
+  }
+  d = q[a + 28 >> 2];
+  if ((d | 0) < 1) {
+   break a;
+  }
+  a = q[a + 32 >> 2];
+  b = 0;
+  while (1) {
+   g = a + (b << 4) | 0;
+   if (!((e | 0) != (q[g + 12 >> 2] + 32 & -64) | (f | 0) != (q[g + 8 >> 2] + 32 & -64))) {
+    h = 0;
+    if (!c) {
+     break a;
+    }
+    q[c >> 2] = b;
+    return 0;
+   }
+   b = b + 1 | 0;
+   if ((b | 0) < (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return h;
+}
+function cF(a, b) {
+ var c = 0, d = 0, e = 0;
+ e = Ca - 48 | 0;
+ Ca = e;
+ c = e;
+ q[c + 16 >> 2] = 0;
+ q[c + 20 >> 2] = 0;
+ o[c + 21 | 0] = 0;
+ o[c + 22 | 0] = 0;
+ o[c + 23 | 0] = 0;
+ o[c + 24 | 0] = 0;
+ o[c + 25 | 0] = 0;
+ o[c + 26 | 0] = 0;
+ o[c + 27 | 0] = 0;
+ o[c + 28 | 0] = 0;
+ q[c + 32 >> 2] = 0;
+ q[c + 36 >> 2] = 0;
+ q[c + 8 >> 2] = 0;
+ q[c + 12 >> 2] = 0;
+ o[c + 44 | 0] = 0;
+ q[c + 40 >> 2] = 65536;
+ c = $E(c + 8 | 0, Hq(a ? a : 271040));
+ d = N$(1, 8);
+ a : {
+  if (!d) {
+   a = 641320;
+   break a;
+  }
+  q[d + 4 >> 2] = b;
+  q[d >> 2] = c;
+  a = N$(1, 208);
+  b : {
+   if (a) {
+    q[a + 8 >> 2] = 0;
+    c = a;
+    q[c >> 2] = 1;
+    q[c + 4 >> 2] = 1;
+    q[c + 32 >> 2] = -1;
+    q[c + 20 >> 2] = 568;
+    q[c + 16 >> 2] = d;
+    q[c + 12 >> 2] = 569;
+    q[c + 36 >> 2] = c;
+    Db(c + 48 | 0, c);
+    break b;
+   }
+   Cq(c);
+   M$(d);
+   a = 641320;
+  }
+  q[a + 24 >> 2] = b;
+ }
+ Ca = e + 48 | 0;
+ return a;
+}
+function JR(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = -1;
+ a : {
+  f = q[a + 12 >> 2] + a | 0;
+  if (!f) {
+   break a;
+  }
+  i = b >>> 8 | 0;
+  g = q[a + 4 >> 2];
+  c = g + -1 | 0;
+  b : {
+   if ((g | 0) >= 1) {
+    j = i & 65535;
+    while (1) {
+     d = c + h | 0;
+     e = d >> 1;
+     d = s[(d & -2) + f >> 1];
+     if ((d | 0) == (j | 0)) {
+      break b;
+     }
+     d = d >>> 0 < j >>> 0;
+     h = d ? e + 1 | 0 : h;
+     c = d ? c : e + -1 | 0;
+     if ((h | 0) <= (c | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (!((c | 0) >= (g | 0) | s[(c << 1) + f >> 1] >= (i & 65535) >>> 0 ? (c | 0) >= 0 : 0)) {
+    c = c + 1 | 0;
+   }
+   e = c ^ -1;
+  }
+  if ((e | 0) < 0) {
+   break a;
+  }
+  a = q[a + 8 >> 2] + a | 0;
+  return q[a + (e << 2) >> 2] + a | 0;
+ }
+ c = N$(1, 32);
+ c : {
+  if (c) {
+   if (KR(a, b, c, e ^ -1)) {
+    break c;
+   }
+   M$(c);
+  }
+  c = 0;
+ }
+ return c;
+}
+function Vp(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0;
+ q[c >> 2] = -1;
+ q[d >> 2] = -1;
+ e = s[a + 340 >> 1];
+ if (e) {
+  g = e >>> 0 > 1 ? e : 1;
+  h = q[a + 356 >> 2];
+  a = 0;
+  while (1) {
+   e = w(a, 20) + h | 0;
+   a : {
+    if (s[e + 6 >> 1] != (b | 0) | !s[e + 8 >> 1]) {
+     break a;
+    }
+    f = s[e >> 1] + -1 | 0;
+    if (f >>> 0 > 2) {
+     break a;
+    }
+    b : {
+     switch (f - 1 | 0) {
+     case 1:
+      if (s[e + 2 >> 1] > 1 | (q[c >> 2] != -1 ? s[e + 4 >> 1] != 1033 : 0)) {
+       break a;
+      }
+      q[c >> 2] = a;
+      break a;
+     case 0:
+      break a;
+     default:
+      break b;
+     }
+    }
+    if (s[e + 2 >> 1] | (q[d >> 2] != -1 ? s[e + 4 >> 1] : 0)) {
+     break a;
+    }
+    q[d >> 2] = a;
+   }
+   a = a + 1 | 0;
+   if ((g | 0) != (a | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return (q[c >> 2] <= -1 ? q[d >> 2] > -1 : 1) | 0;
+}
+function Ku(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (!yu(c ? c + a | 0 : 271040, q[b + 8 >> 2])) {
+   break a;
+  }
+  c = a;
+  a = r[a + 11 | 0] | r[a + 10 | 0] << 8;
+  c = a ? c + a | 0 : 271040;
+  a = r[c | 0] | r[c + 1 | 0] << 8;
+  a = ((a << 24 | a << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+  if (a >>> 0 > 1) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (!(a - 1)) {
+   d = r[c + 3 | 0];
+   a = r[c + 2 | 0];
+   f = d | a << 8;
+   if (!f) {
+    break a;
+   }
+   b = 0;
+   while (1) {
+    a = ((a & 255) << 8 | d) >>> 0 > b >>> 0 ? (c + w(b, 6) | 0) + 4 | 0 : 271432;
+    if (r[a + 4 | 0] << 8 | r[a + 5 | 0]) {
+     if (!tF(e, r[a + 1 | 0] | r[a | 0] << 8, r[a + 3 | 0] | r[a + 2 | 0] << 8)) {
+      break a;
+     }
+    }
+    b = b + 1 | 0;
+    if ((f | 0) == (b | 0)) {
+     break a;
+    }
+    d = r[c + 3 | 0];
+    a = r[c + 2 | 0];
+    continue;
+   }
+  }
+  Lu(c, e);
+ }
+}
+function CU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0;
+ a : {
+  e = c + -2 | 0;
+  c = b + 2 | 0;
+  if ((e - c | 0) >= 2) {
+   g = a + 72 | 0;
+   while (1) {
+    a = b;
+    b = c;
+    if (r[a + 3 | 0]) {
+     break a;
+    }
+    c = r[b | 0];
+    a = c << 24 >> 24;
+    c = r[c + g | 0] + -9 | 0;
+    b : {
+     c : {
+      if (c >>> 0 > 26) {
+       break c;
+      }
+      f = 1 << c;
+      if (f & 132499443) {
+       break b;
+      }
+      if (!(f & 139264)) {
+       if ((c | 0) != 12) {
+        break c;
+       }
+       if ((a | 0) != 9) {
+        break b;
+       }
+       break a;
+      }
+      if ((a | 0) > -1) {
+       break b;
+      }
+     }
+     if ((a | 0) == 36) {
+      break b;
+     }
+     if ((a | 0) != 64) {
+      break a;
+     }
+    }
+    c = b + 2 | 0;
+    if ((e - c | 0) > 1) {
+     continue;
+    }
+    break;
+   }
+  }
+  return 1;
+ }
+ q[d >> 2] = b;
+ return 0;
+}
+function rK(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0;
+ d = q[q[a + 4 >> 2] + 712 >> 2];
+ a : {
+  b : {
+   if (!q[d + 2024 >> 2]) {
+    d = d + 1372 | 0;
+    break b;
+   }
+   e = n[q[q[d + 3088 >> 2] + 8 >> 2]](d + 3052 | 0, c) | 0;
+   c = 3;
+   if (t[d + 2024 >> 2] <= e >>> 0) {
+    break a;
+   }
+   d = q[(d + (e << 2) | 0) + 2028 >> 2];
+   if (!b | !q[a + 68 >> 2]) {
+    break b;
+   }
+   q[a + 72 >> 2] = q[(q[q[b + 40 >> 2] >> 2] + (e << 2) | 0) + 4 >> 2];
+  }
+  b = q[d + 620 >> 2];
+  q[a + 728 >> 2] = b;
+  q[a + 744 >> 2] = q[d + 644 >> 2];
+  c = 0;
+  e = a;
+  f = 0;
+  c : {
+   if (q[q[a + 108 >> 2] + 1416 >> 2] == 1) {
+    break c;
+   }
+   f = 107;
+   if (b >>> 0 < 1240) {
+    break c;
+   }
+   f = b >>> 0 < 33900 ? 1131 : 32768;
+  }
+  q[e + 736 >> 2] = f;
+  q[a + 584 >> 2] = q[d + 540 >> 2];
+  b = q[d + 544 >> 2];
+  q[a + 768 >> 2] = d;
+  q[a + 588 >> 2] = b;
+ }
+ return c | 0;
+}
+function UR(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  f = q[a + 12 >> 2] + a | 0;
+  if (!f) {
+   break a;
+  }
+  i = b >>> 8 | 0;
+  g = q[a + 4 >> 2];
+  c = g + -1 | 0;
+  b : {
+   if ((g | 0) >= 1) {
+    j = i & 65535;
+    while (1) {
+     d = c + h | 0;
+     e = d >> 1;
+     d = s[(d & -2) + f >> 1];
+     if ((d | 0) == (j | 0)) {
+      break b;
+     }
+     d = d >>> 0 < j >>> 0;
+     h = d ? e + 1 | 0 : h;
+     c = d ? c : e + -1 | 0;
+     if ((h | 0) <= (c | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   if (!((c | 0) >= (g | 0) | s[(c << 1) + f >> 1] >= (i & 65535) >>> 0 ? (c | 0) >= 0 : 0)) {
+    c = c + 1 | 0;
+   }
+   e = c ^ -1;
+  }
+  c = 0;
+  if ((e | 0) < 0) {
+   break a;
+  }
+  a = q[a + 8 >> 2] + a | 0;
+  a = q[a + (e << 2) >> 2] + a | 0;
+  if (!a) {
+   break a;
+  }
+  c = q[a + (b >>> 3 & 28) >> 2] >>> (b & 31) & 1;
+ }
+ return c;
+}
+function wx(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = q[b + 4 >> 2];
+ a : {
+  if (d >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  if (g) {
+   i = d;
+   d = a + 2 | 0;
+   if (i >>> 0 > d >>> 0 | e >>> 0 < d >>> 0 | e - d >>> 0 < g << 2 >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   h = 1;
+   f = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!f) {
+    break a;
+   }
+   h = 0;
+   e = 0;
+   while (1) {
+    d = (e << 2) + a | 0;
+    g = q[c >> 2];
+    if (!Dx(d + 2 | 0, b, g)) {
+     break a;
+    }
+    if (!Dx(d + 4 | 0, b, g)) {
+     break a;
+    }
+    e = e + 1 | 0;
+    if ((f | 0) != (e | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  h = 1;
+ }
+ return h;
+}
+function DQ(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ d = L$(g0(a) + 1 | 0);
+ if (d) {
+  c = d;
+  while (1) {
+   e = r[a | 0];
+   if (!(e ? (e | 0) != 47 : 0)) {
+    a : {
+     if (!b) {
+      break a;
+     }
+     f = (b ^ -1) + a | 0;
+     if (f >>> 0 > 2) {
+      break a;
+     }
+     b : {
+      switch (f - 1 | 0) {
+      default:
+       c = c + -1 | 0;
+       break a;
+      case 0:
+       c = jZ(b, 484712, 2) ? c : c + -2 | 0;
+       break a;
+      case 1:
+       break b;
+      }
+     }
+     if (jZ(b, 484715, 3)) {
+      break a;
+     }
+     b = c + -3 | 0;
+     c = d >>> 0 < b >>> 0 ? d : b;
+     while (1) {
+      if (b >>> 0 <= d >>> 0) {
+       break a;
+      }
+      b = b + -1 | 0;
+      if (r[b | 0] != 47) {
+       continue;
+      }
+      break;
+     }
+     c = b;
+    }
+    b = a;
+   }
+   o[c | 0] = e;
+   c = c + 1 | 0;
+   a = a + 1 | 0;
+   if (e) {
+    continue;
+   }
+   break;
+  }
+ }
+ return d;
+}
+function xP(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ e = q[a >> 2];
+ c = q[b >> 2];
+ if ((e | 0) != (c | 0)) {
+  return e - c | 0;
+ }
+ a : {
+  c = q[a + 4 >> 2];
+  d = q[b + 4 >> 2];
+  if ((c | 0) != (d | 0)) {
+   break a;
+  }
+  c = q[a + 8 >> 2];
+  d = q[b + 8 >> 2];
+  if ((c | 0) != (d | 0)) {
+   break a;
+  }
+  b : {
+   c = q[a + 12 >> 2];
+   d = q[b + 12 >> 2];
+   if ((c | 0) != (d | 0)) {
+    a = e + -1 | 0;
+    if (a >>> 0 > 2) {
+     break a;
+    }
+    c : {
+     switch (a - 1 | 0) {
+     case 0:
+      break a;
+     case 1:
+      break b;
+     default:
+      break c;
+     }
+    }
+    if (!c) {
+     return -1;
+    }
+    if (d) {
+     break a;
+    }
+    return 1;
+   }
+   return q[a + 16 >> 2] - q[b + 16 >> 2] | 0;
+  }
+  a = -1;
+  d : {
+   if ((c | 0) == 1033) {
+    break d;
+   }
+   a = 1;
+   if ((d | 0) == 1033) {
+    break d;
+   }
+   break a;
+  }
+  return a | 0;
+ }
+ return c - d | 0;
+}
+function rQ(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ e = 1;
+ a : {
+  b : {
+   if ((c | 0) < 1) {
+    break b;
+   }
+   while (1) {
+    g = r[b | 0];
+    d = q[a + 12 >> 2];
+    c : {
+     if ((d | 0) != q[a + 16 >> 2]) {
+      f = q[a >> 2];
+      break c;
+     }
+     e = 0;
+     if (q[a + 8 >> 2]) {
+      break b;
+     }
+     d : {
+      if (!q[a + 4 >> 2]) {
+       e = d - -64 | 0;
+       f = L$(e);
+       if (!f) {
+        break a;
+       }
+       q[a + 4 >> 2] = 1;
+       Y$(f, q[a >> 2], d);
+       break d;
+      }
+      e = d << 1;
+      f = O$(q[a >> 2], e);
+      if (!f) {
+       break a;
+      }
+      d = q[a + 12 >> 2];
+     }
+     q[a >> 2] = f;
+     q[a + 16 >> 2] = e;
+    }
+    b = b + 1 | 0;
+    e = 1;
+    q[a + 12 >> 2] = d + 1;
+    o[d + f | 0] = g;
+    d = (c | 0) > 1;
+    c = c + -1 | 0;
+    if (d) {
+     continue;
+    }
+    break;
+   }
+  }
+  return e;
+ }
+ q[a + 8 >> 2] = 1;
+ return 0;
+}
+function kQ(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  if (!b) {
+   q[c >> 2] = 0;
+   break a;
+  }
+  b : {
+   while (1) {
+    if ((b | 0) < 2) {
+     break b;
+    }
+    e = r[a | 0];
+    g = r[a + 1 | 0] | e << 8;
+    f = a + 2 | 0;
+    if ((e & 252) == 216) {
+     if ((b | 0) < 4) {
+      break b;
+     }
+     e = r[f | 0];
+     if ((e & 252) != 220) {
+      break b;
+     }
+     g = (r[f + 1 | 0] | (e << 8 & 768 | g << 10 & 1047552)) + 65536 | 0;
+     f = a + 4 | 0;
+    }
+    e = f - a | 0;
+    if ((e | 0) < 1) {
+     break b;
+    }
+    h = g >>> 0 > h >>> 0 ? g : h;
+    i = i + 1 | 0;
+    a = f;
+    b = b - e | 0;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+   q[c >> 2] = i;
+   c : {
+    if (h >>> 0 >= 65536) {
+     q[d >> 2] = 4;
+     break c;
+    }
+    if (h >>> 0 < 257) {
+     break a;
+    }
+    q[d >> 2] = 2;
+   }
+   j = 1;
+  }
+  return j;
+ }
+ q[d >> 2] = 1;
+ return 1;
+}
+function qx(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  h = q[b + 4 >> 2];
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  g = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!i) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | h >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < i >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   e = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!e) {
+    break b;
+   }
+   if (rx(c + e | 0, b, q[d >> 2])) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   g = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   g = 1;
+  }
+  return g;
+ }
+ return 0;
+}
+function Wv(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  h = q[b + 4 >> 2];
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  g = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!i) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | h >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < i >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   e = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!e) {
+    break b;
+   }
+   if (Xv(c + e | 0, b, q[d >> 2])) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   g = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   g = 1;
+  }
+  return g;
+ }
+ return 0;
+}
+function Sv(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  h = q[b + 4 >> 2];
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  g = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!i) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | h >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < i >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   e = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!e) {
+    break b;
+   }
+   if (Tv(c + e | 0, b, q[d >> 2])) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   g = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   g = 1;
+  }
+  return g;
+ }
+ return 0;
+}
+function Qv(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  h = q[b + 4 >> 2];
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  g = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!i) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | h >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < i >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   e = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!e) {
+    break b;
+   }
+   if (Rv(c + e | 0, b, q[d >> 2])) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   g = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   g = 1;
+  }
+  return g;
+ }
+ return 0;
+}
+function Gx(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  h = q[b + 4 >> 2];
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  g = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!i) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | h >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < i >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   e = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!e) {
+    break b;
+   }
+   if (Ix(c + e | 0, b, q[d >> 2])) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   g = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   g = 1;
+  }
+  return g;
+ }
+ return 0;
+}
+function Bx(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  h = q[b + 4 >> 2];
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  g = 1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  i = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!i) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | h >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (e - c >>> 0 < i >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   e = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!e) {
+    break b;
+   }
+   if (Cx(c + e | 0, b, q[d >> 2])) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   g = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   g = 1;
+  }
+  return g;
+ }
+ return 0;
+}
+function DR(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ b = Ca + -64 | 0;
+ Ca = b;
+ a : {
+  if (!a) {
+   break a;
+  }
+  b : {
+   if (!NY(a, 2)) {
+    q[b + 52 >> 2] = 0;
+    q[b + 48 >> 2] = 488297;
+    e = uQ(a, b + 48 | 0);
+    if (!e) {
+     break a;
+    }
+    d = iR(e);
+    if (d) {
+     if (jR(d)) {
+      c = q[d + 4 >> 2];
+      q[b + 32 >> 2] = 420;
+      c = SQ(c, 66, b + 32 | 0);
+      c : {
+       if ((c | 0) == -1) {
+        break c;
+       }
+       c = yZ(c, 488310);
+       if (!c) {
+        break c;
+       }
+       c0(488096, 200, 1, c);
+       CZ(c);
+       f = (kR(d) | 0) != 0;
+      }
+      lR(d);
+     }
+     M$(d);
+    }
+    M$(e);
+    if (!(r[643388] & 16)) {
+     break a;
+    }
+    if (!f) {
+     break b;
+    }
+    q[b + 16 >> 2] = a;
+    d0(488313, b + 16 | 0);
+    break a;
+   }
+   if (!(r[643388] & 16)) {
+    break a;
+   }
+  }
+  q[b >> 2] = a;
+  d0(488341, b);
+ }
+ Ca = b - -64 | 0;
+}
+function Bo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ d = q[b >> 2];
+ if ((d | 0) == -1) {
+  return 0;
+ }
+ f = q[a + 16 >> 2];
+ a = f;
+ c = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+ e = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+ c = d + 1 | 0;
+ c = c >>> 0 < e >>> 0 ? e : c;
+ d = c - e | 0;
+ a = r[a + 16 | 0] | r[a + 17 | 0] << 8 | (r[a + 18 | 0] << 16 | r[a + 19 | 0] << 24);
+ g = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ if (d >>> 0 >= g >>> 0) {
+  q[b >> 2] = c;
+  return 0;
+ }
+ e = e + g | 0;
+ a = ((d << 1) + f | 0) + 20 | 0;
+ while (1) {
+  f = r[a + 1 | 0] | r[a | 0] << 8;
+  if (f) {
+   q[b >> 2] = c;
+   return f | 0;
+  }
+  if ((c | 0) == -1) {
+   return 0;
+  }
+  a = a + 2 | 0;
+  c = c + 1 | 0;
+  d = d + 1 | 0;
+  if ((g | 0) != (d | 0)) {
+   continue;
+  }
+  break;
+ }
+ q[b >> 2] = e;
+ return 0;
+}
+function Wf(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ a : {
+  if (!a) {
+   f = 35;
+   break a;
+  }
+  f = 38;
+  if (!b) {
+   break a;
+  }
+  d = q[a + 40 >> 2];
+  if (!d) {
+   break a;
+  }
+  f = 6;
+  g = q[a + 36 >> 2];
+  if ((g | 0) < 1) {
+   break a;
+  }
+  g = (g << 2) + d | 0;
+  while (1) {
+   b : {
+    if (q[d >> 2] != (b | 0)) {
+     break b;
+    }
+    c = q[b >> 2];
+    c : {
+     if (!c) {
+      break c;
+     }
+     c = q[c + 96 >> 2];
+     h = q[q[c >> 2] + 32 >> 2];
+     if (!h) {
+      break c;
+     }
+     c = n[h](c, 3824) | 0;
+     if (!c) {
+      break c;
+     }
+     if (n[q[c >> 2]](b, e + 8 | 0)) {
+      break c;
+     }
+     if (q[e + 12 >> 2] == 14) {
+      break b;
+     }
+    }
+    q[a + 92 >> 2] = q[d >> 2];
+    f = 0;
+    break a;
+   }
+   d = d + 4 | 0;
+   if (d >>> 0 < g >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = e + 16 | 0;
+ return f;
+}
+function Id(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ c = Ca + -64 | 0;
+ Ca = c;
+ d = q[b + 40 >> 2];
+ a : {
+  b : {
+   c : {
+    e = q[b + 36 >> 2];
+    if ((e | 0) >= 1) {
+     if ((d | 0) > 0) {
+      break a;
+     }
+     if ((e | 0) != 1280) {
+      break c;
+     }
+     q[b + 40 >> 2] = 1024;
+     q[c >> 2] = 1024;
+     Yd(a, 2, 1814, c);
+     break a;
+    }
+    if ((d | 0) > 0) {
+     break b;
+    }
+    Yd(a, 2, 1758, 0);
+    q[b + 36 >> 2] = 384;
+    q[b + 40 >> 2] = 288;
+    break a;
+   }
+   f = b;
+   b = w(e, 3);
+   b = (b | 0) < 4 ? 1 : (b | 0) / 4 | 0;
+   q[f + 40 >> 2] = b;
+   q[c + 16 >> 2] = b;
+   Yd(a, 2, 1814, c + 16 | 0);
+   break a;
+  }
+  if ((d | 0) == 1024) {
+   q[b + 36 >> 2] = 1280;
+   q[c + 32 >> 2] = 1280;
+   Yd(a, 2, 1848, c + 32 | 0);
+   break a;
+  }
+  f = b;
+  b = (d << 2) / 3 | 0;
+  q[f + 36 >> 2] = b;
+  q[c + 48 >> 2] = b;
+  Yd(a, 2, 1848, c + 48 | 0);
+ }
+ Ca = c - -64 | 0;
+}
+function Bs(a, b, c) {
+ var d = 0, e = 0;
+ a : {
+  if ((r[a + 1 | 0] | r[a | 0] << 8) == 10) {
+   b : {
+    c = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+    if (c >>> 0 <= b >>> 0) {
+     b = b - c | 0;
+     if (b >>> 0 < (r[a + 7 | 0] | r[a + 6 | 0] << 8) >>> 0) {
+      break b;
+     }
+    }
+    a = q[67760];
+    return a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+   }
+   d = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   if (!d) {
+    return 0;
+   }
+   c = 0;
+   e = a;
+   a = w(b, d);
+   a = (a | 0) < 0 ? 271040 : (e + a | 0) + 8 | 0;
+   b = 0;
+   while (1) {
+    b = r[a | 0] | b << 8;
+    a = a + 1 | 0;
+    c = c + 1 | 0;
+    if ((d | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  a = Ds(a, b, c);
+  a = a ? a : 271040;
+  a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  b = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ }
+ return b;
+}
+function eM(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  if (q[a >> 2] != q[b >> 2] | q[a + 4 >> 2] != q[b + 4 >> 2] | (q[a + 8 >> 2] != q[b + 8 >> 2] | q[a + 12 >> 2] != q[b + 12 >> 2])) {
+   break a;
+  }
+  if (q[a + 16 >> 2] != q[b + 16 >> 2]) {
+   break a;
+  }
+  d = q[a + 20 >> 2];
+  if ((d | 0) != q[b + 20 >> 2]) {
+   break a;
+  }
+  if (!d) {
+   return 1;
+  }
+  f = q[b + 24 >> 2];
+  b = q[a + 24 >> 2];
+  while (1) {
+   b : {
+    a = w(e, 24);
+    c = a + b | 0;
+    a = a + f | 0;
+    if (q[c >> 2] != q[a >> 2] | q[c + 4 >> 2] != q[a + 4 >> 2] | (q[c + 8 >> 2] != q[a + 8 >> 2] | q[c + 12 >> 2] != q[a + 12 >> 2])) {
+     break b;
+    }
+    if (q[c + 16 >> 2] != q[a + 16 >> 2] | q[c + 20 >> 2] != q[a + 20 >> 2]) {
+     break b;
+    }
+    c = 1;
+    e = e + 1 | 0;
+    if ((d | 0) != (e | 0)) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  c = 0;
+ }
+ return c | 0;
+}
+function tm(a) {
+ var b = 0, c = 0, d = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  b = q[a + 28 >> 2];
+  if (!b) {
+   break a;
+  }
+  d = q[a + 36 >> 2];
+  if (!d) {
+   break a;
+  }
+  c = q[b + 20 >> 2];
+  if (c) {
+   b = q[c >> 2];
+   if ((b & -2) == 4) {
+    n[d](q[a + 40 >> 2], q[c + 12 >> 2]);
+    b = q[c >> 2];
+   }
+   if ((b | 0) == 6) {
+    n[q[a + 36 >> 2]](q[a + 40 >> 2], q[c + 4 >> 2]);
+   }
+   q[c + 28 >> 2] = 0;
+   q[c + 32 >> 2] = 0;
+   q[c >> 2] = 0;
+   b = q[c + 40 >> 2];
+   q[c + 52 >> 2] = b;
+   q[c + 48 >> 2] = b;
+   d = q[c + 56 >> 2];
+   if (d) {
+    b = n[d](0, 0, 0) | 0;
+    q[c + 60 >> 2] = b;
+    q[a + 48 >> 2] = b;
+    b = q[c + 40 >> 2];
+   }
+   n[q[a + 36 >> 2]](q[a + 40 >> 2], b);
+   n[q[a + 36 >> 2]](q[a + 40 >> 2], q[c + 36 >> 2]);
+   n[q[a + 36 >> 2]](q[a + 40 >> 2], c);
+   d = q[a + 36 >> 2];
+   b = q[a + 28 >> 2];
+  }
+  n[d](q[a + 40 >> 2], b);
+  q[a + 28 >> 2] = 0;
+ }
+}
+function fA(a, b, c, d, e, f, g, h) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ var i = 0;
+ a = q[b + 8 >> 2];
+ a : {
+  if (a) {
+   break a;
+  }
+  while (1) {
+   a = q[b >> 2];
+   if (!a) {
+    a = 271040;
+    break a;
+   }
+   h = N$(1, 48);
+   if (h) {
+    mF(h, a);
+   }
+   i = q[b + 8 >> 2];
+   a = h ? h : 271040;
+   q[b + 8 >> 2] = i ? i : a;
+   if (!i) {
+    break a;
+   }
+   if (!(!h | !a)) {
+    h = q[a + 44 >> 2];
+    Cq(h ? h : 271040);
+    M$(a);
+   }
+   a = q[b + 8 >> 2];
+   if (!a) {
+    continue;
+   }
+   break;
+  }
+ }
+ h = q[a + 8 >> 2];
+ if (!h) {
+  return 0;
+ }
+ b = 0;
+ b : {
+  if (!c) {
+   break b;
+  }
+  a = q[a + 12 >> 2];
+  while (1) {
+   if (!n[h](a, q[d >> 2], f)) {
+    break b;
+   }
+   f = f + g | 0;
+   d = d + e | 0;
+   b = b + 1 | 0;
+   if ((c | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+  b = c;
+ }
+ return b | 0;
+}
+function aV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ a : {
+  b : {
+   c : {
+    f = b + -11 | 0;
+    if (f >>> 0 > 18) {
+     break c;
+    }
+    d : {
+     switch (f - 1 | 0) {
+     default:
+      return 55;
+     case 1:
+      return 56;
+     case 4:
+      if (!n[q[e + 24 >> 2]](e, (q[e + 64 >> 2] << 1) + c | 0, d, 496352)) {
+       break b;
+      }
+      q[a >> 2] = 912;
+      return 3;
+     case 2:
+     case 3:
+      break a;
+     case 0:
+     case 5:
+     case 6:
+     case 7:
+     case 8:
+     case 9:
+     case 10:
+     case 11:
+     case 12:
+     case 13:
+     case 14:
+     case 15:
+     case 16:
+      break c;
+     case 17:
+      break d;
+     }
+    }
+    q[a >> 2] = 913;
+    return 2;
+   }
+   if ((b | 0) != 28) {
+    break b;
+   }
+   g = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  g = -1;
+ }
+ return g | 0;
+}
+function ox(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  f = 1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  h = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!h) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < h >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   d = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!d) {
+    break b;
+   }
+   if (px(c + d | 0, b)) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   f = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   f = 1;
+  }
+  return f;
+ }
+ return 0;
+}
+function lw(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  f = 1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  h = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!h) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < h >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   d = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!d) {
+    break b;
+   }
+   if (mw(c + d | 0, b)) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   f = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   f = 1;
+  }
+  return f;
+ }
+ return 0;
+}
+function lv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  f = 1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  h = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!h) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < h >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   d = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!d) {
+    break b;
+   }
+   if (mv(c + d | 0, b)) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   f = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   f = 1;
+  }
+  return f;
+ }
+ return 0;
+}
+function dv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  f = 1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  h = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!h) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < h >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   d = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!d) {
+    break b;
+   }
+   if (jv(c + d | 0, b)) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   f = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   f = 1;
+  }
+  return f;
+ }
+ return 0;
+}
+function av(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  f = 1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  h = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!h) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < h >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   d = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!d) {
+    break b;
+   }
+   if (gv(c + d | 0, b)) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   f = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   f = 1;
+  }
+  return f;
+ }
+ return 0;
+}
+function Zu(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  f = 1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  h = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!h) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < h >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   d = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!d) {
+    break b;
+   }
+   if (cv(c + d | 0, b)) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   f = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   f = 1;
+  }
+  return f;
+ }
+ return 0;
+}
+function Lv(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  f = 1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  h = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!h) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < h >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   d = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!d) {
+    break b;
+   }
+   if (Vv(c + d | 0, b)) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   f = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   f = 1;
+  }
+  return f;
+ }
+ return 0;
+}
+function Dx(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < 2) {
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  f = 1;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  h = r[a + 1 | 0] | r[a | 0] << 8;
+  b : {
+   if (!h) {
+    break b;
+   }
+   if (d >>> 0 < c >>> 0 | g >>> 0 > c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < h >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = e + -2;
+   if ((e | 0) < 2) {
+    break a;
+   }
+   d = r[a + 1 | 0] | r[a | 0] << 8;
+   if (!d) {
+    break b;
+   }
+   if (Ex(c + d | 0, b)) {
+    break b;
+   }
+   c = q[b + 24 >> 2];
+   if (c >>> 0 > 31) {
+    break a;
+   }
+   q[b + 24 >> 2] = c + 1;
+   f = 0;
+   if (!r[b + 20 | 0]) {
+    break b;
+   }
+   o[a | 0] = 0;
+   o[a + 1 | 0] = 0;
+   f = 1;
+  }
+  return f;
+ }
+ return 0;
+}
+function CG(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = q[a + 88 >> 2];
+ b = q[a + 72 >> 2];
+ e = q[(d + w(b, 20) | 0) + 8 >> 2];
+ f = b + 1 | 0;
+ a : {
+  b : {
+   if (f >>> 0 < t[a + 76 >> 2]) {
+    if (q[(d + w(f, 20) | 0) + 8 >> 2] == (e | 0)) {
+     break a;
+    }
+    c = q[a + 80 >> 2];
+    if (c) {
+     break b;
+    }
+    wG(a, b, b + 2 | 0);
+    q[a + 72 >> 2] = q[a + 72 >> 2] + 1;
+    return;
+   }
+   c = q[a + 80 >> 2];
+   if (!c) {
+    break a;
+   }
+  }
+  g = q[a + 92 >> 2];
+  h = q[(g + w(c, 20) | 0) + -12 >> 2];
+  if (e >>> 0 >= h >>> 0) {
+   break a;
+  }
+  d = q[(d + w(b, 20) | 0) + 4 >> 2] & 1;
+  while (1) {
+   c = c + -1 | 0;
+   b = w(c, 20) + g | 0;
+   if (q[b + 8 >> 2] != (h | 0)) {
+    break a;
+   }
+   i = q[b + 4 >> 2];
+   q[b + 4 >> 2] = d ? i | 1 : i & -2;
+   q[b + 8 >> 2] = e;
+   if (c) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[a + 72 >> 2] = f;
+}
+function Ml(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[d + 12 >> 2] = 0;
+ a : {
+  if (q[c + 76 >> 2]) {
+   break a;
+  }
+  b : {
+   e = a + 1 | 0;
+   if (e >>> 0 > b >>> 0) {
+    break b;
+   }
+   a = r[a | 0];
+   h = a & 15;
+   f = h + (a >>> 4 | 0) | 0;
+   if ((f << 1) + e >>> 0 > b >>> 0) {
+    break b;
+   }
+   a = Te(q[c >> 2], 4, 0, f, 0, d + 12 | 0);
+   g = q[d + 12 >> 2];
+   if (g) {
+    break a;
+   }
+   q[c + 76 >> 2] = a;
+   q[c - -64 >> 2] = (h << 2) + a;
+   g = 0;
+   if (!f) {
+    break a;
+   }
+   while (1) {
+    b = r[e | 0] | r[e + 1 | 0] << 8;
+    q[a >> 2] = (b << 24 | b << 8 & 16711680) >> 16;
+    a = a + 4 | 0;
+    e = e + 2 | 0;
+    f = f + -1 | 0;
+    if (f) {
+     continue;
+    }
+    break;
+   }
+   g = q[d + 12 >> 2];
+   break a;
+  }
+  g = 8;
+  q[d + 12 >> 2] = 8;
+ }
+ Ca = d + 16 | 0;
+ return g | 0;
+}
+function PS(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ f = q[b + 8 >> 2];
+ d = cP(a, b);
+ a : {
+  if (!d) {
+   break a;
+  }
+  c = q[b + 4 >> 2];
+  q[d >> 2] = q[b >> 2];
+  q[d + 4 >> 2] = c;
+  c = q[b + 12 >> 2];
+  q[d + 8 >> 2] = q[b + 8 >> 2];
+  q[d + 12 >> 2] = c;
+  c = q[b >> 2];
+  q[d + 12 >> 2] = -1;
+  q[d + 4 >> 2] = c;
+  f = b + f | 0;
+  g = cP(a, f);
+  if (!g) {
+   break a;
+  }
+  q[d + 8 >> 2] = g - d;
+  if (q[b >> 2] >= 1) {
+   while (1) {
+    c = h << 3;
+    i = c + f | 0;
+    e = q[i + 4 >> 2];
+    e = QS(a, e & 1 ? (e & -2) + i | 0 : e);
+    if (!e) {
+     return 0;
+    }
+    c = c + g | 0;
+    q[c >> 2] = q[i >> 2];
+    q[c + 4 >> 2] = e - c | 1;
+    h = h + 1 | 0;
+    if ((h | 0) < q[b >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  e = d;
+  if (!(r[643388] & 32)) {
+   break a;
+  }
+  f0(488897);
+  XS(b);
+  f0(488910);
+  XS(d);
+  OZ(10);
+ }
+ return e;
+}
+function Nr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ e = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ a : {
+  if (!e) {
+   g = r[a + 1 | 0] | r[a | 0] << 8;
+   c = 0;
+   break a;
+  }
+  g = r[a + 1 | 0] | r[a | 0] << 8;
+  f = w(g, e + -1 | 0) + a | 0;
+  d = f + 10 | 0;
+  c = 0;
+  if ((r[d | 0] << 8 | r[f + 11 | 0]) != 65535) {
+   break a;
+  }
+  c = (r[d + 3 | 0] | r[d + 2 | 0] << 8) == 65535 ? -1 : 0;
+ }
+ c = c + e | 0;
+ b : {
+  if ((c | 0) >= 1) {
+   f = a + 10 | 0;
+   c = c + -1 | 0;
+   e = q[b >> 2];
+   b = 0;
+   while (1) {
+    d = b + c >>> 1 | 0;
+    a = w(d, g) + f | 0;
+    c : {
+     if ((r[a + 2 | 0] << 8 | r[a + 3 | 0]) >>> 0 > e >>> 0) {
+      c = d + -1 | 0;
+      break c;
+     }
+     if ((r[a + 1 | 0] | r[a | 0] << 8) >>> 0 >= e >>> 0) {
+      break b;
+     }
+     b = d + 1 | 0;
+    }
+    if ((b | 0) <= (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = 0;
+ }
+ return a;
+}
+function tV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ a : {
+  b : {
+   c : {
+    g = b + -15 | 0;
+    if (g >>> 0 > 12) {
+     break c;
+    }
+    f = 11;
+    d : {
+     switch (g - 1 | 0) {
+     case 2:
+      if (n[q[e + 24 >> 2]](e, c, d, 496360)) {
+       q[a >> 2] = 940;
+       return 11;
+      }
+      if (!n[q[e + 24 >> 2]](e, c, d, 496367)) {
+       break b;
+      }
+      q[a >> 2] = 941;
+      return 11;
+     case 0:
+     case 1:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 8:
+     case 9:
+     case 10:
+      break c;
+     case 11:
+      break d;
+     default:
+      break a;
+     }
+    }
+    q[a + 8 >> 2] = 11;
+    q[a >> 2] = 934;
+    return 12;
+   }
+   if ((b | 0) != 28) {
+    break b;
+   }
+   f = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  f = -1;
+ }
+ return f | 0;
+}
+function pV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ a : {
+  b : {
+   c : {
+    g = b + -15 | 0;
+    if (g >>> 0 > 12) {
+     break c;
+    }
+    f = 11;
+    d : {
+     switch (g - 1 | 0) {
+     case 2:
+      if (n[q[e + 24 >> 2]](e, c, d, 496360)) {
+       q[a >> 2] = 932;
+       return 11;
+      }
+      if (!n[q[e + 24 >> 2]](e, c, d, 496367)) {
+       break b;
+      }
+      q[a >> 2] = 933;
+      return 11;
+     case 0:
+     case 1:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 8:
+     case 9:
+     case 10:
+      break c;
+     case 11:
+      break d;
+     default:
+      break a;
+     }
+    }
+    q[a + 8 >> 2] = 11;
+    q[a >> 2] = 934;
+    return 12;
+   }
+   if ((b | 0) != 28) {
+    break b;
+   }
+   f = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  f = -1;
+ }
+ return f | 0;
+}
+function ex(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ d = c ? c + a | 0 : 271040;
+ c = q[b + 96 >> 2];
+ if ((ct(d, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]) | 0) != -1) {
+  c = r[a + 5 | 0];
+  f = r[a + 9 | 0];
+  h = r[a + 4 | 0];
+  i = r[a + 8 | 0];
+  g = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+  g = g ? g + a | 0 : 271040;
+  d = q[b + 96 >> 2];
+  d = at(g, q[q[d + 88 >> 2] + w(q[d + 72 >> 2], 20) >> 2]);
+  d = (r[a + 11 | 0] | r[a + 10 | 0] << 8) >>> 0 > d >>> 0 ? ((d << 1) + a | 0) + 12 | 0 : 271040;
+  j = r[d + 1 | 0];
+  d = r[d | 0];
+  f = f | i << 8;
+  q[e + 12 >> 2] = f ? f + a | 0 : 271040;
+  q[e + 8 >> 2] = g;
+  c = c | h << 8;
+  q[e + 4 >> 2] = c ? c + a | 0 : 271040;
+  q[e >> 2] = 434;
+  c = a;
+  a = d << 8 | j;
+  f = bx(a ? c + a | 0 : 271040, b, e);
+ }
+ Ca = e + 16 | 0;
+ return f;
+}
+function Fh(a) {
+ var b = 0, c = 0, d = 0;
+ c = q[q[a >> 2] + 100 >> 2];
+ b = q[a + 300 >> 2];
+ if (b) {
+  q[b + 444 >> 2] = 0;
+  d = q[b + 8 >> 2];
+  Qe(d, q[b + 24 >> 2]);
+  q[b + 20 >> 2] = 0;
+  q[b + 24 >> 2] = 0;
+  Qe(d, q[b + 440 >> 2]);
+  q[b + 440 >> 2] = 0;
+  q[b + 432 >> 2] = 0;
+  q[b + 436 >> 2] = 0;
+  Qe(d, q[b + 396 >> 2]);
+  q[b + 392 >> 2] = 0;
+  q[b + 396 >> 2] = 0;
+  q[b >> 2] = 0;
+  q[b + 4 >> 2] = 0;
+  Qe(d, b);
+  q[a + 300 >> 2] = 0;
+ }
+ Qe(c, q[a + 252 >> 2]);
+ q[a + 248 >> 2] = 0;
+ q[a + 252 >> 2] = 0;
+ b = a + 260 | 0;
+ Qe(c, q[b >> 2]);
+ p[a + 256 >> 1] = 0;
+ q[b >> 2] = 0;
+ Jh(a + 264 | 0);
+ Qe(c, q[a + 132 >> 2]);
+ q[a + 132 >> 2] = 0;
+ b = a + 144 | 0;
+ Qe(c, q[b >> 2]);
+ q[a + 136 >> 2] = 0;
+ q[a + 140 >> 2] = 0;
+ q[a + 124 >> 2] = 0;
+ q[a + 128 >> 2] = 0;
+ q[b >> 2] = 0;
+ q[b + 4 >> 2] = 0;
+ q[a + 152 >> 2] = 0;
+ q[a + 304 >> 2] = -1;
+ q[a + 308 >> 2] = -1;
+}
+function rV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ a : {
+  b : {
+   c : {
+    g = b + -15 | 0;
+    if (g >>> 0 > 8) {
+     break c;
+    }
+    f = 39;
+    d : {
+     switch (g - 1 | 0) {
+     case 2:
+      if (n[q[e + 24 >> 2]](e, c, d, 496498)) {
+       q[a + 8 >> 2] = 39;
+       q[a >> 2] = 934;
+       return 42;
+      }
+      if (!n[q[e + 24 >> 2]](e, c, d, 496504)) {
+       break b;
+      }
+      q[a + 8 >> 2] = 39;
+      q[a >> 2] = 934;
+      return 41;
+     case 0:
+     case 1:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+      break c;
+     case 7:
+      break d;
+     default:
+      break a;
+     }
+    }
+    q[a + 4 >> 2] = 1;
+    q[a >> 2] = 937;
+    return 44;
+   }
+   if ((b | 0) != 28) {
+    break b;
+   }
+   f = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  f = -1;
+ }
+ return f | 0;
+}
+function UK(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = q[a + 20 >> 2];
+ if (!(r[a + 13 | 0] ? c : 0)) {
+  return Ee(b, q[a + 16 >> 2]);
+ }
+ d = q[a + 24 >> 2];
+ c = c + -1 | 0;
+ e = d >>> 0 > c >>> 0 ? d : c;
+ while (1) {
+  a : {
+   c = d;
+   if ((e | 0) == (c | 0)) {
+    c = e;
+    break a;
+   }
+   d = c + 1 | 0;
+   if (q[(w(d, 20) + a | 0) + 36 >> 2] <= (b | 0)) {
+    continue;
+   }
+  }
+  break;
+ }
+ b : {
+  c : {
+   if (c) {
+    while (1) {
+     d = q[(w(c, 20) + a | 0) + 36 >> 2];
+     if ((d | 0) <= (b | 0)) {
+      break c;
+     }
+     c = c + -1 | 0;
+     if (c) {
+      continue;
+     }
+     break;
+    }
+   }
+   c = 0;
+   q[a + 24 >> 2] = 0;
+   d = q[a + 36 >> 2];
+   if ((d | 0) <= (b | 0)) {
+    break b;
+   }
+   return Ee(b - d | 0, q[a + 16 >> 2]) + q[a + 40 >> 2] | 0;
+  }
+  q[a + 24 >> 2] = c;
+ }
+ a = w(c, 20) + a | 0;
+ return Ee(b - d | 0, q[a + 44 >> 2]) + q[a + 40 >> 2] | 0;
+}
+function Dd(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ a : {
+  if (!b) {
+   break a;
+  }
+  f = L$(c + 1 | 0);
+  if (!f) {
+   break a;
+  }
+  h = Y$(f, b, c) + c | 0, i = 0, o[h | 0] = i;
+  b = N$(1, 96);
+  b : {
+   if (!b) {
+    break b;
+   }
+   q[b + 60 >> 2] = 1;
+   q[b + 84 >> 2] = a;
+   c = N$(1, 32);
+   q[b + 88 >> 2] = c;
+   if (!c) {
+    M$(b);
+    break b;
+   }
+   q[c + 28 >> 2] = 1;
+   d = b;
+  }
+  yd(d, f);
+  c = q[d + 8 >> 2];
+  if ((c | 0) >= 1) {
+   g = q[d + 20 >> 2];
+   b = 0;
+   while (1) {
+    q[(g + w(b, 56) | 0) + 16 >> 2] = b;
+    b = b + 1 | 0;
+    if ((c | 0) != (b | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (!q[d + 32 >> 2]) {
+   td(d);
+   M$(f);
+   d = 0;
+   break a;
+  }
+  xd(d);
+  M$(f);
+  b = q[d >> 2];
+  q[e + 4 >> 2] = q[d + 8 >> 2];
+  q[e >> 2] = b;
+  Yd(a, 4, 1656, e);
+ }
+ Ca = e + 16 | 0;
+ return d;
+}
+function cX(a) {
+ var b = 0, c = 0, d = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ b = q[a >> 2];
+ a : {
+  if (!b) {
+   VW(a, 2, 502181, 0);
+   break a;
+  }
+  b : {
+   if (!q[b + 4 >> 2]) {
+    break b;
+   }
+   b = q[b + 8 >> 2];
+   if (!b) {
+    break b;
+   }
+   c = q[b >> 2];
+   if (!c) {
+    break b;
+   }
+   while (1) {
+    if (r[c | 0]) {
+     q[d >> 2] = c;
+     VW(a, 2, 502201, d);
+    }
+    c = q[b + 8 >> 2];
+    b = b + 8 | 0;
+    if (c) {
+     continue;
+    }
+    break;
+   }
+  }
+  while (1) {
+   b = q[a + 4 >> 2];
+   if (!(!b | q[b + 4 >> 2] != q[a >> 2])) {
+    eX(a);
+    continue;
+   }
+   break;
+  }
+  b = q[a >> 2];
+  q[a >> 2] = q[b >> 2];
+  mQ(b + 12 | 0);
+  c = q[b + 8 >> 2];
+  if (!(!c | (c | 0) == (b + 96 | 0))) {
+   M$(c);
+  }
+  c = q[a + 28 >> 2] + -1 | 0;
+  if ((b | 0) == ((w(c, 160) + a | 0) + 32 | 0)) {
+   q[a + 28 >> 2] = c;
+   break a;
+  }
+  M$(b);
+ }
+ Ca = d + 16 | 0;
+}
+function dN(a) {
+ var b = 0, c = 0;
+ a : while (1) {
+  b : {
+   c : {
+    b = r[a | 0];
+    if ((b | 0) != 92) {
+     if (b) {
+      break c;
+     }
+     c = 0;
+     break b;
+    }
+    a = r[a + 1 | 0] ? a + 2 | 0 : a + 1 | 0;
+    continue;
+   }
+   a = a + 1 | 0;
+   if ((b | 0) != 123) {
+    continue;
+   }
+   while (1) {
+    b = r[a | 0];
+    d : {
+     if ((b | 0) != 92) {
+      if (!b | (b | 0) == 125) {
+       continue a;
+      }
+      break d;
+     }
+     c = 1;
+     b = a + 1 | 0;
+     if (!jZ(b, 355937, 3)) {
+      break b;
+     }
+     if (!jZ(b, 355903, 4)) {
+      break b;
+     }
+     if (!jZ(b, 356054, 4)) {
+      break b;
+     }
+     if (!jZ(b, 355866, 5)) {
+      break b;
+     }
+     if (!jZ(b, 356004, 3)) {
+      break b;
+     }
+     if (!jZ(b, 356097, 3) | r[b | 0] == 112) {
+      break b;
+     }
+    }
+    a = a + 1 | 0;
+    continue;
+   }
+  }
+  break;
+ }
+ return c;
+}
+function QJ(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ o[a + 68 | 0] = 1;
+ q[a + 64 >> 2] = 0;
+ q[a + 8 >> 2] = d;
+ q[a + 4 >> 2] = b;
+ q[a >> 2] = q[b + 100 >> 2];
+ a : {
+  if (!d) {
+   break a;
+  }
+  b = q[q[d + 156 >> 2] >> 2];
+  q[a + 12 >> 2] = b;
+  q[a + 20 >> 2] = b + 56;
+  q[a + 16 >> 2] = b + 20;
+  Pe(b);
+  b = q[q[c + 40 >> 2] >> 2];
+  q[a + 72 >> 2] = 0;
+  q[a + 76 >> 2] = b;
+  if (!e) {
+   break a;
+  }
+  q[a + 72 >> 2] = q[q[d + 156 >> 2] + 36 >> 2];
+ }
+ q[a + 24 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ q[a + 40 >> 2] = 0;
+ q[a + 44 >> 2] = 0;
+ q[a + 32 >> 2] = 0;
+ q[a + 36 >> 2] = 0;
+ b = q[72491];
+ q[a + 80 >> 2] = q[72490];
+ q[a + 84 >> 2] = b;
+ b = q[72493];
+ q[a + 88 >> 2] = q[72492];
+ q[a + 92 >> 2] = b;
+ b = q[72495];
+ q[a + 96 >> 2] = q[72494];
+ q[a + 100 >> 2] = b;
+ b = q[72497];
+ q[a + 104 >> 2] = q[72496];
+ q[a + 108 >> 2] = b;
+}
+function Ef(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ f = Ca - 128 | 0;
+ Ca = f;
+ g = 85;
+ a : {
+  if (!b) {
+   break a;
+  }
+  e = q[b + 20 >> 2];
+  if (e) {
+   if (n[e](b, 0, 0, 0)) {
+    break a;
+   }
+  }
+  q[b + 8 >> 2] = 0;
+  e = q[b + 4 >> 2];
+  if (!e) {
+   break a;
+  }
+  h = q[b + 20 >> 2];
+  b : {
+   if (h) {
+    e = n[h](b, 0, f, 128) | 0;
+    break b;
+   }
+   e = e >>> 0 < 128 ? e : 128;
+   Y$(f, q[b >> 2], e);
+  }
+  q[b + 8 >> 2] = e;
+  if (e >>> 0 < 128) {
+   break a;
+  }
+  g = 2;
+  if (r[f + 82 | 0] | (r[f | 0] | r[f + 74 | 0])) {
+   break a;
+  }
+  e = r[f + 1 | 0];
+  if (r[f + 63 | 0] | (e + -1 & 255) >>> 0 > 32 | r[(f + e | 0) + 2 | 0]) {
+   break a;
+  }
+  e = o[f + 83 | 0];
+  if ((e | 0) < 0) {
+   break a;
+  }
+  g = Ff(a, b, (r[f + 86 | 0] | (r[f + 84 | 0] << 16 | (e & 255) << 24 | r[f + 85 | 0] << 8)) + 255 & -128, c, d);
+ }
+ Ca = f + 128 | 0;
+ return g;
+}
+function vt(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = 271040;
+ c = q[q[q[a >> 2] + 136 >> 2] >> 2];
+ c = c ? c : 271040;
+ c = t[c + 16 >> 2] < 10 ? 271040 : q[c + 12 >> 2];
+ e = r[c + 9 | 0] | r[c + 8 | 0] << 8;
+ c = e ? c + e | 0 : 271040;
+ if ((r[c | 0] << 8 | r[c + 1 | 0]) >>> 0 > b >>> 0) {
+  b = c + (b << 1) | 0;
+  b = r[b + 2 | 0] << 8 | r[b + 3 | 0];
+  d = b ? b + c | 0 : 271040;
+ }
+ a : {
+  e = r[d + 5 | 0];
+  b = r[d + 4 | 0];
+  f = e | b << 8;
+  if (!f) {
+   break a;
+  }
+  g = r[d + 1 | 0] | r[d | 0] << 8;
+  h = d + 4 | 0;
+  c = 0;
+  while (1) {
+   b = ((b & 255) << 8 | e) >>> 0 > c >>> 0 ? ((c << 1) + h | 0) + 2 | 0 : 271040;
+   b = r[b | 0] << 8 | r[b + 1 | 0];
+   wt(b ? b + d | 0 : 271040, a, g);
+   c = c + 1 | 0;
+   if ((f | 0) == (c | 0)) {
+    break a;
+   }
+   e = r[d + 5 | 0];
+   b = r[d + 4 | 0];
+   continue;
+  }
+ }
+}
+function ku(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = x(0), j = 0, k = x(0);
+ if ((r[a + 1 | 0] | r[a | 0] << 8) >>> 0 <= b >>> 0) {
+  return x(0);
+ }
+ f = r[a + 5 | 0];
+ g = r[a + 4 | 0];
+ j = f | g << 8;
+ f = (f << 1 | g << 9) + a | 0;
+ g = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ b = (f + w(j + g | 0, b) | 0) + 6 | 0;
+ if (g) {
+  f = 0;
+  while (1) {
+   h = (f << 1) + a | 0;
+   k = lu(e, r[h + 6 | 0] << 8 | r[h + 7 | 0], c, d);
+   h = r[b | 0] | r[b + 1 | 0] << 8;
+   i = x(i + x(k * x((h << 24 | h << 8 & 16711680) >> 16)));
+   b = b + 2 | 0;
+   f = f + 1 | 0;
+   if ((g | 0) != (f | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ if (g >>> 0 < j >>> 0) {
+  while (1) {
+   f = (g << 1) + a | 0;
+   i = x(i + x(lu(e, r[f + 6 | 0] << 8 | r[f + 7 | 0], c, d) * x(o[b | 0])));
+   b = b + 1 | 0;
+   g = g + 1 | 0;
+   if ((j | 0) != (g | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return i;
+}
+function Ix(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ a : {
+  g = q[b + 4 >> 2];
+  if (g >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 2) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  d = r[a + 1 | 0] | r[a | 0] << 8;
+  if (4294967295 / (c >>> 0) >>> 0 <= d >>> 0 ? c : 0) {
+   break a;
+  }
+  d = w(c, d);
+  if (d >>> 0 > 2147483646) {
+   break a;
+  }
+  if (!d) {
+   return 1;
+  }
+  c = a + 2 | 0;
+  if (g >>> 0 > c >>> 0 | e >>> 0 < c >>> 0 | e - c >>> 0 < d << 1 >>> 0) {
+   break a;
+  }
+  q[b + 12 >> 2] = f + -2;
+  c = 0;
+  if ((f | 0) <= 1) {
+   return 0;
+  }
+  while (1) {
+   if (!Dx((c | 0) < 0 ? 271040 : ((c << 1) + a | 0) + 2 | 0, b, a)) {
+    break a;
+   }
+   c = c + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+  return 1;
+ }
+ return 0;
+}
+function fS(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = q[a + 8 >> 2];
+ g = sR(b, (g0(c) + (q[a >> 2] << 3) | 0) + 49 | 0);
+ e = q[a >> 2];
+ f = q[a + 12 >> 2];
+ b = g + 8 | 0;
+ q[b >> 2] = q[a + 8 >> 2];
+ q[b + 4 >> 2] = f;
+ f = q[a + 4 >> 2];
+ q[g >> 2] = q[a >> 2];
+ q[g + 4 >> 2] = f;
+ q[b >> 2] = 16;
+ i = g + 16 | 0;
+ e = i + (e << 3) | 0;
+ f = e + 32 | 0;
+ if (q[a >> 2]) {
+  j = a + d | 0;
+  b = 0;
+  while (1) {
+   d = b << 3;
+   h = d + i | 0;
+   d = d + j | 0;
+   q[h >> 2] = q[d >> 2];
+   a : {
+    if (q[d >> 2] != 21) {
+     k = d;
+     d = q[d + 4 >> 2];
+     q[h + 4 >> 2] = d & 1 ? k + (d & -2) | 0 : d;
+     break a;
+    }
+    q[h + 4 >> 2] = e;
+   }
+   b = b + 1 | 0;
+   if (b >>> 0 < t[a >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[e + 24 >> 2] = 0;
+ q[e + 8 >> 2] = 3;
+ q[e >> 2] = 0;
+ q[e + 16 >> 2] = f;
+ gZ(f, c);
+ return g;
+}
+function OQ(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ d = Ca - 128 | 0;
+ Ca = d;
+ d = Z$(d, 0, 128);
+ a : {
+  if (!b) {
+   break a;
+  }
+  c = eZ(b, 58);
+  if (c) {
+   while (1) {
+    g = b;
+    b = c - b | 0;
+    f = b >>> 0 < 127 ? b : 127;
+    b = lZ(d, g, f);
+    o[d + f | 0] = 0;
+    b : {
+     if (!r[b | 0]) {
+      break b;
+     }
+     b = IP(b);
+     if (!b) {
+      break b;
+     }
+     e = mZ(b);
+     c : {
+      if (!e) {
+       break c;
+      }
+      if (vQ(a, e)) {
+       break c;
+      }
+      M$(e);
+     }
+     M$(b);
+     e = 1;
+    }
+    b = c + 1 | 0;
+    c = eZ(b, 58);
+    if (c) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (!r[b | 0]) {
+   break a;
+  }
+  b = IP(b);
+  if (!b) {
+   break a;
+  }
+  c = mZ(b);
+  d : {
+   if (!c) {
+    break d;
+   }
+   if (vQ(a, c)) {
+    break d;
+   }
+   M$(c);
+  }
+  M$(b);
+  e = 1;
+ }
+ Ca = d + 128 | 0;
+ return e;
+}
+function ey(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = x(0), i = 0;
+ f = q[b + 88 >> 2];
+ e = r[a + 2 | 0] | r[a + 3 | 0] << 8;
+ h = x(x(q[f + 20 >> 2]) * x((e << 24 | e << 8 & 16711680) >> 16));
+ g = q[f + 16 >> 2];
+ e = q[g + 28 >> 2];
+ if (!e) {
+  e = XF(g);
+  g = q[f + 16 >> 2];
+ }
+ u[c >> 2] = h / x(e >>> 0);
+ i = d;
+ e = r[a + 4 | 0] | r[a + 5 | 0] << 8;
+ h = x(x(q[f + 24 >> 2]) * x((e << 24 | e << 8 & 16711680) >> 16));
+ e = q[g + 28 >> 2];
+ if (!e) {
+  e = XF(g);
+ }
+ u[i >> 2] = h / x(e >>> 0);
+ if (!(q[f + 60 >> 2] ? 0 : !q[f + 48 >> 2])) {
+  e = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+  e = fu(e ? e + a | 0 : 271040, f, q[b + 108 >> 2]);
+  u[c >> 2] = u[c >> 2] + x(e | 0);
+ }
+ if (!(q[f + 60 >> 2] ? 0 : !q[f + 52 >> 2])) {
+  c = a;
+  a = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+  a = gu(a ? c + a | 0 : 271040, f, q[b + 108 >> 2]);
+  u[d >> 2] = u[d >> 2] + x(a | 0);
+ }
+}
+function PM(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0;
+ a : {
+  if (!(q[a - -64 >> 2] != (d | 0) | q[a + 68 >> 2] != (e | 0) | q[a + 56 >> 2] != (b | 0))) {
+   if (q[a + 60 >> 2] == (c | 0)) {
+    break a;
+   }
+  }
+  q[a + 64 >> 2] = d;
+  f = a + 68 | 0;
+  q[f >> 2] = e;
+  g = a + 60 | 0;
+  q[g >> 2] = c;
+  h = a + 56 | 0;
+  q[h >> 2] = b;
+  q[a + 112 >> 2] = q[a + 112 >> 2] + 1;
+  sM(q[a + 748 >> 2]);
+  sM(q[a + 744 >> 2]);
+  sM(q[a + 740 >> 2]);
+  b = q[a + 16 >> 2];
+  q[a + 136 >> 2] = b;
+  c = q[a + 20 >> 2];
+  q[a + 140 >> 2] = c;
+  d = q[a + 64 >> 2];
+  e = q[f >> 2];
+  q[a + 148 >> 2] = (b - d | 0) - e;
+  f = q[h >> 2];
+  g = q[g >> 2];
+  q[a + 144 >> 2] = (c - f | 0) - g;
+  q[a + 156 >> 2] = (b + ((d | 0) > 0 ? 0 - d | 0 : 0) | 0) + ((e | 0) > 0 ? 0 - e | 0 : 0);
+  q[a + 152 >> 2] = (c + ((f | 0) > 0 ? 0 - f | 0 : 0) | 0) + ((g | 0) > 0 ? 0 - g | 0 : 0);
+ }
+}
+function VS(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ c = Ca - 48 | 0;
+ Ca = c;
+ if (a) {
+  f = q[126918];
+  while (1) {
+   cS(c + 16 | 0, a + 8 | 0);
+   e = q[c + 28 >> 2];
+   d = c + 40 | 0;
+   q[d >> 2] = q[c + 24 >> 2];
+   q[d + 4 >> 2] = e;
+   e = q[c + 20 >> 2];
+   q[c + 32 >> 2] = q[c + 16 >> 2];
+   q[c + 36 >> 2] = e;
+   a : {
+    if ((a | 0) == (b | 0)) {
+     d0(488930, 0);
+     break a;
+    }
+    OZ(32);
+   }
+   e = q[d + 4 >> 2];
+   q[c + 8 >> 2] = q[d >> 2];
+   q[c + 12 >> 2] = e;
+   d = q[c + 36 >> 2];
+   q[c >> 2] = q[c + 32 >> 2];
+   q[c + 4 >> 2] = d;
+   SS(f, c);
+   d = q[a + 24 >> 2];
+   if (d >>> 0 <= 2) {
+    d = q[(d << 2) + 489704 >> 2];
+   } else {
+    d = 489656;
+   }
+   d0(d, 0);
+   d = a;
+   a = q[a >> 2];
+   a = a & 1 ? d + (a & -2) | 0 : a;
+   if (a) {
+    continue;
+   }
+   break;
+  }
+ }
+ if (!b) {
+  d0(488941, 0);
+ }
+ Ca = c + 48 | 0;
+}
+function Fe(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ d = (a | 0) < 0 ? -1 : 1;
+ g = (b | 0) < 0 ? 0 - d | 0 : d;
+ d = 2147483647;
+ c = b;
+ b = b >> 31;
+ b = c + b ^ b;
+ a : {
+  if (!b) {
+   break a;
+  }
+  c = a;
+  a = a >> 31;
+  a = c + a ^ a;
+  if (a >>> 0 <= (b >>> 17 ^ 65535) >>> 0) {
+   d = ((a << 16) + (b >>> 1 | 0) >>> 0) / (b >>> 0) | 0;
+   break a;
+  }
+  e = a >>> 16 | 0;
+  c = b >>> 1 | 0;
+  a = c + (a << 16) | 0;
+  c = e + (a >>> 0 < c >>> 0) | 0;
+  if (c >>> 0 >= b >>> 0) {
+   break a;
+  }
+  e = z(c);
+  f = 32 - e | 0;
+  c = a >>> f | c << e;
+  d = (c >>> 0) / (b >>> 0) | 0;
+  c = c - w(b, d) | 0;
+  a = a << e;
+  while (1) {
+   e = c << 1 | a >>> 31;
+   c = e - (e >>> 0 < b >>> 0 ? 0 : b) | 0;
+   d = d << 1 | e >>> 0 >= b >>> 0;
+   a = a << 1;
+   f = f + -1 | 0;
+   if (f) {
+    continue;
+   }
+   break;
+  }
+ }
+ return (g | 0) < 0 ? 0 - d | 0 : d;
+}
+function Kk(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ c = q[a + 712 >> 2];
+ a : {
+  if (r[c + 24 | 0] == 2) {
+   c = kg(ig(q[q[a + 96 >> 2] + 4 >> 2], 9576), 9776, 0);
+   if (!c) {
+    break a;
+   }
+   c = q[c + 4 >> 2];
+   if (!c) {
+    break a;
+   }
+   return n[c](a, b) | 0;
+  }
+  e = kg(q[a + 96 >> 2], 9892, 1);
+  if (!e | !q[c + 20 >> 2]) {
+   break a;
+  }
+  while (1) {
+   a = s[q[c + 1188 >> 2] + (d << 1) >> 1];
+   b : {
+    c : {
+     if (a >>> 0 >= 391) {
+      a = a + -391 | 0;
+      if (t[c + 1356 >> 2] <= a >>> 0) {
+       break b;
+      }
+      a = q[q[c + 1360 >> 2] + (a << 2) >> 2];
+      break c;
+     }
+     a = n[q[e + 20 >> 2]](a) | 0;
+    }
+    if (!a) {
+     break b;
+    }
+    if (!iZ(b, a)) {
+     break a;
+    }
+   }
+   d = d + 1 | 0;
+   if (d >>> 0 < t[c + 20 >> 2]) {
+    continue;
+   }
+   break;
+  }
+  d = 0;
+ }
+ return d | 0;
+}
+function uh(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ d = q[a + 736 >> 2];
+ a : {
+  if (!d) {
+   c = zi(a, 0);
+   if (c) {
+    break a;
+   }
+   d = q[a + 736 >> 2];
+  }
+  c = 6;
+  if (s[a + 14 >> 1] < b >>> 0) {
+   break a;
+  }
+  b : {
+   if (b) {
+    g = q[a + 100 >> 2];
+    f = q[d + 12 >> 2];
+    d = q[f + 16 >> 2] + w(b, 12) | 0;
+    c = n[q[q[a + 540 >> 2] + 144 >> 2]](a, s[d + -8 >> 1], e + 12 | 0) | 0;
+    if (c) {
+     break a;
+    }
+    Qe(g, q[a + 24 >> 2]);
+    q[a + 24 >> 2] = q[e + 12 >> 2];
+    c = Ei(a, q[f >> 2], q[d + -12 >> 2]);
+    d = c + 1 | 0;
+    if (d >>> 0 > 1) {
+     break a;
+    }
+    if (d - 1) {
+     c = 0;
+     break a;
+    }
+    c = 0;
+    break b;
+   }
+   c = Ei(a, 0, 0);
+  }
+  p[a + 6 >> 1] = b;
+  q[a + 8 >> 2] = q[a + 8 >> 2] & -32769;
+ }
+ Ca = e + 16 | 0;
+ return c | 0;
+}
+function Pw(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ d = c ? c + a | 0 : 271040;
+ c = q[b + 96 >> 2];
+ c = ct(d, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]);
+ e = 0;
+ a : {
+  if ((c | 0) == -1) {
+   break a;
+  }
+  d = a;
+  a = (r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0 > c >>> 0 ? ((c << 1) + a | 0) + 6 | 0 : 271040;
+  a = r[a | 0] << 8 | r[a + 1 | 0];
+  a = a ? d + a | 0 : 271040;
+  c = r[a | 0];
+  d = r[a + 1 | 0];
+  g = d | c << 8;
+  e = 0;
+  if (!g) {
+   break a;
+  }
+  while (1) {
+   c = (c << 8 | d) >>> 0 > f >>> 0 ? (a + (f << 1) | 0) + 2 | 0 : 271040;
+   c = r[c | 0] << 8 | r[c + 1 | 0];
+   if (!Qw(c ? c + a | 0 : 271040, b)) {
+    f = f + 1 | 0;
+    if ((g | 0) == (f | 0)) {
+     return 0;
+    } else {
+     d = r[a + 1 | 0];
+     c = r[a | 0];
+     continue;
+    }
+   }
+   break;
+  }
+  e = 1;
+ }
+ return e;
+}
+function eB(a, b, c, d, e) {
+ var f = 0, g = 0;
+ q[e >> 2] = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ e = 0;
+ f = r[a | 0] | r[a + 1 | 0] << 8;
+ f = ((f << 24 | f << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+ a : {
+  if (f >>> 0 > 2) {
+   break a;
+  }
+  b : {
+   switch (f - 1 | 0) {
+   default:
+    return _B(a, b, c, d);
+   case 0:
+    break a;
+   case 1:
+    break b;
+   }
+  }
+  g = a + 8 | 0;
+  f = b + 1 | 0;
+  f = (f | 0) < 0 ? 271040 : g + (f << 1) | 0;
+  b = (b | 0) < 0 ? 271040 : g + (b << 1) | 0;
+  g = r[b | 0] << 8 | r[b + 1 | 0];
+  if ((r[f | 0] << 8 | r[f + 1 | 0]) >>> 0 <= g >>> 0) {
+   break a;
+  }
+  a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+  q[c >> 2] = g + (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24));
+  q[d >> 2] = (r[f + 1 | 0] | r[f | 0] << 8) - (r[b + 1 | 0] | r[b | 0] << 8);
+  e = 1;
+ }
+ return e;
+}
+function aK(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  b : {
+   c = q[a + 28 >> 2];
+   if (r[c + 44 | 0]) {
+    break b;
+   }
+   d = JK(c, q[b >> 2], q[b + 4 >> 2]);
+   if (!d) {
+    break b;
+   }
+   a = q[a + 24 >> 2];
+   if (q[a >> 2]) {
+    break a;
+   }
+   q[a >> 2] = d;
+   return;
+  }
+  d = q[b + 12 >> 2];
+  f = q[b + 8 >> 2];
+  c : {
+   b = q[c + 12 >> 2];
+   if ((p[b + 22 >> 1] + p[b + 58 >> 1] | 0) + 1 >>> 0 > t[b + 4 >> 2]) {
+    b = Ue(b, 1, 0);
+    if (b) {
+     break c;
+    }
+   }
+   a = q[c + 20 >> 2];
+   if (r[c + 45 | 0]) {
+    b = q[a + 8 >> 2];
+    c = p[a + 2 >> 1];
+    e = q[a + 4 >> 2] + (c << 3) | 0;
+    q[e + 4 >> 2] = d >> 10;
+    q[e >> 2] = f >> 10;
+    o[b + c | 0] = 1;
+   }
+   p[a + 2 >> 1] = s[a + 2 >> 1] + 1;
+   return;
+  }
+  a = q[a + 24 >> 2];
+  if (q[a >> 2]) {
+   break a;
+  }
+  q[a >> 2] = b;
+ }
+}
+function zt(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ h = r[a + 1 | 0] | r[a | 0] << 8;
+ if (!h) {
+  return 1;
+ }
+ a : {
+  while (1) {
+   d = (f << 2) + a | 0;
+   d = r[d + 2 | 0] | r[d + 3 | 0] << 8 | (r[d + 4 | 0] << 16 | r[d + 5 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   d = d ? d + a | 0 : 271040;
+   if ((r[d | 0] << 8 | r[d + 1 | 0]) != 1) {
+    return 0;
+   }
+   g = 0;
+   e = r[d + 3 | 0] | r[d + 2 | 0] << 8;
+   if (e >>> 0 < c >>> 0) {
+    g = q[(e << 2) + b >> 2];
+   }
+   e = r[d + 4 | 0] | r[d + 5 | 0] << 8;
+   if ((g | 0) < (e << 24 | e << 8 & 16711680) >> 16) {
+    break a;
+   }
+   d = r[d + 6 | 0] | r[d + 7 | 0] << 8;
+   if ((g | 0) > (d << 24 | d << 8 & 16711680) >> 16) {
+    break a;
+   }
+   f = f + 1 | 0;
+   if ((h | 0) != (f | 0)) {
+    continue;
+   }
+   break;
+  }
+  return 1;
+ }
+ return 0;
+}
+function qQ(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ f = r[b | 0];
+ if (!f) {
+  return 1;
+ }
+ a : {
+  while (1) {
+   b : {
+    c = q[a + 12 >> 2];
+    c : {
+     if ((c | 0) != q[a + 16 >> 2]) {
+      d = q[a >> 2];
+      break c;
+     }
+     e = 0;
+     if (q[a + 8 >> 2]) {
+      break b;
+     }
+     d : {
+      if (!q[a + 4 >> 2]) {
+       e = c - -64 | 0;
+       d = L$(e);
+       if (!d) {
+        break a;
+       }
+       q[a + 4 >> 2] = 1;
+       Y$(d, q[a >> 2], c);
+       break d;
+      }
+      e = c << 1;
+      d = O$(q[a >> 2], e);
+      if (!d) {
+       break a;
+      }
+      c = q[a + 12 >> 2];
+     }
+     q[a >> 2] = d;
+     q[a + 16 >> 2] = e;
+    }
+    e = 1;
+    q[a + 12 >> 2] = c + 1;
+    o[c + d | 0] = f;
+    b = b + 1 | 0;
+    f = r[b | 0];
+    if (f) {
+     continue;
+    }
+   }
+   break;
+  }
+  return e;
+ }
+ q[a + 8 >> 2] = 1;
+ return 0;
+}
+function dV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ a : {
+  b : {
+   c : {
+    g = b + -15 | 0;
+    if (g >>> 0 > 10) {
+     break c;
+    }
+    f = 3;
+    d : {
+     switch (g - 1 | 0) {
+     case 9:
+      q[a >> 2] = 916;
+      return 7;
+     case 1:
+      q[a >> 2] = 917;
+      return 8;
+     case 0:
+     case 3:
+     case 4:
+     case 5:
+     case 6:
+     case 7:
+     case 8:
+      break c;
+     case 2:
+      break d;
+     default:
+      break a;
+     }
+    }
+    if (n[q[e + 24 >> 2]](e, c, d, 496360)) {
+     q[a >> 2] = 918;
+     return 3;
+    }
+    if (!n[q[e + 24 >> 2]](e, c, d, 496367)) {
+     break b;
+    }
+    q[a >> 2] = 919;
+    return 3;
+   }
+   if ((b | 0) != 28) {
+    break b;
+   }
+   f = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  f = -1;
+ }
+ return f | 0;
+}
+function JG(a) {
+ var b = 0;
+ a : {
+  if (!q[a + 4 >> 2]) {
+   break a;
+  }
+  fG(q[a + 12 >> 2]);
+  b = $F(mq());
+  q[a + 24 >> 2] = 65533;
+  q[a + 28 >> 2] = 0;
+  q[a + 16 >> 2] = 0;
+  q[a + 12 >> 2] = b;
+  if (!q[a + 4 >> 2]) {
+   break a;
+  }
+  q[a + 44 >> 2] = 0;
+  q[a + 48 >> 2] = 0;
+  q[a + 32 >> 2] = 0;
+  q[a + 80 >> 2] = 0;
+  q[a + 72 >> 2] = 0;
+  q[a + 76 >> 2] = 0;
+  o[a + 70 | 0] = 0;
+  p[a + 68 >> 1] = 1;
+  o[a + 164 | 0] = 0;
+  q[a + 100 >> 2] = 0;
+  q[a + 104 >> 2] = 0;
+  q[a + 52 >> 2] = 0;
+  q[a + 56 >> 2] = 0;
+  q[a + 60 >> 2] = 0;
+  q[a + 64 >> 2] = 0;
+  q[a + 92 >> 2] = q[a + 88 >> 2];
+  q[a + 108 >> 2] = 0;
+  q[a + 112 >> 2] = 0;
+  q[a + 116 >> 2] = 0;
+  q[a + 120 >> 2] = 0;
+  q[a + 124 >> 2] = 0;
+  q[a + 128 >> 2] = 0;
+  q[a + 132 >> 2] = 0;
+  q[a + 136 >> 2] = 0;
+  q[a + 140 >> 2] = 0;
+  q[a + 144 >> 2] = 0;
+  q[a + 148 >> 2] = 0;
+ }
+}
+function yR(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = Ca - 128 | 0;
+ Ca = d;
+ a : {
+  if (!c) {
+   a = RX(a);
+   c = q[b + 12 >> 2] + b | 0;
+   b : {
+    if (a) {
+     q[d + 36 >> 2] = 0;
+     q[d + 32 >> 2] = c;
+     a = uQ(a, d + 32 | 0);
+     break b;
+    }
+    a = mZ(c);
+   }
+   e = RQ(a, d + 40 | 0);
+   M$(a);
+   c = d + 40 | 0;
+   a = 0;
+   if ((e | 0) < 0) {
+    break a;
+   }
+  }
+  e = q[c + 68 >> 2];
+  a = e;
+  f = a;
+  g = a >> 31;
+  a = q[b + 32 >> 2];
+  h = q[b + 36 >> 2];
+  if (r[643388] & 16) {
+   i = q[b + 12 >> 2];
+   j = q[b + 28 >> 2];
+   k = q[c + 64 >> 2];
+   q[d + 16 >> 2] = e;
+   q[d + 12 >> 2] = k;
+   q[d + 8 >> 2] = a;
+   q[d + 4 >> 2] = j;
+   q[d >> 2] = b + i;
+   d0(488490, d);
+  }
+  a = (a | 0) == (f | 0) & (g | 0) == (h | 0) & q[b + 28 >> 2] == q[c + 64 >> 2];
+ }
+ Ca = d + 128 | 0;
+ return a;
+}
+function yF(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ i = q[b + 4 >> 2];
+ a : {
+  if (i >>> 0 > a >>> 0) {
+   break a;
+  }
+  f = q[b + 8 >> 2];
+  if (f >>> 0 < a >>> 0 | f - a >>> 0 < 4) {
+   break a;
+  }
+  g = q[b + 12 >> 2];
+  q[b + 12 >> 2] = g + -1;
+  if ((g | 0) < 1) {
+   break a;
+  }
+  e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  e = e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24);
+  h = 0;
+  b : {
+   if (!e) {
+    break b;
+   }
+   if (f >>> 0 < c >>> 0 | i >>> 0 > c >>> 0 | f - c >>> 0 < e >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = g + -2;
+   if ((g | 0) < 2) {
+    break a;
+   }
+   a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   h = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  }
+  j = AF(h + c | 0, b, q[d >> 2]);
+ }
+ return j;
+}
+function cW(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Ca - 1040 | 0;
+ Ca = d;
+ e = 18;
+ f = q[a + 124 >> 2];
+ a : {
+  if (!f) {
+   break a;
+  }
+  c = Z$(d, 255, 1024);
+  q[c + 1032 >> 2] = 0;
+  q[c + 1024 >> 2] = 0;
+  q[c + 1028 >> 2] = 0;
+  b : {
+   if (!n[f](q[a + 244 >> 2], b, c)) {
+    break b;
+   }
+   b = n[q[a + 12 >> 2]](1908) | 0;
+   q[a + 236 >> 2] = b;
+   if (!b) {
+    e = 1;
+    a = q[c + 1032 >> 2];
+    if (!a) {
+     break a;
+    }
+    n[a](q[c + 1024 >> 2]);
+    break a;
+   }
+   b = n[r[a + 232 | 0] ? 966 : 967](b, c, q[c + 1028 >> 2], q[c + 1024 >> 2]) | 0;
+   if (!b) {
+    break b;
+   }
+   q[a + 240 >> 2] = q[c + 1024 >> 2];
+   c = q[c + 1032 >> 2];
+   q[a + 144 >> 2] = b;
+   q[a + 248 >> 2] = c;
+   e = 0;
+   break a;
+  }
+  a = q[c + 1032 >> 2];
+  if (!a) {
+   break a;
+  }
+  n[a](q[c + 1024 >> 2]);
+ }
+ Ca = d + 1040 | 0;
+ return e;
+}
+function Wo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ c = q[a + 28 >> 2];
+ g = q[a + 16 >> 2];
+ e = q[a + 24 >> 2];
+ q[d + 12 >> 2] = 0;
+ a : {
+  b : {
+   f = e + 1 | 0;
+   c : {
+    if (c >>> 0 >= f >>> 0) {
+     b = q[a + 32 >> 2];
+     break c;
+    }
+    q[a + 36 >> 2] = b;
+    h = c;
+    c = a + 32 | 0;
+    b = Te(b, 4, h, f, q[c >> 2], d + 12 | 0);
+    q[c >> 2] = b;
+    if (q[d + 12 >> 2]) {
+     break b;
+    }
+    q[a + 28 >> 2] = f;
+   }
+   if (e) {
+    a = g + 10 | 0;
+    c = 0;
+    while (1) {
+     q[(c << 2) + b >> 2] = r[a + 2 | 0] | (r[a + 1 | 0] << 8 | r[a | 0] << 16);
+     a = a + 11 | 0;
+     c = c + 1 | 0;
+     if ((e | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[(e << 2) + b >> 2] = 0;
+   break a;
+  }
+  b = 0;
+ }
+ Ca = d + 16 | 0;
+ return b | 0;
+}
+function Vw(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ d = c ? c + a | 0 : 271040;
+ c = q[b + 96 >> 2];
+ c = ct(d, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]);
+ a : {
+  if ((c | 0) == -1) {
+   break a;
+  }
+  c = (r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0 > c >>> 0 ? ((c << 1) + a | 0) + 6 | 0 : 271040;
+  e = r[c + 1 | 0];
+  c = r[c | 0];
+  d = q[57197];
+  q[f + 8 >> 2] = q[57196];
+  q[f + 12 >> 2] = d;
+  d = a;
+  a = e | c << 8;
+  c = a ? d + a | 0 : 271040;
+  e = r[c | 0] << 8 | r[c + 1 | 0];
+  if (!e) {
+   break a;
+  }
+  a = c + 2 | 0;
+  while (1) {
+   d = r[a + 1 | 0] | r[a | 0] << 8;
+   if (Ww(d ? d + c | 0 : 271040, b, f + 8 | 0)) {
+    g = 1;
+    break a;
+   }
+   a = a + 2 | 0;
+   e = e + -1 | 0;
+   if (e) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = f + 16 | 0;
+ return g;
+}
+function $K(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ j = q[a + 16 >> 2];
+ a : {
+  if (j) {
+   c = q[b >> 2] + 1 | 0;
+   k = q[a + 20 >> 2];
+   g = j;
+   while (1) {
+    h = (g - d >>> 1 | 0) + d | 0;
+    e = (h << 3) + k | 0;
+    f = q[e >> 2];
+    if ((f | 0) == (c | 0)) {
+     a = q[((h << 3) + k | 0) + 4 >> 2];
+     q[b >> 2] = c;
+     return a | 0;
+    }
+    f = f & 2147483647;
+    if ((f | 0) == (c | 0)) {
+     i = q[e + 4 >> 2];
+    }
+    e = f >>> 0 < c >>> 0;
+    g = e ? g : h;
+    d = e ? h + 1 | 0 : d;
+    if (g >>> 0 > d >>> 0) {
+     continue;
+    }
+    break;
+   }
+   if (i) {
+    break a;
+   }
+  }
+  c = 0;
+  i = 0;
+  if (d >>> 0 >= j >>> 0) {
+   break a;
+  }
+  a = q[a + 20 >> 2] + (d << 3) | 0;
+  c = q[a >> 2] & 2147483647;
+  i = q[a + 4 >> 2];
+ }
+ q[b >> 2] = c;
+ return i | 0;
+}
+function qr(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[d + 12 >> 2] = 0;
+ if (tr(a, b, d + 12 | 0)) {
+  q[d + 8 >> 2] = 0;
+  h = q[d + 12 >> 2];
+  if (h) {
+   c = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+   i = (c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) + a | 0;
+   while (1) {
+    c = (f << 3) + i | 0;
+    g = r[c + 4 | 0] << 8 | r[c + 5 | 0];
+    if ((g | 0) != 65535) {
+     e = e >>> 0 > g >>> 0 ? e : g + 1 | 0;
+     q[d + 8 >> 2] = e;
+    }
+    c = r[c + 7 | 0] | r[c + 6 | 0] << 8;
+    if ((c | 0) != 65535) {
+     e = e >>> 0 > c >>> 0 ? e : c + 1 | 0;
+     q[d + 8 >> 2] = e;
+    }
+    f = f + 1 | 0;
+    if ((h | 0) != (f | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = xr(a + 16 | 0, b, a, d + 8 | 0);
+ }
+ Ca = d + 16 | 0;
+ return c;
+}
+function _T(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0;
+ a : {
+  e = c + -1 | 0;
+  c = b + 1 | 0;
+  if ((e - c | 0) >= 1) {
+   g = a + 72 | 0;
+   while (1) {
+    b = r[c | 0];
+    a = b << 24 >> 24;
+    b = r[b + g | 0] + -9 | 0;
+    b : {
+     c : {
+      if (b >>> 0 > 26) {
+       break c;
+      }
+      f = 1 << b;
+      if (f & 132499443) {
+       break b;
+      }
+      if (!(f & 139264)) {
+       if ((b | 0) != 12) {
+        break c;
+       }
+       if ((a | 0) != 9) {
+        break b;
+       }
+       break a;
+      }
+      if ((a | 0) > -1) {
+       break b;
+      }
+     }
+     if ((a | 0) == 36) {
+      break b;
+     }
+     if ((a | 0) != 64) {
+      break a;
+     }
+    }
+    c = c + 1 | 0;
+    if ((e - c | 0) > 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  return 1;
+ }
+ q[d >> 2] = c;
+ return 0;
+}
+function LJ(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = Ca - 32 | 0;
+ Ca = e;
+ q[d >> 2] = -1;
+ KJ(a, e + 16 | 0);
+ if (q[e + 24 >> 2] == 3) {
+  i = q[a >> 2];
+  g = q[e + 16 >> 2] + 1 | 0;
+  q[a >> 2] = g;
+  j = q[a + 8 >> 2];
+  h = q[e + 20 >> 2] + -1 | 0;
+  q[a + 8 >> 2] = h;
+  f = b;
+  a : {
+   if (g >>> 0 >= h >>> 0) {
+    break a;
+   }
+   c = w(c, 12) + b | 0;
+   while (1) {
+    KJ(a, e);
+    if (!q[e + 8 >> 2]) {
+     break a;
+    }
+    if (!(!b | f >>> 0 >= c >>> 0)) {
+     g = q[e + 4 >> 2];
+     q[f >> 2] = q[e >> 2];
+     q[f + 4 >> 2] = g;
+     q[f + 8 >> 2] = q[e + 8 >> 2];
+    }
+    f = f + 12 | 0;
+    if (t[a >> 2] < t[a + 8 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[d >> 2] = (f - b | 0) / 12;
+  q[a + 8 >> 2] = j;
+  q[a >> 2] = i;
+ }
+ Ca = e + 32 | 0;
+}
+function Sk(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = q[a + 8 >> 2];
+ a : {
+  if (!c) {
+   break a;
+  }
+  d = r[a | 0];
+  if (d >>> 0 > 3) {
+   break a;
+  }
+  b : {
+   switch (d - 1 | 0) {
+   default:
+    f = r[b + c | 0];
+    break a;
+   case 0:
+   case 1:
+    break a;
+   case 2:
+    break b;
+   }
+  }
+  if (b - q[a + 16 >> 2] >>> 0 < t[a + 20 >> 2]) {
+   f = r[a + 24 | 0];
+   break a;
+  }
+  e = c + 2 | 0;
+  g = c + q[a + 12 >> 2] | 0;
+  c = r[c + 1 | 0] | r[c | 0] << 8;
+  while (1) {
+   if (c >>> 0 > b >>> 0) {
+    break a;
+   }
+   d = r[e + 2 | 0] | r[e + 1 | 0] << 8;
+   if (d >>> 0 > b >>> 0) {
+    f = r[e | 0];
+    o[a + 24 | 0] = f;
+    q[a + 20 >> 2] = d - c;
+    q[a + 16 >> 2] = c;
+    break a;
+   }
+   c = d;
+   e = e + 3 | 0;
+   if (e >>> 0 < g >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ return f | 0;
+}
+function Jr(a, b) {
+ var c = 0, d = 0;
+ d = Ca - 304 | 0;
+ Ca = d;
+ q[d + 24 >> 2] = a;
+ o[d + 16 | 0] = 0;
+ q[d + 20 >> 2] = b;
+ c = r[a + 16 | 0] | r[a + 17 | 0] << 8 | (r[a + 18 | 0] << 16 | r[a + 19 | 0] << 24);
+ q[d + 28 >> 2] = (c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) + a;
+ c = r[a + 20 | 0] | r[a + 21 | 0] << 8 | (r[a + 22 | 0] << 16 | r[a + 23 | 0] << 24);
+ q[d + 32 >> 2] = (c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) + a;
+ c = r[a + 24 | 0] | r[a + 25 | 0] << 8 | (r[a + 26 | 0] << 16 | r[a + 27 | 0] << 24);
+ q[d + 40 >> 2] = 0;
+ q[d + 36 >> 2] = (c << 8 & 16711680 | c << 24 | (c >>> 8 & 65280 | c >>> 24)) + a;
+ c = q[b + 8 >> 2];
+ q[d + 4 >> 2] = q[b + 12 >> 2];
+ q[d >> 2] = a;
+ b = d;
+ a = q[c + 32 >> 2];
+ if ((a | 0) == -1) {
+  a = VF(c);
+ }
+ q[b + 8 >> 2] = a;
+ Pr(d, d + 16 | 0);
+ Ca = d + 304 | 0;
+}
+function fx(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ c = (a + 2 | 0) + (r[a + 3 | 0] << 1 | r[a + 2 | 0] << 9) | 0;
+ e = c + 2 | 0;
+ c = r[c + 3 | 0] | r[e | 0] << 8 ? c + 4 | 0 : 271040;
+ c = r[c | 0] << 8 | r[c + 1 | 0];
+ f = c ? c + a | 0 : 271040;
+ c = q[b + 96 >> 2];
+ if ((ct(f, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]) | 0) != -1) {
+  h = r[e + 1 | 0];
+  i = r[e | 0];
+  c = (h << 1 | i << 9) + e | 0;
+  g = r[c + 3 | 0];
+  j = c + 2 | 0;
+  f = r[j | 0];
+  q[d + 12 >> 2] = a;
+  q[d + 8 >> 2] = a;
+  q[d + 4 >> 2] = a;
+  q[d >> 2] = 448;
+  k = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  l = a + 4 | 0;
+  a = (g << 1 | f << 9) + j | 0;
+  g = cx(b, k, l, i << 8 | h, e + 4 | 0, g | f << 8, c + 4 | 0, r[a + 2 | 0] << 8 | r[a + 3 | 0], a + 4 | 0, d);
+ }
+ Ca = d + 16 | 0;
+ return g;
+}
+function YL(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ if (a) {
+  c = r[b + 4 | 0] | r[b + 5 | 0] << 8 | (r[b + 6 | 0] << 16 | r[b + 7 | 0] << 24);
+  d = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+  o[a | 0] = d;
+  o[a + 1 | 0] = d >>> 8;
+  o[a + 2 | 0] = d >>> 16;
+  o[a + 3 | 0] = d >>> 24;
+  o[a + 4 | 0] = c;
+  o[a + 5 | 0] = c >>> 8;
+  o[a + 6 | 0] = c >>> 16;
+  o[a + 7 | 0] = c >>> 24;
+  c = r[b + 12 | 0] | r[b + 13 | 0] << 8 | (r[b + 14 | 0] << 16 | r[b + 15 | 0] << 24);
+  b = r[b + 8 | 0] | r[b + 9 | 0] << 8 | (r[b + 10 | 0] << 16 | r[b + 11 | 0] << 24);
+  o[a + 8 | 0] = b;
+  o[a + 9 | 0] = b >>> 8;
+  o[a + 10 | 0] = b >>> 16;
+  o[a + 11 | 0] = b >>> 24;
+  o[a + 12 | 0] = c;
+  o[a + 13 | 0] = c >>> 8;
+  o[a + 14 | 0] = c >>> 16;
+  o[a + 15 | 0] = c >>> 24;
+  return 1;
+ }
+ M$(q[b >> 2]);
+ return 1;
+}
+function it(a, b, c, d, e, f, g) {
+ var h = 0;
+ a : {
+  if ((b | 0) != 1196445523) {
+   h = 271040;
+   if ((b | 0) != 1196643650) {
+    break a;
+   }
+   a = q[Ws(a + 136 | 0) >> 2];
+   a = a ? a : 271040;
+   h = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+   break a;
+  }
+  a = q[Xs(a + 140 | 0) >> 2];
+  a = a ? a : 271040;
+  h = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+ }
+ a = jt(h, c, d);
+ b : {
+  if (!f) {
+   break b;
+  }
+  b = 0;
+  h = f;
+  c = q[f >> 2];
+  d = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  f = d - e | 0;
+  d = f >>> 0 > d >>> 0 ? 0 : f;
+  c = d >>> 0 > c >>> 0 ? c : d;
+  q[h >> 2] = c;
+  if (!c) {
+   break b;
+  }
+  a = (a + (e << 1) | 0) + 4 | 0;
+  while (1) {
+   d = a + (b << 1) | 0;
+   q[(b << 2) + g >> 2] = r[d | 0] << 8 | r[d + 1 | 0];
+   b = b + 1 | 0;
+   if ((c | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function CA(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ if ((c | 0) <= -1) {
+  c = g0(b);
+ }
+ a : {
+  if (!c) {
+   break a;
+  }
+  e = q[a + 220 >> 2];
+  if ((e | 0) < 1) {
+   break a;
+  }
+  j = q[a + 224 >> 2];
+  f = e + -1 | 0;
+  e = 0;
+  b : {
+   while (1) {
+    i = f + e >>> 1 | 0;
+    h = (i << 4) + j | 0;
+    g = q[h + 4 >> 2];
+    h = jZ(b, q[h >> 2], c >>> 0 > g >>> 0 ? g : c);
+    g = h ? h : c - g | 0;
+    c : {
+     if ((g | 0) <= -1) {
+      f = i + -1 | 0;
+      break c;
+     }
+     if (!g) {
+      break b;
+     }
+     e = i + 1 | 0;
+    }
+    if ((e | 0) <= (f | 0)) {
+     continue;
+    }
+    break;
+   }
+   return 0;
+  }
+  b = (i << 4) + j | 0;
+  a = eC(q[a + 48 >> 2], s[b + 12 >> 1], q[a + 212 >> 2]);
+  if (!a) {
+   f = 0;
+   if (s[b + 12 >> 1]) {
+    break a;
+   }
+  }
+  q[d >> 2] = a;
+  f = 1;
+ }
+ return f;
+}
+function LP(a) {
+ var b = 0, c = 0, d = 0;
+ a : {
+  b : {
+   if (!a) {
+    break b;
+   }
+   b = L$(40);
+   if (!b) {
+    break b;
+   }
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   q[b >> 2] = 0;
+   q[b + 4 >> 2] = 8;
+   q[b + 32 >> 2] = 0;
+   q[b + 36 >> 2] = 0;
+   q[b + 24 >> 2] = 0;
+   q[b + 28 >> 2] = 0;
+   q[b + 16 >> 2] = 0;
+   q[b + 20 >> 2] = 0;
+   d = b + 8 | 0;
+   c = q[a + 4 >> 2] << 2;
+   c = c >>> 0 < 32 ? c : 32;
+   Z$(d + c | 0, 0, c >>> 0 > 31 ? 0 : 32 - c | 0);
+   Y$(d, a + 8 | 0, c);
+   if (!q[a >> 2]) {
+    return b;
+   }
+   c = GQ();
+   q[b >> 2] = c;
+   if (c) {
+    a = yQ(q[a >> 2]);
+    if (a) {
+     while (1) {
+      d = zQ(a);
+      if (!d) {
+       break a;
+      }
+      if (xQ(c, d)) {
+       continue;
+      }
+      break;
+     }
+     AQ(a);
+    }
+    BQ(c);
+   }
+   M$(b);
+  }
+  return 0;
+ }
+ AQ(a);
+ return b;
+}
+function ur(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ h = q[b + 4 >> 2];
+ a : {
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  g = 0;
+  b : {
+   if (!d) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | h >>> 0 > c >>> 0 | e - c >>> 0 < d >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   g = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  }
+  i = sr(g + c | 0, b);
+ }
+ return i;
+}
+function ds(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ h = q[b + 4 >> 2];
+ a : {
+  if (h >>> 0 > a >>> 0) {
+   break a;
+  }
+  e = q[b + 8 >> 2];
+  if (e >>> 0 < a >>> 0 | e - a >>> 0 < 4) {
+   break a;
+  }
+  f = q[b + 12 >> 2];
+  q[b + 12 >> 2] = f + -1;
+  if ((f | 0) < 1) {
+   break a;
+  }
+  d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+  g = 0;
+  b : {
+   if (!d) {
+    break b;
+   }
+   if (e >>> 0 < c >>> 0 | h >>> 0 > c >>> 0 | e - c >>> 0 < d >>> 0) {
+    break a;
+   }
+   q[b + 12 >> 2] = f + -2;
+   if ((f | 0) < 2) {
+    break a;
+   }
+   a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   g = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  }
+  i = es(g + c | 0, b);
+ }
+ return i;
+}
+function Pt(a, b, c, d) {
+ var e = 0;
+ a : {
+  if (d & 16) {
+   c = 0;
+   a = q[a + 104 >> 2];
+   e = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   if ((e << 24 | e << 8 & 16711680 | (e >>> 8 & 65280 | e >>> 24)) >>> 0 < 65538) {
+    break a;
+   }
+   e = a;
+   a = r[a + 13 | 0] | r[a + 12 | 0] << 8;
+   a = a ? e + a | 0 : 271040;
+   if ((r[a | 0] << 8 | r[a + 1 | 0]) != 1) {
+    break a;
+   }
+   e = a;
+   c = d >>> 16 | 0;
+   a = (r[a + 3 | 0] | r[a + 2 | 0] << 8) >>> 0 > c >>> 0 ? (a + (c << 2) | 0) + 4 | 0 : 271040;
+   a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+   return (ct(a ? e + a | 0 : 271040, b) | 0) != -1;
+  }
+  a = d & 65280;
+  if (!a) {
+   return 1;
+  }
+  c = (a | 0) == (c & 65280);
+ }
+ return c;
+}
+function xI(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = q[a + 32 >> 2];
+ e = b;
+ d = q[a + 28 >> 2];
+ if (d) {
+  while (1) {
+   Qe(b, q[c + 8 >> 2]);
+   q[c + 8 >> 2] = 0;
+   q[c + 12 >> 2] = 0;
+   q[c >> 2] = 0;
+   q[c + 4 >> 2] = 0;
+   c = c + 16 | 0;
+   d = d + -1 | 0;
+   if (d) {
+    continue;
+   }
+   break;
+  }
+  c = q[a + 32 >> 2];
+ }
+ Qe(e, c);
+ q[a + 24 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ q[a + 32 >> 2] = 0;
+ c = q[a + 20 >> 2];
+ d = q[a + 16 >> 2];
+ if (d) {
+  while (1) {
+   Qe(b, q[c + 8 >> 2]);
+   q[c + 8 >> 2] = 0;
+   q[c + 12 >> 2] = 0;
+   q[c >> 2] = 0;
+   q[c + 4 >> 2] = 0;
+   c = c + 16 | 0;
+   d = d + -1 | 0;
+   if (d) {
+    continue;
+   }
+   break;
+  }
+  c = q[a + 20 >> 2];
+ }
+ Qe(e, c);
+ q[a + 12 >> 2] = 0;
+ q[a + 16 >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+ Qe(b, q[a + 8 >> 2]);
+ q[a >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 8 >> 2] = 0;
+}
+function Fr(a, b) {
+ var c = 0, d = 0, e = 0;
+ d = q[b + 44 >> 2];
+ c = q[d + 12 >> 2];
+ q[b + 20 >> 2] = c;
+ e = q[d + 16 >> 2];
+ d = c + e | 0;
+ q[b + 24 >> 2] = d;
+ if ((e | 0) > -1) {
+  a : {
+   b : {
+    if (!a) {
+     break b;
+    }
+    if (!(d >>> 0 > a >>> 0 ? a >>> 0 >= c >>> 0 : 0)) {
+     q[b + 20 >> 2] = 0;
+     q[b + 24 >> 2] = 0;
+     break b;
+    }
+    q[b + 20 >> 2] = a;
+    c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+    c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+    d = d - a | 0;
+    q[b + 24 >> 2] = (d >>> 0 > c >>> 0 ? c : d) + a;
+   }
+   Gr(a, b);
+   a = q[b + 44 >> 2];
+   c = q[a + 12 >> 2];
+   q[b + 20 >> 2] = c;
+   a = q[a + 16 >> 2];
+   q[b + 24 >> 2] = a + c;
+   if ((a | 0) <= -1) {
+    break a;
+   }
+   return;
+  }
+ }
+ J(228144, 228169, 195, 228186);
+ F();
+}
+function dZ(a, b) {
+ var c = 0, d = 0;
+ a : {
+  d = b & 255;
+  if (d) {
+   if (a & 3) {
+    while (1) {
+     c = r[a | 0];
+     if (!c | (c | 0) == (b & 255)) {
+      break a;
+     }
+     a = a + 1 | 0;
+     if (a & 3) {
+      continue;
+     }
+     break;
+    }
+   }
+   c = q[a >> 2];
+   b : {
+    if ((c ^ -1) & c + -16843009 & -2139062144) {
+     break b;
+    }
+    d = w(d, 16843009);
+    while (1) {
+     c = c ^ d;
+     if ((c ^ -1) & c + -16843009 & -2139062144) {
+      break b;
+     }
+     c = q[a + 4 >> 2];
+     a = a + 4 | 0;
+     if (!(c + -16843009 & (c ^ -1) & -2139062144)) {
+      continue;
+     }
+     break;
+    }
+   }
+   while (1) {
+    c = a;
+    d = r[c | 0];
+    if (d) {
+     a = c + 1 | 0;
+     if ((d | 0) != (b & 255)) {
+      continue;
+     }
+    }
+    break;
+   }
+   return c;
+  }
+  return g0(a) + a | 0;
+ }
+ return a;
+}
+function Ou(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  b : {
+   c = r[a | 0] | r[a + 1 | 0] << 8;
+   c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+   if (c >>> 0 > 2) {
+    break b;
+   }
+   c : {
+    switch (c - 1 | 0) {
+    default:
+     return Qu(a, b);
+    case 0:
+     return Ru(a, b);
+    case 1:
+     break c;
+    }
+   }
+   e = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   if ((e | 0) != q[b + 8 >> 2]) {
+    break b;
+   }
+   d = 1;
+   if (e >>> 0 < 2) {
+    break a;
+   }
+   f = a + 8 | 0;
+   c = 1;
+   while (1) {
+    d = ((c << 1) + f | 0) + -2 | 0;
+    d = r[d | 0] << 8 | r[d + 1 | 0];
+    if ((ct(d ? d + a | 0 : 271040, q[q[b + 4 >> 2] + (c << 2) >> 2]) | 0) == -1) {
+     break b;
+    }
+    d = 1;
+    c = c + 1 | 0;
+    if ((e | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  d = 0;
+ }
+ return d;
+}
+function iM(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = q[a >> 2];
+ a : {
+  if ((c | 0) != q[b >> 2]) {
+   break a;
+  }
+  if (c >>> 0 > 2) {
+   return 1;
+  }
+  b : {
+   switch (c - 1 | 0) {
+   default:
+    if (q[a + 8 >> 2] != q[b + 8 >> 2] | v[a + 16 >> 3] != v[b + 16 >> 3] | (q[a + 24 >> 2] != q[b + 24 >> 2] | q[a + 28 >> 2] != q[b + 28 >> 2])) {
+     break a;
+    }
+    if (q[a + 32 >> 2] != q[b + 32 >> 2] | q[a + 36 >> 2] != q[b + 36 >> 2]) {
+     break a;
+    }
+    return q[a + 40 >> 2] == q[b + 40 >> 2] | 0;
+   case 0:
+    return !iZ(q[a + 8 >> 2], q[b + 8 >> 2]) | 0;
+   case 1:
+    break b;
+   }
+  }
+  if (q[a + 8 >> 2] != q[b + 8 >> 2] | q[a + 12 >> 2] != q[b + 12 >> 2] | (q[a + 16 >> 2] != q[b + 16 >> 2] | q[a + 20 >> 2] != q[b + 20 >> 2])) {
+   break a;
+  }
+  d = q[a + 24 >> 2] == q[b + 24 >> 2];
+ }
+ return d | 0;
+}
+function XQ(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  while (1) {
+   b : {
+    d = q[160821];
+    c = d;
+    if (c) {
+     while (1) {
+      if (!iZ(q[c + 4 >> 2], a)) {
+       break b;
+      }
+      c = q[c >> 2];
+      if (c) {
+       continue;
+      }
+      break;
+     }
+    }
+    c = L$(16);
+    if (!c) {
+     return 0;
+    }
+    e = mZ(a);
+    q[c + 8 >> 2] = -1;
+    q[c + 4 >> 2] = e;
+    e = q[160467];
+    q[160467] = e + 1;
+    q[c + 12 >> 2] = e;
+    if ((e | 0) <= 1074) {
+     break a;
+    }
+    q[c >> 2] = d;
+    e = q[160821];
+    d = (e | 0) == (d | 0);
+    q[160821] = d ? c : e;
+    if (d) {
+     break b;
+    }
+    d = q[c + 4 >> 2];
+    if (d) {
+     M$(d);
+    }
+    M$(c);
+    continue;
+   }
+   break;
+  }
+  if (b) {
+   q[b >> 2] = q[c + 12 >> 2];
+  }
+  return c + 4 | 0;
+ }
+ c0(485936, 41, 1, q[126919]);
+ W();
+ F();
+}
+function Uu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ e = r[a + 3 | 0];
+ g = r[a + 2 | 0];
+ d = (a + 2 | 0) + (e << 1 | g << 9) | 0;
+ h = d + 2 | 0;
+ c = r[h | 0];
+ f = r[d + 3 | 0];
+ a : {
+  b : {
+   if (r[b + 12 | 0]) {
+    g = e | g << 8;
+    e = (f << 1 | c << 9) + h | 0;
+    if (g | r[e + 3 | 0] | r[e + 2 | 0] << 8) {
+     break b;
+    }
+   }
+   f = f | c << 8;
+   if ((f | 0) != q[b + 8 >> 2]) {
+    break b;
+   }
+   c = 1;
+   if (f >>> 0 < 2) {
+    break a;
+   }
+   e = d + 6 | 0;
+   d = 1;
+   while (1) {
+    c = (e + (d << 1) | 0) + -2 | 0;
+    c = r[c | 0] << 8 | r[c + 1 | 0];
+    if ((ct(c ? c + a | 0 : 271040, q[q[b + 4 >> 2] + (d << 2) >> 2]) | 0) == -1) {
+     break b;
+    }
+    c = 1;
+    d = d + 1 | 0;
+    if ((f | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  c = 0;
+ }
+ return c;
+}
+function FZ(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0;
+ d = Ca - 32 | 0;
+ Ca = d;
+ q[d + 16 >> 2] = b;
+ e = q[a + 48 >> 2];
+ q[d + 20 >> 2] = c - ((e | 0) != 0);
+ f = q[a + 44 >> 2];
+ q[d + 28 >> 2] = e;
+ q[d + 24 >> 2] = f;
+ a : {
+  b : {
+   c : {
+    if (k$(ta(q[a + 60 >> 2], d + 16 | 0, 2, d + 12 | 0) | 0)) {
+     q[d + 12 >> 2] = -1;
+     c = -1;
+     break c;
+    }
+    e = q[d + 12 >> 2];
+    if ((e | 0) > 0) {
+     break b;
+    }
+    c = e;
+   }
+   q[a >> 2] = q[a >> 2] | c & 48 ^ 16;
+   break a;
+  }
+  g = q[d + 20 >> 2];
+  if (e >>> 0 <= g >>> 0) {
+   c = e;
+   break a;
+  }
+  f = q[a + 44 >> 2];
+  q[a + 4 >> 2] = f;
+  q[a + 8 >> 2] = f + (e - g | 0);
+  if (!q[a + 48 >> 2]) {
+   break a;
+  }
+  q[a + 4 >> 2] = f + 1;
+  o[(b + c | 0) + -1 | 0] = r[f | 0];
+ }
+ Ca = d + 32 | 0;
+ return c | 0;
+}
+function Xs(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  f = a + -92 | 0;
+  while (1) {
+   b = q[f >> 2];
+   if (!b) {
+    return 271040;
+   }
+   c = N$(1, 12);
+   if (c) {
+    Zs(c, b);
+   }
+   d = q[a >> 2];
+   b = c ? c : 271040;
+   q[a >> 2] = d ? d : b;
+   if (!d) {
+    break a;
+   }
+   if (!(!c | !b)) {
+    c = 0;
+    if (q[b + 4 >> 2]) {
+     while (1) {
+      d = q[b + 8 >> 2] + w(c, 24) | 0;
+      e = d + 20 | 0;
+      M$(q[e >> 2]);
+      q[e >> 2] = 0;
+      q[d + 12 >> 2] = 0;
+      q[d + 16 >> 2] = 0;
+      c = c + 1 | 0;
+      if (c >>> 0 < t[b + 4 >> 2]) {
+       continue;
+      }
+      break;
+     }
+    }
+    M$(q[b + 8 >> 2]);
+    c = q[b >> 2];
+    Cq(c ? c : 271040);
+    M$(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ return b;
+}
+function Ws(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  f = a + -88 | 0;
+  while (1) {
+   b = q[f >> 2];
+   if (!b) {
+    return 271040;
+   }
+   c = N$(1, 12);
+   if (c) {
+    Ys(c, b);
+   }
+   d = q[a >> 2];
+   b = c ? c : 271040;
+   q[a >> 2] = d ? d : b;
+   if (!d) {
+    break a;
+   }
+   if (!(!c | !b)) {
+    c = 0;
+    if (q[b + 4 >> 2]) {
+     while (1) {
+      d = q[b + 8 >> 2] + w(c, 24) | 0;
+      e = d + 20 | 0;
+      M$(q[e >> 2]);
+      q[e >> 2] = 0;
+      q[d + 12 >> 2] = 0;
+      q[d + 16 >> 2] = 0;
+      c = c + 1 | 0;
+      if (c >>> 0 < t[b + 4 >> 2]) {
+       continue;
+      }
+      break;
+     }
+    }
+    M$(q[b + 8 >> 2]);
+    c = q[b >> 2];
+    Cq(c ? c : 271040);
+    M$(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ return b;
+}
+function up(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0;
+ d = q[q[a + 96 >> 2] + 8 >> 2];
+ b = q[a + 356 >> 2];
+ if (b) {
+  e = d;
+  c = q[a + 348 >> 2];
+  if ((c | 0) >= 1) {
+   c = w(c, 20) + b | 0;
+   while (1) {
+    Qe(d, q[b + 16 >> 2]);
+    q[b + 16 >> 2] = 0;
+    b = b + 20 | 0;
+    if (b >>> 0 < c >>> 0) {
+     continue;
+    }
+    break;
+   }
+   b = q[a + 356 >> 2];
+  }
+  Qe(e, b);
+  q[a + 356 >> 2] = 0;
+ }
+ b = q[a + 364 >> 2];
+ if (b) {
+  e = d;
+  c = q[a + 360 >> 2];
+  if ((c | 0) >= 1) {
+   c = w(c, 12) + b | 0;
+   while (1) {
+    Qe(d, q[b + 8 >> 2]);
+    q[b + 8 >> 2] = 0;
+    b = b + 12 | 0;
+    if (b >>> 0 < c >>> 0) {
+     continue;
+    }
+    break;
+   }
+   b = q[a + 364 >> 2];
+  }
+  Qe(e, b);
+  q[a + 364 >> 2] = 0;
+ }
+ p[a + 344 >> 1] = 0;
+ q[a + 360 >> 2] = 0;
+ q[a + 348 >> 2] = 0;
+ q[a + 352 >> 2] = 0;
+}
+function CW(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ b = q[a + 360 >> 2];
+ if (!b) {
+  return 1;
+ }
+ while (1) {
+  c = q[b + 4 >> 2];
+  f = q[b + 24 >> 2] + 1 | 0;
+  d = q[b + 36 >> 2];
+  e = f + d | 0;
+  if ((c | 0) != (e | 0)) {
+   g = q[b + 8 >> 2];
+   h = g + f | 0;
+   if ((h | 0) > (q[b + 40 >> 2] - d | 0)) {
+    c = n[q[a + 16 >> 2]](d, h) | 0;
+    if (!c) {
+     return 0;
+    }
+    d = q[b + 36 >> 2];
+    if ((d | 0) == q[b + 12 >> 2]) {
+     q[b + 12 >> 2] = c;
+    }
+    e = q[b + 16 >> 2];
+    if (e) {
+     q[b + 16 >> 2] = c + (e - d | 0);
+    }
+    q[b + 36 >> 2] = c;
+    q[b + 40 >> 2] = c + h;
+    e = c + f | 0;
+    g = q[b + 8 >> 2];
+    c = q[b + 4 >> 2];
+   }
+   i = b, j = Y$(e, c, g), q[i + 4 >> 2] = j;
+   b = q[b >> 2];
+   if (b) {
+    continue;
+   }
+  }
+  break;
+ }
+ return 1;
+}
+function mp(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0;
+ a : {
+  b : {
+   c : {
+    if (b) {
+     h = 142;
+     g = s[a + 152 >> 1];
+     if (!g) {
+      break b;
+     }
+     f = q[a + 156 >> 2];
+     i = f + (g << 4) | 0;
+     while (1) {
+      d : {
+       if (q[f >> 2] == (b | 0)) {
+        g = q[f + 12 >> 2];
+        if (g) {
+         break d;
+        }
+       }
+       f = f + 16 | 0;
+       if (f >>> 0 < i >>> 0) {
+        continue;
+       }
+       break b;
+      }
+      break;
+     }
+     c = q[f + 8 >> 2] + c | 0;
+     break c;
+    }
+    g = q[q[a + 104 >> 2] + 4 >> 2];
+   }
+   if (!e) {
+    f = g;
+    break a;
+   }
+   f = q[e >> 2];
+   if (f) {
+    break a;
+   }
+   q[e >> 2] = g;
+   h = 0;
+  }
+  return h | 0;
+ }
+ return Hg(q[a + 104 >> 2], c, d, f) | 0;
+}
+function ag(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ if (!a) {
+  return 35;
+ }
+ if (!c) {
+  return 6;
+ }
+ if (!d) {
+  return 6;
+ }
+ o[c | 0] = 0;
+ f = 16;
+ a : {
+  if (q[a + 16 >> 2] <= (b | 0)) {
+   break a;
+  }
+  if (!(r[a + 9 | 0] & 2)) {
+   return 6;
+  }
+  g = q[a + 128 >> 2];
+  e = q[g + 40 >> 2];
+  h = e + 2 | 0;
+  b : {
+   if (h >>> 0 > 2) {
+    break b;
+   }
+   f = 6;
+   c : {
+    switch (h - 1 | 0) {
+    case 0:
+     break b;
+    case 1:
+     break c;
+    default:
+     break a;
+    }
+   }
+   e = q[a + 96 >> 2];
+   f = q[q[e >> 2] + 32 >> 2];
+   d : {
+    if (!f) {
+     e = 0;
+     break d;
+    }
+    e = n[f](e, 3781) | 0;
+    g = q[a + 128 >> 2];
+   }
+   q[g + 40 >> 2] = e ? e : -2;
+  }
+  if (!e) {
+   return 6;
+  }
+  f = 6;
+  e = q[e >> 2];
+  if (!e) {
+   break a;
+  }
+  f = n[e](a, b, c, d) | 0;
+ }
+ return f;
+}
+function by(a, b, c, d, e) {
+ var f = 0, g = x(0);
+ q[e >> 2] = 0;
+ q[d >> 2] = 0;
+ f = r[a | 0] | r[a + 1 | 0] << 8;
+ f = ((f << 24 | f << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+ if (f >>> 0 <= 2) {
+  a : {
+   switch (f - 1 | 0) {
+   default:
+    f = q[b + 88 >> 2];
+    b = r[a + 2 | 0] | r[a + 3 | 0] << 8;
+    g = x(x(q[f + 20 >> 2]) * x((b << 24 | b << 8 & 16711680) >> 16));
+    b = q[f + 16 >> 2];
+    c = q[b + 28 >> 2];
+    if (!c) {
+     c = XF(b);
+     b = q[f + 16 >> 2];
+    }
+    u[d >> 2] = g / x(c >>> 0);
+    a = r[a + 4 | 0] | r[a + 5 | 0] << 8;
+    g = x(x(q[f + 24 >> 2]) * x((a << 24 | a << 8 & 16711680) >> 16));
+    a = q[b + 28 >> 2];
+    if (!a) {
+     a = XF(b);
+    }
+    u[e >> 2] = g / x(a >>> 0);
+    return;
+   case 0:
+    dy(a, b, c, d, e);
+    return;
+   case 1:
+    break a;
+   }
+  }
+  ey(a, b, d, e);
+ }
+}
+function TN(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ d = q[a >> 2];
+ e = q[a + 4 >> 2];
+ a : {
+  if (d >>> 0 >= e >>> 0) {
+   q[160854] = 0;
+   e = e << 1;
+   f = a, g = Md(q[a + 16 >> 2], e, 8), q[f + 16 >> 2] = g;
+   d = 0;
+   if (q[160854]) {
+    break a;
+   }
+   q[a + 4 >> 2] = e;
+   d = q[a >> 2];
+  }
+  e = q[b + 4 >> 2];
+  d = q[a + 16 >> 2] + (d << 3) | 0;
+  q[d >> 2] = q[b >> 2];
+  q[d + 4 >> 2] = e;
+  q[a >> 2] = q[a >> 2] + 1;
+  d = 1;
+  if (!c) {
+   break a;
+  }
+  b = q[a + 8 >> 2];
+  d = q[a + 12 >> 2];
+  if (b >>> 0 >= d >>> 0) {
+   q[160854] = 0;
+   b = d << 1;
+   f = a, g = Md(q[a + 20 >> 2], b, 1), q[f + 20 >> 2] = g;
+   d = 0;
+   if (q[160854]) {
+    break a;
+   }
+   q[a + 12 >> 2] = b;
+   b = q[a + 8 >> 2];
+  }
+  o[q[a + 20 >> 2] + b | 0] = c;
+  q[a + 8 >> 2] = q[a + 8 >> 2] + 1;
+  d = 1;
+ }
+ return d;
+}
+function Bq(a, b, c, d, e) {
+ var f = 0;
+ a : {
+  b : {
+   c : {
+    if ((b | 0) < 1) {
+     break c;
+    }
+    f = N$(1, 32);
+    if (!f) {
+     break c;
+    }
+    q[f + 8 >> 2] = 0;
+    q[f >> 2] = 1;
+    q[f + 4 >> 2] = 1;
+    q[f + 28 >> 2] = e;
+    q[f + 24 >> 2] = d;
+    q[f + 20 >> 2] = c;
+    q[f + 16 >> 2] = b;
+    q[f + 12 >> 2] = a;
+    if (c) {
+     break a;
+    }
+    q[f + 20 >> 2] = 1;
+    if (!q[f + 4 >> 2]) {
+     break b;
+    }
+    c = L$(b);
+    if (!c) {
+     break b;
+    }
+    a = Y$(c, a, b);
+    if (e) {
+     n[e](d);
+     q[f + 24 >> 2] = 0;
+     q[f + 28 >> 2] = 0;
+    }
+    q[f + 28 >> 2] = 427;
+    q[f + 24 >> 2] = a;
+    q[f + 12 >> 2] = a;
+    q[f + 20 >> 2] = 2;
+    return f;
+   }
+   f = 271040;
+   if (!e) {
+    break a;
+   }
+   n[e](d);
+   return 271040;
+  }
+  Cq(f);
+  f = 271040;
+ }
+ return f;
+}
+function ty(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ d = Ca - 32 | 0;
+ Ca = d;
+ Z$(a + 4 | 0, 0, 92);
+ q[a >> 2] = b;
+ b = q[c + 4 >> 2];
+ q[a + 4 >> 2] = q[c >> 2];
+ q[a + 8 >> 2] = b;
+ e = q[c + 12 >> 2];
+ b = a + 12 | 0;
+ q[b >> 2] = q[c + 8 >> 2];
+ q[b + 4 >> 2] = e;
+ q[a + 20 >> 2] = q[c + 16 >> 2];
+ q[d + 28 >> 2] = 3;
+ q[d + 24 >> 2] = 3;
+ ry(q[a + 8 >> 2], q[b >> 2], d + 28 | 0, d + 12 | 0, d + 24 | 0, d);
+ f = a, g = (dt(q[a >> 2], 1196643650, q[d + 28 >> 2], d + 12 | 0, a + 36 | 0, a + 24 | 0) | 0) != 0, o[f + 32 | 0] = g;
+ ft(q[a >> 2], 1196643650, q[a + 36 >> 2], q[d + 24 >> 2], d, a + 44 | 0);
+ b = a + 40 | 0;
+ f = a, g = (dt(q[a >> 2], 1196445523, q[d + 28 >> 2], d + 12 | 0, b, a + 28 | 0) | 0) != 0, o[f + 33 | 0] = g;
+ ft(q[a >> 2], 1196445523, q[b >> 2], q[d + 24 >> 2], d, a + 48 | 0);
+ Ca = d + 32 | 0;
+}
+function jP(a, b, c) {
+ var d = 0;
+ a = a + -22 | 0;
+ a : {
+  if (a >>> 0 > 8) {
+   break a;
+  }
+  b : {
+   switch (a - 1 | 0) {
+   default:
+    if (v[b >> 3] != v[c >> 3]) {
+     break a;
+    }
+    return v[b + 8 >> 3] == v[c + 8 >> 3];
+   case 1:
+   case 2:
+    if (!(v[b >> 3] >= v[c >> 3])) {
+     break a;
+    }
+    return v[b + 8 >> 3] <= v[c + 8 >> 3];
+   case 0:
+    d = 1;
+    if (v[b >> 3] != v[c >> 3]) {
+     break a;
+    }
+    return v[b + 8 >> 3] != v[c + 8 >> 3];
+   case 3:
+    d = 1;
+    if (!(v[b >> 3] >= v[c >> 3])) {
+     break a;
+    }
+    return v[b + 8 >> 3] <= v[c + 8 >> 3] ^ 1;
+   case 4:
+    return v[b + 8 >> 3] < v[c >> 3];
+   case 5:
+    return v[b + 8 >> 3] <= v[c >> 3];
+   case 6:
+    return v[b >> 3] > v[c + 8 >> 3];
+   case 7:
+    break b;
+   }
+  }
+  d = v[b >> 3] >= v[c + 8 >> 3];
+ }
+ return d;
+}
+function sw(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ c = r[a + 3 | 0];
+ g = r[a + 2 | 0];
+ d = c | g << 8;
+ e = d >>> 4 | 0;
+ h = r[a + 1 | 0];
+ a = r[a | 0];
+ i = h | a << 8;
+ f = i >>> 4 | 0;
+ a : {
+  if (e - f >>> 0 >= 31) {
+   q[b >> 2] = -1;
+   break a;
+  }
+  e = 1 << (e & 31);
+  f = 1 << (f & 31);
+  q[b >> 2] = q[b >> 2] | ((e << 1) - f | 0) - (e >>> 0 < f >>> 0);
+ }
+ b : {
+  if (d - i >>> 0 >= 31) {
+   q[b + 4 >> 2] = -1;
+   break b;
+  }
+  c = 1 << (c & 31);
+  d = 1 << (h & 31);
+  q[b + 4 >> 2] = q[b + 4 >> 2] | ((c << 1) - d | 0) - (c >>> 0 < d >>> 0);
+ }
+ c = g >>> 1 | 0;
+ a = a >>> 1 | 0;
+ if (c - a >>> 0 >= 31) {
+  q[b + 8 >> 2] = -1;
+  return 1;
+ }
+ d = b;
+ e = q[b + 8 >> 2];
+ b = 1 << (c & 31);
+ a = 1 << (a & 31);
+ q[d + 8 >> 2] = e | ((b << 1) - a | 0) - (b >>> 0 < a >>> 0);
+ return 1;
+}
+function NQ(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ h = q[a + 4 >> 2];
+ if ((h | 0) >= 1) {
+  j = q[a + 12 >> 2];
+  while (1) {
+   d = q[(c << 2) + j >> 2];
+   e = d;
+   a : {
+    f = b;
+    b : {
+     if ((d | 0) == (b | 0)) {
+      d = b;
+      break b;
+     }
+     while (1) {
+      c : {
+       i = r[f | 0];
+       g = r[e | 0];
+       if (!g) {
+        break c;
+       }
+       e = e + 1 | 0;
+       f = f + 1 | 0;
+       if ((i | 0) == (g | 0)) {
+        continue;
+       }
+      }
+      break;
+     }
+     if ((i | 0) != (g | 0)) {
+      break a;
+     }
+    }
+    M$(d);
+    b = q[a + 12 >> 2] + (c << 2) | 0;
+    _$(b, b + 4 | 0, q[a + 4 >> 2] - c << 2);
+    q[a + 4 >> 2] = q[a + 4 >> 2] + -1;
+    return;
+   }
+   c = c + 1 | 0;
+   if ((c | 0) < (h | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function $O(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ a : {
+  e = -1;
+  b : {
+   if (a >>> 0 > 215) {
+    break b;
+   }
+   b = +(a | 0);
+   a = 1;
+   while (1) {
+    c = a;
+    a = a + 1 | 0;
+    f = q[(c << 3) + 438004 >> 2];
+    d = +(f | 0);
+    if (d < b) {
+     continue;
+    }
+    break;
+   }
+   a = c << 3;
+   c = a + 438e3 | 0;
+   e = +q[c >> 2];
+   if (d == b) {
+    break b;
+   }
+   g = f;
+   f = q[a + 437996 >> 2];
+   g = g - f | 0;
+   if ((g | 0) < 1) {
+    break a;
+   }
+   a = q[a + 437992 >> 2];
+   c = q[c >> 2] - a | 0;
+   if (d >= b ^ 1 | (c | 0) < 0) {
+    break a;
+   }
+   d = +(f | 0);
+   if (!(d <= b)) {
+    break a;
+   }
+   e = (b - d) * +(c | 0) / +(g | 0) + +(a | 0);
+  }
+  b = e + .5;
+  if (y(b) < 2147483648) {
+   return ~~b;
+  }
+  return -2147483648;
+ }
+ J(438104, 438144, 48, 438155);
+ F();
+}
+function qV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 26) {
+    break b;
+   }
+   c = 33;
+   c : {
+    switch (d - 1 | 0) {
+    case 1:
+     q[a >> 2] = q[a + 16 >> 2] ? 916 : 935;
+     return 33;
+    case 0:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 14:
+    case 15:
+    case 16:
+    case 17:
+    case 18:
+    case 19:
+    case 20:
+    case 21:
+    case 22:
+    case 23:
+    case 24:
+     break b;
+    case 2:
+    case 25:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 936;
+   return 22;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function lD(a, b) {
+ var c = 0;
+ a : {
+  if (!q[a + 4 >> 2]) {
+   break a;
+  }
+  b : {
+   c : {
+    c = N$(1, 16);
+    if (c) {
+     q[c + 12 >> 2] = 797;
+     q[c + 8 >> 2] = 1;
+     q[c + 4 >> 2] = 0;
+     q[c >> 2] = b;
+     if (q[a + 4 >> 2]) {
+      break c;
+     }
+     q[c + 8 >> 2] = 0;
+     M$(c);
+     break b;
+    }
+    break a;
+   }
+   b = q[a + 88 >> 2];
+   if (b) {
+    n[b](q[a + 20 >> 2]);
+   }
+   q[a + 88 >> 2] = 499;
+   q[a + 20 >> 2] = c;
+   q[a + 156 >> 2] = 500;
+  }
+  b = q[c + 8 >> 2];
+  q[c + 8 >> 2] = b + 1;
+  if (!q[a + 4 >> 2]) {
+   q[c + 8 >> 2] = b;
+   if (b) {
+    break a;
+   }
+   a = q[c + 4 >> 2];
+   if (a) {
+    n[a](q[c >> 2]);
+   }
+   M$(c);
+   return;
+  }
+  b = q[a + 96 >> 2];
+  if (b) {
+   n[b](q[a + 28 >> 2]);
+  }
+  q[a + 96 >> 2] = 499;
+  q[a + 28 >> 2] = c;
+  q[a + 164 >> 2] = 501;
+ }
+}
+function OV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 21) {
+    break b;
+   }
+   c = 39;
+   c : {
+    switch (d - 1 | 0) {
+    case 8:
+     q[a + 8 >> 2] = 39;
+     q[a >> 2] = 934;
+     return 45;
+    case 20:
+     q[a + 8 >> 2] = 39;
+     q[a >> 2] = 934;
+     return 46;
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 6:
+    case 7:
+    case 9:
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 14:
+    case 15:
+    case 16:
+    case 17:
+    case 18:
+    case 19:
+     break b;
+    case 5:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 957;
+   return 39;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function oS(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ f = q[a + 8 >> 2] + a | 0;
+ a : {
+  b : {
+   if (!a) {
+    break b;
+   }
+   d = q[a >> 2] + -1 | 0;
+   if ((d | 0) < 0) {
+    break b;
+   }
+   while (1) {
+    c = e + d >> 1;
+    g = q[(c << 3) + f >> 2] - b | 0;
+    if (!g) {
+     break a;
+    }
+    h = (g | 0) < 0;
+    e = h ? c + 1 | 0 : e;
+    d = h ? d : c + -1 | 0;
+    if ((e | 0) <= (d | 0)) {
+     continue;
+    }
+    break;
+   }
+   e = g >>> 31 | 0;
+  }
+  c = c + e ^ -1;
+ }
+ if (!(!f | (c | 0) < 0)) {
+  eS(q[((c << 3) + f | 0) + 4 >> 2]);
+  c = (c << 3) + f | 0;
+  b = c + 8 | 0;
+  _$(c, b, ((q[a + 8 >> 2] + a | 0) + ((a ? q[a >> 2] : 0) << 3) | 0) - b | 0);
+  b = q[a >> 2] + -1 | 0;
+  q[a >> 2] = b;
+  a = (q[a + 8 >> 2] + a | 0) + ((a ? b : 0) << 3) | 0;
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+ }
+}
+function iR(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ b = g0(a);
+ e = b + 5 | 0;
+ c = L$((e + b << 1) + 32 | 0);
+ if (!c) {
+  return 0;
+ }
+ d = c + 16 | 0;
+ q[c >> 2] = d;
+ gZ(d, a);
+ b = (b + q[c >> 2] | 0) + 1 | 0;
+ q[c + 4 >> 2] = b;
+ gZ(b, a);
+ b = q[c + 4 >> 2];
+ b = g0(b) + b | 0;
+ d = r[487994] | r[487995] << 8 | (r[487996] << 16 | r[487997] << 24);
+ o[b | 0] = d;
+ o[b + 1 | 0] = d >>> 8;
+ o[b + 2 | 0] = d >>> 16;
+ o[b + 3 | 0] = d >>> 24;
+ o[b + 4 | 0] = r[487998];
+ b = (q[c + 4 >> 2] + e | 0) + 1 | 0;
+ q[c + 8 >> 2] = b;
+ gZ(b, a);
+ a = q[c + 8 >> 2];
+ a = g0(a) + a | 0;
+ b = r[487999] | r[488e3] << 8 | (r[488001] << 16 | r[488002] << 24);
+ o[a | 0] = b;
+ o[a + 1 | 0] = b >>> 8;
+ o[a + 2 | 0] = b >>> 16;
+ o[a + 3 | 0] = b >>> 24;
+ o[a + 4 | 0] = r[488003];
+ q[c + 12 >> 2] = (q[c + 8 >> 2] + e | 0) + 1;
+ return c;
+}
+function Cs(a, b, c) {
+ var d = 0, e = 0;
+ a : {
+  if ((r[a + 1 | 0] | r[a | 0] << 8) == 10) {
+   b : {
+    c = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+    if (c >>> 0 <= b >>> 0) {
+     b = b - c | 0;
+     if (b >>> 0 < (r[a + 7 | 0] | r[a + 6 | 0] << 8) >>> 0) {
+      break b;
+     }
+    }
+    b = r[271041] | r[271040] << 8;
+    break a;
+   }
+   d = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   if (!d) {
+    b = 0;
+    break a;
+   }
+   c = 0;
+   e = a;
+   a = w(b, d);
+   a = (a | 0) < 0 ? 271040 : (e + a | 0) + 8 | 0;
+   b = 0;
+   while (1) {
+    b = r[a | 0] | b << 8;
+    a = a + 1 | 0;
+    c = c + 1 | 0;
+    if ((d | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  a = Kr(a, b, c);
+  a = a ? a : 271040;
+  a = r[a | 0] | r[a + 1 | 0] << 8;
+  b = (a << 24 | a << 8 & 16711680) >>> 16 | 0;
+ }
+ return b & 65535;
+}
+function or(a, b) {
+ var c = 0, d = 0, e = 0;
+ e = 1;
+ c = r[a + 7 | 0];
+ a : {
+  if (c >>> 0 > 5) {
+   break a;
+  }
+  b : {
+   switch (c - 1 | 0) {
+   default:
+    return pr(a + 12 | 0, b);
+   case 0:
+    return qr(a + 12 | 0, b);
+   case 1:
+    return rr(a + 12 | 0, b);
+   case 3:
+    return sr(a + 12 | 0, b);
+   case 2:
+    break a;
+   case 4:
+    break b;
+   }
+  }
+  e = 0;
+  c = a + 12 | 0;
+  if (t[b + 4 >> 2] > c >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < c >>> 0 | d - c >>> 0 < 20) {
+   break a;
+  }
+  d = q[b + 12 >> 2];
+  q[b + 12 >> 2] = d + -1;
+  if ((d | 0) < 1) {
+   break a;
+  }
+  if (!tr(c, b, 0)) {
+   break a;
+  }
+  a = r[a + 28 | 0] | r[a + 29 | 0] << 8 | (r[a + 30 | 0] << 16 | r[a + 31 | 0] << 24);
+  e = (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) != 0;
+ }
+ return e;
+}
+function ou(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ d = q[a + 12 >> 2];
+ c = q[a >> 2];
+ b = q[a + 4 >> 2];
+ e = (r[c + 3 | 0] | r[c + 2 | 0] << 8) >>> 0 > b >>> 0 ? (c + w(b, 6) | 0) + 4 | 0 : 271432;
+ if (d >>> 0 >= (r[e + 2 | 0] << 8 | r[e + 3 | 0]) >>> 0) {
+  b = b + 1 | 0;
+  q[a + 4 >> 2] = b;
+  a : {
+   if (b >>> 0 >= (r[c + 3 | 0] | r[c + 2 | 0] << 8) >>> 0) {
+    break a;
+   }
+   d = (c + 2 | 0) + w(b, 6) | 0;
+   e = d + 2 | 0;
+   q[a + 12 >> 2] = r[e | 0] << 8 | r[d + 3 | 0];
+   d = q[a + 8 >> 2];
+   b = (r[c + 3 | 0] | r[c + 2 | 0] << 8) >>> 0 > b >>> 0 ? e : 271432;
+   b = r[b + 4 | 0] << 8 | r[b + 5 | 0];
+   q[a + 8 >> 2] = b;
+   if ((b | 0) == (d + 1 | 0)) {
+    break a;
+   }
+   q[a + 4 >> 2] = r[c + 3 | 0] | r[c + 2 | 0] << 8;
+  }
+  return;
+ }
+ q[a + 12 >> 2] = d + 1;
+ q[a + 8 >> 2] = q[a + 8 >> 2] + 1;
+}
+function rY(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ d = aS();
+ if (d) {
+  sS(d, b);
+  sS(d, 504940);
+  uS(d);
+  a : {
+   if (!MX(q[a >> 2], d, 0)) {
+    break a;
+   }
+   q[c + 16 >> 2] = 0;
+   a = N$(100, 4);
+   q[c + 4 >> 2] = a;
+   if (!a) {
+    break a;
+   }
+   q[e + 12 >> 2] = 0;
+   if (ES(d, 504933, 0, e + 12 | 0)) {
+    break a;
+   }
+   while (1) {
+    if (q[c + 16 >> 2] > 99) {
+     break a;
+    }
+    a = q[e + 12 >> 2];
+    if (!iZ(a, 504940)) {
+     break a;
+    }
+    a = mZ(a);
+    q[e + 12 >> 2] = a;
+    if (!a) {
+     break a;
+    }
+    b = q[c + 16 >> 2];
+    q[q[c + 4 >> 2] + (b << 2) >> 2] = a;
+    a = b + 1 | 0;
+    q[c + 16 >> 2] = a;
+    if (!ES(d, 504933, a, e + 12 | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  gS(d);
+ }
+ Ca = e + 16 | 0;
+}
+function rr(a, b) {
+ var c = 0, d = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 28) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  if (!yr(a, b)) {
+   break a;
+  }
+  b = r[a + 16 | 0] | r[a + 17 | 0] << 8 | (r[a + 18 | 0] << 16 | r[a + 19 | 0] << 24);
+  if (!(b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24))) {
+   break a;
+  }
+  b = r[a + 20 | 0] | r[a + 21 | 0] << 8 | (r[a + 22 | 0] << 16 | r[a + 23 | 0] << 24);
+  if (!(b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24))) {
+   break a;
+  }
+  a = r[a + 24 | 0] | r[a + 25 | 0] << 8 | (r[a + 26 | 0] << 16 | r[a + 27 | 0] << 24);
+  d = (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) != 0;
+ }
+ return d;
+}
+function Ut(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ d = r[a + 4 | 0];
+ a : {
+  if (d >>> 0 > 2) {
+   break a;
+  }
+  b : {
+   c : {
+    switch (d - 1 | 0) {
+    default:
+     d = q[b >> 2];
+     if (!(o[d + 140 | 0] & 1)) {
+      break a;
+     }
+     e = r[a + 5 | 0];
+     q[c + 8 >> 2] = a;
+     q[c + 12 >> 2] = b;
+     o[c + 4 | 0] = e >>> 2 & 1;
+     q[c >> 2] = c + 8;
+     Vt(c, q[b + 4 >> 2], q[b + 12 >> 2], q[d + 132 >> 2]);
+     break b;
+    case 0:
+     break a;
+    case 1:
+     break c;
+    }
+   }
+   d = q[b >> 2];
+   if (!(o[d + 140 | 0] & 1)) {
+    break a;
+   }
+   e = r[a + 5 | 0];
+   q[c + 8 >> 2] = a;
+   q[c + 12 >> 2] = b;
+   o[c + 4 | 0] = e >>> 2 & 1;
+   q[c >> 2] = c + 8;
+   Wt(c, q[b + 4 >> 2], q[b + 12 >> 2], q[d + 132 >> 2]);
+  }
+  e = 1;
+ }
+ Ca = c + 16 | 0;
+ return e;
+}
+function Lu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ a : {
+  d = r[a + 5 | 0];
+  g = r[a + 4 | 0];
+  f = d | g << 8;
+  if (!f) {
+   break a;
+  }
+  while (1) {
+   d = (g << 8 | d) >>> 0 > c >>> 0 ? ((c << 1) + a | 0) + 6 | 0 : 271040;
+   b : {
+    if (r[d | 0] << 8 | r[d + 1 | 0]) {
+     c = c + 1 | 0;
+     break b;
+    }
+    c : {
+     if ((c | 0) == (e | 0)) {
+      break c;
+     }
+     d = e;
+     e = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+     if (tF(b, d + e | 0, c + e | 0)) {
+      break c;
+     }
+     return;
+    }
+    c = c + 1 | 0;
+    e = c;
+   }
+   if ((c | 0) == (f | 0)) {
+    break a;
+   }
+   d = r[a + 5 | 0];
+   g = r[a + 4 | 0];
+   continue;
+  }
+ }
+ d : {
+  if ((e | 0) == (f | 0)) {
+   break d;
+  }
+  a = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if (tF(b, a + e | 0, a + f | 0)) {
+   break d;
+  }
+ }
+}
+function kC(a, b, c, d, e, f, g, h) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ var i = 0;
+ h = 0;
+ b = q[a + 72 >> 2];
+ if (q[b + 156 >> 2] != q[160315]) {
+  a : {
+   if (!c) {
+    break a;
+   }
+   i = q[d >> 2];
+   q[f >> 2] = 0;
+   if (!n[q[b + 156 >> 2]](a, q[a + 76 >> 2], i, f, q[b + 20 >> 2])) {
+    break a;
+   }
+   while (1) {
+    h = h + 1 | 0;
+    if ((h | 0) == (c | 0)) {
+     return c | 0;
+    }
+    d = d + e | 0;
+    i = q[d >> 2];
+    b = q[a + 72 >> 2];
+    f = f + g | 0;
+    q[f >> 2] = 0;
+    if (n[q[b + 156 >> 2]](a, q[a + 76 >> 2], i, f, q[b + 20 >> 2])) {
+     continue;
+    }
+    break;
+   }
+  }
+  return h | 0;
+ }
+ a = q[a + 12 >> 2];
+ b = q[a + 72 >> 2];
+ return n[q[b + 160 >> 2]](a, q[a + 76 >> 2], c, d, e, f, g, q[b + 24 >> 2]) | 0;
+}
+function CQ(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ b = Ca - 4144 | 0;
+ Ca = b;
+ a : {
+  b : {
+   c = r[a | 0];
+   if ((c | 0) != 47) {
+    if ((c | 0) != 126) {
+     break b;
+    }
+    c = 0;
+    d = NX();
+    if (!d) {
+     break a;
+    }
+    e = L$((g0(d) + g0(a) | 0) + 1 | 0);
+    if (!e) {
+     break a;
+    }
+    a = cZ(gZ(e, d), a + 1 | 0);
+    if (r[a | 0] == 47) {
+     c = DQ(a);
+     M$(a);
+     break a;
+    }
+    if (!RY(b + 32 | 0)) {
+     M$(a);
+     break a;
+    }
+    q[b + 20 >> 2] = 0;
+    q[b + 16 >> 2] = a;
+    d = uQ(b + 32 | 0, b + 16 | 0);
+    c = DQ(d);
+    M$(d);
+    M$(a);
+    break a;
+   }
+   c = DQ(a);
+   break a;
+  }
+  if (!RY(b + 32 | 0)) {
+   c = 0;
+   break a;
+  }
+  q[b + 4 >> 2] = 0;
+  q[b >> 2] = a;
+  a = uQ(b + 32 | 0, b);
+  c = DQ(a);
+  M$(a);
+ }
+ Ca = b + 4144 | 0;
+ return c;
+}
+function uu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ yu(c ? c + a | 0 : 271040, q[b + 8 >> 2]);
+ c = q[57147];
+ q[d + 8 >> 2] = q[57146];
+ q[d + 12 >> 2] = c;
+ c = q[57145];
+ q[d >> 2] = q[57144];
+ q[d + 4 >> 2] = c;
+ f = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+ if (f) {
+  c = a + 6 | 0;
+  while (1) {
+   e = r[c + 1 | 0] | r[c | 0] << 8;
+   g = e ? e + a | 0 : 271040;
+   h = r[g | 0] << 8 | r[g + 1 | 0];
+   if (h) {
+    e = g + 2 | 0;
+    while (1) {
+     i = r[e + 1 | 0] | r[e | 0] << 8;
+     Iu(i ? i + g | 0 : 271040, b, d);
+     e = e + 2 | 0;
+     h = h + -1 | 0;
+     if (h) {
+      continue;
+     }
+     break;
+    }
+   }
+   c = c + 2 | 0;
+   f = f + -1 | 0;
+   if (f) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 16 | 0;
+}
+function go(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ a : {
+  if (b >>> 0 > 65535) {
+   break a;
+  }
+  c = q[a + 16 >> 2];
+  a = c + 518 | 0;
+  c = c + 6 | 0;
+  d = b >>> 8 | 0;
+  b : {
+   if (!d) {
+    c = c + (b << 1 & 510) | 0;
+    if (!(r[c | 0] << 8 | r[c + 1 | 0])) {
+     break b;
+    }
+    break a;
+   }
+   c = c + (d << 1) | 0;
+   c = r[c | 0] << 8 | r[c + 1 | 0] & 248;
+   if (!c) {
+    break a;
+   }
+   a = a + c | 0;
+  }
+  b = (b & 255) - (r[a + 1 | 0] | r[a | 0] << 8) | 0;
+  if (b >>> 0 >= (r[a + 3 | 0] | r[a + 2 | 0] << 8) >>> 0) {
+   break a;
+  }
+  c = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+  if (!c) {
+   break a;
+  }
+  b = a + 6 + (c + (b << 1)) | 0;
+  b = r[b | 0] << 8 | r[b + 1 | 0];
+  if (!b) {
+   break a;
+  }
+  e = b + (r[a + 5 | 0] | r[a + 4 | 0] << 8) & 65535;
+ }
+ return e | 0;
+}
+function KX(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ a : {
+  if (!d) {
+   break a;
+  }
+  h = L$(32);
+  if (!h) {
+   break a;
+  }
+  g = h + 8 | 0;
+  b : {
+   if (s[d >> 1] == 36) {
+    JX(f, a, b, c, q[d + 8 >> 2]);
+    i = q[f + 12 >> 2];
+    q[g + 8 >> 2] = q[f + 8 >> 2];
+    q[g + 12 >> 2] = i;
+    i = q[f + 4 >> 2];
+    q[g >> 2] = q[f >> 2];
+    q[g + 4 >> 2] = i;
+    a = KX(a, b, c, q[d + 12 >> 2], e);
+    break b;
+   }
+   JX(f, a, b, c, d);
+   a = q[f + 12 >> 2];
+   q[g + 8 >> 2] = q[f + 8 >> 2];
+   q[g + 12 >> 2] = a;
+   a = q[f + 4 >> 2];
+   q[g >> 2] = q[f >> 2];
+   q[g + 4 >> 2] = a;
+   a = 0;
+  }
+  q[h + 24 >> 2] = e;
+  q[h >> 2] = a;
+  g = h;
+  if (q[g + 8 >> 2]) {
+   break a;
+  }
+  M$(h);
+  g = a & 1 ? (a & -2) + h | 0 : a;
+ }
+ Ca = f + 16 | 0;
+ return g;
+}
+function Xp(a, b) {
+ var c = 0, d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[d + 12 >> 2] = 0;
+ e = Tg(a, d + 12 | 0);
+ c = q[d + 12 >> 2];
+ a : {
+  if (c) {
+   break a;
+  }
+  c = e & 255;
+  e = c + -253 | 0;
+  b : {
+   if (e >>> 0 <= 2) {
+    c : {
+     switch (e - 1 | 0) {
+     default:
+      a = Bg(a, d + 12 | 0);
+      c = q[d + 12 >> 2];
+      if (c) {
+       break a;
+      }
+      p[b >> 1] = a;
+      break b;
+     case 1:
+      a = Tg(a, d + 12 | 0);
+      c = q[d + 12 >> 2];
+      if (c) {
+       break a;
+      }
+      p[b >> 1] = (a & 255) + 253;
+      break b;
+     case 0:
+      break c;
+     }
+    }
+    a = Tg(a, d + 12 | 0);
+    c = q[d + 12 >> 2];
+    if (c) {
+     break a;
+    }
+    p[b >> 1] = (a & 255) + 506;
+    break b;
+   }
+   p[b >> 1] = c;
+  }
+  c = 0;
+ }
+ Ca = d + 16 | 0;
+ return c;
+}
+function $T(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ a = q[b >> 2];
+ a : {
+  if ((c | 0) != (a | 0)) {
+   while (1) {
+    f = q[d >> 2];
+    g = o[a | 0];
+    b : {
+     if ((g | 0) <= -1) {
+      a = 2;
+      if ((e - f | 0) < 2) {
+       break a;
+      }
+      q[d >> 2] = f + 1;
+      o[f | 0] = (g & 192) >>> 6 | 192;
+      a = q[d >> 2];
+      q[d >> 2] = a + 1;
+      o[a | 0] = g & 63 | 128;
+      a = q[b >> 2] + 1 | 0;
+      q[b >> 2] = a;
+      break b;
+     }
+     if ((e | 0) == (f | 0)) {
+      return 2;
+     }
+     q[b >> 2] = a + 1;
+     a = r[a | 0];
+     f = q[d >> 2];
+     q[d >> 2] = f + 1;
+     o[f | 0] = a;
+     a = q[b >> 2];
+    }
+    if ((a | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = 0;
+ }
+ return a | 0;
+}
+function p$(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ g = -1;
+ e = d & 2147483647;
+ h = e;
+ f = c;
+ a : {
+  if (!c & (e | 0) == 2147418112 ? a | b : (e | 0) == 2147418112 & c >>> 0 > 0 | e >>> 0 > 2147418112) {
+   break a;
+  }
+  if (!(a | f | (h | 1073610752 | b))) {
+   return 0;
+  }
+  f = d & 1073610752;
+  if ((f | 0) > 0 ? 1 : (f | 0) >= 0 ? 1 : 0) {
+   if (!c & (d | 0) == 1073610752 ? !b & a >>> 0 < 0 | b >>> 0 < 0 : (d | 0) < 1073610752 ? 1 : (d | 0) <= 1073610752 ? c >>> 0 >= 0 ? 0 : 1 : 0) {
+    break a;
+   }
+   return (a | c) != 0 | (d ^ 1073610752 | b) != 0;
+  }
+  if (!c & (d | 0) == 1073610752 ? !b & a >>> 0 > 0 | b >>> 0 > 0 : (d | 0) > 1073610752 ? 1 : (d | 0) >= 1073610752 ? c >>> 0 <= 0 ? 0 : 1 : 0) {
+   break a;
+  }
+  g = (a | c) != 0 | (d ^ 1073610752 | b) != 0;
+ }
+ return g;
+}
+function Wm(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ c = q[b >> 2];
+ d = q[a + 16 >> 2];
+ f = s[d + 2 >> 1];
+ g = f + (s[d + 6 >> 1] << 8) | 0;
+ a : {
+  if (c >>> 0 >= g >>> 0) {
+   break a;
+  }
+  a = s[d >> 1];
+  j = (f - a | 0) + 1 | 0;
+  h = s[d + 4 >> 1];
+  i = a + (h << 8) | 0;
+  k = q[d + 12 >> 2];
+  while (1) {
+   c = c + 1 | 0;
+   e = c >>> 0 < i >>> 0 ? i : c;
+   c = e & 255;
+   d = c >>> 0 > f >>> 0;
+   e = (d & c >>> 0 >= a >>> 0) + (e >>> 8 | 0) & 65535;
+   d = c >>> 0 < a >>> 0 ? a : d ? a : c;
+   c = (e << 8) + d | 0;
+   e = s[((d - a | 0) + w(e - h | 0, j) << 1) + k >> 1];
+   if ((e | 0) != 65535) {
+    break a;
+   }
+   if (c >>> 0 < g >>> 0) {
+    continue;
+   }
+   break;
+  }
+  e = 65535;
+ }
+ q[b >> 2] = c;
+ return e | 0;
+}
+function qp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = n[q[a + 516 >> 2]](a, 1835104368, b, 0) | 0;
+ a : {
+  if (c) {
+   break a;
+  }
+  d = a + 260 | 0;
+  c = Xg(b, 162656, d);
+  if (c) {
+   break a;
+  }
+  p[a + 290 >> 1] = 0;
+  p[a + 282 >> 1] = 0;
+  p[a + 284 >> 1] = 0;
+  p[a + 286 >> 1] = 0;
+  p[a + 288 >> 1] = 0;
+  p[a + 274 >> 1] = 0;
+  p[a + 276 >> 1] = 0;
+  p[a + 278 >> 1] = 0;
+  p[a + 280 >> 1] = 0;
+  p[a + 266 >> 1] = 0;
+  p[a + 268 >> 1] = 0;
+  p[a + 270 >> 1] = 0;
+  p[a + 272 >> 1] = 0;
+  b : {
+   if (q[a + 260 >> 2] < 65536) {
+    break b;
+   }
+   c = Xg(b, 162672, d);
+   if (c) {
+    break a;
+   }
+   if (s[a + 280 >> 1] <= 63) {
+    p[a + 280 >> 1] = 64;
+   }
+   if (s[a + 276 >> 1] < 65532) {
+    break b;
+   }
+   p[a + 276 >> 1] = 65531;
+  }
+  c = 0;
+ }
+ return c | 0;
+}
+function XC(a, b, c, d, e, f, g) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ var h = 0, i = 0;
+ b = q[a + 12 >> 2];
+ q[f >> 2] = 0;
+ q[e >> 2] = 0;
+ g = b;
+ h = q[b + 76 >> 2];
+ b = q[b + 72 >> 2];
+ i = n[q[b + 204 >> 2]](g, h, c, d, e, f, q[b + 68 >> 2]) | 0;
+ if (i) {
+  h = f;
+  d = q[a + 12 >> 2];
+  a : {
+   if (d) {
+    b = q[e >> 2];
+    g = q[d + 20 >> 2];
+    c = q[a + 20 >> 2];
+    if ((g | 0) != (c | 0)) {
+     b = U0(T0(c, c >> 31, b, b >> 31), Ea, g, g >> 31);
+    }
+    q[e >> 2] = b;
+    e = q[f >> 2];
+    d = q[d + 24 >> 2];
+    a = q[a + 24 >> 2];
+    b = e;
+    if ((d | 0) == (a | 0)) {
+     break a;
+    }
+    b = U0(T0(a, a >> 31, e, e >> 31), Ea, d, d >> 31);
+    break a;
+   }
+   b = q[f >> 2];
+  }
+  q[h >> 2] = b;
+ }
+ return i | 0;
+}
+function LS(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ a : {
+  b : {
+   if (!a) {
+    break b;
+   }
+   f = q[a >> 2] + -1 | 0;
+   if ((f | 0) < 0) {
+    break b;
+   }
+   i = q[a + 8 >> 2] + a | 0;
+   while (1) {
+    d = e + f >> 1;
+    g = q[(d << 3) + i >> 2] - c | 0;
+    if (!g) {
+     break a;
+    }
+    h = (g | 0) < 0;
+    e = h ? d + 1 | 0 : e;
+    f = h ? f : d + -1 | 0;
+    if ((e | 0) <= (f | 0)) {
+     continue;
+    }
+    break;
+   }
+   e = g >>> 31 | 0;
+  }
+  d = d + e ^ -1;
+ }
+ e = 0;
+ q[b >> 2] = 0;
+ if ((d | 0) >= 0) {
+  q[b + 4 >> 2] = d;
+  c : {
+   if (!a) {
+    break c;
+   }
+   c = q[a >> 2];
+   if ((c | 0) < 1 | (d | 0) >= (c | 0)) {
+    break c;
+   }
+   e = (q[a + 8 >> 2] + a | 0) + (d << 3) | 0;
+  }
+  q[b >> 2] = e;
+  a = 1;
+ } else {
+  a = 0;
+ }
+ return a;
+}
+function iQ(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ e = b;
+ g = a;
+ a : {
+  b : {
+   if (a >>> 0 >= 128) {
+    if (a >>> 0 < 2048) {
+     c = 192;
+     f = 6;
+     break a;
+    }
+    if (a >>> 0 < 65536) {
+     d = 6;
+     c = 224;
+     f = 12;
+     break a;
+    }
+    if (a >>> 0 < 2097152) {
+     d = 12;
+     c = 240;
+     f = 18;
+     break a;
+    }
+    if (a >>> 0 < 67108864) {
+     d = 18;
+     c = 248;
+     f = 24;
+     break a;
+    }
+    if ((a | 0) > -1) {
+     break b;
+    }
+    return 0;
+   }
+   o[b | 0] = a;
+   return (b + 1 | 0) - b | 0;
+  }
+  d = 24;
+  c = 252;
+  f = 30;
+ }
+ o[e | 0] = g >>> f | c;
+ e = b + 1 | 0;
+ while (1) {
+  o[e | 0] = a >>> d & 63 | 128;
+  e = e + 1 | 0;
+  c = (d | 0) > 5;
+  d = d + -6 | 0;
+  if (c) {
+   continue;
+  }
+  break;
+ }
+ return e - b | 0;
+}
+function KN() {
+ var a = 0, b = 0;
+ a = N$(48, 1);
+ a : {
+  if (a) {
+   q[a + 28 >> 2] = 64;
+   b : {
+    if (!BN(a, 0)) {
+     break b;
+    }
+    b = N$(16, 5);
+    q[a + 36 >> 2] = b;
+    if (!b) {
+     break b;
+    }
+    q[a + 32 >> 2] = 5;
+    q[b + 76 >> 2] = -1;
+    q[b + 60 >> 2] = -1;
+    q[b + 64 >> 2] = 1668049255;
+    q[b + 44 >> 2] = -1;
+    q[b + 48 >> 2] = 1818847073;
+    q[b + 28 >> 2] = -1;
+    q[b + 32 >> 2] = 1801810542;
+    q[b + 12 >> 2] = -1;
+    q[b + 16 >> 2] = 1986752097;
+    q[b >> 2] = 1986359924;
+    b = wM();
+    q[a + 44 >> 2] = b;
+    if (b) {
+     break a;
+    }
+   }
+   tM(q[a + 44 >> 2]);
+   M$(q[a + 36 >> 2]);
+   M$(q[a + 8 >> 2]);
+   M$(q[a + 12 >> 2]);
+   M$(q[a + 16 >> 2]);
+   M$(q[a + 20 >> 2]);
+   M$(q[a + 24 >> 2]);
+   M$(a);
+  }
+  a = 0;
+ }
+ return a;
+}
+function Dp(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0;
+ a : {
+  if (!r[a + 632 | 0]) {
+   break a;
+  }
+  c = q[a + 100 >> 2];
+  d = q[a + 476 >> 2];
+  if ((d | 0) != 151552) {
+   if ((d | 0) != 131072) {
+    break a;
+   }
+   b = a + 640 | 0;
+   Qe(c, q[b >> 2]);
+   d = 0;
+   p[a + 636 >> 1] = 0;
+   q[b >> 2] = 0;
+   b = q[a + 644 >> 2];
+   if (s[a + 638 >> 1]) {
+    while (1) {
+     e = b;
+     b = d << 2;
+     Qe(c, q[e + b >> 2]);
+     q[q[a + 644 >> 2] + b >> 2] = 0;
+     b = q[a + 644 >> 2];
+     d = d + 1 | 0;
+     if (d >>> 0 < s[a + 638 >> 1]) {
+      continue;
+     }
+     break;
+    }
+   }
+   Qe(c, b);
+   p[a + 638 >> 1] = 0;
+   q[a + 644 >> 2] = 0;
+   break a;
+  }
+  b = c;
+  c = a + 640 | 0;
+  Qe(b, q[c >> 2]);
+  p[a + 636 >> 1] = 0;
+  q[c >> 2] = 0;
+ }
+ o[a + 632 | 0] = 0;
+}
+function jj(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0;
+ q[d >> 2] = 0;
+ q[d + 4 >> 2] = 0;
+ e = q[a + 496 >> 2];
+ if (e) {
+  h = d;
+  a = q[e + 36 >> 2];
+  e = (a + (q[e + 40 >> 2] << 4) | 0) + -16 | 0;
+  a : {
+   if (a >>> 0 <= e >>> 0) {
+    c = b << 16 | c;
+    while (1) {
+     f = (e - a >> 4) / 2 | 0;
+     b = (f << 4) + a | 0;
+     g = q[b >> 2] << 16 | q[b + 4 >> 2];
+     if ((g | 0) == (c | 0)) {
+      a = (f << 4) + a | 0;
+      q[d >> 2] = q[a + 8 >> 2];
+      a = q[a + 12 >> 2];
+      break a;
+     }
+     f = g >>> 0 < c >>> 0;
+     a = f ? b + 16 | 0 : a;
+     e = f ? e : b + -16 | 0;
+     if (a >>> 0 <= e >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   q[d >> 2] = 0;
+   a = 0;
+  }
+  q[h + 4 >> 2] = a;
+ }
+ return 0;
+}
+function UZ(a, b) {
+ a : {
+  if (a) {
+   if (b >>> 0 <= 127) {
+    break a;
+   }
+   b : {
+    if (!q[q[160522] >> 2]) {
+     if ((b & -128) == 57216) {
+      break a;
+     }
+     break b;
+    }
+    if (b >>> 0 <= 2047) {
+     o[a + 1 | 0] = b & 63 | 128;
+     o[a | 0] = b >>> 6 | 192;
+     return 2;
+    }
+    if (!((b & -8192) != 57344 ? b >>> 0 >= 55296 : 0)) {
+     o[a + 2 | 0] = b & 63 | 128;
+     o[a | 0] = b >>> 12 | 224;
+     o[a + 1 | 0] = b >>> 6 & 63 | 128;
+     return 3;
+    }
+    if (b + -65536 >>> 0 <= 1048575) {
+     o[a + 3 | 0] = b & 63 | 128;
+     o[a | 0] = b >>> 18 | 240;
+     o[a + 2 | 0] = b >>> 6 & 63 | 128;
+     o[a + 1 | 0] = b >>> 12 & 63 | 128;
+     return 4;
+    }
+   }
+   q[160854] = 25;
+   a = -1;
+  } else {
+   a = 1;
+  }
+  return a;
+ }
+ o[a | 0] = b;
+ return 1;
+}
+function sR(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ qR();
+ a : {
+  if (!a) {
+   break a;
+  }
+  c = 643312;
+  e = q[160844];
+  if ((e | 0) >= 1) {
+   while (1) {
+    g = e;
+    e = e + -1 | 0;
+    f = e << 2;
+    d = q[f + c >> 2];
+    if (!(!d | q[d >> 2] + q[d + 8 >> 2] >>> 0 > a >>> 0)) {
+     while (1) {
+      c = d;
+      d = q[(f + c | 0) + 40 >> 2];
+      if (q[d >> 2] + q[d + 8 >> 2] >>> 0 <= a >>> 0 ? d : 0) {
+       continue;
+      }
+      break;
+     }
+     c = c + 40 | 0;
+    }
+    if ((g | 0) > 1) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = q[c >> 2];
+  if (!c | q[c >> 2] + q[c + 8 >> 2] >>> 0 <= a >>> 0) {
+   break a;
+  }
+  a = L$(b + 4 | 0);
+  if (!a) {
+   break a;
+  }
+  q[a >> 2] = q[c + 12 >> 2];
+  q[c + 12 >> 2] = a;
+  h = a + 4 | 0;
+ }
+ return h;
+}
+function PC(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ var g = 0, h = 0, i = 0;
+ b = q[a + 12 >> 2];
+ q[e >> 2] = 0;
+ q[d >> 2] = 0;
+ f = b;
+ g = q[b + 76 >> 2];
+ b = q[b + 72 >> 2];
+ i = n[q[b + 188 >> 2]](f, g, c, d, e, q[b + 52 >> 2]) | 0;
+ if (i) {
+  c = e;
+  f = q[a + 12 >> 2];
+  a : {
+   if (f) {
+    b = q[d >> 2];
+    g = q[a + 20 >> 2];
+    h = q[f + 20 >> 2];
+    if ((g | 0) != (h | 0)) {
+     b = U0(T0(g, g >> 31, b, b >> 31), Ea, h, h >> 31);
+    }
+    q[d >> 2] = b;
+    d = q[e >> 2];
+    b = d;
+    e = q[f + 24 >> 2];
+    a = q[a + 24 >> 2];
+    if ((e | 0) == (a | 0)) {
+     break a;
+    }
+    b = U0(T0(a, a >> 31, d, d >> 31), Ea, e, e >> 31);
+    break a;
+   }
+   b = q[e >> 2];
+  }
+  q[c >> 2] = b;
+ }
+ return i | 0;
+}
+function NC(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ var g = 0, h = 0, i = 0;
+ b = q[a + 12 >> 2];
+ q[e >> 2] = 0;
+ q[d >> 2] = 0;
+ f = b;
+ g = q[b + 76 >> 2];
+ b = q[b + 72 >> 2];
+ i = n[q[b + 184 >> 2]](f, g, c, d, e, q[b + 48 >> 2]) | 0;
+ if (i) {
+  c = e;
+  f = q[a + 12 >> 2];
+  a : {
+   if (f) {
+    b = q[d >> 2];
+    g = q[a + 20 >> 2];
+    h = q[f + 20 >> 2];
+    if ((g | 0) != (h | 0)) {
+     b = U0(T0(g, g >> 31, b, b >> 31), Ea, h, h >> 31);
+    }
+    q[d >> 2] = b;
+    d = q[e >> 2];
+    b = d;
+    e = q[f + 24 >> 2];
+    a = q[a + 24 >> 2];
+    if ((e | 0) == (a | 0)) {
+     break a;
+    }
+    b = U0(T0(a, a >> 31, d, d >> 31), Ea, e, e >> 31);
+    break a;
+   }
+   b = q[e >> 2];
+  }
+  q[c >> 2] = b;
+ }
+ return i | 0;
+}
+function qT(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0;
+ a : {
+  f = q[b >> 2];
+  if (f >>> 0 >= c >>> 0) {
+   break a;
+  }
+  i = a + 72 | 0;
+  j = a + 372 | 0;
+  while (1) {
+   g = q[d >> 2];
+   if (g >>> 0 < e >>> 0) {
+    g = b;
+    h = s[(r[f | 0] << 1) + j >> 1];
+    b : {
+     if (!h) {
+      h = n[q[a + 364 >> 2]](q[a + 368 >> 2], f) | 0;
+      f = q[b >> 2];
+      f = (r[r[f | 0] + i | 0] + f | 0) + -3 | 0;
+      break b;
+     }
+     f = f + 1 | 0;
+    }
+    q[g >> 2] = f;
+    g = q[d >> 2];
+    q[d >> 2] = g + 2;
+    p[g >> 1] = h;
+    f = q[b >> 2];
+    if (f >>> 0 < c >>> 0) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  if ((e | 0) != (g | 0)) {
+   break a;
+  }
+  return 2;
+ }
+ return 0;
+}
+function ie(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = q[a + 8 >> 2];
+ a : {
+  if (!c) {
+   break a;
+  }
+  d = q[c >> 2];
+  if (!d) {
+   break a;
+  }
+  while (1) {
+   M$(d);
+   d = q[c + 4 >> 2];
+   c = c + 4 | 0;
+   if (d) {
+    continue;
+   }
+   break;
+  }
+  c = q[a + 8 >> 2];
+ }
+ M$(c);
+ q[a + 8 >> 2] = 0;
+ b : {
+  if (!b) {
+   break b;
+  }
+  d = 1;
+  if (q[b >> 2]) {
+   c = b;
+   while (1) {
+    d = d + 1 | 0;
+    e = q[c + 4 >> 2];
+    c = c + 4 | 0;
+    if (e) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = N$(d, 4);
+  q[a + 8 >> 2] = c;
+  if (!c) {
+   break b;
+  }
+  d = q[b >> 2];
+  if (!d) {
+   break b;
+  }
+  while (1) {
+   f = c, g = mZ(d), q[f >> 2] = g;
+   c = c + 4 | 0;
+   d = q[b + 4 >> 2];
+   b = b + 4 | 0;
+   if (d) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function OS(a, b) {
+ var c = 0, d = 0;
+ a : {
+  if (b) {
+   while (1) {
+    if (!bP(a, b, 32)) {
+     break a;
+    }
+    c = q[b + 8 >> 2] + -3 | 0;
+    b : {
+     if (c >>> 0 > 6) {
+      break b;
+     }
+     c : {
+      switch (c - 1 | 0) {
+      default:
+       if (dP(a, q[b + 16 >> 2])) {
+        break b;
+       }
+       break a;
+      case 2:
+       if (_R(a, q[b + 16 >> 2])) {
+        break b;
+       }
+       break a;
+      case 4:
+       if (bP(a, q[b + 16 >> 2], 40)) {
+        break b;
+       }
+       break a;
+      case 0:
+      case 1:
+      case 3:
+       break b;
+      case 5:
+       break c;
+      }
+     }
+     if (!bP(a, q[b + 16 >> 2], 16)) {
+      break a;
+     }
+    }
+    b = q[b >> 2];
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = 1;
+ }
+ return d;
+}
+function on(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ i = q[a + 20 >> 2];
+ h = q[a + 16 >> 2];
+ a : {
+  b : {
+   if (h) {
+    e = q[b >> 2] + 1 | 0;
+    a = h >>> 1 | 0;
+    g = h;
+    while (1) {
+     d = c + g >>> 1 | 0;
+     d = a >>> 0 >= g >>> 0 ? d : a >>> 0 < c >>> 0 ? d : a;
+     f = q[(d << 3) + i >> 2];
+     if ((f | 0) == (e | 0)) {
+      c = d;
+      break b;
+     }
+     a = (e + d | 0) - f | 0;
+     f = e >>> 0 < f >>> 0;
+     c = f ? c : d + 1 | 0;
+     g = f ? d : g;
+     if (c >>> 0 < g >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   e = 0;
+   if (c >>> 0 >= h >>> 0) {
+    break a;
+   }
+   e = q[(c << 3) + i >> 2];
+  }
+  j = s[((c << 3) + i | 0) + 4 >> 1] + 1 & 65535;
+ }
+ q[b >> 2] = e;
+ return j | 0;
+}
+function Eg(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[b >> 2] = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     c = q[a + 8 >> 2];
+     if (c + 3 >>> 0 >= t[a + 4 >> 2]) {
+      break d;
+     }
+     e = q[a + 20 >> 2];
+     e : {
+      if (e) {
+       if ((n[e](a, c, d + 12 | 0, 4) | 0) != 4) {
+        break d;
+       }
+       c = q[a + 8 >> 2];
+       b = d + 12 | 0;
+       break e;
+      }
+      b = q[a >> 2];
+      if (!b) {
+       break c;
+      }
+      b = b + c | 0;
+     }
+     b = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+     f = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
+     break b;
+    }
+    q[b >> 2] = 85;
+    break a;
+   }
+   f = 0;
+  }
+  q[a + 8 >> 2] = c + 4;
+ }
+ Ca = d + 16 | 0;
+ return f;
+}
+function sx(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 6) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  if (!dv(a + 2 | 0, b, a)) {
+   break a;
+  }
+  c = a + 6 | 0;
+  d = r[a + 5 | 0];
+  e = d | r[a + 4 | 0] << 8;
+  if (e) {
+   if (t[b + 4 >> 2] > c >>> 0) {
+    break a;
+   }
+   d = q[b + 8 >> 2];
+   if (d >>> 0 < c >>> 0) {
+    break a;
+   }
+   if (d - c >>> 0 < X0(e) << 1 >>> 0) {
+    break a;
+   }
+   d = q[b + 12 >> 2];
+   q[b + 12 >> 2] = d + -1;
+   if ((d | 0) < 1) {
+    break a;
+   }
+   d = r[a + 5 | 0];
+  }
+  f = 1;
+  if (d >>> 0 < 16) {
+   break a;
+  }
+  f = Ax(a + 4 | 0, b, a, c);
+ }
+ return f;
+}
+function HY(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = Ca - 4304 | 0;
+ Ca = c;
+ a : {
+  if (!a) {
+   q[160854] = 28;
+   break a;
+  }
+  a = DY(_(a | 0, 2656256, 0) | 0);
+  if ((a | 0) < 0) {
+   break a;
+  }
+  CY(c + 4096 | 0, a);
+  b : {
+   d = MY(c + 4096 | 0, c, 4095);
+   c : {
+    if ((d | 0) < 0) {
+     break c;
+    }
+    o[c + d | 0] = 0;
+    yY(a, c + 4216 | 0);
+    d = zY(c, c + 4128 | 0);
+    if ((d | 0) < 0) {
+     break c;
+    }
+    if (q[c + 4296 >> 2] == q[c + 4208 >> 2] & q[c + 4300 >> 2] == q[c + 4212 >> 2] ? q[c + 4216 >> 2] == q[c + 4128 >> 2] : 0) {
+     break b;
+    }
+    if (d) {
+     break c;
+    }
+    q[160854] = 32;
+   }
+   Z(a | 0) | 0;
+   break a;
+  }
+  Z(a | 0) | 0;
+  if (b) {
+   e = gZ(b, c);
+   break a;
+  }
+  e = mZ(c);
+ }
+ Ca = c + 4304 | 0;
+ return e;
+}
+function yi(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0;
+ e = q[a + 736 >> 2];
+ a : {
+  if (!e) {
+   d = zi(a, 0);
+   if (d) {
+    break a;
+   }
+   e = q[a + 736 >> 2];
+  }
+  if (!q[e + 4 >> 2]) {
+   d = xi(a, 0, 0, 1);
+   if (d) {
+    break a;
+   }
+  }
+  g = q[e >> 2];
+  f = g >>> 0 < b >>> 0 ? g : b;
+  b : {
+   if (r[a + 733 | 0]) {
+    if (!f) {
+     break b;
+    }
+    e = q[e + 8 >> 2];
+    a = 0;
+    while (1) {
+     d = a << 2;
+     q[d + c >> 2] = q[e + d >> 2];
+     a = a + 1 | 0;
+     if ((f | 0) != (a | 0)) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   }
+   if (!f) {
+    break b;
+   }
+   Z$(c, 0, f << 2);
+  }
+  d = 0;
+  if (g >>> 0 >= b >>> 0) {
+   break a;
+  }
+  Z$((f << 2) + c | 0, 0, b - f << 2);
+ }
+ return d | 0;
+}
+function Fi(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0;
+ e = q[a + 736 >> 2];
+ a : {
+  if (!e) {
+   d = zi(a, 0);
+   if (d) {
+    break a;
+   }
+   e = q[a + 736 >> 2];
+  }
+  if (!q[e + 4 >> 2]) {
+   d = xi(a, 0, 0, 1);
+   if (d) {
+    break a;
+   }
+  }
+  g = q[e >> 2];
+  f = g >>> 0 < b >>> 0 ? g : b;
+  b : {
+   if (r[a + 733 | 0]) {
+    if (!f) {
+     break b;
+    }
+    e = q[e + 4 >> 2];
+    a = 0;
+    while (1) {
+     d = a << 2;
+     q[d + c >> 2] = q[e + d >> 2];
+     a = a + 1 | 0;
+     if ((f | 0) != (a | 0)) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   }
+   if (!f) {
+    break b;
+   }
+   Z$(c, 0, f << 2);
+  }
+  d = 0;
+  if (g >>> 0 >= b >>> 0) {
+   break a;
+  }
+  Z$((f << 2) + c | 0, 0, b - f << 2);
+ }
+ return d | 0;
+}
+function Tn(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = q[b + 4 >> 2];
+ f = 32 - e | 0;
+ a : {
+  b : {
+   if (!f) {
+    if (r[a | 0]) {
+     break a;
+    }
+    q[c >> 2] = s[a + 2 >> 1];
+    break b;
+   }
+   h = q[b >> 2] >>> e | 0;
+   g = h & 255;
+   i = (g << 2) + a | 0;
+   d = r[i | 0];
+   if (d >>> 0 <= 8) {
+    if (f >>> 0 < d >>> 0) {
+     break a;
+    }
+    q[b + 4 >> 2] = d + e;
+    q[c >> 2] = s[((g << 2) + a | 0) + 2 >> 1];
+    break b;
+   }
+   if (f >>> 0 < 9) {
+    break a;
+   }
+   a = (s[((g << 2) + a | 0) + 2 >> 1] + ((q[(d << 2) + 153280 >> 2] & h) >>> 8 | 0) << 2) + i | 0;
+   d = r[a | 0];
+   if (24 - e >>> 0 < d >>> 0) {
+    break a;
+   }
+   q[b + 4 >> 2] = (d + e | 0) + 8;
+   q[c >> 2] = s[a + 2 >> 1];
+  }
+  j = 1;
+ }
+ return j;
+}
+function Eq(a, b, c) {
+ var d = 0, e = 0;
+ a : {
+  b : {
+   if (!a | !c) {
+    break b;
+   }
+   d = q[a + 16 >> 2];
+   if (d >>> 0 <= b >>> 0) {
+    break b;
+   }
+   if (q[a + 4 >> 2]) {
+    q[a + 4 >> 2] = 0;
+   }
+   e = q[a + 12 >> 2];
+   if (q[a >> 2]) {
+    if (q[a >> 2] <= 0) {
+     break a;
+    }
+    q[a >> 2] = q[a >> 2] + 1;
+   }
+   c : {
+    d = d - b | 0;
+    d = d >>> 0 < c >>> 0 ? d : c;
+    if ((d | 0) < 1) {
+     break c;
+    }
+    c = N$(1, 32);
+    if (!c) {
+     break c;
+    }
+    q[c + 8 >> 2] = 0;
+    q[c >> 2] = 1;
+    q[c + 4 >> 2] = 1;
+    q[c + 28 >> 2] = 428;
+    q[c + 24 >> 2] = a;
+    q[c + 20 >> 2] = 1;
+    q[c + 16 >> 2] = d;
+    q[c + 12 >> 2] = b + e;
+    return c;
+   }
+   Cq(a);
+  }
+  return 271040;
+ }
+ J(226848, 226873, 269, 226888);
+ F();
+}
+function Co(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ e = a + 20 | 0;
+ if (e >>> 0 > t[b + 160 >> 2]) {
+  kf(b, 8);
+ }
+ c = r[a + 16 | 0] | r[a + 17 | 0] << 8 | (r[a + 18 | 0] << 16 | r[a + 19 | 0] << 24);
+ c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+ d = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+ d = d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24);
+ if (!(d + -20 >>> 1 >>> 0 >= c >>> 0 ? !(d >>> 0 < 20 | d >>> 0 > q[b + 160 >> 2] - a >>> 0) : 0)) {
+  kf(b, 8);
+ }
+ if (!(!q[b + 164 >> 2] | !c)) {
+  while (1) {
+   if ((r[e + 1 | 0] | r[e | 0] << 8) >>> 0 >= t[b + 172 >> 2]) {
+    kf(b, 16);
+   }
+   e = e + 2 | 0;
+   c = c + -1 | 0;
+   if (c) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function bx(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
+ f = r[a + 1 | 0] | r[a | 0] << 8;
+ a : {
+  if (f) {
+   g = a + 2 | 0;
+   while (1) {
+    d = r[g + 1 | 0] | r[g | 0] << 8;
+    d = d ? d + a | 0 : 271040;
+    l = r[d | 0];
+    m = r[d + 1 | 0];
+    h = d + (m << 1 | l << 9) | 0;
+    e = h + 2 | 0;
+    i = r[e | 0] << 8 | r[h + 3 | 0];
+    e = (i ? i << 1 : 2) + e | 0;
+    n = r[e | 0];
+    o = r[e + 1 | 0];
+    j = e + (o << 1 | n << 9) | 0;
+    k = 1;
+    if (cx(b, m | l << 8, d + 2 | 0, i, h + 4 | 0, o | n << 8, e + 2 | 0, r[j + 3 | 0] | r[j + 2 | 0] << 8, j + 4 | 0, c)) {
+     break a;
+    }
+    g = g + 2 | 0;
+    f = f + -1 | 0;
+    if (f) {
+     continue;
+    }
+    break;
+   }
+  }
+  k = 0;
+ }
+ return k;
+}
+function tR(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ qR();
+ a : {
+  b : {
+   if (!a) {
+    break b;
+   }
+   c = 643312;
+   e = q[160844];
+   if ((e | 0) >= 1) {
+    while (1) {
+     g = e;
+     e = e + -1 | 0;
+     f = e << 2;
+     d = q[f + c >> 2];
+     if (!(!d | q[d >> 2] + q[d + 8 >> 2] >>> 0 > a >>> 0)) {
+      while (1) {
+       c = d;
+       d = q[(f + c | 0) + 40 >> 2];
+       if (q[d >> 2] + q[d + 8 >> 2] >>> 0 <= a >>> 0 ? d : 0) {
+        continue;
+       }
+       break;
+      }
+      c = c + 40 | 0;
+     }
+     if ((g | 0) > 1) {
+      continue;
+     }
+     break;
+    }
+   }
+   c = q[c >> 2];
+   if (!c) {
+    break b;
+   }
+   if (q[c >> 2] + q[c + 8 >> 2] >>> 0 > a >>> 0) {
+    break a;
+   }
+  }
+  return;
+ }
+ q[c + 4 >> 2] = q[c + 4 >> 2] + b;
+}
+function rH(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ b = Ca - 48 | 0;
+ Ca = b;
+ q[b + 32 >> 2] = q[72260];
+ c = q[72259];
+ q[b + 24 >> 2] = q[72258];
+ q[b + 28 >> 2] = c;
+ c = q[72257];
+ q[b + 16 >> 2] = q[72256];
+ q[b + 20 >> 2] = c;
+ e = b + 16 | 0;
+ d = GG();
+ a : {
+  while (1) {
+   e = qH(e, a, d, b + 12 | 0);
+   b : {
+    if (t[b + 12 >> 2] > 1) {
+     break b;
+    }
+    c = LG(d, b + 44 | 0);
+    f = MG(d, b + 44 | 0);
+    if (!q[b + 44 >> 2] | !q[c >> 2]) {
+     break b;
+    }
+    c = q[f >> 2];
+    if (!g) {
+     g = 1;
+     h = c;
+     break b;
+    }
+    if ((c | 0) == (h | 0)) {
+     break b;
+    }
+    c = 0;
+    break a;
+   }
+   if (r[e | 0]) {
+    continue;
+   }
+   break;
+  }
+  c = 1;
+ }
+ HG(d);
+ o[a + 32 | 0] = c;
+ Ca = b + 48 | 0;
+}
+function xj(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = q[a + 496 >> 2];
+ if (!f) {
+  return 6;
+ }
+ g = q[f + 32 >> 2];
+ if (g) {
+  a = 0;
+  while (1) {
+   e = q[f + 28 >> 2] + w(a, 20) | 0;
+   a : {
+    if (q[e >> 2] != (c | 0)) {
+     break a;
+    }
+    h = q[e + 4 >> 2];
+    if ((h | 0) > (b | 0)) {
+     q[d >> 2] = q[e + 8 >> 2];
+     break a;
+    }
+    i = q[e + 12 >> 2];
+    if ((i | 0) < (b | 0)) {
+     q[d >> 2] = q[e + 16 >> 2];
+     break a;
+    }
+    j = d, k = ue(b - h | 0, q[e + 16 >> 2] - q[e + 8 >> 2] | 0, i - h | 0) + q[e + 8 >> 2] | 0, q[j >> 2] = k;
+    g = q[f + 32 >> 2];
+   }
+   a = a + 1 | 0;
+   if (a >>> 0 < g >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function qJ(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[a + 32 >> 2] = c;
+ e = a, f = Te(c, 4, 0, b, 0, d + 12 | 0), q[e + 24 >> 2] = f;
+ a : {
+  b : {
+   if (q[d + 12 >> 2]) {
+    break b;
+   }
+   e = a, f = Te(c, 4, 0, b, 0, d + 12 | 0), q[e + 28 >> 2] = f;
+   if (q[d + 12 >> 2]) {
+    break b;
+   }
+   q[a + 20 >> 2] = 0;
+   q[a + 16 >> 2] = b;
+   q[a + 8 >> 2] = 0;
+   q[a + 12 >> 2] = -559038737;
+   q[a >> 2] = 0;
+   q[a + 4 >> 2] = 0;
+   b = q[72472];
+   q[a + 36 >> 2] = q[72471];
+   q[a + 40 >> 2] = b;
+   b = q[72474];
+   q[a + 44 >> 2] = q[72473];
+   q[a + 48 >> 2] = b;
+   a = 0;
+   break a;
+  }
+  Qe(c, q[a + 24 >> 2]);
+  q[a + 24 >> 2] = 0;
+  a = q[d + 12 >> 2];
+ }
+ Ca = d + 16 | 0;
+ return a | 0;
+}
+function pR(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ qR();
+ a : {
+  b : {
+   if (!a) {
+    break b;
+   }
+   b = 643312;
+   d = q[160844];
+   if ((d | 0) >= 1) {
+    while (1) {
+     f = d;
+     d = d + -1 | 0;
+     e = d << 2;
+     c = q[e + b >> 2];
+     if (!(!c | q[c >> 2] + q[c + 8 >> 2] >>> 0 > a >>> 0)) {
+      while (1) {
+       b = c;
+       c = q[(e + b | 0) + 40 >> 2];
+       if (q[c >> 2] + q[c + 8 >> 2] >>> 0 <= a >>> 0 ? c : 0) {
+        continue;
+       }
+       break;
+      }
+      b = b + 40 | 0;
+     }
+     if ((f | 0) > 1) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = q[b >> 2];
+   if (!b) {
+    break b;
+   }
+   if (q[b >> 2] + q[b + 8 >> 2] >>> 0 > a >>> 0) {
+    break a;
+   }
+  }
+  return;
+ }
+ q[b + 4 >> 2] = q[b + 4 >> 2] + 1;
+}
+function fZ(a, b) {
+ var c = 0;
+ a : {
+  b : {
+   if ((a ^ b) & 3) {
+    break b;
+   }
+   if (b & 3) {
+    while (1) {
+     c = r[b | 0];
+     o[a | 0] = c;
+     if (!c) {
+      break a;
+     }
+     a = a + 1 | 0;
+     b = b + 1 | 0;
+     if (b & 3) {
+      continue;
+     }
+     break;
+    }
+   }
+   c = q[b >> 2];
+   if ((c ^ -1) & c + -16843009 & -2139062144) {
+    break b;
+   }
+   while (1) {
+    q[a >> 2] = c;
+    c = q[b + 4 >> 2];
+    a = a + 4 | 0;
+    b = b + 4 | 0;
+    if (!(c + -16843009 & (c ^ -1) & -2139062144)) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = r[b | 0];
+  o[a | 0] = c;
+  if (!c) {
+   break a;
+  }
+  while (1) {
+   c = r[b + 1 | 0];
+   o[a + 1 | 0] = c;
+   a = a + 1 | 0;
+   b = b + 1 | 0;
+   if (c) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function kV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 26) {
+    break b;
+   }
+   c = 39;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 14:
+    case 15:
+    case 16:
+    case 17:
+    case 18:
+    case 19:
+    case 20:
+    case 21:
+    case 22:
+    case 23:
+    case 24:
+     break b;
+    case 2:
+    case 25:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 929;
+   return 40;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function jV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 26) {
+    break b;
+   }
+   c = 33;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 14:
+    case 15:
+    case 16:
+    case 17:
+    case 18:
+    case 19:
+    case 20:
+    case 21:
+    case 22:
+    case 23:
+    case 24:
+     break b;
+    case 2:
+    case 25:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 928;
+   return 34;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function RV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 26) {
+    break b;
+   }
+   c = 39;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 14:
+    case 15:
+    case 16:
+    case 17:
+    case 18:
+    case 19:
+    case 20:
+    case 21:
+    case 22:
+    case 23:
+    case 24:
+     break b;
+    case 2:
+    case 25:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 958;
+   return 51;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function GV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 26) {
+    break b;
+   }
+   c = 33;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 14:
+    case 15:
+    case 16:
+    case 17:
+    case 18:
+    case 19:
+    case 20:
+    case 21:
+    case 22:
+    case 23:
+    case 24:
+     break b;
+    case 2:
+    case 3:
+    case 25:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 950;
+   return 31;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function bs(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 28) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  if (!ur(a + 16 | 0, b, a)) {
+   break a;
+  }
+  if (!ur(a + 20 | 0, b, a)) {
+   break a;
+  }
+  c = r[a + 24 | 0] | r[a + 25 | 0] << 8 | (r[a + 26 | 0] << 16 | r[a + 27 | 0] << 24);
+  c = c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24);
+  if (!c) {
+   return 1;
+  }
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < c >>> 0) {
+   break a;
+  }
+  a = q[b + 12 >> 2];
+  q[b + 12 >> 2] = a + -1;
+  e = (a | 0) > 0;
+ }
+ return e;
+}
+
+
+
+function bV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 26) {
+    break b;
+   }
+   c = 3;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 14:
+    case 15:
+    case 16:
+    case 17:
+    case 18:
+    case 19:
+    case 20:
+    case 21:
+    case 22:
+    case 23:
+    case 24:
+     break b;
+    case 2:
+    case 25:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 914;
+   return 4;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function SV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 21) {
+    break b;
+   }
+   c = 39;
+   c : {
+    switch (d - 1 | 0) {
+    case 20:
+     q[a + 8 >> 2] = 39;
+     q[a >> 2] = 934;
+     return 46;
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 14:
+    case 15:
+    case 16:
+    case 17:
+    case 18:
+    case 19:
+     break b;
+    case 5:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 957;
+   return 39;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function X_() {
+ var a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;
+ b = Ca - 32 | 0;
+ Ca = b;
+ a : {
+  b : {
+   if (W_(0)) {
+    while (1) {
+     if (2147483647 >>> a & 1) {
+      e = a << 2, f = Y_(a, 226540), q[e >> 2] = f;
+     }
+     a = a + 1 | 0;
+     if ((a | 0) != 6) {
+      continue;
+     }
+     break;
+    }
+    break b;
+   }
+   while (1) {
+    d = Y_(a, 1 << a & 2147483647 ? 226540 : 508307);
+    q[(b + 8 | 0) + (a << 2) >> 2] = d;
+    c = ((d | 0) != 0) + c | 0;
+    a = a + 1 | 0;
+    if ((a | 0) != 6) {
+     continue;
+    }
+    break;
+   }
+   if (c >>> 0 > 1) {
+    break b;
+   }
+   a = 508368;
+   if (c - 1) {
+    break a;
+   }
+   if (q[b + 8 >> 2] != 508340) {
+    break b;
+   }
+   a = 508392;
+   break a;
+  }
+  a = 0;
+ }
+ Ca = b + 32 | 0;
+ return a;
+}
+function yl(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = q[a + 16 >> 2];
+ f = q[b >> 2];
+ a : while (1) {
+  if (!e) {
+   q[b >> 2] = 0;
+   return 0;
+  }
+  f = f + 1 | 0;
+  i = q[a + 20 >> 2];
+  c = 0;
+  d = e;
+  while (1) {
+   g = (d - c >>> 1 | 0) + c | 0;
+   h = q[(g << 4) + i >> 2];
+   if ((h | 0) == (f | 0)) {
+    if (!g) {
+     continue a;
+    }
+    q[b >> 2] = f;
+    return g + 1 | 0;
+   }
+   h = h >>> 0 < f >>> 0;
+   d = h ? d : g;
+   c = h ? g + 1 | 0 : c;
+   if (d >>> 0 > c >>> 0) {
+    continue;
+   }
+   break;
+  }
+  break;
+ }
+ d = 0;
+ if (c >>> 0 >= e >>> 0) {
+  q[b >> 2] = 0;
+  return 0;
+ }
+ e = 0;
+ if (c) {
+  e = q[q[a + 20 >> 2] + (c << 4) >> 2];
+  d = c + 1 | 0;
+ }
+ q[b >> 2] = e;
+ return d | 0;
+}
+function rl(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ d = q[b + 72 >> 2];
+ f = q[a + 100 >> 2];
+ q[e + 12 >> 2] = 0;
+ c = n[q[b + 36 >> 2]](b) | 0;
+ a : {
+  if ((c | 0) < 0 | q[a + 304 >> 2]) {
+   break a;
+  }
+  b = 0;
+  d = t[d + 4 >> 2] / 100 | 0;
+  c = c >>> 0 > d >>> 0 ? d : c;
+  d = Te(f, 252, 0, c, 0, e + 12 | 0);
+  q[a + 304 >> 2] = d;
+  if (q[e + 12 >> 2]) {
+   break a;
+  }
+  q[a + 300 >> 2] = c;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  while (1) {
+   a = d + w(b, 252) | 0;
+   q[a + 116 >> 2] = 1;
+   q[a + 108 >> 2] = 2596864;
+   q[a + 112 >> 2] = 7;
+   q[a + 180 >> 2] = 3932;
+   q[a + 4 >> 2] = 4;
+   b = b + 1 | 0;
+   if ((c | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = e + 16 | 0;
+}
+function nH(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ var g = 0, h = 0;
+ f = Ca - 128 | 0;
+ Ca = f;
+ while (1) {
+  a = q[b >> 2];
+  q[b >> 2] = 1;
+  if (a) {
+   continue;
+  }
+  break;
+ }
+ g = q[b + 4 >> 2];
+ h = e;
+ a : {
+  if ((d | 0) <= -1) {
+   a = $f(g, c);
+   break a;
+  }
+  d = (d | 0) < 127 ? d : 127;
+  a = lZ(f, c, d);
+  o[d + f | 0] = 0;
+  a = $f(g, a);
+ }
+ q[h >> 2] = a;
+ b : {
+  if (!a) {
+   c : {
+    d : {
+     if (!(ag(g, 0, f, 128) | (d | 0) > -1)) {
+      if (!iZ(f, c)) {
+       break d;
+      }
+      break c;
+     }
+     if (jZ(f, c, d)) {
+      break c;
+     }
+    }
+    a = 1;
+    break b;
+   }
+   a = q[e >> 2];
+  }
+  a = (a | 0) != 0;
+ }
+ q[b >> 2] = 0;
+ Ca = f + 128 | 0;
+ return a | 0;
+}
+function mY(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ e = q[a + 8 >> 2];
+ f = q[b + 8 >> 2];
+ cS(d, b);
+ g = q[d + 12 >> 2];
+ q[c + 8 >> 2] = q[d + 8 >> 2];
+ q[c + 12 >> 2] = g;
+ g = q[d + 4 >> 2];
+ q[c >> 2] = q[d >> 2];
+ q[c + 4 >> 2] = g;
+ a = e & 1 ? (e & -2) + a | 0 : e;
+ e = f & 1 ? (f & -2) + b | 0 : f;
+ b = r[e | 0];
+ a : {
+  b : {
+   if ((b | 0) == 32) {
+    break b;
+   }
+   c = r[a | 0];
+   if ((c | 0) == 32) {
+    break b;
+   }
+   h = 1;
+   if ((((c + -65 & 255) >>> 0 < 26 ? c + 32 | 0 : c) | 0) != (((b + -65 & 255) >>> 0 < 26 ? b + 32 | 0 : b) | 0)) {
+    break a;
+   }
+  }
+  b = eQ(a, e);
+  a = g0(a);
+  h = +(a - b >>> 0) / +(a >>> 0);
+ }
+ Ca = d + 16 | 0;
+ return +h;
+}
+function jt(a, b, c) {
+ var d = 0;
+ a : {
+  b : {
+   if ((c | 0) == -1) {
+    break b;
+   }
+   d = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+   if ((d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) >>> 0 < 65537) {
+    break b;
+   }
+   d = r[a + 10 | 0] | r[a + 11 | 0] << 8 | (r[a + 12 | 0] << 16 | r[a + 13 | 0] << 24);
+   d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+   c = At(d ? d + a | 0 : 271040, c, b);
+   if (c) {
+    break a;
+   }
+  }
+  c = a;
+  a = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+  a = a ? c + a | 0 : 271040;
+  b = (r[a + 1 | 0] | r[a | 0] << 8) >>> 0 > b >>> 0 ? (a + w(b, 6) | 0) + 2 | 0 : 271040;
+  b = r[b + 4 | 0] << 8 | r[b + 5 | 0];
+  c = b ? a + b | 0 : 271040;
+ }
+ return c;
+}
+function pX(a) {
+ var b = 0, c = 0;
+ b = q[a + 68 >> 2];
+ q[a + 68 >> 2] = b + -1;
+ if ((b | 0) == 1) {
+  b = q[160852];
+  q[160852] = (a | 0) == (b | 0) ? 0 : b;
+  BQ(q[a >> 2]);
+  BQ(q[a + 4 >> 2]);
+  BQ(q[a + 8 >> 2]);
+  BQ(q[a + 12 >> 2]);
+  BQ(q[a + 16 >> 2]);
+  BQ(q[a + 36 >> 2]);
+  BQ(q[a + 40 >> 2]);
+  rP(q[a + 44 >> 2]);
+  rP(q[a + 48 >> 2]);
+  LW(q[a + 20 >> 2]);
+  LW(q[a + 24 >> 2]);
+  LW(q[a + 28 >> 2]);
+  LW(q[a + 84 >> 2]);
+  BQ(q[a + 80 >> 2]);
+  b = q[a + 52 >> 2];
+  if (b) {
+   rP(b);
+  }
+  b = q[a + 56 >> 2];
+  if (b) {
+   rP(b);
+  }
+  c = q[a + 72 >> 2];
+  if (c) {
+   while (1) {
+    b = q[c >> 2];
+    M$(c);
+    c = b;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  b = q[a + 76 >> 2];
+  if (b) {
+   M$(b);
+  }
+  M$(a);
+ }
+}
+function tn(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ d = q[a + 4 >> 2];
+ a : {
+  if ((d | 0) != 32) {
+   b = q[a + 8 >> 2];
+   break a;
+  }
+  b = q[a + 12 >> 2];
+  if (!b) {
+   return 0;
+  }
+  c = q[a >> 2] >>> 8 | 0;
+  q[a >> 2] = c;
+  e = q[a + 8 >> 2];
+  f = r[e | 0];
+  q[a + 12 >> 2] = b + -1;
+  d = 24;
+  q[a + 4 >> 2] = 24;
+  b = e + 1 | 0;
+  q[a + 8 >> 2] = b;
+  q[a >> 2] = c | f << 24;
+ }
+ if (!(b & 1)) {
+  return 1;
+ }
+ c = q[a + 12 >> 2];
+ while (1) {
+  if (!c) {
+   return 1;
+  }
+  e = q[a >> 2] >>> 8 | 0;
+  q[a >> 2] = e;
+  f = r[b | 0];
+  c = c + -1 | 0;
+  q[a + 12 >> 2] = c;
+  d = d + -8 | 0;
+  q[a + 4 >> 2] = d;
+  b = b + 1 | 0;
+  q[a + 8 >> 2] = b;
+  q[a >> 2] = e | f << 24;
+  if (b & 1) {
+   continue;
+  }
+  break;
+ }
+ return 1;
+}
+function WS(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ b = Ca - 48 | 0;
+ Ca = b;
+ if (a) {
+  e = q[126918];
+  while (1) {
+   cS(b + 16 | 0, a + 8 | 0);
+   d = q[b + 28 >> 2];
+   c = b + 40 | 0;
+   q[c >> 2] = q[b + 24 >> 2];
+   q[c + 4 >> 2] = d;
+   d = q[b + 20 >> 2];
+   q[b + 32 >> 2] = q[b + 16 >> 2];
+   q[b + 36 >> 2] = d;
+   OZ(32);
+   d = q[c + 4 >> 2];
+   q[b + 8 >> 2] = q[c >> 2];
+   q[b + 12 >> 2] = d;
+   c = q[b + 36 >> 2];
+   q[b >> 2] = q[b + 32 >> 2];
+   q[b + 4 >> 2] = c;
+   SS(e, b);
+   c = q[a + 24 >> 2];
+   if (c >>> 0 <= 2) {
+    c = q[(c << 2) + 489704 >> 2];
+   } else {
+    c = 489656;
+   }
+   d0(c, 0);
+   c = a;
+   a = q[a >> 2];
+   a = a & 1 ? c + (a & -2) | 0 : a;
+   if (a) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = b + 48 | 0;
+}
+function bt(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ d = r[a | 0] | r[a + 1 | 0] << 8;
+ d = ((d << 24 | d << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+ if (d >>> 0 > 1) {
+  return;
+ }
+ a : {
+  if (!(d - 1)) {
+   d = r[a + 3 | 0];
+   f = r[a + 2 | 0];
+   g = d | f << 8;
+   if (!g) {
+    return;
+   }
+   while (1) {
+    b : {
+     d = (f << 8 | d) >>> 0 > e >>> 0 ? (w(e, 6) + a | 0) + 4 | 0 : 271432;
+     if ((r[d + 4 | 0] << 8 | r[d + 5 | 0]) != (c | 0)) {
+      break b;
+     }
+     if (tF(b, r[d + 1 | 0] | r[d | 0] << 8, r[d + 3 | 0] | r[d + 2 | 0] << 8)) {
+      break b;
+     }
+     return;
+    }
+    e = e + 1 | 0;
+    if ((g | 0) == (e | 0)) {
+     break a;
+    }
+    d = r[a + 3 | 0];
+    f = r[a + 2 | 0];
+    continue;
+   }
+  }
+  eu(a, b, c);
+ }
+}
+function $I(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ b = q[a + 24 >> 2];
+ q[a + 48 >> 2] = b;
+ h = a + 28 | 0;
+ e = q[h >> 2];
+ q[a + 52 >> 2] = e;
+ c = q[a + 8 >> 2];
+ f = c + q[a >> 2] | 0;
+ q[a + 8 >> 2] = f >> 1;
+ d = b;
+ b = q[a + 16 >> 2];
+ g = d + b | 0;
+ q[a + 40 >> 2] = g >> 1;
+ b = b + c | 0;
+ c = b + f | 0;
+ q[a + 16 >> 2] = c >> 2;
+ f = b + g | 0;
+ q[a + 32 >> 2] = f >> 2;
+ b = e;
+ e = a + 20 | 0;
+ g = q[e >> 2];
+ i = b + g | 0;
+ q[a + 44 >> 2] = i >> 1;
+ d = a + 12 | 0;
+ j = q[d >> 2];
+ b = j + q[a + 4 >> 2] | 0;
+ q[d >> 2] = b >> 1;
+ q[a + 24 >> 2] = c + f >> 3;
+ d = a;
+ a = g + j | 0;
+ c = a + i | 0;
+ q[d + 36 >> 2] = c >> 2;
+ a = a + b | 0;
+ q[e >> 2] = a >> 2;
+ q[h >> 2] = a + c >> 3;
+}
+function iU(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ e = 1;
+ c = o[b + 2 | 0];
+ a : {
+  if ((c | 0) > -1) {
+   break a;
+  }
+  b : {
+   c : {
+    d : {
+     d = r[b | 0];
+     if ((d | 0) == 239) {
+      a = 191;
+      b = r[b + 1 | 0];
+      if ((b | 0) != 191) {
+       break d;
+      }
+      if ((c & 255) >>> 0 <= 189) {
+       break b;
+      }
+      break a;
+     }
+     if ((c & 255) >>> 0 > 191) {
+      break a;
+     }
+     a = r[b + 1 | 0];
+     if ((d | 0) != 224) {
+      break c;
+     }
+     return (a & 192) == 192 | a >>> 0 < 160;
+    }
+    a = b;
+    if ((c & 255) >>> 0 > 191) {
+     break a;
+    }
+   }
+   if (!(a & 128)) {
+    break a;
+   }
+  }
+  e = (d | 0) == 237 ? a >>> 0 > 159 : (a & 192) == 192;
+ }
+ return e | 0;
+}
+function WQ(a) {
+ var b = 0, c = 0, d = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ a : {
+  b : {
+   b = g0(a);
+   c = b + -3 | 0;
+   if (c >>> 0 > 11) {
+    break b;
+   }
+   if (c >>> 0 >= 2) {
+    b = b + r[r[a + 4 | 0] + 485680 | 0] | 0;
+   }
+   b = r[r[a + 2 | 0] + 485680 | 0] + b | 0;
+   if (b >>> 0 > 60) {
+    break b;
+   }
+   c = b & 31;
+   if (!((32 <= (b & 63) >>> 0 ? 335544319 >>> c | 0 : ((1 << c) - 1 & 335544319) << 32 - c | -1824 >>> c) & 1)) {
+    break b;
+   }
+   c = q[(b << 3) + 484720 >> 2] + 485208 | 0;
+   if (r[a | 0] != r[c | 0]) {
+    break b;
+   }
+   if (iZ(a + 1 | 0, c + 1 | 0)) {
+    break b;
+   }
+   a = q[(b << 3) + 484724 >> 2];
+   break a;
+  }
+  a = XQ(a, d + 12 | 0);
+  a = a ? q[d + 12 >> 2] : 0;
+ }
+ Ca = d + 16 | 0;
+ return a;
+}
+function BN(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = 1;
+ a : {
+  if (t[a + 4 >> 2] >= b >>> 0) {
+   break a;
+  }
+  q[160854] = 0;
+  d = a, e = Md(q[a + 8 >> 2], b, 4), q[d + 8 >> 2] = e;
+  c = 0;
+  if (q[160854]) {
+   break a;
+  }
+  q[160854] = 0;
+  d = a, e = Md(q[a + 12 >> 2], b, 4), q[d + 12 >> 2] = e;
+  c = 0;
+  if (q[160854]) {
+   break a;
+  }
+  q[160854] = 0;
+  d = a, e = Md(q[a + 16 >> 2], b, 4), q[d + 16 >> 2] = e;
+  c = 0;
+  if (q[160854]) {
+   break a;
+  }
+  q[160854] = 0;
+  d = a, e = Md(q[a + 20 >> 2], b, 1), q[d + 20 >> 2] = e;
+  c = 0;
+  if (q[160854]) {
+   break a;
+  }
+  q[160854] = 0;
+  d = a, e = Md(q[a + 24 >> 2], b, 4), q[d + 24 >> 2] = e;
+  c = 0;
+  if (q[160854]) {
+   break a;
+  }
+  q[a + 4 >> 2] = b;
+  c = 1;
+ }
+ return c;
+}
+function _U(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0;
+ a = q[b >> 2];
+ c = c - a & -2;
+ f = a + c | 0;
+ g = c;
+ c = q[d >> 2];
+ if ((g | 0) > (e - c | 0)) {
+  g = f + -2 | 0;
+  h = (r[g | 0] & 248) == 216;
+  f = h ? g : f;
+ }
+ a : {
+  if (a >>> 0 >= f >>> 0) {
+   break a;
+  }
+  if (c >>> 0 < e >>> 0) {
+   while (1) {
+    a = r[a | 0] | r[a + 1 | 0] << 8;
+    q[d >> 2] = c + 2;
+    p[c >> 1] = (a << 8 & 16711680 | a << 24) >>> 16;
+    a = q[b >> 2] + 2 | 0;
+    q[b >> 2] = a;
+    if (a >>> 0 >= f >>> 0) {
+     break a;
+    }
+    c = q[d >> 2];
+    if (c >>> 0 < e >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  if ((c | 0) != (e | 0)) {
+   break a;
+  }
+  h = 2;
+ }
+ return h | 0;
+}
+function Zd(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ b = 128;
+ e = q[a >> 2];
+ f = r[e | 0];
+ a : {
+  b : {
+   if (!(f & 128)) {
+    break b;
+   }
+   c = -1;
+   while (1) {
+    d = c;
+    c = c + 1 | 0;
+    b = b >>> 1 | 0;
+    if (f & b) {
+     continue;
+    }
+    break;
+   }
+   if (d >>> 0 > 3) {
+    break b;
+   }
+   g = r[e + 1 | 0];
+   if ((g & 192) != 128) {
+    break b;
+   }
+   h = e + 1 | 0;
+   b = b + -1 & f;
+   while (1) {
+    if ((c | 0) < 1) {
+     break b;
+    }
+    b = g & 63 | b << 6;
+    c = c + -1 | 0;
+    g = r[h + 1 | 0];
+    d = h + 1 | 0;
+    h = d;
+    if ((g & 192) == 128) {
+     continue;
+    }
+    break;
+   }
+   if (!c) {
+    break a;
+   }
+  }
+  d = e + 1 | 0;
+  b = f;
+ }
+ q[a >> 2] = d;
+ return b;
+}
+function Hi(a, b) {
+ var c = 0, d = 0, e = 0;
+ a = q[a + 100 >> 2];
+ c = q[b + 4 >> 2];
+ if (c) {
+  if (q[b >> 2]) {
+   while (1) {
+    e = d << 4;
+    Qe(a, q[(e + c | 0) + 8 >> 2]);
+    c = e + q[b + 4 >> 2] | 0;
+    q[c + 8 >> 2] = 0;
+    Qe(a, q[c + 12 >> 2]);
+    c = q[b + 4 >> 2];
+    q[(e + c | 0) + 12 >> 2] = 0;
+    d = d + 1 | 0;
+    if (d >>> 0 < t[b >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  Qe(a, c);
+  q[b + 4 >> 2] = 0;
+ }
+ c = q[b + 16 >> 2];
+ if (c) {
+  if (q[b + 12 >> 2]) {
+   d = 0;
+   while (1) {
+    e = d << 2;
+    Qe(a, q[e + c >> 2]);
+    c = q[b + 16 >> 2];
+    q[e + c >> 2] = 0;
+    d = d + 1 | 0;
+    if (d >>> 0 < t[b + 12 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  Qe(a, c);
+  q[b + 16 >> 2] = 0;
+ }
+}
+function Jk(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0;
+ e = q[a + 712 >> 2];
+ a : {
+  if (r[e + 24 | 0] == 2) {
+   f = 11;
+   e = kg(ig(q[q[a + 96 >> 2] + 4 >> 2], 9576), 9776, 0);
+   if (!e) {
+    break a;
+   }
+   e = q[e >> 2];
+   if (!e) {
+    break a;
+   }
+   return n[e](a, b, c, d) | 0;
+  }
+  a = q[e + 3084 >> 2];
+  if (!a) {
+   return 11;
+  }
+  b = s[q[e + 1188 >> 2] + (b << 1) >> 1];
+  if ((b | 0) == 65535) {
+   break a;
+  }
+  b : {
+   if (b >>> 0 >= 391) {
+    a = b + -391 | 0;
+    if (t[e + 1356 >> 2] <= a >>> 0) {
+     break a;
+    }
+    a = q[q[e + 1360 >> 2] + (a << 2) >> 2];
+    break b;
+   }
+   a = n[q[a + 20 >> 2]](b) | 0;
+  }
+  if (!a) {
+   break a;
+  }
+  _g(c, a, d);
+ }
+ return f | 0;
+}
+function FG(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ b = q[a + 44 >> 2];
+ if (!(b | q[a + 76 >> 2] ? (b | 0) != 1 : 0)) {
+  a : {
+   if (q[a + 52 >> 2] | !q[a + 76 >> 2]) {
+    break a;
+   }
+   while (1) {
+    b = q[a + 12 >> 2];
+    b = n[q[b + 32 >> 2]](b, q[q[a + 88 >> 2] + w(c, 20) >> 2], q[b - -64 >> 2]) | 0;
+    if (!((b | 0) == 1516858984 | (b | 0) == 1517910393 | (b | 0) == 1517976186)) {
+     q[a + 52 >> 2] = b;
+     break a;
+    }
+    c = c + 1 | 0;
+    if (c >>> 0 < t[a + 76 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (!q[a + 48 >> 2]) {
+   b = Aq(q[a + 52 >> 2]);
+   q[a + 48 >> 2] = b ? b : 4;
+  }
+  if (!q[a + 56 >> 2]) {
+   d = a, e = zq(), q[d + 56 >> 2] = e;
+  }
+  return;
+ }
+ J(272519, 272314, 621, 272626);
+ F();
+}
+function oQ(a) {
+ var b = 0, c = 0, d = 0;
+ a : {
+  c = q[a + 12 >> 2];
+  b : {
+   c : {
+    if ((c | 0) != q[a + 16 >> 2]) {
+     b = q[a >> 2];
+     break c;
+    }
+    b = 0;
+    if (q[a + 8 >> 2]) {
+     break b;
+    }
+    d : {
+     if (!q[a + 4 >> 2]) {
+      d = c - -64 | 0;
+      b = L$(d);
+      if (!b) {
+       break a;
+      }
+      q[a + 4 >> 2] = 1;
+      Y$(b, q[a >> 2], c);
+      break d;
+     }
+     d = c << 1;
+     b = O$(q[a >> 2], d);
+     if (!b) {
+      break a;
+     }
+     c = q[a + 12 >> 2];
+    }
+    q[a >> 2] = b;
+    q[a + 16 >> 2] = d;
+   }
+   q[a + 12 >> 2] = c + 1;
+   o[c + b | 0] = 0;
+   b = 0;
+   if (q[a + 8 >> 2]) {
+    break b;
+   }
+   b = q[a >> 2];
+  }
+  return b;
+ }
+ q[a + 8 >> 2] = 1;
+ return 0;
+}
+function s$(a, b) {
+ var c = 0, d = 0, f = 0, g = 0, h = 0, i = 0, k = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ d = (j(b), e(0));
+ h = d & -2147483648;
+ c = d & 2147483647;
+ a : {
+  if (c + -8388608 >>> 0 <= 2130706431) {
+   d = c;
+   c = c >>> 7 | 0;
+   d = d << 25;
+   c = c + 1065353216 | 0;
+   g = d;
+   c = d >>> 0 < 0 ? c + 1 | 0 : c;
+   break a;
+  }
+  if (c >>> 0 >= 2139095040) {
+   g = d << 25;
+   c = d >>> 7 | 2147418112;
+   break a;
+  }
+  if (!c) {
+   c = 0;
+   break a;
+  }
+  d = c;
+  c = z(c);
+  n$(f, d, 0, 0, 0, c + 81 | 0);
+  i = q[f >> 2];
+  k = q[f + 4 >> 2];
+  g = q[f + 8 >> 2];
+  c = q[f + 12 >> 2] ^ 65536 | 16265 - c << 16;
+ }
+ q[a >> 2] = i;
+ q[a + 4 >> 2] = k;
+ q[a + 8 >> 2] = g;
+ q[a + 12 >> 2] = c | h;
+ Ca = f + 16 | 0;
+}
+function $G(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = q[b + 92 >> 2];
+ if (c) {
+  e = q[c + 4 >> 2] == 1937337698;
+ }
+ c = q[160752];
+ a : {
+  if (c) {
+   break a;
+  }
+  while (1) {
+   c = bH();
+   if (!c) {
+    c = 641104;
+   }
+   d = q[160752];
+   q[160752] = d ? d : c;
+   if (!d) {
+    break a;
+   }
+   if (!(!c | (c | 0) == 641104)) {
+    wC(c);
+   }
+   c = q[160752];
+   if (!c) {
+    continue;
+   }
+   break;
+  }
+ }
+ d = N$(1, 1044);
+ if (d) {
+  o[d + 13 | 0] = 0;
+  o[d + 12 | 0] = e;
+  q[d + 4 >> 2] = b;
+  b = 0;
+  q[d >> 2] = 0;
+  q[d + 16 >> 2] = 0;
+  q[d + 8 >> 2] = 2;
+  e = d + 20 | 0;
+  while (1) {
+   q[e + (b << 2) >> 2] = -1;
+   b = b + 1 | 0;
+   if ((b | 0) != 256) {
+    continue;
+   }
+   break;
+  }
+ }
+ fD(a, c, d, 583);
+}
+function Iw(a, b, c, d, e) {
+ var f = 0;
+ f = q[a + 96 >> 2];
+ f = q[f + 88 >> 2] + w(q[f + 72 >> 2], 20) | 0;
+ d = d ? 48 : s[f + 12 >> 1] & 96 | 16;
+ d = e ? d | 64 : d;
+ a : {
+  b : {
+   if (r[a + 140 | 0]) {
+    c = q[a + 104 >> 2];
+    e = r[c + 5 | 0] | r[c + 4 | 0] << 8;
+    e = at(e ? c + e | 0 : 271040, b) + -1 | 0;
+    a = d;
+    if (e >>> 0 > 2) {
+     break b;
+    }
+    c : {
+     switch (e - 1 | 0) {
+     default:
+      a = d | 2;
+      break b;
+     case 0:
+      a = d | 4;
+      break b;
+     case 1:
+      break c;
+     }
+    }
+    a = r[c + 11 | 0] | r[c + 10 | 0] << 8;
+    a = d | (at(a ? a + c | 0 : 271040, b) << 8 | 8);
+    break b;
+   }
+   if (!c) {
+    break a;
+   }
+   a = c | d;
+  }
+  p[f + 12 >> 1] = a;
+ }
+}
+function Yf(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ c = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  d = q[a + 92 >> 2];
+  c = 0;
+  if (!d) {
+   break a;
+  }
+  c = 0;
+  if (!q[a + 16 >> 2]) {
+   break a;
+  }
+  e = n[q[q[d + 12 >> 2] + 12 >> 2]](d, 0) | 0;
+  g = q[a + 16 >> 2];
+  c = 0;
+  if (e >>> 0 < g >>> 0 ? e : 0) {
+   break a;
+  }
+  e = 0;
+  d = q[a + 92 >> 2];
+  c = 0;
+  if (!d) {
+   break a;
+  }
+  c = 0;
+  if (!g) {
+   break a;
+  }
+  q[f + 12 >> 2] = 0;
+  while (1) {
+   e = n[q[q[d + 12 >> 2] + 16 >> 2]](d, f + 12 | 0) | 0;
+   if (e >>> 0 >= t[a + 16 >> 2]) {
+    continue;
+   }
+   break;
+  }
+  c = e ? q[f + 12 >> 2] : 0;
+ }
+ a = c;
+ if (b) {
+  q[b >> 2] = e;
+ }
+ Ca = f + 16 | 0;
+ return a;
+}
+function Sr(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = q[b + 44 >> 2];
+ d = q[c + 12 >> 2];
+ q[b + 20 >> 2] = d;
+ e = q[c + 16 >> 2];
+ c = d + e | 0;
+ q[b + 24 >> 2] = c;
+ if ((e | 0) > -1) {
+  a : {
+   b : {
+    if (!a) {
+     break b;
+    }
+    if (!(c >>> 0 > a >>> 0 ? a >>> 0 >= d >>> 0 : 0)) {
+     q[b + 20 >> 2] = 0;
+     q[b + 24 >> 2] = 0;
+     break b;
+    }
+    q[b + 20 >> 2] = a;
+    d = r[a + 1 | 0] | r[a | 0] << 8;
+    c = c - a | 0;
+    q[b + 24 >> 2] = (c >>> 0 > d >>> 0 ? d : c) + a;
+   }
+   Tr(a, b);
+   a = q[b + 44 >> 2];
+   d = q[a + 12 >> 2];
+   q[b + 20 >> 2] = d;
+   a = q[a + 16 >> 2];
+   q[b + 24 >> 2] = a + d;
+   if ((a | 0) <= -1) {
+    break a;
+   }
+   return;
+  }
+ }
+ J(228144, 228169, 195, 228186);
+ F();
+}
+function Bu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ c = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+ yu(c ? c + a | 0 : 271040, q[b + 8 >> 2]);
+ f = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+ d = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ a : {
+  if (!d) {
+   break a;
+  }
+  e = d + -1 | 0;
+  if (!e) {
+   break a;
+  }
+  h = q[b + 8 >> 2];
+  c = a + 8 | 0;
+  while (1) {
+   g = r[c + 1 | 0] | r[c | 0] << 8;
+   yu(g ? g + a | 0 : 271040, h);
+   c = c + 2 | 0;
+   e = e + -1 | 0;
+   if (e) {
+    continue;
+   }
+   break;
+  }
+ }
+ if (f) {
+  a = (a + 6 | 0) + (d << 1) | 0;
+  c = 0;
+  while (1) {
+   d = a + (c << 2) | 0;
+   Hu(b, r[d + 2 | 0] << 8 | r[d + 3 | 0]);
+   c = c + 1 | 0;
+   if ((f | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function lF(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ e = (r[a + 25 | 0] | r[a + 24 | 0] << 8) + a | 0;
+ g = r[e | 0] << 8 | r[e + 1 | 0];
+ a = 0;
+ a : {
+  while (1) {
+   f = (a << 3) + e | 0;
+   d = f;
+   d = r[d + 2 | 0] | r[d + 3 | 0] << 8 | (r[d + 4 | 0] << 16 | r[d + 5 | 0] << 24);
+   if ((r[f + 7 | 0] | r[f + 6 | 0] << 8) >>> 0 >= b >>> 0 ? (d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24)) == 1936092788 : 0) {
+    break a;
+   }
+   d = (a | 0) == (g | 0);
+   a = a + 1 | 0;
+   if (!d) {
+    continue;
+   }
+   break;
+  }
+  return 271040;
+ }
+ a = (a << 3) + e | 0;
+ a = ((r[a + 8 | 0] << 8 | r[a + 9 | 0]) + e | 0) + w(b, 12) | 0;
+ return ((r[a + 6 | 0] << 8 | r[a + 5 | 0] << 16 | r[a + 7 | 0]) + c | 0) + 4 | 0;
+}
+function _O(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ a : {
+  if (a < 0) {
+   a = -1;
+  } else {
+   a = a < 1e3 ? a : 1e3;
+   d = 1;
+   while (1) {
+    b = d;
+    d = b + 1 | 0;
+    e = q[(b << 3) + 438e3 >> 2];
+    c = +(e | 0);
+    if (a > c) {
+     continue;
+    }
+    break;
+   }
+   if (a == c) {
+    return +q[(b << 3) + 438004 >> 2];
+   }
+   b = b << 3;
+   d = q[b + 437992 >> 2];
+   e = e - d | 0;
+   if ((e | 0) < 1) {
+    break a;
+   }
+   f = q[b + 438004 >> 2];
+   b = q[b + 437996 >> 2];
+   f = f - b | 0;
+   if (a <= c ^ 1 | (f | 0) < 0) {
+    break a;
+   }
+   c = +(d | 0);
+   if (!(a >= c)) {
+    break a;
+   }
+   a = (a - c) * +(f | 0) / +(e | 0) + +(b | 0);
+  }
+  return a;
+ }
+ J(438104, 438144, 48, 438155);
+ F();
+}
+function Un(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ e = 50462976;
+ g = c + 288 | 0;
+ q[g >> 2] = 50462976;
+ f = q[c + 280 >> 2];
+ d = 1;
+ while (1) {
+  e = e + 67372036 | 0;
+  q[(d << 2) + g >> 2] = e;
+  d = d + 1 | 0;
+  if (d >>> 0 <= f >>> 0) {
+   continue;
+  }
+  break;
+ }
+ if (!b) {
+  q[c + 280 >> 2] = 0;
+  return;
+ }
+ j = g + -1 | 0;
+ while (1) {
+  f = a + h | 0;
+  e = r[f | 0];
+  d = r[e + g | 0];
+  o[f | 0] = d;
+  o[j | 0] = d;
+  d = e;
+  while (1) {
+   f = d + -1 | 0;
+   o[d + g | 0] = r[f + g | 0];
+   k = (d | 0) > 0;
+   d = f;
+   if (k) {
+    continue;
+   }
+   break;
+  }
+  i = e | i;
+  h = h + 1 | 0;
+  if ((h | 0) != (b | 0)) {
+   continue;
+  }
+  break;
+ }
+ q[c + 280 >> 2] = i >>> 2;
+}
+function Qi(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  if (!r[a + 733 | 0]) {
+   break a;
+  }
+  d = q[a + 736 >> 2];
+  if (!d) {
+   break a;
+  }
+  if (!r[d + 44 | 0]) {
+   e = Oi(a, 1);
+   d = q[a + 736 >> 2];
+   q[d + 48 >> 2] = e;
+  }
+  if (!r[d + 45 | 0]) {
+   return q[d + 48 >> 2];
+  }
+  d = q[d + 52 >> 2];
+  e = q[d + 28 >> 2];
+  b : {
+   if (e) {
+    f = e;
+    e = q[d + 20 >> 2];
+    e = (e >>> 0 > b >>> 0 ? b : e + -1 | 0) << 2;
+    b = q[f + e >> 2];
+    f = q[e + q[d + 24 >> 2] >> 2];
+    break b;
+   }
+   e = 6;
+   if (t[q[d + 4 >> 2] >> 2] <= b >>> 0) {
+    break a;
+   }
+  }
+  g = c, h = Pi(a, d, f, b) + q[c >> 2] | 0, q[g >> 2] = h;
+  e = 0;
+ }
+ return e | 0;
+}
+function Ni(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ a : {
+  if (!r[a + 733 | 0]) {
+   break a;
+  }
+  d = q[a + 736 >> 2];
+  if (!d) {
+   break a;
+  }
+  if (!r[d + 32 | 0]) {
+   e = Oi(a, 0);
+   d = q[a + 736 >> 2];
+   q[d + 36 >> 2] = e;
+  }
+  if (!r[d + 33 | 0]) {
+   return q[d + 36 >> 2];
+  }
+  d = q[d + 40 >> 2];
+  e = q[d + 28 >> 2];
+  b : {
+   if (e) {
+    f = e;
+    e = q[d + 20 >> 2];
+    e = (e >>> 0 > b >>> 0 ? b : e + -1 | 0) << 2;
+    b = q[f + e >> 2];
+    f = q[e + q[d + 24 >> 2] >> 2];
+    break b;
+   }
+   e = 6;
+   if (t[q[d + 4 >> 2] >> 2] <= b >>> 0) {
+    break a;
+   }
+  }
+  g = c, h = Pi(a, d, f, b) + q[c >> 2] | 0, q[g >> 2] = h;
+  e = 0;
+ }
+ return e | 0;
+}
+function rs(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = Ca - 80 | 0;
+ Ca = c;
+ e = r[a + 4 | 0];
+ a : {
+  if (!(o[q[b >> 2] + 140 | 0] & 1)) {
+   d = 0;
+   if (!(e & 64)) {
+    break a;
+   }
+  }
+  q[c + 24 >> 2] = b;
+  q[c + 28 >> 2] = a;
+  d = r[a + 28 | 0] | r[a + 29 | 0] << 8 | (r[a + 30 | 0] << 16 | r[a + 31 | 0] << 24);
+  q[c + 68 >> 2] = 0;
+  o[c + 72 | 0] = e >>> 6 & 1;
+  a = a + 12 | 0;
+  q[c + 32 >> 2] = a + (d << 8 & 16711680 | d << 24 | (d >>> 8 & 65280 | d >>> 24));
+  d = q[q[b + 4 >> 2] + 16 >> 2];
+  q[c + 12 >> 2] = q[b + 12 >> 2];
+  q[c + 8 >> 2] = a;
+  b = c;
+  a = q[d + 32 >> 2];
+  if ((a | 0) == -1) {
+   a = VF(d);
+  }
+  q[b + 16 >> 2] = a;
+  ws(c + 8 | 0, c + 24 | 0);
+  d = 1;
+ }
+ Ca = c + 80 | 0;
+ return d;
+}
+function pA(a, b, c) {
+ var d = 0, e = 0, f = x(0);
+ e = q[a >> 2];
+ a : {
+  if (e >>> 0 <= b >>> 0) {
+   d = 0;
+   if (e) {
+    break a;
+   }
+   return q[a + 8 >> 2];
+  }
+  d = q[a + 12 >> 2];
+  e = q[(d ? d : 271040) + 12 >> 2];
+  d = q[a + 4 >> 2] + -1 | 0;
+  d = d >>> 0 < b >>> 0 ? d : b;
+  d = (d | 0) < 0 ? 271040 : e + (d << 2) | 0;
+  e = r[d | 0] << 8 | r[d + 1 | 0];
+  d = e;
+  if (!q[c + 60 >> 2]) {
+   break a;
+  }
+  a = q[a + 16 >> 2];
+  a = a ? a : 271040;
+  d = q[a + 16 >> 2];
+  if (d) {
+   f = x(x(S(x(DA(d >>> 0 < 20 ? 271040 : q[a + 12 >> 2], b, c)))) + x(e >>> 0));
+   if (f < x(4294967296) & f >= x(0)) {
+    return ~~f >>> 0;
+   }
+   return 0;
+  }
+  d = aA(Xz(q[c + 16 >> 2] + 96 | 0), c, b, 1);
+ }
+ return d;
+}
+function oA(a, b, c) {
+ var d = 0, e = 0, f = x(0);
+ e = q[a >> 2];
+ a : {
+  if (e >>> 0 <= b >>> 0) {
+   d = 0;
+   if (e) {
+    break a;
+   }
+   return q[a + 8 >> 2];
+  }
+  d = q[a + 12 >> 2];
+  e = q[(d ? d : 271040) + 12 >> 2];
+  d = q[a + 4 >> 2] + -1 | 0;
+  d = d >>> 0 < b >>> 0 ? d : b;
+  d = (d | 0) < 0 ? 271040 : e + (d << 2) | 0;
+  e = r[d | 0] << 8 | r[d + 1 | 0];
+  d = e;
+  if (!q[c + 60 >> 2]) {
+   break a;
+  }
+  a = q[a + 16 >> 2];
+  a = a ? a : 271040;
+  d = q[a + 16 >> 2];
+  if (d) {
+   f = x(x(S(x(DA(d >>> 0 < 20 ? 271040 : q[a + 12 >> 2], b, c)))) + x(e >>> 0));
+   if (f < x(4294967296) & f >= x(0)) {
+    return ~~f >>> 0;
+   }
+   return 0;
+  }
+  d = aA(Xz(q[c + 16 >> 2] + 96 | 0), c, b, 0);
+ }
+ return d;
+}
+function sy(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ d = q[a + 4 >> 2];
+ if ((d | 0) < 1) {
+  q[c >> 2] = 0;
+  return 0;
+ }
+ j = q[a >> 2];
+ f = d + -1 | 0;
+ d = q[b >> 2];
+ h = eZ(d, 45);
+ k = h - d | 0;
+ while (1) {
+  e = f + g >>> 1 | 0;
+  a = (e << 3) + j | 0;
+  b = k;
+  if (!h) {
+   b = g0(d);
+  }
+  l = d;
+  m = a;
+  i = eZ(a, 45);
+  a : {
+   if (i) {
+    a = i - a | 0;
+    break a;
+   }
+   a = g0(a);
+  }
+  a = jZ(l, m, b >>> 0 < a >>> 0 ? a : b);
+  b : {
+   if ((a | 0) <= -1) {
+    f = e + -1 | 0;
+    break b;
+   }
+   if (!a) {
+    q[c >> 2] = e;
+    return 1;
+   }
+   g = e + 1 | 0;
+  }
+  if ((g | 0) <= (f | 0)) {
+   continue;
+  }
+  break;
+ }
+ q[c >> 2] = g;
+ return 0;
+}
+function to(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ c = q[b >> 2] + 1 | 0;
+ if (c >>> 0 <= 65535) {
+  h = b;
+  d = q[a + 16 >> 2];
+  a = r[d + 6 | 0] << 8 | r[d + 7 | 0];
+  c = c >>> 0 < a >>> 0 ? a : c;
+  b = c - a | 0;
+  g = r[d + 9 | 0] | r[d + 8 | 0] << 8;
+  e = 0;
+  a : {
+   if (b >>> 0 >= g >>> 0) {
+    break a;
+   }
+   a = (d + (b << 1) | 0) + 10 | 0;
+   while (1) {
+    f = r[a + 1 | 0] | r[a | 0] << 8;
+    e = c;
+    if (f) {
+     break a;
+    }
+    if (c >>> 0 > 65534) {
+     return 0;
+    }
+    a = a + 2 | 0;
+    c = c + 1 | 0;
+    b = b + 1 | 0;
+    if ((g | 0) != (b | 0)) {
+     continue;
+    }
+    break;
+   }
+   f = 0;
+   e = 0;
+  }
+  q[h >> 2] = e;
+ }
+ return f | 0;
+}
+function kg(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ a : {
+  b : {
+   if (!a) {
+    break b;
+   }
+   e = q[q[a >> 2] + 32 >> 2];
+   d = 0;
+   c : {
+    if (!e) {
+     break c;
+    }
+    d = n[e](a, b) | 0;
+   }
+   if (d | !c) {
+    break a;
+   }
+   d = q[a + 4 >> 2];
+   c = q[d + 16 >> 2];
+   if ((c | 0) < 1) {
+    break b;
+   }
+   e = (d + (c << 2) | 0) + 20 | 0;
+   c = d + 20 | 0;
+   while (1) {
+    f = q[c >> 2];
+    d : {
+     if ((f | 0) == (a | 0)) {
+      break d;
+     }
+     d = q[q[f >> 2] + 32 >> 2];
+     if (!d) {
+      break d;
+     }
+     d = n[d](f, b) | 0;
+     if (d) {
+      break a;
+     }
+    }
+    c = c + 4 | 0;
+    if (c >>> 0 < e >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = 0;
+ }
+ return d;
+}
+function Z0(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ g = c & 63;
+ f = g;
+ d = f & 31;
+ if (32 <= f >>> 0) {
+  d = -1 >>> d | 0;
+ } else {
+  e = -1 >>> d | 0;
+  d = (1 << d) - 1 << 32 - d | -1 >>> d;
+ }
+ f = d & a;
+ d = b & e;
+ e = g & 31;
+ if (32 <= g >>> 0) {
+  d = f << e;
+  g = 0;
+ } else {
+  d = (1 << e) - 1 & f >>> 32 - e | d << e;
+  g = f << e;
+ }
+ f = d;
+ e = 0 - c & 63;
+ d = e;
+ c = d & 31;
+ if (32 <= d >>> 0) {
+  d = -1 << c;
+  c = 0;
+ } else {
+  d = (1 << c) - 1 & -1 >>> 32 - c | -1 << c;
+  c = -1 << c;
+ }
+ a = c & a;
+ d = b & d;
+ b = e & 31;
+ if (32 <= e >>> 0) {
+  c = 0;
+  a = d >>> b | 0;
+ } else {
+  c = d >>> b | 0;
+  a = ((1 << b) - 1 & d) << 32 - b | a >>> b;
+ }
+ a = a | g;
+ Ea = c | f;
+ return a;
+}
+
+
+
+function WG(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ g = 6;
+ a : {
+  if (!c) {
+   break a;
+  }
+  if (!a) {
+   return 35;
+  }
+  if (!(o[a + 9 | 0] & 1)) {
+   break a;
+  }
+  f = q[a + 128 >> 2];
+  d = q[f + 32 >> 2];
+  e = d + 2 | 0;
+  b : {
+   if (e >>> 0 > 2) {
+    break b;
+   }
+   c : {
+    switch (e - 1 | 0) {
+    case 0:
+     break b;
+    case 1:
+     break c;
+    default:
+     break a;
+    }
+   }
+   d = q[a + 96 >> 2];
+   e = q[q[d >> 2] + 32 >> 2];
+   d : {
+    if (!e) {
+     d = 0;
+     break d;
+    }
+    d = n[e](d, 272879) | 0;
+    f = q[a + 128 >> 2];
+   }
+   q[f + 32 >> 2] = d ? d : -2;
+  }
+  if (!d) {
+   break a;
+  }
+  d = q[d + 12 >> 2];
+  if (!d) {
+   break a;
+  }
+  g = n[d](a, b, c) | 0;
+ }
+ return g;
+}
+function NM(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ if (!(q[a + 20 >> 2] == (c | 0) ? q[a + 16 >> 2] == (b | 0) : 0)) {
+  q[a + 16 >> 2] = b;
+  d = a + 20 | 0;
+  q[d >> 2] = c;
+  q[a + 112 >> 2] = q[a + 112 >> 2] + 1;
+  sM(q[a + 748 >> 2]);
+  sM(q[a + 744 >> 2]);
+  sM(q[a + 740 >> 2]);
+  b = q[a + 16 >> 2];
+  q[a + 136 >> 2] = b;
+  c = q[d >> 2];
+  q[a + 140 >> 2] = c;
+  d = q[a - -64 >> 2];
+  e = q[a + 68 >> 2];
+  q[a + 148 >> 2] = (b - d | 0) - e;
+  f = q[a + 56 >> 2];
+  g = q[a + 60 >> 2];
+  q[a + 144 >> 2] = (c - f | 0) - g;
+  q[a + 156 >> 2] = (b + ((d | 0) > 0 ? 0 - d | 0 : 0) | 0) + ((e | 0) > 0 ? 0 - e | 0 : 0);
+  q[a + 152 >> 2] = (c + ((f | 0) > 0 ? 0 - f | 0 : 0) | 0) + ((g | 0) > 0 ? 0 - g | 0 : 0);
+ }
+}
+function Uv(a, b) {
+ var c = 0, d = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 10) {
+   break a;
+  }
+  c = b;
+  b = q[b + 12 >> 2];
+  q[c + 12 >> 2] = b + -1;
+  if ((b | 0) < 1) {
+   break a;
+  }
+  b = r[a + 1 | 0] | r[a | 0] << 8;
+  if (!b) {
+   break a;
+  }
+  if (!(r[a + 3 | 0] | r[a + 2 | 0] << 8 | (r[a + 5 | 0] | r[a + 4 | 0] << 8) | (r[a + 7 | 0] | r[a + 6 | 0] << 8 | (r[a + 9 | 0] | r[a + 8 | 0] << 8)))) {
+   d = 1;
+   break a;
+  }
+  if (b >>> 0 < (r[a + 7 | 0] | r[a + 6 | 0] << 8) >>> 0 | b >>> 0 > (r[a + 9 | 0] | r[a + 8 | 0] << 8) >>> 0) {
+   break a;
+  }
+  return (r[a + 5 | 0] | r[a + 4 | 0] << 8) + -256 >>> 0 < 32512;
+ }
+ return d;
+}
+function qf(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ if (!(!a | !b)) {
+  c = p[a + 2 >> 1];
+  a : {
+   if (!c) {
+    c = 0;
+    break a;
+   }
+   a = q[a + 4 >> 2];
+   d = q[a + 4 >> 2];
+   e = q[a >> 2];
+   if ((c | 0) < 2) {
+    c = d;
+    f = e;
+    break a;
+   }
+   h = (c << 3) + a | 0;
+   g = a + 8 | 0;
+   f = e;
+   c = d;
+   while (1) {
+    a = q[a + 12 >> 2];
+    c = (a | 0) > (c | 0) ? a : c;
+    d = (a | 0) < (d | 0) ? a : d;
+    a = q[g >> 2];
+    f = (a | 0) > (f | 0) ? a : f;
+    e = (a | 0) < (e | 0) ? a : e;
+    a = g;
+    g = a + 8 | 0;
+    if (g >>> 0 < h >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[b + 8 >> 2] = f;
+  q[b >> 2] = e;
+  q[b + 12 >> 2] = c;
+  q[b + 4 >> 2] = d;
+ }
+}
+function Bg(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[b >> 2] = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     c = q[a + 8 >> 2];
+     if (c + 1 >>> 0 >= t[a + 4 >> 2]) {
+      break d;
+     }
+     e = q[a + 20 >> 2];
+     e : {
+      if (e) {
+       if ((n[e](a, c, d + 14 | 0, 2) | 0) != 2) {
+        break d;
+       }
+       c = q[a + 8 >> 2];
+       b = d + 14 | 0;
+       break e;
+      }
+      b = q[a >> 2];
+      if (!b) {
+       break c;
+      }
+      b = b + c | 0;
+     }
+     b = r[b | 0] | r[b + 1 | 0] << 8;
+     f = (b << 24 | b << 8 & 16711680) >>> 16 | 0;
+     break b;
+    }
+    q[b >> 2] = 85;
+    break a;
+   }
+   f = 0;
+  }
+  q[a + 8 >> 2] = c + 2;
+ }
+ Ca = d + 16 | 0;
+ return f;
+}
+function Zw(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ e = Ca - 272 | 0;
+ Ca = e;
+ c = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+ f = c ? c + a | 0 : 271040;
+ c = q[b + 96 >> 2];
+ d = 0;
+ a : {
+  if ((ct(f, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]) | 0) == -1) {
+   break a;
+  }
+  c = r[a + 3 | 0];
+  f = r[a + 5 | 0];
+  h = r[a + 2 | 0];
+  g = r[a + 4 | 0];
+  q[e + 268 >> 2] = 0;
+  c = c | h << 8;
+  d = 0;
+  if (!Rw(b, c, a + 8 | 0, 448, a, e + 268 | 0, e, 0)) {
+   break a;
+  }
+  f = f | g << 8;
+  h = ((c << 1) + a | 0) + 6 | 0;
+  a = q[e + 268 >> 2];
+  if (a >>> 0 >= 2) {
+   g = q[b + 96 >> 2];
+   d = q[g + 72 >> 2];
+   DG(g, d, a + d | 0);
+  }
+  d = Xw(b, c, e, f, h, a);
+ }
+ Ca = e + 272 | 0;
+ return d;
+}
+function TG(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ f = 6;
+ a : {
+  if (!b) {
+   break a;
+  }
+  if (!a) {
+   return 35;
+  }
+  if (!(o[a + 9 | 0] & 1)) {
+   break a;
+  }
+  e = q[a + 128 >> 2];
+  c = q[e + 32 >> 2];
+  d = c + 2 | 0;
+  b : {
+   if (d >>> 0 > 2) {
+    break b;
+   }
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+     break b;
+    case 1:
+     break c;
+    default:
+     break a;
+    }
+   }
+   c = q[a + 96 >> 2];
+   d = q[q[c >> 2] + 32 >> 2];
+   d : {
+    if (!d) {
+     c = 0;
+     break d;
+    }
+    c = n[d](c, 272879) | 0;
+    e = q[a + 128 >> 2];
+   }
+   q[e + 32 >> 2] = c ? c : -2;
+  }
+  if (!c) {
+   break a;
+  }
+  c = q[c + 16 >> 2];
+  if (!c) {
+   break a;
+  }
+  f = n[c](a, b) | 0;
+ }
+ return f;
+}
+function eY(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ e = q[a + 8 >> 2];
+ f = q[b + 8 >> 2];
+ cS(d, b);
+ g = q[d + 12 >> 2];
+ q[c + 8 >> 2] = q[d + 8 >> 2];
+ q[c + 12 >> 2] = g;
+ g = q[d + 4 >> 2];
+ q[c >> 2] = q[d >> 2];
+ q[c + 4 >> 2] = g;
+ c = e & 1 ? (e & -2) + a | 0 : e;
+ e = f & 1 ? (f & -2) + b | 0 : f;
+ a = r[e | 0];
+ a : {
+  b : {
+   if ((a | 0) == 32) {
+    break b;
+   }
+   b = r[c | 0];
+   if ((b | 0) == 32) {
+    break b;
+   }
+   h = 1;
+   if ((((b + -65 & 255) >>> 0 < 26 ? b + 32 | 0 : b) | 0) != (((a + -65 & 255) >>> 0 < 26 ? a + 32 | 0 : a) | 0)) {
+    break a;
+   }
+  }
+  h = aQ(c, e) ? 1 : 0;
+ }
+ Ca = d + 16 | 0;
+ return +h;
+}
+function _Q() {
+ var a = 0, b = 0;
+ b = q[160822];
+ a : {
+  if (b) {
+   break a;
+  }
+  while (1) {
+   b = GQ();
+   a = j$(485978);
+   b : {
+    c : {
+     d : {
+      if (r[a | 0] ? a : 0) {
+       break d;
+      }
+      a = j$(485986);
+      if (r[a | 0] ? a : 0) {
+       break d;
+      }
+      a = j$(485993);
+      if (r[a | 0] ? a : 0) {
+       break d;
+      }
+      a = j$(486002);
+      if (!a | !r[a | 0]) {
+       break c;
+      }
+     }
+     if (OQ(b, a)) {
+      break b;
+     }
+    }
+    xQ(b, 486007);
+   }
+   q[b >> 2] = -1;
+   a = q[160822];
+   q[160822] = a ? a : b;
+   if (!a) {
+    break a;
+   }
+   q[b >> 2] = 1;
+   BQ(b);
+   b = q[160822];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ return b;
+}
+function OM(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ if (!(q[a + 28 >> 2] == (c | 0) ? q[a + 24 >> 2] == (b | 0) : 0)) {
+  q[a + 24 >> 2] = b;
+  q[a + 28 >> 2] = c;
+  q[a + 112 >> 2] = q[a + 112 >> 2] + 1;
+  sM(q[a + 748 >> 2]);
+  sM(q[a + 744 >> 2]);
+  sM(q[a + 740 >> 2]);
+  b = q[a + 16 >> 2];
+  q[a + 136 >> 2] = b;
+  c = q[a + 20 >> 2];
+  q[a + 140 >> 2] = c;
+  d = q[a - -64 >> 2];
+  e = q[a + 68 >> 2];
+  q[a + 148 >> 2] = (b - d | 0) - e;
+  f = q[a + 56 >> 2];
+  g = q[a + 60 >> 2];
+  q[a + 144 >> 2] = (c - f | 0) - g;
+  q[a + 156 >> 2] = (b + ((d | 0) > 0 ? 0 - d | 0 : 0) | 0) + ((e | 0) > 0 ? 0 - e | 0 : 0);
+  q[a + 152 >> 2] = (c + ((f | 0) > 0 ? 0 - f | 0 : 0) | 0) + ((g | 0) > 0 ? 0 - g | 0 : 0);
+ }
+}
+function cz(a, b, c) {
+ var d = 0, e = 0;
+ a : {
+  if ((a | 0) != 14) {
+   if ((a | 0) != 256) {
+    break a;
+   }
+   q[b + 148 >> 2] = 0;
+   q[b + 24 >> 2] = 0;
+   return;
+  }
+  a = q[b + 24 >> 2];
+  if (!r[b + 144 | 0]) {
+   if (a & 1) {
+    b : {
+     if (!q[b + 32 >> 2]) {
+      d = q[67761];
+      e = q[67760];
+      q[160656] = e;
+      q[160657] = d;
+      break b;
+     }
+     d = q[b + 36 >> 2];
+     e = q[d >> 2];
+     d = q[d + 4 >> 2];
+    }
+    q[b + 148 >> 2] = 1;
+    o[b + 145 | 0] = 1;
+    q[b + 152 >> 2] = e;
+    q[b + 156 >> 2] = d;
+   }
+   o[b + 144 | 0] = 1;
+  }
+  if (a >>> 0 >= 4) {
+   dz(b, c);
+  }
+  o[b + 72 | 0] = 1;
+  q[b + 24 >> 2] = 0;
+  q[b + 148 >> 2] = 0;
+  return;
+ }
+ ez(a, b, c);
+}
+function VD(a) {
+ a = a | 0;
+ a = a + 24 | 0;
+ xy(a, 531);
+ vy(a, 1819239276, 1, 1);
+ vy(a, 1667460464, 1, 1);
+ vy(a, 1853188980, 1, 1);
+ vy(a, 1634429038, 9, 1);
+ xy(a, 532);
+ vy(a, 1919969382, 8, 1);
+ xy(a, 533);
+ xy(a, 532);
+ vy(a, 1886545254, 9, 1);
+ xy(a, 534);
+ vy(a, 1919644262, 9, 1);
+ vy(a, 1633842790, 9, 1);
+ vy(a, 1651275622, 9, 1);
+ vy(a, 1751215206, 9, 1);
+ vy(a, 1886614630, 9, 1);
+ vy(a, 1986098293, 9, 1);
+ vy(a, 1667916660, 9, 1);
+ xy(a, 535);
+ xy(a, 536);
+ vy(a, 1769172844, 0, 1);
+ vy(a, 1768843636, 0, 1);
+ vy(a, 1835361385, 0, 1);
+ vy(a, 1718185569, 0, 1);
+ xy(a, 0);
+ vy(a, 1633842803, 9, 1);
+ vy(a, 1651275635, 9, 1);
+ vy(a, 1751215214, 9, 1);
+ vy(a, 1886545267, 9, 1);
+ vy(a, 1886614643, 9, 1);
+}
+function FJ(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ wJ(a, q[a + 8 >> 2]);
+ g = q[a >> 2];
+ q[f + 12 >> 2] = g;
+ h = q[a + 8 >> 2];
+ a : {
+  if (g >>> 0 >= h >>> 0) {
+   break a;
+  }
+  if (e) {
+   i = 3;
+   if (r[g | 0] != 60) {
+    break a;
+   }
+   q[f + 12 >> 2] = g + 1;
+   j = d, k = GJ(f + 12 | 0, h, b, c), q[j >> 2] = k;
+   b = q[f + 12 >> 2];
+   q[a >> 2] = b;
+   if (r[b | 0] != 62 ? t[a + 8 >> 2] > b >>> 0 : 0) {
+    break a;
+   }
+   q[a >> 2] = b + 1;
+   i = 0;
+   break a;
+  }
+  j = d, k = GJ(f + 12 | 0, h, b, c), q[j >> 2] = k;
+  q[a >> 2] = q[f + 12 >> 2];
+ }
+ Ca = f + 16 | 0;
+ return i | 0;
+}
+function Wg(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[b >> 2] = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     c = q[a + 8 >> 2];
+     if (c + 3 >>> 0 >= t[a + 4 >> 2]) {
+      break d;
+     }
+     e = q[a + 20 >> 2];
+     e : {
+      if (e) {
+       if ((n[e](a, c, d + 12 | 0, 4) | 0) != 4) {
+        break d;
+       }
+       c = q[a + 8 >> 2];
+       b = d + 12 | 0;
+       break e;
+      }
+      b = q[a >> 2];
+      if (!b) {
+       break c;
+      }
+      b = b + c | 0;
+     }
+     f = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+     break b;
+    }
+    q[b >> 2] = 85;
+    break a;
+   }
+   f = 0;
+  }
+  q[a + 8 >> 2] = c + 4;
+ }
+ Ca = d + 16 | 0;
+ return f;
+}
+function We(a) {
+ var b = 0, c = 0, d = 0;
+ q[a + 56 >> 2] = 0;
+ q[a + 84 >> 2] = 0;
+ c = a;
+ b = q[a + 24 >> 2];
+ if (b) {
+  b = (p[a + 22 >> 1] << 3) + b | 0;
+ } else {
+  b = 0;
+ }
+ q[c + 60 >> 2] = b;
+ c = a - -64 | 0;
+ b = q[a + 28 >> 2];
+ if (b) {
+  b = p[a + 22 >> 1] + b | 0;
+ } else {
+  b = 0;
+ }
+ q[c >> 2] = b;
+ c = a;
+ b = q[a + 32 >> 2];
+ d = 0;
+ a : {
+  if (!b) {
+   break a;
+  }
+  d = b + (p[a + 20 >> 1] << 1) | 0;
+ }
+ q[c + 68 >> 2] = d;
+ if (r[a + 16 | 0]) {
+  b = p[a + 22 >> 1] << 3;
+  q[a + 76 >> 2] = b + q[a + 40 >> 2];
+  q[a + 80 >> 2] = b + q[a + 44 >> 2];
+ }
+ c = a;
+ b = q[a + 52 >> 2];
+ d = 0;
+ b : {
+  if (!b) {
+   break b;
+  }
+  d = b + (q[a + 48 >> 2] << 5) | 0;
+ }
+ q[c + 88 >> 2] = d;
+}
+function My(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ a : {
+  e = b + -6078 | 0;
+  if (e >>> 0 > 7) {
+   break a;
+  }
+  b : {
+   switch (e - 1 | 0) {
+   default:
+    q[c >> 2] = 6081;
+    q[d >> 2] = 6078;
+    return 1;
+   case 0:
+    q[c >> 2] = 6081;
+    q[d >> 2] = 6079;
+    return 1;
+   case 1:
+    q[c >> 2] = 6081;
+    q[d >> 2] = 6080;
+    return 1;
+   case 5:
+    q[c >> 2] = 6081;
+    q[d >> 2] = 6084;
+    return 1;
+   case 2:
+   case 3:
+   case 4:
+    break a;
+   case 6:
+    break b;
+   }
+  }
+  q[c >> 2] = 6081;
+  q[d >> 2] = 6085;
+  return 1;
+ }
+ a = q[a + 12 >> 2];
+ q[c >> 2] = b;
+ q[d >> 2] = 0;
+ return (n[q[a + 40 >> 2]](a, b, c, d, q[a + 72 >> 2]) | 0) != 0 | 0;
+}
+function yO(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ a : {
+  if (!q[c + 20 >> 2]) {
+   q[b >> 2] = 0;
+   q[b + 4 >> 2] = 0;
+   q[b + 16 >> 2] = 0;
+   q[b + 20 >> 2] = 0;
+   q[b + 8 >> 2] = 0;
+   q[b + 12 >> 2] = 0;
+   break a;
+  }
+  d = 1 << q[a >> 2];
+  e = 0 - d | 0;
+  a = q[c + 8 >> 2];
+  f = a >>> 0 > e >>> 0 ? a : e & (a + d | 0) + -1;
+  e = q[c + 12 >> 2];
+  if (f >>> 0 > 2147483615 / (((e | 0) > 1 ? e : 1) >>> 0) >>> 0) {
+   break a;
+  }
+  d = Jd(d, w(e, f) + 32 | 0, 0);
+  if (!d) {
+   break a;
+  }
+  q[b + 20 >> 2] = d;
+  q[b + 16 >> 2] = f;
+  q[b + 12 >> 2] = e;
+  q[b + 8 >> 2] = a;
+  q[b >> 2] = q[c >> 2];
+  q[b + 4 >> 2] = q[c + 4 >> 2];
+  Y$(d, q[c + 20 >> 2], w(q[c + 12 >> 2], q[c + 16 >> 2]));
+ }
+}
+function yD(a) {
+ a = a | 0;
+ var b = 0;
+ b = a + 24 | 0;
+ vy(b, 1937007464, 1, 1);
+ xy(b, 517);
+ vy(b, 1667460464, 1, 1);
+ vy(b, 1819239276, 1, 1);
+ xy(b, 0);
+ a = a + 8 | 0;
+ vy(b, 1769172844, (q[a >> 2] == 1098015074) << 1, 1);
+ xy(b, 0);
+ vy(b, 1718185569, (q[a >> 2] == 1098015074) << 1, 1);
+ xy(b, 0);
+ vy(b, 1718185522, 0, 1);
+ xy(b, 0);
+ vy(b, 1718185523, 0, 1);
+ xy(b, 0);
+ vy(b, 1835361385, (q[a >> 2] == 1098015074) << 1, 1);
+ xy(b, 0);
+ vy(b, 1835361330, 0, 1);
+ xy(b, 0);
+ vy(b, 1768843636, (q[a >> 2] == 1098015074) << 1, 1);
+ xy(b, 0);
+ vy(b, 1919707495, 11, 1);
+ if (q[a >> 2] == 1098015074) {
+  xy(b, 518);
+ }
+ vy(b, 1919118452, 9, 1);
+ vy(b, 1667329140, 9, 1);
+ xy(b, 0);
+ vy(b, 1836279156, 1, 1);
+}
+function EU(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0;
+ a = q[b >> 2];
+ c = c - a & -2;
+ f = a + c | 0;
+ h = c;
+ c = q[d >> 2];
+ if ((h | 0) > (e - c | 0)) {
+  g = (r[f + -1 | 0] & 248) == 216;
+  f = g ? f + -2 | 0 : f;
+ }
+ a : {
+  if (a >>> 0 >= f >>> 0) {
+   break a;
+  }
+  if (c >>> 0 < e >>> 0) {
+   while (1) {
+    a = r[a | 0] | r[a + 1 | 0] << 8;
+    q[d >> 2] = c + 2;
+    p[c >> 1] = a;
+    a = q[b >> 2] + 2 | 0;
+    q[b >> 2] = a;
+    if (a >>> 0 >= f >>> 0) {
+     break a;
+    }
+    c = q[d >> 2];
+    if (c >>> 0 < e >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  if ((c | 0) != (e | 0)) {
+   break a;
+  }
+  g = 2;
+ }
+ return g | 0;
+}
+function Yx(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ d = c ? c + a | 0 : 271040;
+ c = q[b + 96 >> 2];
+ d = ct(d, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]);
+ a : {
+  if ((d | 0) == -1) {
+   break a;
+  }
+  c = q[c + 72 >> 2];
+  q[b + 36 >> 2] = 1;
+  q[b >> 2] = c;
+  e = q[q[b + 4 >> 2] + 96 >> 2];
+  q[b + 40 >> 2] = q[e + 76 >> 2];
+  o[b + 20 | 0] = (c | 0) == q[e + 72 >> 2] ? r[(q[e + 88 >> 2] + w(c, 20) | 0) + 15 | 0] : 0;
+  if (!Xt(b)) {
+   break a;
+  }
+  c = (r[a + 9 | 0] | r[a + 8 | 0] << 8) >>> 0 > d >>> 0 ? ((d << 1) + a | 0) + 10 | 0 : 271040;
+  c = r[c | 0] << 8 | r[c + 1 | 0];
+  f = Zx(c ? c + a | 0 : 271040, b, a + 4 | 0, q[b >> 2]);
+ }
+ return f;
+}
+function b0(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ d = q[c + 16 >> 2];
+ a : {
+  if (!d) {
+   if ($$(c)) {
+    break a;
+   }
+   d = q[c + 16 >> 2];
+  }
+  f = q[c + 20 >> 2];
+  if (d - f >>> 0 < b >>> 0) {
+   return n[q[c + 36 >> 2]](c, a, b) | 0;
+  }
+  b : {
+   if (o[c + 75 | 0] < 0) {
+    break b;
+   }
+   e = b;
+   while (1) {
+    d = e;
+    if (!d) {
+     break b;
+    }
+    e = d + -1 | 0;
+    if (r[e + a | 0] != 10) {
+     continue;
+    }
+    break;
+   }
+   e = n[q[c + 36 >> 2]](c, a, d) | 0;
+   if (e >>> 0 < d >>> 0) {
+    break a;
+   }
+   b = b - d | 0;
+   a = a + d | 0;
+   f = q[c + 20 >> 2];
+   g = d;
+  }
+  Y$(f, a, b);
+  q[c + 20 >> 2] = q[c + 20 >> 2] + b;
+  e = b + g | 0;
+ }
+ return e;
+}
+function wd(a) {
+ var b = 0, c = 0;
+ b = q[a + 8 >> 2];
+ c = q[a + 12 >> 2];
+ if ((b | 0) <= (c | 0)) {
+  a : {
+   if ((b | 0) != (c | 0)) {
+    c = q[a + 20 >> 2];
+    break a;
+   }
+   b = b << 1 | 1;
+   q[a + 12 >> 2] = b;
+   c = O$(q[a + 20 >> 2], w(b, 56));
+   q[a + 20 >> 2] = c;
+   b = q[a + 8 >> 2];
+  }
+  q[a + 8 >> 2] = b + 1;
+  a = w(b, 56) + c | 0;
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  q[a + 48 >> 2] = 0;
+  q[a + 52 >> 2] = 0;
+  q[a + 40 >> 2] = 0;
+  q[a + 44 >> 2] = 0;
+  q[a + 32 >> 2] = 0;
+  q[a + 36 >> 2] = 0;
+  q[a + 24 >> 2] = 0;
+  q[a + 28 >> 2] = 0;
+  q[a + 16 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+  return b;
+ }
+ J(1208, 1186, 126, 1245);
+ F();
+}
+function mt(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ a : {
+  if (r[b + 3 | 0] | r[b + 2 | 0] << 8 ? 0 : !(r[b + 1 | 0] | r[b | 0] << 8)) {
+   break a;
+  }
+  d = q[a + 96 >> 2];
+  q[a + 96 >> 2] = d + 1;
+  if (d >>> 0 > 500) {
+   break a;
+  }
+  if (ot(a, b, a + 8 | 0)) {
+   break a;
+  }
+  d = r[b + 1 | 0] | r[b | 0] << 8;
+  if (d) {
+   pt(a, b + d | 0, c);
+  }
+  f = r[b + 3 | 0] | r[b + 2 | 0] << 8;
+  if (!f) {
+   break a;
+  }
+  d = 0;
+  while (1) {
+   e = (r[b + 3 | 0] | r[b + 2 | 0] << 8) >>> 0 > d >>> 0 ? (w(d, 6) + b | 0) + 4 | 0 : 271040;
+   e = r[e + 4 | 0] << 8 | r[e + 5 | 0];
+   pt(a, e ? e + b | 0 : 271426, c);
+   d = d + 1 | 0;
+   if ((f | 0) != (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function cS(a, b) {
+ var c = 0;
+ a : {
+  b : {
+   c = q[b >> 2] + -3 | 0;
+   if (c >>> 0 > 6) {
+    break b;
+   }
+   c : {
+    switch (c - 1 | 0) {
+    default:
+     c = q[b + 8 >> 2];
+     q[a >> 2] = 3;
+     break a;
+    case 2:
+     c = q[b + 8 >> 2];
+     q[a >> 2] = 6;
+     break a;
+    case 4:
+     c = q[b + 8 >> 2];
+     q[a >> 2] = 8;
+     break a;
+    case 0:
+    case 1:
+    case 3:
+     break b;
+    case 5:
+     break c;
+    }
+   }
+   c = q[b + 8 >> 2];
+   q[a >> 2] = 9;
+   break a;
+  }
+  c = q[b + 4 >> 2];
+  q[a >> 2] = q[b >> 2];
+  q[a + 4 >> 2] = c;
+  c = q[b + 12 >> 2];
+  q[a + 8 >> 2] = q[b + 8 >> 2];
+  q[a + 12 >> 2] = c;
+  return;
+ }
+ q[a + 8 >> 2] = c & 1 ? (c & -2) + b | 0 : c;
+}
+function ai(a, b, c, d) {
+ var e = 0, f = 0, g = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ a : {
+  if (!(s[a + 80 >> 1] > c >>> 0 ? s[a + 116 >> 1] > b >>> 0 : 0)) {
+   g = 1;
+   if (!r[a + 565 | 0]) {
+    break a;
+   }
+   q[a + 12 >> 2] = 134;
+   break a;
+  }
+  c = q[a + 88 >> 2] + (c << 3) | 0;
+  e = q[a + 124 >> 2] + (b << 3) | 0;
+  b = q[c + 4 >> 2] - q[e + 4 >> 2] | 0;
+  e = q[c >> 2] - q[e >> 2] | 0;
+  c = b | e;
+  e = c ? e : 16384;
+  a = !(o[a + 372 | 0] & 1) | !c;
+  c = a ? b : e;
+  a = a ? e : 0 - b | 0;
+  if (!(c | a)) {
+   break a;
+  }
+  q[f + 12 >> 2] = c;
+  q[f + 8 >> 2] = a;
+  Ke(f + 8 | 0);
+  p[d >> 1] = q[f + 8 >> 2] / 4;
+  p[d + 2 >> 1] = q[f + 12 >> 2] / 4;
+ }
+ Ca = f + 16 | 0;
+ return g;
+}
+function sV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ a : {
+  b : {
+   c : {
+    g = b + -15 | 0;
+    if (g >>> 0 > 3) {
+     break c;
+    }
+    f = 17;
+    d : {
+     switch (g - 1 | 0) {
+     case 0:
+     case 1:
+      break c;
+     case 2:
+      break d;
+     default:
+      break a;
+     }
+    }
+    if (n[q[e + 24 >> 2]](e, c, d, 496360)) {
+     q[a >> 2] = 938;
+     return 17;
+    }
+    if (!n[q[e + 24 >> 2]](e, c, d, 496367)) {
+     break b;
+    }
+    q[a >> 2] = 939;
+    return 17;
+   }
+   if ((b | 0) != 28) {
+    break b;
+   }
+   f = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  f = -1;
+ }
+ return f | 0;
+}
+function bM(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   if (!a) {
+    break b;
+   }
+   e = q[a + -8 >> 2];
+   if (!e) {
+    break a;
+   }
+   b = a + -4 | 0;
+   c = q[b >> 2];
+   if (!c) {
+    break a;
+   }
+   d = b;
+   b = c + -1 | 0;
+   q[d >> 2] = b;
+   if (b) {
+    break b;
+   }
+   d = a + -32 | 0;
+   b = q[d >> 2];
+   if (b) {
+    c = q[a + -24 >> 2];
+    if (c) {
+     q[c + 12 >> 2] = q[a + -20 >> 2];
+    }
+    q[q[a + -20 >> 2] >> 2] = c;
+    q[b + 32 >> 2] = q[b + 32 >> 2] + -1;
+    q[b + 20 >> 2] = q[b + 20 >> 2] - e;
+   }
+   b = q[a + -28 >> 2];
+   n[q[b + 16 >> 2]]((q[b + 24 >> 2] + 7 & -8) + a | 0, a);
+   M$(d);
+  }
+  return;
+ }
+ J(355157, 355131, 453, 355205);
+ F();
+}
+function Vg(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[b >> 2] = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     c = q[a + 8 >> 2];
+     if (c + 2 >>> 0 >= t[a + 4 >> 2]) {
+      break d;
+     }
+     e = q[a + 20 >> 2];
+     e : {
+      if (e) {
+       if ((n[e](a, c, d + 13 | 0, 3) | 0) != 3) {
+        break d;
+       }
+       c = q[a + 8 >> 2];
+       b = d + 13 | 0;
+       break e;
+      }
+      b = q[a >> 2];
+      if (!b) {
+       break c;
+      }
+      b = b + c | 0;
+     }
+     f = r[b + 2 | 0] | (r[b + 1 | 0] << 8 | r[b | 0] << 16);
+     break b;
+    }
+    q[b >> 2] = 85;
+    break a;
+   }
+   f = 0;
+  }
+  q[a + 8 >> 2] = c + 3;
+ }
+ Ca = d + 16 | 0;
+ return f;
+}
+function G$(a) {
+ var b = 0, c = 0, d = 0;
+ b = Ca - 16 | 0;
+ Ca = b;
+ h(+a);
+ d = e(1) | 0;
+ e(0) | 0;
+ d = d & 2147483647;
+ a : {
+  if (d >>> 0 <= 1072243195) {
+   c = 1;
+   if (d >>> 0 < 1044816030) {
+    break a;
+   }
+   c = C$(a, 0);
+   break a;
+  }
+  c = a - a;
+  if (d >>> 0 >= 2146435072) {
+   break a;
+  }
+  d = E$(a, b) & 3;
+  if (d >>> 0 <= 2) {
+   b : {
+    switch (d - 1 | 0) {
+    default:
+     c = C$(v[b >> 3], v[b + 8 >> 3]);
+     break a;
+    case 0:
+     c = -F$(v[b >> 3], v[b + 8 >> 3], 1);
+     break a;
+    case 1:
+     break b;
+    }
+   }
+   c = -C$(v[b >> 3], v[b + 8 >> 3]);
+   break a;
+  }
+  c = F$(v[b >> 3], v[b + 8 >> 3], 1);
+ }
+ a = c;
+ Ca = b + 16 | 0;
+ return a;
+}
+function kH(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ while (1) {
+  e = q[b >> 2];
+  q[b >> 2] = 1;
+  if (e) {
+   continue;
+  }
+  break;
+ }
+ e = 0;
+ f = q[b + 4 >> 2];
+ a : {
+  if (we(f, c, q[b + 8 >> 2])) {
+   break a;
+  }
+  c = q[f + 84 >> 2];
+  e = q[c + 32 >> 2];
+  q[d >> 2] = e;
+  f = q[c + 36 >> 2];
+  q[d + 4 >> 2] = f;
+  g = q[c + 24 >> 2];
+  q[d + 8 >> 2] = g;
+  c = q[c + 28 >> 2];
+  q[d + 12 >> 2] = 0 - c;
+  if (q[a + 20 >> 2] <= -1) {
+   q[d + 8 >> 2] = 0 - g;
+   q[d >> 2] = 0 - e;
+  }
+  e = 1;
+  if (q[a + 24 >> 2] > -1) {
+   break a;
+  }
+  q[d + 12 >> 2] = c;
+  q[d + 4 >> 2] = 0 - f;
+ }
+ q[b >> 2] = 0;
+ return e | 0;
+}
+function Pp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ e = 6;
+ d = q[a + 868 >> 2];
+ a : {
+  if (!d | s[a + 648 >> 1] <= b >>> 0) {
+   break a;
+  }
+  e = 8;
+  b = q[d + 8 >> 2] + (b << 1) | 0;
+  b = r[b | 0] << 8 | r[b + 1 | 0];
+  c = s[a + 660 >> 1];
+  if (b + c >>> 0 > s[d + 2 >> 1]) {
+   break a;
+  }
+  e = 0;
+  if (!c) {
+   break a;
+  }
+  a = q[a + 672 >> 2];
+  c = a + (c << 2) | 0;
+  b = q[d + 4 >> 2] + (b << 2) | 0;
+  while (1) {
+   o[a | 0] = r[b | 0];
+   o[a + 1 | 0] = r[b + 1 | 0];
+   o[a + 2 | 0] = r[b + 2 | 0];
+   o[a + 3 | 0] = r[b + 3 | 0];
+   b = b + 4 | 0;
+   a = a + 4 | 0;
+   if (a >>> 0 < c >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ return e | 0;
+}
+function aT(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ if (a) {
+  while (1) {
+   b = q[a + 4 >> 2];
+   if ((b | 0) != (d | 0)) {
+    b = b + -1 | 0;
+    if (b >>> 0 <= 1) {
+     f0(b - 1 | 0 ? 489694 : 489687);
+    }
+    d = q[a + 4 >> 2];
+   }
+   OZ(9);
+   b = q[a + 4 >> 2] + -1 | 0;
+   a : {
+    if (b >>> 0 > 1) {
+     break a;
+    }
+    if (b - 1) {
+     _S(q[a + 8 >> 2]);
+     break a;
+    }
+    b = q[a + 8 >> 2];
+    e = c, f = eR(q[b >> 2]), q[e >> 2] = f;
+    d0(489509, c);
+    YS(q[b + 4 >> 2]);
+    OZ(32);
+    ZS(q[b + 8 >> 2]);
+    f0(489685);
+   }
+   a = q[a >> 2];
+   if (a) {
+    continue;
+   }
+   break;
+  }
+ }
+ OZ(10);
+ Ca = c + 16 | 0;
+}
+function TR(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = q[b >> 2] & (q[c >> 2] ^ -1);
+ q[a >> 2] = d;
+ e = q[b + 4 >> 2] & (q[c + 4 >> 2] ^ -1);
+ q[a + 4 >> 2] = e;
+ f = q[b + 8 >> 2] & (q[c + 8 >> 2] ^ -1);
+ q[a + 8 >> 2] = f;
+ g = q[b + 12 >> 2] & (q[c + 12 >> 2] ^ -1);
+ q[a + 12 >> 2] = g;
+ h = q[b + 16 >> 2] & (q[c + 16 >> 2] ^ -1);
+ q[a + 16 >> 2] = h;
+ i = q[b + 20 >> 2] & (q[c + 20 >> 2] ^ -1);
+ q[a + 20 >> 2] = i;
+ j = q[b + 24 >> 2] & (q[c + 24 >> 2] ^ -1);
+ q[a + 24 >> 2] = j;
+ k = a;
+ a = q[b + 28 >> 2] & (q[c + 28 >> 2] ^ -1);
+ q[k + 28 >> 2] = a;
+ return (a | (d | e | f | g | h | i | j)) != 0 | 0;
+}
+function AV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ a : {
+  b : {
+   c : {
+    f = b + -15 | 0;
+    if (f >>> 0 > 3) {
+     break c;
+    }
+    d : {
+     switch (f - 1 | 0) {
+     case 0:
+     case 1:
+      break c;
+     case 2:
+      break d;
+     default:
+      break a;
+     }
+    }
+    if (n[q[e + 24 >> 2]](e, c, d, 496406)) {
+     q[a >> 2] = 944;
+     return 0;
+    }
+    if (!n[q[e + 24 >> 2]](e, c, d, 496414)) {
+     break b;
+    }
+    q[a >> 2] = 945;
+    return 0;
+   }
+   if ((b | 0) != 28) {
+    break b;
+   }
+   g = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  g = -1;
+ }
+ return g | 0;
+}
+function bn(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ e = q[a >> 2];
+ d = q[e + 140 >> 2];
+ c = q[b + 8 >> 2];
+ g = q[e + 32 >> 2];
+ f = q[b + 16 >> 2];
+ if (f) {
+  c = (w(c, f) + 36 | 0) / 72 | 0;
+ }
+ b = q[b >> 2];
+ if (b >>> 0 > 1) {
+  return 7;
+ }
+ c = c + 32 >> 6;
+ a : {
+  b : {
+   if (b - 1) {
+    b = 23;
+    if ((c | 0) == q[g + 12 >> 2] + 32 >> 6) {
+     break b;
+    }
+    break a;
+   }
+   b = 23;
+   if ((c | 0) != (q[d + 44 >> 2] + q[d + 40 >> 2] | 0)) {
+    break a;
+   }
+  }
+  b = 0;
+  Pf(e, 0);
+  q[a + 24 >> 2] = q[d + 40 >> 2] << 6;
+  q[a + 28 >> 2] = 0 - (q[d + 44 >> 2] << 6);
+  q[a + 36 >> 2] = s[d + 4 >> 1] << 6;
+ }
+ return b | 0;
+}
+function OX() {
+ var a = 0, b = 0, c = 0, d = 0;
+ c = j$(503160);
+ a : {
+  if (!q[160468]) {
+   break a;
+  }
+  if (c) {
+   return mZ(c);
+  }
+  a = j$(503155);
+  if (a) {
+   b = g0(a);
+  }
+  c = L$(b + 8 | 0);
+  if (!c) {
+   break a;
+  }
+  d = b + 7 | 0;
+  if (a) {
+   Y$(c, a, b);
+  }
+  b = b + c | 0;
+  a = r[503175] | r[503176] << 8 | (r[503177] << 16 | r[503178] << 24);
+  o[b | 0] = a;
+  o[b + 1 | 0] = a >>> 8;
+  o[b + 2 | 0] = a >>> 16;
+  o[b + 3 | 0] = a >>> 24;
+  a = r[503178] | r[503179] << 8 | (r[503180] << 16 | r[503181] << 24);
+  o[b + 3 | 0] = a;
+  o[b + 4 | 0] = a >>> 8;
+  o[b + 5 | 0] = a >>> 16;
+  o[b + 6 | 0] = a >>> 24;
+  o[c + d | 0] = 0;
+  d = c;
+ }
+ return d;
+}
+function pQ(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  d = q[a + 12 >> 2];
+  b : {
+   c : {
+    if ((d | 0) != q[a + 16 >> 2]) {
+     c = q[a >> 2];
+     break c;
+    }
+    c = 0;
+    if (q[a + 8 >> 2]) {
+     break b;
+    }
+    d : {
+     if (!q[a + 4 >> 2]) {
+      e = d - -64 | 0;
+      c = L$(e);
+      if (!c) {
+       break a;
+      }
+      q[a + 4 >> 2] = 1;
+      Y$(c, q[a >> 2], d);
+      break d;
+     }
+     e = d << 1;
+     c = O$(q[a >> 2], e);
+     if (!c) {
+      break a;
+     }
+     d = q[a + 12 >> 2];
+    }
+    q[a >> 2] = c;
+    q[a + 16 >> 2] = e;
+   }
+   q[a + 12 >> 2] = d + 1;
+   o[d + c | 0] = b;
+   c = 1;
+  }
+  return c;
+ }
+ q[a + 8 >> 2] = 1;
+ return 0;
+}
+function jh(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ g = 6;
+ b = g0(c);
+ f = b + 6 | 0;
+ a : {
+  b : {
+   if ((b | 0) <= -6) {
+    if (f) {
+     break a;
+    }
+    a = 0;
+    break b;
+   }
+   a = q[a >> 2];
+   a = n[q[a + 4 >> 2]](a, f) | 0;
+   if (!a) {
+    return 64;
+   }
+   Z$(a, 0, f);
+  }
+  g = 0;
+  c = Y$(a, c, b);
+  a = c + b | 0;
+  b = r[4058] | r[4059] << 8;
+  o[a + 4 | 0] = b;
+  o[a + 5 | 0] = b >>> 8;
+  b = r[4054] | r[4055] << 8 | (r[4056] << 16 | r[4057] << 24);
+  o[a | 0] = b;
+  o[a + 1 | 0] = b >>> 8;
+  o[a + 2 | 0] = b >>> 16;
+  o[a + 3 | 0] = b >>> 24;
+  q[d >> 2] = c;
+  q[e >> 2] = 0;
+ }
+ return g | 0;
+}
+function VW(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ e = Ca - 48 | 0;
+ Ca = e;
+ q[e + 44 >> 2] = d;
+ f = 498608;
+ f = b >>> 0 <= 2 ? q[(b << 2) + 502224 >> 2] : f;
+ a : {
+  if (a) {
+   d = q[126919];
+   g = q[a + 12 >> 2];
+   h = iW(q[a + 24 >> 2]);
+   b : {
+    if (g) {
+     q[e + 40 >> 2] = h;
+     q[e + 36 >> 2] = g;
+     q[e + 32 >> 2] = f;
+     j_(d, 498635, e + 32 | 0);
+     break b;
+    }
+    q[e + 20 >> 2] = h;
+    q[e + 16 >> 2] = f;
+    j_(d, 498666, e + 16 | 0);
+   }
+   if (b >>> 0 < 2) {
+    break a;
+   }
+   q[a + 8 >> 2] = 1;
+   break a;
+  }
+  q[e >> 2] = f;
+  d = q[126919];
+  j_(d, 498691, e);
+ }
+ d_(d, c, q[e + 44 >> 2]);
+ BZ(10, d);
+ Ca = e + 48 | 0;
+}
+function tA(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ b = Ca - 48 | 0;
+ Ca = b;
+ d = q[a + -144 >> 2];
+ a = N$(1, 8);
+ if (a) {
+  q[b + 16 >> 2] = 0;
+  q[b + 20 >> 2] = 0;
+  o[b + 21 | 0] = 0;
+  o[b + 22 | 0] = 0;
+  o[b + 23 | 0] = 0;
+  o[b + 24 | 0] = 0;
+  o[b + 25 | 0] = 0;
+  o[b + 26 | 0] = 0;
+  o[b + 27 | 0] = 0;
+  o[b + 28 | 0] = 0;
+  q[b + 32 >> 2] = 0;
+  q[b + 36 >> 2] = 0;
+  q[b + 8 >> 2] = 0;
+  q[b + 12 >> 2] = 0;
+  c = kF(d);
+  o[b + 44 | 0] = 1;
+  q[b + 40 >> 2] = c;
+  f = a, g = fB(b + 8 | 0, iF(d, 1935829368)), q[f >> 2] = g;
+  e = a;
+  c = q[d + 32 >> 2];
+  if ((c | 0) == -1) {
+   c = VF(d);
+  }
+  q[e + 4 >> 2] = c;
+ }
+ Ca = b + 48 | 0;
+ return a;
+}
+function mx(a, b) {
+ var c = 0, d = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 4) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((r[a + 1 | 0] | r[a | 0] << 8) != 1 | (c | 0) < 1) {
+   break a;
+  }
+  if (!Fv(a + 4 | 0, b, a)) {
+   break a;
+  }
+  if (!Gv(a + 6 | 0, b, a)) {
+   break a;
+  }
+  if (!nx(a + 8 | 0, b, a)) {
+   break a;
+  }
+  c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  if ((c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) >>> 0 >= 65537) {
+   if (!Iv(a + 10 | 0, b, a)) {
+    break a;
+   }
+  }
+  d = 1;
+ }
+ return d;
+}
+function fX(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  c = iX(a);
+  if (!c) {
+   break a;
+  }
+  d = vX(q[a + 16 >> 2]);
+  if (!d) {
+   SW(c);
+   VW(a, 2, 498895, 0);
+   return;
+  }
+  q[d + 8 >> 2] = c;
+  q[d >> 2] = b;
+  q[d + 12 >> 2] = 0;
+  b = q[a + 1312 >> 2];
+  b : {
+   if (b >>> 0 <= 63) {
+    q[a + 1312 >> 2] = b + 1;
+    b = (w(b, 24) + a | 0) + 1320 | 0;
+    break b;
+   }
+   b = L$(24);
+   if (!b) {
+    break a;
+   }
+  }
+  q[b + 8 >> 2] = 0;
+  q[b >> 2] = q[a + 4 >> 2];
+  e = b;
+  c = q[a >> 2];
+  if (c) {
+   c = q[c >> 2];
+  } else {
+   c = 0;
+  }
+  q[e + 4 >> 2] = c;
+  q[a + 4 >> 2] = b;
+  if (!b) {
+   break a;
+  }
+  q[b + 8 >> 2] = 18;
+  q[b + 16 >> 2] = d;
+ }
+}
+function Ev(a, b) {
+ var c = 0, d = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 4) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((r[a + 1 | 0] | r[a | 0] << 8) != 1 | (c | 0) < 1) {
+   break a;
+  }
+  if (!Fv(a + 4 | 0, b, a)) {
+   break a;
+  }
+  if (!Gv(a + 6 | 0, b, a)) {
+   break a;
+  }
+  if (!Hv(a + 8 | 0, b, a)) {
+   break a;
+  }
+  c = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+  if ((c << 24 | c << 8 & 16711680 | (c >>> 8 & 65280 | c >>> 24)) >>> 0 >= 65537) {
+   if (!Iv(a + 10 | 0, b, a)) {
+    break a;
+   }
+  }
+  d = 1;
+ }
+ return d;
+}
+function U_(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = Ca - 160 | 0;
+ Ca = d;
+ Z$(d + 16 | 0, 0, 144);
+ q[d + 92 >> 2] = -1;
+ q[d + 60 >> 2] = b;
+ q[d + 24 >> 2] = -1;
+ q[d + 20 >> 2] = b;
+ o_(d + 16 | 0, 0, 0);
+ u_(d, d + 16 | 0, 1, 1);
+ f = q[d + 8 >> 2];
+ g = q[d + 12 >> 2];
+ h = q[d >> 2];
+ i = q[d + 4 >> 2];
+ if (c) {
+  j = c;
+  e = b;
+  b = q[d + 20 >> 2] - q[d + 24 >> 2] | 0;
+  k = b;
+  c = b + q[d + 136 >> 2] | 0;
+  b = q[d + 140 >> 2] + (b >> 31) | 0;
+  b = c >>> 0 < k >>> 0 ? b + 1 | 0 : b;
+  q[j >> 2] = !(b | c) ? e : e + c | 0;
+ }
+ q[a >> 2] = h;
+ q[a + 4 >> 2] = i;
+ q[a + 8 >> 2] = f;
+ q[a + 12 >> 2] = g;
+ Ca = d + 160 | 0;
+}
+function N_(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ f = Ca - 240 | 0;
+ Ca = f;
+ q[f >> 2] = a;
+ i = 1;
+ a : {
+  if ((d | 0) < 2) {
+   break a;
+  }
+  k = 0 - b | 0;
+  g = a;
+  while (1) {
+   h = g + k | 0;
+   j = d + -2 | 0;
+   g = h - q[(j << 2) + e >> 2] | 0;
+   if ((n[c](a, g) | 0) >= 0) {
+    if ((n[c](a, h) | 0) > -1) {
+     break a;
+    }
+   }
+   a = (i << 2) + f | 0;
+   b : {
+    if ((n[c](g, h) | 0) >= 0) {
+     q[a >> 2] = g;
+     j = d + -1 | 0;
+     break b;
+    }
+    q[a >> 2] = h;
+    g = h;
+   }
+   i = i + 1 | 0;
+   if ((j | 0) < 2) {
+    break a;
+   }
+   a = q[f >> 2];
+   d = j;
+   continue;
+  }
+ }
+ S_(b, f, i);
+ Ca = f + 240 | 0;
+}
+function wh(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0;
+ b = q[a + 196 >> 2];
+ d = b + 10 | 0;
+ if (d >>> 0 <= t[a + 200 >> 2]) {
+  c = r[b | 0] | r[b + 1 | 0] << 8;
+  p[a + 32 >> 1] = (c << 24 | c << 8 & 16711680) >>> 16;
+  c = r[b + 2 | 0] | r[b + 3 | 0] << 8;
+  q[a + 36 >> 2] = (c << 24 | c << 8 & 16711680) >> 16;
+  c = r[b + 4 | 0] | r[b + 5 | 0] << 8;
+  q[a + 40 >> 2] = (c << 24 | c << 8 & 16711680) >> 16;
+  c = r[b + 6 | 0] | r[b + 7 | 0] << 8;
+  q[a + 44 >> 2] = (c << 24 | c << 8 & 16711680) >> 16;
+  b = r[b + 8 | 0] | r[b + 9 | 0] << 8;
+  q[a + 196 >> 2] = d;
+  q[a + 48 >> 2] = (b << 8 & 16711680 | b << 24) >> 16;
+  a = 0;
+ } else {
+  a = 20;
+ }
+ return a | 0;
+}
+function yN(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0;
+ d = -1;
+ e = q[(q[a >> 2] + (q[a + 16 >> 2] << 2) | 0) - -64 >> 2];
+ a : {
+  b : {
+   if (we(e, q[a + 20 >> 2], 2560)) {
+    a = b;
+    break b;
+   }
+   d = q[e + 84 >> 2];
+   a = q[d + 28 >> 2];
+   q[b >> 2] = q[d + 24 >> 2];
+   q[b + 4 >> 2] = a;
+   a = q[d + 52 >> 2];
+   q[b + 24 >> 2] = q[d + 48 >> 2];
+   q[b + 28 >> 2] = a;
+   e = q[d + 44 >> 2];
+   a = b + 16 | 0;
+   q[a >> 2] = q[d + 40 >> 2];
+   q[a + 4 >> 2] = e;
+   e = q[d + 36 >> 2];
+   q[b + 8 >> 2] = q[d + 32 >> 2];
+   q[b + 12 >> 2] = e;
+   if (!c) {
+    break a;
+   }
+   d = q[b + 28 >> 2];
+  }
+  q[a >> 2] = d;
+ }
+ return 1;
+}
+function ge(a) {
+ var b = 0, c = 0, d = 0;
+ if (a) {
+  M$(q[a >> 2]);
+  q[a >> 2] = 0;
+  b = q[a + 8 >> 2];
+  a : {
+   if (!b) {
+    break a;
+   }
+   c = q[b >> 2];
+   if (!c) {
+    break a;
+   }
+   while (1) {
+    M$(c);
+    c = q[b + 4 >> 2];
+    b = b + 4 | 0;
+    if (c) {
+     continue;
+    }
+    break;
+   }
+   b = q[a + 8 >> 2];
+  }
+  M$(b);
+  q[a + 8 >> 2] = 0;
+  b = q[a + 12 >> 2];
+  if (q[a + 16 >> 2] >= 1) {
+   while (1) {
+    c = b;
+    b = w(d, 12);
+    M$(q[c + b >> 2]);
+    M$(q[(b + q[a + 12 >> 2] | 0) + 4 >> 2]);
+    b = q[a + 12 >> 2];
+    d = d + 1 | 0;
+    if ((d | 0) < q[a + 16 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  M$(b);
+  M$(a);
+ }
+}
+function VV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 12) {
+    break b;
+   }
+   c = 17;
+   c : {
+    switch (d - 1 | 0) {
+    case 11:
+     q[a + 8 >> 2] = 17;
+     q[a >> 2] = 934;
+     return 19;
+    case 0:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+     break b;
+    case 1:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = q[a + 16 >> 2] ? 916 : 935;
+   return 20;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function Ug(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[b >> 2] = 0;
+ a : {
+  b : {
+   c : {
+    d : {
+     c = q[a + 8 >> 2];
+     if (c + 1 >>> 0 >= t[a + 4 >> 2]) {
+      break d;
+     }
+     e = q[a + 20 >> 2];
+     e : {
+      if (e) {
+       if ((n[e](a, c, d + 14 | 0, 2) | 0) != 2) {
+        break d;
+       }
+       c = q[a + 8 >> 2];
+       b = d + 14 | 0;
+       break e;
+      }
+      b = q[a >> 2];
+      if (!b) {
+       break c;
+      }
+      b = b + c | 0;
+     }
+     f = r[b | 0] | r[b + 1 | 0] << 8;
+     break b;
+    }
+    q[b >> 2] = 85;
+    break a;
+   }
+   f = 0;
+  }
+  q[a + 8 >> 2] = c + 2;
+ }
+ Ca = d + 16 | 0;
+ return f;
+}
+function SX(a, b) {
+ var c = 0, d = 0;
+ c = Ca - 4192 | 0;
+ Ca = c;
+ a = EX(a, b);
+ a : {
+  if (!a) {
+   a = 0;
+   break a;
+  }
+  d = MY(a, c + 96 | 0, 4095);
+  if ((d | 0) == -1) {
+   break a;
+  }
+  o[d + (c + 96 | 0) | 0] = 0;
+  b : {
+   if (b) {
+    break b;
+   }
+   if (QQ(a, c + 8 | 0)) {
+    break b;
+   }
+   if ((q[c + 20 >> 2] & 61440) == 4096) {
+    break a;
+   }
+  }
+  if (!tQ(c + 96 | 0)) {
+   b = FQ(a);
+   M$(a);
+   a = 0;
+   if (!b) {
+    break a;
+   }
+   q[c + 4 >> 2] = 0;
+   q[c >> 2] = c + 96;
+   d = uQ(b, c);
+   M$(b);
+   if (!d) {
+    break a;
+   }
+   a = EQ(d);
+   M$(d);
+   break a;
+  }
+  M$(a);
+  a = mZ(c + 96 | 0);
+ }
+ Ca = c + 4192 | 0;
+ return a;
+}
+function H$(a) {
+ var b = 0, c = 0;
+ b = Ca - 16 | 0;
+ Ca = b;
+ h(+a);
+ c = e(1) | 0;
+ e(0) | 0;
+ c = c & 2147483647;
+ a : {
+  if (c >>> 0 <= 1072243195) {
+   if (c >>> 0 < 1045430272) {
+    break a;
+   }
+   a = F$(a, 0, 0);
+   break a;
+  }
+  if (c >>> 0 >= 2146435072) {
+   a = a - a;
+   break a;
+  }
+  c = E$(a, b) & 3;
+  if (c >>> 0 <= 2) {
+   b : {
+    switch (c - 1 | 0) {
+    default:
+     a = F$(v[b >> 3], v[b + 8 >> 3], 1);
+     break a;
+    case 0:
+     a = C$(v[b >> 3], v[b + 8 >> 3]);
+     break a;
+    case 1:
+     break b;
+    }
+   }
+   a = -F$(v[b >> 3], v[b + 8 >> 3], 1);
+   break a;
+  }
+  a = -C$(v[b >> 3], v[b + 8 >> 3]);
+ }
+ Ca = b + 16 | 0;
+ return a;
+}
+function DV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ a : {
+  b : {
+   c : {
+    g = b + -15 | 0;
+    if (g >>> 0 > 3) {
+     break c;
+    }
+    f = 11;
+    d : {
+     switch (g - 1 | 0) {
+     case 1:
+      q[a >> 2] = q[a + 16 >> 2] ? 916 : 935;
+      return 15;
+     case 0:
+      break c;
+     case 2:
+      break d;
+     default:
+      break a;
+     }
+    }
+    if (!n[q[e + 24 >> 2]](e, c, d, 496421)) {
+     break b;
+    }
+    q[a >> 2] = 946;
+    return 11;
+   }
+   if ((b | 0) != 28) {
+    break b;
+   }
+   f = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  f = -1;
+ }
+ return f | 0;
+}
+function DO(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ if (e) {
+  k = e << 5;
+  while (1) {
+   g = 0;
+   h = a;
+   if (d) {
+    while (1) {
+     f = 0;
+     while (1) {
+      i = r[(f + g | 0) + b | 0];
+      p[(f << 1) + h >> 1] = (i << 7 | i >>> 1) + 1 >>> 1;
+      f = f + 1 | 0;
+      if ((f | 0) != 16) {
+       continue;
+      }
+      break;
+     }
+     h = h + k | 0;
+     g = g + 16 | 0;
+     if (g >>> 0 < d >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = b + c | 0;
+   a = a + 32 | 0;
+   j = j + 1 | 0;
+   if ((j | 0) != (e | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function hm(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = q[b + 8 >> 2];
+ e = q[a >> 2];
+ g = q[e + 32 >> 2];
+ d = q[e + 132 >> 2];
+ f = q[b + 16 >> 2];
+ if (f) {
+  c = (w(c, f) + 36 | 0) / 72 | 0;
+ }
+ b = q[b >> 2];
+ if (b >>> 0 > 1) {
+  return 7;
+ }
+ c = c + 32 >> 6;
+ a : {
+  b : {
+   if (b - 1) {
+    b = 23;
+    if ((c | 0) == q[g + 12 >> 2] + 32 >> 6) {
+     break b;
+    }
+    break a;
+   }
+   b = 23;
+   if ((c | 0) != s[d + 96 >> 1]) {
+    break a;
+   }
+  }
+  b = 0;
+  Pf(e, 0);
+  c = s[d + 80 >> 1];
+  q[a + 24 >> 2] = c << 6;
+  q[a + 28 >> 2] = c - s[d + 96 >> 1] << 6;
+  q[a + 36 >> 2] = s[d + 102 >> 1] << 6;
+ }
+ return b | 0;
+}
+function QP(a, b) {
+ var c = 0, d = 0;
+ q[b + 8 >> 2] = 0;
+ q[b + 12 >> 2] = 0;
+ q[b >> 2] = 0;
+ q[b + 4 >> 2] = 8;
+ q[b + 32 >> 2] = 0;
+ q[b + 36 >> 2] = 0;
+ q[b + 24 >> 2] = 0;
+ q[b + 28 >> 2] = 0;
+ q[b + 16 >> 2] = 0;
+ q[b + 20 >> 2] = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  c = JP(a);
+  if ((c | 0) >= 0) {
+   a = r[c + 480514 | 0];
+   c = a >>> 5 | 0;
+   if (c >>> 0 >= t[b + 4 >> 2]) {
+    break a;
+   }
+   c = ((c << 2) + b | 0) + 8 | 0;
+   q[c >> 2] = q[c >> 2] | 1 << (a & 31);
+   return b;
+  }
+  d = b + 60 | 0;
+  q[b + 52 >> 2] = d;
+  q[b + 48 >> 2] = 1;
+  c = b + 40 | 0;
+  q[b >> 2] = c;
+  q[d >> 2] = a;
+  q[c >> 2] = 1;
+  q[c + 4 >> 2] = 1;
+ }
+ return b;
+}
+function TM(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ if (v[a + 48 >> 3] != b) {
+  v[a + 48 >> 3] = b;
+  q[a + 112 >> 2] = q[a + 112 >> 2] + 1;
+  sM(q[a + 748 >> 2]);
+  sM(q[a + 744 >> 2]);
+  sM(q[a + 740 >> 2]);
+  c = q[a + 16 >> 2];
+  q[a + 136 >> 2] = c;
+  d = q[a + 20 >> 2];
+  q[a + 140 >> 2] = d;
+  e = q[a - -64 >> 2];
+  f = q[a + 68 >> 2];
+  q[a + 148 >> 2] = (c - e | 0) - f;
+  g = q[a + 56 >> 2];
+  h = q[a + 60 >> 2];
+  q[a + 144 >> 2] = (d - g | 0) - h;
+  q[a + 156 >> 2] = (((e | 0) > 0 ? 0 - e | 0 : 0) + c | 0) + ((f | 0) > 0 ? 0 - f | 0 : 0);
+  q[a + 152 >> 2] = (((g | 0) > 0 ? 0 - g | 0 : 0) + d | 0) + ((h | 0) > 0 ? 0 - h | 0 : 0);
+ }
+}
+function RM(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ if (v[a + 32 >> 3] != b) {
+  v[a + 32 >> 3] = b;
+  q[a + 112 >> 2] = q[a + 112 >> 2] + 1;
+  sM(q[a + 748 >> 2]);
+  sM(q[a + 744 >> 2]);
+  sM(q[a + 740 >> 2]);
+  c = q[a + 16 >> 2];
+  q[a + 136 >> 2] = c;
+  d = q[a + 20 >> 2];
+  q[a + 140 >> 2] = d;
+  e = q[a - -64 >> 2];
+  f = q[a + 68 >> 2];
+  q[a + 148 >> 2] = (c - e | 0) - f;
+  g = q[a + 56 >> 2];
+  h = q[a + 60 >> 2];
+  q[a + 144 >> 2] = (d - g | 0) - h;
+  q[a + 156 >> 2] = (((e | 0) > 0 ? 0 - e | 0 : 0) + c | 0) + ((f | 0) > 0 ? 0 - f | 0 : 0);
+  q[a + 152 >> 2] = (((g | 0) > 0 ? 0 - g | 0 : 0) + d | 0) + ((h | 0) > 0 ? 0 - h | 0 : 0);
+ }
+}
+function QM(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ if (v[a + 80 >> 3] != b) {
+  v[a + 80 >> 3] = b;
+  q[a + 112 >> 2] = q[a + 112 >> 2] + 1;
+  sM(q[a + 748 >> 2]);
+  sM(q[a + 744 >> 2]);
+  sM(q[a + 740 >> 2]);
+  c = q[a + 16 >> 2];
+  q[a + 136 >> 2] = c;
+  d = q[a + 20 >> 2];
+  q[a + 140 >> 2] = d;
+  e = q[a - -64 >> 2];
+  f = q[a + 68 >> 2];
+  q[a + 148 >> 2] = (c - e | 0) - f;
+  g = q[a + 56 >> 2];
+  h = q[a + 60 >> 2];
+  q[a + 144 >> 2] = (d - g | 0) - h;
+  q[a + 156 >> 2] = (((e | 0) > 0 ? 0 - e | 0 : 0) + c | 0) + ((f | 0) > 0 ? 0 - f | 0 : 0);
+  q[a + 152 >> 2] = (((g | 0) > 0 ? 0 - g | 0 : 0) + d | 0) + ((h | 0) > 0 ? 0 - h | 0 : 0);
+ }
+}
+function $f(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  if (!(q[a + 8 >> 2] & 512) | (!a | !b)) {
+   break a;
+  }
+  e = q[a + 128 >> 2];
+  c = q[e + 40 >> 2];
+  d = c + 2 | 0;
+  b : {
+   if (d >>> 0 > 2) {
+    break b;
+   }
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+     break b;
+    case 1:
+     break c;
+    default:
+     break a;
+    }
+   }
+   c = q[a + 96 >> 2];
+   d = q[q[c >> 2] + 32 >> 2];
+   d : {
+    if (!d) {
+     c = 0;
+     break d;
+    }
+    c = n[d](c, 3781) | 0;
+    e = q[a + 128 >> 2];
+   }
+   q[e + 40 >> 2] = c ? c : -2;
+  }
+  if (!c) {
+   break a;
+  }
+  c = q[c + 4 >> 2];
+  if (!c) {
+   break a;
+  }
+  f = n[c](a, b) | 0;
+ }
+ return f;
+}
+function yu(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  c = r[a | 0] | r[a + 1 | 0] << 8;
+  c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+  if (c >>> 0 > 1) {
+   break a;
+  }
+  if (c - 1) {
+   return Du(a, b);
+  }
+  d = r[a + 3 | 0];
+  e = r[a + 2 | 0];
+  f = d | e << 8;
+  if (!f) {
+   return 1;
+  }
+  c = 0;
+  while (1) {
+   d = (e << 8 | d) >>> 0 > c >>> 0 ? (w(c, 6) + a | 0) + 4 | 0 : 271432;
+   if (!tF(b, r[d | 0] << 8 | r[d + 1 | 0], r[d + 3 | 0] | r[d + 2 | 0] << 8)) {
+    break a;
+   }
+   c = c + 1 | 0;
+   if ((f | 0) == (c | 0)) {
+    return 1;
+   } else {
+    d = r[a + 3 | 0];
+    e = r[a + 2 | 0];
+    continue;
+   }
+  }
+ }
+ return 0;
+}
+function VM(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ if (q[a + 96 >> 2] != (b | 0)) {
+  q[a + 96 >> 2] = b;
+  q[a + 112 >> 2] = q[a + 112 >> 2] + 1;
+  sM(q[a + 748 >> 2]);
+  sM(q[a + 744 >> 2]);
+  sM(q[a + 740 >> 2]);
+  b = q[a + 16 >> 2];
+  q[a + 136 >> 2] = b;
+  c = q[a + 20 >> 2];
+  q[a + 140 >> 2] = c;
+  d = q[a - -64 >> 2];
+  e = q[a + 68 >> 2];
+  q[a + 148 >> 2] = (b - d | 0) - e;
+  f = q[a + 56 >> 2];
+  g = q[a + 60 >> 2];
+  q[a + 144 >> 2] = (c - f | 0) - g;
+  q[a + 156 >> 2] = (b + ((d | 0) > 0 ? 0 - d | 0 : 0) | 0) + ((e | 0) > 0 ? 0 - e | 0 : 0);
+  q[a + 152 >> 2] = (((f | 0) > 0 ? 0 - f | 0 : 0) + c | 0) + ((g | 0) > 0 ? 0 - g | 0 : 0);
+ }
+}
+function SM(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ if (q[a + 88 >> 2] != (b | 0)) {
+  q[a + 88 >> 2] = b;
+  q[a + 112 >> 2] = q[a + 112 >> 2] + 1;
+  sM(q[a + 748 >> 2]);
+  sM(q[a + 744 >> 2]);
+  sM(q[a + 740 >> 2]);
+  b = q[a + 16 >> 2];
+  q[a + 136 >> 2] = b;
+  c = q[a + 20 >> 2];
+  q[a + 140 >> 2] = c;
+  d = q[a - -64 >> 2];
+  e = q[a + 68 >> 2];
+  q[a + 148 >> 2] = (b - d | 0) - e;
+  f = q[a + 56 >> 2];
+  g = q[a + 60 >> 2];
+  q[a + 144 >> 2] = (c - f | 0) - g;
+  q[a + 156 >> 2] = (b + ((d | 0) > 0 ? 0 - d | 0 : 0) | 0) + ((e | 0) > 0 ? 0 - e | 0 : 0);
+  q[a + 152 >> 2] = (((f | 0) > 0 ? 0 - f | 0 : 0) + c | 0) + ((g | 0) > 0 ? 0 - g | 0 : 0);
+ }
+}
+function JC(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[d + 12 >> 2] = c;
+ b = q[a + 72 >> 2];
+ e = q[b + 180 >> 2];
+ a : {
+  if ((e | 0) != q[160321]) {
+   n[e](a, q[a + 76 >> 2], 1, d + 12 | 0, 0, d + 8 | 0, 0, q[b + 44 >> 2]);
+   c = q[d + 8 >> 2];
+   break a;
+  }
+  b = q[a + 12 >> 2];
+  e = q[b + 72 >> 2];
+  c = n[q[e + 172 >> 2]](b, q[b + 76 >> 2], c, q[e + 36 >> 2]) | 0;
+  b = q[a + 12 >> 2];
+  if (!b) {
+   break a;
+  }
+  b = q[b + 24 >> 2];
+  a = q[a + 24 >> 2];
+  if ((b | 0) == (a | 0)) {
+   break a;
+  }
+  c = U0(T0(a, a >> 31, c, c >> 31), Ea, b, b >> 31);
+ }
+ Ca = d + 16 | 0;
+ return c | 0;
+}
+function HC(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[d + 12 >> 2] = c;
+ b = q[a + 72 >> 2];
+ e = q[b + 176 >> 2];
+ a : {
+  if ((e | 0) != q[160320]) {
+   n[e](a, q[a + 76 >> 2], 1, d + 12 | 0, 0, d + 8 | 0, 0, q[b + 40 >> 2]);
+   c = q[d + 8 >> 2];
+   break a;
+  }
+  b = q[a + 12 >> 2];
+  e = q[b + 72 >> 2];
+  c = n[q[e + 168 >> 2]](b, q[b + 76 >> 2], c, q[e + 32 >> 2]) | 0;
+  b = q[a + 12 >> 2];
+  if (!b) {
+   break a;
+  }
+  b = q[b + 20 >> 2];
+  a = q[a + 20 >> 2];
+  if ((b | 0) == (a | 0)) {
+   break a;
+  }
+  c = U0(T0(a, a >> 31, c, c >> 31), Ea, b, b >> 31);
+ }
+ Ca = d + 16 | 0;
+ return c | 0;
+}
+function OE(a) {
+ var b = 0;
+ b = q[q[a + 20 >> 2] + 12 >> 2];
+ if (b) {
+  n[b](q[a + 112 >> 2]);
+ }
+ b = a + 48 | 0;
+ M$(q[b >> 2]);
+ q[b >> 2] = 0;
+ q[a + 40 >> 2] = 0;
+ q[a + 44 >> 2] = 0;
+ b = a + 60 | 0;
+ M$(q[b >> 2]);
+ q[b >> 2] = 0;
+ q[a + 52 >> 2] = 0;
+ q[a + 56 >> 2] = 0;
+ b = a + 84 | 0;
+ M$(q[b >> 2]);
+ q[b >> 2] = 0;
+ q[a + 76 >> 2] = 0;
+ q[a + 80 >> 2] = 0;
+ b = a + 72 | 0;
+ M$(q[b >> 2]);
+ q[b >> 2] = 0;
+ b = a - -64 | 0;
+ q[b >> 2] = 0;
+ q[b + 4 >> 2] = 0;
+ b = a + 96 | 0;
+ M$(q[b >> 2]);
+ q[b >> 2] = 0;
+ q[a + 88 >> 2] = 0;
+ q[a + 92 >> 2] = 0;
+ b = a + 108 | 0;
+ M$(q[b >> 2]);
+ q[b >> 2] = 0;
+ q[a + 100 >> 2] = 0;
+ q[a + 104 >> 2] = 0;
+}
+function Nm(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0;
+ d = q[b + 8 >> 2];
+ c = q[a >> 2];
+ f = q[c + 32 >> 2];
+ e = q[b + 16 >> 2];
+ if (e) {
+  d = (w(d, e) + 36 | 0) / 72 | 0;
+ }
+ b = q[b >> 2];
+ if (b >>> 0 > 1) {
+  return 7;
+ }
+ d = d + 32 >> 6;
+ a : {
+  b : {
+   if (b - 1) {
+    b = 23;
+    if ((d | 0) == q[f + 12 >> 2] + 32 >> 6) {
+     break b;
+    }
+    break a;
+   }
+   b = 23;
+   if ((d | 0) != (q[c + 208 >> 2] + q[c + 204 >> 2] | 0)) {
+    break a;
+   }
+  }
+  b = 0;
+  Pf(c, 0);
+  q[a + 24 >> 2] = q[c + 204 >> 2] << 6;
+  q[a + 28 >> 2] = 0 - (q[c + 208 >> 2] << 6);
+  q[a + 36 >> 2] = p[c + 236 >> 1] << 6;
+ }
+ return b | 0;
+}
+function yx(a, b) {
+ var c = 0, d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ a : {
+  b : {
+   c : {
+    if (t[b + 4 >> 2] > a >>> 0) {
+     break c;
+    }
+    c = q[b + 8 >> 2];
+    if (c >>> 0 < a >>> 0) {
+     break c;
+    }
+    if (c - a >>> 0 > 11) {
+     break b;
+    }
+   }
+   c = 0;
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  c = 0;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  if (!dv(a + 2 | 0, b, a)) {
+   break a;
+  }
+  if (!dv(a + 4 | 0, b, a)) {
+   break a;
+  }
+  if (!Fx(a + 8 | 0, b, a)) {
+   break a;
+  }
+  q[d + 12 >> 2] = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+  c = Jx(a + 10 | 0, b, a, d + 12 | 0);
+ }
+ Ca = d + 16 | 0;
+ return c;
+}
+function xx(a, b) {
+ var c = 0, d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ a : {
+  b : {
+   c : {
+    if (t[b + 4 >> 2] > a >>> 0) {
+     break c;
+    }
+    c = q[b + 8 >> 2];
+    if (c >>> 0 < a >>> 0) {
+     break c;
+    }
+    if (c - a >>> 0 > 11) {
+     break b;
+    }
+   }
+   c = 0;
+   break a;
+  }
+  e = q[b + 12 >> 2];
+  q[b + 12 >> 2] = e + -1;
+  c = 0;
+  if ((e | 0) < 1) {
+   break a;
+  }
+  if (!dv(a + 2 | 0, b, a)) {
+   break a;
+  }
+  if (!dv(a + 4 | 0, b, a)) {
+   break a;
+  }
+  if (!Fx(a + 8 | 0, b, a)) {
+   break a;
+  }
+  q[d + 12 >> 2] = r[a + 7 | 0] | r[a + 6 | 0] << 8;
+  c = Gx(a + 10 | 0, b, a, d + 12 | 0);
+ }
+ Ca = d + 16 | 0;
+ return c;
+}
+function vK(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = q[b >> 2];
+ while (1) {
+  d = d + 1 | 0;
+  if (d >>> 0 > 255) {
+   q[b >> 2] = 0;
+   return 0;
+  }
+  f = n[q[a + 20 >> 2]](s[q[a + 16 >> 2] + (d << 1) >> 1]) | 0;
+  g = q[a + 24 >> 2];
+  a : {
+   if (g) {
+    h = q[a + 28 >> 2];
+    c = 0;
+    while (1) {
+     e = q[(c << 2) + h >> 2];
+     if (!(!e | r[e | 0] != r[f | 0])) {
+      if (!iZ(e, f)) {
+       break a;
+      }
+     }
+     c = c + 1 | 0;
+     if ((g | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   c = 0;
+  }
+  if (!c) {
+   continue;
+  }
+  break;
+ }
+ q[b >> 2] = d;
+ return c | 0;
+}
+function KG(a) {
+ if (q[a + 4 >> 2]) {
+  q[a + 44 >> 2] = 0;
+  q[a + 48 >> 2] = 0;
+  q[a + 32 >> 2] = 0;
+  q[a + 80 >> 2] = 0;
+  q[a + 72 >> 2] = 0;
+  q[a + 76 >> 2] = 0;
+  o[a + 70 | 0] = 0;
+  p[a + 68 >> 1] = 1;
+  o[a + 164 | 0] = 0;
+  q[a + 100 >> 2] = 0;
+  q[a + 104 >> 2] = 0;
+  q[a + 52 >> 2] = 0;
+  q[a + 56 >> 2] = 0;
+  q[a + 60 >> 2] = 0;
+  q[a + 64 >> 2] = 0;
+  q[a + 92 >> 2] = q[a + 88 >> 2];
+  q[a + 108 >> 2] = 0;
+  q[a + 112 >> 2] = 0;
+  q[a + 116 >> 2] = 0;
+  q[a + 120 >> 2] = 0;
+  q[a + 124 >> 2] = 0;
+  q[a + 128 >> 2] = 0;
+  q[a + 132 >> 2] = 0;
+  q[a + 136 >> 2] = 0;
+  q[a + 140 >> 2] = 0;
+  q[a + 144 >> 2] = 0;
+  q[a + 148 >> 2] = 0;
+ }
+}
+function en(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0;
+ d = 6;
+ a = q[a + 140 >> 2];
+ a : {
+  if (!a | !b | (!q[a + 72 >> 2] | !r[b | 0])) {
+   break a;
+  }
+  b = ff(b, q[a + 92 >> 2]);
+  if (!b) {
+   break a;
+  }
+  a = q[a + 80 >> 2];
+  if (!a) {
+   break a;
+  }
+  b = q[b >> 2];
+  e = q[(a + (b << 4) | 0) + 4 >> 2] + -1 | 0;
+  if (e >>> 0 > 2) {
+   break a;
+  }
+  b : {
+   c : {
+    switch (e - 1 | 0) {
+    default:
+     q[c >> 2] = 1;
+     break b;
+    case 0:
+     q[c >> 2] = 2;
+     break b;
+    case 1:
+     break c;
+    }
+   }
+   q[c >> 2] = 3;
+  }
+  q[c + 4 >> 2] = q[(a + (b << 4) | 0) + 12 >> 2];
+  d = 0;
+ }
+ return d | 0;
+}
+function _K(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0;
+ c = q[a + 20 >> 2];
+ a = (c + (q[a + 16 >> 2] << 3) | 0) + -8 | 0;
+ if (c >>> 0 <= a >>> 0) {
+  while (1) {
+   a : {
+    e = (a - c >> 4 << 3) + c | 0;
+    d = q[e >> 2];
+    if ((d | 0) == (b | 0)) {
+     f = e;
+     break a;
+    }
+    d = d & 2147483647;
+    f = (d | 0) == (b | 0) ? e : f;
+    if ((a | 0) == (c | 0)) {
+     break a;
+    }
+    d = d >>> 0 < b >>> 0;
+    c = d ? e + 8 | 0 : c;
+    a = d ? a : e + -8 | 0;
+    if (c >>> 0 <= a >>> 0) {
+     continue;
+    }
+   }
+   break;
+  }
+  if (!f) {
+   return 0;
+  }
+  a = q[f + 4 >> 2];
+ } else {
+  a = 0;
+ }
+ return a | 0;
+}
+function XS(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ b = Ca - 32 | 0;
+ Ca = b;
+ a : {
+  if (!a) {
+   f0(489660);
+   break a;
+  }
+  d = a;
+  c = 0;
+  b : {
+   if (!a) {
+    break b;
+   }
+   c = q[d >> 2];
+  }
+  q[b + 20 >> 2] = q[a + 4 >> 2];
+  q[b + 16 >> 2] = c;
+  d0(488988, b + 16 | 0);
+  jS(a, b + 24 | 0);
+  while (1) {
+   d = 0;
+   c = b + 24 | 0;
+   c : {
+    if (!c) {
+     break c;
+    }
+    c = q[c >> 2];
+    if (!c) {
+     break c;
+    }
+    d = q[c >> 2];
+   }
+   e = b, f = eR(d), q[e >> 2] = f;
+   d0(489019, b);
+   WS(IS(b + 24 | 0));
+   OZ(10);
+   if (kS(a, b + 24 | 0)) {
+    continue;
+   }
+   break;
+  }
+  OZ(10);
+ }
+ Ca = b + 32 | 0;
+}
+function Te(a, b, c, d, e, f) {
+ var g = 0;
+ if ((b | c | d) < 0) {
+  q[f >> 2] = 6;
+  return e;
+ }
+ a : {
+  if (!(d ? b : 0)) {
+   if (!e) {
+    break a;
+   }
+   n[q[a + 8 >> 2]](a, e);
+   break a;
+  }
+  g = 10;
+  b : {
+   if ((2147483647 / (b | 0) | 0) < (d | 0)) {
+    break b;
+   }
+   c : {
+    if (!c) {
+     e = n[q[a + 4 >> 2]](a, w(b, d)) | 0;
+     g = !e << 6;
+     break c;
+    }
+    a = n[q[a + 12 >> 2]](a, w(b, c), w(b, d), e) | 0;
+    e = a ? a : e;
+    g = !a << 6;
+   }
+   if (g | (d | 0) <= (c | 0) | !e) {
+    break b;
+   }
+   g = 0;
+   Z$(w(b, c) + e | 0, 0, w(d - c | 0, b));
+  }
+  q[f >> 2] = g;
+  return e;
+ }
+ q[f >> 2] = 0;
+ return 0;
+}
+function rJ(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ d = q[a >> 2];
+ a : {
+  if (!d) {
+   break a;
+  }
+  f = q[a + 32 >> 2];
+  b = Oe(f, q[a + 4 >> 2], c + 12 | 0);
+  q[a >> 2] = b;
+  if (q[c + 12 >> 2]) {
+   break a;
+  }
+  Y$(b, d, q[a + 4 >> 2]);
+  e = q[a + 16 >> 2];
+  if ((e | 0) >= 1) {
+   h = q[a >> 2] - d | 0;
+   b = q[a + 24 >> 2];
+   e = b + (e << 2) | 0;
+   while (1) {
+    g = q[b >> 2];
+    if (g) {
+     q[b >> 2] = h + g;
+    }
+    b = b + 4 | 0;
+    if (b >>> 0 < e >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[a + 8 >> 2] = q[a + 4 >> 2];
+  Qe(f, d);
+ }
+ Ca = c + 16 | 0;
+}
+function jT(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ c = Ca - 112 | 0;
+ Ca = c;
+ d = RX(b);
+ a : {
+  if (d) {
+   q[c + 20 >> 2] = 0;
+   q[c + 16 >> 2] = a;
+   d = uQ(d, c + 16 | 0);
+   break a;
+  }
+  d = mZ(a);
+ }
+ if (r[643388] & 8) {
+  q[c >> 2] = d;
+  d0(489750, c);
+ }
+ b : {
+  if ((RQ(d, c + 24 | 0) | 0) < 0) {
+   break b;
+  }
+  e = qP();
+  if (!e) {
+   break b;
+  }
+  f = wQ(2);
+  if (f) {
+   g = ER(a, b);
+   c : {
+    if (!hT(e, f, d, b)) {
+     break c;
+    }
+    a = AR(e, a, c + 24 | 0, f);
+    if (!a) {
+     break c;
+    }
+    CR(a, b);
+    h = a;
+   }
+   FR(g);
+   BQ(f);
+  }
+  rP(e);
+ }
+ M$(d);
+ Ca = c + 112 | 0;
+ return h;
+}
+function yv(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 16) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  if (!wv(a + 10 | 0, b, a)) {
+   break a;
+  }
+  if (!wv(a + 12 | 0, b, a)) {
+   break a;
+  }
+  c = r[a + 15 | 0] | r[a + 14 | 0] << 8;
+  if (!c) {
+   return 1;
+  }
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < c >>> 0) {
+   break a;
+  }
+  a = q[b + 12 >> 2];
+  q[b + 12 >> 2] = a + -1;
+  e = (a | 0) > 0;
+ }
+ return e;
+}
+function tv(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 14) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  if (!wv(a + 8 | 0, b, a)) {
+   break a;
+  }
+  if (!wv(a + 10 | 0, b, a)) {
+   break a;
+  }
+  c = r[a + 13 | 0] | r[a + 12 | 0] << 8;
+  if (!c) {
+   return 1;
+  }
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  d = q[b + 8 >> 2];
+  if (d >>> 0 < a >>> 0 | d - a >>> 0 < c >>> 0) {
+   break a;
+  }
+  a = q[b + 12 >> 2];
+  q[b + 12 >> 2] = a + -1;
+  e = (a | 0) > 0;
+ }
+ return e;
+}
+function lg(a, b, c, d) {
+ var e = 0, f = 0;
+ if (!a) {
+  return;
+ }
+ a : {
+  if (!d | (!b | !c)) {
+   break a;
+  }
+  e = a + 20 | 0;
+  f = q[a + 16 >> 2];
+  a = e + (f << 2) | 0;
+  b : {
+   if ((f | 0) < 1) {
+    break b;
+   }
+   while (1) {
+    if (!iZ(q[q[q[e >> 2] >> 2] + 8 >> 2], b)) {
+     break b;
+    }
+    e = e + 4 | 0;
+    if (e >>> 0 < a >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  if ((a | 0) == (e | 0)) {
+   return;
+  }
+  a = q[e >> 2];
+  b = q[q[a >> 2] + 32 >> 2];
+  if (!b) {
+   break a;
+  }
+  a = n[b](a, 4022) | 0;
+  if (!a) {
+   break a;
+  }
+  a = q[a >> 2];
+  if (!a) {
+   break a;
+  }
+  n[a](q[e >> 2], c, d, 1) | 0;
+ }
+}
+function RH(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ g = q[b + 4 >> 2];
+ q[a + 2748 >> 2] = b;
+ f = q[b + 28 >> 2];
+ q[a + 2740 >> 2] = f;
+ q[a + 4 >> 2] = q[b + 44 >> 2];
+ q[a + 8 >> 2] = q[b + 48 >> 2];
+ q[a + 12 >> 2] = q[b + 9560 >> 2];
+ q[a + 16 >> 2] = q[b + 9564 >> 2];
+ d = q[b + 24 >> 2];
+ e = (d | 1) == 3;
+ c = e | 2;
+ h = (d | 0) == 4 ? c : e;
+ e = (d | 0) == 2;
+ c = e ? c : h;
+ d = (d | 2) == 3;
+ c = d ? c : c | 4;
+ e = e ? c | 8 : c;
+ f = (o[g + 12 | 0] & 1 ? 0 : !d) ? f : f | 1;
+ b = r[q[q[b + 36 >> 2] + 392 >> 2] + 20 | 0];
+ q[a + 2744 >> 2] = e;
+ q[a + 2740 >> 2] = b ? f : f | 8;
+ return 0;
+}
+function hX(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ c = q[a >> 2];
+ if (c) {
+  e = nQ(c + 12 | 0);
+  if (!e) {
+   VW(a, 2, 498895, 0);
+   return;
+  }
+  a : {
+   c = q[a + 1312 >> 2];
+   b : {
+    if (c >>> 0 <= 63) {
+     q[a + 1312 >> 2] = c + 1;
+     c = (w(c, 24) + a | 0) + 1320 | 0;
+     break b;
+    }
+    c = L$(24);
+    if (!c) {
+     break a;
+    }
+   }
+   q[c + 8 >> 2] = 0;
+   q[c >> 2] = q[a + 4 >> 2];
+   f = c;
+   d = q[a >> 2];
+   if (d) {
+    d = q[d >> 2];
+   } else {
+    d = 0;
+   }
+   q[f + 4 >> 2] = d;
+   q[a + 4 >> 2] = c;
+   if (!c) {
+    break a;
+   }
+   q[c + 8 >> 2] = b;
+   q[c + 16 >> 2] = e;
+   return;
+  }
+  M$(e);
+ }
+}
+function HD(a, b, c) {
+ var d = 0;
+ a : {
+  b : {
+   if (t[a >> 2] <= b >>> 0) {
+    d = q[a + 4 >> 2];
+    if (b >>> 0 > d >>> 0) {
+     break b;
+    }
+    c = b + c | 0;
+    if (c >>> 0 < d >>> 0) {
+     break a;
+    }
+    if (r[a + 20 | 0] == 1) {
+     c = c - d | 0;
+     if ((q[a + 8 >> 2] - d | 0) < (c | 0)) {
+      p[a + 20 >> 1] = 256;
+      return 0;
+     }
+     Z$(d, 0, c);
+     d = a;
+     a = q[a + 4 >> 2];
+     q[d + 4 >> 2] = a + c;
+     a = a ? b : 0;
+    } else {
+     a = 0;
+    }
+    return a;
+   }
+   J(254675, 254641, 437, 254703);
+   F();
+  }
+  J(254715, 254641, 438, 254703);
+  F();
+ }
+ J(254742, 254641, 439, 254703);
+ F();
+}
+function JQ(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
+ if (b) {
+  g = g0(b);
+ }
+ h = 1;
+ if (c) {
+  j = g0(c);
+ }
+ if (d) {
+  h = g0(d) + 1 | 0;
+ }
+ i = g + 1 | 0;
+ k = j + 1 | 0;
+ l = i + k | 0;
+ e = L$(l + h | 0);
+ f = 0;
+ a : {
+  if (!e) {
+   break a;
+  }
+  b : {
+   if (b) {
+    Y$(e, b, i);
+    break b;
+   }
+   o[e | 0] = 0;
+  }
+  c : {
+   if (c) {
+    Y$((e + g | 0) + 1 | 0, c, k);
+    break c;
+   }
+   o[e + i | 0] = 0;
+  }
+  d : {
+   if (d) {
+    Y$(((e + g | 0) + j | 0) + 2 | 0, d, h);
+    break d;
+   }
+   o[e + l | 0] = 0;
+  }
+  f = 1;
+  if (vQ(a, e)) {
+   break a;
+  }
+  M$(e);
+  f = 0;
+ }
+ return f;
+}
+function b$(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ c = r[a | 0];
+ a : {
+  if (!c) {
+   break a;
+  }
+  while (1) {
+   e = r[b | 0];
+   if (!e) {
+    f = c;
+    break a;
+   }
+   b : {
+    c : {
+     while (1) {
+      if (c + -48 >>> 0 < 11 | (c | 32) + -97 >>> 0 < 27) {
+       break c;
+      }
+      c = r[a + 1 | 0];
+      d = a + 1 | 0;
+      a = d;
+      if (c) {
+       continue;
+      }
+      break;
+     }
+     c = 0;
+     break b;
+    }
+    d = a;
+   }
+   if ((c | 32) != (e | 0)) {
+    return 1;
+   }
+   b = b + 1 | 0;
+   a = d + 1 | 0;
+   c = r[d + 1 | 0];
+   if (c) {
+    continue;
+   }
+   break;
+  }
+ }
+ return r[b | 0] != (f & 255);
+}
+function _s(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ c = a + 132 | 0;
+ b = q[c >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  e = a + 48 | 0;
+  while (1) {
+   b = q[e >> 2];
+   if (!b) {
+    b = 271040;
+    break a;
+   }
+   a = N$(1, 4);
+   if (a) {
+    $s(a, b);
+   }
+   d = q[c >> 2];
+   b = a ? a : 271040;
+   q[c >> 2] = d ? d : b;
+   if (!d) {
+    break a;
+   }
+   if (!(!a | !b)) {
+    a = q[b >> 2];
+    Cq(a ? a : 271040);
+    M$(b);
+   }
+   b = q[c >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ a = q[b >> 2];
+ a = a ? a : 271040;
+ a = t[a + 16 >> 2] < 12 ? 271040 : q[a + 12 >> 2];
+ return (r[a + 4 | 0] << 8 | r[a + 5 | 0]) != 0;
+}
+function RW(a, b, c) {
+ var d = 0, e = 0;
+ a : {
+  b : {
+   if (q[b >> 2] != (a | 0)) {
+    break b;
+   }
+   d = L$(8);
+   if (!d) {
+    break b;
+   }
+   q[d + 4 >> 2] = c;
+   c = q[b + 4 >> 2];
+   c : {
+    if (c) {
+     q[d >> 2] = q[c >> 2];
+     q[c >> 2] = d;
+     break c;
+    }
+    q[d >> 2] = 0;
+    c = q[b + 8 >> 2];
+    if (!c) {
+     break a;
+    }
+    q[c >> 2] = d;
+    q[b + 4 >> 2] = q[b + 8 >> 2];
+   }
+   if (q[b >> 2] != (a | 0)) {
+    break b;
+   }
+   a = q[b + 4 >> 2];
+   q[b + 8 >> 2] = a;
+   a = q[a >> 2];
+   q[b + 4 >> 2] = a;
+   e = (a | 0) != 0;
+  }
+  return e;
+ }
+ q[a + 4 >> 2] = d;
+ q[b + 4 >> 2] = d;
+ return 1;
+}
+function fN(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ if ((b | 0) >= 1) {
+  while (1) {
+   f = 0;
+   a : {
+    if (q[c >> 2] != 64) {
+     break a;
+    }
+    e = q[a >> 2];
+    if (e >>> 0 > 65535) {
+     break a;
+    }
+    g = r[(s[(e >>> 6 & 67108862) + 392176 >> 1] + (e & 127) | 0) + 395248 | 0];
+    if (!g) {
+     break a;
+    }
+    e = q[(s[(e >>> 5 & 134217726) + 393200 >> 1] + (e & 63) << 2) + 397040 >> 2] + e | 0;
+    f = g & 2 ? e | -2147483648 : e & 2147483647;
+   }
+   q[d >> 2] = f;
+   a = a + 4 | 0;
+   c = c + 4 | 0;
+   d = d + 4 | 0;
+   h = h + 1 | 0;
+   if ((h | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function x$(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
+ j = e;
+ e = 0;
+ k = e;
+ h = c;
+ c = 0;
+ g = T0(j, e, h, c);
+ e = Ea;
+ l = g;
+ g = g >>> 0 < 0 ? e + 1 | 0 : e;
+ f = d;
+ e = 0;
+ i = b;
+ d = T0(f, e, b, 0);
+ b = Ea;
+ f = T0(f, e, h, c);
+ c = b + f | 0;
+ b = Ea;
+ b = c >>> 0 < f >>> 0 ? b + 1 | 0 : b;
+ h = b;
+ f = b + l | 0;
+ b = g;
+ b = f >>> 0 < h >>> 0 ? b + 1 | 0 : b;
+ g = b;
+ b = T0(i, m, j, k) + c | 0;
+ e = Ea;
+ e = b >>> 0 < c >>> 0 ? e + 1 | 0 : e;
+ i = e;
+ f = e + f | 0;
+ e = g;
+ q[a + 8 >> 2] = f;
+ q[a + 12 >> 2] = f >>> 0 < i >>> 0 ? e + 1 | 0 : e;
+ q[a >> 2] = d;
+ q[a + 4 >> 2] = b;
+}
+function YM(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ b = q[a + 504 >> 2];
+ a : {
+  if (r[b | 0] == 64) {
+   q[c + 12 >> 2] = 1;
+   b = b + 1 | 0;
+   break a;
+  }
+  q[c + 12 >> 2] = 0;
+ }
+ f = c, g = mZ(b), q[f >> 2] = g;
+ e = c;
+ b = q[a + 508 >> 2];
+ d = b + 1 | 0;
+ if (d >>> 0 <= 2) {
+  b = q[(d << 2) + 356216 >> 2];
+ }
+ q[e + 4 >> 2] = b;
+ b = c;
+ e = q[a + 512 >> 2];
+ b : {
+  if (e >>> 0 <= 1) {
+   d = 100;
+   if (!(e - 1)) {
+    break b;
+   }
+   d = 0;
+   break b;
+  }
+  d = e;
+ }
+ q[b + 8 >> 2] = d;
+ b = a + 220 | 0;
+ bM(q[b >> 2]);
+ f = b, g = KL(a, c), q[f >> 2] = g;
+ Ca = c + 16 | 0;
+}
+function Jf(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ if (!a) {
+  return;
+ }
+ c = q[a + 96 >> 2];
+ if (!c) {
+  return;
+ }
+ d = q[a + 128 >> 2];
+ b = q[d + 64 >> 2];
+ q[d + 64 >> 2] = b + -1;
+ if ((b | 0) <= 1) {
+  b = q[c + 16 >> 2];
+  if (!b) {
+   return;
+  }
+  e = c + 16 | 0;
+  d = q[c + 8 >> 2];
+  a : {
+   while (1) {
+    if (q[b + 8 >> 2] == (a | 0)) {
+     break a;
+    }
+    b = q[b + 4 >> 2];
+    if (b) {
+     continue;
+    }
+    break;
+   }
+   return;
+  }
+  f = q[b >> 2];
+  g = f ? f + 4 | 0 : e;
+  e = q[b + 4 >> 2];
+  q[g >> 2] = e;
+  q[(e ? e : c + 20 | 0) >> 2] = f;
+  n[q[d + 8 >> 2]](d, b);
+  Df(d, a, c);
+ }
+}
+function _w(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ e = c ? c + a | 0 : 271040;
+ c = q[b + 96 >> 2];
+ c = ct(e, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]);
+ if ((c | 0) != -1) {
+  c = (r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0 > c >>> 0 ? ((c << 1) + a | 0) + 6 | 0 : 271040;
+  f = r[c + 1 | 0];
+  c = r[c | 0];
+  e = q[57201];
+  q[d + 8 >> 2] = q[57200];
+  q[d + 12 >> 2] = e;
+  e = q[57199];
+  q[d >> 2] = q[57198];
+  q[d + 4 >> 2] = e;
+  e = a;
+  a = f | c << 8;
+  f = bx(a ? e + a | 0 : 271040, b, d);
+ }
+ Ca = d + 16 | 0;
+ return f | 0;
+}
+function cH(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0;
+ while (1) {
+  d = q[b >> 2];
+  q[b >> 2] = 1;
+  if (d) {
+   continue;
+  }
+  break;
+ }
+ d = q[b + 4 >> 2];
+ g = c, h = Ee(p[d + 70 >> 1], q[q[d + 88 >> 2] + 20 >> 2]), q[g >> 2] = h;
+ g = c, h = Ee(p[d + 72 >> 1], q[q[d + 88 >> 2] + 20 >> 2]), q[g + 4 >> 2] = h;
+ e = Ee(p[d + 74 >> 1], q[q[d + 88 >> 2] + 20 >> 2]);
+ d = q[c + 4 >> 2];
+ f = q[c >> 2];
+ e = e + (d - f | 0) | 0;
+ q[c + 8 >> 2] = e;
+ if (q[a + 24 >> 2] <= -1) {
+  q[c + 8 >> 2] = 0 - e;
+  q[c + 4 >> 2] = 0 - d;
+  q[c >> 2] = 0 - f;
+ }
+ q[b >> 2] = 0;
+ return 1;
+}
+function wL(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ if (q[b + 72 >> 2] == 1651078259) {
+  c = q[a >> 2];
+  q[a + 20 >> 2] = q[b + 100 >> 2];
+  q[a + 24 >> 2] = q[b + 104 >> 2];
+  a = a + 28 | 0;
+  if (o[q[b + 156 >> 2] + 4 | 0] & 1) {
+   c = q[b + 80 >> 2];
+   q[a >> 2] = q[b + 76 >> 2];
+   q[a + 4 >> 2] = c;
+   c = q[b + 96 >> 2];
+   q[a + 16 >> 2] = q[b + 92 >> 2];
+   q[a + 20 >> 2] = c;
+   c = q[b + 88 >> 2];
+   q[a + 8 >> 2] = q[b + 84 >> 2];
+   q[a + 12 >> 2] = c;
+   a = q[b + 156 >> 2];
+   q[a + 4 >> 2] = q[a + 4 >> 2] & -2;
+   return 0;
+  }
+  pn(a);
+  a = qn(c, b + 76 | 0, a);
+ } else {
+  a = 18;
+ }
+ return a | 0;
+}
+function rp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = n[q[a + 516 >> 2]](a, 1330851634, b, 0) | 0;
+ a : {
+  if (c) {
+   break a;
+  }
+  d = a + 372 | 0;
+  c = Xg(b, 162736, d);
+  if (c) {
+   break a;
+  }
+  q[a + 468 >> 2] = 0;
+  q[a + 460 >> 2] = 0;
+  q[a + 464 >> 2] = 0;
+  q[a + 452 >> 2] = 0;
+  q[a + 456 >> 2] = 0;
+  p[a + 472 >> 1] = 65535;
+  if (!s[a + 372 >> 1]) {
+   return 0;
+  }
+  c = Xg(b, 162912, d);
+  if (c) {
+   break a;
+  }
+  if (s[d >> 1] < 2) {
+   return 0;
+  }
+  c = Xg(b, 162928, d);
+  if (c) {
+   break a;
+  }
+  c = 0;
+  if (s[d >> 1] < 5) {
+   break a;
+  }
+  c = Xg(b, 162960, d);
+ }
+ return c | 0;
+}
+function gY(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ f = -1;
+ g = q[a >> 2] + -1 | 0;
+ a : {
+  if (g >>> 0 > 1) {
+   break a;
+  }
+  if (g - 1) {
+   e = +q[a + 8 >> 2];
+  } else {
+   e = v[a + 8 >> 3];
+  }
+  a = q[b >> 2] + -1 | 0;
+  if (a >>> 0 > 1) {
+   break a;
+  }
+  if (a - 1) {
+   f = +q[b + 8 >> 2];
+  } else {
+   f = v[b + 8 >> 3];
+  }
+  cS(d, b);
+  a = q[d + 12 >> 2];
+  q[c + 8 >> 2] = q[d + 8 >> 2];
+  q[c + 12 >> 2] = a;
+  a = q[d + 4 >> 2];
+  q[c >> 2] = q[d >> 2];
+  q[c + 4 >> 2] = a;
+  e = f - e;
+  f = e < 0 ? -e : e;
+ }
+ Ca = d + 16 | 0;
+ return +f;
+}
+function dY(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ a : {
+  if (b) {
+   if (!d) {
+    break a;
+   }
+   q[d >> 2] = 1;
+   f = tX(a);
+   b : {
+    if (!f) {
+     d = 0;
+     break b;
+    }
+    g = q[f + 52 >> 2];
+    a = 0;
+    c : {
+     if (!g) {
+      break c;
+     }
+     q[e + 8 >> 2] = g;
+     a = 1;
+    }
+    g = e + 8 | 0;
+    h = q[f + 56 >> 2];
+    if (h) {
+     q[(e + 8 | 0) + (a << 2) >> 2] = h;
+     a = a + 1 | 0;
+    }
+    d = aY(g, a, b, c, d);
+    pX(f);
+   }
+   Ca = e + 16 | 0;
+   return d;
+  }
+  J(503771, 503748, 1187, 503897);
+  F();
+ }
+ J(503781, 503748, 1188, 503897);
+ F();
+}
+function MN(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ if (q[b + 4 >> 2] >= 1) {
+  d = q[a + 24 >> 2];
+  while (1) {
+   q[d + (c << 2) >> 2] = c;
+   c = c + 1 | 0;
+   if ((c | 0) < q[b + 4 >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+ a : {
+  if (q[b + 12 >> 2] >= 1) {
+   c = 0;
+   while (1) {
+    d = q[b + 8 >> 2] + w(c, 24) | 0;
+    e = q[d + 16 >> 2];
+    f = e << 2;
+    if (!oN(f + q[a + 12 >> 2] | 0, q[d + 20 >> 2], q[a + 20 >> 2] + e | 0, q[a + 24 >> 2] + f | 0)) {
+     break a;
+    }
+    c = c + 1 | 0;
+    if ((c | 0) < q[b + 12 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  g = q[a + 24 >> 2];
+ }
+ return g;
+}
+function yn(a) {
+ q[a + 576 >> 2] = 0;
+ q[a + 580 >> 2] = 0;
+ q[a + 216 >> 2] = 1;
+ q[a + 220 >> 2] = 0;
+ q[a + 192 >> 2] = 16777216;
+ q[a + 196 >> 2] = 16777216;
+ q[a + 184 >> 2] = 0;
+ q[a + 136 >> 2] = 0;
+ q[a + 140 >> 2] = 0;
+ q[a + 152 >> 2] = 0;
+ q[a + 156 >> 2] = 0;
+ q[a + 108 >> 2] = 0;
+ q[a + 112 >> 2] = 0;
+ q[a + 252 >> 2] = 0;
+ q[a + 256 >> 2] = 0;
+ q[a + 232 >> 2] = 1;
+ q[a + 236 >> 2] = 0;
+ q[a + 224 >> 2] = 1;
+ q[a + 228 >> 2] = 0;
+ q[a + 208 >> 2] = 1;
+ q[a + 212 >> 2] = 1;
+ q[a + 200 >> 2] = 16777216;
+ q[a + 204 >> 2] = 1;
+ q[a + 116 >> 2] = 0;
+ q[a + 120 >> 2] = 0;
+ q[a + 124 >> 2] = 0;
+ o[a + 260 | 0] = 0;
+}
+function lk(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0;
+ c = q[q[a + 40 >> 2] >> 2];
+ if (c) {
+  a = q[a >> 2];
+  e = q[a + 100 >> 2];
+  d = q[a + 712 >> 2];
+  b = q[d + 3080 >> 2];
+  a = ig(q[q[a + 96 >> 2] + 4 >> 2], 12632);
+  a : {
+   if (!b | !a) {
+    break a;
+   }
+   b = q[b >> 2];
+   if (!b) {
+    break a;
+   }
+   b = n[b](a) | 0;
+   if (!b) {
+    break a;
+   }
+   n[q[b + 8 >> 2]](q[c >> 2]);
+   a = q[d + 2024 >> 2];
+   if (!a) {
+    break a;
+   }
+   d = c + 4 | 0;
+   while (1) {
+    a = a + -1 | 0;
+    n[q[b + 8 >> 2]](q[d + (a << 2) >> 2]);
+    if (a) {
+     continue;
+    }
+    break;
+   }
+  }
+  Qe(e, c);
+ }
+}
+function eA(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0;
+ a = q[b + 8 >> 2];
+ a : {
+  if (a) {
+   break a;
+  }
+  while (1) {
+   a = q[b >> 2];
+   if (!a) {
+    a = 271040;
+    break a;
+   }
+   e = N$(1, 48);
+   if (e) {
+    mF(e, a);
+   }
+   f = q[b + 8 >> 2];
+   a = e ? e : 271040;
+   q[b + 8 >> 2] = f ? f : a;
+   if (!f) {
+    break a;
+   }
+   if (!(!e | !a)) {
+    e = q[a + 44 >> 2];
+    Cq(e ? e : 271040);
+    M$(a);
+   }
+   a = q[b + 8 >> 2];
+   if (!a) {
+    continue;
+   }
+   break;
+  }
+ }
+ b = q[a + 8 >> 2];
+ if (!b) {
+  return 0;
+ }
+ return n[b](q[a + 12 >> 2], c, d) | 0;
+}
+function ae(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ a : {
+  b : {
+   e = q[a >> 2];
+   if ((e | 0) >= 1) {
+    h = q[a + 16 >> 2];
+    while (1) {
+     g = e + -1 | 0;
+     f = q[w(g, 144) + h >> 2];
+     if (i = 0, j = !jZ(f, b, c), k = r[c + f | 0], k ? i : j) {
+      break b;
+     }
+     f = (e | 0) > 1;
+     e = g;
+     if (f) {
+      continue;
+     }
+     break;
+    }
+   }
+   e = q[a + 84 >> 2];
+   q[d + 8 >> 2] = b;
+   q[d + 4 >> 2] = c;
+   q[d >> 2] = a;
+   Yd(e, 2, 3289, d);
+   a = 0;
+   break a;
+  }
+  a = w(g, 144) + h | 0;
+ }
+ Ca = d + 16 | 0;
+ return a;
+}
+function lM(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return w(r[a + 23 | 0] ^ w(r[a + 22 | 0] ^ w(r[a + 21 | 0] ^ w(r[a + 20 | 0] ^ w(r[a + 19 | 0] ^ w(r[a + 18 | 0] ^ w(r[a + 17 | 0] ^ w(r[a + 16 | 0] ^ w(r[a + 15 | 0] ^ w(r[a + 14 | 0] ^ w(r[a + 13 | 0] ^ w(r[a + 12 | 0] ^ w(r[a + 11 | 0] ^ w(r[a + 10 | 0] ^ w(r[a + 9 | 0] ^ w(r[a + 8 | 0] ^ w(r[a + 3 | 0] ^ w(r[a + 2 | 0] ^ w(r[a + 1 | 0] ^ w(r[a | 0] ^ b, 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619) | 0;
+}
+function bg(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  d = q[a + 128 >> 2];
+  b = q[d + 28 >> 2];
+  c = b + 2 | 0;
+  b : {
+   if (c >>> 0 > 2) {
+    break b;
+   }
+   c : {
+    switch (c - 1 | 0) {
+    case 0:
+     break b;
+    case 1:
+     break c;
+    default:
+     break a;
+    }
+   }
+   b = q[a + 96 >> 2];
+   c = q[q[b >> 2] + 32 >> 2];
+   d : {
+    if (!c) {
+     b = 0;
+     break d;
+    }
+    b = n[c](b, 3792) | 0;
+    d = q[a + 128 >> 2];
+   }
+   q[d + 28 >> 2] = b ? b : -2;
+  }
+  if (!b) {
+   break a;
+  }
+  b = q[b >> 2];
+  if (!b) {
+   break a;
+  }
+  e = n[b](a) | 0;
+ }
+ return e;
+}
+function XY(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = a + 3 | 0;
+ c = r[a + 3 | 0];
+ f = (c | 0) != 0;
+ e = c | (r[a + 1 | 0] << 16 | r[a | 0] << 24 | r[a + 2 | 0] << 8);
+ a = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+ b = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ a : {
+  if (!(!c | (e | 0) == (b | 0))) {
+   while (1) {
+    a = d + 1 | 0;
+    c = r[d + 1 | 0];
+    f = (c | 0) != 0;
+    e = c | e << 8;
+    if ((b | 0) == (e | 0)) {
+     break a;
+    }
+    d = a;
+    if (c) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  a = d;
+ }
+ return f ? a + -3 | 0 : 0;
+}
+function Tp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ e = q[a + 16 >> 2];
+ d = b;
+ b = s[a + 8 >> 1] >>> 1 | 0;
+ d = Te(d, 1, 0, b + 1 | 0, 0, c + 12 | 0);
+ Ca = c + 16 | 0;
+ if (q[c + 12 >> 2]) {
+  a = f;
+ } else {
+  a = 0;
+  a : {
+   if (!b) {
+    break a;
+   }
+   while (1) {
+    f = r[e + 1 | 0];
+    c = f | r[e | 0] << 8;
+    if (!c) {
+     break a;
+    }
+    o[a + d | 0] = c + -32 >>> 0 > 95 ? 63 : f;
+    e = e + 2 | 0;
+    a = a + 1 | 0;
+    if ((b | 0) != (a | 0)) {
+     continue;
+    }
+    break;
+   }
+   a = b;
+  }
+  o[a + d | 0] = 0;
+  a = d;
+ }
+ return a | 0;
+}
+function qG(a, b) {
+ var c = 0, d = 0, e = 0;
+ if (r[a + 69 | 0]) {
+  d = q[a + 76 >> 2];
+  c = d + b | 0;
+  if (!(!c | t[a + 84 >> 2] > c >>> 0)) {
+   if (!oG(a, c)) {
+    return 0;
+   }
+   d = q[a + 76 >> 2];
+  }
+  c = q[a + 72 >> 2];
+  e = q[a + 88 >> 2] + w(c, 20) | 0;
+  _$(e + w(b, 20) | 0, e, w(d - c | 0, 20));
+  e = a;
+  c = q[a + 72 >> 2] + b | 0;
+  d = q[a + 76 >> 2];
+  if (c >>> 0 > d >>> 0) {
+   Z$(q[a + 88 >> 2] + w(d, 20) | 0, 0, w(c - d | 0, 20));
+   d = q[a + 76 >> 2];
+   c = q[a + 72 >> 2] + b | 0;
+  }
+  q[e + 72 >> 2] = c;
+  q[a + 76 >> 2] = b + d;
+  return 1;
+ }
+ J(272302, 272314, 179, 272341);
+ F();
+}
+function Kb(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0;
+ d = q[c + 4 >> 2];
+ a = q[a + 20 >> 2] + w(b, 56) | 0;
+ q[a >> 2] = q[c >> 2];
+ q[a + 4 >> 2] = d;
+ b = q[c + 52 >> 2];
+ q[a + 48 >> 2] = q[c + 48 >> 2];
+ q[a + 52 >> 2] = b;
+ b = q[c + 44 >> 2];
+ q[a + 40 >> 2] = q[c + 40 >> 2];
+ q[a + 44 >> 2] = b;
+ b = q[c + 36 >> 2];
+ q[a + 32 >> 2] = q[c + 32 >> 2];
+ q[a + 36 >> 2] = b;
+ b = q[c + 28 >> 2];
+ q[a + 24 >> 2] = q[c + 24 >> 2];
+ q[a + 28 >> 2] = b;
+ b = q[c + 20 >> 2];
+ q[a + 16 >> 2] = q[c + 16 >> 2];
+ q[a + 20 >> 2] = b;
+ b = q[c + 12 >> 2];
+ q[a + 8 >> 2] = q[c + 8 >> 2];
+ q[a + 12 >> 2] = b;
+}
+function zA(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  e = a + -24 | 0;
+  while (1) {
+   b = q[e >> 2];
+   if (!b) {
+    return 271040;
+   }
+   c = N$(1, 32);
+   if (c) {
+    $B(c, b);
+   }
+   d = q[a >> 2];
+   b = c ? c : 271040;
+   q[a >> 2] = d ? d : b;
+   if (!d) {
+    break a;
+   }
+   if (!(!c | !b)) {
+    c = b + 20 | 0;
+    M$(q[c >> 2]);
+    q[c >> 2] = 0;
+    q[b + 12 >> 2] = 0;
+    q[b + 16 >> 2] = 0;
+    M$(q[b + 28 >> 2]);
+    c = q[b >> 2];
+    Cq(c ? c : 271040);
+    M$(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ return b;
+}
+function NZ(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ e = r[c + 74 | 0];
+ o[c + 74 | 0] = e + -1 | e;
+ e = b;
+ d = q[c + 4 >> 2];
+ f = q[c + 8 >> 2] - d | 0;
+ g = e;
+ a : {
+  if ((f | 0) < 1) {
+   break a;
+  }
+  g = d;
+  d = f >>> 0 < e >>> 0 ? f : e;
+  Y$(a, g, d);
+  q[c + 4 >> 2] = d + q[c + 4 >> 2];
+  a = a + d | 0;
+  g = e - d | 0;
+ }
+ d = g;
+ if (d) {
+  while (1) {
+   b : {
+    if (!RZ(c)) {
+     f = n[q[c + 32 >> 2]](c, a, d) | 0;
+     if (f + 1 >>> 0 > 1) {
+      break b;
+     }
+    }
+    return e - d | 0;
+   }
+   a = a + f | 0;
+   d = d - f | 0;
+   if (d) {
+    continue;
+   }
+   break;
+  }
+ }
+ return b;
+}
+function HQ(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ f = q[a + 4 >> 2];
+ if ((f | 0) < 1) {
+  return 0;
+ }
+ h = q[a + 12 >> 2];
+ a : {
+  while (1) {
+   a = b;
+   c = q[(d << 2) + h >> 2];
+   if ((a | 0) == (c | 0)) {
+    return 1;
+   }
+   while (1) {
+    b : {
+     g = r[a | 0];
+     e = r[c | 0];
+     if (!e) {
+      break b;
+     }
+     c = c + 1 | 0;
+     a = a + 1 | 0;
+     if ((g | 0) == (e | 0)) {
+      continue;
+     }
+    }
+    break;
+   }
+   if ((g | 0) == (e | 0)) {
+    break a;
+   }
+   d = d + 1 | 0;
+   if ((d | 0) < (f | 0)) {
+    continue;
+   }
+   break;
+  }
+  return 0;
+ }
+ return 1;
+}
+function HZ(a, b, c, d) {
+ var e = 0, f = 0;
+ if ((d | 0) == 1) {
+  f = b;
+  e = q[a + 8 >> 2] - q[a + 4 >> 2] | 0;
+  b = b - e | 0;
+  c = c - ((e >> 31) + (f >>> 0 < e >>> 0) | 0) | 0;
+ }
+ a : {
+  if (t[a + 20 >> 2] > t[a + 28 >> 2]) {
+   n[q[a + 36 >> 2]](a, 0, 0) | 0;
+   if (!q[a + 20 >> 2]) {
+    break a;
+   }
+  }
+  q[a + 28 >> 2] = 0;
+  q[a + 16 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  c = n[q[a + 40 >> 2]](a, b, c, d) >>> 0 >= 0 ? 0 : 1;
+  b = Ea;
+  if ((b | 0) < 0 ? 1 : (b | 0) <= 0 ? c : 0) {
+   break a;
+  }
+  q[a + 4 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+  q[a >> 2] = q[a >> 2] & -17;
+  return 0;
+ }
+ return -1;
+}
+function Bh(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0;
+ if (a) {
+  b = q[a + 540 >> 2];
+  d = q[a + 104 >> 2];
+  e = q[a + 100 >> 2];
+  c = q[a + 716 >> 2];
+  if (c) {
+   n[c](q[a + 712 >> 2]);
+  }
+  if (b) {
+   n[q[b + 12 >> 2]](a);
+  }
+  Lg(q[a + 104 >> 2], a + 764 | 0);
+  q[a + 760 >> 2] = 0;
+  b = q[a + 104 >> 2];
+  c = a + 784 | 0;
+  Qe(q[b + 28 >> 2], q[c >> 2]);
+  q[c >> 2] = 0;
+  Lg(b, a + 768 | 0);
+  Qe(e, q[a + 704 >> 2]);
+  q[a + 700 >> 2] = 0;
+  q[a + 704 >> 2] = 0;
+  Lg(d, a + 688 | 0);
+  Lg(d, a + 696 | 0);
+  q[a + 692 >> 2] = 0;
+  q[a + 684 >> 2] = 0;
+  Ch(a);
+  q[a + 736 >> 2] = 0;
+ }
+}
+function An(a) {
+ n[q[a + 28 >> 2]](q[a + 32 >> 2], q[a + 580 >> 2]);
+ q[a + 580 >> 2] = 0;
+ n[q[a + 28 >> 2]](q[a + 32 >> 2], q[a + 576 >> 2]);
+ q[a + 576 >> 2] = 0;
+ n[q[a + 28 >> 2]](q[a + 32 >> 2], q[a + 252 >> 2]);
+ q[a + 252 >> 2] = 0;
+ n[q[a + 28 >> 2]](q[a + 32 >> 2], q[a + 120 >> 2]);
+ q[a + 120 >> 2] = 0;
+ n[q[a + 28 >> 2]](q[a + 32 >> 2], q[a + 136 >> 2]);
+ q[a + 136 >> 2] = 0;
+ n[q[a + 28 >> 2]](q[a + 32 >> 2], q[a + 152 >> 2]);
+ q[a + 152 >> 2] = 0;
+ n[q[a + 28 >> 2]](q[a + 32 >> 2], q[a + 96 >> 2]);
+ q[a + 96 >> 2] = 0;
+ n[q[a + 28 >> 2]](q[a + 32 >> 2], q[a + 168 >> 2]);
+ q[a + 168 >> 2] = 0;
+}
+function eS(a) {
+ var b = 0;
+ if (a) {
+  while (1) {
+   b = q[a + 8 >> 2] + -3 | 0;
+   a : {
+    if (b >>> 0 > 6) {
+     break a;
+    }
+    b : {
+     switch (b - 1 | 0) {
+     default:
+      M$(q[a + 16 >> 2]);
+      break a;
+     case 1:
+      XO(q[a + 16 >> 2]);
+      break a;
+     case 2:
+      IR(q[a + 16 >> 2]);
+      break a;
+     case 4:
+      KP(q[a + 16 >> 2]);
+      break a;
+     case 0:
+     case 3:
+      break a;
+     case 5:
+      break b;
+     }
+    }
+    M$(q[a + 16 >> 2]);
+   }
+   b = q[a >> 2];
+   M$(a);
+   a = b & 1 ? (b & -2) + a | 0 : b;
+   if (a) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function te(a, b, c, d) {
+ var e = 0, f = 0, g = 0;
+ if (!a) {
+  return 35;
+ }
+ if (!d) {
+  return 6;
+ }
+ e = 16;
+ a : {
+  if (t[a + 16 >> 2] <= b >>> 0) {
+   break a;
+  }
+  e = q[q[q[a + 96 >> 2] + 12 >> 2] + 84 >> 2];
+  if (!(!e | ((c & 983040) != 65536 ? !(c & 3) : 0))) {
+   e = n[e](a, b, 1, c, d) | 0;
+   if (!e) {
+    e = 0;
+    if (c & 1) {
+     break a;
+    }
+    a = q[a + 88 >> 2];
+    if (!a) {
+     return 36;
+    }
+    f = d, g = ue(q[d >> 2], q[a + (c & 16 ? 20 : 16) >> 2], 64), q[f >> 2] = g;
+    return 0;
+   }
+   if ((e & 255) != 7) {
+    break a;
+   }
+  }
+  e = ve(a, b, c, d);
+ }
+ return e;
+}
+function TV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 12) {
+    break b;
+   }
+   c = 17;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+     break b;
+    case 11:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a + 8 >> 2] = 17;
+   q[a >> 2] = 934;
+   return 19;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function wq(a) {
+ var b = 0, c = 0, d = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ a : {
+  if (!a) {
+   break a;
+  }
+  d = r[a | 0];
+  if (!d) {
+   break a;
+  }
+  while (1) {
+   b : {
+    o[(c + 12 | 0) + b | 0] = d;
+    b = b + 1 | 0;
+    if ((b | 0) == 3) {
+     b = 3;
+     break b;
+    }
+    d = r[a + b | 0];
+    if (d) {
+     continue;
+    }
+   }
+   break;
+  }
+  if (b >>> 0 <= 3) {
+   Z$((c + 12 | 0) + b | 0, 32, 4 - b | 0);
+  }
+  a = r[c + 12 | 0] | r[c + 13 | 0] << 8 | (r[c + 14 | 0] << 16 | r[c + 15 | 0] << 24);
+  b = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ }
+ Ca = c + 16 | 0;
+ return b;
+}
+function uP(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = cP(a, b);
+ a : {
+  if (!c) {
+   break a;
+  }
+  d = q[b + 4 >> 2];
+  e = q[b >> 2];
+  q[c >> 2] = e;
+  q[c + 4 >> 2] = d;
+  d = b + 8 | 0;
+  q[c + 8 >> 2] = q[d >> 2];
+  q[c + 4 >> 2] = e;
+  g = cP(a, q[d >> 2]);
+  if (!g) {
+   break a;
+  }
+  q[c + 8 >> 2] = g - c | 1;
+  if (q[b >> 2] >= 1) {
+   while (1) {
+    e = f << 2;
+    d = PS(a, q[e + q[b + 8 >> 2] >> 2]);
+    if (!d) {
+     return 0;
+    }
+    q[e + g >> 2] = d - c | 1;
+    f = f + 1 | 0;
+    if ((f | 0) < q[b >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  f = c;
+ }
+ return f;
+}
+function g0(a) {
+ var b = 0, c = 0, d = 0;
+ a : {
+  b : {
+   b = a;
+   if (!(b & 3)) {
+    break b;
+   }
+   if (!r[a | 0]) {
+    return 0;
+   }
+   while (1) {
+    b = b + 1 | 0;
+    if (!(b & 3)) {
+     break b;
+    }
+    if (r[b | 0]) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  while (1) {
+   c = b;
+   b = b + 4 | 0;
+   d = q[c >> 2];
+   if (!((d ^ -1) & d + -16843009 & -2139062144)) {
+    continue;
+   }
+   break;
+  }
+  if (!(d & 255)) {
+   return c - a | 0;
+  }
+  while (1) {
+   d = r[c + 1 | 0];
+   b = c + 1 | 0;
+   c = b;
+   if (d) {
+    continue;
+   }
+   break;
+  }
+ }
+ return b - a | 0;
+}
+function ju(a, b, c) {
+ var d = 0, e = 0;
+ d = r[a + 1 | 0] | r[a | 0] << 8;
+ if ((r[c + 7 | 0] | r[c + 6 | 0] << 8) >>> 0 <= d >>> 0) {
+  return x(0);
+ }
+ d = (d << 2) + c | 0;
+ d = r[d + 8 | 0] | r[d + 9 | 0] << 8 | (r[d + 10 | 0] << 16 | r[d + 11 | 0] << 24);
+ d = d << 24 | d << 8 & 16711680 | (d >>> 8 & 65280 | d >>> 24);
+ e = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ a = r[c + 2 | 0] | r[c + 3 | 0] << 8 | (r[c + 4 | 0] << 16 | r[c + 5 | 0] << 24);
+ a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ return ku(d ? d + c | 0 : 271040, e, q[b + 64 >> 2], q[b + 60 >> 2], a ? a + c | 0 : 271040);
+}
+function gk(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = q[a + 16 >> 2];
+ if (!(!c | !q[a + 12 >> 2])) {
+  while (1) {
+   e = d << 2;
+   Qe(b, q[e + c >> 2]);
+   c = q[a + 16 >> 2];
+   q[e + c >> 2] = 0;
+   d = d + 1 | 0;
+   if (d >>> 0 < t[a + 12 >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+ Qe(b, c);
+ d = 0;
+ q[a + 16 >> 2] = 0;
+ c = q[a + 4 >> 2];
+ if (!(!c | !q[a >> 2])) {
+  while (1) {
+   e = d << 3;
+   Qe(b, q[(e + c | 0) + 4 >> 2]);
+   c = q[a + 4 >> 2];
+   q[(e + c | 0) + 4 >> 2] = 0;
+   d = d + 1 | 0;
+   if (d >>> 0 < t[a >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+ Qe(b, c);
+ q[a + 4 >> 2] = 0;
+}
+
+
+
+function _S(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ d = q[a >> 2];
+ a : {
+  if (d >>> 0 <= 3) {
+   b = 489460;
+   b : {
+    c : {
+     switch (d - 1 | 0) {
+     case 0:
+      b = 489469;
+      break b;
+     case 2:
+      break a;
+     case 1:
+      break c;
+     default:
+      break b;
+     }
+    }
+    b = 489475;
+   }
+   d0(b, 0);
+  }
+  b = q[a + 4 >> 2];
+  if (b >>> 0 <= 3) {
+   d0(q[(b << 2) + 489716 >> 2], 0);
+  }
+  e = c, f = eR(q[a + 8 >> 2]), q[e >> 2] = f;
+  d0(489389, c);
+  YS(q[a + 12 >> 2]);
+  OZ(32);
+  ZS(q[a + 16 >> 2]);
+  OZ(10);
+ }
+ Ca = c + 16 | 0;
+}
+function VQ(a) {
+ var b = 0, c = 0, d = 0;
+ b = g0(a);
+ c = b + -3 | 0;
+ a : {
+  if (c >>> 0 > 11) {
+   break a;
+  }
+  if (c >>> 0 >= 2) {
+   b = b + r[r[a + 4 | 0] + 485680 | 0] | 0;
+  }
+  b = r[r[a + 2 | 0] + 485680 | 0] + b | 0;
+  if (b >>> 0 > 60) {
+   break a;
+  }
+  c = b & 31;
+  if (!((32 <= (b & 63) >>> 0 ? 335544319 >>> c | 0 : ((1 << c) - 1 & 335544319) << 32 - c | -1824 >>> c) & 1)) {
+   break a;
+  }
+  c = q[(b << 3) + 484720 >> 2] + 485208 | 0;
+  if (r[a | 0] != r[c | 0]) {
+   break a;
+  }
+  if (iZ(a + 1 | 0, c + 1 | 0)) {
+   break a;
+  }
+  d = q[(b << 3) + 484724 >> 2];
+ }
+ return d;
+}
+function jL(a) {
+ var b = 0, c = 0;
+ b = q[a + 8 >> 2];
+ if (b) {
+  if (q[a + 16 >> 2] >= 1) {
+   while (1) {
+    M$(q[(c << 2) + b >> 2]);
+    b = q[a + 8 >> 2];
+    c = c + 1 | 0;
+    if ((c | 0) < q[a + 16 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  M$(b);
+ }
+ b = q[a + 4 >> 2];
+ if (b) {
+  if (q[a + 12 >> 2] >= 1) {
+   c = 0;
+   while (1) {
+    M$(q[(c << 2) + b >> 2]);
+    b = q[a + 4 >> 2];
+    c = c + 1 | 0;
+    if ((c | 0) < q[a + 12 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  M$(b);
+ }
+ b = q[a + 32 >> 2];
+ if (b) {
+  M$(b);
+ }
+ a = q[a + 40 >> 2];
+ if (a) {
+  M$(a);
+ }
+}
+function cQ(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = Ca - 32 | 0;
+ Ca = c;
+ a : {
+  if (r[a | 0]) {
+   while (1) {
+    q[c + 20 >> 2] = a;
+    q[c + 16 >> 2] = 0;
+    q[c + 4 >> 2] = b;
+    q[c >> 2] = 0;
+    while (1) {
+     b : {
+      d = _P(c + 16 | 0, 481856);
+      e = _P(c, 481856);
+      if (!d) {
+       break b;
+      }
+      if ((d | 0) == (e | 0)) {
+       continue;
+      }
+     }
+     break;
+    }
+    if (!e | (d | 0) == (e | 0)) {
+     break a;
+    }
+    d = r[a + 1 | 0];
+    a = a + 1 | 0;
+    if (d) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = 0;
+ }
+ Ca = c + 32 | 0;
+ return a;
+}
+function wg(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0;
+ a : {
+  b : {
+   if (!iZ(b, 3857)) {
+    q[c >> 2] = q[a + 36 >> 2];
+    q[c + 4 >> 2] = q[a + 40 >> 2];
+    q[c + 8 >> 2] = q[a + 44 >> 2];
+    q[c + 12 >> 2] = q[a + 48 >> 2];
+    q[c + 16 >> 2] = q[a + 52 >> 2];
+    q[c + 20 >> 2] = q[a + 56 >> 2];
+    q[c + 24 >> 2] = q[a + 60 >> 2];
+    q[c + 28 >> 2] = q[a - -64 >> 2];
+    break b;
+   }
+   if (!iZ(b, 3878)) {
+    q[c >> 2] = q[a + 28 >> 2];
+    break b;
+   }
+   d = 12;
+   if (iZ(b, 3899)) {
+    break a;
+   }
+   o[c | 0] = r[a + 32 | 0];
+  }
+  d = 0;
+ }
+ return d | 0;
+}
+function S_(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ e = Ca - 256 | 0;
+ Ca = e;
+ a : {
+  if ((c | 0) < 2) {
+   break a;
+  }
+  h = (c << 2) + b | 0;
+  q[h >> 2] = e;
+  if (!a) {
+   break a;
+  }
+  d = e;
+  while (1) {
+   f = a >>> 0 < 256 ? a : 256;
+   Y$(d, q[b >> 2], f);
+   d = 0;
+   while (1) {
+    g = (d << 2) + b | 0;
+    d = d + 1 | 0;
+    Y$(q[g >> 2], q[(d << 2) + b >> 2], f);
+    q[g >> 2] = q[g >> 2] + f;
+    if ((c | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+   a = a - f | 0;
+   if (!a) {
+    break a;
+   }
+   d = q[h >> 2];
+   continue;
+  }
+ }
+ Ca = e + 256 | 0;
+}
+function BV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 10) {
+    break b;
+   }
+   c = 0;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+     break b;
+    case 9:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 935;
+   q[a + 12 >> 2] = q[a + 12 >> 2] + 1;
+   return 0;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function Iq(a) {
+ var b = 0, c = 0;
+ a : {
+  if (!q[a + 4 >> 2]) {
+   break a;
+  }
+  b = q[a + 20 >> 2] + -2 | 0;
+  b : {
+   if (b >>> 0 <= 1) {
+    if (b - 1) {
+     break b;
+    }
+    if (Dq(a)) {
+     break b;
+    }
+    q[a + 20 >> 2] = 1;
+   }
+   b = q[a + 16 >> 2];
+   c = L$(b);
+   if (!c) {
+    break a;
+   }
+   b = Y$(c, q[a + 12 >> 2], b);
+   c = q[a + 28 >> 2];
+   if (c) {
+    n[c](q[a + 24 >> 2]);
+    q[a + 24 >> 2] = 0;
+    q[a + 28 >> 2] = 0;
+   }
+   q[a + 28 >> 2] = 427;
+   q[a + 24 >> 2] = b;
+   q[a + 12 >> 2] = b;
+   q[a + 20 >> 2] = 2;
+  }
+  return q[a + 12 >> 2];
+ }
+ return 0;
+}
+function Ao(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = q[a + 16 >> 2];
+ a = c;
+ a = r[a + 12 | 0] | r[a + 13 | 0] << 8 | (r[a + 14 | 0] << 16 | r[a + 15 | 0] << 24);
+ a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ a : {
+  if (a >>> 0 > b >>> 0) {
+   break a;
+  }
+  b = b - a | 0;
+  a = c;
+  a = r[a + 16 | 0] | r[a + 17 | 0] << 8 | (r[a + 18 | 0] << 16 | r[a + 19 | 0] << 24);
+  if (b >>> 0 >= (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) >>> 0) {
+   break a;
+  }
+  a = (c + 20 | 0) + (b << 1) | 0;
+  d = r[a | 0] << 8 | r[a + 1 | 0];
+ }
+ return d | 0;
+}
+function Qm(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = 6;
+ e = q[a + 280 >> 2];
+ a : {
+  if ((e | 0) < 1) {
+   break a;
+  }
+  f = q[a + 284 >> 2];
+  a = 0;
+  while (1) {
+   b : {
+    h = a;
+    g = iZ(q[w(a, 12) + f >> 2], b);
+    a = a + 1 | 0;
+    if ((a | 0) >= (e | 0)) {
+     break b;
+    }
+    if (g) {
+     continue;
+    }
+   }
+   break;
+  }
+  if (g) {
+   break a;
+  }
+  a = w(h, 12) + f | 0;
+  c : {
+   if (r[a + 4 | 0]) {
+    q[c >> 2] = 1;
+    break c;
+   }
+   q[c >> 2] = 2;
+  }
+  q[c + 4 >> 2] = q[a + 8 >> 2];
+  d = 0;
+ }
+ return d | 0;
+}
+function nV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 10) {
+    break b;
+   }
+   c = 3;
+   c : {
+    switch (d - 1 | 0) {
+    case 9:
+     q[a >> 2] = 916;
+     return 7;
+    case 0:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+     break b;
+    case 1:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 917;
+   return 8;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function SP(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  c = q[a + 4 >> 2];
+  d = q[b + 4 >> 2];
+  c = c >>> 0 < d >>> 0 ? c : d;
+  b : {
+   if ((c | 0) >= 1) {
+    c = (c | 0) < 8 ? c : 8;
+    d = (c | 0) > 1 ? c : 1;
+    c = 0;
+    while (1) {
+     e = c << 2;
+     if (q[(e + a | 0) + 8 >> 2] != q[(b + e | 0) + 8 >> 2]) {
+      break b;
+     }
+     c = c + 1 | 0;
+     if ((d | 0) != (c | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   b = q[b >> 2];
+   a = q[a >> 2];
+   if (!a) {
+    break a;
+   }
+   if (!b) {
+    return 0;
+   }
+   f = IQ(a, b);
+  }
+  return f;
+ }
+ return !b;
+}
+function JY(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   while (1) {
+    if (r[c + 505072 | 0] != (a | 0)) {
+     d = 87;
+     c = c + 1 | 0;
+     if ((c | 0) != 87) {
+      continue;
+     }
+     break b;
+    }
+    break;
+   }
+   d = c;
+   if (c) {
+    break b;
+   }
+   a = 505168;
+   break a;
+  }
+  c = 505168;
+  while (1) {
+   e = r[c | 0];
+   a = c + 1 | 0;
+   c = a;
+   if (e) {
+    continue;
+   }
+   c = a;
+   d = d + -1 | 0;
+   if (d) {
+    continue;
+   }
+   break;
+  }
+ }
+ b = q[b + 20 >> 2];
+ if (b) {
+  b = Z_(q[b >> 2], q[b + 4 >> 2], a);
+ } else {
+  b = 0;
+ }
+ return b ? b : a;
+}
+function Ks(a) {
+ var b = 0, c = 0, d = 0;
+ c = q[a + 36 >> 2];
+ if (!c) {
+  return 1;
+ }
+ d = q[a + 40 >> 2];
+ a : {
+  while (1) {
+   a = (b << 6) + d | 0;
+   if (q[a >> 2] | q[a + 4 >> 2] | (q[a + 8 >> 2] | q[a + 12 >> 2]) | (q[a + 16 >> 2] | q[a + 20 >> 2] | (q[a + 24 >> 2] | q[a + 28 >> 2]))) {
+    break a;
+   }
+   if (q[a + 32 >> 2] | q[a + 36 >> 2] | (q[a + 40 >> 2] | q[a + 44 >> 2]) | (q[a + 56 >> 2] | q[a + 60 >> 2] | (q[a + 48 >> 2] | q[a + 52 >> 2]))) {
+    break a;
+   }
+   b = b + 1 | 0;
+   if ((c | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+  return 1;
+ }
+ return 0;
+}
+function pi(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = p[a + 294 >> 1];
+ e = w(d, b >> 16);
+ b = w(d, b & 65535);
+ d = e << 16;
+ f = b + d | 0;
+ a = p[a + 296 >> 1];
+ g = w(a, c & 65535);
+ c = w(a, c >> 16);
+ h = c << 16;
+ a = g + h | 0;
+ i = f + a | 0;
+ c = ((((((e >> 16) + (b >> 31) | 0) + (g >> 31) | 0) + (c >> 16) | 0) + (f >>> 0 < d >>> 0) | 0) + (a >>> 0 < h >>> 0) | 0) + (i >>> 0 < a >>> 0) | 0;
+ b = c >> 31;
+ a = i + b | 0;
+ return ((b + c | 0) + (a >>> 0 < b >>> 0) | 0) + (a >>> 0 > 4294959103) << 18 | a - -8192 >>> 14;
+}
+function oi(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = p[a + 298 >> 1];
+ e = w(d, b >> 16);
+ b = w(d, b & 65535);
+ d = e << 16;
+ f = b + d | 0;
+ a = p[a + 300 >> 1];
+ g = w(a, c & 65535);
+ c = w(a, c >> 16);
+ h = c << 16;
+ a = g + h | 0;
+ i = f + a | 0;
+ c = ((((((e >> 16) + (b >> 31) | 0) + (g >> 31) | 0) + (c >> 16) | 0) + (f >>> 0 < d >>> 0) | 0) + (a >>> 0 < h >>> 0) | 0) + (i >>> 0 < a >>> 0) | 0;
+ b = c >> 31;
+ a = i + b | 0;
+ return ((b + c | 0) + (a >>> 0 < b >>> 0) | 0) + (a >>> 0 > 4294959103) << 18 | a - -8192 >>> 14;
+}
+function VF(a) {
+ var b = 0, c = 0, d = 0;
+ b = Ca - 48 | 0;
+ Ca = b;
+ q[b + 16 >> 2] = 0;
+ q[b + 20 >> 2] = 0;
+ o[b + 21 | 0] = 0;
+ o[b + 22 | 0] = 0;
+ o[b + 23 | 0] = 0;
+ o[b + 24 | 0] = 0;
+ o[b + 25 | 0] = 0;
+ o[b + 26 | 0] = 0;
+ o[b + 27 | 0] = 0;
+ o[b + 28 | 0] = 0;
+ q[b + 32 >> 2] = 0;
+ q[b + 36 >> 2] = 0;
+ q[b + 8 >> 2] = 0;
+ q[b + 12 >> 2] = 0;
+ o[b + 44 | 0] = 1;
+ q[b + 40 >> 2] = 0;
+ d = a;
+ a = WF(b + 8 | 0, iF(a, 1835104368));
+ c = t[a + 16 >> 2] < 6 ? 271040 : q[a + 12 >> 2];
+ c = r[c + 4 | 0] << 8 | r[c + 5 | 0];
+ q[d + 32 >> 2] = c;
+ Cq(a);
+ Ca = b + 48 | 0;
+ return c;
+}
+function KZ(a, b, c, d) {
+ var e = 0, f = 0;
+ e = Ca - 160 | 0;
+ Ca = e;
+ Y$(e + 8 | 0, 506984, 144);
+ a : {
+  b : {
+   if (b + -1 >>> 0 >= 2147483647) {
+    if (b) {
+     break b;
+    }
+    b = 1;
+    a = e + 159 | 0;
+   }
+   q[e + 52 >> 2] = a;
+   q[e + 28 >> 2] = a;
+   f = -2 - a | 0;
+   b = b >>> 0 > f >>> 0 ? f : b;
+   q[e + 56 >> 2] = b;
+   a = a + b | 0;
+   q[e + 36 >> 2] = a;
+   q[e + 24 >> 2] = a;
+   d_(e + 8 | 0, c, d);
+   if (!b) {
+    break a;
+   }
+   a = q[e + 28 >> 2];
+   o[a - ((a | 0) == q[e + 24 >> 2]) | 0] = 0;
+   break a;
+  }
+  q[160854] = 61;
+ }
+ Ca = e + 160 | 0;
+}
+function sS(a, b) {
+ var c = 0, d = 0;
+ c = Ca - 48 | 0;
+ Ca = c;
+ d = WQ(504933);
+ a : {
+  if (!b) {
+   q[c + 40 >> 2] = 0;
+   b = q[c + 44 >> 2];
+   q[c + 8 >> 2] = q[c + 40 >> 2];
+   q[c + 12 >> 2] = b;
+   q[c + 32 >> 2] = 0;
+   b = q[c + 36 >> 2];
+   q[c >> 2] = q[c + 32 >> 2];
+   q[c + 4 >> 2] = b;
+   lS(a, d, c, 1);
+   break a;
+  }
+  q[c + 40 >> 2] = b;
+  b = q[c + 44 >> 2];
+  q[c + 24 >> 2] = q[c + 40 >> 2];
+  q[c + 28 >> 2] = b;
+  q[c + 32 >> 2] = 3;
+  b = q[c + 36 >> 2];
+  q[c + 16 >> 2] = q[c + 32 >> 2];
+  q[c + 20 >> 2] = b;
+  lS(a, d, c + 16 | 0, 1);
+ }
+ Ca = c + 48 | 0;
+}
+function It(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ b = r[a + 164 | 0];
+ if ((b & 3) == 3) {
+  a : {
+   if (!(b & 4) | !(b & 8)) {
+    break a;
+   }
+   d = MG(a, c + 12 | 0);
+   b : {
+    if (!(r[a + 32 | 0] & 8)) {
+     break b;
+    }
+    b = q[c + 12 >> 2];
+    if (!b) {
+     break b;
+    }
+    e = q[a + 48 >> 2];
+    a = 0;
+    while (1) {
+     Jt(d, b, a, e);
+     a = a + 1 | 0;
+     b = q[c + 12 >> 2];
+     if (a >>> 0 < b >>> 0) {
+      continue;
+     }
+     break;
+    }
+   }
+   Ca = c + 16 | 0;
+   return;
+  }
+ }
+ J(228618, 228592, 170, 228607);
+ F();
+}
+function yV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 12) {
+    break b;
+   }
+   c = 11;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+     break b;
+    case 11:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 940;
+   return 14;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function xV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 12) {
+    break b;
+   }
+   c = 11;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+     break b;
+    case 11:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 943;
+   return 13;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function vV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 12) {
+    break b;
+   }
+   c = 11;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+     break b;
+    case 11:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 932;
+   return 14;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function uV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 12) {
+    break b;
+   }
+   c = 11;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+     break b;
+    case 11:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 942;
+   return 13;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function WN(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ i = q[a >> 2];
+ if (i) {
+  d = q[b + 12 >> 2];
+  e = q[b + 8 >> 2];
+  f = q[b + 4 >> 2];
+  g = q[b >> 2];
+  j = q[a + 16 >> 2];
+  while (1) {
+   c = (h << 3) + j | 0;
+   a = q[c + 4 >> 2];
+   d = (d | 0) > (a | 0) ? d : a;
+   c = q[c >> 2];
+   e = (e | 0) > (c | 0) ? e : c;
+   f = (f | 0) > (a | 0) ? a : f;
+   g = (g | 0) > (c | 0) ? c : g;
+   h = h + 1 | 0;
+   if ((i | 0) != (h | 0)) {
+    continue;
+   }
+   break;
+  }
+  q[b + 12 >> 2] = d;
+  q[b + 8 >> 2] = e;
+  q[b + 4 >> 2] = f;
+  q[b >> 2] = g;
+ }
+}
+function WL(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = q[a >> 2];
+ d = r[c | 0];
+ if (d) {
+  while (1) {
+   b = w(b ^ d, 16777619);
+   d = r[c + 1 | 0];
+   c = c + 1 | 0;
+   if (d) {
+    continue;
+   }
+   break;
+  }
+ }
+ return w(r[a + 15 | 0] ^ w(r[a + 14 | 0] ^ w(r[a + 13 | 0] ^ w(r[a + 12 | 0] ^ w(r[a + 11 | 0] ^ w(r[a + 10 | 0] ^ w(r[a + 9 | 0] ^ w(r[a + 8 | 0] ^ w(r[a + 7 | 0] ^ w(r[a + 6 | 0] ^ w(r[a + 5 | 0] ^ w(r[a + 4 | 0] ^ b, 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619), 16777619) | 0;
+}
+function UV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 12) {
+    break b;
+   }
+   c = 17;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+     break b;
+    case 11:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 959;
+   return 21;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function JV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 12) {
+    break b;
+   }
+   c = 33;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+     break b;
+    case 11:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 928;
+   return 38;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function rS(a, b, c) {
+ var d = 0;
+ d = Ca - 48 | 0;
+ Ca = d;
+ a : {
+  if (!c) {
+   q[d + 40 >> 2] = 0;
+   c = q[d + 44 >> 2];
+   q[d + 8 >> 2] = q[d + 40 >> 2];
+   q[d + 12 >> 2] = c;
+   q[d + 32 >> 2] = 0;
+   c = q[d + 36 >> 2];
+   q[d >> 2] = q[d + 32 >> 2];
+   q[d + 4 >> 2] = c;
+   a = lS(a, b, d, 1);
+   break a;
+  }
+  q[d + 40 >> 2] = c;
+  c = q[d + 44 >> 2];
+  q[d + 24 >> 2] = q[d + 40 >> 2];
+  q[d + 28 >> 2] = c;
+  q[d + 32 >> 2] = 3;
+  c = q[d + 36 >> 2];
+  q[d + 16 >> 2] = q[d + 32 >> 2];
+  q[d + 20 >> 2] = c;
+  a = lS(a, b, d + 16 | 0, 1);
+ }
+ Ca = d + 48 | 0;
+ return a;
+}
+function fV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = Y0(b + -11 | 0, 31);
+   if (d >>> 0 > 9) {
+    break b;
+   }
+   c = 0;
+   c : {
+    switch (d - 1 | 0) {
+    default:
+     return 55;
+    case 0:
+     return 56;
+    case 1:
+     break a;
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+     break b;
+    case 8:
+     break c;
+    }
+   }
+   q[a >> 2] = 913;
+   return 2;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function MV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 9) {
+    break b;
+   }
+   c = 33;
+   c : {
+    switch (d - 1 | 0) {
+    case 8:
+     q[a >> 2] = 949;
+     return 33;
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 6:
+    case 7:
+     break b;
+    case 5:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 951;
+   return 33;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function LV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 9) {
+    break b;
+   }
+   c = 33;
+   c : {
+    switch (d - 1 | 0) {
+    case 8:
+     q[a >> 2] = 949;
+     return 33;
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 6:
+    case 7:
+     break b;
+    case 5:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 947;
+   return 33;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function hV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 12) {
+    break b;
+   }
+   c = 3;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+     break b;
+    case 11:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 918;
+   return 6;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function gV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 12) {
+    break b;
+   }
+   c = 3;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+     break b;
+    case 11:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 925;
+   return 5;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function uJ(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ q[a + 8 >> 2] = c;
+ q[a + 4 >> 2] = b;
+ q[a + 12 >> 2] = 0;
+ q[a + 16 >> 2] = d;
+ q[a >> 2] = b;
+ b = q[72476];
+ q[a + 20 >> 2] = q[72475];
+ q[a + 24 >> 2] = b;
+ b = q[72478];
+ q[a + 28 >> 2] = q[72477];
+ q[a + 32 >> 2] = b;
+ b = q[72480];
+ q[a + 36 >> 2] = q[72479];
+ q[a + 40 >> 2] = b;
+ b = q[72482];
+ q[a + 44 >> 2] = q[72481];
+ q[a + 48 >> 2] = b;
+ b = q[72484];
+ q[a + 52 >> 2] = q[72483];
+ q[a + 56 >> 2] = b;
+ b = q[72486];
+ q[a + 60 >> 2] = q[72485];
+ q[a + 64 >> 2] = b;
+ q[a + 68 >> 2] = q[72487];
+}
+function iH(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ var g = 0;
+ while (1) {
+  f = q[b >> 2];
+  q[b >> 2] = 1;
+  if (f) {
+   continue;
+  }
+  break;
+ }
+ f = 0;
+ g = q[b + 4 >> 2];
+ a : {
+  if (we(g, c, q[b + 8 >> 2])) {
+   break a;
+  }
+  c = q[g + 84 >> 2];
+  q[d >> 2] = q[c + 32 >> 2] - q[c + 44 >> 2];
+  q[e >> 2] = q[c + 48 >> 2] + q[c + 36 >> 2];
+  if (q[a + 20 >> 2] <= -1) {
+   q[d >> 2] = 0 - q[d >> 2];
+  }
+  f = 1;
+  if (q[a + 24 >> 2] > -1) {
+   break a;
+  }
+  q[e >> 2] = 0 - q[e >> 2];
+ }
+ q[b >> 2] = 0;
+ return f | 0;
+}
+function gS(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  if (q[a + 12 >> 2] == -1) {
+   b = q[a + 8 >> 2] + a | 0;
+   a = q[b + 4 >> 2];
+   rR(a & 1 ? (a & -2) + b | 0 : a);
+   return;
+  }
+  b = q[a + 12 >> 2];
+  q[a + 12 >> 2] = b + -1;
+  if ((b | 0) != 1) {
+   break a;
+  }
+  d = q[a + 8 >> 2] + a | 0;
+  if (q[a >> 2] >= 1) {
+   b = 0;
+   while (1) {
+    e = (b << 3) + d | 0;
+    c = q[e + 4 >> 2];
+    eS(c & 1 ? (c & -2) + e | 0 : c);
+    b = b + 1 | 0;
+    if ((b | 0) < q[a >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  M$(d);
+  M$(a);
+ }
+}
+function lT(a, b) {
+ var c = 0;
+ a : {
+  if ((a | 0) < 0) {
+   break a;
+  }
+  if ((a | 0) <= 127) {
+   o[b | 0] = a;
+   return 1;
+  }
+  if ((a | 0) <= 2047) {
+   o[b + 1 | 0] = a & 63 | 128;
+   o[b | 0] = a >>> 6 | 192;
+   return 2;
+  }
+  if ((a | 0) <= 65535) {
+   o[b + 2 | 0] = a & 63 | 128;
+   o[b | 0] = a >>> 12 | 224;
+   o[b + 1 | 0] = a >>> 6 & 63 | 128;
+   return 3;
+  }
+  if ((a | 0) > 1114111) {
+   break a;
+  }
+  o[b + 3 | 0] = a & 63 | 128;
+  o[b | 0] = a >>> 18 | 240;
+  o[b + 2 | 0] = a >>> 6 & 63 | 128;
+  o[b + 1 | 0] = a >>> 12 & 63 | 128;
+  c = 4;
+ }
+ return c;
+}
+function T_(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ while (1) {
+  b = a;
+  a = b + 1 | 0;
+  if (vY(o[b | 0])) {
+   continue;
+  }
+  break;
+ }
+ c = o[b | 0];
+ e = c + -43 | 0;
+ a : {
+  if (e >>> 0 > 2) {
+   break a;
+  }
+  b : {
+   switch (e - 1 | 0) {
+   case 1:
+    f = 1;
+    break;
+   case 0:
+    break a;
+   default:
+    break b;
+   }
+  }
+  c = o[a | 0];
+  b = a;
+  g = f;
+ }
+ if (TZ(c)) {
+  while (1) {
+   d = (w(d, 10) - o[b | 0] | 0) + 48 | 0;
+   a = o[b + 1 | 0];
+   b = b + 1 | 0;
+   if (TZ(a)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return g ? d : 0 - d | 0;
+}
+function He(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
+ if (!(!a | !b)) {
+  d = q[a >> 2];
+  g = q[b >> 2];
+  c = c << 16;
+  j = ue(d, g, c);
+  e = q[a + 4 >> 2];
+  h = q[b + 8 >> 2];
+  k = ue(e, h, c);
+  f = d;
+  d = q[b + 4 >> 2];
+  l = ue(f, d, c);
+  f = e;
+  e = q[b + 12 >> 2];
+  f = ue(f, e, c);
+  i = q[a + 8 >> 2];
+  g = ue(i, g, c);
+  a = q[a + 12 >> 2];
+  m = b, n = g + ue(a, h, c) | 0, q[m + 8 >> 2] = n;
+  q[b + 4 >> 2] = l + f;
+  q[b >> 2] = j + k;
+  m = b, n = ue(i, d, c) + ue(a, e, c) | 0, q[m + 12 >> 2] = n;
+ }
+}
+function c_(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ a : {
+  if ((b | 0) == 1 & a >>> 0 < 0 | b >>> 0 < 1) {
+   d = a;
+   break a;
+  }
+  while (1) {
+   d = V0(a, b, 10, 0);
+   e = Ea;
+   f = e;
+   e = T0(d, e, 10, 0);
+   c = c + -1 | 0;
+   o[c | 0] = a - e | 48;
+   e = (b | 0) == 9 & a >>> 0 > 4294967295 | b >>> 0 > 9;
+   a = d;
+   b = f;
+   if (e) {
+    continue;
+   }
+   break;
+  }
+ }
+ if (d) {
+  while (1) {
+   c = c + -1 | 0;
+   a = (d >>> 0) / 10 | 0;
+   o[c | 0] = d - w(a, 10) | 48;
+   b = d >>> 0 > 9;
+   d = a;
+   if (b) {
+    continue;
+   }
+   break;
+  }
+ }
+ return c;
+}
+function lH(a, b, c, d, e, f, g) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ while (1) {
+  a = q[b >> 2];
+  q[b >> 2] = 1;
+  if (a) {
+   continue;
+  }
+  break;
+ }
+ g = q[b + 4 >> 2];
+ a = 0;
+ a : {
+  if (we(g, c, q[b + 8 >> 2])) {
+   break a;
+  }
+  c = q[g + 84 >> 2];
+  a = 0;
+  if (q[c + 72 >> 2] != 1869968492) {
+   break a;
+  }
+  a = 0;
+  if (p[c + 110 >> 1] >>> 0 <= d >>> 0) {
+   break a;
+  }
+  a = q[c + 112 >> 2] + (d << 3) | 0;
+  q[e >> 2] = q[a >> 2];
+  q[f >> 2] = q[a + 4 >> 2];
+  a = 1;
+ }
+ q[b >> 2] = 0;
+ return a | 0;
+}
+function Xi(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ b = Ca - 16 | 0;
+ q[b + 12 >> 2] = a;
+ q[a + 60 >> 2] = 2333;
+ q[a + 64 >> 2] = 0;
+ q[a + 52 >> 2] = 1667;
+ q[a + 56 >> 2] = 275;
+ q[a + 44 >> 2] = 1e3;
+ q[a + 48 >> 2] = 275;
+ q[a + 36 >> 2] = 500;
+ q[a + 40 >> 2] = 400;
+ o[a + 32 | 0] = 1;
+ q[a + 28 >> 2] = 1;
+ c = b;
+ b = q[a + 8 >> 2] ^ (b + 8 ^ b + 12);
+ b = b >>> 10 ^ b ^ b >>> 20;
+ q[c + 8 >> 2] = b;
+ q[a + 68 >> 2] = b;
+ a : {
+  if ((b | 0) <= -1) {
+   c = 0 - b | 0;
+  } else {
+   if (b) {
+    break a;
+   }
+   c = 123456789;
+  }
+  q[a + 68 >> 2] = c;
+ }
+ return 0;
+}
+function BY(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ a : {
+  b : {
+   c : {
+    b = g0(a);
+    if (!(b >>> 0 < 6 | b + -6 >>> 0 < 0)) {
+     b = (a + b | 0) + -6 | 0;
+     if (!ZY(b, 505037, 6)) {
+      break c;
+     }
+    }
+    q[160854] = 28;
+    break b;
+   }
+   d = 100;
+   while (1) {
+    AY(b);
+    q[c >> 2] = 384;
+    e = uY(a, 524482, c);
+    if ((e | 0) > -1) {
+     break a;
+    }
+    d = d + -1 | 0;
+    if (q[160854] == 20 ? d : 0) {
+     continue;
+    }
+    break;
+   }
+   Y$(b, 505037, 6);
+  }
+  e = -1;
+ }
+ Ca = c + 16 | 0;
+ return e;
+}
+function ke(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ a : {
+  if (!d | (!b | !c)) {
+   break a;
+  }
+  f = q[a + 16 >> 2];
+  if (!(f & 31)) {
+   e = O$(q[a + 12 >> 2], w(f, 12) + 384 | 0);
+   if (!e) {
+    break a;
+   }
+   q[a + 12 >> 2] = e;
+  }
+  e = mZ(b);
+  g = q[a + 12 >> 2];
+  h = w(f, 12);
+  b = g + h | 0;
+  q[b >> 2] = e;
+  e = L$(d);
+  q[b + 4 >> 2] = e;
+  b = q[b >> 2];
+  if (!(!e | !b)) {
+   Y$(e, c, d);
+   q[(w(f, 12) + g | 0) + 8 >> 2] = d;
+   q[a + 16 >> 2] = q[a + 16 >> 2] + 1;
+   return;
+  }
+  M$(b);
+  M$(q[(q[a + 12 >> 2] + h | 0) + 4 >> 2]);
+ }
+}
+function _i(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ d = yg(a, 0);
+ a : {
+  if (d) {
+   break a;
+  }
+  f = Bg(a, e + 12 | 0);
+  d = q[e + 12 >> 2];
+  if (d) {
+   break a;
+  }
+  b : {
+   if ((f + 32767 & 65535) >>> 0 < 2) {
+    Wg(a, e + 12 | 0);
+    d = q[e + 12 >> 2];
+    if (d) {
+     break a;
+    }
+    if ((f | 0) == 32769) {
+     break b;
+    }
+   }
+   d = yg(a, 0);
+   if (d) {
+    break a;
+   }
+  }
+  d = Kg(a, c);
+  if (d) {
+   break a;
+  }
+  b = ZY(q[a + 32 >> 2], b, c);
+  Ng(a);
+  d = ((b | 0) != 0) << 1;
+ }
+ Ca = e + 16 | 0;
+ return d;
+}
+function Up(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ e = q[a + 16 >> 2];
+ a = s[a + 8 >> 1];
+ b = Te(b, 1, 0, a + 1 | 0, 0, c + 12 | 0);
+ Ca = c + 16 | 0;
+ if (q[c + 12 >> 2]) {
+  b = d;
+ } else {
+  a : {
+   if (!a) {
+    break a;
+   }
+   while (1) {
+    c = r[e | 0];
+    if (!c) {
+     break a;
+    }
+    o[b + d | 0] = c >>> 0 < 32 ? 63 : c << 24 >> 24 < 0 ? 63 : c;
+    e = e + 1 | 0;
+    d = d + 1 | 0;
+    if ((a | 0) != (d | 0)) {
+     continue;
+    }
+    break;
+   }
+   d = a;
+  }
+  o[b + d | 0] = 0;
+ }
+ return b | 0;
+}
+function Ln(a) {
+ var b = 0, c = 0;
+ c = q[a + 568 >> 2];
+ if ((c | 0) != q[a + 64 >> 2]) {
+  b = q[a + 96 >> 2];
+  c = n[q[a + 24 >> 2]](q[a + 32 >> 2], c + 42 | 0) | 0;
+  q[a + 96 >> 2] = c;
+  if (!c) {
+   q[a + 96 >> 2] = b;
+   return 0;
+  }
+  o[(c + q[a + 568 >> 2] | 0) + -2 | 0] = 0;
+  o[(q[a + 568 >> 2] + q[a + 96 >> 2] | 0) + -1 | 0] = 0;
+  if (b) {
+   Y$(q[a + 96 >> 2], b, q[a + 52 >> 2]);
+   n[q[a + 28 >> 2]](q[a + 32 >> 2], b);
+  }
+  b = q[a + 568 >> 2];
+  q[a + 64 >> 2] = b;
+  q[a + 68 >> 2] = b + -1;
+  q[a + 100 >> 2] = b + q[a + 96 >> 2];
+ }
+ return 1;
+}
+function CY(a, b) {
+ var c = 0, d = 0, e = 0;
+ while (1) {
+  o[a + c | 0] = r[c + 505044 | 0];
+  d = (c | 0) != 14;
+  c = c + 1 | 0;
+  if (d) {
+   continue;
+  }
+  break;
+ }
+ if (b) {
+  c = 14;
+  d = b;
+  while (1) {
+   c = c + 1 | 0;
+   e = d >>> 0 > 9;
+   d = (d >>> 0) / 10 | 0;
+   if (e) {
+    continue;
+   }
+   break;
+  }
+  o[a + c | 0] = 0;
+  while (1) {
+   c = c + -1 | 0;
+   d = (b >>> 0) / 10 | 0;
+   o[c + a | 0] = b - w(d, 10) | 48;
+   e = b >>> 0 > 9;
+   b = d;
+   if (e) {
+    continue;
+   }
+   break;
+  }
+  return;
+ }
+ o[a + 14 | 0] = 48;
+ o[a + 15 | 0] = 0;
+}
+function vA(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  e = a + -52 | 0;
+  while (1) {
+   b = q[e >> 2];
+   if (!b) {
+    return 271040;
+   }
+   c = N$(1, 228);
+   if (c) {
+    kB(c, b);
+   }
+   d = q[a >> 2];
+   b = c ? c : 271040;
+   q[a >> 2] = d ? d : b;
+   if (!d) {
+    break a;
+   }
+   if (!(!c | !b)) {
+    c = b + 224 | 0;
+    M$(q[c >> 2]);
+    q[c >> 2] = 0;
+    q[b + 216 >> 2] = 0;
+    q[b + 220 >> 2] = 0;
+    Kq(b);
+    M$(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ return b;
+}
+function _z(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  e = a + -44 | 0;
+  while (1) {
+   b = q[e >> 2];
+   if (!b) {
+    return 271040;
+   }
+   c = N$(1, 20);
+   if (c) {
+    LA(c, b);
+   }
+   d = q[a >> 2];
+   b = c ? c : 271040;
+   q[a >> 2] = d ? d : b;
+   if (!d) {
+    break a;
+   }
+   if (!(!c | !b)) {
+    c = q[b + 12 >> 2];
+    Cq(c ? c : 271040);
+    q[b + 12 >> 2] = 0;
+    c = q[b + 16 >> 2];
+    Cq(c ? c : 271040);
+    M$(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ return b;
+}
+function $z(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  e = a + -16 | 0;
+  while (1) {
+   b = q[e >> 2];
+   if (!b) {
+    return 271040;
+   }
+   c = N$(1, 20);
+   if (c) {
+    EA(c, b);
+   }
+   d = q[a >> 2];
+   b = c ? c : 271040;
+   q[a >> 2] = d ? d : b;
+   if (!d) {
+    break a;
+   }
+   if (!(!c | !b)) {
+    c = q[b + 12 >> 2];
+    Cq(c ? c : 271040);
+    q[b + 12 >> 2] = 0;
+    c = q[b + 16 >> 2];
+    Cq(c ? c : 271040);
+    M$(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ return b;
+}
+function ti(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ e = q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] + -35 | 0;
+ a : {
+  if (e >>> 0 > 5) {
+   break a;
+  }
+  b : {
+   switch (e - 1 | 0) {
+   case 4:
+    if (r[a + 615 | 0]) {
+     break a;
+    }
+    a = q[b + 16 >> 2] + (c << 3) | 0;
+    q[a >> 2] = q[a >> 2] + d;
+    break a;
+   case 0:
+   case 1:
+   case 2:
+   case 3:
+    break a;
+   default:
+    break b;
+   }
+  }
+  a = q[b + 16 >> 2] + (c << 3) | 0;
+  q[a >> 2] = q[a >> 2] + d;
+ }
+ a = q[b + 24 >> 2] + c | 0;
+ o[a | 0] = r[a | 0] | 8;
+}
+function kJ(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0;
+ c = q[a + 4 >> 2];
+ e = c >> 6;
+ d = q[a >> 2];
+ a = d >> 6;
+ if (!(q[b + 188 >> 2] | (q[b + 184 >> 2] ? 0 : !q[b + 180 >> 2]))) {
+  jJ(b);
+ }
+ f = c << 2;
+ d = d << 2;
+ q[b + 180 >> 2] = 0;
+ q[b + 184 >> 2] = 0;
+ q[b + 160 >> 2] = e;
+ c = q[b + 164 >> 2];
+ q[b + 156 >> 2] = (c | 0) > (a | 0) ? c + -1 | 0 : a;
+ c = 1;
+ c = q[b + 176 >> 2] <= (e | 0) | q[b + 172 >> 2] > (e | 0) ? c : q[b + 168 >> 2] <= (a | 0);
+ q[b + 212 >> 2] = f;
+ q[b + 208 >> 2] = d;
+ q[b + 188 >> 2] = c;
+ return 0;
+}
+function $d(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ while (1) {
+  d = b;
+  b = b + 1 | 0;
+  if (r[d | 0] == 42) {
+   continue;
+  }
+  break;
+ }
+ d = be(d, 3228) ? d : 3228;
+ b = q[a >> 2];
+ a : {
+  while (1) {
+   if ((b | 0) >= 1) {
+    b = b + -1 | 0;
+    if (iZ(q[q[a + 16 >> 2] + w(b, 144) >> 2], d)) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  e = q[a + 84 >> 2];
+  b = q[a + 76 >> 2];
+  q[c + 8 >> 2] = q[q[a + 16 >> 2] + w(b, 144) >> 2];
+  q[c + 4 >> 2] = d;
+  q[c >> 2] = a;
+  Yd(e, 2, 3236, c);
+ }
+ Ca = c + 16 | 0;
+ return b;
+}
+function Xz(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ b = q[a >> 2];
+ a : {
+  if (b) {
+   break a;
+  }
+  e = a + -48 | 0;
+  while (1) {
+   b = q[e >> 2];
+   if (!b) {
+    return 271040;
+   }
+   c = N$(1, 20);
+   if (c) {
+    gC(c, b);
+   }
+   d = q[a >> 2];
+   b = c ? c : 271040;
+   q[a >> 2] = d ? d : b;
+   if (!d) {
+    break a;
+   }
+   if (!(!c | !b)) {
+    c = q[b + 8 >> 2];
+    Cq(c ? c : 271040);
+    q[b + 8 >> 2] = 0;
+    c = q[b + 12 >> 2];
+    Cq(c ? c : 271040);
+    M$(b);
+   }
+   b = q[a >> 2];
+   if (!b) {
+    continue;
+   }
+   break;
+  }
+ }
+ return b;
+}
+function UJ(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0;
+ b = q[a + 20 >> 2];
+ if (!b) {
+  return 3;
+ }
+ a : {
+  b : {
+   if (!r[a + 68 | 0]) {
+    p[b >> 1] = s[b >> 1] + 1;
+    break b;
+   }
+   a = q[a + 12 >> 2];
+   if ((p[a + 20 >> 1] + p[a + 56 >> 1] | 0) + 1 >>> 0 > t[a + 8 >> 2]) {
+    a = Ue(a, 0, 1);
+    if (a) {
+     break a;
+    }
+   }
+   d = b;
+   c = s[b >> 1];
+   a = c << 16 >> 16;
+   if ((a | 0) >= 1) {
+    p[(q[b + 12 >> 2] + (c << 1) | 0) + -2 >> 1] = s[b + 2 >> 1] + -1;
+    a = s[b >> 1];
+   }
+   p[d >> 1] = a + 1;
+  }
+  a = 0;
+ }
+ return a | 0;
+}
+function vR(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ a : {
+  a = xR(a, b, c, d);
+  if (a) {
+   b = q[c + 68 >> 2] / 1e3 | 0;
+   d = q[e >> 2];
+   c = q[c + 64 >> 2];
+   b : {
+    if ((d | 0) == (c | 0)) {
+     if (q[e + 4 >> 2] < (b | 0)) {
+      break b;
+     }
+     break a;
+    }
+    if ((d | 0) >= (c | 0)) {
+     break a;
+    }
+   }
+   d = q[f >> 2];
+   if (d) {
+    rR(d);
+   }
+   q[e + 4 >> 2] = b;
+   q[e >> 2] = c;
+   q[f >> 2] = a;
+   a = 1;
+  } else {
+   a = 0;
+  }
+  return a | 0;
+ }
+ rR(a);
+ return 0;
+}
+function Ij(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0;
+ e = q[a + 532 >> 2];
+ if (!e) {
+  return 6;
+ }
+ f = q[b >> 2];
+ d = q[e >> 2];
+ a = 6;
+ a : {
+  if (f >>> 0 < d >>> 0) {
+   break a;
+  }
+  if (d) {
+   e = q[e + 136 >> 2];
+   a = 0;
+   while (1) {
+    g = a << 2;
+    q[g + c >> 2] = q[e + g >> 2];
+    a = a + 1 | 0;
+    if ((d | 0) != (a | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = 0;
+  if (f >>> 0 <= d >>> 0) {
+   break a;
+  }
+  Z$((d << 2) + c | 0, 0, f - d << 2);
+  a = 0;
+ }
+ q[b >> 2] = d;
+ return a | 0;
+}
+function cy(a, b, c, d) {
+ var e = 0, f = 0, g = 0;
+ a : {
+  e = w(b, 20) + a | 0;
+  g = r[e + 18 | 0];
+  f = s[e + 16 >> 1];
+  if ((g >>> 1 ^ -1) & 1 | !f) {
+   break a;
+  }
+  p[e + 16 >> 1] = 0;
+  e = (f << 16 >> 16) + b | 0;
+  if ((e | 0) == (d | 0)) {
+   break a;
+  }
+  cy(a, e, c, d);
+  b : {
+   if ((c & -2) == 4) {
+    q[(w(e, 20) + a | 0) + 12 >> 2] = 0 - q[(w(b, 20) + a | 0) + 12 >> 2];
+    break b;
+   }
+   q[(w(e, 20) + a | 0) + 8 >> 2] = 0 - q[(w(b, 20) + a | 0) + 8 >> 2];
+  }
+  a = w(e, 20) + a | 0;
+  p[a + 16 >> 1] = 0 - f;
+  o[a + 18 | 0] = g;
+ }
+}
+function iV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 7) {
+    break b;
+   }
+   c = 11;
+   c : {
+    switch (d - 1 | 0) {
+    case 6:
+     q[a >> 2] = 926;
+     return 11;
+    case 0:
+    case 1:
+    case 3:
+    case 4:
+    case 5:
+     break b;
+    case 2:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 927;
+   return 9;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function hS(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ f = q[a + 8 >> 2] + a | 0;
+ a : {
+  b : {
+   if (!a) {
+    a = 0;
+    break b;
+   }
+   c = q[a >> 2] + -1 | 0;
+   if ((c | 0) < 0) {
+    a = 0;
+    break b;
+   }
+   while (1) {
+    a = d + c >> 1;
+    e = q[(a << 3) + f >> 2] - b | 0;
+    if (!e) {
+     break a;
+    }
+    g = (e | 0) < 0;
+    d = g ? a + 1 | 0 : d;
+    c = g ? c : a + -1 | 0;
+    if ((d | 0) <= (c | 0)) {
+     continue;
+    }
+    break;
+   }
+   d = e >>> 31 | 0;
+  }
+  a = a + d ^ -1;
+ }
+ return (a | 0) < 0 ? 0 : (a << 3) + f | 0;
+}
+function jX(a, b) {
+ var c = 0;
+ c = 0;
+ a : {
+  b : {
+   if (!iZ(a, b)) {
+    break b;
+   }
+   c = 1;
+   if (!iZ(a, b + 20 | 0)) {
+    break b;
+   }
+   c = 2;
+   if (!iZ(a, b + 40 | 0)) {
+    break b;
+   }
+   c = 3;
+   if (!iZ(a, b + 60 | 0)) {
+    break b;
+   }
+   c = 4;
+   if (!iZ(a, b + 80 | 0)) {
+    break b;
+   }
+   c = 5;
+   if (!iZ(a, b + 100 | 0)) {
+    break b;
+   }
+   c = 6;
+   if (!iZ(a, b + 120 | 0)) {
+    break b;
+   }
+   c = 41;
+   if (iZ(a, b + 140 | 0)) {
+    break a;
+   }
+   c = 7;
+  }
+  c = q[(w(c, 20) + b | 0) + 16 >> 2];
+ }
+ return c;
+}
+function GH(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0;
+ d = xH(b, c);
+ a : {
+  if (d) {
+   break a;
+  }
+  a = q[b + 24 >> 2];
+  if ((a | 0) < 1) {
+   break a;
+  }
+  b = q[b + 28 >> 2];
+  f = b + w(a, 40) | 0;
+  a = q[c + 4 >> 2];
+  c = q[c + 8 >> 2];
+  while (1) {
+   q[a >> 2] = q[b + 16 >> 2];
+   q[a + 4 >> 2] = q[b + 20 >> 2];
+   e = s[b >> 1];
+   o[c | 0] = e & 1 ? 0 : e & 2 ? 2 : 1;
+   c = c + 1 | 0;
+   a = a + 8 | 0;
+   b = b + 40 | 0;
+   if (b >>> 0 < f >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ return d | 0;
+}
+function CV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 10) {
+    break b;
+   }
+   c = 0;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+     break b;
+    case 9:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 935;
+   return 58;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function Rn(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ a : {
+  d = 1 << q[a + 564 >> 2];
+  e = q[a + 64 >> 2];
+  if ((d | 0) == (e | 0)) {
+   break a;
+  }
+  c = s[a + 560 >> 1];
+  if (c & 4) {
+   break a;
+  }
+  if (q[a + 96 >> 2]) {
+   b = q[a + 52 >> 2];
+  } else {
+   b = 0;
+  }
+  b : {
+   if (!(c & 16)) {
+    b = d;
+    break b;
+   }
+   c = q[a + 184 >> 2] + b | 0;
+   b = e ? e : 1024;
+   c = (b | 0) < (c | 0) ? c : b;
+   while (1) {
+    b = d;
+    d = b >> 1;
+    if ((d | 0) >= (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[a + 568 >> 2] = b;
+ }
+}
+function ED(a, b, c) {
+ var d = 0;
+ if (!HD(b, a, 6)) {
+  return 0;
+ }
+ o[a + 1 | 0] = c;
+ o[a + 3 | 0] = 8;
+ o[a + 2 | 0] = 0;
+ o[a | 0] = c >>> 8;
+ d = a + 4 | 0;
+ if (!HD(b, d, 2)) {
+  return 0;
+ }
+ o[a + 4 | 0] = 256;
+ o[a + 5 | 0] = 1;
+ c = 1;
+ if (!HD(b, d, 4)) {
+  return 0;
+ }
+ a : {
+  if (!(r[a + 3 | 0] & 16)) {
+   break a;
+  }
+  c = 0;
+  if (!HD(b, a, (r[a + 5 | 0] << 1 | r[a + 4 | 0] << 9) + 8 | 0)) {
+   break a;
+  }
+  a = (a + 4 | 0) + (r[a + 5 | 0] << 1 | r[a + 4 | 0] << 9) | 0;
+  o[a + 3 | 0] = 0;
+  o[a + 2 | 0] = 0;
+  c = 1;
+ }
+ return c;
+}
+function WP(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ c = GQ();
+ a : {
+  if (!c) {
+   break a;
+  }
+  while (1) {
+   d = r[b + 480514 | 0];
+   e = d >>> 5 | 0;
+   if (!(e >>> 0 >= t[a + 4 >> 2] | !(q[((e << 2) + a | 0) + 8 >> 2] >>> (d & 31) & 1))) {
+    xQ(c, (b << 5) + 444768 | 0);
+   }
+   b = b + 1 | 0;
+   if ((b | 0) != 246) {
+    continue;
+   }
+   break;
+  }
+  a = q[a >> 2];
+  if (!a) {
+   break a;
+  }
+  a = yQ(a);
+  if (!a) {
+   break a;
+  }
+  while (1) {
+   b = zQ(a);
+   if (b) {
+    xQ(c, b);
+    continue;
+   }
+   break;
+  }
+  AQ(a);
+ }
+ return c;
+}
+function Td(a) {
+ var b = 0, c = 0;
+ b = Ca - 16 | 0;
+ Ca = b;
+ while (1) {
+  q[b + 12 >> 2] = a;
+  c = r[a | 0];
+  if (!((c | 0) != 38 ? (c | 0) != 72 : 0)) {
+   a = a + 1 | 0;
+   continue;
+  }
+  break;
+ }
+ a = K_(a, b + 12 | 0);
+ Ca = b + 16 | 0;
+ c = a;
+ b = a >>> 0 <= 2147483648 ? 0 : 1;
+ a = Ea;
+ b = (a | 0) > -1 ? 1 : (a | 0) >= -1 ? b : 0;
+ c = b ? c : -2147483648;
+ a = b ? a : -1;
+ a = (a | 0) < 0 ? 1 : (a | 0) <= 0 ? c >>> 0 >= 2147483647 ? 0 : 1 : 0;
+ a = a ? c : 2147483647;
+ return a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+}
+function TJ(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = q[a + 12 >> 2];
+ a : {
+  if ((p[d + 22 >> 1] + p[d + 58 >> 1] | 0) + 1 >>> 0 > t[d + 4 >> 2]) {
+   d = Ue(d, 1, 0);
+   if (d) {
+    break a;
+   }
+  }
+  d = q[a + 20 >> 2];
+  if (r[a + 68 | 0]) {
+   a = q[d + 8 >> 2];
+   e = p[d + 2 >> 1];
+   f = q[d + 4 >> 2] + (e << 3) | 0;
+   g = f, h = Ae(b) >> 16, q[g >> 2] = h;
+   g = f, h = Ae(c) >> 16, q[g + 4 >> 2] = h;
+   o[a + e | 0] = 1;
+  }
+  p[d + 2 >> 1] = s[d + 2 >> 1] + 1;
+  d = 0;
+ }
+ return d | 0;
+}
+function pG(a, b, c) {
+ var d = 0, e = 0;
+ a : {
+  d = q[a + 80 >> 2] + c | 0;
+  if (!d | t[a + 84 >> 2] > d >>> 0) {
+   break a;
+  }
+  if (oG(a, d)) {
+   break a;
+  }
+  return 0;
+ }
+ b : {
+  d = q[a + 88 >> 2];
+  c : {
+   if ((d | 0) != q[a + 92 >> 2]) {
+    break c;
+   }
+   e = c;
+   c = q[a + 80 >> 2];
+   if (e + c >>> 0 <= q[a + 72 >> 2] + b >>> 0) {
+    break c;
+   }
+   if (!r[a + 69 | 0]) {
+    break b;
+   }
+   b = a;
+   a = q[a + 96 >> 2];
+   q[b + 92 >> 2] = a;
+   Y$(a, d, w(c, 20));
+  }
+  return 1;
+ }
+ J(272302, 272314, 167, 272327);
+ F();
+}
+function Tg(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ o[c + 15 | 0] = 0;
+ q[b >> 2] = 0;
+ d = q[a + 8 >> 2];
+ a : {
+  b : {
+   e = q[a + 20 >> 2];
+   c : {
+    if (e) {
+     if ((n[e](a, d, c + 15 | 0, 1) | 0) != 1) {
+      break b;
+     }
+     d = q[a + 8 >> 2];
+     b = r[c + 15 | 0];
+     break c;
+    }
+    if (d >>> 0 >= t[a + 4 >> 2]) {
+     break b;
+    }
+    b = r[q[a >> 2] + d | 0];
+    o[c + 15 | 0] = b;
+   }
+   q[a + 8 >> 2] = d + 1;
+   break a;
+  }
+  q[b >> 2] = 85;
+  b = 0;
+ }
+ Ca = c + 16 | 0;
+ return b << 24 >> 24;
+}
+function zx(a, b) {
+ var c = 0, d = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 8) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if ((c | 0) == 9) {
+   break a;
+  }
+  d = a;
+  a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+  a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  d = rx(a ? d + a | 0 : 271040, b, c);
+ }
+ return d;
+}
+function bw(a, b) {
+ var c = 0, d = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 8) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((c | 0) < 1) {
+   break a;
+  }
+  c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  if ((c | 0) == 7) {
+   break a;
+  }
+  d = a;
+  a = r[a + 4 | 0] | r[a + 5 | 0] << 8 | (r[a + 6 | 0] << 16 | r[a + 7 | 0] << 24);
+  a = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  d = Xv(a ? d + a | 0 : 271040, b, c);
+ }
+ return d;
+}
+function py(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = r[a | 0] | r[a + 1 | 0] << 8;
+ c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+ a : {
+  if (c >>> 0 > 1) {
+   break a;
+  }
+  if (c - 1) {
+   c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   d = c ? c + a | 0 : 271040;
+   c = q[b + 96 >> 2];
+   if ((ct(d, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]) | 0) == -1) {
+    break a;
+   }
+   Ux(a + 4 | 0, b, a, a + 6 | 0, q[c + 96 >> 2] + w(q[c + 72 >> 2], 20) | 0);
+   q[c + 72 >> 2] = q[c + 72 >> 2] + 1;
+   return 1;
+  }
+  e = Vx(a, b);
+ }
+ return e;
+}
+function dE(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ b = a + 24 | 0;
+ xy(b, 543);
+ vy(b, 1819239276, 1, 1);
+ vy(b, 1667460464, 1, 1);
+ xy(b, 544);
+ a = 0;
+ while (1) {
+  c = a << 3;
+  vy(b, q[c + 263968 >> 2], q[c + 263972 >> 2], 1);
+  xy(b, 0);
+  a = a + 1 | 0;
+  if ((a | 0) != 11) {
+   continue;
+  }
+  break;
+ }
+ xy(b, 545);
+ vy(b, 1768843636, 12, 1);
+ vy(b, 1886545267, 13, 1);
+ vy(b, 1633842803, 13, 1);
+ vy(b, 1651275635, 13, 1);
+ vy(b, 1886614643, 13, 1);
+ vy(b, 1751215214, 13, 1);
+ vy(b, 1667329140, 1, 1);
+ vy(b, 1668049255, 1, 1);
+ xy(b, 546);
+}
+function j$(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ e = g0(a);
+ a : {
+  b : {
+   if (!q[161172] | !r[a | 0]) {
+    break b;
+   }
+   if (eZ(a, 61)) {
+    break b;
+   }
+   b = q[q[161172] >> 2];
+   if (!b) {
+    break b;
+   }
+   while (1) {
+    c = jZ(a, b, e);
+    b = q[161172];
+    if (!c) {
+     c = q[b + (d << 2) >> 2];
+     f = c + e | 0;
+     if (r[f | 0] == 61) {
+      break a;
+     }
+    }
+    d = d + 1 | 0;
+    b = q[b + (d << 2) >> 2];
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  return 0;
+ }
+ return c ? f + 1 | 0 : 0;
+}
+function Gu(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0;
+ a : {
+  if (r[a + 12 | 0] != 1) {
+   break a;
+  }
+  c = r[b | 0];
+  b = r[b + 1 | 0];
+  q[a + 16 >> 2] = -1;
+  d = a;
+  a = b | c << 8;
+  c = nF(d, a);
+  if (!c) {
+   break a;
+  }
+  c = c + (a >>> 3 & 56) | 0;
+  a = c;
+  e = q[c + 4 >> 2];
+  d = c;
+  f = q[c >> 2];
+  c = b & 63;
+  b = c & 31;
+  if (32 <= (c & 63) >>> 0) {
+   c = 1 << b;
+   b = 0;
+  } else {
+   c = (1 << b) - 1 & 1 >>> 32 - b;
+   b = 1 << b;
+  }
+  q[d >> 2] = f | b;
+  q[a + 4 >> 2] = c | e;
+ }
+}
+function zE(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ e = r[c + 164 | 0];
+ if ((e & 3) == 3) {
+  a : {
+   if (!(e & 4) | !(e & 8)) {
+    break a;
+   }
+   e = 1;
+   f = q[c + 76 >> 2];
+   if (f >>> 0 > 1) {
+    h = q[c + 88 >> 2];
+    while (1) {
+     if (!(1 << (s[(w(e, 20) + h | 0) + 16 >> 1] & 31) & 7168)) {
+      AE(a, b, c, g, e, d);
+      g = e;
+     }
+     e = e + 1 | 0;
+     if ((f | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   AE(a, b, c, g, f, d);
+   return;
+  }
+ }
+ J(269870, 269844, 170, 269859);
+ F();
+}
+
+
+
+function yj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = q[a + 532 >> 2];
+ if (!c) {
+  return 6;
+ }
+ e = q[c + 4 >> 2];
+ q[b >> 2] = e;
+ q[b + 4 >> 2] = q[c >> 2];
+ if (e) {
+  a = 0;
+  while (1) {
+   d = w(a, 12);
+   f = d + b | 0;
+   q[f + 8 >> 2] = q[((a << 2) + c | 0) + 8 >> 2];
+   d = c + d | 0;
+   g = q[d + 92 >> 2];
+   q[f + 12 >> 2] = q[g >> 2];
+   q[f + 16 >> 2] = q[((r[d + 88 | 0] << 2) + g | 0) + -4 >> 2];
+   a = a + 1 | 0;
+   if ((e | 0) != (a | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function lE(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0;
+ e = q[a + 12 >> 2];
+ a : {
+  if (n[q[e + 24 >> 2]](e, b, q[e + 56 >> 2]) >>> 0 <= 31) {
+   e = q[a + 12 >> 2];
+   f = 0;
+   if (1 << n[q[e + 24 >> 2]](e, b, q[e + 56 >> 2]) & 7168) {
+    break a;
+   }
+  }
+  if (!((b | 0) != 2479 | (c | 0) != 2492)) {
+   q[d >> 2] = 2527;
+   return 1;
+  }
+  a = q[a + 12 >> 2];
+  q[d >> 2] = 0;
+  f = 0;
+  if (!b | !c) {
+   break a;
+  }
+  f = (n[q[a + 36 >> 2]](a, b, c, d, q[a + 68 >> 2]) | 0) != 0;
+ }
+ return f | 0;
+}
+function uo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ c = a + 10 | 0;
+ if (c >>> 0 > t[b + 160 >> 2]) {
+  kf(b, 8);
+ }
+ d = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ e = d + a >>> 0 <= t[b + 160 >> 2];
+ a = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+ if (!(d >>> 0 >= (a << 1) + 10 >>> 0 ? e : 0)) {
+  kf(b, 8);
+ }
+ if (!(!q[b + 164 >> 2] | !a)) {
+  while (1) {
+   if ((r[c + 1 | 0] | r[c | 0] << 8) >>> 0 >= t[b + 172 >> 2]) {
+    kf(b, 16);
+   }
+   c = c + 2 | 0;
+   a = a + -1 | 0;
+   if (a) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function nn(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ d = q[a + 16 >> 2];
+ if (d) {
+  g = q[a + 20 >> 2];
+  a = d >>> 1 | 0;
+  while (1) {
+   c = d + f >>> 1 | 0;
+   c = a >>> 0 >= d >>> 0 ? c : a >>> 0 < f >>> 0 ? c : a;
+   e = q[(c << 3) + g >> 2];
+   if ((e | 0) == (b | 0)) {
+    return s[((c << 3) + g | 0) + 4 >> 1] + 1 & 65535;
+   }
+   a = (b + c | 0) - e | 0;
+   e = e >>> 0 > b >>> 0;
+   f = e ? f : c + 1 | 0;
+   d = e ? c : d;
+   if (f >>> 0 < d >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function Pf(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ c = q[a + 88 >> 2];
+ b = q[a + 32 >> 2] + (b << 4) | 0;
+ d = q[b + 8 >> 2];
+ p[c + 12 >> 1] = d + 32 >>> 6;
+ e = q[b + 12 >> 2];
+ p[c + 14 >> 1] = e + 32 >>> 6;
+ if (o[a + 8 | 0] & 1) {
+  b = s[a + 68 >> 1];
+  f = c, g = Fe(d, b), q[f + 16 >> 2] = g;
+  f = c, g = Fe(e, b), q[f + 20 >> 2] = g;
+  Qf(a, c + 12 | 0);
+  return;
+ }
+ q[c + 28 >> 2] = 0;
+ q[c + 24 >> 2] = e;
+ q[c + 16 >> 2] = 65536;
+ q[c + 20 >> 2] = 65536;
+ a = p[b >> 1];
+ q[c + 36 >> 2] = d;
+ q[c + 32 >> 2] = a << 6;
+}
+function PX() {
+ var a = 0, b = 0, c = 0, d = 0;
+ b = j$(503183);
+ a : {
+  if (!q[160468]) {
+   break a;
+  }
+  if (b) {
+   return mZ(b);
+  }
+  a = j$(503155);
+  if (a) {
+   c = g0(a);
+  }
+  b = L$(c + 9 | 0);
+  if (!b) {
+   break a;
+  }
+  d = c + 8 | 0;
+  if (a) {
+   Y$(b, a, c);
+  }
+  a = b + c | 0;
+  o[a | 0] = 1868770863;
+  o[a + 1 | 0] = 7299886;
+  o[a + 2 | 0] = 28515;
+  o[a + 3 | 0] = 111;
+  o[a + 4 | 0] = 1734960750;
+  o[a + 5 | 0] = 6777190;
+  o[a + 6 | 0] = 26473;
+  o[a + 7 | 0] = 103;
+  o[b + d | 0] = 0;
+  d = b;
+ }
+ return d;
+}
+function mN(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ b = Ca - 16 | 0;
+ Ca = b;
+ d = q[a >> 2];
+ a : {
+  if (!d) {
+   break a;
+  }
+  c = q[d + 8 >> 2];
+  if (!c) {
+   break a;
+  }
+  e = d;
+  while (1) {
+   c = q[c + 8 >> 2];
+   if (c) {
+    e = q[e + 8 >> 2];
+    c = q[c + 8 >> 2];
+    if (c) {
+     continue;
+    }
+   }
+   break;
+  }
+  q[b + 12 >> 2] = d;
+  q[b + 8 >> 2] = q[e + 8 >> 2];
+  q[e + 8 >> 2] = 0;
+  mN(b + 12 | 0);
+  mN(b + 8 | 0);
+  f = a, g = nN(q[b + 12 >> 2], q[b + 8 >> 2]), q[f >> 2] = g;
+ }
+ Ca = b + 16 | 0;
+}
+function Mu(a, b) {
+ var c = 0, d = 0;
+ c = r[a | 0] | r[a + 1 | 0] << 8;
+ c = ((c << 24 | c << 8 & 16711680) >>> 16 | 0) + -1 | 0;
+ a : {
+  if (c >>> 0 > 1) {
+   break a;
+  }
+  if (c - 1) {
+   if (q[b + 8 >> 2] != 1) {
+    break a;
+   }
+   c = a;
+   a = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+   return (ct(a ? c + a | 0 : 271040, q[q[b + 4 >> 2] >> 2]) | 0) != -1;
+  }
+  if (q[b + 8 >> 2] != 1) {
+   break a;
+  }
+  c = a;
+  a = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+  d = (ct(a ? c + a | 0 : 271040, q[q[b + 4 >> 2] >> 2]) | 0) != -1;
+ }
+ return d;
+}
+function ff(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ q[c + 8 >> 2] = a;
+ e = q[b + 20 >> 2];
+ a = e + ((n[q[b + 12 >> 2]](c + 8 | 0) >>> 0) % t[b + 4 >> 2] << 2) | 0;
+ d = q[a >> 2];
+ a : {
+  if (!d) {
+   break a;
+  }
+  while (1) {
+   if (n[q[b + 16 >> 2]](d, c + 8 | 0)) {
+    break a;
+   }
+   a = a + -4 | 0;
+   if (a >>> 0 < e >>> 0) {
+    a = ((q[b + 4 >> 2] << 2) + e | 0) + -4 | 0;
+   }
+   d = q[a >> 2];
+   if (d) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = c + 16 | 0;
+ a = q[a >> 2];
+ return a ? a + 4 | 0 : 0;
+}
+function dP(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ f = g0(b);
+ e = (((b >>> 0) % 8191 << 2) + a | 0) + 12 | 0;
+ d = q[e >> 2];
+ a : {
+  if (d) {
+   c = d;
+   while (1) {
+    if (q[c + 4 >> 2] == (b | 0)) {
+     break a;
+    }
+    c = q[c >> 2];
+    if (c) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = L$(12);
+  if (!c) {
+   return 0;
+  }
+  q[c + 4 >> 2] = b;
+  b = q[a >> 2];
+  q[c >> 2] = d;
+  q[c + 8 >> 2] = b;
+  q[e >> 2] = c;
+  d = a;
+  a = f + 1 | 0;
+  c = a & 7;
+  q[d >> 2] = b + ((c ? 8 - c | 0 : 0) + a | 0);
+ }
+ return 1;
+}
+function kI(a) {
+ a = a | 0;
+ var b = 0;
+ b = q[a + 8 >> 2];
+ Z$(a + 16 | 0, 0, 84);
+ q[a + 136 >> 2] = 620;
+ q[a + 132 >> 2] = 621;
+ q[a + 128 >> 2] = 622;
+ q[a + 124 >> 2] = 623;
+ q[a + 120 >> 2] = 624;
+ q[a + 116 >> 2] = 625;
+ q[a + 108 >> 2] = 626;
+ q[a + 104 >> 2] = 627;
+ q[a + 100 >> 2] = 628;
+ q[a + 12 >> 2] = b;
+ q[a + 164 >> 2] = 620;
+ q[a + 160 >> 2] = 629;
+ q[a + 156 >> 2] = 630;
+ q[a + 152 >> 2] = 631;
+ q[a + 148 >> 2] = 624;
+ q[a + 144 >> 2] = 632;
+ b = a + 12 | 0;
+ q[a + 112 >> 2] = b;
+ q[a + 140 >> 2] = b;
+ return 0;
+}
+function Me(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = c >> 31;
+ e = e + c ^ e;
+ f = d >> 31;
+ f = f + d ^ f;
+ i = (e | 0) > (f | 0);
+ g = a >> 31;
+ g = g + a ^ g;
+ h = b >> 31;
+ h = h + b ^ h;
+ j = (g | 0) > (h | 0);
+ d = b + d | 0;
+ b = d >> 31;
+ c = a + c | 0;
+ a = c >> 31;
+ a = a ^ a + c;
+ b = b ^ b + d;
+ c = (a | 0) > (b | 0);
+ a = (w(c ? b : a, 3) >>> 3 | 0) + (c ? a : b) | 0;
+ return (((w(i ? f : e, 3) >>> 3 | 0) + (i ? e : f) + ((w(j ? h : g, 3) >>> 3 | 0) + (j ? g : h)) | 0) - a | 0) < (a >>> 4 | 0);
+}
+function HV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 8) {
+    break b;
+   }
+   c = 33;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+     break b;
+    case 7:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 951;
+   return 33;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function Ax(a, b, c, d) {
+ var e = 0;
+ a = r[a + 1 | 0];
+ d = a & 1 ? d + 2 | 0 : d;
+ d = a & 2 ? d + 2 | 0 : d;
+ d = a & 4 ? d + 2 | 0 : d;
+ d = a & 8 ? d + 2 | 0 : d;
+ a : {
+  if (a & 16) {
+   e = 0;
+   if (!lv(d, b, c)) {
+    break a;
+   }
+   d = d + 2 | 0;
+  }
+  if (a & 32) {
+   e = 0;
+   if (!lv(d, b, c)) {
+    break a;
+   }
+   d = d + 2 | 0;
+  }
+  if (a & 64) {
+   e = 0;
+   if (!lv(d, b, c)) {
+    break a;
+   }
+   d = d + 2 | 0;
+  }
+  if (a & 128) {
+   e = 0;
+   if (!lv(d, b, c)) {
+    break a;
+   }
+  }
+  e = 1;
+ }
+ return e;
+}
+function BJ(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ b = Ca - 16 | 0;
+ Ca = b;
+ wJ(a, q[a + 8 >> 2]);
+ e = q[a + 8 >> 2];
+ d = q[a >> 2];
+ q[b + 12 >> 2] = d;
+ f = CJ(b + 12 | 0, e, 10);
+ c = q[b + 12 >> 2];
+ a : {
+  if ((d | 0) == (c | 0)) {
+   break a;
+  }
+  if (!(r[c | 0] != 35 | c >>> 0 >= e >>> 0)) {
+   d = c + 1 | 0;
+   q[b + 12 >> 2] = d;
+   f = CJ(b + 12 | 0, e, f);
+   c = q[b + 12 >> 2];
+   if ((d | 0) == (c | 0)) {
+    break a;
+   }
+  }
+  q[a >> 2] = c;
+  g = f;
+ }
+ Ca = b + 16 | 0;
+ return g | 0;
+}
+function kY(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ f = q[a + 8 >> 2];
+ g = q[b + 8 >> 2];
+ cS(d, b);
+ h = q[d + 12 >> 2];
+ q[c + 8 >> 2] = q[d + 8 >> 2];
+ q[c + 12 >> 2] = h;
+ h = q[d + 4 >> 2];
+ q[c >> 2] = q[d >> 2];
+ q[c + 4 >> 2] = h;
+ a = f & 1 ? (f & -2) + a | 0 : f;
+ b = g & 1 ? (g & -2) + b | 0 : g;
+ e = 0;
+ a : {
+  if (!bQ(a, b)) {
+   break a;
+  }
+  e = 1;
+  if (!$P(a, b)) {
+   break a;
+  }
+  e = fQ(a, b) ? 2 : 3;
+ }
+ Ca = d + 16 | 0;
+ return +e;
+}
+function $s(a, b) {
+ var c = 0, d = 0;
+ c = Ca - 48 | 0;
+ Ca = c;
+ q[c + 16 >> 2] = 0;
+ q[c + 20 >> 2] = 0;
+ o[c + 21 | 0] = 0;
+ o[c + 22 | 0] = 0;
+ o[c + 23 | 0] = 0;
+ o[c + 24 | 0] = 0;
+ o[c + 25 | 0] = 0;
+ o[c + 26 | 0] = 0;
+ o[c + 27 | 0] = 0;
+ o[c + 28 | 0] = 0;
+ q[c + 32 >> 2] = 0;
+ q[c + 36 >> 2] = 0;
+ q[c + 8 >> 2] = 0;
+ q[c + 12 >> 2] = 0;
+ d = kF(b);
+ o[c + 44 | 0] = 1;
+ q[c + 40 >> 2] = d;
+ d = Xu(c + 8 | 0, iF(b, 1195656518));
+ q[a >> 2] = d;
+ if (Vs(d, b)) {
+  Cq(q[a >> 2]);
+  q[a >> 2] = 271040;
+ }
+ Ca = c + 48 | 0;
+}
+function IR(a) {
+ var b = 0, c = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  if (q[a >> 2] == -1) {
+   rR(a);
+   return;
+  }
+  b = q[a >> 2];
+  q[a >> 2] = b + -1;
+  if ((b | 0) != 1) {
+   break a;
+  }
+  c = q[a + 4 >> 2];
+  if ((c | 0) >= 1) {
+   b = 0;
+   while (1) {
+    c = q[a + 8 >> 2] + a | 0;
+    M$(q[c + (b << 2) >> 2] + c | 0);
+    b = b + 1 | 0;
+    c = q[a + 4 >> 2];
+    if ((b | 0) < (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (c) {
+   M$(q[a + 8 >> 2] + a | 0);
+   M$(q[a + 12 >> 2] + a | 0);
+  }
+  M$(a);
+ }
+}
+function lj(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0;
+ a : {
+  if (b >>> 0 > 65535) {
+   break a;
+  }
+  e = q[c + 288 >> 2];
+  if ((e | 0) < 1) {
+   break a;
+  }
+  f = q[c + 292 >> 2];
+  while (1) {
+   c = q[(d << 2) + f >> 2];
+   b : {
+    if (!c | r[c | 0] != r[a | 0]) {
+     break b;
+    }
+    if ((g0(c) | 0) != (b | 0)) {
+     break b;
+    }
+    if (!jZ(c, a, b)) {
+     break a;
+    }
+   }
+   d = d + 1 | 0;
+   if ((d | 0) < (e | 0)) {
+    continue;
+   }
+   break;
+  }
+  d = 0;
+ }
+ return d | 0;
+}
+function AX(a, b, c, d) {
+ var e = 0;
+ e = Ca - 48 | 0;
+ Ca = e;
+ a : {
+  if (!(r[643388] & 16)) {
+   break a;
+  }
+  if (c) {
+   q[e + 32 >> 2] = d ? 503019 : 503018;
+   q[e + 20 >> 2] = c;
+   q[e + 16 >> 2] = b;
+   q[e + 28 >> 2] = d ? d : 503018;
+   q[e + 24 >> 2] = d ? 503009 : 503018;
+   d0(502993, e + 16 | 0);
+   break a;
+  }
+  if (!d) {
+   break a;
+  }
+  q[e + 12 >> 2] = 503019;
+  q[e + 8 >> 2] = d;
+  q[e + 4 >> 2] = 503009;
+  q[e >> 2] = b;
+  d0(503021, e);
+ }
+ a = MQ(q[a + 8 >> 2], b, c, d);
+ Ca = e + 48 | 0;
+ return a;
+}
+function tZ(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ b = q[160536];
+ if (!b) {
+  q[q[160537] >> 2] = a;
+  return;
+ }
+ q[160538] = (b | 0) == 31 ? 3 : (b | 0) == 7 ? 3 : 1;
+ q[160873] = 0;
+ a : {
+  if ((b | 0) <= 0) {
+   d = q[160537];
+   break a;
+  }
+  d = q[160537];
+  while (1) {
+   a = T0(a, f, 1284865837, 1481765933) + 1 | 0;
+   c = Ea;
+   c = a >>> 0 < 1 ? c + 1 | 0 : c;
+   f = c;
+   q[(e << 2) + d >> 2] = c;
+   e = e + 1 | 0;
+   if ((e | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[d >> 2] = q[d >> 2] | 1;
+}
+function em(a, b) {
+ var c = 0, d = 0;
+ c = yg(b, q[a >> 2]);
+ a : {
+  if (c) {
+   break a;
+  }
+  d = a + 4 | 0;
+  c = Xg(b, 19232, d);
+  if (c) {
+   break a;
+  }
+  c = 2;
+  d = s[d >> 1];
+  if ((d | 256) != 768 | t[a + 8 >> 2] < ((d | 0) == 768 ? 148 : 118) >>> 0) {
+   break a;
+  }
+  if ((d | 0) == 512) {
+   q[a + 140 >> 2] = 0;
+   q[a + 132 >> 2] = 0;
+   q[a + 136 >> 2] = 0;
+  }
+  if (o[a + 72 | 0] & 1) {
+   break a;
+  }
+  c = yg(b, q[a >> 2]);
+  if (c) {
+   break a;
+  }
+  c = Jg(b, q[a + 8 >> 2], a + 160 | 0);
+ }
+ return c;
+}
+function DG(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ if (b >>> 0 < c >>> 0) {
+  f = q[a + 88 >> 2];
+  e = -1;
+  d = b;
+  while (1) {
+   g = q[(w(d, 20) + f | 0) + 8 >> 2];
+   e = e >>> 0 > g >>> 0 ? g : e;
+   d = d + 1 | 0;
+   if ((d | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+  while (1) {
+   d = w(b, 20) + f | 0;
+   if (q[d + 8 >> 2] != (e | 0)) {
+    q[a + 32 >> 2] = q[a + 32 >> 2] | 16;
+    q[d + 4 >> 2] = q[d + 4 >> 2] | 1;
+   }
+   b = b + 1 | 0;
+   if ((c | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function sF(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ uF(a);
+ vF(a + 56 | 0);
+ b = a + 52 | 0;
+ M$(q[b >> 2]);
+ q[b >> 2] = 0;
+ q[a + 44 >> 2] = 0;
+ q[a + 48 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+ b = q[a + 36 >> 2];
+ c = q[a + 32 >> 2];
+ if (c) {
+  e = (c << 2) + b | 0;
+  while (1) {
+   M$(q[(c ? b : 271040) >> 2]);
+   d = (c | 0) != 0;
+   c = c - d | 0;
+   b = (d << 2) + b | 0;
+   if ((e | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+  b = q[a + 36 >> 2];
+ }
+ M$(b);
+ q[a + 36 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ q[a + 32 >> 2] = 0;
+}
+function Ww(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ d = Ca - 272 | 0;
+ Ca = d;
+ g = r[a + 3 | 0];
+ e = r[a + 1 | 0];
+ h = r[a | 0];
+ f = r[a + 2 | 0];
+ q[d + 268 >> 2] = 0;
+ e = e | h << 8;
+ a = a + 4 | 0;
+ if (Rw(b, e, a, q[c >> 2], q[c + 4 >> 2], d + 268 | 0, d, 0)) {
+  g = f << 8 | g;
+  h = a + (e ? (e << 1) + -2 | 0 : 0) | 0;
+  a = q[d + 268 >> 2];
+  if (a >>> 0 >= 2) {
+   f = q[b + 96 >> 2];
+   c = q[f + 72 >> 2];
+   DG(f, c, a + c | 0);
+  }
+  i = Xw(b, e, d, g, h, a);
+ }
+ Ca = d + 272 | 0;
+ return i;
+}
+function qO(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ var g = 0, h = 0, i = 0;
+ e = w(b, e);
+ if ((e | 0) >= 1) {
+  i = a + e | 0;
+  while (1) {
+   e = 0;
+   if (f) {
+    while (1) {
+     g = a + e | 0;
+     h = r[c + e | 0] + r[g | 0] | 0;
+     o[g | 0] = h >>> 0 < 255 ? h : 255;
+     e = e + 1 | 0;
+     if ((f | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   c = c + d | 0;
+   a = a + b | 0;
+   if (a >>> 0 < i >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function WY(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = a + 2 | 0;
+ c = r[a + 2 | 0];
+ e = (c | 0) != 0;
+ a = r[a + 1 | 0] << 16 | r[a | 0] << 24 | c << 8;
+ f = r[b + 1 | 0] << 16 | r[b | 0] << 24 | r[b + 2 | 0] << 8;
+ a : {
+  if (!(!c | (a | 0) == (f | 0))) {
+   while (1) {
+    b = d + 1 | 0;
+    c = r[d + 1 | 0];
+    e = (c | 0) != 0;
+    a = (a | c) << 8;
+    if ((f | 0) == (a | 0)) {
+     break a;
+    }
+    d = b;
+    if (c) {
+     continue;
+    }
+    break;
+   }
+   break a;
+  }
+  b = d;
+ }
+ return e ? b + -2 | 0 : 0;
+}
+function t$(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ g = a;
+ h = a;
+ a : {
+  if (!b) {
+   b = 0;
+   break a;
+  }
+  c = b >> 31;
+  e = c + b ^ c;
+  c = z(e);
+  n$(d, e, 0, 0, 0, c + 81 | 0);
+  c = (q[d + 12 >> 2] ^ 65536) + (16414 - c << 16) | 0;
+  e = 0 + q[d + 8 >> 2] | 0;
+  if (e >>> 0 < f >>> 0) {
+   c = c + 1 | 0;
+  }
+  f = b & -2147483648 | c;
+  c = q[d + 4 >> 2];
+  b = q[d >> 2];
+ }
+ q[h >> 2] = b;
+ q[g + 4 >> 2] = c;
+ q[a + 8 >> 2] = e;
+ q[a + 12 >> 2] = f;
+ Ca = d + 16 | 0;
+}
+function Vx(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ d = c ? c + a | 0 : 271040;
+ c = q[b + 96 >> 2];
+ d = ct(d, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]);
+ if (!((d | 0) == -1 | d >>> 0 >= (r[a + 7 | 0] | r[a + 6 | 0] << 8) >>> 0)) {
+  f = a + 4 | 0;
+  e = a;
+  a = w(X0(r[a + 5 | 0] | r[a + 4 | 0] << 8), d);
+  Ux(f, b, e, (a | 0) < 0 ? 271040 : (e + (a << 1) | 0) + 8 | 0, q[c + 96 >> 2] + w(q[c + 72 >> 2], 20) | 0);
+  q[c + 72 >> 2] = q[c + 72 >> 2] + 1;
+  e = 1;
+ }
+ return e;
+}
+function vH(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ q[a + 2748 >> 2] = b;
+ d = q[b + 28 >> 2];
+ q[a + 4 >> 2] = q[b + 44 >> 2];
+ q[a + 8 >> 2] = q[b + 48 >> 2];
+ q[a + 12 >> 2] = q[b + 7496 >> 2];
+ q[a + 16 >> 2] = q[b + 7500 >> 2];
+ c = q[b + 24 >> 2];
+ q[a + 2740 >> 2] = d | (r[q[q[b + 36 >> 2] + 392 >> 2] + 20 | 0] ? 4 : 12);
+ d = a;
+ a = (c | 1) == 3;
+ b = a | 2;
+ e = (c | 0) == 4 ? b : a;
+ a = (c | 0) == 2;
+ b = a ? b : e;
+ b = (c | 2) == 3 ? b : b | 4;
+ q[d + 2744 >> 2] = a ? b | 8 : b;
+ return 0;
+}
+function sO(a, b, c, d, e, f, g, h) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ var i = 0;
+ h = w(d, h);
+ if ((h | 0) >= 1) {
+  i = c + h | 0;
+  while (1) {
+   h = 0;
+   if (g) {
+    while (1) {
+     o[a + h | 0] = w(r[e + h | 0], r[c + h | 0]) + 255 >>> 8;
+     h = h + 1 | 0;
+     if ((h | 0) != (g | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   e = e + f | 0;
+   a = a + b | 0;
+   c = c + d | 0;
+   if (c >>> 0 < i >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function rO(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ var g = 0, h = 0, i = 0;
+ e = w(b, e);
+ if ((e | 0) >= 1) {
+  i = a + e | 0;
+  while (1) {
+   e = 0;
+   if (f) {
+    while (1) {
+     g = a + e | 0;
+     h = r[g | 0] - r[c + e | 0] | 0;
+     o[g | 0] = (h | 0) > 0 ? h : 0;
+     e = e + 1 | 0;
+     if ((f | 0) != (e | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   c = c + d | 0;
+   a = a + b | 0;
+   if (a >>> 0 < i >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function W$(a, b) {
+ a : {
+  if ((b | 0) >= 1024) {
+   a = a * 8.98846567431158e+307;
+   if ((b | 0) < 2047) {
+    b = b + -1023 | 0;
+    break a;
+   }
+   a = a * 8.98846567431158e+307;
+   b = ((b | 0) < 3069 ? b : 3069) + -2046 | 0;
+   break a;
+  }
+  if ((b | 0) > -1023) {
+   break a;
+  }
+  a = a * 2.2250738585072014e-308;
+  if ((b | 0) > -2045) {
+   b = b + 1022 | 0;
+   break a;
+  }
+  a = a * 2.2250738585072014e-308;
+  b = ((b | 0) > -3066 ? b : -3066) + 2044 | 0;
+ }
+ f(0, 0);
+ f(1, b + 1023 << 20);
+ return a * +g();
+}
+function fl(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ c = q[a >> 2];
+ b = q[c + 320 >> 2];
+ c = ig(q[q[c + 96 >> 2] + 4 >> 2], 14478);
+ a : {
+  if (!b | !c) {
+   break a;
+  }
+  b = q[b >> 2];
+  if (!b) {
+   break a;
+  }
+  c = n[b](c) | 0;
+  if (!c) {
+   break a;
+  }
+  b = q[a >> 2];
+  e = n[q[c >> 2]](q[b + 100 >> 2], q[b + 304 >> 2] + w(q[b + 4 >> 2], 252) | 0, d + 12 | 0) | 0;
+  if (e) {
+   break a;
+  }
+  q[q[a + 40 >> 2] >> 2] = q[d + 12 >> 2];
+ }
+ Ca = d + 16 | 0;
+ return e | 0;
+}
+function eH(a, b, c, d, e, f, g, h) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ while (1) {
+  a = q[b >> 2];
+  q[b >> 2] = 1;
+  if (a) {
+   continue;
+  }
+  break;
+ }
+ a = 0;
+ a : {
+  if (!c) {
+   break a;
+  }
+  while (1) {
+   h = xf(q[b + 4 >> 2], q[d >> 2]);
+   q[f >> 2] = h;
+   if (!h) {
+    break a;
+   }
+   f = f + g | 0;
+   d = d + e | 0;
+   a = a + 1 | 0;
+   if ((c | 0) != (a | 0)) {
+    continue;
+   }
+   break;
+  }
+  a = c;
+ }
+ q[b >> 2] = 0;
+ return a | 0;
+}
+function cE(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0;
+ c = q[q[a + 112 >> 2] + 4 >> 2];
+ if (c) {
+  wD(c, b, q[a + 4 >> 2]);
+ }
+ a = r[b + 164 | 0];
+ if (!(a & 64)) {
+  o[b + 164 | 0] = a | 64;
+  a = q[b + 76 >> 2];
+  if (a) {
+   c = q[b + 88 >> 2];
+   b = 0;
+   while (1) {
+    d = w(b, 20) + c | 0;
+    e = d, f = UD(q[d >> 2]), o[e + 18 | 0] = f;
+    b = b + 1 | 0;
+    if ((a | 0) != (b | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  return;
+ }
+ J(263865, 263786, 150, 263852);
+ F();
+}
+function gD(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0;
+ if (q[a + 4 >> 2]) {
+  q[a + 24 >> 2] = c;
+  q[a + 20 >> 2] = b;
+  d = q[a + 16 >> 2];
+  e = q[d + 28 >> 2];
+  if (!e) {
+   e = XF(d);
+   c = q[a + 24 >> 2];
+   b = q[a + 20 >> 2];
+  }
+  d = c >> 31;
+  f = c << 16;
+  g = d << 16 | c >>> 16;
+  d = e;
+  c = d >> 31;
+  h = a, i = U0(f, g, d, c), q[h + 40 >> 2] = i;
+  q[a + 44 >> 2] = Ea;
+  e = b >> 31;
+  h = a, i = U0(b << 16, e << 16 | b >>> 16, d, c), q[h + 32 >> 2] = i;
+  q[a + 36 >> 2] = Ea;
+ }
+}
+function vD(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ b = q[a + 32 >> 2];
+ if (!(!b | !q[b >> 2])) {
+  while (1) {
+   e = ((c << 2) + b | 0) + 28 | 0;
+   a : {
+    if (!q[e >> 2]) {
+     break a;
+    }
+    d = w(c, 24) + b | 0;
+    f = d + 68 | 0;
+    M$(q[f >> 2]);
+    q[f >> 2] = 0;
+    q[d + 60 >> 2] = 0;
+    q[d + 64 >> 2] = 0;
+    if (!r[b + 4 | 0]) {
+     break a;
+    }
+    M$(q[e >> 2]);
+   }
+   c = c + 1 | 0;
+   if (c >>> 0 < t[b >> 2]) {
+    continue;
+   }
+   break;
+  }
+  M$(b);
+ }
+ M$(a);
+}
+function XH(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0;
+ if (a) {
+  f = q[q[a >> 2] + 100 >> 2];
+  while (1) {
+   b = d << 2;
+   e = (b + a | 0) + 24 | 0;
+   c = q[e >> 2];
+   if (c) {
+    g = f;
+    b = q[q[(q[q[b + 284080 >> 2] + 4 >> 2] << 2) + 283808 >> 2] + 16 >> 2];
+    if (b) {
+     n[b](c);
+     c = q[e >> 2];
+    }
+    Qe(g, c);
+    q[e >> 2] = 0;
+   }
+   d = d + 1 | 0;
+   if ((d | 0) != 86) {
+    continue;
+   }
+   break;
+  }
+  eD(q[a + 12 >> 2]);
+  HG(q[a + 16 >> 2]);
+  Qe(f, a);
+ }
+}
+function dp(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0;
+ f = 142;
+ e = s[a + 152 >> 1];
+ a : {
+  if (!e) {
+   break a;
+  }
+  a = q[a + 156 >> 2];
+  e = a + (e << 4) | 0;
+  while (1) {
+   b : {
+    if (q[a >> 2] == (b | 0)) {
+     g = q[a + 12 >> 2];
+     if (g) {
+      break b;
+     }
+    }
+    a = a + 16 | 0;
+    if (a >>> 0 < e >>> 0) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  if (d) {
+   q[d >> 2] = g;
+  }
+  f = yg(c, q[a + 8 >> 2]);
+ }
+ return f | 0;
+}
+function Ss(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ d = Ca - 80 | 0;
+ Ca = d;
+ e = Ps(q[b + 16 >> 2] + 128 | 0);
+ f = q[e + 16 >> 2];
+ g = q[e + 12 >> 2];
+ a = Nq(d + 8 | 0, a, b, c, e);
+ b = f >>> 0 < 4 ? 271040 : g;
+ c = r[b | 0] | r[b + 1 | 0] << 8;
+ c = (c << 24 | c << 8 & 16711680) >>> 16 | 0;
+ a : {
+  if (c >>> 0 > 1) {
+   break a;
+  }
+  if (c - 1) {
+   Ts(b, a);
+   break a;
+  }
+  Us(b, a);
+ }
+ b = a + 44 | 0;
+ Cq(q[b >> 2]);
+ q[b >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+ Ca = d + 80 | 0;
+}
+function Bj(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ a = q[a + 532 >> 2];
+ a : {
+  if (!a) {
+   f = 6;
+   break a;
+  }
+  Cj(q[a + 136 >> 2], d, q[a + 4 >> 2]);
+  e = q[a + 4 >> 2];
+  a = e >>> 0 < b >>> 0 ? e : b;
+  if (a) {
+   Y$(c, d, a << 2);
+  }
+  if (e >>> 0 >= b >>> 0) {
+   break a;
+  }
+  while (1) {
+   q[(a << 2) + c >> 2] = 32768;
+   a = a + 1 | 0;
+   if ((b | 0) != (a | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = d + 16 | 0;
+ return f | 0;
+}
+function zD(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0;
+ a : {
+  if (!(r[q[a + 112 >> 2] + 36 | 0] & 2)) {
+   break a;
+  }
+  d = q[c + 76 >> 2];
+  if (!d) {
+   break a;
+  }
+  e = q[c + 88 >> 2];
+  a = 0;
+  while (1) {
+   b = w(a, 20) + e | 0;
+   if (r[b + 12 | 0] & 64) {
+    f = b;
+    b = r[b + 14 | 0];
+    o[f + 18 | 0] = b & 16 ? 8 : b & 1 | 8;
+    q[c + 32 >> 2] = q[c + 32 >> 2] | 16777216;
+   }
+   a = a + 1 | 0;
+   if ((d | 0) != (a | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function uW(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ q[e + 8 >> 2] = b;
+ b = tW(a, q[a + 144 >> 2], e + 8 | 0, c, d, !r[a + 480 | 0]);
+ a : {
+  if (b) {
+   break a;
+  }
+  f = q[e + 8 >> 2];
+  if (!f) {
+   break a;
+  }
+  q[a + 276 >> 2] = 965;
+  q[e + 12 >> 2] = f;
+  b = q[a + 144 >> 2];
+  b = n[q[b >> 2]](b, f, c, e + 12 | 0) | 0;
+  b = lW(a, q[a + 144 >> 2], f, c, b, q[e + 12 >> 2], d, !r[a + 480 | 0], 1);
+ }
+ Ca = e + 16 | 0;
+ return b | 0;
+}
+function sg(a, b) {
+ var c = 0, d = 0;
+ a : {
+  if (!a | !b) {
+   break a;
+  }
+  d = s[a + 2 >> 1];
+  if ((d | 0) != s[b + 2 >> 1]) {
+   break a;
+  }
+  c = s[a >> 1];
+  if ((a | 0) == (b | 0) | (c | 0) != s[b >> 1]) {
+   break a;
+  }
+  if (d) {
+   Y$(q[b + 4 >> 2], q[a + 4 >> 2], d << 16 >> 16 << 3);
+   Y$(q[b + 8 >> 2], q[a + 8 >> 2], p[a + 2 >> 1]);
+   c = s[a >> 1];
+  }
+  if (c) {
+   Y$(q[b + 12 >> 2], q[a + 12 >> 2], c << 16 >> 16 << 1);
+  }
+  q[b + 16 >> 2] = q[a + 16 >> 2] & -2 | q[b + 16 >> 2] & 1;
+ }
+}
+function u$(a, b) {
+ var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ g = a;
+ h = a;
+ a : {
+  if (!b) {
+   b = 0;
+   e = 0;
+   break a;
+  }
+  d = b;
+  b = z(b) ^ 31;
+  n$(c, d, 0, 0, 0, 112 - b | 0);
+  b = (q[c + 12 >> 2] ^ 65536) + (b + 16383 << 16) | 0;
+  d = 0 + q[c + 8 >> 2] | 0;
+  if (d >>> 0 < f >>> 0) {
+   b = b + 1 | 0;
+  }
+  f = d;
+  d = b;
+  b = q[c + 4 >> 2];
+  e = q[c >> 2];
+ }
+ q[h >> 2] = e;
+ q[g + 4 >> 2] = b;
+ q[a + 8 >> 2] = f;
+ q[a + 12 >> 2] = d;
+ Ca = c + 16 | 0;
+}
+function Gi(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0;
+ f = q[a + 736 >> 2];
+ a : {
+  if (f) {
+   if (b) {
+    q[b >> 2] = q[f >> 2];
+   }
+   if (c) {
+    q[c >> 2] = q[f + 4 >> 2];
+   }
+   if (d) {
+    q[d >> 2] = q[q[a + 736 >> 2] + 8 >> 2];
+   }
+   if (!e) {
+    break a;
+   }
+   q[e >> 2] = q[q[a + 736 >> 2] + 12 >> 2];
+   return 0;
+  }
+  if (b) {
+   q[b >> 2] = 0;
+  }
+  if (c) {
+   q[c >> 2] = 0;
+  }
+  if (!e) {
+   break a;
+  }
+  q[e >> 2] = 0;
+ }
+ return 0;
+}
+function SD(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0;
+ d = q[a + 112 >> 2];
+ a : {
+  if (!d) {
+   break a;
+  }
+  e = q[b + 76 >> 2];
+  if (!e) {
+   break a;
+  }
+  a = q[b + 88 >> 2];
+  c = 0;
+  while (1) {
+   q[a + 4 >> 2] = q[a + 4 >> 2] | q[(r[a + 18 | 0] << 2) + d >> 2];
+   a = a + 20 | 0;
+   c = c + 1 | 0;
+   if ((e | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ a = r[b + 164 | 0];
+ if (!(a & 64)) {
+  J(255168, 255092, 160, 255153);
+  F();
+ }
+ o[b + 164 | 0] = a & 191;
+}
+function BE(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ a : {
+  b : {
+   if ((q[c + 48 >> 2] & -2) == 4) {
+    if (aD(b, 11)) {
+     break b;
+    }
+    break a;
+   }
+   if (!aD(b, 12)) {
+    break a;
+   }
+  }
+  g = d;
+  e = q[c + 48 >> 2];
+  f = (e & -3) != 5;
+  if (!f) {
+   AG(c);
+   e = q[c + 48 >> 2];
+  }
+  q[g + 12 >> 2] = e;
+  q[d + 8 >> 2] = b;
+  o[d + 4 | 0] = 0;
+  q[d >> 2] = d + 8;
+  CE(d, b, c, q[a + 132 >> 2]);
+  if (f) {
+   break a;
+  }
+  AG(c);
+ }
+ Ca = d + 16 | 0;
+}
+function zZ(a) {
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ b = q[a + 40 >> 2];
+ c = n[b](a, 0, 0, r[a | 0] & 128 ? t[a + 20 >> 2] > t[a + 28 >> 2] ? 2 : 1 : 1) | 0;
+ b = Ea;
+ d = b;
+ if ((b | 0) > 0 ? 1 : (b | 0) >= 0 ? c >>> 0 < 0 ? 0 : 1 : 0) {
+  e = q[a + 20 >> 2] - q[a + 28 >> 2] | 0;
+  a = q[a + 8 >> 2] - q[a + 4 >> 2] | 0;
+  f = c - a | 0;
+  b = e + f | 0;
+  a = (d - ((a >> 31) + (c >>> 0 < a >>> 0) | 0) | 0) + (e >> 31) | 0;
+  c = b;
+  d = b >>> 0 < f >>> 0 ? a + 1 | 0 : a;
+ }
+ Ea = d;
+ return c;
+}
+function nK(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0;
+ d = q[a + 12 >> 2];
+ a : {
+  if ((p[d + 22 >> 1] + p[d + 58 >> 1] | 0) + 1 >>> 0 > t[d + 4 >> 2]) {
+   d = Ue(d, 1, 0);
+   if (d) {
+    break a;
+   }
+  }
+  d = q[a + 20 >> 2];
+  if (r[a + 65 | 0]) {
+   a = q[d + 8 >> 2];
+   e = p[d + 2 >> 1];
+   f = q[d + 4 >> 2] + (e << 3) | 0;
+   q[f + 4 >> 2] = c >> 10;
+   q[f >> 2] = b >> 10;
+   o[a + e | 0] = 1;
+  }
+  p[d + 2 >> 1] = s[d + 2 >> 1] + 1;
+  d = 0;
+ }
+ return d | 0;
+}
+function bP(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ f = (((b >>> 0) % 8191 << 2) + a | 0) + 12 | 0;
+ e = q[f >> 2];
+ a : {
+  if (e) {
+   d = e;
+   while (1) {
+    if (q[d + 4 >> 2] == (b | 0)) {
+     break a;
+    }
+    d = q[d >> 2];
+    if (d) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = L$(12);
+  if (!d) {
+   return 0;
+  }
+  q[d + 4 >> 2] = b;
+  b = q[a >> 2];
+  q[d >> 2] = e;
+  q[d + 8 >> 2] = b;
+  q[f >> 2] = d;
+  e = a;
+  a = c & 7;
+  q[e >> 2] = b + ((a ? 8 - a | 0 : 0) + c | 0);
+ }
+ return 1;
+}
+function CC(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0;
+ b = Ca - 16 | 0;
+ Ca = b;
+ q[b + 12 >> 2] = c;
+ e = q[a + 72 >> 2];
+ f = q[e + 160 >> 2];
+ a : {
+  if ((f | 0) != q[160316]) {
+   a = n[f](a, q[a + 76 >> 2], 1, b + 12 | 0, 0, d, 0, q[e + 24 >> 2]) | 0;
+   break a;
+  }
+  a = q[a + 12 >> 2];
+  q[d >> 2] = 0;
+  e = a;
+  f = q[a + 76 >> 2];
+  a = q[a + 72 >> 2];
+  a = n[q[a + 156 >> 2]](e, f, c, d, q[a + 20 >> 2]) | 0;
+ }
+ Ca = b + 16 | 0;
+ return a | 0;
+}
+function BZ(a, b) {
+ var c = 0;
+ if (q[b + 76 >> 2] < 0) {
+  a : {
+   if (o[b + 75 | 0] == (a & 255)) {
+    break a;
+   }
+   c = q[b + 20 >> 2];
+   if (c >>> 0 >= t[b + 16 >> 2]) {
+    break a;
+   }
+   q[b + 20 >> 2] = c + 1;
+   o[c | 0] = a;
+   return;
+  }
+  a0(b, a);
+  return;
+ }
+ b : {
+  c : {
+   if (o[b + 75 | 0] == (a & 255)) {
+    break c;
+   }
+   c = q[b + 20 >> 2];
+   if (c >>> 0 >= t[b + 16 >> 2]) {
+    break c;
+   }
+   q[b + 20 >> 2] = c + 1;
+   o[c | 0] = a;
+   break b;
+  }
+  a0(b, a);
+ }
+}
+function ZV(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ a : {
+  if (!n[r[a + 232 | 0] ? 963 : 964](a + 148 | 0, a + 144 | 0, q[a + 228 >> 2])) {
+   e = cW(a, q[a + 228 >> 2]);
+   if (e) {
+    break a;
+   }
+  }
+  q[a + 276 >> 2] = 965;
+  q[f + 12 >> 2] = b;
+  e = q[a + 144 >> 2];
+  e = n[q[e >> 2]](e, b, c, f + 12 | 0) | 0;
+  e = lW(a, q[a + 144 >> 2], b, c, e, q[f + 12 >> 2], d, !r[a + 480 | 0], 1);
+ }
+ Ca = f + 16 | 0;
+ return e | 0;
+}
+function oK(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ b = q[a + 20 >> 2];
+ a : {
+  b : {
+   if (r[a + 65 | 0]) {
+    a = q[a + 12 >> 2];
+    if ((p[a + 20 >> 1] + p[a + 56 >> 1] | 0) + 1 >>> 0 > t[a + 8 >> 2]) {
+     a = Ue(a, 0, 1);
+     if (a) {
+      break a;
+     }
+    }
+    c = s[b >> 1];
+    a = c << 16 >> 16;
+    if ((a | 0) < 1) {
+     break b;
+    }
+    p[(q[b + 12 >> 2] + (c << 1) | 0) + -2 >> 1] = s[b + 2 >> 1] + -1;
+   }
+   a = s[b >> 1];
+  }
+  p[b >> 1] = a + 1;
+  a = 0;
+ }
+ return a | 0;
+}
+function aU(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0;
+ a : {
+  a = q[b >> 2];
+  if (a >>> 0 >= c >>> 0) {
+   break a;
+  }
+  while (1) {
+   f = q[d >> 2];
+   if (f >>> 0 < e >>> 0) {
+    q[b >> 2] = a + 1;
+    a = r[a | 0];
+    f = q[d >> 2];
+    q[d >> 2] = f + 2;
+    p[f >> 1] = a;
+    a = q[b >> 2];
+    if (a >>> 0 < c >>> 0) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  if ((e | 0) != (f | 0)) {
+   break a;
+  }
+  return 2;
+ }
+ return 0;
+}
+function rg(a, b) {
+ var c = 0;
+ if (!a) {
+  return;
+ }
+ if (!b) {
+  return;
+ }
+ a = q[a >> 2];
+ if (!a) {
+  return;
+ }
+ if (o[b + 16 | 0] & 1) {
+  c = q[b + 4 >> 2];
+  if (c) {
+   n[q[a + 8 >> 2]](a, c);
+  }
+  q[b + 4 >> 2] = 0;
+  c = q[b + 8 >> 2];
+  if (c) {
+   n[q[a + 8 >> 2]](a, c);
+  }
+  q[b + 8 >> 2] = 0;
+  c = q[b + 12 >> 2];
+  if (c) {
+   n[q[a + 8 >> 2]](a, c);
+  }
+  q[b + 12 >> 2] = 0;
+ }
+ q[b >> 2] = 0;
+ q[b + 4 >> 2] = 0;
+ q[b + 16 >> 2] = 0;
+ q[b + 8 >> 2] = 0;
+ q[b + 12 >> 2] = 0;
+}
+function FU(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0;
+ a : {
+  a = q[b >> 2];
+  if (a >>> 0 >= c >>> 0) {
+   break a;
+  }
+  while (1) {
+   f = q[d >> 2];
+   if (f >>> 0 < e >>> 0) {
+    q[b >> 2] = a + 1;
+    a = r[a | 0];
+    f = q[d >> 2];
+    q[d >> 2] = f + 1;
+    o[f | 0] = a;
+    a = q[b >> 2];
+    if (a >>> 0 < c >>> 0) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  if ((e | 0) != (f | 0)) {
+   break a;
+  }
+  return 2;
+ }
+ return 0;
+}
+function EV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 3) {
+    break b;
+   }
+   c = 11;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+     break b;
+    case 2:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a + 8 >> 2] = 11;
+   q[a >> 2] = 934;
+   return 16;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function Bd(a) {
+ var b = 0, c = 0;
+ b = q[a + 20 >> 2];
+ if (b) {
+  a : {
+   if (q[a + 8 >> 2] < 1) {
+    break a;
+   }
+   while (1) {
+    b = w(c, 56) + b | 0;
+    M$(q[b + 28 >> 2]);
+    M$(q[b + 44 >> 2]);
+    M$(q[b + 48 >> 2]);
+    M$(q[b + 52 >> 2]);
+    c = c + 1 | 0;
+    if ((c | 0) >= q[a + 8 >> 2]) {
+     break a;
+    }
+    b = q[a + 20 >> 2];
+    continue;
+   }
+  }
+  q[a + 8 >> 2] = 0;
+ }
+ M$(q[q[a + 88 >> 2] + 20 >> 2]);
+ a = q[a + 88 >> 2];
+ q[a + 20 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+}
+function Zf(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ d = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  f = q[a + 92 >> 2];
+  d = 0;
+  if (!f) {
+   break a;
+  }
+  d = 0;
+  if (!q[a + 16 >> 2]) {
+   break a;
+  }
+  q[e + 12 >> 2] = b;
+  while (1) {
+   g = n[q[q[f + 12 >> 2] + 16 >> 2]](f, e + 12 | 0) | 0;
+   if (g >>> 0 >= t[a + 16 >> 2]) {
+    continue;
+   }
+   break;
+  }
+  d = g ? q[e + 12 >> 2] : 0;
+ }
+ a = d;
+ if (c) {
+  q[c >> 2] = g;
+ }
+ Ca = e + 16 | 0;
+ return a;
+}
+function FY(a) {
+ var b = 0, c = 0;
+ c = q[a + 16 >> 2];
+ a : {
+  if ((c | 0) >= q[a + 20 >> 2]) {
+   c = 0;
+   b = fa(q[a >> 2], a + 32 | 0, 2048) | 0;
+   if ((b | 0) <= 0) {
+    a = 0;
+    if (!b | (b | 0) == -44) {
+     break a;
+    }
+    q[160854] = 0 - b;
+    return 0;
+   }
+   q[a + 16 >> 2] = 0;
+   q[a + 20 >> 2] = b;
+  }
+  b = a + c | 0;
+  q[a + 16 >> 2] = s[b + 48 >> 1] + c;
+  c = q[b + 44 >> 2];
+  q[a + 8 >> 2] = q[b + 40 >> 2];
+  q[a + 12 >> 2] = c;
+  a = b + 32 | 0;
+ }
+ return a;
+}
+function sE(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ a = r[b + 164 | 0];
+ if (!(a & 64)) {
+  a : {
+   a = a << 24 >> 24;
+   o[b + 164 | 0] = a | 64;
+   if ((a | 0) <= -1) {
+    break a;
+   }
+   o[b + 164 | 0] = a | 192;
+   a = q[b + 76 >> 2];
+   if (a) {
+    c = q[b + 88 >> 2];
+    b = 0;
+    while (1) {
+     tE(w(b, 20) + c | 0);
+     b = b + 1 | 0;
+     if ((a | 0) != (b | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   return;
+  }
+ }
+ J(269811, 269732, 150, 269798);
+ F();
+}
+function mE(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ a = r[b + 164 | 0];
+ if (!(a & 64)) {
+  a : {
+   a = a << 24 >> 24;
+   o[b + 164 | 0] = a | 64;
+   if ((a | 0) <= -1) {
+    break a;
+   }
+   o[b + 164 | 0] = a | 192;
+   a = q[b + 76 >> 2];
+   if (a) {
+    c = q[b + 88 >> 2];
+    b = 0;
+    while (1) {
+     nE(w(b, 20) + c | 0);
+     b = b + 1 | 0;
+     if ((a | 0) != (b | 0)) {
+      continue;
+     }
+     break;
+    }
+   }
+   return;
+  }
+ }
+ J(267542, 267085, 150, 267529);
+ F();
+}
+function Yg(a, b, c, d, e) {
+ var f = 0;
+ if ((b | 1 | c) < 0) {
+  q[e >> 2] = 6;
+  return d;
+ }
+ a : {
+  if (!(c ? 1 : 0)) {
+   if (!d) {
+    break a;
+   }
+   n[q[a + 8 >> 2]](a, d);
+   break a;
+  }
+  f = e;
+  if (2147483647 >= (c | 0)) {
+   if (!b) {
+    a = n[q[a + 4 >> 2]](a, c) | 0;
+    q[e >> 2] = !a << 6;
+    return a;
+   }
+   a = n[q[a + 12 >> 2]](a, b, c, d) | 0;
+   d = a ? a : d;
+   a = !a << 6;
+  } else {
+   a = 10;
+  }
+  q[f >> 2] = a;
+  return d;
+ }
+ q[e >> 2] = 0;
+ return 0;
+}
+function Sd(a) {
+ var b = 0, c = 0;
+ b = Ca - 16 | 0;
+ Ca = b;
+ while (1) {
+  q[b + 12 >> 2] = a;
+  c = r[a | 0];
+  if (!((c | 0) != 38 ? (c | 0) != 72 : 0)) {
+   a = a + 1 | 0;
+   continue;
+  }
+  break;
+ }
+ a = K_(a, b + 12 | 0);
+ Ca = b + 16 | 0;
+ c = a;
+ b = a >>> 0 <= 2147483648 ? 0 : 1;
+ a = Ea;
+ b = (a | 0) > -1 ? 1 : (a | 0) >= -1 ? b : 0;
+ c = b ? c : -2147483648;
+ a = b ? a : -1;
+ a = (a | 0) < 0 ? 1 : (a | 0) <= 0 ? c >>> 0 >= 2147483647 ? 0 : 1 : 0;
+ return a ? c : 2147483647;
+}
+function hh(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ d = (g0(b) + g0(c) | 0) + 1 | 0;
+ a : {
+  b : {
+   if ((d | 0) <= 0) {
+    if (!d) {
+     break b;
+    }
+    break a;
+   }
+   a = n[q[a + 4 >> 2]](a, d) | 0;
+   if (!a) {
+    break a;
+   }
+   e = Z$(a, 0, d);
+  }
+  a = $Y(b, 47);
+  c : {
+   if (a) {
+    d = b;
+    b = (a - b | 0) + 1 | 0;
+    f = lZ(e, d, b) + b | 0, g = 0, o[f | 0] = g;
+    b = a + 1 | 0;
+    break c;
+   }
+   o[e | 0] = 0;
+  }
+  e = cZ(cZ(e, c), b);
+ }
+ return e;
+}
+function ej(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ b = q[a >> 2];
+ c = q[b + 552 >> 2];
+ b = ig(q[q[b + 96 >> 2] + 4 >> 2], 6929);
+ a : {
+  if (!c | !b) {
+   break a;
+  }
+  c = q[c >> 2];
+  if (!c) {
+   break a;
+  }
+  c = n[c](b) | 0;
+  if (!c) {
+   break a;
+  }
+  b = q[a >> 2];
+  e = n[q[c >> 2]](q[b + 100 >> 2], b + 168 | 0, d + 12 | 0) | 0;
+  if (e) {
+   break a;
+  }
+  q[q[a + 40 >> 2] >> 2] = q[d + 12 >> 2];
+ }
+ Ca = d + 16 | 0;
+ return e | 0;
+}
+function zV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 2) {
+    break b;
+   }
+   c = 11;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+     break b;
+    case 1:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = q[a + 16 >> 2] ? 916 : 935;
+   return 15;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function Vm(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ a = q[a + 16 >> 2];
+ d = s[a + 2 >> 1];
+ a : {
+  if (d + (s[a + 6 >> 1] << 8) >>> 0 < b >>> 0) {
+   break a;
+  }
+  c = s[a >> 1];
+  f = s[a + 4 >> 1];
+  if (c + (f << 8) >>> 0 > b >>> 0) {
+   break a;
+  }
+  e = b & 255;
+  if (e >>> 0 > d >>> 0 | e >>> 0 < c >>> 0) {
+   break a;
+  }
+  g = s[q[a + 12 >> 2] + ((e - c | 0) + w((d - c | 0) + 1 | 0, (b >>> 8 & 65535) - f | 0) << 1) >> 1];
+ }
+ return g | 0;
+}
+function zX(a) {
+ var b = 0, c = 0;
+ if (a) {
+  a : {
+   if (q[a + 52 >> 2]) {
+    break a;
+   }
+   if (xX(a)) {
+    break a;
+   }
+   return;
+  }
+  q[a + 68 >> 2] = q[a + 68 >> 2] + 1;
+ }
+ uX();
+ b : {
+  while (1) {
+   b = q[160852];
+   if ((b | 0) == (a | 0)) {
+    if (!a) {
+     break b;
+    }
+    pX(a);
+    return;
+   }
+   c = q[160852];
+   q[160852] = (b | 0) == (c | 0) ? a : c;
+   if ((b | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+  if (!b) {
+   break b;
+  }
+  pX(b);
+ }
+}
+function uK(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ a : {
+  if (b >>> 0 > 255) {
+   break a;
+  }
+  b = n[q[a + 20 >> 2]](s[q[a + 16 >> 2] + (b << 1) >> 1]) | 0;
+  d = q[a + 24 >> 2];
+  if (!d) {
+   break a;
+  }
+  e = q[a + 28 >> 2];
+  while (1) {
+   a = q[(c << 2) + e >> 2];
+   if (!(!a | r[a | 0] != r[b | 0])) {
+    if (!iZ(a, b)) {
+     break a;
+    }
+   }
+   c = c + 1 | 0;
+   if (c >>> 0 < d >>> 0) {
+    continue;
+   }
+   break;
+  }
+  c = 0;
+ }
+ return c | 0;
+}
+function NS(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ c = q[b + 8 >> 2];
+ a : {
+  if (!bP(a, b, 16)) {
+   break a;
+  }
+  e = b + c | 0;
+  if (!bP(a, e, q[b >> 2] << 3)) {
+   break a;
+  }
+  if (q[b >> 2] <= 0) {
+   return 1;
+  }
+  b : {
+   while (1) {
+    f = (d << 3) + e | 0;
+    c = q[f + 4 >> 2];
+    if (!OS(a, c & 1 ? (c & -2) + f | 0 : c)) {
+     break b;
+    }
+    d = d + 1 | 0;
+    if ((d | 0) < q[b >> 2]) {
+     continue;
+    }
+    break;
+   }
+   return 1;
+  }
+ }
+ return 0;
+}
+function Dm(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0;
+ b = q[a + 12 >> 2];
+ if (b) {
+  e = q[a + 28 >> 2];
+  q[b + 104 >> 2] = 0;
+  q[b + 48 >> 2] = 0;
+  q[b + 36 >> 2] = 0;
+  q[b + 40 >> 2] = 0;
+  o[b + 44 | 0] = 0;
+  q[b + 64 >> 2] = 9;
+  q[b + 12 >> 2] = 0;
+  q[b + 16 >> 2] = 0;
+  c = q[b + 180 >> 2];
+  d = q[b + 100 >> 2];
+  if ((d | 0) != (b + 112 | 0)) {
+   Qe(c, d);
+   q[b + 100 >> 2] = 0;
+  }
+  Qe(c, q[b + 88 >> 2]);
+  Qe(e, Z$(b, 0, 184));
+  q[a + 12 >> 2] = 0;
+ }
+}
+function wV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  c = b + -15 | 0;
+  if (c >>> 0 > 2) {
+   break a;
+  }
+  b : {
+   switch (c - 1 | 0) {
+   default:
+    return q[a + 8 >> 2];
+   case 0:
+    break a;
+   case 1:
+    break b;
+   }
+  }
+  q[a >> 2] = q[a + 16 >> 2] ? 916 : 935;
+  return q[a + 8 >> 2];
+ }
+ c : {
+  if ((b | 0) == 28) {
+   b = 59;
+   if (!q[a + 16 >> 2]) {
+    break c;
+   }
+  }
+  q[a >> 2] = 913;
+  b = -1;
+ }
+ return b | 0;
+}
+function sf(a, b) {
+ var c = 0, d = 0, e = 0;
+ d = q[q[a + 4 >> 2] + 100 >> 2];
+ c = q[a + 156 >> 2];
+ e = q[c + 4 >> 2];
+ a : {
+  if (e & 1) {
+   c = q[a + 88 >> 2];
+   if (c) {
+    n[q[d + 8 >> 2]](d, c);
+   }
+   q[a + 88 >> 2] = 0;
+   break a;
+  }
+  q[c + 4 >> 2] = e | 1;
+ }
+ e = 0;
+ c = b ? 6 : 0;
+ b : {
+  if ((b | 0) <= 0) {
+   break b;
+  }
+  d = n[q[d + 4 >> 2]](d, b) | 0;
+  c = 64;
+  if (!d) {
+   break b;
+  }
+  e = Z$(d, 0, b);
+  c = 0;
+ }
+ q[a + 88 >> 2] = e;
+ return c;
+}
+function kt(a, b) {
+ var c = 0;
+ a : {
+  if ((b | 0) != 1196445523) {
+   c = 271040;
+   if ((b | 0) != 1196643650) {
+    break a;
+   }
+   a = q[Ws(a + 136 | 0) >> 2];
+   a = a ? a : 271040;
+   c = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+   break a;
+  }
+  a = q[Xs(a + 140 | 0) >> 2];
+  a = a ? a : 271040;
+  c = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+ }
+ a = c;
+ a = r[a + 9 | 0] | r[a + 8 | 0] << 8;
+ a = a ? c + a | 0 : 271040;
+ return r[a | 0] << 8 | r[a + 1 | 0];
+}
+function tN(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ if (!(!c | (b | 0) < 1)) {
+  while (1) {
+   g = b;
+   b = b + -1 | 0;
+   a : {
+    if (!(o[b + a | 0] & 1)) {
+     break a;
+    }
+    e = (b << 2) + c | 0;
+    d = q[e >> 2];
+    if (d >>> 0 > 65535) {
+     break a;
+    }
+    f = p[(s[(d >>> 5 & 134217726) + 430752 >> 1] + (d & 63) << 1) + 432800 >> 1];
+    if (!f) {
+     break a;
+    }
+    q[e >> 2] = d + f;
+   }
+   if ((g | 0) > 1) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function IA(a, b) {
+ var c = 0, d = 0;
+ a : {
+  if (t[b + 4 >> 2] > a >>> 0) {
+   break a;
+  }
+  c = q[b + 8 >> 2];
+  if (c >>> 0 < a >>> 0 | c - a >>> 0 < 4) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  q[b + 12 >> 2] = c + -1;
+  if ((r[a + 1 | 0] | r[a | 0] << 8) != 1 | (c | 0) < 1) {
+   break a;
+  }
+  if (!bv(a + 4 | 0, b, a)) {
+   break a;
+  }
+  if (!JA(a + 8 | 0, b, a)) {
+   break a;
+  }
+  if (!JA(a + 12 | 0, b, a)) {
+   break a;
+  }
+  d = JA(a + 16 | 0, b, a);
+ }
+ return d;
+}
+function fD(a, b, c, d) {
+ var e = 0;
+ a : {
+  b : {
+   if (!q[a + 4 >> 2]) {
+    if (!d) {
+     break b;
+    }
+    n[d](c);
+    return;
+   }
+   e = q[a + 80 >> 2];
+   if (e) {
+    n[e](q[a + 76 >> 2]);
+   }
+   b = b ? b : 641104;
+   if (q[b >> 2]) {
+    if (q[b >> 2] <= 0) {
+     break a;
+    }
+    q[b >> 2] = q[b >> 2] + 1;
+   }
+   wC(q[a + 72 >> 2]);
+   q[a + 80 >> 2] = d;
+   q[a + 76 >> 2] = c;
+   q[a + 72 >> 2] = b;
+  }
+  return;
+ }
+ J(250678, 250703, 269, 250718);
+ F();
+}
+function OI(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ a : {
+  e = q[a + 4 >> 2];
+  if ((d - c | 0) >= (e | 0)) {
+   break a;
+  }
+  c = (c + e | 0) + -1 | 0;
+  e = 0 - e | 0;
+  c = c & e;
+  if ((c | 0) != (d & e)) {
+   break a;
+  }
+  c = c >> q[a >> 2];
+  if ((c | 0) < 0 | c >>> 0 >= t[a + 96 >> 2]) {
+   break a;
+  }
+  a = (q[a + 56 >> 2] + (b >> 3) | 0) - w(c, q[a + 104 >> 2]) | 0;
+  o[a | 0] = r[a | 0] | 128 >>> (b & 7);
+ }
+}
+function jY(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ f = -1;
+ if (!(q[b >> 2] != 4 | q[a >> 2] != 4)) {
+  a : {
+   if (q[b + 8 >> 2] != 2) {
+    cS(d, b);
+    break a;
+   }
+   cS(d, a);
+  }
+  e = q[d + 12 >> 2];
+  q[c + 8 >> 2] = q[d + 8 >> 2];
+  q[c + 12 >> 2] = e;
+  e = q[d + 4 >> 2];
+  q[c >> 2] = q[d >> 2];
+  q[c + 4 >> 2] = e;
+  f = (q[a + 8 >> 2] ^ q[b + 8 >> 2]) == 1 ? 1 : 0;
+ }
+ Ca = d + 16 | 0;
+ return +f;
+}
+function oV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 3) {
+    break b;
+   }
+   c = 11;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+     break b;
+    case 2:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 931;
+   return 10;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function lV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 3) {
+    break b;
+   }
+   c = 17;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+     break b;
+    case 2:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 930;
+   return 18;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function KV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 3) {
+    break b;
+   }
+   c = 33;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+    case 1:
+     break b;
+    case 2:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 953;
+   return 32;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function i$() {
+ var a = 0, b = 0, c = 0;
+ a = Ca - 16 | 0;
+ Ca = a;
+ a : {
+  if (wa(a + 12 | 0, a + 8 | 0)) {
+   break a;
+  }
+  b = L$((q[a + 12 >> 2] << 2) + 4 | 0);
+  q[161172] = b;
+  if (!b) {
+   break a;
+  }
+  b : {
+   b = L$(q[a + 8 >> 2]);
+   if (b) {
+    c = q[161172];
+    if (c) {
+     break b;
+    }
+   }
+   q[161172] = 0;
+   break a;
+  }
+  q[(q[a + 12 >> 2] << 2) + c >> 2] = 0;
+  if (!xa(q[161172], b | 0)) {
+   break a;
+  }
+  q[161172] = 0;
+ }
+ Ca = a + 16 | 0;
+}
+function xZ() {
+ var a = 0, b = 0, c = 0, d = 0, e = 0;
+ a = q[160537];
+ e = q[160536];
+ a : {
+  if (!e) {
+   d = a;
+   a = w(q[a >> 2], 1103515245) + 12345 & 2147483647;
+   q[d >> 2] = a;
+   break a;
+  }
+  b = q[160538];
+  c = a + (b << 2) | 0;
+  d = q[160873];
+  a = q[c >> 2] + q[a + (d << 2) >> 2] | 0;
+  q[c >> 2] = a;
+  c = d + 1 | 0;
+  q[160873] = (c | 0) == (e | 0) ? 0 : c;
+  b = b + 1 | 0;
+  q[160538] = (b | 0) == (e | 0) ? 0 : b;
+  a = a >>> 1 | 0;
+ }
+ return a;
+}
+function MP(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = JP(b);
+ a : {
+  if ((c | 0) >= 0) {
+   c = r[c + 480514 | 0];
+   b = c >>> 5 | 0;
+   d = 1;
+   if (b >>> 0 >= t[a + 4 >> 2]) {
+    break a;
+   }
+   a = ((b << 2) + a | 0) + 8 | 0;
+   q[a >> 2] = q[a >> 2] | 1 << (c & 31);
+   return 1;
+  }
+  b : {
+   c = q[a >> 2];
+   if (c) {
+    break b;
+   }
+   c = GQ();
+   q[a >> 2] = c;
+   if (c) {
+    break b;
+   }
+   return 0;
+  }
+  d = xQ(c, b);
+ }
+ return d | 0;
+}
+function a$(a) {
+ var b = 0, c = 0;
+ b = 508544;
+ c = r[a | 0] ? a : 508544;
+ while (1) {
+  if (!b$(c, b)) {
+   while (1) {
+    b = (g0(b) + b | 0) + 1 | 0;
+    if (r[b | 0]) {
+     continue;
+    }
+    break;
+   }
+   return b + -508543 | 0;
+  }
+  b = (g0(b) + b | 0) + 1 | 0;
+  a = r[b | 0];
+  if (!a) {
+   a = r[b + 1 | 0];
+   b = (a >>> 0 > 128 ? 2 : w(128 - a >>> 2 | 0, 5) + 2 | 0) + b | 0;
+   a = r[b | 0];
+  }
+  if (a & 255) {
+   continue;
+  }
+  break;
+ }
+ return -1;
+}
+function VY(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ c = r[a + 1 | 0];
+ e = (c | 0) != 0;
+ a : {
+  if (!c) {
+   break a;
+  }
+  c = c | r[a | 0] << 8;
+  f = r[b + 1 | 0] | r[b | 0] << 8;
+  if ((c | 0) == (f | 0)) {
+   break a;
+  }
+  b = a + 1 | 0;
+  while (1) {
+   a = b;
+   d = r[a + 1 | 0];
+   e = (d | 0) != 0;
+   if (!d) {
+    break a;
+   }
+   b = a + 1 | 0;
+   c = d | c << 8 & 65280;
+   if ((f | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return e ? a : 0;
+}
+function vq() {
+ var a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;
+ a = j$(226542);
+ c = 2;
+ a : {
+  if (!a) {
+   break a;
+  }
+  b = 2;
+  c = 2;
+  if (!r[a | 0]) {
+   break a;
+  }
+  while (1) {
+   c = b;
+   e = b | 4;
+   f = b;
+   d = eZ(a, 58);
+   if (!d) {
+    d = g0(a) + a | 0;
+   }
+   b = d - a | 0;
+   b = jZ(a, 226553, b) ? c : (b | 0) == 24 ? e : f;
+   a = r[d | 0] ? d + 1 | 0 : d;
+   if (r[a | 0]) {
+    continue;
+   }
+   break;
+  }
+  c = b & 255;
+ }
+ q[160650] = c;
+}
+function iA(a, b, c, d, e, f, g, h) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ var i = 0;
+ h = _z(b + 44 | 0);
+ if (c) {
+  b = 0;
+  while (1) {
+   i = 0 - (pA(h, q[d >> 2], a) << 16) | 0;
+   i = T0(i >> 16, i >> 31, q[a + 40 >> 2], q[a + 44 >> 2]);
+   q[f >> 2] = (Ea & 65535) << 16 | i >>> 16;
+   f = f + g | 0;
+   d = d + e | 0;
+   b = b + 1 | 0;
+   if ((c | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Zl(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0, g = 0;
+ d = q[a + 420 >> 2];
+ if ((d | 0) >= 1) {
+  f = q[a + 424 >> 2];
+  g = r[b | 0];
+  while (1) {
+   a : {
+    e = q[(c << 2) + f >> 2];
+    if (r[e | 0] != (g | 0)) {
+     break a;
+    }
+    if (iZ(b, e)) {
+     break a;
+    }
+    return L_(q[q[a + 428 >> 2] + (c << 2) >> 2], 0, 10) | 0;
+   }
+   c = c + 1 | 0;
+   if ((c | 0) < (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function zn(a) {
+ n[q[a + 28 >> 2]](q[a + 32 >> 2], q[a + 580 >> 2]);
+ q[a + 580 >> 2] = 0;
+ n[q[a + 28 >> 2]](q[a + 32 >> 2], q[a + 576 >> 2]);
+ q[a + 576 >> 2] = 0;
+ n[q[a + 28 >> 2]](q[a + 32 >> 2], q[a + 252 >> 2]);
+ q[a + 252 >> 2] = 0;
+ n[q[a + 28 >> 2]](q[a + 32 >> 2], q[a + 120 >> 2]);
+ q[a + 120 >> 2] = 0;
+ n[q[a + 28 >> 2]](q[a + 32 >> 2], q[a + 136 >> 2]);
+ q[a + 136 >> 2] = 0;
+ n[q[a + 28 >> 2]](q[a + 32 >> 2], q[a + 152 >> 2]);
+ q[a + 152 >> 2] = 0;
+}
+function Yl(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = q[a >> 2];
+ eg(q[a + 44 >> 2]);
+ d = Sf(q[c + 504 >> 2], b);
+ if (!d) {
+  b = q[q[c + 504 >> 2] + 88 >> 2];
+  c = q[b + 16 >> 2];
+  q[a + 12 >> 2] = q[b + 12 >> 2];
+  q[a + 16 >> 2] = c;
+  q[a + 36 >> 2] = q[b + 36 >> 2];
+  c = q[b + 32 >> 2];
+  q[a + 28 >> 2] = q[b + 28 >> 2];
+  q[a + 32 >> 2] = c;
+  c = q[b + 24 >> 2];
+  q[a + 20 >> 2] = q[b + 20 >> 2];
+  q[a + 24 >> 2] = c;
+ }
+ return d | 0;
+}
+function Xl(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = q[a >> 2];
+ eg(q[a + 44 >> 2]);
+ d = Tf(q[c + 504 >> 2], b);
+ if (!d) {
+  b = q[q[c + 504 >> 2] + 88 >> 2];
+  c = q[b + 16 >> 2];
+  q[a + 12 >> 2] = q[b + 12 >> 2];
+  q[a + 16 >> 2] = c;
+  q[a + 36 >> 2] = q[b + 36 >> 2];
+  c = q[b + 32 >> 2];
+  q[a + 28 >> 2] = q[b + 28 >> 2];
+  q[a + 32 >> 2] = c;
+  c = q[b + 24 >> 2];
+  q[a + 20 >> 2] = q[b + 20 >> 2];
+  q[a + 24 >> 2] = c;
+ }
+ return d | 0;
+}
+function $m(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0;
+ if (a) {
+  b = q[a + 100 >> 2];
+  d = a + 140 | 0;
+  _m(q[d >> 2]);
+  c = a + 144 | 0;
+  Qe(b, q[c >> 2]);
+  q[c >> 2] = 0;
+  Qe(b, q[a + 132 >> 2]);
+  q[a + 132 >> 2] = 0;
+  c = a + 136 | 0;
+  Qe(b, q[c >> 2]);
+  q[c >> 2] = 0;
+  Qe(b, q[a + 20 >> 2]);
+  q[a + 20 >> 2] = 0;
+  Qe(b, q[a + 24 >> 2]);
+  q[a + 24 >> 2] = 0;
+  Qe(b, q[a + 32 >> 2]);
+  q[a + 32 >> 2] = 0;
+  Qe(b, q[d >> 2]);
+  q[d >> 2] = 0;
+ }
+}
+function CX(a, b) {
+ var c = 0, d = 0;
+ a = tX(a);
+ a : {
+  if (!a) {
+   break a;
+  }
+  d = yQ(q[a + 8 >> 2]);
+  pX(a);
+  if (!d) {
+   break a;
+  }
+  b : {
+   a = zQ(d);
+   if (a) {
+    while (1) {
+     c = g0(a);
+     if (!jZ(b, a, c)) {
+      c = r[b + c | 0];
+      if (!c | (c | 0) == 47) {
+       break b;
+      }
+     }
+     a = zQ(d);
+     if (a) {
+      continue;
+     }
+     break;
+    }
+   }
+   AQ(d);
+   return 0;
+  }
+  AQ(d);
+  c = KQ(a);
+ }
+ return c;
+}
+function uy(a) {
+ var b = 0, c = 0, d = 0;
+ b = a + 68 | 0;
+ M$(q[b >> 2]);
+ q[b >> 2] = 0;
+ q[a + 60 >> 2] = 0;
+ q[a + 64 >> 2] = 0;
+ c = a + 80 | 0;
+ M$(q[c >> 2]);
+ q[c >> 2] = 0;
+ q[a + 72 >> 2] = 0;
+ q[a + 76 >> 2] = 0;
+ d = a + 92 | 0;
+ M$(q[d >> 2]);
+ q[d >> 2] = 0;
+ q[a + 84 >> 2] = 0;
+ q[a + 88 >> 2] = 0;
+ M$(q[c >> 2]);
+ q[c >> 2] = 0;
+ q[a + 72 >> 2] = 0;
+ q[a + 76 >> 2] = 0;
+ M$(q[b >> 2]);
+ q[b >> 2] = 0;
+ q[a + 60 >> 2] = 0;
+ q[a + 64 >> 2] = 0;
+}
+function mV(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a : {
+  b : {
+   d = b + -15 | 0;
+   if (d >>> 0 > 2) {
+    break b;
+   }
+   c = 3;
+   c : {
+    switch (d - 1 | 0) {
+    case 0:
+     break b;
+    case 1:
+     break c;
+    default:
+     break a;
+    }
+   }
+   q[a >> 2] = 917;
+   return 8;
+  }
+  if ((b | 0) == 28) {
+   c = 59;
+   if (!q[a + 16 >> 2]) {
+    break a;
+   }
+  }
+  q[a >> 2] = 913;
+  c = -1;
+ }
+ return c | 0;
+}
+function XE(a, b, c, d, e, f) {
+ var g = 0, h = 0;
+ if (q[b >> 2]) {
+  g = N$(1, 204);
+  a : {
+   if (g) {
+    q[g + 8 >> 2] = 0;
+    q[g >> 2] = 1;
+    q[g + 4 >> 2] = 1;
+    a = a ? a : 641320;
+    Gq(a);
+    q[g + 12 >> 2] = a;
+    h = g + 16 | 0;
+    if (VE(h, 1, a, b, c, d, e, f)) {
+     if (NE(g + 60 | 0, a, h)) {
+      break a;
+     }
+     M$(q[g + 36 >> 2]);
+    }
+    M$(g);
+   }
+   g = 271040;
+  }
+  return g;
+ }
+ J(270243, 270284, 208, 270301);
+ F();
+}
+function ZI(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0, f = 0;
+ b = q[a + 16 >> 2];
+ q[a + 32 >> 2] = b;
+ e = a + 20 | 0;
+ f = q[e >> 2];
+ q[a + 36 >> 2] = f;
+ c = q[a + 8 >> 2];
+ d = c + q[a >> 2] | 0;
+ q[a + 8 >> 2] = d >> 1;
+ b = b + c | 0;
+ q[a + 24 >> 2] = b >> 1;
+ q[a + 16 >> 2] = b + d >> 2;
+ c = a + 12 | 0;
+ d = q[c >> 2];
+ b = d + q[a + 4 >> 2] | 0;
+ q[c >> 2] = b >> 1;
+ c = a;
+ a = d + f | 0;
+ q[c + 28 >> 2] = a >> 1;
+ q[e >> 2] = a + b >> 2;
+}
+function Ny(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0;
+ e = q[a + 12 >> 2];
+ a : {
+  if (n[q[e + 24 >> 2]](e, b, q[e + 56 >> 2]) >>> 0 <= 31) {
+   e = q[a + 12 >> 2];
+   f = 0;
+   if (1 << n[q[e + 24 >> 2]](e, b, q[e + 56 >> 2]) & 7168) {
+    break a;
+   }
+  }
+  a = q[a + 12 >> 2];
+  q[d >> 2] = 0;
+  f = 0;
+  if (!b | !c) {
+   break a;
+  }
+  f = (n[q[a + 36 >> 2]](a, b, c, d, q[a + 68 >> 2]) | 0) != 0;
+ }
+ return f | 0;
+}
+function op(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0;
+ d = q[a + 516 >> 2];
+ e = b;
+ a : {
+  b : {
+   if (c) {
+    c = n[d](a, 1986553185, b, 0) | 0;
+    if (c) {
+     break a;
+    }
+    a = a + 296 | 0;
+    break b;
+   }
+   c = n[d](a, 1751672161, b, 0) | 0;
+   if (c) {
+    break a;
+   }
+   a = a + 216 | 0;
+  }
+  c = Xg(e, 162576, a);
+  if (c) {
+   break a;
+  }
+  q[a + 36 >> 2] = 0;
+  q[a + 40 >> 2] = 0;
+  c = 0;
+ }
+ return c | 0;
+}
+function hA(a, b, c, d, e, f, g, h) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ var i = 0;
+ h = $z(b + 16 | 0);
+ if (c) {
+  b = 0;
+  while (1) {
+   i = oA(h, q[d >> 2], a) << 16;
+   i = T0(i >> 16, i >> 31, q[a + 32 >> 2], q[a + 36 >> 2]);
+   q[f >> 2] = (Ea & 65535) << 16 | i >>> 16;
+   f = f + g | 0;
+   d = d + e | 0;
+   b = b + 1 | 0;
+   if ((c | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function vl(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0;
+ b = q[a >> 2];
+ c = q[b + 408 >> 2];
+ q[a + 16 >> 2] = c;
+ d = q[b + 416 >> 2];
+ q[a + 20 >> 2] = d;
+ a : {
+  if (c >>> 0 < 2) {
+   break a;
+  }
+  b = q[d >> 2];
+  a = 1;
+  while (1) {
+   e = b;
+   b = q[(a << 4) + d >> 2];
+   if (e >>> 0 < b >>> 0) {
+    a = a + 1 | 0;
+    if ((c | 0) != (a | 0)) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  f = 8;
+ }
+ return f | 0;
+}
+function Si(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ e = 12;
+ a : {
+  if (iZ(b, 5215)) {
+   break a;
+  }
+  e = 7;
+  b : {
+   if (d) {
+    b = L_(c, 0, 10);
+    break b;
+   }
+   b = q[c >> 2];
+  }
+  c = b + -35 | 0;
+  if (c >>> 0 > 5) {
+   break a;
+  }
+  c : {
+   switch (c - 1 | 0) {
+   case 0:
+   case 1:
+   case 2:
+   case 3:
+    break a;
+   default:
+    break c;
+   }
+  }
+  q[a - -64 >> 2] = b;
+  e = 0;
+ }
+ return e | 0;
+}
+function UY(a, b) {
+ var c = 0, d = 0;
+ c = o[b | 0];
+ if (!c) {
+  return a;
+ }
+ a = eZ(a, c);
+ a : {
+  if (!a) {
+   break a;
+  }
+  if (!r[b + 1 | 0]) {
+   return a;
+  }
+  if (!r[a + 1 | 0]) {
+   break a;
+  }
+  if (!r[b + 2 | 0]) {
+   return VY(a, b);
+  }
+  if (!r[a + 2 | 0]) {
+   break a;
+  }
+  if (!r[b + 3 | 0]) {
+   return WY(a, b);
+  }
+  if (!r[a + 3 | 0]) {
+   break a;
+  }
+  if (!r[b + 4 | 0]) {
+   return XY(a, b);
+  }
+  d = YY(a, b);
+ }
+ return d;
+}
+function PR(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ q[a >> 2] = q[c >> 2] | q[b >> 2];
+ q[a + 4 >> 2] = q[c + 4 >> 2] | q[b + 4 >> 2];
+ q[a + 8 >> 2] = q[c + 8 >> 2] | q[b + 8 >> 2];
+ q[a + 12 >> 2] = q[c + 12 >> 2] | q[b + 12 >> 2];
+ q[a + 16 >> 2] = q[c + 16 >> 2] | q[b + 16 >> 2];
+ q[a + 20 >> 2] = q[c + 20 >> 2] | q[b + 20 >> 2];
+ q[a + 24 >> 2] = q[c + 24 >> 2] | q[b + 24 >> 2];
+ q[a + 28 >> 2] = q[c + 28 >> 2] | q[b + 28 >> 2];
+ return 1;
+}
+function eo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ if (a + 4 >>> 0 > t[b + 160 >> 2]) {
+  kf(b, 8);
+ }
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ if (!(a + c >>> 0 <= t[b + 160 >> 2] ? c >>> 0 >= 262 : 0)) {
+  kf(b, 8);
+ }
+ if (q[b + 164 >> 2]) {
+  a = a + 6 | 0;
+  c = 0;
+  while (1) {
+   if (t[b + 172 >> 2] <= r[a | 0]) {
+    kf(b, 16);
+   }
+   a = a + 1 | 0;
+   c = c + 1 | 0;
+   if ((c | 0) != 256) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function CN(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ a = JL(b, c);
+ a : {
+  if (d) {
+   a = _f(b, a, d);
+   break a;
+  }
+  a = xf(b, a);
+ }
+ q[e >> 2] = a;
+ if (!a) {
+  return 0;
+ }
+ q[f + 28 >> 2] = a;
+ b = 0;
+ a = pM(q[f >> 2], f + 8 | 0, c >>> 0 > 752 ? q[f + 32 >> 2] ? f : 0 : 0);
+ b : {
+  if (!a) {
+   break b;
+  }
+  if (q[a >> 2] > -1) {
+   b = a;
+   break b;
+  }
+  bM(a);
+ }
+ bM(b);
+ return 1;
+}
+function dD(a) {
+ var b = 0, c = 0;
+ b = a ? a : 641320;
+ a = N$(1, 96);
+ if (!a) {
+  Vz(641008);
+  return 641008;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a >> 2] = 1;
+ q[a + 4 >> 2] = 1;
+ Gq(b);
+ q[a + 12 >> 2] = 641008;
+ c = gF(b);
+ q[a + 72 >> 2] = 641104;
+ q[a + 16 >> 2] = c;
+ q[a + 84 >> 2] = a;
+ b = jF(b);
+ q[a + 40 >> 2] = 65536;
+ q[a + 44 >> 2] = 0;
+ q[a + 20 >> 2] = b;
+ q[a + 24 >> 2] = b;
+ q[a + 32 >> 2] = 65536;
+ q[a + 36 >> 2] = 0;
+ Vz(a);
+ return a;
+}
+function Mq(a) {
+ var b = 0, c = 0, d = 0;
+ b = q[a >> 2];
+ if (!(!b | (b | 0) == 271040)) {
+  if (q[b + 4 >> 2]) {
+   a = 0;
+   while (1) {
+    c = q[b + 8 >> 2] + w(a, 24) | 0;
+    d = c + 20 | 0;
+    M$(q[d >> 2]);
+    q[d >> 2] = 0;
+    q[c + 12 >> 2] = 0;
+    q[c + 16 >> 2] = 0;
+    a = a + 1 | 0;
+    if (a >>> 0 < t[b + 4 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  M$(q[b + 8 >> 2]);
+  a = q[b >> 2];
+  Cq(a ? a : 271040);
+  M$(b);
+ }
+}
+function AK(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ d = q[a + 16 >> 2];
+ c = q[b >> 2] + 1 | 0;
+ c = c >>> 0 < d >>> 0 ? d : c;
+ d = d + q[a + 20 >> 2] | 0;
+ a : {
+  if (c >>> 0 < d >>> 0) {
+   e = q[a + 24 >> 2];
+   while (1) {
+    a = s[(c << 1) + e >> 1];
+    if (a) {
+     break a;
+    }
+    c = c + 1 | 0;
+    if (c >>> 0 < d >>> 0) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = 0;
+  c = 0;
+ }
+ q[b >> 2] = c;
+ return a | 0;
+}
+function wO(a, b, c, d) {
+ var e = 0, f = 0, g = 0;
+ e = 1 << q[a >> 2];
+ a = 0 - e | 0;
+ a = a >>> 0 < c >>> 0 ? c : a & (c + e | 0) + -1;
+ f = 0;
+ a : {
+  if (a >>> 0 > 2147483615 / (((d | 0) > 1 ? d : 1) >>> 0) >>> 0) {
+   break a;
+  }
+  g = q[b + 20 >> 2];
+  e = Jd(e, w(a, d) + 32 | 0, 0);
+  f = 0;
+  if (!e) {
+   break a;
+  }
+  q[b + 20 >> 2] = e;
+  q[b + 16 >> 2] = a;
+  q[b + 12 >> 2] = d;
+  q[b + 8 >> 2] = c;
+  Kd(g);
+  f = 1;
+ }
+ return f;
+}
+function jg(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ a : {
+  if (!a | !b) {
+   break a;
+  }
+  c = q[a + 16 >> 2];
+  if ((c | 0) < 1) {
+   break a;
+  }
+  c = ((c << 2) + a | 0) + 20 | 0;
+  a = a + 20 | 0;
+  while (1) {
+   d = q[a >> 2];
+   e = q[d >> 2];
+   if (iZ(q[e + 8 >> 2], b)) {
+    a = a + 4 | 0;
+    if (a >>> 0 < c >>> 0) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  if (!d) {
+   break a;
+  }
+  f = q[e + 20 >> 2];
+ }
+ return f;
+}
+function FK(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0;
+ a : {
+  d = a ? a + b | 0 : 0;
+  if (d >>> 0 <= a >>> 0) {
+   break a;
+  }
+  d = d - a | 0;
+  e = d >>> 0 < b >>> 0 ? d : b;
+  if (!e) {
+   break a;
+  }
+  b = 0;
+  while (1) {
+   f = a + b | 0;
+   d = r[f | 0];
+   o[f | 0] = d ^ c >>> 8;
+   c = w(c + d | 0, 52845) + 22719 & 65535;
+   b = b + 1 | 0;
+   if ((e | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function $p(a, b) {
+ a = a | 0;
+ b = b | 0;
+ if (b >>> 0 > 6) {
+  return 0;
+ }
+ a : {
+  switch (b - 1 | 0) {
+  default:
+   return a + 160 | 0;
+  case 2:
+   return a + 216 | 0;
+  case 3:
+   return (r[a + 292 | 0] ? a + 296 | 0 : 0) | 0;
+  case 1:
+   return (s[a + 372 >> 1] == 65535 ? 0 : a + 372 | 0) | 0;
+  case 4:
+   return a + 476 | 0;
+  case 0:
+   return a + 260 | 0;
+  case 5:
+   break a;
+  }
+ }
+ return (q[a + 568 >> 2] ? a + 568 | 0 : 0) | 0;
+}
+function yG(a, b, c, d, e) {
+ var f = 0, g = 0, h = 0, i = 0;
+ a : {
+  if (!c) {
+   break a;
+  }
+  f = q[a + 76 >> 2];
+  if (!f) {
+   break a;
+  }
+  b = b & c;
+  h = c ^ -1;
+  i = q[a + 88 >> 2];
+  c = 0;
+  while (1) {
+   a = w(c, 20) + i | 0;
+   g = q[a + 8 >> 2];
+   if (!(g >>> 0 < d >>> 0 | g >>> 0 >= e >>> 0)) {
+    q[a + 4 >> 2] = q[a + 4 >> 2] & h | b;
+   }
+   c = c + 1 | 0;
+   if ((f | 0) != (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function uG(a) {
+ var b = 0, c = 0;
+ a : {
+  if (r[a + 68 | 0] == 1) {
+   if (!r[a + 69 | 0]) {
+    break a;
+   }
+   o[a + 69 | 0] = 0;
+   c = q[a + 92 >> 2];
+   b = q[a + 88 >> 2];
+   if ((c | 0) != (b | 0)) {
+    q[a + 96 >> 2] = b;
+    q[a + 92 >> 2] = b;
+    q[a + 88 >> 2] = c;
+   }
+   q[a + 72 >> 2] = 0;
+   b = q[a + 80 >> 2];
+   q[a + 80 >> 2] = q[a + 76 >> 2];
+   q[a + 76 >> 2] = b;
+  }
+  return;
+ }
+ J(272302, 272314, 335, 272355);
+ F();
+}
+function Mw(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ d = c ? c + a | 0 : 271040;
+ c = q[b + 96 >> 2];
+ c = ct(d, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]);
+ if ((c | 0) != -1) {
+  d = a;
+  a = (r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0 > c >>> 0 ? ((c << 1) + a | 0) + 6 | 0 : 271040;
+  a = r[a | 0] << 8 | r[a + 1 | 0];
+  a = Nw(a ? d + a | 0 : 271040, b);
+ } else {
+  a = 0;
+ }
+ return a | 0;
+}
+function Kw(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ d = c ? c + a | 0 : 271040;
+ c = q[b + 96 >> 2];
+ c = ct(d, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]);
+ if ((c | 0) != -1) {
+  d = a;
+  a = (r[a + 5 | 0] | r[a + 4 | 0] << 8) >>> 0 > c >>> 0 ? ((c << 1) + a | 0) + 6 | 0 : 271040;
+  a = r[a | 0] << 8 | r[a + 1 | 0];
+  a = Lw(a ? d + a | 0 : 271040, b);
+ } else {
+  a = 0;
+ }
+ return a | 0;
+}
+function jZ(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ if (!c) {
+  return 0;
+ }
+ d = r[a | 0];
+ a : {
+  if (!d) {
+   break a;
+  }
+  while (1) {
+   b : {
+    e = r[b | 0];
+    if ((e | 0) != (d | 0)) {
+     break b;
+    }
+    c = c + -1 | 0;
+    if (!c | !e) {
+     break b;
+    }
+    b = b + 1 | 0;
+    d = r[a + 1 | 0];
+    a = a + 1 | 0;
+    if (d) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  f = d;
+ }
+ return (f & 255) - r[b | 0] | 0;
+}
+function eQ(a, b) {
+ var c = 0, d = 0;
+ c = Ca - 32 | 0;
+ Ca = c;
+ if ((a | 0) == (b | 0)) {
+  a = 0;
+ } else {
+  q[c + 16 >> 2] = 0;
+  q[c + 20 >> 2] = a;
+  q[c + 4 >> 2] = b;
+  q[c >> 2] = 0;
+  while (1) {
+   a : {
+    b = _P(c + 16 | 0, 504752);
+    d = _P(c, 504752);
+    if (!b) {
+     break a;
+    }
+    if ((b | 0) == (d | 0)) {
+     continue;
+    }
+   }
+   break;
+  }
+  a = q[c + 20 >> 2] + (a ^ -1) | 0;
+ }
+ Ca = c + 32 | 0;
+ return a;
+}
+function Jl(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0;
+ f = q[a + 88 >> 2];
+ if (b) {
+  q[b >> 2] = q[a + 300 >> 2];
+ }
+ if (c) {
+  q[c >> 2] = q[a + 304 >> 2];
+ }
+ a : {
+  if (!f) {
+   b = 65536;
+   a = 65536;
+   break a;
+  }
+  b = Fe(s[f + 12 >> 1] << 6, q[a + 304 >> 2]);
+  a = Fe(s[f + 14 >> 1] << 6, q[a + 304 >> 2]);
+ }
+ if (d) {
+  q[d >> 2] = b;
+ }
+ if (e) {
+  q[e >> 2] = a;
+ }
+ return 0;
+}
+function AQ(a) {
+ var b = 0, c = 0, d = 0;
+ b = q[a >> 2];
+ a : {
+  if (q[b >> 2] == -1) {
+   break a;
+  }
+  c = q[b >> 2];
+  q[b >> 2] = c + -1;
+  if ((c | 0) != 1) {
+   break a;
+  }
+  c = q[b + 12 >> 2];
+  if (q[b + 4 >> 2] >= 1) {
+   while (1) {
+    M$(q[(d << 2) + c >> 2]);
+    c = q[b + 12 >> 2];
+    d = d + 1 | 0;
+    if ((d | 0) < q[b + 4 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (c) {
+   M$(c);
+  }
+  M$(b);
+ }
+ M$(a);
+}
+function rf(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  b : {
+   c = q[a + 156 >> 2];
+   if (!c) {
+    break b;
+   }
+   d = q[c + 4 >> 2];
+   if (!(d & 1)) {
+    break b;
+   }
+   e = q[a + 88 >> 2];
+   if (e) {
+    c = q[q[a + 4 >> 2] + 100 >> 2];
+    n[q[c + 8 >> 2]](c, e);
+    c = q[a + 156 >> 2];
+    d = q[c + 4 >> 2];
+   }
+   q[a + 88 >> 2] = 0;
+   q[c + 4 >> 2] = d & -2;
+   break a;
+  }
+  q[a + 88 >> 2] = 0;
+ }
+ q[a + 88 >> 2] = b;
+}
+function hH(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ while (1) {
+  d = q[b >> 2];
+  q[b >> 2] = 1;
+  if (d) {
+   continue;
+  }
+  break;
+ }
+ d = 0;
+ if (!te(q[b + 4 >> 2], c, q[b + 8 >> 2] | 16, e + 12 | 0)) {
+  d = q[e + 12 >> 2];
+  if (q[a + 24 >> 2] <= -1) {
+   d = 0 - d | 0;
+   q[e + 12 >> 2] = d;
+  }
+  d = 512 - d >> 10;
+ }
+ q[b >> 2] = 0;
+ Ca = e + 16 | 0;
+ return d | 0;
+}
+function jU(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = 1;
+ a = r[b + 3 | 0];
+ a : {
+  if (!(a & 128) | (a & 192) == 192) {
+   break a;
+  }
+  a = r[b + 2 | 0];
+  if (!(a & 128) | (a & 192) == 192) {
+   break a;
+  }
+  a = r[b + 1 | 0];
+  b = r[b | 0];
+  if ((b | 0) == 240) {
+   return (a & 192) == 192 | a >>> 0 < 144;
+  }
+  if (!(a & 128)) {
+   break a;
+  }
+  c = (b | 0) == 244 ? a >>> 0 > 143 : (a & 192) == 192;
+ }
+ return c | 0;
+}
+function WO(a) {
+ var b = 0, c = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  b = L$(32);
+  if (!b) {
+   break a;
+  }
+  c = q[a + 4 >> 2];
+  q[b >> 2] = q[a >> 2];
+  q[b + 4 >> 2] = c;
+  c = q[a + 28 >> 2];
+  q[b + 24 >> 2] = q[a + 24 >> 2];
+  q[b + 28 >> 2] = c;
+  c = q[a + 20 >> 2];
+  q[b + 16 >> 2] = q[a + 16 >> 2];
+  q[b + 20 >> 2] = c;
+  c = q[a + 12 >> 2];
+  q[b + 8 >> 2] = q[a + 8 >> 2];
+  q[b + 12 >> 2] = c;
+  c = b;
+ }
+ return c;
+}
+function YJ(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0, e = 0;
+ e = q[a >> 2];
+ b = q[a + 8 >> 2];
+ if (b) {
+  c = q[a + 16 >> 2];
+  d = q[c + 4 >> 2];
+  q[b + 108 >> 2] = q[c >> 2];
+  q[b + 112 >> 2] = d;
+  q[b + 124 >> 2] = q[c + 16 >> 2];
+  d = q[c + 12 >> 2];
+  q[b + 116 >> 2] = q[c + 8 >> 2];
+  q[b + 120 >> 2] = d;
+ }
+ b = q[a + 1512 >> 2];
+ if (b) {
+  n[b](q[a + 1508 >> 2]);
+  Qe(e, q[a + 1508 >> 2]);
+  q[a + 1508 >> 2] = 0;
+ }
+}
+function BS(a, b, c) {
+ var d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ a = yS(a, WQ(b), 0, d);
+ a : {
+  if (a) {
+   break a;
+  }
+  a = q[d >> 2] + -1 | 0;
+  if (a >>> 0 > 1) {
+   a = 2;
+   break a;
+  }
+  b : {
+   if (!(a - 1)) {
+    e = v[d + 8 >> 3];
+    if (y(e) < 2147483648) {
+     a = ~~e;
+     break b;
+    }
+    a = -2147483648;
+    break b;
+   }
+   a = q[d + 8 >> 2];
+  }
+  q[c >> 2] = a;
+  a = 0;
+ }
+ Ca = d + 16 | 0;
+ return a;
+}
+function $L(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ a : {
+  if (q[a >> 2] != q[b >> 2] | q[a + 4 >> 2] != q[b + 4 >> 2] | (q[a + 8 >> 2] != q[b + 8 >> 2] | q[a + 12 >> 2] != q[b + 12 >> 2])) {
+   break a;
+  }
+  if (q[a + 16 >> 2] != q[b + 16 >> 2] | q[a + 20 >> 2] != q[b + 20 >> 2] | (q[a + 24 >> 2] != q[b + 24 >> 2] | q[a + 28 >> 2] != q[b + 28 >> 2])) {
+   break a;
+  }
+  c = q[a + 32 >> 2] == q[b + 32 >> 2];
+ }
+ return c | 0;
+}
+function yX(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ e = yQ(b);
+ c = 0;
+ a : {
+  if (!e) {
+   break a;
+  }
+  c = zQ(e);
+  if (c) {
+   while (1) {
+    if (r[643388] & 8) {
+     q[d >> 2] = c;
+     d0(503406, d);
+    }
+    f = kT(c, a);
+    if (f) {
+     wX(a, f, b, c);
+     rR(f);
+    }
+    c = zQ(e);
+    if (c) {
+     continue;
+    }
+    break;
+   }
+  }
+  AQ(e);
+  c = 1;
+ }
+ Ca = d + 16 | 0;
+ return c;
+}
+function LL(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0;
+ q[b + 16 >> 2] = q[c >> 2];
+ d = q[c + 4 >> 2];
+ q[b + 104 >> 2] = 0;
+ q[b + 108 >> 2] = 0;
+ q[b + 20 >> 2] = d;
+ q[b >> 2] = q[a >> 2];
+ q[b + 4 >> 2] = q[a + 4 >> 2];
+ q[b + 8 >> 2] = q[a + 8 >> 2];
+ a = q[a + 12 >> 2];
+ q[b + 112 >> 2] = 0;
+ q[b + 116 >> 2] = 0;
+ q[b + 12 >> 2] = a;
+ if ((ML(q[c + 8 >> 2], b, 0) | 0) == -1) {
+  q[b >> 2] = 0;
+ }
+ return 1;
+}
+function EZ(a) {
+ var b = 0, c = 0;
+ a : {
+  if (t[a + 20 >> 2] <= t[a + 28 >> 2]) {
+   break a;
+  }
+  n[q[a + 36 >> 2]](a, 0, 0) | 0;
+  if (q[a + 20 >> 2]) {
+   break a;
+  }
+  return -1;
+ }
+ b = q[a + 4 >> 2];
+ c = q[a + 8 >> 2];
+ if (b >>> 0 < c >>> 0) {
+  b = b - c | 0;
+  n[q[a + 40 >> 2]](a, b, b >> 31, 1) | 0;
+ }
+ q[a + 28 >> 2] = 0;
+ q[a + 16 >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 8 >> 2] = 0;
+ return 0;
+}
+function um(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ c = q[a + 28 >> 2];
+ b = q[a + 12 >> 2];
+ if (b) {
+  tm(b + 12 | 0);
+  q[b + 52 >> 2] = 0;
+  q[b + 44 >> 2] = 0;
+  q[b + 48 >> 2] = 0;
+  q[b + 24 >> 2] = 0;
+  q[b + 28 >> 2] = 0;
+  q[b >> 2] = 0;
+  q[b + 4 >> 2] = 0;
+  q[b + 8 >> 2] = 0;
+  q[b + 12 >> 2] = 0;
+  q[b + 16 >> 2] = 0;
+  Qe(c, b);
+  q[a + 12 >> 2] = 0;
+ }
+ if (!q[a + 20 >> 2]) {
+  Qe(c, q[a >> 2]);
+  q[a >> 2] = 0;
+ }
+}
+function jQ(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ a : {
+  if ((c | 0) < 2) {
+   break a;
+  }
+  f = r[a | 0];
+  e = r[a + 1 | 0] | f << 8;
+  d = a + 2 | 0;
+  if ((f & 252) == 216) {
+   if ((c | 0) < 4) {
+    break a;
+   }
+   c = r[d | 0];
+   if ((c & 252) != 220) {
+    break a;
+   }
+   e = (r[d + 1 | 0] | (c << 8 & 768 | e << 10 & 1047552)) + 65536 | 0;
+   d = a + 4 | 0;
+  }
+  q[b >> 2] = e;
+  g = d - a | 0;
+ }
+ return g;
+}
+function kS(a, b) {
+ var c = 0, d = 0, e = 0;
+ d = q[b + 4 >> 2];
+ e = d + 1 | 0;
+ q[b + 4 >> 2] = e;
+ a : {
+  b : {
+   if (!a) {
+    c = 0;
+    if ((d | 0) >= -1) {
+     break a;
+    }
+    c = 0;
+    break b;
+   }
+   d = q[a >> 2];
+   c = 0;
+   if ((e | 0) >= (d | 0)) {
+    break a;
+   }
+   c = 0;
+   if ((d | 0) < 1) {
+    break b;
+   }
+   c = (q[a + 8 >> 2] + a | 0) + (e << 3) | 0;
+  }
+  q[b >> 2] = c;
+  c = 1;
+ }
+ return c;
+}
+function a0(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ o[c + 15 | 0] = b;
+ d = q[a + 16 >> 2];
+ a : {
+  if (!d) {
+   if ($$(a)) {
+    break a;
+   }
+   d = q[a + 16 >> 2];
+  }
+  e = q[a + 20 >> 2];
+  if (!(o[a + 75 | 0] == (b & 255) | e >>> 0 >= d >>> 0)) {
+   q[a + 20 >> 2] = e + 1;
+   o[e | 0] = b;
+   break a;
+  }
+  if ((n[q[a + 36 >> 2]](a, c + 15 | 0, 1) | 0) != 1) {
+   break a;
+  }
+ }
+ Ca = c + 16 | 0;
+}
+function qi(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0;
+ e = p[a + 302 >> 1];
+ if (e) {
+  f = c << 3;
+  g = q[f + q[b + 12 >> 2] >> 2];
+  e = ue(d, e, q[a + 568 >> 2]);
+  q[f + q[b + 12 >> 2] >> 2] = e + g;
+ }
+ e = p[a + 304 >> 1];
+ if (e) {
+  c = c << 3;
+  f = q[(c + q[b + 12 >> 2] | 0) + 4 >> 2];
+  a = ue(d, e, q[a + 568 >> 2]);
+  q[(c + q[b + 12 >> 2] | 0) + 4 >> 2] = a + f;
+ }
+}
+function Pe(a) {
+ var b = 0, c = 0;
+ q[a + 20 >> 2] = 0;
+ q[a + 48 >> 2] = 0;
+ b = q[a + 24 >> 2];
+ q[a + 56 >> 2] = q[a + 20 >> 2];
+ q[a + 60 >> 2] = b;
+ c = q[a + 32 >> 2];
+ b = a - -64 | 0;
+ q[b >> 2] = q[a + 28 >> 2];
+ q[b + 4 >> 2] = c;
+ b = q[a + 40 >> 2];
+ q[a + 72 >> 2] = q[a + 36 >> 2];
+ q[a + 76 >> 2] = b;
+ q[a + 88 >> 2] = q[a + 52 >> 2];
+ b = q[a + 48 >> 2];
+ q[a + 80 >> 2] = q[a + 44 >> 2];
+ q[a + 84 >> 2] = b;
+}
+function Jd(a, b, c) {
+ var d = 0, e = 0;
+ e = a + -1 | 0;
+ if (!(e & a)) {
+  a : {
+   if (-5 - a >>> 0 <= b >>> 0) {
+    break a;
+   }
+   b = (a + b | 0) + 3 | 0;
+   b : {
+    if (c) {
+     b = N$(b, 1);
+     break b;
+    }
+    b = L$(b);
+   }
+   if (!b) {
+    break a;
+   }
+   d = a;
+   a = b + 4 | 0;
+   c = a & e;
+   d = c ? (d - c | 0) + a | 0 : a;
+   q[d + -4 >> 2] = b;
+  }
+  return d;
+ }
+ J(3094, 3125, 85, 3137);
+ F();
+}
+function rN(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ if (!(!b | !d)) {
+  if ((b | 0) >= 1) {
+   while (1) {
+    g = r[c + f | 0];
+    if (g & 4) {
+     e = (f << 2) + d | 0;
+     h = e;
+     e = q[e >> 2] + -1569 | 0;
+     q[h >> 2] = q[(e >>> 0 > 178 ? h : (e << 4 | (g & 3) << 2) + 427760 | 0) >> 2];
+    }
+    f = f + 1 | 0;
+    if ((f | 0) != (b | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  sN(a, b, c, d);
+ }
+}
+function dH(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ while (1) {
+  a = q[b >> 2];
+  q[b >> 2] = 1;
+  if (a) {
+   continue;
+  }
+  break;
+ }
+ e = xf(q[b + 4 >> 2], c);
+ a : {
+  if (!e) {
+   a = 0;
+   if (!r[b + 12 | 0] | c >>> 0 > 255) {
+    break a;
+   }
+   e = xf(q[b + 4 >> 2], c + 61440 | 0);
+   if (!e) {
+    break a;
+   }
+  }
+  q[d >> 2] = e;
+  a = 1;
+ }
+ q[b >> 2] = 0;
+ return a | 0;
+}
+function Zj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ a = q[a + 712 >> 2];
+ b = s[q[a + 1188 >> 2] + (b << 1) >> 1];
+ a : {
+  if ((b | 0) == 65535) {
+   break a;
+  }
+  if (b >>> 0 >= 391) {
+   b = b + -391 | 0;
+   if (t[a + 1356 >> 2] <= b >>> 0) {
+    break a;
+   }
+   return q[q[a + 1360 >> 2] + (b << 2) >> 2];
+  }
+  a = q[a + 3084 >> 2];
+  if (!a) {
+   break a;
+  }
+  c = n[q[a + 20 >> 2]](b) | 0;
+ }
+ return c | 0;
+}
+function P0(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0;
+ e = b;
+ f = e >> 31;
+ e = e >> 31;
+ a = a ^ e;
+ g = a - e | 0;
+ h = (b ^ f) - ((a >>> 0 < e >>> 0) + f | 0) | 0;
+ e = d;
+ f = e >> 31;
+ e = e >> 31;
+ a = c ^ e;
+ e = V0(g, h, a - e | 0, (d ^ f) - ((a >>> 0 < e >>> 0) + f | 0) | 0);
+ b = b ^ d;
+ c = b >> 31;
+ a = b >> 31;
+ b = e ^ a;
+ d = b - a | 0;
+ Ea = (c ^ Ea) - ((b >>> 0 < a >>> 0) + c | 0) | 0;
+ return d;
+}
+function Hl(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0;
+ Il(a, b, c, d);
+ b = q[a + 300 >> 2];
+ c = q[a + 304 >> 2];
+ a : {
+  if ((b | 0) == (c | 0)) {
+   break a;
+  }
+  e = q[d >> 2];
+  if (e) {
+   f = d, g = ue(e, b, c), q[f >> 2] = g;
+  }
+  b = q[d + 4 >> 2];
+  if (!b) {
+   break a;
+  }
+  f = d, g = ue(b, q[a + 300 >> 2], q[a + 304 >> 2]), q[f + 4 >> 2] = g;
+ }
+ return 0;
+}
+function fY(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ cS(d, b);
+ e = q[d + 12 >> 2];
+ q[c + 8 >> 2] = q[d + 8 >> 2];
+ q[c + 12 >> 2] = e;
+ e = q[d + 4 >> 2];
+ q[c >> 2] = q[d >> 2];
+ q[c + 4 >> 2] = e;
+ c = a;
+ a = q[a + 8 >> 2];
+ c = a & 1 ? c + (a & -2) | 0 : a;
+ a = q[b + 8 >> 2];
+ a = $P(c, a & 1 ? (a & -2) + b | 0 : a);
+ Ca = d + 16 | 0;
+ return +(a ? 1 : 0);
+}
+function aQ(a, b) {
+ var c = 0;
+ c = Ca - 32 | 0;
+ Ca = c;
+ if ((a | 0) == (b | 0)) {
+  a = 0;
+ } else {
+  q[c + 16 >> 2] = 0;
+  q[c + 20 >> 2] = a;
+  q[c + 4 >> 2] = b;
+  q[c >> 2] = 0;
+  while (1) {
+   a : {
+    a = _P(c + 16 | 0, 481856);
+    b = _P(c, 481856);
+    if (!a) {
+     break a;
+    }
+    if ((a | 0) == (b | 0)) {
+     continue;
+    }
+   }
+   break;
+  }
+  a = a - b | 0;
+ }
+ Ca = c + 32 | 0;
+ return a;
+}
+function Ll(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[d + 12 >> 2] = 0;
+ a : {
+  if (q[c + 80 >> 2]) {
+   break a;
+  }
+  b = b - a | 0;
+  f = Oe(q[c >> 2], b + 1 | 0, d + 12 | 0);
+  q[c + 80 >> 2] = f;
+  e = q[d + 12 >> 2];
+  if (e) {
+   break a;
+  }
+  Y$(f, a, b);
+  o[b + q[c + 80 >> 2] | 0] = 0;
+  e = q[d + 12 >> 2];
+ }
+ Ca = d + 16 | 0;
+ return e | 0;
+}
+function Ee(a, b) {
+ var c = 0, d = 0;
+ d = (a | 0) < 0 ? -1 : 1;
+ d = (b | 0) < 0 ? 0 - d | 0 : d;
+ c = a;
+ a = a >> 31;
+ a = c + a ^ a;
+ c = b;
+ b = b >> 31;
+ b = c + b ^ b;
+ a : {
+  if (a + (b >>> 8 | 0) >>> 0 <= 8190) {
+   a = w(a, b) + 32768 >>> 16 | 0;
+   break a;
+  }
+  c = a & 65535;
+  a = w(c, b >>> 16 | 0) + w(b, a >>> 16 | 0) + (w(c, b & 65535) + 32768 >>> 16) | 0;
+ }
+ return (d | 0) < 0 ? 0 - a | 0 : a;
+}
+function xl(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0, f = 0;
+ c = q[a + 16 >> 2];
+ if (c) {
+  f = q[a + 20 >> 2];
+  a = 0;
+  while (1) {
+   e = (c - a >>> 1 | 0) + a | 0;
+   d = q[(e << 4) + f >> 2];
+   if ((d | 0) == (b | 0)) {
+    return e + 1 | 0;
+   }
+   d = d >>> 0 < b >>> 0;
+   c = d ? c : e;
+   a = d ? e + 1 | 0 : a;
+   if (c >>> 0 > a >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function lY(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ cS(d, b);
+ e = q[d + 12 >> 2];
+ q[c + 8 >> 2] = q[d + 8 >> 2];
+ q[c + 12 >> 2] = e;
+ e = q[d + 4 >> 2];
+ q[c >> 2] = q[d >> 2];
+ q[c + 4 >> 2] = e;
+ c = a;
+ a = q[a + 8 >> 2];
+ c = a & 1 ? c + (a & -2) | 0 : a;
+ a = q[b + 8 >> 2];
+ a = WR(c, a & 1 ? (a & -2) + b | 0 : a);
+ Ca = d + 16 | 0;
+ return +(a >>> 0);
+}
+function cf(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ if (a) {
+  d = q[a + 4 >> 2];
+  if (d) {
+   c = q[a + 20 >> 2];
+   while (1) {
+    e = q[c >> 2];
+    if (e) {
+     n[q[b + 8 >> 2]](b, e);
+    }
+    q[c >> 2] = 0;
+    c = c + 4 | 0;
+    f = f + 1 | 0;
+    if ((d | 0) != (f | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = q[a + 20 >> 2];
+  if (c) {
+   n[q[b + 8 >> 2]](b, c);
+  }
+  q[a + 20 >> 2] = 0;
+ }
+}
+function TC(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ b = q[a + 12 >> 2];
+ e = q[b + 72 >> 2];
+ b = n[q[e + 196 >> 2]](b, q[b + 76 >> 2], c, d, q[e + 60 >> 2]) | 0;
+ c = q[a + 12 >> 2];
+ a : {
+  if (!c) {
+   break a;
+  }
+  c = q[c + 24 >> 2];
+  a = q[a + 24 >> 2];
+  if ((c | 0) == (a | 0)) {
+   break a;
+  }
+  b = U0(T0(a, a >> 31, b, b >> 31), Ea, c, c >> 31);
+ }
+ return b | 0;
+}
+function RC(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ b = q[a + 12 >> 2];
+ e = q[b + 72 >> 2];
+ b = n[q[e + 192 >> 2]](b, q[b + 76 >> 2], c, d, q[e + 56 >> 2]) | 0;
+ c = q[a + 12 >> 2];
+ a : {
+  if (!c) {
+   break a;
+  }
+  c = q[c + 20 >> 2];
+  a = q[a + 20 >> 2];
+  if ((c | 0) == (a | 0)) {
+   break a;
+  }
+  b = U0(T0(a, a >> 31, b, b >> 31), Ea, c, c >> 31);
+ }
+ return b | 0;
+}
+function aq(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ var f = 0, g = 0;
+ f = 6;
+ a : {
+  if (!d | !e) {
+   break a;
+  }
+  g = s[a + 152 >> 1];
+  if (c) {
+   f = 142;
+   if (g >>> 0 <= b >>> 0) {
+    break a;
+   }
+   a = q[a + 156 >> 2] + (b << 4) | 0;
+   q[c >> 2] = q[a >> 2];
+   q[d >> 2] = q[a + 8 >> 2];
+   g = q[a + 12 >> 2];
+  }
+  q[e >> 2] = g;
+  f = 0;
+ }
+ return f | 0;
+}
+function tI(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0;
+ a : {
+  if (q[a + 4 >> 2]) {
+   break a;
+  }
+  e = c;
+  g = a + 52 | 0;
+  f = q[g >> 2];
+  c = q[a + 16 >> 2];
+  if ((e | 0) != (f + c | 0)) {
+   break a;
+  }
+  e = q[a >> 2];
+  c = EI(a + 16 | 0, d, f, c, b, e);
+  if (!c) {
+   c = EI(g, d, 0, f, b, e);
+   if (!c) {
+    break a;
+   }
+  }
+  q[a + 4 >> 2] = c;
+ }
+}
+function pZ(a, b) {
+ var c = 0, d = 0, i = 0;
+ h(+a);
+ c = e(1) | 0;
+ d = e(0) | 0;
+ i = c;
+ c = c >>> 20 & 2047;
+ if ((c | 0) != 2047) {
+  if (!c) {
+   c = b;
+   if (a == 0) {
+    b = 0;
+   } else {
+    a = pZ(a * 0x10000000000000000, b);
+    b = q[b >> 2] + -64 | 0;
+   }
+   q[c >> 2] = b;
+   return a;
+  }
+  q[b >> 2] = c + -1022;
+  f(0, d | 0);
+  f(1, i & -2146435073 | 1071644672);
+  a = +g();
+ }
+ return a;
+}
+function hL(a, b) {
+ var c = 0;
+ c = N$(1, 44);
+ if (!c) {
+  return 0;
+ }
+ q[c >> 2] = a;
+ a = q[160470];
+ q[c + 4 >> 2] = q[160469];
+ q[c + 8 >> 2] = a;
+ a = q[160472];
+ q[c + 12 >> 2] = q[160471];
+ q[c + 16 >> 2] = a;
+ a = q[160474];
+ q[c + 20 >> 2] = q[160473];
+ q[c + 24 >> 2] = a;
+ a = q[160476];
+ q[c + 28 >> 2] = q[160475];
+ q[c + 32 >> 2] = a;
+ q[c + 36 >> 2] = q[160477];
+ q[c + 40 >> 2] = b;
+ return c;
+}
+function CZ(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ d = q[a >> 2] & 1;
+ if (!d) {
+  b = q[a + 52 >> 2];
+  if (b) {
+   q[b + 56 >> 2] = q[a + 56 >> 2];
+  }
+  c = q[a + 56 >> 2];
+  if (c) {
+   q[c + 52 >> 2] = b;
+  }
+  if (q[161139] == (a | 0)) {
+   q[161139] = c;
+  }
+ }
+ b = DZ(a);
+ c = n[q[a + 12 >> 2]](a) | 0;
+ e = q[a + 96 >> 2];
+ if (e) {
+  M$(e);
+ }
+ b = b | c;
+ if (!d) {
+  M$(a);
+  return b;
+ }
+ return b;
+}
+function BQ(a) {
+ var b = 0, c = 0;
+ a : {
+  if (q[a >> 2] == -1) {
+   break a;
+  }
+  b = q[a >> 2];
+  q[a >> 2] = b + -1;
+  if ((b | 0) != 1) {
+   break a;
+  }
+  b = q[a + 12 >> 2];
+  if (q[a + 4 >> 2] >= 1) {
+   while (1) {
+    M$(q[(c << 2) + b >> 2]);
+    b = q[a + 12 >> 2];
+    c = c + 1 | 0;
+    if ((c | 0) < q[a + 4 >> 2]) {
+     continue;
+    }
+    break;
+   }
+  }
+  if (b) {
+   M$(b);
+  }
+  M$(a);
+ }
+}
+function tX(a) {
+ var b = 0;
+ if (!a) {
+  uX();
+  while (1) {
+   a : {
+    a = q[160852];
+    if (a) {
+     break a;
+    }
+    a = oX();
+    if (!a) {
+     continue;
+    }
+    uX();
+    b = q[160852];
+    q[160852] = b ? b : a;
+    if (!b) {
+     break a;
+    }
+    pX(a);
+    continue;
+   }
+   break;
+  }
+  q[a + 68 >> 2] = q[a + 68 >> 2] + 1;
+  return a;
+ }
+ q[a + 68 >> 2] = q[a + 68 >> 2] + 1;
+ return a;
+}
+function UN(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ b = q[a + 8 >> 2];
+ c = q[a + 12 >> 2];
+ a : {
+  if (b >>> 0 >= c >>> 0) {
+   q[160854] = 0;
+   c = c << 1;
+   d = a, e = Md(q[a + 20 >> 2], c, 1), q[d + 20 >> 2] = e;
+   b = 0;
+   if (q[160854]) {
+    break a;
+   }
+   q[a + 12 >> 2] = c;
+   b = q[a + 8 >> 2];
+  }
+  o[q[a + 20 >> 2] + b | 0] = 1;
+  q[a + 8 >> 2] = q[a + 8 >> 2] + 1;
+  b = 1;
+ }
+ return b;
+}
+function bS(a) {
+ var b = 0;
+ a : {
+  b = q[a >> 2] + -3 | 0;
+  if (b >>> 0 > 6) {
+   break a;
+  }
+  b : {
+   switch (b - 1 | 0) {
+   default:
+    M$(q[a + 8 >> 2]);
+    return;
+   case 1:
+    XO(q[a + 8 >> 2]);
+    return;
+   case 2:
+    IR(q[a + 8 >> 2]);
+    return;
+   case 4:
+    KP(q[a + 8 >> 2]);
+    return;
+   case 0:
+   case 3:
+    break a;
+   case 5:
+    break b;
+   }
+  }
+  M$(q[a + 8 >> 2]);
+ }
+}
+function $P(a, b) {
+ var c = 0;
+ c = Ca - 32 | 0;
+ Ca = c;
+ if ((a | 0) == (b | 0)) {
+  a = 0;
+ } else {
+  q[c + 16 >> 2] = 0;
+  q[c + 20 >> 2] = a;
+  q[c + 4 >> 2] = b;
+  q[c >> 2] = 0;
+  while (1) {
+   a : {
+    a = _P(c + 16 | 0, 0);
+    b = _P(c, 0);
+    if (!a) {
+     break a;
+    }
+    if ((a | 0) == (b | 0)) {
+     continue;
+    }
+   }
+   break;
+  }
+  a = a - b | 0;
+ }
+ Ca = c + 32 | 0;
+ return a;
+}
+function sP(a, b) {
+ var c = 0, d = 0;
+ c = q[a >> 2];
+ a : {
+  if ((c | 0) != q[a + 4 >> 2]) {
+   d = q[a + 8 >> 2];
+   break a;
+  }
+  c = c + 32 | 0;
+  d = q[a + 8 >> 2];
+  b : {
+   if (d) {
+    d = O$(d, c << 2);
+    break b;
+   }
+   d = L$(c << 2);
+  }
+  if (!d) {
+   return 0;
+  }
+  q[a + 8 >> 2] = d;
+  q[a + 4 >> 2] = c;
+  c = q[a >> 2];
+ }
+ q[a >> 2] = c + 1;
+ q[(c << 2) + d >> 2] = b;
+ return 1;
+}
+function pk(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ e = q[q[a + 128 >> 2] + 52 >> 2];
+ a : {
+  if (e) {
+   a = q[b >> 2];
+   q[d + 12 >> 2] = c;
+   q[d + 8 >> 2] = a;
+   n[q[q[e >> 2] + 4 >> 2]](q[e + 4 >> 2], d + 8 | 0);
+   break a;
+  }
+  a = q[a + 712 >> 2];
+  if (q[a + 1236 >> 2]) {
+   break a;
+  }
+  Lg(q[a + 1204 >> 2], b);
+ }
+ Ca = d + 16 | 0;
+}
+function HM(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ a = q[a + 28 >> 2];
+ d = q[a + 20 >> 2];
+ b = q[b + 28 >> 2];
+ e = q[b + 20 >> 2];
+ c = -1;
+ a : {
+  if ((d | 0) < (e | 0)) {
+   break a;
+  }
+  c = 1;
+  if ((d | 0) > (e | 0)) {
+   break a;
+  }
+  a = q[a + 16 >> 2];
+  b = q[b + 16 >> 2];
+  c = -1;
+  if ((a | 0) < (b | 0)) {
+   break a;
+  }
+  c = (a | 0) > (b | 0);
+ }
+ return c | 0;
+}
+function vd(a) {
+ var b = 0, c = 0;
+ b = q[a >> 2];
+ c = q[a + 4 >> 2];
+ if ((b | 0) <= (c | 0)) {
+  a : {
+   if ((b | 0) != (c | 0)) {
+    c = q[a + 16 >> 2];
+    break a;
+   }
+   b = b + 20 | 0;
+   q[a + 4 >> 2] = b;
+   c = O$(q[a + 16 >> 2], w(b, 144));
+   q[a + 16 >> 2] = c;
+   b = q[a >> 2];
+  }
+  q[a >> 2] = b + 1;
+  Z$(w(b, 144) + c | 0, 0, 144);
+  return b;
+ }
+ J(1149, 1186, 104, 1192);
+ F();
+}
+function oj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ a : {
+  d = q[a >> 2];
+  c = q[d + 552 >> 2];
+  d = ig(q[q[d + 96 >> 2] + 4 >> 2], 6929);
+  if (!(!c | !d)) {
+   c = q[c >> 2];
+   if (c) {
+    break a;
+   }
+  }
+  Rf(q[a >> 2], b);
+  return 0;
+ }
+ c = n[c](d) | 0;
+ Rf(q[a >> 2], b);
+ if (c) {
+  n[q[c + 4 >> 2]](q[q[a + 40 >> 2] >> 2], q[a + 16 >> 2], q[a + 20 >> 2], 0, 0);
+ }
+ return 0;
+}
+function nT(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = 1;
+ a = n[q[a + 364 >> 2]](q[a + 368 >> 2], b) | 0;
+ a : {
+  if (a >>> 0 > 65535) {
+   break a;
+  }
+  b = a >>> 8 | 0;
+  if (b + -216 >>> 0 < 8) {
+   break a;
+  }
+  b : {
+   if ((b | 0) != 255) {
+    if (r[a + 489888 | 0] | b) {
+     break b;
+    }
+    break a;
+   }
+   if ((a | 1) == 65535) {
+    break a;
+   }
+  }
+  c = 0;
+ }
+ return c | 0;
+}
+function O$(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ if (!a) {
+  return L$(b) | 0;
+ }
+ if (b >>> 0 >= 4294967232) {
+  q[160854] = 48;
+  return 0;
+ }
+ c = P$(a + -8 | 0, b >>> 0 < 11 ? 16 : b + 11 & -8);
+ if (c) {
+  return c + 8 | 0;
+ }
+ c = L$(b);
+ if (!c) {
+  return 0;
+ }
+ d = q[a + -4 >> 2];
+ d = (d & -8) - (d & 3 ? 4 : 8) | 0;
+ Y$(c, a, d >>> 0 < b >>> 0 ? d : b);
+ M$(a);
+ return c | 0;
+}
+function MZ(a, b) {
+ var c = 0, d = 0;
+ c = Ca - 160 | 0;
+ Ca = c;
+ Y$(c + 8 | 0, 506984, 144);
+ q[c + 52 >> 2] = a;
+ q[c + 28 >> 2] = a;
+ d = -2 - a | 0;
+ d = 2147483647 > d >>> 0 ? d : 2147483647;
+ q[c + 56 >> 2] = d;
+ a = a + d | 0;
+ q[c + 36 >> 2] = a;
+ q[c + 24 >> 2] = a;
+ g_(c + 8 | 0, 27491, b);
+ if (d) {
+  a = q[c + 28 >> 2];
+  o[a - ((a | 0) == q[c + 24 >> 2]) | 0] = 0;
+ }
+ Ca = c + 160 | 0;
+}
+function ig(a, b) {
+ var c = 0, d = 0;
+ if (!a) {
+  return 0;
+ }
+ if (!b) {
+  return 0;
+ }
+ c = q[a + 16 >> 2];
+ if ((c | 0) < 1) {
+  return 0;
+ }
+ c = ((c << 2) + a | 0) + 20 | 0;
+ a = a + 20 | 0;
+ a : {
+  while (1) {
+   d = q[a >> 2];
+   if (!iZ(q[q[d >> 2] + 8 >> 2], b)) {
+    break a;
+   }
+   a = a + 4 | 0;
+   if (a >>> 0 < c >>> 0) {
+    continue;
+   }
+   break;
+  }
+  return 0;
+ }
+ return d;
+}
+function Oq(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ c = 75;
+ a : {
+  while (1) {
+   b = c + d >>> 1 | 0;
+   e = q[(b << 4) + 226928 >> 2];
+   b : {
+    if (e >>> 0 > a >>> 0) {
+     c = b + -1 | 0;
+     break b;
+    }
+    if (e >>> 0 >= a >>> 0) {
+     break a;
+    }
+    d = b + 1 | 0;
+   }
+   if ((d | 0) <= (c | 0)) {
+    continue;
+   }
+   break;
+  }
+  return 0;
+ }
+ return (b << 4) + 226928 | 0;
+}
+function RZ(a) {
+ var b = 0, c = 0;
+ b = r[a + 74 | 0];
+ o[a + 74 | 0] = b + -1 | b;
+ if (t[a + 20 >> 2] > t[a + 28 >> 2]) {
+  n[q[a + 36 >> 2]](a, 0, 0) | 0;
+ }
+ q[a + 28 >> 2] = 0;
+ q[a + 16 >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+ b = q[a >> 2];
+ if (b & 4) {
+  q[a >> 2] = b | 32;
+  return -1;
+ }
+ c = q[a + 44 >> 2] + q[a + 48 >> 2] | 0;
+ q[a + 8 >> 2] = c;
+ q[a + 4 >> 2] = c;
+ return b << 27 >> 31;
+}
+function FX(a, b) {
+ var c = 0;
+ a = a ? a : 503018;
+ c = L$((g0(a) + g0(b) | 0) + 5 & -4);
+ if (c) {
+  a = gZ(c, a);
+  a : {
+   if (r[a | 0]) {
+    if (r[(g0(a) + a | 0) + -1 | 0] == 47) {
+     break a;
+    }
+   }
+   if (r[b | 0] == 47) {
+    break a;
+   }
+   c = g0(a) + a | 0;
+   o[c | 0] = 47;
+   o[c + 1 | 0] = 0;
+  }
+  a = cZ(a, b);
+  if (!NY(a, 4)) {
+   return a;
+  }
+  M$(a);
+ }
+ return 0;
+}
+function sI(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0;
+ a : {
+  if (q[a + 4 >> 2]) {
+   break a;
+  }
+  d = q[a + 16 >> 2];
+  e = a + 52 | 0;
+  f = q[e >> 2];
+  if ((d + f | 0) != (b | 0)) {
+   break a;
+  }
+  g = q[a >> 2];
+  b = EI(a + 16 | 0, c, 0, d, 0, g);
+  if (!b) {
+   b = EI(e, c, d, f, 0, g);
+   if (!b) {
+    break a;
+   }
+  }
+  q[a + 4 >> 2] = b;
+ }
+}
+function zg(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ f = q[a + 4 >> 2];
+ d = q[a + 8 >> 2];
+ if (f >>> 0 > d >>> 0) {
+  e = q[a + 20 >> 2];
+  a : {
+   if (e) {
+    b = n[e](a, d, b, c) | 0;
+    break a;
+   }
+   e = b;
+   b = f - d | 0;
+   b = b >>> 0 > c >>> 0 ? c : b;
+   Y$(e, q[a >> 2] + d | 0, b);
+  }
+  q[a + 8 >> 2] = b + d;
+  a = b >>> 0 < c >>> 0 ? 85 : 0;
+ } else {
+  a = 85;
+ }
+ return a;
+}
+function vO(a, b, c, d) {
+ var e = 0, f = 0;
+ a = 1 << q[a >> 2];
+ e = 0 - a | 0;
+ e = e >>> 0 < c >>> 0 ? c : e & (a + c | 0) + -1;
+ a : {
+  if (e >>> 0 > 2147483615 / (((d | 0) > 1 ? d : 1) >>> 0) >>> 0) {
+   break a;
+  }
+  a = Jd(a, w(d, e) + 32 | 0, 1);
+  if (!a) {
+   break a;
+  }
+  q[b + 20 >> 2] = a;
+  q[b + 16 >> 2] = e;
+  q[b + 12 >> 2] = d;
+  q[b + 8 >> 2] = c;
+  f = 1;
+ }
+ return f;
+}
+function Ej(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0, f = 0, g = 0, h = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ e = b >>> 0 < 4 ? b : 4;
+ if (e) {
+  b = 0;
+  while (1) {
+   f = b << 2;
+   g = f + d | 0, h = Ae(q[c + f >> 2]) >> 16, q[g >> 2] = h;
+   b = b + 1 | 0;
+   if ((e | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ a = zj(a, e, d);
+ Ca = d + 16 | 0;
+ return a | 0;
+}
+function tP(a, b) {
+ var c = 0;
+ a : {
+  if (!bP(a, b, 12)) {
+   break a;
+  }
+  if (!bP(a, q[b + 8 >> 2], q[b >> 2] << 2)) {
+   break a;
+  }
+  if (q[b >> 2] <= 0) {
+   return 1;
+  }
+  b : {
+   while (1) {
+    if (!NS(a, q[q[b + 8 >> 2] + (c << 2) >> 2])) {
+     break b;
+    }
+    c = c + 1 | 0;
+    if ((c | 0) < q[b >> 2]) {
+     continue;
+    }
+    break;
+   }
+   return 1;
+  }
+ }
+ return 0;
+}
+function ok(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ f = q[q[a + 128 >> 2] + 52 >> 2];
+ a : {
+  if (f) {
+   a = n[q[q[f >> 2] >> 2]](q[f + 4 >> 2], b, e + 8 | 0) | 0;
+   q[c >> 2] = q[e + 8 >> 2];
+   q[d >> 2] = q[e + 12 >> 2];
+   break a;
+  }
+  a = hk(q[a + 712 >> 2] + 1204 | 0, b, c, d);
+ }
+ Ca = e + 16 | 0;
+ return a | 0;
+}
+function iq(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ e = jq(a, 163440, d);
+ a : {
+  if (e) {
+   break a;
+  }
+  e = jq(a, 163457, d + 8 | 0);
+  if (e) {
+   break a;
+  }
+  e = 6;
+  if (q[d >> 2] != 1 | q[d + 8 >> 2] != 1) {
+   break a;
+  }
+  q[b >> 2] = q[d + 12 >> 2];
+  q[c >> 2] = q[d + 4 >> 2];
+  e = 0;
+ }
+ Ca = d + 16 | 0;
+ return e | 0;
+}
+function ZP(a) {
+ var b = 0, c = 0, d = 0;
+ b = Ca - 16 | 0;
+ Ca = b;
+ q[b >> 2] = 0;
+ q[b + 4 >> 2] = a;
+ while (1) {
+  c = c + 1 | 0;
+  if (_P(b, 0)) {
+   continue;
+  }
+  break;
+ }
+ d = L$(c);
+ if (d) {
+  q[b >> 2] = 0;
+  q[b + 4 >> 2] = a;
+  c = d;
+  while (1) {
+   a = _P(b, 0);
+   o[c | 0] = a;
+   c = c + 1 | 0;
+   if (a) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = b + 16 | 0;
+ return d;
+}
+function NP(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ c = JP(b);
+ a : {
+  if ((c | 0) >= 0) {
+   b = r[c + 480514 | 0];
+   c = b >>> 5 | 0;
+   if (c >>> 0 >= t[a + 4 >> 2]) {
+    break a;
+   }
+   a = ((c << 2) + a | 0) + 8 | 0;
+   c = q[a >> 2];
+   d = a, e = Y0(-2, b) & c, q[d >> 2] = e;
+   return 1;
+  }
+  a = q[a >> 2];
+  if (!a) {
+   break a;
+  }
+  NQ(a, b);
+ }
+ return 1;
+}
+function wb(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ a = q[a + 8 >> 2];
+ c = q[a >> 2];
+ a : {
+  if ((c | 0) >= 1) {
+   e = q[a + 16 >> 2];
+   a = 0;
+   while (1) {
+    d = q[w(a, 144) + e >> 2];
+    if (d) {
+     if (!iZ(d, b)) {
+      break a;
+     }
+    }
+    a = a + 1 | 0;
+    if ((c | 0) != (a | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  a = 0;
+ }
+ return a | 0;
+}
+function gX(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = iX(a);
+ if (!c) {
+  return 0;
+ }
+ a : {
+  while (1) {
+   if (e) {
+    d = vX(q[a + 16 >> 2]);
+    if (!d) {
+     break a;
+    }
+    q[d + 8 >> 2] = c;
+    q[d >> 2] = b;
+    q[d + 12 >> 2] = e;
+    c = d;
+   }
+   e = c;
+   c = iX(a);
+   if (c) {
+    continue;
+   }
+   break;
+  }
+  return e;
+ }
+ VW(a, 2, 498895, 0);
+ SW(c);
+ SW(e);
+ return 0;
+}
+function Yq(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ c = q[a + 76 >> 2];
+ if (c) {
+  d = q[a + 96 >> 2];
+  e = q[a + 88 >> 2];
+  a = 0;
+  while (1) {
+   b = w(a, 20);
+   if (q[b + e >> 2] == 65535) {
+    b = b + d | 0;
+    q[b >> 2] = 0;
+    q[b + 4 >> 2] = 0;
+    q[b + 8 >> 2] = 0;
+    q[b + 12 >> 2] = 0;
+   }
+   a = a + 1 | 0;
+   if ((c | 0) != (a | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function le(a, b) {
+ var c = 0;
+ if (!a) {
+  return 40;
+ }
+ q[a + 16 >> 2] = b;
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+ q[a >> 2] = 0;
+ b = JZ(b, 3759);
+ if (!b) {
+  return 1;
+ }
+ IZ(b, 0, 2);
+ c = AZ(b);
+ q[a + 4 >> 2] = c;
+ if (!c) {
+  CZ(b);
+  return 81;
+ }
+ IZ(b, 0, 0);
+ q[a + 24 >> 2] = 3;
+ q[a + 20 >> 2] = 4;
+ q[a + 12 >> 2] = b;
+ return 0;
+}
+function hq(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ e = q[a + 16 >> 2];
+ a : {
+  if ((e | 0) >= 1) {
+   while (1) {
+    if (!Bp(a, c, d + 12 | 0)) {
+     if (!iZ(b, q[d + 12 >> 2])) {
+      break a;
+     }
+    }
+    c = c + 1 | 0;
+    if ((e | 0) != (c | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = 0;
+ }
+ Ca = d + 16 | 0;
+ return c | 0;
+}
+function NN(a, b, c) {
+ var d = 0, e = 0;
+ d = L$(b << 3);
+ q[a + 16 >> 2] = d;
+ e = L$(c);
+ q[a + 20 >> 2] = e;
+ if (!(e ? d : 0)) {
+  M$(d);
+  M$(q[a + 20 >> 2]);
+  q[a + 16 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  return 0;
+ }
+ q[a + 12 >> 2] = c;
+ q[a + 4 >> 2] = b;
+ q[a + 8 >> 2] = 0;
+ q[a >> 2] = 0;
+ return 1;
+}
+function LN(a) {
+ var b = 0, c = 0, d = 0;
+ b = q[a + 4 >> 2];
+ if ((b | 0) >= 1) {
+  while (1) {
+   c = q[(q[a >> 2] + w(d, 336) | 0) + 332 >> 2];
+   if (c) {
+    while (1) {
+     b = q[c + 332 >> 2];
+     M$(c);
+     c = b;
+     if (c) {
+      continue;
+     }
+     break;
+    }
+    b = q[a + 4 >> 2];
+   }
+   d = d + 1 | 0;
+   if ((d | 0) < (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function hi(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0;
+ d = c;
+ c = q[a + 484 >> 2];
+ d = d + (q[a + 488 >> 2] - c | 0) | 0;
+ if ((b | 0) >= 0) {
+  b = b + d | 0;
+  a = (b - ((b | 0) % q[a + 480 >> 2] | 0) | 0) + c | 0;
+  return ((a | 0) < 0 ? c : a) | 0;
+ }
+ b = d - b | 0;
+ a = (((b | 0) % q[a + 480 >> 2] | 0) - b | 0) - c | 0;
+ return ((a | 0) > 0 ? 0 - c | 0 : a) | 0;
+}
+function gl(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ if (q[q[a + 40 >> 2] >> 2]) {
+  c = q[a >> 2];
+  b = q[c + 320 >> 2];
+  c = ig(q[q[c + 96 >> 2] + 4 >> 2], 14478);
+  a : {
+   if (!b | !c) {
+    break a;
+   }
+   b = q[b >> 2];
+   if (!b) {
+    break a;
+   }
+   b = n[b](c) | 0;
+   if (!b) {
+    break a;
+   }
+   n[q[b + 8 >> 2]](q[q[a + 40 >> 2] >> 2]);
+  }
+  q[q[a + 40 >> 2] >> 2] = 0;
+ }
+}
+function Fn(a, b, c, d) {
+ var e = 0, f = 0;
+ e = Ca - 5040 | 0;
+ Ca = e;
+ q[e + 20 >> 2] = 0;
+ q[e + 16 >> 2] = a;
+ q[e + 12 >> 2] = b;
+ q[e + 8 >> 2] = q[c >> 2];
+ q[e + 4 >> 2] = d;
+ if (xn(e + 24 | 0)) {
+  a = Gn(e + 24 | 0, e + 16 | 0, e + 12 | 0, e + 8 | 0, e + 4 | 0, e + 20 | 0);
+  q[c >> 2] = q[e + 20 >> 2];
+  An(e + 24 | 0);
+  f = (a | 0) == 1;
+ }
+ Ca = e + 5040 | 0;
+ return f;
+}
+function pE(a) {
+ a = a | 0;
+ a = a + 24 | 0;
+ xy(a, 555);
+ vy(a, 1819239276, 1, 1);
+ vy(a, 1667460464, 1, 1);
+ xy(a, 556);
+ vy(a, 1919969382, 9, 1);
+ xy(a, 0);
+ vy(a, 1886545254, 9, 1);
+ xy(a, 0);
+ vy(a, 1651275622, 9, 1);
+ xy(a, 0);
+ vy(a, 1886614630, 9, 1);
+ xy(a, 0);
+ xy(a, 557);
+ vy(a, 1886545267, 9, 1);
+ vy(a, 1633842803, 9, 1);
+ vy(a, 1651275635, 9, 1);
+ vy(a, 1886614643, 9, 1);
+}
+function fj(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ if (q[q[a + 40 >> 2] >> 2]) {
+  c = q[a >> 2];
+  b = q[c + 552 >> 2];
+  c = ig(q[q[c + 96 >> 2] + 4 >> 2], 6929);
+  a : {
+   if (!b | !c) {
+    break a;
+   }
+   b = q[b >> 2];
+   if (!b) {
+    break a;
+   }
+   b = n[b](c) | 0;
+   if (!b) {
+    break a;
+   }
+   n[q[b + 8 >> 2]](q[q[a + 40 >> 2] >> 2]);
+  }
+  q[q[a + 40 >> 2] >> 2] = 0;
+ }
+}
+function Sx(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = r[a + 3 | 0] | r[a + 2 | 0] << 8;
+ d = c ? c + a | 0 : 271040;
+ c = q[b + 96 >> 2];
+ if ((ct(d, q[q[c + 88 >> 2] + w(q[c + 72 >> 2], 20) >> 2]) | 0) != -1) {
+  Ux(a + 4 | 0, b, a, a + 6 | 0, q[c + 96 >> 2] + w(q[c + 72 >> 2], 20) | 0);
+  q[c + 72 >> 2] = q[c + 72 >> 2] + 1;
+  a = 1;
+ } else {
+  a = 0;
+ }
+ return a | 0;
+}
+function UQ(a) {
+ var b = 0, c = 0;
+ a : {
+  if (!r[a | 0]) {
+   break a;
+  }
+  b = FQ(a);
+  if (!b) {
+   break a;
+  }
+  b : {
+   if (!NY(b, 0)) {
+    if (wY(a, 493)) {
+     break b;
+    }
+    c = !xY(a);
+    break b;
+   }
+   if ((NY(b, 0) | 0) != -1) {
+    break b;
+   }
+   if (!UQ(b)) {
+    break b;
+   }
+   if (wY(a, 493)) {
+    break b;
+   }
+   c = !xY(a);
+  }
+  M$(b);
+ }
+ return c;
+}
+function TW(a) {
+ var b = 0, c = 0, d = 0;
+ while (1) {
+  d = q[a >> 2];
+  b = q[a + 4 >> 2] + -1 | 0;
+  if (b >>> 0 <= 1) {
+   a : {
+    if (b - 1) {
+     b = q[a + 8 >> 2];
+     SW(q[b + 16 >> 2]);
+     break a;
+    }
+    b = q[a + 8 >> 2];
+    c = q[b + 8 >> 2];
+    if (!c) {
+     break a;
+    }
+    SW(c);
+   }
+   M$(b);
+  }
+  M$(a);
+  a = d;
+  if (a) {
+   continue;
+  }
+  break;
+ }
+}
+function SJ(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = q[a + 20 >> 2];
+ if (r[a + 68 | 0]) {
+  a = q[e + 8 >> 2];
+  f = p[e + 2 >> 1];
+  g = q[e + 4 >> 2] + (f << 3) | 0;
+  h = g, i = Ae(b) >> 16, q[h >> 2] = i;
+  h = g, i = Ae(c) >> 16, q[h + 4 >> 2] = i;
+  o[a + f | 0] = d ? 1 : 2;
+ }
+ p[e + 2 >> 1] = s[e + 2 >> 1] + 1;
+}
+function ZK(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ a = q[a >> 2];
+ d = a & 2147483647;
+ b = q[b >> 2];
+ e = b & 2147483647;
+ a : {
+  if ((d | 0) == (e | 0)) {
+   c = 1;
+   if (a >>> 0 > b >>> 0) {
+    break a;
+   }
+   return (a >>> 0 < b >>> 0 ? -1 : 0) | 0;
+  }
+  c = 1;
+  if (d >>> 0 > e >>> 0) {
+   break a;
+  }
+  c = d >>> 0 < e >>> 0 ? -1 : 0;
+ }
+ return c | 0;
+}
+function kl(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ Rf(q[a >> 2], b);
+ c = q[a >> 2];
+ b = q[c + 320 >> 2];
+ c = ig(q[q[c + 96 >> 2] + 4 >> 2], 14478);
+ a : {
+  if (!b | !c) {
+   break a;
+  }
+  b = q[b >> 2];
+  if (!b) {
+   break a;
+  }
+  b = n[b](c) | 0;
+  if (!b) {
+   break a;
+  }
+  n[q[b + 4 >> 2]](q[q[a + 40 >> 2] >> 2], q[a + 16 >> 2], q[a + 20 >> 2], 0, 0);
+ }
+ return 0;
+}
+function fK(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0;
+ f = Ca - 16 | 0;
+ Ca = f;
+ e = Oe(b, 16, f + 12 | 0);
+ g = q[f + 12 >> 2];
+ if (!g) {
+  q[e + 12 >> 2] = 2;
+  q[e + 8 >> 2] = d;
+  q[e >> 2] = c;
+  q[e + 4 >> 2] = c;
+  q[a + 8 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+  q[a + 4 >> 2] = e;
+  q[a >> 2] = b;
+ }
+ Ca = f + 16 | 0;
+ return g | 0;
+}
+function pf(a) {
+ var b = 0, c = 0, d = 0;
+ a : {
+  b = q[a + 156 >> 2];
+  if (!b) {
+   break a;
+  }
+  c = q[b + 4 >> 2];
+  if (!(c & 1)) {
+   break a;
+  }
+  d = q[a + 88 >> 2];
+  if (d) {
+   b = q[q[a + 4 >> 2] + 100 >> 2];
+   n[q[b + 8 >> 2]](b, d);
+   b = q[a + 156 >> 2];
+   c = q[b + 4 >> 2];
+  }
+  q[a + 88 >> 2] = 0;
+  q[b + 4 >> 2] = c & -2;
+  return;
+ }
+ q[a + 88 >> 2] = 0;
+}
+function JZ(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ a : {
+  b : {
+   if (!eZ(506976, o[b | 0])) {
+    q[160854] = 28;
+    break b;
+   }
+   e = I_(b);
+   q[c >> 2] = 438;
+   a = DY(_(a | 0, e | 32768, c | 0) | 0);
+   if ((a | 0) < 0) {
+    break a;
+   }
+   d = yZ(a, b);
+   if (d) {
+    break a;
+   }
+   Z(a | 0) | 0;
+  }
+  d = 0;
+ }
+ Ca = c + 16 | 0;
+ return d;
+}
+function J_(a, b, c, d, e) {
+ var f = 0;
+ f = Ca - 144 | 0;
+ Ca = f;
+ q[f + 44 >> 2] = a;
+ q[f + 4 >> 2] = a;
+ q[f >> 2] = 0;
+ q[f + 76 >> 2] = -1;
+ q[f + 8 >> 2] = (a | 0) < 0 ? -1 : a + 2147483647 | 0;
+ o_(f, 0, 0);
+ c = q_(f, c, 1, d, e);
+ d = Ea;
+ if (b) {
+  q[b >> 2] = ((q[f + 4 >> 2] + q[f + 120 >> 2] | 0) - q[f + 8 >> 2] | 0) + a;
+ }
+ Ca = f + 144 | 0;
+ Ea = d;
+ return c;
+}
+function A_(a, b, c, d) {
+ a : {
+  if (!a) {
+   break a;
+  }
+  b = b + 2 | 0;
+  if (b >>> 0 > 5) {
+   break a;
+  }
+  b : {
+   switch (b - 1 | 0) {
+   default:
+    o[a | 0] = c;
+    return;
+   case 0:
+    p[a >> 1] = c;
+    return;
+   case 1:
+   case 2:
+    q[a >> 2] = c;
+    return;
+   case 3:
+    break a;
+   case 4:
+    break b;
+   }
+  }
+  q[a >> 2] = c;
+  q[a + 4 >> 2] = d;
+ }
+}
+function bT(a) {
+ var b = 0, c = 0, d = 0;
+ b = Ca - 32 | 0;
+ Ca = b;
+ d = q[a + 4 >> 2];
+ q[b + 16 >> 2] = q[a >> 2];
+ q[b + 20 >> 2] = d;
+ d0(489518, b + 16 | 0);
+ if (q[a >> 2] >= 1) {
+  while (1) {
+   q[b >> 2] = c;
+   d0(489536, b);
+   XS(q[q[a + 8 >> 2] + (c << 2) >> 2]);
+   c = c + 1 | 0;
+   if ((c | 0) < q[a >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+ Ca = b + 32 | 0;
+}
+function Gy(a) {
+ a = a | 0;
+ a = a + 24 | 0;
+ xy(a, 461);
+ xy(a, 462);
+ vy(a, 1819239276, 1, 1);
+ vy(a, 1667460464, 1, 1);
+ vy(a, 1886545254, 12, 1);
+ vy(a, 1651275622, 12, 1);
+ vy(a, 1633842790, 12, 1);
+ vy(a, 1886614630, 12, 1);
+ vy(a, 1667654002, 12, 1);
+ xy(a, 463);
+ vy(a, 1886545267, 13, 1);
+ vy(a, 1633842803, 13, 1);
+ vy(a, 1651275635, 13, 1);
+ vy(a, 1886614643, 13, 1);
+}
+function IN(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ q[e + 28 >> 2] = c;
+ c = 0;
+ b = pM(q[e >> 2], e + 8 | 0, 0);
+ if (b) {
+  a = q[b >> 2];
+  if ((a | 0) >= 0) {
+   q[d >> 2] = q[b + 8 >> 2];
+   c = q[b + 12 >> 2];
+   q[d + 8 >> 2] = a;
+   q[d + 4 >> 2] = c;
+   q[d + 12 >> 2] = 0 - q[b + 4 >> 2];
+   c = 1;
+  }
+  bM(b);
+ }
+ return c | 0;
+}
+function eN(a, b, c) {
+ var d = 0, e = 0;
+ if (b) {
+  while (1) {
+   e = c;
+   d = q[a >> 2];
+   if (d >>> 0 <= 1114111) {
+    d = r[(s[(d >>> 7 & 33554430) + 383472 >> 1] + (d & 255) | 0) + 356336 | 0];
+   } else {
+    d = 0;
+   }
+   q[e >> 2] = q[(d << 2) + 356240 >> 2];
+   a = a + 4 | 0;
+   c = c + 4 | 0;
+   b = b + -1 | 0;
+   if (b) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function vU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ a = r[d | 0];
+ a : {
+  if (a) {
+   while (1) {
+    if (r[b + 1 | 0] | (c - b | 0) < 2 | r[b | 0] != (a | 0)) {
+     break a;
+    }
+    b = b + 2 | 0;
+    a = r[d + 1 | 0];
+    d = d + 1 | 0;
+    if (a) {
+     continue;
+    }
+    break;
+   }
+  }
+  e = (b | 0) == (c | 0);
+ }
+ return e | 0;
+}
+function YG(a) {
+ var b = 0, c = 0, d = 0;
+ b = q[a + 104 >> 2];
+ a : {
+  if (!q[b + 20 >> 2]) {
+   c = Bq(q[b >> 2], q[b + 4 >> 2], 1, a, 0);
+   b = cF(c, q[a + 4 >> 2]);
+   Cq(c);
+   break a;
+  }
+  b = bF(a);
+ }
+ d = q[a + 4 >> 2];
+ c = b;
+ if (q[b + 4 >> 2]) {
+  q[c + 24 >> 2] = d;
+ }
+ c = s[a + 68 >> 1];
+ a = b;
+ if (q[a + 4 >> 2]) {
+  q[a + 28 >> 2] = c;
+ }
+ return b;
+}
+function RU(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ a = r[d | 0];
+ a : {
+  if (a) {
+   while (1) {
+    if (r[b | 0] | (c - b | 0) < 2 | r[b + 1 | 0] != (a | 0)) {
+     break a;
+    }
+    b = b + 2 | 0;
+    a = r[d + 1 | 0];
+    d = d + 1 | 0;
+    if (a) {
+     continue;
+    }
+    break;
+   }
+  }
+  e = (b | 0) == (c | 0);
+ }
+ return e | 0;
+}
+function vX(a) {
+ var b = 0, c = 0, d = 0;
+ a : {
+  b : {
+   c = q[a + 72 >> 2];
+   if (!c) {
+    break b;
+   }
+   d = q[c + 4 >> 2];
+   if ((d | 0) == (c + 4088 | 0)) {
+    break b;
+   }
+   b = c;
+   break a;
+  }
+  b = L$(4088);
+  if (!b) {
+   return 0;
+  }
+  q[b >> 2] = c;
+  d = b + 8 | 0;
+  q[b + 4 >> 2] = d;
+  q[a + 72 >> 2] = b;
+ }
+ q[b + 4 >> 2] = d + 16;
+ return d;
+}
+function o_(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ q[a + 112 >> 2] = b;
+ q[a + 116 >> 2] = c;
+ f = q[a + 8 >> 2];
+ g = q[a + 4 >> 2];
+ d = f - g | 0;
+ e = d >> 31;
+ q[a + 120 >> 2] = d;
+ q[a + 124 >> 2] = e;
+ if (!(!(b | c) | ((e | 0) < (c | 0) ? 1 : (e | 0) <= (c | 0) ? d >>> 0 > b >>> 0 ? 0 : 1 : 0))) {
+  q[a + 104 >> 2] = b + g;
+  return;
+ }
+ q[a + 104 >> 2] = f;
+}
+function Zg(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ e = c;
+ a : {
+  b : {
+   if (b) {
+    d = g0(b) + 1 | 0;
+    if ((d | 0) > 0) {
+     break b;
+    }
+    a = 6;
+    if (d) {
+     break a;
+    }
+   }
+   q[c >> 2] = 0;
+   return 0;
+  }
+  a = n[q[a + 4 >> 2]](a, d) | 0;
+  if (!a) {
+   q[c >> 2] = 64;
+   return 0;
+  }
+  f = Y$(a, b, d);
+  a = 0;
+ }
+ q[e >> 2] = a;
+ return f;
+}
+function Oy(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ a = r[b + 164 | 0];
+ if (!(a & 64)) {
+  o[b + 164 | 0] = a | 64;
+  a = q[b + 76 >> 2];
+  if (a) {
+   c = q[b + 88 >> 2];
+   b = 0;
+   while (1) {
+    Py(w(b, 20) + c | 0);
+    b = b + 1 | 0;
+    if ((a | 0) != (b | 0)) {
+     continue;
+    }
+    break;
+   }
+  }
+  return;
+ }
+ J(241666, 241518, 150, 241653);
+ F();
+}
+function oo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = q[b >> 2];
+ a : {
+  if (c >>> 0 > 65534) {
+   break a;
+  }
+  if (o[a + 20 | 0] & 1) {
+   return mo(a, b, 1) | 0;
+  }
+  if ((c | 0) == q[a + 24 >> 2]) {
+   po(a);
+   c = q[a + 28 >> 2];
+   if (!c) {
+    break a;
+   }
+   q[b >> 2] = q[a + 24 >> 2];
+   return c | 0;
+  }
+  d = no(a, b, 1);
+ }
+ return d | 0;
+}
+function JN(a, b, c, d, e, f, g) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ a = 0;
+ a : {
+  if (we(b, c, 2560)) {
+   break a;
+  }
+  b = q[b + 84 >> 2];
+  if (p[b + 110 >> 1] >>> 0 <= d >>> 0) {
+   break a;
+  }
+  a = q[b + 112 >> 2] + (d << 3) | 0;
+  q[e >> 2] = q[a >> 2];
+  q[f >> 2] = q[a + 4 >> 2];
+  a = 1;
+ }
+ return a | 0;
+}
+function sj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = q[a + 136 >> 2];
+ q[b >> 2] = q[a + 132 >> 2];
+ q[b + 4 >> 2] = c;
+ c = q[a + 160 >> 2];
+ q[b + 24 >> 2] = q[a + 156 >> 2];
+ q[b + 28 >> 2] = c;
+ c = q[a + 152 >> 2];
+ q[b + 16 >> 2] = q[a + 148 >> 2];
+ q[b + 20 >> 2] = c;
+ c = q[a + 144 >> 2];
+ q[b + 8 >> 2] = q[a + 140 >> 2];
+ q[b + 12 >> 2] = c;
+ return 0;
+}
+function nQ(a) {
+ var b = 0, c = 0, d = 0;
+ a : {
+  if (q[a + 8 >> 2]) {
+   break a;
+  }
+  b = q[a + 12 >> 2];
+  c = L$(b + 1 | 0);
+  if (!c) {
+   break a;
+  }
+  d = Y$(c, q[a >> 2], b);
+  o[b + d | 0] = 0;
+ }
+ if (q[a + 4 >> 2]) {
+  M$(q[a >> 2]);
+  q[a >> 2] = a + 20;
+  q[a + 12 >> 2] = 0;
+  q[a + 16 >> 2] = 64;
+  q[a + 4 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+ }
+ return d;
+}
+function ml(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = q[a + 192 >> 2];
+ q[b + 24 >> 2] = q[a + 188 >> 2];
+ q[b + 28 >> 2] = c;
+ c = q[a + 184 >> 2];
+ q[b + 16 >> 2] = q[a + 180 >> 2];
+ q[b + 20 >> 2] = c;
+ c = q[a + 176 >> 2];
+ q[b + 8 >> 2] = q[a + 172 >> 2];
+ q[b + 12 >> 2] = c;
+ c = q[a + 168 >> 2];
+ q[b >> 2] = q[a + 164 >> 2];
+ q[b + 4 >> 2] = c;
+ return 0;
+}
+function hb(a, b, c) {
+ var d = 0;
+ d = ee();
+ q[a >> 2] = d;
+ a : {
+  if (d) {
+   q[d + 24 >> 2] = 0;
+   q[d + 20 >> 2] = 1;
+   d = zM(q[a >> 2]);
+   q[a + 4 >> 2] = d;
+   if (!d) {
+    break a;
+   }
+   NM(d, b, c);
+   q[a + 12 >> 2] = b;
+   q[a + 16 >> 2] = c;
+   UM(q[a + 4 >> 2], 1033, 0, 3, 1055);
+   return;
+  }
+  f0(1074);
+  I(2);
+  F();
+ }
+ f0(1099);
+ I(3);
+ F();
+}
+function Hg(a, b, c, d) {
+ var e = 0, f = 0;
+ f = q[a + 4 >> 2];
+ if (f >>> 0 > b >>> 0) {
+  e = q[a + 20 >> 2];
+  a : {
+   if (e) {
+    c = n[e](a, b, c, d) | 0;
+    break a;
+   }
+   e = c;
+   c = f - b | 0;
+   c = c >>> 0 > d >>> 0 ? d : c;
+   Y$(e, q[a >> 2] + b | 0, c);
+  }
+  q[a + 8 >> 2] = b + c;
+  a = c >>> 0 < d >>> 0 ? 85 : 0;
+ } else {
+  a = 85;
+ }
+ return a;
+}
+function f0(a) {
+ var b = 0, c = 0;
+ b = q[126918];
+ b;
+ c = a;
+ a = g0(a);
+ a : {
+  if ((((c0(c, 1, a, b) | 0) != (a | 0) ? -1 : 0) | 0) < 0) {
+   break a;
+  }
+  b : {
+   if (r[b + 75 | 0] == 10) {
+    break b;
+   }
+   a = q[b + 20 >> 2];
+   if (a >>> 0 >= t[b + 16 >> 2]) {
+    break b;
+   }
+   q[b + 20 >> 2] = a + 1;
+   o[a | 0] = 10;
+   break a;
+  }
+  a0(b, 10);
+ }
+}
+function ZG(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0;
+ a = Ca - 16 | 0;
+ Ca = a;
+ q[a + 12 >> 2] = 0;
+ a : {
+  if (dg(c, b, 0, a + 12 | 0)) {
+   break a;
+  }
+  d = L$(q[a + 12 >> 2]);
+  if (!d) {
+   break a;
+  }
+  if (dg(c, b, d, a + 12 | 0)) {
+   M$(d);
+   break a;
+  }
+  e = Bq(d, q[a + 12 >> 2], 2, d, 427);
+ }
+ Ca = a + 16 | 0;
+ return e | 0;
+}
+function VP(a, b) {
+ var c = 0;
+ a = cP(a, b);
+ if (!a) {
+  return 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a + 32 >> 2] = 0;
+ q[a + 36 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ q[a + 16 >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+ c = b + 8 | 0;
+ b = q[b + 4 >> 2] << 2;
+ Y$(a + 8 | 0, c, b >>> 0 < 32 ? b : 32);
+ q[a >> 2] = 0;
+ q[a + 4 >> 2] = 8;
+ return a;
+}
+function ZO(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0;
+ d = v[b >> 3];
+ e = v[b + 8 >> 3];
+ f = v[c >> 3];
+ g = v[c + 16 >> 3];
+ h = v[c + 8 >> 3];
+ i = v[b + 16 >> 3];
+ j = v[c + 24 >> 3];
+ k = v[b + 24 >> 3];
+ v[a + 24 >> 3] = h * i + j * k;
+ v[a + 16 >> 3] = f * i + g * k;
+ v[a + 8 >> 3] = d * h + e * j;
+ v[a >> 3] = d * f + e * g;
+}
+function rL(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0;
+ e = q[q[a >> 2] + 12 >> 2];
+ f = q[a + 8 >> 2];
+ a = q[(e + w(f, 12) | 0) + 8 >> 2];
+ if (!b) {
+  return a | 0;
+ }
+ if (a >>> 0 > c >>> 0) {
+  a = a - c | 0;
+  g = a >>> 0 < d >>> 0 ? a : d;
+  Y$(b, q[(w(f, 12) + e | 0) + 4 >> 2] + c | 0, g);
+ }
+ return g | 0;
+}
+function je(a) {
+ var b = 0, c = 0, d = 0;
+ b = q[a + 12 >> 2];
+ if (q[a + 16 >> 2] >= 1) {
+  while (1) {
+   d = b;
+   b = w(c, 12);
+   M$(q[d + b >> 2]);
+   M$(q[(q[a + 12 >> 2] + b | 0) + 4 >> 2]);
+   b = q[a + 12 >> 2];
+   c = c + 1 | 0;
+   if ((c | 0) < q[a + 16 >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+ M$(b);
+ q[a + 12 >> 2] = 0;
+ q[a + 16 >> 2] = 0;
+}
+function TT(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ a = r[d | 0];
+ a : {
+  if (a) {
+   while (1) {
+    if (r[b | 0] != (a | 0) | (c - b | 0) < 1) {
+     break a;
+    }
+    b = b + 1 | 0;
+    a = r[d + 1 | 0];
+    d = d + 1 | 0;
+    if (a) {
+     continue;
+    }
+    break;
+   }
+  }
+  e = (b | 0) == (c | 0);
+ }
+ return e | 0;
+}
+function Ig(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0;
+ f = q[a + 4 >> 2];
+ e = q[a + 8 >> 2];
+ if (f >>> 0 > e >>> 0) {
+  d = q[a + 20 >> 2];
+  a : {
+   if (d) {
+    d = n[d](a, e, b, c) | 0;
+    break a;
+   }
+   g = b;
+   b = f - e | 0;
+   d = b >>> 0 > c >>> 0 ? c : b;
+   Y$(g, q[a >> 2] + e | 0, d);
+  }
+  q[a + 8 >> 2] = q[a + 8 >> 2] + d;
+ }
+ return d;
+}
+function eP(a, b) {
+ var c = 0, d = 0;
+ c = q[(((b >>> 0) % 8191 << 2) + a | 0) + 12 >> 2];
+ a : {
+  if (!c) {
+   break a;
+  }
+  while (1) {
+   if (q[c + 4 >> 2] != (b | 0)) {
+    c = q[c >> 2];
+    if (c) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  c = q[c + 8 >> 2];
+  if (!c) {
+   break a;
+  }
+  d = gZ(c + q[a + 8 >> 2] | 0, b);
+ }
+ return d;
+}
+function qh(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ d = hf(4800, b);
+ a : {
+  if (d) {
+   break a;
+  }
+  d = 0;
+  if (!a) {
+   break a;
+  }
+  c = q[a + 4 >> 2];
+  if (!c) {
+   break a;
+  }
+  c = ig(c, 4856);
+  if (!c) {
+   break a;
+  }
+  c = q[q[c >> 2] + 20 >> 2];
+  if (!c) {
+   break a;
+  }
+  d = n[q[c + 16 >> 2]](a, b) | 0;
+ }
+ return d | 0;
+}
+function pP(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ if (!a) {
+  return 35;
+ }
+ e = 6;
+ a : {
+  if (!c) {
+   break a;
+  }
+  q[c >> 2] = 0;
+  d = q[a + 96 >> 2];
+  f = q[q[d >> 2] + 32 >> 2];
+  if (!f) {
+   break a;
+  }
+  d = n[f](d, 438160) | 0;
+  if (!d) {
+   break a;
+  }
+  d = q[d + 4 >> 2];
+  if (!d) {
+   break a;
+  }
+  e = n[d](a, b, c) | 0;
+ }
+ return e;
+}
+function wf(a, b, c) {
+ var d = 0, e = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  d = p[a + 2 >> 1];
+  if ((d | 0) < 1) {
+   break a;
+  }
+  a = q[a + 4 >> 2];
+  while (1) {
+   q[a >> 2] = q[a >> 2] + b;
+   q[a + 4 >> 2] = q[a + 4 >> 2] + c;
+   a = a + 8 | 0;
+   e = e + 1 | 0;
+   if ((e & 65535) >>> 0 < (d & 65535) >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function sX(a) {
+ var b = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  b = q[a >> 2];
+  q[a >> 2] = b + -1;
+  if ((b | 0) != 1) {
+   break a;
+  }
+  b = q[a + 4 >> 2];
+  if (b) {
+   M$(b);
+  }
+  b = q[a + 8 >> 2];
+  if (b) {
+   M$(b);
+  }
+  b = q[a + 12 >> 2];
+  if (b) {
+   M$(b);
+  }
+  LW(q[a + 20 >> 2]);
+  LW(q[a + 24 >> 2]);
+  LW(q[a + 28 >> 2]);
+  M$(a);
+ }
+}
+function Qd(a, b) {
+ var c = 0, d = 0;
+ c = de(q[a >> 2], a);
+ c = c + (c > 0 ? .5 : -.5);
+ a : {
+  if (y(c) < 0x8000000000000000) {
+   a = ~~c >>> 0;
+   d = y(c) >= 1 ? c > 0 ? ~~A(C(c / 4294967296), 4294967295) >>> 0 : ~~D((c - +(~~c >>> 0 >>> 0)) / 4294967296) >>> 0 : 0;
+   break a;
+  }
+  a = 0;
+  d = -2147483648;
+ }
+ q[b >> 2] = a;
+ q[b + 4 >> 2] = d;
+}
+function Vz(a) {
+ var b = 0, c = 0;
+ while (1) {
+  a : {
+   b = q[160653];
+   if (b) {
+    break a;
+   }
+   b = Wz();
+   if (!b) {
+    b = 641104;
+   }
+   c = q[160653];
+   q[160653] = c ? c : b;
+   if (!c) {
+    break a;
+   }
+   if (!b | (b | 0) == 641104) {
+    continue;
+   }
+   wC(b);
+   continue;
+  }
+  break;
+ }
+ fD(a, b, q[a + 16 >> 2] + 48 | 0, 0);
+}
+function xU(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ if (r[b + 1 | 0]) {
+  return b | 0;
+ }
+ a = a + 72 | 0;
+ while (1) {
+  c = r[r[b | 0] + a | 0];
+  if (c >>> 0 > 21) {
+   return b | 0;
+  }
+  if (!(1 << c & 2098688)) {
+   return b | 0;
+  }
+  c = r[b + 3 | 0];
+  d = b + 2 | 0;
+  b = d;
+  if (!c) {
+   continue;
+  }
+  break;
+ }
+ return d | 0;
+}
+function TU(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ if (r[b | 0]) {
+  return b | 0;
+ }
+ a = a + 72 | 0;
+ while (1) {
+  c = r[r[b + 1 | 0] + a | 0];
+  if (c >>> 0 > 21) {
+   return b | 0;
+  }
+  if (!(1 << c & 2098688)) {
+   return b | 0;
+  }
+  c = r[b + 2 | 0];
+  d = b + 2 | 0;
+  b = d;
+  if (!c) {
+   continue;
+  }
+  break;
+ }
+ return d | 0;
+}
+function vi(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ a : {
+  if (!(!r[a + 616 | 0] | (!r[a + 615 | 0] | q[q[q[a >> 2] + 96 >> 2] + 64 >> 2] != 40))) {
+   if (r[a + 617 | 0]) {
+    break a;
+   }
+  }
+  a = q[b + 16 >> 2] + (c << 3) | 0;
+  q[a + 4 >> 2] = q[a + 4 >> 2] + d;
+ }
+ a = q[b + 24 >> 2] + c | 0;
+ o[a | 0] = r[a | 0] | 16;
+}
+function cP(a, b) {
+ var c = 0, d = 0;
+ c = q[(((b >>> 0) % 8191 << 2) + a | 0) + 12 >> 2];
+ a : {
+  if (!c) {
+   break a;
+  }
+  while (1) {
+   if (q[c + 4 >> 2] != (b | 0)) {
+    c = q[c >> 2];
+    if (c) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  b = q[c + 8 >> 2];
+  if (!b) {
+   break a;
+  }
+  d = b + q[a + 8 >> 2] | 0;
+ }
+ return d;
+}
+function F$(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ d = a * a;
+ f = d * (d * d) * (d * 1.58969099521155e-10 + -2.5050760253406863e-8) + (d * (d * 27557313707070068e-22 + -.0001984126982985795) + .00833333333332249);
+ e = d * a;
+ if (!c) {
+  return e * (d * f + -.16666666666666632) + a;
+ }
+ return a - (d * (b * .5 - e * f) - b + e * .16666666666666632);
+}
+function pN(a, b, c) {
+ var d = 0, e = 0;
+ if (b) {
+  while (1) {
+   e = c;
+   d = q[a >> 2];
+   if (d >>> 0 <= 1048575) {
+    d = r[(s[(d >>> 7 & 33554430) + 401392 >> 1] + (d & 255) | 0) + 409584 | 0];
+   } else {
+    d = 0;
+   }
+   o[e | 0] = d;
+   a = a + 4 | 0;
+   c = c + 1 | 0;
+   b = b + -1 | 0;
+   if (b) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function Jh(a) {
+ var b = 0;
+ b = q[a >> 2];
+ if (b) {
+  Qe(b, q[a + 28 >> 2]);
+  q[a + 28 >> 2] = 0;
+  Qe(b, q[a + 24 >> 2]);
+  q[a + 24 >> 2] = 0;
+  Qe(b, q[a + 16 >> 2]);
+  q[a + 16 >> 2] = 0;
+  Qe(b, q[a + 12 >> 2]);
+  q[a + 12 >> 2] = 0;
+  Qe(b, q[a + 20 >> 2]);
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+ }
+}
+function gM(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ xO(b);
+ xO(b + 24 | 0);
+ xO(b + 48 | 0);
+ if (q[a + 20 >> 2]) {
+  b = 0;
+  while (1) {
+   c = w(b, 24);
+   bM(q[c + q[a + 24 >> 2] >> 2]);
+   bM(q[(q[a + 24 >> 2] + c | 0) + 4 >> 2]);
+   b = b + 1 | 0;
+   if (b >>> 0 < t[a + 20 >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+ M$(q[a + 24 >> 2]);
+}
+function MG(a, b) {
+ var c = 0;
+ a : {
+  if (r[a + 70 | 0] | !q[a + 4 >> 2]) {
+   break a;
+  }
+  q[a + 80 >> 2] = 0;
+  o[a + 69 | 0] = 256;
+  o[a + 70 | 0] = 1;
+  q[a + 92 >> 2] = q[a + 88 >> 2];
+  c = w(q[a + 76 >> 2], 20);
+  if (!c) {
+   break a;
+  }
+  Z$(q[a + 96 >> 2], 0, c);
+ }
+ if (b) {
+  q[b >> 2] = q[a + 76 >> 2];
+ }
+ return q[a + 96 >> 2];
+}
+function RL(a, b, c, d) {
+ var e = 0, f = 0, g = 0;
+ a = q[((b << 2) + a | 0) - -64 >> 2];
+ b = cg(a, 2);
+ a : {
+  if (b) {
+   e = b + 76 | 0;
+   b = p[b + 78 >> 1];
+   break a;
+  }
+  e = a + 70 | 0;
+  b = 0 - p[a + 72 >> 1] | 0;
+ }
+ a = q[q[a + 88 >> 2] + 20 >> 2];
+ f = c, g = Ee(p[e >> 1], a), q[f >> 2] = g;
+ f = d, g = Ee(b, a), q[f >> 2] = g;
+}
+function fm(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ if (a) {
+  c = q[a + 100 >> 2];
+  b = q[a + 132 >> 2];
+  if (b) {
+   if (q[b + 160 >> 2]) {
+    Lg(q[a + 104 >> 2], b + 160 | 0);
+   }
+   Qe(c, q[b + 168 >> 2]);
+   q[b + 168 >> 2] = 0;
+   Qe(c, b);
+   q[a + 132 >> 2] = 0;
+  }
+  Qe(c, q[a + 32 >> 2]);
+  q[a + 28 >> 2] = 0;
+  q[a + 32 >> 2] = 0;
+ }
+}
+function O0(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ e = c >>> 16 | 0;
+ f = a >>> 16 | 0;
+ j = w(e, f);
+ g = c & 65535;
+ h = a & 65535;
+ i = w(g, h);
+ f = (i >>> 16 | 0) + w(f, g) | 0;
+ e = (f & 65535) + w(e, h) | 0;
+ a = (w(b, c) + j | 0) + w(a, d) + (f >>> 16) + (e >>> 16) | 0;
+ b = i & 65535 | e << 16;
+ Ea = a;
+ return b;
+}
+function Lk(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ d = 150;
+ c = q[a + 12 >> 2];
+ a : {
+  if ((c | 0) == 9300 | (c | 0) == 9340) {
+   break a;
+  }
+  d = 0;
+  c = kg(ig(q[q[q[a >> 2] + 96 >> 2] + 4 >> 2], 9576), 9796, 0);
+  if (!c) {
+   break a;
+  }
+  c = q[c >> 2];
+  if (!c) {
+   break a;
+  }
+  d = n[c](a, b) | 0;
+ }
+ return d | 0;
+}
+function Je(a, b, c) {
+ var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
+ if (!(!a | !b)) {
+  f = q[b + 8 >> 2];
+  g = q[b + 12 >> 2];
+  d = q[a >> 2];
+  c = c << 16;
+  h = ue(d, q[b >> 2], c);
+  e = q[a + 4 >> 2];
+  i = a, j = h + ue(e, q[b + 4 >> 2], c) | 0, q[i >> 2] = j;
+  i = a, j = ue(d, f, c) + ue(e, g, c) | 0, q[i + 4 >> 2] = j;
+ }
+}
+function oY(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ b = Ca - 16 | 0;
+ Ca = b;
+ a : {
+  if (ES(a, 504884, 0, b + 12 | 0)) {
+   break a;
+  }
+  c = 1;
+  a = q[b + 12 >> 2];
+  if (!iZ(a, 504895)) {
+   break a;
+  }
+  if (!iZ(a, 504902)) {
+   break a;
+  }
+  if (!iZ(a, 504910)) {
+   break a;
+  }
+  c = !iZ(a, 504921);
+ }
+ Ca = b + 16 | 0;
+ return c | 0;
+}
+function VL(a) {
+ var b = 0, c = 0, d = 0;
+ b = q[a + 104 >> 2];
+ if (b) {
+  xN(b);
+ }
+ c = q[a + 108 >> 2];
+ if ((c | 0) >= 1) {
+  b = 0;
+  while (1) {
+   d = q[((b << 2) + a | 0) - -64 >> 2];
+   if (d) {
+    Jf(d);
+    c = q[a + 108 >> 2];
+   }
+   b = b + 1 | 0;
+   if ((b | 0) < (c | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ M$(q[a >> 2]);
+}
+function Ok(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0;
+ a = q[a + 712 >> 2];
+ a : {
+  b : {
+   if (!a) {
+    break b;
+   }
+   d = 6;
+   if (q[a + 1504 >> 2] == 65535 | t[a + 20 >> 2] <= b >>> 0) {
+    break a;
+   }
+   if (!c) {
+    break b;
+   }
+   q[c >> 2] = s[q[a + 1188 >> 2] + (b << 1) >> 1];
+  }
+  d = 0;
+ }
+ return d | 0;
+}
+function $Z(a, b, c, d, e) {
+ var f = 0;
+ f = Ca - 256 | 0;
+ Ca = f;
+ if (!(e & 73728 | (c | 0) <= (d | 0))) {
+  c = c - d | 0;
+  d = c >>> 0 < 256;
+  Z$(f, b, d ? c : 256);
+  if (!d) {
+   while (1) {
+    YZ(a, f, 256);
+    c = c + -256 | 0;
+    if (c >>> 0 > 255) {
+     continue;
+    }
+    break;
+   }
+  }
+  YZ(a, f, c);
+ }
+ Ca = f + 256 | 0;
+}
+function Dl(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ b = q[q[a + 156 >> 2] >> 2];
+ q[a + 184 >> 2] = 0;
+ q[a + 188 >> 2] = 0;
+ c = a + 192 | 0;
+ q[c >> 2] = 0;
+ q[a + 160 >> 2] = 0;
+ q[a + 164 >> 2] = 0;
+ q[a + 168 >> 2] = 0;
+ q[a + 172 >> 2] = 0;
+ q[a + 176 >> 2] = 0;
+ q[a + 180 >> 2] = 0;
+ q[a + 188 >> 2] = b;
+ o[c | 0] = 0;
+ Pe(b);
+ return 0;
+}
+function ii(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0;
+ d = c;
+ c = q[a + 484 >> 2];
+ d = d + (q[a + 488 >> 2] - c | 0) | 0;
+ if ((b | 0) >= 0) {
+  a = (b + d & 0 - q[a + 480 >> 2]) + c | 0;
+  return ((a | 0) < 0 ? c : a) | 0;
+ }
+ a = 0 - ((d - b & 0 - q[a + 480 >> 2]) + c | 0) | 0;
+ return ((a | 0) > 0 ? 0 - c | 0 : a) | 0;
+}
+function FL(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ q[b + 72 >> 2] = 1869968492;
+ d = b + 124 | 0;
+ e = q[a + 36 >> 2];
+ q[d >> 2] = e;
+ c = q[a + 24 >> 2];
+ q[b + 108 >> 2] = q[a + 20 >> 2];
+ q[b + 112 >> 2] = c;
+ c = q[a + 32 >> 2];
+ q[b + 116 >> 2] = q[a + 28 >> 2];
+ q[b + 120 >> 2] = c;
+ q[d >> 2] = e & -2;
+ return 0;
+}
+function bj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ o[c + 7 | 0] = 0;
+ b = cj(a, b, c + 8 | 0, c + 7 | 0);
+ a : {
+  if (b) {
+   break a;
+  }
+  a = q[q[q[a + 4 >> 2] + 128 >> 2] + 52 >> 2];
+  if (!a) {
+   break a;
+  }
+  n[q[q[a >> 2] + 4 >> 2]](q[a + 4 >> 2], c + 8 | 0);
+ }
+ Ca = c + 16 | 0;
+ return b | 0;
+}
+function DZ(a) {
+ var b = 0;
+ if (a) {
+  if (q[a + 76 >> 2] <= -1) {
+   return EZ(a);
+  }
+  return EZ(a);
+ }
+ if (q[160608]) {
+  b = DZ(q[160608]);
+ }
+ a = q[161139];
+ if (a) {
+  while (1) {
+   if (t[a + 20 >> 2] > t[a + 28 >> 2]) {
+    b = EZ(a) | b;
+   }
+   a = q[a + 56 >> 2];
+   if (a) {
+    continue;
+   }
+   break;
+  }
+ }
+ return b;
+}
+function mK(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0;
+ e = q[a + 20 >> 2];
+ if (r[a + 65 | 0]) {
+  a = q[e + 8 >> 2];
+  f = p[e + 2 >> 1];
+  g = q[e + 4 >> 2] + (f << 3) | 0;
+  q[g + 4 >> 2] = c >> 10;
+  q[g >> 2] = b >> 10;
+  o[a + f | 0] = d ? 1 : 2;
+ }
+ p[e + 2 >> 1] = s[e + 2 >> 1] + 1;
+}
+function sH(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = q[b + 4 >> 2];
+ q[a + 4 >> 2] = q[b >> 2];
+ q[a + 8 >> 2] = c;
+ q[a + 28 >> 2] = q[b + 24 >> 2];
+ c = q[b + 20 >> 2];
+ q[a + 20 >> 2] = q[b + 16 >> 2];
+ q[a + 24 >> 2] = c;
+ c = q[b + 12 >> 2];
+ q[a + 12 >> 2] = q[b + 8 >> 2];
+ q[a + 16 >> 2] = c;
+ tH(a, b, 0);
+ tH(a, b, 1);
+}
+function rj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = q[a + 420 >> 2];
+ if ((c | 0) < 1) {
+  return 0;
+ }
+ d = q[a + 424 >> 2];
+ a = 0;
+ a : {
+  while (1) {
+   if (!iZ(b, q[(a << 2) + d >> 2])) {
+    break a;
+   }
+   a = a + 1 | 0;
+   if ((a | 0) < (c | 0)) {
+    continue;
+   }
+   break;
+  }
+  return 0;
+ }
+ return a | 0;
+}
+function aP(a) {
+ var b = 0, c = 0, d = 0;
+ while (1) {
+  b = q[((d << 2) + a | 0) + 12 >> 2];
+  if (b) {
+   while (1) {
+    c = q[b >> 2];
+    M$(b);
+    b = c;
+    if (b) {
+     continue;
+    }
+    break;
+   }
+  }
+  d = d + 1 | 0;
+  if ((d | 0) != 8191) {
+   continue;
+  }
+  break;
+ }
+ c = q[a + 4 >> 2];
+ if (c) {
+  ZR(c);
+ }
+ M$(a);
+}
+function _g(a, b, c) {
+ var d = 0, e = 0;
+ a : {
+  if (c >>> 0 < 2) {
+   break a;
+  }
+  d = c + -1 | 0;
+  d = a + d | 0;
+  while (1) {
+   e = r[b | 0];
+   if (!e) {
+    break a;
+   }
+   o[a | 0] = e;
+   a = a + 1 | 0;
+   b = b + 1 | 0;
+   c = c + -1 | 0;
+   if (c >>> 0 > 1) {
+    continue;
+   }
+   break;
+  }
+  a = d;
+ }
+ o[a | 0] = 0;
+}
+function GN(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ q[f + 28 >> 2] = c;
+ c = 0;
+ a = pM(q[f >> 2], f + 8 | 0, 0);
+ if (a) {
+  if (q[a >> 2] >= 0) {
+   q[d >> 2] = q[a + 8 >> 2] - q[a + 20 >> 2];
+   q[e >> 2] = q[a + 24 >> 2] + q[a + 12 >> 2];
+   c = 1;
+  }
+  bM(a);
+ }
+ return c | 0;
+}
+function US(a) {
+ var b = 0;
+ b = Ca - 1136 | 0;
+ Ca = b;
+ lQ(b + 1048 | 0, b + 16 | 0, 1024);
+ a : {
+  b : {
+   if (!RP(b + 1048 | 0, a)) {
+    break b;
+   }
+   if (!pQ(b + 1048 | 0, 0)) {
+    break b;
+   }
+   q[b >> 2] = q[b + 1048 >> 2];
+   d0(488951, b);
+   break a;
+  }
+  d0(488954, 0);
+ }
+ mQ(b + 1048 | 0);
+ Ca = b + 1136 | 0;
+}
+function iZ(a, b) {
+ var c = 0, d = 0;
+ c = r[a | 0];
+ d = r[b | 0];
+ a : {
+  if (!c | (c | 0) != (d | 0)) {
+   break a;
+  }
+  while (1) {
+   d = r[b + 1 | 0];
+   c = r[a + 1 | 0];
+   if (!c) {
+    break a;
+   }
+   b = b + 1 | 0;
+   a = a + 1 | 0;
+   if ((c | 0) == (d | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+ return c - d | 0;
+}
+function gL(a, b) {
+ var c = 0, d = 0, e = 0;
+ if (!a) {
+  return 35;
+ }
+ d = 6;
+ a : {
+  if (!b) {
+   break a;
+  }
+  c = q[a + 96 >> 2];
+  e = q[q[c >> 2] + 32 >> 2];
+  if (!e) {
+   break a;
+  }
+  c = n[e](c, 353909) | 0;
+  if (!c) {
+   break a;
+  }
+  c = q[c >> 2];
+  if (!c) {
+   break a;
+  }
+  d = n[c](a, b) | 0;
+ }
+ return d;
+}
+function TE() {
+ var a = 0, b = 0;
+ a = q[160654];
+ a : {
+  if (a) {
+   break a;
+  }
+  while (1) {
+   a = UE();
+   b = q[160654];
+   a = a ? a : 270176;
+   q[160654] = b ? b : a;
+   if (!b) {
+    break a;
+   }
+   if ((a | 0) != 270176) {
+    M$(a);
+   }
+   a = q[160654];
+   if (!a) {
+    continue;
+   }
+   break;
+  }
+ }
+ return a;
+}
+function iW(a) {
+ var b = 0, c = 0, d = 0;
+ if (!a) {
+  return 0;
+ }
+ b = q[a + 284 >> 2];
+ a : {
+  if (!b) {
+   break a;
+  }
+  c = q[a + 292 >> 2];
+  if (b >>> 0 < c >>> 0) {
+   break a;
+  }
+  d = q[a + 144 >> 2];
+  n[q[d + 48 >> 2]](d, c, b, a + 404 | 0);
+  q[a + 292 >> 2] = q[a + 284 >> 2];
+ }
+ return q[a + 404 >> 2] + 1 | 0;
+}
+function iC(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ q[c >> 2] = 0;
+ q[c + 4 >> 2] = 0;
+ q[c + 40 >> 2] = 0;
+ q[c + 44 >> 2] = 0;
+ q[c + 32 >> 2] = 0;
+ q[c + 36 >> 2] = 0;
+ q[c + 24 >> 2] = 0;
+ q[c + 28 >> 2] = 0;
+ q[c + 16 >> 2] = 0;
+ q[c + 20 >> 2] = 0;
+ q[c + 8 >> 2] = 0;
+ q[c + 12 >> 2] = 0;
+ return 0;
+}
+function CS(a, b, c) {
+ var d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ a = yS(a, b, 0, d);
+ a : {
+  if (a) {
+   break a;
+  }
+  a = q[d >> 2] + -1 | 0;
+  if (a >>> 0 > 1) {
+   a = 2;
+   break a;
+  }
+  if (a - 1) {
+   e = +q[d + 8 >> 2];
+  } else {
+   e = v[d + 8 >> 3];
+  }
+  v[c >> 3] = e;
+  a = 0;
+ }
+ Ca = d + 16 | 0;
+ return a;
+}
+function Ag(a, b) {
+ var c = 0, d = 0;
+ c = 85;
+ a : {
+  if ((b | 0) < 0) {
+   break a;
+  }
+  b = q[a + 8 >> 2] + b | 0;
+  d = q[a + 20 >> 2];
+  b : {
+   if (d) {
+    if (!n[d](a, b, 0, 0)) {
+     break b;
+    }
+    break a;
+   }
+   if (t[a + 4 >> 2] < b >>> 0) {
+    break a;
+   }
+  }
+  q[a + 8 >> 2] = b;
+  c = 0;
+ }
+ return c;
+}
+function ce(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ f = a + c | 0;
+ while (1) {
+  a : {
+   c = r[r[b | 0] + 3344 | 0];
+   d = r[a | 0];
+   e = r[d + 3344 | 0];
+   a = a + 1 | 0;
+   if (!d | a >>> 0 >= f >>> 0) {
+    break a;
+   }
+   b = b + 1 | 0;
+   if ((c | 0) == (e | 0)) {
+    continue;
+   }
+  }
+  break;
+ }
+ return e - c | 0;
+}
+function xX(a) {
+ var b = 0, c = 0;
+ a = tX(a);
+ if (!a) {
+  return 0;
+ }
+ c = qP();
+ if (!c) {
+  pX(a);
+  return 0;
+ }
+ b = q[a + 52 >> 2];
+ if (b) {
+  rP(b);
+ }
+ q[a + 52 >> 2] = c;
+ b = 0;
+ a : {
+  if (!yX(a, q[a + 8 >> 2])) {
+   break a;
+  }
+  b = 1;
+  if (!(r[643388] & 8)) {
+   break a;
+  }
+  bT(c);
+ }
+ pX(a);
+ return b;
+}
+function mq() {
+ var a = 0, b = 0;
+ while (1) {
+  a : {
+   a = q[160648];
+   if (a) {
+    break a;
+   }
+   a = nq();
+   if (!a) {
+    a = 641528;
+   }
+   b = q[160648];
+   q[160648] = b ? b : a;
+   if (!b) {
+    break a;
+   }
+   if (!a | (a | 0) == 641528) {
+    continue;
+   }
+   fG(a);
+   continue;
+  }
+  break;
+ }
+ return a;
+}
+function fg(a, b) {
+ var c = 0;
+ a : {
+  b : {
+   if (!a) {
+    break b;
+   }
+   a = q[a + 148 >> 2];
+   if (!a) {
+    break b;
+   }
+   while (1) {
+    c = q[a + 8 >> 2];
+    if (q[c + 16 >> 2] == (b | 0)) {
+     break a;
+    }
+    a = q[a + 4 >> 2];
+    if (a) {
+     continue;
+    }
+    break;
+   }
+  }
+  c = 0;
+ }
+ return c;
+}
+function Dq(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ a : {
+  b = R(30) | 0;
+  if ((b | 0) == -1) {
+   break a;
+  }
+  c = q[a + 12 >> 2];
+  d = 0 - b | 0;
+  e = c & d;
+  if ((nZ(e, ((q[a + 16 >> 2] + (b + c | 0) | 0) + -1 & d) - e | 0) | 0) == -1) {
+   break a;
+  }
+  q[a + 20 >> 2] = 2;
+  return 1;
+ }
+ KY(q[160854]);
+ return 0;
+}
+function C$(a, b) {
+ var c = 0, d = 0, e = 0, f = 0;
+ c = a * a;
+ d = c * .5;
+ e = 1 - d;
+ f = 1 - e - d;
+ d = c * c;
+ return e + (f + (c * (c * (c * (c * 2480158728947673e-20 + -.001388888888887411) + .0416666666666666) + d * d * (c * (c * -1.1359647557788195e-11 + 2.087572321298175e-9) + -2.7557314351390663e-7)) - a * b));
+}
+function Qt(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ g = q[c + 16 >> 2] + 140 | 0;
+ f = q[Xs(g) >> 2];
+ f = f ? f : 271040;
+ q[e + 8 >> 2] = t[f + 16 >> 2] < 10 ? 271040 : q[f + 12 >> 2];
+ h = e, i = q[Xs(g) + 8 >> 2], q[h + 12 >> 2] = i;
+ Rt(a, e + 8 | 0, b, c, d);
+ Ca = e + 16 | 0;
+}
+function PQ(a) {
+ var b = 0, c = 0, d = 0;
+ if (q[a >> 2] == -1) {
+  return 0;
+ }
+ b = q[a + 4 >> 2];
+ if ((b | 0) >= 1) {
+  while (1) {
+   c = b + -1 | 0;
+   M$(q[q[a + 12 >> 2] + (c << 2) >> 2]);
+   q[a + 4 >> 2] = q[a + 4 >> 2] + -1;
+   d = (b | 0) > 1;
+   b = c;
+   if (d) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 1;
+}
+function Kt(a, b, c, d) {
+ var e = 0, f = 0, g = 0, h = 0, i = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ g = q[c + 16 >> 2] + 136 | 0;
+ f = q[Ws(g) >> 2];
+ f = f ? f : 271040;
+ q[e + 8 >> 2] = t[f + 16 >> 2] < 10 ? 271040 : q[f + 12 >> 2];
+ h = e, i = q[Ws(g) + 8 >> 2], q[h + 12 >> 2] = i;
+ Lt(a, e + 8 | 0, b, c, d);
+ Ca = e + 16 | 0;
+}
+function Ik(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ c = q[a + 712 >> 2];
+ a : {
+  if (!q[a + 540 >> 2] | !(q[a + 8 >> 2] & 8)) {
+   break a;
+  }
+  b = kg(ig(q[q[a + 96 >> 2] + 4 >> 2], 9576), 9748, 0);
+  if (!b) {
+   break a;
+  }
+  b = q[b >> 2];
+  if (!b) {
+   break a;
+  }
+  return n[b](a) | 0;
+ }
+ return q[c + 1348 >> 2];
+}
+function Gp(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ e = n[q[a + 516 >> 2]](a, c ? 1986884728 : 1752003704, b, d + 12 | 0) | 0;
+ if (!e) {
+  q[(c ? 756 : 752) + a >> 2] = q[d + 12 >> 2];
+  q[(c ? 856 : 852) + a >> 2] = q[b + 8 >> 2];
+ }
+ Ca = d + 16 | 0;
+ return e | 0;
+}
+function kW(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ q[e + 12 >> 2] = b;
+ f = q[a + 144 >> 2];
+ f = n[q[f >> 2]](f, b, c, e + 12 | 0) | 0;
+ a = lW(a, q[a + 144 >> 2], b, c, f, q[e + 12 >> 2], d, !r[a + 480 | 0], 1);
+ Ca = e + 16 | 0;
+ return a | 0;
+}
+function zq() {
+ var a = 0, b = 0;
+ a = q[160651];
+ if (!a) {
+  a = h$();
+  b = 0;
+  a : {
+   if (!a) {
+    break a;
+   }
+   b = 0;
+   if (!r[a | 0]) {
+    break a;
+   }
+   a = yq(a);
+   b = 0;
+   if (!a) {
+    break a;
+   }
+   b = q[a + 4 >> 2];
+  }
+  a = b;
+  b = q[160651];
+  q[160651] = b ? b : a;
+ }
+ return a;
+}
+function ZY(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ a : {
+  if (!c) {
+   break a;
+  }
+  while (1) {
+   d = r[a | 0];
+   e = r[b | 0];
+   if ((d | 0) == (e | 0)) {
+    b = b + 1 | 0;
+    a = a + 1 | 0;
+    c = c + -1 | 0;
+    if (c) {
+     continue;
+    }
+    break a;
+   }
+   break;
+  }
+  f = d - e | 0;
+ }
+ return f;
+}
+function Xj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = q[b >> 2];
+ q[b >> 2] = 0;
+ if (c >>> 0 > 254) {
+  return 0;
+ }
+ while (1) {
+  if ((c | 0) == 255) {
+   return 0;
+  }
+  c = c + 1 | 0;
+  d = s[q[a + 16 >> 2] + (c << 1) >> 1];
+  if (!d) {
+   continue;
+  }
+  break;
+ }
+ q[b >> 2] = c;
+ return d | 0;
+}
+function El(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ b = q[q[a + 188 >> 2] >> 2];
+ Qe(b, q[a + 168 >> 2]);
+ q[a + 172 >> 2] = 0;
+ q[a + 164 >> 2] = 0;
+ q[a + 168 >> 2] = 0;
+ c = b;
+ b = a + 184 | 0;
+ Qe(c, q[b >> 2]);
+ o[a + 192 | 0] = 0;
+ q[b >> 2] = 0;
+ q[b + 4 >> 2] = 0;
+ q[a + 176 >> 2] = 0;
+ q[a + 180 >> 2] = 0;
+}
+function Od(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = q[a >> 2];
+ a : {
+  if (c >>> 0 <= b >>> 0) {
+   break a;
+  }
+  while (1) {
+   d = c + -1 | 0;
+   e = r[d | 0];
+   if ((e | 0) != 9 ? (e | 0) != 32 : 0) {
+    break a;
+   }
+   c = d;
+   if (c >>> 0 > b >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+ q[a >> 2] = c;
+}
+function dg(a, b, c, d) {
+ var e = 0, f = 0, g = 0;
+ f = 35;
+ a : {
+  if (!a | !(r[a + 8 | 0] & 8)) {
+   break a;
+  }
+  f = 7;
+  e = q[a + 96 >> 2];
+  g = q[q[e >> 2] + 32 >> 2];
+  if (!g) {
+   break a;
+  }
+  e = n[g](e, 3813) | 0;
+  if (!e) {
+   break a;
+  }
+  f = n[q[e >> 2]](a, b, 0, c, d) | 0;
+ }
+ return f;
+}
+function FR(a) {
+ var b = 0, c = 0, d = 0;
+ b = Ca - 48 | 0;
+ Ca = b;
+ if ((a | 0) != -1) {
+  q[b + 32 >> 2] = 0;
+  q[b + 36 >> 2] = 0;
+  q[b + 24 >> 2] = 0;
+  q[b + 28 >> 2] = 0;
+  q[b + 16 >> 2] = 2;
+  c = b, d = oa() | 0, q[c + 40 >> 2] = d;
+  q[b >> 2] = b + 16;
+  tY(a, 13, b);
+  SY(a);
+ }
+ Ca = b + 48 | 0;
+}
+function vf(a, b) {
+ var c = 0;
+ a : {
+  if (!a | !b) {
+   break a;
+  }
+  c = q[a + 4 >> 2];
+  if (!c) {
+   break a;
+  }
+  a = p[a + 2 >> 1];
+  if ((a | 0) < 1) {
+   break a;
+  }
+  a = (a << 3) + c | 0;
+  while (1) {
+   xe(c, b);
+   c = c + 8 | 0;
+   if (c >>> 0 < a >>> 0) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function AY(a) {
+ var b = 0, c = 0, d = 0;
+ b = Ca - 16 | 0;
+ Ca = b;
+ ea(0, b + 8 | 0) | 0;
+ c = (b + 8 >>> 4 | 0) + a ^ w(q[b + 12 >> 2], 65537);
+ while (1) {
+  o[a + d | 0] = (c & 15 | c << 1 & 32) + 65;
+  c = c >>> 5 | 0;
+  d = d + 1 | 0;
+  if ((d | 0) != 6) {
+   continue;
+  }
+  break;
+ }
+ Ca = b + 16 | 0;
+}
+function lo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ q[c + 12 >> 2] = b;
+ d = 0;
+ a : {
+  if (b >>> 0 > 65535) {
+   break a;
+  }
+  if (o[a + 20 | 0] & 1) {
+   d = mo(a, c + 12 | 0, 0);
+   break a;
+  }
+  d = no(a, c + 12 | 0, 0);
+ }
+ a = d;
+ Ca = c + 16 | 0;
+ return a | 0;
+}
+function UT(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ e = a + 72 | 0;
+ a = b;
+ while (1) {
+  c = r[r[a | 0] + e | 0] + -5 | 0;
+  d = c & 255;
+  if (!(d >>> 0 >= 25 | !(25034759 >>> d & 1))) {
+   a = q[(c << 24 >> 24 << 2) + 496152 >> 2] + a | 0;
+   continue;
+  }
+  break;
+ }
+ return a - b | 0;
+}
+function Ul(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ b = q[a + 4 >> 2];
+ c = q[b + 504 >> 2];
+ a : {
+  if (!q[b + 84 >> 2]) {
+   b = c + 84 | 0;
+   c = 0;
+   break a;
+  }
+  b = d + 12 | 0;
+  c = tf(c, d + 12 | 0);
+ }
+ q[a + 160 >> 2] = q[b >> 2];
+ Ca = d + 16 | 0;
+ return c | 0;
+}
+function uS(a) {
+ var b = 0, c = 0, d = 0;
+ b = Ca - 32 | 0;
+ Ca = b;
+ d = WQ(504959);
+ q[b + 24 >> 2] = 1;
+ c = q[b + 28 >> 2];
+ q[b + 8 >> 2] = q[b + 24 >> 2];
+ q[b + 12 >> 2] = c;
+ q[b + 16 >> 2] = 4;
+ c = q[b + 20 >> 2];
+ q[b >> 2] = q[b + 16 >> 2];
+ q[b + 4 >> 2] = c;
+ lS(a, d, b, 1);
+ Ca = b + 32 | 0;
+}
+function Sf(a, b) {
+ var c = 0;
+ c = 35;
+ a : {
+  if (!a | !(r[a + 8 | 0] & 2)) {
+   break a;
+  }
+  c = 6;
+  if ((b | 0) < 0 | q[a + 28 >> 2] <= (b | 0)) {
+   break a;
+  }
+  c = q[q[q[a + 96 >> 2] + 12 >> 2] + 92 >> 2];
+  if (c) {
+   return n[c](q[a + 88 >> 2], b) | 0;
+  }
+  Pf(a, b);
+  c = 0;
+ }
+ return c;
+}
+function Is() {
+ var a = 0;
+ a = N$(1, 44);
+ if (!a) {
+  return 271040;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a >> 2] = 1;
+ q[a + 4 >> 2] = 1;
+ q[a + 16 >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+ o[a + 12 | 0] = 1;
+ q[a + 24 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ q[a + 32 >> 2] = 0;
+ q[a + 36 >> 2] = 0;
+ q[a + 40 >> 2] = 0;
+ return a;
+}
+function UX(a) {
+ var b = 0, c = 0, d = 0;
+ b = L$(32);
+ if (b) {
+  a = mZ(a ? a : 503018);
+  q[b + 8 >> 2] = 0;
+  q[b + 12 >> 2] = 0;
+  q[b + 4 >> 2] = a;
+  c = b, d = KW(984), q[c + 20 >> 2] = d;
+  c = b, d = KW(984), q[c + 24 >> 2] = d;
+  a = KW(984);
+  q[b >> 2] = 1;
+  q[b + 28 >> 2] = a;
+ }
+ return b;
+}
+function Rg(a) {
+ var b = 0, c = 0, d = 0;
+ c = a;
+ b = q[a + 32 >> 2];
+ if (b + 3 >>> 0 < t[a + 36 >> 2]) {
+  a = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+  d = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+  b = b + 4 | 0;
+ }
+ q[c + 32 >> 2] = b;
+ return d;
+}
+function qS(a, b, c) {
+ var d = 0, e = 0;
+ d = Ca - 32 | 0;
+ Ca = d;
+ v[d + 24 >> 3] = c;
+ e = q[d + 28 >> 2];
+ q[d + 8 >> 2] = q[d + 24 >> 2];
+ q[d + 12 >> 2] = e;
+ q[d + 16 >> 2] = 2;
+ e = q[d + 20 >> 2];
+ q[d >> 2] = q[d + 16 >> 2];
+ q[d + 4 >> 2] = e;
+ a = lS(a, b, d, 1);
+ Ca = d + 32 | 0;
+ return a;
+}
+function LW(a) {
+ var b = 0, c = 0;
+ b = q[a + 4 >> 2];
+ while (1) {
+  if (b) {
+   c = q[b + 4 >> 2];
+   if (c) {
+    n[q[a >> 2]](c);
+   }
+   if (q[a + 4 >> 2] == (b | 0)) {
+    q[a + 4 >> 2] = q[b >> 2];
+   }
+   c = q[b >> 2];
+   M$(b);
+   b = c;
+   if (b) {
+    continue;
+   }
+  }
+  break;
+ }
+ M$(a);
+}
+function bk(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = hf(9488, b);
+ a : {
+  if (c) {
+   break a;
+  }
+  c = 0;
+  if (!a) {
+   break a;
+  }
+  a = q[a + 4 >> 2];
+  if (!a) {
+   break a;
+  }
+  a = ig(a, 9576);
+  if (!a) {
+   break a;
+  }
+  c = n[q[q[a >> 2] + 32 >> 2]](a, b) | 0;
+ }
+ return c | 0;
+}
+function nN(a, b) {
+ var c = 0, d = 0;
+ a : {
+  if (a) {
+   if (!b) {
+    return a;
+   }
+   if (q[q[a >> 2] + 8 >> 2] < q[q[b >> 2] + 8 >> 2]) {
+    break a;
+   }
+   c = b, d = nN(a, q[b + 8 >> 2]), q[c + 8 >> 2] = d;
+  }
+  return b;
+ }
+ c = a, d = nN(q[a + 8 >> 2], b), q[c + 8 >> 2] = d;
+ return a;
+}
+function xS(a, b, c) {
+ var d = 0;
+ d = Ca - 32 | 0;
+ Ca = d;
+ q[d + 24 >> 2] = c;
+ c = q[d + 28 >> 2];
+ q[d + 8 >> 2] = q[d + 24 >> 2];
+ q[d + 12 >> 2] = c;
+ q[d + 16 >> 2] = 9;
+ c = q[d + 20 >> 2];
+ q[d >> 2] = q[d + 16 >> 2];
+ q[d + 4 >> 2] = c;
+ a = lS(a, b, d, 1);
+ Ca = d + 32 | 0;
+ return a;
+}
+function tS(a, b, c) {
+ var d = 0;
+ d = Ca - 32 | 0;
+ Ca = d;
+ q[d + 24 >> 2] = c;
+ c = q[d + 28 >> 2];
+ q[d + 8 >> 2] = q[d + 24 >> 2];
+ q[d + 12 >> 2] = c;
+ q[d + 16 >> 2] = 4;
+ c = q[d + 20 >> 2];
+ q[d >> 2] = q[d + 16 >> 2];
+ q[d + 4 >> 2] = c;
+ a = lS(a, b, d, 1);
+ Ca = d + 32 | 0;
+ return a;
+}
+function pS(a, b, c) {
+ var d = 0;
+ d = Ca - 32 | 0;
+ Ca = d;
+ q[d + 24 >> 2] = c;
+ c = q[d + 28 >> 2];
+ q[d + 8 >> 2] = q[d + 24 >> 2];
+ q[d + 12 >> 2] = c;
+ q[d + 16 >> 2] = 1;
+ c = q[d + 20 >> 2];
+ q[d >> 2] = q[d + 16 >> 2];
+ q[d + 4 >> 2] = c;
+ a = lS(a, b, d, 1);
+ Ca = d + 32 | 0;
+ return a;
+}
+function fH(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ while (1) {
+  a = q[b >> 2];
+  q[b >> 2] = 1;
+  if (a) {
+   continue;
+  }
+  break;
+ }
+ a = 0;
+ c = _f(q[b + 4 >> 2], c, d);
+ if (c) {
+  q[e >> 2] = c;
+  a = 1;
+ }
+ q[b >> 2] = 0;
+ return a | 0;
+}
+function XD(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0;
+ a = q[c + 76 >> 2];
+ if (a) {
+  b = q[c + 88 >> 2];
+  c = 0;
+  while (1) {
+   d = w(c, 20) + b | 0;
+   p[d + 12 >> 1] = s[d + 12 >> 1] & 65519;
+   c = c + 1 | 0;
+   if ((c | 0) != (a | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function RX(a) {
+ var b = 0;
+ a : {
+  if (a) {
+   break a;
+  }
+  while (1) {
+   a = q[160852];
+   if (a) {
+    break a;
+   }
+   a = oX();
+   if (!a) {
+    continue;
+   }
+   b = q[160852];
+   q[160852] = b ? b : a;
+   if (!b) {
+    break a;
+   }
+   pX(a);
+   continue;
+  }
+ }
+ return q[a + 76 >> 2];
+}
+function GX(a) {
+ var b = 0;
+ a : {
+  if (a) {
+   break a;
+  }
+  while (1) {
+   a = q[160852];
+   if (a) {
+    break a;
+   }
+   a = oX();
+   if (!a) {
+    continue;
+   }
+   b = q[160852];
+   q[160852] = b ? b : a;
+   if (!b) {
+    break a;
+   }
+   pX(a);
+   continue;
+  }
+ }
+ return q[a + 52 >> 2];
+}
+function zy(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = q[b >> 2];
+ d = q[a >> 2];
+ if ((c | 0) != (d | 0)) {
+  return (d >>> 0 < c >>> 0 ? -1 : 1) | 0;
+ }
+ a = q[a + 4 >> 2];
+ b = q[b + 4 >> 2];
+ if (a >>> 0 >= b >>> 0) {
+  a = a >>> 0 > b >>> 0;
+ } else {
+  a = -1;
+ }
+ return a | 0;
+}
+function $$(a) {
+ var b = 0;
+ b = r[a + 74 | 0];
+ o[a + 74 | 0] = b + -1 | b;
+ b = q[a >> 2];
+ if (b & 8) {
+  q[a >> 2] = b | 32;
+  return -1;
+ }
+ q[a + 4 >> 2] = 0;
+ q[a + 8 >> 2] = 0;
+ b = q[a + 44 >> 2];
+ q[a + 28 >> 2] = b;
+ q[a + 20 >> 2] = b;
+ q[a + 16 >> 2] = b + q[a + 48 >> 2];
+ return 0;
+}
+function wS(a, b) {
+ var c = 0;
+ c = Ca - 32 | 0;
+ Ca = c;
+ q[c + 24 >> 2] = b;
+ q[c + 16 >> 2] = 8;
+ b = q[c + 28 >> 2];
+ q[c + 8 >> 2] = q[c + 24 >> 2];
+ q[c + 12 >> 2] = b;
+ b = q[c + 20 >> 2];
+ q[c >> 2] = q[c + 16 >> 2];
+ q[c + 4 >> 2] = b;
+ a = lS(a, 34, c, 1);
+ Ca = c + 32 | 0;
+ return a;
+}
+function vS(a, b) {
+ var c = 0;
+ c = Ca - 32 | 0;
+ Ca = c;
+ q[c + 24 >> 2] = b;
+ b = q[c + 28 >> 2];
+ q[c + 8 >> 2] = q[c + 24 >> 2];
+ q[c + 12 >> 2] = b;
+ q[c + 16 >> 2] = 6;
+ b = q[c + 20 >> 2];
+ q[c >> 2] = q[c + 16 >> 2];
+ q[c + 4 >> 2] = b;
+ a = lS(a, 33, c, 1);
+ Ca = c + 32 | 0;
+ return a;
+}
+function mH(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ while (1) {
+  a = q[b >> 2];
+  q[b >> 2] = 1;
+  if (a) {
+   continue;
+  }
+  break;
+ }
+ c = ag(q[b + 4 >> 2], c, d, e);
+ a = !c;
+ a = c | !e ? a : r[d | 0] != 0;
+ q[b >> 2] = 0;
+ return a | 0;
+}
+function SI(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ e = 6;
+ a : {
+  if (q[b + 72 >> 2] != q[a + 16 >> 2]) {
+   break a;
+  }
+  if (c) {
+   vf(b + 108 | 0, c);
+  }
+  e = 0;
+  if (!d) {
+   break a;
+  }
+  wf(b + 108 | 0, q[d >> 2], q[d + 4 >> 2]);
+ }
+ return e | 0;
+}
+function mg(a, b) {
+ var c = 0;
+ c = 6;
+ if (!(!a | !b)) {
+  c = n[q[a + 4 >> 2]](a, 208) | 0;
+  if (!c) {
+   return 64;
+  }
+  Z$(c + 16 | 0, 0, 188);
+  q[c + 204 >> 2] = 1;
+  q[c + 12 >> 2] = 1;
+  q[c + 4 >> 2] = 2;
+  q[c + 8 >> 2] = 10;
+  q[c >> 2] = a;
+  q[b >> 2] = c;
+  c = 0;
+ }
+ return c;
+}
+function kM(a, b) {
+ a = a | 0;
+ b = b | 0;
+ ON(b + 4 | 0);
+ ON(b + 28 | 0);
+ b = q[a >> 2];
+ if (b >>> 0 <= 2) {
+  a : {
+   switch (b - 1 | 0) {
+   default:
+    bM(q[a + 8 >> 2]);
+    return;
+   case 0:
+    M$(q[a + 8 >> 2]);
+    return;
+   case 1:
+    break a;
+   }
+  }
+  bM(q[a + 8 >> 2]);
+ }
+}
+function S0(a, b) {
+ var c = 0, d = 0;
+ if (a | b) {
+  d = b + -1 | 0;
+  c = a + -1 | 0;
+  if (c >>> 0 < 4294967295) {
+   d = d + 1 | 0;
+  }
+  c = z(a ^ c) + 32 | 0;
+  a = z(b ^ d);
+  a = (a | 0) == 32 ? c : a;
+  b = 63 - a | 0;
+  Ea = 0 - (63 < a >>> 0) | 0;
+  return b;
+ }
+ Ea = 0;
+ return 64;
+}
+function EQ(a) {
+ var b = 0, c = 0;
+ b = Ca - 4128 | 0;
+ Ca = b;
+ a : {
+  if (r[a | 0] == 47) {
+   a = DQ(a);
+   break a;
+  }
+  if (!RY(b + 16 | 0)) {
+   a = 0;
+   break a;
+  }
+  q[b + 4 >> 2] = 0;
+  q[b >> 2] = a;
+  c = uQ(b + 16 | 0, b);
+  a = DQ(c);
+  M$(c);
+ }
+ Ca = b + 4128 | 0;
+ return a;
+}
+function nI(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0;
+ d = Ae(q[c >> 2]);
+ c = Ae(q[c + 4 >> 2]);
+ a : {
+  if (q[a + 4 >> 2]) {
+   break a;
+  }
+  b = DI((w((b | 0) != 0, 36) + a | 0) + 16 | 0, d >> 16, c >> 16, q[a >> 2], 0);
+  if (!b) {
+   break a;
+  }
+  q[a + 4 >> 2] = b;
+ }
+}
+function mk(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ b = q[a + 4 >> 2];
+ c = q[q[b + 712 >> 2] + 3080 >> 2];
+ a : {
+  if (!c) {
+   break a;
+  }
+  b = ig(q[q[b + 96 >> 2] + 4 >> 2], 12632);
+  if (!b) {
+   break a;
+  }
+  b = n[q[c + 8 >> 2]](b) | 0;
+  q[q[a + 156 >> 2] + 36 >> 2] = b;
+ }
+ return 0;
+}
+function PJ(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ b = q[a + 8 >> 2];
+ if (b) {
+  a = q[a + 16 >> 2];
+  c = q[a + 4 >> 2];
+  q[b + 108 >> 2] = q[a >> 2];
+  q[b + 112 >> 2] = c;
+  q[b + 124 >> 2] = q[a + 16 >> 2];
+  c = q[a + 12 >> 2];
+  q[b + 116 >> 2] = q[a + 8 >> 2];
+  q[b + 120 >> 2] = c;
+ }
+}
+function cL(a) {
+ gg(a, 4112);
+ gg(a, 6544);
+ gg(a, 9384);
+ gg(a, 14200);
+ gg(a, 17100);
+ gg(a, 17440);
+ gg(a, 18756);
+ gg(a, 24928);
+ gg(a, 25756);
+ gg(a, 161264);
+ gg(a, 284456);
+ gg(a, 289496);
+ gg(a, 289564);
+ gg(a, 289656);
+ gg(a, 289728);
+ gg(a, 289800);
+ gg(a, 290292);
+ gg(a, 353720);
+}
+function UC(a, b, c) {
+ var d = 0;
+ if (q[a + 4 >> 2]) {
+  d = q[a + 132 >> 2];
+  if (d) {
+   n[d](q[a - -64 >> 2]);
+  }
+  if (b) {
+   q[a + 132 >> 2] = 0;
+   q[a + 200 >> 2] = b;
+   q[a - -64 >> 2] = c;
+   return;
+  }
+  q[a + 132 >> 2] = 0;
+  q[a + 200 >> 2] = 495;
+  q[a - -64 >> 2] = 0;
+ }
+}
+function Of(a, b) {
+ var c = 0, d = 0;
+ c = q[a + 12 >> 2];
+ d = q[a + 4 >> 2];
+ c = (c | 0) < 0 ? (d | 0) < (c | 0) ? c : d : d - c | 0;
+ b = b ? b : (w(c, 12) | 0) / 10 | 0;
+ q[a + 28 >> 2] = b;
+ q[a + 24 >> 2] = (b - c | 0) / 2;
+ q[a + 20 >> 2] = q[a + 8 >> 2] - (q[a + 16 >> 2] / 2 | 0);
+}
+function O_(a, b) {
+ var c = 0, d = 0, e = 0;
+ e = a;
+ a : {
+  if (b >>> 0 <= 31) {
+   c = q[a >> 2];
+   d = q[a + 4 >> 2];
+   break a;
+  }
+  c = q[a + 4 >> 2];
+  q[a + 4 >> 2] = 0;
+  q[a >> 2] = c;
+  b = b + -32 | 0;
+  d = 0;
+ }
+ q[e + 4 >> 2] = d >>> b;
+ q[a >> 2] = d << 32 - b | c >>> b;
+}
+function Kl(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0;
+ q[c >> 2] = 0;
+ d = 6;
+ a : {
+  if (!b | !a) {
+   break a;
+  }
+  b = b + -1 | 0;
+  if (b >>> 0 >= t[a + 408 >> 2]) {
+   break a;
+  }
+  q[c >> 2] = q[(q[a + 416 >> 2] + (b << 4) | 0) + 4 >> 2];
+  d = 0;
+ }
+ return d | 0;
+}
+function $C(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ a = q[a + 12 >> 2];
+ q[e >> 2] = 0;
+ if ((d | 0) == -1) {
+  d = g0(c);
+ }
+ b = a;
+ f = q[a + 76 >> 2];
+ a = q[a + 72 >> 2];
+ return n[q[a + 212 >> 2]](b, f, c, d, e, q[a + 76 >> 2]) | 0;
+}
+function lP(a, b) {
+ var c = 0, d = 0;
+ d = q[a + 20 >> 2];
+ a : {
+  b : {
+   if (d) {
+    c = 85;
+    if (!n[d](a, b, 0, 0)) {
+     break b;
+    }
+    break a;
+   }
+   c = 85;
+   if ((b | 0) < 0 | t[a + 4 >> 2] < b >>> 0) {
+    break a;
+   }
+  }
+  q[a + 8 >> 2] = b;
+  c = 0;
+ }
+ return c;
+}
+function ZH(a) {
+ a = a | 0;
+ q[a + 48 >> 2] = 2333;
+ q[a + 52 >> 2] = 0;
+ q[a + 24 >> 2] = 500;
+ q[a + 28 >> 2] = 400;
+ q[a + 12 >> 2] = 85;
+ q[a + 16 >> 2] = 30;
+ q[a + 40 >> 2] = 1667;
+ q[a + 44 >> 2] = 275;
+ q[a + 32 >> 2] = 1e3;
+ q[a + 36 >> 2] = 275;
+ p[a + 20 >> 1] = 256;
+ return 0;
+}
+function Tk(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ e = 1;
+ a : {
+  if (!r[a | 0] | q[a + 8 >> 2] != (b | 0) | q[a + 12 >> 2] != (c | 0)) {
+   break a;
+  }
+  if (c) {
+   if (ZY(d, q[a + 16 >> 2], c << 2)) {
+    break a;
+   }
+  }
+  e = 0;
+ }
+ return e | 0;
+}
+function y$(a, b, c, d, e, f, g, h, i) {
+ var j = 0;
+ j = Ca - 16 | 0;
+ Ca = j;
+ m$(j, b, c, d, e, f, g, h, i ^ -2147483648);
+ d = q[j >> 2];
+ c = q[j + 4 >> 2];
+ b = q[j + 12 >> 2];
+ q[a + 8 >> 2] = q[j + 8 >> 2];
+ q[a + 12 >> 2] = b;
+ q[a >> 2] = d;
+ q[a + 4 >> 2] = c;
+ Ca = j + 16 | 0;
+}
+function WC(a, b, c) {
+ var d = 0;
+ if (q[a + 4 >> 2]) {
+  d = q[a + 136 >> 2];
+  if (d) {
+   n[d](q[a + 68 >> 2]);
+  }
+  if (b) {
+   q[a + 136 >> 2] = 0;
+   q[a + 204 >> 2] = b;
+   q[a + 68 >> 2] = c;
+   return;
+  }
+  q[a + 136 >> 2] = 0;
+  q[a + 204 >> 2] = 496;
+  q[a + 68 >> 2] = 0;
+ }
+}
+function Uq(a) {
+ var b = 0;
+ b = Qq(a + 148 | 0);
+ b = t[b + 16 >> 2] < 8 ? 271040 : q[b + 12 >> 2];
+ if (r[b | 0] << 8 | r[b + 1 | 0]) {
+  a = 1;
+ } else {
+  a = Sq(a + 152 | 0);
+  a = t[a + 16 >> 2] < 8 ? 271040 : q[a + 12 >> 2];
+  a = (r[a | 0] << 8 | r[a + 1 | 0]) != 0;
+ }
+ return a;
+}
+function QC(a, b, c) {
+ var d = 0;
+ if (q[a + 4 >> 2]) {
+  d = q[a + 124 >> 2];
+  if (d) {
+   n[d](q[a + 56 >> 2]);
+  }
+  if (b) {
+   q[a + 124 >> 2] = 0;
+   q[a + 192 >> 2] = b;
+   q[a + 56 >> 2] = c;
+   return;
+  }
+  q[a + 124 >> 2] = 0;
+  q[a + 192 >> 2] = 493;
+  q[a + 56 >> 2] = 0;
+ }
+}
+function OC(a, b, c) {
+ var d = 0;
+ if (q[a + 4 >> 2]) {
+  d = q[a + 120 >> 2];
+  if (d) {
+   n[d](q[a + 52 >> 2]);
+  }
+  if (b) {
+   q[a + 120 >> 2] = 0;
+   q[a + 188 >> 2] = b;
+   q[a + 52 >> 2] = c;
+   return;
+  }
+  q[a + 120 >> 2] = 0;
+  q[a + 188 >> 2] = 492;
+  q[a + 52 >> 2] = 0;
+ }
+}
+function IC(a, b, c) {
+ var d = 0;
+ if (q[a + 4 >> 2]) {
+  d = q[a + 104 >> 2];
+  if (d) {
+   n[d](q[a + 36 >> 2]);
+  }
+  if (b) {
+   q[a + 104 >> 2] = 0;
+   q[a + 172 >> 2] = b;
+   q[a + 36 >> 2] = c;
+   return;
+  }
+  q[a + 104 >> 2] = 0;
+  q[a + 172 >> 2] = 488;
+  q[a + 36 >> 2] = 0;
+ }
+}
+function be(a, b) {
+ var c = 0, d = 0, e = 0;
+ while (1) {
+  a : {
+   c = r[r[b | 0] + 3344 | 0];
+   d = r[a | 0];
+   e = r[d + 3344 | 0];
+   if (!d) {
+    break a;
+   }
+   b = b + 1 | 0;
+   a = a + 1 | 0;
+   if ((c | 0) == (e | 0)) {
+    continue;
+   }
+  }
+  break;
+ }
+ return e - c | 0;
+}
+function PE(a, b, c) {
+ var d = 0;
+ d = s[a + 140 >> 1];
+ a : {
+  if (d & 512) {
+   Qt(a + 24 | 0, a, b, c);
+   break a;
+  }
+  if (d & 2048) {
+   ar(a, b, c);
+   break a;
+  }
+  if (d & 1024) {
+   Ss(a, b, c);
+   break a;
+  }
+  BE(a, b, c);
+ }
+ if (r[a + 141 | 0] & 32) {
+  gr(a, b, c);
+ }
+}
+function co(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ d = q[a + 16 >> 2] + 6 | 0;
+ a = q[b >> 2];
+ while (1) {
+  a = a + 1 | 0;
+  if (a >>> 0 > 255) {
+   q[b >> 2] = 0;
+   return 0;
+  }
+  c = r[a + d | 0];
+  if (!c) {
+   continue;
+  }
+  break;
+ }
+ q[b >> 2] = a;
+ return c | 0;
+}
+function VN(a) {
+ var b = 0;
+ b = q[a + 8 >> 2];
+ a : {
+  if (b) {
+   a = (b + q[a + 20 >> 2] | 0) + -1 | 0;
+   b = r[a | 0];
+   if (b >>> 0 >= 4) {
+    break a;
+   }
+   o[a | 0] = b | 4;
+   return 1;
+  }
+  J(436571, 436591, 335, 436605);
+  F();
+ }
+ J(436627, 436591, 336, 436605);
+ F();
+}
+function _C(a, b) {
+ var c = 0;
+ if (q[a + 4 >> 2]) {
+  c = q[a + 144 >> 2];
+  if (c) {
+   n[c](q[a + 76 >> 2]);
+  }
+  if (b) {
+   q[a + 144 >> 2] = 0;
+   q[a + 212 >> 2] = b;
+   q[a + 76 >> 2] = 0;
+   return;
+  }
+  q[a + 144 >> 2] = 0;
+  q[a + 212 >> 2] = 498;
+  q[a + 76 >> 2] = 0;
+ }
+}
+function YC(a, b) {
+ var c = 0;
+ if (q[a + 4 >> 2]) {
+  c = q[a + 140 >> 2];
+  if (c) {
+   n[c](q[a + 72 >> 2]);
+  }
+  if (b) {
+   q[a + 140 >> 2] = 0;
+   q[a + 208 >> 2] = b;
+   q[a + 72 >> 2] = 0;
+   return;
+  }
+  q[a + 140 >> 2] = 0;
+  q[a + 208 >> 2] = 497;
+  q[a + 72 >> 2] = 0;
+ }
+}
+function Q_(a, b) {
+ var c = 0, d = 0, e = 0;
+ e = a;
+ a : {
+  if (b >>> 0 <= 31) {
+   c = q[a + 4 >> 2];
+   d = q[a >> 2];
+   break a;
+  }
+  c = q[a >> 2];
+  q[a + 4 >> 2] = c;
+  q[a >> 2] = 0;
+  b = b + -32 | 0;
+  d = 0;
+ }
+ q[e >> 2] = d << b;
+ q[a + 4 >> 2] = c << b | d >>> 32 - b;
+}
+function KC(a, b) {
+ var c = 0;
+ if (q[a + 4 >> 2]) {
+  c = q[a + 108 >> 2];
+  if (c) {
+   n[c](q[a + 40 >> 2]);
+  }
+  if (b) {
+   q[a + 108 >> 2] = 0;
+   q[a + 176 >> 2] = b;
+   q[a + 40 >> 2] = 0;
+   return;
+  }
+  q[a + 108 >> 2] = 0;
+  q[a + 176 >> 2] = 489;
+  q[a + 40 >> 2] = 0;
+ }
+}
+function AL(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = 18;
+ a : {
+  if (q[b + 72 >> 2] != 1869968492) {
+   break a;
+  }
+  c = q[a >> 2];
+  a = a + 20 | 0;
+  c = qg(c, p[b + 110 >> 1], p[b + 108 >> 1], a);
+  if (c) {
+   break a;
+  }
+  sg(b + 108 | 0, a);
+  c = 0;
+ }
+ return c | 0;
+}
+function zh(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ b = q[a + 24 >> 2];
+ c = yg(b, c);
+ a : {
+  if (c) {
+   break a;
+  }
+  c = Kg(b, d);
+  if (c) {
+   break a;
+  }
+  q[a + 196 >> 2] = q[b + 32 >> 2];
+  q[a + 200 >> 2] = q[b + 36 >> 2];
+  c = 0;
+ }
+ return c | 0;
+}
+function bQ(a, b) {
+ var c = 0, d = 0;
+ if ((a | 0) == (b | 0)) {
+  return 0;
+ }
+ while (1) {
+  a : {
+   d = r[b | 0];
+   c = r[a | 0];
+   if (!c) {
+    break a;
+   }
+   a = a + 1 | 0;
+   b = b + 1 | 0;
+   if ((d | 0) == (c | 0)) {
+    continue;
+   }
+  }
+  break;
+ }
+ return c - d | 0;
+}
+function YO(a, b) {
+ var c = 0;
+ if ((a | 0) == (b | 0)) {
+  return 1;
+ }
+ a : {
+  if (!a | !b | (v[a >> 3] != v[b >> 3] | v[a + 8 >> 3] != v[b + 8 >> 3])) {
+   break a;
+  }
+  if (v[a + 16 >> 3] != v[b + 16 >> 3]) {
+   break a;
+  }
+  c = v[a + 24 >> 3] == v[b + 24 >> 3];
+ }
+ return c;
+}
+function xC(a, b) {
+ var c = 0;
+ if (q[a + 4 >> 2]) {
+  c = q[a + 80 >> 2];
+  if (c) {
+   n[c](q[a + 12 >> 2]);
+  }
+  if (b) {
+   q[a + 80 >> 2] = 0;
+   q[a + 12 >> 2] = 0;
+   q[a + 148 >> 2] = b;
+   return;
+  }
+  q[a + 80 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+  q[a + 148 >> 2] = 482;
+ }
+}
+function ne(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ a : {
+  if (!d) {
+   e = 1;
+   if (t[a + 4 >> 2] < b >>> 0) {
+    break a;
+   }
+  }
+  e = q[a + 12 >> 2];
+  if (q[a + 8 >> 2] != (b | 0)) {
+   IZ(e, b, 0);
+  }
+  e = NZ(c, d, e);
+ }
+ return e | 0;
+}
+function cg(a, b) {
+ var c = 0, d = 0, e = 0;
+ a : {
+  if (!a | !(r[a + 8 | 0] & 8)) {
+   break a;
+  }
+  c = q[a + 96 >> 2];
+  d = q[q[c >> 2] + 32 >> 2];
+  if (!d) {
+   break a;
+  }
+  c = n[d](c, 3813) | 0;
+  if (!c) {
+   break a;
+  }
+  e = n[q[c + 4 >> 2]](a, b) | 0;
+ }
+ return e;
+}
+function N$(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  d = T0(a, 0, b, 0);
+  e = Ea;
+  c = d;
+  if ((a | b) >>> 0 < 65536) {
+   break a;
+  }
+  c = e ? -1 : d;
+ }
+ b = c;
+ a = L$(b);
+ if (!(!a | !(r[a + -4 | 0] & 3))) {
+  Z$(a, 0, b);
+ }
+ return a;
+}
+function EC(a, b) {
+ var c = 0;
+ if (q[a + 4 >> 2]) {
+  c = q[a + 96 >> 2];
+  if (c) {
+   n[c](q[a + 28 >> 2]);
+  }
+  if (b) {
+   q[a + 96 >> 2] = 0;
+   q[a + 164 >> 2] = b;
+   q[a + 28 >> 2] = 0;
+   return;
+  }
+  q[a + 96 >> 2] = 0;
+  q[a + 164 >> 2] = 486;
+  q[a + 28 >> 2] = 0;
+ }
+}
+function DC(a, b) {
+ var c = 0;
+ if (q[a + 4 >> 2]) {
+  c = q[a + 92 >> 2];
+  if (c) {
+   n[c](q[a + 24 >> 2]);
+  }
+  if (b) {
+   q[a + 92 >> 2] = 0;
+   q[a + 160 >> 2] = b;
+   q[a + 24 >> 2] = 0;
+   return;
+  }
+  q[a + 92 >> 2] = 0;
+  q[a + 160 >> 2] = 485;
+  q[a + 24 >> 2] = 0;
+ }
+}
+function BC(a, b) {
+ var c = 0;
+ if (q[a + 4 >> 2]) {
+  c = q[a + 88 >> 2];
+  if (c) {
+   n[c](q[a + 20 >> 2]);
+  }
+  if (b) {
+   q[a + 88 >> 2] = 0;
+   q[a + 156 >> 2] = b;
+   q[a + 20 >> 2] = 0;
+   return;
+  }
+  q[a + 88 >> 2] = 0;
+  q[a + 156 >> 2] = 484;
+  q[a + 20 >> 2] = 0;
+ }
+}
+function Sh(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ q[a + 116 >> 2] = b;
+ c = q[a >> 2];
+ if (o[c + 8 | 0] & 1) {
+  Pf(c, b);
+  Rh(a, 0);
+  return 0;
+ }
+ b = n[q[q[c + 540 >> 2] + 108 >> 2]](c, b, a + 12 | 0) | 0;
+ if (!b) {
+  return 0;
+ }
+ q[a + 116 >> 2] = -1;
+ return b | 0;
+}
+function yY(a, b) {
+ var c = 0, d = 0;
+ c = Ca - 32 | 0;
+ Ca = c;
+ a : {
+  b : {
+   d = ca(a | 0, b | 0) | 0;
+   if ((d | 0) == -8) {
+    if (l$(a)) {
+     break b;
+    }
+   }
+   a = DY(d);
+   break a;
+  }
+  CY(c, a);
+  a = DY(da(c | 0, b | 0) | 0);
+ }
+ Ca = c + 32 | 0;
+ return a;
+}
+function mm(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ d = 1;
+ e = b;
+ c = q[b >> 2] + 1 | 0;
+ b = q[a + 16 >> 2];
+ if (c >>> 0 > b >>> 0) {
+  b = c - b | 0;
+  a = b >>> 0 < t[a + 20 >> 2];
+  d = a ? b + 1 | 0 : 0;
+  b = a ? c : 0;
+ }
+ q[e >> 2] = b;
+ return d | 0;
+}
+function hf(a, b) {
+ var c = 0;
+ a : {
+  if (!a | !b) {
+   break a;
+  }
+  c = q[a >> 2];
+  if (!c) {
+   break a;
+  }
+  while (1) {
+   if (!iZ(c, b)) {
+    return q[a + 4 >> 2];
+   }
+   c = q[a + 8 >> 2];
+   a = a + 8 | 0;
+   if (c) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function HP() {
+ var a = 0;
+ a = L$(40);
+ if (!a) {
+  return 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a >> 2] = 0;
+ q[a + 4 >> 2] = 8;
+ q[a + 32 >> 2] = 0;
+ q[a + 36 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+ q[a + 16 >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+ return a;
+}
+function Bn(a, b, c, d, e) {
+ var f = 0;
+ f = e << 2;
+ a = n[q[a + 24 >> 2]](q[a + 32 >> 2], f + w(s[(d + 31 >>> 4 & 268435454) + 152768 >> 1], f) | 0) | 0;
+ p[b + 12 >> 1] = e;
+ p[b + 10 >> 1] = d;
+ p[b + 8 >> 1] = c;
+ q[b >> 2] = a;
+ q[b + 4 >> 2] = a + f;
+ return (a | 0) != 0;
+}
+function bF(a) {
+ var b = 0;
+ b = N$(1, 208);
+ if (b) {
+  q[b + 8 >> 2] = 0;
+  q[b >> 2] = 1;
+  q[b + 4 >> 2] = 1;
+  q[b + 32 >> 2] = -1;
+  q[b + 20 >> 2] = 0;
+  q[b + 16 >> 2] = a;
+  q[b + 12 >> 2] = 582;
+  q[b + 36 >> 2] = b;
+  Db(b + 48 | 0, b);
+  return b;
+ }
+ return 641320;
+}
+function hl(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ b = q[a + 4 >> 2];
+ c = q[b + 320 >> 2];
+ a : {
+  if (!c) {
+   break a;
+  }
+  b = ig(q[q[b + 96 >> 2] + 4 >> 2], 14478);
+  if (!b) {
+   break a;
+  }
+  b = n[q[c + 4 >> 2]](b) | 0;
+  q[q[a + 156 >> 2] + 36 >> 2] = b;
+ }
+ return 0;
+}
+function Ro(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 16 >> 2] = b;
+ b = r[b + 6 | 0] | r[b + 7 | 0] << 8 | (r[b + 8 | 0] << 16 | r[b + 9 | 0] << 24);
+ q[a + 28 >> 2] = 0;
+ q[a + 32 >> 2] = 0;
+ q[a + 24 >> 2] = b << 8 & 16711680 | b << 24 | (b >>> 8 & 65280 | b >>> 24);
+ return 0;
+}
+function Ht(a) {
+ var b = 0, c = 0, d = 0;
+ c = q[a + 76 >> 2];
+ if (c) {
+  while (1) {
+   d = w(b, 20);
+   o[(d + q[a + 96 >> 2] | 0) + 18 | 0] = 0;
+   p[(q[a + 96 >> 2] + d | 0) + 16 >> 1] = 0;
+   b = b + 1 | 0;
+   if ((c | 0) != (b | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function gj(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ b = q[a + 4 >> 2];
+ c = q[b + 552 >> 2];
+ a : {
+  if (!c) {
+   break a;
+  }
+  b = ig(q[q[b + 96 >> 2] + 4 >> 2], 6929);
+  if (!b) {
+   break a;
+  }
+  b = n[q[c + 4 >> 2]](b) | 0;
+  q[q[a + 156 >> 2] + 36 >> 2] = b;
+ }
+ return 0;
+}
+function eO(a, b) {
+ var c = 0;
+ q[a + 20 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+ q[a >> 2] = 16;
+ q[a + 28 >> 2] = 0;
+ q[a + 32 >> 2] = 0;
+ q[a + 36 >> 2] = 0;
+ q[a + 40 >> 2] = 0;
+ q[a + 44 >> 2] = 0;
+ c = a;
+ a = Jd(32, 1 << (b << 1), 0);
+ q[c + 48 >> 2] = a;
+ return (a | 0) != 0;
+}
+function yg(a, b) {
+ var c = 0, d = 0;
+ d = q[a + 20 >> 2];
+ a : {
+  b : {
+   if (d) {
+    c = 85;
+    if (!n[d](a, b, 0, 0)) {
+     break b;
+    }
+    break a;
+   }
+   c = 85;
+   if (t[a + 4 >> 2] < b >>> 0) {
+    break a;
+   }
+  }
+  q[a + 8 >> 2] = b;
+  c = 0;
+ }
+ return c;
+}
+function so(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = q[a + 16 >> 2];
+ b = b - (r[a + 6 | 0] << 8 | r[a + 7 | 0]) | 0;
+ if (b >>> 0 < (r[a + 9 | 0] | r[a + 8 | 0] << 8) >>> 0) {
+  a = a + (b << 1) | 0;
+  a = r[a + 10 | 0] << 8 | r[a + 11 | 0];
+ } else {
+  a = 0;
+ }
+ return a | 0;
+}
+function pY(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ c = 1;
+ a : {
+  if (!a | !b) {
+   break a;
+  }
+  c = 0;
+  if (GS(a, 504925, d + 12 | 0)) {
+   break a;
+  }
+  c = (UR(q[d + 12 >> 2], b) | 0) == 1;
+ }
+ Ca = d + 16 | 0;
+ return c | 0;
+}
+function eJ(a) {
+ a = a | 0;
+ var b = 0;
+ b = q[a + 4 >> 2];
+ q[b + 180 >> 2] = -21;
+ q[b + 184 >> 2] = 0;
+ q[b + 196 >> 2] = 21;
+ q[b + 200 >> 2] = 0;
+ q[b + 188 >> 2] = 0;
+ q[b + 192 >> 2] = 0;
+ n[q[q[q[a + 12 >> 2] + 56 >> 2] + 8 >> 2]](q[a + 52 >> 2], 0, 0);
+ return 0;
+}
+function Gt(a) {
+ a = q[Xs(a + 140 | 0) >> 2];
+ a = a ? a : 271040;
+ a = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+ a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+ return (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) != 0;
+}
+function Bt(a) {
+ a = q[Ws(a + 136 | 0) >> 2];
+ a = a ? a : 271040;
+ a = t[a + 16 >> 2] < 10 ? 271040 : q[a + 12 >> 2];
+ a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+ return (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) != 0;
+}
+function Yj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ b = q[a >> 2];
+ c = q[b + 712 >> 2];
+ if (!q[c + 1188 >> 2]) {
+  return 163;
+ }
+ d = q[q[c + 3084 >> 2] + 4 >> 2];
+ if (!d) {
+  return 7;
+ }
+ return n[d](q[b + 100 >> 2], a, q[c + 20 >> 2], 133, 0, b) | 0;
+}
+function nS(a, b, c) {
+ var d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ b = WQ(b);
+ e = q[c + 12 >> 2];
+ q[d + 8 >> 2] = q[c + 8 >> 2];
+ q[d + 12 >> 2] = e;
+ e = q[c + 4 >> 2];
+ q[d >> 2] = q[c >> 2];
+ q[d + 4 >> 2] = e;
+ a = lS(a, b, d, 1);
+ Ca = d + 16 | 0;
+ return a;
+}
+function I_(a) {
+ var b = 0;
+ b = 2;
+ if (!eZ(a, 43)) {
+  b = r[a | 0] != 114;
+ }
+ b = eZ(a, 120) ? b | 128 : b;
+ b = eZ(a, 101) ? b | 524288 : b;
+ a = r[a | 0];
+ b = (a | 0) == 114 ? b : b | 64;
+ b = (a | 0) == 119 ? b | 512 : b;
+ return (a | 0) == 97 ? b | 1024 : b;
+}
+function $_(a) {
+ var b = 0;
+ a : {
+  b = a$(2969);
+  b : {
+   if ((b | 0) == -1) {
+    break b;
+   }
+   a = a$(a);
+   if ((a | 0) == -1) {
+    break b;
+   }
+   if (r[b + 508544 | 0] < 208) {
+    break a;
+   }
+  }
+  q[160854] = 28;
+  return -1;
+ }
+ return a << 16 | b;
+}
+function B_(a, b, c) {
+ var d = 0, e = 0, f = 0;
+ e = q[a + 84 >> 2];
+ d = c + 256 | 0;
+ f = aZ(e, 0, d);
+ d = f ? f - e | 0 : d;
+ c = d >>> 0 < c >>> 0 ? d : c;
+ Y$(b, e, c);
+ b = e + d | 0;
+ q[a + 84 >> 2] = b;
+ q[a + 8 >> 2] = b;
+ q[a + 4 >> 2] = c + e;
+ return c;
+}
+function ZC(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ a = q[a + 12 >> 2];
+ if (e) {
+  o[d | 0] = 0;
+ }
+ b = a;
+ f = q[a + 76 >> 2];
+ a = q[a + 72 >> 2];
+ return n[q[a + 208 >> 2]](b, f, c, d, e, q[a + 72 >> 2]) | 0;
+}
+function tG(a) {
+ var b = 0;
+ a : {
+  if (!q[a + 4 >> 2]) {
+   break a;
+  }
+  q[a + 80 >> 2] = 0;
+  o[a + 69 | 0] = 256;
+  o[a + 70 | 0] = 1;
+  q[a + 92 >> 2] = q[a + 88 >> 2];
+  b = w(q[a + 76 >> 2], 20);
+  if (!b) {
+   break a;
+  }
+  Z$(q[a + 96 >> 2], 0, b);
+ }
+}
+function qy(a, b, c) {
+ var d = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[d + 12 >> 2] = 2;
+ ry(a, 0, d + 12 | 0, d + 4 | 0, 0, 0);
+ a = q[d + 12 >> 2];
+ q[b >> 2] = a ? q[d + 4 >> 2] : 1145457748;
+ q[c >> 2] = a >>> 0 > 1 ? q[d + 8 >> 2] : 1145457748;
+ Ca = d + 16 | 0;
+}
+
+
+
+function Eo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 16 >> 2] = b;
+ b = r[b + 12 | 0] | r[b + 13 | 0] << 8 | (r[b + 14 | 0] << 16 | r[b + 15 | 0] << 24);
+ o[a + 24 | 0] = 0;
+ q[a + 40 >> 2] = b << 8 & 16711680 | b << 24 | (b >>> 8 & 65280 | b >>> 24);
+ return 0;
+}
+function YX(a, b, c) {
+ var d = 0;
+ d = q[a + 12 >> 2];
+ if (d) {
+  M$(d);
+ }
+ d = q[a + 8 >> 2];
+ if (d) {
+  M$(d);
+ }
+ d = a;
+ if (b) {
+  b = mZ(b);
+ } else {
+  b = 0;
+ }
+ q[d + 12 >> 2] = b;
+ if (c) {
+  b = mZ(c);
+ } else {
+  b = 0;
+ }
+ q[a + 8 >> 2] = b;
+}
+function rP(a) {
+ var b = 0, c = 0;
+ b = q[a + 8 >> 2];
+ if (q[a >> 2] >= 1) {
+  while (1) {
+   gS(q[(c << 2) + b >> 2]);
+   b = q[a + 8 >> 2];
+   c = c + 1 | 0;
+   if ((c | 0) < q[a >> 2]) {
+    continue;
+   }
+   break;
+  }
+ }
+ if (b) {
+  M$(b);
+ }
+ M$(a);
+}
+function ah(a, b) {
+ var c = 0, d = 0;
+ if (!(!a | !b)) {
+  c = q[a >> 2];
+  if (c) {
+   while (1) {
+    d = q[c + 4 >> 2];
+    n[q[b + 8 >> 2]](b, c);
+    c = d;
+    if (c) {
+     continue;
+    }
+    break;
+   }
+  }
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+ }
+}
+function No(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ if (!(!r[a + 24 | 0] | q[a + 28 >> 2] != q[b >> 2])) {
+  Oo(a);
+  if (!r[a + 24 | 0]) {
+   return 0;
+  }
+  c = q[a + 32 >> 2];
+  q[b >> 2] = q[a + 28 >> 2];
+  return c | 0;
+ }
+ return Mo(a, b, 1) | 0;
+}
+function Ho(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ if (!(!r[a + 24 | 0] | q[a + 28 >> 2] != q[b >> 2])) {
+  Io(a);
+  if (!r[a + 24 | 0]) {
+   return 0;
+  }
+  c = q[a + 32 >> 2];
+  q[b >> 2] = q[a + 28 >> 2];
+  return c | 0;
+ }
+ return Go(a, b, 1) | 0;
+}
+function Jy(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ a = q[c + 76 >> 2];
+ if (a) {
+  b = q[c + 88 >> 2];
+  c = 0;
+  while (1) {
+   o[(w(c, 20) + b | 0) + 15 | 0] = 0;
+   c = c + 1 | 0;
+   if ((c | 0) != (a | 0)) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function yM() {
+ var a = 0, b = 0;
+ a = N$(1, 36);
+ a : {
+  if (a) {
+   q[a + 16 >> 2] = 355036;
+   q[a >> 2] = 65535;
+   q[a + 12 >> 2] = a + 8;
+   b = N$(65535, 4);
+   q[a + 4 >> 2] = b;
+   if (b) {
+    break a;
+   }
+   M$(a);
+  }
+  a = 0;
+ }
+ return a;
+}
+function xM() {
+ var a = 0, b = 0;
+ a = N$(1, 36);
+ a : {
+  if (a) {
+   q[a + 16 >> 2] = 355008;
+   q[a >> 2] = 65535;
+   q[a + 12 >> 2] = a + 8;
+   b = N$(65535, 4);
+   q[a + 4 >> 2] = b;
+   if (b) {
+    break a;
+   }
+   M$(a);
+  }
+  a = 0;
+ }
+ return a;
+}
+function wM() {
+ var a = 0, b = 0;
+ a = N$(1, 36);
+ a : {
+  if (a) {
+   q[a + 16 >> 2] = 355092;
+   q[a >> 2] = 65535;
+   q[a + 12 >> 2] = a + 8;
+   b = N$(65535, 4);
+   q[a + 4 >> 2] = b;
+   if (b) {
+    break a;
+   }
+   M$(a);
+  }
+  a = 0;
+ }
+ return a;
+}
+function vM() {
+ var a = 0, b = 0;
+ a = N$(1, 36);
+ a : {
+  if (a) {
+   q[a + 16 >> 2] = 355064;
+   q[a >> 2] = 65535;
+   q[a + 12 >> 2] = a + 8;
+   b = N$(65535, 4);
+   q[a + 4 >> 2] = b;
+   if (b) {
+    break a;
+   }
+   M$(a);
+  }
+  a = 0;
+ }
+ return a;
+}
+function uX() {
+ var a = 0, b = 0;
+ a : {
+  if (!q[160853]) {
+   while (1) {
+    b = L$(28);
+    a = q[160853];
+    q[160853] = a ? a : b;
+    if (!a) {
+     break a;
+    }
+    if (!q[160853]) {
+     continue;
+    }
+    break;
+   }
+  }
+  return;
+ }
+ TQ();
+}
+function uM() {
+ var a = 0, b = 0;
+ a = N$(1, 36);
+ a : {
+  if (a) {
+   q[a + 16 >> 2] = 354980;
+   q[a >> 2] = 65535;
+   q[a + 12 >> 2] = a + 8;
+   b = N$(65535, 4);
+   q[a + 4 >> 2] = b;
+   if (b) {
+    break a;
+   }
+   M$(a);
+  }
+  a = 0;
+ }
+ return a;
+}
+function tJ(a) {
+ a = a | 0;
+ var b = 0;
+ if (q[a + 12 >> 2] == -559038737) {
+  b = q[a + 32 >> 2];
+  Qe(b, q[a >> 2]);
+  q[a >> 2] = 0;
+  Qe(b, q[a + 24 >> 2]);
+  q[a + 24 >> 2] = 0;
+  Qe(b, q[a + 28 >> 2]);
+  q[a + 12 >> 2] = 0;
+  q[a + 28 >> 2] = 0;
+ }
+}
+function qR() {
+ var a = 0, b = 0;
+ a : {
+  if (!q[160845]) {
+   while (1) {
+    b = L$(28);
+    a = q[160845];
+    q[160845] = a ? a : b;
+    if (!a) {
+     break a;
+    }
+    if (!q[160845]) {
+     continue;
+    }
+    break;
+   }
+  }
+  return;
+ }
+ TQ();
+}
+function gR(a, b) {
+ var c = 0;
+ a : {
+  while (1) {
+   if (!$P(a, q[w(c, 12) + 486448 >> 2])) {
+    break a;
+   }
+   c = c + 1 | 0;
+   if ((c | 0) != 57) {
+    continue;
+   }
+   break;
+  }
+  return 0;
+ }
+ q[b >> 2] = q[w(c, 12) + 486456 >> 2];
+ return 1;
+}
+function aD(a, b) {
+ var c = 0;
+ b = b << 2;
+ c = q[b + 641252 >> 2];
+ while (1) {
+  if (q[(b + q[a + 72 >> 2] | 0) + 148 >> 2] != (c | 0)) {
+   return 1;
+  }
+  a = q[a + 12 >> 2];
+  if ((a | 0) != 641008 ? a : 0) {
+   continue;
+  }
+  break;
+ }
+ return 0;
+}
+function gU(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ a = r[b + 2 | 0];
+ c = 1 << (a & 31);
+ d = a >>> 5 & 1;
+ a = r[b + 1 | 0];
+ return c & q[((d | (r[(a >>> 2 & 15 | r[b | 0] << 4 & 240) + 492208 | 0] << 3 | a << 1 & 6)) << 2) + 490192 >> 2];
+}
+function eU(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ a = r[b + 2 | 0];
+ c = 1 << (a & 31);
+ d = a >>> 5 & 1;
+ a = r[b + 1 | 0];
+ return c & q[((d | (r[(a >>> 2 & 15 | r[b | 0] << 4 & 240) + 492464 | 0] << 3 | a << 1 & 6)) << 2) + 490192 >> 2];
+}
+function Qo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = q[a + 16 >> 2];
+ q[b + 4 >> 2] = 13;
+ a = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+ q[b >> 2] = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ return 0;
+}
+function Ko(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = q[a + 16 >> 2];
+ q[b + 4 >> 2] = 12;
+ a = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+ q[b >> 2] = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ return 0;
+}
+function Do(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = q[a + 16 >> 2];
+ q[b + 4 >> 2] = 10;
+ a = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+ q[b >> 2] = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ return 0;
+}
+function zo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = q[a + 16 >> 2];
+ q[b + 4 >> 2] = 8;
+ a = r[a + 8 | 0] | r[a + 9 | 0] << 8 | (r[a + 10 | 0] << 16 | r[a + 11 | 0] << 24);
+ q[b >> 2] = a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24);
+ return 0;
+}
+function FC(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ a = q[a + 12 >> 2];
+ q[e >> 2] = 0;
+ b = a;
+ f = q[a + 76 >> 2];
+ a = q[a + 72 >> 2];
+ return n[q[a + 164 >> 2]](b, f, c, d, e, q[a + 28 >> 2]) | 0;
+}
+function cT() {
+ var a = 0, b = 0;
+ b = Ca - 16 | 0;
+ Ca = b;
+ a : {
+  if (q[160847]) {
+   break a;
+  }
+  a = j$(489545);
+  if (!a) {
+   break a;
+  }
+  q[b >> 2] = a;
+  d0(489554, b);
+  a = T_(a);
+  q[160847] = (a | 0) > 0 ? a : 0;
+ }
+ Ca = b + 16 | 0;
+}
+function tl(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = q[b + 96 >> 2];
+ if (!((c | 0) < 0 | (c | 0) >= q[a + 300 >> 2])) {
+  a = q[a + 304 >> 2] + w(c, 252) | 0;
+  b = n[q[b + 40 >> 2]](b, 0) | 0;
+  q[a + 180 >> 2] = b;
+  q[a + 208 >> 2] = b;
+ }
+}
+function AZ(a) {
+ var b = 0;
+ a : {
+  if (q[a + 76 >> 2] <= -1) {
+   a = zZ(a);
+   b = Ea;
+   break a;
+  }
+  a = zZ(a);
+  b = Ea;
+ }
+ if ((b | 0) > 0 ? 1 : (b | 0) >= 0 ? a >>> 0 < 2147483648 ? 0 : 1 : 0) {
+  q[160854] = 61;
+  return -1;
+ }
+ return a;
+}
+function mb(a, b, c) {
+ a = a | 0;
+ b = +b;
+ c = c | 0;
+ var d = 0, e = 0;
+ d = q[a + 4 >> 2];
+ e = q[a + 8 >> 2];
+ b = b * 1e3;
+ a : {
+  if (y(b) < 2147483648) {
+   a = ~~b;
+   break a;
+  }
+  a = -2147483648;
+ }
+ return FM(d, e, a, a >> 31, c) | 0;
+}
+function ZZ(a) {
+ var b = 0, c = 0, d = 0;
+ if (TZ(o[q[a >> 2]])) {
+  while (1) {
+   b = q[a >> 2];
+   d = o[b | 0];
+   q[a >> 2] = b + 1;
+   c = (w(c, 10) + d | 0) + -48 | 0;
+   if (TZ(o[b + 1 | 0])) {
+    continue;
+   }
+   break;
+  }
+ }
+ return c;
+}
+function pp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ d = a + 512 | 0;
+ c = n[q[a + 516 >> 2]](a, 1668112752, b, d) | 0;
+ if (!c) {
+  c = Jg(b, q[a + 512 >> 2], a + 508 | 0);
+  if (!c) {
+   return 0;
+  }
+  q[d >> 2] = 0;
+ }
+ return c | 0;
+}
+function OY(a, b, c) {
+ var d = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[d + 12 >> 2] = c;
+ q[d + 8 >> 2] = b;
+ a = ka(a | 0, d + 8 | 0, 1, d + 4 | 0) | 0;
+ a : {
+  if (a) {
+   a = k$(a);
+   break a;
+  }
+  a = q[d + 4 >> 2];
+ }
+ Ca = d + 16 | 0;
+ return a;
+}
+function Kf(a, b) {
+ a : {
+  if (!a) {
+   break a;
+  }
+  a = q[a >> 2];
+  if (!a) {
+   break a;
+  }
+  while (1) {
+   if (q[a + 8 >> 2] == (b | 0)) {
+    return a;
+   }
+   a = q[a + 4 >> 2];
+   if (a) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function uY(a, b, c) {
+ var d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ e = d;
+ if (b & 4194368) {
+  q[d + 12 >> 2] = c + 4;
+  c = q[c >> 2];
+ } else {
+  c = 0;
+ }
+ q[e >> 2] = c;
+ a = DY(_(a | 0, b | 32768, d | 0) | 0);
+ Ca = d + 16 | 0;
+ return a;
+}
+function pT(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = n[q[a + 364 >> 2]](q[a + 368 >> 2], b) | 0;
+ if (a >>> 0 <= 65535) {
+  a = q[(a >>> 3 & 28 | r[(a >>> 8 | 0) + 492464 | 0] << 5) + 490192 >> 2] & 1 << (a & 31);
+ } else {
+  a = 0;
+ }
+ return a | 0;
+}
+function oT(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = n[q[a + 364 >> 2]](q[a + 368 >> 2], b) | 0;
+ if (a >>> 0 <= 65535) {
+  a = q[(a >>> 3 & 28 | r[(a >>> 8 | 0) + 492208 | 0] << 5) + 490192 >> 2] & 1 << (a & 31);
+ } else {
+  a = 0;
+ }
+ return a | 0;
+}
+function c0(a, b, c, d) {
+ var e = 0, f = 0;
+ e = w(b, c);
+ f = e;
+ a : {
+  if (q[d + 76 >> 2] <= -1) {
+   a = b0(a, e, d);
+   break a;
+  }
+  a = b0(a, e, d);
+ }
+ if ((f | 0) == (a | 0)) {
+  return b ? c : 0;
+ }
+ return (a >>> 0) / (b >>> 0) | 0;
+}
+function Sg(a) {
+ var b = 0, c = 0;
+ b = q[a + 32 >> 2];
+ if (b + 3 >>> 0 >= t[a + 36 >> 2]) {
+  q[a + 32 >> 2] = b;
+  return 0;
+ }
+ c = r[b | 0] | r[b + 1 | 0] << 8 | (r[b + 2 | 0] << 16 | r[b + 3 | 0] << 24);
+ q[a + 32 >> 2] = b + 4;
+ return c;
+}
+function RY(a) {
+ var b = 0, c = 0;
+ b = Ca - 4096 | 0;
+ Ca = b;
+ a = a ? a : b;
+ a : {
+  if ((DY(na(a | 0, 4096) | 0) | 0) < 0) {
+   break a;
+  }
+  c = a;
+  if ((a | 0) != (b | 0)) {
+   break a;
+  }
+  c = mZ(b);
+ }
+ Ca = b + 4096 | 0;
+ return c;
+}
+function FH(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 2748 >> 2] = b;
+ q[a + 2740 >> 2] = q[b + 28 >> 2];
+ q[a + 4 >> 2] = q[b + 8 >> 2];
+ q[a + 12 >> 2] = q[b + 12 >> 2];
+ q[a + 8 >> 2] = q[b + 16 >> 2];
+ q[a + 16 >> 2] = q[b + 20 >> 2];
+ return 0;
+}
+function im(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = q[a >> 2];
+ b = q[c + 132 >> 2];
+ Pf(c, 0);
+ c = s[b + 80 >> 1];
+ q[a + 24 >> 2] = c << 6;
+ q[a + 28 >> 2] = c - s[b + 96 >> 1] << 6;
+ q[a + 36 >> 2] = s[b + 102 >> 1] << 6;
+ return 0;
+}
+function $e(a, b) {
+ var c = 0;
+ q[a + 16 >> 2] = 10;
+ q[a + 12 >> 2] = 11;
+ q[a + 8 >> 2] = 0;
+ q[a >> 2] = 80;
+ q[a + 4 >> 2] = 241;
+ b = n[q[b + 4 >> 2]](b, 964) | 0;
+ c = !b << 6;
+ if (b) {
+  Z$(b, 0, 964);
+ }
+ q[a + 20 >> 2] = b;
+ return c;
+}
+function gP(a) {
+ var b = 0, c = 0, d = 0, e = 0;
+ b = q[a + 8 >> 2];
+ c = q[a + 12 >> 2];
+ d = q[a >> 2];
+ e = q[a + 4 >> 2];
+ a = L$(16);
+ if (a) {
+  q[a + 8 >> 2] = b;
+  q[a + 12 >> 2] = c;
+  q[a >> 2] = d;
+  q[a + 4 >> 2] = e;
+ }
+ return a;
+}
+function er(a) {
+ a = fr(a + 164 | 0);
+ a = t[a + 16 >> 2] < 12 ? 271040 : q[a + 12 >> 2];
+ a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+ return (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) != 0;
+}
+function dA(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ b = 0;
+ a : {
+  if (!Qy(a, 1986098019, c)) {
+   break a;
+  }
+  if (!Qy(a, 1986294627, c + 4 | 0)) {
+   break a;
+  }
+  b = Qy(a, 1986815856, c + 8 | 0);
+ }
+ return b | 0;
+}
+function cn(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ d = q[a >> 2];
+ c = q[d + 140 >> 2];
+ Pf(d, b);
+ q[a + 24 >> 2] = q[c + 40 >> 2] << 6;
+ q[a + 28 >> 2] = 0 - (q[c + 44 >> 2] << 6);
+ q[a + 36 >> 2] = s[c + 4 >> 1] << 6;
+ return 0;
+}
+function cA(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ b = 0;
+ a : {
+  if (!Qy(a, 1751216995, c)) {
+   break a;
+  }
+  if (!Qy(a, 1751413603, c + 4 | 0)) {
+   break a;
+  }
+  b = Qy(a, 1751934832, c + 8 | 0);
+ }
+ return b | 0;
+}
+function T$(a) {
+ var b = 0, c = 0;
+ c = Fa();
+ a : {
+  b = q[161300];
+  a = b + (a + 3 & -4) | 0;
+  if (a >>> 0 <= c << 16 >>> 0) {
+   break a;
+  }
+  if (za(a | 0)) {
+   break a;
+  }
+  q[160854] = 48;
+  return -1;
+ }
+ q[161300] = a;
+ return b;
+}
+function RS(a, b) {
+ var c = 0, d = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ BZ(32, a);
+ d = q[b + 12 >> 2];
+ q[c + 8 >> 2] = q[b + 8 >> 2];
+ q[c + 12 >> 2] = d;
+ d = q[b + 4 >> 2];
+ q[c >> 2] = q[b >> 2];
+ q[c + 4 >> 2] = d;
+ SS(a, c);
+ Ca = c + 16 | 0;
+}
+function Pg(a) {
+ var b = 0, c = 0, d = 0;
+ c = a;
+ b = q[a + 32 >> 2];
+ if (b + 1 >>> 0 < t[a + 36 >> 2]) {
+  a = r[b | 0] | r[b + 1 | 0] << 8;
+  d = (a << 24 | a << 8 & 16711680) >>> 16 | 0;
+  b = b + 2 | 0;
+ }
+ q[c + 32 >> 2] = b;
+ return d;
+}
+function _e(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ a = q[a >> 2];
+ b = r[a | 0];
+ if (b) {
+  while (1) {
+   c = w(c, 31) + (b << 24 >> 24) | 0;
+   b = r[a + 1 | 0];
+   a = a + 1 | 0;
+   if (b) {
+    continue;
+   }
+   break;
+  }
+ }
+ return c | 0;
+}
+function Ye(a, b) {
+ var c = 0;
+ q[a + 16 >> 2] = 8;
+ q[a + 12 >> 2] = 9;
+ q[a + 8 >> 2] = 0;
+ q[a >> 2] = 80;
+ q[a + 4 >> 2] = 241;
+ b = n[q[b + 4 >> 2]](b, 964) | 0;
+ c = !b << 6;
+ if (b) {
+  Z$(b, 0, 964);
+ }
+ q[a + 20 >> 2] = b;
+ return c;
+}
+function Os(a) {
+ a = Ps(a + 128 | 0);
+ a = t[a + 16 >> 2] < 4 ? 271040 : q[a + 12 >> 2];
+ a = r[a | 0] | r[a + 1 | 0] << 8 | (r[a + 2 | 0] << 16 | r[a + 3 | 0] << 24);
+ return (a << 24 | a << 8 & 16711680 | (a >>> 8 & 65280 | a >>> 24)) != 0;
+}
+function IG(a, b) {
+ var c = 0;
+ if (q[a + 4 >> 2]) {
+  c = q[b + 4 >> 2];
+  q[a + 48 >> 2] = q[b >> 2];
+  q[a + 52 >> 2] = c;
+  q[a - -64 >> 2] = q[b + 16 >> 2];
+  c = q[b + 12 >> 2];
+  q[a + 56 >> 2] = q[b + 8 >> 2];
+  q[a + 60 >> 2] = c;
+ }
+}
+function wK(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ b = q[a >> 2];
+ c = q[b + 488 >> 2];
+ q[a + 24 >> 2] = q[b + 420 >> 2];
+ q[a + 28 >> 2] = q[b + 424 >> 2];
+ q[a + 20 >> 2] = q[c + 20 >> 2];
+ q[a + 16 >> 2] = q[c + 28 >> 2];
+ return 0;
+}
+function sK(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ b = q[a >> 2];
+ c = q[b + 488 >> 2];
+ q[a + 24 >> 2] = q[b + 420 >> 2];
+ q[a + 28 >> 2] = q[b + 424 >> 2];
+ q[a + 20 >> 2] = q[c + 20 >> 2];
+ q[a + 16 >> 2] = q[c + 24 >> 2];
+ return 0;
+}
+function SQ(a, b, c) {
+ var d = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ a : {
+  if (b & 64) {
+   q[d + 12 >> 2] = c + 4;
+   q[d >> 2] = q[c >> 2];
+   a = uY(a, b | 557056, d);
+   break a;
+  }
+  a = uY(a, b | 557056, 0);
+ }
+ Ca = d + 16 | 0;
+ return a;
+}
+function ES(a, b, c, d) {
+ var e = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ a = yS(a, WQ(b), c, e);
+ a : {
+  if (a) {
+   break a;
+  }
+  a = 2;
+  if (q[e >> 2] != 3) {
+   break a;
+  }
+  q[d >> 2] = q[e + 8 >> 2];
+  a = 0;
+ }
+ Ca = e + 16 | 0;
+ return a;
+}
+function mS(a, b, c) {
+ var d = 0, e = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ e = q[c + 12 >> 2];
+ q[d + 8 >> 2] = q[c + 8 >> 2];
+ q[d + 12 >> 2] = e;
+ e = q[c + 4 >> 2];
+ q[d >> 2] = q[c >> 2];
+ q[d + 4 >> 2] = e;
+ lS(a, b, d, 1);
+ Ca = d + 16 | 0;
+}
+function Oh(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0, f = 0, g = 0;
+ e = q[a + 540 >> 2];
+ q[d >> 2] = 0;
+ q[d + 4 >> 2] = 0;
+ if (e) {
+  f = d, g = n[q[e + 84 >> 2]](a, b, c) | 0, q[f >> 2] = g;
+ }
+ return 0;
+}
+function FS(a, b) {
+ var c = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ a = yS(a, WQ(504959), 0, c);
+ a : {
+  if (a) {
+   break a;
+  }
+  a = 2;
+  if (q[c >> 2] != 4) {
+   break a;
+  }
+  q[b >> 2] = q[c + 8 >> 2];
+  a = 0;
+ }
+ Ca = c + 16 | 0;
+ return a;
+}
+function FI(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ q[b >> 2] = 0;
+ d = Oe(a, 4, c + 12 | 0);
+ e = q[c + 12 >> 2];
+ if (!e) {
+  q[d >> 2] = a;
+  q[b >> 2] = d;
+ }
+ Ca = c + 16 | 0;
+ return e | 0;
+}
+function hN() {
+ var a = 0;
+ a = L$(36);
+ if (a) {
+  p[a + 20 >> 1] = 255;
+  q[a + 28 >> 2] = 0;
+  q[a + 32 >> 2] = 0;
+  q[a + 16 >> 2] = 128;
+  q[a + 8 >> 2] = -1;
+  q[a + 12 >> 2] = -1;
+  q[a + 4 >> 2] = a;
+  q[a >> 2] = a;
+ }
+ return a;
+}
+function RJ(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ a : {
+  if (!b) {
+   break a;
+  }
+  a = q[a + 12 >> 2];
+  if ((p[a + 22 >> 1] + b | 0) + p[a + 58 >> 1] >>> 0 <= t[a + 4 >> 2]) {
+   break a;
+  }
+  c = Ue(a, b, 0);
+ }
+ return c | 0;
+}
+function GS(a, b, c) {
+ var d = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ b = yS(a, WQ(b), 0, d);
+ a : {
+  if (b) {
+   break a;
+  }
+  b = 2;
+  if (q[d >> 2] != 6) {
+   break a;
+  }
+  q[c >> 2] = q[d + 8 >> 2];
+  b = 0;
+ }
+ Ca = d + 16 | 0;
+ return b;
+}
+function sT(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ c = tT(c);
+ if ((c | 0) == -1) {
+  return 0;
+ }
+ q[a + 72 >> 2] = b;
+ q[a + 48 >> 2] = 844;
+ q[a + 4 >> 2] = 845;
+ q[a >> 2] = 846;
+ o[a + 69 | 0] = c;
+ q[b >> 2] = a;
+ return 1;
+}
+function nP(a) {
+ var b = 0, c = 0;
+ a : {
+  if (!q[a + 20 >> 2]) {
+   break a;
+  }
+  b = q[a >> 2];
+  if (!b) {
+   break a;
+  }
+  c = q[a + 28 >> 2];
+  n[q[c + 8 >> 2]](c, b);
+  q[a >> 2] = 0;
+ }
+ q[a + 32 >> 2] = 0;
+ q[a + 36 >> 2] = 0;
+}
+function QZ(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ k$(Ba(q[a + 60 >> 2], b | 0, c | 0, d & 255, e + 8 | 0) | 0);
+ Ca = e + 16 | 0;
+ Ea = q[e + 12 >> 2];
+ return q[e + 8 >> 2];
+}
+function DS(a, b, c, d) {
+ var e = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ a = yS(a, b, c, e);
+ a : {
+  if (a) {
+   break a;
+  }
+  a = 2;
+  if (q[e >> 2] != 3) {
+   break a;
+  }
+  q[d >> 2] = q[e + 8 >> 2];
+  a = 0;
+ }
+ Ca = e + 16 | 0;
+ return a;
+}
+function CT(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ c = tT(c);
+ if ((c | 0) == -1) {
+  return 0;
+ }
+ q[a + 72 >> 2] = b;
+ q[a + 48 >> 2] = 844;
+ q[a + 4 >> 2] = 848;
+ q[a >> 2] = 849;
+ o[a + 69 | 0] = c;
+ q[b >> 2] = a;
+ return 1;
+}
+function TQ() {
+ var a = 0, b = 0;
+ a : {
+  if (!r[643280]) {
+   a = V(0) | 0;
+   b = uZ();
+   q[160536] = 63;
+   q[160537] = 643028;
+   tZ(a);
+   uZ();
+   o[643280] = 1;
+   break a;
+  }
+  b = vZ(643024);
+ }
+ a = xZ();
+ vZ(b);
+ return a;
+}
+function xN(a) {
+ var b = 0, c = 0;
+ while (1) {
+  b = (c << 2) + a | 0;
+  if (q[b >> 2]) {
+   M$(q[b + 80 >> 2]);
+   eD(q[b >> 2]);
+   wC(q[b + 40 >> 2]);
+  }
+  c = c + 1 | 0;
+  if ((c | 0) != 10) {
+   continue;
+  }
+  break;
+ }
+ M$(a);
+}
+function vL(a) {
+ var b = 0;
+ b = Ca - 16 | 0;
+ Ca = b;
+ if (!(!a | q[a + 72 >> 2] != 1869968492)) {
+  q[b >> 2] = 65536;
+  q[b + 4 >> 2] = 13930;
+  q[b + 8 >> 2] = 0;
+  q[b + 12 >> 2] = 65536;
+  vf(a + 108 | 0, b);
+ }
+ Ca = b + 16 | 0;
+}
+function qM(a) {
+ var b = 0;
+ a : {
+  if (a) {
+   if (!q[a + -8 >> 2]) {
+    break a;
+   }
+   a = a + -4 | 0;
+   b = q[a >> 2];
+   if (!b) {
+    break a;
+   }
+   q[a >> 2] = b + 1;
+  }
+  return;
+ }
+ J(355157, 355131, 444, 355187);
+ F();
+}
+function hP(a, b, c) {
+ var d = 0;
+ if (!a) {
+  return 0;
+ }
+ if (b) {
+  d = q[a + 4 >> 2];
+  q[b >> 2] = q[a >> 2];
+  q[b + 4 >> 2] = d;
+ }
+ if (c) {
+  b = q[a + 12 >> 2];
+  q[c >> 2] = q[a + 8 >> 2];
+  q[c + 4 >> 2] = b;
+ }
+ return 1;
+}
+function JW(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ e = 1;
+ b = oW(a, 1, q[a + 144 >> 2], b, c, d, !r[a + 480 | 0]);
+ a : {
+  if (!b) {
+   if (!CW(a)) {
+    break a;
+   }
+  }
+  e = b;
+ }
+ return e | 0;
+}
+function X$(a, b, c, d) {
+ var e = 0, f = 0;
+ f = d & 65535;
+ d = d >>> 16 & 32767;
+ a : {
+  if ((d | 0) != 32767) {
+   e = 4;
+   if (d) {
+    break a;
+   }
+   return a | c | (b | f) ? 3 : 2;
+  }
+  e = !(a | c | (b | f));
+ }
+ return e;
+}
+function oI(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = q[a + 4 >> 2];
+ a : {
+  if (c) {
+   break a;
+  }
+  d = q[a >> 2];
+  c = CI(a + 16 | 0, b, d);
+  if (c) {
+   break a;
+  }
+  c = CI(a + 52 | 0, b, d);
+ }
+ return c | 0;
+}
+function n_(a) {
+ var b = 0, c = 0;
+ b = Ca - 16 | 0;
+ Ca = b;
+ c = -1;
+ a : {
+  if (RZ(a)) {
+   break a;
+  }
+  if ((n[q[a + 32 >> 2]](a, b + 15 | 0, 1) | 0) != 1) {
+   break a;
+  }
+  c = r[b + 15 | 0];
+ }
+ Ca = b + 16 | 0;
+ return c;
+}
+function IE(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = s[a + 16 >> 1];
+ a = 1 << (a & 31) & 7168 ? a >>> 8 | 0 : 0;
+ b = s[b + 16 >> 1];
+ b = 1 << (b & 31) & 7168 ? b >>> 8 | 0 : 0;
+ return (a >>> 0 < b >>> 0 ? -1 : (a | 0) != (b | 0)) | 0;
+}
+function Hf(a, b, c, d, e) {
+ var f = 0;
+ f = Ca - 32 | 0;
+ Ca = f;
+ if (b) {
+  q[f + 16 >> 2] = 0;
+  q[f + 8 >> 2] = c;
+  q[f + 4 >> 2] = b;
+  q[f >> 2] = 1;
+  a = zf(a, f, d, e, 1);
+ } else {
+  a = 6;
+ }
+ Ca = f + 32 | 0;
+ return a;
+}
+function HS(a, b) {
+ var c = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ a = yS(a, 10, 0, c);
+ a : {
+  if (a) {
+   break a;
+  }
+  a = 2;
+  if (q[c >> 2] != 9) {
+   break a;
+  }
+  q[b >> 2] = q[c + 8 >> 2];
+  a = 0;
+ }
+ Ca = c + 16 | 0;
+ return a;
+}
+function zL(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = q[a + 20 >> 2] << 6;
+ q[b >> 2] = c;
+ q[b + 8 >> 2] = c + (q[a + 32 >> 2] << 6);
+ c = q[a + 24 >> 2] << 6;
+ q[b + 12 >> 2] = c;
+ q[b + 4 >> 2] = c - (q[a + 28 >> 2] << 6);
+}
+function iF(a, b) {
+ var c = 0;
+ a : {
+  b : {
+   if (!b) {
+    break b;
+   }
+   c = q[a + 12 >> 2];
+   if (!c) {
+    break b;
+   }
+   a = n[c](a, b, q[a + 16 >> 2]) | 0;
+   if (a) {
+    break a;
+   }
+  }
+  a = 271040;
+ }
+ return a;
+}
+function b_(a, b, c, d) {
+ if (a | b) {
+  while (1) {
+   c = c + -1 | 0;
+   o[c | 0] = r[(a & 15) + 507616 | 0] | d;
+   a = (b & 15) << 28 | a >>> 4;
+   b = b >>> 4 | 0;
+   if (a | b) {
+    continue;
+   }
+   break;
+  }
+ }
+ return c;
+}
+function qq(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return (b >>> 0 <= 65379 ? p[(r[(r[(b >>> 9 | 0) + 179562 | 0] >>> (b >>> 6 & 4) << 6 & 960 | b >>> 2 & 63) + 179690 | 0] << 3 | (b & 3) << 1) + 217968 >> 1] : 0) + b | 0;
+}
+function Hd(a) {
+ var b = 0;
+ b = N$(1, 96);
+ if (b) {
+  q[b + 60 >> 2] = 1;
+  q[b + 84 >> 2] = a;
+  a = N$(1, 32);
+  q[b + 88 >> 2] = a;
+  if (!a) {
+   M$(b);
+   return 0;
+  }
+  q[a + 28 >> 2] = 1;
+ } else {
+  b = 0;
+ }
+ return b;
+}
+function ng(a, b, c, d) {
+ var e = 0, f = 0;
+ if (a) {
+  e = q[a + 12 >> 2];
+  f = q[a + 8 >> 2];
+  a = q[a + 4 >> 2];
+ } else {
+  a = 0;
+ }
+ if (b) {
+  q[b >> 2] = a;
+ }
+ if (c) {
+  q[c >> 2] = f;
+ }
+ if (d) {
+  q[d >> 2] = e;
+ }
+}
+function fR(a) {
+ var b = 0, c = 0;
+ a : {
+  while (1) {
+   c = w(b, 12) + 486448 | 0;
+   if (!$P(a, q[c >> 2])) {
+    break a;
+   }
+   b = b + 1 | 0;
+   if ((b | 0) != 57) {
+    continue;
+   }
+   break;
+  }
+  c = 0;
+ }
+ return c;
+}
+function uR(a, b) {
+ var c = 0, d = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ q[c + 12 >> 2] = 0;
+ b = tX(b);
+ if (b) {
+  if (!wR(b, a, c + 12 | 0)) {
+   q[c + 12 >> 2] = 0;
+  }
+  pX(b);
+  d = q[c + 12 >> 2];
+ }
+ Ca = c + 16 | 0;
+ return d;
+}
+function PW(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = a + 4 | 0;
+ d = c;
+ while (1) {
+  e = d;
+  d = c;
+  c = q[c >> 2];
+  if (c) {
+   continue;
+  }
+  break;
+ }
+ q[b >> 2] = a;
+ q[b + 4 >> 2] = q[d >> 2];
+ q[b + 8 >> 2] = q[e >> 2];
+}
+function HH(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = q[b + 92 >> 2];
+ q[a + 40 >> 2] = s[b + 68 >> 1];
+ a : {
+  if (Vf(b, 1970170211)) {
+   q[b + 92 >> 2] = 0;
+   break a;
+  }
+  pH(a, b);
+  rH(a);
+ }
+ Wf(b, c);
+ return 0;
+}
+function jb(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0;
+ d = q[a + 8 >> 2];
+ if (d) {
+  td(d);
+  q[a + 8 >> 2] = 0;
+ }
+ d = a;
+ a = Dd(q[a >> 2], b, c);
+ q[d + 8 >> 2] = a;
+ if (!a) {
+  f0(1125);
+  I(4);
+  F();
+ }
+}
+function jH(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ a = Uf(q[b + 4 >> 2], c, d, !q[a + 48 >> 2], e + 8 | 0);
+ Ca = e + 16 | 0;
+ return (a ? 0 : q[e + 8 >> 2]) | 0;
+}
+function bH() {
+ var a = 0;
+ a = vC();
+ xC(a, 584);
+ BC(a, 585);
+ DC(a, 586);
+ EC(a, 587);
+ KC(a, 588);
+ IC(a, 589, 0);
+ OC(a, 590, 0);
+ QC(a, 591, 0);
+ UC(a, 592, 0);
+ WC(a, 593, 0);
+ YC(a, 594);
+ _C(a, 595);
+ Gq(a);
+ return a;
+}
+function XM(a, b, c) {
+ q[a + 752 >> 2] = b ? b : 1e4;
+ a : {
+  if (!c) {
+   b = 67108864;
+   c = 134217728;
+   break a;
+  }
+  c = c << 20;
+  b = (c >>> 0) / 3 | 0;
+  c = c - b | 0;
+ }
+ q[a + 760 >> 2] = b;
+ q[a + 756 >> 2] = c;
+}
+function fU(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ a = r[b + 1 | 0];
+ c = 1 << (a & 31);
+ d = a >>> 5 & 1;
+ a = r[b | 0];
+ return c & q[((d | (r[(a >>> 2 & 7) + 492208 | 0] << 3 | a << 1 & 6)) << 2) + 490192 >> 2];
+}
+function dU(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ a = r[b + 1 | 0];
+ c = 1 << (a & 31);
+ d = a >>> 5 & 1;
+ a = r[b | 0];
+ return c & q[((d | (r[(a >>> 2 & 7) + 492464 | 0] << 3 | a << 1 & 6)) << 2) + 490192 >> 2];
+}
+function LZ(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0, e = 0;
+ e = q[a + 20 >> 2];
+ d = q[a + 16 >> 2] - e | 0;
+ d = d >>> 0 > c >>> 0 ? c : d;
+ Y$(e, b, d);
+ q[a + 20 >> 2] = d + q[a + 20 >> 2];
+ return c | 0;
+}
+function C0(a, b, c, d, e, f, g, h, i, j, k) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ i = i | 0;
+ j = j | 0;
+ k = k | 0;
+ return n[a](b, c, d, e, f, g, h, i, j, k) | 0;
+}
+function xf(a, b) {
+ var c = 0, d = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  c = q[a + 92 >> 2];
+  if (!c) {
+   break a;
+  }
+  b = n[q[q[c + 12 >> 2] + 12 >> 2]](c, b) | 0;
+  d = b >>> 0 < t[a + 16 >> 2] ? b : 0;
+ }
+ return d;
+}
+function nW(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ b = oW(a, 0, q[a + 144 >> 2], b, c, d, !r[a + 480 | 0]);
+ a : {
+  if (b) {
+   break a;
+  }
+  if (CW(a)) {
+   break a;
+  }
+  b = 1;
+ }
+ return b | 0;
+}
+function GE(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ a = q[a + 12 >> 2];
+ q[d >> 2] = 0;
+ if (!(!b | !c)) {
+  e = (n[q[a + 36 >> 2]](a, b, c, d, q[a + 68 >> 2]) | 0) != 0;
+ }
+ return e | 0;
+}
+function CO(a) {
+ var b = 0;
+ b = 4;
+ if ((a | 0) < 4) {
+  return a;
+ }
+ a : {
+  if ((a | 0) < 8) {
+   break a;
+  }
+  b = 5;
+  if ((a | 0) < 124) {
+   break a;
+  }
+  a = 128 - a | 0;
+  b = (a | 0) > 0 ? a : 0;
+ }
+ return b;
+}
+function nG(a, b) {
+ var c = 0;
+ if (!(q[a >> 2] != q[b >> 2] | q[a + 4 >> 2] != q[b + 4 >> 2] | (q[a + 8 >> 2] != q[b + 8 >> 2] | q[a + 12 >> 2] != q[b + 12 >> 2]))) {
+  c = q[a + 16 >> 2] == q[b + 16 >> 2];
+ }
+ return c;
+}
+function LR(a, b) {
+ var c = 0;
+ a : {
+  if (!a | q[a >> 2] == -1) {
+   break a;
+  }
+  a = JR(a, b);
+  if (!a) {
+   break a;
+  }
+  c = 1;
+  a = a + (b >>> 3 & 28) | 0;
+  q[a >> 2] = q[a >> 2] | 1 << (b & 31);
+ }
+ return c;
+}
+function $g(a, b) {
+ var c = 0, d = 0;
+ if (!(!a | !b)) {
+  a = q[a >> 2];
+  while (1) {
+   if (!a) {
+    return;
+   }
+   c = q[a + 4 >> 2];
+   d = n[b](a, 0) | 0;
+   a = c;
+   if (!d) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function kP(a, b) {
+ var c = 0;
+ a = cP(a, b);
+ if (!a) {
+  return 0;
+ }
+ c = q[b + 4 >> 2];
+ q[a >> 2] = q[b >> 2];
+ q[a + 4 >> 2] = c;
+ c = q[b + 12 >> 2];
+ q[a + 8 >> 2] = q[b + 8 >> 2];
+ q[a + 12 >> 2] = c;
+ return a;
+}
+function VT(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ a = a + 72 | 0;
+ while (1) {
+  c = r[r[b | 0] + a | 0];
+  if (!(c >>> 0 > 21 | !(1 << c & 2098688))) {
+   b = b + 1 | 0;
+   continue;
+  }
+  break;
+ }
+ return b | 0;
+}
+function TI(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0;
+ d = c;
+ q[d >> 2] = 0;
+ q[d + 4 >> 2] = 0;
+ q[d + 8 >> 2] = 0;
+ q[d + 12 >> 2] = 0;
+ if (q[b + 72 >> 2] == q[a + 16 >> 2]) {
+  qf(b + 108 | 0, c);
+ }
+}
+function XF(a) {
+ var b = 0;
+ b = a;
+ a = YF(a + 52 | 0);
+ a = t[a + 16 >> 2] < 54 ? 271040 : q[a + 12 >> 2];
+ a = r[a + 18 | 0] << 8 | r[a + 19 | 0];
+ a = a + -16 >>> 0 < 16369 ? a : 1e3;
+ q[b + 28 >> 2] = a;
+ return a;
+}
+function Vd(a) {
+ var b = 0;
+ while (1) {
+  b = r[a | 0];
+  if (!((b | 0) != 9 ? (b | 0) != 32 : 0)) {
+   a = a + 1 | 0;
+   continue;
+  }
+  break;
+ }
+ if (!ce(a, 3161, 3)) {
+  return 1;
+ }
+ return (L_(a, 0, 10) | 0) > 0;
+}
+function Om(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = q[a >> 2];
+ Pf(c, b);
+ q[a + 24 >> 2] = q[c + 204 >> 2] << 6;
+ q[a + 28 >> 2] = 0 - (q[c + 208 >> 2] << 6);
+ q[a + 36 >> 2] = p[c + 236 >> 1] << 6;
+ return 0;
+}
+function HF(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0;
+ d = 1;
+ a : {
+  if (LF(a, b, c)) {
+   break a;
+  }
+  d = 0;
+  if (b >>> 0 > 255) {
+   break a;
+  }
+  d = LF(a, b + 61440 | 0, c);
+ }
+ return d | 0;
+}
+function sn(a, b) {
+ if (!a) {
+  return;
+ }
+ if (!b) {
+  return;
+ }
+ Qe(q[a >> 2], q[b + 12 >> 2]);
+ q[b + 16 >> 2] = 0;
+ q[b + 20 >> 2] = 0;
+ q[b + 8 >> 2] = 0;
+ q[b + 12 >> 2] = 0;
+ q[b >> 2] = 0;
+ q[b + 4 >> 2] = 0;
+}
+function rq(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return q[((b >>> 0 <= 917999 ? r[(b & 15 | s[(b >>> 3 & 62 | r[(b >>> 9 | 0) + 180650 | 0] << 6) + 201648 >> 1] << 4) + 182444 | 0] : 2) << 2) + 218368 >> 2];
+}
+function Sl(a) {
+ a = a | 0;
+ var b = 0, c = 0, d = 0;
+ b = Ca - 16 | 0;
+ Ca = b;
+ c = Cf(q[q[a >> 2] + 504 >> 2], b + 12 | 0);
+ d = a;
+ a = q[b + 12 >> 2];
+ q[d + 44 >> 2] = a;
+ eg(a);
+ Ca = b + 16 | 0;
+ return c | 0;
+}
+function ol(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ if (b) {
+  q[b >> 2] = q[a + 152 >> 2];
+ }
+ if (c) {
+  q[c >> 2] = q[a + 156 >> 2];
+ }
+ if (d) {
+  q[d >> 2] = q[a + 160 >> 2];
+ }
+ return 0;
+}
+function K$(a) {
+ var b = 0, c = 0;
+ a = a ? a : 1;
+ while (1) {
+  a : {
+   b = L$(a);
+   if (b) {
+    break a;
+   }
+   c = q[161175];
+   if (!c) {
+    break a;
+   }
+   n[c]();
+   continue;
+  }
+  break;
+ }
+ return b;
+}
+function EN(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ q[d + 28 >> 2] = c;
+ c = 0;
+ a = pM(q[d >> 2], d + 8 | 0, 0);
+ if (a) {
+  c = q[a >> 2] >= 0 ? q[a + 28 >> 2] : c;
+  bM(a);
+ }
+ return c | 0;
+}
+function DN(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ q[d + 28 >> 2] = c;
+ c = 0;
+ a = pM(q[d >> 2], d + 8 | 0, 0);
+ if (a) {
+  c = q[a >> 2] >= 0 ? q[a + 16 >> 2] : c;
+  bM(a);
+ }
+ return c | 0;
+}
+function mM(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ if (!(q[a >> 2] != q[b >> 2] | v[a + 8 >> 3] != v[b + 8 >> 3] | q[a + 16 >> 2] != q[b + 16 >> 2])) {
+  c = q[a + 20 >> 2] == q[b + 20 >> 2];
+ }
+ return c | 0;
+}
+function Xd(a) {
+ var b = 0;
+ b = a >> 31;
+ b = (a | 0) == -2147483648 ? 2 : b + a ^ b;
+ a = ((b + -1 | 0) % 3 | 0) + 1 | 0;
+ if ((b | 0) >= 4) {
+  if ((b | 0) <= 6) {
+   return a | 8;
+  }
+  a = a | 4;
+ }
+ return a;
+}
+function XL(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ if (!(iZ(q[a >> 2], q[b >> 2]) | q[a + 4 >> 2] != q[b + 4 >> 2] | q[a + 8 >> 2] != q[b + 8 >> 2])) {
+  c = q[a + 12 >> 2] == q[b + 12 >> 2];
+ }
+ return c | 0;
+}
+function yT(a, b, c, d, e, f, g, h, i, j) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ i = i | 0;
+ j = j | 0;
+ return AT(847, a, b, c, d, e, f, g, h, i, j) | 0;
+}
+function gq(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ var e = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ a = Bp(a, b, e + 12 | 0);
+ if (!a) {
+  _g(c, q[e + 12 >> 2], d);
+ }
+ Ca = e + 16 | 0;
+ return a | 0;
+}
+function FT(a, b, c, d, e, f, g, h, i, j) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ i = i | 0;
+ j = j | 0;
+ return AT(850, a, b, c, d, e, f, g, h, i, j) | 0;
+}
+function ib(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = q[a + 8 >> 2];
+ if (c) {
+  td(c);
+  q[a + 8 >> 2] = 0;
+ }
+ c = a;
+ a = Fd(q[a >> 2], b, 0);
+ q[c + 8 >> 2] = a;
+ if (!a) {
+  f0(1125);
+  I(4);
+  F();
+ }
+}
+function f_(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0, e = 0;
+ c = b;
+ b = q[b >> 2] + 15 & -16;
+ q[c >> 2] = b + 16;
+ d = a, e = z$(q[b >> 2], q[b + 4 >> 2], q[b + 8 >> 2], q[b + 12 >> 2]), v[d >> 3] = e;
+}
+function YQ(a) {
+ var b = 0;
+ b = q[160821];
+ if (b) {
+  while (1) {
+   if (q[b + 12 >> 2] == (a | 0)) {
+    return q[b + 4 >> 2];
+   }
+   b = q[b >> 2];
+   if (b) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function C_(a, b) {
+ var c = 0;
+ c = Ca - 144 | 0;
+ Ca = c;
+ c = Z$(c, 0, 144);
+ q[c + 76 >> 2] = -1;
+ q[c + 44 >> 2] = a;
+ q[c + 32 >> 2] = 1010;
+ q[c + 84 >> 2] = a;
+ a = y_(c, b);
+ Ca = c + 144 | 0;
+ return a;
+}
+function zQ(a) {
+ var b = 0, c = 0;
+ c = q[a + 4 >> 2];
+ b = q[a >> 2];
+ if ((c | 0) < q[b + 4 >> 2]) {
+  b = q[b + 12 >> 2];
+  q[a + 4 >> 2] = c + 1;
+  a = q[(c << 2) + b >> 2];
+ } else {
+  a = 0;
+ }
+ return a;
+}
+function yf(a, b, c, d) {
+ var e = 0;
+ e = Ca - 32 | 0;
+ Ca = e;
+ if (b) {
+  q[e + 16 >> 2] = 0;
+  q[e + 12 >> 2] = b;
+  q[e >> 2] = 4;
+  a = zf(a, e, c, d, 1);
+ } else {
+  a = 6;
+ }
+ Ca = e + 32 | 0;
+ return a;
+}
+function mA(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ if (BA(zA(b + 24 | 0), c, d, e)) {
+  a = 1;
+ } else {
+  a = CA(vA(b + 52 | 0), c, d, e);
+ }
+ return a | 0;
+}
+function gN() {
+ var a = 0;
+ a = L$(36);
+ if (a) {
+  p[a + 20 >> 1] = 0;
+  q[a + 28 >> 2] = 0;
+  q[a + 32 >> 2] = 0;
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+ }
+ return a;
+}
+function ci(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ if ((b | 0) >= 0) {
+  a = b + c & -64 | 32;
+  return ((a | 0) < 0 ? 32 : a) | 0;
+ }
+ a = c - b & -64 | 32;
+ return ((a | 0) < 0 ? -32 : 0 - a | 0) | 0;
+}
+function So(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ q[a + 28 >> 2] = 0;
+ b = q[a + 36 >> 2];
+ a : {
+  if (!b) {
+   break a;
+  }
+  c = q[a + 32 >> 2];
+  if (!c) {
+   break a;
+  }
+  Qe(b, c);
+  q[a + 32 >> 2] = 0;
+ }
+}
+function a_(a, b, c) {
+ if (a | b) {
+  while (1) {
+   c = c + -1 | 0;
+   o[c | 0] = a & 7 | 48;
+   a = (b & 7) << 29 | a >>> 3;
+   b = b >>> 3 | 0;
+   if (a | b) {
+    continue;
+   }
+   break;
+  }
+ }
+ return c;
+}
+function Oe(a, b, c) {
+ if ((b | 0) <= 0) {
+  q[c >> 2] = b ? 6 : 0;
+  return 0;
+ }
+ a = n[q[a + 4 >> 2]](a, b) | 0;
+ if (!a) {
+  q[c >> 2] = !a << 6;
+  return 0;
+ }
+ a = Z$(a, 0, b);
+ q[c >> 2] = 0;
+ return a;
+}
+function zK(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = q[a + 16 >> 2];
+ if (!(c >>> 0 > b >>> 0 | q[a + 20 >> 2] + c >>> 0 <= b >>> 0)) {
+  d = s[q[a + 24 >> 2] + (b << 1) >> 1];
+ }
+ return d | 0;
+}
+function ki(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ if ((b | 0) >= 0) {
+  a = (b + c | 0) + 16 & -32;
+  return ((a | 0) > 0 ? a : 0) | 0;
+ }
+ a = 0 - ((c - b | 0) + 16 & -32) | 0;
+ return a >> 31 & a;
+}
+function fi(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ if ((b | 0) >= 0) {
+  a = (b + c | 0) + 63 & -64;
+  return ((a | 0) > 0 ? a : 0) | 0;
+ }
+ a = 0 - ((c - b | 0) + 63 & -64) | 0;
+ return a >> 31 & a;
+}
+function bi(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ if ((b | 0) >= 0) {
+  a = (b + c | 0) + 32 & -64;
+  return ((a | 0) > 0 ? a : 0) | 0;
+ }
+ a = 0 - ((c - b | 0) + 32 & -64) | 0;
+ return a >> 31 & a;
+}
+function ZQ(a) {
+ var b = 0;
+ b = q[160821];
+ if (b) {
+  while (1) {
+   if (q[b + 12 >> 2] == (a | 0)) {
+    return b + 4 | 0;
+   }
+   b = q[b >> 2];
+   if (b) {
+    continue;
+   }
+   break;
+  }
+ }
+ return 0;
+}
+function Ky(a) {
+ a = a | 0;
+ var b = 0;
+ b = a + 24 | 0;
+ vy(b, 1668049255, 1, 1);
+ a = q[160650];
+ if (!a) {
+  vq();
+  a = q[160650];
+ }
+ if (a & 4) {
+  vy(b, 1801810542, 1, 0);
+ }
+ vy(b, 1818847073, 1, 0);
+}
+function B0(a, b, c, d, e, f, g, h, i, j) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ i = i | 0;
+ j = j | 0;
+ return n[a](b, c, d, e, f, g, h, i, j) | 0;
+}
+function ko(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ q[a + 16 >> 2] = b;
+ c = r[b + 7 | 0];
+ b = r[b + 6 | 0];
+ q[a + 24 >> 2] = -1;
+ q[a + 28 >> 2] = 0;
+ q[a + 32 >> 2] = (b << 8 | c) >>> 1;
+ return 0;
+}
+function QL(a) {
+ var b = 0;
+ b = cg(a, 2);
+ a : {
+  if (!(!b | s[b >> 1] == 65535)) {
+   b = s[b + 4 >> 1];
+   if (b) {
+    break a;
+   }
+  }
+  b = w(q[a + 12 >> 2] >>> 1 & 1, 300) + 400 | 0;
+ }
+ return b;
+}
+function $k(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ b = q[a + 32 >> 2];
+ if (b) {
+  c = q[q[a + 16 >> 2] >> 2];
+  if (r[c | 0] == 30) {
+   Vk(a, c, 0, 0);
+  }
+  q[b + 184 >> 2] = 513;
+  return 0;
+ }
+ return 3;
+}
+function xq(a) {
+ var b = 0, c = 0;
+ b = Ca + -64 | 0;
+ Ca = b;
+ a : {
+  if (!a | !r[a | 0]) {
+   break a;
+  }
+  a = yq(a);
+  if (!a) {
+   break a;
+  }
+  c = q[a + 4 >> 2];
+ }
+ Ca = b - -64 | 0;
+ return c;
+}
+function mG(a) {
+ return a >>> 0 <= 131068 ? r[((a & 56 | r[(r[(a >>> 11 | 0) + 271776 | 0] >>> (a >>> 8 & 4) << 4 & 240 | a >>> 6 & 15) + 271840 | 0] << 6) >>> 3 | 0) + 271968 | 0] >>> (a & 7) & 1 : 0;
+}
+function l$(a) {
+ var b = 0, c = 0;
+ b = Ca - 32 | 0;
+ Ca = b;
+ a = ya(a | 0, b + 8 | 0) | 0;
+ c = 1;
+ a : {
+  if (!a) {
+   break a;
+  }
+  q[160854] = a;
+  c = 0;
+ }
+ a = c;
+ Ca = b + 32 | 0;
+ return a;
+}
+function Ng(a) {
+ var b = 0, c = 0;
+ if (q[a + 20 >> 2]) {
+  b = q[a >> 2];
+  if (b) {
+   c = q[a + 28 >> 2];
+   n[q[c + 8 >> 2]](c, b);
+  }
+  q[a >> 2] = 0;
+ }
+ q[a + 32 >> 2] = 0;
+ q[a + 36 >> 2] = 0;
+}
+function HN(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a = Ca - 16 | 0;
+ Ca = a;
+ b = Uf(b, c, d, 0, a + 8 | 0);
+ Ca = a + 16 | 0;
+ return (b ? 0 : q[a + 8 >> 2]) | 0;
+}
+function nf(a, b) {
+ var c = 0, d = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  c = q[a + 28 >> 2];
+  d = q[a + 24 >> 2];
+  if (d) {
+   n[d](a);
+  }
+  if (b) {
+   break a;
+  }
+  n[q[c + 8 >> 2]](c, a);
+ }
+}
+function xK(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ b = q[a >> 2];
+ c = q[b + 376 >> 2];
+ q[a + 16 >> 2] = c;
+ q[a + 20 >> 2] = q[b + 380 >> 2] - c;
+ q[a + 24 >> 2] = q[b + 384 >> 2];
+ return 0;
+}
+function qI(a) {
+ a = a | 0;
+ if (a) {
+  q[a + 412 >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  q[a + 1960 >> 2] = 0;
+  q[a + 1444 >> 2] = 0;
+  q[a + 928 >> 2] = 0;
+  q[a + 208 >> 2] = 0;
+  Qe(q[a >> 2], a);
+ }
+}
+function pq(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return (b >>> 0 <= 1114109 ? r[(b & 15 | s[(b >>> 3 & 62 | r[(b >>> 9 | 0) + 163520 | 0] << 6) + 195632 >> 1] << 4) + 165696 | 0] : 2) | 0;
+}
+function _W(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ if (iZ(b, 498842)) {
+  q[c >> 2] = b;
+  VW(a, 2, 498853, c);
+ }
+ Ca = c + 16 | 0;
+}
+function ON(a) {
+ if (a) {
+  M$(q[a + 16 >> 2]);
+  M$(q[a + 20 >> 2]);
+  q[a + 16 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+ }
+}
+function oq(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return (b >>> 0 <= 125258 ? r[(b & 15 | r[(b >>> 4 & 15 | r[(b >>> 8 | 0) + 176064 | 0] << 4) + 176554 | 0] << 4) + 177546 | 0] : 0) | 0;
+}
+function BK(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ b = q[a >> 2];
+ c = q[q[b + 488 >> 2] + 4 >> 2];
+ if (!c) {
+  return 7;
+ }
+ return n[c](q[b + 100 >> 2], a, q[b + 420 >> 2], 683, 0, b) | 0;
+}
+function wi(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0;
+ c = xi(a, b, c, 1);
+ if (!c) {
+  d = a;
+  a = q[a + 8 >> 2];
+  q[d + 8 >> 2] = b ? a | 32768 : a & -32769;
+ }
+ return c | 0;
+}
+function vI(a) {
+ a = a | 0;
+ q[a + 12 >> 2] = 2;
+ q[a + 16 >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 76 >> 2] = 0;
+ q[a - -64 >> 2] = 0;
+ q[a + 52 >> 2] = 0;
+ q[a + 40 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+}
+function pI(a) {
+ a = a | 0;
+ q[a + 12 >> 2] = 1;
+ q[a + 16 >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 76 >> 2] = 0;
+ q[a - -64 >> 2] = 0;
+ q[a + 52 >> 2] = 0;
+ q[a + 40 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+}
+function hU(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = 1;
+ a : {
+  if (r[b | 0] < 194) {
+   break a;
+  }
+  b = r[b + 1 | 0];
+  if (!(b & 128)) {
+   break a;
+  }
+  a = (b & 192) == 192;
+ }
+ return a | 0;
+}
+function Wz() {
+ var a = 0;
+ a = vC();
+ xC(a, 471);
+ zC(a);
+ BC(a, 473);
+ DC(a, 474);
+ EC(a, 475);
+ KC(a, 476);
+ LC(a);
+ OC(a, 478, 0);
+ UC(a, 479, 0);
+ YC(a, 480);
+ _C(a, 481);
+ Gq(a);
+ return a;
+}
+function Qg(a) {
+ var b = 0, c = 0, d = 0;
+ c = a;
+ b = q[a + 32 >> 2];
+ if (b + 1 >>> 0 < t[a + 36 >> 2]) {
+  d = r[b | 0] | r[b + 1 | 0] << 8;
+  b = b + 2 | 0;
+ }
+ q[c + 32 >> 2] = b;
+ return d;
+}
+function FQ(a) {
+ var b = 0, c = 0;
+ b = $Y(a, 47);
+ if (!b) {
+  return mZ(481858);
+ }
+ b = b - a | 0;
+ c = L$(b + 1 | 0);
+ if (!c) {
+  return 0;
+ }
+ a = lZ(c, a, b);
+ o[a + b | 0] = 0;
+ return a;
+}
+function FE(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ a = q[a + 12 >> 2];
+ q[c >> 2] = b;
+ q[d >> 2] = 0;
+ return (n[q[a + 40 >> 2]](a, b, c, d, q[a + 72 >> 2]) | 0) != 0 | 0;
+}
+function $o(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ b = q[a >> 2];
+ c = q[q[b + 544 >> 2] + 4 >> 2];
+ if (!c) {
+  return 7;
+ }
+ return n[c](q[b + 100 >> 2], a, q[b + 16 >> 2], 310, 0, b) | 0;
+}
+function bX(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0;
+ a : {
+  d = q[a >> 2];
+  if (!d) {
+   break a;
+  }
+  if (rQ(d + 12 | 0, b, c)) {
+   break a;
+  }
+  VW(a, 2, 498895, 0);
+ }
+}
+function _Y(a, b, c) {
+ var d = 0;
+ b = b & 255;
+ while (1) {
+  if (!c) {
+   return 0;
+  }
+  c = c + -1 | 0;
+  d = c + a | 0;
+  if ((b | 0) != r[d | 0]) {
+   continue;
+  }
+  break;
+ }
+ return d;
+}
+function $S(a) {
+ var b = 0, c = 0, d = 0;
+ b = Ca - 16 | 0;
+ Ca = b;
+ c = b, d = eR(q[a >> 2]), q[c >> 2] = d;
+ d0(489509, b);
+ YS(q[a + 4 >> 2]);
+ OZ(32);
+ ZS(q[a + 8 >> 2]);
+ Ca = b + 16 | 0;
+}
+function JS(a) {
+ var b = 0;
+ if (q[a + 12 >> 2] != -1) {
+  q[a + 12 >> 2] = q[a + 12 >> 2] + 1;
+  return;
+ }
+ b = q[a + 8 >> 2] + a | 0;
+ a = q[b + 4 >> 2];
+ pR(a & 1 ? (a & -2) + b | 0 : a);
+}
+function y0(a, b, c, d, e, f, g, h, i) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ i = i | 0;
+ return n[a](b, c, d, e, f, g, h, i) | 0;
+}
+function Ze(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a : {
+  a = q[a >> 2];
+  b = q[b >> 2];
+  if (r[a | 0] != r[b | 0]) {
+   break a;
+  }
+  if (iZ(a, b)) {
+   break a;
+  }
+  return 1;
+ }
+ return 0;
+}
+function SC(a, b) {
+ var c = 0;
+ if (q[a + 4 >> 2]) {
+  c = q[a + 128 >> 2];
+  if (c) {
+   n[c](q[a + 60 >> 2]);
+  }
+  q[a + 128 >> 2] = 0;
+  q[a + 196 >> 2] = 803;
+  q[a + 60 >> 2] = b;
+ }
+}
+function Ne(a) {
+ var b = 0, c = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  a = q[a + 96 >> 2];
+  b = q[q[a >> 2] + 32 >> 2];
+  if (!b) {
+   break a;
+  }
+  c = n[b](a, 3762) | 0;
+ }
+ return c;
+}
+function MC(a, b) {
+ var c = 0;
+ if (q[a + 4 >> 2]) {
+  c = q[a + 116 >> 2];
+  if (c) {
+   n[c](q[a + 48 >> 2]);
+  }
+  q[a + 116 >> 2] = 0;
+  q[a + 184 >> 2] = 800;
+  q[a + 48 >> 2] = b;
+ }
+}
+function GC(a, b) {
+ var c = 0;
+ if (q[a + 4 >> 2]) {
+  c = q[a + 100 >> 2];
+  if (c) {
+   n[c](q[a + 32 >> 2]);
+  }
+  q[a + 100 >> 2] = 0;
+  q[a + 168 >> 2] = 798;
+  q[a + 32 >> 2] = b;
+ }
+}
+function wI(a) {
+ a = a | 0;
+ var b = 0;
+ q[a + 140 >> 2] = 0;
+ q[a + 112 >> 2] = 0;
+ b = q[a + 12 >> 2];
+ xI(a + 28 | 0, b);
+ xI(a - -64 | 0, b);
+ q[a + 12 >> 2] = 0;
+ q[a + 16 >> 2] = 0;
+}
+function Nd(a) {
+ var b = 0, c = 0;
+ b = q[a >> 2];
+ while (1) {
+  c = r[b | 0];
+  if (!((c | 0) != 9 ? (c | 0) != 32 : 0)) {
+   b = b + 1 | 0;
+   continue;
+  }
+  break;
+ }
+ q[a >> 2] = b;
+}
+function lh(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a = hh(q[a >> 2], c, 4074);
+ if (!a) {
+  return 64;
+ }
+ q[d >> 2] = a;
+ q[e >> 2] = 0;
+ return 0;
+}
+function kh(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a = hh(q[a >> 2], c, 4060);
+ if (!a) {
+  return 64;
+ }
+ q[d >> 2] = a;
+ q[e >> 2] = 0;
+ return 0;
+}
+function W0(a) {
+ var b = 0, c = 0;
+ b = C(a);
+ c = a - b;
+ if (!(c < .5)) {
+  a = D(a);
+  if (c > .5) {
+   return a;
+  }
+  c = a;
+  a = b * .5;
+  b = a - C(a) == 0 ? b : c;
+ }
+ return b;
+}
+function km(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ b = q[q[a >> 2] + 132 >> 2];
+ c = r[b + 104 | 0];
+ q[a + 16 >> 2] = c;
+ q[a + 20 >> 2] = (r[b + 105 | 0] - c | 0) + 1;
+ return 0;
+}
+function ei(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ if ((b | 0) >= 0) {
+  a = b + c & -64;
+  return ((a | 0) > 0 ? a : 0) | 0;
+ }
+ a = 0 - (c - b & -64) | 0;
+ return a >> 31 & a;
+}
+function LC(a) {
+ var b = 0;
+ if (q[a + 4 >> 2]) {
+  b = q[a + 112 >> 2];
+  if (b) {
+   n[b](q[a + 44 >> 2]);
+  }
+  q[a + 112 >> 2] = 0;
+  q[a + 180 >> 2] = 477;
+  q[a + 44 >> 2] = 0;
+ }
+}
+function H_() {
+ var a = 0, b = 0;
+ b = KY(q[160854]);
+ a = q[126919];
+ a;
+ if (r[488068]) {
+  c0(488068, g0(488068), 1, a);
+  BZ(58, a);
+  BZ(32, a);
+ }
+ c0(b, g0(b), 1, a);
+ BZ(10, a);
+}
+function mj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = q[a + 4 >> 2] | q[a >> 2] << 16;
+ b = q[b + 4 >> 2] | q[b >> 2] << 16;
+ return (a >>> 0 > b >>> 0 ? 1 : a >>> 0 < b >>> 0 ? -1 : 0) | 0;
+}
+function lG(a) {
+ var b = 0;
+ if (q[a + 4 >> 2]) {
+  b = q[a + 104 >> 2];
+  if (b) {
+   n[b](q[a + 72 >> 2]);
+  }
+  q[a + 72 >> 2] = 0;
+  q[a + 40 >> 2] = 426;
+  q[a + 104 >> 2] = 0;
+ }
+}
+function kG(a) {
+ var b = 0;
+ if (q[a + 4 >> 2]) {
+  b = q[a + 100 >> 2];
+  if (b) {
+   n[b](q[a + 68 >> 2]);
+  }
+  q[a + 68 >> 2] = 0;
+  q[a + 36 >> 2] = 425;
+  q[a + 100 >> 2] = 0;
+ }
+}
+function jG(a) {
+ var b = 0;
+ if (q[a + 4 >> 2]) {
+  b = q[a + 96 >> 2];
+  if (b) {
+   n[b](q[a - -64 >> 2]);
+  }
+  q[a - -64 >> 2] = 0;
+  q[a + 32 >> 2] = 424;
+  q[a + 96 >> 2] = 0;
+ }
+}
+function zC(a) {
+ var b = 0;
+ if (q[a + 4 >> 2]) {
+  b = q[a + 84 >> 2];
+  if (b) {
+   n[b](q[a + 16 >> 2]);
+  }
+  q[a + 84 >> 2] = 0;
+  q[a + 152 >> 2] = 472;
+  q[a + 16 >> 2] = 0;
+ }
+}
+function qL(a) {
+ var b = 0;
+ b = q[a + 28 >> 2];
+ if (b) {
+  kL(b);
+ }
+ b = q[a + 32 >> 2];
+ if (b) {
+  kL(b);
+ }
+ M$(q[a + 24 >> 2]);
+ M$(q[a + 8 >> 2]);
+ M$(q[a + 4 >> 2]);
+ M$(a);
+}
+function iG(a) {
+ var b = 0;
+ if (q[a + 4 >> 2]) {
+  b = q[a + 92 >> 2];
+  if (b) {
+   n[b](q[a + 60 >> 2]);
+  }
+  q[a + 60 >> 2] = 0;
+  q[a + 28 >> 2] = 423;
+  q[a + 92 >> 2] = 0;
+ }
+}
+function hG(a) {
+ var b = 0;
+ if (q[a + 4 >> 2]) {
+  b = q[a + 88 >> 2];
+  if (b) {
+   n[b](q[a + 56 >> 2]);
+  }
+  q[a + 56 >> 2] = 0;
+  q[a + 24 >> 2] = 422;
+  q[a + 88 >> 2] = 0;
+ }
+}
+function gG(a) {
+ var b = 0;
+ if (q[a + 4 >> 2]) {
+  b = q[a + 80 >> 2];
+  if (b) {
+   n[b](q[a + 48 >> 2]);
+  }
+  q[a + 48 >> 2] = 0;
+  q[a + 16 >> 2] = 421;
+  q[a + 80 >> 2] = 0;
+ }
+}
+function Pd(a, b) {
+ var c = 0;
+ c = de(q[a >> 2], a);
+ c = c + (c > 0 ? .5 : -.5);
+ a : {
+  if (y(c) < 2147483648) {
+   a = ~~c;
+   break a;
+  }
+  a = -2147483648;
+ }
+ q[b >> 2] = a;
+}
+function Ot(a, b, c, d) {
+ var e = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ if (q[a + 152 >> 2]) {
+  q[e + 12 >> 2] = d;
+  a = RG(a, b, c, d);
+ } else {
+  a = 1;
+ }
+ Ca = e + 16 | 0;
+ return a;
+}
+function yL(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = q[a >> 2];
+ q[b + 20 >> 2] = q[a + 20 >> 2];
+ q[b + 24 >> 2] = q[a + 24 >> 2];
+ return qn(c, a + 28 | 0, b + 28 | 0) | 0;
+}
+function vP(a) {
+ a : {
+  if (!GP(a, 438177)) {
+   break a;
+  }
+  if (!GP(a, 438184)) {
+   break a;
+  }
+  if (!GP(a, 438191)) {
+   break a;
+  }
+  return !GP(a, 438198);
+ }
+ return 1;
+}
+function gF(a) {
+ a : {
+  if (!(!a | !q[a >> 2])) {
+   if (q[a >> 2] <= 0) {
+    break a;
+   }
+   q[a >> 2] = q[a >> 2] + 1;
+  }
+  return a;
+ }
+ J(270948, 270973, 269, 270988);
+ F();
+}
+function XP(a, b, c) {
+ var d = 0;
+ a = LP(a);
+ d = WP(b);
+ b = yQ(d);
+ BQ(d);
+ while (1) {
+  d = zQ(b);
+  if (d) {
+   n[c](a, d) | 0;
+   continue;
+  }
+  break;
+ }
+ AQ(b);
+ return a;
+}
+function Hq(a) {
+ a : {
+  if (!(!a | !q[a >> 2])) {
+   if (q[a >> 2] <= 0) {
+    break a;
+   }
+   q[a >> 2] = q[a >> 2] + 1;
+  }
+  return a;
+ }
+ J(226848, 226873, 269, 226888);
+ F();
+}
+function $F(a) {
+ a : {
+  if (!(!a | !q[a >> 2])) {
+   if (q[a >> 2] <= 0) {
+    break a;
+   }
+   q[a >> 2] = q[a >> 2] + 1;
+  }
+  return a;
+ }
+ J(272224, 272249, 269, 272264);
+ F();
+}
+function ch(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ b = q[a >> 2];
+ if (b) {
+  c = q[a + 28 >> 2];
+  n[q[c + 8 >> 2]](c, b);
+ }
+ q[a >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+}
+function Lg(a, b) {
+ var c = 0;
+ if (!(!a | !q[a + 20 >> 2])) {
+  c = q[b >> 2];
+  if (c) {
+   a = q[a + 28 >> 2];
+   n[q[a + 8 >> 2]](a, c);
+  }
+  q[b >> 2] = 0;
+ }
+ q[b >> 2] = 0;
+}
+function RG(a, b, c, d) {
+ var e = 0;
+ e = Ca - 112 | 0;
+ Ca = e;
+ KZ(e, 100, c, d);
+ a = n[q[a + 152 >> 2]](a, b, e, q[a + 156 >> 2]) | 0;
+ Ca = e + 112 | 0;
+ return (a | 0) != 0;
+}
+function z0(a, b, c, d, e, f, g, h, i) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ i = i | 0;
+ n[a](b, c, d, e, f, g, h, i);
+}
+function SG(a, b, c, d) {
+ var e = 0;
+ e = _E(q[a + 16 >> 2], b + 48 | 0, c, d, q[a + 64 >> 2], q[a + 60 >> 2]);
+ a = ZE(e, a, b, c, d);
+ YE(e);
+ if (a) {
+  q[b + 44 >> 2] = 2;
+ }
+}
+function IS(a) {
+ var b = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  a = q[a >> 2];
+  if (!a) {
+   break a;
+  }
+  b = q[a + 4 >> 2];
+  b = b & 1 ? a + (b & -2) | 0 : b;
+ }
+ return b;
+}
+function eL(a) {
+ var b = 0, c = 0;
+ b = oe();
+ if (!b) {
+  return 7;
+ }
+ c = mg(b, a);
+ a : {
+  if (c) {
+   M$(b);
+   break a;
+  }
+  cL(q[a >> 2]);
+ }
+ dL(q[a >> 2]);
+ return c;
+}
+function CL(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ b = b + 20 | 0;
+ c = qg(q[a >> 2], p[a + 22 >> 1], p[a + 20 >> 1], b);
+ if (!c) {
+  sg(a + 20 | 0, b);
+ }
+ return c | 0;
+}
+function wQ(a) {
+ var b = 0;
+ b = L$(20);
+ if (!b) {
+  return 0;
+ }
+ q[b + 16 >> 2] = a;
+ q[b + 8 >> 2] = 0;
+ q[b + 12 >> 2] = 0;
+ q[b >> 2] = 1;
+ q[b + 4 >> 2] = 0;
+ return b;
+}
+function sC(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ q[d >> 2] = 0;
+ q[d + 4 >> 2] = 0;
+ q[d + 8 >> 2] = 0;
+ q[d + 12 >> 2] = 0;
+ return 0;
+}
+function GQ() {
+ var a = 0;
+ a = L$(20);
+ if (!a) {
+  return 0;
+ }
+ q[a + 4 >> 2] = 0;
+ q[a + 8 >> 2] = 0;
+ q[a >> 2] = 1;
+ q[a + 12 >> 2] = 0;
+ q[a + 16 >> 2] = 0;
+ return a;
+}
+function eb() {
+ var a = 0;
+ a = K$(24);
+ q[a >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 16 >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ return a | 0;
+}
+function dW(a, b) {
+ var c = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  c = q[a >> 2];
+  q[a >> 2] = b;
+  if (q[a + 4 >> 2] != (c | 0)) {
+   break a;
+  }
+  q[a + 4 >> 2] = b;
+ }
+}
+function V_(a, b) {
+ var c = 0, d = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ U_(c, a, b);
+ d = z$(q[c >> 2], q[c + 4 >> 2], q[c + 8 >> 2], q[c + 12 >> 2]);
+ Ca = c + 16 | 0;
+ return d;
+}
+function w0(a, b, c, d, e, f, g, h) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ return n[a](b, c, d, e, f, g, h) | 0;
+}
+function vC() {
+ var a = 0;
+ a = N$(1, 216);
+ if (!a) {
+  return 641104;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a >> 2] = 1;
+ q[a + 4 >> 2] = 1;
+ Y$(a + 148 | 0, 641252, 68);
+ return a;
+}
+function gi(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ if ((b | 0) >= 0) {
+  a = b + c | 0;
+  return ((a | 0) > 0 ? a : 0) | 0;
+ }
+ a = b - c | 0;
+ return a >> 31 & a;
+}
+function s_(a, b, c, d, e, f, g, h, i) {
+ q[a >> 2] = b;
+ q[a + 4 >> 2] = c;
+ q[a + 8 >> 2] = d;
+ q[a + 12 >> 2] = e & 65535 | (i >>> 16 & 32768 | e >>> 16 & 32767) << 16;
+}
+function oZ(a) {
+ a = W0(a);
+ a : {
+  if (a < -2147483648 ^ 1 ? !(a > 2147483647) : 0) {
+   break a;
+  }
+ }
+ if (y(a) < 2147483648) {
+  return ~~a;
+ }
+ return -2147483648;
+}
+function iN(a) {
+ var b = 0;
+ if (a) {
+  q[q[a >> 2] + 4 >> 2] = 0;
+  while (1) {
+   b = q[a + 4 >> 2];
+   M$(a);
+   a = b;
+   if (a) {
+    continue;
+   }
+   break;
+  }
+ }
+}
+function wN(a) {
+ tM(q[a + 44 >> 2]);
+ M$(q[a + 36 >> 2]);
+ M$(q[a + 8 >> 2]);
+ M$(q[a + 12 >> 2]);
+ M$(q[a + 16 >> 2]);
+ M$(q[a + 20 >> 2]);
+ M$(q[a + 24 >> 2]);
+ M$(a);
+}
+function yQ(a) {
+ var b = 0;
+ b = L$(8);
+ if (!b) {
+  return 0;
+ }
+ q[b >> 2] = a;
+ if (q[a >> 2] != -1) {
+  q[a >> 2] = q[a >> 2] + 1;
+ }
+ q[b + 4 >> 2] = 0;
+ return b;
+}
+function Og(a) {
+ var b = 0;
+ b = q[a + 32 >> 2];
+ if (b >>> 0 < t[a + 36 >> 2]) {
+  q[a + 32 >> 2] = b + 1;
+  a = o[b | 0];
+ } else {
+  a = 0;
+ }
+ return a << 24 >> 24;
+}
+function yp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = n[q[a + 516 >> 2]](a, 1651008868, b, 0) | 0;
+ if (!c) {
+  c = Xg(b, 162480, a + 160 | 0);
+ }
+ return c | 0;
+}
+function xp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = n[q[a + 516 >> 2]](a, 1346587732, b, 0) | 0;
+ if (!c) {
+  c = Xg(b, 163104, a + 568 | 0);
+ }
+ return c | 0;
+}
+function sp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = n[q[a + 516 >> 2]](a, 1886352244, b, 0) | 0;
+ if (!c) {
+  c = Xg(b, 162976, a + 476 | 0);
+ }
+ return c | 0;
+}
+function np(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = n[q[a + 516 >> 2]](a, 1751474532, b, 0) | 0;
+ if (!c) {
+  c = Xg(b, 162480, a + 160 | 0);
+ }
+ return c | 0;
+}
+function mD(a) {
+ a = a | 0;
+ var b = 0;
+ b = q[a + 8 >> 2] + -1 | 0;
+ q[a + 8 >> 2] = b;
+ if (!b) {
+  b = q[a + 4 >> 2];
+  if (b) {
+   n[b](q[a >> 2]);
+  }
+  M$(a);
+ }
+}
+function ap(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ q[c + 12 >> 2] = 0;
+ Bp(a, b, c + 12 | 0);
+ Ca = c + 16 | 0;
+ return q[c + 12 >> 2];
+}
+function NW(a, b) {
+ var c = 0;
+ a : {
+  if (q[b >> 2] != (a | 0)) {
+   break a;
+  }
+  a = q[b + 4 >> 2];
+  if (!a) {
+   break a;
+  }
+  c = q[a + 4 >> 2];
+ }
+ return c;
+}
+function Lf(a, b) {
+ var c = 0;
+ if (!(!a | !b)) {
+  c = q[a + 4 >> 2];
+  q[b >> 2] = c;
+  q[b + 4 >> 2] = 0;
+  q[(c ? c + 4 | 0 : a) >> 2] = b;
+  q[a + 4 >> 2] = b;
+ }
+}
+function IZ(a, b, c) {
+ var d = 0;
+ d = b;
+ b = b >> 31;
+ a : {
+  if (q[a + 76 >> 2] <= -1) {
+   a = HZ(a, d, b, c);
+   break a;
+  }
+  a = HZ(a, d, b, c);
+ }
+ return a;
+}
+function EY(a) {
+ var b = 0;
+ a = uY(a, 589824, 0);
+ if ((a | 0) >= 0) {
+  b = N$(1, 2080);
+  if (!b) {
+   Z(a | 0) | 0;
+   return 0;
+  }
+  q[b >> 2] = a;
+ }
+ return b;
+}
+function $J(a) {
+ a = a | 0;
+ var b = 0;
+ if (a) {
+  b = q[a >> 2];
+  Qe(b, q[a + 108 >> 2]);
+  q[a + 108 >> 2] = 0;
+  Qe(b, q[a + 116 >> 2]);
+  q[a + 116 >> 2] = 0;
+ }
+}
+function mQ(a) {
+ if (q[a + 4 >> 2]) {
+  M$(q[a >> 2]);
+  q[a >> 2] = a + 20;
+  q[a + 12 >> 2] = 0;
+  q[a + 16 >> 2] = 64;
+  q[a + 4 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+ }
+}
+function bD(a, b, c) {
+ var d = 0, e = 0;
+ q[c >> 2] = 0;
+ d = a;
+ e = q[a + 76 >> 2];
+ a = q[a + 72 >> 2];
+ return n[q[a + 156 >> 2]](d, e, b, c, q[a + 20 >> 2]) | 0;
+}
+function OH(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 24 >> 2] = q[b + 20 >> 2];
+ q[a + 4 >> 2] = q[b >> 2];
+ q[a + 28 >> 2] = q[b + 24 >> 2];
+ PH(a, b, 0);
+ PH(a, b, 1);
+}
+function z_(a, b) {
+ var c = 0;
+ c = Ca - 16 | 0;
+ q[c + 12 >> 2] = a;
+ a = ((b << 2) - (((b | 0) != 0) << 2) | 0) + a | 0;
+ q[c + 8 >> 2] = a + 4;
+ return q[a >> 2];
+}
+function eR(a) {
+ var b = 0;
+ b = a + -1 | 0;
+ if (b >>> 0 <= 50) {
+  return q[(b << 3) + 486032 >> 2];
+ }
+ b = ZQ(a);
+ if (b) {
+  return q[b >> 2];
+ }
+ return YQ(a);
+}
+function fp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = q[q[a >> 2] + 4 >> 2];
+ b = q[q[b >> 2] + 4 >> 2];
+ return (a >>> 0 > b >>> 0 ? 1 : a >>> 0 < b >>> 0 ? -1 : 0) | 0;
+}
+function qm(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ var d = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ a = Oe(a, w(b, c), d + 12 | 0);
+ Ca = d + 16 | 0;
+ return a | 0;
+}
+function fe(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ if ((a | 0) <= 4) {
+  a = q[126919];
+  c0(3752, 6, 1, a);
+  d_(a, b, c);
+  BZ(10, a);
+ }
+}
+function Lo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ q[c + 12 >> 2] = b;
+ a = Mo(a, c + 12 | 0, 0);
+ Ca = c + 16 | 0;
+ return a | 0;
+}
+function Fo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ q[c + 12 >> 2] = b;
+ a = Go(a, c + 12 | 0, 0);
+ Ca = c + 16 | 0;
+ return a | 0;
+}
+function df(a, b, c, d) {
+ var e = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ q[e + 4 >> 2] = a;
+ q[e + 8 >> 2] = a;
+ a = ef(e + 4 | 0, b, c, d);
+ Ca = e + 16 | 0;
+ return a;
+}
+function xQ(a, b) {
+ var c = 0;
+ b = mZ(b);
+ c = 0;
+ a : {
+  if (!b) {
+   break a;
+  }
+  c = 1;
+  if (vQ(a, b)) {
+   break a;
+  }
+  M$(b);
+  c = 0;
+ }
+ return c;
+}
+function tC(a, b, c, d, e, f, g) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ q[f >> 2] = 0;
+ q[e >> 2] = 0;
+ return 0;
+}
+function jf(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ q[a + 156 >> 2] = b;
+ q[a + 160 >> 2] = c;
+ q[a + 164 >> 2] = d;
+ q[a + 168 >> 2] = 0;
+}
+function fh(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ q[d >> 2] = 0;
+ if (!b) {
+  return 81;
+ }
+ return eh(b, 333312, e) | 0;
+}
+function dh(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ q[d >> 2] = 0;
+ if (!b) {
+  return 81;
+ }
+ return eh(b, 333319, e) | 0;
+}
+function LQ(a, b) {
+ var c = 0;
+ b = CQ(b);
+ c = 0;
+ a : {
+  if (!b) {
+   break a;
+  }
+  c = 1;
+  if (vQ(a, b)) {
+   break a;
+  }
+  M$(b);
+  c = 0;
+ }
+ return c;
+}
+function L0(a, b, c, d, e, f, g, h) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ h = h | 0;
+ n[a](b, c, d, e, f, g, h);
+}
+function oD(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ return n[q[f + 12 >> 2]](a, b, c, d, e, q[f >> 2]) | 0;
+}
+function aS() {
+ var a = 0;
+ a = L$(16);
+ if (!a) {
+  return 0;
+ }
+ q[a + 12 >> 2] = 1;
+ q[a >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 8 >> 2] = 0 - a;
+ return a;
+}
+function eT(a) {
+ var b = 0;
+ b = Ca - 96 | 0;
+ Ca = b;
+ a = DY(ba(a | 0, b + 8 | 0) | 0);
+ Ca = b + 96 | 0;
+ return !a & (q[b + 20 >> 2] & 61440) == 40960;
+}
+function Ti(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ if (iZ(b, 5215)) {
+  a = 12;
+ } else {
+  q[c >> 2] = q[a - -64 >> 2];
+  a = 0;
+ }
+ return a | 0;
+}
+function hZ(a, b) {
+ var c = 0;
+ a = KY(a);
+ c = g0(a);
+ if (c >>> 0 >= 1024) {
+  Y$(b, a, 1023);
+  o[b + 1023 | 0] = 0;
+  return;
+ }
+ Y$(b, a, c + 1 | 0);
+}
+function v0(a, b, c, d, e, f, g) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ return n[a](b, c, d, e, f, g) | 0;
+}
+function pn(a) {
+ if (a) {
+  q[a >> 2] = 0;
+  q[a + 4 >> 2] = 0;
+  q[a + 16 >> 2] = 0;
+  q[a + 20 >> 2] = 0;
+  q[a + 8 >> 2] = 0;
+  q[a + 12 >> 2] = 0;
+ }
+}
+function YP(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = g0(a);
+ e = g0(b) + 1 | 0;
+ d = L$(c + e | 0);
+ if (d) {
+  Y$(Y$(d, a, c) + c | 0, b, e);
+ }
+ return d;
+}
+function GR() {
+ var a = 0;
+ a = L$(16);
+ if (!a) {
+  return 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a >> 2] = 1;
+ q[a + 4 >> 2] = 0;
+ return a;
+}
+function mn(a, b) {
+ a = a | 0;
+ b = b | 0;
+ b = q[a >> 2];
+ q[a + 16 >> 2] = q[q[b + 140 >> 2] + 52 >> 2];
+ q[a + 20 >> 2] = q[b + 144 >> 2];
+ return 0;
+}
+function SZ(a) {
+ if (q[a + 76 >> 2] >= 0) {
+  HZ(a, 0, 0, 0);
+  q[a >> 2] = q[a >> 2] & -33;
+  return;
+ }
+ HZ(a, 0, 0, 0);
+ q[a >> 2] = q[a >> 2] & -33;
+}
+function Ma(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ if (q[160196] >= (a | 0)) {
+  d0(1024, 0);
+  d_(q[126918], b, c);
+  OZ(10);
+ }
+}
+function bZ(a, b) {
+ var c = 0;
+ c = aZ(a, 0, b);
+ c = c ? c - a | 0 : b;
+ b = L$(c + 1 | 0);
+ if (b) {
+  Y$(b, a, c);
+  o[b + c | 0] = 0;
+ }
+ return b;
+}
+function Op(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ b = q[a + 872 >> 2];
+ if (b) {
+  c = q[a + 100 >> 2];
+  Lg(q[a + 104 >> 2], b + 16 | 0);
+  Qe(c, b);
+ }
+}
+function OL(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ a = q[a + 12 >> 2];
+ n[q[a >> 2]](q[a + 4 >> 2], c, b, d) | 0;
+ return d | 0;
+}
+function Np(a) {
+ a = a | 0;
+ var b = 0, c = 0;
+ b = q[a + 868 >> 2];
+ if (b) {
+  c = q[a + 100 >> 2];
+  Lg(q[a + 104 >> 2], b + 12 | 0);
+  Qe(c, b);
+ }
+}
+function Nk(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = q[a + 712 >> 2];
+ o[b | 0] = 0;
+ if (!(!a | q[a + 1504 >> 2] == 65535)) {
+  o[b | 0] = 1;
+ }
+ return 0;
+}
+function E0(a, b, c, d, e, f, g) {
+ a = a | 0;
+ b = b | 0;
+ c = +c;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ return n[a](b, c, d, e, f, g) | 0;
+}
+function Mg(a, b, c) {
+ if ((b | 0) >= 1) {
+  a = n[q[a + 4 >> 2]](a, b) | 0;
+  q[c >> 2] = !a << 6;
+  return a;
+ }
+ q[c >> 2] = b ? 6 : 0;
+ return 0;
+}
+function Md(a, b, c) {
+ var d = 0;
+ T0(c, 0, b, 0);
+ if (!Ea) {
+  b = w(b, c);
+  d = O$(a, b ? b : 1);
+ }
+ q[160854] = d ? 0 : 48;
+ return d ? d : a;
+}
+function DL(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ if (b) {
+  vf(a + 20 | 0, b);
+ }
+ if (c) {
+  wf(a + 20 | 0, q[c >> 2], q[c + 4 >> 2]);
+ }
+}
+function qY(a) {
+ a = a | 0;
+ var b = 0;
+ b = q[a + 8 >> 2];
+ if (b) {
+  IR(b);
+ }
+ b = q[a + 4 >> 2];
+ if (b) {
+  rP(b);
+ }
+ pX(q[a >> 2]);
+ M$(a);
+}
+function g$(a, b, c) {
+ c = c & 3;
+ o[c + a | 0] = b >>> 24;
+ o[(c ^ 1) + a | 0] = b >>> 16;
+ o[(c ^ 2) + a | 0] = b >>> 8;
+ o[(c ^ 3) + a | 0] = b;
+}
+function bf(a) {
+ a = a | 0;
+ a = q[a >> 2];
+ return w(w(w(a & 255, 31) + (a >>> 8 & 255) | 0, 31) + (a >>> 16 & 255) | 0, 31) + (a >>> 24 | 0) | 0;
+}
+function Yd(a, b, c, d) {
+ var e = 0;
+ e = Ca - 16 | 0;
+ Ca = e;
+ q[e + 12 >> 2] = d;
+ n[q[a + 20 >> 2]](b, c, d, q[a + 24 >> 2]);
+ Ca = e + 16 | 0;
+}
+function Wu(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ b = r[b + 1 | 0] | r[b | 0] << 8;
+ return (ct(b ? b + c | 0 : 271040, a) | 0) != -1 | 0;
+}
+function Bk(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ return n[q[q[a + 548 >> 2] + 40 >> 2]](a, b, c, d, e) | 0;
+}
+function Be(a, b) {
+ var c = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ q[c + 12 >> 2] = b;
+ q[c + 8 >> 2] = a;
+ a = Ce(c + 8 | 0);
+ Ca = c + 16 | 0;
+ return a;
+}
+function uH(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ if (b) {
+  q[b >> 2] = q[a + 7704 >> 2];
+ }
+ if (c) {
+  q[c >> 2] = q[a + 252 >> 2];
+ }
+}
+function WM(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = a + 828 | 0;
+ M$(q[c >> 2]);
+ Y$(a + 824 | 0, b, 144);
+ d = c, e = mZ(q[c >> 2]), q[d >> 2] = e;
+}
+function QH(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ if (b) {
+  q[b >> 2] = q[a + 9768 >> 2];
+ }
+ if (c) {
+  q[c >> 2] = q[a + 252 >> 2];
+ }
+}
+function rC(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ q[e >> 2] = 0;
+ q[d >> 2] = 0;
+ return 0;
+}
+function qC(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ q[e >> 2] = 0;
+ q[d >> 2] = 0;
+ return 1;
+}
+function lQ(a, b, c) {
+ q[a + 12 >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 8 >> 2] = 0;
+ q[a + 16 >> 2] = b ? c : 64;
+ q[a >> 2] = b ? b : a + 20 | 0;
+}
+function ZM(a, b) {
+ var c = 0;
+ c = +(b | 0) + 0 * +r[a | 0];
+ if (c < 4294967296 & c >= 0) {
+  o[a | 0] = ~~c >>> 0;
+  return;
+ }
+ o[a | 0] = 0;
+}
+function On(a) {
+ if (r[a + 560 | 0] & 8) {
+  Y$(q[a + 96 >> 2], q[a + 100 >> 2], q[a + 52 >> 2]);
+  p[a + 560 >> 1] = s[a + 560 >> 1] & 65527;
+ }
+}
+function LI(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ c = q[a + 104 >> 2];
+ p[a + 144 >> 1] = 0 - c;
+ q[a + 140 >> 2] = 0 - w(p[b >> 1], c);
+}
+function GL(a) {
+ var b = 0, c = 0;
+ if (a) {
+  c = q[q[a >> 2] >> 2];
+  b = q[q[a + 4 >> 2] + 12 >> 2];
+  if (b) {
+   n[b](a);
+  }
+  Qe(c, a);
+ }
+}
+function ui(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ a = q[b + 12 >> 2] + (c << 3) | 0;
+ q[a + 4 >> 2] = q[a + 4 >> 2] + d;
+}
+function oe() {
+ var a = 0;
+ a = L$(16);
+ if (a) {
+  q[a + 12 >> 2] = 5;
+  q[a + 4 >> 2] = 6;
+  q[a >> 2] = 0;
+  q[a + 8 >> 2] = 7;
+ }
+ return a;
+}
+function nD(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ return n[q[e + 12 >> 2]](a, b, c, 0, d, q[e >> 2]) | 0;
+}
+function cD(a, b) {
+ var c = 0, d = 0;
+ c = a;
+ d = q[a + 76 >> 2];
+ a = q[a + 72 >> 2];
+ return n[q[a + 168 >> 2]](c, d, b, q[a + 32 >> 2]) | 0;
+}
+function HT(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ a = mT(a, b, c, d);
+ if (a) {
+  o[a + 130 | 0] = 23;
+ }
+ return a | 0;
+}
+function fT(a) {
+ var b = 0;
+ b = Ca - 96 | 0;
+ Ca = b;
+ a = QQ(a, b + 8 | 0);
+ Ca = b + 96 | 0;
+ return !a & (q[b + 20 >> 2] & 61440) == 32768;
+}
+function dT(a) {
+ var b = 0;
+ b = Ca - 96 | 0;
+ Ca = b;
+ a = QQ(a, b + 8 | 0);
+ Ca = b + 96 | 0;
+ return !a & (q[b + 20 >> 2] & 61440) == 16384;
+}
+function X0(a) {
+ var b = 0, c = 0;
+ while (1) {
+  c = b;
+  if (a) {
+   a = a - 1 & a;
+   b = b + 1 | 0;
+   continue;
+  }
+  break;
+ }
+ return c;
+}
+function KL(a, b) {
+ a = pM(q[a + 736 >> 2], b, a);
+ a : {
+  if (a) {
+   if (q[a >> 2]) {
+    break a;
+   }
+   bM(a);
+  }
+  a = 0;
+ }
+ return a;
+}
+function uC(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ if (e) {
+  o[d | 0] = 0;
+ }
+ return 0;
+}
+function A0(a, b, c, d, e, f, g) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ n[a](b, c, d, e, f, g);
+}
+function vo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = q[a + 16 >> 2];
+ q[b + 4 >> 2] = 6;
+ q[b >> 2] = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+ return 0;
+}
+function uE(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = r[a + 19 | 0];
+ b = r[b + 19 | 0];
+ return (a >>> 0 < b >>> 0 ? -1 : (a | 0) != (b | 0)) | 0;
+}
+function ro(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = q[a + 16 >> 2];
+ q[b + 4 >> 2] = 4;
+ q[b >> 2] = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+ return 0;
+}
+function jo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = q[a + 16 >> 2];
+ q[b + 4 >> 2] = 2;
+ q[b >> 2] = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+ return 0;
+}
+function fo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = q[a + 16 >> 2];
+ q[b + 4 >> 2] = 0;
+ q[b >> 2] = r[a + 5 | 0] | r[a + 4 | 0] << 8;
+ return 0;
+}
+function M0(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a = n[a](b, c, d, e) | 0;
+ M(Ea | 0);
+ return a | 0;
+}
+function mf(a, b, c) {
+ q[a + 32 >> 2] = 0;
+ q[a + 8 >> 2] = 0;
+ q[a + 4 >> 2] = c;
+ q[a >> 2] = b;
+ q[a + 20 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+}
+function kq(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0;
+ c = q[q[a + 12 >> 2] + 48 >> 2];
+ if (!c) {
+  return 150;
+ }
+ return n[c](a, b) | 0;
+}
+function kn(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = q[a + 4 >> 2];
+ b = q[b + 4 >> 2];
+ return (a >>> 0 < b >>> 0 ? -1 : a >>> 0 > b >>> 0) | 0;
+}
+function sG(a) {
+ if (q[a + 4 >> 2]) {
+  q[a + 80 >> 2] = 0;
+  o[a + 69 | 0] = 1;
+  o[a + 70 | 0] = 0;
+  q[a + 92 >> 2] = q[a + 88 >> 2];
+ }
+}
+function rG(a) {
+ if (q[a + 4 >> 2]) {
+  q[a + 80 >> 2] = 0;
+  o[a + 69 | 0] = 0;
+  o[a + 70 | 0] = 0;
+  q[a + 92 >> 2] = q[a + 88 >> 2];
+ }
+}
+function ud(a, b) {
+ a = q[a + 20 >> 2] + w(b, 56) | 0;
+ M$(q[a + 28 >> 2]);
+ M$(q[a + 44 >> 2]);
+ M$(q[a + 48 >> 2]);
+ M$(q[a + 52 >> 2]);
+}
+function IJ(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ wJ(a, q[a + 8 >> 2]);
+ return JJ(a, q[a + 8 >> 2], b, c, d) | 0;
+}
+function Uc(a, b, c, d, e, f, g) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ g = g | 0;
+ UM(b, c, d, e, f);
+}
+function Ol(a) {
+ a = a | 0;
+ var b = 0;
+ b = ig(q[a + 4 >> 2], 17711);
+ if (!b) {
+  return 11;
+ }
+ q[a + 28 >> 2] = q[b >> 2];
+ return 0;
+}
+function si(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ a = q[b + 12 >> 2] + (c << 3) | 0;
+ q[a >> 2] = q[a >> 2] + d;
+}
+function UI(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return n[q[q[q[a + 12 >> 2] + 56 >> 2] + 12 >> 2]](q[a + 52 >> 2], b, c) | 0;
+}
+function Tl(a) {
+ a = a | 0;
+ if (Kf(q[q[a >> 2] + 504 >> 2] + 108 | 0, q[a + 44 >> 2])) {
+  Mf(q[a + 44 >> 2]);
+  q[a + 44 >> 2] = 0;
+ }
+}
+function t0(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ return n[a](b, c, d, e, f) | 0;
+}
+function Rd(a, b) {
+ var c = 0, d = 0, e = 0;
+ c = b;
+ b = q[a >> 2];
+ d = c, e = de(b, a), v[d >> 3] = e;
+ return (b | 0) != q[a >> 2];
+}
+function R_(a) {
+ var b = 0;
+ b = R0(q[a >> 2] + -1 | 0);
+ if (!b) {
+  a = R0(q[a + 4 >> 2]);
+  return a ? a + 32 | 0 : 0;
+ }
+ return b;
+}
+function K0(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ a = Gd(b, c, d, e);
+ M(Ea | 0);
+ return a | 0;
+}
+function Jg(a, b, c) {
+ b = Kg(a, b);
+ if (!b) {
+  q[c >> 2] = q[a + 32 >> 2];
+  q[a + 32 >> 2] = 0;
+  q[a + 36 >> 2] = 0;
+ }
+ return b;
+}
+function l_(a) {
+ var b = 0;
+ q[a + 56 >> 2] = q[161139];
+ b = q[161139];
+ if (b) {
+  q[b + 52 >> 2] = a;
+ }
+ q[161139] = a;
+ return a;
+}
+function Y0(a, b) {
+ var c = 0, d = 0;
+ c = b & 31;
+ d = (-1 >>> c & a) << c;
+ c = a;
+ a = 0 - b & 31;
+ return d | (c & -1 << a) >>> a;
+}
+function _q(a) {
+ a = $q(a + 156 | 0);
+ a = t[a + 16 >> 2] < 8 ? 271040 : q[a + 12 >> 2];
+ return (r[a | 0] << 8 | r[a + 1 | 0]) != 0;
+}
+function J0(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ return FM(b, c, d, e, f) | 0;
+}
+function qP() {
+ var a = 0;
+ a = L$(12);
+ if (!a) {
+  return 0;
+ }
+ q[a + 8 >> 2] = 0;
+ q[a >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ return a;
+}
+function d$(a, b) {
+ b = b & 3;
+ return r[(b ^ 1) + a | 0] << 16 | r[a + b | 0] << 24 | r[(b ^ 2) + a | 0] << 8 | r[(b ^ 3) + a | 0];
+}
+function Dy(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = s[a >> 1];
+ b = s[b >> 1];
+ return (a >>> 0 < b >>> 0 ? -1 : a >>> 0 > b >>> 0) | 0;
+}
+function Dg(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = p[a >> 1];
+ b = p[b >> 1];
+ return ((a | 0) < (b | 0) ? -1 : (a | 0) > (b | 0)) | 0;
+}
+function qj(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ _g(c, q[q[a + 424 >> 2] + (b << 2) >> 2], d);
+ return 0;
+}
+function ad(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ a = q[b + 16 >> 2] + w(c, 144) | 0;
+ M$(q[a >> 2]);
+ M$(q[a + 4 >> 2]);
+}
+function lC(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ q[e >> 2] = 0;
+ return 0;
+}
+function Tj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ var c = 0, d = 0;
+ c = a, d = n[q[b + 52 >> 2]](b, 0, 0, 0) | 0, q[c + 544 >> 2] = d;
+}
+function j_(a, b, c) {
+ var d = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[d + 12 >> 2] = c;
+ a = g_(a, b, c);
+ Ca = d + 16 | 0;
+ return a;
+}
+function he(a, b) {
+ var c = 0, d = 0;
+ M$(q[a >> 2]);
+ if (!b) {
+  q[a >> 2] = 0;
+  return;
+ }
+ c = a, d = mZ(b), q[c >> 2] = d;
+}
+function dn(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ q[b >> 2] = q[a + 132 >> 2];
+ q[c >> 2] = q[a + 136 >> 2];
+ return 0;
+}
+function Pm(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ q[b >> 2] = q[a + 176 >> 2];
+ q[c >> 2] = q[a + 180 >> 2];
+ return 0;
+}
+function Ip(a) {
+ a = a | 0;
+ Lg(q[a + 104 >> 2], a + 788 | 0);
+ q[a + 800 >> 2] = 0;
+ q[a + 792 >> 2] = 0;
+ q[a + 796 >> 2] = 0;
+}
+function Dh(a) {
+ a = a | 0;
+ q[a + 304 >> 2] = -1;
+ q[a + 308 >> 2] = -1;
+ q[a + 116 >> 2] = -1;
+ o[a + 112 | 0] = 0;
+ return 0;
+}
+function sL(a) {
+ a = a | 0;
+ var b = 0;
+ b = Ca - 32 | 0;
+ Ca = b;
+ a = gL(q[a + 4 >> 2], b);
+ Ca = b + 32 | 0;
+ return !a | 0;
+}
+function lm(a, b) {
+ a = a | 0;
+ b = b | 0;
+ b = b - q[a + 16 >> 2] | 0;
+ return (b >>> 0 < t[a + 20 >> 2] ? b + 1 | 0 : 0) | 0;
+}
+function of(a) {
+ var b = 0;
+ a : {
+  if (!a) {
+   break a;
+  }
+  b = q[a + 24 >> 2];
+  if (!b) {
+   break a;
+  }
+  n[b](a);
+ }
+}
+function lb(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ NM(q[a + 4 >> 2], b, c);
+ q[a + 12 >> 2] = b;
+ q[a + 16 >> 2] = c;
+}
+function x0(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ n[a](b, c, d, e, f);
+}
+function wZ(a) {
+ q[160537] = a + 4;
+ a = q[a >> 2];
+ q[160536] = a >>> 16;
+ q[160873] = a & 255;
+ q[160538] = a >>> 8 & 255;
+}
+function eg(a) {
+ var b = 0;
+ if (!a) {
+  return;
+ }
+ b = q[a >> 2];
+ if (!(!b | !q[b + 96 >> 2])) {
+  q[b + 88 >> 2] = a;
+ }
+}
+function uZ() {
+ var a = 0;
+ a = q[160537] + -4 | 0;
+ q[a >> 2] = q[160873] | (q[160538] << 8 | q[160536] << 16);
+ return a;
+}
+function ob(a) {
+ a = a | 0;
+ td(q[a + 8 >> 2]);
+ AM(q[a + 4 >> 2]);
+ ge(q[a >> 2]);
+ hb(a, q[a + 12 >> 2], q[a + 16 >> 2]);
+}
+function fJ(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return gJ(a, b, (c | 0) == 1 ? 0 : c, d, 0) | 0;
+}
+function Th(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ a = q[a + 388 >> 2] + (b << 2) | 0;
+ q[a >> 2] = q[a >> 2] + c;
+}
+function OD(a) {
+ a = a | 0;
+ a = a + 24 | 0;
+ vy(a, 1818914159, 0, 1);
+ vy(a, 1986686319, 0, 1);
+ vy(a, 1953131887, 0, 1);
+}
+function Mc(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ PM(b, c, d, e, f);
+}
+function E_(a, b) {
+ var c = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ q[c + 12 >> 2] = b;
+ a = C_(a, b);
+ Ca = c + 16 | 0;
+ return a;
+}
+function QW(a, b) {
+ if (q[b >> 2] == (a | 0)) {
+  a = q[b + 4 >> 2];
+  q[b + 8 >> 2] = a;
+  q[b + 4 >> 2] = q[a >> 2];
+ }
+}
+function GZ(a, b) {
+ var c = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ q[c + 12 >> 2] = b;
+ KZ(a, 4096, 354380, b);
+ Ca = c + 16 | 0;
+}
+function ll(a) {
+ a = a | 0;
+ a = q[a + 140 >> 2];
+ if (a) {
+  return (r[a | 0] == 47 ? a + 1 | 0 : a) | 0;
+ }
+ return 0;
+}
+function MR(a) {
+ if (a) {
+  if (q[a >> 2] != -1) {
+   q[a >> 2] = q[a >> 2] + 1;
+   return a;
+  }
+  pR(a);
+ }
+ return a;
+}
+function qb(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ PM(q[a + 4 >> 2], b, c, d, e);
+}
+function h$() {
+ var a = 0;
+ a = Ca - 16 | 0;
+ Ca = a;
+ Ca = a + 16 | 0;
+ a = q[160865];
+ return a ? a + 8 | 0 : 633760;
+}
+function Tu(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return (at(c, a) | 0) == (r[b + 1 | 0] | r[b | 0] << 8) | 0;
+}
+function e0(a, b) {
+ var c = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ q[c + 12 >> 2] = b;
+ h_(q[126918], a, b);
+ Ca = c + 16 | 0;
+}
+function d0(a, b) {
+ var c = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ q[c + 12 >> 2] = b;
+ g_(q[126918], a, b);
+ Ca = c + 16 | 0;
+}
+function nZ(a, b) {
+ var c = 0;
+ c = a & -16384;
+ return DY(qa(c | 0, ((a + b | 0) + 16383 & -16384) - c | 0, 3) | 0);
+}
+function m0(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ return n[a](b, c, d, e) | 0;
+}
+function JL(a, b) {
+ a = q[a + 92 >> 2];
+ if (a) {
+  return q[a + 4 >> 2] == 1937337698 ? b | 61440 : b;
+ }
+ return b;
+}
+function hp(a) {
+ a = a | 0;
+ Qe(q[a + 28 >> 2], q[a >> 2]);
+ q[a >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+}
+function ak(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return n[q[q[q[q[a >> 2] + 712 >> 2] + 3084 >> 2] + 12 >> 2]](a, b) | 0;
+}
+function vN(a) {
+ var b = 0;
+ b = Ca - 16 | 0;
+ Ca = b;
+ q[b >> 2] = 226578;
+ Yd(a, 4, 436384, b);
+ Ca = b + 16 | 0;
+}
+function _j(a) {
+ a = a | 0;
+ Qe(q[q[a >> 2] + 100 >> 2], q[a + 20 >> 2]);
+ q[a + 16 >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+}
+function Ld(a) {
+ T0(a, 0, 16, 0);
+ if (Ea) {
+  a = 0;
+ } else {
+  a = a << 4;
+  a = O$(0, a ? a : 1);
+ }
+ return a;
+}
+function $j(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return n[q[q[q[q[a >> 2] + 712 >> 2] + 3084 >> 2] + 8 >> 2]](a, b) | 0;
+}
+function jC(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ q[d >> 2] = 0;
+ return 0;
+}
+function bo(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return (b >>> 0 <= 255 ? r[(q[a + 16 >> 2] + b | 0) + 6 | 0] : 0) | 0;
+}
+function vm(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return sm(q[a + 12 >> 2], b, c, d) | 0;
+}
+function tL(a, b) {
+ a = a | 0;
+ b = b | 0;
+ if (!b) {
+  return 1;
+ }
+ return (xf(q[a + 4 >> 2], b) | 0) != 0 | 0;
+}
+function mZ(a) {
+ var b = 0, c = 0;
+ b = g0(a) + 1 | 0;
+ c = L$(b);
+ if (!c) {
+  return 0;
+ }
+ return Y$(c, a, b);
+}
+function k_(a, b, c) {
+ var d = 0;
+ d = Ca - 16 | 0;
+ Ca = d;
+ q[d + 12 >> 2] = c;
+ h_(a, b, c);
+ Ca = d + 16 | 0;
+}
+function FN(a, b, c, d, e, f) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ f = f | 0;
+ return 1;
+}
+function Wj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return (b >>> 0 <= 255 ? s[q[a + 16 >> 2] + (b << 1) >> 1] : 0) | 0;
+}
+function Vu(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return (r[b + 1 | 0] | r[b | 0] << 8) == (a | 0) | 0;
+}
+function zk(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return n[q[q[a + 548 >> 2] + 32 >> 2]](a, b, c) | 0;
+}
+function xk(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return n[q[q[a + 548 >> 2] + 24 >> 2]](a, b, c) | 0;
+}
+function wk(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return n[q[q[a + 548 >> 2] + 20 >> 2]](a, b, c) | 0;
+}
+function wT(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return xT(492784, a, 0, b, c, d) | 0;
+}
+function vT(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return xT(492784, a, 1, b, c, d) | 0;
+}
+function uk(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return n[q[q[a + 548 >> 2] + 12 >> 2]](a, b, c) | 0;
+}
+function tK(a) {
+ a = a | 0;
+ q[a + 16 >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+ q[a + 28 >> 2] = 0;
+}
+function jS(a, b) {
+ var c = 0;
+ q[b + 4 >> 2] = 0;
+ q[b >> 2] = !a | q[a >> 2] < 1 ? c : q[a + 8 >> 2] + a | 0;
+}
+function ET(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return xT(494304, a, 0, b, c, d) | 0;
+}
+function DT(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return xT(494304, a, 1, b, c, d) | 0;
+}
+function Ak(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return n[q[q[a + 548 >> 2] + 36 >> 2]](a, b, c) | 0;
+}
+function tk(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return n[q[q[a + 548 >> 2] + 8 >> 2]](a, b, c) | 0;
+}
+function fq(a) {
+ a = a | 0;
+ return (a >>> 0 <= 127 ? r[(a >>> 3 | 0) + 163424 | 0] & 1 << (a & 7) : 0) | 0;
+}
+function Q$(a, b) {
+ a = a | 0;
+ b = b | 0;
+ if (a >>> 0 <= 8) {
+  return L$(b) | 0;
+ }
+ return R$(a, b) | 0;
+}
+function PZ(a, b) {
+ var c = 0;
+ c = Ca - 16 | 0;
+ Ca = c;
+ q[c + 12 >> 2] = b;
+ MZ(a, b);
+ Ca = c + 16 | 0;
+}
+function kT(a, b) {
+ var c = 0;
+ b = tX(b);
+ c = uR(a, b);
+ if (!c) {
+  c = jT(a, b);
+ }
+ pX(b);
+ return c;
+}
+function j0(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ n[a](b, c, d, e);
+}
+function H0(a) {
+ a = a | 0;
+ var b = 0;
+ b = q[a + 12 >> 2];
+ a = q[a + 8 >> 2];
+ M(b | 0);
+ return a | 0;
+}
+function Dk(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return n[q[q[a + 552 >> 2] >> 2]](a, b, c) | 0;
+}
+function me(a) {
+ a = a | 0;
+ CZ(q[a + 12 >> 2]);
+ q[a + 12 >> 2] = 0;
+ q[a >> 2] = 0;
+ q[a + 4 >> 2] = 0;
+}
+function fP(a, b) {
+ var c = 0;
+ c = L$(16);
+ if (c) {
+  v[c + 8 >> 3] = b;
+  v[c >> 3] = a;
+ }
+ return c;
+}
+function QI(a) {
+ a = a | 0;
+ n[q[q[q[a + 12 >> 2] + 56 >> 2] + 8 >> 2]](q[a + 52 >> 2], 0, 0);
+ return 0;
+}
+function nq() {
+ var a = 0;
+ a = _F();
+ gG(a);
+ hG(a);
+ iG(a);
+ jG(a);
+ kG(a);
+ lG(a);
+ Gq(a);
+ return a;
+}
+function jW(a) {
+ a = a + -1 | 0;
+ if (a >>> 0 <= 40) {
+  return q[(a << 2) + 498200 >> 2];
+ }
+ return 0;
+}
+function ed(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ ke(b, c, d, e);
+}
+function HR(a) {
+ q[a + 8 >> 2] = 0;
+ q[a + 12 >> 2] = 0;
+ q[a >> 2] = -1;
+ q[a + 4 >> 2] = 0;
+ return a;
+}
+function oX() {
+ var a = 0;
+ a = mX(0);
+ if (a) {
+  if (xX(a)) {
+   return a;
+  }
+  pX(a);
+ }
+ return 0;
+}
+function iJ(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return gJ(a, b, c, d, 4) | 0;
+}
+function hJ(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return gJ(a, b, c, d, 3) | 0;
+}
+function cR(a) {
+ var b = 0;
+ b = VQ(a);
+ if (!b) {
+  return XQ(a, 0);
+ }
+ return (b << 3) + 486024 | 0;
+}
+function KQ(a) {
+ a = (g0(a) + a | 0) + 1 | 0;
+ a = g0(a) + a | 0;
+ return r[a + 1 | 0] ? a + 1 | 0 : 0;
+}
+function kb(a) {
+ a = a | 0;
+ var b = 0;
+ b = q[a + 8 >> 2];
+ if (b) {
+  td(b);
+  q[a + 8 >> 2] = 0;
+ }
+}
+function bL(a) {
+ a = a | 0;
+ return (a >>> 0 <= 390 ? p[(a << 1) + 295872 >> 1] + 291648 | 0 : 0) | 0;
+}
+function Uj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 16 >> 2] = q[q[a >> 2] + 712 >> 2] + 668;
+ return 0;
+}
+function Ib(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ Y$(q[a + 16 >> 2] + w(b, 144) | 0, c, 144);
+}
+function DJ(a, b) {
+ a = a | 0;
+ b = b | 0;
+ wJ(a, q[a + 8 >> 2]);
+ return EJ(a, q[a + 8 >> 2], b) | 0;
+}
+function cp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return n[q[q[q[a >> 2] + 544 >> 2] + 12 >> 2]](a, b) | 0;
+}
+function KW(a) {
+ var b = 0;
+ b = L$(8);
+ if (b) {
+  q[b + 4 >> 2] = 0;
+  q[b >> 2] = a;
+ }
+ return b;
+}
+function F0(a) {
+ a = a | 0;
+ var b = 0;
+ b = q[a + 4 >> 2];
+ a = q[a >> 2];
+ M(b | 0);
+ return a | 0;
+}
+function EK(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return n[q[q[q[a >> 2] + 488 >> 2] + 12 >> 2]](a, b) | 0;
+}
+function fW(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return q[a + 280 >> 2];
+}
+
+
+
+function bp(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return n[q[q[q[a >> 2] + 544 >> 2] + 8 >> 2]](a, b) | 0;
+}
+function IH(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return wH(a, b, c, d) | 0;
+}
+function DK(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return n[q[q[q[a >> 2] + 488 >> 2] + 8 >> 2]](a, b) | 0;
+}
+function l0(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return n[a](b, c, d) | 0;
+}
+function ql(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ if (c) {
+  q[c >> 2] = b;
+ }
+ return 0;
+}
+function ln(a, b, c, d, e) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ e = e | 0;
+ return 0;
+}
+function Vh(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ q[q[a + 388 >> 2] + (b << 2) >> 2] = c;
+}
+function I0(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ q[a + 8 >> 2] = b;
+ q[a + 12 >> 2] = c;
+}
+function Ck(a) {
+ a = a | 0;
+ var b = 0;
+ b = q[a + 548 >> 2];
+ if (b) {
+  n[q[b + 44 >> 2]](a);
+ }
+}
+function B$(a, b) {
+ a = a | 0;
+ b = b | 0;
+ if (!q[161173]) {
+  q[161174] = b;
+  q[161173] = a;
+ }
+}
+function Au(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ bt(c, a, r[b + 1 | 0] | r[b | 0] << 8);
+}
+function lJ(a, b) {
+ a = a | 0;
+ b = b | 0;
+ mJ(b, q[a >> 2] << 2, q[a + 4 >> 2] << 2);
+ return 0;
+}
+function kF(a) {
+ var b = 0;
+ b = q[a + 32 >> 2];
+ if ((b | 0) == -1) {
+  b = VF(a);
+ }
+ return b;
+}
+function dd(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return Fd(b, c, d) | 0;
+}
+function aL(a) {
+ a = a | 0;
+ return p[((a >>> 0 > 257 ? 0 : a) << 1) + 295344 >> 1] + 291648 | 0;
+}
+function CD(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ wD(q[a + 112 >> 2], b, q[a + 4 >> 2]);
+}
+function nC(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return q[a + 24 >> 2];
+}
+function mC(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return q[a + 20 >> 2];
+}
+function _G(a) {
+ var b = 0, c = 0;
+ c = YG(a);
+ b = dD(c);
+ hF(c);
+ $G(b, a);
+ aH(b);
+ return b;
+}
+function D0(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return +n[a](b, c, d);
+}
+function uN(a, b, c, d) {
+ if (!(!b | !d)) {
+  if (c) {
+   rN(a, b, c, d);
+  }
+  tN(a, b, d);
+ }
+}
+function NX() {
+ var a = 0;
+ if (q[160468]) {
+  a = j$(503155);
+ } else {
+  a = 0;
+ }
+ return a;
+}
+function pe(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return O$(d, c) | 0;
+}
+function __(a, b) {
+ return b ? a << 8 & 16711680 | a << 24 | (a >>> 8 & 65280 | a >>> 24) : a;
+}
+function MW(a, b) {
+ q[b >> 2] = a;
+ a = q[a + 4 >> 2];
+ q[b + 8 >> 2] = 0;
+ q[b + 4 >> 2] = a;
+}
+function yk(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return n[q[q[a + 548 >> 2] + 28 >> 2]](a, b) | 0;
+}
+function vk(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return n[q[q[a + 548 >> 2] + 16 >> 2]](a, b) | 0;
+}
+function G0(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ q[a >> 2] = b;
+ q[a + 4 >> 2] = c;
+}
+function nX(a) {
+ a = mX(a);
+ if (a) {
+  if (xX(a)) {
+   return a;
+  }
+  pX(a);
+ }
+ return 0;
+}
+function m_(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ Ea = 0;
+ return 0;
+}
+function jm(a, b) {
+ a = a | 0;
+ b = b | 0;
+ Y$(b, q[a + 132 >> 2] + 4 | 0, 156);
+ return 0;
+}
+function bK(a, b) {
+ a = a | 0;
+ b = b | 0;
+ a = q[a + 28 >> 2];
+ WJ(a);
+ o[a + 44 | 0] = 0;
+}
+function _o(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[b >> 2] = -1;
+ q[b + 4 >> 2] = 14;
+ return 0;
+}
+function KP(a) {
+ var b = 0;
+ if (a) {
+  b = q[a >> 2];
+  if (b) {
+   BQ(b);
+  }
+  M$(a);
+ }
+}
+function yK(a) {
+ a = a | 0;
+ q[a + 16 >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+ q[a + 24 >> 2] = 0;
+}
+function DY(a) {
+ if (a >>> 0 >= 4294963201) {
+  q[160854] = 0 - a;
+  a = -1;
+ }
+ return a;
+}
+function aE(a) {
+ a = a | 0;
+ var b = 0;
+ b = q[a + 4 >> 2];
+ if (b) {
+  vD(b);
+ }
+ M$(a);
+}
+function RE(a) {
+ a = a | 0;
+ return (r[a + 16 | 0] & 32 ? !(r[a + 12 | 0] & 32) : 0) | 0;
+}
+function Lc(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ q[b + 92 >> 2] = (c | 0) != 0;
+}
+function u0(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ n[a](b, c, d);
+}
+function ee() {
+ var a = 0;
+ a = N$(1, 28);
+ if (a) {
+  q[a + 20 >> 2] = 2;
+ }
+ return a;
+}
+function Um(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 16 >> 2] = q[a >> 2] + 296;
+ return 0;
+}
+function Mi(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[q[a + 8 >> 2] + 308 >> 2] = -1;
+ return 0;
+}
+function Ec(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ q[b + 4 >> 2] = (c | 0) != 0;
+}
+function Pk(a) {
+ a = a | 0;
+ return (a >>> 0 <= 255 ? s[(a << 1) + 9920 >> 1] : 0) | 0;
+}
+function jF(a) {
+ var b = 0;
+ b = q[a + 28 >> 2];
+ if (!b) {
+  b = XF(a);
+ }
+ return b;
+}
+function Xh(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return q[q[a + 388 >> 2] + (b << 2) >> 2];
+}
+function Xc(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ XM(b, c, d);
+}
+function Kc(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ OM(b, c, d);
+}
+function Jc(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ NM(b, c, d);
+}
+function CK(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return q[q[a + 424 >> 2] + (b << 2) >> 2];
+}
+function _M(a, b) {
+ return 255 - ((w(255 - b | 0, 255 - a | 0) >>> 0) / 255 | 0) | 0;
+}
+function LG(a, b) {
+ if (b) {
+  q[b >> 2] = q[a + 76 >> 2];
+ }
+ return q[a + 88 >> 2];
+}
+function cq(a) {
+ a = a | 0;
+ return a + -48 >>> 0 < 10 | (a & -33) + -65 >>> 0 < 26;
+}
+function Rm(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return 12;
+}
+function GK(a) {
+ a = a | 0;
+ a = a << 13 ^ a;
+ a = a >>> 17 ^ a;
+ return a << 5 ^ a;
+}
+function tj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ p[b >> 1] = s[a + 164 >> 1];
+ return 0;
+}
+function nl(a, b) {
+ a = a | 0;
+ b = b | 0;
+ p[b >> 1] = s[a + 312 >> 1];
+ return 0;
+}
+function nb(a) {
+ a = a | 0;
+ td(q[a + 8 >> 2]);
+ AM(q[a + 4 >> 2]);
+ ge(q[a >> 2]);
+}
+function fL(a) {
+ var b = 0;
+ if (!a) {
+  return;
+ }
+ b = q[a >> 2];
+ og(a);
+ M$(b);
+}
+function f$(a, b, c) {
+ c = c & 1;
+ o[c + a | 0] = b >>> 8;
+ o[(c ^ 1) + a | 0] = b;
+}
+function eG(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ d = d | 0;
+ return 0;
+}
+function Fg(a) {
+ var b = 0;
+ return !a | !(r[a + 8 | 0] & 8) ? b : s[a + 340 >> 1];
+}
+function pl(a, b) {
+ a = a | 0;
+ b = b | 0;
+ if (b) {
+  o[b | 0] = 1;
+ }
+ return 0;
+}
+function Nj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[b + 376 >> 2] = q[b + 376 >> 2] | 1;
+}
+function KF(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return NF(a, b, c) | 0;
+}
+function Jp(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return Nf(a, b, c) | 0;
+}
+function JF(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return MF(a, b, c) | 0;
+}
+function IF(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return LF(a, b, c) | 0;
+}
+function Hb(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return q[a + 16 >> 2] + w(b, 144) | 0;
+}
+function D_(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return B_(a, b, c) | 0;
+}
+function k0(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return n[a](b, c) | 0;
+}
+function XG(a) {
+ a = a | 0;
+ if (r[a + 13 | 0]) {
+  Jf(q[a + 4 >> 2]);
+ }
+ M$(a);
+}
+function Pc(a, b, c, d) {
+ a = a | 0;
+ b = b | 0;
+ c = +c;
+ d = +d;
+ QM(b, c / d);
+}
+function Jb(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return q[a + 20 >> 2] + w(b, 56) | 0;
+}
+function II(a) {
+ a = a | 0;
+ q[a + 140 >> 2] = q[a + 140 >> 2] + p[a + 144 >> 1];
+}
+function iT(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return iZ(q[a >> 2], q[b >> 2]) | 0;
+}
+function WW(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return bQ(q[a >> 2], q[b >> 2]) | 0;
+}
+function vj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ Y$(b, a + 168 | 0, 196);
+ return 0;
+}
+function gK(a) {
+ a = a | 0;
+ Qe(q[a >> 2], q[a + 4 >> 2]);
+ q[a + 4 >> 2] = 0;
+}
+function e$(a, b) {
+ b = b & 1;
+ return r[b + a | 0] << 8 | r[(b ^ 1) + a | 0];
+}
+function af(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return q[a >> 2] == q[b >> 2] | 0;
+}
+function Nc(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ q[b + 72 >> 2] = c;
+}
+function lR(a) {
+ if ((TY(q[a + 8 >> 2]) | 0) == -1) {
+  LY(q[a + 8 >> 2]);
+ }
+}
+function dG(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return 1517976186;
+}
+function W_(a) {
+ return (a | 0) != 0 & (a | 0) != 508368 & (a | 0) != 508392;
+}
+function MM(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return q[a >> 2] - q[b >> 2] | 0;
+}
+function Ri(a, b) {
+ a = a | 0;
+ b = b | 0;
+ Rh(q[a + 8 >> 2], 1);
+ return 0;
+}
+function Sc(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = +c;
+ v[b + 40 >> 3] = c;
+}
+function ao(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 16 >> 2] = b;
+ return 0;
+}
+function R0(a) {
+ if (a) {
+  return 31 - z(a + -1 ^ a) | 0;
+ }
+ return 32;
+}
+function OW(a, b) {
+ return q[b >> 2] == (a | 0) ? q[b + 4 >> 2] != 0 : 0;
+}
+function Hn(a, b) {
+ q[a + 92 >> 2] = b;
+ return b + -1 >>> 0 < 3 ? b : 0;
+}
+function ni(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return c | 0;
+}
+function mi(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return b | 0;
+}
+function eZ(a, b) {
+ a = dZ(a, b);
+ return r[a | 0] == (b & 255) ? a : 0;
+}
+function kR(a) {
+ return (F_(q[a + 4 >> 2], q[a >> 2]) ^ -1) >>> 31 | 0;
+}
+function gb(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ hb(a, b, c);
+}
+function Zy(a) {
+ return a >>> 0 <= 165 ? s[(a << 1) + 241808 >> 1] : 0;
+}
+function WX(a) {
+ if (q[a >> 2] != -1) {
+  q[a >> 2] = q[a >> 2] + 1;
+ }
+}
+function r0(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ n[a](b, c);
+}
+function o0(a) {
+ a = a | 0;
+ a = Ca - a & -16;
+ Ca = a;
+ return a | 0;
+}
+function _y(a) {
+ return a >>> 0 <= 86 ? s[(a << 1) + 242144 >> 1] : 0;
+}
+function wl(a) {
+ a = a | 0;
+ q[a + 16 >> 2] = 0;
+ q[a + 20 >> 2] = 0;
+}
+function k$(a) {
+ if (!a) {
+  return 0;
+ }
+ q[160854] = a;
+ return -1;
+}
+function _H(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return hf(289072, b) | 0;
+}
+function VK(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return hf(353856, b) | 0;
+}
+function To(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[b >> 2] = 0;
+ return 0;
+}
+function Sm(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return 12;
+}
+function $n(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return hf(163248, b) | 0;
+}
+function zl(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return hf(17200, b) | 0;
+}
+function cm(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return hf(18864, b) | 0;
+}
+function cl(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return hf(14304, b) | 0;
+}
+function cG(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return 7;
+}
+function bd(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ ud(b, c);
+}
+function bG(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return 1;
+}
+function aG(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ return 0;
+}
+function Xm(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return hf(25856, b) | 0;
+}
+function Wc(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ WM(b, c);
+}
+function Vc(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ VM(b, c);
+}
+function Rc(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ SM(b, c);
+}
+function Pl(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return hf(17536, b) | 0;
+}
+function Im(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return hf(25024, b) | 0;
+}
+function Gh(a) {
+ a = a | 0;
+ return Se(q[q[a + 156 >> 2] >> 2]) | 0;
+}
+function Fc(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ ie(b, c);
+}
+function Dc(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ he(b, c);
+}
+function Yi(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return hf(6640, b) | 0;
+}
+function Gj(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return Aj(a, 0, 0) | 0;
+}
+function cM(a, b) {
+ a = a | 0;
+ b = b | 0;
+ xO(b);
+ bM(q[a >> 2]);
+}
+function ub(a, b) {
+ a = a | 0;
+ b = b | 0;
+ ud(q[a + 8 >> 2], b);
+}
+function pb(a) {
+ a = a | 0;
+ UM(q[a + 4 >> 2], 1033, 0, 3, 1055);
+}
+function iP(a, b) {
+ v[b + 8 >> 3] = a;
+ v[b >> 3] = a;
+ return b;
+}
+function bE(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+ TD(b);
+}
+function Tc(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = +c;
+ TM(b, c);
+}
+function Qc(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = +c;
+ RM(b, c);
+}
+function Oc(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = +c;
+ QM(b, c);
+}
+function yc(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 136 >> 2] = b;
+}
+function uc(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 124 >> 2] = b;
+}
+function sc(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 120 >> 2] = b;
+}
+function qc(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 116 >> 2] = b;
+}
+function oc(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 112 >> 2] = b;
+}
+function mc(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 108 >> 2] = b;
+}
+function ky(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return ly(a, b) | 0;
+}
+function kc(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 104 >> 2] = b;
+}
+function iy(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return jy(a, b) | 0;
+}
+function gx(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return hx(a, b) | 0;
+}
+function fy(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return gy(a, b) | 0;
+}
+function ax(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return fx(a, b) | 0;
+}
+function YZ(a, b, c) {
+ if (!(r[a | 0] & 32)) {
+  b0(b, c, a);
+ }
+}
+function Xx(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return _x(a, b) | 0;
+}
+function Wx(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return Yx(a, b) | 0;
+}
+function Uw(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return Zw(a, b) | 0;
+}
+function Tx(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return Vx(a, b) | 0;
+}
+function Tw(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return Yw(a, b) | 0;
+}
+function Sw(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return Vw(a, b) | 0;
+}
+function Ow(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return Pw(a, b) | 0;
+}
+function K_(a, b) {
+ a = J_(a, b, 16, 0, -2147483648);
+ return a;
+}
+function Gw(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return Jw(a, b) | 0;
+}
+function Fw(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return Hw(a, b) | 0;
+}
+function Ek(a) {
+ a = a | 0;
+ n[q[q[a + 552 >> 2] + 28 >> 2]](a);
+}
+function $x(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return ay(a, b) | 0;
+}
+function $w(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return ex(a, b) | 0;
+}
+function s0(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return n[a](b) | 0;
+}
+function db(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 48 >> 2] = b;
+}
+function bb(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 44 >> 2] = b;
+}
+function Za(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 36 >> 2] = b;
+}
+function Yb(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 80 >> 2] = b;
+}
+function Xa(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 32 >> 2] = b;
+}
+function Wb(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 76 >> 2] = b;
+}
+function Va(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 28 >> 2] = b;
+}
+function Ub(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 68 >> 2] = b;
+}
+function Ta(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 24 >> 2] = b;
+}
+function Sb(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 64 >> 2] = b;
+}
+function Ra(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 20 >> 2] = b;
+}
+function Qb(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 60 >> 2] = b;
+}
+function Pa(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 16 >> 2] = b;
+}
+function Ob(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 56 >> 2] = b;
+}
+function Gb(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 12 >> 2] = b;
+}
+function $a(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 40 >> 2] = b;
+}
+function zb(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 8 >> 2] = b;
+}
+function rb(a) {
+ a = a | 0;
+ return q[q[a + 8 >> 2] + 8 >> 2];
+}
+function hj(a) {
+ a = a | 0;
+ q[q[a + 156 >> 2] + 36 >> 2] = 0;
+}
+function hE(a) {
+ a = a | 0;
+ vy(a + 24 | 0, 1818847073, 1, 0);
+}
+function VZ(a, b) {
+ if (!a) {
+  return 0;
+ }
+ return UZ(a, b);
+}
+function SY(a) {
+ a = Z(a | 0) | 0;
+ k$((a | 0) == 27 ? 0 : a);
+}
+function PY(a, b, c) {
+ return DY(la(a | 0, b | 0, c | 0) | 0);
+}
+function PD(a) {
+ a = a | 0;
+ vy(a + 24 | 0, 1667329140, 1, 0);
+}
+function MY(a, b, c) {
+ return DY(ia(a | 0, b | 0, c | 0) | 0);
+}
+function EL(a, b) {
+ a = a | 0;
+ b = b | 0;
+ qf(a + 20 | 0, b);
+}
+function Bb(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a + 4 >> 2] = b;
+}
+function wc(a, b) {
+ a = a | 0;
+ b = +b;
+ v[a + 128 >> 3] = b;
+}
+function qe(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return L$(b) | 0;
+}
+function oh(a) {
+ a = a | 0;
+ q[a - -64 >> 2] = 40;
+ return 0;
+}
+function _c(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return vd(b) | 0;
+}
+function Yc(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return Hd(b) | 0;
+}
+function UG(a, b) {
+ if (!a) {
+  return;
+ }
+ Qe(q[a >> 2], b);
+}
+function Hc(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return zM(b) | 0;
+}
+function Gq(a) {
+ if (q[a + 4 >> 2]) {
+  q[a + 4 >> 2] = 0;
+ }
+}
+function Ae(a) {
+ return ((a >> 31) + a | 0) + 32768 & -65536;
+}
+function $c(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return wd(b) | 0;
+}
+function kf(a, b) {
+ q[a + 168 >> 2] = b;
+ L(a | 0, 1);
+ F();
+}
+function ic(a, b) {
+ a = a | 0;
+ b = +b;
+ v[a + 96 >> 3] = b;
+}
+function gc(a, b) {
+ a = a | 0;
+ b = +b;
+ v[a + 88 >> 3] = b;
+}
+function ec(a, b) {
+ a = a | 0;
+ b = +b;
+ v[a + 72 >> 3] = b;
+}
+function cc(a, b) {
+ a = a | 0;
+ b = +b;
+ v[a + 64 >> 3] = b;
+}
+function ac(a, b) {
+ a = a | 0;
+ b = +b;
+ v[a + 56 >> 3] = b;
+}
+function Mb(a, b) {
+ a = a | 0;
+ b = +b;
+ v[a + 48 >> 3] = b;
+}
+function Hk(a) {
+ a = a | 0;
+ return q[a + 8 >> 2] >>> 9 & 1;
+}
+function _b(a, b) {
+ a = a | 0;
+ b = +b;
+ v[a + 8 >> 3] = b;
+}
+function Zq(a) {
+ a = a | 0;
+ return q[a >> 2] == 65535 | 0;
+}
+function vb(a) {
+ a = a | 0;
+ return q[q[a + 8 >> 2] >> 2];
+}
+function tb(a) {
+ a = a | 0;
+ return vd(q[a + 8 >> 2]) | 0;
+}
+function sb(a) {
+ a = a | 0;
+ return wd(q[a + 8 >> 2]) | 0;
+}
+function oM(a, b) {
+ a = a | 0;
+ b = b | 0;
+ bM(q[a >> 2]);
+}
+function i_(a) {
+ a = a | 0;
+ return Z(q[a + 60 >> 2]) | 0;
+}
+function fb(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[160196] = b;
+}
+function L_(a, b, c) {
+ return J_(a, b, c, -2147483648, 0);
+}
+function Db(a, b) {
+ a = a | 0;
+ b = b | 0;
+ q[a >> 2] = b;
+}
+function vZ(a) {
+ var b = 0;
+ b = uZ();
+ wZ(a);
+ return b;
+}
+function vY(a) {
+ return (a | 0) == 32 | a + -9 >>> 0 < 5;
+}
+function RQ(a, b) {
+ return (zY(a, b) | 0) == -1 ? -1 : 0;
+}
+function Qe(a, b) {
+ if (b) {
+  n[q[a + 8 >> 2]](a, b);
+ }
+}
+function GI(a, b, c) {
+ a = a | 0;
+ b = b | 0;
+ c = c | 0;
+}
+function V0(a, b, c, d) {
+ a = Q0(a, b, c, d);
+ return a;
+}
+function U0(a, b, c, d) {
+ a = P0(a, b, c, d);
+ return a;
+}
+function T0(a, b, c, d) {
+ a = O0(a, b, c, d);
+ return a;
+}
+function NL(a) {
+ a = a | 0;
+ M$(q[a + 12 >> 2]);
+ M$(a);
+}
+function Eh(a) {
+ a = a | 0;
+ Fh(a);
+ o[a + 112 | 0] = 0;
+}
+function xL(a) {
+ a = a | 0;
+ sn(q[a >> 2], a + 28 | 0);
+}
+function uL(a) {
+ a = a | 0;
+ Jf(q[a + 4 >> 2]);
+ M$(a);
+}
+function BL(a) {
+ a = a | 0;
+ rg(q[a >> 2], a + 20 | 0);
+}
+function AS(a, b, c) {
+ return yS(a, WQ(503816), b, c);
+}
+function vc(a) {
+ a = a | 0;
+ return +v[a + 128 >> 3];
+}
+function pm(a, b) {
+ a = a | 0;
+ b = b | 0;
+ Qe(a, b);
+}
+function XX(a, b) {
+ if (a) {
+  q[a + 16 >> 2] = b;
+ }
+}
+function XO(a) {
+ if ((a | 0) != 437968) {
+  M$(a);
+ }
+}
+function Na(a, b) {
+ a = a | 0;
+ b = b | 0;
+ return 0;
+}
+function zY(a, b) {
+ return DY(da(a | 0, b | 0) | 0);
+}
+function xc(a) {
+ a = a | 0;
+ return q[a + 136 >> 2];
+}
+function tc(a) {
+ a = a | 0;
+ return q[a + 124 >> 2];
+}
+function rc(a) {
+ a = a | 0;
+ return q[a + 120 >> 2];
+}
+function pj(a) {
+ a = a | 0;
+ return q[a + 364 >> 2];
+}
+function pc(a) {
+ a = a | 0;
+ return q[a + 116 >> 2];
+}
+function nc(a) {
+ a = a | 0;
+ return q[a + 112 >> 2];
+}
+function lc(a) {
+ a = a | 0;
+ return q[a + 108 >> 2];
+}
+function jc(a) {
+ a = a | 0;
+ return q[a + 104 >> 2];
+}
+function i0(a, b) {
+ a = a | 0;
+ b = b | 0;
+ n[a](b);
+}
+function hc(a) {
+ a = a | 0;
+ return +v[a + 96 >> 3];
+}
+function fc(a) {
+ a = a | 0;
+ return +v[a + 88 >> 3];
+}
+function dc(a) {
+ a = a | 0;
+ return +v[a + 72 >> 3];
+}
+function cZ(a, b) {
+ gZ(g0(a) + a | 0, b);
+ return a;
+}
+function bc(a) {
+ a = a | 0;
+ return +v[a + 64 >> 3];
+}
+function Zh(a) {
+ a = a | 0;
+ return s[a + 256 >> 1];
+}
+function ZW(a) {
+ return XW(a, 498364, 502640, 0, 1);
+}
+function QY(a, b) {
+ return DY(ma(a | 0, b | 0) | 0);
+}
+function NY(a, b) {
+ return DY(ja(a | 0, b | 0) | 0);
+}
+function Lb(a) {
+ a = a | 0;
+ return +v[a + 48 >> 3];
+}
+function F_(a, b) {
+ return DY(ua(a | 0, b | 0) | 0);
+}
+function $b(a) {
+ a = a | 0;
+ return +v[a + 56 >> 3];
+}
+function wY(a, b) {
+ return DY($(a | 0, b | 0) | 0);
+}
+function tM(a) {
+ sM(a);
+ M$(q[a + 4 >> 2]);
+ M$(a);
+}
+function dF(a) {
+ a = a | 0;
+ Cq(q[a >> 2]);
+ M$(a);
+}
+function cb(a) {
+ a = a | 0;
+ return q[a + 48 >> 2];
+}
+function ab(a) {
+ a = a | 0;
+ return q[a + 44 >> 2];
+}
+function _a(a) {
+ a = a | 0;
+ return q[a + 40 >> 2];
+}
+function Zb(a) {
+ a = a | 0;
+ return +v[a + 8 >> 3];
+}
+function Ya(a) {
+ a = a | 0;
+ return q[a + 36 >> 2];
+}
+function Xb(a) {
+ a = a | 0;
+ return q[a + 80 >> 2];
+}
+function Wa(a) {
+ a = a | 0;
+ return q[a + 32 >> 2];
+}
+function Vb(a) {
+ a = a | 0;
+ return q[a + 76 >> 2];
+}
+function Ua(a) {
+ a = a | 0;
+ return q[a + 28 >> 2];
+}
+function Tb(a) {
+ a = a | 0;
+ return q[a + 68 >> 2];
+}
+function Sa(a) {
+ a = a | 0;
+ return q[a + 24 >> 2];
+}
+function Rb(a) {
+ a = a | 0;
+ return q[a + 64 >> 2];
+}
+function Qa(a) {
+ a = a | 0;
+ return q[a + 20 >> 2];
+}
+function Pb(a) {
+ a = a | 0;
+ return q[a + 60 >> 2];
+}
+function Oa(a) {
+ a = a | 0;
+ return q[a + 16 >> 2];
+}
+function Nb(a) {
+ a = a | 0;
+ return q[a + 56 >> 2];
+}
+function If(a, b, c, d) {
+ return zf(a, b, c, d, 1);
+}
+function Fb(a) {
+ a = a | 0;
+ return q[a + 12 >> 2];
+}
+function $Y(a, b) {
+ return _Y(a, b, g0(a) + 1 | 0);
+}
+function yb(a) {
+ a = a | 0;
+ return q[a + 8 >> 2];
+}
+function vJ(a) {
+ a = a | 0;
+ wJ(a, q[a + 8 >> 2]);
+}
+function re(a, b) {
+ a = a | 0;
+ b = b | 0;
+ M$(b);
+}
+function q0(a) {
+ a = a | 0;
+ return Ga(a | 0) | 0;
+}
+function fd(a, b) {
+ a = a | 0;
+ b = b | 0;
+ je(b);
+}
+function cd(a, b) {
+ a = a | 0;
+ b = b | 0;
+ Bd(b);
+}
+function Zc(a, b) {
+ a = a | 0;
+ b = b | 0;
+ td(b);
+}
+function ZL(a, b) {
+ a = a | 0;
+ b = b | 0;
+ VL(b);
+}
+function Kd(a) {
+ if (a) {
+  M$(q[a + -4 >> 2]);
+ }
+}
+function Ic(a, b) {
+ a = a | 0;
+ b = b | 0;
+ AM(b);
+}
+function Gc(a, b) {
+ a = a | 0;
+ b = b | 0;
+ xd(b);
+}
+function Cc(a, b) {
+ a = a | 0;
+ b = b | 0;
+ ge(b);
+}
+function Ab(a) {
+ a = a | 0;
+ return q[a + 4 >> 2];
+}
+function Vl(a) {
+ a = a | 0;
+ uf(q[a + 160 >> 2]);
+}
+function Eb(a) {
+ a = a | 0;
+ if (a) {
+  M$(a);
+ }
+}
+function DX(a, b) {
+ return LQ(q[a + 12 >> 2], b);
+}
+function zI(a) {
+ a = a | 0;
+ return a + 112 | 0;
+}
+function yI(a) {
+ a = a | 0;
+ return a + 100 | 0;
+}
+function g_(a, b, c) {
+ return WZ(a, b, c, 0, 0);
+}
+function Vj(a) {
+ a = a | 0;
+ q[a + 16 >> 2] = 0;
+}
+function Ah(a) {
+ a = a | 0;
+ Ng(q[a + 24 >> 2]);
+}
+function AI(a) {
+ a = a | 0;
+ return a + 140 | 0;
+}
+function xb(a) {
+ a = a | 0;
+ Bd(q[a + 8 >> 2]);
+}
+function xY(a) {
+ return DY(aa(a | 0, 493) | 0);
+}
+function d_(a, b, c) {
+ WZ(a, b, c, 1006, 1007);
+}
+function lZ(a, b, c) {
+ kZ(a, b, c);
+ return a;
+}
+function PI(a) {
+ a = a | 0;
+ Qe(q[a >> 2], a);
+}
+function Cb(a) {
+ a = a | 0;
+ return q[a >> 2];
+}
+function zS(a, b, c) {
+ return yS(a, b, 0, c);
+}
+function Bc(a) {
+ a = a | 0;
+ return ee() | 0;
+}
+function Ac(a) {
+ a = a | 0;
+ return 20971520;
+}
+function h_(a, b, c) {
+ WZ(a, b, c, 1006, 0);
+}
+function SR(a, b) {
+ return OR(a, b, 837, 0);
+}
+function TZ(a) {
+ return a + -48 >>> 0 < 10;
+}
+function ul(a, b) {
+ a = a | 0;
+ b = b | 0;
+}
+function YW(a, b) {
+ return UW(a, b, 1, 1);
+}
+function TY(a) {
+ return DY(pa(a | 0) | 0);
+}
+function MX(a, b, c) {
+ return IX(a, b, c);
+}
+function LY(a) {
+ return DY(ga(a | 0) | 0);
+}
+function KY(a) {
+ return JY(a, q[160522]);
+}
+function sQ(a) {
+ return r[a | 0] == 126;
+}
+function gZ(a, b) {
+ fZ(a, b);
+ return a;
+}
+function tQ(a) {
+ return r[a | 0] == 47;
+}
+function GY(a) {
+ SY(q[a >> 2]);
+ M$(a);
+}
+function uj(a) {
+ a = a | 0;
+ return 1;
+}
+function Hm(a) {
+ a = a | 0;
+ return 0;
+}
+function xO(a) {
+ Kd(q[a + 20 >> 2]);
+}
+function sZ(a, b) {
+ return W$(a, b);
+}
+function p0(a) {
+ a = a | 0;
+ Ca = a;
+}
+function h0(a) {
+ a = a | 0;
+ n[a]();
+}
+function QQ(a, b) {
+ return zY(a, b);
+}
+function Ns(a, b) {
+ return tt(a, b);
+}
+function N0(a, b) {
+ i(a | 0, b | 0);
+}
+function se(a) {
+ a = a | 0;
+ M$(a);
+}
+function rX(a) {
+ a = a | 0;
+ sX(a);
+}
+function VX(a) {
+ a = a | 0;
+ TW(a);
+}
+function Fq(a) {
+ a = a | 0;
+ Cq(a);
+}
+function OZ(a) {
+ BZ(a, q[126918]);
+}
+function zc() {
+ return K$(1) | 0;
+}
+function n0() {
+ return Ca | 0;
+}
+function IY() {
+ return 643416;
+}
+function sd() {
+ return 1024;
+}
+function rd() {
+ return 512;
+}
+function qd() {
+ return 256;
+}
+function ph(a) {
+ a = a | 0;
+}
+function pd() {
+ return 128;
+}
+function od() {
+ return 64;
+}
+function nd() {
+ return 32;
+}
+function md() {
+ return 16;
+}
+function ld() {
+ return 8;
+}
+function kd() {
+ return 4;
+}
+function jd() {
+ return 3;
+}
+function id() {
+ return 2;
+}
+function hd() {
+ return 1;
+}
+function gd() {
+ return 0;
+}
+function La() {
+ i$();
+}
+function aJ() {}
+
+// EMSCRIPTEN_END_FUNCS
+
+  n[1] = Ma;
+  n[2] = fe;
+  n[3] = me;
+  n[4] = ne;
+  n[5] = pe;
+  n[6] = qe;
+  n[7] = re;
+  n[8] = Ze;
+  n[9] = _e;
+  n[10] = af;
+  n[11] = bf;
+  n[12] = Dg;
+  n[13] = ch;
+  n[14] = dh;
+  n[15] = fh;
+  n[16] = gh;
+  n[17] = ih;
+  n[18] = jh;
+  n[19] = kh;
+  n[20] = lh;
+  n[21] = mh;
+  n[22] = nh;
+  n[23] = wh;
+  n[24] = xh;
+  n[25] = yh;
+  n[26] = zh;
+  n[27] = Ah;
+  n[28] = Ri;
+  n[29] = Lh;
+  n[30] = Th;
+  n[31] = Uh;
+  n[32] = Vh;
+  n[33] = Wh;
+  n[34] = Xh;
+  n[35] = Yh;
+  n[36] = Zh;
+  n[37] = _h;
+  n[38] = bi;
+  n[39] = ci;
+  n[40] = ei;
+  n[41] = fi;
+  n[42] = gi;
+  n[43] = hi;
+  n[44] = ii;
+  n[45] = ki;
+  n[46] = mi;
+  n[47] = ni;
+  n[48] = oi;
+  n[49] = pi;
+  n[50] = qi;
+  n[51] = ri;
+  n[52] = si;
+  n[53] = ti;
+  n[54] = ui;
+  n[55] = vi;
+  n[56] = Mi;
+  n[57] = oh;
+  n[58] = ph;
+  n[59] = qh;
+  n[60] = rh;
+  n[61] = Bh;
+  n[62] = Dh;
+  n[63] = Eh;
+  n[64] = Gh;
+  n[65] = Hh;
+  n[66] = Oh;
+  n[67] = Ph;
+  n[68] = Qh;
+  n[69] = Sh;
+  n[70] = wi;
+  n[71] = yi;
+  n[72] = zi;
+  n[73] = Ei;
+  n[74] = Fi;
+  n[75] = uh;
+  n[76] = Gi;
+  n[77] = Ch;
+  n[78] = Ni;
+  n[79] = Qi;
+  n[80] = vh;
+  n[81] = th;
+  n[82] = Si;
+  n[83] = Ti;
+  n[84] = bj;
+  n[85] = lj;
+  n[86] = mj;
+  n[87] = Xi;
+  n[88] = ph;
+  n[89] = Yi;
+  n[90] = Zi;
+  n[91] = dj;
+  n[92] = ej;
+  n[93] = fj;
+  n[94] = gj;
+  n[95] = hj;
+  n[96] = ij;
+  n[97] = jj;
+  n[98] = kj;
+  n[99] = nj;
+  n[100] = oj;
+  n[101] = pj;
+  n[102] = qj;
+  n[103] = rj;
+  n[104] = sj;
+  n[105] = tj;
+  n[106] = uj;
+  n[107] = vj;
+  n[108] = wj;
+  n[109] = vg;
+  n[110] = wg;
+  n[111] = xj;
+  n[112] = yj;
+  n[113] = zj;
+  n[114] = Aj;
+  n[115] = Bj;
+  n[116] = Dj;
+  n[117] = Ej;
+  n[118] = Fj;
+  n[119] = Gj;
+  n[120] = Hj;
+  n[121] = Ij;
+  n[122] = aj;
+  n[123] = Jj;
+  n[124] = Kj;
+  n[125] = Lj;
+  n[126] = Mj;
+  n[127] = Nj;
+  n[128] = Oj;
+  n[129] = Qj;
+  n[130] = Rj;
+  n[131] = Sj;
+  n[132] = Tj;
+  n[133] = Zj;
+  n[134] = ok;
+  n[135] = pk;
+  n[136] = Uj;
+  n[137] = Vj;
+  n[138] = Wj;
+  n[139] = Xj;
+  n[140] = Yj;
+  n[141] = _j;
+  n[142] = $j;
+  n[143] = ak;
+  n[144] = Xi;
+  n[145] = ph;
+  n[146] = bk;
+  n[147] = ck;
+  n[148] = ik;
+  n[149] = jk;
+  n[150] = lk;
+  n[151] = mk;
+  n[152] = hj;
+  n[153] = nk;
+  n[154] = Oh;
+  n[155] = qk;
+  n[156] = rk;
+  n[157] = sk;
+  n[158] = tk;
+  n[159] = uk;
+  n[160] = vk;
+  n[161] = wk;
+  n[162] = xk;
+  n[163] = yk;
+  n[164] = zk;
+  n[165] = Ak;
+  n[166] = Bk;
+  n[167] = Ck;
+  n[168] = Dk;
+  n[169] = Ek;
+  n[170] = Fk;
+  n[171] = Gk;
+  n[172] = Hk;
+  n[173] = Ik;
+  n[174] = Jk;
+  n[175] = Kk;
+  n[176] = Lk;
+  n[177] = Mk;
+  n[178] = Nk;
+  n[179] = Ok;
+  n[180] = Pk;
+  n[181] = Qk;
+  n[182] = Sk;
+  n[183] = Tk;
+  n[184] = Uk;
+  n[185] = Wk;
+  n[186] = Xk;
+  n[187] = Yk;
+  n[188] = Zk;
+  n[189] = _k;
+  n[190] = $k;
+  n[191] = al;
+  n[192] = bl;
+  n[193] = jl;
+  n[194] = Xi;
+  n[195] = ph;
+  n[196] = cl;
+  n[197] = dl;
+  n[198] = el;
+  n[199] = fl;
+  n[200] = gl;
+  n[201] = hl;
+  n[202] = hj;
+  n[203] = il;
+  n[204] = kl;
+  n[205] = ll;
+  n[206] = ml;
+  n[207] = nl;
+  n[208] = ol;
+  n[209] = pl;
+  n[210] = ql;
+  n[211] = rl;
+  n[212] = sl;
+  n[213] = tl;
+  n[214] = ul;
+  n[215] = Bl;
+  n[216] = vl;
+  n[217] = wl;
+  n[218] = xl;
+  n[219] = yl;
+  n[220] = zl;
+  n[221] = Al;
+  n[222] = Cl;
+  n[223] = Dl;
+  n[224] = El;
+  n[225] = Fl;
+  n[226] = Hl;
+  n[227] = Jl;
+  n[228] = Il;
+  n[229] = Kl;
+  n[230] = Ll;
+  n[231] = Ml;
+  n[232] = Nl;
+  n[233] = Ol;
+  n[234] = ph;
+  n[235] = Pl;
+  n[236] = Ql;
+  n[237] = Rl;
+  n[238] = Sl;
+  n[239] = Tl;
+  n[240] = Ul;
+  n[241] = Vl;
+  n[242] = Wl;
+  n[243] = Xl;
+  n[244] = Yl;
+  n[245] = qj;
+  n[246] = Zl;
+  n[247] = pj;
+  n[248] = sj;
+  n[249] = tj;
+  n[250] = uj;
+  n[251] = vj;
+  n[252] = _l;
+  n[253] = $l;
+  n[254] = am;
+  n[255] = bm;
+  n[256] = cm;
+  n[257] = dm;
+  n[258] = fm;
+  n[259] = gm;
+  n[260] = hm;
+  n[261] = im;
+  n[262] = jm;
+  n[263] = km;
+  n[264] = lm;
+  n[265] = mm;
+  n[266] = pm;
+  n[267] = qm;
+  n[268] = um;
+  n[269] = vm;
+  n[270] = qm;
+  n[271] = pm;
+  n[272] = zm;
+  n[273] = Dm;
+  n[274] = Em;
+  n[275] = Hm;
+  n[276] = ph;
+  n[277] = Im;
+  n[278] = Jm;
+  n[279] = Lm;
+  n[280] = Mm;
+  n[281] = Nm;
+  n[282] = Om;
+  n[283] = Pm;
+  n[284] = Qm;
+  n[285] = Rm;
+  n[286] = Sm;
+  n[287] = Um;
+  n[288] = Vj;
+  n[289] = Vm;
+  n[290] = Wm;
+  n[291] = Zm;
+  n[292] = gn;
+  n[293] = jn;
+  n[294] = kn;
+  n[295] = ln;
+  n[296] = Xm;
+  n[297] = Ym;
+  n[298] = $m;
+  n[299] = an;
+  n[300] = bn;
+  n[301] = cn;
+  n[302] = dn;
+  n[303] = en;
+  n[304] = mn;
+  n[305] = wl;
+  n[306] = nn;
+  n[307] = on;
+  n[308] = re;
+  n[309] = qe;
+  n[310] = ap;
+  n[311] = fp;
+  n[312] = hp;
+  n[313] = fp;
+  n[314] = hp;
+  n[315] = Tp;
+  n[316] = Up;
+  n[317] = jf;
+  n[318] = Xf;
+  n[319] = Yp;
+  n[320] = Zp;
+  n[321] = _p;
+  n[322] = cq;
+  n[323] = fq;
+  n[324] = dp;
+  n[325] = ep;
+  n[326] = ip;
+  n[327] = lp;
+  n[328] = $n;
+  n[329] = mp;
+  n[330] = np;
+  n[331] = op;
+  n[332] = pp;
+  n[333] = qp;
+  n[334] = rp;
+  n[335] = sp;
+  n[336] = tp;
+  n[337] = up;
+  n[338] = vp;
+  n[339] = wp;
+  n[340] = xp;
+  n[341] = yp;
+  n[342] = zp;
+  n[343] = Bp;
+  n[344] = Dp;
+  n[345] = Ep;
+  n[346] = Fp;
+  n[347] = Gp;
+  n[348] = Hp;
+  n[349] = Ip;
+  n[350] = Jp;
+  n[351] = Kp;
+  n[352] = Lp;
+  n[353] = Mp;
+  n[354] = Np;
+  n[355] = Op;
+  n[356] = Pp;
+  n[357] = Qp;
+  n[358] = Rp;
+  n[359] = Sp;
+  n[360] = jp;
+  n[361] = Vp;
+  n[362] = ao;
+  n[363] = bo;
+  n[364] = co;
+  n[365] = eo;
+  n[366] = fo;
+  n[367] = go;
+  n[368] = ho;
+  n[369] = io;
+  n[370] = jo;
+  n[371] = ko;
+  n[372] = lo;
+  n[373] = oo;
+  n[374] = qo;
+  n[375] = ro;
+  n[376] = so;
+  n[377] = to;
+  n[378] = uo;
+  n[379] = vo;
+  n[380] = wo;
+  n[381] = xo;
+  n[382] = yo;
+  n[383] = zo;
+  n[384] = Ao;
+  n[385] = Bo;
+  n[386] = Co;
+  n[387] = Do;
+  n[388] = Eo;
+  n[389] = Fo;
+  n[390] = Ho;
+  n[391] = Jo;
+  n[392] = Ko;
+  n[393] = Eo;
+  n[394] = Lo;
+  n[395] = No;
+  n[396] = Po;
+  n[397] = Qo;
+  n[398] = Ro;
+  n[399] = So;
+  n[400] = Na;
+  n[401] = To;
+  n[402] = Uo;
+  n[403] = Vo;
+  n[404] = Wo;
+  n[405] = Xo;
+  n[406] = Yo;
+  n[407] = Zo;
+  n[408] = _o;
+  n[409] = $o;
+  n[410] = _j;
+  n[411] = bp;
+  n[412] = cp;
+  n[413] = $p;
+  n[414] = aq;
+  n[415] = bq;
+  n[416] = gq;
+  n[417] = hq;
+  n[418] = iq;
+  n[419] = jq;
+  n[420] = kq;
+  n[421] = oq;
+  n[422] = pq;
+  n[423] = qq;
+  n[424] = rq;
+  n[425] = sq;
+  n[426] = tq;
+  n[427] = M$;
+  n[428] = Fq;
+  n[429] = Zq;
+  n[430] = vt;
+  n[431] = Nt;
+  n[432] = St;
+  n[433] = Au;
+  n[434] = Tu;
+  n[435] = Fw;
+  n[436] = Gw;
+  n[437] = Kw;
+  n[438] = Mw;
+  n[439] = Ow;
+  n[440] = Sw;
+  n[441] = Tw;
+  n[442] = Uw;
+  n[443] = _w;
+  n[444] = $w;
+  n[445] = ax;
+  n[446] = gx;
+  n[447] = Vu;
+  n[448] = Wu;
+  n[449] = Tx;
+  n[450] = Wx;
+  n[451] = Xx;
+  n[452] = $x;
+  n[453] = fy;
+  n[454] = iy;
+  n[455] = ky;
+  n[456] = Sx;
+  n[457] = Gu;
+  n[458] = zy;
+  n[459] = Dy;
+  n[460] = Ey;
+  n[461] = Hy;
+  n[462] = Iy;
+  n[463] = Jy;
+  n[464] = Gy;
+  n[465] = Ky;
+  n[466] = Ly;
+  n[467] = se;
+  n[468] = My;
+  n[469] = Ny;
+  n[470] = Oy;
+  n[471] = cA;
+  n[472] = dA;
+  n[473] = eA;
+  n[474] = fA;
+  n[475] = gA;
+  n[476] = hA;
+  n[477] = iA;
+  n[478] = jA;
+  n[479] = kA;
+  n[480] = lA;
+  n[481] = mA;
+  n[482] = yC;
+  n[483] = AC;
+  n[484] = CC;
+  n[485] = kC;
+  n[486] = FC;
+  n[487] = HC;
+  n[488] = JC;
+  n[489] = oC;
+  n[490] = pC;
+  n[491] = NC;
+  n[492] = PC;
+  n[493] = RC;
+  n[494] = TC;
+  n[495] = VC;
+  n[496] = XC;
+  n[497] = ZC;
+  n[498] = $C;
+  n[499] = mD;
+  n[500] = nD;
+  n[501] = oD;
+  n[502] = iC;
+  n[503] = iC;
+  n[504] = jC;
+  n[505] = lC;
+  n[506] = mC;
+  n[507] = nC;
+  n[508] = qC;
+  n[509] = rC;
+  n[510] = ln;
+  n[511] = ln;
+  n[512] = sC;
+  n[513] = tC;
+  n[514] = uC;
+  n[515] = lC;
+  n[516] = tD;
+  n[517] = zD;
+  n[518] = AD;
+  n[519] = yD;
+  n[520] = uD;
+  n[521] = vD;
+  n[522] = BD;
+  n[523] = CD;
+  n[524] = DD;
+  n[525] = OD;
+  n[526] = PD;
+  n[527] = QD;
+  n[528] = se;
+  n[529] = RD;
+  n[530] = SD;
+  n[531] = WD;
+  n[532] = XD;
+  n[533] = YD;
+  n[534] = ZD;
+  n[535] = _D;
+  n[536] = Jy;
+  n[537] = VD;
+  n[538] = $D;
+  n[539] = aE;
+  n[540] = bE;
+  n[541] = Ny;
+  n[542] = cE;
+  n[543] = eE;
+  n[544] = fE;
+  n[545] = gE;
+  n[546] = Jy;
+  n[547] = dE;
+  n[548] = hE;
+  n[549] = iE;
+  n[550] = se;
+  n[551] = bE;
+  n[552] = kE;
+  n[553] = lE;
+  n[554] = mE;
+  n[555] = qE;
+  n[556] = rE;
+  n[557] = Jy;
+  n[558] = uE;
+  n[559] = pE;
+  n[560] = hE;
+  n[561] = sE;
+  n[562] = FE;
+  n[563] = GE;
+  n[564] = IE;
+  n[565] = RE;
+  n[566] = QE;
+  n[567] = hC;
+  n[568] = dF;
+  n[569] = eF;
+  n[570] = HF;
+  n[571] = IF;
+  n[572] = JF;
+  n[573] = KF;
+  n[574] = aG;
+  n[575] = bG;
+  n[576] = cG;
+  n[577] = mi;
+  n[578] = dG;
+  n[579] = ln;
+  n[580] = ln;
+  n[581] = eG;
+  n[582] = ZG;
+  n[583] = XG;
+  n[584] = cH;
+  n[585] = dH;
+  n[586] = eH;
+  n[587] = fH;
+  n[588] = gH;
+  n[589] = hH;
+  n[590] = iH;
+  n[591] = jH;
+  n[592] = kH;
+  n[593] = lH;
+  n[594] = mH;
+  n[595] = nH;
+  n[596] = XH;
+  n[597] = oH;
+  n[598] = sH;
+  n[599] = uH;
+  n[600] = vH;
+  n[601] = wH;
+  n[602] = FH;
+  n[603] = GH;
+  n[604] = JH;
+  n[605] = OH;
+  n[606] = QH;
+  n[607] = RH;
+  n[608] = SH;
+  n[609] = HH;
+  n[610] = sH;
+  n[611] = uH;
+  n[612] = vH;
+  n[613] = IH;
+  n[614] = VH;
+  n[615] = ZH;
+  n[616] = ph;
+  n[617] = _H;
+  n[618] = cI;
+  n[619] = dI;
+  n[620] = eI;
+  n[621] = lI;
+  n[622] = mI;
+  n[623] = nI;
+  n[624] = oI;
+  n[625] = pI;
+  n[626] = qI;
+  n[627] = gI;
+  n[628] = rI;
+  n[629] = sI;
+  n[630] = tI;
+  n[631] = uI;
+  n[632] = vI;
+  n[633] = yI;
+  n[634] = zI;
+  n[635] = AI;
+  n[636] = kI;
+  n[637] = wI;
+  n[638] = II;
+  n[639] = JI;
+  n[640] = KI;
+  n[641] = LI;
+  n[642] = ph;
+  n[643] = NI;
+  n[644] = OI;
+  n[645] = GI;
+  n[646] = ZI;
+  n[647] = $I;
+  n[648] = FI;
+  n[649] = GI;
+  n[650] = aG;
+  n[651] = HI;
+  n[652] = PI;
+  n[653] = QI;
+  n[654] = RI;
+  n[655] = SI;
+  n[656] = TI;
+  n[657] = UI;
+  n[658] = pg;
+  n[659] = aJ;
+  n[660] = aJ;
+  n[661] = jJ;
+  n[662] = FI;
+  n[663] = GI;
+  n[664] = aG;
+  n[665] = bJ;
+  n[666] = PI;
+  n[667] = eJ;
+  n[668] = fJ;
+  n[669] = SI;
+  n[670] = TI;
+  n[671] = UI;
+  n[672] = hJ;
+  n[673] = iJ;
+  n[674] = kJ;
+  n[675] = lJ;
+  n[676] = nJ;
+  n[677] = oJ;
+  n[678] = $J;
+  n[679] = aK;
+  n[680] = bK;
+  n[681] = cK;
+  n[682] = mj;
+  n[683] = CK;
+  n[684] = qJ;
+  n[685] = rJ;
+  n[686] = sJ;
+  n[687] = tJ;
+  n[688] = uJ;
+  n[689] = ph;
+  n[690] = vJ;
+  n[691] = xJ;
+  n[692] = BJ;
+  n[693] = DJ;
+  n[694] = FJ;
+  n[695] = HJ;
+  n[696] = IJ;
+  n[697] = KJ;
+  n[698] = LJ;
+  n[699] = MJ;
+  n[700] = NJ;
+  n[701] = OJ;
+  n[702] = PJ;
+  n[703] = QJ;
+  n[704] = PJ;
+  n[705] = RJ;
+  n[706] = SJ;
+  n[707] = TJ;
+  n[708] = UJ;
+  n[709] = VJ;
+  n[710] = WJ;
+  n[711] = XJ;
+  n[712] = YJ;
+  n[713] = ZJ;
+  n[714] = _J;
+  n[715] = fK;
+  n[716] = gK;
+  n[717] = hK;
+  n[718] = sK;
+  n[719] = tK;
+  n[720] = uK;
+  n[721] = vK;
+  n[722] = wK;
+  n[723] = xK;
+  n[724] = yK;
+  n[725] = zK;
+  n[726] = AK;
+  n[727] = BK;
+  n[728] = _j;
+  n[729] = DK;
+  n[730] = EK;
+  n[731] = lK;
+  n[732] = PJ;
+  n[733] = RJ;
+  n[734] = mK;
+  n[735] = nK;
+  n[736] = oK;
+  n[737] = pK;
+  n[738] = WJ;
+  n[739] = qK;
+  n[740] = rK;
+  n[741] = FK;
+  n[742] = GK;
+  n[743] = HK;
+  n[744] = IK;
+  n[745] = ZK;
+  n[746] = WK;
+  n[747] = YK;
+  n[748] = _K;
+  n[749] = $K;
+  n[750] = aL;
+  n[751] = bL;
+  n[752] = VK;
+  n[753] = nY;
+  n[754] = rL;
+  n[755] = sL;
+  n[756] = tL;
+  n[757] = uL;
+  n[758] = wL;
+  n[759] = xL;
+  n[760] = yL;
+  n[761] = zL;
+  n[762] = AL;
+  n[763] = BL;
+  n[764] = CL;
+  n[765] = DL;
+  n[766] = EL;
+  n[767] = FL;
+  n[768] = NL;
+  n[769] = OL;
+  n[770] = WL;
+  n[771] = XL;
+  n[772] = YL;
+  n[773] = LL;
+  n[774] = ZL;
+  n[775] = _L;
+  n[776] = $L;
+  n[777] = aM;
+  n[778] = DM;
+  n[779] = cM;
+  n[780] = dM;
+  n[781] = eM;
+  n[782] = fM;
+  n[783] = EM;
+  n[784] = gM;
+  n[785] = hM;
+  n[786] = iM;
+  n[787] = jM;
+  n[788] = CM;
+  n[789] = kM;
+  n[790] = lM;
+  n[791] = mM;
+  n[792] = nM;
+  n[793] = yN;
+  n[794] = oM;
+  n[795] = HM;
+  n[796] = MM;
+  n[797] = CN;
+  n[798] = DN;
+  n[799] = EN;
+  n[800] = FN;
+  n[801] = GN;
+  n[802] = HN;
+  n[803] = ln;
+  n[804] = IN;
+  n[805] = JN;
+  n[806] = nO;
+  n[807] = oO;
+  n[808] = pO;
+  n[809] = qO;
+  n[810] = rO;
+  n[811] = sO;
+  n[812] = tO;
+  n[813] = DO;
+  n[814] = EO;
+  n[815] = FO;
+  n[816] = GO;
+  n[817] = HO;
+  n[818] = IO;
+  n[819] = JO;
+  n[820] = LO;
+  n[821] = NO;
+  n[822] = KO;
+  n[823] = MO;
+  n[824] = OO;
+  n[825] = PO;
+  n[826] = RO;
+  n[827] = TO;
+  n[828] = QO;
+  n[829] = SO;
+  n[830] = UO;
+  n[831] = xP;
+  n[832] = MM;
+  n[833] = MP;
+  n[834] = NP;
+  n[835] = vR;
+  n[836] = PR;
+  n[837] = TR;
+  n[838] = iT;
+  n[839] = nT;
+  n[840] = oT;
+  n[841] = pT;
+  n[842] = qT;
+  n[843] = rT;
+  n[844] = uT;
+  n[845] = vT;
+  n[846] = wT;
+  n[847] = zT;
+  n[848] = DT;
+  n[849] = ET;
+  n[850] = GT;
+  n[851] = IT;
+  n[852] = NT;
+  n[853] = PT;
+  n[854] = QT;
+  n[855] = RT;
+  n[856] = ST;
+  n[857] = TT;
+  n[858] = UT;
+  n[859] = VT;
+  n[860] = WT;
+  n[861] = XT;
+  n[862] = YT;
+  n[863] = ZT;
+  n[864] = _T;
+  n[865] = $T;
+  n[866] = aU;
+  n[867] = bU;
+  n[868] = cU;
+  n[869] = dU;
+  n[870] = eU;
+  n[871] = Na;
+  n[872] = fU;
+  n[873] = gU;
+  n[874] = hU;
+  n[875] = iU;
+  n[876] = jU;
+  n[877] = GU;
+  n[878] = LU;
+  n[879] = NU;
+  n[880] = OU;
+  n[881] = PU;
+  n[882] = QU;
+  n[883] = RU;
+  n[884] = SU;
+  n[885] = TU;
+  n[886] = UU;
+  n[887] = VU;
+  n[888] = WU;
+  n[889] = XU;
+  n[890] = YU;
+  n[891] = ZU;
+  n[892] = _U;
+  n[893] = kU;
+  n[894] = pU;
+  n[895] = rU;
+  n[896] = sU;
+  n[897] = tU;
+  n[898] = uU;
+  n[899] = vU;
+  n[900] = wU;
+  n[901] = xU;
+  n[902] = yU;
+  n[903] = zU;
+  n[904] = AU;
+  n[905] = BU;
+  n[906] = CU;
+  n[907] = DU;
+  n[908] = EU;
+  n[909] = FU;
+  n[910] = $U;
+  n[911] = aV;
+  n[912] = bV;
+  n[913] = ln;
+  n[914] = dV;
+  n[915] = AV;
+  n[916] = eV;
+  n[917] = fV;
+  n[918] = gV;
+  n[919] = hV;
+  n[920] = iV;
+  n[921] = jV;
+  n[922] = kV;
+  n[923] = lV;
+  n[924] = mV;
+  n[925] = nV;
+  n[926] = oV;
+  n[927] = pV;
+  n[928] = qV;
+  n[929] = rV;
+  n[930] = sV;
+  n[931] = tV;
+  n[932] = uV;
+  n[933] = vV;
+  n[934] = wV;
+  n[935] = cV;
+  n[936] = FV;
+  n[937] = NV;
+  n[938] = TV;
+  n[939] = UV;
+  n[940] = xV;
+  n[941] = yV;
+  n[942] = DV;
+  n[943] = zV;
+  n[944] = BV;
+  n[945] = CV;
+  n[946] = EV;
+  n[947] = GV;
+  n[948] = HV;
+  n[949] = IV;
+  n[950] = LV;
+  n[951] = KV;
+  n[952] = JV;
+  n[953] = MV;
+  n[954] = OV;
+  n[955] = PV;
+  n[956] = QV;
+  n[957] = RV;
+  n[958] = SV;
+  n[959] = VV;
+  n[960] = O$;
+  n[961] = L$;
+  n[962] = ZV;
+  n[963] = CT;
+  n[964] = sT;
+  n[965] = kW;
+  n[966] = HT;
+  n[967] = mT;
+  n[968] = fW;
+  n[969] = nW;
+  n[970] = uW;
+  n[971] = FT;
+  n[972] = yT;
+  n[973] = GW;
+  n[974] = IW;
+  n[975] = DW;
+  n[976] = JW;
+  n[977] = WW;
+  n[978] = _W;
+  n[979] = ph;
+  n[980] = $W;
+  n[981] = aX;
+  n[982] = bX;
+  n[983] = rX;
+  n[984] = VX;
+  n[985] = bY;
+  n[986] = eY;
+  n[987] = fY;
+  n[988] = gY;
+  n[989] = hY;
+  n[990] = iY;
+  n[991] = jY;
+  n[992] = kY;
+  n[993] = lY;
+  n[994] = cY;
+  n[995] = mY;
+  n[996] = oY;
+  n[997] = pY;
+  n[998] = qY;
+  n[999] = rY;
+  n[1e3] = sY;
+  n[1001] = QZ;
+  n[1002] = G_;
+  n[1003] = FZ;
+  n[1004] = i_;
+  n[1005] = LZ;
+  n[1006] = e_;
+  n[1007] = f_;
+  n[1008] = Hm;
+  n[1009] = m_;
+  n[1010] = D_;
+  function Fa() {
+   return buffer.byteLength / 65536 | 0;
+  }
+  function Ga(pagesToAdd) {
+   pagesToAdd = pagesToAdd | 0;
+   var Ha = Fa() | 0;
+   var Ia = Ha + pagesToAdd | 0;
+   if (Ha < Ia && Ia < 65536) {
+    var Ja = new ArrayBuffer(w(Ia, 65536));
+    var Ka = new global.Int8Array(Ja);
+    Ka.set(o);
+    o = Ka;
+    o = new global.Int8Array(Ja);
+    p = new global.Int16Array(Ja);
+    q = new global.Int32Array(Ja);
+    r = new global.Uint8Array(Ja);
+    s = new global.Uint16Array(Ja);
+    t = new global.Uint32Array(Ja);
+    u = new global.Float32Array(Ja);
+    v = new global.Float64Array(Ja);
+    buffer = Ja;
+    m.buffer = Ja;
+   }
+   return Ha;
+  }
+  return {
+   "__wasm_call_ctors": La,
+   "main": Na,
+   "emscripten_bind_ASS_Event_get_Start_0": F0,
+   "emscripten_bind_ASS_Event_set_Start_1": G0,
+   "emscripten_bind_ASS_Event_get_Duration_0": H0,
+   "emscripten_bind_ASS_Event_set_Duration_1": I0,
+   "emscripten_bind_ASS_Event_get_ReadOrder_0": Oa,
+   "emscripten_bind_ASS_Event_set_ReadOrder_1": Pa,
+   "emscripten_bind_ASS_Event_get_Layer_0": Qa,
+   "emscripten_bind_ASS_Event_set_Layer_1": Ra,
+   "emscripten_bind_ASS_Event_get_Style_0": Sa,
+   "emscripten_bind_ASS_Event_set_Style_1": Ta,
+   "emscripten_bind_ASS_Event_get_Name_0": Ua,
+   "emscripten_bind_ASS_Event_set_Name_1": Va,
+   "emscripten_bind_ASS_Event_get_MarginL_0": Wa,
+   "emscripten_bind_ASS_Event_set_MarginL_1": Xa,
+   "emscripten_bind_ASS_Event_get_MarginR_0": Ya,
+   "emscripten_bind_ASS_Event_set_MarginR_1": Za,
+   "emscripten_bind_ASS_Event_get_MarginV_0": _a,
+   "emscripten_bind_ASS_Event_set_MarginV_1": $a,
+   "emscripten_bind_ASS_Event_get_Effect_0": ab,
+   "emscripten_bind_ASS_Event_set_Effect_1": bb,
+   "emscripten_bind_ASS_Event_get_Text_0": cb,
+   "emscripten_bind_ASS_Event_set_Text_1": db,
+   "emscripten_bind_SubtitleOctopus_SubtitleOctopus_0": eb,
+   "emscripten_bind_SubtitleOctopus_setLogLevel_1": fb,
+   "emscripten_bind_SubtitleOctopus_initLibrary_2": gb,
+   "emscripten_bind_SubtitleOctopus_createTrack_1": ib,
+   "emscripten_bind_SubtitleOctopus_createTrackMem_2": jb,
+   "emscripten_bind_SubtitleOctopus_removeTrack_0": kb,
+   "emscripten_bind_SubtitleOctopus_resizeCanvas_2": lb,
+   "emscripten_bind_SubtitleOctopus_renderImage_2": mb,
+   "emscripten_bind_SubtitleOctopus_quitLibrary_0": nb,
+   "emscripten_bind_SubtitleOctopus_reloadLibrary_0": ob,
+   "emscripten_bind_SubtitleOctopus_reloadFonts_0": pb,
+   "emscripten_bind_SubtitleOctopus_setMargin_4": qb,
+   "emscripten_bind_SubtitleOctopus_getEventCount_0": rb,
+   "emscripten_bind_SubtitleOctopus_allocEvent_0": sb,
+   "emscripten_bind_SubtitleOctopus_allocStyle_0": tb,
+   "emscripten_bind_SubtitleOctopus_removeEvent_1": ub,
+   "emscripten_bind_SubtitleOctopus_getStyleCount_0": vb,
+   "emscripten_bind_SubtitleOctopus_getStyleByName_1": wb,
+   "emscripten_bind_SubtitleOctopus_removeStyle_1": ub,
+   "emscripten_bind_SubtitleOctopus_removeAllEvents_0": xb,
+   "emscripten_bind_SubtitleOctopus_get_track_0": yb,
+   "emscripten_bind_SubtitleOctopus_set_track_1": zb,
+   "emscripten_bind_SubtitleOctopus_get_ass_renderer_0": Ab,
+   "emscripten_bind_SubtitleOctopus_set_ass_renderer_1": Bb,
+   "emscripten_bind_SubtitleOctopus_get_ass_library_0": Cb,
+   "emscripten_bind_SubtitleOctopus_set_ass_library_1": Db,
+   "emscripten_bind_SubtitleOctopus___destroy___0": Eb,
+   "emscripten_bind_ASS_Track_get_n_styles_0": Cb,
+   "emscripten_bind_ASS_Track_set_n_styles_1": Db,
+   "emscripten_bind_ASS_Track_get_max_styles_0": Ab,
+   "emscripten_bind_ASS_Track_set_max_styles_1": Bb,
+   "emscripten_bind_ASS_Track_get_n_events_0": yb,
+   "emscripten_bind_ASS_Track_set_n_events_1": zb,
+   "emscripten_bind_ASS_Track_get_max_events_0": Fb,
+   "emscripten_bind_ASS_Track_set_max_events_1": Gb,
+   "emscripten_bind_ASS_Track_get_styles_1": Hb,
+   "emscripten_bind_ASS_Track_set_styles_2": Ib,
+   "emscripten_bind_ASS_Track_get_events_1": Jb,
+   "emscripten_bind_ASS_Track_set_events_2": Kb,
+   "emscripten_bind_ASS_Track_get_style_format_0": Sa,
+   "emscripten_bind_ASS_Track_set_style_format_1": Ta,
+   "emscripten_bind_ASS_Track_get_event_format_0": Ua,
+   "emscripten_bind_ASS_Track_set_event_format_1": Va,
+   "emscripten_bind_ASS_Track_get_PlayResX_0": Ya,
+   "emscripten_bind_ASS_Track_set_PlayResX_1": Za,
+   "emscripten_bind_ASS_Track_get_PlayResY_0": _a,
+   "emscripten_bind_ASS_Track_set_PlayResY_1": $a,
+   "emscripten_bind_ASS_Track_get_Timer_0": Lb,
+   "emscripten_bind_ASS_Track_set_Timer_1": Mb,
+   "emscripten_bind_ASS_Track_get_WrapStyle_0": Nb,
+   "emscripten_bind_ASS_Track_set_WrapStyle_1": Ob,
+   "emscripten_bind_ASS_Track_get_ScaledBorderAndShadow_0": Pb,
+   "emscripten_bind_ASS_Track_set_ScaledBorderAndShadow_1": Qb,
+   "emscripten_bind_ASS_Track_get_Kerning_0": Rb,
+   "emscripten_bind_ASS_Track_set_Kerning_1": Sb,
+   "emscripten_bind_ASS_Track_get_Language_0": Tb,
+   "emscripten_bind_ASS_Track_set_Language_1": Ub,
+   "emscripten_bind_ASS_Track_get_default_style_0": Vb,
+   "emscripten_bind_ASS_Track_set_default_style_1": Wb,
+   "emscripten_bind_ASS_Track_get_name_0": Xb,
+   "emscripten_bind_ASS_Track_set_name_1": Yb,
+   "emscripten_bind_ASS_Style_get_Name_0": Cb,
+   "emscripten_bind_ASS_Style_set_Name_1": Db,
+   "emscripten_bind_ASS_Style_get_FontName_0": Ab,
+   "emscripten_bind_ASS_Style_set_FontName_1": Bb,
+   "emscripten_bind_ASS_Style_get_FontSize_0": Zb,
+   "emscripten_bind_ASS_Style_set_FontSize_1": _b,
+   "emscripten_bind_ASS_Style_get_PrimaryColour_0": Oa,
+   "emscripten_bind_ASS_Style_set_PrimaryColour_1": Pa,
+   "emscripten_bind_ASS_Style_get_SecondaryColour_0": Qa,
+   "emscripten_bind_ASS_Style_set_SecondaryColour_1": Ra,
+   "emscripten_bind_ASS_Style_get_OutlineColour_0": Sa,
+   "emscripten_bind_ASS_Style_set_OutlineColour_1": Ta,
+   "emscripten_bind_ASS_Style_get_BackColour_0": Ua,
+   "emscripten_bind_ASS_Style_set_BackColour_1": Va,
+   "emscripten_bind_ASS_Style_get_Bold_0": Wa,
+   "emscripten_bind_ASS_Style_set_Bold_1": Xa,
+   "emscripten_bind_ASS_Style_get_Italic_0": Ya,
+   "emscripten_bind_ASS_Style_set_Italic_1": Za,
+   "emscripten_bind_ASS_Style_get_Underline_0": _a,
+   "emscripten_bind_ASS_Style_set_Underline_1": $a,
+   "emscripten_bind_ASS_Style_get_StrikeOut_0": ab,
+   "emscripten_bind_ASS_Style_set_StrikeOut_1": bb,
+   "emscripten_bind_ASS_Style_get_ScaleX_0": Lb,
+   "emscripten_bind_ASS_Style_set_ScaleX_1": Mb,
+   "emscripten_bind_ASS_Style_get_ScaleY_0": $b,
+   "emscripten_bind_ASS_Style_set_ScaleY_1": ac,
+   "emscripten_bind_ASS_Style_get_Spacing_0": bc,
+   "emscripten_bind_ASS_Style_set_Spacing_1": cc,
+   "emscripten_bind_ASS_Style_get_Angle_0": dc,
+   "emscripten_bind_ASS_Style_set_Angle_1": ec,
+   "emscripten_bind_ASS_Style_get_BorderStyle_0": Xb,
+   "emscripten_bind_ASS_Style_set_BorderStyle_1": Yb,
+   "emscripten_bind_ASS_Style_get_Outline_0": fc,
+   "emscripten_bind_ASS_Style_set_Outline_1": gc,
+   "emscripten_bind_ASS_Style_get_Shadow_0": hc,
+   "emscripten_bind_ASS_Style_set_Shadow_1": ic,
+   "emscripten_bind_ASS_Style_get_Alignment_0": jc,
+   "emscripten_bind_ASS_Style_set_Alignment_1": kc,
+   "emscripten_bind_ASS_Style_get_MarginL_0": lc,
+   "emscripten_bind_ASS_Style_set_MarginL_1": mc,
+   "emscripten_bind_ASS_Style_get_MarginR_0": nc,
+   "emscripten_bind_ASS_Style_set_MarginR_1": oc,
+   "emscripten_bind_ASS_Style_get_MarginV_0": pc,
+   "emscripten_bind_ASS_Style_set_MarginV_1": qc,
+   "emscripten_bind_ASS_Style_get_Encoding_0": rc,
+   "emscripten_bind_ASS_Style_set_Encoding_1": sc,
+   "emscripten_bind_ASS_Style_get_treat_fontname_as_pattern_0": tc,
+   "emscripten_bind_ASS_Style_set_treat_fontname_as_pattern_1": uc,
+   "emscripten_bind_ASS_Style_get_Blur_0": vc,
+   "emscripten_bind_ASS_Style_set_Blur_1": wc,
+   "emscripten_bind_ASS_Style_get_Justify_0": xc,
+   "emscripten_bind_ASS_Style_set_Justify_1": yc,
+   "emscripten_bind_ASS_Image_get_w_0": Cb,
+   "emscripten_bind_ASS_Image_set_w_1": Db,
+   "emscripten_bind_ASS_Image_get_h_0": Ab,
+   "emscripten_bind_ASS_Image_set_h_1": Bb,
+   "emscripten_bind_ASS_Image_get_stride_0": yb,
+   "emscripten_bind_ASS_Image_set_stride_1": zb,
+   "emscripten_bind_ASS_Image_get_bitmap_0": Fb,
+   "emscripten_bind_ASS_Image_set_bitmap_1": Gb,
+   "emscripten_bind_ASS_Image_get_color_0": Oa,
+   "emscripten_bind_ASS_Image_set_color_1": Pa,
+   "emscripten_bind_ASS_Image_get_dst_x_0": Qa,
+   "emscripten_bind_ASS_Image_set_dst_x_1": Ra,
+   "emscripten_bind_ASS_Image_get_dst_y_0": Sa,
+   "emscripten_bind_ASS_Image_set_dst_y_1": Ta,
+   "emscripten_bind_ASS_Image_get_next_0": Ua,
+   "emscripten_bind_ASS_Image_set_next_1": Va,
+   "emscripten_bind_VoidPtr___destroy___0": Eb,
+   "emscripten_bind_libass_libass_0": zc,
+   "emscripten_bind_libass_oct_library_version_0": Ac,
+   "emscripten_bind_libass_oct_library_init_0": Bc,
+   "emscripten_bind_libass_oct_library_done_1": Cc,
+   "emscripten_bind_libass_oct_set_fonts_dir_2": Dc,
+   "emscripten_bind_libass_oct_set_extract_fonts_2": Ec,
+   "emscripten_bind_libass_oct_set_style_overrides_2": Fc,
+   "emscripten_bind_libass_oct_process_force_style_1": Gc,
+   "emscripten_bind_libass_oct_renderer_init_1": Hc,
+   "emscripten_bind_libass_oct_renderer_done_1": Ic,
+   "emscripten_bind_libass_oct_set_frame_size_3": Jc,
+   "emscripten_bind_libass_oct_set_storage_size_3": Kc,
+   "emscripten_bind_libass_oct_set_shaper_2": Lc,
+   "emscripten_bind_libass_oct_set_margins_5": Mc,
+   "emscripten_bind_libass_oct_set_use_margins_2": Nc,
+   "emscripten_bind_libass_oct_set_pixel_aspect_2": Oc,
+   "emscripten_bind_libass_oct_set_aspect_ratio_3": Pc,
+   "emscripten_bind_libass_oct_set_font_scale_2": Qc,
+   "emscripten_bind_libass_oct_set_hinting_2": Rc,
+   "emscripten_bind_libass_oct_set_line_spacing_2": Sc,
+   "emscripten_bind_libass_oct_set_line_position_2": Tc,
+   "emscripten_bind_libass_oct_set_fonts_6": Uc,
+   "emscripten_bind_libass_oct_set_selective_style_override_enabled_2": Vc,
+   "emscripten_bind_libass_oct_set_selective_style_override_2": Wc,
+   "emscripten_bind_libass_oct_set_cache_limits_3": Xc,
+   "emscripten_bind_libass_oct_render_frame_4": J0,
+   "emscripten_bind_libass_oct_new_track_1": Yc,
+   "emscripten_bind_libass_oct_free_track_1": Zc,
+   "emscripten_bind_libass_oct_alloc_style_1": _c,
+   "emscripten_bind_libass_oct_alloc_event_1": $c,
+   "emscripten_bind_libass_oct_free_style_2": ad,
+   "emscripten_bind_libass_oct_free_event_2": bd,
+   "emscripten_bind_libass_oct_flush_events_1": cd,
+   "emscripten_bind_libass_oct_read_file_3": dd,
+   "emscripten_bind_libass_oct_add_font_4": ed,
+   "emscripten_bind_libass_oct_clear_fonts_1": fd,
+   "emscripten_bind_libass_oct_step_sub_3": K0,
+   "emscripten_enum_ASS_Hinting_ASS_HINTING_NONE": gd,
+   "emscripten_enum_ASS_Hinting_ASS_HINTING_LIGHT": hd,
+   "emscripten_enum_ASS_Hinting_ASS_HINTING_NORMAL": id,
+   "emscripten_enum_ASS_Hinting_ASS_HINTING_NATIVE": jd,
+   "emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_SIMPLE": gd,
+   "emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_COMPLEX": hd,
+   "emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_DEFAULT": gd,
+   "emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_STYLE": hd,
+   "emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE": id,
+   "emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE": id,
+   "emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE_FIELDS": kd,
+   "emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_NAME": ld,
+   "emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_COLORS": md,
+   "emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ATTRIBUTES": nd,
+   "emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_BORDER": od,
+   "emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ALIGNMENT": pd,
+   "emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_MARGINS": qd,
+   "emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_FULL_STYLE": rd,
+   "emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_JUSTIFY": sd,
+   "free": M$,
+   "realloc": O$,
+   "memset": Z$,
+   "malloc": L$,
+   "__errno_location": IY,
+   "setThrew": B$,
+   "memalign": Q$,
+   "dynCall_v": h0,
+   "dynCall_vi": i0,
+   "dynCall_viiii": j0,
+   "dynCall_iii": k0,
+   "dynCall_iiii": l0,
+   "dynCall_iiiii": m0,
+   "stackSave": n0,
+   "stackAlloc": o0,
+   "stackRestore": p0,
+   "__growWasmMemory": q0,
+   "dynCall_vii": r0,
+   "dynCall_ii": s0,
+   "dynCall_iiiiii": t0,
+   "dynCall_viii": u0,
+   "dynCall_iiiiiii": v0,
+   "dynCall_iiiiiiii": w0,
+   "dynCall_viiiii": x0,
+   "dynCall_iiiiiiiii": y0,
+   "dynCall_viiiiiiii": z0,
+   "dynCall_viiiiii": A0,
+   "dynCall_iiiiiiiiii": B0,
+   "dynCall_viiiiji": L0,
+   "dynCall_iiiiiiiiiii": C0,
+   "dynCall_diii": D0,
+   "dynCall_jiji": M0,
+   "dynCall_iidiiii": E0
+  };
+ }
+ return l({
+  "Int8Array": Int8Array,
+  "Int16Array": Int16Array,
+  "Int32Array": Int32Array,
+  "Uint8Array": Uint8Array,
+  "Uint16Array": Uint16Array,
+  "Uint32Array": Uint32Array,
+  "Float32Array": Float32Array,
+  "Float64Array": Float64Array,
+  "NaN": NaN,
+  "Infinity": Infinity,
+  "Math": Math
+ }, asmLibraryArg, wasmMemory.buffer);
+}
+
+
+// EMSCRIPTEN_END_ASM
+
+
+
+
+)(asmLibraryArg, wasmMemory, wasmTable);
+  return {
+   "exports": exports
+  };
+ },
+ instantiate: function(binary, info) {
+  return {
+   then: function(ok) {
+    ok({
+     "instance": new WebAssembly.Instance(new WebAssembly.Module(binary))
+    });
+   }
+  };
+ },
+ RuntimeError: Error
+};
+
+wasmBinary = [];
+
+if (typeof WebAssembly !== "object") {
+ err("no native wasm support detected");
+}
+
+function setValue(ptr, value, type, noSafe) {
+ type = type || "i8";
+ if (type.charAt(type.length - 1) === "*") type = "i32";
+ switch (type) {
+ case "i1":
+  HEAP8[ptr >> 0] = value;
+  break;
+
+ case "i8":
+  HEAP8[ptr >> 0] = value;
+  break;
+
+ case "i16":
+  HEAP16[ptr >> 1] = value;
+  break;
+
+ case "i32":
+  HEAP32[ptr >> 2] = value;
+  break;
+
+ case "i64":
+  tempI64 = [ value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], 
+  HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1];
+  break;
+
+ case "float":
+  HEAPF32[ptr >> 2] = value;
+  break;
+
+ case "double":
+  HEAPF64[ptr >> 3] = value;
+  break;
+
+ default:
+  abort("invalid type for setValue: " + type);
+ }
+}
+
+function getValue(ptr, type, noSafe) {
+ type = type || "i8";
+ if (type.charAt(type.length - 1) === "*") type = "i32";
+ switch (type) {
+ case "i1":
+  return HEAP8[ptr >> 0];
+
+ case "i8":
+  return HEAP8[ptr >> 0];
+
+ case "i16":
+  return HEAP16[ptr >> 1];
+
+ case "i32":
+  return HEAP32[ptr >> 2];
+
+ case "i64":
+  return HEAP32[ptr >> 2];
+
+ case "float":
+  return HEAPF32[ptr >> 2];
+
+ case "double":
+  return HEAPF64[ptr >> 3];
+
+ default:
+  abort("invalid type for getValue: " + type);
+ }
+ return null;
+}
+
+var wasmMemory;
+
+var wasmTable = new WebAssembly.Table({
+ "initial": 1011,
+ "maximum": 1011 + 0,
+ "element": "anyfunc"
+});
+
+var ABORT = false;
+
+var EXITSTATUS = 0;
+
+function assert(condition, text) {
+ if (!condition) {
+  abort("Assertion failed: " + text);
+ }
+}
+
+function getCFunc(ident) {
+ var func = Module["_" + ident];
+ assert(func, "Cannot call unknown function " + ident + ", make sure it is exported");
+ return func;
+}
+
+function ccall(ident, returnType, argTypes, args, opts) {
+ var toC = {
+  "string": function(str) {
+   var ret = 0;
+   if (str !== null && str !== undefined && str !== 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;
+ 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;
+}
+
+function cwrap(ident, returnType, argTypes, opts) {
+ argTypes = argTypes || [];
+ var numericArgs = argTypes.every(function(type) {
+  return type === "number";
+ });
+ var numericRet = returnType !== "string";
+ if (numericRet && numericArgs && !opts) {
+  return getCFunc(ident);
+ }
+ return function() {
+  return ccall(ident, returnType, argTypes, arguments, opts);
+ };
+}
+
+var ALLOC_NONE = 3;
+
+function allocate(slab, types, allocator, ptr) {
+ var zeroinit, size;
+ if (typeof slab === "number") {
+  zeroinit = true;
+  size = slab;
+ } else {
+  zeroinit = false;
+  size = slab.length;
+ }
+ var singleType = typeof types === "string" ? types : null;
+ var ret;
+ if (allocator == ALLOC_NONE) {
+  ret = ptr;
+ } else {
+  ret = [ _malloc, stackAlloc, dynamicAlloc ][allocator](Math.max(size, singleType ? 1 : types.length));
+ }
+ if (zeroinit) {
+  var stop;
+  ptr = ret;
+  assert((ret & 3) == 0);
+  stop = ret + (size & ~3);
+  for (;ptr < stop; ptr += 4) {
+   HEAP32[ptr >> 2] = 0;
+  }
+  stop = ret + size;
+  while (ptr < stop) {
+   HEAP8[ptr++ >> 0] = 0;
+  }
+  return ret;
+ }
+ if (singleType === "i8") {
+  if (slab.subarray || slab.slice) {
+   HEAPU8.set(slab, ret);
+  } else {
+   HEAPU8.set(new Uint8Array(slab), ret);
+  }
+  return ret;
+ }
+ var i = 0, type, typeSize, previousType;
+ while (i < size) {
+  var curr = slab[i];
+  type = singleType || types[i];
+  if (type === 0) {
+   i++;
+   continue;
+  }
+  if (type == "i64") type = "i32";
+  setValue(ret + i, curr, type);
+  if (previousType !== type) {
+   typeSize = getNativeTypeSize(type);
+   previousType = type;
+  }
+  i += typeSize;
+ }
+ return ret;
+}
+
+function getMemory(size) {
+ if (!runtimeInitialized) return dynamicAlloc(size);
+ return _malloc(size);
+}
+
+var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined;
+
+function UTF8ArrayToString(u8Array, idx, maxBytesToRead) {
+ var endIdx = idx + maxBytesToRead;
+ var endPtr = idx;
+ while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr;
+ if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
+  return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
+ } else {
+  var str = "";
+  while (idx < endPtr) {
+   var u0 = u8Array[idx++];
+   if (!(u0 & 128)) {
+    str += String.fromCharCode(u0);
+    continue;
+   }
+   var u1 = u8Array[idx++] & 63;
+   if ((u0 & 224) == 192) {
+    str += String.fromCharCode((u0 & 31) << 6 | u1);
+    continue;
+   }
+   var u2 = u8Array[idx++] & 63;
+   if ((u0 & 240) == 224) {
+    u0 = (u0 & 15) << 12 | u1 << 6 | u2;
+   } else {
+    u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63;
+   }
+   if (u0 < 65536) {
+    str += String.fromCharCode(u0);
+   } else {
+    var ch = u0 - 65536;
+    str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
+   }
+  }
+ }
+ return str;
+}
+
+function UTF8ToString(ptr, maxBytesToRead) {
+ return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
+}
+
+function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
+ if (!(maxBytesToWrite > 0)) return 0;
+ var startIdx = outIdx;
+ var endIdx = outIdx + maxBytesToWrite - 1;
+ for (var i = 0; i < str.length; ++i) {
+  var u = str.charCodeAt(i);
+  if (u >= 55296 && u <= 57343) {
+   var u1 = str.charCodeAt(++i);
+   u = 65536 + ((u & 1023) << 10) | u1 & 1023;
+  }
+  if (u <= 127) {
+   if (outIdx >= endIdx) break;
+   outU8Array[outIdx++] = u;
+  } else if (u <= 2047) {
+   if (outIdx + 1 >= endIdx) break;
+   outU8Array[outIdx++] = 192 | u >> 6;
+   outU8Array[outIdx++] = 128 | u & 63;
+  } else if (u <= 65535) {
+   if (outIdx + 2 >= endIdx) break;
+   outU8Array[outIdx++] = 224 | u >> 12;
+   outU8Array[outIdx++] = 128 | u >> 6 & 63;
+   outU8Array[outIdx++] = 128 | u & 63;
+  } else {
+   if (outIdx + 3 >= endIdx) break;
+   outU8Array[outIdx++] = 240 | u >> 18;
+   outU8Array[outIdx++] = 128 | u >> 12 & 63;
+   outU8Array[outIdx++] = 128 | u >> 6 & 63;
+   outU8Array[outIdx++] = 128 | u & 63;
+  }
+ }
+ outU8Array[outIdx] = 0;
+ return outIdx - startIdx;
+}
+
+function stringToUTF8(str, outPtr, maxBytesToWrite) {
+ return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
+}
+
+function lengthBytesUTF8(str) {
+ var len = 0;
+ for (var i = 0; i < str.length; ++i) {
+  var u = str.charCodeAt(i);
+  if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023;
+  if (u <= 127) ++len; else if (u <= 2047) len += 2; else if (u <= 65535) len += 3; else len += 4;
+ }
+ return len;
+}
+
+var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined;
+
+function allocateUTF8OnStack(str) {
+ var size = lengthBytesUTF8(str) + 1;
+ var ret = stackAlloc(size);
+ stringToUTF8Array(str, HEAP8, ret, size);
+ return ret;
+}
+
+function writeArrayToMemory(array, buffer) {
+ HEAP8.set(array, buffer);
+}
+
+function writeAsciiToMemory(str, buffer, dontAddNull) {
+ for (var i = 0; i < str.length; ++i) {
+  HEAP8[buffer++ >> 0] = str.charCodeAt(i);
+ }
+ if (!dontAddNull) HEAP8[buffer >> 0] = 0;
+}
+
+var WASM_PAGE_SIZE = 65536;
+
+function alignUp(x, multiple) {
+ if (x % multiple > 0) {
+  x += multiple - x % multiple;
+ }
+ return x;
+}
+
+var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 STACK_BASE = 5888240, DYNAMIC_BASE = 5888240, DYNAMICTOP_PTR = 645200;
+
+var INITIAL_INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216;
+
+if (Module["wasmMemory"]) {
+ wasmMemory = Module["wasmMemory"];
+} else {
+ wasmMemory = new WebAssembly.Memory({
+  "initial": INITIAL_INITIAL_MEMORY / WASM_PAGE_SIZE
+ });
+}
+
+if (wasmMemory) {
+ buffer = wasmMemory.buffer;
+}
+
+INITIAL_INITIAL_MEMORY = buffer.byteLength;
+
+updateGlobalBufferAndViews(buffer);
+
+HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;
+
+function callRuntimeCallbacks(callbacks) {
+ while (callbacks.length > 0) {
+  var callback = callbacks.shift();
+  if (typeof callback == "function") {
+   callback();
+   continue;
+  }
+  var func = callback.func;
+  if (typeof func === "number") {
+   if (callback.arg === undefined) {
+    Module["dynCall_v"](func);
+   } else {
+    Module["dynCall_vi"](func, callback.arg);
+   }
+  } else {
+   func(callback.arg === undefined ? null : callback.arg);
+  }
+ }
+}
+
+var __ATPRERUN__ = [];
+
+var __ATINIT__ = [];
+
+var __ATMAIN__ = [];
+
+var __ATPOSTRUN__ = [];
+
+var runtimeInitialized = false;
+
+var runtimeExited = false;
+
+function preRun() {
+ if (Module["preRun"]) {
+  if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ];
+  while (Module["preRun"].length) {
+   addOnPreRun(Module["preRun"].shift());
+  }
+ }
+ callRuntimeCallbacks(__ATPRERUN__);
+}
+
+function initRuntime() {
+ runtimeInitialized = true;
+ if (!Module["noFSInit"] && !FS.init.initialized) FS.init();
+ TTY.init();
+ callRuntimeCallbacks(__ATINIT__);
+}
+
+function preMain() {
+ FS.ignorePermissions = false;
+ callRuntimeCallbacks(__ATMAIN__);
+}
+
+function exitRuntime() {
+ runtimeExited = true;
+}
+
+function postRun() {
+ if (Module["postRun"]) {
+  if (typeof Module["postRun"] == "function") Module["postRun"] = [ Module["postRun"] ];
+  while (Module["postRun"].length) {
+   addOnPostRun(Module["postRun"].shift());
+  }
+ }
+ callRuntimeCallbacks(__ATPOSTRUN__);
+}
+
+function addOnPreRun(cb) {
+ __ATPRERUN__.unshift(cb);
+}
+
+function addOnPreMain(cb) {
+ __ATMAIN__.unshift(cb);
+}
+
+function addOnPostRun(cb) {
+ __ATPOSTRUN__.unshift(cb);
+}
+
+if (!Math.imul || Math.imul(4294967295, 5) !== -5) Math.imul = function imul(a, b) {
+ var ah = a >>> 16;
+ var al = a & 65535;
+ var bh = b >>> 16;
+ var bl = b & 65535;
+ return al * bl + (ah * bl + al * bh << 16) | 0;
+};
+
+if (!Math.fround) {
+ var froundBuffer = new Float32Array(1);
+ Math.fround = function(x) {
+  froundBuffer[0] = x;
+  return froundBuffer[0];
+ };
+}
+
+if (!Math.clz32) Math.clz32 = function(x) {
+ var n = 32;
+ var y = x >> 16;
+ if (y) {
+  n -= 16;
+  x = y;
+ }
+ y = x >> 8;
+ if (y) {
+  n -= 8;
+  x = y;
+ }
+ y = x >> 4;
+ if (y) {
+  n -= 4;
+  x = y;
+ }
+ y = x >> 2;
+ if (y) {
+  n -= 2;
+  x = y;
+ }
+ y = x >> 1;
+ if (y) return n - 2;
+ return n - x;
+};
+
+if (!Math.trunc) Math.trunc = function(x) {
+ return x < 0 ? Math.ceil(x) : Math.floor(x);
+};
+
+var Math_abs = Math.abs;
+
+var Math_ceil = Math.ceil;
+
+var Math_floor = Math.floor;
+
+var Math_min = Math.min;
+
+var runDependencies = 0;
+
+var runDependencyWatcher = null;
+
+var dependenciesFulfilled = null;
+
+function getUniqueRunDependency(id) {
+ return id;
+}
+
+function addRunDependency(id) {
+ runDependencies++;
+ if (Module["monitorRunDependencies"]) {
+  Module["monitorRunDependencies"](runDependencies);
+ }
+}
+
+function removeRunDependency(id) {
+ runDependencies--;
+ if (Module["monitorRunDependencies"]) {
+  Module["monitorRunDependencies"](runDependencies);
+ }
+ if (runDependencies == 0) {
+  if (runDependencyWatcher !== null) {
+   clearInterval(runDependencyWatcher);
+   runDependencyWatcher = null;
+  }
+  if (dependenciesFulfilled) {
+   var callback = dependenciesFulfilled;
+   dependenciesFulfilled = null;
+   callback();
+  }
+ }
+}
+
+Module["preloadedImages"] = {};
+
+Module["preloadedAudios"] = {};
+
+function abort(what) {
+ if (Module["onAbort"]) {
+  Module["onAbort"](what);
+ }
+ what += "";
+ out(what);
+ err(what);
+ ABORT = true;
+ EXITSTATUS = 1;
+ what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info.";
+ throw new WebAssembly.RuntimeError(what);
+}
+
+var memoryInitializer = "subtitles-octopus-worker-legacy.js.mem";
+
+var dataURIPrefix = "data:application/octet-stream;base64,";
+
+function isDataURI(filename) {
+ return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0;
+}
+
+var wasmBinaryFile = "subtitles-octopus-worker-legacy.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 (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function") {
+  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();
+  });
+ }
+ return new Promise(function(resolve, reject) {
+  resolve(getBinary());
+ });
+}
+
+function createWasm() {
+ var info = {
+  "env": asmLibraryArg,
+  "wasi_snapshot_preview1": asmLibraryArg
+ };
+ function receiveInstance(instance, module) {
+  var exports = instance.exports;
+  Module["asm"] = exports;
+  removeRunDependency("wasm-instantiate");
+ }
+ addRunDependency("wasm-instantiate");
+ function receiveInstantiatedSource(output) {
+  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);
+  });
+ }
+ function instantiateAsync() {
+  if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") {
+   fetch(wasmBinaryFile, {
+    credentials: "same-origin"
+   }).then(function(response) {
+    var result = WebAssembly.instantiateStreaming(response, info);
+    return result.then(receiveInstantiatedSource, function(reason) {
+     err("wasm streaming compile failed: " + reason);
+     err("falling back to ArrayBuffer instantiation");
+     instantiateArrayBuffer(receiveInstantiatedSource);
+    });
+   });
+  } else {
+   return instantiateArrayBuffer(receiveInstantiatedSource);
+  }
+ }
+ 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 {};
+}
+
+var tempDouble;
+
+var tempI64;
+
+__ATINIT__.push({
+ func: function() {
+  ___wasm_call_ctors();
+ }
+});
+
+function _emscripten_set_main_loop_timing(mode, value) {
+ Browser.mainLoop.timingMode = mode;
+ Browser.mainLoop.timingValue = value;
+ if (!Browser.mainLoop.func) {
+  return 1;
+ }
+ if (mode == 0) {
+  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);
+  };
+  Browser.mainLoop.method = "timeout";
+ } else if (mode == 1) {
+  Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() {
+   Browser.requestAnimationFrame(Browser.mainLoop.runner);
+  };
+  Browser.mainLoop.method = "rAF";
+ } else if (mode == 2) {
+  if (typeof setImmediate === "undefined") {
+   var setImmediates = [];
+   var emscriptenMainLoopMessageId = "setimmediate";
+   var Browser_setImmediate_messageHandler = function(event) {
+    if (event.data === emscriptenMainLoopMessageId || event.data.target === emscriptenMainLoopMessageId) {
+     event.stopPropagation();
+     setImmediates.shift()();
+    }
+   };
+   addEventListener("message", Browser_setImmediate_messageHandler, true);
+   setImmediate = 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
+     });
+    } else postMessage(emscriptenMainLoopMessageId, "*");
+   };
+  }
+  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 if (typeof performance !== "undefined" && performance.now) {
+ _emscripten_get_now = function() {
+  return performance.now();
+ };
+} else {
+ _emscripten_get_now = Date.now;
+}
+
+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 {
+     next = next + .5;
+     Browser.mainLoop.remainingBlockers = (8 * remaining + next) / 9;
+    }
+   }
+   console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + " ms");
+   Browser.mainLoop.updateStatus();
+   if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
+   setTimeout(Browser.mainLoop.runner, 0);
+   return;
+  }
+  if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
+  Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0;
+  if (Browser.mainLoop.timingMode == 1 && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) {
+   Browser.mainLoop.scheduler();
+   return;
+  } else if (Browser.mainLoop.timingMode == 0) {
+   Browser.mainLoop.tickStartTime = _emscripten_get_now();
+  }
+  Browser.mainLoop.runIter(browserIterationFunc);
+  if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
+  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, 1e3 / fps); else _emscripten_set_main_loop_timing(1, 1);
+  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++;
+  },
+  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);
+   _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;
+    }
+   }
+   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"] = [];
+  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;
+  }
+  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) {
+      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);
+    b = bb.getBlob();
+   }
+   var url = Browser.URLObject.createObjectURL(b);
+   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();
+    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);
+    var audio = new Audio();
+    audio.addEventListener("canplaythrough", function() {
+     finish(audio);
+    }, false);
+    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 & 63;
+        leftbits -= 6;
+        ret += BASE[curr];
+       }
+      }
+      if (leftbits == 2) {
+       ret += BASE[(leftchar & 3) << 4];
+       ret += PAD + PAD;
+      } else if (leftbits == 4) {
+       ret += BASE[(leftchar & 15) << 2];
+       ret += PAD;
+      }
+      return ret;
+     }
+     audio.src = "data:audio/x-" + name.substr(-3) + ";base64," + encode64(byteArray);
+     finish(audio);
+    };
+    audio.src = url;
+    Browser.safeSetTimeout(function() {
+     finish(audio);
+    }, 1e4);
+   } else {
+    return fail();
+   }
+  };
+  Module["preloadPlugins"].push(audioPlugin);
+  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) {
+   canvas.requestPointerLock = canvas["requestPointerLock"] || canvas["mozRequestPointerLock"] || canvas["webkitRequestPointerLock"] || canvas["msRequestPointerLock"] || function() {};
+   canvas.exitPointerLock = document["exitPointerLock"] || document["mozExitPointerLock"] || document["webkitExitPointerLock"] || document["msExitPointerLock"] || function() {};
+   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;
+  var ctx;
+  var contextHandle;
+  if (useWebGL) {
+   var contextAttributes = {
+    antialias: false,
+    alpha: false,
+    majorVersion: 1
+   };
+   if (webGLContextAttributes) {
+    for (var attribute in webGLContextAttributes) {
+     contextAttributes[attribute] = webGLContextAttributes[attribute];
+    }
+   }
+   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 {
+    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);
+  }
+  var canvasContainer = document.createElement("div");
+  canvas.parentNode.insertBefore(canvasContainer, canvas);
+  canvasContainer.appendChild(canvas);
+  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();
+ },
+ exitFullscreen: function() {
+  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) {
+  var now = Date.now();
+  if (Browser.nextRAF === 0) {
+   Browser.nextRAF = now + 1e3 / 60;
+  } else {
+   while (now + 2 >= Browser.nextRAF) {
+    Browser.nextRAF += 1e3 / 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;
+  if (typeof window !== "undefined") {
+   RAF = window["requestAnimationFrame"] || window["mozRequestAnimationFrame"] || window["webkitRequestAnimationFrame"] || window["msRequestAnimationFrame"] || window["oRequestAnimationFrame"] || RAF;
+  }
+  RAF(func);
+ },
+ safeCallback: function(func) {
+  return function() {
+   if (!ABORT) return func.apply(null, arguments);
+  };
+ },
+ allowAsyncCallbacks: true,
+ queuedAsyncCallbacks: [],
+ pauseAsyncCallbacks: function() {
+  Browser.allowAsyncCallbacks = false;
+ },
+ resumeAsyncCallbacks: function() {
+  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();
+   }
+  }, 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 / 3;
+   break;
+
+  case "mousewheel":
+   delta = event.wheelDelta / 120;
+   break;
+
+  case "wheel":
+   delta = event.deltaY;
+   switch (event.deltaMode) {
+   case 0:
+    delta /= 100;
+    break;
+
+   case 1:
+    delta /= 3;
+    break;
+
+   case 2:
+    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) {
+  if (Browser.pointerLock) {
+   if (event.type != "mousemove" && "mozMovementX" in event) {
+    Browser.mouseMovementX = Browser.mouseMovementY = 0;
+   } else {
+    Browser.mouseMovementX = Browser.getMovementX(event);
+    Browser.mouseMovementY = Browser.getMovementY(event);
+   }
+   if (typeof SDL != "undefined") {
+    Browser.mouseX = SDL.mouseX + Browser.mouseMovementX;
+    Browser.mouseY = SDL.mouseY + Browser.mouseMovementY;
+   } else {
+    Browser.mouseX += Browser.mouseMovementX;
+    Browser.mouseY += Browser.mouseMovementY;
+   }
+  } else {
+   var rect = Module["canvas"].getBoundingClientRect();
+   var cw = Module["canvas"].width;
+   var ch = Module["canvas"].height;
+   var scrollX = typeof window.scrollX !== "undefined" ? window.scrollX : window.pageXOffset;
+   var scrollY = typeof window.scrollY !== "undefined" ? window.scrollY : window.pageYOffset;
+   if (event.type === "touchstart" || event.type === "touchend" || event.type === "touchmove") {
+    var touch = event.touch;
+    if (touch === undefined) {
+     return;
+    }
+    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);
+   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() {
+  if (typeof SDL != "undefined") {
+   var flags = HEAPU32[SDL.screen >> 2];
+   flags = flags | 8388608;
+   HEAP32[SDL.screen >> 2] = flags;
+  }
+  Browser.updateCanvasDimensions(Module["canvas"]);
+  Browser.updateResizeListeners();
+ },
+ setWindowedCanvasSize: function() {
+  if (typeof SDL != "undefined") {
+   var flags = HEAPU32[SDL.screen >> 2];
+   flags = flags & ~8388608;
+   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 demangle(func) {
+ 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) {
+  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 ___assert_fail(condition, filename, line, func) {
+ abort("Assertion failed: " + UTF8ToString(condition) + ", at: " + [ filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function" ]);
+}
+
+var _emscripten_get_now_is_monotonic = typeof performance === "object" && performance && typeof performance["now"] === "function" || ENVIRONMENT_IS_NODE || typeof dateNow !== "undefined";
+
+function ___setErrNo(value) {
+ if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value;
+ return value;
+}
+
+function _clock_gettime(clk_id, tp) {
+ var now;
+ if (clk_id === 0) {
+  now = Date.now();
+ } else if ((clk_id === 1 || clk_id === 4) && _emscripten_get_now_is_monotonic) {
+  now = _emscripten_get_now();
+ } else {
+  ___setErrNo(28);
+  return -1;
+ }
+ HEAP32[tp >> 2] = now / 1e3 | 0;
+ HEAP32[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0;
+ return 0;
+}
+
+function ___clock_gettime(a0, a1) {
+ return _clock_gettime(a0, a1);
+}
+
+function ___map_file(pathname, size) {
+ ___setErrNo(63);
+ return -1;
+}
+
+var PATH = {
+ splitPath: function(filename) {
+  var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
+  return splitPathRe.exec(filename).slice(1);
+ },
+ normalizeArray: function(parts, allowAboveRoot) {
+  var up = 0;
+  for (var i = parts.length - 1; i >= 0; i--) {
+   var last = parts[i];
+   if (last === ".") {
+    parts.splice(i, 1);
+   } else if (last === "..") {
+    parts.splice(i, 1);
+    up++;
+   } else if (up) {
+    parts.splice(i, 1);
+    up--;
+   }
+  }
+  if (allowAboveRoot) {
+   for (;up; up--) {
+    parts.unshift("..");
+   }
+  }
+  return parts;
+ },
+ normalize: function(path) {
+  var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/";
+  path = PATH.normalizeArray(path.split("/").filter(function(p) {
+   return !!p;
+  }), !isAbsolute).join("/");
+  if (!path && !isAbsolute) {
+   path = ".";
+  }
+  if (path && trailingSlash) {
+   path += "/";
+  }
+  return (isAbsolute ? "/" : "") + path;
+ },
+ dirname: function(path) {
+  var result = PATH.splitPath(path), root = result[0], dir = result[1];
+  if (!root && !dir) {
+   return ".";
+  }
+  if (dir) {
+   dir = dir.substr(0, dir.length - 1);
+  }
+  return root + dir;
+ },
+ basename: function(path) {
+  if (path === "/") return "/";
+  var lastSlash = path.lastIndexOf("/");
+  if (lastSlash === -1) return path;
+  return path.substr(lastSlash + 1);
+ },
+ extname: function(path) {
+  return PATH.splitPath(path)[3];
+ },
+ join: function() {
+  var paths = Array.prototype.slice.call(arguments, 0);
+  return PATH.normalize(paths.join("/"));
+ },
+ join2: function(l, r) {
+  return PATH.normalize(l + "/" + r);
+ }
+};
+
+var PATH_FS = {
+ resolve: function() {
+  var resolvedPath = "", resolvedAbsolute = false;
+  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
+   var path = i >= 0 ? arguments[i] : FS.cwd();
+   if (typeof path !== "string") {
+    throw new TypeError("Arguments to path.resolve must be strings");
+   } else if (!path) {
+    return "";
+   }
+   resolvedPath = path + "/" + resolvedPath;
+   resolvedAbsolute = path.charAt(0) === "/";
+  }
+  resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) {
+   return !!p;
+  }), !resolvedAbsolute).join("/");
+  return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
+ },
+ relative: function(from, to) {
+  from = PATH_FS.resolve(from).substr(1);
+  to = PATH_FS.resolve(to).substr(1);
+  function trim(arr) {
+   var start = 0;
+   for (;start < arr.length; start++) {
+    if (arr[start] !== "") break;
+   }
+   var end = arr.length - 1;
+   for (;end >= 0; end--) {
+    if (arr[end] !== "") break;
+   }
+   if (start > end) return [];
+   return arr.slice(start, end - start + 1);
+  }
+  var fromParts = trim(from.split("/"));
+  var toParts = trim(to.split("/"));
+  var length = Math.min(fromParts.length, toParts.length);
+  var samePartsLength = length;
+  for (var i = 0; i < length; i++) {
+   if (fromParts[i] !== toParts[i]) {
+    samePartsLength = i;
+    break;
+   }
+  }
+  var outputParts = [];
+  for (var i = samePartsLength; i < fromParts.length; i++) {
+   outputParts.push("..");
+  }
+  outputParts = outputParts.concat(toParts.slice(samePartsLength));
+  return outputParts.join("/");
+ }
+};
+
+var TTY = {
+ ttys: [],
+ init: function() {},
+ shutdown: function() {},
+ register: function(dev, ops) {
+  TTY.ttys[dev] = {
+   input: [],
+   output: [],
+   ops: ops
+  };
+  FS.registerDevice(dev, TTY.stream_ops);
+ },
+ stream_ops: {
+  open: function(stream) {
+   var tty = TTY.ttys[stream.node.rdev];
+   if (!tty) {
+    throw new FS.ErrnoError(43);
+   }
+   stream.tty = tty;
+   stream.seekable = false;
+  },
+  close: function(stream) {
+   stream.tty.ops.flush(stream.tty);
+  },
+  flush: function(stream) {
+   stream.tty.ops.flush(stream.tty);
+  },
+  read: function(stream, buffer, offset, length, pos) {
+   if (!stream.tty || !stream.tty.ops.get_char) {
+    throw new FS.ErrnoError(60);
+   }
+   var bytesRead = 0;
+   for (var i = 0; i < length; i++) {
+    var result;
+    try {
+     result = stream.tty.ops.get_char(stream.tty);
+    } catch (e) {
+     throw new FS.ErrnoError(29);
+    }
+    if (result === undefined && bytesRead === 0) {
+     throw new FS.ErrnoError(6);
+    }
+    if (result === null || result === undefined) break;
+    bytesRead++;
+    buffer[offset + i] = result;
+   }
+   if (bytesRead) {
+    stream.node.timestamp = Date.now();
+   }
+   return bytesRead;
+  },
+  write: function(stream, buffer, offset, length, pos) {
+   if (!stream.tty || !stream.tty.ops.put_char) {
+    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(29);
+   }
+   if (length) {
+    stream.node.timestamp = Date.now();
+   }
+   return i;
+  }
+ },
+ default_tty_ops: {
+  get_char: function(tty) {
+   if (!tty.input.length) {
+    var result = null;
+    if (ENVIRONMENT_IS_NODE) {
+     var BUFSIZE = 256;
+     var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE);
+     var bytesRead = 0;
+     try {
+      bytesRead = nodeFS.readSync(process.stdin.fd, buf, 0, BUFSIZE, null);
+     } catch (e) {
+      if (e.toString().indexOf("EOF") != -1) bytesRead = 0; else throw e;
+     }
+     if (bytesRead > 0) {
+      result = buf.slice(0, bytesRead).toString("utf-8");
+     } else {
+      result = null;
+     }
+    } else if (typeof window != "undefined" && typeof window.prompt == "function") {
+     result = window.prompt("Input: ");
+     if (result !== null) {
+      result += "\n";
+     }
+    } else if (typeof readline == "function") {
+     result = readline();
+     if (result !== null) {
+      result += "\n";
+     }
+    }
+    if (!result) {
+     return null;
+    }
+    tty.input = intArrayFromString(result, true);
+   }
+   return tty.input.shift();
+  },
+  put_char: function(tty, val) {
+   if (val === null || val === 10) {
+    out(UTF8ArrayToString(tty.output, 0));
+    tty.output = [];
+   } else {
+    if (val != 0) tty.output.push(val);
+   }
+  },
+  flush: function(tty) {
+   if (tty.output && tty.output.length > 0) {
+    out(UTF8ArrayToString(tty.output, 0));
+    tty.output = [];
+   }
+  }
+ },
+ default_tty1_ops: {
+  put_char: function(tty, val) {
+   if (val === null || val === 10) {
+    err(UTF8ArrayToString(tty.output, 0));
+    tty.output = [];
+   } else {
+    if (val != 0) tty.output.push(val);
+   }
+  },
+  flush: function(tty) {
+   if (tty.output && tty.output.length > 0) {
+    err(UTF8ArrayToString(tty.output, 0));
+    tty.output = [];
+   }
+  }
+ }
+};
+
+var MEMFS = {
+ ops_table: null,
+ mount: function(mount) {
+  return MEMFS.createNode(null, "/", 16384 | 511, 0);
+ },
+ createNode: function(parent, name, mode, dev) {
+  if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
+   throw new FS.ErrnoError(63);
+  }
+  if (!MEMFS.ops_table) {
+   MEMFS.ops_table = {
+    dir: {
+     node: {
+      getattr: MEMFS.node_ops.getattr,
+      setattr: MEMFS.node_ops.setattr,
+      lookup: MEMFS.node_ops.lookup,
+      mknod: MEMFS.node_ops.mknod,
+      rename: MEMFS.node_ops.rename,
+      unlink: MEMFS.node_ops.unlink,
+      rmdir: MEMFS.node_ops.rmdir,
+      readdir: MEMFS.node_ops.readdir,
+      symlink: MEMFS.node_ops.symlink
+     },
+     stream: {
+      llseek: MEMFS.stream_ops.llseek
+     }
+    },
+    file: {
+     node: {
+      getattr: MEMFS.node_ops.getattr,
+      setattr: MEMFS.node_ops.setattr
+     },
+     stream: {
+      llseek: MEMFS.stream_ops.llseek,
+      read: MEMFS.stream_ops.read,
+      write: MEMFS.stream_ops.write,
+      allocate: MEMFS.stream_ops.allocate,
+      mmap: MEMFS.stream_ops.mmap,
+      msync: MEMFS.stream_ops.msync
+     }
+    },
+    link: {
+     node: {
+      getattr: MEMFS.node_ops.getattr,
+      setattr: MEMFS.node_ops.setattr,
+      readlink: MEMFS.node_ops.readlink
+     },
+     stream: {}
+    },
+    chrdev: {
+     node: {
+      getattr: MEMFS.node_ops.getattr,
+      setattr: MEMFS.node_ops.setattr
+     },
+     stream: FS.chrdev_stream_ops
+    }
+   };
+  }
+  var node = FS.createNode(parent, name, mode, dev);
+  if (FS.isDir(node.mode)) {
+   node.node_ops = MEMFS.ops_table.dir.node;
+   node.stream_ops = MEMFS.ops_table.dir.stream;
+   node.contents = {};
+  } else if (FS.isFile(node.mode)) {
+   node.node_ops = MEMFS.ops_table.file.node;
+   node.stream_ops = MEMFS.ops_table.file.stream;
+   node.usedBytes = 0;
+   node.contents = null;
+  } else if (FS.isLink(node.mode)) {
+   node.node_ops = MEMFS.ops_table.link.node;
+   node.stream_ops = MEMFS.ops_table.link.stream;
+  } else if (FS.isChrdev(node.mode)) {
+   node.node_ops = MEMFS.ops_table.chrdev.node;
+   node.stream_ops = MEMFS.ops_table.chrdev.stream;
+  }
+  node.timestamp = Date.now();
+  if (parent) {
+   parent.contents[name] = node;
+  }
+  return node;
+ },
+ getFileDataAsRegularArray: function(node) {
+  if (node.contents && node.contents.subarray) {
+   var arr = [];
+   for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]);
+   return arr;
+  }
+  return node.contents;
+ },
+ getFileDataAsTypedArray: function(node) {
+  if (!node.contents) return new Uint8Array(0);
+  if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);
+  return new Uint8Array(node.contents);
+ },
+ expandFileStorage: function(node, newCapacity) {
+  var prevCapacity = node.contents ? node.contents.length : 0;
+  if (prevCapacity >= newCapacity) return;
+  var CAPACITY_DOUBLING_MAX = 1024 * 1024;
+  newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0);
+  if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);
+  var oldContents = node.contents;
+  node.contents = new Uint8Array(newCapacity);
+  if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);
+  return;
+ },
+ resizeFileStorage: function(node, newSize) {
+  if (node.usedBytes == newSize) return;
+  if (newSize == 0) {
+   node.contents = null;
+   node.usedBytes = 0;
+   return;
+  }
+  if (!node.contents || node.contents.subarray) {
+   var oldContents = node.contents;
+   node.contents = new Uint8Array(newSize);
+   if (oldContents) {
+    node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));
+   }
+   node.usedBytes = newSize;
+   return;
+  }
+  if (!node.contents) node.contents = [];
+  if (node.contents.length > newSize) node.contents.length = newSize; else while (node.contents.length < newSize) node.contents.push(0);
+  node.usedBytes = newSize;
+ },
+ node_ops: {
+  getattr: function(node) {
+   var attr = {};
+   attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
+   attr.ino = node.id;
+   attr.mode = node.mode;
+   attr.nlink = 1;
+   attr.uid = 0;
+   attr.gid = 0;
+   attr.rdev = node.rdev;
+   if (FS.isDir(node.mode)) {
+    attr.size = 4096;
+   } else if (FS.isFile(node.mode)) {
+    attr.size = node.usedBytes;
+   } else if (FS.isLink(node.mode)) {
+    attr.size = node.link.length;
+   } else {
+    attr.size = 0;
+   }
+   attr.atime = new Date(node.timestamp);
+   attr.mtime = new Date(node.timestamp);
+   attr.ctime = new Date(node.timestamp);
+   attr.blksize = 4096;
+   attr.blocks = Math.ceil(attr.size / attr.blksize);
+   return attr;
+  },
+  setattr: function(node, attr) {
+   if (attr.mode !== undefined) {
+    node.mode = attr.mode;
+   }
+   if (attr.timestamp !== undefined) {
+    node.timestamp = attr.timestamp;
+   }
+   if (attr.size !== undefined) {
+    MEMFS.resizeFileStorage(node, attr.size);
+   }
+  },
+  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) {
+   if (FS.isDir(old_node.mode)) {
+    var new_node;
+    try {
+     new_node = FS.lookupNode(new_dir, new_name);
+    } catch (e) {}
+    if (new_node) {
+     for (var i in new_node.contents) {
+      throw new FS.ErrnoError(55);
+     }
+    }
+   }
+   delete old_node.parent.contents[old_node.name];
+   old_node.name = new_name;
+   new_dir.contents[new_name] = old_node;
+   old_node.parent = new_dir;
+  },
+  unlink: function(parent, name) {
+   delete parent.contents[name];
+  },
+  rmdir: function(parent, name) {
+   var node = FS.lookupNode(parent, name);
+   for (var i in node.contents) {
+    throw new FS.ErrnoError(55);
+   }
+   delete parent.contents[name];
+  },
+  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) {
+   var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);
+   node.link = oldpath;
+   return node;
+  },
+  readlink: function(node) {
+   if (!FS.isLink(node.mode)) {
+    throw new FS.ErrnoError(28);
+   }
+   return node.link;
+  }
+ },
+ stream_ops: {
+  read: function(stream, buffer, offset, length, position) {
+   var contents = stream.node.contents;
+   if (position >= stream.node.usedBytes) return 0;
+   var size = Math.min(stream.node.usedBytes - position, length);
+   if (size > 8 && contents.subarray) {
+    buffer.set(contents.subarray(position, position + size), offset);
+   } else {
+    for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];
+   }
+   return size;
+  },
+  write: function(stream, buffer, offset, length, position, canOwn) {
+   if (buffer.buffer === HEAP8.buffer) {
+    canOwn = false;
+   }
+   if (!length) return 0;
+   var node = stream.node;
+   node.timestamp = Date.now();
+   if (buffer.subarray && (!node.contents || node.contents.subarray)) {
+    if (canOwn) {
+     node.contents = buffer.subarray(offset, offset + length);
+     node.usedBytes = length;
+     return length;
+    } else if (node.usedBytes === 0 && position === 0) {
+     node.contents = buffer.slice(offset, offset + length);
+     node.usedBytes = length;
+     return length;
+    } else if (position + length <= node.usedBytes) {
+     node.contents.set(buffer.subarray(offset, offset + length), position);
+     return length;
+    }
+   }
+   MEMFS.expandFileStorage(node, position + length);
+   if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); else {
+    for (var i = 0; i < length; i++) {
+     node.contents[position + i] = buffer[offset + i];
+    }
+   }
+   node.usedBytes = Math.max(node.usedBytes, position + length);
+   return length;
+  },
+  llseek: function(stream, offset, whence) {
+   var position = offset;
+   if (whence === 1) {
+    position += stream.position;
+   } else if (whence === 2) {
+    if (FS.isFile(stream.node.mode)) {
+     position += stream.node.usedBytes;
+    }
+   }
+   if (position < 0) {
+    throw new FS.ErrnoError(28);
+   }
+   return position;
+  },
+  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) {
+   if (!FS.isFile(stream.node.mode)) {
+    throw new FS.ErrnoError(43);
+   }
+   var ptr;
+   var allocated;
+   var contents = stream.node.contents;
+   if (!(flags & 2) && contents.buffer === buffer.buffer) {
+    allocated = false;
+    ptr = contents.byteOffset;
+   } else {
+    if (position > 0 || position + length < contents.length) {
+     if (contents.subarray) {
+      contents = contents.subarray(position, position + length);
+     } else {
+      contents = Array.prototype.slice.call(contents, position, position + length);
+     }
+    }
+    allocated = true;
+    var fromHeap = buffer.buffer == HEAP8.buffer;
+    ptr = _malloc(length);
+    if (!ptr) {
+     throw new FS.ErrnoError(48);
+    }
+    (fromHeap ? HEAP8 : buffer).set(contents, ptr);
+   }
+   return {
+    ptr: ptr,
+    allocated: allocated
+   };
+  },
+  msync: function(stream, buffer, offset, length, mmapFlags) {
+   if (!FS.isFile(stream.node.mode)) {
+    throw new FS.ErrnoError(43);
+   }
+   if (mmapFlags & 2) {
+    return 0;
+   }
+   var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
+   return 0;
+  }
+ }
+};
+
+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_FS.resolve(FS.cwd(), path);
+  opts = opts || {};
+  if (!path) return {
+   path: "",
+   node: null
+  };
+  var defaults = {
+   follow_mount: true,
+   recurse_count: 0
+  };
+  for (var key in defaults) {
+   if (opts[key] === undefined) {
+    opts[key] = defaults[key];
+   }
+  }
+  if (opts.recurse_count > 8) {
+   throw new FS.ErrnoError(32);
+  }
+  var parts = PATH.normalizeArray(path.split("/").filter(function(p) {
+   return !!p;
+  }), false);
+  var current = FS.root;
+  var current_path = "/";
+  for (var i = 0; i < parts.length; i++) {
+   var islast = i === parts.length - 1;
+   if (islast && opts.parent) {
+    break;
+   }
+   current = FS.lookupNode(current, parts[i]);
+   current_path = PATH.join2(current_path, parts[i]);
+   if (FS.isMountpoint(current)) {
+    if (!islast || islast && opts.follow_mount) {
+     current = current.mounted.root;
+    }
+   }
+   if (!islast || opts.follow) {
+    var count = 0;
+    while (FS.isLink(current.mode)) {
+     var link = FS.readlink(current_path);
+     current_path = PATH_FS.resolve(PATH.dirname(current_path), link);
+     var lookup = FS.lookupPath(current_path, {
+      recurse_count: opts.recurse_count
+     });
+     current = lookup.node;
+     if (count++ > 40) {
+      throw new FS.ErrnoError(32);
+     }
+    }
+   }
+  }
+  return {
+   path: current_path,
+   node: current
+  };
+ },
+ getPath: function(node) {
+  var path;
+  while (true) {
+   if (FS.isRoot(node)) {
+    var mount = node.mount.mountpoint;
+    if (!path) return mount;
+    return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path;
+   }
+   path = path ? node.name + "/" + path : node.name;
+   node = node.parent;
+  }
+ },
+ hashName: function(parentid, name) {
+  var hash = 0;
+  for (var i = 0; i < name.length; i++) {
+   hash = (hash << 5) - hash + name.charCodeAt(i) | 0;
+  }
+  return (parentid + hash >>> 0) % FS.nameTable.length;
+ },
+ 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) {
+  var hash = FS.hashName(node.parent.id, node.name);
+  if (FS.nameTable[hash] === node) {
+   FS.nameTable[hash] = node.name_next;
+  } else {
+   var current = FS.nameTable[hash];
+   while (current) {
+    if (current.name_next === node) {
+     current.name_next = node.name_next;
+     break;
+    }
+    current = current.name_next;
+   }
+  }
+ },
+ lookupNode: function(parent, name) {
+  var errCode = FS.mayLookup(parent);
+  if (errCode) {
+   throw new FS.ErrnoError(errCode, parent);
+  }
+  var hash = FS.hashName(parent.id, name);
+  for (var node = FS.nameTable[hash]; node; node = node.name_next) {
+   var nodeName = node.name;
+   if (node.parent.id === parent.id && nodeName === name) {
+    return node;
+   }
+  }
+  return FS.lookup(parent, name);
+ },
+ createNode: function(parent, name, mode, rdev) {
+  var node = new FS.FSNode(parent, name, mode, rdev);
+  FS.hashAddNode(node);
+  return node;
+ },
+ destroyNode: function(node) {
+  FS.hashRemoveNode(node);
+ },
+ isRoot: function(node) {
+  return node === node.parent;
+ },
+ isMountpoint: function(node) {
+  return !!node.mounted;
+ },
+ isFile: function(mode) {
+  return (mode & 61440) === 32768;
+ },
+ isDir: function(mode) {
+  return (mode & 61440) === 16384;
+ },
+ isLink: function(mode) {
+  return (mode & 61440) === 40960;
+ },
+ isChrdev: function(mode) {
+  return (mode & 61440) === 8192;
+ },
+ isBlkdev: function(mode) {
+  return (mode & 61440) === 24576;
+ },
+ isFIFO: function(mode) {
+  return (mode & 61440) === 4096;
+ },
+ 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) {
+  var flags = FS.flagModes[str];
+  if (typeof flags === "undefined") {
+   throw new Error("Unknown file open mode: " + str);
+  }
+  return flags;
+ },
+ flagsToPermissionString: function(flag) {
+  var perms = [ "r", "w", "rw" ][flag & 3];
+  if (flag & 512) {
+   perms += "w";
+  }
+  return perms;
+ },
+ nodePermissions: function(node, perms) {
+  if (FS.ignorePermissions) {
+   return 0;
+  }
+  if (perms.indexOf("r") !== -1 && !(node.mode & 292)) {
+   return 2;
+  } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) {
+   return 2;
+  } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) {
+   return 2;
+  }
+  return 0;
+ },
+ 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) {
+  try {
+   var node = FS.lookupNode(dir, name);
+   return 20;
+  } catch (e) {}
+  return FS.nodePermissions(dir, "wx");
+ },
+ mayDelete: function(dir, name, isdir) {
+  var node;
+  try {
+   node = FS.lookupNode(dir, name);
+  } catch (e) {
+   return e.errno;
+  }
+  var errCode = FS.nodePermissions(dir, "wx");
+  if (errCode) {
+   return errCode;
+  }
+  if (isdir) {
+   if (!FS.isDir(node.mode)) {
+    return 54;
+   }
+   if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
+    return 10;
+   }
+  } else {
+   if (FS.isDir(node.mode)) {
+    return 31;
+   }
+  }
+  return 0;
+ },
+ mayOpen: function(node, flags) {
+  if (!node) {
+   return 44;
+  }
+  if (FS.isLink(node.mode)) {
+   return 32;
+  } else if (FS.isDir(node.mode)) {
+   if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) {
+    return 31;
+   }
+  }
+  return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
+ },
+ MAX_OPEN_FDS: 4096,
+ nextfd: function(fd_start, fd_end) {
+  fd_start = fd_start || 0;
+  fd_end = fd_end || FS.MAX_OPEN_FDS;
+  for (var fd = fd_start; fd <= fd_end; fd++) {
+   if (!FS.streams[fd]) {
+    return fd;
+   }
+  }
+  throw new FS.ErrnoError(33);
+ },
+ getStream: function(fd) {
+  return FS.streams[fd];
+ },
+ createStream: function(stream, fd_start, fd_end) {
+  if (!FS.FSStream) {
+   FS.FSStream = function() {};
+   FS.FSStream.prototype = {
+    object: {
+     get: function() {
+      return this.node;
+     },
+     set: function(val) {
+      this.node = val;
+     }
+    },
+    isRead: {
+     get: function() {
+      return (this.flags & 2097155) !== 1;
+     }
+    },
+    isWrite: {
+     get: function() {
+      return (this.flags & 2097155) !== 0;
+     }
+    },
+    isAppend: {
+     get: function() {
+      return this.flags & 1024;
+     }
+    }
+   };
+  }
+  var newStream = new FS.FSStream();
+  for (var p in stream) {
+   newStream[p] = stream[p];
+  }
+  stream = newStream;
+  var fd = FS.nextfd(fd_start, fd_end);
+  stream.fd = fd;
+  FS.streams[fd] = stream;
+  return stream;
+ },
+ closeStream: function(fd) {
+  FS.streams[fd] = null;
+ },
+ chrdev_stream_ops: {
+  open: function(stream) {
+   var device = FS.getDevice(stream.node.rdev);
+   stream.stream_ops = device.stream_ops;
+   if (stream.stream_ops.open) {
+    stream.stream_ops.open(stream);
+   }
+  },
+  llseek: function() {
+   throw new FS.ErrnoError(70);
+  }
+ },
+ major: function(dev) {
+  return dev >> 8;
+ },
+ minor: function(dev) {
+  return dev & 255;
+ },
+ makedev: function(ma, mi) {
+  return ma << 8 | mi;
+ },
+ registerDevice: function(dev, ops) {
+  FS.devices[dev] = {
+   stream_ops: ops
+  };
+ },
+ getDevice: function(dev) {
+  return FS.devices[dev];
+ },
+ getMounts: function(mount) {
+  var mounts = [];
+  var check = [ mount ];
+  while (check.length) {
+   var m = check.pop();
+   mounts.push(m);
+   check.push.apply(check, m.mounts);
+  }
+  return mounts;
+ },
+ syncfs: function(populate, callback) {
+  if (typeof populate === "function") {
+   callback = populate;
+   populate = false;
+  }
+  FS.syncFSRequests++;
+  if (FS.syncFSRequests > 1) {
+   err("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work");
+  }
+  var mounts = FS.getMounts(FS.root.mount);
+  var completed = 0;
+  function doCallback(errCode) {
+   FS.syncFSRequests--;
+   return callback(errCode);
+  }
+  function done(errCode) {
+   if (errCode) {
+    if (!done.errored) {
+     done.errored = true;
+     return doCallback(errCode);
+    }
+    return;
+   }
+   if (++completed >= mounts.length) {
+    doCallback(null);
+   }
+  }
+  mounts.forEach(function(mount) {
+   if (!mount.type.syncfs) {
+    return done(null);
+   }
+   mount.type.syncfs(mount, populate, done);
+  });
+ },
+ mount: function(type, opts, mountpoint) {
+  var root = mountpoint === "/";
+  var pseudo = !mountpoint;
+  var node;
+  if (root && FS.root) {
+   throw new FS.ErrnoError(10);
+  } else if (!root && !pseudo) {
+   var lookup = FS.lookupPath(mountpoint, {
+    follow_mount: false
+   });
+   mountpoint = lookup.path;
+   node = lookup.node;
+   if (FS.isMountpoint(node)) {
+    throw new FS.ErrnoError(10);
+   }
+   if (!FS.isDir(node.mode)) {
+    throw new FS.ErrnoError(54);
+   }
+  }
+  var mount = {
+   type: type,
+   opts: opts,
+   mountpoint: mountpoint,
+   mounts: []
+  };
+  var mountRoot = type.mount(mount);
+  mountRoot.mount = mount;
+  mount.root = mountRoot;
+  if (root) {
+   FS.root = mountRoot;
+  } else if (node) {
+   node.mounted = mount;
+   if (node.mount) {
+    node.mount.mounts.push(mount);
+   }
+  }
+  return mountRoot;
+ },
+ unmount: function(mountpoint) {
+  var lookup = FS.lookupPath(mountpoint, {
+   follow_mount: false
+  });
+  if (!FS.isMountpoint(lookup.node)) {
+   throw new FS.ErrnoError(28);
+  }
+  var node = lookup.node;
+  var mount = node.mounted;
+  var mounts = FS.getMounts(mount);
+  Object.keys(FS.nameTable).forEach(function(hash) {
+   var current = FS.nameTable[hash];
+   while (current) {
+    var next = current.name_next;
+    if (mounts.indexOf(current.mount) !== -1) {
+     FS.destroyNode(current);
+    }
+    current = next;
+   }
+  });
+  node.mounted = null;
+  var idx = node.mount.mounts.indexOf(mount);
+  node.mount.mounts.splice(idx, 1);
+ },
+ lookup: function(parent, name) {
+  return parent.node_ops.lookup(parent, name);
+ },
+ 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(28);
+  }
+  var errCode = FS.mayCreate(parent, name);
+  if (errCode) {
+   throw new FS.ErrnoError(errCode);
+  }
+  if (!parent.node_ops.mknod) {
+   throw new FS.ErrnoError(63);
+  }
+  return parent.node_ops.mknod(parent, name, mode, dev);
+ },
+ create: function(path, mode) {
+  mode = mode !== undefined ? mode : 438;
+  mode &= 4095;
+  mode |= 32768;
+  return FS.mknod(path, mode, 0);
+ },
+ mkdir: function(path, mode) {
+  mode = mode !== undefined ? mode : 511;
+  mode &= 511 | 512;
+  mode |= 16384;
+  return FS.mknod(path, mode, 0);
+ },
+ mkdirTree: function(path, mode) {
+  var dirs = path.split("/");
+  var d = "";
+  for (var i = 0; i < dirs.length; ++i) {
+   if (!dirs[i]) continue;
+   d += "/" + dirs[i];
+   try {
+    FS.mkdir(d, mode);
+   } catch (e) {
+    if (e.errno != 20) throw e;
+   }
+  }
+ },
+ mkdev: function(path, mode, dev) {
+  if (typeof dev === "undefined") {
+   dev = mode;
+   mode = 438;
+  }
+  mode |= 8192;
+  return FS.mknod(path, mode, dev);
+ },
+ 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(44);
+  }
+  var newname = PATH.basename(newpath);
+  var errCode = FS.mayCreate(parent, newname);
+  if (errCode) {
+   throw new FS.ErrnoError(errCode);
+  }
+  if (!parent.node_ops.symlink) {
+   throw new FS.ErrnoError(63);
+  }
+  return parent.node_ops.symlink(parent, newname, oldpath);
+ },
+ rename: function(old_path, new_path) {
+  var old_dirname = PATH.dirname(old_path);
+  var new_dirname = PATH.dirname(new_path);
+  var old_name = PATH.basename(old_path);
+  var new_name = PATH.basename(new_path);
+  var lookup, old_dir, new_dir;
+  try {
+   lookup = FS.lookupPath(old_path, {
+    parent: true
+   });
+   old_dir = lookup.node;
+   lookup = FS.lookupPath(new_path, {
+    parent: true
+   });
+   new_dir = lookup.node;
+  } catch (e) {
+   throw new FS.ErrnoError(10);
+  }
+  if (!old_dir || !new_dir) throw new FS.ErrnoError(44);
+  if (old_dir.mount !== new_dir.mount) {
+   throw new FS.ErrnoError(75);
+  }
+  var old_node = FS.lookupNode(old_dir, old_name);
+  var relative = PATH_FS.relative(old_path, new_dirname);
+  if (relative.charAt(0) !== ".") {
+   throw new FS.ErrnoError(28);
+  }
+  relative = PATH_FS.relative(new_path, old_dirname);
+  if (relative.charAt(0) !== ".") {
+   throw new FS.ErrnoError(55);
+  }
+  var new_node;
+  try {
+   new_node = FS.lookupNode(new_dir, new_name);
+  } catch (e) {}
+  if (old_node === new_node) {
+   return;
+  }
+  var isdir = FS.isDir(old_node.mode);
+  var errCode = FS.mayDelete(old_dir, old_name, isdir);
+  if (errCode) {
+   throw new FS.ErrnoError(errCode);
+  }
+  errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);
+  if (errCode) {
+   throw new FS.ErrnoError(errCode);
+  }
+  if (!old_dir.node_ops.rename) {
+   throw new FS.ErrnoError(63);
+  }
+  if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {
+   throw new FS.ErrnoError(10);
+  }
+  if (new_dir !== old_dir) {
+   errCode = FS.nodePermissions(old_dir, "w");
+   if (errCode) {
+    throw new FS.ErrnoError(errCode);
+   }
+  }
+  try {
+   if (FS.trackingDelegate["willMovePath"]) {
+    FS.trackingDelegate["willMovePath"](old_path, new_path);
+   }
+  } catch (e) {
+   err("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message);
+  }
+  FS.hashRemoveNode(old_node);
+  try {
+   old_dir.node_ops.rename(old_node, new_dir, new_name);
+  } catch (e) {
+   throw e;
+  } finally {
+   FS.hashAddNode(old_node);
+  }
+  try {
+   if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path);
+  } catch (e) {
+   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 errCode = FS.mayDelete(parent, name, true);
+  if (errCode) {
+   throw new FS.ErrnoError(errCode);
+  }
+  if (!parent.node_ops.rmdir) {
+   throw new FS.ErrnoError(63);
+  }
+  if (FS.isMountpoint(node)) {
+   throw new FS.ErrnoError(10);
+  }
+  try {
+   if (FS.trackingDelegate["willDeletePath"]) {
+    FS.trackingDelegate["willDeletePath"](path);
+   }
+  } catch (e) {
+   err("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
+  }
+  parent.node_ops.rmdir(parent, name);
+  FS.destroyNode(node);
+  try {
+   if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path);
+  } catch (e) {
+   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(54);
+  }
+  return node.node_ops.readdir(node);
+ },
+ 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 errCode = FS.mayDelete(parent, name, false);
+  if (errCode) {
+   throw new FS.ErrnoError(errCode);
+  }
+  if (!parent.node_ops.unlink) {
+   throw new FS.ErrnoError(63);
+  }
+  if (FS.isMountpoint(node)) {
+   throw new FS.ErrnoError(10);
+  }
+  try {
+   if (FS.trackingDelegate["willDeletePath"]) {
+    FS.trackingDelegate["willDeletePath"](path);
+   }
+  } catch (e) {
+   err("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
+  }
+  parent.node_ops.unlink(parent, name);
+  FS.destroyNode(node);
+  try {
+   if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path);
+  } catch (e) {
+   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(44);
+  }
+  if (!link.node_ops.readlink) {
+   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(44);
+  }
+  if (!node.node_ops.getattr) {
+   throw new FS.ErrnoError(63);
+  }
+  return node.node_ops.getattr(node);
+ },
+ lstat: function(path) {
+  return FS.stat(path, true);
+ },
+ chmod: function(path, mode, dontFollow) {
+  var node;
+  if (typeof path === "string") {
+   var lookup = FS.lookupPath(path, {
+    follow: !dontFollow
+   });
+   node = lookup.node;
+  } else {
+   node = path;
+  }
+  if (!node.node_ops.setattr) {
+   throw new FS.ErrnoError(63);
+  }
+  node.node_ops.setattr(node, {
+   mode: mode & 4095 | node.mode & ~4095,
+   timestamp: Date.now()
+  });
+ },
+ lchmod: function(path, mode) {
+  FS.chmod(path, mode, true);
+ },
+ fchmod: function(fd, mode) {
+  var stream = FS.getStream(fd);
+  if (!stream) {
+   throw new FS.ErrnoError(8);
+  }
+  FS.chmod(stream.node, mode);
+ },
+ chown: function(path, uid, gid, dontFollow) {
+  var node;
+  if (typeof path === "string") {
+   var lookup = FS.lookupPath(path, {
+    follow: !dontFollow
+   });
+   node = lookup.node;
+  } else {
+   node = path;
+  }
+  if (!node.node_ops.setattr) {
+   throw new FS.ErrnoError(63);
+  }
+  node.node_ops.setattr(node, {
+   timestamp: Date.now()
+  });
+ },
+ lchown: function(path, uid, gid) {
+  FS.chown(path, uid, gid, true);
+ },
+ fchown: function(fd, uid, gid) {
+  var stream = FS.getStream(fd);
+  if (!stream) {
+   throw new FS.ErrnoError(8);
+  }
+  FS.chown(stream.node, uid, gid);
+ },
+ truncate: function(path, len) {
+  if (len < 0) {
+   throw new FS.ErrnoError(28);
+  }
+  var node;
+  if (typeof path === "string") {
+   var lookup = FS.lookupPath(path, {
+    follow: true
+   });
+   node = lookup.node;
+  } else {
+   node = path;
+  }
+  if (!node.node_ops.setattr) {
+   throw new FS.ErrnoError(63);
+  }
+  if (FS.isDir(node.mode)) {
+   throw new FS.ErrnoError(31);
+  }
+  if (!FS.isFile(node.mode)) {
+   throw new FS.ErrnoError(28);
+  }
+  var errCode = FS.nodePermissions(node, "w");
+  if (errCode) {
+   throw new FS.ErrnoError(errCode);
+  }
+  node.node_ops.setattr(node, {
+   size: len,
+   timestamp: Date.now()
+  });
+ },
+ ftruncate: function(fd, len) {
+  var stream = FS.getStream(fd);
+  if (!stream) {
+   throw new FS.ErrnoError(8);
+  }
+  if ((stream.flags & 2097155) === 0) {
+   throw new FS.ErrnoError(28);
+  }
+  FS.truncate(stream.node, len);
+ },
+ utime: function(path, atime, mtime) {
+  var lookup = FS.lookupPath(path, {
+   follow: true
+  });
+  var node = lookup.node;
+  node.node_ops.setattr(node, {
+   timestamp: Math.max(atime, mtime)
+  });
+ },
+ open: function(path, flags, mode, fd_start, fd_end) {
+  if (path === "") {
+   throw new FS.ErrnoError(44);
+  }
+  flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags;
+  mode = typeof mode === "undefined" ? 438 : mode;
+  if (flags & 64) {
+   mode = mode & 4095 | 32768;
+  } else {
+   mode = 0;
+  }
+  var node;
+  if (typeof path === "object") {
+   node = path;
+  } else {
+   path = PATH.normalize(path);
+   try {
+    var lookup = FS.lookupPath(path, {
+     follow: !(flags & 131072)
+    });
+    node = lookup.node;
+   } catch (e) {}
+  }
+  var created = false;
+  if (flags & 64) {
+   if (node) {
+    if (flags & 128) {
+     throw new FS.ErrnoError(20);
+    }
+   } else {
+    node = FS.mknod(path, mode, 0);
+    created = true;
+   }
+  }
+  if (!node) {
+   throw new FS.ErrnoError(44);
+  }
+  if (FS.isChrdev(node.mode)) {
+   flags &= ~512;
+  }
+  if (flags & 65536 && !FS.isDir(node.mode)) {
+   throw new FS.ErrnoError(54);
+  }
+  if (!created) {
+   var errCode = FS.mayOpen(node, flags);
+   if (errCode) {
+    throw new FS.ErrnoError(errCode);
+   }
+  }
+  if (flags & 512) {
+   FS.truncate(node, 0);
+  }
+  flags &= ~(128 | 512);
+  var stream = FS.createStream({
+   node: node,
+   path: FS.getPath(node),
+   flags: flags,
+   seekable: true,
+   position: 0,
+   stream_ops: node.stream_ops,
+   ungotten: [],
+   error: false
+  }, fd_start, fd_end);
+  if (stream.stream_ops.open) {
+   stream.stream_ops.open(stream);
+  }
+  if (Module["logReadFiles"] && !(flags & 1)) {
+   if (!FS.readFiles) FS.readFiles = {};
+   if (!(path in FS.readFiles)) {
+    FS.readFiles[path] = 1;
+    err("FS.trackingDelegate error on read file: " + path);
+   }
+  }
+  try {
+   if (FS.trackingDelegate["onOpenFile"]) {
+    var trackingFlags = 0;
+    if ((flags & 2097155) !== 1) {
+     trackingFlags |= FS.tracking.openFlags.READ;
+    }
+    if ((flags & 2097155) !== 0) {
+     trackingFlags |= FS.tracking.openFlags.WRITE;
+    }
+    FS.trackingDelegate["onOpenFile"](path, trackingFlags);
+   }
+  } catch (e) {
+   err("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message);
+  }
+  return stream;
+ },
+ close: function(stream) {
+  if (FS.isClosed(stream)) {
+   throw new FS.ErrnoError(8);
+  }
+  if (stream.getdents) stream.getdents = null;
+  try {
+   if (stream.stream_ops.close) {
+    stream.stream_ops.close(stream);
+   }
+  } catch (e) {
+   throw e;
+  } finally {
+   FS.closeStream(stream.fd);
+  }
+  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(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) {
+  if (length < 0 || position < 0) {
+   throw new FS.ErrnoError(28);
+  }
+  if (FS.isClosed(stream)) {
+   throw new FS.ErrnoError(8);
+  }
+  if ((stream.flags & 2097155) === 1) {
+   throw new FS.ErrnoError(8);
+  }
+  if (FS.isDir(stream.node.mode)) {
+   throw new FS.ErrnoError(31);
+  }
+  if (!stream.stream_ops.read) {
+   throw new FS.ErrnoError(28);
+  }
+  var seeking = typeof position !== "undefined";
+  if (!seeking) {
+   position = stream.position;
+  } else if (!stream.seekable) {
+   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) {
+  if (length < 0 || position < 0) {
+   throw new FS.ErrnoError(28);
+  }
+  if (FS.isClosed(stream)) {
+   throw new FS.ErrnoError(8);
+  }
+  if ((stream.flags & 2097155) === 0) {
+   throw new FS.ErrnoError(8);
+  }
+  if (FS.isDir(stream.node.mode)) {
+   throw new FS.ErrnoError(31);
+  }
+  if (!stream.stream_ops.write) {
+   throw new FS.ErrnoError(28);
+  }
+  if (stream.flags & 1024) {
+   FS.llseek(stream, 0, 2);
+  }
+  var seeking = typeof position !== "undefined";
+  if (!seeking) {
+   position = stream.position;
+  } else if (!stream.seekable) {
+   throw new FS.ErrnoError(70);
+  }
+  var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
+  if (!seeking) stream.position += bytesWritten;
+  try {
+   if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path);
+  } catch (e) {
+   err("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message);
+  }
+  return bytesWritten;
+ },
+ allocate: function(stream, offset, length) {
+  if (FS.isClosed(stream)) {
+   throw new FS.ErrnoError(8);
+  }
+  if (offset < 0 || length <= 0) {
+   throw new FS.ErrnoError(28);
+  }
+  if ((stream.flags & 2097155) === 0) {
+   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(138);
+  }
+  stream.stream_ops.allocate(stream, offset, length);
+ },
+ mmap: function(stream, buffer, offset, length, position, prot, flags) {
+  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(2);
+  }
+  if (!stream.stream_ops.mmap) {
+   throw new FS.ErrnoError(43);
+  }
+  return stream.stream_ops.mmap(stream, buffer, offset, 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) {
+  return 0;
+ },
+ ioctl: function(stream, cmd, arg) {
+  if (!stream.stream_ops.ioctl) {
+   throw new FS.ErrnoError(59);
+  }
+  return stream.stream_ops.ioctl(stream, cmd, arg);
+ },
+ readFile: function(path, opts) {
+  opts = opts || {};
+  opts.flags = opts.flags || "r";
+  opts.encoding = opts.encoding || "binary";
+  if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
+   throw new Error('Invalid encoding type "' + opts.encoding + '"');
+  }
+  var ret;
+  var stream = FS.open(path, opts.flags);
+  var stat = FS.stat(path);
+  var length = stat.size;
+  var buf = new Uint8Array(length);
+  FS.read(stream, buf, 0, length, 0);
+  if (opts.encoding === "utf8") {
+   ret = UTF8ArrayToString(buf, 0);
+  } else if (opts.encoding === "binary") {
+   ret = buf;
+  }
+  FS.close(stream);
+  return ret;
+ },
+ writeFile: function(path, data, opts) {
+  opts = opts || {};
+  opts.flags = opts.flags || "w";
+  var stream = FS.open(path, opts.flags, opts.mode);
+  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, 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() {
+  return FS.currentPath;
+ },
+ chdir: function(path) {
+  var lookup = FS.lookupPath(path, {
+   follow: true
+  });
+  if (lookup.node === null) {
+   throw new FS.ErrnoError(44);
+  }
+  if (!FS.isDir(lookup.node.mode)) {
+   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() {
+  FS.mkdir("/tmp");
+  FS.mkdir("/home");
+  FS.mkdir("/home/web_user");
+ },
+ createDefaultDevices: function() {
+  FS.mkdir("/dev");
+  FS.registerDevice(FS.makedev(1, 3), {
+   read: function() {
+    return 0;
+   },
+   write: function(stream, buffer, offset, length, pos) {
+    return length;
+   }
+  });
+  FS.mkdev("/dev/null", FS.makedev(1, 3));
+  TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
+  TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
+  FS.mkdev("/dev/tty", FS.makedev(5, 0));
+  FS.mkdev("/dev/tty1", FS.makedev(6, 0));
+  var random_device;
+  if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") {
+   var randomBuffer = new Uint8Array(1);
+   random_device = function() {
+    crypto.getRandomValues(randomBuffer);
+    return randomBuffer[0];
+   };
+  } else if (ENVIRONMENT_IS_NODE) {
+   try {
+    var crypto_module = require("crypto");
+    random_device = function() {
+     return crypto_module["randomBytes"](1)[0];
+    };
+   } catch (e) {}
+  } else {}
+  if (!random_device) {
+   random_device = function() {
+    abort("random_device");
+   };
+  }
+  FS.createDevice("/dev", "random", random_device);
+  FS.createDevice("/dev", "urandom", random_device);
+  FS.mkdir("/dev/shm");
+  FS.mkdir("/dev/shm/tmp");
+ },
+ createSpecialDirectories: function() {
+  FS.mkdir("/proc");
+  FS.mkdir("/proc/self");
+  FS.mkdir("/proc/self/fd");
+  FS.mount({
+   mount: function() {
+    var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73);
+    node.node_ops = {
+     lookup: function(parent, name) {
+      var fd = +name;
+      var stream = FS.getStream(fd);
+      if (!stream) throw new FS.ErrnoError(8);
+      var ret = {
+       parent: null,
+       mount: {
+        mountpoint: "fake"
+       },
+       node_ops: {
+        readlink: function() {
+         return stream.path;
+        }
+       }
+      };
+      ret.parent = ret;
+      return ret;
+     }
+    };
+    return node;
+   }
+  }, {}, "/proc/self/fd");
+ },
+ createStandardStreams: function() {
+  if (Module["stdin"]) {
+   FS.createDevice("/dev", "stdin", Module["stdin"]);
+  } else {
+   FS.symlink("/dev/tty", "/dev/stdin");
+  }
+  if (Module["stdout"]) {
+   FS.createDevice("/dev", "stdout", null, Module["stdout"]);
+  } else {
+   FS.symlink("/dev/tty", "/dev/stdout");
+  }
+  if (Module["stderr"]) {
+   FS.createDevice("/dev", "stderr", null, Module["stderr"]);
+  } else {
+   FS.symlink("/dev/tty1", "/dev/stderr");
+  }
+  var stdin = FS.open("/dev/stdin", "r");
+  var stdout = FS.open("/dev/stdout", "w");
+  var stderr = FS.open("/dev/stderr", "w");
+ },
+ ensureErrnoError: function() {
+  if (FS.ErrnoError) return;
+  FS.ErrnoError = function ErrnoError(errno, node) {
+   this.node = node;
+   this.setErrno = function(errno) {
+    this.errno = errno;
+   };
+   this.setErrno(errno);
+   this.message = "FS error";
+  };
+  FS.ErrnoError.prototype = new Error();
+  FS.ErrnoError.prototype.constructor = FS.ErrnoError;
+  [ 44 ].forEach(function(code) {
+   FS.genericErrors[code] = new FS.ErrnoError(code);
+   FS.genericErrors[code].stack = "<generic error, no stack>";
+  });
+ },
+ staticInit: function() {
+  FS.ensureErrnoError();
+  FS.nameTable = new Array(4096);
+  FS.mount(MEMFS, {}, "/");
+  FS.createDefaultDirectories();
+  FS.createDefaultDevices();
+  FS.createSpecialDirectories();
+  FS.filesystems = {
+   "MEMFS": MEMFS
+  };
+ },
+ init: function(input, output, error) {
+  FS.init.initialized = true;
+  FS.ensureErrnoError();
+  Module["stdin"] = input || Module["stdin"];
+  Module["stdout"] = output || Module["stdout"];
+  Module["stderr"] = error || Module["stderr"];
+  FS.createStandardStreams();
+ },
+ quit: function() {
+  FS.init.initialized = false;
+  var fflush = Module["_fflush"];
+  if (fflush) fflush(0);
+  for (var i = 0; i < FS.streams.length; i++) {
+   var stream = FS.streams[i];
+   if (!stream) {
+    continue;
+   }
+   FS.close(stream);
+  }
+ },
+ getMode: function(canRead, canWrite) {
+  var mode = 0;
+  if (canRead) mode |= 292 | 73;
+  if (canWrite) mode |= 146;
+  return mode;
+ },
+ 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_FS.resolve(base, relative);
+ },
+ standardizePath: function(path) {
+  return PATH.normalize(path);
+ },
+ findObject: function(path, dontResolveLastLink) {
+  var ret = FS.analyzePath(path, dontResolveLastLink);
+  if (ret.exists) {
+   return ret.object;
+  } else {
+   ___setErrNo(ret.error);
+   return null;
+  }
+ },
+ analyzePath: function(path, dontResolveLastLink) {
+  try {
+   var lookup = FS.lookupPath(path, {
+    follow: !dontResolveLastLink
+   });
+   path = lookup.path;
+  } catch (e) {}
+  var ret = {
+   isRoot: false,
+   exists: false,
+   error: 0,
+   name: null,
+   path: null,
+   object: null,
+   parentExists: false,
+   parentPath: null,
+   parentObject: null
+  };
+  try {
+   var lookup = FS.lookupPath(path, {
+    parent: true
+   });
+   ret.parentExists = true;
+   ret.parentPath = lookup.path;
+   ret.parentObject = lookup.node;
+   ret.name = PATH.basename(path);
+   lookup = FS.lookupPath(path, {
+    follow: !dontResolveLastLink
+   });
+   ret.exists = true;
+   ret.path = lookup.path;
+   ret.object = lookup.node;
+   ret.name = lookup.node.name;
+   ret.isRoot = lookup.path === "/";
+  } catch (e) {
+   ret.error = e.errno;
+  }
+  return ret;
+ },
+ 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) {
+  parent = typeof parent === "string" ? parent : FS.getPath(parent);
+  var parts = path.split("/").reverse();
+  while (parts.length) {
+   var part = parts.pop();
+   if (!part) continue;
+   var current = PATH.join2(parent, part);
+   try {
+    FS.mkdir(current);
+   } catch (e) {}
+   parent = current;
+  }
+  return current;
+ },
+ 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) {
+  var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent;
+  var mode = FS.getMode(canRead, canWrite);
+  var node = FS.create(path, mode);
+  if (data) {
+   if (typeof data === "string") {
+    var arr = new Array(data.length);
+    for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
+    data = arr;
+   }
+   FS.chmod(node, mode | 146);
+   var stream = FS.open(node, "w");
+   FS.write(stream, data, 0, data.length, 0, canOwn);
+   FS.close(stream);
+   FS.chmod(node, mode);
+  }
+  return node;
+ },
+ createDevice: function(parent, name, input, output) {
+  var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
+  var mode = FS.getMode(!!input, !!output);
+  if (!FS.createDevice.major) FS.createDevice.major = 64;
+  var dev = FS.makedev(FS.createDevice.major++, 0);
+  FS.registerDevice(dev, {
+   open: function(stream) {
+    stream.seekable = false;
+   },
+   close: function(stream) {
+    if (output && output.buffer && output.buffer.length) {
+     output(10);
+    }
+   },
+   read: function(stream, buffer, offset, length, pos) {
+    var bytesRead = 0;
+    for (var i = 0; i < length; i++) {
+     var result;
+     try {
+      result = input();
+     } catch (e) {
+      throw new FS.ErrnoError(29);
+     }
+     if (result === undefined && bytesRead === 0) {
+      throw new FS.ErrnoError(6);
+     }
+     if (result === null || result === undefined) break;
+     bytesRead++;
+     buffer[offset + i] = result;
+    }
+    if (bytesRead) {
+     stream.node.timestamp = Date.now();
+    }
+    return bytesRead;
+   },
+   write: function(stream, buffer, offset, length, pos) {
+    for (var i = 0; i < length; i++) {
+     try {
+      output(buffer[offset + i]);
+     } catch (e) {
+      throw new FS.ErrnoError(29);
+     }
+    }
+    if (length) {
+     stream.node.timestamp = Date.now();
+    }
+    return i;
+   }
+  });
+  return FS.mkdev(path, mode, dev);
+ },
+ 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) {
+  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 (read_) {
+   try {
+    obj.contents = intArrayFromString(read_(obj.url), true);
+    obj.usedBytes = obj.contents.length;
+   } catch (e) {
+    success = false;
+   }
+  } else {
+   throw new Error("Cannot load without read() or XMLHttpRequest.");
+  }
+  if (!success) ___setErrNo(29);
+  return success;
+ },
+ createLazyFile: function(parent, name, url, canRead, canWrite) {
+  function LazyUint8Array() {
+   this.lengthKnown = false;
+   this.chunks = [];
+  }
+  LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
+   if (idx > this.length - 1 || idx < 0) {
+    return undefined;
+   }
+   var chunkOffset = idx % this.chunkSize;
+   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() {
+   var xhr = new XMLHttpRequest();
+   xhr.open("HEAD", url, false);
+   xhr.send(null);
+   if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
+   var datalength = Number(xhr.getResponseHeader("Content-length"));
+   var header;
+   var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
+   var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
+   var chunkSize = 1024 * 1024;
+   if (!hasByteServing) chunkSize = datalength;
+   var doXHR = function(from, to) {
+    if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
+    if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!");
+    var xhr = new XMLHttpRequest();
+    xhr.open("GET", url, false);
+    if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
+    if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer";
+    if (xhr.overrideMimeType) {
+     xhr.overrideMimeType("text/plain; charset=x-user-defined");
+    }
+    xhr.send(null);
+    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 || []);
+    } else {
+     return intArrayFromString(xhr.responseText || "", true);
+    }
+   };
+   var lazyArray = this;
+   lazyArray.setDataGetter(function(chunkNum) {
+    var start = chunkNum * chunkSize;
+    var end = (chunkNum + 1) * chunkSize - 1;
+    end = Math.min(end, datalength - 1);
+    if (typeof lazyArray.chunks[chunkNum] === "undefined") {
+     lazyArray.chunks[chunkNum] = doXHR(start, end);
+    }
+    if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!");
+    return lazyArray.chunks[chunkNum];
+   });
+   if (usesGzip || !datalength) {
+    chunkSize = datalength = 1;
+    datalength = this.getter(0).length;
+    chunkSize = datalength;
+    out("LazyFiles on gzip forces download of the whole file when length is accessed");
+   }
+   this._length = datalength;
+   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";
+   var lazyArray = new LazyUint8Array();
+   Object.defineProperties(lazyArray, {
+    length: {
+     get: function() {
+      if (!this.lengthKnown) {
+       this.cacheLength();
+      }
+      return this._length;
+     }
+    },
+    chunkSize: {
+     get: function() {
+      if (!this.lengthKnown) {
+       this.cacheLength();
+      }
+      return this._chunkSize;
+     }
+    }
+   });
+   var properties = {
+    isDevice: false,
+    contents: lazyArray
+   };
+  } else {
+   var properties = {
+    isDevice: false,
+    url: url
+   };
+  }
+  var node = FS.createFile(parent, name, properties, canRead, canWrite);
+  if (properties.contents) {
+   node.contents = properties.contents;
+  } else if (properties.url) {
+   node.contents = null;
+   node.url = properties.url;
+  }
+  Object.defineProperties(node, {
+   usedBytes: {
+    get: function() {
+     return this.contents.length;
+    }
+   }
+  });
+  var stream_ops = {};
+  var keys = Object.keys(node.stream_ops);
+  keys.forEach(function(key) {
+   var fn = node.stream_ops[key];
+   stream_ops[key] = function forceLoadLazyFile() {
+    if (!FS.forceLoadFile(node)) {
+     throw new FS.ErrnoError(29);
+    }
+    return fn.apply(null, arguments);
+   };
+  });
+  stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
+   if (!FS.forceLoadFile(node)) {
+    throw new FS.ErrnoError(29);
+   }
+   var contents = stream.node.contents;
+   if (position >= contents.length) return 0;
+   var size = Math.min(contents.length - position, length);
+   if (contents.slice) {
+    for (var i = 0; i < size; i++) {
+     buffer[offset + i] = contents[position + i];
+    }
+   } else {
+    for (var i = 0; i < size; i++) {
+     buffer[offset + i] = contents.get(position + i);
+    }
+   }
+   return size;
+  };
+  node.stream_ops = stream_ops;
+  return node;
+ },
+ createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
+  Browser.init();
+  var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;
+  var dep = getUniqueRunDependency("cp " + fullname);
+  function processData(byteArray) {
+   function finish(byteArray) {
+    if (preFinish) preFinish();
+    if (!dontCreateFile) {
+     FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
+    }
+    if (onload) onload();
+    removeRunDependency(dep);
+   }
+   var handled = false;
+   Module["preloadPlugins"].forEach(function(plugin) {
+    if (handled) return;
+    if (plugin["canHandle"](fullname)) {
+     plugin["handle"](byteArray, fullname, finish, function() {
+      if (onerror) onerror();
+      removeRunDependency(dep);
+     });
+     handled = true;
+    }
+   });
+   if (!handled) finish(byteArray);
+  }
+  addRunDependency(dep);
+  if (typeof url == "string") {
+   Browser.asyncLoad(url, function(byteArray) {
+    processData(byteArray);
+   }, onerror);
+  } else {
+   processData(url);
+  }
+ },
+ indexedDB: function() {
+  return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
+ },
+ DB_NAME: function() {
+  return "EM_FS_" + window.location.pathname;
+ },
+ DB_VERSION: 20,
+ DB_STORE_NAME: "FILE_DATA",
+ saveFilesToDB: function(paths, onload, onerror) {
+  onload = onload || function() {};
+  onerror = onerror || function() {};
+  var indexedDB = FS.indexedDB();
+  try {
+   var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
+  } catch (e) {
+   return onerror(e);
+  }
+  openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
+   out("creating db");
+   var db = openRequest.result;
+   db.createObjectStore(FS.DB_STORE_NAME);
+  };
+  openRequest.onsuccess = function openRequest_onsuccess() {
+   var db = openRequest.result;
+   var transaction = db.transaction([ FS.DB_STORE_NAME ], "readwrite");
+   var files = transaction.objectStore(FS.DB_STORE_NAME);
+   var ok = 0, fail = 0, total = paths.length;
+   function finish() {
+    if (fail == 0) onload(); else onerror();
+   }
+   paths.forEach(function(path) {
+    var putRequest = files.put(FS.analyzePath(path).object.contents, path);
+    putRequest.onsuccess = function putRequest_onsuccess() {
+     ok++;
+     if (ok + fail == total) finish();
+    };
+    putRequest.onerror = function putRequest_onerror() {
+     fail++;
+     if (ok + fail == total) finish();
+    };
+   });
+   transaction.onerror = onerror;
+  };
+  openRequest.onerror = onerror;
+ },
+ loadFilesFromDB: function(paths, onload, onerror) {
+  onload = onload || function() {};
+  onerror = onerror || function() {};
+  var indexedDB = FS.indexedDB();
+  try {
+   var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
+  } catch (e) {
+   return onerror(e);
+  }
+  openRequest.onupgradeneeded = onerror;
+  openRequest.onsuccess = function openRequest_onsuccess() {
+   var db = openRequest.result;
+   try {
+    var transaction = db.transaction([ FS.DB_STORE_NAME ], "readonly");
+   } catch (e) {
+    onerror(e);
+    return;
+   }
+   var files = transaction.objectStore(FS.DB_STORE_NAME);
+   var ok = 0, fail = 0, total = paths.length;
+   function finish() {
+    if (fail == 0) onload(); else onerror();
+   }
+   paths.forEach(function(path) {
+    var getRequest = files.get(path);
+    getRequest.onsuccess = function getRequest_onsuccess() {
+     if (FS.analyzePath(path).exists) {
+      FS.unlink(path);
+     }
+     FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
+     ok++;
+     if (ok + fail == total) finish();
+    };
+    getRequest.onerror = function getRequest_onerror() {
+     fail++;
+     if (ok + fail == total) finish();
+    };
+   });
+   transaction.onerror = onerror;
+  };
+  openRequest.onerror = onerror;
+ }
+};
+
+var SYSCALLS = {
+ mappings: {},
+ DEFAULT_POLLMASK: 5,
+ umask: 511,
+ calculateAt: function(dirfd, path) {
+  if (path[0] !== "/") {
+   var dir;
+   if (dirfd === -100) {
+    dir = FS.cwd();
+   } else {
+    var dirstream = FS.getStream(dirfd);
+    if (!dirstream) throw new FS.ErrnoError(8);
+    dir = dirstream.path;
+   }
+   path = PATH.join2(dir, path);
+  }
+  return path;
+ },
+ doStat: function(func, path, buf) {
+  try {
+   var stat = func(path);
+  } catch (e) {
+   if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
+    return -54;
+   }
+   throw e;
+  }
+  HEAP32[buf >> 2] = stat.dev;
+  HEAP32[buf + 4 >> 2] = 0;
+  HEAP32[buf + 8 >> 2] = stat.ino;
+  HEAP32[buf + 12 >> 2] = stat.mode;
+  HEAP32[buf + 16 >> 2] = stat.nlink;
+  HEAP32[buf + 20 >> 2] = stat.uid;
+  HEAP32[buf + 24 >> 2] = stat.gid;
+  HEAP32[buf + 28 >> 2] = stat.rdev;
+  HEAP32[buf + 32 >> 2] = 0;
+  tempI64 = [ stat.size >>> 0, (tempDouble = stat.size, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 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() / 1e3 | 0;
+  HEAP32[buf + 60 >> 2] = 0;
+  HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0;
+  HEAP32[buf + 68 >> 2] = 0;
+  HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0;
+  HEAP32[buf + 76 >> 2] = 0;
+  tempI64 = [ stat.ino >>> 0, (tempDouble = stat.ino, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], 
+  HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1];
+  return 0;
+ },
+ 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) {
+  path = PATH.normalize(path);
+  if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1);
+  FS.mkdir(path, mode, 0);
+  return 0;
+ },
+ doMknod: function(path, mode, dev) {
+  switch (mode & 61440) {
+  case 32768:
+  case 8192:
+  case 24576:
+  case 4096:
+  case 49152:
+   break;
+
+  default:
+   return -28;
+  }
+  FS.mknod(path, mode, dev);
+  return 0;
+ },
+ doReadlink: function(path, buf, bufsize) {
+  if (bufsize <= 0) return -28;
+  var ret = FS.readlink(path);
+  var len = Math.min(bufsize, lengthBytesUTF8(ret));
+  var endChar = HEAP8[buf + len];
+  stringToUTF8(ret, buf, bufsize + 1);
+  HEAP8[buf + len] = endChar;
+  return len;
+ },
+ doAccess: function(path, amode) {
+  if (amode & ~7) {
+   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";
+  if (amode & 2) perms += "w";
+  if (amode & 1) perms += "x";
+  if (perms && FS.nodePermissions(node, perms)) {
+   return -2;
+  }
+  return 0;
+ },
+ 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) {
+  var ret = 0;
+  for (var i = 0; i < iovcnt; i++) {
+   var ptr = HEAP32[iov + i * 8 >> 2];
+   var len = HEAP32[iov + (i * 8 + 4) >> 2];
+   var curr = FS.read(stream, HEAP8, ptr, len, offset);
+   if (curr < 0) return -1;
+   ret += curr;
+   if (curr < len) break;
+  }
+  return ret;
+ },
+ doWritev: function(stream, iov, iovcnt, offset) {
+  var ret = 0;
+  for (var i = 0; i < iovcnt; i++) {
+   var ptr = HEAP32[iov + i * 8 >> 2];
+   var len = HEAP32[iov + (i * 8 + 4) >> 2];
+   var curr = FS.write(stream, HEAP8, ptr, len, offset);
+   if (curr < 0) return -1;
+   ret += curr;
+  }
+  return ret;
+ },
+ varargs: undefined,
+ get: function() {
+  SYSCALLS.varargs += 4;
+  var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];
+  return ret;
+ },
+ getStr: function(ptr) {
+  var ret = UTF8ToString(ptr);
+  return ret;
+ },
+ getStreamFromFD: function(fd) {
+  var stream = FS.getStream(fd);
+  if (!stream) throw new FS.ErrnoError(8);
+  return stream;
+ },
+ get64: function(low, high) {
+  return low;
+ }
+};
+
+function ___syscall10(path) {
+ try {
+  path = SYSCALLS.getStr(path);
+  FS.unlink(path);
+  return 0;
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall125(addr, len, size) {
+ return 0;
+}
+
+function ___syscall15(path, mode) {
+ try {
+  path = SYSCALLS.getStr(path);
+  FS.chmod(path, mode);
+  return 0;
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall183(buf, size) {
+ try {
+  if (size === 0) return -28;
+  var cwd = FS.cwd();
+  var cwdLengthInBytes = lengthBytesUTF8(cwd);
+  if (size < cwdLengthInBytes + 1) return -68;
+  stringToUTF8(cwd, buf, size);
+  return buf;
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall195(path, buf) {
+ try {
+  path = SYSCALLS.getStr(path);
+  return SYSCALLS.doStat(FS.stat, path, buf);
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall196(path, buf) {
+ try {
+  path = SYSCALLS.getStr(path);
+  return SYSCALLS.doStat(FS.lstat, path, buf);
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall197(fd, buf) {
+ try {
+  var stream = SYSCALLS.getStreamFromFD(fd);
+  return SYSCALLS.doStat(FS.stat, stream.path, buf);
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall20() {
+ return 42;
+}
+
+function ___syscall220(fd, dirp, count) {
+ try {
+  var stream = SYSCALLS.getStreamFromFD(fd);
+  if (!stream.getdents) {
+   stream.getdents = FS.readdir(stream.path);
+  }
+  var struct_size = 280;
+  var pos = 0;
+  var off = FS.llseek(stream, 0, 1);
+  var idx = Math.floor(off / struct_size);
+  while (idx < stream.getdents.length && pos + struct_size <= count) {
+   var id;
+   var type;
+   var name = stream.getdents[idx];
+   if (name[0] === ".") {
+    id = 1;
+    type = 4;
+   } else {
+    var child = FS.lookupNode(stream.node, name);
+    id = child.id;
+    type = FS.isChrdev(child.mode) ? 2 : FS.isDir(child.mode) ? 4 : FS.isLink(child.mode) ? 10 : 8;
+   }
+   tempI64 = [ id >>> 0, (tempDouble = id, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], 
+   HEAP32[dirp + pos >> 2] = tempI64[0], HEAP32[dirp + pos + 4 >> 2] = tempI64[1];
+   tempI64 = [ (idx + 1) * struct_size >>> 0, (tempDouble = (idx + 1) * struct_size, 
+   +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], 
+   HEAP32[dirp + pos + 8 >> 2] = tempI64[0], HEAP32[dirp + pos + 12 >> 2] = tempI64[1];
+   HEAP16[dirp + pos + 16 >> 1] = 280;
+   HEAP8[dirp + pos + 18 >> 0] = type;
+   stringToUTF8(name, dirp + pos + 19, 256);
+   pos += struct_size;
+   idx += 1;
+  }
+  FS.llseek(stream, idx * struct_size, 0);
+  return pos;
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall221(fd, cmd, varargs) {
+ SYSCALLS.varargs = varargs;
+ try {
+  var stream = SYSCALLS.getStreamFromFD(fd);
+  switch (cmd) {
+  case 0:
+   {
+    var arg = SYSCALLS.get();
+    if (arg < 0) {
+     return -28;
+    }
+    var newStream;
+    newStream = FS.open(stream.path, stream.flags, 0, arg);
+    return newStream.fd;
+   }
+
+  case 1:
+  case 2:
+   return 0;
+
+  case 3:
+   return stream.flags;
+
+  case 4:
+   {
+    var arg = SYSCALLS.get();
+    stream.flags |= arg;
+    return 0;
+   }
+
+  case 12:
+   {
+    var arg = SYSCALLS.get();
+    var offset = 0;
+    HEAP16[arg + offset >> 1] = 2;
+    return 0;
+   }
+
+  case 13:
+  case 14:
+   return 0;
+
+  case 16:
+  case 8:
+   return -28;
+
+  case 9:
+   ___setErrNo(28);
+   return -1;
+
+  default:
+   {
+    return -28;
+   }
+  }
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall3(fd, buf, count) {
+ try {
+  var stream = SYSCALLS.getStreamFromFD(fd);
+  return FS.read(stream, HEAP8, buf, count);
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall33(path, amode) {
+ try {
+  path = SYSCALLS.getStr(path);
+  return SYSCALLS.doAccess(path, amode);
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall38(old_path, new_path) {
+ try {
+  old_path = SYSCALLS.getStr(old_path);
+  new_path = SYSCALLS.getStr(new_path);
+  FS.rename(old_path, new_path);
+  return 0;
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall39(path, mode) {
+ try {
+  path = SYSCALLS.getStr(path);
+  return SYSCALLS.doMkdir(path, mode);
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall40(path) {
+ try {
+  path = SYSCALLS.getStr(path);
+  FS.rmdir(path);
+  return 0;
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall5(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 ___syscall54(fd, op, varargs) {
+ SYSCALLS.varargs = varargs;
+ try {
+  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;
+   }
+
+  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;
+   }
+
+  case 21531:
+   {
+    var argp = SYSCALLS.get();
+    return FS.ioctl(stream, op, argp);
+   }
+
+  case 21523:
+   {
+    if (!stream.tty) return -59;
+    return 0;
+   }
+
+  case 21524:
+   {
+    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);
+  return -e.errno;
+ }
+}
+
+function ___syscall83(target, linkpath) {
+ try {
+  target = SYSCALLS.getStr(target);
+  linkpath = SYSCALLS.getStr(linkpath);
+  FS.symlink(target, linkpath);
+  return 0;
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall85(path, buf, bufsize) {
+ try {
+  path = SYSCALLS.getStr(path);
+  return SYSCALLS.doReadlink(path, buf, bufsize);
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall9(oldpath, newpath) {
+ return -34;
+}
+
+function syscallMunmap(addr, len) {
+ if (addr === -1 || len === 0) {
+  return -28;
+ }
+ var info = SYSCALLS.mappings[addr];
+ if (!info) return 0;
+ if (len === info.len) {
+  var stream = FS.getStream(info.fd);
+  SYSCALLS.doMsync(addr, stream, len, info.flags, info.offset);
+  FS.munmap(stream);
+  SYSCALLS.mappings[addr] = null;
+  if (info.allocated) {
+   _free(info.malloc);
+  }
+ }
+ return 0;
+}
+
+function ___syscall91(addr, len) {
+ try {
+  return syscallMunmap(addr, len);
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function _abort() {
+ abort();
+}
+
+function _emscripten_get_sbrk_ptr() {
+ return 645200;
+}
+
+var setjmpId = 0;
+
+function _saveSetjmp(env, label, table, size) {
+ 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;
+   HEAP32[table + ((i << 3) + 8) >> 2] = 0;
+   setTempRet0(size | 0);
+   return table | 0;
+  }
+  i = i + 1 | 0;
+ }
+ 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;
+ setTempRet0(size | 0);
+ 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 _longjmp(env, value) {
+ _setThrew(env, value || 1);
+ throw "longjmp";
+}
+
+function _emscripten_longjmp(env, value) {
+ _longjmp(env, value);
+}
+
+var _emscripten_memcpy_big = Uint8Array.prototype.copyWithin ? function(dest, src, num) {
+ HEAPU8.copyWithin(dest, src, src + num);
+} : function(dest, src, num) {
+ HEAPU8.set(HEAPU8.subarray(src, src + num), dest);
+};
+
+function _emscripten_get_heap_size() {
+ return HEAPU8.length;
+}
+
+function emscripten_realloc_buffer(size) {
+ try {
+  wasmMemory.grow(size - buffer.byteLength + 65535 >> 16);
+  updateGlobalBufferAndViews(wasmMemory.buffer);
+  return 1;
+ } catch (e) {}
+}
+
+function _emscripten_resize_heap(requestedSize) {
+ var oldSize = _emscripten_get_heap_size();
+ var PAGE_MULTIPLE = 65536;
+ var maxHeapSize = 2147483648 - PAGE_MULTIPLE;
+ if (requestedSize > maxHeapSize) {
+  return false;
+ }
+ var minHeapSize = 16777216;
+ for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
+  var overGrownHeapSize = oldSize * (1 + .2 / cutDown);
+  overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
+  var newSize = Math.min(maxHeapSize, alignUp(Math.max(minHeapSize, requestedSize, overGrownHeapSize), PAGE_MULTIPLE));
+  var replacement = emscripten_realloc_buffer(newSize);
+  if (replacement) {
+   return true;
+  }
+ }
+ return false;
+}
+
+var ENV = {};
+
+function __getExecutableName() {
+ return thisProgram || "./this.program";
+}
+
+function _emscripten_get_environ() {
+ if (!_emscripten_get_environ.strings) {
+  var env = {
+   "USER": "web_user",
+   "LOGNAME": "web_user",
+   "PATH": "/",
+   "PWD": "/",
+   "HOME": "/home/web_user",
+   "LANG": (typeof navigator === "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8",
+   "_": __getExecutableName()
+  };
+  for (var x in ENV) {
+   env[x] = ENV[x];
+  }
+  var strings = [];
+  for (var x in env) {
+   strings.push(x + "=" + env[x]);
+  }
+  _emscripten_get_environ.strings = strings;
+ }
+ return _emscripten_get_environ.strings;
+}
+
+function _environ_get(__environ, environ_buf) {
+ var strings = _emscripten_get_environ();
+ var bufSize = 0;
+ strings.forEach(function(string, i) {
+  var ptr = environ_buf + bufSize;
+  HEAP32[__environ + i * 4 >> 2] = ptr;
+  writeAsciiToMemory(string, ptr);
+  bufSize += string.length + 1;
+ });
+ return 0;
+}
+
+function _environ_sizes_get(penviron_count, penviron_buf_size) {
+ var strings = _emscripten_get_environ();
+ HEAP32[penviron_count >> 2] = strings.length;
+ var bufSize = 0;
+ strings.forEach(function(string) {
+  bufSize += string.length + 1;
+ });
+ HEAP32[penviron_buf_size >> 2] = bufSize;
+ return 0;
+}
+
+function _exit(status) {
+ 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_fdstat_get(fd, pbuf) {
+ try {
+  var stream = SYSCALLS.getStreamFromFD(fd);
+  var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4;
+  HEAP8[pbuf >> 0] = type;
+  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 = 4294967296;
+  var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0);
+  var DOUBLE_LIMIT = 9007199254740992;
+  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 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], 
+  HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];
+  if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;
+  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 _gettimeofday(ptr) {
+ var now = Date.now();
+ HEAP32[ptr >> 2] = now / 1e3 | 0;
+ HEAP32[ptr + 4 >> 2] = now % 1e3 * 1e3 | 0;
+ return 0;
+}
+
+function _roundf(d) {
+ d = +d;
+ return d >= +0 ? +Math_floor(d + +.5) : +Math_ceil(d - +.5);
+}
+
+function _sysconf(name) {
+ switch (name) {
+ case 30:
+  return 16384;
+
+ case 85:
+  var maxHeapSize = 2 * 1024 * 1024 * 1024 - 65536;
+  return maxHeapSize / 16384;
+
+ case 132:
+ case 133:
+ case 12:
+ case 137:
+ case 138:
+ case 15:
+ case 235:
+ case 16:
+ case 17:
+ case 18:
+ case 19:
+ case 20:
+ case 149:
+ case 13:
+ case 10:
+ case 236:
+ case 153:
+ case 9:
+ case 21:
+ case 22:
+ case 159:
+ case 154:
+ case 14:
+ case 77:
+ case 78:
+ case 139:
+ case 80:
+ case 81:
+ case 82:
+ case 68:
+ case 67:
+ case 164:
+ case 11:
+ case 29:
+ case 47:
+ case 48:
+ case 95:
+ case 52:
+ case 51:
+ case 46:
+ case 79:
+  return 200809;
+
+ case 27:
+ case 246:
+ case 127:
+ case 128:
+ case 23:
+ case 24:
+ case 160:
+ case 161:
+ case 181:
+ case 182:
+ case 242:
+ case 183:
+ case 184:
+ case 243:
+ case 244:
+ case 245:
+ case 165:
+ case 178:
+ case 179:
+ case 49:
+ case 50:
+ case 168:
+ case 169:
+ case 175:
+ case 170:
+ case 171:
+ case 172:
+ case 97:
+ case 76:
+ case 32:
+ case 173:
+ case 35:
+  return -1;
+
+ case 176:
+ case 177:
+ case 7:
+ case 155:
+ case 8:
+ case 157:
+ case 125:
+ case 126:
+ case 92:
+ case 93:
+ case 129:
+ case 130:
+ case 131:
+ case 94:
+ case 91:
+  return 1;
+
+ case 74:
+ case 60:
+ case 69:
+ case 70:
+ case 4:
+  return 1024;
+
+ case 31:
+ case 42:
+ case 72:
+  return 32;
+
+ case 87:
+ case 26:
+ case 33:
+  return 2147483647;
+
+ case 34:
+ case 1:
+  return 47839;
+
+ case 38:
+ case 36:
+  return 99;
+
+ case 43:
+ case 37:
+  return 2048;
+
+ case 0:
+  return 2097152;
+
+ case 3:
+  return 65536;
+
+ case 28:
+  return 32768;
+
+ case 44:
+  return 32767;
+
+ case 75:
+  return 16384;
+
+ case 39:
+  return 1e3;
+
+ case 89:
+  return 700;
+
+ case 71:
+  return 256;
+
+ case 40:
+  return 255;
+
+ case 2:
+  return 100;
+
+ case 180:
+  return 64;
+
+ case 25:
+  return 20;
+
+ case 5:
+  return 16;
+
+ case 6:
+  return 6;
+
+ case 73:
+  return 4;
+
+ case 84:
+  {
+   if (typeof navigator === "object") return navigator["hardwareConcurrency"] || 1;
+   return 1;
+  }
+ }
+ ___setErrNo(28);
+ return -1;
+}
+
+function _time(ptr) {
+ var ret = Date.now() / 1e3 | 0;
+ if (ptr) {
+  HEAP32[ptr >> 2] = ret;
+ }
+ return ret;
+}
+
+Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas) {
+ Browser.requestFullscreen(lockPointer, resizeCanvas);
+};
+
+Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) {
+ Browser.requestAnimationFrame(func);
+};
+
+Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) {
+ Browser.setCanvasSize(width, height, noUpdates);
+};
+
+Module["pauseMainLoop"] = function Module_pauseMainLoop() {
+ Browser.mainLoop.pause();
+};
+
+Module["resumeMainLoop"] = function Module_resumeMainLoop() {
+ Browser.mainLoop.resume();
+};
+
+Module["getUserMedia"] = function Module_getUserMedia() {
+ Browser.getUserMedia();
+};
+
+Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) {
+ return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes);
+};
+
+var FSNode = function(parent, name, mode, rdev) {
+ if (!parent) {
+  parent = this;
+ }
+ 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;
+};
+
+var readMode = 292 | 73;
+
+var writeMode = 146;
+
+Object.defineProperties(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);
+  }
+ }
+});
+
+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 = false;
+
+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;
+}
+
+var asmLibraryArg = {
+ "__assert_fail": ___assert_fail,
+ "__clock_gettime": ___clock_gettime,
+ "__map_file": ___map_file,
+ "__syscall10": ___syscall10,
+ "__syscall125": ___syscall125,
+ "__syscall15": ___syscall15,
+ "__syscall183": ___syscall183,
+ "__syscall195": ___syscall195,
+ "__syscall196": ___syscall196,
+ "__syscall197": ___syscall197,
+ "__syscall20": ___syscall20,
+ "__syscall220": ___syscall220,
+ "__syscall221": ___syscall221,
+ "__syscall3": ___syscall3,
+ "__syscall33": ___syscall33,
+ "__syscall38": ___syscall38,
+ "__syscall39": ___syscall39,
+ "__syscall40": ___syscall40,
+ "__syscall5": ___syscall5,
+ "__syscall54": ___syscall54,
+ "__syscall83": ___syscall83,
+ "__syscall85": ___syscall85,
+ "__syscall9": ___syscall9,
+ "__syscall91": ___syscall91,
+ "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,
+ "environ_get": _environ_get,
+ "environ_sizes_get": _environ_sizes_get,
+ "exit": _exit,
+ "fd_close": _fd_close,
+ "fd_fdstat_get": _fd_fdstat_get,
+ "fd_read": _fd_read,
+ "fd_seek": _fd_seek,
+ "fd_write": _fd_write,
+ "getTempRet0": getTempRet0,
+ "gettimeofday": _gettimeofday,
+ "invoke_iii": invoke_iii,
+ "invoke_iiii": invoke_iiii,
+ "invoke_iiiii": invoke_iiiii,
+ "invoke_v": invoke_v,
+ "invoke_vi": invoke_vi,
+ "invoke_viiii": invoke_viiii,
+ "memory": wasmMemory,
+ "roundf": _roundf,
+ "saveSetjmp": _saveSetjmp,
+ "setTempRet0": setTempRet0,
+ "sysconf": _sysconf,
+ "table": wasmTable,
+ "testSetjmp": _testSetjmp,
+ "time": _time
+};
+
+var asm = createWasm();
+
+Module["asm"] = asm;
+
+var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() {
+ return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["__wasm_call_ctors"]).apply(null, arguments);
+};
+
+var _main = Module["_main"] = function() {
+ return (_main = Module["_main"] = Module["asm"]["main"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_Start_0 = Module["_emscripten_bind_ASS_Event_get_Start_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_Start_0 = Module["_emscripten_bind_ASS_Event_get_Start_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_Start_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_Start_1 = Module["_emscripten_bind_ASS_Event_set_Start_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_Start_1 = Module["_emscripten_bind_ASS_Event_set_Start_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_Start_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_Duration_0 = Module["_emscripten_bind_ASS_Event_get_Duration_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_Duration_0 = Module["_emscripten_bind_ASS_Event_get_Duration_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_Duration_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_Duration_1 = Module["_emscripten_bind_ASS_Event_set_Duration_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_Duration_1 = Module["_emscripten_bind_ASS_Event_set_Duration_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_Duration_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_ReadOrder_0 = Module["_emscripten_bind_ASS_Event_get_ReadOrder_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_ReadOrder_0 = Module["_emscripten_bind_ASS_Event_get_ReadOrder_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_ReadOrder_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_ReadOrder_1 = Module["_emscripten_bind_ASS_Event_set_ReadOrder_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_ReadOrder_1 = Module["_emscripten_bind_ASS_Event_set_ReadOrder_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_ReadOrder_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_Layer_0 = Module["_emscripten_bind_ASS_Event_get_Layer_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_Layer_0 = Module["_emscripten_bind_ASS_Event_get_Layer_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_Layer_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_Layer_1 = Module["_emscripten_bind_ASS_Event_set_Layer_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_Layer_1 = Module["_emscripten_bind_ASS_Event_set_Layer_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_Layer_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_Style_0 = Module["_emscripten_bind_ASS_Event_get_Style_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_Style_0 = Module["_emscripten_bind_ASS_Event_get_Style_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_Style_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_Style_1 = Module["_emscripten_bind_ASS_Event_set_Style_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_Style_1 = Module["_emscripten_bind_ASS_Event_set_Style_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_Style_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_Name_0 = Module["_emscripten_bind_ASS_Event_get_Name_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_Name_0 = Module["_emscripten_bind_ASS_Event_get_Name_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_Name_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_Name_1 = Module["_emscripten_bind_ASS_Event_set_Name_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_Name_1 = Module["_emscripten_bind_ASS_Event_set_Name_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_Name_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_MarginL_0 = Module["_emscripten_bind_ASS_Event_get_MarginL_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_MarginL_0 = Module["_emscripten_bind_ASS_Event_get_MarginL_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_MarginL_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_MarginL_1 = Module["_emscripten_bind_ASS_Event_set_MarginL_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_MarginL_1 = Module["_emscripten_bind_ASS_Event_set_MarginL_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_MarginL_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_MarginR_0 = Module["_emscripten_bind_ASS_Event_get_MarginR_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_MarginR_0 = Module["_emscripten_bind_ASS_Event_get_MarginR_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_MarginR_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_MarginR_1 = Module["_emscripten_bind_ASS_Event_set_MarginR_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_MarginR_1 = Module["_emscripten_bind_ASS_Event_set_MarginR_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_MarginR_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_MarginV_0 = Module["_emscripten_bind_ASS_Event_get_MarginV_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_MarginV_0 = Module["_emscripten_bind_ASS_Event_get_MarginV_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_MarginV_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_MarginV_1 = Module["_emscripten_bind_ASS_Event_set_MarginV_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_MarginV_1 = Module["_emscripten_bind_ASS_Event_set_MarginV_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_MarginV_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_Effect_0 = Module["_emscripten_bind_ASS_Event_get_Effect_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_Effect_0 = Module["_emscripten_bind_ASS_Event_get_Effect_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_Effect_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_Effect_1 = Module["_emscripten_bind_ASS_Event_set_Effect_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_Effect_1 = Module["_emscripten_bind_ASS_Event_set_Effect_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_Effect_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_Text_0 = Module["_emscripten_bind_ASS_Event_get_Text_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_Text_0 = Module["_emscripten_bind_ASS_Event_get_Text_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_Text_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_Text_1 = Module["_emscripten_bind_ASS_Event_set_Text_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_Text_1 = Module["_emscripten_bind_ASS_Event_set_Text_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_Text_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_SubtitleOctopus_0 = Module["_emscripten_bind_SubtitleOctopus_SubtitleOctopus_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_SubtitleOctopus_0 = Module["_emscripten_bind_SubtitleOctopus_SubtitleOctopus_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_SubtitleOctopus_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_setLogLevel_1 = Module["_emscripten_bind_SubtitleOctopus_setLogLevel_1"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_setLogLevel_1 = Module["_emscripten_bind_SubtitleOctopus_setLogLevel_1"] = Module["asm"]["emscripten_bind_SubtitleOctopus_setLogLevel_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_initLibrary_2 = Module["_emscripten_bind_SubtitleOctopus_initLibrary_2"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_initLibrary_2 = Module["_emscripten_bind_SubtitleOctopus_initLibrary_2"] = Module["asm"]["emscripten_bind_SubtitleOctopus_initLibrary_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_createTrack_1 = Module["_emscripten_bind_SubtitleOctopus_createTrack_1"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_createTrack_1 = Module["_emscripten_bind_SubtitleOctopus_createTrack_1"] = Module["asm"]["emscripten_bind_SubtitleOctopus_createTrack_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_createTrackMem_2 = Module["_emscripten_bind_SubtitleOctopus_createTrackMem_2"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_createTrackMem_2 = Module["_emscripten_bind_SubtitleOctopus_createTrackMem_2"] = Module["asm"]["emscripten_bind_SubtitleOctopus_createTrackMem_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_removeTrack_0 = Module["_emscripten_bind_SubtitleOctopus_removeTrack_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_removeTrack_0 = Module["_emscripten_bind_SubtitleOctopus_removeTrack_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_removeTrack_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_resizeCanvas_2 = Module["_emscripten_bind_SubtitleOctopus_resizeCanvas_2"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_resizeCanvas_2 = Module["_emscripten_bind_SubtitleOctopus_resizeCanvas_2"] = Module["asm"]["emscripten_bind_SubtitleOctopus_resizeCanvas_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_renderImage_2 = Module["_emscripten_bind_SubtitleOctopus_renderImage_2"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_renderImage_2 = Module["_emscripten_bind_SubtitleOctopus_renderImage_2"] = Module["asm"]["emscripten_bind_SubtitleOctopus_renderImage_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_quitLibrary_0 = Module["_emscripten_bind_SubtitleOctopus_quitLibrary_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_quitLibrary_0 = Module["_emscripten_bind_SubtitleOctopus_quitLibrary_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_quitLibrary_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_reloadLibrary_0 = Module["_emscripten_bind_SubtitleOctopus_reloadLibrary_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_reloadLibrary_0 = Module["_emscripten_bind_SubtitleOctopus_reloadLibrary_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_reloadLibrary_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_reloadFonts_0 = Module["_emscripten_bind_SubtitleOctopus_reloadFonts_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_reloadFonts_0 = Module["_emscripten_bind_SubtitleOctopus_reloadFonts_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_reloadFonts_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_setMargin_4 = Module["_emscripten_bind_SubtitleOctopus_setMargin_4"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_setMargin_4 = Module["_emscripten_bind_SubtitleOctopus_setMargin_4"] = Module["asm"]["emscripten_bind_SubtitleOctopus_setMargin_4"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_getEventCount_0 = Module["_emscripten_bind_SubtitleOctopus_getEventCount_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_getEventCount_0 = Module["_emscripten_bind_SubtitleOctopus_getEventCount_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_getEventCount_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_allocEvent_0 = Module["_emscripten_bind_SubtitleOctopus_allocEvent_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_allocEvent_0 = Module["_emscripten_bind_SubtitleOctopus_allocEvent_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_allocEvent_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_allocStyle_0 = Module["_emscripten_bind_SubtitleOctopus_allocStyle_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_allocStyle_0 = Module["_emscripten_bind_SubtitleOctopus_allocStyle_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_allocStyle_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_removeEvent_1 = Module["_emscripten_bind_SubtitleOctopus_removeEvent_1"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_removeEvent_1 = Module["_emscripten_bind_SubtitleOctopus_removeEvent_1"] = Module["asm"]["emscripten_bind_SubtitleOctopus_removeEvent_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_getStyleCount_0 = Module["_emscripten_bind_SubtitleOctopus_getStyleCount_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_getStyleCount_0 = Module["_emscripten_bind_SubtitleOctopus_getStyleCount_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_getStyleCount_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_getStyleByName_1 = Module["_emscripten_bind_SubtitleOctopus_getStyleByName_1"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_getStyleByName_1 = Module["_emscripten_bind_SubtitleOctopus_getStyleByName_1"] = Module["asm"]["emscripten_bind_SubtitleOctopus_getStyleByName_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_removeStyle_1 = Module["_emscripten_bind_SubtitleOctopus_removeStyle_1"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_removeStyle_1 = Module["_emscripten_bind_SubtitleOctopus_removeStyle_1"] = Module["asm"]["emscripten_bind_SubtitleOctopus_removeStyle_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_removeAllEvents_0 = Module["_emscripten_bind_SubtitleOctopus_removeAllEvents_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_removeAllEvents_0 = Module["_emscripten_bind_SubtitleOctopus_removeAllEvents_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_removeAllEvents_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_get_track_0 = Module["_emscripten_bind_SubtitleOctopus_get_track_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_get_track_0 = Module["_emscripten_bind_SubtitleOctopus_get_track_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_get_track_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_set_track_1 = Module["_emscripten_bind_SubtitleOctopus_set_track_1"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_set_track_1 = Module["_emscripten_bind_SubtitleOctopus_set_track_1"] = Module["asm"]["emscripten_bind_SubtitleOctopus_set_track_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_get_ass_renderer_0 = Module["_emscripten_bind_SubtitleOctopus_get_ass_renderer_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_get_ass_renderer_0 = Module["_emscripten_bind_SubtitleOctopus_get_ass_renderer_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_get_ass_renderer_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_set_ass_renderer_1 = Module["_emscripten_bind_SubtitleOctopus_set_ass_renderer_1"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_set_ass_renderer_1 = Module["_emscripten_bind_SubtitleOctopus_set_ass_renderer_1"] = Module["asm"]["emscripten_bind_SubtitleOctopus_set_ass_renderer_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_get_ass_library_0 = Module["_emscripten_bind_SubtitleOctopus_get_ass_library_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_get_ass_library_0 = Module["_emscripten_bind_SubtitleOctopus_get_ass_library_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_get_ass_library_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_set_ass_library_1 = Module["_emscripten_bind_SubtitleOctopus_set_ass_library_1"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_set_ass_library_1 = Module["_emscripten_bind_SubtitleOctopus_set_ass_library_1"] = Module["asm"]["emscripten_bind_SubtitleOctopus_set_ass_library_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus___destroy___0 = Module["_emscripten_bind_SubtitleOctopus___destroy___0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus___destroy___0 = Module["_emscripten_bind_SubtitleOctopus___destroy___0"] = Module["asm"]["emscripten_bind_SubtitleOctopus___destroy___0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_n_styles_0 = Module["_emscripten_bind_ASS_Track_get_n_styles_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_n_styles_0 = Module["_emscripten_bind_ASS_Track_get_n_styles_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_n_styles_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_n_styles_1 = Module["_emscripten_bind_ASS_Track_set_n_styles_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_n_styles_1 = Module["_emscripten_bind_ASS_Track_set_n_styles_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_n_styles_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_max_styles_0 = Module["_emscripten_bind_ASS_Track_get_max_styles_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_max_styles_0 = Module["_emscripten_bind_ASS_Track_get_max_styles_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_max_styles_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_max_styles_1 = Module["_emscripten_bind_ASS_Track_set_max_styles_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_max_styles_1 = Module["_emscripten_bind_ASS_Track_set_max_styles_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_max_styles_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_n_events_0 = Module["_emscripten_bind_ASS_Track_get_n_events_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_n_events_0 = Module["_emscripten_bind_ASS_Track_get_n_events_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_n_events_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_n_events_1 = Module["_emscripten_bind_ASS_Track_set_n_events_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_n_events_1 = Module["_emscripten_bind_ASS_Track_set_n_events_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_n_events_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_max_events_0 = Module["_emscripten_bind_ASS_Track_get_max_events_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_max_events_0 = Module["_emscripten_bind_ASS_Track_get_max_events_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_max_events_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_max_events_1 = Module["_emscripten_bind_ASS_Track_set_max_events_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_max_events_1 = Module["_emscripten_bind_ASS_Track_set_max_events_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_max_events_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_styles_1 = Module["_emscripten_bind_ASS_Track_get_styles_1"] = function() {
+ return (_emscripten_bind_ASS_Track_get_styles_1 = Module["_emscripten_bind_ASS_Track_get_styles_1"] = Module["asm"]["emscripten_bind_ASS_Track_get_styles_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_styles_2 = Module["_emscripten_bind_ASS_Track_set_styles_2"] = function() {
+ return (_emscripten_bind_ASS_Track_set_styles_2 = Module["_emscripten_bind_ASS_Track_set_styles_2"] = Module["asm"]["emscripten_bind_ASS_Track_set_styles_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_events_1 = Module["_emscripten_bind_ASS_Track_get_events_1"] = function() {
+ return (_emscripten_bind_ASS_Track_get_events_1 = Module["_emscripten_bind_ASS_Track_get_events_1"] = Module["asm"]["emscripten_bind_ASS_Track_get_events_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_events_2 = Module["_emscripten_bind_ASS_Track_set_events_2"] = function() {
+ return (_emscripten_bind_ASS_Track_set_events_2 = Module["_emscripten_bind_ASS_Track_set_events_2"] = Module["asm"]["emscripten_bind_ASS_Track_set_events_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_style_format_0 = Module["_emscripten_bind_ASS_Track_get_style_format_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_style_format_0 = Module["_emscripten_bind_ASS_Track_get_style_format_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_style_format_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_style_format_1 = Module["_emscripten_bind_ASS_Track_set_style_format_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_style_format_1 = Module["_emscripten_bind_ASS_Track_set_style_format_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_style_format_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_event_format_0 = Module["_emscripten_bind_ASS_Track_get_event_format_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_event_format_0 = Module["_emscripten_bind_ASS_Track_get_event_format_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_event_format_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_event_format_1 = Module["_emscripten_bind_ASS_Track_set_event_format_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_event_format_1 = Module["_emscripten_bind_ASS_Track_set_event_format_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_event_format_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_PlayResX_0 = Module["_emscripten_bind_ASS_Track_get_PlayResX_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_PlayResX_0 = Module["_emscripten_bind_ASS_Track_get_PlayResX_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_PlayResX_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_PlayResX_1 = Module["_emscripten_bind_ASS_Track_set_PlayResX_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_PlayResX_1 = Module["_emscripten_bind_ASS_Track_set_PlayResX_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_PlayResX_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_PlayResY_0 = Module["_emscripten_bind_ASS_Track_get_PlayResY_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_PlayResY_0 = Module["_emscripten_bind_ASS_Track_get_PlayResY_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_PlayResY_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_PlayResY_1 = Module["_emscripten_bind_ASS_Track_set_PlayResY_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_PlayResY_1 = Module["_emscripten_bind_ASS_Track_set_PlayResY_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_PlayResY_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_Timer_0 = Module["_emscripten_bind_ASS_Track_get_Timer_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_Timer_0 = Module["_emscripten_bind_ASS_Track_get_Timer_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_Timer_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_Timer_1 = Module["_emscripten_bind_ASS_Track_set_Timer_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_Timer_1 = Module["_emscripten_bind_ASS_Track_set_Timer_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_Timer_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_WrapStyle_0 = Module["_emscripten_bind_ASS_Track_get_WrapStyle_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_WrapStyle_0 = Module["_emscripten_bind_ASS_Track_get_WrapStyle_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_WrapStyle_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_WrapStyle_1 = Module["_emscripten_bind_ASS_Track_set_WrapStyle_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_WrapStyle_1 = Module["_emscripten_bind_ASS_Track_set_WrapStyle_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_WrapStyle_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_ScaledBorderAndShadow_0 = Module["_emscripten_bind_ASS_Track_get_ScaledBorderAndShadow_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_ScaledBorderAndShadow_0 = Module["_emscripten_bind_ASS_Track_get_ScaledBorderAndShadow_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_ScaledBorderAndShadow_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_ScaledBorderAndShadow_1 = Module["_emscripten_bind_ASS_Track_set_ScaledBorderAndShadow_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_ScaledBorderAndShadow_1 = Module["_emscripten_bind_ASS_Track_set_ScaledBorderAndShadow_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_ScaledBorderAndShadow_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_Kerning_0 = Module["_emscripten_bind_ASS_Track_get_Kerning_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_Kerning_0 = Module["_emscripten_bind_ASS_Track_get_Kerning_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_Kerning_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_Kerning_1 = Module["_emscripten_bind_ASS_Track_set_Kerning_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_Kerning_1 = Module["_emscripten_bind_ASS_Track_set_Kerning_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_Kerning_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_Language_0 = Module["_emscripten_bind_ASS_Track_get_Language_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_Language_0 = Module["_emscripten_bind_ASS_Track_get_Language_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_Language_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_Language_1 = Module["_emscripten_bind_ASS_Track_set_Language_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_Language_1 = Module["_emscripten_bind_ASS_Track_set_Language_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_Language_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_default_style_0 = Module["_emscripten_bind_ASS_Track_get_default_style_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_default_style_0 = Module["_emscripten_bind_ASS_Track_get_default_style_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_default_style_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_default_style_1 = Module["_emscripten_bind_ASS_Track_set_default_style_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_default_style_1 = Module["_emscripten_bind_ASS_Track_set_default_style_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_default_style_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_name_0 = Module["_emscripten_bind_ASS_Track_get_name_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_name_0 = Module["_emscripten_bind_ASS_Track_get_name_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_name_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_name_1 = Module["_emscripten_bind_ASS_Track_set_name_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_name_1 = Module["_emscripten_bind_ASS_Track_set_name_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_name_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Name_0 = Module["_emscripten_bind_ASS_Style_get_Name_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Name_0 = Module["_emscripten_bind_ASS_Style_get_Name_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Name_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Name_1 = Module["_emscripten_bind_ASS_Style_set_Name_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Name_1 = Module["_emscripten_bind_ASS_Style_set_Name_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Name_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_FontName_0 = Module["_emscripten_bind_ASS_Style_get_FontName_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_FontName_0 = Module["_emscripten_bind_ASS_Style_get_FontName_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_FontName_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_FontName_1 = Module["_emscripten_bind_ASS_Style_set_FontName_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_FontName_1 = Module["_emscripten_bind_ASS_Style_set_FontName_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_FontName_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_FontSize_0 = Module["_emscripten_bind_ASS_Style_get_FontSize_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_FontSize_0 = Module["_emscripten_bind_ASS_Style_get_FontSize_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_FontSize_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_FontSize_1 = Module["_emscripten_bind_ASS_Style_set_FontSize_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_FontSize_1 = Module["_emscripten_bind_ASS_Style_set_FontSize_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_FontSize_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_PrimaryColour_0 = Module["_emscripten_bind_ASS_Style_get_PrimaryColour_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_PrimaryColour_0 = Module["_emscripten_bind_ASS_Style_get_PrimaryColour_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_PrimaryColour_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_PrimaryColour_1 = Module["_emscripten_bind_ASS_Style_set_PrimaryColour_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_PrimaryColour_1 = Module["_emscripten_bind_ASS_Style_set_PrimaryColour_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_PrimaryColour_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_SecondaryColour_0 = Module["_emscripten_bind_ASS_Style_get_SecondaryColour_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_SecondaryColour_0 = Module["_emscripten_bind_ASS_Style_get_SecondaryColour_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_SecondaryColour_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_SecondaryColour_1 = Module["_emscripten_bind_ASS_Style_set_SecondaryColour_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_SecondaryColour_1 = Module["_emscripten_bind_ASS_Style_set_SecondaryColour_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_SecondaryColour_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_OutlineColour_0 = Module["_emscripten_bind_ASS_Style_get_OutlineColour_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_OutlineColour_0 = Module["_emscripten_bind_ASS_Style_get_OutlineColour_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_OutlineColour_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_OutlineColour_1 = Module["_emscripten_bind_ASS_Style_set_OutlineColour_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_OutlineColour_1 = Module["_emscripten_bind_ASS_Style_set_OutlineColour_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_OutlineColour_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_BackColour_0 = Module["_emscripten_bind_ASS_Style_get_BackColour_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_BackColour_0 = Module["_emscripten_bind_ASS_Style_get_BackColour_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_BackColour_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_BackColour_1 = Module["_emscripten_bind_ASS_Style_set_BackColour_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_BackColour_1 = Module["_emscripten_bind_ASS_Style_set_BackColour_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_BackColour_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Bold_0 = Module["_emscripten_bind_ASS_Style_get_Bold_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Bold_0 = Module["_emscripten_bind_ASS_Style_get_Bold_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Bold_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Bold_1 = Module["_emscripten_bind_ASS_Style_set_Bold_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Bold_1 = Module["_emscripten_bind_ASS_Style_set_Bold_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Bold_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Italic_0 = Module["_emscripten_bind_ASS_Style_get_Italic_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Italic_0 = Module["_emscripten_bind_ASS_Style_get_Italic_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Italic_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Italic_1 = Module["_emscripten_bind_ASS_Style_set_Italic_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Italic_1 = Module["_emscripten_bind_ASS_Style_set_Italic_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Italic_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Underline_0 = Module["_emscripten_bind_ASS_Style_get_Underline_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Underline_0 = Module["_emscripten_bind_ASS_Style_get_Underline_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Underline_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Underline_1 = Module["_emscripten_bind_ASS_Style_set_Underline_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Underline_1 = Module["_emscripten_bind_ASS_Style_set_Underline_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Underline_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_StrikeOut_0 = Module["_emscripten_bind_ASS_Style_get_StrikeOut_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_StrikeOut_0 = Module["_emscripten_bind_ASS_Style_get_StrikeOut_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_StrikeOut_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_StrikeOut_1 = Module["_emscripten_bind_ASS_Style_set_StrikeOut_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_StrikeOut_1 = Module["_emscripten_bind_ASS_Style_set_StrikeOut_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_StrikeOut_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_ScaleX_0 = Module["_emscripten_bind_ASS_Style_get_ScaleX_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_ScaleX_0 = Module["_emscripten_bind_ASS_Style_get_ScaleX_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_ScaleX_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_ScaleX_1 = Module["_emscripten_bind_ASS_Style_set_ScaleX_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_ScaleX_1 = Module["_emscripten_bind_ASS_Style_set_ScaleX_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_ScaleX_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_ScaleY_0 = Module["_emscripten_bind_ASS_Style_get_ScaleY_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_ScaleY_0 = Module["_emscripten_bind_ASS_Style_get_ScaleY_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_ScaleY_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_ScaleY_1 = Module["_emscripten_bind_ASS_Style_set_ScaleY_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_ScaleY_1 = Module["_emscripten_bind_ASS_Style_set_ScaleY_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_ScaleY_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Spacing_0 = Module["_emscripten_bind_ASS_Style_get_Spacing_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Spacing_0 = Module["_emscripten_bind_ASS_Style_get_Spacing_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Spacing_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Spacing_1 = Module["_emscripten_bind_ASS_Style_set_Spacing_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Spacing_1 = Module["_emscripten_bind_ASS_Style_set_Spacing_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Spacing_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Angle_0 = Module["_emscripten_bind_ASS_Style_get_Angle_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Angle_0 = Module["_emscripten_bind_ASS_Style_get_Angle_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Angle_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Angle_1 = Module["_emscripten_bind_ASS_Style_set_Angle_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Angle_1 = Module["_emscripten_bind_ASS_Style_set_Angle_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Angle_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_BorderStyle_0 = Module["_emscripten_bind_ASS_Style_get_BorderStyle_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_BorderStyle_0 = Module["_emscripten_bind_ASS_Style_get_BorderStyle_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_BorderStyle_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_BorderStyle_1 = Module["_emscripten_bind_ASS_Style_set_BorderStyle_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_BorderStyle_1 = Module["_emscripten_bind_ASS_Style_set_BorderStyle_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_BorderStyle_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Outline_0 = Module["_emscripten_bind_ASS_Style_get_Outline_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Outline_0 = Module["_emscripten_bind_ASS_Style_get_Outline_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Outline_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Outline_1 = Module["_emscripten_bind_ASS_Style_set_Outline_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Outline_1 = Module["_emscripten_bind_ASS_Style_set_Outline_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Outline_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Shadow_0 = Module["_emscripten_bind_ASS_Style_get_Shadow_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Shadow_0 = Module["_emscripten_bind_ASS_Style_get_Shadow_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Shadow_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Shadow_1 = Module["_emscripten_bind_ASS_Style_set_Shadow_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Shadow_1 = Module["_emscripten_bind_ASS_Style_set_Shadow_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Shadow_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Alignment_0 = Module["_emscripten_bind_ASS_Style_get_Alignment_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Alignment_0 = Module["_emscripten_bind_ASS_Style_get_Alignment_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Alignment_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Alignment_1 = Module["_emscripten_bind_ASS_Style_set_Alignment_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Alignment_1 = Module["_emscripten_bind_ASS_Style_set_Alignment_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Alignment_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_MarginL_0 = Module["_emscripten_bind_ASS_Style_get_MarginL_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_MarginL_0 = Module["_emscripten_bind_ASS_Style_get_MarginL_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_MarginL_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_MarginL_1 = Module["_emscripten_bind_ASS_Style_set_MarginL_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_MarginL_1 = Module["_emscripten_bind_ASS_Style_set_MarginL_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_MarginL_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_MarginR_0 = Module["_emscripten_bind_ASS_Style_get_MarginR_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_MarginR_0 = Module["_emscripten_bind_ASS_Style_get_MarginR_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_MarginR_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_MarginR_1 = Module["_emscripten_bind_ASS_Style_set_MarginR_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_MarginR_1 = Module["_emscripten_bind_ASS_Style_set_MarginR_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_MarginR_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_MarginV_0 = Module["_emscripten_bind_ASS_Style_get_MarginV_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_MarginV_0 = Module["_emscripten_bind_ASS_Style_get_MarginV_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_MarginV_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_MarginV_1 = Module["_emscripten_bind_ASS_Style_set_MarginV_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_MarginV_1 = Module["_emscripten_bind_ASS_Style_set_MarginV_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_MarginV_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Encoding_0 = Module["_emscripten_bind_ASS_Style_get_Encoding_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Encoding_0 = Module["_emscripten_bind_ASS_Style_get_Encoding_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Encoding_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Encoding_1 = Module["_emscripten_bind_ASS_Style_set_Encoding_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Encoding_1 = Module["_emscripten_bind_ASS_Style_set_Encoding_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Encoding_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_treat_fontname_as_pattern_0 = Module["_emscripten_bind_ASS_Style_get_treat_fontname_as_pattern_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_treat_fontname_as_pattern_0 = Module["_emscripten_bind_ASS_Style_get_treat_fontname_as_pattern_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_treat_fontname_as_pattern_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_treat_fontname_as_pattern_1 = Module["_emscripten_bind_ASS_Style_set_treat_fontname_as_pattern_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_treat_fontname_as_pattern_1 = Module["_emscripten_bind_ASS_Style_set_treat_fontname_as_pattern_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_treat_fontname_as_pattern_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Blur_0 = Module["_emscripten_bind_ASS_Style_get_Blur_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Blur_0 = Module["_emscripten_bind_ASS_Style_get_Blur_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Blur_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Blur_1 = Module["_emscripten_bind_ASS_Style_set_Blur_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Blur_1 = Module["_emscripten_bind_ASS_Style_set_Blur_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Blur_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Justify_0 = Module["_emscripten_bind_ASS_Style_get_Justify_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Justify_0 = Module["_emscripten_bind_ASS_Style_get_Justify_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Justify_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Justify_1 = Module["_emscripten_bind_ASS_Style_set_Justify_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Justify_1 = Module["_emscripten_bind_ASS_Style_set_Justify_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Justify_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_get_w_0 = Module["_emscripten_bind_ASS_Image_get_w_0"] = function() {
+ return (_emscripten_bind_ASS_Image_get_w_0 = Module["_emscripten_bind_ASS_Image_get_w_0"] = Module["asm"]["emscripten_bind_ASS_Image_get_w_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_set_w_1 = Module["_emscripten_bind_ASS_Image_set_w_1"] = function() {
+ return (_emscripten_bind_ASS_Image_set_w_1 = Module["_emscripten_bind_ASS_Image_set_w_1"] = Module["asm"]["emscripten_bind_ASS_Image_set_w_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_get_h_0 = Module["_emscripten_bind_ASS_Image_get_h_0"] = function() {
+ return (_emscripten_bind_ASS_Image_get_h_0 = Module["_emscripten_bind_ASS_Image_get_h_0"] = Module["asm"]["emscripten_bind_ASS_Image_get_h_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_set_h_1 = Module["_emscripten_bind_ASS_Image_set_h_1"] = function() {
+ return (_emscripten_bind_ASS_Image_set_h_1 = Module["_emscripten_bind_ASS_Image_set_h_1"] = Module["asm"]["emscripten_bind_ASS_Image_set_h_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_get_stride_0 = Module["_emscripten_bind_ASS_Image_get_stride_0"] = function() {
+ return (_emscripten_bind_ASS_Image_get_stride_0 = Module["_emscripten_bind_ASS_Image_get_stride_0"] = Module["asm"]["emscripten_bind_ASS_Image_get_stride_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_set_stride_1 = Module["_emscripten_bind_ASS_Image_set_stride_1"] = function() {
+ return (_emscripten_bind_ASS_Image_set_stride_1 = Module["_emscripten_bind_ASS_Image_set_stride_1"] = Module["asm"]["emscripten_bind_ASS_Image_set_stride_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_get_bitmap_0 = Module["_emscripten_bind_ASS_Image_get_bitmap_0"] = function() {
+ return (_emscripten_bind_ASS_Image_get_bitmap_0 = Module["_emscripten_bind_ASS_Image_get_bitmap_0"] = Module["asm"]["emscripten_bind_ASS_Image_get_bitmap_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_set_bitmap_1 = Module["_emscripten_bind_ASS_Image_set_bitmap_1"] = function() {
+ return (_emscripten_bind_ASS_Image_set_bitmap_1 = Module["_emscripten_bind_ASS_Image_set_bitmap_1"] = Module["asm"]["emscripten_bind_ASS_Image_set_bitmap_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_get_color_0 = Module["_emscripten_bind_ASS_Image_get_color_0"] = function() {
+ return (_emscripten_bind_ASS_Image_get_color_0 = Module["_emscripten_bind_ASS_Image_get_color_0"] = Module["asm"]["emscripten_bind_ASS_Image_get_color_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_set_color_1 = Module["_emscripten_bind_ASS_Image_set_color_1"] = function() {
+ return (_emscripten_bind_ASS_Image_set_color_1 = Module["_emscripten_bind_ASS_Image_set_color_1"] = Module["asm"]["emscripten_bind_ASS_Image_set_color_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_get_dst_x_0 = Module["_emscripten_bind_ASS_Image_get_dst_x_0"] = function() {
+ return (_emscripten_bind_ASS_Image_get_dst_x_0 = Module["_emscripten_bind_ASS_Image_get_dst_x_0"] = Module["asm"]["emscripten_bind_ASS_Image_get_dst_x_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_set_dst_x_1 = Module["_emscripten_bind_ASS_Image_set_dst_x_1"] = function() {
+ return (_emscripten_bind_ASS_Image_set_dst_x_1 = Module["_emscripten_bind_ASS_Image_set_dst_x_1"] = Module["asm"]["emscripten_bind_ASS_Image_set_dst_x_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_get_dst_y_0 = Module["_emscripten_bind_ASS_Image_get_dst_y_0"] = function() {
+ return (_emscripten_bind_ASS_Image_get_dst_y_0 = Module["_emscripten_bind_ASS_Image_get_dst_y_0"] = Module["asm"]["emscripten_bind_ASS_Image_get_dst_y_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_set_dst_y_1 = Module["_emscripten_bind_ASS_Image_set_dst_y_1"] = function() {
+ return (_emscripten_bind_ASS_Image_set_dst_y_1 = Module["_emscripten_bind_ASS_Image_set_dst_y_1"] = Module["asm"]["emscripten_bind_ASS_Image_set_dst_y_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_get_next_0 = Module["_emscripten_bind_ASS_Image_get_next_0"] = function() {
+ return (_emscripten_bind_ASS_Image_get_next_0 = Module["_emscripten_bind_ASS_Image_get_next_0"] = Module["asm"]["emscripten_bind_ASS_Image_get_next_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_set_next_1 = Module["_emscripten_bind_ASS_Image_set_next_1"] = function() {
+ return (_emscripten_bind_ASS_Image_set_next_1 = Module["_emscripten_bind_ASS_Image_set_next_1"] = Module["asm"]["emscripten_bind_ASS_Image_set_next_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_VoidPtr___destroy___0 = Module["_emscripten_bind_VoidPtr___destroy___0"] = function() {
+ return (_emscripten_bind_VoidPtr___destroy___0 = Module["_emscripten_bind_VoidPtr___destroy___0"] = Module["asm"]["emscripten_bind_VoidPtr___destroy___0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_libass_0 = Module["_emscripten_bind_libass_libass_0"] = function() {
+ return (_emscripten_bind_libass_libass_0 = Module["_emscripten_bind_libass_libass_0"] = Module["asm"]["emscripten_bind_libass_libass_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_library_version_0 = Module["_emscripten_bind_libass_oct_library_version_0"] = function() {
+ return (_emscripten_bind_libass_oct_library_version_0 = Module["_emscripten_bind_libass_oct_library_version_0"] = Module["asm"]["emscripten_bind_libass_oct_library_version_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_library_init_0 = Module["_emscripten_bind_libass_oct_library_init_0"] = function() {
+ return (_emscripten_bind_libass_oct_library_init_0 = Module["_emscripten_bind_libass_oct_library_init_0"] = Module["asm"]["emscripten_bind_libass_oct_library_init_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_library_done_1 = Module["_emscripten_bind_libass_oct_library_done_1"] = function() {
+ return (_emscripten_bind_libass_oct_library_done_1 = Module["_emscripten_bind_libass_oct_library_done_1"] = Module["asm"]["emscripten_bind_libass_oct_library_done_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_fonts_dir_2 = Module["_emscripten_bind_libass_oct_set_fonts_dir_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_fonts_dir_2 = Module["_emscripten_bind_libass_oct_set_fonts_dir_2"] = Module["asm"]["emscripten_bind_libass_oct_set_fonts_dir_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_extract_fonts_2 = Module["_emscripten_bind_libass_oct_set_extract_fonts_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_extract_fonts_2 = Module["_emscripten_bind_libass_oct_set_extract_fonts_2"] = Module["asm"]["emscripten_bind_libass_oct_set_extract_fonts_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_style_overrides_2 = Module["_emscripten_bind_libass_oct_set_style_overrides_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_style_overrides_2 = Module["_emscripten_bind_libass_oct_set_style_overrides_2"] = Module["asm"]["emscripten_bind_libass_oct_set_style_overrides_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_process_force_style_1 = Module["_emscripten_bind_libass_oct_process_force_style_1"] = function() {
+ return (_emscripten_bind_libass_oct_process_force_style_1 = Module["_emscripten_bind_libass_oct_process_force_style_1"] = Module["asm"]["emscripten_bind_libass_oct_process_force_style_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_renderer_init_1 = Module["_emscripten_bind_libass_oct_renderer_init_1"] = function() {
+ return (_emscripten_bind_libass_oct_renderer_init_1 = Module["_emscripten_bind_libass_oct_renderer_init_1"] = Module["asm"]["emscripten_bind_libass_oct_renderer_init_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_renderer_done_1 = Module["_emscripten_bind_libass_oct_renderer_done_1"] = function() {
+ return (_emscripten_bind_libass_oct_renderer_done_1 = Module["_emscripten_bind_libass_oct_renderer_done_1"] = Module["asm"]["emscripten_bind_libass_oct_renderer_done_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_frame_size_3 = Module["_emscripten_bind_libass_oct_set_frame_size_3"] = function() {
+ return (_emscripten_bind_libass_oct_set_frame_size_3 = Module["_emscripten_bind_libass_oct_set_frame_size_3"] = Module["asm"]["emscripten_bind_libass_oct_set_frame_size_3"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_storage_size_3 = Module["_emscripten_bind_libass_oct_set_storage_size_3"] = function() {
+ return (_emscripten_bind_libass_oct_set_storage_size_3 = Module["_emscripten_bind_libass_oct_set_storage_size_3"] = Module["asm"]["emscripten_bind_libass_oct_set_storage_size_3"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_shaper_2 = Module["_emscripten_bind_libass_oct_set_shaper_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_shaper_2 = Module["_emscripten_bind_libass_oct_set_shaper_2"] = Module["asm"]["emscripten_bind_libass_oct_set_shaper_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_margins_5 = Module["_emscripten_bind_libass_oct_set_margins_5"] = function() {
+ return (_emscripten_bind_libass_oct_set_margins_5 = Module["_emscripten_bind_libass_oct_set_margins_5"] = Module["asm"]["emscripten_bind_libass_oct_set_margins_5"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_use_margins_2 = Module["_emscripten_bind_libass_oct_set_use_margins_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_use_margins_2 = Module["_emscripten_bind_libass_oct_set_use_margins_2"] = Module["asm"]["emscripten_bind_libass_oct_set_use_margins_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_pixel_aspect_2 = Module["_emscripten_bind_libass_oct_set_pixel_aspect_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_pixel_aspect_2 = Module["_emscripten_bind_libass_oct_set_pixel_aspect_2"] = Module["asm"]["emscripten_bind_libass_oct_set_pixel_aspect_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_aspect_ratio_3 = Module["_emscripten_bind_libass_oct_set_aspect_ratio_3"] = function() {
+ return (_emscripten_bind_libass_oct_set_aspect_ratio_3 = Module["_emscripten_bind_libass_oct_set_aspect_ratio_3"] = Module["asm"]["emscripten_bind_libass_oct_set_aspect_ratio_3"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_font_scale_2 = Module["_emscripten_bind_libass_oct_set_font_scale_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_font_scale_2 = Module["_emscripten_bind_libass_oct_set_font_scale_2"] = Module["asm"]["emscripten_bind_libass_oct_set_font_scale_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_hinting_2 = Module["_emscripten_bind_libass_oct_set_hinting_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_hinting_2 = Module["_emscripten_bind_libass_oct_set_hinting_2"] = Module["asm"]["emscripten_bind_libass_oct_set_hinting_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_line_spacing_2 = Module["_emscripten_bind_libass_oct_set_line_spacing_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_line_spacing_2 = Module["_emscripten_bind_libass_oct_set_line_spacing_2"] = Module["asm"]["emscripten_bind_libass_oct_set_line_spacing_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_line_position_2 = Module["_emscripten_bind_libass_oct_set_line_position_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_line_position_2 = Module["_emscripten_bind_libass_oct_set_line_position_2"] = Module["asm"]["emscripten_bind_libass_oct_set_line_position_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_fonts_6 = Module["_emscripten_bind_libass_oct_set_fonts_6"] = function() {
+ return (_emscripten_bind_libass_oct_set_fonts_6 = Module["_emscripten_bind_libass_oct_set_fonts_6"] = Module["asm"]["emscripten_bind_libass_oct_set_fonts_6"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_selective_style_override_enabled_2 = Module["_emscripten_bind_libass_oct_set_selective_style_override_enabled_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_selective_style_override_enabled_2 = Module["_emscripten_bind_libass_oct_set_selective_style_override_enabled_2"] = Module["asm"]["emscripten_bind_libass_oct_set_selective_style_override_enabled_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_selective_style_override_2 = Module["_emscripten_bind_libass_oct_set_selective_style_override_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_selective_style_override_2 = Module["_emscripten_bind_libass_oct_set_selective_style_override_2"] = Module["asm"]["emscripten_bind_libass_oct_set_selective_style_override_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_cache_limits_3 = Module["_emscripten_bind_libass_oct_set_cache_limits_3"] = function() {
+ return (_emscripten_bind_libass_oct_set_cache_limits_3 = Module["_emscripten_bind_libass_oct_set_cache_limits_3"] = Module["asm"]["emscripten_bind_libass_oct_set_cache_limits_3"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_render_frame_4 = Module["_emscripten_bind_libass_oct_render_frame_4"] = function() {
+ return (_emscripten_bind_libass_oct_render_frame_4 = Module["_emscripten_bind_libass_oct_render_frame_4"] = Module["asm"]["emscripten_bind_libass_oct_render_frame_4"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_new_track_1 = Module["_emscripten_bind_libass_oct_new_track_1"] = function() {
+ return (_emscripten_bind_libass_oct_new_track_1 = Module["_emscripten_bind_libass_oct_new_track_1"] = Module["asm"]["emscripten_bind_libass_oct_new_track_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_free_track_1 = Module["_emscripten_bind_libass_oct_free_track_1"] = function() {
+ return (_emscripten_bind_libass_oct_free_track_1 = Module["_emscripten_bind_libass_oct_free_track_1"] = Module["asm"]["emscripten_bind_libass_oct_free_track_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_alloc_style_1 = Module["_emscripten_bind_libass_oct_alloc_style_1"] = function() {
+ return (_emscripten_bind_libass_oct_alloc_style_1 = Module["_emscripten_bind_libass_oct_alloc_style_1"] = Module["asm"]["emscripten_bind_libass_oct_alloc_style_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_alloc_event_1 = Module["_emscripten_bind_libass_oct_alloc_event_1"] = function() {
+ return (_emscripten_bind_libass_oct_alloc_event_1 = Module["_emscripten_bind_libass_oct_alloc_event_1"] = Module["asm"]["emscripten_bind_libass_oct_alloc_event_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_free_style_2 = Module["_emscripten_bind_libass_oct_free_style_2"] = function() {
+ return (_emscripten_bind_libass_oct_free_style_2 = Module["_emscripten_bind_libass_oct_free_style_2"] = Module["asm"]["emscripten_bind_libass_oct_free_style_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_free_event_2 = Module["_emscripten_bind_libass_oct_free_event_2"] = function() {
+ return (_emscripten_bind_libass_oct_free_event_2 = Module["_emscripten_bind_libass_oct_free_event_2"] = Module["asm"]["emscripten_bind_libass_oct_free_event_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_flush_events_1 = Module["_emscripten_bind_libass_oct_flush_events_1"] = function() {
+ return (_emscripten_bind_libass_oct_flush_events_1 = Module["_emscripten_bind_libass_oct_flush_events_1"] = Module["asm"]["emscripten_bind_libass_oct_flush_events_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_read_file_3 = Module["_emscripten_bind_libass_oct_read_file_3"] = function() {
+ return (_emscripten_bind_libass_oct_read_file_3 = Module["_emscripten_bind_libass_oct_read_file_3"] = Module["asm"]["emscripten_bind_libass_oct_read_file_3"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_add_font_4 = Module["_emscripten_bind_libass_oct_add_font_4"] = function() {
+ return (_emscripten_bind_libass_oct_add_font_4 = Module["_emscripten_bind_libass_oct_add_font_4"] = Module["asm"]["emscripten_bind_libass_oct_add_font_4"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_clear_fonts_1 = Module["_emscripten_bind_libass_oct_clear_fonts_1"] = function() {
+ return (_emscripten_bind_libass_oct_clear_fonts_1 = Module["_emscripten_bind_libass_oct_clear_fonts_1"] = Module["asm"]["emscripten_bind_libass_oct_clear_fonts_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_step_sub_3 = Module["_emscripten_bind_libass_oct_step_sub_3"] = function() {
+ return (_emscripten_bind_libass_oct_step_sub_3 = Module["_emscripten_bind_libass_oct_step_sub_3"] = Module["asm"]["emscripten_bind_libass_oct_step_sub_3"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_Hinting_ASS_HINTING_NONE = Module["_emscripten_enum_ASS_Hinting_ASS_HINTING_NONE"] = function() {
+ return (_emscripten_enum_ASS_Hinting_ASS_HINTING_NONE = Module["_emscripten_enum_ASS_Hinting_ASS_HINTING_NONE"] = Module["asm"]["emscripten_enum_ASS_Hinting_ASS_HINTING_NONE"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_Hinting_ASS_HINTING_LIGHT = Module["_emscripten_enum_ASS_Hinting_ASS_HINTING_LIGHT"] = function() {
+ return (_emscripten_enum_ASS_Hinting_ASS_HINTING_LIGHT = Module["_emscripten_enum_ASS_Hinting_ASS_HINTING_LIGHT"] = Module["asm"]["emscripten_enum_ASS_Hinting_ASS_HINTING_LIGHT"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_Hinting_ASS_HINTING_NORMAL = Module["_emscripten_enum_ASS_Hinting_ASS_HINTING_NORMAL"] = function() {
+ return (_emscripten_enum_ASS_Hinting_ASS_HINTING_NORMAL = Module["_emscripten_enum_ASS_Hinting_ASS_HINTING_NORMAL"] = Module["asm"]["emscripten_enum_ASS_Hinting_ASS_HINTING_NORMAL"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_Hinting_ASS_HINTING_NATIVE = Module["_emscripten_enum_ASS_Hinting_ASS_HINTING_NATIVE"] = function() {
+ return (_emscripten_enum_ASS_Hinting_ASS_HINTING_NATIVE = Module["_emscripten_enum_ASS_Hinting_ASS_HINTING_NATIVE"] = Module["asm"]["emscripten_enum_ASS_Hinting_ASS_HINTING_NATIVE"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_SIMPLE = Module["_emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_SIMPLE"] = function() {
+ return (_emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_SIMPLE = Module["_emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_SIMPLE"] = Module["asm"]["emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_SIMPLE"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_COMPLEX = Module["_emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_COMPLEX"] = function() {
+ return (_emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_COMPLEX = Module["_emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_COMPLEX"] = Module["asm"]["emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_COMPLEX"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_DEFAULT = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_DEFAULT"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_DEFAULT = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_DEFAULT"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_DEFAULT"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_STYLE = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_STYLE"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_STYLE = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_STYLE"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_STYLE"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE_FIELDS = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE_FIELDS"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE_FIELDS = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE_FIELDS"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE_FIELDS"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_NAME = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_NAME"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_NAME = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_NAME"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_NAME"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_COLORS = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_COLORS"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_COLORS = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_COLORS"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_COLORS"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ATTRIBUTES = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ATTRIBUTES"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ATTRIBUTES = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ATTRIBUTES"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ATTRIBUTES"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_BORDER = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_BORDER"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_BORDER = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_BORDER"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_BORDER"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ALIGNMENT = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ALIGNMENT"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ALIGNMENT = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ALIGNMENT"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ALIGNMENT"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_MARGINS = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_MARGINS"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_MARGINS = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_MARGINS"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_MARGINS"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_FULL_STYLE = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_FULL_STYLE"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_FULL_STYLE = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_FULL_STYLE"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_FULL_STYLE"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_JUSTIFY = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_JUSTIFY"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_JUSTIFY = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_JUSTIFY"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_JUSTIFY"]).apply(null, arguments);
+};
+
+var _free = Module["_free"] = function() {
+ return (_free = Module["_free"] = Module["asm"]["free"]).apply(null, arguments);
+};
+
+var _realloc = Module["_realloc"] = function() {
+ return (_realloc = Module["_realloc"] = Module["asm"]["realloc"]).apply(null, arguments);
+};
+
+var _memset = Module["_memset"] = function() {
+ return (_memset = Module["_memset"] = Module["asm"]["memset"]).apply(null, arguments);
+};
+
+var _malloc = Module["_malloc"] = function() {
+ return (_malloc = Module["_malloc"] = Module["asm"]["malloc"]).apply(null, arguments);
+};
+
+var ___errno_location = Module["___errno_location"] = function() {
+ return (___errno_location = Module["___errno_location"] = Module["asm"]["__errno_location"]).apply(null, arguments);
+};
+
+var _setThrew = Module["_setThrew"] = function() {
+ return (_setThrew = Module["_setThrew"] = Module["asm"]["setThrew"]).apply(null, arguments);
+};
+
+var _memalign = Module["_memalign"] = function() {
+ return (_memalign = Module["_memalign"] = Module["asm"]["memalign"]).apply(null, arguments);
+};
+
+var dynCall_v = Module["dynCall_v"] = function() {
+ return (dynCall_v = Module["dynCall_v"] = Module["asm"]["dynCall_v"]).apply(null, arguments);
+};
+
+var dynCall_vi = Module["dynCall_vi"] = function() {
+ return (dynCall_vi = Module["dynCall_vi"] = Module["asm"]["dynCall_vi"]).apply(null, arguments);
+};
+
+var dynCall_viiii = Module["dynCall_viiii"] = function() {
+ return (dynCall_viiii = Module["dynCall_viiii"] = Module["asm"]["dynCall_viiii"]).apply(null, arguments);
+};
+
+var dynCall_iii = Module["dynCall_iii"] = function() {
+ return (dynCall_iii = Module["dynCall_iii"] = Module["asm"]["dynCall_iii"]).apply(null, arguments);
+};
+
+var dynCall_iiii = Module["dynCall_iiii"] = function() {
+ return (dynCall_iiii = Module["dynCall_iiii"] = Module["asm"]["dynCall_iiii"]).apply(null, arguments);
+};
+
+var dynCall_iiiii = Module["dynCall_iiiii"] = function() {
+ return (dynCall_iiiii = Module["dynCall_iiiii"] = Module["asm"]["dynCall_iiiii"]).apply(null, arguments);
+};
+
+var stackSave = Module["stackSave"] = function() {
+ return (stackSave = Module["stackSave"] = Module["asm"]["stackSave"]).apply(null, arguments);
+};
+
+var stackAlloc = Module["stackAlloc"] = function() {
+ return (stackAlloc = Module["stackAlloc"] = Module["asm"]["stackAlloc"]).apply(null, arguments);
+};
+
+var stackRestore = Module["stackRestore"] = function() {
+ return (stackRestore = Module["stackRestore"] = Module["asm"]["stackRestore"]).apply(null, arguments);
+};
+
+var __growWasmMemory = Module["__growWasmMemory"] = function() {
+ return (__growWasmMemory = Module["__growWasmMemory"] = Module["asm"]["__growWasmMemory"]).apply(null, arguments);
+};
+
+var dynCall_vii = Module["dynCall_vii"] = function() {
+ return (dynCall_vii = Module["dynCall_vii"] = Module["asm"]["dynCall_vii"]).apply(null, arguments);
+};
+
+var dynCall_ii = Module["dynCall_ii"] = function() {
+ return (dynCall_ii = Module["dynCall_ii"] = Module["asm"]["dynCall_ii"]).apply(null, arguments);
+};
+
+var dynCall_iiiiii = Module["dynCall_iiiiii"] = function() {
+ return (dynCall_iiiiii = Module["dynCall_iiiiii"] = Module["asm"]["dynCall_iiiiii"]).apply(null, arguments);
+};
+
+var dynCall_viii = Module["dynCall_viii"] = function() {
+ return (dynCall_viii = Module["dynCall_viii"] = Module["asm"]["dynCall_viii"]).apply(null, arguments);
+};
+
+var dynCall_iiiiiii = Module["dynCall_iiiiiii"] = function() {
+ return (dynCall_iiiiiii = Module["dynCall_iiiiiii"] = Module["asm"]["dynCall_iiiiiii"]).apply(null, arguments);
+};
+
+var dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = function() {
+ return (dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = Module["asm"]["dynCall_iiiiiiii"]).apply(null, arguments);
+};
+
+var dynCall_viiiii = Module["dynCall_viiiii"] = function() {
+ return (dynCall_viiiii = Module["dynCall_viiiii"] = Module["asm"]["dynCall_viiiii"]).apply(null, arguments);
+};
+
+var dynCall_iiiiiiiii = Module["dynCall_iiiiiiiii"] = function() {
+ return (dynCall_iiiiiiiii = Module["dynCall_iiiiiiiii"] = Module["asm"]["dynCall_iiiiiiiii"]).apply(null, arguments);
+};
+
+var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = function() {
+ return (dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = Module["asm"]["dynCall_viiiiiiii"]).apply(null, arguments);
+};
+
+var dynCall_viiiiii = Module["dynCall_viiiiii"] = function() {
+ return (dynCall_viiiiii = Module["dynCall_viiiiii"] = Module["asm"]["dynCall_viiiiii"]).apply(null, arguments);
+};
+
+var dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = function() {
+ return (dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = Module["asm"]["dynCall_iiiiiiiiii"]).apply(null, arguments);
+};
+
+var dynCall_viiiiji = Module["dynCall_viiiiji"] = function() {
+ return (dynCall_viiiiji = Module["dynCall_viiiiji"] = Module["asm"]["dynCall_viiiiji"]).apply(null, arguments);
+};
+
+var dynCall_iiiiiiiiiii = Module["dynCall_iiiiiiiiiii"] = function() {
+ return (dynCall_iiiiiiiiiii = Module["dynCall_iiiiiiiiiii"] = Module["asm"]["dynCall_iiiiiiiiiii"]).apply(null, arguments);
+};
+
+var dynCall_diii = Module["dynCall_diii"] = function() {
+ return (dynCall_diii = Module["dynCall_diii"] = Module["asm"]["dynCall_diii"]).apply(null, arguments);
+};
+
+var dynCall_jiji = Module["dynCall_jiji"] = function() {
+ return (dynCall_jiji = Module["dynCall_jiji"] = Module["asm"]["dynCall_jiji"]).apply(null, arguments);
+};
+
+var dynCall_iidiiii = Module["dynCall_iidiiii"] = function() {
+ return (dynCall_iidiiii = Module["dynCall_iidiiii"] = Module["asm"]["dynCall_iidiiii"]).apply(null, arguments);
+};
+
+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_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_iiiii(index, a1, a2, a3, a4) {
+ var sp = stackSave();
+ try {
+  return dynCall_iiiii(index, a1, a2, a3, a4);
+ } 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 dynCall_iiii(index, a1, a2, a3);
+ } catch (e) {
+  stackRestore(sp);
+  if (e !== e + 0 && e !== "longjmp") throw e;
+  _setThrew(1, 0);
+ }
+}
+
+function invoke_v(index) {
+ var sp = stackSave();
+ try {
+  dynCall_v(index);
+ } catch (e) {
+  stackRestore(sp);
+  if (e !== e + 0 && e !== "longjmp") throw e;
+  _setThrew(1, 0);
+ }
+}
+
+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);
+ }
+}
+
+Module["asm"] = asm;
+
+Module["ccall"] = ccall;
+
+Module["cwrap"] = cwrap;
+
+Module["getValue"] = getValue;
+
+Module["getMemory"] = getMemory;
+
+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 (memoryInitializer) {
+ if (!isDataURI(memoryInitializer)) {
+  memoryInitializer = locateFile(memoryInitializer);
+ }
+ if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) {
+  var data = readBinary(memoryInitializer);
+  HEAPU8.set(data, GLOBAL_BASE);
+ } else {
+  addRunDependency("memory initializer");
+  var applyMemoryInitializer = function(data) {
+   if (data.byteLength) data = new Uint8Array(data);
+   HEAPU8.set(data, GLOBAL_BASE);
+   if (Module["memoryInitializerRequest"]) delete Module["memoryInitializerRequest"].response;
+   removeRunDependency("memory initializer");
+  };
+  var doBrowserLoad = function() {
+   readAsync(memoryInitializer, applyMemoryInitializer, function() {
+    throw "could not load memory initializer " + memoryInitializer;
+   });
+  };
+  if (Module["memoryInitializerRequest"]) {
+   var useRequest = function() {
+    var request = Module["memoryInitializerRequest"];
+    var response = request.response;
+    if (request.status !== 200 && request.status !== 0) {
+     console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: " + request.status + ", retrying " + memoryInitializer);
+     doBrowserLoad();
+     return;
+    }
+    applyMemoryInitializer(response);
+   };
+   if (Module["memoryInitializerRequest"].response) {
+    setTimeout(useRequest, 0);
+   } else {
+    Module["memoryInitializerRequest"].addEventListener("load", useRequest);
+   }
+  } else {
+   doBrowserLoad();
+  }
+ }
+}
+
+var calledRun;
+
+function ExitStatus(status) {
+ this.name = "ExitStatus";
+ this.message = "Program terminated with exit(" + status + ")";
+ this.status = status;
+}
+
+var calledMain = false;
+
+dependenciesFulfilled = function runCaller() {
+ if (!calledRun) run();
+ if (!calledRun) dependenciesFulfilled = runCaller;
+};
+
+function callMain(args) {
+ var entryFunction = Module["_main"];
+ args = args || [];
+ var argc = args.length + 1;
+ 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 = entryFunction(argc, argv);
+  exit(ret, true);
+ } catch (e) {
+  if (e instanceof ExitStatus) {
+   return;
+  } else if (e == "unwind") {
+   noExitRuntime = true;
+   return;
+  } else {
+   var toLog = e;
+   if (e && typeof e === "object" && e.stack) {
+    toLog = [ e, e.stack ];
+   }
+   err("exception thrown: " + toLog);
+   quit_(1, e);
+  }
+ } finally {
+  calledMain = true;
+ }
+}
+
+function run(args) {
+ args = args || arguments_;
+ if (runDependencies > 0) {
+  return;
+ }
+ preRun();
+ if (runDependencies > 0) return;
+ function doRun() {
+  if (calledRun) return;
+  calledRun = true;
+  Module["calledRun"] = true;
+  if (ABORT) return;
+  initRuntime();
+  preMain();
+  if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"]();
+  if (shouldRunNow) callMain(args);
+  postRun();
+ }
+ if (Module["setStatus"]) {
+  Module["setStatus"]("Running...");
+  setTimeout(function() {
+   setTimeout(function() {
+    Module["setStatus"]("");
+   }, 1);
+   doRun();
+  }, 1);
+ } else {
+  doRun();
+ }
+}
+
+Module["run"] = run;
+
+function exit(status, implicit) {
+ if (implicit && noExitRuntime && status === 0) {
+  return;
+ }
+ if (noExitRuntime) {} else {
+  ABORT = true;
+  EXITSTATUS = status;
+  exitRuntime();
+  if (Module["onExit"]) Module["onExit"](status);
+ }
+ quit_(status, new ExitStatus(status));
+}
+
+if (Module["preInit"]) {
+ if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ];
+ while (Module["preInit"].length > 0) {
+  Module["preInit"].pop()();
+ }
+}
+
+var shouldRunNow = true;
+
+if (Module["noInitialRun"]) shouldRunNow = false;
+
+noExitRuntime = true;
+
+run();
+
+function WrapperObject() {}
+
+WrapperObject.prototype = Object.create(WrapperObject.prototype);
+
+WrapperObject.prototype.constructor = WrapperObject;
+
+WrapperObject.prototype.__class__ = WrapperObject;
+
+WrapperObject.__cache__ = {};
+
+Module["WrapperObject"] = WrapperObject;
+
+function getCache(__class__) {
+ return (__class__ || WrapperObject).__cache__;
+}
+
+Module["getCache"] = getCache;
+
+function wrapPointer(ptr, __class__) {
+ var cache = getCache(__class__);
+ var ret = cache[ptr];
+ if (ret) return ret;
+ ret = Object.create((__class__ || WrapperObject).prototype);
+ ret.ptr = ptr;
+ return cache[ptr] = ret;
+}
+
+Module["wrapPointer"] = wrapPointer;
+
+function castObject(obj, __class__) {
+ return wrapPointer(obj.ptr, __class__);
+}
+
+Module["castObject"] = castObject;
+
+Module["NULL"] = wrapPointer(0);
+
+function destroy(obj) {
+ if (!obj["__destroy__"]) throw "Error: Cannot destroy object. (Did you create it yourself?)";
+ obj["__destroy__"]();
+ delete getCache(obj.__class__)[obj.ptr];
+}
+
+Module["destroy"] = destroy;
+
+function compare(obj1, obj2) {
+ return obj1.ptr === obj2.ptr;
+}
+
+Module["compare"] = compare;
+
+function getPointer(obj) {
+ return obj.ptr;
+}
+
+Module["getPointer"] = getPointer;
+
+function getClass(obj) {
+ return obj.__class__;
+}
+
+Module["getClass"] = getClass;
+
+var ensureCache = {
+ buffer: 0,
+ size: 0,
+ pos: 0,
+ temps: [],
+ needed: 0,
+ prepare: function() {
+  if (ensureCache.needed) {
+   for (var i = 0; i < ensureCache.temps.length; i++) {
+    Module["_free"](ensureCache.temps[i]);
+   }
+   ensureCache.temps.length = 0;
+   Module["_free"](ensureCache.buffer);
+   ensureCache.buffer = 0;
+   ensureCache.size += ensureCache.needed;
+   ensureCache.needed = 0;
+  }
+  if (!ensureCache.buffer) {
+   ensureCache.size += 128;
+   ensureCache.buffer = Module["_malloc"](ensureCache.size);
+   assert(ensureCache.buffer);
+  }
+  ensureCache.pos = 0;
+ },
+ alloc: function(array, view) {
+  assert(ensureCache.buffer);
+  var bytes = view.BYTES_PER_ELEMENT;
+  var len = array.length * bytes;
+  len = len + 7 & -8;
+  var ret;
+  if (ensureCache.pos + len >= ensureCache.size) {
+   assert(len > 0);
+   ensureCache.needed += len;
+   ret = Module["_malloc"](len);
+   ensureCache.temps.push(ret);
+  } else {
+   ret = ensureCache.buffer + ensureCache.pos;
+   ensureCache.pos += len;
+  }
+  return ret;
+ },
+ copy: function(array, view, offset) {
+  var offsetShifted = offset;
+  var bytes = view.BYTES_PER_ELEMENT;
+  switch (bytes) {
+  case 2:
+   offsetShifted >>= 1;
+   break;
+
+  case 4:
+   offsetShifted >>= 2;
+   break;
+
+  case 8:
+   offsetShifted >>= 3;
+   break;
+  }
+  for (var i = 0; i < array.length; i++) {
+   view[offsetShifted + i] = array[i];
+  }
+ }
+};
+
+function ensureString(value) {
+ if (typeof value === "string") {
+  var intArray = intArrayFromString(value);
+  var offset = ensureCache.alloc(intArray, HEAP8);
+  ensureCache.copy(intArray, HEAP8, offset);
+  return offset;
+ }
+ return value;
+}
+
+function ASS_ParserPriv() {
+ throw "cannot construct a ASS_ParserPriv, no constructor in IDL";
+}
+
+ASS_ParserPriv.prototype = Object.create(WrapperObject.prototype);
+
+ASS_ParserPriv.prototype.constructor = ASS_ParserPriv;
+
+ASS_ParserPriv.prototype.__class__ = ASS_ParserPriv;
+
+ASS_ParserPriv.__cache__ = {};
+
+Module["ASS_ParserPriv"] = ASS_ParserPriv;
+
+function ASS_Event() {
+ throw "cannot construct a ASS_Event, no constructor in IDL";
+}
+
+ASS_Event.prototype = Object.create(WrapperObject.prototype);
+
+ASS_Event.prototype.constructor = ASS_Event;
+
+ASS_Event.prototype.__class__ = ASS_Event;
+
+ASS_Event.__cache__ = {};
+
+Module["ASS_Event"] = ASS_Event;
+
+ASS_Event.prototype["get_Start"] = ASS_Event.prototype.get_Start = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Event_get_Start_0(self);
+};
+
+ASS_Event.prototype["set_Start"] = ASS_Event.prototype.set_Start = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Event_set_Start_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "Start", {
+ get: ASS_Event.prototype.get_Start,
+ set: ASS_Event.prototype.set_Start
+});
+
+ASS_Event.prototype["get_Duration"] = ASS_Event.prototype.get_Duration = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Event_get_Duration_0(self);
+};
+
+ASS_Event.prototype["set_Duration"] = ASS_Event.prototype.set_Duration = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Event_set_Duration_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "Duration", {
+ get: ASS_Event.prototype.get_Duration,
+ set: ASS_Event.prototype.set_Duration
+});
+
+ASS_Event.prototype["get_ReadOrder"] = ASS_Event.prototype.get_ReadOrder = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Event_get_ReadOrder_0(self);
+};
+
+ASS_Event.prototype["set_ReadOrder"] = ASS_Event.prototype.set_ReadOrder = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Event_set_ReadOrder_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "ReadOrder", {
+ get: ASS_Event.prototype.get_ReadOrder,
+ set: ASS_Event.prototype.set_ReadOrder
+});
+
+ASS_Event.prototype["get_Layer"] = ASS_Event.prototype.get_Layer = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Event_get_Layer_0(self);
+};
+
+ASS_Event.prototype["set_Layer"] = ASS_Event.prototype.set_Layer = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Event_set_Layer_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "Layer", {
+ get: ASS_Event.prototype.get_Layer,
+ set: ASS_Event.prototype.set_Layer
+});
+
+ASS_Event.prototype["get_Style"] = ASS_Event.prototype.get_Style = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Event_get_Style_0(self);
+};
+
+ASS_Event.prototype["set_Style"] = ASS_Event.prototype.set_Style = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Event_set_Style_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "Style", {
+ get: ASS_Event.prototype.get_Style,
+ set: ASS_Event.prototype.set_Style
+});
+
+ASS_Event.prototype["get_Name"] = ASS_Event.prototype.get_Name = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Event_get_Name_0(self));
+};
+
+ASS_Event.prototype["set_Name"] = ASS_Event.prototype.set_Name = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Event_set_Name_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "Name", {
+ get: ASS_Event.prototype.get_Name,
+ set: ASS_Event.prototype.set_Name
+});
+
+ASS_Event.prototype["get_MarginL"] = ASS_Event.prototype.get_MarginL = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Event_get_MarginL_0(self);
+};
+
+ASS_Event.prototype["set_MarginL"] = ASS_Event.prototype.set_MarginL = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Event_set_MarginL_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "MarginL", {
+ get: ASS_Event.prototype.get_MarginL,
+ set: ASS_Event.prototype.set_MarginL
+});
+
+ASS_Event.prototype["get_MarginR"] = ASS_Event.prototype.get_MarginR = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Event_get_MarginR_0(self);
+};
+
+ASS_Event.prototype["set_MarginR"] = ASS_Event.prototype.set_MarginR = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Event_set_MarginR_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "MarginR", {
+ get: ASS_Event.prototype.get_MarginR,
+ set: ASS_Event.prototype.set_MarginR
+});
+
+ASS_Event.prototype["get_MarginV"] = ASS_Event.prototype.get_MarginV = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Event_get_MarginV_0(self);
+};
+
+ASS_Event.prototype["set_MarginV"] = ASS_Event.prototype.set_MarginV = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Event_set_MarginV_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "MarginV", {
+ get: ASS_Event.prototype.get_MarginV,
+ set: ASS_Event.prototype.set_MarginV
+});
+
+ASS_Event.prototype["get_Effect"] = ASS_Event.prototype.get_Effect = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Event_get_Effect_0(self));
+};
+
+ASS_Event.prototype["set_Effect"] = ASS_Event.prototype.set_Effect = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Event_set_Effect_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "Effect", {
+ get: ASS_Event.prototype.get_Effect,
+ set: ASS_Event.prototype.set_Effect
+});
+
+ASS_Event.prototype["get_Text"] = ASS_Event.prototype.get_Text = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Event_get_Text_0(self));
+};
+
+ASS_Event.prototype["set_Text"] = ASS_Event.prototype.set_Text = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Event_set_Text_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "Text", {
+ get: ASS_Event.prototype.get_Text,
+ set: ASS_Event.prototype.set_Text
+});
+
+function ASS_Renderer() {
+ throw "cannot construct a ASS_Renderer, no constructor in IDL";
+}
+
+ASS_Renderer.prototype = Object.create(WrapperObject.prototype);
+
+ASS_Renderer.prototype.constructor = ASS_Renderer;
+
+ASS_Renderer.prototype.__class__ = ASS_Renderer;
+
+ASS_Renderer.__cache__ = {};
+
+Module["ASS_Renderer"] = ASS_Renderer;
+
+function SubtitleOctopus() {
+ this.ptr = _emscripten_bind_SubtitleOctopus_SubtitleOctopus_0();
+ getCache(SubtitleOctopus)[this.ptr] = this;
+}
+
+SubtitleOctopus.prototype = Object.create(WrapperObject.prototype);
+
+SubtitleOctopus.prototype.constructor = SubtitleOctopus;
+
+SubtitleOctopus.prototype.__class__ = SubtitleOctopus;
+
+SubtitleOctopus.__cache__ = {};
+
+Module["SubtitleOctopus"] = SubtitleOctopus;
+
+SubtitleOctopus.prototype["setLogLevel"] = SubtitleOctopus.prototype.setLogLevel = function(level) {
+ var self = this.ptr;
+ if (level && typeof level === "object") level = level.ptr;
+ _emscripten_bind_SubtitleOctopus_setLogLevel_1(self, level);
+};
+
+SubtitleOctopus.prototype["initLibrary"] = SubtitleOctopus.prototype.initLibrary = function(frame_w, frame_h) {
+ var self = this.ptr;
+ if (frame_w && typeof frame_w === "object") frame_w = frame_w.ptr;
+ if (frame_h && typeof frame_h === "object") frame_h = frame_h.ptr;
+ _emscripten_bind_SubtitleOctopus_initLibrary_2(self, frame_w, frame_h);
+};
+
+SubtitleOctopus.prototype["createTrack"] = SubtitleOctopus.prototype.createTrack = function(subfile) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (subfile && typeof subfile === "object") subfile = subfile.ptr; else subfile = ensureString(subfile);
+ _emscripten_bind_SubtitleOctopus_createTrack_1(self, subfile);
+};
+
+SubtitleOctopus.prototype["createTrackMem"] = SubtitleOctopus.prototype.createTrackMem = function(buf, bufsize) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (buf && typeof buf === "object") buf = buf.ptr; else buf = ensureString(buf);
+ if (bufsize && typeof bufsize === "object") bufsize = bufsize.ptr;
+ _emscripten_bind_SubtitleOctopus_createTrackMem_2(self, buf, bufsize);
+};
+
+SubtitleOctopus.prototype["removeTrack"] = SubtitleOctopus.prototype.removeTrack = function() {
+ var self = this.ptr;
+ _emscripten_bind_SubtitleOctopus_removeTrack_0(self);
+};
+
+SubtitleOctopus.prototype["resizeCanvas"] = SubtitleOctopus.prototype.resizeCanvas = function(frame_w, frame_h) {
+ var self = this.ptr;
+ if (frame_w && typeof frame_w === "object") frame_w = frame_w.ptr;
+ if (frame_h && typeof frame_h === "object") frame_h = frame_h.ptr;
+ _emscripten_bind_SubtitleOctopus_resizeCanvas_2(self, frame_w, frame_h);
+};
+
+SubtitleOctopus.prototype["renderImage"] = SubtitleOctopus.prototype.renderImage = function(time, changed) {
+ var self = this.ptr;
+ if (time && typeof time === "object") time = time.ptr;
+ if (changed && typeof changed === "object") changed = changed.ptr;
+ return wrapPointer(_emscripten_bind_SubtitleOctopus_renderImage_2(self, time, changed), ASS_Image);
+};
+
+SubtitleOctopus.prototype["quitLibrary"] = SubtitleOctopus.prototype.quitLibrary = function() {
+ var self = this.ptr;
+ _emscripten_bind_SubtitleOctopus_quitLibrary_0(self);
+};
+
+SubtitleOctopus.prototype["reloadLibrary"] = SubtitleOctopus.prototype.reloadLibrary = function() {
+ var self = this.ptr;
+ _emscripten_bind_SubtitleOctopus_reloadLibrary_0(self);
+};
+
+SubtitleOctopus.prototype["reloadFonts"] = SubtitleOctopus.prototype.reloadFonts = function() {
+ var self = this.ptr;
+ _emscripten_bind_SubtitleOctopus_reloadFonts_0(self);
+};
+
+SubtitleOctopus.prototype["setMargin"] = SubtitleOctopus.prototype.setMargin = function(top, bottom, left, right) {
+ var self = this.ptr;
+ if (top && typeof top === "object") top = top.ptr;
+ if (bottom && typeof bottom === "object") bottom = bottom.ptr;
+ if (left && typeof left === "object") left = left.ptr;
+ if (right && typeof right === "object") right = right.ptr;
+ _emscripten_bind_SubtitleOctopus_setMargin_4(self, top, bottom, left, right);
+};
+
+SubtitleOctopus.prototype["getEventCount"] = SubtitleOctopus.prototype.getEventCount = function() {
+ var self = this.ptr;
+ return _emscripten_bind_SubtitleOctopus_getEventCount_0(self);
+};
+
+SubtitleOctopus.prototype["allocEvent"] = SubtitleOctopus.prototype.allocEvent = function() {
+ var self = this.ptr;
+ return _emscripten_bind_SubtitleOctopus_allocEvent_0(self);
+};
+
+SubtitleOctopus.prototype["allocStyle"] = SubtitleOctopus.prototype.allocStyle = function() {
+ var self = this.ptr;
+ return _emscripten_bind_SubtitleOctopus_allocStyle_0(self);
+};
+
+SubtitleOctopus.prototype["removeEvent"] = SubtitleOctopus.prototype.removeEvent = function(eid) {
+ var self = this.ptr;
+ if (eid && typeof eid === "object") eid = eid.ptr;
+ _emscripten_bind_SubtitleOctopus_removeEvent_1(self, eid);
+};
+
+SubtitleOctopus.prototype["getStyleCount"] = SubtitleOctopus.prototype.getStyleCount = function() {
+ var self = this.ptr;
+ return _emscripten_bind_SubtitleOctopus_getStyleCount_0(self);
+};
+
+SubtitleOctopus.prototype["getStyleByName"] = SubtitleOctopus.prototype.getStyleByName = function(name) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (name && typeof name === "object") name = name.ptr; else name = ensureString(name);
+ return _emscripten_bind_SubtitleOctopus_getStyleByName_1(self, name);
+};
+
+SubtitleOctopus.prototype["removeStyle"] = SubtitleOctopus.prototype.removeStyle = function(eid) {
+ var self = this.ptr;
+ if (eid && typeof eid === "object") eid = eid.ptr;
+ _emscripten_bind_SubtitleOctopus_removeStyle_1(self, eid);
+};
+
+SubtitleOctopus.prototype["removeAllEvents"] = SubtitleOctopus.prototype.removeAllEvents = function() {
+ var self = this.ptr;
+ _emscripten_bind_SubtitleOctopus_removeAllEvents_0(self);
+};
+
+SubtitleOctopus.prototype["get_track"] = SubtitleOctopus.prototype.get_track = function() {
+ var self = this.ptr;
+ return wrapPointer(_emscripten_bind_SubtitleOctopus_get_track_0(self), ASS_Track);
+};
+
+SubtitleOctopus.prototype["set_track"] = SubtitleOctopus.prototype.set_track = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_SubtitleOctopus_set_track_1(self, arg0);
+};
+
+Object.defineProperty(SubtitleOctopus.prototype, "track", {
+ get: SubtitleOctopus.prototype.get_track,
+ set: SubtitleOctopus.prototype.set_track
+});
+
+SubtitleOctopus.prototype["get_ass_renderer"] = SubtitleOctopus.prototype.get_ass_renderer = function() {
+ var self = this.ptr;
+ return wrapPointer(_emscripten_bind_SubtitleOctopus_get_ass_renderer_0(self), ASS_Renderer);
+};
+
+SubtitleOctopus.prototype["set_ass_renderer"] = SubtitleOctopus.prototype.set_ass_renderer = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_SubtitleOctopus_set_ass_renderer_1(self, arg0);
+};
+
+Object.defineProperty(SubtitleOctopus.prototype, "ass_renderer", {
+ get: SubtitleOctopus.prototype.get_ass_renderer,
+ set: SubtitleOctopus.prototype.set_ass_renderer
+});
+
+SubtitleOctopus.prototype["get_ass_library"] = SubtitleOctopus.prototype.get_ass_library = function() {
+ var self = this.ptr;
+ return wrapPointer(_emscripten_bind_SubtitleOctopus_get_ass_library_0(self), ASS_Library);
+};
+
+SubtitleOctopus.prototype["set_ass_library"] = SubtitleOctopus.prototype.set_ass_library = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_SubtitleOctopus_set_ass_library_1(self, arg0);
+};
+
+Object.defineProperty(SubtitleOctopus.prototype, "ass_library", {
+ get: SubtitleOctopus.prototype.get_ass_library,
+ set: SubtitleOctopus.prototype.set_ass_library
+});
+
+SubtitleOctopus.prototype["__destroy__"] = SubtitleOctopus.prototype.__destroy__ = function() {
+ var self = this.ptr;
+ _emscripten_bind_SubtitleOctopus___destroy___0(self);
+};
+
+function ASS_Track() {
+ throw "cannot construct a ASS_Track, no constructor in IDL";
+}
+
+ASS_Track.prototype = Object.create(WrapperObject.prototype);
+
+ASS_Track.prototype.constructor = ASS_Track;
+
+ASS_Track.prototype.__class__ = ASS_Track;
+
+ASS_Track.__cache__ = {};
+
+Module["ASS_Track"] = ASS_Track;
+
+ASS_Track.prototype["get_n_styles"] = ASS_Track.prototype.get_n_styles = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_n_styles_0(self);
+};
+
+ASS_Track.prototype["set_n_styles"] = ASS_Track.prototype.set_n_styles = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_n_styles_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "n_styles", {
+ get: ASS_Track.prototype.get_n_styles,
+ set: ASS_Track.prototype.set_n_styles
+});
+
+ASS_Track.prototype["get_max_styles"] = ASS_Track.prototype.get_max_styles = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_max_styles_0(self);
+};
+
+ASS_Track.prototype["set_max_styles"] = ASS_Track.prototype.set_max_styles = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_max_styles_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "max_styles", {
+ get: ASS_Track.prototype.get_max_styles,
+ set: ASS_Track.prototype.set_max_styles
+});
+
+ASS_Track.prototype["get_n_events"] = ASS_Track.prototype.get_n_events = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_n_events_0(self);
+};
+
+ASS_Track.prototype["set_n_events"] = ASS_Track.prototype.set_n_events = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_n_events_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "n_events", {
+ get: ASS_Track.prototype.get_n_events,
+ set: ASS_Track.prototype.set_n_events
+});
+
+ASS_Track.prototype["get_max_events"] = ASS_Track.prototype.get_max_events = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_max_events_0(self);
+};
+
+ASS_Track.prototype["set_max_events"] = ASS_Track.prototype.set_max_events = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_max_events_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "max_events", {
+ get: ASS_Track.prototype.get_max_events,
+ set: ASS_Track.prototype.set_max_events
+});
+
+ASS_Track.prototype["get_styles"] = ASS_Track.prototype.get_styles = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ return wrapPointer(_emscripten_bind_ASS_Track_get_styles_1(self, arg0), ASS_Style);
+};
+
+ASS_Track.prototype["set_styles"] = ASS_Track.prototype.set_styles = function(arg0, arg1) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ if (arg1 && typeof arg1 === "object") arg1 = arg1.ptr;
+ _emscripten_bind_ASS_Track_set_styles_2(self, arg0, arg1);
+};
+
+Object.defineProperty(ASS_Track.prototype, "styles", {
+ get: ASS_Track.prototype.get_styles,
+ set: ASS_Track.prototype.set_styles
+});
+
+ASS_Track.prototype["get_events"] = ASS_Track.prototype.get_events = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ return wrapPointer(_emscripten_bind_ASS_Track_get_events_1(self, arg0), ASS_Event);
+};
+
+ASS_Track.prototype["set_events"] = ASS_Track.prototype.set_events = function(arg0, arg1) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ if (arg1 && typeof arg1 === "object") arg1 = arg1.ptr;
+ _emscripten_bind_ASS_Track_set_events_2(self, arg0, arg1);
+};
+
+Object.defineProperty(ASS_Track.prototype, "events", {
+ get: ASS_Track.prototype.get_events,
+ set: ASS_Track.prototype.set_events
+});
+
+ASS_Track.prototype["get_style_format"] = ASS_Track.prototype.get_style_format = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Track_get_style_format_0(self));
+};
+
+ASS_Track.prototype["set_style_format"] = ASS_Track.prototype.set_style_format = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Track_set_style_format_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "style_format", {
+ get: ASS_Track.prototype.get_style_format,
+ set: ASS_Track.prototype.set_style_format
+});
+
+ASS_Track.prototype["get_event_format"] = ASS_Track.prototype.get_event_format = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Track_get_event_format_0(self));
+};
+
+ASS_Track.prototype["set_event_format"] = ASS_Track.prototype.set_event_format = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Track_set_event_format_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "event_format", {
+ get: ASS_Track.prototype.get_event_format,
+ set: ASS_Track.prototype.set_event_format
+});
+
+ASS_Track.prototype["get_PlayResX"] = ASS_Track.prototype.get_PlayResX = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_PlayResX_0(self);
+};
+
+ASS_Track.prototype["set_PlayResX"] = ASS_Track.prototype.set_PlayResX = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_PlayResX_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "PlayResX", {
+ get: ASS_Track.prototype.get_PlayResX,
+ set: ASS_Track.prototype.set_PlayResX
+});
+
+ASS_Track.prototype["get_PlayResY"] = ASS_Track.prototype.get_PlayResY = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_PlayResY_0(self);
+};
+
+ASS_Track.prototype["set_PlayResY"] = ASS_Track.prototype.set_PlayResY = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_PlayResY_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "PlayResY", {
+ get: ASS_Track.prototype.get_PlayResY,
+ set: ASS_Track.prototype.set_PlayResY
+});
+
+ASS_Track.prototype["get_Timer"] = ASS_Track.prototype.get_Timer = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_Timer_0(self);
+};
+
+ASS_Track.prototype["set_Timer"] = ASS_Track.prototype.set_Timer = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_Timer_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "Timer", {
+ get: ASS_Track.prototype.get_Timer,
+ set: ASS_Track.prototype.set_Timer
+});
+
+ASS_Track.prototype["get_WrapStyle"] = ASS_Track.prototype.get_WrapStyle = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_WrapStyle_0(self);
+};
+
+ASS_Track.prototype["set_WrapStyle"] = ASS_Track.prototype.set_WrapStyle = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_WrapStyle_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "WrapStyle", {
+ get: ASS_Track.prototype.get_WrapStyle,
+ set: ASS_Track.prototype.set_WrapStyle
+});
+
+ASS_Track.prototype["get_ScaledBorderAndShadow"] = ASS_Track.prototype.get_ScaledBorderAndShadow = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_ScaledBorderAndShadow_0(self);
+};
+
+ASS_Track.prototype["set_ScaledBorderAndShadow"] = ASS_Track.prototype.set_ScaledBorderAndShadow = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_ScaledBorderAndShadow_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "ScaledBorderAndShadow", {
+ get: ASS_Track.prototype.get_ScaledBorderAndShadow,
+ set: ASS_Track.prototype.set_ScaledBorderAndShadow
+});
+
+ASS_Track.prototype["get_Kerning"] = ASS_Track.prototype.get_Kerning = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_Kerning_0(self);
+};
+
+ASS_Track.prototype["set_Kerning"] = ASS_Track.prototype.set_Kerning = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_Kerning_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "Kerning", {
+ get: ASS_Track.prototype.get_Kerning,
+ set: ASS_Track.prototype.set_Kerning
+});
+
+ASS_Track.prototype["get_Language"] = ASS_Track.prototype.get_Language = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Track_get_Language_0(self));
+};
+
+ASS_Track.prototype["set_Language"] = ASS_Track.prototype.set_Language = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Track_set_Language_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "Language", {
+ get: ASS_Track.prototype.get_Language,
+ set: ASS_Track.prototype.set_Language
+});
+
+ASS_Track.prototype["get_default_style"] = ASS_Track.prototype.get_default_style = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_default_style_0(self);
+};
+
+ASS_Track.prototype["set_default_style"] = ASS_Track.prototype.set_default_style = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_default_style_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "default_style", {
+ get: ASS_Track.prototype.get_default_style,
+ set: ASS_Track.prototype.set_default_style
+});
+
+ASS_Track.prototype["get_name"] = ASS_Track.prototype.get_name = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Track_get_name_0(self));
+};
+
+ASS_Track.prototype["set_name"] = ASS_Track.prototype.set_name = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Track_set_name_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "name", {
+ get: ASS_Track.prototype.get_name,
+ set: ASS_Track.prototype.set_name
+});
+
+function ASS_RenderPriv() {
+ throw "cannot construct a ASS_RenderPriv, no constructor in IDL";
+}
+
+ASS_RenderPriv.prototype = Object.create(WrapperObject.prototype);
+
+ASS_RenderPriv.prototype.constructor = ASS_RenderPriv;
+
+ASS_RenderPriv.prototype.__class__ = ASS_RenderPriv;
+
+ASS_RenderPriv.__cache__ = {};
+
+Module["ASS_RenderPriv"] = ASS_RenderPriv;
+
+function ASS_Style() {
+ throw "cannot construct a ASS_Style, no constructor in IDL";
+}
+
+ASS_Style.prototype = Object.create(WrapperObject.prototype);
+
+ASS_Style.prototype.constructor = ASS_Style;
+
+ASS_Style.prototype.__class__ = ASS_Style;
+
+ASS_Style.__cache__ = {};
+
+Module["ASS_Style"] = ASS_Style;
+
+ASS_Style.prototype["get_Name"] = ASS_Style.prototype.get_Name = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Style_get_Name_0(self));
+};
+
+ASS_Style.prototype["set_Name"] = ASS_Style.prototype.set_Name = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Style_set_Name_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Name", {
+ get: ASS_Style.prototype.get_Name,
+ set: ASS_Style.prototype.set_Name
+});
+
+ASS_Style.prototype["get_FontName"] = ASS_Style.prototype.get_FontName = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Style_get_FontName_0(self));
+};
+
+ASS_Style.prototype["set_FontName"] = ASS_Style.prototype.set_FontName = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Style_set_FontName_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "FontName", {
+ get: ASS_Style.prototype.get_FontName,
+ set: ASS_Style.prototype.set_FontName
+});
+
+ASS_Style.prototype["get_FontSize"] = ASS_Style.prototype.get_FontSize = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_FontSize_0(self);
+};
+
+ASS_Style.prototype["set_FontSize"] = ASS_Style.prototype.set_FontSize = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_FontSize_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "FontSize", {
+ get: ASS_Style.prototype.get_FontSize,
+ set: ASS_Style.prototype.set_FontSize
+});
+
+ASS_Style.prototype["get_PrimaryColour"] = ASS_Style.prototype.get_PrimaryColour = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_PrimaryColour_0(self);
+};
+
+ASS_Style.prototype["set_PrimaryColour"] = ASS_Style.prototype.set_PrimaryColour = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_PrimaryColour_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "PrimaryColour", {
+ get: ASS_Style.prototype.get_PrimaryColour,
+ set: ASS_Style.prototype.set_PrimaryColour
+});
+
+ASS_Style.prototype["get_SecondaryColour"] = ASS_Style.prototype.get_SecondaryColour = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_SecondaryColour_0(self);
+};
+
+ASS_Style.prototype["set_SecondaryColour"] = ASS_Style.prototype.set_SecondaryColour = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_SecondaryColour_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "SecondaryColour", {
+ get: ASS_Style.prototype.get_SecondaryColour,
+ set: ASS_Style.prototype.set_SecondaryColour
+});
+
+ASS_Style.prototype["get_OutlineColour"] = ASS_Style.prototype.get_OutlineColour = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_OutlineColour_0(self);
+};
+
+ASS_Style.prototype["set_OutlineColour"] = ASS_Style.prototype.set_OutlineColour = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_OutlineColour_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "OutlineColour", {
+ get: ASS_Style.prototype.get_OutlineColour,
+ set: ASS_Style.prototype.set_OutlineColour
+});
+
+ASS_Style.prototype["get_BackColour"] = ASS_Style.prototype.get_BackColour = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_BackColour_0(self);
+};
+
+ASS_Style.prototype["set_BackColour"] = ASS_Style.prototype.set_BackColour = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_BackColour_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "BackColour", {
+ get: ASS_Style.prototype.get_BackColour,
+ set: ASS_Style.prototype.set_BackColour
+});
+
+ASS_Style.prototype["get_Bold"] = ASS_Style.prototype.get_Bold = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Bold_0(self);
+};
+
+ASS_Style.prototype["set_Bold"] = ASS_Style.prototype.set_Bold = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Bold_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Bold", {
+ get: ASS_Style.prototype.get_Bold,
+ set: ASS_Style.prototype.set_Bold
+});
+
+ASS_Style.prototype["get_Italic"] = ASS_Style.prototype.get_Italic = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Italic_0(self);
+};
+
+ASS_Style.prototype["set_Italic"] = ASS_Style.prototype.set_Italic = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Italic_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Italic", {
+ get: ASS_Style.prototype.get_Italic,
+ set: ASS_Style.prototype.set_Italic
+});
+
+ASS_Style.prototype["get_Underline"] = ASS_Style.prototype.get_Underline = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Underline_0(self);
+};
+
+ASS_Style.prototype["set_Underline"] = ASS_Style.prototype.set_Underline = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Underline_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Underline", {
+ get: ASS_Style.prototype.get_Underline,
+ set: ASS_Style.prototype.set_Underline
+});
+
+ASS_Style.prototype["get_StrikeOut"] = ASS_Style.prototype.get_StrikeOut = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_StrikeOut_0(self);
+};
+
+ASS_Style.prototype["set_StrikeOut"] = ASS_Style.prototype.set_StrikeOut = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_StrikeOut_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "StrikeOut", {
+ get: ASS_Style.prototype.get_StrikeOut,
+ set: ASS_Style.prototype.set_StrikeOut
+});
+
+ASS_Style.prototype["get_ScaleX"] = ASS_Style.prototype.get_ScaleX = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_ScaleX_0(self);
+};
+
+ASS_Style.prototype["set_ScaleX"] = ASS_Style.prototype.set_ScaleX = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_ScaleX_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "ScaleX", {
+ get: ASS_Style.prototype.get_ScaleX,
+ set: ASS_Style.prototype.set_ScaleX
+});
+
+ASS_Style.prototype["get_ScaleY"] = ASS_Style.prototype.get_ScaleY = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_ScaleY_0(self);
+};
+
+ASS_Style.prototype["set_ScaleY"] = ASS_Style.prototype.set_ScaleY = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_ScaleY_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "ScaleY", {
+ get: ASS_Style.prototype.get_ScaleY,
+ set: ASS_Style.prototype.set_ScaleY
+});
+
+ASS_Style.prototype["get_Spacing"] = ASS_Style.prototype.get_Spacing = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Spacing_0(self);
+};
+
+ASS_Style.prototype["set_Spacing"] = ASS_Style.prototype.set_Spacing = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Spacing_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Spacing", {
+ get: ASS_Style.prototype.get_Spacing,
+ set: ASS_Style.prototype.set_Spacing
+});
+
+ASS_Style.prototype["get_Angle"] = ASS_Style.prototype.get_Angle = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Angle_0(self);
+};
+
+ASS_Style.prototype["set_Angle"] = ASS_Style.prototype.set_Angle = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Angle_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Angle", {
+ get: ASS_Style.prototype.get_Angle,
+ set: ASS_Style.prototype.set_Angle
+});
+
+ASS_Style.prototype["get_BorderStyle"] = ASS_Style.prototype.get_BorderStyle = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_BorderStyle_0(self);
+};
+
+ASS_Style.prototype["set_BorderStyle"] = ASS_Style.prototype.set_BorderStyle = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_BorderStyle_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "BorderStyle", {
+ get: ASS_Style.prototype.get_BorderStyle,
+ set: ASS_Style.prototype.set_BorderStyle
+});
+
+ASS_Style.prototype["get_Outline"] = ASS_Style.prototype.get_Outline = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Outline_0(self);
+};
+
+ASS_Style.prototype["set_Outline"] = ASS_Style.prototype.set_Outline = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Outline_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Outline", {
+ get: ASS_Style.prototype.get_Outline,
+ set: ASS_Style.prototype.set_Outline
+});
+
+ASS_Style.prototype["get_Shadow"] = ASS_Style.prototype.get_Shadow = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Shadow_0(self);
+};
+
+ASS_Style.prototype["set_Shadow"] = ASS_Style.prototype.set_Shadow = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Shadow_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Shadow", {
+ get: ASS_Style.prototype.get_Shadow,
+ set: ASS_Style.prototype.set_Shadow
+});
+
+ASS_Style.prototype["get_Alignment"] = ASS_Style.prototype.get_Alignment = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Alignment_0(self);
+};
+
+ASS_Style.prototype["set_Alignment"] = ASS_Style.prototype.set_Alignment = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Alignment_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Alignment", {
+ get: ASS_Style.prototype.get_Alignment,
+ set: ASS_Style.prototype.set_Alignment
+});
+
+ASS_Style.prototype["get_MarginL"] = ASS_Style.prototype.get_MarginL = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_MarginL_0(self);
+};
+
+ASS_Style.prototype["set_MarginL"] = ASS_Style.prototype.set_MarginL = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_MarginL_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "MarginL", {
+ get: ASS_Style.prototype.get_MarginL,
+ set: ASS_Style.prototype.set_MarginL
+});
+
+ASS_Style.prototype["get_MarginR"] = ASS_Style.prototype.get_MarginR = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_MarginR_0(self);
+};
+
+ASS_Style.prototype["set_MarginR"] = ASS_Style.prototype.set_MarginR = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_MarginR_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "MarginR", {
+ get: ASS_Style.prototype.get_MarginR,
+ set: ASS_Style.prototype.set_MarginR
+});
+
+ASS_Style.prototype["get_MarginV"] = ASS_Style.prototype.get_MarginV = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_MarginV_0(self);
+};
+
+ASS_Style.prototype["set_MarginV"] = ASS_Style.prototype.set_MarginV = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_MarginV_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "MarginV", {
+ get: ASS_Style.prototype.get_MarginV,
+ set: ASS_Style.prototype.set_MarginV
+});
+
+ASS_Style.prototype["get_Encoding"] = ASS_Style.prototype.get_Encoding = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Encoding_0(self);
+};
+
+ASS_Style.prototype["set_Encoding"] = ASS_Style.prototype.set_Encoding = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Encoding_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Encoding", {
+ get: ASS_Style.prototype.get_Encoding,
+ set: ASS_Style.prototype.set_Encoding
+});
+
+ASS_Style.prototype["get_treat_fontname_as_pattern"] = ASS_Style.prototype.get_treat_fontname_as_pattern = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_treat_fontname_as_pattern_0(self);
+};
+
+ASS_Style.prototype["set_treat_fontname_as_pattern"] = ASS_Style.prototype.set_treat_fontname_as_pattern = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_treat_fontname_as_pattern_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "treat_fontname_as_pattern", {
+ get: ASS_Style.prototype.get_treat_fontname_as_pattern,
+ set: ASS_Style.prototype.set_treat_fontname_as_pattern
+});
+
+ASS_Style.prototype["get_Blur"] = ASS_Style.prototype.get_Blur = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Blur_0(self);
+};
+
+ASS_Style.prototype["set_Blur"] = ASS_Style.prototype.set_Blur = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Blur_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Blur", {
+ get: ASS_Style.prototype.get_Blur,
+ set: ASS_Style.prototype.set_Blur
+});
+
+ASS_Style.prototype["get_Justify"] = ASS_Style.prototype.get_Justify = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Justify_0(self);
+};
+
+ASS_Style.prototype["set_Justify"] = ASS_Style.prototype.set_Justify = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Justify_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Justify", {
+ get: ASS_Style.prototype.get_Justify,
+ set: ASS_Style.prototype.set_Justify
+});
+
+function ASS_Image() {
+ throw "cannot construct a ASS_Image, no constructor in IDL";
+}
+
+ASS_Image.prototype = Object.create(WrapperObject.prototype);
+
+ASS_Image.prototype.constructor = ASS_Image;
+
+ASS_Image.prototype.__class__ = ASS_Image;
+
+ASS_Image.__cache__ = {};
+
+Module["ASS_Image"] = ASS_Image;
+
+ASS_Image.prototype["get_w"] = ASS_Image.prototype.get_w = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Image_get_w_0(self);
+};
+
+ASS_Image.prototype["set_w"] = ASS_Image.prototype.set_w = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Image_set_w_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Image.prototype, "w", {
+ get: ASS_Image.prototype.get_w,
+ set: ASS_Image.prototype.set_w
+});
+
+ASS_Image.prototype["get_h"] = ASS_Image.prototype.get_h = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Image_get_h_0(self);
+};
+
+ASS_Image.prototype["set_h"] = ASS_Image.prototype.set_h = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Image_set_h_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Image.prototype, "h", {
+ get: ASS_Image.prototype.get_h,
+ set: ASS_Image.prototype.set_h
+});
+
+ASS_Image.prototype["get_stride"] = ASS_Image.prototype.get_stride = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Image_get_stride_0(self);
+};
+
+ASS_Image.prototype["set_stride"] = ASS_Image.prototype.set_stride = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Image_set_stride_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Image.prototype, "stride", {
+ get: ASS_Image.prototype.get_stride,
+ set: ASS_Image.prototype.set_stride
+});
+
+ASS_Image.prototype["get_bitmap"] = ASS_Image.prototype.get_bitmap = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Image_get_bitmap_0(self);
+};
+
+ASS_Image.prototype["set_bitmap"] = ASS_Image.prototype.set_bitmap = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Image_set_bitmap_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Image.prototype, "bitmap", {
+ get: ASS_Image.prototype.get_bitmap,
+ set: ASS_Image.prototype.set_bitmap
+});
+
+ASS_Image.prototype["get_color"] = ASS_Image.prototype.get_color = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Image_get_color_0(self);
+};
+
+ASS_Image.prototype["set_color"] = ASS_Image.prototype.set_color = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Image_set_color_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Image.prototype, "color", {
+ get: ASS_Image.prototype.get_color,
+ set: ASS_Image.prototype.set_color
+});
+
+ASS_Image.prototype["get_dst_x"] = ASS_Image.prototype.get_dst_x = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Image_get_dst_x_0(self);
+};
+
+ASS_Image.prototype["set_dst_x"] = ASS_Image.prototype.set_dst_x = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Image_set_dst_x_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Image.prototype, "dst_x", {
+ get: ASS_Image.prototype.get_dst_x,
+ set: ASS_Image.prototype.set_dst_x
+});
+
+ASS_Image.prototype["get_dst_y"] = ASS_Image.prototype.get_dst_y = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Image_get_dst_y_0(self);
+};
+
+ASS_Image.prototype["set_dst_y"] = ASS_Image.prototype.set_dst_y = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Image_set_dst_y_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Image.prototype, "dst_y", {
+ get: ASS_Image.prototype.get_dst_y,
+ set: ASS_Image.prototype.set_dst_y
+});
+
+ASS_Image.prototype["get_next"] = ASS_Image.prototype.get_next = function() {
+ var self = this.ptr;
+ return wrapPointer(_emscripten_bind_ASS_Image_get_next_0(self), ASS_Image);
+};
+
+ASS_Image.prototype["set_next"] = ASS_Image.prototype.set_next = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Image_set_next_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Image.prototype, "next", {
+ get: ASS_Image.prototype.get_next,
+ set: ASS_Image.prototype.set_next
+});
+
+function VoidPtr() {
+ throw "cannot construct a VoidPtr, no constructor in IDL";
+}
+
+VoidPtr.prototype = Object.create(WrapperObject.prototype);
+
+VoidPtr.prototype.constructor = VoidPtr;
+
+VoidPtr.prototype.__class__ = VoidPtr;
+
+VoidPtr.__cache__ = {};
+
+Module["VoidPtr"] = VoidPtr;
+
+VoidPtr.prototype["__destroy__"] = VoidPtr.prototype.__destroy__ = function() {
+ var self = this.ptr;
+ _emscripten_bind_VoidPtr___destroy___0(self);
+};
+
+function ASS_Library() {
+ throw "cannot construct a ASS_Library, no constructor in IDL";
+}
+
+ASS_Library.prototype = Object.create(WrapperObject.prototype);
+
+ASS_Library.prototype.constructor = ASS_Library;
+
+ASS_Library.prototype.__class__ = ASS_Library;
+
+ASS_Library.__cache__ = {};
+
+Module["ASS_Library"] = ASS_Library;
+
+function libass() {
+ this.ptr = _emscripten_bind_libass_libass_0();
+ getCache(libass)[this.ptr] = this;
+}
+
+libass.prototype = Object.create(WrapperObject.prototype);
+
+libass.prototype.constructor = libass;
+
+libass.prototype.__class__ = libass;
+
+libass.__cache__ = {};
+
+Module["libass"] = libass;
+
+libass.prototype["oct_library_version"] = libass.prototype.oct_library_version = function() {
+ var self = this.ptr;
+ return _emscripten_bind_libass_oct_library_version_0(self);
+};
+
+libass.prototype["oct_library_init"] = libass.prototype.oct_library_init = function() {
+ var self = this.ptr;
+ return wrapPointer(_emscripten_bind_libass_oct_library_init_0(self), ASS_Library);
+};
+
+libass.prototype["oct_library_done"] = libass.prototype.oct_library_done = function(priv) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ _emscripten_bind_libass_oct_library_done_1(self, priv);
+};
+
+libass.prototype["oct_set_fonts_dir"] = libass.prototype.oct_set_fonts_dir = function(priv, fonts_dir) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (fonts_dir && typeof fonts_dir === "object") fonts_dir = fonts_dir.ptr; else fonts_dir = ensureString(fonts_dir);
+ _emscripten_bind_libass_oct_set_fonts_dir_2(self, priv, fonts_dir);
+};
+
+libass.prototype["oct_set_extract_fonts"] = libass.prototype.oct_set_extract_fonts = function(priv, extract) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (extract && typeof extract === "object") extract = extract.ptr;
+ _emscripten_bind_libass_oct_set_extract_fonts_2(self, priv, extract);
+};
+
+libass.prototype["oct_set_style_overrides"] = libass.prototype.oct_set_style_overrides = function(priv, list) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ _emscripten_bind_libass_oct_set_style_overrides_2(self, priv, list);
+};
+
+libass.prototype["oct_process_force_style"] = libass.prototype.oct_process_force_style = function(track) {
+ var self = this.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ _emscripten_bind_libass_oct_process_force_style_1(self, track);
+};
+
+libass.prototype["oct_renderer_init"] = libass.prototype.oct_renderer_init = function(priv) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ return wrapPointer(_emscripten_bind_libass_oct_renderer_init_1(self, priv), ASS_Renderer);
+};
+
+libass.prototype["oct_renderer_done"] = libass.prototype.oct_renderer_done = function(priv) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ _emscripten_bind_libass_oct_renderer_done_1(self, priv);
+};
+
+libass.prototype["oct_set_frame_size"] = libass.prototype.oct_set_frame_size = function(priv, w, h) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (w && typeof w === "object") w = w.ptr;
+ if (h && typeof h === "object") h = h.ptr;
+ _emscripten_bind_libass_oct_set_frame_size_3(self, priv, w, h);
+};
+
+libass.prototype["oct_set_storage_size"] = libass.prototype.oct_set_storage_size = function(priv, w, h) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (w && typeof w === "object") w = w.ptr;
+ if (h && typeof h === "object") h = h.ptr;
+ _emscripten_bind_libass_oct_set_storage_size_3(self, priv, w, h);
+};
+
+libass.prototype["oct_set_shaper"] = libass.prototype.oct_set_shaper = function(priv, level) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (level && typeof level === "object") level = level.ptr;
+ _emscripten_bind_libass_oct_set_shaper_2(self, priv, level);
+};
+
+libass.prototype["oct_set_margins"] = libass.prototype.oct_set_margins = function(priv, t, b, l, r) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (t && typeof t === "object") t = t.ptr;
+ if (b && typeof b === "object") b = b.ptr;
+ if (l && typeof l === "object") l = l.ptr;
+ if (r && typeof r === "object") r = r.ptr;
+ _emscripten_bind_libass_oct_set_margins_5(self, priv, t, b, l, r);
+};
+
+libass.prototype["oct_set_use_margins"] = libass.prototype.oct_set_use_margins = function(priv, use) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (use && typeof use === "object") use = use.ptr;
+ _emscripten_bind_libass_oct_set_use_margins_2(self, priv, use);
+};
+
+libass.prototype["oct_set_pixel_aspect"] = libass.prototype.oct_set_pixel_aspect = function(priv, par) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (par && typeof par === "object") par = par.ptr;
+ _emscripten_bind_libass_oct_set_pixel_aspect_2(self, priv, par);
+};
+
+libass.prototype["oct_set_aspect_ratio"] = libass.prototype.oct_set_aspect_ratio = function(priv, dar, sar) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (dar && typeof dar === "object") dar = dar.ptr;
+ if (sar && typeof sar === "object") sar = sar.ptr;
+ _emscripten_bind_libass_oct_set_aspect_ratio_3(self, priv, dar, sar);
+};
+
+libass.prototype["oct_set_font_scale"] = libass.prototype.oct_set_font_scale = function(priv, font_scale) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (font_scale && typeof font_scale === "object") font_scale = font_scale.ptr;
+ _emscripten_bind_libass_oct_set_font_scale_2(self, priv, font_scale);
+};
+
+libass.prototype["oct_set_hinting"] = libass.prototype.oct_set_hinting = function(priv, ht) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (ht && typeof ht === "object") ht = ht.ptr;
+ _emscripten_bind_libass_oct_set_hinting_2(self, priv, ht);
+};
+
+libass.prototype["oct_set_line_spacing"] = libass.prototype.oct_set_line_spacing = function(priv, line_spacing) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (line_spacing && typeof line_spacing === "object") line_spacing = line_spacing.ptr;
+ _emscripten_bind_libass_oct_set_line_spacing_2(self, priv, line_spacing);
+};
+
+libass.prototype["oct_set_line_position"] = libass.prototype.oct_set_line_position = function(priv, line_position) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (line_position && typeof line_position === "object") line_position = line_position.ptr;
+ _emscripten_bind_libass_oct_set_line_position_2(self, priv, line_position);
+};
+
+libass.prototype["oct_set_fonts"] = libass.prototype.oct_set_fonts = function(priv, default_font, default_family, dfp, config, update) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (default_font && typeof default_font === "object") default_font = default_font.ptr; else default_font = ensureString(default_font);
+ if (default_family && typeof default_family === "object") default_family = default_family.ptr; else default_family = ensureString(default_family);
+ if (dfp && typeof dfp === "object") dfp = dfp.ptr;
+ if (config && typeof config === "object") config = config.ptr; else config = ensureString(config);
+ if (update && typeof update === "object") update = update.ptr;
+ _emscripten_bind_libass_oct_set_fonts_6(self, priv, default_font, default_family, dfp, config, update);
+};
+
+libass.prototype["oct_set_selective_style_override_enabled"] = libass.prototype.oct_set_selective_style_override_enabled = function(priv, bits) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (bits && typeof bits === "object") bits = bits.ptr;
+ _emscripten_bind_libass_oct_set_selective_style_override_enabled_2(self, priv, bits);
+};
+
+libass.prototype["oct_set_selective_style_override"] = libass.prototype.oct_set_selective_style_override = function(priv, style) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (style && typeof style === "object") style = style.ptr;
+ _emscripten_bind_libass_oct_set_selective_style_override_2(self, priv, style);
+};
+
+libass.prototype["oct_set_cache_limits"] = libass.prototype.oct_set_cache_limits = function(priv, glyph_max, bitmap_max_size) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (glyph_max && typeof glyph_max === "object") glyph_max = glyph_max.ptr;
+ if (bitmap_max_size && typeof bitmap_max_size === "object") bitmap_max_size = bitmap_max_size.ptr;
+ _emscripten_bind_libass_oct_set_cache_limits_3(self, priv, glyph_max, bitmap_max_size);
+};
+
+libass.prototype["oct_render_frame"] = libass.prototype.oct_render_frame = function(priv, track, now, detect_change) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ if (now && typeof now === "object") now = now.ptr;
+ if (detect_change && typeof detect_change === "object") detect_change = detect_change.ptr;
+ return wrapPointer(_emscripten_bind_libass_oct_render_frame_4(self, priv, track, now, detect_change), ASS_Image);
+};
+
+libass.prototype["oct_new_track"] = libass.prototype.oct_new_track = function(priv) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ return wrapPointer(_emscripten_bind_libass_oct_new_track_1(self, priv), ASS_Track);
+};
+
+libass.prototype["oct_free_track"] = libass.prototype.oct_free_track = function(track) {
+ var self = this.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ _emscripten_bind_libass_oct_free_track_1(self, track);
+};
+
+libass.prototype["oct_alloc_style"] = libass.prototype.oct_alloc_style = function(track) {
+ var self = this.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ return _emscripten_bind_libass_oct_alloc_style_1(self, track);
+};
+
+libass.prototype["oct_alloc_event"] = libass.prototype.oct_alloc_event = function(track) {
+ var self = this.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ return _emscripten_bind_libass_oct_alloc_event_1(self, track);
+};
+
+libass.prototype["oct_free_style"] = libass.prototype.oct_free_style = function(track, sid) {
+ var self = this.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ if (sid && typeof sid === "object") sid = sid.ptr;
+ _emscripten_bind_libass_oct_free_style_2(self, track, sid);
+};
+
+libass.prototype["oct_free_event"] = libass.prototype.oct_free_event = function(track, eid) {
+ var self = this.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ if (eid && typeof eid === "object") eid = eid.ptr;
+ _emscripten_bind_libass_oct_free_event_2(self, track, eid);
+};
+
+libass.prototype["oct_flush_events"] = libass.prototype.oct_flush_events = function(track) {
+ var self = this.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ _emscripten_bind_libass_oct_flush_events_1(self, track);
+};
+
+libass.prototype["oct_read_file"] = libass.prototype.oct_read_file = function(library, fname, codepage) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (library && typeof library === "object") library = library.ptr;
+ if (fname && typeof fname === "object") fname = fname.ptr; else fname = ensureString(fname);
+ if (codepage && typeof codepage === "object") codepage = codepage.ptr; else codepage = ensureString(codepage);
+ return wrapPointer(_emscripten_bind_libass_oct_read_file_3(self, library, fname, codepage), ASS_Track);
+};
+
+libass.prototype["oct_add_font"] = libass.prototype.oct_add_font = function(library, name, data, data_size) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (library && typeof library === "object") library = library.ptr;
+ if (name && typeof name === "object") name = name.ptr; else name = ensureString(name);
+ if (data && typeof data === "object") data = data.ptr; else data = ensureString(data);
+ if (data_size && typeof data_size === "object") data_size = data_size.ptr;
+ _emscripten_bind_libass_oct_add_font_4(self, library, name, data, data_size);
+};
+
+libass.prototype["oct_clear_fonts"] = libass.prototype.oct_clear_fonts = function(library) {
+ var self = this.ptr;
+ if (library && typeof library === "object") library = library.ptr;
+ _emscripten_bind_libass_oct_clear_fonts_1(self, library);
+};
+
+libass.prototype["oct_step_sub"] = libass.prototype.oct_step_sub = function(track, now, movement) {
+ var self = this.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ if (now && typeof now === "object") now = now.ptr;
+ if (movement && typeof movement === "object") movement = movement.ptr;
+ return _emscripten_bind_libass_oct_step_sub_3(self, track, now, movement);
+};
+
+(function() {
+ function setupEnums() {
+  Module["ASS_HINTING_NONE"] = _emscripten_enum_ASS_Hinting_ASS_HINTING_NONE();
+  Module["ASS_HINTING_LIGHT"] = _emscripten_enum_ASS_Hinting_ASS_HINTING_LIGHT();
+  Module["ASS_HINTING_NORMAL"] = _emscripten_enum_ASS_Hinting_ASS_HINTING_NORMAL();
+  Module["ASS_HINTING_NATIVE"] = _emscripten_enum_ASS_Hinting_ASS_HINTING_NATIVE();
+  Module["ASS_SHAPING_SIMPLE"] = _emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_SIMPLE();
+  Module["ASS_SHAPING_COMPLEX"] = _emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_COMPLEX();
+  Module["ASS_OVERRIDE_DEFAULT"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_DEFAULT();
+  Module["ASS_OVERRIDE_BIT_STYLE"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_STYLE();
+  Module["ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE();
+  Module["ASS_OVERRIDE_BIT_FONT_SIZE"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE();
+  Module["ASS_OVERRIDE_BIT_FONT_SIZE_FIELDS"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE_FIELDS();
+  Module["ASS_OVERRIDE_BIT_FONT_NAME"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_NAME();
+  Module["ASS_OVERRIDE_BIT_COLORS"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_COLORS();
+  Module["ASS_OVERRIDE_BIT_ATTRIBUTES"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ATTRIBUTES();
+  Module["ASS_OVERRIDE_BIT_BORDER"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_BORDER();
+  Module["ASS_OVERRIDE_BIT_ALIGNMENT"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ALIGNMENT();
+  Module["ASS_OVERRIDE_BIT_MARGINS"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_MARGINS();
+  Module["ASS_OVERRIDE_FULL_STYLE"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_FULL_STYLE();
+  Module["ASS_OVERRIDE_BIT_JUSTIFY"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_JUSTIFY();
+ }
+ if (runtimeInitialized) setupEnums(); else addOnPreMain(setupEnums);
+})();
+
+Module["FS"] = FS;
+
+self.delay = 0;
+
+self.lastCurrentTime = 0;
+
+self.rate = 1;
+
+self.rafId = null;
+
+self.nextIsRaf = false;
+
+self.lastCurrentTimeReceivedAt = Date.now();
+
+self.targetFps = 30;
+
+self.width = 0;
+
+self.height = 0;
+
+self.fontMap_ = {};
+
+self.fontId = 0;
+
+self.writeFontToFS = function(font) {
+ font = font.trim().toLowerCase();
+ if (font.startsWith("@")) {
+  font = font.substr(1);
+ }
+ if (self.fontMap_.hasOwnProperty(font)) return;
+ self.fontMap_[font] = true;
+ if (!self.availableFonts.hasOwnProperty(font)) return;
+ var content = readBinary(self.availableFonts[font]);
+ Module["FS"].writeFile("/fonts/font" + self.fontId++ + "-" + self.availableFonts[font].split("/").pop(), content, {
+  encoding: "binary"
+ });
+};
+
+self.writeAvailableFontsToFS = function(content) {
+ if (!self.availableFonts) return;
+ var sections = parseAss(content);
+ for (var i = 0; i < sections.length; i++) {
+  for (var j = 0; j < sections[i].body.length; j++) {
+   if (sections[i].body[j].key === "Style") {
+    self.writeFontToFS(sections[i].body[j].value["Fontname"]);
+   }
+  }
+ }
+ var regex = /\\fn([^\\}]*?)[\\}]/g;
+ var matches;
+ while (matches = regex.exec(self.subContent)) {
+  self.writeFontToFS(matches[1]);
+ }
+};
+
+self.setTrack = function(content) {
+ self.writeAvailableFontsToFS(content);
+ Module["FS"].writeFile("/sub.ass", content);
+ self.octObj.createTrack("/sub.ass");
+ self.ass_track = self.octObj.track;
+ if (self.fastRenderMode) {
+  self.fastRender();
+ } else {
+  self.render();
+ }
+};
+
+self.freeTrack = function() {
+ self.octObj.removeTrack();
+ if (self.fastRenderMode) {
+  self.fastRender();
+ } else {
+  self.render();
+ }
+};
+
+self.setTrackByUrl = function(url) {
+ var content = "";
+ if (url.endsWith(".br")) {
+  content = Module["BrotliDecode"](readBinary(url));
+ } else {
+  content = read_(url);
+ }
+ self.setTrack(content);
+};
+
+self.resize = function(width, height) {
+ self.width = width;
+ self.height = height;
+ self.octObj.resizeCanvas(width, height);
+};
+
+self.getCurrentTime = function() {
+ var diff = (Date.now() - self.lastCurrentTimeReceivedAt) / 1e3;
+ if (self._isPaused) {
+  return self.lastCurrentTime;
+ } else {
+  if (diff > 5) {
+   console.error("Didn't received currentTime > 5 seconds. Assuming video was paused.");
+   self.setIsPaused(true);
+  }
+  return self.lastCurrentTime + diff * self.rate;
+ }
+};
+
+self.setCurrentTime = function(currentTime) {
+ self.lastCurrentTime = currentTime;
+ self.lastCurrentTimeReceivedAt = Date.now();
+ if (!self.rafId) {
+  if (self.nextIsRaf) {
+   if (self.fastRenderMode) {
+    self.rafId = self.requestAnimationFrame(self.fastRender);
+   } else {
+    self.rafId = self.requestAnimationFrame(self.render);
+   }
+  } else {
+   if (self.fastRenderMode) {
+    self.fastRender();
+   } else {
+    self.render();
+   }
+   setTimeout(function() {
+    self.nextIsRaf = false;
+   }, 20);
+  }
+ }
+};
+
+self._isPaused = true;
+
+self.getIsPaused = function() {
+ return self._isPaused;
+};
+
+self.setIsPaused = function(isPaused) {
+ if (isPaused != self._isPaused) {
+  self._isPaused = isPaused;
+  if (isPaused) {
+   if (self.rafId) {
+    clearTimeout(self.rafId);
+    self.rafId = null;
+   }
+  } else {
+   self.lastCurrentTimeReceivedAt = Date.now();
+   if (self.fastRenderMode) {
+    self.rafId = self.requestAnimationFrame(self.fastRender);
+   } else {
+    self.rafId = self.requestAnimationFrame(self.render);
+   }
+  }
+ }
+};
+
+self.render = function(force) {
+ self.rafId = 0;
+ self.renderPending = false;
+ var startTime = performance.now();
+ var renderResult = self.octObj.renderImage(self.getCurrentTime() + self.delay, self.changed);
+ var changed = Module.getValue(self.changed, "i32");
+ if (changed != 0 || force) {
+  var result = self.buildResult(renderResult);
+  var spentTime = performance.now() - startTime;
+  postMessage({
+   target: "canvas",
+   op: "renderCanvas",
+   time: Date.now(),
+   spentTime: spentTime,
+   canvases: result[0]
+  }, result[1]);
+ }
+ if (!self._isPaused) {
+  self.rafId = self.requestAnimationFrame(self.render);
+ }
+};
+
+self.fastRender = function(force) {
+ self.rafId = 0;
+ self.renderPending = false;
+ var startTime = performance.now();
+ var renderResult = self.octObj.renderImage(self.getCurrentTime() + self.delay, self.changed);
+ var changed = Module.getValue(self.changed, "i32");
+ if (changed != 0 || force) {
+  var result = self.buildResult(renderResult);
+  var newTime = performance.now();
+  var libassTime = newTime - startTime;
+  var promises = [];
+  for (var i = 0; i < result[0].length; i++) {
+   var image = result[0][i];
+   var imageBuffer = new Uint8ClampedArray(image.buffer);
+   var imageData = new ImageData(imageBuffer, image.w, image.h);
+   promises[i] = createImageBitmap(imageData, 0, 0, image.w, image.h);
+  }
+  Promise.all(promises).then(function(imgs) {
+   var decodeTime = performance.now() - newTime;
+   var bitmaps = [];
+   for (var i = 0; i < imgs.length; i++) {
+    var image = result[0][i];
+    bitmaps[i] = {
+     x: image.x,
+     y: image.y,
+     bitmap: imgs[i]
+    };
+   }
+   postMessage({
+    target: "canvas",
+    op: "renderFastCanvas",
+    time: Date.now(),
+    libassTime: libassTime,
+    decodeTime: decodeTime,
+    bitmaps: bitmaps
+   }, imgs);
+  });
+ }
+ if (!self._isPaused) {
+  self.rafId = self.requestAnimationFrame(self.fastRender);
+ }
+};
+
+self.buildResult = function(ptr) {
+ var items = [];
+ var transferable = [];
+ var item;
+ while (ptr.ptr != 0) {
+  item = self.buildResultItem(ptr);
+  if (item !== null) {
+   items.push(item);
+   transferable.push(item.buffer);
+  }
+  ptr = ptr.next;
+ }
+ return [ items, transferable ];
+};
+
+self.buildResultItem = function(ptr) {
+ var bitmap = ptr.bitmap, stride = ptr.stride, w = ptr.w, h = ptr.h, color = ptr.color;
+ if (w == 0 || h == 0) {
+  return null;
+ }
+ var r = color >> 24 & 255, g = color >> 16 & 255, b = color >> 8 & 255, a = 255 - (color & 255);
+ var result = new Uint8ClampedArray(4 * w * h);
+ var bitmapPosition = 0;
+ var resultPosition = 0;
+ for (var y = 0; y < h; ++y) {
+  for (var x = 0; x < w; ++x) {
+   var k = Module.HEAPU8[bitmap + bitmapPosition + x] * a / 255;
+   result[resultPosition] = r;
+   result[resultPosition + 1] = g;
+   result[resultPosition + 2] = b;
+   result[resultPosition + 3] = k;
+   resultPosition += 4;
+  }
+  bitmapPosition += stride;
+ }
+ x = ptr.dst_x;
+ y = ptr.dst_y;
+ return {
+  w: w,
+  h: h,
+  x: x,
+  y: y,
+  buffer: result.buffer
+ };
+};
+
+if (typeof SDL !== "undefined") {
+ SDL.defaults.copyOnLock = false;
+ SDL.defaults.discardOnLock = false;
+ SDL.defaults.opaqueFrontBuffer = false;
+}
+
+function parseAss(content) {
+ var m, format, lastPart, parts, key, value, tmp, i, j, body;
+ var sections = [];
+ var lines = content.split(/[\r\n]+/g);
+ for (i = 0; i < lines.length; i++) {
+  m = lines[i].match(/^\[(.*)\]$/);
+  if (m) {
+   format = null;
+   sections.push({
+    name: m[1],
+    body: []
+   });
+  } else {
+   if (/^\s*$/.test(lines[i])) continue;
+   if (sections.length === 0) continue;
+   body = sections[sections.length - 1].body;
+   if (lines[i][0] === ";") {
+    body.push({
+     type: "comment",
+     value: lines[i].substring(1)
+    });
+   } else {
+    parts = lines[i].split(":");
+    key = parts[0];
+    value = parts.slice(1).join(":").trim();
+    if (format || key === "Format") {
+     value = value.split(",");
+     if (format && value.length > format.length) {
+      lastPart = value.slice(format.length - 1).join(",");
+      value = value.slice(0, format.length - 1);
+      value.push(lastPart);
+     }
+     value = value.map(function(s) {
+      return s.trim();
+     });
+     if (format) {
+      tmp = {};
+      for (j = 0; j < value.length; j++) {
+       tmp[format[j]] = value[j];
+      }
+      value = tmp;
+     }
+    }
+    if (key === "Format") {
+     format = value;
+    }
+    body.push({
+     key: key,
+     value: value
+    });
+   }
+  }
+ }
+ return sections;
+}
+
+self.requestAnimationFrame = function() {
+ var nextRAF = 0;
+ return function(func) {
+  var now = Date.now();
+  if (nextRAF === 0) {
+   nextRAF = now + 1e3 / self.targetFps;
+  } else {
+   while (now + 2 >= nextRAF) {
+    nextRAF += 1e3 / self.targetFps;
+   }
+  }
+  var delay = Math.max(nextRAF - now, 0);
+  return setTimeout(func, delay);
+ };
+}();
+
+var screen = {
+ width: 0,
+ height: 0
+};
+
+Module.print = function Module_print(x) {
+ postMessage({
+  target: "stdout",
+  content: x
+ });
+};
+
+Module.printErr = function Module_printErr(x) {
+ postMessage({
+  target: "stderr",
+  content: x
+ });
+};
+
+var frameId = 0;
+
+var clientFrameId = 0;
+
+var commandBuffer = [];
+
+var postMainLoop = Module["postMainLoop"];
+
+Module["postMainLoop"] = function() {
+ if (postMainLoop) postMainLoop();
+ postMessage({
+  target: "tick",
+  id: frameId++
+ });
+ commandBuffer = [];
+};
+
+addRunDependency("worker-init");
+
+var messageBuffer = null;
+
+var messageResenderTimeout = null;
+
+function messageResender() {
+ if (calledMain) {
+  assert(messageBuffer && messageBuffer.length > 0);
+  messageResenderTimeout = null;
+  messageBuffer.forEach(function(message) {
+   onmessage(message);
+  });
+  messageBuffer = null;
+ } else {
+  messageResenderTimeout = setTimeout(messageResender, 50);
+ }
+}
+
+function onMessageFromMainEmscriptenThread(message) {
+ if (!calledMain && !message.data.preMain) {
+  if (!messageBuffer) {
+   messageBuffer = [];
+   messageResenderTimeout = setTimeout(messageResender, 50);
+  }
+  messageBuffer.push(message);
+  return;
+ }
+ if (calledMain && messageResenderTimeout) {
+  clearTimeout(messageResenderTimeout);
+  messageResender();
+ }
+ switch (message.data.target) {
+ case "window":
+  {
+   self.fireEvent(message.data.event);
+   break;
+  }
+
+ case "canvas":
+  {
+   if (message.data.event) {
+    Module.canvas.fireEvent(message.data.event);
+   } else if (message.data.width) {
+    if (Module.canvas && message.data.boundingClientRect) {
+     Module.canvas.boundingClientRect = message.data.boundingClientRect;
+    }
+    self.resize(message.data.width, message.data.height);
+    if (self.fastRenderMode) {
+     self.fastRender();
+    } else {
+     self.render();
+    }
+   } else throw "ey?";
+   break;
+  }
+
+ case "video":
+  {
+   if (message.data.currentTime !== undefined) {
+    self.setCurrentTime(message.data.currentTime);
+   }
+   if (message.data.isPaused !== undefined) {
+    self.setIsPaused(message.data.isPaused);
+   }
+   if (message.data.rate) {
+    self.rate = message.data.rate;
+   }
+   break;
+  }
+
+ case "tock":
+  {
+   clientFrameId = message.data.id;
+   break;
+  }
+
+ case "worker-init":
+  {
+   screen.width = self.width = message.data.width;
+   screen.height = self.height = message.data.height;
+   self.subUrl = message.data.subUrl;
+   self.subContent = message.data.subContent;
+   self.fontFiles = message.data.fonts;
+   self.fastRenderMode = message.data.fastRender;
+   self.availableFonts = message.data.availableFonts;
+   self.debug = message.data.debug;
+   if (!hasNativeConsole && self.debug) {
+    console = makeCustomConsole();
+    console.log("overridden console");
+   }
+   if (Module.canvas) {
+    Module.canvas.width_ = message.data.width;
+    Module.canvas.height_ = message.data.height;
+    if (message.data.boundingClientRect) {
+     Module.canvas.boundingClientRect = message.data.boundingClientRect;
+    }
+   }
+   removeRunDependency("worker-init");
+   break;
+  }
+
+ case "destroy":
+  self.octObj.quitLibrary();
+  break;
+
+ case "free-track":
+  self.freeTrack();
+  break;
+
+ case "set-track":
+  self.setTrack(message.data.content);
+  break;
+
+ case "set-track-by-url":
+  self.setTrackByUrl(message.data.url);
+  break;
+
+ case "create-event":
+  var event = message.data.event;
+  var i = self.octObj.allocEvent();
+  var evnt_ptr = self.octObj.track.get_events(i);
+  var vargs = Object.keys(event);
+  for (const varg of vargs) {
+   evnt_ptr[varg] = event[varg];
+  }
+  break;
+
+ case "get-events":
+  var events = [];
+  for (var i = 0; i < self.octObj.getEventCount(); i++) {
+   var evnt_ptr = self.octObj.track.get_events(i);
+   var event = {
+    Start: evnt_ptr.get_Start(),
+    Duration: evnt_ptr.get_Duration(),
+    ReadOrder: evnt_ptr.get_ReadOrder(),
+    Layer: evnt_ptr.get_Layer(),
+    Style: evnt_ptr.get_Style(),
+    Name: evnt_ptr.get_Name(),
+    MarginL: evnt_ptr.get_MarginL(),
+    MarginR: evnt_ptr.get_MarginR(),
+    MarginV: evnt_ptr.get_MarginV(),
+    Effect: evnt_ptr.get_Effect(),
+    Text: evnt_ptr.get_Text()
+   };
+   events.push(event);
+  }
+  postMessage({
+   target: "get-events",
+   time: Date.now(),
+   events: events
+  });
+  break;
+
+ case "set-event":
+  var event = message.data.event;
+  var i = message.data.index;
+  var evnt_ptr = self.octObj.track.get_events(i);
+  var vargs = Object.keys(event);
+  for (const varg of vargs) {
+   evnt_ptr[varg] = event[varg];
+  }
+  break;
+
+ case "remove-event":
+  var i = message.data.index;
+  self.octObj.removeEvent(i);
+  break;
+
+ case "create-style":
+  var style = message.data.style;
+  var i = self.octObj.allocStyle();
+  var styl_ptr = self.octObj.track.get_styles(i);
+  var vargs = Object.keys(style);
+  for (const varg of vargs) {
+   styl_ptr[varg] = style[varg];
+  }
+  break;
+
+ case "get-styles":
+  var styles = [];
+  for (var i = 0; i < self.octObj.getStyleCount(); i++) {
+   var styl_ptr = self.octObj.track.get_styles(i);
+   var style = {
+    Name: styl_ptr.get_Name(),
+    FontName: styl_ptr.get_FontName(),
+    FontSize: styl_ptr.get_FontSize(),
+    PrimaryColour: styl_ptr.get_PrimaryColour(),
+    SecondaryColour: styl_ptr.get_SecondaryColour(),
+    OutlineColour: styl_ptr.get_OutlineColour(),
+    BackColour: styl_ptr.get_BackColour(),
+    Bold: styl_ptr.get_Bold(),
+    Italic: styl_ptr.get_Italic(),
+    Underline: styl_ptr.get_Underline(),
+    StrikeOut: styl_ptr.get_StrikeOut(),
+    ScaleX: styl_ptr.get_ScaleX(),
+    ScaleY: styl_ptr.get_ScaleY(),
+    Spacing: styl_ptr.get_Spacing(),
+    Angle: styl_ptr.get_Angle(),
+    BorderStyle: styl_ptr.get_BorderStyle(),
+    Outline: styl_ptr.get_Outline(),
+    Shadow: styl_ptr.get_Shadow(),
+    Alignment: styl_ptr.get_Alignment(),
+    MarginL: styl_ptr.get_MarginL(),
+    MarginR: styl_ptr.get_MarginR(),
+    MarginV: styl_ptr.get_MarginV(),
+    Encoding: styl_ptr.get_Encoding(),
+    treat_fontname_as_pattern: styl_ptr.get_treat_fontname_as_pattern(),
+    Blur: styl_ptr.get_Blur(),
+    Justify: styl_ptr.get_Justify()
+   };
+   styles.push(style);
+  }
+  postMessage({
+   target: "get-styles",
+   time: Date.now(),
+   styles: styles
+  });
+  break;
+
+ case "set-style":
+  var style = message.data.style;
+  var i = message.data.index;
+  var styl_ptr = self.octObj.track.get_styles(i);
+  var vargs = Object.keys(style);
+  for (const varg of vargs) {
+   styl_ptr[varg] = style[varg];
+  }
+  break;
+
+ case "remove-style":
+  var i = message.data.index;
+  self.octObj.removeStyle(i);
+  break;
+
+ case "runBenchmark":
+  {
+   self.runBenchmark();
+   break;
+  }
+
+ case "custom":
+  {
+   if (Module["onCustomMessage"]) {
+    Module["onCustomMessage"](message);
+   } else {
+    throw "Custom message received but worker Module.onCustomMessage not implemented.";
+   }
+   break;
+  }
+
+ case "setimmediate":
+  {
+   if (Module["setImmediates"]) Module["setImmediates"].shift()();
+   break;
+  }
+
+ default:
+  throw "wha? " + message.data.target;
+ }
+}
+
+onmessage = onMessageFromMainEmscriptenThread;
+
+self.runBenchmark = function(seconds, pos, async) {
+ var totalTime = 0;
+ var i = 0;
+ pos = pos || 0;
+ seconds = seconds || 60;
+ var count = seconds * self.targetFps;
+ var start = performance.now();
+ var longestFrame = 0;
+ var run = function() {
+  var t0 = performance.now();
+  pos += 1 / self.targetFps;
+  self.setCurrentTime(pos);
+  var t1 = performance.now();
+  var diff = t1 - t0;
+  totalTime += diff;
+  if (diff > longestFrame) {
+   longestFrame = diff;
+  }
+  if (i < count) {
+   i++;
+   if (async) {
+    self.requestAnimationFrame(run);
+    return false;
+   } else {
+    return true;
+   }
+  } else {
+   console.log("Performance fps: " + Math.round(1e3 / (totalTime / count)) + "");
+   console.log("Real fps: " + Math.round(1e3 / ((t1 - start) / count)) + "");
+   console.log("Total time: " + totalTime);
+   console.log("Longest frame: " + Math.ceil(longestFrame) + "ms (" + Math.floor(1e3 / longestFrame) + " fps)");
+   return false;
+  }
+ };
+ while (true) {
+  if (!run()) {
+   break;
+  }
+ }
+};
diff --git a/public/assets/js/subtitles-octopus-worker-legacy.js.mem b/public/assets/js/subtitles-octopus-worker-legacy.js.mem
new file mode 100644
index 0000000000000000000000000000000000000000..465c62df4529cea055a336fb4bd4cdba81e25d7c
Binary files /dev/null and b/public/assets/js/subtitles-octopus-worker-legacy.js.mem differ
diff --git a/public/assets/js/subtitles-octopus-worker.data b/public/assets/js/subtitles-octopus-worker.data
new file mode 100644
index 0000000000000000000000000000000000000000..3caf764d00b2a53948656171b5b9bd10ebf9ce86
Binary files /dev/null and b/public/assets/js/subtitles-octopus-worker.data differ
diff --git a/public/assets/js/subtitles-octopus-worker.js b/public/assets/js/subtitles-octopus-worker.js
new file mode 100644
index 0000000000000000000000000000000000000000..377fa732cefba3d5657ca606d721b873372a7f29
--- /dev/null
+++ b/public/assets/js/subtitles-octopus-worker.js
@@ -0,0 +1,10258 @@
+var Module = typeof Module !== "undefined" ? Module : {};
+
+if (!Module.expectedDataFileDownloads) {
+ Module.expectedDataFileDownloads = 0;
+ Module.finishedDataFileDownloads = 0;
+}
+
+Module.expectedDataFileDownloads++;
+
+(function() {
+ var loadPackage = function(metadata) {
+  var PACKAGE_PATH;
+  if (typeof window === "object") {
+   PACKAGE_PATH = window["encodeURIComponent"](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf("/")) + "/");
+  } else if (typeof location !== "undefined") {
+   PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf("/")) + "/");
+  } else {
+   throw "using preloaded data can only be done on a web page or in a web worker";
+  }
+  var PACKAGE_NAME = "dist/js/subtitles-octopus-worker.data";
+  var REMOTE_PACKAGE_BASE = "subtitles-octopus-worker.data";
+  if (typeof Module["locateFilePackage"] === "function" && !Module["locateFile"]) {
+   Module["locateFile"] = Module["locateFilePackage"];
+   err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)");
+  }
+  var REMOTE_PACKAGE_NAME = Module["locateFile"] ? Module["locateFile"](REMOTE_PACKAGE_BASE, "") : REMOTE_PACKAGE_BASE;
+  var REMOTE_PACKAGE_SIZE = metadata["remote_package_size"];
+  var PACKAGE_UUID = metadata["package_uuid"];
+  function fetchRemotePackage(packageName, packageSize, callback, errback) {
+   var xhr = new XMLHttpRequest();
+   xhr.open("GET", packageName, true);
+   xhr.responseType = "arraybuffer";
+   xhr.onprogress = function(event) {
+    var url = packageName;
+    var size = packageSize;
+    if (event.total) size = event.total;
+    if (event.loaded) {
+     if (!xhr.addedTotal) {
+      xhr.addedTotal = true;
+      if (!Module.dataFileDownloads) Module.dataFileDownloads = {};
+      Module.dataFileDownloads[url] = {
+       loaded: event.loaded,
+       total: size
+      };
+     } else {
+      Module.dataFileDownloads[url].loaded = event.loaded;
+     }
+     var total = 0;
+     var loaded = 0;
+     var num = 0;
+     for (var download in Module.dataFileDownloads) {
+      var data = Module.dataFileDownloads[download];
+      total += data.total;
+      loaded += data.loaded;
+      num++;
+     }
+     total = Math.ceil(total * Module.expectedDataFileDownloads / num);
+     if (Module["setStatus"]) Module["setStatus"]("Downloading data... (" + loaded + "/" + total + ")");
+    } else if (!Module.dataFileDownloads) {
+     if (Module["setStatus"]) Module["setStatus"]("Downloading data...");
+    }
+   };
+   xhr.onerror = function(event) {
+    throw new Error("NetworkError for: " + packageName);
+   };
+   xhr.onload = function(event) {
+    if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || xhr.status == 0 && xhr.response) {
+     var packageData = xhr.response;
+     callback(packageData);
+    } else {
+     throw new Error(xhr.statusText + " : " + xhr.responseURL);
+    }
+   };
+   xhr.send(null);
+  }
+  function handleError(error) {
+   console.error("package error:", error);
+  }
+  var fetchedCallback = null;
+  var fetched = Module["getPreloadedPackage"] ? Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null;
+  if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) {
+   if (fetchedCallback) {
+    fetchedCallback(data);
+    fetchedCallback = null;
+   } else {
+    fetched = data;
+   }
+  }, handleError);
+  function runWithFS() {
+   function assert(check, msg) {
+    if (!check) throw msg + new Error().stack;
+   }
+   Module["FS_createPath"]("/", "assets", true, true);
+   function DataRequest(start, end, audio) {
+    this.start = start;
+    this.end = end;
+    this.audio = audio;
+   }
+   DataRequest.prototype = {
+    requests: {},
+    open: function(mode, name) {
+     this.name = name;
+     this.requests[name] = this;
+     Module["addRunDependency"]("fp " + this.name);
+    },
+    send: function() {},
+    onload: function() {
+     var byteArray = this.byteArray.subarray(this.start, this.end);
+     this.finish(byteArray);
+    },
+    finish: function(byteArray) {
+     var that = this;
+     Module["FS_createPreloadedFile"](this.name, null, byteArray, true, true, function() {
+      Module["removeRunDependency"]("fp " + that.name);
+     }, function() {
+      if (that.audio) {
+       Module["removeRunDependency"]("fp " + that.name);
+      } else {
+       err("Preloading file " + that.name + " failed");
+      }
+     }, false, true);
+     this.requests[this.name] = null;
+    }
+   };
+   var files = metadata["files"];
+   for (var i = 0; i < files.length; ++i) {
+    new DataRequest(files[i]["start"], files[i]["end"], files[i]["audio"]).open("GET", files[i]["filename"]);
+   }
+   function processPackageData(arrayBuffer) {
+    Module.finishedDataFileDownloads++;
+    assert(arrayBuffer, "Loading data file failed.");
+    assert(arrayBuffer instanceof ArrayBuffer, "bad input to processPackageData");
+    var byteArray = new Uint8Array(arrayBuffer);
+    DataRequest.prototype.byteArray = byteArray;
+    var files = metadata["files"];
+    for (var i = 0; i < files.length; ++i) {
+     DataRequest.prototype.requests[files[i].filename].onload();
+    }
+    Module["removeRunDependency"]("datafile_dist/js/subtitles-octopus-worker.data");
+   }
+   Module["addRunDependency"]("datafile_dist/js/subtitles-octopus-worker.data");
+   if (!Module.preloadResults) Module.preloadResults = {};
+   Module.preloadResults[PACKAGE_NAME] = {
+    fromCache: false
+   };
+   if (fetched) {
+    processPackageData(fetched);
+    fetched = null;
+   } else {
+    fetchedCallback = processPackageData;
+   }
+  }
+  if (Module["calledRun"]) {
+   runWithFS();
+  } else {
+   if (!Module["preRun"]) Module["preRun"] = [];
+   Module["preRun"].push(runWithFS);
+  }
+ };
+ loadPackage({
+  "files": [ {
+   "start": 0,
+   "audio": 0,
+   "end": 145972,
+   "filename": "/assets/default.woff2"
+  }, {
+   "start": 145972,
+   "audio": 0,
+   "end": 146775,
+   "filename": "/assets/fonts.conf"
+  } ],
+  "remote_package_size": 146775,
+  "package_uuid": "43f55d8e-e644-4070-b252-e03ac41196bc"
+ });
+})();
+
+if (!String.prototype.endsWith) {
+ String.prototype.endsWith = function(search, this_len) {
+  if (this_len === undefined || this_len > this.length) {
+   this_len = this.length;
+  }
+  return this.substring(this_len - search.length, this_len) === search;
+ };
+}
+
+var hasNativeConsole = typeof console !== "undefined";
+
+function makeCustomConsole() {
+ var console = function() {
+  function postConsoleMessage(prefix, args) {
+   postMessage({
+    target: "console-" + prefix,
+    content: JSON.stringify(Array.prototype.slice.call(args))
+   });
+  }
+  return {
+   log: function() {
+    postConsoleMessage("log", arguments);
+   },
+   debug: function() {
+    postConsoleMessage("debug", arguments);
+   },
+   info: function() {
+    postConsoleMessage("info", arguments);
+   },
+   warn: function() {
+    postConsoleMessage("warn", arguments);
+   },
+   error: function() {
+    postConsoleMessage("error", arguments);
+   }
+  };
+ }();
+ return console;
+}
+
+Module = Module || {};
+
+Module["preRun"] = Module["preRun"] || [];
+
+Module["preRun"].push(function() {
+ var i;
+ Module["FS_createFolder"]("/", "fonts", true, true);
+ if (!self.subContent) {
+  if (self.subUrl.endsWith(".br")) {
+   self.subContent = Module["BrotliDecode"](readBinary(self.subUrl));
+  } else {
+   self.subContent = read_(self.subUrl);
+  }
+ }
+ if (self.availableFonts && self.availableFonts.length !== 0) {
+  var sections = parseAss(self.subContent);
+  for (var i = 0; i < sections.length; i++) {
+   for (var j = 0; j < sections[i].body.length; j++) {
+    if (sections[i].body[j].key === "Style") {
+     self.writeFontToFS(sections[i].body[j].value["Fontname"]);
+    }
+   }
+  }
+  var regex = /\\fn([^\\}]*?)[\\}]/g;
+  var matches;
+  while (matches = regex.exec(self.subContent)) {
+   self.writeFontToFS(matches[1]);
+  }
+ }
+ if (self.subContent) {
+  Module["FS"].writeFile("/sub.ass", self.subContent);
+ }
+ self.subContent = null;
+ var fontFiles = self.fontFiles || [];
+ for (i = 0; i < fontFiles.length; i++) {
+  Module["FS_createPreloadedFile"]("/fonts", "font" + i + "-" + fontFiles[i].split("/").pop(), fontFiles[i], true, true);
+ }
+});
+
+Module["onRuntimeInitialized"] = function() {
+ self.octObj = new Module.SubtitleOctopus();
+ self.changed = Module._malloc(4);
+ self.octObj.initLibrary(screen.width, screen.height);
+ self.octObj.createTrack("/sub.ass");
+ self.ass_track = self.octObj.track;
+ self.ass_library = self.octObj.ass_library;
+ self.ass_renderer = self.octObj.ass_renderer;
+};
+
+Module["print"] = function(text) {
+ if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(" ");
+ console.log(text);
+};
+
+Module["printErr"] = function(text) {
+ if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(" ");
+ console.error(text);
+};
+
+if (!hasNativeConsole) {
+ var console = {
+  log: function(x) {
+   if (typeof dump === "function") dump("log: " + x + "\n");
+  },
+  debug: function(x) {
+   if (typeof dump === "function") dump("debug: " + x + "\n");
+  },
+  info: function(x) {
+   if (typeof dump === "function") dump("info: " + x + "\n");
+  },
+  warn: function(x) {
+   if (typeof dump === "function") dump("warn: " + x + "\n");
+  },
+  error: function(x) {
+   if (typeof dump === "function") dump("error: " + x + "\n");
+  }
+ };
+}
+
+if ("performance" in self === false) {
+ self.performance = {};
+}
+
+Date.now = Date.now || function() {
+ return new Date().getTime();
+};
+
+if ("now" in self.performance === false) {
+ var nowOffset = Date.now();
+ if (performance.timing && performance.timing.navigationStart) {
+  nowOffset = performance.timing.navigationStart;
+ }
+ self.performance.now = function now() {
+  return Date.now() - nowOffset;
+ };
+}
+
+(function(f) {
+ if (typeof exports === "object" && typeof module !== "undefined") {
+  module.exports = f();
+ } else if (typeof define === "function" && define.amd) {
+  define([], f);
+ } else {
+  var g;
+  if (typeof window !== "undefined") {
+   g = window;
+  } else if (typeof global !== "undefined") {
+   g = global;
+  } else if (typeof self !== "undefined") {
+   g = self;
+  } else {
+   g = this;
+  }
+  g.unbrotli = f();
+ }
+})(function() {
+ var exports;
+ return function() {
+  function r(e, n, t) {
+   function o(i, f) {
+    if (!n[i]) {
+     if (!e[i]) {
+      var c = "function" == typeof require && require;
+      if (!f && c) return c(i, !0);
+      if (u) return u(i, !0);
+      var a = new Error("Cannot find module '" + i + "'");
+      throw a.code = "MODULE_NOT_FOUND", a;
+     }
+     var p = n[i] = {
+      exports: {}
+     };
+     e[i][0].call(p.exports, function(r) {
+      var n = e[i][1][r];
+      return o(n || r);
+     }, p, p.exports, r, e, n, t);
+    }
+    return n[i].exports;
+   }
+   for (var u = "function" == typeof require && require, i = 0; i < t.length; i++) o(t[i]);
+   return o;
+  }
+  return r;
+ }()({
+  1: [ function(require, module, exports) {
+   var BROTLI_READ_SIZE = 4096;
+   var BROTLI_IBUF_SIZE = 2 * BROTLI_READ_SIZE + 32;
+   var BROTLI_IBUF_MASK = 2 * BROTLI_READ_SIZE - 1;
+   var kBitMask = new Uint32Array([ 0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215 ]);
+   function BrotliBitReader(input) {
+    this.buf_ = new Uint8Array(BROTLI_IBUF_SIZE);
+    this.input_ = input;
+    this.reset();
+   }
+   BrotliBitReader.READ_SIZE = BROTLI_READ_SIZE;
+   BrotliBitReader.IBUF_MASK = BROTLI_IBUF_MASK;
+   BrotliBitReader.prototype.reset = function() {
+    this.buf_ptr_ = 0;
+    this.val_ = 0;
+    this.pos_ = 0;
+    this.bit_pos_ = 0;
+    this.bit_end_pos_ = 0;
+    this.eos_ = 0;
+    this.readMoreInput();
+    for (var i = 0; i < 4; i++) {
+     this.val_ |= this.buf_[this.pos_] << 8 * i;
+     ++this.pos_;
+    }
+    return this.bit_end_pos_ > 0;
+   };
+   BrotliBitReader.prototype.readMoreInput = function() {
+    if (this.bit_end_pos_ > 256) {
+     return;
+    } else if (this.eos_) {
+     if (this.bit_pos_ > this.bit_end_pos_) throw new Error("Unexpected end of input " + this.bit_pos_ + " " + this.bit_end_pos_);
+    } else {
+     var dst = this.buf_ptr_;
+     var bytes_read = this.input_.read(this.buf_, dst, BROTLI_READ_SIZE);
+     if (bytes_read < 0) {
+      throw new Error("Unexpected end of input");
+     }
+     if (bytes_read < BROTLI_READ_SIZE) {
+      this.eos_ = 1;
+      for (var p = 0; p < 32; p++) this.buf_[dst + bytes_read + p] = 0;
+     }
+     if (dst === 0) {
+      for (var p = 0; p < 32; p++) this.buf_[(BROTLI_READ_SIZE << 1) + p] = this.buf_[p];
+      this.buf_ptr_ = BROTLI_READ_SIZE;
+     } else {
+      this.buf_ptr_ = 0;
+     }
+     this.bit_end_pos_ += bytes_read << 3;
+    }
+   };
+   BrotliBitReader.prototype.fillBitWindow = function() {
+    while (this.bit_pos_ >= 8) {
+     this.val_ >>>= 8;
+     this.val_ |= this.buf_[this.pos_ & BROTLI_IBUF_MASK] << 24;
+     ++this.pos_;
+     this.bit_pos_ = this.bit_pos_ - 8 >>> 0;
+     this.bit_end_pos_ = this.bit_end_pos_ - 8 >>> 0;
+    }
+   };
+   BrotliBitReader.prototype.readBits = function(n_bits) {
+    if (32 - this.bit_pos_ < n_bits) {
+     this.fillBitWindow();
+    }
+    var val = this.val_ >>> this.bit_pos_ & kBitMask[n_bits];
+    this.bit_pos_ += n_bits;
+    return val;
+   };
+   module.exports = BrotliBitReader;
+  }, {} ],
+  2: [ function(require, module, exports) {
+   exports.lookup = new Uint8Array([ 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 12, 16, 12, 12, 20, 12, 16, 24, 28, 12, 12, 32, 12, 36, 12, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 32, 32, 24, 40, 28, 12, 12, 48, 52, 52, 52, 48, 52, 52, 52, 48, 52, 52, 52, 52, 52, 48, 52, 52, 52, 52, 52, 48, 52, 52, 52, 52, 52, 24, 12, 28, 12, 12, 12, 56, 60, 60, 60, 56, 60, 60, 60, 56, 60, 60, 60, 60, 60, 56, 60, 60, 60, 60, 60, 56, 60, 60, 60, 60, 60, 24, 12, 28, 12, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 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, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 56, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27, 28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35, 36, 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 39, 40, 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 43, 43, 43, 43, 44, 44, 44, 44, 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47, 48, 48, 48, 48, 49, 49, 49, 49, 50, 50, 50, 50, 51, 51, 51, 51, 52, 52, 52, 52, 53, 53, 53, 53, 54, 54, 54, 54, 55, 55, 55, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 58, 58, 58, 59, 59, 59, 59, 60, 60, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]);
+   exports.lookupOffsets = new Uint16Array([ 1024, 1536, 1280, 1536, 0, 256, 768, 512 ]);
+  }, {} ],
+  3: [ function(require, module, exports) {
+   var BrotliInput = require("./streams").BrotliInput;
+   var BrotliOutput = require("./streams").BrotliOutput;
+   var BrotliBitReader = require("./bit_reader");
+   var BrotliDictionary = require("./dictionary");
+   var HuffmanCode = require("./huffman").HuffmanCode;
+   var BrotliBuildHuffmanTable = require("./huffman").BrotliBuildHuffmanTable;
+   var Context = require("./context");
+   var Prefix = require("./prefix");
+   var Transform = require("./transform");
+   var kDefaultCodeLength = 8;
+   var kCodeLengthRepeatCode = 16;
+   var kNumLiteralCodes = 256;
+   var kNumInsertAndCopyCodes = 704;
+   var kNumBlockLengthCodes = 26;
+   var kLiteralContextBits = 6;
+   var kDistanceContextBits = 2;
+   var HUFFMAN_TABLE_BITS = 8;
+   var HUFFMAN_TABLE_MASK = 255;
+   var HUFFMAN_MAX_TABLE_SIZE = 1080;
+   var CODE_LENGTH_CODES = 18;
+   var kCodeLengthCodeOrder = new Uint8Array([ 1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13, 14, 15 ]);
+   var NUM_DISTANCE_SHORT_CODES = 16;
+   var kDistanceShortCodeIndexOffset = new Uint8Array([ 3, 2, 1, 0, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2 ]);
+   var kDistanceShortCodeValueOffset = new Int8Array([ 0, 0, 0, 0, -1, 1, -2, 2, -3, 3, -1, 1, -2, 2, -3, 3 ]);
+   var kMaxHuffmanTableSize = new Uint16Array([ 256, 402, 436, 468, 500, 534, 566, 598, 630, 662, 694, 726, 758, 790, 822, 854, 886, 920, 952, 984, 1016, 1048, 1080 ]);
+   function DecodeWindowBits(br) {
+    var n;
+    if (br.readBits(1) === 0) {
+     return 16;
+    }
+    n = br.readBits(3);
+    if (n > 0) {
+     return 17 + n;
+    }
+    n = br.readBits(3);
+    if (n > 0) {
+     return 8 + n;
+    }
+    return 17;
+   }
+   function DecodeVarLenUint8(br) {
+    if (br.readBits(1)) {
+     var nbits = br.readBits(3);
+     if (nbits === 0) {
+      return 1;
+     } else {
+      return br.readBits(nbits) + (1 << nbits);
+     }
+    }
+    return 0;
+   }
+   function MetaBlockLength() {
+    this.meta_block_length = 0;
+    this.input_end = 0;
+    this.is_uncompressed = 0;
+    this.is_metadata = false;
+   }
+   function DecodeMetaBlockLength(br) {
+    var out = new MetaBlockLength();
+    var size_nibbles;
+    var size_bytes;
+    var i;
+    out.input_end = br.readBits(1);
+    if (out.input_end && br.readBits(1)) {
+     return out;
+    }
+    size_nibbles = br.readBits(2) + 4;
+    if (size_nibbles === 7) {
+     out.is_metadata = true;
+     if (br.readBits(1) !== 0) throw new Error("Invalid reserved bit");
+     size_bytes = br.readBits(2);
+     if (size_bytes === 0) return out;
+     for (i = 0; i < size_bytes; i++) {
+      var next_byte = br.readBits(8);
+      if (i + 1 === size_bytes && size_bytes > 1 && next_byte === 0) throw new Error("Invalid size byte");
+      out.meta_block_length |= next_byte << i * 8;
+     }
+    } else {
+     for (i = 0; i < size_nibbles; ++i) {
+      var next_nibble = br.readBits(4);
+      if (i + 1 === size_nibbles && size_nibbles > 4 && next_nibble === 0) throw new Error("Invalid size nibble");
+      out.meta_block_length |= next_nibble << i * 4;
+     }
+    }
+    ++out.meta_block_length;
+    if (!out.input_end && !out.is_metadata) {
+     out.is_uncompressed = br.readBits(1);
+    }
+    return out;
+   }
+   function ReadSymbol(table, index, br) {
+    var nbits;
+    br.fillBitWindow();
+    index += br.val_ >>> br.bit_pos_ & HUFFMAN_TABLE_MASK;
+    nbits = table[index].bits - HUFFMAN_TABLE_BITS;
+    if (nbits > 0) {
+     br.bit_pos_ += HUFFMAN_TABLE_BITS;
+     index += table[index].value;
+     index += br.val_ >>> br.bit_pos_ & (1 << nbits) - 1;
+    }
+    br.bit_pos_ += table[index].bits;
+    return table[index].value;
+   }
+   function ReadHuffmanCodeLengths(code_length_code_lengths, num_symbols, code_lengths, br) {
+    var symbol = 0;
+    var prev_code_len = kDefaultCodeLength;
+    var repeat = 0;
+    var repeat_code_len = 0;
+    var space = 32768;
+    var table = [];
+    for (var i = 0; i < 32; i++) table.push(new HuffmanCode(0, 0));
+    BrotliBuildHuffmanTable(table, 0, 5, code_length_code_lengths, CODE_LENGTH_CODES);
+    while (symbol < num_symbols && space > 0) {
+     var p = 0;
+     var code_len;
+     br.readMoreInput();
+     br.fillBitWindow();
+     p += br.val_ >>> br.bit_pos_ & 31;
+     br.bit_pos_ += table[p].bits;
+     code_len = table[p].value & 255;
+     if (code_len < kCodeLengthRepeatCode) {
+      repeat = 0;
+      code_lengths[symbol++] = code_len;
+      if (code_len !== 0) {
+       prev_code_len = code_len;
+       space -= 32768 >> code_len;
+      }
+     } else {
+      var extra_bits = code_len - 14;
+      var old_repeat;
+      var repeat_delta;
+      var new_len = 0;
+      if (code_len === kCodeLengthRepeatCode) {
+       new_len = prev_code_len;
+      }
+      if (repeat_code_len !== new_len) {
+       repeat = 0;
+       repeat_code_len = new_len;
+      }
+      old_repeat = repeat;
+      if (repeat > 0) {
+       repeat -= 2;
+       repeat <<= extra_bits;
+      }
+      repeat += br.readBits(extra_bits) + 3;
+      repeat_delta = repeat - old_repeat;
+      if (symbol + repeat_delta > num_symbols) {
+       throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");
+      }
+      for (var x = 0; x < repeat_delta; x++) code_lengths[symbol + x] = repeat_code_len;
+      symbol += repeat_delta;
+      if (repeat_code_len !== 0) {
+       space -= repeat_delta << 15 - repeat_code_len;
+      }
+     }
+    }
+    if (space !== 0) {
+     throw new Error("[ReadHuffmanCodeLengths] space = " + space);
+    }
+    for (;symbol < num_symbols; symbol++) code_lengths[symbol] = 0;
+   }
+   function ReadHuffmanCode(alphabet_size, tables, table, br) {
+    var table_size = 0;
+    var simple_code_or_skip;
+    var code_lengths = new Uint8Array(alphabet_size);
+    br.readMoreInput();
+    simple_code_or_skip = br.readBits(2);
+    if (simple_code_or_skip === 1) {
+     var i;
+     var max_bits_counter = alphabet_size - 1;
+     var max_bits = 0;
+     var symbols = new Int32Array(4);
+     var num_symbols = br.readBits(2) + 1;
+     while (max_bits_counter) {
+      max_bits_counter >>= 1;
+      ++max_bits;
+     }
+     for (i = 0; i < num_symbols; ++i) {
+      symbols[i] = br.readBits(max_bits) % alphabet_size;
+      code_lengths[symbols[i]] = 2;
+     }
+     code_lengths[symbols[0]] = 1;
+     switch (num_symbols) {
+     case 1:
+      break;
+
+     case 3:
+      if (symbols[0] === symbols[1] || symbols[0] === symbols[2] || symbols[1] === symbols[2]) {
+       throw new Error("[ReadHuffmanCode] invalid symbols");
+      }
+      break;
+
+     case 2:
+      if (symbols[0] === symbols[1]) {
+       throw new Error("[ReadHuffmanCode] invalid symbols");
+      }
+      code_lengths[symbols[1]] = 1;
+      break;
+
+     case 4:
+      if (symbols[0] === symbols[1] || symbols[0] === symbols[2] || symbols[0] === symbols[3] || symbols[1] === symbols[2] || symbols[1] === symbols[3] || symbols[2] === symbols[3]) {
+       throw new Error("[ReadHuffmanCode] invalid symbols");
+      }
+      if (br.readBits(1)) {
+       code_lengths[symbols[2]] = 3;
+       code_lengths[symbols[3]] = 3;
+      } else {
+       code_lengths[symbols[0]] = 2;
+      }
+      break;
+     }
+    } else {
+     var i;
+     var code_length_code_lengths = new Uint8Array(CODE_LENGTH_CODES);
+     var space = 32;
+     var num_codes = 0;
+     var huff = [ new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(3, 2), new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(4, 1), new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(3, 2), new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(4, 5) ];
+     for (i = simple_code_or_skip; i < CODE_LENGTH_CODES && space > 0; ++i) {
+      var code_len_idx = kCodeLengthCodeOrder[i];
+      var p = 0;
+      var v;
+      br.fillBitWindow();
+      p += br.val_ >>> br.bit_pos_ & 15;
+      br.bit_pos_ += huff[p].bits;
+      v = huff[p].value;
+      code_length_code_lengths[code_len_idx] = v;
+      if (v !== 0) {
+       space -= 32 >> v;
+       ++num_codes;
+      }
+     }
+     if (!(num_codes === 1 || space === 0)) throw new Error("[ReadHuffmanCode] invalid num_codes or space");
+     ReadHuffmanCodeLengths(code_length_code_lengths, alphabet_size, code_lengths, br);
+    }
+    table_size = BrotliBuildHuffmanTable(tables, table, HUFFMAN_TABLE_BITS, code_lengths, alphabet_size);
+    if (table_size === 0) {
+     throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");
+    }
+    return table_size;
+   }
+   function ReadBlockLength(table, index, br) {
+    var code;
+    var nbits;
+    code = ReadSymbol(table, index, br);
+    nbits = Prefix.kBlockLengthPrefixCode[code].nbits;
+    return Prefix.kBlockLengthPrefixCode[code].offset + br.readBits(nbits);
+   }
+   function TranslateShortCodes(code, ringbuffer, index) {
+    var val;
+    if (code < NUM_DISTANCE_SHORT_CODES) {
+     index += kDistanceShortCodeIndexOffset[code];
+     index &= 3;
+     val = ringbuffer[index] + kDistanceShortCodeValueOffset[code];
+    } else {
+     val = code - NUM_DISTANCE_SHORT_CODES + 1;
+    }
+    return val;
+   }
+   function MoveToFront(v, index) {
+    var value = v[index];
+    var i = index;
+    for (;i; --i) v[i] = v[i - 1];
+    v[0] = value;
+   }
+   function InverseMoveToFrontTransform(v, v_len) {
+    var mtf = new Uint8Array(256);
+    var i;
+    for (i = 0; i < 256; ++i) {
+     mtf[i] = i;
+    }
+    for (i = 0; i < v_len; ++i) {
+     var index = v[i];
+     v[i] = mtf[index];
+     if (index) MoveToFront(mtf, index);
+    }
+   }
+   function HuffmanTreeGroup(alphabet_size, num_htrees) {
+    this.alphabet_size = alphabet_size;
+    this.num_htrees = num_htrees;
+    this.codes = new Array(num_htrees + num_htrees * kMaxHuffmanTableSize[alphabet_size + 31 >>> 5]);
+    this.htrees = new Uint32Array(num_htrees);
+   }
+   HuffmanTreeGroup.prototype.decode = function(br) {
+    var i;
+    var table_size;
+    var next = 0;
+    for (i = 0; i < this.num_htrees; ++i) {
+     this.htrees[i] = next;
+     table_size = ReadHuffmanCode(this.alphabet_size, this.codes, next, br);
+     next += table_size;
+    }
+   };
+   function DecodeContextMap(context_map_size, br) {
+    var out = {
+     num_htrees: null,
+     context_map: null
+    };
+    var use_rle_for_zeros;
+    var max_run_length_prefix = 0;
+    var table;
+    var i;
+    br.readMoreInput();
+    var num_htrees = out.num_htrees = DecodeVarLenUint8(br) + 1;
+    var context_map = out.context_map = new Uint8Array(context_map_size);
+    if (num_htrees <= 1) {
+     return out;
+    }
+    use_rle_for_zeros = br.readBits(1);
+    if (use_rle_for_zeros) {
+     max_run_length_prefix = br.readBits(4) + 1;
+    }
+    table = [];
+    for (i = 0; i < HUFFMAN_MAX_TABLE_SIZE; i++) {
+     table[i] = new HuffmanCode(0, 0);
+    }
+    ReadHuffmanCode(num_htrees + max_run_length_prefix, table, 0, br);
+    for (i = 0; i < context_map_size; ) {
+     var code;
+     br.readMoreInput();
+     code = ReadSymbol(table, 0, br);
+     if (code === 0) {
+      context_map[i] = 0;
+      ++i;
+     } else if (code <= max_run_length_prefix) {
+      var reps = 1 + (1 << code) + br.readBits(code);
+      while (--reps) {
+       if (i >= context_map_size) {
+        throw new Error("[DecodeContextMap] i >= context_map_size");
+       }
+       context_map[i] = 0;
+       ++i;
+      }
+     } else {
+      context_map[i] = code - max_run_length_prefix;
+      ++i;
+     }
+    }
+    if (br.readBits(1)) {
+     InverseMoveToFrontTransform(context_map, context_map_size);
+    }
+    return out;
+   }
+   function DecodeBlockType(max_block_type, trees, tree_type, block_types, ringbuffers, indexes, br) {
+    var ringbuffer = tree_type * 2;
+    var index = tree_type;
+    var type_code = ReadSymbol(trees, tree_type * HUFFMAN_MAX_TABLE_SIZE, br);
+    var block_type;
+    if (type_code === 0) {
+     block_type = ringbuffers[ringbuffer + (indexes[index] & 1)];
+    } else if (type_code === 1) {
+     block_type = ringbuffers[ringbuffer + (indexes[index] - 1 & 1)] + 1;
+    } else {
+     block_type = type_code - 2;
+    }
+    if (block_type >= max_block_type) {
+     block_type -= max_block_type;
+    }
+    block_types[tree_type] = block_type;
+    ringbuffers[ringbuffer + (indexes[index] & 1)] = block_type;
+    ++indexes[index];
+   }
+   function CopyUncompressedBlockToOutput(output, len, pos, ringbuffer, ringbuffer_mask, br) {
+    var rb_size = ringbuffer_mask + 1;
+    var rb_pos = pos & ringbuffer_mask;
+    var br_pos = br.pos_ & BrotliBitReader.IBUF_MASK;
+    var nbytes;
+    if (len < 8 || br.bit_pos_ + (len << 3) < br.bit_end_pos_) {
+     while (len-- > 0) {
+      br.readMoreInput();
+      ringbuffer[rb_pos++] = br.readBits(8);
+      if (rb_pos === rb_size) {
+       output.write(ringbuffer, rb_size);
+       rb_pos = 0;
+      }
+     }
+     return;
+    }
+    if (br.bit_end_pos_ < 32) {
+     throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");
+    }
+    while (br.bit_pos_ < 32) {
+     ringbuffer[rb_pos] = br.val_ >>> br.bit_pos_;
+     br.bit_pos_ += 8;
+     ++rb_pos;
+     --len;
+    }
+    nbytes = br.bit_end_pos_ - br.bit_pos_ >> 3;
+    if (br_pos + nbytes > BrotliBitReader.IBUF_MASK) {
+     var tail = BrotliBitReader.IBUF_MASK + 1 - br_pos;
+     for (var x = 0; x < tail; x++) ringbuffer[rb_pos + x] = br.buf_[br_pos + x];
+     nbytes -= tail;
+     rb_pos += tail;
+     len -= tail;
+     br_pos = 0;
+    }
+    for (var x = 0; x < nbytes; x++) ringbuffer[rb_pos + x] = br.buf_[br_pos + x];
+    rb_pos += nbytes;
+    len -= nbytes;
+    if (rb_pos >= rb_size) {
+     output.write(ringbuffer, rb_size);
+     rb_pos -= rb_size;
+     for (var x = 0; x < rb_pos; x++) ringbuffer[x] = ringbuffer[rb_size + x];
+    }
+    while (rb_pos + len >= rb_size) {
+     nbytes = rb_size - rb_pos;
+     if (br.input_.read(ringbuffer, rb_pos, nbytes) < nbytes) {
+      throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");
+     }
+     output.write(ringbuffer, rb_size);
+     len -= nbytes;
+     rb_pos = 0;
+    }
+    if (br.input_.read(ringbuffer, rb_pos, len) < len) {
+     throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");
+    }
+    br.reset();
+   }
+   function JumpToByteBoundary(br) {
+    var new_bit_pos = br.bit_pos_ + 7 & ~7;
+    var pad_bits = br.readBits(new_bit_pos - br.bit_pos_);
+    return pad_bits == 0;
+   }
+   function BrotliDecompressedSize(buffer) {
+    var input = new BrotliInput(buffer);
+    var br = new BrotliBitReader(input);
+    DecodeWindowBits(br);
+    var out = DecodeMetaBlockLength(br);
+    return out.meta_block_length;
+   }
+   exports.BrotliDecompressedSize = BrotliDecompressedSize;
+   function BrotliDecompressBuffer(buffer, output_size) {
+    var input = new BrotliInput(buffer);
+    if (output_size == null) {
+     output_size = BrotliDecompressedSize(buffer);
+    }
+    var output_buffer = new Uint8Array(output_size);
+    var output = new BrotliOutput(output_buffer);
+    BrotliDecompress(input, output);
+    if (output.pos < output.buffer.length) {
+     output.buffer = output.buffer.subarray(0, output.pos);
+    }
+    return output.buffer;
+   }
+   exports.BrotliDecompressBuffer = BrotliDecompressBuffer;
+   function BrotliDecompress(input, output) {
+    var i;
+    var pos = 0;
+    var input_end = 0;
+    var window_bits = 0;
+    var max_backward_distance;
+    var max_distance = 0;
+    var ringbuffer_size;
+    var ringbuffer_mask;
+    var ringbuffer;
+    var ringbuffer_end;
+    var dist_rb = [ 16, 15, 11, 4 ];
+    var dist_rb_idx = 0;
+    var prev_byte1 = 0;
+    var prev_byte2 = 0;
+    var hgroup = [ new HuffmanTreeGroup(0, 0), new HuffmanTreeGroup(0, 0), new HuffmanTreeGroup(0, 0) ];
+    var block_type_trees;
+    var block_len_trees;
+    var br;
+    var kRingBufferWriteAheadSlack = 128 + BrotliBitReader.READ_SIZE;
+    br = new BrotliBitReader(input);
+    window_bits = DecodeWindowBits(br);
+    max_backward_distance = (1 << window_bits) - 16;
+    ringbuffer_size = 1 << window_bits;
+    ringbuffer_mask = ringbuffer_size - 1;
+    ringbuffer = new Uint8Array(ringbuffer_size + kRingBufferWriteAheadSlack + BrotliDictionary.maxDictionaryWordLength);
+    ringbuffer_end = ringbuffer_size;
+    block_type_trees = [];
+    block_len_trees = [];
+    for (var x = 0; x < 3 * HUFFMAN_MAX_TABLE_SIZE; x++) {
+     block_type_trees[x] = new HuffmanCode(0, 0);
+     block_len_trees[x] = new HuffmanCode(0, 0);
+    }
+    while (!input_end) {
+     var meta_block_remaining_len = 0;
+     var is_uncompressed;
+     var block_length = [ 1 << 28, 1 << 28, 1 << 28 ];
+     var block_type = [ 0 ];
+     var num_block_types = [ 1, 1, 1 ];
+     var block_type_rb = [ 0, 1, 0, 1, 0, 1 ];
+     var block_type_rb_index = [ 0 ];
+     var distance_postfix_bits;
+     var num_direct_distance_codes;
+     var distance_postfix_mask;
+     var num_distance_codes;
+     var context_map = null;
+     var context_modes = null;
+     var num_literal_htrees;
+     var dist_context_map = null;
+     var num_dist_htrees;
+     var context_offset = 0;
+     var context_map_slice = null;
+     var literal_htree_index = 0;
+     var dist_context_offset = 0;
+     var dist_context_map_slice = null;
+     var dist_htree_index = 0;
+     var context_lookup_offset1 = 0;
+     var context_lookup_offset2 = 0;
+     var context_mode;
+     var htree_command;
+     for (i = 0; i < 3; ++i) {
+      hgroup[i].codes = null;
+      hgroup[i].htrees = null;
+     }
+     br.readMoreInput();
+     var _out = DecodeMetaBlockLength(br);
+     meta_block_remaining_len = _out.meta_block_length;
+     if (pos + meta_block_remaining_len > output.buffer.length) {
+      var tmp = new Uint8Array(pos + meta_block_remaining_len);
+      tmp.set(output.buffer);
+      output.buffer = tmp;
+     }
+     input_end = _out.input_end;
+     is_uncompressed = _out.is_uncompressed;
+     if (_out.is_metadata) {
+      JumpToByteBoundary(br);
+      for (;meta_block_remaining_len > 0; --meta_block_remaining_len) {
+       br.readMoreInput();
+       br.readBits(8);
+      }
+      continue;
+     }
+     if (meta_block_remaining_len === 0) {
+      continue;
+     }
+     if (is_uncompressed) {
+      br.bit_pos_ = br.bit_pos_ + 7 & ~7;
+      CopyUncompressedBlockToOutput(output, meta_block_remaining_len, pos, ringbuffer, ringbuffer_mask, br);
+      pos += meta_block_remaining_len;
+      continue;
+     }
+     for (i = 0; i < 3; ++i) {
+      num_block_types[i] = DecodeVarLenUint8(br) + 1;
+      if (num_block_types[i] >= 2) {
+       ReadHuffmanCode(num_block_types[i] + 2, block_type_trees, i * HUFFMAN_MAX_TABLE_SIZE, br);
+       ReadHuffmanCode(kNumBlockLengthCodes, block_len_trees, i * HUFFMAN_MAX_TABLE_SIZE, br);
+       block_length[i] = ReadBlockLength(block_len_trees, i * HUFFMAN_MAX_TABLE_SIZE, br);
+       block_type_rb_index[i] = 1;
+      }
+     }
+     br.readMoreInput();
+     distance_postfix_bits = br.readBits(2);
+     num_direct_distance_codes = NUM_DISTANCE_SHORT_CODES + (br.readBits(4) << distance_postfix_bits);
+     distance_postfix_mask = (1 << distance_postfix_bits) - 1;
+     num_distance_codes = num_direct_distance_codes + (48 << distance_postfix_bits);
+     context_modes = new Uint8Array(num_block_types[0]);
+     for (i = 0; i < num_block_types[0]; ++i) {
+      br.readMoreInput();
+      context_modes[i] = br.readBits(2) << 1;
+     }
+     var _o1 = DecodeContextMap(num_block_types[0] << kLiteralContextBits, br);
+     num_literal_htrees = _o1.num_htrees;
+     context_map = _o1.context_map;
+     var _o2 = DecodeContextMap(num_block_types[2] << kDistanceContextBits, br);
+     num_dist_htrees = _o2.num_htrees;
+     dist_context_map = _o2.context_map;
+     hgroup[0] = new HuffmanTreeGroup(kNumLiteralCodes, num_literal_htrees);
+     hgroup[1] = new HuffmanTreeGroup(kNumInsertAndCopyCodes, num_block_types[1]);
+     hgroup[2] = new HuffmanTreeGroup(num_distance_codes, num_dist_htrees);
+     for (i = 0; i < 3; ++i) {
+      hgroup[i].decode(br);
+     }
+     context_map_slice = 0;
+     dist_context_map_slice = 0;
+     context_mode = context_modes[block_type[0]];
+     context_lookup_offset1 = Context.lookupOffsets[context_mode];
+     context_lookup_offset2 = Context.lookupOffsets[context_mode + 1];
+     htree_command = hgroup[1].htrees[0];
+     while (meta_block_remaining_len > 0) {
+      var cmd_code;
+      var range_idx;
+      var insert_code;
+      var copy_code;
+      var insert_length;
+      var copy_length;
+      var distance_code;
+      var distance;
+      var context;
+      var j;
+      var copy_dst;
+      br.readMoreInput();
+      if (block_length[1] === 0) {
+       DecodeBlockType(num_block_types[1], block_type_trees, 1, block_type, block_type_rb, block_type_rb_index, br);
+       block_length[1] = ReadBlockLength(block_len_trees, HUFFMAN_MAX_TABLE_SIZE, br);
+       htree_command = hgroup[1].htrees[block_type[1]];
+      }
+      --block_length[1];
+      cmd_code = ReadSymbol(hgroup[1].codes, htree_command, br);
+      range_idx = cmd_code >> 6;
+      if (range_idx >= 2) {
+       range_idx -= 2;
+       distance_code = -1;
+      } else {
+       distance_code = 0;
+      }
+      insert_code = Prefix.kInsertRangeLut[range_idx] + (cmd_code >> 3 & 7);
+      copy_code = Prefix.kCopyRangeLut[range_idx] + (cmd_code & 7);
+      insert_length = Prefix.kInsertLengthPrefixCode[insert_code].offset + br.readBits(Prefix.kInsertLengthPrefixCode[insert_code].nbits);
+      copy_length = Prefix.kCopyLengthPrefixCode[copy_code].offset + br.readBits(Prefix.kCopyLengthPrefixCode[copy_code].nbits);
+      prev_byte1 = ringbuffer[pos - 1 & ringbuffer_mask];
+      prev_byte2 = ringbuffer[pos - 2 & ringbuffer_mask];
+      for (j = 0; j < insert_length; ++j) {
+       br.readMoreInput();
+       if (block_length[0] === 0) {
+        DecodeBlockType(num_block_types[0], block_type_trees, 0, block_type, block_type_rb, block_type_rb_index, br);
+        block_length[0] = ReadBlockLength(block_len_trees, 0, br);
+        context_offset = block_type[0] << kLiteralContextBits;
+        context_map_slice = context_offset;
+        context_mode = context_modes[block_type[0]];
+        context_lookup_offset1 = Context.lookupOffsets[context_mode];
+        context_lookup_offset2 = Context.lookupOffsets[context_mode + 1];
+       }
+       context = Context.lookup[context_lookup_offset1 + prev_byte1] | Context.lookup[context_lookup_offset2 + prev_byte2];
+       literal_htree_index = context_map[context_map_slice + context];
+       --block_length[0];
+       prev_byte2 = prev_byte1;
+       prev_byte1 = ReadSymbol(hgroup[0].codes, hgroup[0].htrees[literal_htree_index], br);
+       ringbuffer[pos & ringbuffer_mask] = prev_byte1;
+       if ((pos & ringbuffer_mask) === ringbuffer_mask) {
+        output.write(ringbuffer, ringbuffer_size);
+       }
+       ++pos;
+      }
+      meta_block_remaining_len -= insert_length;
+      if (meta_block_remaining_len <= 0) break;
+      if (distance_code < 0) {
+       var context;
+       br.readMoreInput();
+       if (block_length[2] === 0) {
+        DecodeBlockType(num_block_types[2], block_type_trees, 2, block_type, block_type_rb, block_type_rb_index, br);
+        block_length[2] = ReadBlockLength(block_len_trees, 2 * HUFFMAN_MAX_TABLE_SIZE, br);
+        dist_context_offset = block_type[2] << kDistanceContextBits;
+        dist_context_map_slice = dist_context_offset;
+       }
+       --block_length[2];
+       context = (copy_length > 4 ? 3 : copy_length - 2) & 255;
+       dist_htree_index = dist_context_map[dist_context_map_slice + context];
+       distance_code = ReadSymbol(hgroup[2].codes, hgroup[2].htrees[dist_htree_index], br);
+       if (distance_code >= num_direct_distance_codes) {
+        var nbits;
+        var postfix;
+        var offset;
+        distance_code -= num_direct_distance_codes;
+        postfix = distance_code & distance_postfix_mask;
+        distance_code >>= distance_postfix_bits;
+        nbits = (distance_code >> 1) + 1;
+        offset = (2 + (distance_code & 1) << nbits) - 4;
+        distance_code = num_direct_distance_codes + (offset + br.readBits(nbits) << distance_postfix_bits) + postfix;
+       }
+      }
+      distance = TranslateShortCodes(distance_code, dist_rb, dist_rb_idx);
+      if (distance < 0) {
+       throw new Error("[BrotliDecompress] invalid distance");
+      }
+      if (pos < max_backward_distance && max_distance !== max_backward_distance) {
+       max_distance = pos;
+      } else {
+       max_distance = max_backward_distance;
+      }
+      copy_dst = pos & ringbuffer_mask;
+      if (distance > max_distance) {
+       if (copy_length >= BrotliDictionary.minDictionaryWordLength && copy_length <= BrotliDictionary.maxDictionaryWordLength) {
+        var offset = BrotliDictionary.offsetsByLength[copy_length];
+        var word_id = distance - max_distance - 1;
+        var shift = BrotliDictionary.sizeBitsByLength[copy_length];
+        var mask = (1 << shift) - 1;
+        var word_idx = word_id & mask;
+        var transform_idx = word_id >> shift;
+        offset += word_idx * copy_length;
+        if (transform_idx < Transform.kNumTransforms) {
+         var len = Transform.transformDictionaryWord(ringbuffer, copy_dst, offset, copy_length, transform_idx);
+         copy_dst += len;
+         pos += len;
+         meta_block_remaining_len -= len;
+         if (copy_dst >= ringbuffer_end) {
+          output.write(ringbuffer, ringbuffer_size);
+          for (var _x = 0; _x < copy_dst - ringbuffer_end; _x++) ringbuffer[_x] = ringbuffer[ringbuffer_end + _x];
+         }
+        } else {
+         throw new Error("Invalid backward reference. pos: " + pos + " distance: " + distance + " len: " + copy_length + " bytes left: " + meta_block_remaining_len);
+        }
+       } else {
+        throw new Error("Invalid backward reference. pos: " + pos + " distance: " + distance + " len: " + copy_length + " bytes left: " + meta_block_remaining_len);
+       }
+      } else {
+       if (distance_code > 0) {
+        dist_rb[dist_rb_idx & 3] = distance;
+        ++dist_rb_idx;
+       }
+       if (copy_length > meta_block_remaining_len) {
+        throw new Error("Invalid backward reference. pos: " + pos + " distance: " + distance + " len: " + copy_length + " bytes left: " + meta_block_remaining_len);
+       }
+       for (j = 0; j < copy_length; ++j) {
+        ringbuffer[pos & ringbuffer_mask] = ringbuffer[pos - distance & ringbuffer_mask];
+        if ((pos & ringbuffer_mask) === ringbuffer_mask) {
+         output.write(ringbuffer, ringbuffer_size);
+        }
+        ++pos;
+        --meta_block_remaining_len;
+       }
+      }
+      prev_byte1 = ringbuffer[pos - 1 & ringbuffer_mask];
+      prev_byte2 = ringbuffer[pos - 2 & ringbuffer_mask];
+     }
+     pos &= 1073741823;
+    }
+    output.write(ringbuffer, pos & ringbuffer_mask);
+   }
+   exports.BrotliDecompress = BrotliDecompress;
+   BrotliDictionary.init();
+  }, {
+   "./bit_reader": 1,
+   "./context": 2,
+   "./dictionary": 6,
+   "./huffman": 7,
+   "./prefix": 8,
+   "./streams": 9,
+   "./transform": 10
+  } ],
+  4: [ function(require, module, exports) {
+   var base64 = require("base64-js");
+   exports.init = function() {
+    var BrotliDecompressBuffer = require("./decode").BrotliDecompressBuffer;
+    var compressed = base64.toByteArray(require("./dictionary.bin.js"));
+    return BrotliDecompressBuffer(compressed);
+   };
+  }, {
+   "./decode": 3,
+   "./dictionary.bin.js": 5,
+   "base64-js": 12
+  } ],
+  5: [ function(require, module, exports) {
+   module.exports = "W5/fcQLn5gKf2XUbAiQ1XULX+TZz6ADToDsgqk6qVfeC0e4m6OO2wcQ1J76ZBVRV1fRkEsdu//62zQsFEZWSTCnMhcsQKlS2qOhuVYYMGCkV0fXWEoMFbESXrKEZ9wdUEsyw9g4bJlEt1Y6oVMxMRTEVbCIwZzJzboK5j8m4YH02qgXYhv1V+PM435sLVxyHJihaJREEhZGqL03txGFQLm76caGO/ovxKvzCby/3vMTtX/459f0igi7WutnKiMQ6wODSoRh/8Lx1V3Q99MvKtwB6bHdERYRY0hStJoMjNeTsNX7bn+Y7e4EQ3bf8xBc7L0BsyfFPK43dGSXpL6clYC/I328h54/VYrQ5i0648FgbGtl837svJ35L3Mot/+nPlNpWgKx1gGXQYqX6n+bbZ7wuyCHKcUok12Xjqub7NXZGzqBx0SD+uziNf87t7ve42jxSKQoW3nyxVrWIGlFShhCKxjpZZ5MeGna0+lBkk+kaN8F9qFBAFgEogyMBdcX/T1W/WnMOi/7ycWUQloEBKGeC48MkiwqJkJO+12eQiOFHMmck6q/IjWW3RZlany23TBm+cNr/84/oi5GGmGBZWrZ6j+zykVozz5fT/QH/Da6WTbZYYPynVNO7kxzuNN2kxKKWche5WveitPKAecB8YcAHz/+zXLjcLzkdDSktNIDwZE9J9X+tto43oJy65wApM3mDzYtCwX9lM+N5VR3kXYo0Z3t0TtXfgBFg7gU8oN0Dgl7fZlUbhNll+0uuohRVKjrEd8egrSndy5/Tgd2gqjA4CAVuC7ESUmL3DZoGnfhQV8uwnpi8EGvAVVsowNRxPudck7+oqAUDkwZopWqFnW1riss0t1z6iCISVKreYGNvQcXv+1L9+jbP8cd/dPUiqBso2q+7ZyFBvENCkkVr44iyPbtOoOoCecWsiuqMSML5lv+vN5MzUr+Dnh73G7Q1YnRYJVYXHRJaNAOByiaK6CusgFdBPE40r0rvqXV7tksKO2DrHYXBTv8P5ysqxEx8VDXUDDqkPH6NNOV/a2WH8zlkXRELSa8P+heNyJBBP7PgsG1EtWtNef6/i+lcayzQwQCsduidpbKfhWUDgAEmyhGu/zVTacI6RS0zTABrOYueemnVa19u9fT23N/Ta6RvTpof5DWygqreCqrDAgM4LID1+1T/taU6yTFVLqXOv+/MuQOFnaF8vLMKD7tKWDoBdALgxF33zQccCcdHx8fKIVdW69O7qHtXpeGr9jbbpFA+qRMWr5hp0s67FPc7HAiLV0g0/peZlW7hJPYEhZyhpSwahnf93/tZgfqZWXFdmdXBzqxGHLrQKxoAY6fRoBhgCRPmmGueYZ5JexTVDKUIXzkG/fqp/0U3hAgQdJ9zumutK6nqWbaqvm1pgu03IYR+G+8s0jDBBz8cApZFSBeuWasyqo2OMDKAZCozS+GWSvL/HsE9rHxooe17U3s/lTE+VZAk4j3dp6uIGaC0JMiqR5CUsabPyM0dOYDR7Ea7ip4USZlya38YfPtvrX/tBlhHilj55nZ1nfN24AOAi9BVtz/Mbn8AEDJCqJgsVUa6nQnSxv2Fs7l/NlCzpfYEjmPrNyib/+t0ei2eEMjvNhLkHCZlci4WhBe7ePZTmzYqlY9+1pxtS4GB+5lM1BHT9tS270EWUDYFq1I0yY/fNiAk4bk9yBgmef/f2k6AlYQZHsNFnW8wBQxCd68iWv7/35bXfz3JZmfGligWAKRjIs3IpzxQ27vAglHSiOzCYzJ9L9A1CdiyFvyR66ucA4jKifu5ehwER26yV7HjKqn5Mfozo7Coxxt8LWWPT47BeMxX8p0Pjb7hZn+6bw7z3Lw+7653j5sI8CLu5kThpMlj1m4c2ch3jGcP1FsT13vuK3qjecKTZk2kHcOZY40UX+qdaxstZqsqQqgXz+QGF99ZJLqr3VYu4aecl1Ab5GmqS8k/GV5b95zxQ5d4EfXUJ6kTS/CXF/aiqKDOT1T7Jz5z0PwDUcwr9clLN1OJGCiKfqvah+h3XzrBOiLOW8wvn8gW6qE8vPxi+Efv+UH55T7PQFVMh6cZ1pZQlzJpKZ7P7uWvwPGJ6DTlR6wbyj3Iv2HyefnRo/dv7dNx+qaa0N38iBsR++Uil7Wd4afwDNsrzDAK4fXZwvEY/jdKuIKXlfrQd2C39dW7ntnRbIp9OtGy9pPBn/V2ASoi/2UJZfS+xuGLH8bnLuPlzdTNS6zdyk8Dt/h6sfOW5myxh1f+zf3zZ3MX/mO9cQPp5pOx967ZA6/pqHvclNfnUFF+rq+Vd7alKr6KWPcIDhpn6v2K6NlUu6LrKo8b/pYpU/Gazfvtwhn7tEOUuXht5rUJdSf6sLjYf0VTYDgwJ81yaqKTUYej/tbHckSRb/HZicwGJqh1mAHB/IuNs9dc9yuvF3D5Xocm3elWFdq5oEy70dYFit79yaLiNjPj5UUcVmZUVhQEhW5V2Z6Cm4HVH/R8qlamRYwBileuh07CbEce3TXa2JmXWBf+ozt319psboobeZhVnwhMZzOeQJzhpTDbP71Tv8HuZxxUI/+ma3XW6DFDDs4+qmpERwHGBd2edxwUKlODRdUWZ/g0GOezrbzOZauFMai4QU6GVHV6aPNBiBndHSsV4IzpvUiiYyg6OyyrL4Dj5q/Lw3N5kAwftEVl9rNd7Jk5PDij2hTH6wIXnsyXkKePxbmHYgC8A6an5Fob/KH5GtC0l4eFso+VpxedtJHdHpNm+Bvy4C79yVOkrZsLrQ3OHCeB0Ra+kBIRldUGlDCEmq2RwXnfyh6Dz+alk6eftI2n6sastRrGwbwszBeDRS/Fa/KwRJkCzTsLr/JCs5hOPE/MPLYdZ1F1fv7D+VmysX6NpOC8aU9F4Qs6HvDyUy9PvFGDKZ/P5101TYHFl8pjj6wm/qyS75etZhhfg0UEL4OYmHk6m6dO192AzoIyPSV9QedDA4Ml23rRbqxMPMxf7FJnDc5FTElVS/PyqgePzmwVZ26NWhRDQ+oaT7ly7ell4s3DypS1s0g+tOr7XHrrkZj9+x/mJBttrLx98lFIaRZzHz4aC7r52/JQ4VjHahY2/YVXZn/QC2ztQb/sY3uRlyc5vQS8nLPGT/n27495i8HPA152z7Fh5aFpyn1GPJKHuPL8Iw94DuW3KjkURAWZXn4EQy89xiKEHN1mk/tkM4gYDBxwNoYvRfE6LFqsxWJtPrDGbsnLMap3Ka3MUoytW0cvieozOmdERmhcqzG+3HmZv2yZeiIeQTKGdRT4HHNxekm1tY+/n06rGmFleqLscSERzctTKM6G9P0Pc1RmVvrascIxaO1CQCiYPE15bD7c3xSeW7gXxYjgxcrUlcbIvO0r+Yplhx0kTt3qafDOmFyMjgGxXu73rddMHpV1wMubyAGcf/v5dLr5P72Ta9lBF+fzMJrMycwv+9vnU3ANIl1cH9tfW7af8u0/HG0vV47jNFXzFTtaha1xvze/s8KMtCYucXc1nzfd/MQydUXn/b72RBt5wO/3jRcMH9BdhC/yctKBIveRYPrNpDWqBsO8VMmP+WvRaOcA4zRMR1PvSoO92rS7pYEv+fZfEfTMzEdM+6X5tLlyxExhqLRkms5EuLovLfx66de5fL2/yX02H52FPVwahrPqmN/E0oVXnsCKhbi/yRxX83nRbUKWhzYceXOntfuXn51NszJ6MO73pQf5Pl4in3ec4JU8hF7ppV34+mm9r1LY0ee/i1O1wpd8+zfLztE0cqBxggiBi5Bu95v9l3r9r/U5hweLn+TbfxowrWDqdJauKd8+q/dH8sbPkc9ttuyO94f7/XK/nHX46MPFLEb5qQlNPvhJ50/59t9ft3LXu7uVaWaO2bDrDCnRSzZyWvFKxO1+vT8MwwunR3bX0CkfPjqb4K9O19tn5X50PvmYpEwHtiW9WtzuV/s76B1zvLLNkViNd8ySxIl/3orfqP90TyTGaf7/rx8jQzeHJXdmh/N6YDvbvmTBwCdxfEQ1NcL6wNMdSIXNq7b1EUzRy1/Axsyk5p22GMG1b+GxFgbHErZh92wuvco0AuOLXct9hvw2nw/LqIcDRRmJmmZzcgUa7JpM/WV/S9IUfbF56TL2orzqwebdRD8nIYNJ41D/hz37Fo11p2Y21wzPcn713qVGhqtevStYfGH4n69OEJtPvbbLYWvscDqc3Hgnu166+tAyLnxrX0Y5zoYjV++1sI7t5kMr02KT/+uwtkc+rZLOf/qn/s3nYCf13Dg8/sB2diJgjGqjQ+TLhxbzyue2Ob7X6/9lUwW7a+lbznHzOYy8LKW1C/uRPbQY3KW/0gO9LXunHLvPL97afba9bFtc9hmz7GAttjVYlCvQAiOwAk/gC5+hkLEs6tr3AZKxLJtOEwk2dLxTYWsIB/j/ToWtIWzo906FrSG8iaqqqqqqiIiIiAgzMzMzNz+AyK+01/zi8n8S+Y1MjoRaQ80WU/G8MBlO+53VPXANrWm4wzGUVZUjjBJZVdhpcfkjsmcWaO+UEldXi1e+zq+HOsCpknYshuh8pOLISJun7TN0EIGW2xTnlOImeecnoGW4raxe2G1T3HEvfYUYMhG+gAFOAwh5nK8mZhwJMmN7r224QVsNFvZ87Z0qatvknklyPDK3Hy45PgVKXji52Wen4d4PlFVVYGnNap+fSpFbK90rYnhUc6n91Q3AY9E0tJOFrcfZtm/491XbcG/jsViUPPX76qmeuiz+qY1Hk7/1VPM405zWVuoheLUimpWYdVzCmUdKHebMdzgrYrb8mL2eeLSnRWHdonfZa8RsOU9F37w+591l5FLYHiOqWeHtE/lWrBHcRKp3uhtr8yXm8LU/5ms+NM6ZKsqu90cFZ4o58+k4rdrtB97NADFbwmEG7lXqvirhOTOqU14xuUF2myIjURcPHrPOQ4lmM3PeMg7bUuk0nnZi67bXsU6H8lhqIo8TaOrEafCO1ARK9PjC0QOoq2BxmMdgYB9G/lIb9++fqNJ2s7BHGFyBNmZAR8J3KCo012ikaSP8BCrf6VI0X5xdnbhHIO+B5rbOyB54zXkzfObyJ4ecwxfqBJMLFc7m59rNcw7hoHnFZ0b00zee+gTqvjm61Pb4xn0kcDX4jvHM0rBXZypG3DCKnD/Waa/ZtHmtFPgO5eETx+k7RrVg3aSwm2YoNXnCs3XPQDhNn+Fia6IlOOuIG6VJH7TP6ava26ehKHQa2T4N0tcZ9dPCGo3ZdnNltsHQbeYt5vPnJezV/cAeNypdml1vCHI8M81nSRP5Qi2+mI8v/sxiZru9187nRtp3f/42NemcONa+4eVC3PCZzc88aZh851CqSsshe70uPxeN/dmYwlwb3trwMrN1Gq8jbnApcVDx/yDPeYs5/7r62tsQ6lLg+DiFXTEhzR9dHqv0iT4tgj825W+H3XiRUNUZT2kR9Ri0+lp+UM3iQtS8uOE23Ly4KYtvqH13jghUntJRAewuzNLDXp8RxdcaA3cMY6TO2IeSFRXezeWIjCqyhsUdMYuCgYTZSKpBype1zRfq8FshvfBPc6BAQWl7/QxIDp3VGo1J3vn42OEs3qznws+YLRXbymyB19a9XBx6n/owcyxlEYyFWCi+kG9F+EyD/4yn80+agaZ9P7ay2Dny99aK2o91FkfEOY8hBwyfi5uwx2y5SaHmG+oq/zl1FX/8irOf8Y3vAcX/6uLP6A6nvMO24edSGPjQc827Rw2atX+z2bKq0CmW9mOtYnr5/AfDa1ZfPaXnKtlWborup7QYx+Or2uWb+N3N//2+yDcXMqIJdf55xl7/vsj4WoPPlxLxtVrkJ4w/tTe3mLdATOOYwxcq52w5Wxz5MbPdVs5O8/lhfE7dPj0bIiPQ3QV0iqm4m3YX8hRfc6jQ3fWepevMqUDJd86Z4vwM40CWHnn+WphsGHfieF02D3tmZvpWD+kBpNCFcLnZhcmmrhpGzzbdA+sQ1ar18OJD87IOKOFoRNznaHPNHUfUNhvY1iU+uhvEvpKHaUn3qK3exVVyX4joipp3um7FmYJWmA+WbIDshRpbVRx5/nqstCgy87FGbfVB8yDGCqS+2qCsnRwnSAN6zgzxfdB2nBT/vZ4/6uxb6oH8b4VBRxiIB93wLa47hG3w2SL/2Z27yOXJFwZpSJaBYyvajA7vRRYNKqljXKpt/CFD/tSMr18DKKbwB0xggBePatl1nki0yvqW5zchlyZmJ0OTxJ3D+fsYJs/mxYN5+Le5oagtcl+YsVvy8kSjI2YGvGjvmpkRS9W2dtXqWnVuxUhURm1lKtou/hdEq19VBp9OjGvHEQSmrpuf2R24mXGheil8KeiANY8fW1VERUfBImb64j12caBZmRViZHbeVMjCrPDg9A90IXrtnsYCuZtRQ0PyrKDjBNOsPfKsg1pA02gHlVr0OXiFhtp6nJqXVzcbfM0KnzC3ggOENPE9VBdmHKN6LYaijb4wXxJn5A0FSDF5j+h1ooZx885Jt3ZKzO5n7Z5WfNEOtyyPqQEnn7WLv5Fis3PdgMshjF1FRydbNyeBbyKI1oN1TRVrVK7kgsb/zjX4NDPIRMctVeaxVB38Vh1x5KbeJbU138AM5KzmZu3uny0ErygxiJF7GVXUrPzFxrlx1uFdAaZFDN9cvIb74qD9tzBMo7L7WIEYK+sla1DVMHpF0F7b3+Y6S+zjvLeDMCpapmJo1weBWuxKF3rOocih1gun4BoJh1kWnV/Jmiq6uOhK3VfKxEHEkafjLgK3oujaPzY6SXg8phhL4TNR1xvJd1Wa0aYFfPUMLrNBDCh4AuGRTbtKMc6Z1Udj8evY/ZpCuMAUefdo69DZUngoqE1P9A3PJfOf7WixCEj+Y6t7fYeHbbxUAoFV3M89cCKfma3fc1+jKRe7MFWEbQqEfyzO2x/wrO2VYH7iYdQ9BkPyI8/3kXBpLaCpU7eC0Yv/am/tEDu7HZpqg0EvHo0nf/R/gRzUWy33/HXMJQeu1GylKmOkXzlCfGFruAcPPhaGqZOtu19zsJ1SO2Jz4Ztth5cBX6mRQwWmDwryG9FUMlZzNckMdK+IoMJv1rOWnBamS2w2KHiaPMPLC15hCZm4KTpoZyj4E2TqC/P6r7/EhnDMhKicZZ1ZwxuC7DPzDGs53q8gXaI9kFTK+2LTq7bhwsTbrMV8Rsfua5lMS0FwbTitUVnVa1yTb5IX51mmYnUcP9wPr8Ji1tiYJeJV9GZTrQhF7vvdU2OTU42ogJ9FDwhmycI2LIg++03C6scYhUyUuMV5tkw6kGUoL+mjNC38+wMdWNljn6tGPpRES7veqrSn5TRuv+dh6JVL/iDHU1db4c9WK3++OrH3PqziF916UMUKn8G67nN60GfWiHrXYhUG3yVWmyYak59NHj8t1smG4UDiWz2rPHNrKnN4Zo1LBbr2/eF9YZ0n0blx2nG4X+EKFxvS3W28JESD+FWk61VCD3z/URGHiJl++7TdBwkCj6tGOH3qDb0QqcOF9Kzpj0HUb/KyFW3Yhj2VMKJqGZleFBH7vqvf7WqLC3XMuHV8q8a4sTFuxUtkD/6JIBvKaVjv96ndgruKZ1k/BHzqf2K9fLk7HGXANyLDd1vxkK/i055pnzl+zw6zLnwXlVYVtfmacJgEpRP1hbGgrYPVN6v2lG+idQNGmwcKXu/8xEj/P6qe/sB2WmwNp6pp8jaISMkwdleFXYK55NHWLTTbutSUqjBfDGWo/Yg918qQ+8BRZSAHZbfuNZz2O0sov1Ue4CWlVg3rFhM3Kljj9ksGd/NUhk4nH+a5UN2+1i8+NM3vRNp7uQ6sqexSCukEVlVZriHNqFi5rLm9TMWa4qm3idJqppQACol2l4VSuvWLfta4JcXy3bROPNbXOgdOhG47LC0CwW/dMlSx4Jf17aEU3yA1x9p+Yc0jupXgcMuYNku64iYOkGToVDuJvlbEKlJqsmiHbvNrIVZEH+yFdF8DbleZ6iNiWwMqvtMp/mSpwx5KxRrT9p3MAPTHGtMbfvdFhyj9vhaKcn3At8Lc16Ai+vBcSp1ztXi7rCJZx/ql7TXcclq6Q76UeKWDy9boS0WHIjUuWhPG8LBmW5y2rhuTpM5vsLt+HOLh1Yf0DqXa9tsfC+kaKt2htA0ai/L2i7RKoNjEwztkmRU0GfgW1TxUvPFhg0V7DdfWJk5gfrccpYv+MA9M0dkGTLECeYwUixRzjRFdmjG7zdZIl3XKB9YliNKI31lfa7i2JG5C8Ss+rHe0D7Z696/V3DEAOWHnQ9yNahMUl5kENWS6pHKKp2D1BaSrrHdE1w2qNxIztpXgUIrF0bm15YML4b6V1k+GpNysTahKMVrrS85lTVo9OGJ96I47eAy5rYWpRf/mIzeoYU1DKaQCTUVwrhHeyNoDqHel+lLxr9WKzhSYw7vrR6+V5q0pfi2k3L1zqkubY6rrd9ZLvSuWNf0uqnkY+FpTvFzSW9Fp0b9l8JA7THV9eCi/PY/SCZIUYx3BU2alj7Cm3VV6eYpios4b6WuNOJdYXUK3zTqj5CVG2FqYM4Z7CuIU0qO05XR0d71FHM0YhZmJmTRfLlXEumN82BGtzdX0S19t1e+bUieK8zRmqpa4Qc5TSjifmaQsY2ETLjhI36gMR1+7qpjdXXHiceUekfBaucHShAOiFXmv3sNmGQyU5iVgnoocuonQXEPTFwslHtS8R+A47StI9wj0iSrtbi5rMysczFiImsQ+bdFClnFjjpXXwMy6O7qfjOr8Fb0a7ODItisjnn3EQO16+ypd1cwyaAW5Yzxz5QknfMO7643fXW/I9y3U2xH27Oapqr56Z/tEzglj6IbT6HEHjopiXqeRbe5mQQvxtcbDOVverN0ZgMdzqRYRjaXtMRd56Q4cZSmdPvZJdSrhJ1D9zNXPqAEqPIavPdfubt5oke2kmv0dztIszSv2VYuoyf1UuopbsYb+uX9h6WpwjpgtZ6fNNawNJ4q8O3CFoSbioAaOSZMx2GYaPYB+rEb6qjQiNRFQ76TvwNFVKD+BhH9VhcKGsXzmMI7BptU/CNWolM7YzROvpFAntsiWJp6eR2d3GarcYShVYSUqhmYOWj5E96NK2WvmYNTeY7Zs4RUEdv9h9QT4EseKt6LzLrqEOs3hxAY1MaNWpSa6zZx8F3YOVeCYMS88W+CYHDuWe4yoc6YK+djDuEOrBR5lvh0r+Q9uM88lrjx9x9AtgpQVNE8r+3O6Gvw59D+kBF/UMXyhliYUtPjmvXGY6Dk3x+kEOW+GtdMVC4EZTqoS/jmR0P0LS75DOc/w2vnri97M4SdbZ8qeU7gg8DVbERkU5geaMQO3mYrSYyAngeUQqrN0C0/vsFmcgWNXNeidsTAj7/4MncJR0caaBUpbLK1yBCBNRjEv6KvuVSdpPnEMJdsRRtqJ+U8tN1gXA4ePHc6ZT0eviI73UOJF0fEZ8YaneAQqQdGphNvwM4nIqPnXxV0xA0fnCT+oAhJuyw/q8jO0y8CjSteZExwBpIN6SvNp6A5G/abi6egeND/1GTguhuNjaUbbnSbGd4L8937Ezm34Eyi6n1maeOBxh3PI0jzJDf5mh/BsLD7F2GOKvlA/5gtvxI3/eV4sLfKW5Wy+oio+es/u6T8UU+nsofy57Icb/JlZHPFtCgd/x+bwt3ZT+xXTtTtTrGAb4QehC6X9G+8YT+ozcLxDsdCjsuOqwPFnrdLYaFc92Ui0m4fr39lYmlCaqTit7G6O/3kWDkgtXjNH4BiEm/+jegQnihOtfffn33WxsFjhfMd48HT+f6o6X65j7XR8WLSHMFkxbvOYsrRsF1bowDuSQ18Mkxk4qz2zoGPL5fu9h2Hqmt1asl3Q3Yu3szOc+spiCmX4AETBM3pLoTYSp3sVxahyhL8eC4mPN9k2x3o0xkiixIzM3CZFzf5oR4mecQ5+ax2wCah3/crmnHoqR0+KMaOPxRif1oEFRFOO/kTPPmtww+NfMXxEK6gn6iU32U6fFruIz8Q4WgljtnaCVTBgWx7diUdshC9ZEa5yKpRBBeW12r/iNc/+EgNqmhswNB8SBoihHXeDF7rrWDLcmt3V8GYYN7pXRy4DZjj4DJuUBL5iC3DQAaoo4vkftqVTYRGLS3mHZ7gdmdTTqbgNN/PTdTCOTgXolc88MhXAEUMdX0iy1JMuk5wLsgeu0QUYlz2S4skTWwJz6pOm/8ihrmgGfFgri+ZWUK2gAPHgbWa8jaocdSuM4FJYoKicYX/ZSENkg9Q1ZzJfwScfVnR2DegOGwCvmogaWJCLQepv9WNlU6QgsmOwICquU28Mlk3d9W5E81lU/5Ez0LcX6lwKMWDNluNKfBDUy/phJgBcMnfkh9iRxrdOzgs08JdPB85Lwo+GUSb4t3nC+0byqMZtO2fQJ4U2zGIr49t/28qmmGv2RanDD7a3FEcdtutkW8twwwlUSpb8QalodddbBfNHKDQ828BdE7OBgFdiKYohLawFYqpybQoxATZrheLhdI7+0Zlu9Q1myRcd15r9UIm8K2LGJxqTegntqNVMKnf1a8zQiyUR1rxoqjiFxeHxqFcYUTHfDu7rhbWng6qOxOsI+5A1p9mRyEPdVkTlE24vY54W7bWc6jMgZvNXdfC9/9q7408KDsbdL7Utz7QFSDetz2picArzrdpL8OaCHC9V26RroemtDZ5yNM/KGkWMyTmfnInEvwtSD23UcFcjhaE3VKzkoaEMKGBft4XbIO6forTY1lmGQwVmKicBCiArDzE+1oIxE08fWeviIOD5TznqH+OoHadvoOP20drMPe5Irg3XBQziW2XDuHYzjqQQ4wySssjXUs5H+t3FWYMHppUnBHMx/nYIT5d7OmjDbgD9F6na3m4l7KdkeSO3kTEPXafiWinogag7b52taiZhL1TSvBFmEZafFq2H8khQaZXuitCewT5FBgVtPK0j4xUHPfUz3Q28eac1Z139DAP23dgki94EC8vbDPTQC97HPPSWjUNG5tWKMsaxAEMKC0665Xvo1Ntd07wCLNf8Q56mrEPVpCxlIMVlQlWRxM3oAfpgIc+8KC3rEXUog5g06vt7zgXY8grH7hhwVSaeuvC06YYRAwpbyk/Unzj9hLEZNs2oxPQB9yc+GnL6zTgq7rI++KDJwX2SP8Sd6YzTuw5lV/kU6eQxRD12omfQAW6caTR4LikYkBB1CMOrvgRr/VY75+NSB40Cni6bADAtaK+vyxVWpf9NeKJxN2KYQ8Q2xPB3K1s7fuhvWbr2XpgW044VD6DRs0qXoqKf1NFsaGvKJc47leUV3pppP/5VTKFhaGuol4Esfjf5zyCyUHmHthChcYh4hYLQF+AFWsuq4t0wJyWgdwQVOZiV0efRHPoK5+E1vjz9wTJmVkITC9oEstAsyZSgE/dbicwKr89YUxKZI+owD205Tm5lnnmDRuP/JnzxX3gMtlrcX0UesZdxyQqYQuEW4R51vmQ5xOZteUd8SJruMlTUzhtVw/Nq7eUBcqN2/HVotgfngif60yKEtoUx3WYOZlVJuJOh8u59fzSDPFYtQgqDUAGyGhQOAvKroXMcOYY0qjnStJR/G3aP+Jt1sLVlGV8POwr/6OGsqetnyF3TmTqZjENfnXh51oxe9qVUw2M78EzAJ+IM8lZ1MBPQ9ZWSVc4J3mWSrLKrMHReA5qdGoz0ODRsaA+vwxXA2cAM4qlfzBJA6581m4hzxItQw5dxrrBL3Y6kCbUcFxo1S8jyV44q//+7ASNNudZ6xeaNOSIUffqMn4A9lIjFctYn2gpEPAb3f7p3iIBN8H14FUGQ9ct2hPsL+cEsTgUrR47uJVN4n4wt/wgfwwHuOnLd4yobkofy8JvxSQTA7rMpDIc608SlZFJfZYcmbT0tAHpPE8MrtQ42siTUNWxqvWZOmvu9f0JPoQmg+6l7sZWwyfi6PXkxJnwBraUG0MYG4zYHQz3igy/XsFkx5tNQxw43qvI9dU3f0DdhOUlHKjmi1VAr2Kiy0HZwD8VeEbhh0OiDdMYspolQsYdSwjCcjeowIXNZVUPmL2wwIkYhmXKhGozdCJ4lRKbsf4NBh/XnQoS92NJEWOVOFs2YhN8c5QZFeK0pRdAG40hqvLbmoSA8xQmzOOEc7wLcme9JOsjPCEgpCwUs9E2DohMHRhUeyGIN6TFvrbny8nDuilsDpzrH5mS76APoIEJmItS67sQJ+nfwddzmjPxcBEBBCw0kWDwd0EZCkNeOD7NNQhtBm7KHL9mRxj6U1yWU2puzlIDtpYxdH4ZPeXBJkTGAJfUr/oTCz/iypY6uXaR2V1doPxJYlrw2ghH0D5gbrhFcIxzYwi4a/4hqVdf2DdxBp6vGYDjavxMAAoy+1+3aiO6S3W/QAKNVXagDtvsNtx7Ks+HKgo6U21B+QSZgIogV5Bt+BnXisdVfy9VyXV+2P5fMuvdpAjM1o/K9Z+XnE4EOCrue+kcdYHqAQ0/Y/OmNlQ6OI33jH/uD1RalPaHpJAm2av0/xtpqdXVKNDrc9F2izo23Wu7firgbURFDNX9eGGeYBhiypyXZft2j3hTvzE6PMWKsod//rEILDkzBXfi7xh0eFkfb3/1zzPK/PI5Nk3FbZyTl4mq5BfBoVoqiPHO4Q4QKZAlrQ3MdNfi3oxIjvsM3kAFv3fdufurqYR3PSwX/mpGy/GFI/B2MNPiNdOppWVbs/gjF3YH+QA9jMhlAbhvasAHstB0IJew09iAkmXHl1/TEj+jvHOpOGrPRQXbPADM+Ig2/OEcUcpgPTItMtW4DdqgfYVI/+4hAFWYjUGpOP/UwNuB7+BbKOcALbjobdgzeBQfjgNSp2GOpxzGLj70Vvq5cw2AoYENwKLUtJUX8sGRox4dVa/TN4xKwaKcl9XawQR/uNus700Hf17pyNnezrUgaY9e4MADhEDBpsJT6y1gDJs1q6wlwGhuUzGR7C8kgpjPyHWwsvrf3yn1zJEIRa5eSxoLAZOCR9xbuztxFRJW9ZmMYfCFJ0evm9F2fVnuje92Rc4Pl6A8bluN8MZyyJGZ0+sNSb//DvAFxC2BqlEsFwccWeAl6CyBcQV1bx4mQMBP1Jxqk1EUADNLeieS2dUFbQ/c/kvwItbZ7tx0st16viqd53WsRmPTKv2AD8CUnhtPWg5aUegNpsYgasaw2+EVooeNKmrW3MFtj76bYHJm5K9gpAXZXsE5U8DM8XmVOSJ1F1WnLy6nQup+jx52bAb+rCq6y9WXl2B2oZDhfDkW7H3oYfT/4xx5VncBuxMXP2lNfhUVQjSSzSRbuZFE4vFawlzveXxaYKVs8LpvAb8IRYF3ZHiRnm0ADeNPWocwxSzNseG7NrSEVZoHdKWqaGEBz1N8Pt7kFbqh3LYmAbm9i1IChIpLpM5AS6mr6OAPHMwwznVy61YpBYX8xZDN/a+lt7n+x5j4bNOVteZ8lj3hpAHSx1VR8vZHec4AHO9XFCdjZ9eRkSV65ljMmZVzaej2qFn/qt1lvWzNZEfHxK3qOJrHL6crr0CRzMox5f2e8ALBB4UGFZKA3tN6F6IXd32GTJXGQ7DTi9j/dNcLF9jCbDcWGKxoKTYblIwbLDReL00LRcDPMcQuXLMh5YzgtfjkFK1DP1iDzzYYVZz5M/kWYRlRpig1htVRjVCknm+h1M5LiEDXOyHREhvzCGpFZjHS0RsK27o2avgdilrJkalWqPW3D9gmwV37HKmfM3F8YZj2ar+vHFvf3B8CRoH4kDHIK9mrAg+owiEwNjjd9V+FsQKYR8czJrUkf7Qoi2YaW6EVDZp5zYlqiYtuXOTHk4fAcZ7qBbdLDiJq0WNV1l2+Hntk1mMWvxrYmc8kIx8G3rW36J6Ra4lLrTOCgiOihmow+YnzUT19jbV2B3RWqSHyxkhmgsBqMYWvOcUom1jDQ436+fcbu3xf2bbeqU/ca+C4DOKE+e3qvmeMqW3AxejfzBRFVcwVYPq4L0APSWWoJu+5UYX4qg5U6YTioqQGPG9XrnuZ/BkxuYpe6Li87+18EskyQW/uA+uk2rpHpr6hut2TlVbKgWkFpx+AZffweiw2+VittkEyf/ifinS/0ItRL2Jq3tQOcxPaWO2xrG68GdFoUpZgFXaP2wYVtRc6xYCfI1CaBqyWpg4bx8OHBQwsV4XWMibZZ0LYjWEy2IxQ1mZrf1/UNbYCJplWu3nZ4WpodIGVA05d+RWSS+ET9tH3RfGGmNI1cIY7evZZq7o+a0bjjygpmR3mVfalkT/SZGT27Q8QGalwGlDOS9VHCyFAIL0a1Q7JiW3saz9gqY8lqKynFrPCzxkU4SIfLc9VfCI5edgRhDXs0edO992nhTKHriREP1NJC6SROMgQ0xO5kNNZOhMOIT99AUElbxqeZF8A3xrfDJsWtDnUenAHdYWSwAbYjFqQZ+D5gi3hNK8CSxU9i6f6ClL9IGlj1OPMQAsr84YG6ijsJpCaGWj75c3yOZKBB9mNpQNPUKkK0D6wgLH8MGoyRxTX6Y05Q4AnYNXMZwXM4eij/9WpsM/9CoRnFQXGR6MEaY+FXvXEO3RO0JaStk6OXuHVATHJE+1W+TU3bSZ2ksMtqjO0zfSJCdBv7y2d8DMx6TfVme3q0ZpTKMMu4YL/t7ciTNtdDkwPogh3Cnjx7qk08SHwf+dksZ7M2vCOlfsF0hQ6J4ehPCaHTNrM/zBSOqD83dBEBCW/F/LEmeh0nOHd7oVl3/Qo/9GUDkkbj7yz+9cvvu+dDAtx8NzCDTP4iKdZvk9MWiizvtILLepysflSvTLFBZ37RLwiriqyRxYv/zrgFd/9XVHh/OmzBvDX4mitMR/lUavs2Vx6cR94lzAkplm3IRNy4TFfu47tuYs9EQPIPVta4P64tV+sZ7n3ued3cgEx2YK+QL5+xms6osk8qQbTyuKVGdaX9FQqk6qfDnT5ykxk0VK7KZ62b6DNDUfQlqGHxSMKv1P0XN5BqMeKG1P4Wp5QfZDUCEldppoX0U6ss2jIko2XpURKCIhfaOqLPfShdtS37ZrT+jFRSH2xYVV1rmT/MBtRQhxiO4MQ3iAGlaZi+9PWBEIXOVnu9jN1f921lWLZky9bqbM3J2MAAI9jmuAx3gyoEUa6P2ivs0EeNv/OR+AX6q5SW6l5HaoFuS6jr6yg9limu+P0KYKzfMXWcQSfTXzpOzKEKpwI3YGXZpSSy2LTlMgfmFA3CF6R5c9xWEtRuCg2ZPUQ2Nb6dRFTNd4TfGHrnEWSKHPuRyiJSDAZ+KX0VxmSHjGPbQTLVpqixia2uyhQ394gBMt7C3ZAmxn/DJS+l1fBsAo2Eir/C0jG9csd4+/tp12pPc/BVJGaK9mfvr7M/CeztrmCO5qY06Edi4xAGtiEhnWAbzLy2VEyazE1J5nPmgU4RpW4Sa0TnOT6w5lgt3/tMpROigHHmexBGAMY0mdcDbDxWIz41NgdD6oxgHsJRgr5RnT6wZAkTOcStU4NMOQNemSO7gxGahdEsC+NRVGxMUhQmmM0llWRbbmFGHzEqLM4Iw0H7577Kyo+Zf+2cUFIOw93gEY171vQaM0HLwpjpdRR6Jz7V0ckE7XzYJ0TmY9znLdzkva0vNrAGGT5SUZ5uaHDkcGvI0ySpwkasEgZPMseYcu85w8HPdSNi+4T6A83iAwDbxgeFcB1ZM2iGXzFcEOUlYVrEckaOyodfvaYSQ7GuB4ISE0nYJc15X/1ciDTPbPCgYJK55VkEor4LvzL9S2WDy4xj+6FOqVyTAC2ZNowheeeSI5hA/02l8UYkv4nk9iaVn+kCVEUstgk5Hyq+gJm6R9vG3rhuM904he/hFmNQaUIATB1y3vw+OmxP4X5Yi6A5I5jJufHCjF9+AGNwnEllZjUco6XhsO5T5+R3yxz5yLVOnAn0zuS+6zdj0nTJbEZCbXJdtpfYZfCeCOqJHoE2vPPFS6eRLjIJlG69X93nfR0mxSFXzp1Zc0lt/VafDaImhUMtbnqWVb9M4nGNQLN68BHP7AR8Il9dkcxzmBv8PCZlw9guY0lurbBsmNYlwJZsA/B15/HfkbjbwPddaVecls/elmDHNW2r4crAx43feNkfRwsaNq/yyJ0d/p5hZ6AZajz7DBfUok0ZU62gCzz7x8eVfJTKA8IWn45vINLSM1q+HF9CV9qF3zP6Ml21kPPL3CXzkuYUlnSqT+Ij4tI/od5KwIs+tDajDs64owN7tOAd6eucGz+KfO26iNcBFpbWA5732bBNWO4kHNpr9D955L61bvHCF/mwSrz6eQaDjfDEANqGMkFc+NGxpKZzCD2sj/JrHd+zlPQ8Iz7Q+2JVIiVCuCKoK/hlAEHzvk/Piq3mRL1rT/fEh9hoT5GJmeYswg1otiKydizJ/fS2SeKHVu6Z3JEHjiW8NaTQgP5xdBli8nC57XiN9hrquBu99hn9zqwo92+PM2JXtpeVZS0PdqR5mDyDreMMtEws+CpwaRyyzoYtfcvt9PJIW0fJVNNi/FFyRsea7peLvJrL+5b4GOXJ8tAr+ATk9f8KmiIsRhqRy0vFzwRV3Z5dZ3QqIU8JQ/uQpkJbjMUMFj2F9sCFeaBjI4+fL/oN3+LQgjI4zuAfQ+3IPIPFQBccf0clJpsfpnBxD84atwtupkGqKvrH7cGNl/QcWcSi6wcVDML6ljOgYbo+2BOAWNNjlUBPiyitUAwbnhFvLbnqw42kR3Yp2kv2dMeDdcGOX5kT4S6M44KHEB/SpCfl7xgsUvs+JNY9G3O2X/6FEt9FyAn57lrbiu+tl83sCymSvq9eZbe9mchL7MTf/Ta78e80zSf0hYY5eUU7+ff14jv7Xy8qjzfzzzvaJnrIdvFb5BLWKcWGy5/w7+vV2cvIfwHqdTB+RuJK5oj9mbt0Hy94AmjMjjwYNZlNS6uiyxNnwNyt3gdreLb64p/3+08nXkb92LTkkRgFOwk1oGEVllcOj5lv1hfAZywDows0944U8vUFw+A/nuVq/UCygsrmWIBnHyU01d0XJPwriEOvx/ISK6Pk4y2w0gmojZs7lU8TtakBAdne4v/aNxmMpK4VcGMp7si0yqsiolXRuOi1Z1P7SqD3Zmp0CWcyK4Ubmp2SXiXuI5nGLCieFHKHNRIlcY3Pys2dwMTYCaqlyWSITwr2oGXvyU3h1Pf8eQ3w1bnD7ilocVjYDkcXR3Oo1BXgMLTUjNw2xMVwjtp99NhSVc5aIWrDQT5DHPKtCtheBP4zHcw4dz2eRdTMamhlHhtfgqJJHI7NGDUw1XL8vsSeSHyKqDtqoAmrQqsYwvwi7HW3ojWyhIa5oz5xJTaq14NAzFLjVLR12rRNUQ6xohDnrWFb5bG9yf8aCD8d5phoackcNJp+Dw3Due3RM+5Rid7EuIgsnwgpX0rUWh/nqPtByMhMZZ69NpgvRTKZ62ViZ+Q7Dp5r4K0d7EfJuiy06KuIYauRh5Ecrhdt2QpTS1k1AscEHvapNbU3HL1F2TFyR33Wxb5MvH5iZsrn3SDcsxlnnshO8PLwmdGN+paWnQuORtZGX37uhFT64SeuPsx8UOokY6ON85WdQ1dki5zErsJGazcBOddWJEKqNPiJpsMD1GrVLrVY+AOdPWQneTyyP1hRX/lMM4ZogGGOhYuAdr7F/DOiAoc++cn5vlf0zkMUJ40Z1rlgv9BelPqVOpxKeOpzKdF8maK+1Vv23MO9k/8+qpLoxrIGH2EDQlnGmH8CD31G8QqlyQIcpmR5bwmSVw9/Ns6IHgulCRehvZ/+VrM60Cu/r3AontFfrljew74skYe2uyn7JKQtFQBQRJ9ryGic/zQOsbS4scUBctA8cPToQ3x6ZBQu6DPu5m1bnCtP8TllLYA0UTQNVqza5nfew3Mopy1GPUwG5jsl0OVXniPmAcmLqO5HG8Hv3nSLecE9oOjPDXcsTxoCBxYyzBdj4wmnyEV4kvFDunipS8SSkvdaMnTBN9brHUR8xdmmEAp/Pdqk9uextp1t+JrtXwpN/MG2w/qhRMpSNxQ1uhg/kKO30eQ/FyHUDkWHT8V6gGRU4DhDMxZu7xXij9Ui6jlpWmQCqJg3FkOTq3WKneCRYZxBXMNAVLQgHXSCGSqNdjebY94oyIpVjMYehAiFx/tqzBXFHZaL5PeeD74rW5OysFoUXY8sebUZleFTUa/+zBKVTFDopTReXNuZq47QjkWnxjirCommO4L/GrFtVV21EpMyw8wyThL5Y59d88xtlx1g1ttSICDwnof6lt/6zliPzgVUL8jWBjC0o2D6Kg+jNuThkAlaDJsq/AG2aKA//A76avw2KNqtv223P+Wq3StRDDNKFFgtsFukYt1GFDWooFVXitaNhb3RCyJi4cMeNjROiPEDb4k+G3+hD8tsg+5hhmSc/8t2JTSwYoCzAI75doq8QTHe+E/Tw0RQSUDlU+6uBeNN3h6jJGX/mH8oj0i3caCNsjvTnoh73BtyZpsflHLq6AfwJNCDX4S98h4+pCOhGKDhV3rtkKHMa3EG4J9y8zFWI4UsfNzC/Rl5midNn7gwoN9j23HGCQQ+OAZpTTPMdiVow740gIyuEtd0qVxMyNXhHcnuXRKdw5wDUSL358ktjMXmAkvIB73BLa1vfF9BAUZInPYJiwxqFWQQBVk7gQH4ojfUQ/KEjn+A/WR6EEe4CtbpoLe1mzHkajgTIoE0SLDHVauKhrq12zrAXBGbPPWKCt4DGedq3JyGRbmPFW32bE7T20+73BatV/qQhhBWfWBFHfhYWXjALts38FemnoT+9bn1jDBMcUMmYgSc0e7GQjv2MUBwLU8ionCpgV+Qrhg7iUIfUY6JFxR0Y+ZTCPM+rVuq0GNLyJXX6nrUTt8HzFBRY1E/FIm2EeVA9NcXrj7S6YYIChVQCWr/m2fYUjC4j0XLkzZ8GCSLfmkW3PB/xq+nlXsKVBOj7vTvqKCOMq7Ztqr3cQ+N8gBnPaAps+oGwWOkbuxnRYj/x/WjiDclVrs22xMK4qArE1Ztk1456kiJriw6abkNeRHogaPRBgbgF9Z8i/tbzWELN4CvbqtrqV9TtGSnmPS2F9kqOIBaazHYaJ9bi3AoDBvlZasMluxt0BDXfhp02Jn411aVt6S4TUB8ZgFDkI6TP6gwPY85w+oUQSsjIeXVminrwIdK2ZAawb8Se6XOJbOaliQxHSrnAeONDLuCnFejIbp4YDtBcQCwMsYiRZfHefuEJqJcwKTTJ8sx5hjHmJI1sPFHOr6W9AhZ2NAod38mnLQk1gOz2LCAohoQbgMbUK9RMEA3LkiF7Sr9tLZp6lkciIGhE2V546w3Mam53VtVkGbB9w0Yk2XiRnCmbpxmHr2k4eSC0RuNbjNsUfDIfc8DZvRvgUDe1IlKdZTzcT4ZGEb53dp8VtsoZlyXzLHOdAbsp1LPTVaHvLA0GYDFMbAW/WUBfUAdHwqLFAV+3uHvYWrCfhUOR2i89qvCBoOb48usAGdcF2M4aKn79k/43WzBZ+xR1L0uZfia70XP9soQReeuhZiUnXFDG1T8/OXNmssTSnYO+3kVLAgeiY719uDwL9FQycgLPessNihMZbAKG7qwPZyG11G1+ZA3jAX2yddpYfmaKBlmfcK/V0mwIRUDC0nJSOPUl2KB8h13F4dlVZiRhdGY5farwN+f9hEb1cRi41ZcGDn6Xe9MMSTOY81ULJyXIHSWFIQHstVYLiJEiUjktlHiGjntN5/btB8Fu+vp28zl2fZXN+dJDyN6EXhS+0yzqpl/LSJNEUVxmu7BsNdjAY0jVsAhkNuuY0E1G48ej25mSt+00yPbQ4SRCVkIwb6ISvYtmJRPz9Zt5dk76blf+lJwAPH5KDF+vHAmACLoCdG2Adii6dOHnNJnTmZtoOGO8Q1jy1veMw6gbLFToQmfJa7nT7Al89mRbRkZZQxJTKgK5Kc9INzmTJFp0tpAPzNmyL/F08bX3nhCumM/cR/2RPn9emZ3VljokttZD1zVWXlUIqEU7SLk5I0lFRU0AcENXBYazNaVzsVHA/sD3o9hm42wbHIRb/BBQTKzAi8s3+bMtpOOZgLdQzCYPfX3UUxKd1WYVkGH7lh/RBBgMZZwXzU9+GYxdBqlGs0LP+DZ5g2BWNh6FAcR944B+K/JTWI3t9YyVyRhlP4CCoUk/mmF7+r2pilVBjxXBHFaBfBtr9hbVn2zDuI0kEOG3kBx8CGdPOjX1ph1POOZJUO1JEGG0jzUy2tK4X0CgVNYhmkqqQysRNtKuPdCJqK3WW57kaV17vXgiyPrl4KEEWgiGF1euI4QkSFHFf0TDroQiLNKJiLbdhH0YBhriRNCHPxSqJmNNoketaioohqMglh6wLtEGWSM1EZbQg72h0UJAIPVFCAJOThpQGGdKfFovcwEeiBuZHN2Ob4uVM7+gwZLz1D9E7ta4RmMZ24OBBAg7Eh6dLXGofZ4U2TFOCQMKjwhVckjrydRS+YaqCw1kYt6UexuzbNEDyYLTZnrY1PzsHZJT4U+awO2xlqTSYu6n/U29O2wPXgGOEKDMSq+zTUtyc8+6iLp0ivav4FKx+xxVy4FxhIF/pucVDqpsVe2jFOfdZhTzLz2QjtzvsTCvDPU7bzDH2eXVKUV9TZ+qFtaSSxnYgYdXKwVreIgvWhT9eGDB2OvnWyPLfIIIfNnfIxU8nW7MbcH05nhlsYtaW9EZRsxWcKdEqInq1DiZPKCz7iGmAU9/ccnnQud2pNgIGFYOTAWjhIrd63aPDgfj8/sdlD4l+UTlcxTI9jbaMqqN0gQxSHs60IAcW3cH4p3V1aSciTKB29L1tz2eUQhRiTgTvmqc+sGtBNh4ky0mQJGsdycBREP+fAaSs1EREDVo5gvgi5+aCN7NECw30owbCc1mSpjiahyNVwJd1jiGgzSwfTpzf2c5XJvG/g1n0fH88KHNnf+u7ZiRMlXueSIsloJBUtW9ezvsx9grfsX/FNxnbxU1Lvg0hLxixypHKGFAaPu0xCD8oDTeFSyfRT6s8109GMUZL8m2xXp8X2dpPCWWdX84iga4BrTlOfqox4shqEgh/Ht4qRst52cA1xOIUuOxgfUivp6v5f8IVyaryEdpVk72ERAwdT4aoY1usBgmP+0m06Q216H/nubtNYxHaOIYjcach3A8Ez/zc0KcShhel0HCYjFsA0FjYqyJ5ZUH1aZw3+zWC0hLpM6GDfcAdn9fq2orPmZbW6XXrf+Krc9RtvII5jeD3dFoT1KwZJwxfUMvc5KLfn8rROW23Jw89sJ2a5dpB3qWDUBWF2iX8OCuKprHosJ2mflBR+Wqs86VvgI/XMnsqb97+VlKdPVysczPj8Jhzf+WCvGBHijAqYlavbF60soMWlHbvKT+ScvhprgeTln51xX0sF+Eadc/l2s2a5BgkVbHYyz0E85p0LstqH+gEGiR84nBRRFIn8hLSZrGwqjZ3E29cuGi+5Z5bp7EM8MWFa9ssS/vy4VrDfECSv7DSU84DaP0sXI3Ap4lWznQ65nQoTKRWU30gd7Nn8ZowUvGIx4aqyXGwmA/PB4qN8msJUODezUHEl0VP9uo+cZ8vPFodSIB4C7lQYjEFj8yu49C2KIV3qxMFYTevG8KqAr0TPlkbzHHnTpDpvpzziAiNFh8xiT7C/TiyH0EguUw4vxAgpnE27WIypV+uFN2zW7xniF/n75trs9IJ5amB1zXXZ1LFkJ6GbS/dFokzl4cc2mamVwhL4XU0Av5gDWAl+aEWhAP7t2VIwU+EpvfOPDcLASX7H7lZpXA2XQfbSlD4qU18NffNPoAKMNSccBfO9YVVgmlW4RydBqfHAV7+hrZ84WJGho6bNT0YMhxxLdOx/dwGj0oyak9aAkNJ8lRJzUuA8sR+fPyiyTgUHio5+Pp+YaKlHrhR41jY5NESPS3x+zTMe0S2HnLOKCOQPpdxKyviBvdHrCDRqO+l96HhhNBLXWv4yEMuEUYo8kXnYJM8oIgVM4XJ+xXOev4YbWeqsvgq0lmw4/PiYr9sYLt+W5EAuYSFnJEan8CwJwbtASBfLBBpJZiRPor/aCJBZsM+MhvS7ZepyHvU8m5WSmaZnxuLts8ojl6KkS8oSAHkq5GWlCB/NgJ5W3rO2Cj1MK7ahxsCrbTT3a0V/QQH+sErxV4XUWDHx0kkFy25bPmBMBQ6BU3HoHhhYcJB9JhP6NXUWKxnE0raXHB6U9KHpWdQCQI72qevp5fMzcm+AvC85rsynVQhruDA9fp9COe7N56cg1UKGSas89vrN+WlGLYTwi5W+0xYdKEGtGCeNJwXKDU0XqU5uQYnWsMwTENLGtbQMvoGjIFIEMzCRal4rnBAg7D/CSn8MsCvS+FDJJAzoiioJEhZJgAp9n2+1Yznr7H+6eT4YkJ9Mpj60ImcW4i4iHDLn9RydB8dx3QYm3rsX6n4VRrZDsYK6DCGwkwd5n3/INFEpk16fYpP6JtMQpqEMzcOfQGAHXBTEGzuLJ03GYQL9bmV2/7ExDlRf+Uvf1sM2frRtCWmal12pMgtonvSCtR4n1CLUZRdTHDHP1Otwqd+rcdlavnKjUB/OYXQHUJzpNyFoKpQK+2OgrEKpGyIgIBgn2y9QHnTJihZOpEvOKIoHAMGAXHmj21Lym39Mbiow4IF+77xNuewziNVBxr6KD5e+9HzZSBIlUa/AmsDFJFXeyrQakR3FwowTGcADJHcEfhGkXYNGSYo4dh4bxwLM+28xjiqkdn0/3R4UEkvcBrBfn/SzBc1XhKM2VPlJgKSorjDac96V2UnQYXl1/yZPT4DVelgO+soMjexXwYO58VLl5xInQUZI8jc3H2CPnCNb9X05nOxIy4MlecasTqGK6s2az4RjpF2cQP2G28R+7wDPsZDZC/kWtjdoHC7SpdPmqQrUAhMwKVuxCmYTiD9q/O7GHtZvPSN0CAUQN/rymXZNniYLlJDE70bsk6Xxsh4kDOdxe7A2wo7P9F5YvqqRDI6brf79yPCSp4I0jVoO4YnLYtX5nzspR5WB4AKOYtR1ujXbOQpPyYDvfRE3FN5zw0i7reehdi7yV0YDRKRllGCGRk5Yz+Uv1fYl2ZwrnGsqsjgAVo0xEUba8ohjaNMJNwTwZA/wBDWFSCpg1eUH8MYL2zdioxRTqgGQrDZxQyNzyBJPXZF0+oxITJAbj7oNC5JwgDMUJaM5GqlGCWc//KCIrI+aclEe4IA0uzv7cuj6GCdaJONpi13O544vbtIHBF+A+JeDFUQNy61Gki3rtyQ4aUywn6ru314/dkGiP8Iwjo0J/2Txs49ZkwEl4mx+iYUUO55I6pJzU4P+7RRs+DXZkyKUYZqVWrPF4I94m4Wx1tXeE74o9GuX977yvJ/jkdak8+AmoHVjI15V+WwBdARFV2IPirJgVMdsg1Pez2VNHqa7EHWdTkl3XTcyjG9BiueWFvQfXI8aWSkuuRmqi/HUuzqyvLJfNfs0txMqldYYflWB1BS31WkuPJGGwXUCpjiQSktkuBMWwHjSkQxeehqw1Kgz0Trzm7QbtgxiEPDVmWCNCAeCfROTphd1ZNOhzLy6XfJyG6Xgd5MCAZw4xie0Sj5AnY1/akDgNS9YFl3Y06vd6FAsg2gVQJtzG7LVq1OH2frbXNHWH/NY89NNZ4QUSJqL2yEcGADbT38X0bGdukqYlSoliKOcsSTuqhcaemUeYLLoI8+MZor2RxXTRThF1LrHfqf/5LcLAjdl4EERgUysYS2geE+yFdasU91UgUDsc2cSQ1ZoT9+uLOwdgAmifwQqF028INc2IQEDfTmUw3eZxvz7Ud1z3xc1PQfeCvfKsB9jOhRj7rFyb9XcDWLcYj0bByosychMezMLVkFiYcdBBQtvI6K0KRuOZQH2kBsYHJaXTkup8F0eIhO1/GcIwWKpr2mouB7g5TUDJNvORXPXa/mU8bh27TAZYBe2sKx4NSv5OjnHIWD2RuysCzBlUfeNXhDd2jxnHoUlheJ3jBApzURy0fwm2FwwsSU0caQGl0Kv8hopRQE211NnvtLRsmCNrhhpEDoNiZEzD2QdJWKbRRWnaFedXHAELSN0t0bfsCsMf0ktfBoXBoNA+nZN9+pSlmuzspFevmsqqcMllzzvkyXrzoA+Ryo1ePXpdGOoJvhyru+EBRsmOp7MXZ0vNUMUqHLUoKglg1p73sWeZmPc+KAw0pE2zIsFFE5H4192KwDvDxdxEYoDBDNZjbg2bmADTeUKK57IPD4fTYF4c6EnXx/teYMORBDtIhPJneiZny7Nv/zG+YmekIKCoxr6kauE2bZtBLufetNG0BtBY7f+/ImUypMBvdWu/Q7vTMRzw5aQGZWuc1V0HEsItFYMIBnoKGZ0xcarba/TYZq50kCaflFysYjA4EDKHqGdpYWdKYmm+a7TADmW35yfnOYpZYrkpVEtiqF0EujI00aeplNs2k+qyFZNeE3CDPL9P6b4PQ/kataHkVpLSEVGK7EX6rAa7IVNrvZtFvOA6okKvBgMtFDAGZOx88MeBcJ8AR3AgUUeIznAN6tjCUipGDZONm1FjWJp4A3QIzSaIOmZ7DvF/ysYYbM/fFDOV0jntAjRdapxJxL0eThpEhKOjCDDq2ks+3GrwxqIFKLe1WdOzII8XIOPGnwy6LKXVfpSDOTEfaRsGujhpS4hBIsMOqHbl16PJxc4EkaVu9wpEYlF/84NSv5Zum4drMfp9yXbzzAOJqqS4YkI4cBrFrC7bMPiCfgI3nNZAqkk3QOZqR+yyqx+nDQKBBBZ7QKrfGMCL+XpqFaBJU0wpkBdAhbR4hJsmT5aynlvkouoxm/NjD5oe6BzVIO9uktM+/5dEC5P7vZvarmuO/lKXz4sBabVPIATuKTrwbJP8XUkdM6uEctHKXICUJGjaZIWRbZp8czquQYfY6ynBUCfIU+gG6wqSIBmYIm9pZpXdaL121V7q0VjDjmQnXvMe7ysoEZnZL15B0SpxS1jjd83uNIOKZwu5MPzg2NhOx3xMOPYwEn2CUzbSrwAs5OAtrz3GAaUkJOU74XwjaYUmGJdZBS1NJVkGYrToINLKDjxcuIlyfVsKQSG/G4DyiO2SlQvJ0d0Ot1uOG5IFSAkq+PRVMgVMDvOIJMdqjeCFKUGRWBW9wigYvcbU7CQL/7meF2KZAaWl+4y9uhowAX7elogAvItAAxo2+SFxGRsHGEW9BnhlTuWigYxRcnVUBRQHV41LV+Fr5CJYV7sHfeywswx4XMtUx6EkBhR+q8AXXUA8uPJ73Pb49i9KG9fOljvXeyFj9ixgbo6CcbAJ7WHWqKHy/h+YjBwp6VcN7M89FGzQ04qbrQtgrOFybg3gQRTYG5xn73ArkfQWjCJROwy3J38Dx/D7jOa6BBNsitEw1wGq780EEioOeD+ZGp2J66ADiVGMayiHYucMk8nTK2zzT9CnEraAk95kQjy4k0GRElLL5YAKLQErJ5rp1eay9O4Fb6yJGm9U4FaMwPGxtKD6odIIHKoWnhKo1U8KIpFC+MVn59ZXmc7ZTBZfsg6FQ8W10YfTr4u0nYrpHZbZ1jXiLmooF0cOm0+mPnJBXQtepc7n0BqOipNCqI6yyloTeRShNKH04FIo0gcMk0H/xThyN4pPAWjDDkEp3lNNPRNVfpMI44CWRlRgViP64eK0JSRp0WUvCWYumlW/c58Vcz/yMwVcW5oYb9+26TEhwvbxiNg48hl1VI1UXTU//Eta+BMKnGUivctfL5wINDD0giQL1ipt6U7C9cd4+lgqY2lMUZ02Uv6Prs+ZEZer7ZfWBXVghlfOOrClwsoOFKzWEfz6RZu1eCs+K8fLvkts5+BX0gyrFYve0C3qHrn5U/Oh6D/CihmWIrY7HUZRhJaxde+tldu6adYJ+LeXupQw0XExC36RETdNFxcq9glMu4cNQSX9cqR/GQYp+IxUkIcNGWVU7ZtGa6P3XAyodRt0XeS3Tp01AnCh0ZbUh4VrSZeV9RWfSoWyxnY3hzcZ30G/InDq4wxRrEejreBxnhIQbkxenxkaxl+k7eLUQkUR6vKJ2iDFNGX3WmVA1yaOH+mvhBd+sE6vacQzFobwY5BqEAFmejwW5ne7HtVNolOUgJc8CsUxmc/LBi8N5mu9VsIA5HyErnS6zeCz7VLI9+n/hbT6hTokMXTVyXJRKSG2hd2labXTbtmK4fNH3IZBPreSA4FMeVouVN3zG5x9CiGpLw/3pceo4qGqp+rVp+z+7yQ98oEf+nyH4F3+J9IheDBa94Wi63zJbLBCIZm7P0asHGpIJt3PzE3m0S4YIWyXBCVXGikj8MudDPB/6Nm2v4IxJ5gU0ii0guy5SUHqGUYzTP0jIJU5E82RHUXtX4lDdrihBLdP1YaG1AGUC12rQKuIaGvCpMjZC9bWSCYnjDlvpWbkdXMTNeBHLKiuoozMGIvkczmP0aRJSJ8PYnLCVNhKHXBNckH79e8Z8Kc2wUej4sQZoH8qDRGkg86maW/ZQWGNnLcXmq3FlXM6ssR/3P6E/bHMvm6HLrv1yRixit25JsH3/IOr2UV4BWJhxXW5BJ6Xdr07n9kF3ZNAk6/Xpc5MSFmYJ2R7bdL8Kk7q1OU9Elg/tCxJ8giT27wSTySF0GOxg4PbYJdi/Nyia9Nn89CGDulfJemm1aiEr/eleGSN+5MRrVJ4K6lgyTTIW3i9cQ0dAi6FHt0YMbH3wDSAtGLSAccezzxHitt1QdhW36CQgPcA8vIIBh3/JNjf/Obmc2yzpk8edSlS4lVdwgW5vzbYEyFoF4GCBBby1keVNueHAH+evi+H7oOVfS3XuPQSNTXOONAbzJeSb5stwdQHl1ZjrGoE49I8+A9j3t+ahhQj74FCSWpZrj7wRSFJJnnwi1T9HL5qrCFW/JZq6P62XkMWTb+u4lGpKfmmwiJWx178GOG7KbrZGqyWwmuyKWPkNswkZ1q8uptUlviIi+AXh2bOOTOLsrtNkfqbQJeh24reebkINLkjut5r4d9GR/r8CBa9SU0UQhsnZp5cP+RqWCixRm7i4YRFbtZ4EAkhtNa6jHb6gPYQv7MKqkPLRmX3dFsK8XsRLVZ6IEVrCbmNDc8o5mqsogjAQfoC9Bc7R6gfw03m+lQpv6kTfhxscDIX6s0w+fBxtkhjXAXr10UouWCx3C/p/FYwJRS/AXRKkjOb5CLmK4XRe0+xeDDwVkJPZau52bzLEDHCqV0f44pPgKOkYKgTZJ33fmk3Tu8SdxJ02SHM8Fem5SMsWqRyi2F1ynfRJszcFKykdWlNqgDA/L9lKYBmc7Zu/q9ii1FPF47VJkqhirUob53zoiJtVVRVwMR34gV9iqcBaHbRu9kkvqk3yMpfRFG49pKKjIiq7h/VpRwPGTHoY4cg05X5028iHsLvUW/uz+kjPyIEhhcKUwCkJAwbR9pIEGOn8z6svAO8i89sJ3dL5qDWFYbS+HGPRMxYwJItFQN86YESeJQhn2urGiLRffQeLptDl8dAgb+Tp47UQPxWOw17OeChLN1WnzlkPL1T5O+O3Menpn4C3IY5LEepHpnPeZHbvuWfeVtPlkH4LZjPbBrkJT3NoRJzBt86CO0Xq59oQ+8dsm0ymRcmQyn8w71mhmcuEI5byuF+C88VPYly2sEzjlzAQ3vdn/1+Hzguw6qFNNbqenhZGbdiG6RwZaTG7jTA2X9RdXjDN9yj1uQpyO4Lx8KRAcZcbZMafp4wPOd5MdXoFY52V1A8M9hi3sso93+uprE0qYNMjkE22CvK4HuUxqN7oIz5pWuETq1lQAjqlSlqdD2Rnr/ggp/TVkQYjn9lMfYelk2sH5HPdopYo7MHwlV1or9Bxf+QCyLzm92vzG2wjiIjC/ZHEJzeroJl6bdFPTpZho5MV2U86fLQqxNlGIMqCGy+9WYhJ8ob1r0+Whxde9L2PdysETv97O+xVw+VNN1TZSQN5I6l9m5Ip6pLIqLm4a1B1ffH6gHyqT9p82NOjntRWGIofO3bJz5GhkvSWbsXueTAMaJDou99kGLqDlhwBZNEQ4mKPuDvVwSK4WmLluHyhA97pZiVe8g+JxmnJF8IkV/tCs4Jq/HgOoAEGR9tCDsDbDmi3OviUQpG5D8XmKcSAUaFLRXb2lmJTNYdhtYyfjBYZQmN5qT5CNuaD3BVnlkCk7bsMW3AtXkNMMTuW4HjUERSJnVQ0vsBGa1wo3Qh7115XGeTF3NTz8w0440AgU7c3bSXO/KMINaIWXd0oLpoq/0/QJxCQSJ9XnYy1W7TYLBJpHsVWD1ahsA7FjNvRd6mxCiHsm8g6Z0pnzqIpF1dHUtP2ITU5Z1hZHbu+L3BEEStBbL9XYvGfEakv1bmf+bOZGnoiuHEdlBnaChxYKNzB23b8sw8YyT7Ajxfk49eJIAvdbVkdFCe2J0gMefhQ0bIZxhx3fzMIysQNiN8PgOUKxOMur10LduigREDRMZyP4oGWrP1GFY4t6groASsZ421os48wAdnrbovNhLt7ScNULkwZ5AIZJTrbaKYTLjA1oJ3sIuN/aYocm/9uoQHEIlacF1s/TM1fLcPTL38O9fOsjMEIwoPKfvt7opuI9G2Hf/PR4aCLDQ7wNmIdEuXJ/QNL72k5q4NejAldPfe3UVVqzkys8YZ/jYOGOp6c+YzRCrCuq0M11y7TiN6qk7YXRMn/gukxrEimbMQjr3jwRM6dKVZ4RUfWQr8noPXLJq6yh5R3EH1IVOHESst/LItbG2D2vRsZRkAObzvQAAD3mb3/G4NzopI0FAiHfbpq0X72adg6SRj+8OHMShtFxxLZlf/nLgRLbClwl5WmaYSs+yEjkq48tY7Z2bE0N91mJwt+ua0NlRJIDh0HikF4UvSVorFj2YVu9YeS5tfvlVjPSoNu/Zu6dEUfBOT555hahBdN3Sa5Xuj2Rvau1lQNIaC944y0RWj9UiNDskAK1WoL+EfXcC6IbBXFRyVfX/WKXxPAwUyIAGW8ggZ08hcijKTt1YKnUO6QPvcrmDVAb0FCLIXn5id4fD/Jx4tw/gbXs7WF9b2RgXtPhLBG9vF5FEkdHAKrQHZAJC/HWvk7nvzzDzIXZlfFTJoC3JpGgLPBY7SQTjGlUvG577yNutZ1hTfs9/1nkSXK9zzKLRZ3VODeKUovJe0WCq1zVMYxCJMenmNzPIU2S8TA4E7wWmbNkxq9rI2dd6v0VpcAPVMxnDsvWTWFayyqvKZO7Z08a62i/oH2/jxf8rpmfO64in3FLiL1GX8IGtVE9M23yGsIqJbxDTy+LtaMWDaPqkymb5VrQdzOvqldeU0SUi6IirG8UZ3jcpRbwHa1C0Dww9G/SFX3gPvTJQE+kyz+g1BeMILKKO+olcHzctOWgzxYHnOD7dpCRtuZEXACjgqesZMasoPgnuDC4nUviAAxDc5pngjoAITIkvhKwg5d608pdrZcA+qn5TMT6Uo/QzBaOxBCLTJX3Mgk85rMfsnWx86oLxf7p2PX5ONqieTa/qM3tPw4ZXvlAp83NSD8F7+ZgctK1TpoYwtiU2h02HCGioH5tkVCqNVTMH5p00sRy2JU1qyDBP2CII/Dg4WDsIl+zgeX7589srx6YORRQMBfKbodbB743Tl4WLKOEnwWUVBsm94SOlCracU72MSyj068wdpYjyz1FwC2bjQnxnB6Mp/pZ+yyZXtguEaYB+kqhjQ6UUmwSFazOb+rhYjLaoiM+aN9/8KKn0zaCTFpN9eKwWy7/u4EHzO46TdFSNjMfn2iPSJwDPCFHc0I1+vjdAZw5ZjqR/uzi9Zn20oAa5JnLEk/EA3VRWE7J/XrupfFJPtCUuqHPpnlL7ISJtRpSVcB8qsZCm2QEkWoROtCKKxUh3yEcMbWYJwk6DlEBG0bZP6eg06FL3v6RPb7odGuwm7FN8fG4woqtB8e7M5klPpo97GoObNwt+ludTAmxyC5hmcFx+dIvEZKI6igFKHqLH01iY1o7903VzG9QGetyVx5RNmBYUU+zIuSva/yIcECUi4pRmE3VkF2avqulQEUY4yZ/wmNboBzPmAPey3+dSYtBZUjeWWT0pPwCz4Vozxp9xeClIU60qvEFMQCaPvPaA70WlOP9f/ey39macvpGCVa+zfa8gO44wbxpJUlC8GN/pRMTQtzY8Z8/hiNrU+Zq64ZfFGIkdj7m7abcK1EBtws1X4J/hnqvasPvvDSDYWN+QcQVGMqXalkDtTad5rYY0TIR1Eqox3czwPMjKPvF5sFv17Thujr1IZ1Ytl4VX1J0vjXKmLY4lmXipRAro0qVGEcXxEVMMEl54jQMd4J7RjgomU0j1ptjyxY+cLiSyXPfiEcIS2lWDK3ISAy6UZ3Hb5vnPncA94411jcy75ay6B6DSTzK6UTCZR9uDANtPBrvIDgjsfarMiwoax2OlLxaSoYn4iRgkpEGqEkwox5tyI8aKkLlfZ12lO11TxsqRMY89j5JaO55XfPJPDL1LGSnC88Re9Ai+Nu5bZjtwRrvFITUFHPR4ZmxGslQMecgbZO7nHk32qHxYkdvWpup07ojcMCaVrpFAyFZJJbNvBpZfdf39Hdo2kPtT7v0/f8R/B5Nz4f1t9/3zNM/7n6SUHfcWk5dfQFJvcJMgPolGCpOFb/WC0FGWU2asuQyT+rm88ZKZ78Cei/CAh939CH0JYbpZIPtxc2ufXqjS3pHH9lnWK4iJ7OjR/EESpCo2R3MYKyE7rHfhTvWho4cL1QdN4jFTyR6syMwFm124TVDDRXMNveI1Dp/ntwdz8k8kxw7iFSx6+Yx6O+1LzMVrN0BBzziZi9kneZSzgollBnVwBh6oSOPHXrglrOj+QmR/AESrhDpKrWT+8/AiMDxS/5wwRNuGQPLlJ9ovomhJWn8sMLVItQ8N/7IXvtD8kdOoHaw+vBSbFImQsv/OCAIui99E+YSIOMlMvBXkAt+NAZK8wB9Jf8CPtB+TOUOR+z71d/AFXpPBT6+A5FLjxMjLIEoJzrQfquvxEIi+WoUzGR1IzQFNvbYOnxb2PyQ0kGdyXKzW2axQL8lNAXPk6NEjqrRD1oZtKLlFoofrXw0dCNWASHzy+7PSzOUJ3XtaPZsxLDjr+o41fKuKWNmjiZtfkOzItvlV2MDGSheGF0ma04qE3TUEfqJMrXFm7DpK+27DSvCUVf7rbNoljPhha5W7KBqVq0ShUSTbRmuqPtQreVWH4JET5yMhuqMoSd4r/N8sDmeQiQQvi1tcZv7Moc7dT5X5AtCD6kNEGZOzVcNYlpX4AbTsLgSYYliiPyVoniuYYySxsBy5cgb3pD+EK0Gpb0wJg031dPgaL8JZt6sIvzNPEHfVPOjXmaXj4bd4voXzpZ5GApMhILgMbCEWZ2zwgdeQgjNHLbPIt+KqxRwWPLTN6HwZ0Ouijj4UF+Sg0Au8XuIKW0WxlexdrFrDcZJ8Shauat3X0XmHygqgL1nAu2hrJFb4wZXkcS+i36KMyU1yFvYv23bQUJi/3yQpqr/naUOoiEWOxckyq/gq43dFou1DVDaYMZK9tho7+IXXokBCs5GRfOcBK7g3A+jXQ39K4YA8PBRW4m5+yR0ZAxWJncjRVbITvIAPHYRt1EJ3YLiUbqIvoKHtzHKtUy1ddRUQ0AUO41vonZDUOW+mrszw+SW/6Q/IUgNpcXFjkM7F4CSSQ2ExZg85otsMs7kqsQD4OxYeBNDcSpifjMoLb7GEbGWTwasVObmB/bfPcUlq0wYhXCYEDWRW02TP5bBrYsKTGWjnWDDJ1F7zWai0zW/2XsCuvBQjPFcTYaQX3tSXRSm8hsAoDdjArK/OFp6vcWYOE7lizP0Yc+8p16i7/NiXIiiQTp7c7Xus925VEtlKAjUdFhyaiLT7VxDagprMFwix4wZ05u0qj7cDWFd0W9OYHIu3JbJKMXRJ1aYNovugg+QqRN7fNHSi26VSgBpn+JfMuPo3aeqPWik/wI5Rz3BWarPQX4i5+dM0npwVOsX+KsOhC7vDg+OJsz4Q5zlnIeflUWL6QYMbf9WDfLmosLF4Qev3mJiOuHjoor/dMeBpA9iKDkMjYBNbRo414HCxjsHrB4EXNbHzNMDHCLuNBG6Sf+J4MZ/ElVsDSLxjIiGsTPhw8BPjxbfQtskj+dyNMKOOcUYIRBEIqbazz3lmjlRQhplxq673VklMMY6597vu+d89ec/zq7Mi4gQvh87ehYbpOuZEXj5g/Q7S7BFDAAB9DzG35SC853xtWVcnZQoH54jeOqYLR9NDuwxsVthTV7V99n/B7HSbAytbEyVTz/5NhJ8gGIjG0E5j3griULUd5Rg7tQR+90hJgNQKQH2btbSfPcaTOfIexc1db1BxUOhM1vWCpLaYuKr3FdNTt/T3PWCpEUWDKEtzYrjpzlL/wri3MITKsFvtF8QVV/NhVo97aKIBgdliNc10dWdXVDpVtsNn+2UIolrgqdWA4EY8so0YvB4a+aLzMXiMAuOHQrXY0tr+CL10JbvZzgjJJuB1cRkdT7DUqTvnswVUp5kkUSFVtIIFYK05+tQxT6992HHNWVhWxUsD1PkceIrlXuUVRogwmfdhyrf6zzaL8+c0L7GXMZOteAhAVQVwdJh+7nrX7x4LaIIfz2F2v7Dg/uDfz2Fa+4gFm2zHAor8UqimJG3VTJtZEoFXhnDYXvxMJFc6ku2bhbCxzij2z5UNuK0jmp1mnvkVNUfR+SEmj1Lr94Lym75PO7Fs0MIr3GdsWXRXSfgLTVY0FLqba97u1In8NAcY7IC6TjWLigwKEIm43NxTdaVTv9mcKkzuzBkKd8x/xt1p/9BbP7Wyb4bpo1K1gnOpbLvKz58pWl3B55RJ/Z5mRDLPtNQg14jdOEs9+h/V5UVpwrAI8kGbX8KPVPDIMfIqKDjJD9UyDOPhjZ3vFAyecwyq4akUE9mDOtJEK1hpDyi6Ae87sWAClXGTiwPwN7PXWwjxaR79ArHRIPeYKTunVW24sPr/3HPz2IwH8oKH4OlWEmt4BLM6W5g4kMcYbLwj2usodD1088stZA7VOsUSpEVl4w7NMb1EUHMRxAxLF0CIV+0L3iZb+ekB1vSDSFjAZ3hfLJf7gFaXrOKn+mhR+rWw/eTXIcAgl4HvFuBg1LOmOAwJH3eoVEjjwheKA4icbrQCmvAtpQ0mXG0agYp5mj4Rb6mdQ+RV4QBPbxMqh9C7o8nP0Wko2ocnCHeRGhN1XVyT2b9ACsL+6ylUy+yC3QEnaKRIJK91YtaoSrcWZMMwxuM0E9J68Z+YyjA0g8p1PfHAAIROy6Sa04VXOuT6A351FOWhKfTGsFJ3RTJGWYPoLk5FVK4OaYR9hkJvezwF9vQN1126r6isMGXWTqFW+3HL3I/jurlIdDWIVvYY+s6yq7lrFSPAGRdnU7PVwY/SvWbZGpXzy3BQ2LmAJlrONUsZs4oGkly0V267xbD5KMY8woNNsmWG1VVgLCra8aQBBcI4DP2BlNwxhiCtHlaz6OWFoCW0vMR3ErrG7JyMjTSCnvRcsEHgmPnwA6iNpJ2DrFb4gLlhKJyZGaWkA97H6FFdwEcLT6DRQQL++fOkVC4cYGW1TG/3iK5dShRSuiBulmihqgjR45Vi03o2RbQbP3sxt90VxQ6vzdlGfkXmmKmjOi080JSHkLntjvsBJnv7gKscOaTOkEaRQqAnCA4HWtB4XnMtOhpRmH2FH8tTXrIjAGNWEmudQLCkcVlGTQ965Kh0H6ixXbgImQP6b42B49sO5C8pc7iRlgyvSYvcnH9FgQ3azLbQG2cUW96SDojTQStxkOJyOuDGTHAnnWkz29aEwN9FT8EJ4yhXOg+jLTrCPKeEoJ9a7lDXOjEr8AgX4BmnMQ668oW0zYPyQiVMPxKRHtpfnEEyaKhdzNVThlxxDQNdrHeZiUFb6NoY2KwvSb7BnRcpJy+/g/zAYx3fYSN5QEaVD2Y1VsNWxB0BSO12MRsRY8JLfAezRMz5lURuLUnG1ToKk6Q30FughqWN6gBNcFxP/nY/iv+iaUQOa+2Nuym46wtI/DvSfzSp1jEi4SdYBE7YhTiVV5cX9gwboVDMVgZp5YBQlHOQvaDNfcCoCJuYhf5kz5kwiIKPjzgpcRJHPbOhJajeoeRL53cuMahhV8Z7IRr6M4hW0JzT7mzaMUzQpm866zwM7Cs07fJYXuWvjAMkbe5O6V4bu71sOG6JQ4oL8zIeXHheFVavzxmlIyBkgc9IZlEDplMPr8xlcyss4pVUdwK1e7CK2kTsSdq7g5SHRAl3pYUB9Ko4fsh4qleOyJv1z3KFSTSvwEcRO/Ew8ozEDYZSqpfoVW9uhJfYrNAXR0Z3VmeoAD+rVWtwP/13sE/3ICX3HhDG3CMc476dEEC0K3umSAD4j+ZQLVdFOsWL2C1TH5+4KiSWH+lMibo+B55hR3Gq40G1n25sGcN0mEcoU2wN9FCVyQLBhYOu9aHVLWjEKx2JIUZi5ySoHUAI9b8hGzaLMxCZDMLhv8MkcpTqEwz9KFDpCpqQhVmsGQN8m24wyB82FAKNmjgfKRsXRmsSESovAwXjBIoMKSG51p6Um8b3i7GISs7kjTq/PZoioCfJzfKdJTN0Q45kQEQuh9H88M3yEs3DbtRTKALraM0YC8laiMiOOe6ADmTcCiREeAWZelBaEXRaSuj2lx0xHaRYqF65O0Lo5OCFU18A8cMDE4MLYm9w2QSr9NgQAIcRxZsNpA7UJR0e71JL+VU+ISWFk5I97lra8uGg7GlQYhGd4Gc6rxsLFRiIeGO4abP4S4ekQ1fiqDCy87GZHd52fn5aaDGuvOmIofrzpVwMvtbreZ/855OaXTRcNiNE0wzGZSxbjg26v8ko8L537v/XCCWP2MFaArJpvnkep0pA+O86MWjRAZPQRfznZiSIaTppy6m3p6HrNSsY7fDtz7Cl4V/DJAjQDoyiL2uwf1UHVd2AIrzBUSlJaTj4k6NL97a/GqhWKU9RUmjnYKpm2r+JYUcrkCuZKvcYvrg8pDoUKQywY9GDWg03DUFSirlUXBS5SWn/KAntnf0IdHGL/7mwXqDG+LZYjbEdQmqUqq4y54TNmWUP7IgcAw5816YBzwiNIJiE9M4lPCzeI/FGBeYy3p6IAmH4AjXXmvQ4Iy0Y82NTobcAggT2Cdqz6Mx4TdGoq9fn2etrWKUNFyatAHydQTVUQ2S5OWVUlugcNvoUrlA8cJJz9MqOa/W3iVno4zDHfE7zhoY5f5lRTVZDhrQbR8LS4eRLz8iPMyBL6o4PiLlp89FjdokQLaSBmKHUwWp0na5fE3v9zny2YcDXG/jfI9sctulHRbdkI5a4GOPJx4oAJQzVZ/yYAado8KNZUdEFs9ZPiBsausotXMNebEgr0dyopuqfScFJ3ODNPHgclACPdccwv0YJGQdsN2lhoV4HVGBxcEUeUX/alr4nqpcc1CCR3vR7g40zteQg/JvWmFlUE4mAiTpHlYGrB7w+U2KdSwQz2QJKBe/5eiixWipmfP15AFWrK8Sh1GBBYLgzki1wTMhGQmagXqJ2+FuqJ8f0XzXCVJFHQdMAw8xco11HhM347alrAu+wmX3pDFABOvkC+WPX0Uhg1Z5MVHKNROxaR84YV3s12UcM+70cJ460SzEaKLyh472vOMD3XnaK7zxZcXlWqenEvcjmgGNR2OKbI1s8U+iwiW+HotHalp3e1MGDy6BMVIvajnAzkFHbeVsgjmJUkrP9OAwnEHYXVBqYx3q7LvXjoVR0mY8h+ZaOnh053pdsGkmbqhyryN01eVHySr+CkDYkSMeZ1xjPNVM+gVLTDKu2VGsMUJqWO4TwPDP0VOg2/8ITbAUaMGb4LjL7L+Pi11lEVMXTYIlAZ/QHmTENjyx3kDkBdfcvvQt6tKk6jYFM4EG5UXDTaF5+1ZjRz6W7MdJPC+wTkbDUim4p5QQH3b9kGk2Bkilyeur8Bc20wm5uJSBO95GfYDI1EZipoRaH7uVveneqz43tlTZGRQ4a7CNmMHgXyOQQOL6WQkgMUTQDT8vh21aSdz7ERiZT1jK9F+v6wgFvuEmGngSvIUR2CJkc5tx1QygfZnAruONobB1idCLB1FCfO7N1ZdRocT8/Wye+EnDiO9pzqIpnLDl4bkaRKW+ekBVwHn46Shw1X0tclt/0ROijuUB4kIInrVJU4buWf4YITJtjOJ6iKdr1u+flgQeFH70GxKjhdgt/MrwfB4K/sXczQ+9zYcrD4dhY6qZhZ010rrxggWA8JaZyg2pYij8ieYEg1aZJkZK9O1Re7sB0iouf60rK0Gd+AYlp7soqCBCDGwfKeUQhCBn0E0o0GS6PdmjLi0TtCYZeqazqwN+yNINIA8Lk3iPDnWUiIPLGNcHmZDxfeK0iAdxm/T7LnN+gemRL61hHIc0NCAZaiYJR+OHnLWSe8sLrK905B5eEJHNlWq4RmEXIaFTmo49f8w61+NwfEUyuJAwVqZCLFcyHBKAcIVj3sNzfEOXzVKIndxHw+AR93owhbCxUZf6Gs8cz6/1VdrFEPrv330+9s6BtMVPJ3zl/Uf9rUi0Z/opexfdL3ykF76e999GPfVv8fJv/Y/+/5hEMon1tqNFyVRevV9y9/uIvsG3dbB8GRRrgaEXfhx+2xeOFt+cEn3RZanNxdEe2+B6MHpNbrRE53PlDifPvFcp4kO78ILR0T4xyW/WGPyBsqGdoA7zJJCu1TKbGfhnqgnRbxbB2B3UZoeQ2bz2sTVnUwokTcTU21RxN1PYPS3Sar7T0eRIsyCNowr9amwoMU/od9s2APtiKNL6ENOlyKADstAEWKA+sdKDhrJ6BOhRJmZ+QJbAaZ3/5Fq0/lumCgEzGEbu3yi0Y4I4EgVAjqxh4HbuQn0GrRhOWyAfsglQJAVL1y/6yezS2k8RE2MstJLh92NOB3GCYgFXznF4d25qiP4ZCyI4RYGesut6FXK6GwPpKK8WHEkhYui0AyEmr5Ml3uBFtPFdnioI8RiCooa7Z1G1WuyIi3nSNglutc+xY8BkeW3JJXPK6jd2VIMpaSxpVtFq+R+ySK9J6WG5Qvt+C+QH1hyYUOVK7857nFmyDBYgZ/o+AnibzNVqyYCJQvyDXDTK+iXdkA71bY7TL3bvuLxLBQ8kbTvTEY9aqkQ3+MiLWbEgjLzOH+lXgco1ERgzd80rDCymlpaRQbOYnKG/ODoFl46lzT0cjM5FYVvv0qLUbD5lyJtMUaC1pFlTkNONx6lliaX9o0i/1vws5bNKn5OuENQEKmLlcP4o2ZmJjD4zzd3Fk32uQ4uRWkPSUqb4LBe3EXHdORNB2BWsws5daRnMfNVX7isPSb1hMQdAJi1/qmDMfRUlCU74pmnzjbXfL8PVG8NsW6IQM2Ne23iCPIpryJjYbVnm5hCvKpMa7HLViNiNc+xTfDIaKm3jctViD8A1M9YPJNk003VVr4Zo2MuGW8vil8SLaGpPXqG7I4DLdtl8a4Rbx1Lt4w5Huqaa1XzZBtj208EJVGcmKYEuaeN27zT9EE6a09JerXdEbpaNgNqYJdhP1NdqiPKsbDRUi86XvvNC7rME5mrSQtrzAZVndtSjCMqd8BmaeGR4l4YFULGRBeXIV9Y4yxLFdyoUNpiy2IhePSWzBofYPP0eIa2q5JP4j9G8at/AqoSsLAUuRXtvgsqX/zYwsE+of6oSDbUOo4RMJw+DOUTJq+hnqwKim9Yy/napyZNTc2rCq6V9jHtJbxGPDwlzWj/Sk3zF/BHOlT/fSjSq7FqlPI1q6J+ru8Aku008SFINXZfOfnZNOvGPMtEmn2gLPt+H4QLA+/SYe4j398auzhKIp2Pok3mPC5q1IN1HgR+mnEfc4NeeHYwd2/kpszR3cBn7ni9NbIqhtSWFW8xbUJuUPVOeeXu3j0IGZmFNiwaNZ6rH4/zQ2ODz6tFxRLsUYZu1bfd1uIvfQDt4YD/efKYv8VF8bHGDgK22w2Wqwpi43vNCOXFJZCGMqWiPbL8mil6tsmOTXAWCyMCw73e2rADZj2IK6rqksM3EXF2cbLb4vjB14wa/yXK5vwU+05MzERJ5nXsXsW21o7M+gO0js2OyKciP5uF2iXyb2DiptwQeHeqygkrNsqVCSlldxBMpwHi1vfc8RKpP/4L3Lmpq6DZcvhDDfxTCE3splacTcOtXdK2g303dIWBVe2wD/Gvja1cClFQ67gw0t1ZUttsUgQ1Veky8oOpS6ksYEc4bqseCbZy766SvL3FodmnahlWJRgVCNjPxhL/fk2wyvlKhITH/VQCipOI0dNcRa5B1M5HmOBjTLeZQJy237e2mobwmDyJNHePhdDmiknvLKaDbShL+Is1XTCJuLQd2wmdJL7+mKvs294whXQD+vtd88KKk0DXP8B1Xu9J+xo69VOuFgexgTrcvI6SyltuLix9OPuE6/iRJYoBMEXxU4shQMf4Fjqwf1PtnJ/wWSZd29rhZjRmTGgiGTAUQqRz+nCdjeMfYhsBD5Lv60KILWEvNEHfmsDs2L0A252351eUoYxAysVaCJVLdH9QFWAmqJDCODUcdoo12+gd6bW2boY0pBVHWL6LQDK5bYWh1V8vFvi0cRpfwv7cJiMX3AZNJuTddHehTIdU0YQ/sQ1dLoF2xQPcCuHKiuCWOY30DHe1OwcClLAhqAKyqlnIbH/8u9ScJpcS4kgp6HKDUdiOgRaRGSiUCRBjzI5gSksMZKqy7Sd51aeg0tgJ+x0TH9YH2Mgsap9N7ENZdEB0bey2DMTrBA1hn56SErNHf3tKtqyL9b6yXEP97/rc+jgD2N1LNUH6RM9AzP3kSipr06RkKOolR7HO768jjWiH1X92jA7dkg7gcNcjqsZCgfqWw0tPXdLg20cF6vnQypg7gLtkazrHAodyYfENPQZsdfnjMZiNu4nJO97D1/sQE+3vNFzrSDOKw+keLECYf7RJwVHeP/j79833oZ0egonYB2FlFE5qj02B/LVOMJQlsB8uNg3Leg4qtZwntsOSNidR0abbZmAK4sCzvt8Yiuz2yrNCJoH5O8XvX/vLeR/BBYTWj0sOPYM/jyxRd5+/JziKAABaPcw/34UA3aj/gLZxZgRCWN6m4m3demanNgsx0P237/Q+Ew5VYnJPkyCY0cIVHoFn2Ay/e7U4P19APbPFXEHX94N6KhEMPG7iwB3+I+O1jd5n6VSgHegxgaSawO6iQCYFgDsPSMsNOcUj4q3sF6KzGaH/0u5PQoAj/8zq6Uc9MoNrGqhYeb2jQo0WlGlXjxtanZLS24/OIN5Gx/2g684BPDQpwlqnkFcxpmP/osnOXrFuu4PqifouQH0eF5qCkvITQbJw/Zvy5mAHWC9oU+cTiYhJmSfKsCyt1cGVxisKu+NymEQIAyaCgud/V09qT3nk/9s/SWsYtha7yNpzBIMM40rCSGaJ9u6lEkl00vXBiEt7p9P5IBCiavynEOv7FgLqPdeqxRiCwuFVMolSIUBcoyfUC2e2FJSAUgYdVGFf0b0Kn2EZlK97yyxrT2MVgvtRikfdaAW8RwEEfN+B7/eK8bBdp7URpbqn1xcrC6d2UjdsKbzCjBFqkKkoZt7Mrhg6YagE7spkqj0jOrWM+UGQ0MUlG2evP1uE1p2xSv4dMK0dna6ENcNUF+xkaJ7B764NdxLCpuvhblltVRAf7vK5qPttJ/9RYFUUSGcLdibnz6mf7WkPO3MkUUhR2mAOuGv8IWw5XG1ZvoVMnjSAZe6T7WYA99GENxoHkMiKxHlCuK5Gd0INrISImHQrQmv6F4mqU/TTQ8nHMDzCRivKySQ8dqkpQgnUMnwIkaAuc6/FGq1hw3b2Sba398BhUwUZSAIO8XZvnuLdY2n6hOXws+gq9BHUKcKFA6kz6FDnpxLPICa3qGhnc97bo1FT/XJk48LrkHJ2CAtBv0RtN97N21plfpXHvZ8gMJb7Zc4cfI6MbPwsW7AilCSXMFIEUEmir8XLEklA0ztYbGpTTGqttp5hpFTTIqUyaAIqvMT9A/x+Ji5ejA4Bhxb/cl1pUdOD6epd3yilIdO6j297xInoiBPuEDW2/UfslDyhGkQs7Wy253bVnlT+SWg89zYIK/9KXFl5fe+jow2rd5FXv8zDPrmfMXiUPt9QBO/iK4QGbX5j/7Rx1c1vzsY8ONbP3lVIaPrhL4+1QrECTN3nyKavGG0gBBtHvTKhGoBHgMXHStFowN+HKrPriYu+OZ05Frn8okQrPaaxoKP1ULCS/cmKFN3gcH7HQlVjraCeQmtjg1pSQxeuqXiSKgLpxc/1OiZsU4+n4lz4hpahGyWBURLi4642n1gn9qz9bIsaCeEPJ0uJmenMWp2tJmIwLQ6VSgDYErOeBCfSj9P4G/vI7oIF+l/n5fp956QgxGvur77ynawAu3G9MdFbJbu49NZnWnnFcQHjxRuhUYvg1U/e84N4JTecciDAKb/KYIFXzloyuE1eYXf54MmhjTq7B/yBToDzzpx3tJCTo3HCmVPYfmtBRe3mPYEE/6RlTIxbf4fSOcaKFGk4gbaUWe44hVk9SZzhW80yfW5QWBHxmtUzvMhfVQli4gZTktIOZd9mjJ5hsbmzttaHQB29Am3dZkmx3g/qvYocyhZ2PXAWsNQiIaf+Q8W/MWPIK7/TjvCx5q2XRp4lVWydMc2wIQkhadDB0xsnw/kSEyGjLKjI4coVIwtubTF3E7MJ6LS6UOsJKj82XVAVPJJcepfewbzE91ivXZvOvYfsmMevwtPpfMzGmC7WJlyW2j0jh7AF1JLmwEJSKYwIvu6DHc3YnyLH9ZdIBnQ+nOVDRiP+REpqv++typYHIvoJyICGA40d8bR7HR2k7do6UQTHF4oriYeIQbxKe4Th6+/l1BjUtS9hqORh3MbgvYrStXTfSwaBOmAVQZzpYNqsAmQyjY56MUqty3c/xH6GuhNvNaG9vGbG6cPtBM8UA3e8r51D0AR9kozKuGGSMgLz3nAHxDNnc7GTwpLj7/6HeWp1iksDeTjwCLpxejuMtpMnGJgsiku1sOACwQ9ukzESiDRN77YNESxR5LphOlcASXA5uIts1LnBIcn1J7BLWs49DMALSnuz95gdOrTZr0u1SeYHinno/pE58xYoXbVO/S+FEMMs5qyWkMnp8Q3ClyTlZP52Y9nq7b8fITPuVXUk9ohG5EFHw4gAEcjFxfKb3xuAsEjx2z1wxNbSZMcgS9GKyW3R6KwJONgtA64LTyxWm8Bvudp0M1FdJPEGopM4Fvg7G/hsptkhCfHFegv4ENwxPeXmYhxwZy7js+BeM27t9ODBMynVCLJ7RWcBMteZJtvjOYHb5lOnCLYWNEMKC59BA7covu1cANa2PXL05iGdufOzkgFqqHBOrgQVUmLEc+Mkz4Rq8O6WkNr7atNkH4M8d+SD1t/tSzt3oFql+neVs+AwEI5JaBJaxARtY2Z4mKoUqxds4UpZ0sv3zIbNoo0J4fihldQTX3XNcuNcZmcrB5LTWMdzeRuAtBk3cZHYQF6gTi3PNuDJ0nmR+4LPLoHvxQIxRgJ9iNNXqf2SYJhcvCtJiVWo85TsyFOuq7EyBPJrAdhEgE0cTq16FQXhYPJFqSfiVn0IQnPOy0LbU4BeG94QjdYNB0CiQ3QaxQqD2ebSMiNjaVaw8WaM4Z5WnzcVDsr4eGweSLa2DE3BWViaxhZFIcSTjgxNCAfelg+hznVOYoe5VqTYs1g7WtfTm3e4/WduC6p+qqAM8H4ZyrJCGpewThTDPe6H7CzX/zQ8Tm+r65HeZn+MsmxUciEWPlAVaK/VBaQBWfoG/aRL/jSZIQfep/89GjasWmbaWzeEZ2R1FOjvyJT37O9B8046SRSKVEnXWlBqbkb5XCS3qFeuE9xb9+frEknxWB5h1D/hruz2iVDEAS7+qkEz5Ot5agHJc7WCdY94Ws61sURcX5nG8UELGBAHZ3i+3VulAyT0nKNNz4K2LBHBWJcTBX1wzf+//u/j/9+//v87+9/l9Lbh/L/uyNYiTsWV2LwsjaA6MxTuzFMqmxW8Jw/+IppdX8t/Clgi1rI1SN0UC/r6tX/4lUc2VV1OQReSeCsjUpKZchw4XUcjHfw6ryCV3R8s6VXm67vp4n+lcPV9gJwmbKQEsmrJi9c2vkwrm8HFbVYNTaRGq8D91t9n5+U+aD/hNtN3HjC/nC/vUoGFSCkXP+NlRcmLUqLbiUBl4LYf1U/CCvwtd3ryCH8gUmGITAxiH1O5rnGTz7y1LuFjmnFGQ1UWuM7HwfXtWl2fPFKklYwNUpF2IL/TmaRETjQiM5SJacI+3Gv5MBU8lP5Io6gWkawpyzNEVGqOdx4YlO1dCvjbWFZWbCmeiFKPSlMKtKcMFLs/KQxtgAHi7NZNCQ32bBAW2mbHflVZ8wXKi1JKVHkW20bnYnl3dKWJeWJOiX3oKPBD6Zbi0ZvSIuWktUHB8qDR8DMMh1ZfkBL9FS9x5r0hBGLJ8pUCJv3NYH+Ae8p40mZWd5m5fhobFjQeQvqTT4VKWIYfRL0tfaXKiVl75hHReuTJEcqVlug+eOIIc4bdIydtn2K0iNZPsYWQvQio2qbO3OqAlPHDDOB7DfjGEfVF51FqqNacd6QmgFKJpMfLp5DHTv4wXlONKVXF9zTJpDV4m1sYZqJPhotcsliZM8yksKkCkzpiXt+EcRQvSQqmBS9WdWkxMTJXPSw94jqI3varCjQxTazjlMH8jTS8ilaW8014/vwA/LNa+YiFoyyx3s/KswP3O8QW1jtq45yTM/DX9a8M4voTVaO2ebvw1EooDw/yg6Y1faY+WwrdVs5Yt0hQ5EwRfYXSFxray1YvSM+kYmlpLG2/9mm1MfmbKHXr44Ih8nVKb1M537ZANUkCtdsPZ80JVKVKabVHCadaLXg+IV8i5GSwpZti0h6diTaKs9sdpUKEpd7jDUpYmHtiX33SKiO3tuydkaxA7pEc9XIQEOfWJlszj5YpL5bKeQyT7aZSBOamvSHl8xsWvgo26IP/bqk+0EJUz+gkkcvlUlyPp2kdKFtt7y5aCdks9ZJJcFp5ZWeaWKgtnXMN3ORwGLBE0PtkEIek5FY2aVssUZHtsWIvnljMVJtuVIjpZup/5VL1yPOHWWHkOMc6YySWMckczD5jUj2mlLVquFaMU8leGVaqeXis+aRRL8zm4WuBk6cyWfGMxgtr8useQEx7k/PvRoZyd9nde1GUCV84gMX8Ogu/BWezYPSR27llzQnA97oo0pYyxobYUJfsj+ysTm9zJ+S4pk0TGo9VTG0KjqYhTmALfoDZVKla2b5yhv241PxFaLJs3i05K0AAIdcGxCJZmT3ZdT7CliR7q+kur7WdQjygYtOWRL9B8E4s4LI8KpAj7bE0dg7DLOaX+MGeAi0hMMSSWZEz+RudXbZCsGYS0QqiXjH9XQbd8sCB+nIVTq7/T/FDS+zWY9q7Z2fdq1tdLb6v3hKKVDAw5gjj6o9r1wHFROdHc18MJp4SJ2Ucvu+iQ9EgkekW8VCM+psM6y+/2SBy8tNN4a3L1MzP+OLsyvESo5gS7IQOnIqMmviJBVc6zbVG1n8eXiA3j46kmvvtJlewwNDrxk4SbJOtP/TV/lIVK9ueShNbbMHfwnLTLLhbZuO79ec5XvfgRwLFK+w1r5ZWW15rVFZrE+wKqNRv5KqsLNfpGgnoUU6Y71NxEmN7MyqwqAQqoIULOw/LbuUB2+uE75gJt+kq1qY4LoxV+qR/zalupea3D5+WMeaRIn0sAI6DDWDh158fqUb4YhAxhREbUN0qyyJYkBU4V2KARXDT65gW3gRsiv7xSPYEKLwzgriWcWgPr0sbZnv7m1XHNFW6xPdGNZUdxFiUYlmXNjDVWuu7LCkX/nVkrXaJhiYktBISC2xgBXQnNEP+cptWl1eG62a7CPXrnrkTQ5BQASbEqUZWMDiZUisKyHDeLFOaJILUo5f6iDt4ZO8MlqaKLto0AmTHVVbkGuyPa1R/ywZsWRoRDoRdNMMHwYTsklMVnlAd2S0282bgMI8fiJpDh69OSL6K3qbo20KfpNMurnYGQSr/stFqZ7hYsxKlLnKAKhsmB8AIpEQ4bd/NrTLTXefsE6ChRmKWjXKVgpGoPs8GAicgKVw4K0qgDgy1A6hFq1WRat3fHF+FkU+b6H4NWpOU3KXTxrIb2qSHAb+qhm8hiSROi/9ofapjxhyKxxntPpge6KL5Z4+WBMYkAcE6+0Hd3Yh2zBsK2MV3iW0Y6cvOCroXlRb2MMJtdWx+3dkFzGh2Pe3DZ9QpSqpaR/rE1ImOrHqYYyccpiLC22amJIjRWVAherTfpQLmo6/K2pna85GrDuQPlH1Tsar8isAJbXLafSwOof4gg9RkAGm/oYpBQQiPUoyDk2BCQ1k+KILq48ErFo4WSRhHLq/y7mgw3+L85PpP6xWr6cgp9sOjYjKagOrxF148uhuaWtjet953fh1IQiEzgC+d2IgBCcUZqgTAICm2bR8oCjDLBsmg+ThyhfD+zBalsKBY1Ce54Y/t9cwfbLu9SFwEgphfopNA3yNxgyDafUM3mYTovZNgPGdd4ZFFOj1vtfFW3u7N+iHEN1HkeesDMXKPyoCDCGVMo4GCCD6PBhQ3dRZIHy0Y/3MaE5zU9mTCrwwnZojtE+qNpMSkJSpmGe0EzLyFelMJqhfFQ7a50uXxZ8pCc2wxtAKWgHoeamR2O7R+bq7IbPYItO0esdRgoTaY38hZLJ5y02oIVwoPokGIzxAMDuanQ1vn2WDQ00Rh6o5QOaCRu99fwDbQcN0XAuqkFpxT/cfz3slGRVokrNU0iqiMAJFEbKScZdmSkTUznC0U+MfwFOGdLgsewRyPKwBZYSmy6U325iUhBQNxbAC3FLKDV9VSOuQpOOukJ/GAmu/tyEbX9DgEp6dv1zoU0IqzpG6gssSjIYRVPGgU1QAQYRgIT8gEV0EXr1sqeh2I6rXjtmoCYyEDCe/PkFEi/Q48FuT29p557iN+LCwk5CK/CZ2WdAdfQZh2Z9QGrzPLSNRj5igUWzl9Vi0rCqH8G1Kp4QMLkuwMCAypdviDXyOIk0AHTM8HBYKh3b0/F+DxoNj4ZdoZfCpQVdnZarqoMaHWnMLNVcyevytGsrXQEoIbubqWYNo7NRHzdc0zvT21fWVirj7g36iy6pxogfvgHp1xH1Turbz8QyyHnXeBJicpYUctbzApwzZ1HT+FPEXMAgUZetgeGMwt4G+DHiDT2Lu+PT21fjJCAfV16a/Wu1PqOkUHSTKYhWW6PhhHUlNtWzFnA7MbY+r64vkwdpfNB2JfWgWXAvkzd42K4lN9x7Wrg4kIKgXCb4mcW595MCPJ/cTfPAMQMFWwnqwde4w8HZYJFpQwcSMhjVz4B8p6ncSCN1X4klxoIH4BN2J6taBMj6lHkAOs8JJAmXq5xsQtrPIPIIp/HG6i21xMGcFgqDXSRF0xQg14d2uy6HgKE13LSvQe52oShF5Jx1R6avyL4thhXQZHfC94oZzuPUBKFYf1VvDaxIrtV6dNGSx7DO0i1p6CzBkuAmEqyWceQY7F9+U0ObYDzoa1iKao/cOD/v6Q9gHrrr1uCeOk8fST9MG23Ul0KmM3r+Wn6Hi6WAcL7gEeaykicvgjzkjSwFsAXIR81Zx4QJ6oosVyJkCcT+4xAldCcihqvTf94HHUPXYp3REIaR4dhpQF6+FK1H0i9i7Pvh8owu3lO4PT1iuqu+DkL2Bj9+kdfGAg2TXw03iNHyobxofLE2ibjsYDPgeEQlRMR7afXbSGQcnPjI2D+sdtmuQ771dbASUsDndU7t58jrrNGRzISvwioAlHs5FA+cBE5Ccznkd8NMV6BR6ksnKLPZnMUawRDU1MZ/ib3xCdkTblHKu4blNiylH5n213yM0zubEie0o4JhzcfAy3H5qh2l17uLooBNLaO+gzonTH2uF8PQu9EyH+pjGsACTMy4cHzsPdymUSXYJOMP3yTkXqvO/lpvt0cX5ekDEu9PUfBeZODkFuAjXCaGdi6ew4qxJ8PmFfwmPpkgQjQlWqomFY6UkjmcnAtJG75EVR+NpzGpP1Ef5qUUbfowrC3zcSLX3BxgWEgEx/v9cP8H8u1Mvt9/rMDYf6sjwU1xSOPBgzFEeJLMRVFtKo5QHsUYT8ZRLCah27599EuqoC9PYjYO6aoAMHB8X1OHwEAYouHfHB3nyb2B+SnZxM/vw/bCtORjLMSy5aZoEpvgdGvlJfNPFUu/p7Z4VVK1hiI0/UTuB3ZPq4ohEbm7Mntgc1evEtknaosgZSwnDC2BdMmibpeg48X8Ixl+/8+xXdbshQXUPPvx8jT3fkELivHSmqbhblfNFShWAyQnJ3WBU6SMYSIpTDmHjdLVAdlADdz9gCplZw6mTiHqDwIsxbm9ErGusiVpg2w8Q3khKV/R9Oj8PFeF43hmW/nSd99nZzhyjCX3QOZkkB6BsH4H866WGyv9E0hVAzPYah2tkRfQZMmP2rinfOeQalge0ovhduBjJs9a1GBwReerceify49ctOh5/65ATYuMsAkVltmvTLBk4oHpdl6i+p8DoNj4Fb2vhdFYer2JSEilEwPd5n5zNoGBXEjreg/wh2NFnNRaIUHSOXa4eJRwygZoX6vnWnqVdCRT1ARxeFrNBJ+tsdooMwqnYhE7zIxnD8pZH+P0Nu1wWxCPTADfNWmqx626IBJJq6NeapcGeOmbtXvl0TeWG0Y7OGGV4+EHTtNBIT5Wd0Bujl7inXgZgfXTM5efD3qDTJ54O9v3Bkv+tdIRlq1kXcVD0BEMirmFxglNPt5pedb1AnxuCYMChUykwsTIWqT23XDpvTiKEru1cTcEMeniB+HQDehxPXNmkotFdwUPnilB/u4Nx5Xc6l8J9jH1EgKZUUt8t8cyoZleDBEt8oibDmJRAoMKJ5Oe9CSWS5ZMEJvacsGVdXDWjp/Ype5x0p9PXB2PAwt2LRD3d+ftNgpuyvxlP8pB84oB1i73vAVpwyrmXW72hfW6Dzn9Jkj4++0VQ4d0KSx1AsDA4OtXXDo63/w+GD+zC7w5SJaxsmnlYRQ4dgdjA7tTl2KNLnpJ+mvkoDxtt1a4oPaX3EVqj96o9sRKBQqU7ZOiupeAIyLMD+Y3YwHx30XWHB5CQiw7q3mj1EDlP2eBsZbz79ayUMbyHQ7s8gu4Lgip1LiGJj7NQj905/+rgUYKAA5qdrlHKIknWmqfuR+PB8RdBkDg/NgnlT89G72h2NvySnj7UyBwD+mi/IWs1xWbxuVwUIVXun5cMqBtFbrccI+DILjsVQg6eeq0itiRfedn89CvyFtpkxaauEvSANuZmB1p8FGPbU94J9medwsZ9HkUYjmI7OH5HuxendLbxTaYrPuIfE2ffXFKhoNBUp33HsFAXmCV/Vxpq5AYgFoRr5Ay93ZLRlgaIPjhZjXZZChT+aE5iWAXMX0oSFQEtwjiuhQQItTQX5IYrKfKB+queTNplR1Hoflo5/I6aPPmACwQCE2jTOYo5Dz1cs7Sod0KTG/3kEDGk3kUaUCON19xSJCab3kNpWZhSWkO8l+SpW70Wn3g0ciOIJO5JXma6dbos6jyisuxXwUUhj2+1uGhcvuliKtWwsUTw4gi1c/diEEpZHoKoxTBeMDmhPhKTx7TXWRakV8imJR355DcIHkR9IREHxohP4TbyR5LtFU24umRPRmEYHbpe1LghyxPx7YgUHjNbbQFRQhh4KeU1EabXx8FS3JAxp2rwRDoeWkJgWRUSKw6gGP5U2PuO9V4ZuiKXGGzFQuRuf+tkSSsbBtRJKhCi3ENuLlXhPbjTKD4djXVnfXFds6Zb+1XiUrRfyayGxJq1+SYBEfbKlgjiSmk0orgTqzSS+DZ5rTqsJbttiNtp+KMqGE2AHGFw6jQqM5vD6vMptmXV9OAjq49Uf/Lx9Opam+Hn5O9p8qoBBAQixzQZ4eNVkO9sPzJAMyR1y4/RCQQ1s0pV5KAU5sKLw3tkcFbI/JqrjCsK4Mw+W8aod4lioYuawUiCyVWBE/qPaFi5bnkgpfu/ae47174rI1fqQoTbW0HrU6FAejq7ByM0V4zkZTg02/YJK2N7hUQRCeZ4BIgSEqgD8XsjzG6LIsSbuHoIdz/LhFzbNn1clci1NHWJ0/6/O8HJMdIpEZbqi1RrrFfoo/rI/7ufm2MPG5lUI0IYJ4MAiHRTSOFJ2oTverFHYXThkYFIoyFx6rMYFgaOKM4xNWdlOnIcKb/suptptgTOTdVIf4YgdaAjJnIAm4qNNHNQqqAzvi53GkyRCEoseUBrHohZsjUbkR8gfKtc/+Oa72lwxJ8Mq6HDfDATbfbJhzeIuFQJSiw1uZprHlzUf90WgqG76zO0eCB1WdPv1IT6sNxxh91GEL2YpgC97ikFHyoaH92ndwduqZ6IYjkg20DX33MWdoZk7QkcKUCgisIYslOaaLyvIIqRKWQj16jE1DlQWJJaPopWTJjXfixEjRJJo8g4++wuQjbq+WVYjsqCuNIQW3YjnxKe2M5ZKEqq+cX7ZVgnkbsU3RWIyXA1rxv4kGersYJjD//auldXGmcEbcfTeF16Y1708FB1HIfmWv6dSFi6oD4E+RIjCsEZ+kY7dKnwReJJw3xCjKvi3kGN42rvyhUlIz0Bp+fNSV5xwFiuBzG296e5s/oHoFtUyUplmPulIPl+e1CQIQVtjlzLzzzbV+D/OVQtYzo5ixtMi5BmHuG4N/uKfJk5UIREp7+12oZlKtPBomXSzAY0KgtbPzzZoHQxujnREUgBU+O/jKKhgxVhRPtbqyHiUaRwRpHv7pgRPyUrnE7fYkVblGmfTY28tFCvlILC04Tz3ivkNWVazA+OsYrxvRM/hiNn8Fc4bQBeUZABGx5S/xFf9Lbbmk298X7iFg2yeimvsQqqJ+hYbt6uq+Zf9jC+Jcwiccd61NKQtFvGWrgJiHB5lwi6fR8KzYS7EaEHf/ka9EC7H8D+WEa3TEACHBkNSj/cXxFeq4RllC+fUFm2xtstYLL2nos1DfzsC9vqDDdRVcPA3Ho95aEQHvExVThXPqym65llkKlfRXbPTRiDepdylHjmV9YTWAEjlD9DdQnCem7Aj/ml58On366392214B5zrmQz/9ySG2mFqEwjq5sFl5tYJPw5hNz8lyZPUTsr5E0F2C9VMPnZckWP7+mbwp/BiN7f4kf7vtGnZF2JGvjK/sDX1RtcFY5oPQnE4lIAYV49U3C9SP0LCY/9i/WIFK9ORjzM9kG/KGrAuwFmgdEpdLaiqQNpCTGZVuAO65afkY1h33hrqyLjZy92JK3/twdj9pafFcwfXONmPQWldPlMe7jlP24Js0v9m8bIJ9TgS2IuRvE9ZVRaCwSJYOtAfL5H/YS4FfzKWKbek+GFulheyKtDNlBtrdmr+KU+ibHTdalzFUmMfxw3f36x+3cQbJLItSilW9cuvZEMjKw987jykZRlsH/UI+HlKfo2tLwemBEeBFtmxF2xmItA/dAIfQ+rXnm88dqvXa+GapOYVt/2waFimXFx3TC2MUiOi5/Ml+3rj/YU6Ihx2hXgiDXFsUeQkRAD6wF3SCPi2flk7XwKAA4zboqynuELD312EJ88lmDEVOMa1W/K/a8tGylZRMrMoILyoMQzzbDJHNZrhH77L9qSC42HVmKiZ5S0016UTp83gOhCwz9XItK9fgXfK3F5d7nZCBUekoLxrutQaPHa16Rjsa0gTrzyjqTnmcIcrxg6X6dkKiucudc0DD5W4pJPf0vuDW8r5/uw24YfMuxFRpD2ovT2mFX79xH6Jf+MVdv2TYqR6/955QgVPe3JCD/WjAYcLA9tpXgFiEjge2J5ljeI/iUzg91KQuHkII4mmHZxC3XQORLAC6G7uFn5LOmlnXkjFdoO976moNTxElS8HdxWoPAkjjocDR136m2l+f5t6xaaNgdodOvTu0rievnhNAB79WNrVs6EsPgkgfahF9gSFzzAd+rJSraw5Mllit7vUP5YxA843lUpu6/5jAR0RvH4rRXkSg3nE+O5GFyfe+L0s5r3k05FyghSFnKo4TTgs07qj4nTLqOYj6qaW9knJTDkF5OFMYbmCP+8H16Ty482OjvERV6OFyw043L9w3hoJi408sR+SGo1WviXUu8d7qS+ehKjpKwxeCthsm2LBFSFeetx0x4AaKPxtp3CxdWqCsLrB1s/j5TAhc1jNZsXWl6tjo/WDoewxzg8T8NnhZ1niUwL/nhfygLanCnRwaFGDyLw+sfZhyZ1UtYTp8TYB6dE7R3VsKKH95CUxJ8u8N+9u2/9HUNKHW3x3w5GQrfOPafk2w5qZq8MaHT0ebeY3wIsp3rN9lrpIsW9c1ws3VNV+JwNz0Lo9+V7zZr6GD56We6gWVIvtmam5GPPkVAbr74r6SwhuL+TRXtW/0pgyX16VNl4/EAD50TnUPuwrW6OcUO2VlWXS0inq872kk7GUlW6o/ozFKq+Sip6LcTtSDfDrPTcCHhx75H8BeRon+KG2wRwzfDgWhALmiWOMO6h3pm1UCZEPEjScyk7tdLx6WrdA2N1QTPENvNnhCQjW6kl057/qv7IwRryHrZBCwVSbLLnFRiHdTwk8mlYixFt1slEcPD7FVht13HyqVeyD55HOXrh2ElAxJyinGeoFzwKA91zfrdLvDxJSjzmImfvTisreI25EDcVfGsmxLVbfU8PGe/7NmWWKjXcdTJ11jAlVIY/Bv/mcxg/Q10vCHwKG1GW/XbJq5nxDhyLqiorn7Wd7VEVL8UgVzpHMjQ+Z8DUgSukiVwWAKkeTlVVeZ7t1DGnCgJVIdBPZAEK5f8CDyDNo7tK4/5DBjdD5MPV86TaEhGsLVFPQSI68KlBYy84FievdU9gWh6XZrugvtCZmi9vfd6db6V7FmoEcRHnG36VZH8N4aZaldq9zZawt1uBFgxYYx+Gs/qW1jwANeFy+LCoymyM6zgG7j8bGzUyLhvrbJkTYAEdICEb4kMKusKT9V3eIwMLsjdUdgijMc+7iKrr+TxrVWG0U+W95SGrxnxGrE4eaJFfgvAjUM4SAy8UaRwE9j6ZQH5qYAWGtXByvDiLSDfOD0yFA3UCMKSyQ30fyy1mIRg4ZcgZHLNHWl+c9SeijOvbOJxoQy7lTN2r3Y8p6ovxvUY74aOYbuVezryqXA6U+fcp6wSV9X5/OZKP18tB56Ua0gMyxJI7XyNT7IrqN8GsB9rL/kP5KMrjXxgqKLDa+V5OCH6a5hmOWemMUsea9vQl9t5Oce76PrTyTv50ExOqngE3PHPfSL//AItPdB7kGnyTRhVUUFNdJJ2z7RtktZwgmQzhBG/G7QsjZmJfCE7k75EmdIKH7xlnmDrNM/XbTT6FzldcH/rcRGxlPrv4qDScqE7JSmQABJWqRT/TUcJSwoQM+1jvDigvrjjH8oeK2in1S+/yO1j8xAws/T5u0VnIvAPqaE1atNuN0cuRliLcH2j0nTL4JpcR7w9Qya0JoaHgsOiALLCCzRkl1UUESz+ze/gIXHGtDwgYrK6pCFKJ1webSDog4zTlPkgXZqxlQDiYMjhDpwTtBW2WxthWbov9dt2X9XFLFmcF+eEc1UaQ74gqZiZsdj63pH1qcv3Vy8JYciogIVKsJ8Yy3J9w/GhjWVSQAmrS0BPOWK+RKV+0lWqXgYMnIFwpcZVD7zPSp547i9HlflB8gVnSTGmmq1ClO081OW/UH11pEQMfkEdDFzjLC1Cdo/BdL3s7cXb8J++Hzz1rhOUVZFIPehRiZ8VYu6+7Er7j5PSZu9g/GBdmNzJmyCD9wiswj9BZw+T3iBrg81re36ihMLjoVLoWc+62a1U/7qVX5CpvTVF7rocSAKwv4cBVqZm7lLDS/qoXs4fMs/VQi6BtVbNA3uSzKpQfjH1o3x4LrvkOn40zhm6hjduDglzJUwA0POabgdXIndp9fzhOo23Pe+Rk9GSLX0d71Poqry8NQDTzNlsa+JTNG9+UrEf+ngxCjGEsDCc0bz+udVRyHQI1jmEO3S+IOQycEq7XwB6z3wfMfa73m8PVRp+iOgtZfeSBl01xn03vMaQJkyj7vnhGCklsCWVRUl4y+5oNUzQ63B2dbjDF3vikd/3RUMifPYnX5Glfuk2FsV/7RqjI9yKTbE8wJY+74p7qXO8+dIYgjtLD/N8TJtRh04N9tXJA4H59IkMmLElgvr0Q5OCeVfdAt+5hkh4pQgfRMHpL74XatLQpPiOyHRs/OdmHtBf8nOZcxVKzdGclIN16lE7kJ+pVMjspOI+5+TqLRO6m0ZpNXJoZRv9MPDRcAfJUtNZHyig/s2wwReakFgPPJwCQmu1I30/tcBbji+Na53i1W1N+BqoY7Zxo+U/M9XyJ4Ok2SSkBtoOrwuhAY3a03Eu6l8wFdIG1cN+e8hopTkiKF093KuH/BcB39rMiGDLn6XVhGKEaaT/vqb/lufuAdpGExevF1+J9itkFhCfymWr9vGb3BTK4j598zRH7+e+MU9maruZqb0pkGxRDRE1CD4Z8LV4vhgPidk5w2Bq816g3nHw1//j3JStz7NR9HIWELO8TMn3QrP/zZp//+Dv9p429/ogv+GATR+n/UdF+ns9xNkXZQJXY4t9jMkJNUFygAtzndXwjss+yWH9HAnLQQfhAskdZS2l01HLWv7L7us5uTH409pqitvfSOQg/c+Zt7k879P3K9+WV68n7+3cZfuRd/dDPP/03rn+d+/nBvWfgDlt8+LzjqJ/vx3CnNOwiXhho778C96iD+1TBvRZYeP+EH81LE0vVwOOrmCLB3iKzI1x+vJEsrPH4uF0UB4TJ4X3uDfOCo3PYpYe0MF4bouh0DQ/l43fxUF7Y+dpWuvTSffB0yO2UQUETI/LwCZE3BvnevJ7c9zUlY3H58xzke6DNFDQG8n0WtDN4LAYN4nogKav1ezOfK/z+t6tsCTp+dhx4ymjWuCJk1dEUifDP+HyS4iP/Vg9B2jTo9L4NbiBuDS4nuuHW6H+JDQn2JtqRKGkEQPEYE7uzazXIkcxIAqUq1esasZBETlEZY7y7Jo+RoV/IsjY9eIMkUvr42Hc0xqtsavZvhz1OLwSxMOTuqzlhb0WbdOwBH9EYiyBjatz40bUxTHbiWxqJ0uma19qhPruvcWJlbiSSH48OLDDpaHPszvyct41ZfTu10+vjox6kOqK6v0K/gEPphEvMl/vwSv+A4Hhm36JSP9IXTyCZDm4kKsqD5ay8b1Sad/vaiyO5N/sDfEV6Z4q95E+yfjxpqBoBETW2C7xl4pIO2bDODDFurUPwE7EWC2Uplq+AHmBHvir2PSgkR12/Ry65O0aZtQPeXi9mTlF/Wj5GQ+vFkYyhXsLTjrBSP9hwk4GPqDP5rBn5/l8b0mLRAvRSzXHc293bs3s8EsdE3m2exxidWVB4joHR+S+dz5/W+v00K3TqN14CDBth8eWcsTbiwXPsygHdGid0PEdy6HHm2v/IUuV5RVapYmzGsX90mpnIdNGcOOq64Dbc5GUbYpD9M7S+6cLY//QmjxFLP5cuTFRm3vA5rkFZroFnO3bjHF35uU3s8mvL7Tp9nyTc4mymTJ5sLIp7umSnGkO23faehtz3mmTS7fbVx5rP7x3HXIjRNeq/A3xCs9JNB08c9S9BF2O3bOur0ItslFxXgRPdaapBIi4dRpKGxVz7ir69t/bc9qTxjvtOyGOfiLGDhR4fYywHv1WdOplxIV87TpLBy3Wc0QP0P9s4G7FBNOdITS/tep3o3h1TEa5XDDii7fWtqRzUEReP2fbxz7bHWWJdbIOxOUJZtItNZpTFRfj6vm9sYjRxQVO+WTdiOhdPeTJ+8YirPvoeL88l5iLYOHd3b/Imkq+1ZN1El3UikhftuteEYxf1Wujof8Pr4ICTu5ezZyZ4tHQMxlzUHLYO2VMOoNMGL/20S5i2o2obfk+8qqdR7xzbRDbgU0lnuIgz4LelQ5XS7xbLuSQtNS95v3ZUOdaUx/Qd8qxCt6xf2E62yb/HukLO6RyorV8KgYl5YNc75y+KvefrxY+lc/64y9kvWP0a0bDz/rojq+RWjO06WeruWqNFU7r3HPIcLWRql8ICZsz2Ls/qOm/CLn6++X+Qf7mGspYCrZod/lpl6Rw4xN/yuq8gqV4B6aHk1hVE1SfILxWu5gvXqbfARYQpspcxKp1F/c8XOPzkZvmoSw+vEqBLdrq1fr3wAPv5NnM9i8F+jdAuxkP5Z71c6uhK3enlnGymr7UsWZKC12qgUiG8XXGQ9mxnqz4GSIlybF9eXmbqj2sHX+a1jf0gRoONHRdRSrIq03Ty89eQ1GbV/Bk+du4+V15zls+vvERvZ4E7ZbnxWTVjDjb4o/k8jlw44pTIrUGxxuJvBeO+heuhOjpFsO6lVJ/aXnJDa/bM0Ql1cLbXE/Pbv3EZ3vj3iVrB5irjupZTzlnv677NrI9UNYNqbPgp/HZXS+lJmk87wec+7YOxTDo2aw2l3NfDr34VNlvqWJBknuK7oSlZ6/T10zuOoPZOeoIk81N+sL843WJ2Q4Z0fZ3scsqC/JV2fuhWi1jGURSKZV637lf53Xnnx16/vKEXY89aVJ0fv91jGdfG+G4+sniwHes4hS+udOr4RfhFhG/F5gUG35QaU+McuLmclb5ZWmR+sG5V6nf+PxYzlrnFGxpZaK8eqqVo0NfmAWoGfXDiT/FnUbWvzGDOTr8aktOZWg4BYvz5YH12ZbfCcGtNk+dDAZNGWvHov+PIOnY9Prjg8h/wLRrT69suaMVZ5bNuK00lSVpnqSX1NON/81FoP92rYndionwgOiA8WMf4vc8l15KqEEG4yAm2+WAN5Brfu1sq9suWYqgoajgOYt/JCk1gC8wPkK+XKCtRX6TAtgvrnuBgNRmn6I8lVDipOVB9kX6Oxkp4ZKyd1M6Gj8/v2U7k+YQBL95Kb9PQENucJb0JlW3b5tObN7m/Z1j1ev388d7o15zgXsI9CikAGAViR6lkJv7nb4Ak40M2G8TJ447kN+pvfHiOFjSUSP6PM+QfbAywKJCBaxSVxpizHseZUyUBhq59vFwrkyGoRiHbo0apweEZeSLuNiQ+HAekOnarFg00dZNXaPeoHPTRR0FmEyqYExOVaaaO8c0uFUh7U4e/UxdBmthlBDgg257Q33j1hA7HTxSeTTSuVnPZbgW1nodwmG16aKBDKxEetv7D9OjO0JhrbJTnoe+kcGoDJazFSO8/fUN9Jy/g4XK5PUkw2dgPDGpJqBfhe7GA+cjzfE/EGsMM+FV9nj9IAhrSfT/J3QE5TEIYyk5UjsI6ZZcCPr6A8FZUF4g9nnpVmjX90MLSQysIPD0nFzqwCcSJmIb5mYv2Cmk+C1MDFkZQyCBq4c/Yai9LJ6xYkGS/x2s5/frIW2vmG2Wrv0APpCdgCA9snFvfpe8uc0OwdRs4G9973PGEBnQB5qKrCQ6m6X/H7NInZ7y/1674/ZXOVp7OeuCRk8JFS516VHrnH1HkIUIlTIljjHaQtEtkJtosYul77cVwjk3gW1Ajaa6zWeyHGLlpk3VHE2VFzT2yI/EvlGUSz2H9zYE1s4nsKMtMqNyKNtL/59CpFJki5Fou6VXGm8vWATEPwrUVOLvoA8jLuwOzVBCgHB2Cr5V6OwEWtJEKokJkfc87h+sNHTvMb0KVTp5284QTPupoWvQVUwUeogZR3kBMESYo0mfukewRVPKh5+rzLQb7HKjFFIgWhj1w3yN/qCNoPI8XFiUgBNT1hCHBsAz8L7Oyt8wQWUFj92ONn/APyJFg8hzueqoJdNj57ROrFbffuS/XxrSXLTRgj5uxZjpgQYceeMc2wJrahReSKpm3QjHfqExTLAB2ipVumE8pqcZv8LYXQiPHHsgb5BMW8zM5pvQit+mQx8XGaVDcfVbLyMTlY8xcfmm/RSAT/H09UQol5gIz7rESDmnrQ4bURIB4iRXMDQwxgex1GgtDxKp2HayIkR+E/aDmCttNm2C6lytWdfOVzD6X2SpDWjQDlMRvAp1symWv4my1bPCD+E1EmGnMGWhNwmycJnDV2WrQNxO45ukEb08AAffizYKVULp15I4vbNK5DzWwCSUADfmKhfGSUqii1L2UsE8rB7mLuHuUJZOx4+WiizHBJ/hwboaBzhpNOVvgFTf5cJsHef7L1HCI9dOUUbb+YxUJWn6dYOLz+THi91kzY5dtO5c+grX7v0jEbsuoOGnoIreDIg/sFMyG+TyCLIcAWd1IZ1UNFxE8Uie13ucm40U2fcxC0u3WLvLOxwu+F7MWUsHsdtFQZ7W+nlfCASiAKyh8rnP3EyDByvtJb6Kax6/HkLzT9SyEyTMVM1zPtM0MJY14DmsWh4MgD15Ea9Hd00AdkTZ0EiG5NAGuIBzQJJ0JR0na+OB7lQA6UKxMfihIQ7GCCnVz694QvykWXTxpS2soDu+smru1UdIxSvAszBFD1c8c6ZOobA8bJiJIvuycgIXBQIXWwhyTgZDQxJTRXgEwRNAawGSXO0a1DKjdihLVNp/taE/xYhsgwe+VpKEEB4LlraQyE84gEihxCnbfoyOuJIEXy2FIYw+JjRusybKlU2g/vhTSGTydvCvXhYBdtAXtS2v7LkHtmXh/8fly1do8FI/D0f8UbzVb5h+KRhMGSAmR2mhi0YG/uj7wgxcfzCrMvdjitUIpXDX8ae2JcF/36qUWIMwN6JsjaRGNj+jEteGDcFyTUb8X/NHSucKMJp7pduxtD6KuxVlyxxwaeiC1FbGBESO84lbyrAugYxdl+2N8/6AgWpo/IeoAOcsG35IA/b3AuSyoa55L7llBLlaWlEWvuCFd8f8NfcTUgzJv6CbB+6ohWwodlk9nGWFpBAOaz5uEW5xBvmjnHFeDsb0mXwayj3mdYq5gxxNf3H3/tnCgHwjSrpSgVxLmiTtuszdRUFIsn6LiMPjL808vL1uQhDbM7aA43mISXReqjSskynIRcHCJ9qeFopJfx9tqyUoGbSwJex/0aDE3plBPGtNBYgWbdLom3+Q/bjdizR2/AS/c/dH/d3G7pyl1qDXgtOFtEqidwLqxPYtrNEveasWq3vPUUtqTeu8gpov4bdOQRI2kneFvRNMrShyVeEupK1PoLDPMSfWMIJcs267mGB8X9CehQCF0gIyhpP10mbyM7lwW1e6TGvHBV1sg/UyTghHPGRqMyaebC6pbB1WKNCQtlai1GGvmq9zUKaUzLaXsXEBYtHxmFbEZ2kJhR164LhWW2Tlp1dhsGE7ZgIWRBOx3Zcu2DxgH+G83WTPceKG0TgQKKiiNNOlWgvqNEbnrk6fVD+AqRam2OguZb0YWSTX88N+i/ELSxbaUUpPx4vJUzYg/WonSeA8xUK6u7DPHgpqWpEe6D4cXg5uK9FIYVba47V/nb+wyOtk+zG8RrS4EA0ouwa04iByRLSvoJA2FzaobbZtXnq8GdbfqEp5I2dpfpj59TCVif6+E75p665faiX8gS213RqBxTZqfHP46nF6NSenOneuT+vgbLUbdTH2/t0REFXZJOEB6DHvx6N6g9956CYrY/AYcm9gELJXYkrSi+0F0geKDZgOCIYkLU/+GOW5aGj8mvLFgtFH5+XC8hvAE3CvHRfl4ofM/Qwk4x2A+R+nyc9gNu/9Tem7XW4XRnyRymf52z09cTOdr+PG6+P/Vb4QiXlwauc5WB1z3o+IJjlbxI8MyWtSzT+k4sKVbhF3xa+vDts3NxXa87iiu+xRH9cAprnOL2h6vV54iQRXuOAj1s8nLFK8gZ70ThIQcWdF19/2xaJmT0efrkNDkWbpAQPdo92Z8+Hn/aLjbOzB9AI/k12fPs9HhUNDJ1u6ax2VxD3R6PywN7BrLJ26z6s3QoMp76qzzwetrDABKSGkfW5PwS1GvYNUbK6uRqxfyVGNyFB0E+OugMM8kKwmJmupuRWO8XkXXXQECyRVw9UyIrtCtcc4oNqXqr7AURBmKn6Khz3eBN96LwIJrAGP9mr/59uTOSx631suyT+QujDd4beUFpZ0kJEEnjlP+X/Kr2kCKhnENTg4BsMTOmMqlj2WMFLRUlVG0fzdCBgUta9odrJfpVdFomTi6ak0tFjXTcdqqvWBAzjY6hVrH9sbt3Z9gn+AVDpTcQImefbB4edirjzrsNievve4ZT4EUZWV3TxEsIW+9MT/RJoKfZZYSRGfC1CwPG/9rdMOM8qR/LUYvw5f/emUSoD7YSFuOoqchdUg2UePd1eCtFSKgxLSZ764oy4lvRCIH6bowPxZWwxNFctksLeil47pfevcBipkkBIc4ngZG+kxGZ71a72KQ7VaZ6MZOZkQJZXM6kb/Ac0/XkJx8dvyfJcWbI3zONEaEPIW8GbkYjsZcwy+eMoKrYjDmvEEixHzkCSCRPRzhOfJZuLdcbx19EL23MA8rnjTZZ787FGMnkqnpuzB5/90w1gtUSRaWcb0eta8198VEeZMUSfIhyuc4/nywFQ9uqn7jdqXh+5wwv+RK9XouNPbYdoEelNGo34KyySwigsrfCe0v/PlWPvQvQg8R0KgHO18mTVThhQrlbEQ0Kp/JxPdjHyR7E1QPw/ut0r+HDDG7BwZFm9IqEUZRpv2WpzlMkOemeLcAt5CsrzskLGaVOAxyySzZV/D2EY7ydNZMf8e8VhHcKGHAWNszf1EOq8fNstijMY4JXyATwTdncFFqcNDfDo+mWFvxJJpc4sEZtjXyBdoFcxbUmniCoKq5jydUHNjYJxMqN1KzYV62MugcELVhS3Bnd+TLLOh7dws/zSXWzxEb4Nj4aFun5x4kDWLK5TUF/yCXB/cZYvI9kPgVsG2jShtXkxfgT+xzjJofXqPEnIXIQ1lnIdmVzBOM90EXvJUW6a0nZ/7XjJGl8ToO3H/fdxnxmTNKBZxnkpXLVgLXCZywGT3YyS75w/PAH5I/jMuRspej8xZObU9kREbRA+kqjmKRFaKGWAmFQspC+QLbKPf0RaK3OXvBSWqo46p70ws/eZpu6jCtZUgQy6r4tHMPUdAgWGGUYNbuv/1a6K+MVFsd3T183+T8capSo6m0+Sh57fEeG/95dykGJBQMj09DSW2bY0mUonDy9a8trLnnL5B5LW3Nl8rJZNysO8Zb+80zXxqUGFpud3Qzwb7bf+8mq6x0TAnJU9pDQR9YQmZhlna2xuxJt0aCO/f1SU8gblOrbIyMsxTlVUW69VJPzYU2HlRXcqE2lLLxnObZuz2tT9CivfTAUYfmzJlt/lOPgsR6VN64/xQd4Jlk/RV7UKVv2Gx/AWsmTAuCWKhdwC+4HmKEKYZh2Xis4KsUR1BeObs1c13wqFRnocdmuheaTV30gvVXZcouzHKK5zwrN52jXJEuX6dGx3BCpV/++4f3hyaW/cQJLFKqasjsMuO3B3WlMq2gyYfdK1e7L2pO/tRye2mwzwZPfdUMrl5wdLqdd2Kv/wVtnpyWYhd49L6rsOV+8HXPrWH2Kup89l2tz6bf80iYSd+V4LROSOHeamvexR524q4r43rTmtFzQvArpvWfLYFZrbFspBsXNUqqenjxNNsFXatZvlIhk7teUPfK+YL32F8McTnjv0BZNppb+vshoCrtLXjIWq3EJXpVXIlG6ZNL0dh6qEm2WMwDjD3LfOfkGh1/czYc/0qhiD2ozNnH4882MVVt3JbVFkbwowNCO3KL5IoYW5wlVeGCViOuv1svZx7FbzxKzA4zGqBlRRaRWCobXaVq4yYCWbZf8eiJwt3OY+MFiSJengcFP2t0JMfzOiJ7cECvpx7neg1Rc5x+7myPJOXt2FohVRyXtD+/rDoTOyGYInJelZMjolecVHUhUNqvdZWg2J2t0jPmiLFeRD/8fOT4o+NGILb+TufCo9ceBBm3JLVn+MO2675n7qiEX/6W+188cYg3Zn5NSTjgOKfWFSAANa6raCxSoVU851oJLY11WIoYK0du0ec5E4tCnAPoKh71riTsjVIp3gKvBbEYQiNYrmH22oLQWA2AdwMnID6PX9b58dR2QKo4qag1D1Z+L/FwEKTR7osOZPWECPJIHQqPUsM5i/CH5YupVPfFA5pHUBcsesh8eO5YhyWnaVRPZn/BmdXVumZWPxMP5e28zm2uqHgFoT9CymHYNNrzrrjlXZM06HnzDxYNlI5b/QosxLmmrqDFqmogQdqk0WLkUceoAvQxHgkIyvWU69BPFr24VB6+lx75Rna6dGtrmOxDnvBojvi1/4dHjVeg8owofPe1cOnxU1ioh016s/Vudv9mhV9f35At+Sh28h1bpp8xhr09+vf47Elx3Ms6hyp6QvB3t0vnLbOhwo660cp7K0vvepabK7YJfxEWWfrC2YzJfYOjygPwfwd/1amTqa0hZ5ueebhWYVMubRTwIjj+0Oq0ohU3zfRfuL8gt59XsHdwKtxTQQ4Y2qz6gisxnm2UdlmpEkgOsZz7iEk6QOt8BuPwr+NR01LTqXmJo1C76o1N274twJvl+I069TiLpenK/miRxhyY8jvYV6W1WuSwhH9q7kuwnJMtm7IWcqs7HsnyHSqWXLSpYtZGaR1V3t0gauninFPZGtWskF65rtti48UV9uV9KM8kfDYs0pgB00S+TlzTXV6P8mxq15b9En8sz3jWSszcifZa/NuufPNnNTb031pptt0+sRSH/7UG8pzbsgtt3OG3ut7B9JzDMt2mTZuyRNIV8D54TuTrpNcHtgmMlYJeiY9XS83NYJicjRjtJSf9BZLsQv629QdDsKQhTK5CnXhpk7vMNkHzPhm0ExW/VCGApHfPyBagtZQTQmPHx7g5IXXsrQDPzIVhv2LB6Ih138iSDww1JNHrDvzUxvp73MsQBVhW8EbrReaVUcLB1R3PUXyaYG4HpJUcLVxMgDxcPkVRQpL7VTAGabDzbKcvg12t5P8TSGQkrj/gOrpnbiDHwluA73xbXts/L7u468cRWSWRtgTwlQnA47EKg0OiZDgFxAKQQUcsbGomITgeXUAAyKe03eA7Mp4gnyKQmm0LXJtEk6ddksMJCuxDmmHzmVhO+XaN2A54MIh3niw5CF7PwiXFZrnA8wOdeHLvvhdoqIDG9PDI7UnWWHq526T8y6ixJPhkuVKZnoUruOpUgOOp3iIKBjk+yi1vHo5cItHXb1PIKzGaZlRS0g5d3MV2pD8FQdGYLZ73aae/eEIUePMc4NFz8pIUfLCrrF4jVWH5gQneN3S8vANBmUXrEcKGn6hIUN95y1vpsvLwbGpzV9L0ZKTan6TDXM05236uLJcIEMKVAxKNT0K8WljuwNny3BNQRfzovA85beI9zr1AGNYnYCVkR1aGngWURUrgqR+gRrQhxW81l3CHevjvGEPzPMTxdsIfB9dfGRbZU0cg/1mcubtECX4tvaedmNAvTxCJtc2QaoUalGfENCGK7IS/O8CRpdOVca8EWCRwv2sSWE8CJPW5PCugjCXPd3h6U60cPD+bdhtXZuYB6stcoveE7Sm5MM2yvfUHXFSW7KzLmi7/EeEWL0wqcOH9MOSKjhCHHmw+JGLcYE/7SBZQCRggox0ZZTAxrlzNNXYXL5fNIjkdT4YMqVUz6p8YDt049v4OXGdg3qTrtLBUXOZf7ahPlZAY/O+7Sp0bvGSHdyQ8B1LOsplqMb9Se8VAE7gIdSZvxbRSrfl+Lk5Qaqi5QJceqjitdErcHXg/3MryljPSIAMaaloFm1cVwBJ8DNmkDqoGROSHFetrgjQ5CahuKkdH5pRPigMrgTtlFI8ufJPJSUlGgTjbBSvpRc0zypiUn6U5KZqcRoyrtzhmJ7/caeZkmVRwJQeLOG8LY6vP5ChpKhc8Js0El+n6FXqbx9ItdtLtYP92kKfaTLtCi8StLZdENJa9Ex1nOoz1kQ7qxoiZFKRyLf4O4CHRT0T/0W9F8epNKVoeyxUXhy3sQMMsJjQJEyMOjmOhMFgOmmlscV4eFi1CldU92yjwleirEKPW3bPAuEhRZV7JsKV3Lr5cETAiFuX5Nw5UlF7d2HZ96Bh0sgFIL5KGaKSoVYVlvdKpZJVP5+NZ7xDEkQhmDgsDKciazJCXJ6ZN2B3FY2f6VZyGl/t4aunGIAk/BHaS+i+SpdRfnB/OktOvyjinWNfM9Ksr6WwtCa1hCmeRI6icpFM4o8quCLsikU0tMoZI/9EqXRMpKGaWzofl4nQuVQm17d5fU5qXCQeCDqVaL9XJ9qJ08n3G3EFZS28SHEb3cdRBdtO0YcTzil3QknNKEe/smQ1fTb0XbpyNB5xAeuIlf+5KWlEY0DqJbsnzJlQxJPOVyHiKMx5Xu9FcEv1Fbg6Fhm4t+Jyy5JC1W3YO8dYLsO0PXPbxodBgttTbH3rt9Cp1lJIk2r3O1Zqu94eRbnIz2f50lWolYzuKsj4PMok4abHLO8NAC884hiXx5Fy5pWKO0bWL7uEGXaJCtznhP67SlQ4xjWIfgq6EpZ28QMtuZK7JC0RGbl9nA4XtFLug/NLMoH1pGt9IonAJqcEDLyH6TDROcbsmGPaGIxMo41IUAnQVPMPGByp4mOmh9ZQMkBAcksUK55LsZj7E5z5XuZoyWCKu6nHmDq22xI/9Z8YdxJy4kWpD16jLVrpwGLWfyOD0Wd+cBzFBxVaGv7S5k9qwh/5t/LQEXsRqI3Q9Rm3QIoaZW9GlsDaKOUyykyWuhNOprSEi0s1G4rgoiX1V743EELti+pJu5og6X0g6oTynUqlhH9k6ezyRi05NGZHz0nvp3HOJr7ebrAUFrDjbkFBObEvdQWkkUbL0pEvMU46X58vF9j9F3j6kpyetNUBItrEubW9ZvMPM4qNqLlsSBJqOH3XbNwv/cXDXNxN8iFLzUhteisYY+RlHYOuP29/Cb+L+xv+35Rv7xudnZ6ohK4cMPfCG8KI7dNmjNk/H4e84pOxn/sZHK9psfvj8ncA8qJz7O8xqbxESDivGJOZzF7o5PJLQ7g34qAWoyuA+x3btU98LT6ZyGyceIXjrqob2CAVql4VOTQPUQYvHV/g4zAuCZGvYQBtf0wmd5lilrvuEn1BXLny01B4h4SMDlYsnNpm9d7m9h578ufpef9Z4WplqWQvqo52fyUA7J24eZD5av6SyGIV9kpmHNqyvdfzcpEMw97BvknV2fq+MFHun9BT3Lsf8pbzvisWiIQvYkng+8Vxk1V+dli1u56kY50LRjaPdotvT5BwqtwyF+emo/z9J3yVUVGfKrxQtJMOAQWoQii/4dp9wgybSa5mkucmRLtEQZ/pz0tL/NVcgWAd95nEQ3Tg6tNbuyn3Iepz65L3huMUUBntllWuu4DbtOFSMSbpILV4fy6wlM0SOvi6CpLh81c1LreIvKd61uEWBcDw1lUBUW1I0Z+m/PaRlX+PQ/oxg0Ye6KUiIiTF4ADNk59Ydpt5/rkxmq9tV5Kcp/eQLUVVmBzQNVuytQCP6Ezd0G8eLxWyHpmZWJ3bAzkWTtg4lZlw42SQezEmiUPaJUuR/qklVA/87S4ArFCpALdY3QRdUw3G3XbWUp6aq9z0zUizcPa7351p9JXOZyfdZBFnqt90VzQndXB/mwf8LC9STj5kenVpNuqOQQP3mIRJj7eV21FxG8VAxKrEn3c+XfmZ800EPb9/5lIlijscUbB6da0RQaMook0zug1G0tKi/JBC4rw7/D3m4ARzAkzMcVrDcT2SyFtUdWAsFlsPDFqV3N+EjyXaoEePwroaZCiLqEzb8MW+PNE9TmTC01EzWli51PzZvUqkmyuROU+V6ik+Le/9qT6nwzUzf9tP68tYei0YaDGx6kAd7jn1cKqOCuYbiELH9zYqcc4MnRJjkeGiqaGwLImhyeKs+xKJMBlOJ05ow9gGCKZ1VpnMKoSCTbMS+X+23y042zOb5MtcY/6oBeAo1Vy89OTyhpavFP78jXCcFH0t7Gx24hMEOm2gsEfGabVpQgvFqbQKMsknFRRmuPHcZu0Su/WMFphZvB2r/EGbG72rpGGho3h+Msz0uGzJ7hNK2uqQiE1qmn0zgacKYYZBCqsxV+sjbpoVdSilW/b94n2xNb648VmNIoizqEWhBnsen+d0kbCPmRItfWqSBeOd9Wne3c6bcd6uvXOJ6WdiSsuXq0ndhqrQ4QoWUjCjYtZ0EAhnSOP1m44xkf0O7jXghrzSJWxP4a/t72jU29Vu2rvu4n7HfHkkmQOMGSS+NPeLGO5I73mC2B7+lMiBQQZRM9/9liLIfowupUFAbPBbR+lxDM6M8Ptgh1paJq5Rvs7yEuLQv/7d1oU2woFSb3FMPWQOKMuCuJ7pDDjpIclus5TeEoMBy2YdVB4fxmesaCeMNsEgTHKS5WDSGyNUOoEpcC2OFWtIRf0w27ck34/DjxRTVIcc9+kqZE6iMSiVDsiKdP/Xz5XfEhm/sBhO50p1rvJDlkyyxuJ9SPgs7YeUJBjXdeAkE+P9OQJm6SZnn1svcduI78dYmbkE2mtziPrcjVisXG78spLvbZaSFx/Rks9zP4LKn0Cdz/3JsetkT06A8f/yCgMO6Mb1Hme0JJ7b2wZz1qleqTuKBGokhPVUZ0dVu+tnQYNEY1fmkZSz6+EGZ5EzL7657mreZGR3jUfaEk458PDniBzsSmBKhDRzfXameryJv9/D5m6HIqZ0R+ouCE54Dzp4IJuuD1e4Dc5i+PpSORJfG23uVgqixAMDvchMR0nZdH5brclYwRoJRWv/rlxGRI5ffD5NPGmIDt7vDE1434pYdVZIFh89Bs94HGGJbTwrN8T6lh1HZFTOB4lWzWj6EVqxSMvC0/ljWBQ3F2kc/mO2b6tWonT2JEqEwFts8rz2h+oWNds9ceR2cb7zZvJTDppHaEhK5avWqsseWa2Dt5BBhabdWSktS80oMQrL4TvAM9b5HMmyDnO+OkkbMXfUJG7eXqTIG6lqSOEbqVR+qYdP7uWb57WEJqzyh411GAVsDinPs7KvUeXItlcMdOUWzXBH6zscymV1LLVCtc8IePojzXHF9m5b5zGwBRdzcyUJkiu938ApmAayRdJrX1PmVguWUvt2ThQ62czItTyWJMW2An/hdDfMK7SiFQlGIdAbltHz3ycoh7j9V7GxNWBpbtcSdqm4XxRwTawc3cbZ+xfSv9qQfEkDKfZTwCkqWGI/ur250ItXlMlh6vUNWEYIg9A3GzbgmbqvTN8js2YMo87CU5y6nZ4dbJLDQJj9fc7yM7tZzJDZFtqOcU8+mZjYlq4VmifI23iHb1ZoT9E+kT2dolnP1AfiOkt7PQCSykBiXy5mv637IegWSKj9IKrYZf4Lu9+I7ub+mkRdlvYzehh/jaJ9n7HUH5b2IbgeNdkY7wx1yVzxS7pbvky6+nmVUtRllEFfweUQ0/nG017WoUYSxs+j2B4FV/F62EtHlMWZXYrjGHpthnNb1x66LKZ0Qe92INWHdfR/vqp02wMS8r1G4dJqHok8KmQ7947G13a4YXbsGgHcBvRuVu1eAi4/A5+ZixmdSXM73LupB/LH7O9yxLTVXJTyBbI1S49TIROrfVCOb/czZ9pM4JsZx8kUz8dQGv7gUWKxXvTH7QM/3J2OuXXgciUhqY+cgtaOliQQVOYthBLV3xpESZT3rmfEYNZxmpBbb24CRao86prn+i9TNOh8VxRJGXJfXHATJHs1T5txgc/opYrY8XjlGQQbRcoxIBcnVsMjmU1ymmIUL4dviJXndMAJ0Yet+c7O52/p98ytlmAsGBaTAmMhimAnvp1TWNGM9BpuitGj+t810CU2UhorrjPKGtThVC8WaXw04WFnT5fTjqmPyrQ0tN3CkLsctVy2xr0ZWgiWVZ1OrlFjjxJYsOiZv2cAoOvE+7sY0I/TwWcZqMoyIKNOftwP7w++Rfg67ljfovKYa50if3fzE/8aPYVey/Nq35+nH2sLPh/fP5TsylSKGOZ4k69d2PnH43+kq++sRXHQqGArWdwhx+hpwQC6JgT2uxehYU4Zbw7oNb6/HLikPyJROGK2ouyr+vzseESp9G50T4AyFrSqOQ0rroCYP4sMDFBrHn342EyZTMlSyk47rHSq89Y9/nI3zG5lX16Z5lxphguLOcZUndL8wNcrkyjH82jqg8Bo8OYkynrxZvbFno5lUS3OPr8Ko3mX9NoRPdYOKKjD07bvgFgpZ/RF+YzkWvJ/Hs/tUbfeGzGWLxNAjfDzHHMVSDwB5SabQLsIZHiBp43FjGkaienYoDd18hu2BGwOK7U3o70K/WY/kuuKdmdrykIBUdG2mvE91L1JtTbh20mOLbk1vCAamu7utlXeGU2ooVikbU/actcgmsC1FKk2qmj3GWeIWbj4tGIxE7BLcBWUvvcnd/lYxsMV4F917fWeFB/XbINN3qGvIyTpCalz1lVewdIGqeAS/gB8Mi+sA+BqDiX3VGD2eUunTRbSY+AuDy4E3Qx3hAhwnSXX+B0zuj3eQ1miS8Vux2z/l6/BkWtjKGU72aJkOCWhGcSf3+kFkkB15vGOsQrSdFr6qTj0gBYiOlnBO41170gOWHSUoBVRU2JjwppYdhIFDfu7tIRHccSNM5KZOFDPz0TGMAjzzEpeLwTWp+kn201kU6NjbiMQJx83+LX1e1tZ10kuChJZ/XBUQ1dwaBHjTDJDqOympEk8X2M3VtVw21JksChA8w1tTefO3RJ1FMbqZ01bHHkudDB/OhLfe7P5GOHaI28ZXKTMuqo0hLWQ4HabBsGG7NbP1RiXtETz074er6w/OerJWEqjmkq2y51q1BVI+JUudnVa3ogBpzdhFE7fC7kybrAt2Z6RqDjATAUEYeYK45WMupBKQRtQlU+uNsjnzj6ZmGrezA+ASrWxQ6LMkHRXqXwNq7ftv28dUx/ZSJciDXP2SWJsWaN0FjPX9Yko6LobZ7aYW/IdUktI9apTLyHS8DyWPyuoZyxN1TK/vtfxk3HwWh6JczZC8Ftn0bIJay2g+n5wd7lm9rEsKO+svqVmi+c1j88hSCxbzrg4+HEP0Nt1/B6YW1XVm09T1CpAKjc9n18hjqsaFGdfyva1ZG0Xu3ip6N6JGpyTSqY5h4BOlpLPaOnyw45PdXTN+DtAKg7DLrLFTnWusoSBHk3s0d7YouJHq85/R09Tfc37ENXZF48eAYLnq9GLioNcwDZrC6FW6godB8JnqYUPvn0pWLfQz0lM0Yy8Mybgn84Ds3Q9bDP10bLyOV+qzxa4Rd9Dhu7cju8mMaONXK3UqmBQ9qIg7etIwEqM/kECk/Dzja4Bs1xR+Q/tCbc8IKrSGsTdJJ0vge7IG20W687uVmK6icWQ6cD3lwFzgNMGtFvO5qyJeKflGLAAcQZOrkxVwy3cWvqlGpvjmf9Qe6Ap20MPbV92DPV0OhFM4kz8Yr0ffC2zLWSQ1kqY6QdQrttR3kh1YLtQd1kCEv5hVoPIRWl5ERcUTttBIrWp6Xs5Ehh5OUUwI5aEBvuiDmUoENmnVw1FohCrbRp1A1E+XSlWVOTi7ADW+5Ohb9z1vK4qx5R5lPdGCPBJZ00mC+Ssp8VUbgpGAvXWMuWQQRbCqI6Rr2jtxZxtfP7W/8onz+yz0Gs76LaT5HX9ecyiZCB/ZR/gFtMxPsDwohoeCRtiuLxE1GM1vUEUgBv86+eehL58/P56QFGQ/MqOe/vC76L63jzmeax4exd/OKTUvkXg+fOJUHych9xt/9goJMrapSgvXrj8+8vk/N80f22Sewj6cyGqt1B6mztoeklVHHraouhvHJaG/OuBz6DHKMpFmQULU1bRWlyYE0RPXYYkUycIemN7TLtgNCJX6BqdyxDKkegO7nJK5xQ7OVYDZTMf9bVHidtk6DQX9Et+V9M7esgbsYBdEeUpsB0Xvw2kd9+rI7V+m47u+O/tq7mw7262HU1WlS9uFzsV6JxIHNmUCy0QS9e077JGRFbG65z3/dOKB/Zk+yDdKpUmdXjn/aS3N5nv4fK7bMHHmPlHd4E2+iTbV5rpzScRnxk6KARuDTJ8Q1LpK2mP8gj1EbuJ9RIyY+EWK4hCiIDBAS1Tm2IEXAFfgKPgdL9O6mAa06wjCcUAL6EsxPQWO9VNegBPm/0GgkZbDxCynxujX/92vmGcjZRMAY45puak2sFLCLSwXpEsyy5fnF0jGJBhm+fNSHKKUUfy+276A7/feLOFxxUuHRNJI2Osenxyvf8DAGObT60pfTTlhEg9u/KKkhJqm5U1/+BEcSkpFDA5XeCqxwXmPac1jcuZ3JWQ+p0NdWzb/5v1ZvF8GtMTFFEdQjpLO0bwPb0BHNWnip3liDXI2fXf05jjvfJ0NpjLCUgfTh9CMFYVFKEd4Z/OG/2C+N435mnK+9t1gvCiVcaaH7rK4+PjCvpVNiz+t2QyqH1O8x3JKZVl6Q+Lp/XK8wMjVMslOq9FdSw5FtUs/CptXH9PW+wbWHgrV17R5jTVOtGtKFu3nb80T+E0tv9QkzW3J2dbaw/8ddAKZ0pxIaEqLjlPrji3VgJ3GvdFvlqD8075woxh4fVt0JZE0KVFsAvqhe0dqN9b35jtSpnYMXkU+vZq+IAHad3IHc2s/LYrnD1anfG46IFiMIr9oNbZDWvwthqYNqOigaKd/XlLU4XHfk/PXIjPsLy/9/kAtQ+/wKH+hI/IROWj5FPvTZAT9f7j4ZXQyG4M0TujMAFXYkKvEHv1xhySekgXGGqNxWeWKlf8dDAlLuB1cb/qOD+rk7cmwt+1yKpk9cudqBanTi6zTbXRtV8qylNtjyOVKy1HTz0GW9rjt6sSjAZcT5R+KdtyYb0zyqG9pSLuCw5WBwAn7fjBjKLLoxLXMI+52L9cLwIR2B6OllJZLHJ8vDxmWdtF+QJnmt1rsHPIWY20lftk8fYePkAIg6Hgn532QoIpegMxiWgAOfe5/U44APR8Ac0NeZrVh3gEhs12W+tVSiWiUQekf/YBECUy5fdYbA08dd7VzPAP9aiVcIB9k6tY7WdJ1wNV+bHeydNtmC6G5ICtFC1ZwmJU/j8hf0I8TRVKSiz5oYIa93EpUI78X8GYIAZabx47/n8LDAAJ0nNtP1rpROprqKMBRecShca6qXuTSI3jZBLOB3Vp381B5rCGhjSvh/NSVkYp2qIdP/Bg=";
+  }, {} ],
+  6: [ function(require, module, exports) {
+   var data = require("./dictionary-browser");
+   exports.init = function() {
+    exports.dictionary = data.init();
+   };
+   exports.offsetsByLength = new Uint32Array([ 0, 0, 0, 0, 0, 4096, 9216, 21504, 35840, 44032, 53248, 63488, 74752, 87040, 93696, 100864, 104704, 106752, 108928, 113536, 115968, 118528, 119872, 121280, 122016 ]);
+   exports.sizeBitsByLength = new Uint8Array([ 0, 0, 0, 0, 10, 10, 11, 11, 10, 10, 10, 10, 10, 9, 9, 8, 7, 7, 8, 7, 7, 6, 6, 5, 5 ]);
+   exports.minDictionaryWordLength = 4;
+   exports.maxDictionaryWordLength = 24;
+  }, {
+   "./dictionary-browser": 4
+  } ],
+  7: [ function(require, module, exports) {
+   function HuffmanCode(bits, value) {
+    this.bits = bits;
+    this.value = value;
+   }
+   exports.HuffmanCode = HuffmanCode;
+   var MAX_LENGTH = 15;
+   function GetNextKey(key, len) {
+    var step = 1 << len - 1;
+    while (key & step) {
+     step >>= 1;
+    }
+    return (key & step - 1) + step;
+   }
+   function ReplicateValue(table, i, step, end, code) {
+    do {
+     end -= step;
+     table[i + end] = new HuffmanCode(code.bits, code.value);
+    } while (end > 0);
+   }
+   function NextTableBitSize(count, len, root_bits) {
+    var left = 1 << len - root_bits;
+    while (len < MAX_LENGTH) {
+     left -= count[len];
+     if (left <= 0) break;
+     ++len;
+     left <<= 1;
+    }
+    return len - root_bits;
+   }
+   exports.BrotliBuildHuffmanTable = function(root_table, table, root_bits, code_lengths, code_lengths_size) {
+    var start_table = table;
+    var code;
+    var len;
+    var symbol;
+    var key;
+    var step;
+    var low;
+    var mask;
+    var table_bits;
+    var table_size;
+    var total_size;
+    var sorted;
+    var count = new Int32Array(MAX_LENGTH + 1);
+    var offset = new Int32Array(MAX_LENGTH + 1);
+    sorted = new Int32Array(code_lengths_size);
+    for (symbol = 0; symbol < code_lengths_size; symbol++) {
+     count[code_lengths[symbol]]++;
+    }
+    offset[1] = 0;
+    for (len = 1; len < MAX_LENGTH; len++) {
+     offset[len + 1] = offset[len] + count[len];
+    }
+    for (symbol = 0; symbol < code_lengths_size; symbol++) {
+     if (code_lengths[symbol] !== 0) {
+      sorted[offset[code_lengths[symbol]]++] = symbol;
+     }
+    }
+    table_bits = root_bits;
+    table_size = 1 << table_bits;
+    total_size = table_size;
+    if (offset[MAX_LENGTH] === 1) {
+     for (key = 0; key < total_size; ++key) {
+      root_table[table + key] = new HuffmanCode(0, sorted[0] & 65535);
+     }
+     return total_size;
+    }
+    key = 0;
+    symbol = 0;
+    for (len = 1, step = 2; len <= root_bits; ++len, step <<= 1) {
+     for (;count[len] > 0; --count[len]) {
+      code = new HuffmanCode(len & 255, sorted[symbol++] & 65535);
+      ReplicateValue(root_table, table + key, step, table_size, code);
+      key = GetNextKey(key, len);
+     }
+    }
+    mask = total_size - 1;
+    low = -1;
+    for (len = root_bits + 1, step = 2; len <= MAX_LENGTH; ++len, step <<= 1) {
+     for (;count[len] > 0; --count[len]) {
+      if ((key & mask) !== low) {
+       table += table_size;
+       table_bits = NextTableBitSize(count, len, root_bits);
+       table_size = 1 << table_bits;
+       total_size += table_size;
+       low = key & mask;
+       root_table[start_table + low] = new HuffmanCode(table_bits + root_bits & 255, table - start_table - low & 65535);
+      }
+      code = new HuffmanCode(len - root_bits & 255, sorted[symbol++] & 65535);
+      ReplicateValue(root_table, table + (key >> root_bits), step, table_size, code);
+      key = GetNextKey(key, len);
+     }
+    }
+    return total_size;
+   };
+  }, {} ],
+  8: [ function(require, module, exports) {
+   function PrefixCodeRange(offset, nbits) {
+    this.offset = offset;
+    this.nbits = nbits;
+   }
+   exports.kBlockLengthPrefixCode = [ new PrefixCodeRange(1, 2), new PrefixCodeRange(5, 2), new PrefixCodeRange(9, 2), new PrefixCodeRange(13, 2), new PrefixCodeRange(17, 3), new PrefixCodeRange(25, 3), new PrefixCodeRange(33, 3), new PrefixCodeRange(41, 3), new PrefixCodeRange(49, 4), new PrefixCodeRange(65, 4), new PrefixCodeRange(81, 4), new PrefixCodeRange(97, 4), new PrefixCodeRange(113, 5), new PrefixCodeRange(145, 5), new PrefixCodeRange(177, 5), new PrefixCodeRange(209, 5), new PrefixCodeRange(241, 6), new PrefixCodeRange(305, 6), new PrefixCodeRange(369, 7), new PrefixCodeRange(497, 8), new PrefixCodeRange(753, 9), new PrefixCodeRange(1265, 10), new PrefixCodeRange(2289, 11), new PrefixCodeRange(4337, 12), new PrefixCodeRange(8433, 13), new PrefixCodeRange(16625, 24) ];
+   exports.kInsertLengthPrefixCode = [ new PrefixCodeRange(0, 0), new PrefixCodeRange(1, 0), new PrefixCodeRange(2, 0), new PrefixCodeRange(3, 0), new PrefixCodeRange(4, 0), new PrefixCodeRange(5, 0), new PrefixCodeRange(6, 1), new PrefixCodeRange(8, 1), new PrefixCodeRange(10, 2), new PrefixCodeRange(14, 2), new PrefixCodeRange(18, 3), new PrefixCodeRange(26, 3), new PrefixCodeRange(34, 4), new PrefixCodeRange(50, 4), new PrefixCodeRange(66, 5), new PrefixCodeRange(98, 5), new PrefixCodeRange(130, 6), new PrefixCodeRange(194, 7), new PrefixCodeRange(322, 8), new PrefixCodeRange(578, 9), new PrefixCodeRange(1090, 10), new PrefixCodeRange(2114, 12), new PrefixCodeRange(6210, 14), new PrefixCodeRange(22594, 24) ];
+   exports.kCopyLengthPrefixCode = [ new PrefixCodeRange(2, 0), new PrefixCodeRange(3, 0), new PrefixCodeRange(4, 0), new PrefixCodeRange(5, 0), new PrefixCodeRange(6, 0), new PrefixCodeRange(7, 0), new PrefixCodeRange(8, 0), new PrefixCodeRange(9, 0), new PrefixCodeRange(10, 1), new PrefixCodeRange(12, 1), new PrefixCodeRange(14, 2), new PrefixCodeRange(18, 2), new PrefixCodeRange(22, 3), new PrefixCodeRange(30, 3), new PrefixCodeRange(38, 4), new PrefixCodeRange(54, 4), new PrefixCodeRange(70, 5), new PrefixCodeRange(102, 5), new PrefixCodeRange(134, 6), new PrefixCodeRange(198, 7), new PrefixCodeRange(326, 8), new PrefixCodeRange(582, 9), new PrefixCodeRange(1094, 10), new PrefixCodeRange(2118, 24) ];
+   exports.kInsertRangeLut = [ 0, 0, 8, 8, 0, 16, 8, 16, 16 ];
+   exports.kCopyRangeLut = [ 0, 8, 0, 8, 16, 0, 16, 8, 16 ];
+  }, {} ],
+  9: [ function(require, module, exports) {
+   function BrotliInput(buffer) {
+    this.buffer = buffer;
+    this.pos = 0;
+   }
+   BrotliInput.prototype.read = function(buf, i, count) {
+    if (this.pos + count > this.buffer.length) {
+     count = this.buffer.length - this.pos;
+    }
+    for (var p = 0; p < count; p++) buf[i + p] = this.buffer[this.pos + p];
+    this.pos += count;
+    return count;
+   };
+   exports.BrotliInput = BrotliInput;
+   function BrotliOutput(buf) {
+    this.buffer = buf;
+    this.pos = 0;
+   }
+   BrotliOutput.prototype.write = function(buf, count) {
+    if (this.pos + count > this.buffer.length) throw new Error("Output buffer is not large enough");
+    this.buffer.set(buf.subarray(0, count), this.pos);
+    this.pos += count;
+    return count;
+   };
+   exports.BrotliOutput = BrotliOutput;
+  }, {} ],
+  10: [ function(require, module, exports) {
+   var BrotliDictionary = require("./dictionary");
+   var kIdentity = 0;
+   var kOmitLast1 = 1;
+   var kOmitLast2 = 2;
+   var kOmitLast3 = 3;
+   var kOmitLast4 = 4;
+   var kOmitLast5 = 5;
+   var kOmitLast6 = 6;
+   var kOmitLast7 = 7;
+   var kOmitLast8 = 8;
+   var kOmitLast9 = 9;
+   var kUppercaseFirst = 10;
+   var kUppercaseAll = 11;
+   var kOmitFirst1 = 12;
+   var kOmitFirst2 = 13;
+   var kOmitFirst3 = 14;
+   var kOmitFirst4 = 15;
+   var kOmitFirst5 = 16;
+   var kOmitFirst6 = 17;
+   var kOmitFirst7 = 18;
+   var kOmitFirst9 = 20;
+   function Transform(prefix, transform, suffix) {
+    this.prefix = new Uint8Array(prefix.length);
+    this.transform = transform;
+    this.suffix = new Uint8Array(suffix.length);
+    for (var i = 0; i < prefix.length; i++) this.prefix[i] = prefix.charCodeAt(i);
+    for (var i = 0; i < suffix.length; i++) this.suffix[i] = suffix.charCodeAt(i);
+   }
+   var kTransforms = [ new Transform("", kIdentity, ""), new Transform("", kIdentity, " "), new Transform(" ", kIdentity, " "), new Transform("", kOmitFirst1, ""), new Transform("", kUppercaseFirst, " "), new Transform("", kIdentity, " the "), new Transform(" ", kIdentity, ""), new Transform("s ", kIdentity, " "), new Transform("", kIdentity, " of "), new Transform("", kUppercaseFirst, ""), new Transform("", kIdentity, " and "), new Transform("", kOmitFirst2, ""), new Transform("", kOmitLast1, ""), new Transform(", ", kIdentity, " "), new Transform("", kIdentity, ", "), new Transform(" ", kUppercaseFirst, " "), new Transform("", kIdentity, " in "), new Transform("", kIdentity, " to "), new Transform("e ", kIdentity, " "), new Transform("", kIdentity, '"'), new Transform("", kIdentity, "."), new Transform("", kIdentity, '">'), new Transform("", kIdentity, "\n"), new Transform("", kOmitLast3, ""), new Transform("", kIdentity, "]"), new Transform("", kIdentity, " for "), new Transform("", kOmitFirst3, ""), new Transform("", kOmitLast2, ""), new Transform("", kIdentity, " a "), new Transform("", kIdentity, " that "), new Transform(" ", kUppercaseFirst, ""), new Transform("", kIdentity, ". "), new Transform(".", kIdentity, ""), new Transform(" ", kIdentity, ", "), new Transform("", kOmitFirst4, ""), new Transform("", kIdentity, " with "), new Transform("", kIdentity, "'"), new Transform("", kIdentity, " from "), new Transform("", kIdentity, " by "), new Transform("", kOmitFirst5, ""), new Transform("", kOmitFirst6, ""), new Transform(" the ", kIdentity, ""), new Transform("", kOmitLast4, ""), new Transform("", kIdentity, ". The "), new Transform("", kUppercaseAll, ""), new Transform("", kIdentity, " on "), new Transform("", kIdentity, " as "), new Transform("", kIdentity, " is "), new Transform("", kOmitLast7, ""), new Transform("", kOmitLast1, "ing "), new Transform("", kIdentity, "\n\t"), new Transform("", kIdentity, ":"), new Transform(" ", kIdentity, ". "), new Transform("", kIdentity, "ed "), new Transform("", kOmitFirst9, ""), new Transform("", kOmitFirst7, ""), new Transform("", kOmitLast6, ""), new Transform("", kIdentity, "("), new Transform("", kUppercaseFirst, ", "), new Transform("", kOmitLast8, ""), new Transform("", kIdentity, " at "), new Transform("", kIdentity, "ly "), new Transform(" the ", kIdentity, " of "), new Transform("", kOmitLast5, ""), new Transform("", kOmitLast9, ""), new Transform(" ", kUppercaseFirst, ", "), new Transform("", kUppercaseFirst, '"'), new Transform(".", kIdentity, "("), new Transform("", kUppercaseAll, " "), new Transform("", kUppercaseFirst, '">'), new Transform("", kIdentity, '="'), new Transform(" ", kIdentity, "."), new Transform(".com/", kIdentity, ""), new Transform(" the ", kIdentity, " of the "), new Transform("", kUppercaseFirst, "'"), new Transform("", kIdentity, ". This "), new Transform("", kIdentity, ","), new Transform(".", kIdentity, " "), new Transform("", kUppercaseFirst, "("), new Transform("", kUppercaseFirst, "."), new Transform("", kIdentity, " not "), new Transform(" ", kIdentity, '="'), new Transform("", kIdentity, "er "), new Transform(" ", kUppercaseAll, " "), new Transform("", kIdentity, "al "), new Transform(" ", kUppercaseAll, ""), new Transform("", kIdentity, "='"), new Transform("", kUppercaseAll, '"'), new Transform("", kUppercaseFirst, ". "), new Transform(" ", kIdentity, "("), new Transform("", kIdentity, "ful "), new Transform(" ", kUppercaseFirst, ". "), new Transform("", kIdentity, "ive "), new Transform("", kIdentity, "less "), new Transform("", kUppercaseAll, "'"), new Transform("", kIdentity, "est "), new Transform(" ", kUppercaseFirst, "."), new Transform("", kUppercaseAll, '">'), new Transform(" ", kIdentity, "='"), new Transform("", kUppercaseFirst, ","), new Transform("", kIdentity, "ize "), new Transform("", kUppercaseAll, "."), new Transform(" ", kIdentity, ""), new Transform(" ", kIdentity, ","), new Transform("", kUppercaseFirst, '="'), new Transform("", kUppercaseAll, '="'), new Transform("", kIdentity, "ous "), new Transform("", kUppercaseAll, ", "), new Transform("", kUppercaseFirst, "='"), new Transform(" ", kUppercaseFirst, ","), new Transform(" ", kUppercaseAll, '="'), new Transform(" ", kUppercaseAll, ", "), new Transform("", kUppercaseAll, ","), new Transform("", kUppercaseAll, "("), new Transform("", kUppercaseAll, ". "), new Transform(" ", kUppercaseAll, "."), new Transform("", kUppercaseAll, "='"), new Transform(" ", kUppercaseAll, ". "), new Transform(" ", kUppercaseFirst, '="'), new Transform(" ", kUppercaseAll, "='"), new Transform(" ", kUppercaseFirst, "='") ];
+   exports.kTransforms = kTransforms;
+   exports.kNumTransforms = kTransforms.length;
+   function ToUpperCase(p, i) {
+    if (p[i] < 192) {
+     if (p[i] >= 97 && p[i] <= 122) {
+      p[i] ^= 32;
+     }
+     return 1;
+    }
+    if (p[i] < 224) {
+     p[i + 1] ^= 32;
+     return 2;
+    }
+    p[i + 2] ^= 5;
+    return 3;
+   }
+   exports.transformDictionaryWord = function(dst, idx, word, len, transform) {
+    var prefix = kTransforms[transform].prefix;
+    var suffix = kTransforms[transform].suffix;
+    var t = kTransforms[transform].transform;
+    var skip = t < kOmitFirst1 ? 0 : t - (kOmitFirst1 - 1);
+    var i = 0;
+    var start_idx = idx;
+    var uppercase;
+    if (skip > len) {
+     skip = len;
+    }
+    var prefix_pos = 0;
+    while (prefix_pos < prefix.length) {
+     dst[idx++] = prefix[prefix_pos++];
+    }
+    word += skip;
+    len -= skip;
+    if (t <= kOmitLast9) {
+     len -= t;
+    }
+    for (i = 0; i < len; i++) {
+     dst[idx++] = BrotliDictionary.dictionary[word + i];
+    }
+    uppercase = idx - len;
+    if (t === kUppercaseFirst) {
+     ToUpperCase(dst, uppercase);
+    } else if (t === kUppercaseAll) {
+     while (len > 0) {
+      var step = ToUpperCase(dst, uppercase);
+      uppercase += step;
+      len -= step;
+     }
+    }
+    var suffix_pos = 0;
+    while (suffix_pos < suffix.length) {
+     dst[idx++] = suffix[suffix_pos++];
+    }
+    return idx - start_idx;
+   };
+  }, {
+   "./dictionary": 6
+  } ],
+  11: [ function(require, module, exports) {
+   Module["BrotliDecode"] = require("./dec/decode").BrotliDecompressBuffer;
+  }, {
+   "./dec/decode": 3
+  } ],
+  12: [ function(require, module, exports) {
+   "use strict";
+   exports.byteLength = byteLength;
+   exports.toByteArray = toByteArray;
+   exports.fromByteArray = fromByteArray;
+   var lookup = [];
+   var revLookup = [];
+   var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;
+   var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+   for (var i = 0, len = code.length; i < len; ++i) {
+    lookup[i] = code[i];
+    revLookup[code.charCodeAt(i)] = i;
+   }
+   revLookup["-".charCodeAt(0)] = 62;
+   revLookup["_".charCodeAt(0)] = 63;
+   function getLens(b64) {
+    var len = b64.length;
+    if (len % 4 > 0) {
+     throw new Error("Invalid string. Length must be a multiple of 4");
+    }
+    var validLen = b64.indexOf("=");
+    if (validLen === -1) validLen = len;
+    var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;
+    return [ validLen, placeHoldersLen ];
+   }
+   function byteLength(b64) {
+    var lens = getLens(b64);
+    var validLen = lens[0];
+    var placeHoldersLen = lens[1];
+    return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
+   }
+   function _byteLength(b64, validLen, placeHoldersLen) {
+    return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
+   }
+   function toByteArray(b64) {
+    var tmp;
+    var lens = getLens(b64);
+    var validLen = lens[0];
+    var placeHoldersLen = lens[1];
+    var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
+    var curByte = 0;
+    var len = placeHoldersLen > 0 ? validLen - 4 : validLen;
+    var i;
+    for (i = 0; i < len; i += 4) {
+     tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];
+     arr[curByte++] = tmp >> 16 & 255;
+     arr[curByte++] = tmp >> 8 & 255;
+     arr[curByte++] = tmp & 255;
+    }
+    if (placeHoldersLen === 2) {
+     tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;
+     arr[curByte++] = tmp & 255;
+    }
+    if (placeHoldersLen === 1) {
+     tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;
+     arr[curByte++] = tmp >> 8 & 255;
+     arr[curByte++] = tmp & 255;
+    }
+    return arr;
+   }
+   function tripletToBase64(num) {
+    return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];
+   }
+   function encodeChunk(uint8, start, end) {
+    var tmp;
+    var output = [];
+    for (var i = start; i < end; i += 3) {
+     tmp = (uint8[i] << 16 & 16711680) + (uint8[i + 1] << 8 & 65280) + (uint8[i + 2] & 255);
+     output.push(tripletToBase64(tmp));
+    }
+    return output.join("");
+   }
+   function fromByteArray(uint8) {
+    var tmp;
+    var len = uint8.length;
+    var extraBytes = len % 3;
+    var parts = [];
+    var maxChunkLength = 16383;
+    for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
+     parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));
+    }
+    if (extraBytes === 1) {
+     tmp = uint8[len - 1];
+     parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==");
+    } else if (extraBytes === 2) {
+     tmp = (uint8[len - 2] << 8) + uint8[len - 1];
+     parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=");
+    }
+    return parts.join("");
+   }
+  }, {} ]
+ }, {}, [ 11 ])(11);
+});
+
+var moduleOverrides = {};
+
+var key;
+
+for (key in Module) {
+ if (Module.hasOwnProperty(key)) {
+  moduleOverrides[key] = Module[key];
+ }
+}
+
+var arguments_ = [];
+
+var thisProgram = "./this.program";
+
+var quit_ = function(status, toThrow) {
+ throw toThrow;
+};
+
+var ENVIRONMENT_IS_WEB = false;
+
+var ENVIRONMENT_IS_WORKER = false;
+
+var ENVIRONMENT_IS_NODE = false;
+
+var ENVIRONMENT_IS_SHELL = false;
+
+ENVIRONMENT_IS_WEB = typeof window === "object";
+
+ENVIRONMENT_IS_WORKER = typeof importScripts === "function";
+
+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;
+
+var scriptDirectory = "";
+
+function locateFile(path) {
+ if (Module["locateFile"]) {
+  return Module["locateFile"](path, scriptDirectory);
+ }
+ return scriptDirectory + path;
+}
+
+var read_, readAsync, readBinary, setWindowTitle;
+
+var nodeFS;
+
+var nodePath;
+
+if (ENVIRONMENT_IS_NODE) {
+ if (ENVIRONMENT_IS_WORKER) {
+  scriptDirectory = require("path").dirname(scriptDirectory) + "/";
+ } else {
+  scriptDirectory = __dirname + "/";
+ }
+ read_ = function shell_read(filename, binary) {
+  if (!nodeFS) nodeFS = require("fs");
+  if (!nodePath) nodePath = require("path");
+  filename = nodePath["normalize"](filename);
+  return nodeFS["readFileSync"](filename, binary ? null : "utf8");
+ };
+ readBinary = function readBinary(filename) {
+  var ret = read_(filename, true);
+  if (!ret.buffer) {
+   ret = new Uint8Array(ret);
+  }
+  assert(ret.buffer);
+  return ret;
+ };
+ if (process["argv"].length > 1) {
+  thisProgram = process["argv"][1].replace(/\\/g, "/");
+ }
+ arguments_ = process["argv"].slice(2);
+ if (typeof module !== "undefined") {
+  module["exports"] = Module;
+ }
+ process["on"]("uncaughtException", function(ex) {
+  if (!(ex instanceof ExitStatus)) {
+   throw ex;
+  }
+ });
+ process["on"]("unhandledRejection", abort);
+ quit_ = function(status) {
+  process["exit"](status);
+ };
+ Module["inspect"] = function() {
+  return "[Emscripten Module object]";
+ };
+} else if (ENVIRONMENT_IS_SHELL) {
+ if (typeof read != "undefined") {
+  read_ = function shell_read(f) {
+   return read(f);
+  };
+ }
+ readBinary = function readBinary(f) {
+  var data;
+  if (typeof readbuffer === "function") {
+   return new Uint8Array(readbuffer(f));
+  }
+  data = read(f, "binary");
+  assert(typeof data === "object");
+  return data;
+ };
+ if (typeof scriptArgs != "undefined") {
+  arguments_ = scriptArgs;
+ } else if (typeof arguments != "undefined") {
+  arguments_ = arguments;
+ }
+ if (typeof quit === "function") {
+  quit_ = function(status) {
+   quit(status);
+  };
+ }
+ if (typeof print !== "undefined") {
+  if (typeof console === "undefined") console = {};
+  console.log = print;
+  console.warn = console.error = typeof printErr !== "undefined" ? printErr : print;
+ }
+} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
+ if (ENVIRONMENT_IS_WORKER) {
+  scriptDirectory = self.location.href;
+ } else if (document.currentScript) {
+  scriptDirectory = document.currentScript.src;
+ }
+ if (scriptDirectory.indexOf("blob:") !== 0) {
+  scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1);
+ } else {
+  scriptDirectory = "";
+ }
+ {
+  read_ = function shell_read(url) {
+   var xhr = new XMLHttpRequest();
+   xhr.open("GET", url, false);
+   xhr.send(null);
+   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(xhr.response);
+   };
+  }
+  readAsync = function readAsync(url, onload, onerror) {
+   var xhr = new XMLHttpRequest();
+   xhr.open("GET", url, true);
+   xhr.responseType = "arraybuffer";
+   xhr.onload = function xhr_onload() {
+    if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
+     onload(xhr.response);
+     return;
+    }
+    onerror();
+   };
+   xhr.onerror = onerror;
+   xhr.send(null);
+  };
+ }
+ setWindowTitle = function(title) {
+  document.title = title;
+ };
+} else {}
+
+var out = Module["print"] || console.log.bind(console);
+
+var err = Module["printErr"] || console.warn.bind(console);
+
+for (key in moduleOverrides) {
+ if (moduleOverrides.hasOwnProperty(key)) {
+  Module[key] = moduleOverrides[key];
+ }
+}
+
+moduleOverrides = null;
+
+if (Module["arguments"]) arguments_ = Module["arguments"];
+
+if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
+
+if (Module["quit"]) quit_ = Module["quit"];
+
+var STACK_ALIGN = 16;
+
+function dynamicAlloc(size) {
+ var ret = HEAP32[DYNAMICTOP_PTR >> 2];
+ var end = ret + size + 15 & -16;
+ HEAP32[DYNAMICTOP_PTR >> 2] = end;
+ return ret;
+}
+
+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;
+   } 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);
+ }
+}
+
+function convertJsFunctionToWasm(func, sig) {
+ 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);
+ }
+ var typeSection = [ 1, 0, 1, 96 ];
+ var sigRet = sig.slice(0, 1);
+ var sigParam = sig.slice(1);
+ var typeCodes = {
+  "i": 127,
+  "j": 126,
+  "f": 125,
+  "d": 124
+ };
+ typeSection.push(sigParam.length);
+ for (var i = 0; i < sigParam.length; ++i) {
+  typeSection.push(typeCodes[sigParam[i]]);
+ }
+ if (sigRet == "v") {
+  typeSection.push(0);
+ } else {
+  typeSection = typeSection.concat([ 1, typeCodes[sigRet] ]);
+ }
+ typeSection[1] = typeSection.length - 2;
+ var bytes = new Uint8Array([ 0, 97, 115, 109, 1, 0, 0, 0 ].concat(typeSection, [ 2, 7, 1, 1, 101, 1, 102, 0, 0, 7, 5, 1, 1, 102, 0, 0 ]));
+ var module = new WebAssembly.Module(bytes);
+ var instance = new WebAssembly.Instance(module, {
+  "e": {
+   "f": func
+  }
+ });
+ var wrappedFunc = instance.exports["f"];
+ return wrappedFunc;
+}
+
+var freeTableIndexes = [];
+
+function addFunctionWasm(func, sig) {
+ var table = wasmTable;
+ var ret;
+ if (freeTableIndexes.length) {
+  ret = freeTableIndexes.pop();
+ } else {
+  ret = table.length;
+  try {
+   table.grow(1);
+  } catch (err) {
+   if (!(err instanceof RangeError)) {
+    throw err;
+   }
+   throw "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.";
+  }
+ }
+ try {
+  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);
+ }
+ return ret;
+}
+
+function removeFunctionWasm(index) {
+ freeTableIndexes.push(index);
+}
+
+var funcWrappers = {};
+
+function dynCall(sig, ptr, args) {
+ if (args && args.length) {
+  return Module["dynCall_" + sig].apply(null, [ ptr ].concat(args));
+ } else {
+  return Module["dynCall_" + sig].call(null, ptr);
+ }
+}
+
+var tempRet0 = 0;
+
+var setTempRet0 = function(value) {
+ tempRet0 = value;
+};
+
+var getTempRet0 = function() {
+ return tempRet0;
+};
+
+var wasmBinary;
+
+if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
+
+var noExitRuntime;
+
+if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];
+
+if (typeof WebAssembly !== "object") {
+ err("no native wasm support detected");
+}
+
+function setValue(ptr, value, type, noSafe) {
+ type = type || "i8";
+ if (type.charAt(type.length - 1) === "*") type = "i32";
+ switch (type) {
+ case "i1":
+  HEAP8[ptr >> 0] = value;
+  break;
+
+ case "i8":
+  HEAP8[ptr >> 0] = value;
+  break;
+
+ case "i16":
+  HEAP16[ptr >> 1] = value;
+  break;
+
+ case "i32":
+  HEAP32[ptr >> 2] = value;
+  break;
+
+ case "i64":
+  tempI64 = [ value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], 
+  HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1];
+  break;
+
+ case "float":
+  HEAPF32[ptr >> 2] = value;
+  break;
+
+ case "double":
+  HEAPF64[ptr >> 3] = value;
+  break;
+
+ default:
+  abort("invalid type for setValue: " + type);
+ }
+}
+
+function getValue(ptr, type, noSafe) {
+ type = type || "i8";
+ if (type.charAt(type.length - 1) === "*") type = "i32";
+ switch (type) {
+ case "i1":
+  return HEAP8[ptr >> 0];
+
+ case "i8":
+  return HEAP8[ptr >> 0];
+
+ case "i16":
+  return HEAP16[ptr >> 1];
+
+ case "i32":
+  return HEAP32[ptr >> 2];
+
+ case "i64":
+  return HEAP32[ptr >> 2];
+
+ case "float":
+  return HEAPF32[ptr >> 2];
+
+ case "double":
+  return HEAPF64[ptr >> 3];
+
+ default:
+  abort("invalid type for getValue: " + type);
+ }
+ return null;
+}
+
+var wasmMemory;
+
+var wasmTable = new WebAssembly.Table({
+ "initial": 1011,
+ "maximum": 1011 + 0,
+ "element": "anyfunc"
+});
+
+var ABORT = false;
+
+var EXITSTATUS = 0;
+
+function assert(condition, text) {
+ if (!condition) {
+  abort("Assertion failed: " + text);
+ }
+}
+
+function getCFunc(ident) {
+ var func = Module["_" + ident];
+ assert(func, "Cannot call unknown function " + ident + ", make sure it is exported");
+ return func;
+}
+
+function ccall(ident, returnType, argTypes, args, opts) {
+ var toC = {
+  "string": function(str) {
+   var ret = 0;
+   if (str !== null && str !== undefined && str !== 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;
+ 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;
+}
+
+function cwrap(ident, returnType, argTypes, opts) {
+ argTypes = argTypes || [];
+ var numericArgs = argTypes.every(function(type) {
+  return type === "number";
+ });
+ var numericRet = returnType !== "string";
+ if (numericRet && numericArgs && !opts) {
+  return getCFunc(ident);
+ }
+ return function() {
+  return ccall(ident, returnType, argTypes, arguments, opts);
+ };
+}
+
+var ALLOC_NONE = 3;
+
+function allocate(slab, types, allocator, ptr) {
+ var zeroinit, size;
+ if (typeof slab === "number") {
+  zeroinit = true;
+  size = slab;
+ } else {
+  zeroinit = false;
+  size = slab.length;
+ }
+ var singleType = typeof types === "string" ? types : null;
+ var ret;
+ if (allocator == ALLOC_NONE) {
+  ret = ptr;
+ } else {
+  ret = [ _malloc, stackAlloc, dynamicAlloc ][allocator](Math.max(size, singleType ? 1 : types.length));
+ }
+ if (zeroinit) {
+  var stop;
+  ptr = ret;
+  assert((ret & 3) == 0);
+  stop = ret + (size & ~3);
+  for (;ptr < stop; ptr += 4) {
+   HEAP32[ptr >> 2] = 0;
+  }
+  stop = ret + size;
+  while (ptr < stop) {
+   HEAP8[ptr++ >> 0] = 0;
+  }
+  return ret;
+ }
+ if (singleType === "i8") {
+  if (slab.subarray || slab.slice) {
+   HEAPU8.set(slab, ret);
+  } else {
+   HEAPU8.set(new Uint8Array(slab), ret);
+  }
+  return ret;
+ }
+ var i = 0, type, typeSize, previousType;
+ while (i < size) {
+  var curr = slab[i];
+  type = singleType || types[i];
+  if (type === 0) {
+   i++;
+   continue;
+  }
+  if (type == "i64") type = "i32";
+  setValue(ret + i, curr, type);
+  if (previousType !== type) {
+   typeSize = getNativeTypeSize(type);
+   previousType = type;
+  }
+  i += typeSize;
+ }
+ return ret;
+}
+
+function getMemory(size) {
+ if (!runtimeInitialized) return dynamicAlloc(size);
+ return _malloc(size);
+}
+
+var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined;
+
+function UTF8ArrayToString(u8Array, idx, maxBytesToRead) {
+ var endIdx = idx + maxBytesToRead;
+ var endPtr = idx;
+ while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr;
+ if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
+  return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
+ } else {
+  var str = "";
+  while (idx < endPtr) {
+   var u0 = u8Array[idx++];
+   if (!(u0 & 128)) {
+    str += String.fromCharCode(u0);
+    continue;
+   }
+   var u1 = u8Array[idx++] & 63;
+   if ((u0 & 224) == 192) {
+    str += String.fromCharCode((u0 & 31) << 6 | u1);
+    continue;
+   }
+   var u2 = u8Array[idx++] & 63;
+   if ((u0 & 240) == 224) {
+    u0 = (u0 & 15) << 12 | u1 << 6 | u2;
+   } else {
+    u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63;
+   }
+   if (u0 < 65536) {
+    str += String.fromCharCode(u0);
+   } else {
+    var ch = u0 - 65536;
+    str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
+   }
+  }
+ }
+ return str;
+}
+
+function UTF8ToString(ptr, maxBytesToRead) {
+ return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
+}
+
+function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
+ if (!(maxBytesToWrite > 0)) return 0;
+ var startIdx = outIdx;
+ var endIdx = outIdx + maxBytesToWrite - 1;
+ for (var i = 0; i < str.length; ++i) {
+  var u = str.charCodeAt(i);
+  if (u >= 55296 && u <= 57343) {
+   var u1 = str.charCodeAt(++i);
+   u = 65536 + ((u & 1023) << 10) | u1 & 1023;
+  }
+  if (u <= 127) {
+   if (outIdx >= endIdx) break;
+   outU8Array[outIdx++] = u;
+  } else if (u <= 2047) {
+   if (outIdx + 1 >= endIdx) break;
+   outU8Array[outIdx++] = 192 | u >> 6;
+   outU8Array[outIdx++] = 128 | u & 63;
+  } else if (u <= 65535) {
+   if (outIdx + 2 >= endIdx) break;
+   outU8Array[outIdx++] = 224 | u >> 12;
+   outU8Array[outIdx++] = 128 | u >> 6 & 63;
+   outU8Array[outIdx++] = 128 | u & 63;
+  } else {
+   if (outIdx + 3 >= endIdx) break;
+   outU8Array[outIdx++] = 240 | u >> 18;
+   outU8Array[outIdx++] = 128 | u >> 12 & 63;
+   outU8Array[outIdx++] = 128 | u >> 6 & 63;
+   outU8Array[outIdx++] = 128 | u & 63;
+  }
+ }
+ outU8Array[outIdx] = 0;
+ return outIdx - startIdx;
+}
+
+function stringToUTF8(str, outPtr, maxBytesToWrite) {
+ return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
+}
+
+function lengthBytesUTF8(str) {
+ var len = 0;
+ for (var i = 0; i < str.length; ++i) {
+  var u = str.charCodeAt(i);
+  if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023;
+  if (u <= 127) ++len; else if (u <= 2047) len += 2; else if (u <= 65535) len += 3; else len += 4;
+ }
+ return len;
+}
+
+var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined;
+
+function allocateUTF8OnStack(str) {
+ var size = lengthBytesUTF8(str) + 1;
+ var ret = stackAlloc(size);
+ stringToUTF8Array(str, HEAP8, ret, size);
+ return ret;
+}
+
+function writeArrayToMemory(array, buffer) {
+ HEAP8.set(array, buffer);
+}
+
+function writeAsciiToMemory(str, buffer, dontAddNull) {
+ for (var i = 0; i < str.length; ++i) {
+  HEAP8[buffer++ >> 0] = str.charCodeAt(i);
+ }
+ if (!dontAddNull) HEAP8[buffer >> 0] = 0;
+}
+
+var WASM_PAGE_SIZE = 65536;
+
+function alignUp(x, multiple) {
+ if (x % multiple > 0) {
+  x += multiple - x % multiple;
+ }
+ return x;
+}
+
+var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 STACK_BASE = 5888240, DYNAMIC_BASE = 5888240, DYNAMICTOP_PTR = 645200;
+
+var INITIAL_INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216;
+
+if (Module["wasmMemory"]) {
+ wasmMemory = Module["wasmMemory"];
+} else {
+ wasmMemory = new WebAssembly.Memory({
+  "initial": INITIAL_INITIAL_MEMORY / WASM_PAGE_SIZE
+ });
+}
+
+if (wasmMemory) {
+ buffer = wasmMemory.buffer;
+}
+
+INITIAL_INITIAL_MEMORY = buffer.byteLength;
+
+updateGlobalBufferAndViews(buffer);
+
+HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;
+
+function callRuntimeCallbacks(callbacks) {
+ while (callbacks.length > 0) {
+  var callback = callbacks.shift();
+  if (typeof callback == "function") {
+   callback();
+   continue;
+  }
+  var func = callback.func;
+  if (typeof func === "number") {
+   if (callback.arg === undefined) {
+    Module["dynCall_v"](func);
+   } else {
+    Module["dynCall_vi"](func, callback.arg);
+   }
+  } else {
+   func(callback.arg === undefined ? null : callback.arg);
+  }
+ }
+}
+
+var __ATPRERUN__ = [];
+
+var __ATINIT__ = [];
+
+var __ATMAIN__ = [];
+
+var __ATPOSTRUN__ = [];
+
+var runtimeInitialized = false;
+
+var runtimeExited = false;
+
+function preRun() {
+ if (Module["preRun"]) {
+  if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ];
+  while (Module["preRun"].length) {
+   addOnPreRun(Module["preRun"].shift());
+  }
+ }
+ callRuntimeCallbacks(__ATPRERUN__);
+}
+
+function initRuntime() {
+ runtimeInitialized = true;
+ if (!Module["noFSInit"] && !FS.init.initialized) FS.init();
+ TTY.init();
+ callRuntimeCallbacks(__ATINIT__);
+}
+
+function preMain() {
+ FS.ignorePermissions = false;
+ callRuntimeCallbacks(__ATMAIN__);
+}
+
+function exitRuntime() {
+ runtimeExited = true;
+}
+
+function postRun() {
+ if (Module["postRun"]) {
+  if (typeof Module["postRun"] == "function") Module["postRun"] = [ Module["postRun"] ];
+  while (Module["postRun"].length) {
+   addOnPostRun(Module["postRun"].shift());
+  }
+ }
+ callRuntimeCallbacks(__ATPOSTRUN__);
+}
+
+function addOnPreRun(cb) {
+ __ATPRERUN__.unshift(cb);
+}
+
+function addOnPreMain(cb) {
+ __ATMAIN__.unshift(cb);
+}
+
+function addOnPostRun(cb) {
+ __ATPOSTRUN__.unshift(cb);
+}
+
+var Math_abs = Math.abs;
+
+var Math_ceil = Math.ceil;
+
+var Math_floor = Math.floor;
+
+var Math_min = Math.min;
+
+var runDependencies = 0;
+
+var runDependencyWatcher = null;
+
+var dependenciesFulfilled = null;
+
+function getUniqueRunDependency(id) {
+ return id;
+}
+
+function addRunDependency(id) {
+ runDependencies++;
+ if (Module["monitorRunDependencies"]) {
+  Module["monitorRunDependencies"](runDependencies);
+ }
+}
+
+function removeRunDependency(id) {
+ runDependencies--;
+ if (Module["monitorRunDependencies"]) {
+  Module["monitorRunDependencies"](runDependencies);
+ }
+ if (runDependencies == 0) {
+  if (runDependencyWatcher !== null) {
+   clearInterval(runDependencyWatcher);
+   runDependencyWatcher = null;
+  }
+  if (dependenciesFulfilled) {
+   var callback = dependenciesFulfilled;
+   dependenciesFulfilled = null;
+   callback();
+  }
+ }
+}
+
+Module["preloadedImages"] = {};
+
+Module["preloadedAudios"] = {};
+
+function abort(what) {
+ if (Module["onAbort"]) {
+  Module["onAbort"](what);
+ }
+ what += "";
+ out(what);
+ err(what);
+ ABORT = true;
+ EXITSTATUS = 1;
+ what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info.";
+ throw new WebAssembly.RuntimeError(what);
+}
+
+var dataURIPrefix = "data:application/octet-stream;base64,";
+
+function isDataURI(filename) {
+ return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0;
+}
+
+var wasmBinaryFile = "subtitles-octopus-worker.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 (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function") {
+  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();
+  });
+ }
+ return new Promise(function(resolve, reject) {
+  resolve(getBinary());
+ });
+}
+
+function createWasm() {
+ var info = {
+  "env": asmLibraryArg,
+  "wasi_snapshot_preview1": asmLibraryArg
+ };
+ function receiveInstance(instance, module) {
+  var exports = instance.exports;
+  Module["asm"] = exports;
+  removeRunDependency("wasm-instantiate");
+ }
+ addRunDependency("wasm-instantiate");
+ function receiveInstantiatedSource(output) {
+  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);
+  });
+ }
+ function instantiateAsync() {
+  if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") {
+   fetch(wasmBinaryFile, {
+    credentials: "same-origin"
+   }).then(function(response) {
+    var result = WebAssembly.instantiateStreaming(response, info);
+    return result.then(receiveInstantiatedSource, function(reason) {
+     err("wasm streaming compile failed: " + reason);
+     err("falling back to ArrayBuffer instantiation");
+     instantiateArrayBuffer(receiveInstantiatedSource);
+    });
+   });
+  } else {
+   return instantiateArrayBuffer(receiveInstantiatedSource);
+  }
+ }
+ 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 {};
+}
+
+var tempDouble;
+
+var tempI64;
+
+__ATINIT__.push({
+ func: function() {
+  ___wasm_call_ctors();
+ }
+});
+
+function _emscripten_set_main_loop_timing(mode, value) {
+ Browser.mainLoop.timingMode = mode;
+ Browser.mainLoop.timingValue = value;
+ if (!Browser.mainLoop.func) {
+  return 1;
+ }
+ if (mode == 0) {
+  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);
+  };
+  Browser.mainLoop.method = "timeout";
+ } else if (mode == 1) {
+  Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() {
+   Browser.requestAnimationFrame(Browser.mainLoop.runner);
+  };
+  Browser.mainLoop.method = "rAF";
+ } else if (mode == 2) {
+  if (typeof setImmediate === "undefined") {
+   var setImmediates = [];
+   var emscriptenMainLoopMessageId = "setimmediate";
+   var Browser_setImmediate_messageHandler = function(event) {
+    if (event.data === emscriptenMainLoopMessageId || event.data.target === emscriptenMainLoopMessageId) {
+     event.stopPropagation();
+     setImmediates.shift()();
+    }
+   };
+   addEventListener("message", Browser_setImmediate_messageHandler, true);
+   setImmediate = 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
+     });
+    } else postMessage(emscriptenMainLoopMessageId, "*");
+   };
+  }
+  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();
+};
+
+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 {
+     next = next + .5;
+     Browser.mainLoop.remainingBlockers = (8 * remaining + next) / 9;
+    }
+   }
+   console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + " ms");
+   Browser.mainLoop.updateStatus();
+   if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
+   setTimeout(Browser.mainLoop.runner, 0);
+   return;
+  }
+  if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
+  Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0;
+  if (Browser.mainLoop.timingMode == 1 && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) {
+   Browser.mainLoop.scheduler();
+   return;
+  } else if (Browser.mainLoop.timingMode == 0) {
+   Browser.mainLoop.tickStartTime = _emscripten_get_now();
+  }
+  Browser.mainLoop.runIter(browserIterationFunc);
+  if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
+  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, 1e3 / fps); else _emscripten_set_main_loop_timing(1, 1);
+  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++;
+  },
+  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);
+   _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;
+    }
+   }
+   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"] = [];
+  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;
+  }
+  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) {
+      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);
+    b = bb.getBlob();
+   }
+   var url = Browser.URLObject.createObjectURL(b);
+   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();
+    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);
+    var audio = new Audio();
+    audio.addEventListener("canplaythrough", function() {
+     finish(audio);
+    }, false);
+    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 & 63;
+        leftbits -= 6;
+        ret += BASE[curr];
+       }
+      }
+      if (leftbits == 2) {
+       ret += BASE[(leftchar & 3) << 4];
+       ret += PAD + PAD;
+      } else if (leftbits == 4) {
+       ret += BASE[(leftchar & 15) << 2];
+       ret += PAD;
+      }
+      return ret;
+     }
+     audio.src = "data:audio/x-" + name.substr(-3) + ";base64," + encode64(byteArray);
+     finish(audio);
+    };
+    audio.src = url;
+    Browser.safeSetTimeout(function() {
+     finish(audio);
+    }, 1e4);
+   } else {
+    return fail();
+   }
+  };
+  Module["preloadPlugins"].push(audioPlugin);
+  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) {
+   canvas.requestPointerLock = canvas["requestPointerLock"] || canvas["mozRequestPointerLock"] || canvas["webkitRequestPointerLock"] || canvas["msRequestPointerLock"] || function() {};
+   canvas.exitPointerLock = document["exitPointerLock"] || document["mozExitPointerLock"] || document["webkitExitPointerLock"] || document["msExitPointerLock"] || function() {};
+   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;
+  var ctx;
+  var contextHandle;
+  if (useWebGL) {
+   var contextAttributes = {
+    antialias: false,
+    alpha: false,
+    majorVersion: 1
+   };
+   if (webGLContextAttributes) {
+    for (var attribute in webGLContextAttributes) {
+     contextAttributes[attribute] = webGLContextAttributes[attribute];
+    }
+   }
+   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 {
+    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);
+  }
+  var canvasContainer = document.createElement("div");
+  canvas.parentNode.insertBefore(canvasContainer, canvas);
+  canvasContainer.appendChild(canvas);
+  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();
+ },
+ exitFullscreen: function() {
+  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) {
+  var now = Date.now();
+  if (Browser.nextRAF === 0) {
+   Browser.nextRAF = now + 1e3 / 60;
+  } else {
+   while (now + 2 >= Browser.nextRAF) {
+    Browser.nextRAF += 1e3 / 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() {
+  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();
+   }
+  }, 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 / 3;
+   break;
+
+  case "mousewheel":
+   delta = event.wheelDelta / 120;
+   break;
+
+  case "wheel":
+   delta = event.deltaY;
+   switch (event.deltaMode) {
+   case 0:
+    delta /= 100;
+    break;
+
+   case 1:
+    delta /= 3;
+    break;
+
+   case 2:
+    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) {
+  if (Browser.pointerLock) {
+   if (event.type != "mousemove" && "mozMovementX" in event) {
+    Browser.mouseMovementX = Browser.mouseMovementY = 0;
+   } else {
+    Browser.mouseMovementX = Browser.getMovementX(event);
+    Browser.mouseMovementY = Browser.getMovementY(event);
+   }
+   if (typeof SDL != "undefined") {
+    Browser.mouseX = SDL.mouseX + Browser.mouseMovementX;
+    Browser.mouseY = SDL.mouseY + Browser.mouseMovementY;
+   } else {
+    Browser.mouseX += Browser.mouseMovementX;
+    Browser.mouseY += Browser.mouseMovementY;
+   }
+  } else {
+   var rect = Module["canvas"].getBoundingClientRect();
+   var cw = Module["canvas"].width;
+   var ch = Module["canvas"].height;
+   var scrollX = typeof window.scrollX !== "undefined" ? window.scrollX : window.pageXOffset;
+   var scrollY = typeof window.scrollY !== "undefined" ? window.scrollY : window.pageYOffset;
+   if (event.type === "touchstart" || event.type === "touchend" || event.type === "touchmove") {
+    var touch = event.touch;
+    if (touch === undefined) {
+     return;
+    }
+    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);
+   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() {
+  if (typeof SDL != "undefined") {
+   var flags = HEAPU32[SDL.screen >> 2];
+   flags = flags | 8388608;
+   HEAP32[SDL.screen >> 2] = flags;
+  }
+  Browser.updateCanvasDimensions(Module["canvas"]);
+  Browser.updateResizeListeners();
+ },
+ setWindowedCanvasSize: function() {
+  if (typeof SDL != "undefined") {
+   var flags = HEAPU32[SDL.screen >> 2];
+   flags = flags & ~8388608;
+   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 demangle(func) {
+ 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) {
+  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 ___assert_fail(condition, filename, line, func) {
+ abort("Assertion failed: " + UTF8ToString(condition) + ", at: " + [ filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function" ]);
+}
+
+var _emscripten_get_now_is_monotonic = true;
+
+function ___setErrNo(value) {
+ if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value;
+ return value;
+}
+
+function _clock_gettime(clk_id, tp) {
+ var now;
+ if (clk_id === 0) {
+  now = Date.now();
+ } else if ((clk_id === 1 || clk_id === 4) && _emscripten_get_now_is_monotonic) {
+  now = _emscripten_get_now();
+ } else {
+  ___setErrNo(28);
+  return -1;
+ }
+ HEAP32[tp >> 2] = now / 1e3 | 0;
+ HEAP32[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0;
+ return 0;
+}
+
+function ___clock_gettime(a0, a1) {
+ return _clock_gettime(a0, a1);
+}
+
+function ___map_file(pathname, size) {
+ ___setErrNo(63);
+ return -1;
+}
+
+var PATH = {
+ splitPath: function(filename) {
+  var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
+  return splitPathRe.exec(filename).slice(1);
+ },
+ normalizeArray: function(parts, allowAboveRoot) {
+  var up = 0;
+  for (var i = parts.length - 1; i >= 0; i--) {
+   var last = parts[i];
+   if (last === ".") {
+    parts.splice(i, 1);
+   } else if (last === "..") {
+    parts.splice(i, 1);
+    up++;
+   } else if (up) {
+    parts.splice(i, 1);
+    up--;
+   }
+  }
+  if (allowAboveRoot) {
+   for (;up; up--) {
+    parts.unshift("..");
+   }
+  }
+  return parts;
+ },
+ normalize: function(path) {
+  var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/";
+  path = PATH.normalizeArray(path.split("/").filter(function(p) {
+   return !!p;
+  }), !isAbsolute).join("/");
+  if (!path && !isAbsolute) {
+   path = ".";
+  }
+  if (path && trailingSlash) {
+   path += "/";
+  }
+  return (isAbsolute ? "/" : "") + path;
+ },
+ dirname: function(path) {
+  var result = PATH.splitPath(path), root = result[0], dir = result[1];
+  if (!root && !dir) {
+   return ".";
+  }
+  if (dir) {
+   dir = dir.substr(0, dir.length - 1);
+  }
+  return root + dir;
+ },
+ basename: function(path) {
+  if (path === "/") return "/";
+  var lastSlash = path.lastIndexOf("/");
+  if (lastSlash === -1) return path;
+  return path.substr(lastSlash + 1);
+ },
+ extname: function(path) {
+  return PATH.splitPath(path)[3];
+ },
+ join: function() {
+  var paths = Array.prototype.slice.call(arguments, 0);
+  return PATH.normalize(paths.join("/"));
+ },
+ join2: function(l, r) {
+  return PATH.normalize(l + "/" + r);
+ }
+};
+
+var PATH_FS = {
+ resolve: function() {
+  var resolvedPath = "", resolvedAbsolute = false;
+  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
+   var path = i >= 0 ? arguments[i] : FS.cwd();
+   if (typeof path !== "string") {
+    throw new TypeError("Arguments to path.resolve must be strings");
+   } else if (!path) {
+    return "";
+   }
+   resolvedPath = path + "/" + resolvedPath;
+   resolvedAbsolute = path.charAt(0) === "/";
+  }
+  resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) {
+   return !!p;
+  }), !resolvedAbsolute).join("/");
+  return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
+ },
+ relative: function(from, to) {
+  from = PATH_FS.resolve(from).substr(1);
+  to = PATH_FS.resolve(to).substr(1);
+  function trim(arr) {
+   var start = 0;
+   for (;start < arr.length; start++) {
+    if (arr[start] !== "") break;
+   }
+   var end = arr.length - 1;
+   for (;end >= 0; end--) {
+    if (arr[end] !== "") break;
+   }
+   if (start > end) return [];
+   return arr.slice(start, end - start + 1);
+  }
+  var fromParts = trim(from.split("/"));
+  var toParts = trim(to.split("/"));
+  var length = Math.min(fromParts.length, toParts.length);
+  var samePartsLength = length;
+  for (var i = 0; i < length; i++) {
+   if (fromParts[i] !== toParts[i]) {
+    samePartsLength = i;
+    break;
+   }
+  }
+  var outputParts = [];
+  for (var i = samePartsLength; i < fromParts.length; i++) {
+   outputParts.push("..");
+  }
+  outputParts = outputParts.concat(toParts.slice(samePartsLength));
+  return outputParts.join("/");
+ }
+};
+
+var TTY = {
+ ttys: [],
+ init: function() {},
+ shutdown: function() {},
+ register: function(dev, ops) {
+  TTY.ttys[dev] = {
+   input: [],
+   output: [],
+   ops: ops
+  };
+  FS.registerDevice(dev, TTY.stream_ops);
+ },
+ stream_ops: {
+  open: function(stream) {
+   var tty = TTY.ttys[stream.node.rdev];
+   if (!tty) {
+    throw new FS.ErrnoError(43);
+   }
+   stream.tty = tty;
+   stream.seekable = false;
+  },
+  close: function(stream) {
+   stream.tty.ops.flush(stream.tty);
+  },
+  flush: function(stream) {
+   stream.tty.ops.flush(stream.tty);
+  },
+  read: function(stream, buffer, offset, length, pos) {
+   if (!stream.tty || !stream.tty.ops.get_char) {
+    throw new FS.ErrnoError(60);
+   }
+   var bytesRead = 0;
+   for (var i = 0; i < length; i++) {
+    var result;
+    try {
+     result = stream.tty.ops.get_char(stream.tty);
+    } catch (e) {
+     throw new FS.ErrnoError(29);
+    }
+    if (result === undefined && bytesRead === 0) {
+     throw new FS.ErrnoError(6);
+    }
+    if (result === null || result === undefined) break;
+    bytesRead++;
+    buffer[offset + i] = result;
+   }
+   if (bytesRead) {
+    stream.node.timestamp = Date.now();
+   }
+   return bytesRead;
+  },
+  write: function(stream, buffer, offset, length, pos) {
+   if (!stream.tty || !stream.tty.ops.put_char) {
+    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(29);
+   }
+   if (length) {
+    stream.node.timestamp = Date.now();
+   }
+   return i;
+  }
+ },
+ default_tty_ops: {
+  get_char: function(tty) {
+   if (!tty.input.length) {
+    var result = null;
+    if (ENVIRONMENT_IS_NODE) {
+     var BUFSIZE = 256;
+     var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE);
+     var bytesRead = 0;
+     try {
+      bytesRead = nodeFS.readSync(process.stdin.fd, buf, 0, BUFSIZE, null);
+     } catch (e) {
+      if (e.toString().indexOf("EOF") != -1) bytesRead = 0; else throw e;
+     }
+     if (bytesRead > 0) {
+      result = buf.slice(0, bytesRead).toString("utf-8");
+     } else {
+      result = null;
+     }
+    } else if (typeof window != "undefined" && typeof window.prompt == "function") {
+     result = window.prompt("Input: ");
+     if (result !== null) {
+      result += "\n";
+     }
+    } else if (typeof readline == "function") {
+     result = readline();
+     if (result !== null) {
+      result += "\n";
+     }
+    }
+    if (!result) {
+     return null;
+    }
+    tty.input = intArrayFromString(result, true);
+   }
+   return tty.input.shift();
+  },
+  put_char: function(tty, val) {
+   if (val === null || val === 10) {
+    out(UTF8ArrayToString(tty.output, 0));
+    tty.output = [];
+   } else {
+    if (val != 0) tty.output.push(val);
+   }
+  },
+  flush: function(tty) {
+   if (tty.output && tty.output.length > 0) {
+    out(UTF8ArrayToString(tty.output, 0));
+    tty.output = [];
+   }
+  }
+ },
+ default_tty1_ops: {
+  put_char: function(tty, val) {
+   if (val === null || val === 10) {
+    err(UTF8ArrayToString(tty.output, 0));
+    tty.output = [];
+   } else {
+    if (val != 0) tty.output.push(val);
+   }
+  },
+  flush: function(tty) {
+   if (tty.output && tty.output.length > 0) {
+    err(UTF8ArrayToString(tty.output, 0));
+    tty.output = [];
+   }
+  }
+ }
+};
+
+var MEMFS = {
+ ops_table: null,
+ mount: function(mount) {
+  return MEMFS.createNode(null, "/", 16384 | 511, 0);
+ },
+ createNode: function(parent, name, mode, dev) {
+  if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
+   throw new FS.ErrnoError(63);
+  }
+  if (!MEMFS.ops_table) {
+   MEMFS.ops_table = {
+    dir: {
+     node: {
+      getattr: MEMFS.node_ops.getattr,
+      setattr: MEMFS.node_ops.setattr,
+      lookup: MEMFS.node_ops.lookup,
+      mknod: MEMFS.node_ops.mknod,
+      rename: MEMFS.node_ops.rename,
+      unlink: MEMFS.node_ops.unlink,
+      rmdir: MEMFS.node_ops.rmdir,
+      readdir: MEMFS.node_ops.readdir,
+      symlink: MEMFS.node_ops.symlink
+     },
+     stream: {
+      llseek: MEMFS.stream_ops.llseek
+     }
+    },
+    file: {
+     node: {
+      getattr: MEMFS.node_ops.getattr,
+      setattr: MEMFS.node_ops.setattr
+     },
+     stream: {
+      llseek: MEMFS.stream_ops.llseek,
+      read: MEMFS.stream_ops.read,
+      write: MEMFS.stream_ops.write,
+      allocate: MEMFS.stream_ops.allocate,
+      mmap: MEMFS.stream_ops.mmap,
+      msync: MEMFS.stream_ops.msync
+     }
+    },
+    link: {
+     node: {
+      getattr: MEMFS.node_ops.getattr,
+      setattr: MEMFS.node_ops.setattr,
+      readlink: MEMFS.node_ops.readlink
+     },
+     stream: {}
+    },
+    chrdev: {
+     node: {
+      getattr: MEMFS.node_ops.getattr,
+      setattr: MEMFS.node_ops.setattr
+     },
+     stream: FS.chrdev_stream_ops
+    }
+   };
+  }
+  var node = FS.createNode(parent, name, mode, dev);
+  if (FS.isDir(node.mode)) {
+   node.node_ops = MEMFS.ops_table.dir.node;
+   node.stream_ops = MEMFS.ops_table.dir.stream;
+   node.contents = {};
+  } else if (FS.isFile(node.mode)) {
+   node.node_ops = MEMFS.ops_table.file.node;
+   node.stream_ops = MEMFS.ops_table.file.stream;
+   node.usedBytes = 0;
+   node.contents = null;
+  } else if (FS.isLink(node.mode)) {
+   node.node_ops = MEMFS.ops_table.link.node;
+   node.stream_ops = MEMFS.ops_table.link.stream;
+  } else if (FS.isChrdev(node.mode)) {
+   node.node_ops = MEMFS.ops_table.chrdev.node;
+   node.stream_ops = MEMFS.ops_table.chrdev.stream;
+  }
+  node.timestamp = Date.now();
+  if (parent) {
+   parent.contents[name] = node;
+  }
+  return node;
+ },
+ getFileDataAsRegularArray: function(node) {
+  if (node.contents && node.contents.subarray) {
+   var arr = [];
+   for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]);
+   return arr;
+  }
+  return node.contents;
+ },
+ getFileDataAsTypedArray: function(node) {
+  if (!node.contents) return new Uint8Array(0);
+  if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);
+  return new Uint8Array(node.contents);
+ },
+ expandFileStorage: function(node, newCapacity) {
+  var prevCapacity = node.contents ? node.contents.length : 0;
+  if (prevCapacity >= newCapacity) return;
+  var CAPACITY_DOUBLING_MAX = 1024 * 1024;
+  newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0);
+  if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);
+  var oldContents = node.contents;
+  node.contents = new Uint8Array(newCapacity);
+  if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);
+  return;
+ },
+ resizeFileStorage: function(node, newSize) {
+  if (node.usedBytes == newSize) return;
+  if (newSize == 0) {
+   node.contents = null;
+   node.usedBytes = 0;
+   return;
+  }
+  if (!node.contents || node.contents.subarray) {
+   var oldContents = node.contents;
+   node.contents = new Uint8Array(newSize);
+   if (oldContents) {
+    node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));
+   }
+   node.usedBytes = newSize;
+   return;
+  }
+  if (!node.contents) node.contents = [];
+  if (node.contents.length > newSize) node.contents.length = newSize; else while (node.contents.length < newSize) node.contents.push(0);
+  node.usedBytes = newSize;
+ },
+ node_ops: {
+  getattr: function(node) {
+   var attr = {};
+   attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
+   attr.ino = node.id;
+   attr.mode = node.mode;
+   attr.nlink = 1;
+   attr.uid = 0;
+   attr.gid = 0;
+   attr.rdev = node.rdev;
+   if (FS.isDir(node.mode)) {
+    attr.size = 4096;
+   } else if (FS.isFile(node.mode)) {
+    attr.size = node.usedBytes;
+   } else if (FS.isLink(node.mode)) {
+    attr.size = node.link.length;
+   } else {
+    attr.size = 0;
+   }
+   attr.atime = new Date(node.timestamp);
+   attr.mtime = new Date(node.timestamp);
+   attr.ctime = new Date(node.timestamp);
+   attr.blksize = 4096;
+   attr.blocks = Math.ceil(attr.size / attr.blksize);
+   return attr;
+  },
+  setattr: function(node, attr) {
+   if (attr.mode !== undefined) {
+    node.mode = attr.mode;
+   }
+   if (attr.timestamp !== undefined) {
+    node.timestamp = attr.timestamp;
+   }
+   if (attr.size !== undefined) {
+    MEMFS.resizeFileStorage(node, attr.size);
+   }
+  },
+  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) {
+   if (FS.isDir(old_node.mode)) {
+    var new_node;
+    try {
+     new_node = FS.lookupNode(new_dir, new_name);
+    } catch (e) {}
+    if (new_node) {
+     for (var i in new_node.contents) {
+      throw new FS.ErrnoError(55);
+     }
+    }
+   }
+   delete old_node.parent.contents[old_node.name];
+   old_node.name = new_name;
+   new_dir.contents[new_name] = old_node;
+   old_node.parent = new_dir;
+  },
+  unlink: function(parent, name) {
+   delete parent.contents[name];
+  },
+  rmdir: function(parent, name) {
+   var node = FS.lookupNode(parent, name);
+   for (var i in node.contents) {
+    throw new FS.ErrnoError(55);
+   }
+   delete parent.contents[name];
+  },
+  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) {
+   var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);
+   node.link = oldpath;
+   return node;
+  },
+  readlink: function(node) {
+   if (!FS.isLink(node.mode)) {
+    throw new FS.ErrnoError(28);
+   }
+   return node.link;
+  }
+ },
+ stream_ops: {
+  read: function(stream, buffer, offset, length, position) {
+   var contents = stream.node.contents;
+   if (position >= stream.node.usedBytes) return 0;
+   var size = Math.min(stream.node.usedBytes - position, length);
+   if (size > 8 && contents.subarray) {
+    buffer.set(contents.subarray(position, position + size), offset);
+   } else {
+    for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];
+   }
+   return size;
+  },
+  write: function(stream, buffer, offset, length, position, canOwn) {
+   if (buffer.buffer === HEAP8.buffer) {
+    canOwn = false;
+   }
+   if (!length) return 0;
+   var node = stream.node;
+   node.timestamp = Date.now();
+   if (buffer.subarray && (!node.contents || node.contents.subarray)) {
+    if (canOwn) {
+     node.contents = buffer.subarray(offset, offset + length);
+     node.usedBytes = length;
+     return length;
+    } else if (node.usedBytes === 0 && position === 0) {
+     node.contents = buffer.slice(offset, offset + length);
+     node.usedBytes = length;
+     return length;
+    } else if (position + length <= node.usedBytes) {
+     node.contents.set(buffer.subarray(offset, offset + length), position);
+     return length;
+    }
+   }
+   MEMFS.expandFileStorage(node, position + length);
+   if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); else {
+    for (var i = 0; i < length; i++) {
+     node.contents[position + i] = buffer[offset + i];
+    }
+   }
+   node.usedBytes = Math.max(node.usedBytes, position + length);
+   return length;
+  },
+  llseek: function(stream, offset, whence) {
+   var position = offset;
+   if (whence === 1) {
+    position += stream.position;
+   } else if (whence === 2) {
+    if (FS.isFile(stream.node.mode)) {
+     position += stream.node.usedBytes;
+    }
+   }
+   if (position < 0) {
+    throw new FS.ErrnoError(28);
+   }
+   return position;
+  },
+  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) {
+   if (!FS.isFile(stream.node.mode)) {
+    throw new FS.ErrnoError(43);
+   }
+   var ptr;
+   var allocated;
+   var contents = stream.node.contents;
+   if (!(flags & 2) && contents.buffer === buffer.buffer) {
+    allocated = false;
+    ptr = contents.byteOffset;
+   } else {
+    if (position > 0 || position + length < contents.length) {
+     if (contents.subarray) {
+      contents = contents.subarray(position, position + length);
+     } else {
+      contents = Array.prototype.slice.call(contents, position, position + length);
+     }
+    }
+    allocated = true;
+    var fromHeap = buffer.buffer == HEAP8.buffer;
+    ptr = _malloc(length);
+    if (!ptr) {
+     throw new FS.ErrnoError(48);
+    }
+    (fromHeap ? HEAP8 : buffer).set(contents, ptr);
+   }
+   return {
+    ptr: ptr,
+    allocated: allocated
+   };
+  },
+  msync: function(stream, buffer, offset, length, mmapFlags) {
+   if (!FS.isFile(stream.node.mode)) {
+    throw new FS.ErrnoError(43);
+   }
+   if (mmapFlags & 2) {
+    return 0;
+   }
+   var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
+   return 0;
+  }
+ }
+};
+
+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_FS.resolve(FS.cwd(), path);
+  opts = opts || {};
+  if (!path) return {
+   path: "",
+   node: null
+  };
+  var defaults = {
+   follow_mount: true,
+   recurse_count: 0
+  };
+  for (var key in defaults) {
+   if (opts[key] === undefined) {
+    opts[key] = defaults[key];
+   }
+  }
+  if (opts.recurse_count > 8) {
+   throw new FS.ErrnoError(32);
+  }
+  var parts = PATH.normalizeArray(path.split("/").filter(function(p) {
+   return !!p;
+  }), false);
+  var current = FS.root;
+  var current_path = "/";
+  for (var i = 0; i < parts.length; i++) {
+   var islast = i === parts.length - 1;
+   if (islast && opts.parent) {
+    break;
+   }
+   current = FS.lookupNode(current, parts[i]);
+   current_path = PATH.join2(current_path, parts[i]);
+   if (FS.isMountpoint(current)) {
+    if (!islast || islast && opts.follow_mount) {
+     current = current.mounted.root;
+    }
+   }
+   if (!islast || opts.follow) {
+    var count = 0;
+    while (FS.isLink(current.mode)) {
+     var link = FS.readlink(current_path);
+     current_path = PATH_FS.resolve(PATH.dirname(current_path), link);
+     var lookup = FS.lookupPath(current_path, {
+      recurse_count: opts.recurse_count
+     });
+     current = lookup.node;
+     if (count++ > 40) {
+      throw new FS.ErrnoError(32);
+     }
+    }
+   }
+  }
+  return {
+   path: current_path,
+   node: current
+  };
+ },
+ getPath: function(node) {
+  var path;
+  while (true) {
+   if (FS.isRoot(node)) {
+    var mount = node.mount.mountpoint;
+    if (!path) return mount;
+    return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path;
+   }
+   path = path ? node.name + "/" + path : node.name;
+   node = node.parent;
+  }
+ },
+ hashName: function(parentid, name) {
+  var hash = 0;
+  for (var i = 0; i < name.length; i++) {
+   hash = (hash << 5) - hash + name.charCodeAt(i) | 0;
+  }
+  return (parentid + hash >>> 0) % FS.nameTable.length;
+ },
+ 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) {
+  var hash = FS.hashName(node.parent.id, node.name);
+  if (FS.nameTable[hash] === node) {
+   FS.nameTable[hash] = node.name_next;
+  } else {
+   var current = FS.nameTable[hash];
+   while (current) {
+    if (current.name_next === node) {
+     current.name_next = node.name_next;
+     break;
+    }
+    current = current.name_next;
+   }
+  }
+ },
+ lookupNode: function(parent, name) {
+  var errCode = FS.mayLookup(parent);
+  if (errCode) {
+   throw new FS.ErrnoError(errCode, parent);
+  }
+  var hash = FS.hashName(parent.id, name);
+  for (var node = FS.nameTable[hash]; node; node = node.name_next) {
+   var nodeName = node.name;
+   if (node.parent.id === parent.id && nodeName === name) {
+    return node;
+   }
+  }
+  return FS.lookup(parent, name);
+ },
+ createNode: function(parent, name, mode, rdev) {
+  var node = new FS.FSNode(parent, name, mode, rdev);
+  FS.hashAddNode(node);
+  return node;
+ },
+ destroyNode: function(node) {
+  FS.hashRemoveNode(node);
+ },
+ isRoot: function(node) {
+  return node === node.parent;
+ },
+ isMountpoint: function(node) {
+  return !!node.mounted;
+ },
+ isFile: function(mode) {
+  return (mode & 61440) === 32768;
+ },
+ isDir: function(mode) {
+  return (mode & 61440) === 16384;
+ },
+ isLink: function(mode) {
+  return (mode & 61440) === 40960;
+ },
+ isChrdev: function(mode) {
+  return (mode & 61440) === 8192;
+ },
+ isBlkdev: function(mode) {
+  return (mode & 61440) === 24576;
+ },
+ isFIFO: function(mode) {
+  return (mode & 61440) === 4096;
+ },
+ 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) {
+  var flags = FS.flagModes[str];
+  if (typeof flags === "undefined") {
+   throw new Error("Unknown file open mode: " + str);
+  }
+  return flags;
+ },
+ flagsToPermissionString: function(flag) {
+  var perms = [ "r", "w", "rw" ][flag & 3];
+  if (flag & 512) {
+   perms += "w";
+  }
+  return perms;
+ },
+ nodePermissions: function(node, perms) {
+  if (FS.ignorePermissions) {
+   return 0;
+  }
+  if (perms.indexOf("r") !== -1 && !(node.mode & 292)) {
+   return 2;
+  } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) {
+   return 2;
+  } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) {
+   return 2;
+  }
+  return 0;
+ },
+ 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) {
+  try {
+   var node = FS.lookupNode(dir, name);
+   return 20;
+  } catch (e) {}
+  return FS.nodePermissions(dir, "wx");
+ },
+ mayDelete: function(dir, name, isdir) {
+  var node;
+  try {
+   node = FS.lookupNode(dir, name);
+  } catch (e) {
+   return e.errno;
+  }
+  var errCode = FS.nodePermissions(dir, "wx");
+  if (errCode) {
+   return errCode;
+  }
+  if (isdir) {
+   if (!FS.isDir(node.mode)) {
+    return 54;
+   }
+   if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
+    return 10;
+   }
+  } else {
+   if (FS.isDir(node.mode)) {
+    return 31;
+   }
+  }
+  return 0;
+ },
+ mayOpen: function(node, flags) {
+  if (!node) {
+   return 44;
+  }
+  if (FS.isLink(node.mode)) {
+   return 32;
+  } else if (FS.isDir(node.mode)) {
+   if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) {
+    return 31;
+   }
+  }
+  return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
+ },
+ MAX_OPEN_FDS: 4096,
+ nextfd: function(fd_start, fd_end) {
+  fd_start = fd_start || 0;
+  fd_end = fd_end || FS.MAX_OPEN_FDS;
+  for (var fd = fd_start; fd <= fd_end; fd++) {
+   if (!FS.streams[fd]) {
+    return fd;
+   }
+  }
+  throw new FS.ErrnoError(33);
+ },
+ getStream: function(fd) {
+  return FS.streams[fd];
+ },
+ createStream: function(stream, fd_start, fd_end) {
+  if (!FS.FSStream) {
+   FS.FSStream = function() {};
+   FS.FSStream.prototype = {
+    object: {
+     get: function() {
+      return this.node;
+     },
+     set: function(val) {
+      this.node = val;
+     }
+    },
+    isRead: {
+     get: function() {
+      return (this.flags & 2097155) !== 1;
+     }
+    },
+    isWrite: {
+     get: function() {
+      return (this.flags & 2097155) !== 0;
+     }
+    },
+    isAppend: {
+     get: function() {
+      return this.flags & 1024;
+     }
+    }
+   };
+  }
+  var newStream = new FS.FSStream();
+  for (var p in stream) {
+   newStream[p] = stream[p];
+  }
+  stream = newStream;
+  var fd = FS.nextfd(fd_start, fd_end);
+  stream.fd = fd;
+  FS.streams[fd] = stream;
+  return stream;
+ },
+ closeStream: function(fd) {
+  FS.streams[fd] = null;
+ },
+ chrdev_stream_ops: {
+  open: function(stream) {
+   var device = FS.getDevice(stream.node.rdev);
+   stream.stream_ops = device.stream_ops;
+   if (stream.stream_ops.open) {
+    stream.stream_ops.open(stream);
+   }
+  },
+  llseek: function() {
+   throw new FS.ErrnoError(70);
+  }
+ },
+ major: function(dev) {
+  return dev >> 8;
+ },
+ minor: function(dev) {
+  return dev & 255;
+ },
+ makedev: function(ma, mi) {
+  return ma << 8 | mi;
+ },
+ registerDevice: function(dev, ops) {
+  FS.devices[dev] = {
+   stream_ops: ops
+  };
+ },
+ getDevice: function(dev) {
+  return FS.devices[dev];
+ },
+ getMounts: function(mount) {
+  var mounts = [];
+  var check = [ mount ];
+  while (check.length) {
+   var m = check.pop();
+   mounts.push(m);
+   check.push.apply(check, m.mounts);
+  }
+  return mounts;
+ },
+ syncfs: function(populate, callback) {
+  if (typeof populate === "function") {
+   callback = populate;
+   populate = false;
+  }
+  FS.syncFSRequests++;
+  if (FS.syncFSRequests > 1) {
+   err("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work");
+  }
+  var mounts = FS.getMounts(FS.root.mount);
+  var completed = 0;
+  function doCallback(errCode) {
+   FS.syncFSRequests--;
+   return callback(errCode);
+  }
+  function done(errCode) {
+   if (errCode) {
+    if (!done.errored) {
+     done.errored = true;
+     return doCallback(errCode);
+    }
+    return;
+   }
+   if (++completed >= mounts.length) {
+    doCallback(null);
+   }
+  }
+  mounts.forEach(function(mount) {
+   if (!mount.type.syncfs) {
+    return done(null);
+   }
+   mount.type.syncfs(mount, populate, done);
+  });
+ },
+ mount: function(type, opts, mountpoint) {
+  var root = mountpoint === "/";
+  var pseudo = !mountpoint;
+  var node;
+  if (root && FS.root) {
+   throw new FS.ErrnoError(10);
+  } else if (!root && !pseudo) {
+   var lookup = FS.lookupPath(mountpoint, {
+    follow_mount: false
+   });
+   mountpoint = lookup.path;
+   node = lookup.node;
+   if (FS.isMountpoint(node)) {
+    throw new FS.ErrnoError(10);
+   }
+   if (!FS.isDir(node.mode)) {
+    throw new FS.ErrnoError(54);
+   }
+  }
+  var mount = {
+   type: type,
+   opts: opts,
+   mountpoint: mountpoint,
+   mounts: []
+  };
+  var mountRoot = type.mount(mount);
+  mountRoot.mount = mount;
+  mount.root = mountRoot;
+  if (root) {
+   FS.root = mountRoot;
+  } else if (node) {
+   node.mounted = mount;
+   if (node.mount) {
+    node.mount.mounts.push(mount);
+   }
+  }
+  return mountRoot;
+ },
+ unmount: function(mountpoint) {
+  var lookup = FS.lookupPath(mountpoint, {
+   follow_mount: false
+  });
+  if (!FS.isMountpoint(lookup.node)) {
+   throw new FS.ErrnoError(28);
+  }
+  var node = lookup.node;
+  var mount = node.mounted;
+  var mounts = FS.getMounts(mount);
+  Object.keys(FS.nameTable).forEach(function(hash) {
+   var current = FS.nameTable[hash];
+   while (current) {
+    var next = current.name_next;
+    if (mounts.indexOf(current.mount) !== -1) {
+     FS.destroyNode(current);
+    }
+    current = next;
+   }
+  });
+  node.mounted = null;
+  var idx = node.mount.mounts.indexOf(mount);
+  node.mount.mounts.splice(idx, 1);
+ },
+ lookup: function(parent, name) {
+  return parent.node_ops.lookup(parent, name);
+ },
+ 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(28);
+  }
+  var errCode = FS.mayCreate(parent, name);
+  if (errCode) {
+   throw new FS.ErrnoError(errCode);
+  }
+  if (!parent.node_ops.mknod) {
+   throw new FS.ErrnoError(63);
+  }
+  return parent.node_ops.mknod(parent, name, mode, dev);
+ },
+ create: function(path, mode) {
+  mode = mode !== undefined ? mode : 438;
+  mode &= 4095;
+  mode |= 32768;
+  return FS.mknod(path, mode, 0);
+ },
+ mkdir: function(path, mode) {
+  mode = mode !== undefined ? mode : 511;
+  mode &= 511 | 512;
+  mode |= 16384;
+  return FS.mknod(path, mode, 0);
+ },
+ mkdirTree: function(path, mode) {
+  var dirs = path.split("/");
+  var d = "";
+  for (var i = 0; i < dirs.length; ++i) {
+   if (!dirs[i]) continue;
+   d += "/" + dirs[i];
+   try {
+    FS.mkdir(d, mode);
+   } catch (e) {
+    if (e.errno != 20) throw e;
+   }
+  }
+ },
+ mkdev: function(path, mode, dev) {
+  if (typeof dev === "undefined") {
+   dev = mode;
+   mode = 438;
+  }
+  mode |= 8192;
+  return FS.mknod(path, mode, dev);
+ },
+ 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(44);
+  }
+  var newname = PATH.basename(newpath);
+  var errCode = FS.mayCreate(parent, newname);
+  if (errCode) {
+   throw new FS.ErrnoError(errCode);
+  }
+  if (!parent.node_ops.symlink) {
+   throw new FS.ErrnoError(63);
+  }
+  return parent.node_ops.symlink(parent, newname, oldpath);
+ },
+ rename: function(old_path, new_path) {
+  var old_dirname = PATH.dirname(old_path);
+  var new_dirname = PATH.dirname(new_path);
+  var old_name = PATH.basename(old_path);
+  var new_name = PATH.basename(new_path);
+  var lookup, old_dir, new_dir;
+  try {
+   lookup = FS.lookupPath(old_path, {
+    parent: true
+   });
+   old_dir = lookup.node;
+   lookup = FS.lookupPath(new_path, {
+    parent: true
+   });
+   new_dir = lookup.node;
+  } catch (e) {
+   throw new FS.ErrnoError(10);
+  }
+  if (!old_dir || !new_dir) throw new FS.ErrnoError(44);
+  if (old_dir.mount !== new_dir.mount) {
+   throw new FS.ErrnoError(75);
+  }
+  var old_node = FS.lookupNode(old_dir, old_name);
+  var relative = PATH_FS.relative(old_path, new_dirname);
+  if (relative.charAt(0) !== ".") {
+   throw new FS.ErrnoError(28);
+  }
+  relative = PATH_FS.relative(new_path, old_dirname);
+  if (relative.charAt(0) !== ".") {
+   throw new FS.ErrnoError(55);
+  }
+  var new_node;
+  try {
+   new_node = FS.lookupNode(new_dir, new_name);
+  } catch (e) {}
+  if (old_node === new_node) {
+   return;
+  }
+  var isdir = FS.isDir(old_node.mode);
+  var errCode = FS.mayDelete(old_dir, old_name, isdir);
+  if (errCode) {
+   throw new FS.ErrnoError(errCode);
+  }
+  errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);
+  if (errCode) {
+   throw new FS.ErrnoError(errCode);
+  }
+  if (!old_dir.node_ops.rename) {
+   throw new FS.ErrnoError(63);
+  }
+  if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {
+   throw new FS.ErrnoError(10);
+  }
+  if (new_dir !== old_dir) {
+   errCode = FS.nodePermissions(old_dir, "w");
+   if (errCode) {
+    throw new FS.ErrnoError(errCode);
+   }
+  }
+  try {
+   if (FS.trackingDelegate["willMovePath"]) {
+    FS.trackingDelegate["willMovePath"](old_path, new_path);
+   }
+  } catch (e) {
+   err("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message);
+  }
+  FS.hashRemoveNode(old_node);
+  try {
+   old_dir.node_ops.rename(old_node, new_dir, new_name);
+  } catch (e) {
+   throw e;
+  } finally {
+   FS.hashAddNode(old_node);
+  }
+  try {
+   if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path);
+  } catch (e) {
+   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 errCode = FS.mayDelete(parent, name, true);
+  if (errCode) {
+   throw new FS.ErrnoError(errCode);
+  }
+  if (!parent.node_ops.rmdir) {
+   throw new FS.ErrnoError(63);
+  }
+  if (FS.isMountpoint(node)) {
+   throw new FS.ErrnoError(10);
+  }
+  try {
+   if (FS.trackingDelegate["willDeletePath"]) {
+    FS.trackingDelegate["willDeletePath"](path);
+   }
+  } catch (e) {
+   err("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
+  }
+  parent.node_ops.rmdir(parent, name);
+  FS.destroyNode(node);
+  try {
+   if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path);
+  } catch (e) {
+   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(54);
+  }
+  return node.node_ops.readdir(node);
+ },
+ 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 errCode = FS.mayDelete(parent, name, false);
+  if (errCode) {
+   throw new FS.ErrnoError(errCode);
+  }
+  if (!parent.node_ops.unlink) {
+   throw new FS.ErrnoError(63);
+  }
+  if (FS.isMountpoint(node)) {
+   throw new FS.ErrnoError(10);
+  }
+  try {
+   if (FS.trackingDelegate["willDeletePath"]) {
+    FS.trackingDelegate["willDeletePath"](path);
+   }
+  } catch (e) {
+   err("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
+  }
+  parent.node_ops.unlink(parent, name);
+  FS.destroyNode(node);
+  try {
+   if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path);
+  } catch (e) {
+   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(44);
+  }
+  if (!link.node_ops.readlink) {
+   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(44);
+  }
+  if (!node.node_ops.getattr) {
+   throw new FS.ErrnoError(63);
+  }
+  return node.node_ops.getattr(node);
+ },
+ lstat: function(path) {
+  return FS.stat(path, true);
+ },
+ chmod: function(path, mode, dontFollow) {
+  var node;
+  if (typeof path === "string") {
+   var lookup = FS.lookupPath(path, {
+    follow: !dontFollow
+   });
+   node = lookup.node;
+  } else {
+   node = path;
+  }
+  if (!node.node_ops.setattr) {
+   throw new FS.ErrnoError(63);
+  }
+  node.node_ops.setattr(node, {
+   mode: mode & 4095 | node.mode & ~4095,
+   timestamp: Date.now()
+  });
+ },
+ lchmod: function(path, mode) {
+  FS.chmod(path, mode, true);
+ },
+ fchmod: function(fd, mode) {
+  var stream = FS.getStream(fd);
+  if (!stream) {
+   throw new FS.ErrnoError(8);
+  }
+  FS.chmod(stream.node, mode);
+ },
+ chown: function(path, uid, gid, dontFollow) {
+  var node;
+  if (typeof path === "string") {
+   var lookup = FS.lookupPath(path, {
+    follow: !dontFollow
+   });
+   node = lookup.node;
+  } else {
+   node = path;
+  }
+  if (!node.node_ops.setattr) {
+   throw new FS.ErrnoError(63);
+  }
+  node.node_ops.setattr(node, {
+   timestamp: Date.now()
+  });
+ },
+ lchown: function(path, uid, gid) {
+  FS.chown(path, uid, gid, true);
+ },
+ fchown: function(fd, uid, gid) {
+  var stream = FS.getStream(fd);
+  if (!stream) {
+   throw new FS.ErrnoError(8);
+  }
+  FS.chown(stream.node, uid, gid);
+ },
+ truncate: function(path, len) {
+  if (len < 0) {
+   throw new FS.ErrnoError(28);
+  }
+  var node;
+  if (typeof path === "string") {
+   var lookup = FS.lookupPath(path, {
+    follow: true
+   });
+   node = lookup.node;
+  } else {
+   node = path;
+  }
+  if (!node.node_ops.setattr) {
+   throw new FS.ErrnoError(63);
+  }
+  if (FS.isDir(node.mode)) {
+   throw new FS.ErrnoError(31);
+  }
+  if (!FS.isFile(node.mode)) {
+   throw new FS.ErrnoError(28);
+  }
+  var errCode = FS.nodePermissions(node, "w");
+  if (errCode) {
+   throw new FS.ErrnoError(errCode);
+  }
+  node.node_ops.setattr(node, {
+   size: len,
+   timestamp: Date.now()
+  });
+ },
+ ftruncate: function(fd, len) {
+  var stream = FS.getStream(fd);
+  if (!stream) {
+   throw new FS.ErrnoError(8);
+  }
+  if ((stream.flags & 2097155) === 0) {
+   throw new FS.ErrnoError(28);
+  }
+  FS.truncate(stream.node, len);
+ },
+ utime: function(path, atime, mtime) {
+  var lookup = FS.lookupPath(path, {
+   follow: true
+  });
+  var node = lookup.node;
+  node.node_ops.setattr(node, {
+   timestamp: Math.max(atime, mtime)
+  });
+ },
+ open: function(path, flags, mode, fd_start, fd_end) {
+  if (path === "") {
+   throw new FS.ErrnoError(44);
+  }
+  flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags;
+  mode = typeof mode === "undefined" ? 438 : mode;
+  if (flags & 64) {
+   mode = mode & 4095 | 32768;
+  } else {
+   mode = 0;
+  }
+  var node;
+  if (typeof path === "object") {
+   node = path;
+  } else {
+   path = PATH.normalize(path);
+   try {
+    var lookup = FS.lookupPath(path, {
+     follow: !(flags & 131072)
+    });
+    node = lookup.node;
+   } catch (e) {}
+  }
+  var created = false;
+  if (flags & 64) {
+   if (node) {
+    if (flags & 128) {
+     throw new FS.ErrnoError(20);
+    }
+   } else {
+    node = FS.mknod(path, mode, 0);
+    created = true;
+   }
+  }
+  if (!node) {
+   throw new FS.ErrnoError(44);
+  }
+  if (FS.isChrdev(node.mode)) {
+   flags &= ~512;
+  }
+  if (flags & 65536 && !FS.isDir(node.mode)) {
+   throw new FS.ErrnoError(54);
+  }
+  if (!created) {
+   var errCode = FS.mayOpen(node, flags);
+   if (errCode) {
+    throw new FS.ErrnoError(errCode);
+   }
+  }
+  if (flags & 512) {
+   FS.truncate(node, 0);
+  }
+  flags &= ~(128 | 512);
+  var stream = FS.createStream({
+   node: node,
+   path: FS.getPath(node),
+   flags: flags,
+   seekable: true,
+   position: 0,
+   stream_ops: node.stream_ops,
+   ungotten: [],
+   error: false
+  }, fd_start, fd_end);
+  if (stream.stream_ops.open) {
+   stream.stream_ops.open(stream);
+  }
+  if (Module["logReadFiles"] && !(flags & 1)) {
+   if (!FS.readFiles) FS.readFiles = {};
+   if (!(path in FS.readFiles)) {
+    FS.readFiles[path] = 1;
+    err("FS.trackingDelegate error on read file: " + path);
+   }
+  }
+  try {
+   if (FS.trackingDelegate["onOpenFile"]) {
+    var trackingFlags = 0;
+    if ((flags & 2097155) !== 1) {
+     trackingFlags |= FS.tracking.openFlags.READ;
+    }
+    if ((flags & 2097155) !== 0) {
+     trackingFlags |= FS.tracking.openFlags.WRITE;
+    }
+    FS.trackingDelegate["onOpenFile"](path, trackingFlags);
+   }
+  } catch (e) {
+   err("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message);
+  }
+  return stream;
+ },
+ close: function(stream) {
+  if (FS.isClosed(stream)) {
+   throw new FS.ErrnoError(8);
+  }
+  if (stream.getdents) stream.getdents = null;
+  try {
+   if (stream.stream_ops.close) {
+    stream.stream_ops.close(stream);
+   }
+  } catch (e) {
+   throw e;
+  } finally {
+   FS.closeStream(stream.fd);
+  }
+  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(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) {
+  if (length < 0 || position < 0) {
+   throw new FS.ErrnoError(28);
+  }
+  if (FS.isClosed(stream)) {
+   throw new FS.ErrnoError(8);
+  }
+  if ((stream.flags & 2097155) === 1) {
+   throw new FS.ErrnoError(8);
+  }
+  if (FS.isDir(stream.node.mode)) {
+   throw new FS.ErrnoError(31);
+  }
+  if (!stream.stream_ops.read) {
+   throw new FS.ErrnoError(28);
+  }
+  var seeking = typeof position !== "undefined";
+  if (!seeking) {
+   position = stream.position;
+  } else if (!stream.seekable) {
+   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) {
+  if (length < 0 || position < 0) {
+   throw new FS.ErrnoError(28);
+  }
+  if (FS.isClosed(stream)) {
+   throw new FS.ErrnoError(8);
+  }
+  if ((stream.flags & 2097155) === 0) {
+   throw new FS.ErrnoError(8);
+  }
+  if (FS.isDir(stream.node.mode)) {
+   throw new FS.ErrnoError(31);
+  }
+  if (!stream.stream_ops.write) {
+   throw new FS.ErrnoError(28);
+  }
+  if (stream.flags & 1024) {
+   FS.llseek(stream, 0, 2);
+  }
+  var seeking = typeof position !== "undefined";
+  if (!seeking) {
+   position = stream.position;
+  } else if (!stream.seekable) {
+   throw new FS.ErrnoError(70);
+  }
+  var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
+  if (!seeking) stream.position += bytesWritten;
+  try {
+   if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path);
+  } catch (e) {
+   err("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message);
+  }
+  return bytesWritten;
+ },
+ allocate: function(stream, offset, length) {
+  if (FS.isClosed(stream)) {
+   throw new FS.ErrnoError(8);
+  }
+  if (offset < 0 || length <= 0) {
+   throw new FS.ErrnoError(28);
+  }
+  if ((stream.flags & 2097155) === 0) {
+   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(138);
+  }
+  stream.stream_ops.allocate(stream, offset, length);
+ },
+ mmap: function(stream, buffer, offset, length, position, prot, flags) {
+  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(2);
+  }
+  if (!stream.stream_ops.mmap) {
+   throw new FS.ErrnoError(43);
+  }
+  return stream.stream_ops.mmap(stream, buffer, offset, 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) {
+  return 0;
+ },
+ ioctl: function(stream, cmd, arg) {
+  if (!stream.stream_ops.ioctl) {
+   throw new FS.ErrnoError(59);
+  }
+  return stream.stream_ops.ioctl(stream, cmd, arg);
+ },
+ readFile: function(path, opts) {
+  opts = opts || {};
+  opts.flags = opts.flags || "r";
+  opts.encoding = opts.encoding || "binary";
+  if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
+   throw new Error('Invalid encoding type "' + opts.encoding + '"');
+  }
+  var ret;
+  var stream = FS.open(path, opts.flags);
+  var stat = FS.stat(path);
+  var length = stat.size;
+  var buf = new Uint8Array(length);
+  FS.read(stream, buf, 0, length, 0);
+  if (opts.encoding === "utf8") {
+   ret = UTF8ArrayToString(buf, 0);
+  } else if (opts.encoding === "binary") {
+   ret = buf;
+  }
+  FS.close(stream);
+  return ret;
+ },
+ writeFile: function(path, data, opts) {
+  opts = opts || {};
+  opts.flags = opts.flags || "w";
+  var stream = FS.open(path, opts.flags, opts.mode);
+  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, 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() {
+  return FS.currentPath;
+ },
+ chdir: function(path) {
+  var lookup = FS.lookupPath(path, {
+   follow: true
+  });
+  if (lookup.node === null) {
+   throw new FS.ErrnoError(44);
+  }
+  if (!FS.isDir(lookup.node.mode)) {
+   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() {
+  FS.mkdir("/tmp");
+  FS.mkdir("/home");
+  FS.mkdir("/home/web_user");
+ },
+ createDefaultDevices: function() {
+  FS.mkdir("/dev");
+  FS.registerDevice(FS.makedev(1, 3), {
+   read: function() {
+    return 0;
+   },
+   write: function(stream, buffer, offset, length, pos) {
+    return length;
+   }
+  });
+  FS.mkdev("/dev/null", FS.makedev(1, 3));
+  TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
+  TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
+  FS.mkdev("/dev/tty", FS.makedev(5, 0));
+  FS.mkdev("/dev/tty1", FS.makedev(6, 0));
+  var random_device;
+  if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") {
+   var randomBuffer = new Uint8Array(1);
+   random_device = function() {
+    crypto.getRandomValues(randomBuffer);
+    return randomBuffer[0];
+   };
+  } else if (ENVIRONMENT_IS_NODE) {
+   try {
+    var crypto_module = require("crypto");
+    random_device = function() {
+     return crypto_module["randomBytes"](1)[0];
+    };
+   } catch (e) {}
+  } else {}
+  if (!random_device) {
+   random_device = function() {
+    abort("random_device");
+   };
+  }
+  FS.createDevice("/dev", "random", random_device);
+  FS.createDevice("/dev", "urandom", random_device);
+  FS.mkdir("/dev/shm");
+  FS.mkdir("/dev/shm/tmp");
+ },
+ createSpecialDirectories: function() {
+  FS.mkdir("/proc");
+  FS.mkdir("/proc/self");
+  FS.mkdir("/proc/self/fd");
+  FS.mount({
+   mount: function() {
+    var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73);
+    node.node_ops = {
+     lookup: function(parent, name) {
+      var fd = +name;
+      var stream = FS.getStream(fd);
+      if (!stream) throw new FS.ErrnoError(8);
+      var ret = {
+       parent: null,
+       mount: {
+        mountpoint: "fake"
+       },
+       node_ops: {
+        readlink: function() {
+         return stream.path;
+        }
+       }
+      };
+      ret.parent = ret;
+      return ret;
+     }
+    };
+    return node;
+   }
+  }, {}, "/proc/self/fd");
+ },
+ createStandardStreams: function() {
+  if (Module["stdin"]) {
+   FS.createDevice("/dev", "stdin", Module["stdin"]);
+  } else {
+   FS.symlink("/dev/tty", "/dev/stdin");
+  }
+  if (Module["stdout"]) {
+   FS.createDevice("/dev", "stdout", null, Module["stdout"]);
+  } else {
+   FS.symlink("/dev/tty", "/dev/stdout");
+  }
+  if (Module["stderr"]) {
+   FS.createDevice("/dev", "stderr", null, Module["stderr"]);
+  } else {
+   FS.symlink("/dev/tty1", "/dev/stderr");
+  }
+  var stdin = FS.open("/dev/stdin", "r");
+  var stdout = FS.open("/dev/stdout", "w");
+  var stderr = FS.open("/dev/stderr", "w");
+ },
+ ensureErrnoError: function() {
+  if (FS.ErrnoError) return;
+  FS.ErrnoError = function ErrnoError(errno, node) {
+   this.node = node;
+   this.setErrno = function(errno) {
+    this.errno = errno;
+   };
+   this.setErrno(errno);
+   this.message = "FS error";
+  };
+  FS.ErrnoError.prototype = new Error();
+  FS.ErrnoError.prototype.constructor = FS.ErrnoError;
+  [ 44 ].forEach(function(code) {
+   FS.genericErrors[code] = new FS.ErrnoError(code);
+   FS.genericErrors[code].stack = "<generic error, no stack>";
+  });
+ },
+ staticInit: function() {
+  FS.ensureErrnoError();
+  FS.nameTable = new Array(4096);
+  FS.mount(MEMFS, {}, "/");
+  FS.createDefaultDirectories();
+  FS.createDefaultDevices();
+  FS.createSpecialDirectories();
+  FS.filesystems = {
+   "MEMFS": MEMFS
+  };
+ },
+ init: function(input, output, error) {
+  FS.init.initialized = true;
+  FS.ensureErrnoError();
+  Module["stdin"] = input || Module["stdin"];
+  Module["stdout"] = output || Module["stdout"];
+  Module["stderr"] = error || Module["stderr"];
+  FS.createStandardStreams();
+ },
+ quit: function() {
+  FS.init.initialized = false;
+  var fflush = Module["_fflush"];
+  if (fflush) fflush(0);
+  for (var i = 0; i < FS.streams.length; i++) {
+   var stream = FS.streams[i];
+   if (!stream) {
+    continue;
+   }
+   FS.close(stream);
+  }
+ },
+ getMode: function(canRead, canWrite) {
+  var mode = 0;
+  if (canRead) mode |= 292 | 73;
+  if (canWrite) mode |= 146;
+  return mode;
+ },
+ 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_FS.resolve(base, relative);
+ },
+ standardizePath: function(path) {
+  return PATH.normalize(path);
+ },
+ findObject: function(path, dontResolveLastLink) {
+  var ret = FS.analyzePath(path, dontResolveLastLink);
+  if (ret.exists) {
+   return ret.object;
+  } else {
+   ___setErrNo(ret.error);
+   return null;
+  }
+ },
+ analyzePath: function(path, dontResolveLastLink) {
+  try {
+   var lookup = FS.lookupPath(path, {
+    follow: !dontResolveLastLink
+   });
+   path = lookup.path;
+  } catch (e) {}
+  var ret = {
+   isRoot: false,
+   exists: false,
+   error: 0,
+   name: null,
+   path: null,
+   object: null,
+   parentExists: false,
+   parentPath: null,
+   parentObject: null
+  };
+  try {
+   var lookup = FS.lookupPath(path, {
+    parent: true
+   });
+   ret.parentExists = true;
+   ret.parentPath = lookup.path;
+   ret.parentObject = lookup.node;
+   ret.name = PATH.basename(path);
+   lookup = FS.lookupPath(path, {
+    follow: !dontResolveLastLink
+   });
+   ret.exists = true;
+   ret.path = lookup.path;
+   ret.object = lookup.node;
+   ret.name = lookup.node.name;
+   ret.isRoot = lookup.path === "/";
+  } catch (e) {
+   ret.error = e.errno;
+  }
+  return ret;
+ },
+ 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) {
+  parent = typeof parent === "string" ? parent : FS.getPath(parent);
+  var parts = path.split("/").reverse();
+  while (parts.length) {
+   var part = parts.pop();
+   if (!part) continue;
+   var current = PATH.join2(parent, part);
+   try {
+    FS.mkdir(current);
+   } catch (e) {}
+   parent = current;
+  }
+  return current;
+ },
+ 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) {
+  var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent;
+  var mode = FS.getMode(canRead, canWrite);
+  var node = FS.create(path, mode);
+  if (data) {
+   if (typeof data === "string") {
+    var arr = new Array(data.length);
+    for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
+    data = arr;
+   }
+   FS.chmod(node, mode | 146);
+   var stream = FS.open(node, "w");
+   FS.write(stream, data, 0, data.length, 0, canOwn);
+   FS.close(stream);
+   FS.chmod(node, mode);
+  }
+  return node;
+ },
+ createDevice: function(parent, name, input, output) {
+  var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
+  var mode = FS.getMode(!!input, !!output);
+  if (!FS.createDevice.major) FS.createDevice.major = 64;
+  var dev = FS.makedev(FS.createDevice.major++, 0);
+  FS.registerDevice(dev, {
+   open: function(stream) {
+    stream.seekable = false;
+   },
+   close: function(stream) {
+    if (output && output.buffer && output.buffer.length) {
+     output(10);
+    }
+   },
+   read: function(stream, buffer, offset, length, pos) {
+    var bytesRead = 0;
+    for (var i = 0; i < length; i++) {
+     var result;
+     try {
+      result = input();
+     } catch (e) {
+      throw new FS.ErrnoError(29);
+     }
+     if (result === undefined && bytesRead === 0) {
+      throw new FS.ErrnoError(6);
+     }
+     if (result === null || result === undefined) break;
+     bytesRead++;
+     buffer[offset + i] = result;
+    }
+    if (bytesRead) {
+     stream.node.timestamp = Date.now();
+    }
+    return bytesRead;
+   },
+   write: function(stream, buffer, offset, length, pos) {
+    for (var i = 0; i < length; i++) {
+     try {
+      output(buffer[offset + i]);
+     } catch (e) {
+      throw new FS.ErrnoError(29);
+     }
+    }
+    if (length) {
+     stream.node.timestamp = Date.now();
+    }
+    return i;
+   }
+  });
+  return FS.mkdev(path, mode, dev);
+ },
+ 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) {
+  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 (read_) {
+   try {
+    obj.contents = intArrayFromString(read_(obj.url), true);
+    obj.usedBytes = obj.contents.length;
+   } catch (e) {
+    success = false;
+   }
+  } else {
+   throw new Error("Cannot load without read() or XMLHttpRequest.");
+  }
+  if (!success) ___setErrNo(29);
+  return success;
+ },
+ createLazyFile: function(parent, name, url, canRead, canWrite) {
+  function LazyUint8Array() {
+   this.lengthKnown = false;
+   this.chunks = [];
+  }
+  LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
+   if (idx > this.length - 1 || idx < 0) {
+    return undefined;
+   }
+   var chunkOffset = idx % this.chunkSize;
+   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() {
+   var xhr = new XMLHttpRequest();
+   xhr.open("HEAD", url, false);
+   xhr.send(null);
+   if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
+   var datalength = Number(xhr.getResponseHeader("Content-length"));
+   var header;
+   var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
+   var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
+   var chunkSize = 1024 * 1024;
+   if (!hasByteServing) chunkSize = datalength;
+   var doXHR = function(from, to) {
+    if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
+    if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!");
+    var xhr = new XMLHttpRequest();
+    xhr.open("GET", url, false);
+    if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
+    if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer";
+    if (xhr.overrideMimeType) {
+     xhr.overrideMimeType("text/plain; charset=x-user-defined");
+    }
+    xhr.send(null);
+    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 || []);
+    } else {
+     return intArrayFromString(xhr.responseText || "", true);
+    }
+   };
+   var lazyArray = this;
+   lazyArray.setDataGetter(function(chunkNum) {
+    var start = chunkNum * chunkSize;
+    var end = (chunkNum + 1) * chunkSize - 1;
+    end = Math.min(end, datalength - 1);
+    if (typeof lazyArray.chunks[chunkNum] === "undefined") {
+     lazyArray.chunks[chunkNum] = doXHR(start, end);
+    }
+    if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!");
+    return lazyArray.chunks[chunkNum];
+   });
+   if (usesGzip || !datalength) {
+    chunkSize = datalength = 1;
+    datalength = this.getter(0).length;
+    chunkSize = datalength;
+    out("LazyFiles on gzip forces download of the whole file when length is accessed");
+   }
+   this._length = datalength;
+   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";
+   var lazyArray = new LazyUint8Array();
+   Object.defineProperties(lazyArray, {
+    length: {
+     get: function() {
+      if (!this.lengthKnown) {
+       this.cacheLength();
+      }
+      return this._length;
+     }
+    },
+    chunkSize: {
+     get: function() {
+      if (!this.lengthKnown) {
+       this.cacheLength();
+      }
+      return this._chunkSize;
+     }
+    }
+   });
+   var properties = {
+    isDevice: false,
+    contents: lazyArray
+   };
+  } else {
+   var properties = {
+    isDevice: false,
+    url: url
+   };
+  }
+  var node = FS.createFile(parent, name, properties, canRead, canWrite);
+  if (properties.contents) {
+   node.contents = properties.contents;
+  } else if (properties.url) {
+   node.contents = null;
+   node.url = properties.url;
+  }
+  Object.defineProperties(node, {
+   usedBytes: {
+    get: function() {
+     return this.contents.length;
+    }
+   }
+  });
+  var stream_ops = {};
+  var keys = Object.keys(node.stream_ops);
+  keys.forEach(function(key) {
+   var fn = node.stream_ops[key];
+   stream_ops[key] = function forceLoadLazyFile() {
+    if (!FS.forceLoadFile(node)) {
+     throw new FS.ErrnoError(29);
+    }
+    return fn.apply(null, arguments);
+   };
+  });
+  stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
+   if (!FS.forceLoadFile(node)) {
+    throw new FS.ErrnoError(29);
+   }
+   var contents = stream.node.contents;
+   if (position >= contents.length) return 0;
+   var size = Math.min(contents.length - position, length);
+   if (contents.slice) {
+    for (var i = 0; i < size; i++) {
+     buffer[offset + i] = contents[position + i];
+    }
+   } else {
+    for (var i = 0; i < size; i++) {
+     buffer[offset + i] = contents.get(position + i);
+    }
+   }
+   return size;
+  };
+  node.stream_ops = stream_ops;
+  return node;
+ },
+ createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
+  Browser.init();
+  var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;
+  var dep = getUniqueRunDependency("cp " + fullname);
+  function processData(byteArray) {
+   function finish(byteArray) {
+    if (preFinish) preFinish();
+    if (!dontCreateFile) {
+     FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
+    }
+    if (onload) onload();
+    removeRunDependency(dep);
+   }
+   var handled = false;
+   Module["preloadPlugins"].forEach(function(plugin) {
+    if (handled) return;
+    if (plugin["canHandle"](fullname)) {
+     plugin["handle"](byteArray, fullname, finish, function() {
+      if (onerror) onerror();
+      removeRunDependency(dep);
+     });
+     handled = true;
+    }
+   });
+   if (!handled) finish(byteArray);
+  }
+  addRunDependency(dep);
+  if (typeof url == "string") {
+   Browser.asyncLoad(url, function(byteArray) {
+    processData(byteArray);
+   }, onerror);
+  } else {
+   processData(url);
+  }
+ },
+ indexedDB: function() {
+  return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
+ },
+ DB_NAME: function() {
+  return "EM_FS_" + window.location.pathname;
+ },
+ DB_VERSION: 20,
+ DB_STORE_NAME: "FILE_DATA",
+ saveFilesToDB: function(paths, onload, onerror) {
+  onload = onload || function() {};
+  onerror = onerror || function() {};
+  var indexedDB = FS.indexedDB();
+  try {
+   var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
+  } catch (e) {
+   return onerror(e);
+  }
+  openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
+   out("creating db");
+   var db = openRequest.result;
+   db.createObjectStore(FS.DB_STORE_NAME);
+  };
+  openRequest.onsuccess = function openRequest_onsuccess() {
+   var db = openRequest.result;
+   var transaction = db.transaction([ FS.DB_STORE_NAME ], "readwrite");
+   var files = transaction.objectStore(FS.DB_STORE_NAME);
+   var ok = 0, fail = 0, total = paths.length;
+   function finish() {
+    if (fail == 0) onload(); else onerror();
+   }
+   paths.forEach(function(path) {
+    var putRequest = files.put(FS.analyzePath(path).object.contents, path);
+    putRequest.onsuccess = function putRequest_onsuccess() {
+     ok++;
+     if (ok + fail == total) finish();
+    };
+    putRequest.onerror = function putRequest_onerror() {
+     fail++;
+     if (ok + fail == total) finish();
+    };
+   });
+   transaction.onerror = onerror;
+  };
+  openRequest.onerror = onerror;
+ },
+ loadFilesFromDB: function(paths, onload, onerror) {
+  onload = onload || function() {};
+  onerror = onerror || function() {};
+  var indexedDB = FS.indexedDB();
+  try {
+   var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
+  } catch (e) {
+   return onerror(e);
+  }
+  openRequest.onupgradeneeded = onerror;
+  openRequest.onsuccess = function openRequest_onsuccess() {
+   var db = openRequest.result;
+   try {
+    var transaction = db.transaction([ FS.DB_STORE_NAME ], "readonly");
+   } catch (e) {
+    onerror(e);
+    return;
+   }
+   var files = transaction.objectStore(FS.DB_STORE_NAME);
+   var ok = 0, fail = 0, total = paths.length;
+   function finish() {
+    if (fail == 0) onload(); else onerror();
+   }
+   paths.forEach(function(path) {
+    var getRequest = files.get(path);
+    getRequest.onsuccess = function getRequest_onsuccess() {
+     if (FS.analyzePath(path).exists) {
+      FS.unlink(path);
+     }
+     FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
+     ok++;
+     if (ok + fail == total) finish();
+    };
+    getRequest.onerror = function getRequest_onerror() {
+     fail++;
+     if (ok + fail == total) finish();
+    };
+   });
+   transaction.onerror = onerror;
+  };
+  openRequest.onerror = onerror;
+ }
+};
+
+var SYSCALLS = {
+ mappings: {},
+ DEFAULT_POLLMASK: 5,
+ umask: 511,
+ calculateAt: function(dirfd, path) {
+  if (path[0] !== "/") {
+   var dir;
+   if (dirfd === -100) {
+    dir = FS.cwd();
+   } else {
+    var dirstream = FS.getStream(dirfd);
+    if (!dirstream) throw new FS.ErrnoError(8);
+    dir = dirstream.path;
+   }
+   path = PATH.join2(dir, path);
+  }
+  return path;
+ },
+ doStat: function(func, path, buf) {
+  try {
+   var stat = func(path);
+  } catch (e) {
+   if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
+    return -54;
+   }
+   throw e;
+  }
+  HEAP32[buf >> 2] = stat.dev;
+  HEAP32[buf + 4 >> 2] = 0;
+  HEAP32[buf + 8 >> 2] = stat.ino;
+  HEAP32[buf + 12 >> 2] = stat.mode;
+  HEAP32[buf + 16 >> 2] = stat.nlink;
+  HEAP32[buf + 20 >> 2] = stat.uid;
+  HEAP32[buf + 24 >> 2] = stat.gid;
+  HEAP32[buf + 28 >> 2] = stat.rdev;
+  HEAP32[buf + 32 >> 2] = 0;
+  tempI64 = [ stat.size >>> 0, (tempDouble = stat.size, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 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() / 1e3 | 0;
+  HEAP32[buf + 60 >> 2] = 0;
+  HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0;
+  HEAP32[buf + 68 >> 2] = 0;
+  HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0;
+  HEAP32[buf + 76 >> 2] = 0;
+  tempI64 = [ stat.ino >>> 0, (tempDouble = stat.ino, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], 
+  HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1];
+  return 0;
+ },
+ 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) {
+  path = PATH.normalize(path);
+  if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1);
+  FS.mkdir(path, mode, 0);
+  return 0;
+ },
+ doMknod: function(path, mode, dev) {
+  switch (mode & 61440) {
+  case 32768:
+  case 8192:
+  case 24576:
+  case 4096:
+  case 49152:
+   break;
+
+  default:
+   return -28;
+  }
+  FS.mknod(path, mode, dev);
+  return 0;
+ },
+ doReadlink: function(path, buf, bufsize) {
+  if (bufsize <= 0) return -28;
+  var ret = FS.readlink(path);
+  var len = Math.min(bufsize, lengthBytesUTF8(ret));
+  var endChar = HEAP8[buf + len];
+  stringToUTF8(ret, buf, bufsize + 1);
+  HEAP8[buf + len] = endChar;
+  return len;
+ },
+ doAccess: function(path, amode) {
+  if (amode & ~7) {
+   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";
+  if (amode & 2) perms += "w";
+  if (amode & 1) perms += "x";
+  if (perms && FS.nodePermissions(node, perms)) {
+   return -2;
+  }
+  return 0;
+ },
+ 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) {
+  var ret = 0;
+  for (var i = 0; i < iovcnt; i++) {
+   var ptr = HEAP32[iov + i * 8 >> 2];
+   var len = HEAP32[iov + (i * 8 + 4) >> 2];
+   var curr = FS.read(stream, HEAP8, ptr, len, offset);
+   if (curr < 0) return -1;
+   ret += curr;
+   if (curr < len) break;
+  }
+  return ret;
+ },
+ doWritev: function(stream, iov, iovcnt, offset) {
+  var ret = 0;
+  for (var i = 0; i < iovcnt; i++) {
+   var ptr = HEAP32[iov + i * 8 >> 2];
+   var len = HEAP32[iov + (i * 8 + 4) >> 2];
+   var curr = FS.write(stream, HEAP8, ptr, len, offset);
+   if (curr < 0) return -1;
+   ret += curr;
+  }
+  return ret;
+ },
+ varargs: undefined,
+ get: function() {
+  SYSCALLS.varargs += 4;
+  var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];
+  return ret;
+ },
+ getStr: function(ptr) {
+  var ret = UTF8ToString(ptr);
+  return ret;
+ },
+ getStreamFromFD: function(fd) {
+  var stream = FS.getStream(fd);
+  if (!stream) throw new FS.ErrnoError(8);
+  return stream;
+ },
+ get64: function(low, high) {
+  return low;
+ }
+};
+
+function ___syscall10(path) {
+ try {
+  path = SYSCALLS.getStr(path);
+  FS.unlink(path);
+  return 0;
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall125(addr, len, size) {
+ return 0;
+}
+
+function ___syscall15(path, mode) {
+ try {
+  path = SYSCALLS.getStr(path);
+  FS.chmod(path, mode);
+  return 0;
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall183(buf, size) {
+ try {
+  if (size === 0) return -28;
+  var cwd = FS.cwd();
+  var cwdLengthInBytes = lengthBytesUTF8(cwd);
+  if (size < cwdLengthInBytes + 1) return -68;
+  stringToUTF8(cwd, buf, size);
+  return buf;
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall195(path, buf) {
+ try {
+  path = SYSCALLS.getStr(path);
+  return SYSCALLS.doStat(FS.stat, path, buf);
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall196(path, buf) {
+ try {
+  path = SYSCALLS.getStr(path);
+  return SYSCALLS.doStat(FS.lstat, path, buf);
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall197(fd, buf) {
+ try {
+  var stream = SYSCALLS.getStreamFromFD(fd);
+  return SYSCALLS.doStat(FS.stat, stream.path, buf);
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall20() {
+ return 42;
+}
+
+function ___syscall220(fd, dirp, count) {
+ try {
+  var stream = SYSCALLS.getStreamFromFD(fd);
+  if (!stream.getdents) {
+   stream.getdents = FS.readdir(stream.path);
+  }
+  var struct_size = 280;
+  var pos = 0;
+  var off = FS.llseek(stream, 0, 1);
+  var idx = Math.floor(off / struct_size);
+  while (idx < stream.getdents.length && pos + struct_size <= count) {
+   var id;
+   var type;
+   var name = stream.getdents[idx];
+   if (name[0] === ".") {
+    id = 1;
+    type = 4;
+   } else {
+    var child = FS.lookupNode(stream.node, name);
+    id = child.id;
+    type = FS.isChrdev(child.mode) ? 2 : FS.isDir(child.mode) ? 4 : FS.isLink(child.mode) ? 10 : 8;
+   }
+   tempI64 = [ id >>> 0, (tempDouble = id, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], 
+   HEAP32[dirp + pos >> 2] = tempI64[0], HEAP32[dirp + pos + 4 >> 2] = tempI64[1];
+   tempI64 = [ (idx + 1) * struct_size >>> 0, (tempDouble = (idx + 1) * struct_size, 
+   +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], 
+   HEAP32[dirp + pos + 8 >> 2] = tempI64[0], HEAP32[dirp + pos + 12 >> 2] = tempI64[1];
+   HEAP16[dirp + pos + 16 >> 1] = 280;
+   HEAP8[dirp + pos + 18 >> 0] = type;
+   stringToUTF8(name, dirp + pos + 19, 256);
+   pos += struct_size;
+   idx += 1;
+  }
+  FS.llseek(stream, idx * struct_size, 0);
+  return pos;
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall221(fd, cmd, varargs) {
+ SYSCALLS.varargs = varargs;
+ try {
+  var stream = SYSCALLS.getStreamFromFD(fd);
+  switch (cmd) {
+  case 0:
+   {
+    var arg = SYSCALLS.get();
+    if (arg < 0) {
+     return -28;
+    }
+    var newStream;
+    newStream = FS.open(stream.path, stream.flags, 0, arg);
+    return newStream.fd;
+   }
+
+  case 1:
+  case 2:
+   return 0;
+
+  case 3:
+   return stream.flags;
+
+  case 4:
+   {
+    var arg = SYSCALLS.get();
+    stream.flags |= arg;
+    return 0;
+   }
+
+  case 12:
+   {
+    var arg = SYSCALLS.get();
+    var offset = 0;
+    HEAP16[arg + offset >> 1] = 2;
+    return 0;
+   }
+
+  case 13:
+  case 14:
+   return 0;
+
+  case 16:
+  case 8:
+   return -28;
+
+  case 9:
+   ___setErrNo(28);
+   return -1;
+
+  default:
+   {
+    return -28;
+   }
+  }
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall3(fd, buf, count) {
+ try {
+  var stream = SYSCALLS.getStreamFromFD(fd);
+  return FS.read(stream, HEAP8, buf, count);
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall33(path, amode) {
+ try {
+  path = SYSCALLS.getStr(path);
+  return SYSCALLS.doAccess(path, amode);
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall38(old_path, new_path) {
+ try {
+  old_path = SYSCALLS.getStr(old_path);
+  new_path = SYSCALLS.getStr(new_path);
+  FS.rename(old_path, new_path);
+  return 0;
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall39(path, mode) {
+ try {
+  path = SYSCALLS.getStr(path);
+  return SYSCALLS.doMkdir(path, mode);
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall40(path) {
+ try {
+  path = SYSCALLS.getStr(path);
+  FS.rmdir(path);
+  return 0;
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall5(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 ___syscall54(fd, op, varargs) {
+ SYSCALLS.varargs = varargs;
+ try {
+  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;
+   }
+
+  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;
+   }
+
+  case 21531:
+   {
+    var argp = SYSCALLS.get();
+    return FS.ioctl(stream, op, argp);
+   }
+
+  case 21523:
+   {
+    if (!stream.tty) return -59;
+    return 0;
+   }
+
+  case 21524:
+   {
+    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);
+  return -e.errno;
+ }
+}
+
+function ___syscall83(target, linkpath) {
+ try {
+  target = SYSCALLS.getStr(target);
+  linkpath = SYSCALLS.getStr(linkpath);
+  FS.symlink(target, linkpath);
+  return 0;
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall85(path, buf, bufsize) {
+ try {
+  path = SYSCALLS.getStr(path);
+  return SYSCALLS.doReadlink(path, buf, bufsize);
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function ___syscall9(oldpath, newpath) {
+ return -34;
+}
+
+function syscallMunmap(addr, len) {
+ if (addr === -1 || len === 0) {
+  return -28;
+ }
+ var info = SYSCALLS.mappings[addr];
+ if (!info) return 0;
+ if (len === info.len) {
+  var stream = FS.getStream(info.fd);
+  SYSCALLS.doMsync(addr, stream, len, info.flags, info.offset);
+  FS.munmap(stream);
+  SYSCALLS.mappings[addr] = null;
+  if (info.allocated) {
+   _free(info.malloc);
+  }
+ }
+ return 0;
+}
+
+function ___syscall91(addr, len) {
+ try {
+  return syscallMunmap(addr, len);
+ } catch (e) {
+  if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+  return -e.errno;
+ }
+}
+
+function _abort() {
+ abort();
+}
+
+function _emscripten_get_sbrk_ptr() {
+ return 645200;
+}
+
+var setjmpId = 0;
+
+function _saveSetjmp(env, label, table, size) {
+ 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;
+   HEAP32[table + ((i << 3) + 8) >> 2] = 0;
+   setTempRet0(size | 0);
+   return table | 0;
+  }
+  i = i + 1 | 0;
+ }
+ 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;
+ setTempRet0(size | 0);
+ 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 _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 emscripten_realloc_buffer(size) {
+ try {
+  wasmMemory.grow(size - buffer.byteLength + 65535 >> 16);
+  updateGlobalBufferAndViews(wasmMemory.buffer);
+  return 1;
+ } catch (e) {}
+}
+
+function _emscripten_resize_heap(requestedSize) {
+ var oldSize = _emscripten_get_heap_size();
+ var PAGE_MULTIPLE = 65536;
+ var maxHeapSize = 2147483648 - PAGE_MULTIPLE;
+ if (requestedSize > maxHeapSize) {
+  return false;
+ }
+ var minHeapSize = 16777216;
+ for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
+  var overGrownHeapSize = oldSize * (1 + .2 / cutDown);
+  overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
+  var newSize = Math.min(maxHeapSize, alignUp(Math.max(minHeapSize, requestedSize, overGrownHeapSize), PAGE_MULTIPLE));
+  var replacement = emscripten_realloc_buffer(newSize);
+  if (replacement) {
+   return true;
+  }
+ }
+ return false;
+}
+
+var ENV = {};
+
+function __getExecutableName() {
+ return thisProgram || "./this.program";
+}
+
+function _emscripten_get_environ() {
+ if (!_emscripten_get_environ.strings) {
+  var env = {
+   "USER": "web_user",
+   "LOGNAME": "web_user",
+   "PATH": "/",
+   "PWD": "/",
+   "HOME": "/home/web_user",
+   "LANG": (typeof navigator === "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8",
+   "_": __getExecutableName()
+  };
+  for (var x in ENV) {
+   env[x] = ENV[x];
+  }
+  var strings = [];
+  for (var x in env) {
+   strings.push(x + "=" + env[x]);
+  }
+  _emscripten_get_environ.strings = strings;
+ }
+ return _emscripten_get_environ.strings;
+}
+
+function _environ_get(__environ, environ_buf) {
+ var strings = _emscripten_get_environ();
+ var bufSize = 0;
+ strings.forEach(function(string, i) {
+  var ptr = environ_buf + bufSize;
+  HEAP32[__environ + i * 4 >> 2] = ptr;
+  writeAsciiToMemory(string, ptr);
+  bufSize += string.length + 1;
+ });
+ return 0;
+}
+
+function _environ_sizes_get(penviron_count, penviron_buf_size) {
+ var strings = _emscripten_get_environ();
+ HEAP32[penviron_count >> 2] = strings.length;
+ var bufSize = 0;
+ strings.forEach(function(string) {
+  bufSize += string.length + 1;
+ });
+ HEAP32[penviron_buf_size >> 2] = bufSize;
+ return 0;
+}
+
+function _exit(status) {
+ 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_fdstat_get(fd, pbuf) {
+ try {
+  var stream = SYSCALLS.getStreamFromFD(fd);
+  var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4;
+  HEAP8[pbuf >> 0] = type;
+  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 = 4294967296;
+  var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0);
+  var DOUBLE_LIMIT = 9007199254740992;
+  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 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], 
+  HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];
+  if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;
+  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 _gettimeofday(ptr) {
+ var now = Date.now();
+ HEAP32[ptr >> 2] = now / 1e3 | 0;
+ HEAP32[ptr + 4 >> 2] = now % 1e3 * 1e3 | 0;
+ return 0;
+}
+
+function _roundf(d) {
+ d = +d;
+ return d >= +0 ? +Math_floor(d + +.5) : +Math_ceil(d - +.5);
+}
+
+function _setTempRet0($i) {
+ setTempRet0($i | 0);
+}
+
+function _sysconf(name) {
+ switch (name) {
+ case 30:
+  return 16384;
+
+ case 85:
+  var maxHeapSize = 2 * 1024 * 1024 * 1024 - 65536;
+  return maxHeapSize / 16384;
+
+ case 132:
+ case 133:
+ case 12:
+ case 137:
+ case 138:
+ case 15:
+ case 235:
+ case 16:
+ case 17:
+ case 18:
+ case 19:
+ case 20:
+ case 149:
+ case 13:
+ case 10:
+ case 236:
+ case 153:
+ case 9:
+ case 21:
+ case 22:
+ case 159:
+ case 154:
+ case 14:
+ case 77:
+ case 78:
+ case 139:
+ case 80:
+ case 81:
+ case 82:
+ case 68:
+ case 67:
+ case 164:
+ case 11:
+ case 29:
+ case 47:
+ case 48:
+ case 95:
+ case 52:
+ case 51:
+ case 46:
+ case 79:
+  return 200809;
+
+ case 27:
+ case 246:
+ case 127:
+ case 128:
+ case 23:
+ case 24:
+ case 160:
+ case 161:
+ case 181:
+ case 182:
+ case 242:
+ case 183:
+ case 184:
+ case 243:
+ case 244:
+ case 245:
+ case 165:
+ case 178:
+ case 179:
+ case 49:
+ case 50:
+ case 168:
+ case 169:
+ case 175:
+ case 170:
+ case 171:
+ case 172:
+ case 97:
+ case 76:
+ case 32:
+ case 173:
+ case 35:
+  return -1;
+
+ case 176:
+ case 177:
+ case 7:
+ case 155:
+ case 8:
+ case 157:
+ case 125:
+ case 126:
+ case 92:
+ case 93:
+ case 129:
+ case 130:
+ case 131:
+ case 94:
+ case 91:
+  return 1;
+
+ case 74:
+ case 60:
+ case 69:
+ case 70:
+ case 4:
+  return 1024;
+
+ case 31:
+ case 42:
+ case 72:
+  return 32;
+
+ case 87:
+ case 26:
+ case 33:
+  return 2147483647;
+
+ case 34:
+ case 1:
+  return 47839;
+
+ case 38:
+ case 36:
+  return 99;
+
+ case 43:
+ case 37:
+  return 2048;
+
+ case 0:
+  return 2097152;
+
+ case 3:
+  return 65536;
+
+ case 28:
+  return 32768;
+
+ case 44:
+  return 32767;
+
+ case 75:
+  return 16384;
+
+ case 39:
+  return 1e3;
+
+ case 89:
+  return 700;
+
+ case 71:
+  return 256;
+
+ case 40:
+  return 255;
+
+ case 2:
+  return 100;
+
+ case 180:
+  return 64;
+
+ case 25:
+  return 20;
+
+ case 5:
+  return 16;
+
+ case 6:
+  return 6;
+
+ case 73:
+  return 4;
+
+ case 84:
+  {
+   if (typeof navigator === "object") return navigator["hardwareConcurrency"] || 1;
+   return 1;
+  }
+ }
+ ___setErrNo(28);
+ return -1;
+}
+
+function _time(ptr) {
+ var ret = Date.now() / 1e3 | 0;
+ if (ptr) {
+  HEAP32[ptr >> 2] = ret;
+ }
+ return ret;
+}
+
+Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas) {
+ Browser.requestFullscreen(lockPointer, resizeCanvas);
+};
+
+Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) {
+ Browser.requestAnimationFrame(func);
+};
+
+Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) {
+ Browser.setCanvasSize(width, height, noUpdates);
+};
+
+Module["pauseMainLoop"] = function Module_pauseMainLoop() {
+ Browser.mainLoop.pause();
+};
+
+Module["resumeMainLoop"] = function Module_resumeMainLoop() {
+ Browser.mainLoop.resume();
+};
+
+Module["getUserMedia"] = function Module_getUserMedia() {
+ Browser.getUserMedia();
+};
+
+Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) {
+ return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes);
+};
+
+var FSNode = function(parent, name, mode, rdev) {
+ if (!parent) {
+  parent = this;
+ }
+ 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;
+};
+
+var readMode = 292 | 73;
+
+var writeMode = 146;
+
+Object.defineProperties(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);
+  }
+ }
+});
+
+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 = false;
+
+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;
+}
+
+var asmLibraryArg = {
+ "__assert_fail": ___assert_fail,
+ "__clock_gettime": ___clock_gettime,
+ "__map_file": ___map_file,
+ "__syscall10": ___syscall10,
+ "__syscall125": ___syscall125,
+ "__syscall15": ___syscall15,
+ "__syscall183": ___syscall183,
+ "__syscall195": ___syscall195,
+ "__syscall196": ___syscall196,
+ "__syscall197": ___syscall197,
+ "__syscall20": ___syscall20,
+ "__syscall220": ___syscall220,
+ "__syscall221": ___syscall221,
+ "__syscall3": ___syscall3,
+ "__syscall33": ___syscall33,
+ "__syscall38": ___syscall38,
+ "__syscall39": ___syscall39,
+ "__syscall40": ___syscall40,
+ "__syscall5": ___syscall5,
+ "__syscall54": ___syscall54,
+ "__syscall83": ___syscall83,
+ "__syscall85": ___syscall85,
+ "__syscall9": ___syscall9,
+ "__syscall91": ___syscall91,
+ "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,
+ "environ_get": _environ_get,
+ "environ_sizes_get": _environ_sizes_get,
+ "exit": _exit,
+ "fd_close": _fd_close,
+ "fd_fdstat_get": _fd_fdstat_get,
+ "fd_read": _fd_read,
+ "fd_seek": _fd_seek,
+ "fd_write": _fd_write,
+ "getTempRet0": _getTempRet0,
+ "gettimeofday": _gettimeofday,
+ "invoke_iii": invoke_iii,
+ "invoke_iiii": invoke_iiii,
+ "invoke_iiiii": invoke_iiiii,
+ "invoke_v": invoke_v,
+ "invoke_vi": invoke_vi,
+ "invoke_viiii": invoke_viiii,
+ "memory": wasmMemory,
+ "roundf": _roundf,
+ "saveSetjmp": _saveSetjmp,
+ "setTempRet0": _setTempRet0,
+ "sysconf": _sysconf,
+ "table": wasmTable,
+ "testSetjmp": _testSetjmp,
+ "time": _time
+};
+
+var asm = createWasm();
+
+Module["asm"] = asm;
+
+var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() {
+ return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["__wasm_call_ctors"]).apply(null, arguments);
+};
+
+var _main = Module["_main"] = function() {
+ return (_main = Module["_main"] = Module["asm"]["main"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_Start_0 = Module["_emscripten_bind_ASS_Event_get_Start_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_Start_0 = Module["_emscripten_bind_ASS_Event_get_Start_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_Start_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_Start_1 = Module["_emscripten_bind_ASS_Event_set_Start_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_Start_1 = Module["_emscripten_bind_ASS_Event_set_Start_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_Start_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_Duration_0 = Module["_emscripten_bind_ASS_Event_get_Duration_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_Duration_0 = Module["_emscripten_bind_ASS_Event_get_Duration_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_Duration_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_Duration_1 = Module["_emscripten_bind_ASS_Event_set_Duration_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_Duration_1 = Module["_emscripten_bind_ASS_Event_set_Duration_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_Duration_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_ReadOrder_0 = Module["_emscripten_bind_ASS_Event_get_ReadOrder_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_ReadOrder_0 = Module["_emscripten_bind_ASS_Event_get_ReadOrder_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_ReadOrder_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_ReadOrder_1 = Module["_emscripten_bind_ASS_Event_set_ReadOrder_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_ReadOrder_1 = Module["_emscripten_bind_ASS_Event_set_ReadOrder_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_ReadOrder_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_Layer_0 = Module["_emscripten_bind_ASS_Event_get_Layer_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_Layer_0 = Module["_emscripten_bind_ASS_Event_get_Layer_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_Layer_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_Layer_1 = Module["_emscripten_bind_ASS_Event_set_Layer_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_Layer_1 = Module["_emscripten_bind_ASS_Event_set_Layer_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_Layer_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_Style_0 = Module["_emscripten_bind_ASS_Event_get_Style_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_Style_0 = Module["_emscripten_bind_ASS_Event_get_Style_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_Style_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_Style_1 = Module["_emscripten_bind_ASS_Event_set_Style_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_Style_1 = Module["_emscripten_bind_ASS_Event_set_Style_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_Style_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_Name_0 = Module["_emscripten_bind_ASS_Event_get_Name_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_Name_0 = Module["_emscripten_bind_ASS_Event_get_Name_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_Name_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_Name_1 = Module["_emscripten_bind_ASS_Event_set_Name_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_Name_1 = Module["_emscripten_bind_ASS_Event_set_Name_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_Name_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_MarginL_0 = Module["_emscripten_bind_ASS_Event_get_MarginL_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_MarginL_0 = Module["_emscripten_bind_ASS_Event_get_MarginL_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_MarginL_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_MarginL_1 = Module["_emscripten_bind_ASS_Event_set_MarginL_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_MarginL_1 = Module["_emscripten_bind_ASS_Event_set_MarginL_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_MarginL_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_MarginR_0 = Module["_emscripten_bind_ASS_Event_get_MarginR_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_MarginR_0 = Module["_emscripten_bind_ASS_Event_get_MarginR_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_MarginR_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_MarginR_1 = Module["_emscripten_bind_ASS_Event_set_MarginR_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_MarginR_1 = Module["_emscripten_bind_ASS_Event_set_MarginR_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_MarginR_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_MarginV_0 = Module["_emscripten_bind_ASS_Event_get_MarginV_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_MarginV_0 = Module["_emscripten_bind_ASS_Event_get_MarginV_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_MarginV_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_MarginV_1 = Module["_emscripten_bind_ASS_Event_set_MarginV_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_MarginV_1 = Module["_emscripten_bind_ASS_Event_set_MarginV_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_MarginV_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_Effect_0 = Module["_emscripten_bind_ASS_Event_get_Effect_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_Effect_0 = Module["_emscripten_bind_ASS_Event_get_Effect_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_Effect_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_Effect_1 = Module["_emscripten_bind_ASS_Event_set_Effect_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_Effect_1 = Module["_emscripten_bind_ASS_Event_set_Effect_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_Effect_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_get_Text_0 = Module["_emscripten_bind_ASS_Event_get_Text_0"] = function() {
+ return (_emscripten_bind_ASS_Event_get_Text_0 = Module["_emscripten_bind_ASS_Event_get_Text_0"] = Module["asm"]["emscripten_bind_ASS_Event_get_Text_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Event_set_Text_1 = Module["_emscripten_bind_ASS_Event_set_Text_1"] = function() {
+ return (_emscripten_bind_ASS_Event_set_Text_1 = Module["_emscripten_bind_ASS_Event_set_Text_1"] = Module["asm"]["emscripten_bind_ASS_Event_set_Text_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_SubtitleOctopus_0 = Module["_emscripten_bind_SubtitleOctopus_SubtitleOctopus_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_SubtitleOctopus_0 = Module["_emscripten_bind_SubtitleOctopus_SubtitleOctopus_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_SubtitleOctopus_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_setLogLevel_1 = Module["_emscripten_bind_SubtitleOctopus_setLogLevel_1"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_setLogLevel_1 = Module["_emscripten_bind_SubtitleOctopus_setLogLevel_1"] = Module["asm"]["emscripten_bind_SubtitleOctopus_setLogLevel_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_initLibrary_2 = Module["_emscripten_bind_SubtitleOctopus_initLibrary_2"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_initLibrary_2 = Module["_emscripten_bind_SubtitleOctopus_initLibrary_2"] = Module["asm"]["emscripten_bind_SubtitleOctopus_initLibrary_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_createTrack_1 = Module["_emscripten_bind_SubtitleOctopus_createTrack_1"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_createTrack_1 = Module["_emscripten_bind_SubtitleOctopus_createTrack_1"] = Module["asm"]["emscripten_bind_SubtitleOctopus_createTrack_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_createTrackMem_2 = Module["_emscripten_bind_SubtitleOctopus_createTrackMem_2"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_createTrackMem_2 = Module["_emscripten_bind_SubtitleOctopus_createTrackMem_2"] = Module["asm"]["emscripten_bind_SubtitleOctopus_createTrackMem_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_removeTrack_0 = Module["_emscripten_bind_SubtitleOctopus_removeTrack_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_removeTrack_0 = Module["_emscripten_bind_SubtitleOctopus_removeTrack_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_removeTrack_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_resizeCanvas_2 = Module["_emscripten_bind_SubtitleOctopus_resizeCanvas_2"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_resizeCanvas_2 = Module["_emscripten_bind_SubtitleOctopus_resizeCanvas_2"] = Module["asm"]["emscripten_bind_SubtitleOctopus_resizeCanvas_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_renderImage_2 = Module["_emscripten_bind_SubtitleOctopus_renderImage_2"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_renderImage_2 = Module["_emscripten_bind_SubtitleOctopus_renderImage_2"] = Module["asm"]["emscripten_bind_SubtitleOctopus_renderImage_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_quitLibrary_0 = Module["_emscripten_bind_SubtitleOctopus_quitLibrary_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_quitLibrary_0 = Module["_emscripten_bind_SubtitleOctopus_quitLibrary_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_quitLibrary_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_reloadLibrary_0 = Module["_emscripten_bind_SubtitleOctopus_reloadLibrary_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_reloadLibrary_0 = Module["_emscripten_bind_SubtitleOctopus_reloadLibrary_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_reloadLibrary_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_reloadFonts_0 = Module["_emscripten_bind_SubtitleOctopus_reloadFonts_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_reloadFonts_0 = Module["_emscripten_bind_SubtitleOctopus_reloadFonts_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_reloadFonts_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_setMargin_4 = Module["_emscripten_bind_SubtitleOctopus_setMargin_4"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_setMargin_4 = Module["_emscripten_bind_SubtitleOctopus_setMargin_4"] = Module["asm"]["emscripten_bind_SubtitleOctopus_setMargin_4"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_getEventCount_0 = Module["_emscripten_bind_SubtitleOctopus_getEventCount_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_getEventCount_0 = Module["_emscripten_bind_SubtitleOctopus_getEventCount_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_getEventCount_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_allocEvent_0 = Module["_emscripten_bind_SubtitleOctopus_allocEvent_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_allocEvent_0 = Module["_emscripten_bind_SubtitleOctopus_allocEvent_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_allocEvent_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_allocStyle_0 = Module["_emscripten_bind_SubtitleOctopus_allocStyle_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_allocStyle_0 = Module["_emscripten_bind_SubtitleOctopus_allocStyle_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_allocStyle_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_removeEvent_1 = Module["_emscripten_bind_SubtitleOctopus_removeEvent_1"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_removeEvent_1 = Module["_emscripten_bind_SubtitleOctopus_removeEvent_1"] = Module["asm"]["emscripten_bind_SubtitleOctopus_removeEvent_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_getStyleCount_0 = Module["_emscripten_bind_SubtitleOctopus_getStyleCount_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_getStyleCount_0 = Module["_emscripten_bind_SubtitleOctopus_getStyleCount_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_getStyleCount_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_getStyleByName_1 = Module["_emscripten_bind_SubtitleOctopus_getStyleByName_1"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_getStyleByName_1 = Module["_emscripten_bind_SubtitleOctopus_getStyleByName_1"] = Module["asm"]["emscripten_bind_SubtitleOctopus_getStyleByName_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_removeStyle_1 = Module["_emscripten_bind_SubtitleOctopus_removeStyle_1"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_removeStyle_1 = Module["_emscripten_bind_SubtitleOctopus_removeStyle_1"] = Module["asm"]["emscripten_bind_SubtitleOctopus_removeStyle_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_removeAllEvents_0 = Module["_emscripten_bind_SubtitleOctopus_removeAllEvents_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_removeAllEvents_0 = Module["_emscripten_bind_SubtitleOctopus_removeAllEvents_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_removeAllEvents_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_get_track_0 = Module["_emscripten_bind_SubtitleOctopus_get_track_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_get_track_0 = Module["_emscripten_bind_SubtitleOctopus_get_track_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_get_track_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_set_track_1 = Module["_emscripten_bind_SubtitleOctopus_set_track_1"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_set_track_1 = Module["_emscripten_bind_SubtitleOctopus_set_track_1"] = Module["asm"]["emscripten_bind_SubtitleOctopus_set_track_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_get_ass_renderer_0 = Module["_emscripten_bind_SubtitleOctopus_get_ass_renderer_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_get_ass_renderer_0 = Module["_emscripten_bind_SubtitleOctopus_get_ass_renderer_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_get_ass_renderer_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_set_ass_renderer_1 = Module["_emscripten_bind_SubtitleOctopus_set_ass_renderer_1"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_set_ass_renderer_1 = Module["_emscripten_bind_SubtitleOctopus_set_ass_renderer_1"] = Module["asm"]["emscripten_bind_SubtitleOctopus_set_ass_renderer_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_get_ass_library_0 = Module["_emscripten_bind_SubtitleOctopus_get_ass_library_0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_get_ass_library_0 = Module["_emscripten_bind_SubtitleOctopus_get_ass_library_0"] = Module["asm"]["emscripten_bind_SubtitleOctopus_get_ass_library_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus_set_ass_library_1 = Module["_emscripten_bind_SubtitleOctopus_set_ass_library_1"] = function() {
+ return (_emscripten_bind_SubtitleOctopus_set_ass_library_1 = Module["_emscripten_bind_SubtitleOctopus_set_ass_library_1"] = Module["asm"]["emscripten_bind_SubtitleOctopus_set_ass_library_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_SubtitleOctopus___destroy___0 = Module["_emscripten_bind_SubtitleOctopus___destroy___0"] = function() {
+ return (_emscripten_bind_SubtitleOctopus___destroy___0 = Module["_emscripten_bind_SubtitleOctopus___destroy___0"] = Module["asm"]["emscripten_bind_SubtitleOctopus___destroy___0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_n_styles_0 = Module["_emscripten_bind_ASS_Track_get_n_styles_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_n_styles_0 = Module["_emscripten_bind_ASS_Track_get_n_styles_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_n_styles_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_n_styles_1 = Module["_emscripten_bind_ASS_Track_set_n_styles_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_n_styles_1 = Module["_emscripten_bind_ASS_Track_set_n_styles_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_n_styles_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_max_styles_0 = Module["_emscripten_bind_ASS_Track_get_max_styles_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_max_styles_0 = Module["_emscripten_bind_ASS_Track_get_max_styles_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_max_styles_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_max_styles_1 = Module["_emscripten_bind_ASS_Track_set_max_styles_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_max_styles_1 = Module["_emscripten_bind_ASS_Track_set_max_styles_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_max_styles_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_n_events_0 = Module["_emscripten_bind_ASS_Track_get_n_events_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_n_events_0 = Module["_emscripten_bind_ASS_Track_get_n_events_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_n_events_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_n_events_1 = Module["_emscripten_bind_ASS_Track_set_n_events_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_n_events_1 = Module["_emscripten_bind_ASS_Track_set_n_events_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_n_events_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_max_events_0 = Module["_emscripten_bind_ASS_Track_get_max_events_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_max_events_0 = Module["_emscripten_bind_ASS_Track_get_max_events_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_max_events_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_max_events_1 = Module["_emscripten_bind_ASS_Track_set_max_events_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_max_events_1 = Module["_emscripten_bind_ASS_Track_set_max_events_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_max_events_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_styles_1 = Module["_emscripten_bind_ASS_Track_get_styles_1"] = function() {
+ return (_emscripten_bind_ASS_Track_get_styles_1 = Module["_emscripten_bind_ASS_Track_get_styles_1"] = Module["asm"]["emscripten_bind_ASS_Track_get_styles_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_styles_2 = Module["_emscripten_bind_ASS_Track_set_styles_2"] = function() {
+ return (_emscripten_bind_ASS_Track_set_styles_2 = Module["_emscripten_bind_ASS_Track_set_styles_2"] = Module["asm"]["emscripten_bind_ASS_Track_set_styles_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_events_1 = Module["_emscripten_bind_ASS_Track_get_events_1"] = function() {
+ return (_emscripten_bind_ASS_Track_get_events_1 = Module["_emscripten_bind_ASS_Track_get_events_1"] = Module["asm"]["emscripten_bind_ASS_Track_get_events_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_events_2 = Module["_emscripten_bind_ASS_Track_set_events_2"] = function() {
+ return (_emscripten_bind_ASS_Track_set_events_2 = Module["_emscripten_bind_ASS_Track_set_events_2"] = Module["asm"]["emscripten_bind_ASS_Track_set_events_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_style_format_0 = Module["_emscripten_bind_ASS_Track_get_style_format_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_style_format_0 = Module["_emscripten_bind_ASS_Track_get_style_format_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_style_format_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_style_format_1 = Module["_emscripten_bind_ASS_Track_set_style_format_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_style_format_1 = Module["_emscripten_bind_ASS_Track_set_style_format_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_style_format_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_event_format_0 = Module["_emscripten_bind_ASS_Track_get_event_format_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_event_format_0 = Module["_emscripten_bind_ASS_Track_get_event_format_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_event_format_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_event_format_1 = Module["_emscripten_bind_ASS_Track_set_event_format_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_event_format_1 = Module["_emscripten_bind_ASS_Track_set_event_format_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_event_format_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_PlayResX_0 = Module["_emscripten_bind_ASS_Track_get_PlayResX_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_PlayResX_0 = Module["_emscripten_bind_ASS_Track_get_PlayResX_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_PlayResX_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_PlayResX_1 = Module["_emscripten_bind_ASS_Track_set_PlayResX_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_PlayResX_1 = Module["_emscripten_bind_ASS_Track_set_PlayResX_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_PlayResX_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_PlayResY_0 = Module["_emscripten_bind_ASS_Track_get_PlayResY_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_PlayResY_0 = Module["_emscripten_bind_ASS_Track_get_PlayResY_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_PlayResY_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_PlayResY_1 = Module["_emscripten_bind_ASS_Track_set_PlayResY_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_PlayResY_1 = Module["_emscripten_bind_ASS_Track_set_PlayResY_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_PlayResY_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_Timer_0 = Module["_emscripten_bind_ASS_Track_get_Timer_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_Timer_0 = Module["_emscripten_bind_ASS_Track_get_Timer_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_Timer_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_Timer_1 = Module["_emscripten_bind_ASS_Track_set_Timer_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_Timer_1 = Module["_emscripten_bind_ASS_Track_set_Timer_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_Timer_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_WrapStyle_0 = Module["_emscripten_bind_ASS_Track_get_WrapStyle_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_WrapStyle_0 = Module["_emscripten_bind_ASS_Track_get_WrapStyle_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_WrapStyle_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_WrapStyle_1 = Module["_emscripten_bind_ASS_Track_set_WrapStyle_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_WrapStyle_1 = Module["_emscripten_bind_ASS_Track_set_WrapStyle_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_WrapStyle_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_ScaledBorderAndShadow_0 = Module["_emscripten_bind_ASS_Track_get_ScaledBorderAndShadow_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_ScaledBorderAndShadow_0 = Module["_emscripten_bind_ASS_Track_get_ScaledBorderAndShadow_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_ScaledBorderAndShadow_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_ScaledBorderAndShadow_1 = Module["_emscripten_bind_ASS_Track_set_ScaledBorderAndShadow_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_ScaledBorderAndShadow_1 = Module["_emscripten_bind_ASS_Track_set_ScaledBorderAndShadow_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_ScaledBorderAndShadow_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_Kerning_0 = Module["_emscripten_bind_ASS_Track_get_Kerning_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_Kerning_0 = Module["_emscripten_bind_ASS_Track_get_Kerning_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_Kerning_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_Kerning_1 = Module["_emscripten_bind_ASS_Track_set_Kerning_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_Kerning_1 = Module["_emscripten_bind_ASS_Track_set_Kerning_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_Kerning_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_Language_0 = Module["_emscripten_bind_ASS_Track_get_Language_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_Language_0 = Module["_emscripten_bind_ASS_Track_get_Language_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_Language_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_Language_1 = Module["_emscripten_bind_ASS_Track_set_Language_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_Language_1 = Module["_emscripten_bind_ASS_Track_set_Language_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_Language_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_default_style_0 = Module["_emscripten_bind_ASS_Track_get_default_style_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_default_style_0 = Module["_emscripten_bind_ASS_Track_get_default_style_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_default_style_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_default_style_1 = Module["_emscripten_bind_ASS_Track_set_default_style_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_default_style_1 = Module["_emscripten_bind_ASS_Track_set_default_style_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_default_style_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_get_name_0 = Module["_emscripten_bind_ASS_Track_get_name_0"] = function() {
+ return (_emscripten_bind_ASS_Track_get_name_0 = Module["_emscripten_bind_ASS_Track_get_name_0"] = Module["asm"]["emscripten_bind_ASS_Track_get_name_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Track_set_name_1 = Module["_emscripten_bind_ASS_Track_set_name_1"] = function() {
+ return (_emscripten_bind_ASS_Track_set_name_1 = Module["_emscripten_bind_ASS_Track_set_name_1"] = Module["asm"]["emscripten_bind_ASS_Track_set_name_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Name_0 = Module["_emscripten_bind_ASS_Style_get_Name_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Name_0 = Module["_emscripten_bind_ASS_Style_get_Name_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Name_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Name_1 = Module["_emscripten_bind_ASS_Style_set_Name_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Name_1 = Module["_emscripten_bind_ASS_Style_set_Name_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Name_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_FontName_0 = Module["_emscripten_bind_ASS_Style_get_FontName_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_FontName_0 = Module["_emscripten_bind_ASS_Style_get_FontName_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_FontName_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_FontName_1 = Module["_emscripten_bind_ASS_Style_set_FontName_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_FontName_1 = Module["_emscripten_bind_ASS_Style_set_FontName_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_FontName_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_FontSize_0 = Module["_emscripten_bind_ASS_Style_get_FontSize_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_FontSize_0 = Module["_emscripten_bind_ASS_Style_get_FontSize_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_FontSize_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_FontSize_1 = Module["_emscripten_bind_ASS_Style_set_FontSize_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_FontSize_1 = Module["_emscripten_bind_ASS_Style_set_FontSize_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_FontSize_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_PrimaryColour_0 = Module["_emscripten_bind_ASS_Style_get_PrimaryColour_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_PrimaryColour_0 = Module["_emscripten_bind_ASS_Style_get_PrimaryColour_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_PrimaryColour_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_PrimaryColour_1 = Module["_emscripten_bind_ASS_Style_set_PrimaryColour_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_PrimaryColour_1 = Module["_emscripten_bind_ASS_Style_set_PrimaryColour_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_PrimaryColour_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_SecondaryColour_0 = Module["_emscripten_bind_ASS_Style_get_SecondaryColour_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_SecondaryColour_0 = Module["_emscripten_bind_ASS_Style_get_SecondaryColour_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_SecondaryColour_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_SecondaryColour_1 = Module["_emscripten_bind_ASS_Style_set_SecondaryColour_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_SecondaryColour_1 = Module["_emscripten_bind_ASS_Style_set_SecondaryColour_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_SecondaryColour_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_OutlineColour_0 = Module["_emscripten_bind_ASS_Style_get_OutlineColour_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_OutlineColour_0 = Module["_emscripten_bind_ASS_Style_get_OutlineColour_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_OutlineColour_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_OutlineColour_1 = Module["_emscripten_bind_ASS_Style_set_OutlineColour_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_OutlineColour_1 = Module["_emscripten_bind_ASS_Style_set_OutlineColour_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_OutlineColour_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_BackColour_0 = Module["_emscripten_bind_ASS_Style_get_BackColour_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_BackColour_0 = Module["_emscripten_bind_ASS_Style_get_BackColour_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_BackColour_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_BackColour_1 = Module["_emscripten_bind_ASS_Style_set_BackColour_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_BackColour_1 = Module["_emscripten_bind_ASS_Style_set_BackColour_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_BackColour_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Bold_0 = Module["_emscripten_bind_ASS_Style_get_Bold_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Bold_0 = Module["_emscripten_bind_ASS_Style_get_Bold_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Bold_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Bold_1 = Module["_emscripten_bind_ASS_Style_set_Bold_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Bold_1 = Module["_emscripten_bind_ASS_Style_set_Bold_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Bold_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Italic_0 = Module["_emscripten_bind_ASS_Style_get_Italic_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Italic_0 = Module["_emscripten_bind_ASS_Style_get_Italic_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Italic_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Italic_1 = Module["_emscripten_bind_ASS_Style_set_Italic_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Italic_1 = Module["_emscripten_bind_ASS_Style_set_Italic_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Italic_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Underline_0 = Module["_emscripten_bind_ASS_Style_get_Underline_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Underline_0 = Module["_emscripten_bind_ASS_Style_get_Underline_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Underline_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Underline_1 = Module["_emscripten_bind_ASS_Style_set_Underline_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Underline_1 = Module["_emscripten_bind_ASS_Style_set_Underline_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Underline_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_StrikeOut_0 = Module["_emscripten_bind_ASS_Style_get_StrikeOut_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_StrikeOut_0 = Module["_emscripten_bind_ASS_Style_get_StrikeOut_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_StrikeOut_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_StrikeOut_1 = Module["_emscripten_bind_ASS_Style_set_StrikeOut_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_StrikeOut_1 = Module["_emscripten_bind_ASS_Style_set_StrikeOut_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_StrikeOut_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_ScaleX_0 = Module["_emscripten_bind_ASS_Style_get_ScaleX_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_ScaleX_0 = Module["_emscripten_bind_ASS_Style_get_ScaleX_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_ScaleX_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_ScaleX_1 = Module["_emscripten_bind_ASS_Style_set_ScaleX_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_ScaleX_1 = Module["_emscripten_bind_ASS_Style_set_ScaleX_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_ScaleX_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_ScaleY_0 = Module["_emscripten_bind_ASS_Style_get_ScaleY_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_ScaleY_0 = Module["_emscripten_bind_ASS_Style_get_ScaleY_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_ScaleY_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_ScaleY_1 = Module["_emscripten_bind_ASS_Style_set_ScaleY_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_ScaleY_1 = Module["_emscripten_bind_ASS_Style_set_ScaleY_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_ScaleY_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Spacing_0 = Module["_emscripten_bind_ASS_Style_get_Spacing_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Spacing_0 = Module["_emscripten_bind_ASS_Style_get_Spacing_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Spacing_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Spacing_1 = Module["_emscripten_bind_ASS_Style_set_Spacing_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Spacing_1 = Module["_emscripten_bind_ASS_Style_set_Spacing_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Spacing_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Angle_0 = Module["_emscripten_bind_ASS_Style_get_Angle_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Angle_0 = Module["_emscripten_bind_ASS_Style_get_Angle_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Angle_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Angle_1 = Module["_emscripten_bind_ASS_Style_set_Angle_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Angle_1 = Module["_emscripten_bind_ASS_Style_set_Angle_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Angle_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_BorderStyle_0 = Module["_emscripten_bind_ASS_Style_get_BorderStyle_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_BorderStyle_0 = Module["_emscripten_bind_ASS_Style_get_BorderStyle_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_BorderStyle_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_BorderStyle_1 = Module["_emscripten_bind_ASS_Style_set_BorderStyle_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_BorderStyle_1 = Module["_emscripten_bind_ASS_Style_set_BorderStyle_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_BorderStyle_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Outline_0 = Module["_emscripten_bind_ASS_Style_get_Outline_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Outline_0 = Module["_emscripten_bind_ASS_Style_get_Outline_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Outline_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Outline_1 = Module["_emscripten_bind_ASS_Style_set_Outline_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Outline_1 = Module["_emscripten_bind_ASS_Style_set_Outline_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Outline_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Shadow_0 = Module["_emscripten_bind_ASS_Style_get_Shadow_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Shadow_0 = Module["_emscripten_bind_ASS_Style_get_Shadow_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Shadow_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Shadow_1 = Module["_emscripten_bind_ASS_Style_set_Shadow_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Shadow_1 = Module["_emscripten_bind_ASS_Style_set_Shadow_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Shadow_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Alignment_0 = Module["_emscripten_bind_ASS_Style_get_Alignment_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Alignment_0 = Module["_emscripten_bind_ASS_Style_get_Alignment_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Alignment_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Alignment_1 = Module["_emscripten_bind_ASS_Style_set_Alignment_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Alignment_1 = Module["_emscripten_bind_ASS_Style_set_Alignment_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Alignment_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_MarginL_0 = Module["_emscripten_bind_ASS_Style_get_MarginL_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_MarginL_0 = Module["_emscripten_bind_ASS_Style_get_MarginL_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_MarginL_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_MarginL_1 = Module["_emscripten_bind_ASS_Style_set_MarginL_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_MarginL_1 = Module["_emscripten_bind_ASS_Style_set_MarginL_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_MarginL_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_MarginR_0 = Module["_emscripten_bind_ASS_Style_get_MarginR_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_MarginR_0 = Module["_emscripten_bind_ASS_Style_get_MarginR_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_MarginR_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_MarginR_1 = Module["_emscripten_bind_ASS_Style_set_MarginR_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_MarginR_1 = Module["_emscripten_bind_ASS_Style_set_MarginR_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_MarginR_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_MarginV_0 = Module["_emscripten_bind_ASS_Style_get_MarginV_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_MarginV_0 = Module["_emscripten_bind_ASS_Style_get_MarginV_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_MarginV_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_MarginV_1 = Module["_emscripten_bind_ASS_Style_set_MarginV_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_MarginV_1 = Module["_emscripten_bind_ASS_Style_set_MarginV_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_MarginV_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Encoding_0 = Module["_emscripten_bind_ASS_Style_get_Encoding_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Encoding_0 = Module["_emscripten_bind_ASS_Style_get_Encoding_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Encoding_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Encoding_1 = Module["_emscripten_bind_ASS_Style_set_Encoding_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Encoding_1 = Module["_emscripten_bind_ASS_Style_set_Encoding_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Encoding_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_treat_fontname_as_pattern_0 = Module["_emscripten_bind_ASS_Style_get_treat_fontname_as_pattern_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_treat_fontname_as_pattern_0 = Module["_emscripten_bind_ASS_Style_get_treat_fontname_as_pattern_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_treat_fontname_as_pattern_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_treat_fontname_as_pattern_1 = Module["_emscripten_bind_ASS_Style_set_treat_fontname_as_pattern_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_treat_fontname_as_pattern_1 = Module["_emscripten_bind_ASS_Style_set_treat_fontname_as_pattern_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_treat_fontname_as_pattern_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Blur_0 = Module["_emscripten_bind_ASS_Style_get_Blur_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Blur_0 = Module["_emscripten_bind_ASS_Style_get_Blur_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Blur_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Blur_1 = Module["_emscripten_bind_ASS_Style_set_Blur_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Blur_1 = Module["_emscripten_bind_ASS_Style_set_Blur_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Blur_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_get_Justify_0 = Module["_emscripten_bind_ASS_Style_get_Justify_0"] = function() {
+ return (_emscripten_bind_ASS_Style_get_Justify_0 = Module["_emscripten_bind_ASS_Style_get_Justify_0"] = Module["asm"]["emscripten_bind_ASS_Style_get_Justify_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Style_set_Justify_1 = Module["_emscripten_bind_ASS_Style_set_Justify_1"] = function() {
+ return (_emscripten_bind_ASS_Style_set_Justify_1 = Module["_emscripten_bind_ASS_Style_set_Justify_1"] = Module["asm"]["emscripten_bind_ASS_Style_set_Justify_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_get_w_0 = Module["_emscripten_bind_ASS_Image_get_w_0"] = function() {
+ return (_emscripten_bind_ASS_Image_get_w_0 = Module["_emscripten_bind_ASS_Image_get_w_0"] = Module["asm"]["emscripten_bind_ASS_Image_get_w_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_set_w_1 = Module["_emscripten_bind_ASS_Image_set_w_1"] = function() {
+ return (_emscripten_bind_ASS_Image_set_w_1 = Module["_emscripten_bind_ASS_Image_set_w_1"] = Module["asm"]["emscripten_bind_ASS_Image_set_w_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_get_h_0 = Module["_emscripten_bind_ASS_Image_get_h_0"] = function() {
+ return (_emscripten_bind_ASS_Image_get_h_0 = Module["_emscripten_bind_ASS_Image_get_h_0"] = Module["asm"]["emscripten_bind_ASS_Image_get_h_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_set_h_1 = Module["_emscripten_bind_ASS_Image_set_h_1"] = function() {
+ return (_emscripten_bind_ASS_Image_set_h_1 = Module["_emscripten_bind_ASS_Image_set_h_1"] = Module["asm"]["emscripten_bind_ASS_Image_set_h_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_get_stride_0 = Module["_emscripten_bind_ASS_Image_get_stride_0"] = function() {
+ return (_emscripten_bind_ASS_Image_get_stride_0 = Module["_emscripten_bind_ASS_Image_get_stride_0"] = Module["asm"]["emscripten_bind_ASS_Image_get_stride_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_set_stride_1 = Module["_emscripten_bind_ASS_Image_set_stride_1"] = function() {
+ return (_emscripten_bind_ASS_Image_set_stride_1 = Module["_emscripten_bind_ASS_Image_set_stride_1"] = Module["asm"]["emscripten_bind_ASS_Image_set_stride_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_get_bitmap_0 = Module["_emscripten_bind_ASS_Image_get_bitmap_0"] = function() {
+ return (_emscripten_bind_ASS_Image_get_bitmap_0 = Module["_emscripten_bind_ASS_Image_get_bitmap_0"] = Module["asm"]["emscripten_bind_ASS_Image_get_bitmap_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_set_bitmap_1 = Module["_emscripten_bind_ASS_Image_set_bitmap_1"] = function() {
+ return (_emscripten_bind_ASS_Image_set_bitmap_1 = Module["_emscripten_bind_ASS_Image_set_bitmap_1"] = Module["asm"]["emscripten_bind_ASS_Image_set_bitmap_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_get_color_0 = Module["_emscripten_bind_ASS_Image_get_color_0"] = function() {
+ return (_emscripten_bind_ASS_Image_get_color_0 = Module["_emscripten_bind_ASS_Image_get_color_0"] = Module["asm"]["emscripten_bind_ASS_Image_get_color_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_set_color_1 = Module["_emscripten_bind_ASS_Image_set_color_1"] = function() {
+ return (_emscripten_bind_ASS_Image_set_color_1 = Module["_emscripten_bind_ASS_Image_set_color_1"] = Module["asm"]["emscripten_bind_ASS_Image_set_color_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_get_dst_x_0 = Module["_emscripten_bind_ASS_Image_get_dst_x_0"] = function() {
+ return (_emscripten_bind_ASS_Image_get_dst_x_0 = Module["_emscripten_bind_ASS_Image_get_dst_x_0"] = Module["asm"]["emscripten_bind_ASS_Image_get_dst_x_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_set_dst_x_1 = Module["_emscripten_bind_ASS_Image_set_dst_x_1"] = function() {
+ return (_emscripten_bind_ASS_Image_set_dst_x_1 = Module["_emscripten_bind_ASS_Image_set_dst_x_1"] = Module["asm"]["emscripten_bind_ASS_Image_set_dst_x_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_get_dst_y_0 = Module["_emscripten_bind_ASS_Image_get_dst_y_0"] = function() {
+ return (_emscripten_bind_ASS_Image_get_dst_y_0 = Module["_emscripten_bind_ASS_Image_get_dst_y_0"] = Module["asm"]["emscripten_bind_ASS_Image_get_dst_y_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_set_dst_y_1 = Module["_emscripten_bind_ASS_Image_set_dst_y_1"] = function() {
+ return (_emscripten_bind_ASS_Image_set_dst_y_1 = Module["_emscripten_bind_ASS_Image_set_dst_y_1"] = Module["asm"]["emscripten_bind_ASS_Image_set_dst_y_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_get_next_0 = Module["_emscripten_bind_ASS_Image_get_next_0"] = function() {
+ return (_emscripten_bind_ASS_Image_get_next_0 = Module["_emscripten_bind_ASS_Image_get_next_0"] = Module["asm"]["emscripten_bind_ASS_Image_get_next_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_ASS_Image_set_next_1 = Module["_emscripten_bind_ASS_Image_set_next_1"] = function() {
+ return (_emscripten_bind_ASS_Image_set_next_1 = Module["_emscripten_bind_ASS_Image_set_next_1"] = Module["asm"]["emscripten_bind_ASS_Image_set_next_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_VoidPtr___destroy___0 = Module["_emscripten_bind_VoidPtr___destroy___0"] = function() {
+ return (_emscripten_bind_VoidPtr___destroy___0 = Module["_emscripten_bind_VoidPtr___destroy___0"] = Module["asm"]["emscripten_bind_VoidPtr___destroy___0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_libass_0 = Module["_emscripten_bind_libass_libass_0"] = function() {
+ return (_emscripten_bind_libass_libass_0 = Module["_emscripten_bind_libass_libass_0"] = Module["asm"]["emscripten_bind_libass_libass_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_library_version_0 = Module["_emscripten_bind_libass_oct_library_version_0"] = function() {
+ return (_emscripten_bind_libass_oct_library_version_0 = Module["_emscripten_bind_libass_oct_library_version_0"] = Module["asm"]["emscripten_bind_libass_oct_library_version_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_library_init_0 = Module["_emscripten_bind_libass_oct_library_init_0"] = function() {
+ return (_emscripten_bind_libass_oct_library_init_0 = Module["_emscripten_bind_libass_oct_library_init_0"] = Module["asm"]["emscripten_bind_libass_oct_library_init_0"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_library_done_1 = Module["_emscripten_bind_libass_oct_library_done_1"] = function() {
+ return (_emscripten_bind_libass_oct_library_done_1 = Module["_emscripten_bind_libass_oct_library_done_1"] = Module["asm"]["emscripten_bind_libass_oct_library_done_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_fonts_dir_2 = Module["_emscripten_bind_libass_oct_set_fonts_dir_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_fonts_dir_2 = Module["_emscripten_bind_libass_oct_set_fonts_dir_2"] = Module["asm"]["emscripten_bind_libass_oct_set_fonts_dir_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_extract_fonts_2 = Module["_emscripten_bind_libass_oct_set_extract_fonts_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_extract_fonts_2 = Module["_emscripten_bind_libass_oct_set_extract_fonts_2"] = Module["asm"]["emscripten_bind_libass_oct_set_extract_fonts_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_style_overrides_2 = Module["_emscripten_bind_libass_oct_set_style_overrides_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_style_overrides_2 = Module["_emscripten_bind_libass_oct_set_style_overrides_2"] = Module["asm"]["emscripten_bind_libass_oct_set_style_overrides_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_process_force_style_1 = Module["_emscripten_bind_libass_oct_process_force_style_1"] = function() {
+ return (_emscripten_bind_libass_oct_process_force_style_1 = Module["_emscripten_bind_libass_oct_process_force_style_1"] = Module["asm"]["emscripten_bind_libass_oct_process_force_style_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_renderer_init_1 = Module["_emscripten_bind_libass_oct_renderer_init_1"] = function() {
+ return (_emscripten_bind_libass_oct_renderer_init_1 = Module["_emscripten_bind_libass_oct_renderer_init_1"] = Module["asm"]["emscripten_bind_libass_oct_renderer_init_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_renderer_done_1 = Module["_emscripten_bind_libass_oct_renderer_done_1"] = function() {
+ return (_emscripten_bind_libass_oct_renderer_done_1 = Module["_emscripten_bind_libass_oct_renderer_done_1"] = Module["asm"]["emscripten_bind_libass_oct_renderer_done_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_frame_size_3 = Module["_emscripten_bind_libass_oct_set_frame_size_3"] = function() {
+ return (_emscripten_bind_libass_oct_set_frame_size_3 = Module["_emscripten_bind_libass_oct_set_frame_size_3"] = Module["asm"]["emscripten_bind_libass_oct_set_frame_size_3"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_storage_size_3 = Module["_emscripten_bind_libass_oct_set_storage_size_3"] = function() {
+ return (_emscripten_bind_libass_oct_set_storage_size_3 = Module["_emscripten_bind_libass_oct_set_storage_size_3"] = Module["asm"]["emscripten_bind_libass_oct_set_storage_size_3"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_shaper_2 = Module["_emscripten_bind_libass_oct_set_shaper_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_shaper_2 = Module["_emscripten_bind_libass_oct_set_shaper_2"] = Module["asm"]["emscripten_bind_libass_oct_set_shaper_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_margins_5 = Module["_emscripten_bind_libass_oct_set_margins_5"] = function() {
+ return (_emscripten_bind_libass_oct_set_margins_5 = Module["_emscripten_bind_libass_oct_set_margins_5"] = Module["asm"]["emscripten_bind_libass_oct_set_margins_5"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_use_margins_2 = Module["_emscripten_bind_libass_oct_set_use_margins_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_use_margins_2 = Module["_emscripten_bind_libass_oct_set_use_margins_2"] = Module["asm"]["emscripten_bind_libass_oct_set_use_margins_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_pixel_aspect_2 = Module["_emscripten_bind_libass_oct_set_pixel_aspect_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_pixel_aspect_2 = Module["_emscripten_bind_libass_oct_set_pixel_aspect_2"] = Module["asm"]["emscripten_bind_libass_oct_set_pixel_aspect_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_aspect_ratio_3 = Module["_emscripten_bind_libass_oct_set_aspect_ratio_3"] = function() {
+ return (_emscripten_bind_libass_oct_set_aspect_ratio_3 = Module["_emscripten_bind_libass_oct_set_aspect_ratio_3"] = Module["asm"]["emscripten_bind_libass_oct_set_aspect_ratio_3"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_font_scale_2 = Module["_emscripten_bind_libass_oct_set_font_scale_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_font_scale_2 = Module["_emscripten_bind_libass_oct_set_font_scale_2"] = Module["asm"]["emscripten_bind_libass_oct_set_font_scale_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_hinting_2 = Module["_emscripten_bind_libass_oct_set_hinting_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_hinting_2 = Module["_emscripten_bind_libass_oct_set_hinting_2"] = Module["asm"]["emscripten_bind_libass_oct_set_hinting_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_line_spacing_2 = Module["_emscripten_bind_libass_oct_set_line_spacing_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_line_spacing_2 = Module["_emscripten_bind_libass_oct_set_line_spacing_2"] = Module["asm"]["emscripten_bind_libass_oct_set_line_spacing_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_line_position_2 = Module["_emscripten_bind_libass_oct_set_line_position_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_line_position_2 = Module["_emscripten_bind_libass_oct_set_line_position_2"] = Module["asm"]["emscripten_bind_libass_oct_set_line_position_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_fonts_6 = Module["_emscripten_bind_libass_oct_set_fonts_6"] = function() {
+ return (_emscripten_bind_libass_oct_set_fonts_6 = Module["_emscripten_bind_libass_oct_set_fonts_6"] = Module["asm"]["emscripten_bind_libass_oct_set_fonts_6"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_selective_style_override_enabled_2 = Module["_emscripten_bind_libass_oct_set_selective_style_override_enabled_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_selective_style_override_enabled_2 = Module["_emscripten_bind_libass_oct_set_selective_style_override_enabled_2"] = Module["asm"]["emscripten_bind_libass_oct_set_selective_style_override_enabled_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_selective_style_override_2 = Module["_emscripten_bind_libass_oct_set_selective_style_override_2"] = function() {
+ return (_emscripten_bind_libass_oct_set_selective_style_override_2 = Module["_emscripten_bind_libass_oct_set_selective_style_override_2"] = Module["asm"]["emscripten_bind_libass_oct_set_selective_style_override_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_set_cache_limits_3 = Module["_emscripten_bind_libass_oct_set_cache_limits_3"] = function() {
+ return (_emscripten_bind_libass_oct_set_cache_limits_3 = Module["_emscripten_bind_libass_oct_set_cache_limits_3"] = Module["asm"]["emscripten_bind_libass_oct_set_cache_limits_3"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_render_frame_4 = Module["_emscripten_bind_libass_oct_render_frame_4"] = function() {
+ return (_emscripten_bind_libass_oct_render_frame_4 = Module["_emscripten_bind_libass_oct_render_frame_4"] = Module["asm"]["emscripten_bind_libass_oct_render_frame_4"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_new_track_1 = Module["_emscripten_bind_libass_oct_new_track_1"] = function() {
+ return (_emscripten_bind_libass_oct_new_track_1 = Module["_emscripten_bind_libass_oct_new_track_1"] = Module["asm"]["emscripten_bind_libass_oct_new_track_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_free_track_1 = Module["_emscripten_bind_libass_oct_free_track_1"] = function() {
+ return (_emscripten_bind_libass_oct_free_track_1 = Module["_emscripten_bind_libass_oct_free_track_1"] = Module["asm"]["emscripten_bind_libass_oct_free_track_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_alloc_style_1 = Module["_emscripten_bind_libass_oct_alloc_style_1"] = function() {
+ return (_emscripten_bind_libass_oct_alloc_style_1 = Module["_emscripten_bind_libass_oct_alloc_style_1"] = Module["asm"]["emscripten_bind_libass_oct_alloc_style_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_alloc_event_1 = Module["_emscripten_bind_libass_oct_alloc_event_1"] = function() {
+ return (_emscripten_bind_libass_oct_alloc_event_1 = Module["_emscripten_bind_libass_oct_alloc_event_1"] = Module["asm"]["emscripten_bind_libass_oct_alloc_event_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_free_style_2 = Module["_emscripten_bind_libass_oct_free_style_2"] = function() {
+ return (_emscripten_bind_libass_oct_free_style_2 = Module["_emscripten_bind_libass_oct_free_style_2"] = Module["asm"]["emscripten_bind_libass_oct_free_style_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_free_event_2 = Module["_emscripten_bind_libass_oct_free_event_2"] = function() {
+ return (_emscripten_bind_libass_oct_free_event_2 = Module["_emscripten_bind_libass_oct_free_event_2"] = Module["asm"]["emscripten_bind_libass_oct_free_event_2"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_flush_events_1 = Module["_emscripten_bind_libass_oct_flush_events_1"] = function() {
+ return (_emscripten_bind_libass_oct_flush_events_1 = Module["_emscripten_bind_libass_oct_flush_events_1"] = Module["asm"]["emscripten_bind_libass_oct_flush_events_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_read_file_3 = Module["_emscripten_bind_libass_oct_read_file_3"] = function() {
+ return (_emscripten_bind_libass_oct_read_file_3 = Module["_emscripten_bind_libass_oct_read_file_3"] = Module["asm"]["emscripten_bind_libass_oct_read_file_3"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_add_font_4 = Module["_emscripten_bind_libass_oct_add_font_4"] = function() {
+ return (_emscripten_bind_libass_oct_add_font_4 = Module["_emscripten_bind_libass_oct_add_font_4"] = Module["asm"]["emscripten_bind_libass_oct_add_font_4"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_clear_fonts_1 = Module["_emscripten_bind_libass_oct_clear_fonts_1"] = function() {
+ return (_emscripten_bind_libass_oct_clear_fonts_1 = Module["_emscripten_bind_libass_oct_clear_fonts_1"] = Module["asm"]["emscripten_bind_libass_oct_clear_fonts_1"]).apply(null, arguments);
+};
+
+var _emscripten_bind_libass_oct_step_sub_3 = Module["_emscripten_bind_libass_oct_step_sub_3"] = function() {
+ return (_emscripten_bind_libass_oct_step_sub_3 = Module["_emscripten_bind_libass_oct_step_sub_3"] = Module["asm"]["emscripten_bind_libass_oct_step_sub_3"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_Hinting_ASS_HINTING_NONE = Module["_emscripten_enum_ASS_Hinting_ASS_HINTING_NONE"] = function() {
+ return (_emscripten_enum_ASS_Hinting_ASS_HINTING_NONE = Module["_emscripten_enum_ASS_Hinting_ASS_HINTING_NONE"] = Module["asm"]["emscripten_enum_ASS_Hinting_ASS_HINTING_NONE"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_Hinting_ASS_HINTING_LIGHT = Module["_emscripten_enum_ASS_Hinting_ASS_HINTING_LIGHT"] = function() {
+ return (_emscripten_enum_ASS_Hinting_ASS_HINTING_LIGHT = Module["_emscripten_enum_ASS_Hinting_ASS_HINTING_LIGHT"] = Module["asm"]["emscripten_enum_ASS_Hinting_ASS_HINTING_LIGHT"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_Hinting_ASS_HINTING_NORMAL = Module["_emscripten_enum_ASS_Hinting_ASS_HINTING_NORMAL"] = function() {
+ return (_emscripten_enum_ASS_Hinting_ASS_HINTING_NORMAL = Module["_emscripten_enum_ASS_Hinting_ASS_HINTING_NORMAL"] = Module["asm"]["emscripten_enum_ASS_Hinting_ASS_HINTING_NORMAL"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_Hinting_ASS_HINTING_NATIVE = Module["_emscripten_enum_ASS_Hinting_ASS_HINTING_NATIVE"] = function() {
+ return (_emscripten_enum_ASS_Hinting_ASS_HINTING_NATIVE = Module["_emscripten_enum_ASS_Hinting_ASS_HINTING_NATIVE"] = Module["asm"]["emscripten_enum_ASS_Hinting_ASS_HINTING_NATIVE"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_SIMPLE = Module["_emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_SIMPLE"] = function() {
+ return (_emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_SIMPLE = Module["_emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_SIMPLE"] = Module["asm"]["emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_SIMPLE"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_COMPLEX = Module["_emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_COMPLEX"] = function() {
+ return (_emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_COMPLEX = Module["_emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_COMPLEX"] = Module["asm"]["emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_COMPLEX"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_DEFAULT = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_DEFAULT"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_DEFAULT = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_DEFAULT"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_DEFAULT"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_STYLE = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_STYLE"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_STYLE = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_STYLE"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_STYLE"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE_FIELDS = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE_FIELDS"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE_FIELDS = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE_FIELDS"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE_FIELDS"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_NAME = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_NAME"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_NAME = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_NAME"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_NAME"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_COLORS = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_COLORS"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_COLORS = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_COLORS"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_COLORS"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ATTRIBUTES = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ATTRIBUTES"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ATTRIBUTES = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ATTRIBUTES"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ATTRIBUTES"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_BORDER = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_BORDER"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_BORDER = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_BORDER"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_BORDER"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ALIGNMENT = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ALIGNMENT"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ALIGNMENT = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ALIGNMENT"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ALIGNMENT"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_MARGINS = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_MARGINS"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_MARGINS = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_MARGINS"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_MARGINS"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_FULL_STYLE = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_FULL_STYLE"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_FULL_STYLE = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_FULL_STYLE"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_FULL_STYLE"]).apply(null, arguments);
+};
+
+var _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_JUSTIFY = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_JUSTIFY"] = function() {
+ return (_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_JUSTIFY = Module["_emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_JUSTIFY"] = Module["asm"]["emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_JUSTIFY"]).apply(null, arguments);
+};
+
+var _free = Module["_free"] = function() {
+ return (_free = Module["_free"] = Module["asm"]["free"]).apply(null, arguments);
+};
+
+var _realloc = Module["_realloc"] = function() {
+ return (_realloc = Module["_realloc"] = Module["asm"]["realloc"]).apply(null, arguments);
+};
+
+var _memset = Module["_memset"] = function() {
+ return (_memset = Module["_memset"] = Module["asm"]["memset"]).apply(null, arguments);
+};
+
+var _malloc = Module["_malloc"] = function() {
+ return (_malloc = Module["_malloc"] = Module["asm"]["malloc"]).apply(null, arguments);
+};
+
+var ___errno_location = Module["___errno_location"] = function() {
+ return (___errno_location = Module["___errno_location"] = Module["asm"]["__errno_location"]).apply(null, arguments);
+};
+
+var _setThrew = Module["_setThrew"] = function() {
+ return (_setThrew = Module["_setThrew"] = Module["asm"]["setThrew"]).apply(null, arguments);
+};
+
+var _memalign = Module["_memalign"] = function() {
+ return (_memalign = Module["_memalign"] = Module["asm"]["memalign"]).apply(null, arguments);
+};
+
+var dynCall_v = Module["dynCall_v"] = function() {
+ return (dynCall_v = Module["dynCall_v"] = Module["asm"]["dynCall_v"]).apply(null, arguments);
+};
+
+var dynCall_vi = Module["dynCall_vi"] = function() {
+ return (dynCall_vi = Module["dynCall_vi"] = Module["asm"]["dynCall_vi"]).apply(null, arguments);
+};
+
+var dynCall_viiii = Module["dynCall_viiii"] = function() {
+ return (dynCall_viiii = Module["dynCall_viiii"] = Module["asm"]["dynCall_viiii"]).apply(null, arguments);
+};
+
+var dynCall_iii = Module["dynCall_iii"] = function() {
+ return (dynCall_iii = Module["dynCall_iii"] = Module["asm"]["dynCall_iii"]).apply(null, arguments);
+};
+
+var dynCall_iiii = Module["dynCall_iiii"] = function() {
+ return (dynCall_iiii = Module["dynCall_iiii"] = Module["asm"]["dynCall_iiii"]).apply(null, arguments);
+};
+
+var dynCall_iiiii = Module["dynCall_iiiii"] = function() {
+ return (dynCall_iiiii = Module["dynCall_iiiii"] = Module["asm"]["dynCall_iiiii"]).apply(null, arguments);
+};
+
+var stackSave = Module["stackSave"] = function() {
+ return (stackSave = Module["stackSave"] = Module["asm"]["stackSave"]).apply(null, arguments);
+};
+
+var stackAlloc = Module["stackAlloc"] = function() {
+ return (stackAlloc = Module["stackAlloc"] = Module["asm"]["stackAlloc"]).apply(null, arguments);
+};
+
+var stackRestore = Module["stackRestore"] = function() {
+ return (stackRestore = Module["stackRestore"] = Module["asm"]["stackRestore"]).apply(null, arguments);
+};
+
+var __growWasmMemory = Module["__growWasmMemory"] = function() {
+ return (__growWasmMemory = Module["__growWasmMemory"] = Module["asm"]["__growWasmMemory"]).apply(null, arguments);
+};
+
+var dynCall_vii = Module["dynCall_vii"] = function() {
+ return (dynCall_vii = Module["dynCall_vii"] = Module["asm"]["dynCall_vii"]).apply(null, arguments);
+};
+
+var dynCall_ii = Module["dynCall_ii"] = function() {
+ return (dynCall_ii = Module["dynCall_ii"] = Module["asm"]["dynCall_ii"]).apply(null, arguments);
+};
+
+var dynCall_iiiiii = Module["dynCall_iiiiii"] = function() {
+ return (dynCall_iiiiii = Module["dynCall_iiiiii"] = Module["asm"]["dynCall_iiiiii"]).apply(null, arguments);
+};
+
+var dynCall_viii = Module["dynCall_viii"] = function() {
+ return (dynCall_viii = Module["dynCall_viii"] = Module["asm"]["dynCall_viii"]).apply(null, arguments);
+};
+
+var dynCall_iiiiiii = Module["dynCall_iiiiiii"] = function() {
+ return (dynCall_iiiiiii = Module["dynCall_iiiiiii"] = Module["asm"]["dynCall_iiiiiii"]).apply(null, arguments);
+};
+
+var dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = function() {
+ return (dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = Module["asm"]["dynCall_iiiiiiii"]).apply(null, arguments);
+};
+
+var dynCall_viiiii = Module["dynCall_viiiii"] = function() {
+ return (dynCall_viiiii = Module["dynCall_viiiii"] = Module["asm"]["dynCall_viiiii"]).apply(null, arguments);
+};
+
+var dynCall_iiiiiiiii = Module["dynCall_iiiiiiiii"] = function() {
+ return (dynCall_iiiiiiiii = Module["dynCall_iiiiiiiii"] = Module["asm"]["dynCall_iiiiiiiii"]).apply(null, arguments);
+};
+
+var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = function() {
+ return (dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = Module["asm"]["dynCall_viiiiiiii"]).apply(null, arguments);
+};
+
+var dynCall_viiiiii = Module["dynCall_viiiiii"] = function() {
+ return (dynCall_viiiiii = Module["dynCall_viiiiii"] = Module["asm"]["dynCall_viiiiii"]).apply(null, arguments);
+};
+
+var dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = function() {
+ return (dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = Module["asm"]["dynCall_iiiiiiiiii"]).apply(null, arguments);
+};
+
+var dynCall_viiiiji = Module["dynCall_viiiiji"] = function() {
+ return (dynCall_viiiiji = Module["dynCall_viiiiji"] = Module["asm"]["dynCall_viiiiji"]).apply(null, arguments);
+};
+
+var dynCall_iiiiiiiiiii = Module["dynCall_iiiiiiiiiii"] = function() {
+ return (dynCall_iiiiiiiiiii = Module["dynCall_iiiiiiiiiii"] = Module["asm"]["dynCall_iiiiiiiiiii"]).apply(null, arguments);
+};
+
+var dynCall_diii = Module["dynCall_diii"] = function() {
+ return (dynCall_diii = Module["dynCall_diii"] = Module["asm"]["dynCall_diii"]).apply(null, arguments);
+};
+
+var dynCall_jiji = Module["dynCall_jiji"] = function() {
+ return (dynCall_jiji = Module["dynCall_jiji"] = Module["asm"]["dynCall_jiji"]).apply(null, arguments);
+};
+
+var dynCall_iidiiii = Module["dynCall_iidiiii"] = function() {
+ return (dynCall_iidiiii = Module["dynCall_iidiiii"] = Module["asm"]["dynCall_iidiiii"]).apply(null, arguments);
+};
+
+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_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_iiiii(index, a1, a2, a3, a4) {
+ var sp = stackSave();
+ try {
+  return dynCall_iiiii(index, a1, a2, a3, a4);
+ } 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 dynCall_iiii(index, a1, a2, a3);
+ } catch (e) {
+  stackRestore(sp);
+  if (e !== e + 0 && e !== "longjmp") throw e;
+  _setThrew(1, 0);
+ }
+}
+
+function invoke_v(index) {
+ var sp = stackSave();
+ try {
+  dynCall_v(index);
+ } catch (e) {
+  stackRestore(sp);
+  if (e !== e + 0 && e !== "longjmp") throw e;
+  _setThrew(1, 0);
+ }
+}
+
+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);
+ }
+}
+
+Module["asm"] = asm;
+
+Module["ccall"] = ccall;
+
+Module["cwrap"] = cwrap;
+
+Module["getValue"] = getValue;
+
+Module["getMemory"] = getMemory;
+
+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;
+
+var calledRun;
+
+function ExitStatus(status) {
+ this.name = "ExitStatus";
+ this.message = "Program terminated with exit(" + status + ")";
+ this.status = status;
+}
+
+var calledMain = false;
+
+dependenciesFulfilled = function runCaller() {
+ if (!calledRun) run();
+ if (!calledRun) dependenciesFulfilled = runCaller;
+};
+
+function callMain(args) {
+ var entryFunction = Module["_main"];
+ args = args || [];
+ var argc = args.length + 1;
+ 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 = entryFunction(argc, argv);
+  exit(ret, true);
+ } catch (e) {
+  if (e instanceof ExitStatus) {
+   return;
+  } else if (e == "unwind") {
+   noExitRuntime = true;
+   return;
+  } else {
+   var toLog = e;
+   if (e && typeof e === "object" && e.stack) {
+    toLog = [ e, e.stack ];
+   }
+   err("exception thrown: " + toLog);
+   quit_(1, e);
+  }
+ } finally {
+  calledMain = true;
+ }
+}
+
+function run(args) {
+ args = args || arguments_;
+ if (runDependencies > 0) {
+  return;
+ }
+ preRun();
+ if (runDependencies > 0) return;
+ function doRun() {
+  if (calledRun) return;
+  calledRun = true;
+  Module["calledRun"] = true;
+  if (ABORT) return;
+  initRuntime();
+  preMain();
+  if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"]();
+  if (shouldRunNow) callMain(args);
+  postRun();
+ }
+ if (Module["setStatus"]) {
+  Module["setStatus"]("Running...");
+  setTimeout(function() {
+   setTimeout(function() {
+    Module["setStatus"]("");
+   }, 1);
+   doRun();
+  }, 1);
+ } else {
+  doRun();
+ }
+}
+
+Module["run"] = run;
+
+function exit(status, implicit) {
+ if (implicit && noExitRuntime && status === 0) {
+  return;
+ }
+ if (noExitRuntime) {} else {
+  ABORT = true;
+  EXITSTATUS = status;
+  exitRuntime();
+  if (Module["onExit"]) Module["onExit"](status);
+ }
+ quit_(status, new ExitStatus(status));
+}
+
+if (Module["preInit"]) {
+ if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ];
+ while (Module["preInit"].length > 0) {
+  Module["preInit"].pop()();
+ }
+}
+
+var shouldRunNow = true;
+
+if (Module["noInitialRun"]) shouldRunNow = false;
+
+noExitRuntime = true;
+
+run();
+
+function WrapperObject() {}
+
+WrapperObject.prototype = Object.create(WrapperObject.prototype);
+
+WrapperObject.prototype.constructor = WrapperObject;
+
+WrapperObject.prototype.__class__ = WrapperObject;
+
+WrapperObject.__cache__ = {};
+
+Module["WrapperObject"] = WrapperObject;
+
+function getCache(__class__) {
+ return (__class__ || WrapperObject).__cache__;
+}
+
+Module["getCache"] = getCache;
+
+function wrapPointer(ptr, __class__) {
+ var cache = getCache(__class__);
+ var ret = cache[ptr];
+ if (ret) return ret;
+ ret = Object.create((__class__ || WrapperObject).prototype);
+ ret.ptr = ptr;
+ return cache[ptr] = ret;
+}
+
+Module["wrapPointer"] = wrapPointer;
+
+function castObject(obj, __class__) {
+ return wrapPointer(obj.ptr, __class__);
+}
+
+Module["castObject"] = castObject;
+
+Module["NULL"] = wrapPointer(0);
+
+function destroy(obj) {
+ if (!obj["__destroy__"]) throw "Error: Cannot destroy object. (Did you create it yourself?)";
+ obj["__destroy__"]();
+ delete getCache(obj.__class__)[obj.ptr];
+}
+
+Module["destroy"] = destroy;
+
+function compare(obj1, obj2) {
+ return obj1.ptr === obj2.ptr;
+}
+
+Module["compare"] = compare;
+
+function getPointer(obj) {
+ return obj.ptr;
+}
+
+Module["getPointer"] = getPointer;
+
+function getClass(obj) {
+ return obj.__class__;
+}
+
+Module["getClass"] = getClass;
+
+var ensureCache = {
+ buffer: 0,
+ size: 0,
+ pos: 0,
+ temps: [],
+ needed: 0,
+ prepare: function() {
+  if (ensureCache.needed) {
+   for (var i = 0; i < ensureCache.temps.length; i++) {
+    Module["_free"](ensureCache.temps[i]);
+   }
+   ensureCache.temps.length = 0;
+   Module["_free"](ensureCache.buffer);
+   ensureCache.buffer = 0;
+   ensureCache.size += ensureCache.needed;
+   ensureCache.needed = 0;
+  }
+  if (!ensureCache.buffer) {
+   ensureCache.size += 128;
+   ensureCache.buffer = Module["_malloc"](ensureCache.size);
+   assert(ensureCache.buffer);
+  }
+  ensureCache.pos = 0;
+ },
+ alloc: function(array, view) {
+  assert(ensureCache.buffer);
+  var bytes = view.BYTES_PER_ELEMENT;
+  var len = array.length * bytes;
+  len = len + 7 & -8;
+  var ret;
+  if (ensureCache.pos + len >= ensureCache.size) {
+   assert(len > 0);
+   ensureCache.needed += len;
+   ret = Module["_malloc"](len);
+   ensureCache.temps.push(ret);
+  } else {
+   ret = ensureCache.buffer + ensureCache.pos;
+   ensureCache.pos += len;
+  }
+  return ret;
+ },
+ copy: function(array, view, offset) {
+  var offsetShifted = offset;
+  var bytes = view.BYTES_PER_ELEMENT;
+  switch (bytes) {
+  case 2:
+   offsetShifted >>= 1;
+   break;
+
+  case 4:
+   offsetShifted >>= 2;
+   break;
+
+  case 8:
+   offsetShifted >>= 3;
+   break;
+  }
+  for (var i = 0; i < array.length; i++) {
+   view[offsetShifted + i] = array[i];
+  }
+ }
+};
+
+function ensureString(value) {
+ if (typeof value === "string") {
+  var intArray = intArrayFromString(value);
+  var offset = ensureCache.alloc(intArray, HEAP8);
+  ensureCache.copy(intArray, HEAP8, offset);
+  return offset;
+ }
+ return value;
+}
+
+function ASS_ParserPriv() {
+ throw "cannot construct a ASS_ParserPriv, no constructor in IDL";
+}
+
+ASS_ParserPriv.prototype = Object.create(WrapperObject.prototype);
+
+ASS_ParserPriv.prototype.constructor = ASS_ParserPriv;
+
+ASS_ParserPriv.prototype.__class__ = ASS_ParserPriv;
+
+ASS_ParserPriv.__cache__ = {};
+
+Module["ASS_ParserPriv"] = ASS_ParserPriv;
+
+function ASS_Event() {
+ throw "cannot construct a ASS_Event, no constructor in IDL";
+}
+
+ASS_Event.prototype = Object.create(WrapperObject.prototype);
+
+ASS_Event.prototype.constructor = ASS_Event;
+
+ASS_Event.prototype.__class__ = ASS_Event;
+
+ASS_Event.__cache__ = {};
+
+Module["ASS_Event"] = ASS_Event;
+
+ASS_Event.prototype["get_Start"] = ASS_Event.prototype.get_Start = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Event_get_Start_0(self);
+};
+
+ASS_Event.prototype["set_Start"] = ASS_Event.prototype.set_Start = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Event_set_Start_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "Start", {
+ get: ASS_Event.prototype.get_Start,
+ set: ASS_Event.prototype.set_Start
+});
+
+ASS_Event.prototype["get_Duration"] = ASS_Event.prototype.get_Duration = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Event_get_Duration_0(self);
+};
+
+ASS_Event.prototype["set_Duration"] = ASS_Event.prototype.set_Duration = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Event_set_Duration_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "Duration", {
+ get: ASS_Event.prototype.get_Duration,
+ set: ASS_Event.prototype.set_Duration
+});
+
+ASS_Event.prototype["get_ReadOrder"] = ASS_Event.prototype.get_ReadOrder = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Event_get_ReadOrder_0(self);
+};
+
+ASS_Event.prototype["set_ReadOrder"] = ASS_Event.prototype.set_ReadOrder = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Event_set_ReadOrder_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "ReadOrder", {
+ get: ASS_Event.prototype.get_ReadOrder,
+ set: ASS_Event.prototype.set_ReadOrder
+});
+
+ASS_Event.prototype["get_Layer"] = ASS_Event.prototype.get_Layer = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Event_get_Layer_0(self);
+};
+
+ASS_Event.prototype["set_Layer"] = ASS_Event.prototype.set_Layer = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Event_set_Layer_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "Layer", {
+ get: ASS_Event.prototype.get_Layer,
+ set: ASS_Event.prototype.set_Layer
+});
+
+ASS_Event.prototype["get_Style"] = ASS_Event.prototype.get_Style = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Event_get_Style_0(self);
+};
+
+ASS_Event.prototype["set_Style"] = ASS_Event.prototype.set_Style = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Event_set_Style_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "Style", {
+ get: ASS_Event.prototype.get_Style,
+ set: ASS_Event.prototype.set_Style
+});
+
+ASS_Event.prototype["get_Name"] = ASS_Event.prototype.get_Name = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Event_get_Name_0(self));
+};
+
+ASS_Event.prototype["set_Name"] = ASS_Event.prototype.set_Name = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Event_set_Name_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "Name", {
+ get: ASS_Event.prototype.get_Name,
+ set: ASS_Event.prototype.set_Name
+});
+
+ASS_Event.prototype["get_MarginL"] = ASS_Event.prototype.get_MarginL = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Event_get_MarginL_0(self);
+};
+
+ASS_Event.prototype["set_MarginL"] = ASS_Event.prototype.set_MarginL = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Event_set_MarginL_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "MarginL", {
+ get: ASS_Event.prototype.get_MarginL,
+ set: ASS_Event.prototype.set_MarginL
+});
+
+ASS_Event.prototype["get_MarginR"] = ASS_Event.prototype.get_MarginR = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Event_get_MarginR_0(self);
+};
+
+ASS_Event.prototype["set_MarginR"] = ASS_Event.prototype.set_MarginR = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Event_set_MarginR_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "MarginR", {
+ get: ASS_Event.prototype.get_MarginR,
+ set: ASS_Event.prototype.set_MarginR
+});
+
+ASS_Event.prototype["get_MarginV"] = ASS_Event.prototype.get_MarginV = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Event_get_MarginV_0(self);
+};
+
+ASS_Event.prototype["set_MarginV"] = ASS_Event.prototype.set_MarginV = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Event_set_MarginV_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "MarginV", {
+ get: ASS_Event.prototype.get_MarginV,
+ set: ASS_Event.prototype.set_MarginV
+});
+
+ASS_Event.prototype["get_Effect"] = ASS_Event.prototype.get_Effect = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Event_get_Effect_0(self));
+};
+
+ASS_Event.prototype["set_Effect"] = ASS_Event.prototype.set_Effect = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Event_set_Effect_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "Effect", {
+ get: ASS_Event.prototype.get_Effect,
+ set: ASS_Event.prototype.set_Effect
+});
+
+ASS_Event.prototype["get_Text"] = ASS_Event.prototype.get_Text = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Event_get_Text_0(self));
+};
+
+ASS_Event.prototype["set_Text"] = ASS_Event.prototype.set_Text = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Event_set_Text_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Event.prototype, "Text", {
+ get: ASS_Event.prototype.get_Text,
+ set: ASS_Event.prototype.set_Text
+});
+
+function ASS_Renderer() {
+ throw "cannot construct a ASS_Renderer, no constructor in IDL";
+}
+
+ASS_Renderer.prototype = Object.create(WrapperObject.prototype);
+
+ASS_Renderer.prototype.constructor = ASS_Renderer;
+
+ASS_Renderer.prototype.__class__ = ASS_Renderer;
+
+ASS_Renderer.__cache__ = {};
+
+Module["ASS_Renderer"] = ASS_Renderer;
+
+function SubtitleOctopus() {
+ this.ptr = _emscripten_bind_SubtitleOctopus_SubtitleOctopus_0();
+ getCache(SubtitleOctopus)[this.ptr] = this;
+}
+
+SubtitleOctopus.prototype = Object.create(WrapperObject.prototype);
+
+SubtitleOctopus.prototype.constructor = SubtitleOctopus;
+
+SubtitleOctopus.prototype.__class__ = SubtitleOctopus;
+
+SubtitleOctopus.__cache__ = {};
+
+Module["SubtitleOctopus"] = SubtitleOctopus;
+
+SubtitleOctopus.prototype["setLogLevel"] = SubtitleOctopus.prototype.setLogLevel = function(level) {
+ var self = this.ptr;
+ if (level && typeof level === "object") level = level.ptr;
+ _emscripten_bind_SubtitleOctopus_setLogLevel_1(self, level);
+};
+
+SubtitleOctopus.prototype["initLibrary"] = SubtitleOctopus.prototype.initLibrary = function(frame_w, frame_h) {
+ var self = this.ptr;
+ if (frame_w && typeof frame_w === "object") frame_w = frame_w.ptr;
+ if (frame_h && typeof frame_h === "object") frame_h = frame_h.ptr;
+ _emscripten_bind_SubtitleOctopus_initLibrary_2(self, frame_w, frame_h);
+};
+
+SubtitleOctopus.prototype["createTrack"] = SubtitleOctopus.prototype.createTrack = function(subfile) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (subfile && typeof subfile === "object") subfile = subfile.ptr; else subfile = ensureString(subfile);
+ _emscripten_bind_SubtitleOctopus_createTrack_1(self, subfile);
+};
+
+SubtitleOctopus.prototype["createTrackMem"] = SubtitleOctopus.prototype.createTrackMem = function(buf, bufsize) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (buf && typeof buf === "object") buf = buf.ptr; else buf = ensureString(buf);
+ if (bufsize && typeof bufsize === "object") bufsize = bufsize.ptr;
+ _emscripten_bind_SubtitleOctopus_createTrackMem_2(self, buf, bufsize);
+};
+
+SubtitleOctopus.prototype["removeTrack"] = SubtitleOctopus.prototype.removeTrack = function() {
+ var self = this.ptr;
+ _emscripten_bind_SubtitleOctopus_removeTrack_0(self);
+};
+
+SubtitleOctopus.prototype["resizeCanvas"] = SubtitleOctopus.prototype.resizeCanvas = function(frame_w, frame_h) {
+ var self = this.ptr;
+ if (frame_w && typeof frame_w === "object") frame_w = frame_w.ptr;
+ if (frame_h && typeof frame_h === "object") frame_h = frame_h.ptr;
+ _emscripten_bind_SubtitleOctopus_resizeCanvas_2(self, frame_w, frame_h);
+};
+
+SubtitleOctopus.prototype["renderImage"] = SubtitleOctopus.prototype.renderImage = function(time, changed) {
+ var self = this.ptr;
+ if (time && typeof time === "object") time = time.ptr;
+ if (changed && typeof changed === "object") changed = changed.ptr;
+ return wrapPointer(_emscripten_bind_SubtitleOctopus_renderImage_2(self, time, changed), ASS_Image);
+};
+
+SubtitleOctopus.prototype["quitLibrary"] = SubtitleOctopus.prototype.quitLibrary = function() {
+ var self = this.ptr;
+ _emscripten_bind_SubtitleOctopus_quitLibrary_0(self);
+};
+
+SubtitleOctopus.prototype["reloadLibrary"] = SubtitleOctopus.prototype.reloadLibrary = function() {
+ var self = this.ptr;
+ _emscripten_bind_SubtitleOctopus_reloadLibrary_0(self);
+};
+
+SubtitleOctopus.prototype["reloadFonts"] = SubtitleOctopus.prototype.reloadFonts = function() {
+ var self = this.ptr;
+ _emscripten_bind_SubtitleOctopus_reloadFonts_0(self);
+};
+
+SubtitleOctopus.prototype["setMargin"] = SubtitleOctopus.prototype.setMargin = function(top, bottom, left, right) {
+ var self = this.ptr;
+ if (top && typeof top === "object") top = top.ptr;
+ if (bottom && typeof bottom === "object") bottom = bottom.ptr;
+ if (left && typeof left === "object") left = left.ptr;
+ if (right && typeof right === "object") right = right.ptr;
+ _emscripten_bind_SubtitleOctopus_setMargin_4(self, top, bottom, left, right);
+};
+
+SubtitleOctopus.prototype["getEventCount"] = SubtitleOctopus.prototype.getEventCount = function() {
+ var self = this.ptr;
+ return _emscripten_bind_SubtitleOctopus_getEventCount_0(self);
+};
+
+SubtitleOctopus.prototype["allocEvent"] = SubtitleOctopus.prototype.allocEvent = function() {
+ var self = this.ptr;
+ return _emscripten_bind_SubtitleOctopus_allocEvent_0(self);
+};
+
+SubtitleOctopus.prototype["allocStyle"] = SubtitleOctopus.prototype.allocStyle = function() {
+ var self = this.ptr;
+ return _emscripten_bind_SubtitleOctopus_allocStyle_0(self);
+};
+
+SubtitleOctopus.prototype["removeEvent"] = SubtitleOctopus.prototype.removeEvent = function(eid) {
+ var self = this.ptr;
+ if (eid && typeof eid === "object") eid = eid.ptr;
+ _emscripten_bind_SubtitleOctopus_removeEvent_1(self, eid);
+};
+
+SubtitleOctopus.prototype["getStyleCount"] = SubtitleOctopus.prototype.getStyleCount = function() {
+ var self = this.ptr;
+ return _emscripten_bind_SubtitleOctopus_getStyleCount_0(self);
+};
+
+SubtitleOctopus.prototype["getStyleByName"] = SubtitleOctopus.prototype.getStyleByName = function(name) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (name && typeof name === "object") name = name.ptr; else name = ensureString(name);
+ return _emscripten_bind_SubtitleOctopus_getStyleByName_1(self, name);
+};
+
+SubtitleOctopus.prototype["removeStyle"] = SubtitleOctopus.prototype.removeStyle = function(eid) {
+ var self = this.ptr;
+ if (eid && typeof eid === "object") eid = eid.ptr;
+ _emscripten_bind_SubtitleOctopus_removeStyle_1(self, eid);
+};
+
+SubtitleOctopus.prototype["removeAllEvents"] = SubtitleOctopus.prototype.removeAllEvents = function() {
+ var self = this.ptr;
+ _emscripten_bind_SubtitleOctopus_removeAllEvents_0(self);
+};
+
+SubtitleOctopus.prototype["get_track"] = SubtitleOctopus.prototype.get_track = function() {
+ var self = this.ptr;
+ return wrapPointer(_emscripten_bind_SubtitleOctopus_get_track_0(self), ASS_Track);
+};
+
+SubtitleOctopus.prototype["set_track"] = SubtitleOctopus.prototype.set_track = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_SubtitleOctopus_set_track_1(self, arg0);
+};
+
+Object.defineProperty(SubtitleOctopus.prototype, "track", {
+ get: SubtitleOctopus.prototype.get_track,
+ set: SubtitleOctopus.prototype.set_track
+});
+
+SubtitleOctopus.prototype["get_ass_renderer"] = SubtitleOctopus.prototype.get_ass_renderer = function() {
+ var self = this.ptr;
+ return wrapPointer(_emscripten_bind_SubtitleOctopus_get_ass_renderer_0(self), ASS_Renderer);
+};
+
+SubtitleOctopus.prototype["set_ass_renderer"] = SubtitleOctopus.prototype.set_ass_renderer = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_SubtitleOctopus_set_ass_renderer_1(self, arg0);
+};
+
+Object.defineProperty(SubtitleOctopus.prototype, "ass_renderer", {
+ get: SubtitleOctopus.prototype.get_ass_renderer,
+ set: SubtitleOctopus.prototype.set_ass_renderer
+});
+
+SubtitleOctopus.prototype["get_ass_library"] = SubtitleOctopus.prototype.get_ass_library = function() {
+ var self = this.ptr;
+ return wrapPointer(_emscripten_bind_SubtitleOctopus_get_ass_library_0(self), ASS_Library);
+};
+
+SubtitleOctopus.prototype["set_ass_library"] = SubtitleOctopus.prototype.set_ass_library = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_SubtitleOctopus_set_ass_library_1(self, arg0);
+};
+
+Object.defineProperty(SubtitleOctopus.prototype, "ass_library", {
+ get: SubtitleOctopus.prototype.get_ass_library,
+ set: SubtitleOctopus.prototype.set_ass_library
+});
+
+SubtitleOctopus.prototype["__destroy__"] = SubtitleOctopus.prototype.__destroy__ = function() {
+ var self = this.ptr;
+ _emscripten_bind_SubtitleOctopus___destroy___0(self);
+};
+
+function ASS_Track() {
+ throw "cannot construct a ASS_Track, no constructor in IDL";
+}
+
+ASS_Track.prototype = Object.create(WrapperObject.prototype);
+
+ASS_Track.prototype.constructor = ASS_Track;
+
+ASS_Track.prototype.__class__ = ASS_Track;
+
+ASS_Track.__cache__ = {};
+
+Module["ASS_Track"] = ASS_Track;
+
+ASS_Track.prototype["get_n_styles"] = ASS_Track.prototype.get_n_styles = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_n_styles_0(self);
+};
+
+ASS_Track.prototype["set_n_styles"] = ASS_Track.prototype.set_n_styles = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_n_styles_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "n_styles", {
+ get: ASS_Track.prototype.get_n_styles,
+ set: ASS_Track.prototype.set_n_styles
+});
+
+ASS_Track.prototype["get_max_styles"] = ASS_Track.prototype.get_max_styles = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_max_styles_0(self);
+};
+
+ASS_Track.prototype["set_max_styles"] = ASS_Track.prototype.set_max_styles = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_max_styles_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "max_styles", {
+ get: ASS_Track.prototype.get_max_styles,
+ set: ASS_Track.prototype.set_max_styles
+});
+
+ASS_Track.prototype["get_n_events"] = ASS_Track.prototype.get_n_events = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_n_events_0(self);
+};
+
+ASS_Track.prototype["set_n_events"] = ASS_Track.prototype.set_n_events = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_n_events_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "n_events", {
+ get: ASS_Track.prototype.get_n_events,
+ set: ASS_Track.prototype.set_n_events
+});
+
+ASS_Track.prototype["get_max_events"] = ASS_Track.prototype.get_max_events = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_max_events_0(self);
+};
+
+ASS_Track.prototype["set_max_events"] = ASS_Track.prototype.set_max_events = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_max_events_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "max_events", {
+ get: ASS_Track.prototype.get_max_events,
+ set: ASS_Track.prototype.set_max_events
+});
+
+ASS_Track.prototype["get_styles"] = ASS_Track.prototype.get_styles = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ return wrapPointer(_emscripten_bind_ASS_Track_get_styles_1(self, arg0), ASS_Style);
+};
+
+ASS_Track.prototype["set_styles"] = ASS_Track.prototype.set_styles = function(arg0, arg1) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ if (arg1 && typeof arg1 === "object") arg1 = arg1.ptr;
+ _emscripten_bind_ASS_Track_set_styles_2(self, arg0, arg1);
+};
+
+Object.defineProperty(ASS_Track.prototype, "styles", {
+ get: ASS_Track.prototype.get_styles,
+ set: ASS_Track.prototype.set_styles
+});
+
+ASS_Track.prototype["get_events"] = ASS_Track.prototype.get_events = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ return wrapPointer(_emscripten_bind_ASS_Track_get_events_1(self, arg0), ASS_Event);
+};
+
+ASS_Track.prototype["set_events"] = ASS_Track.prototype.set_events = function(arg0, arg1) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ if (arg1 && typeof arg1 === "object") arg1 = arg1.ptr;
+ _emscripten_bind_ASS_Track_set_events_2(self, arg0, arg1);
+};
+
+Object.defineProperty(ASS_Track.prototype, "events", {
+ get: ASS_Track.prototype.get_events,
+ set: ASS_Track.prototype.set_events
+});
+
+ASS_Track.prototype["get_style_format"] = ASS_Track.prototype.get_style_format = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Track_get_style_format_0(self));
+};
+
+ASS_Track.prototype["set_style_format"] = ASS_Track.prototype.set_style_format = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Track_set_style_format_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "style_format", {
+ get: ASS_Track.prototype.get_style_format,
+ set: ASS_Track.prototype.set_style_format
+});
+
+ASS_Track.prototype["get_event_format"] = ASS_Track.prototype.get_event_format = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Track_get_event_format_0(self));
+};
+
+ASS_Track.prototype["set_event_format"] = ASS_Track.prototype.set_event_format = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Track_set_event_format_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "event_format", {
+ get: ASS_Track.prototype.get_event_format,
+ set: ASS_Track.prototype.set_event_format
+});
+
+ASS_Track.prototype["get_PlayResX"] = ASS_Track.prototype.get_PlayResX = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_PlayResX_0(self);
+};
+
+ASS_Track.prototype["set_PlayResX"] = ASS_Track.prototype.set_PlayResX = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_PlayResX_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "PlayResX", {
+ get: ASS_Track.prototype.get_PlayResX,
+ set: ASS_Track.prototype.set_PlayResX
+});
+
+ASS_Track.prototype["get_PlayResY"] = ASS_Track.prototype.get_PlayResY = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_PlayResY_0(self);
+};
+
+ASS_Track.prototype["set_PlayResY"] = ASS_Track.prototype.set_PlayResY = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_PlayResY_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "PlayResY", {
+ get: ASS_Track.prototype.get_PlayResY,
+ set: ASS_Track.prototype.set_PlayResY
+});
+
+ASS_Track.prototype["get_Timer"] = ASS_Track.prototype.get_Timer = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_Timer_0(self);
+};
+
+ASS_Track.prototype["set_Timer"] = ASS_Track.prototype.set_Timer = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_Timer_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "Timer", {
+ get: ASS_Track.prototype.get_Timer,
+ set: ASS_Track.prototype.set_Timer
+});
+
+ASS_Track.prototype["get_WrapStyle"] = ASS_Track.prototype.get_WrapStyle = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_WrapStyle_0(self);
+};
+
+ASS_Track.prototype["set_WrapStyle"] = ASS_Track.prototype.set_WrapStyle = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_WrapStyle_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "WrapStyle", {
+ get: ASS_Track.prototype.get_WrapStyle,
+ set: ASS_Track.prototype.set_WrapStyle
+});
+
+ASS_Track.prototype["get_ScaledBorderAndShadow"] = ASS_Track.prototype.get_ScaledBorderAndShadow = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_ScaledBorderAndShadow_0(self);
+};
+
+ASS_Track.prototype["set_ScaledBorderAndShadow"] = ASS_Track.prototype.set_ScaledBorderAndShadow = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_ScaledBorderAndShadow_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "ScaledBorderAndShadow", {
+ get: ASS_Track.prototype.get_ScaledBorderAndShadow,
+ set: ASS_Track.prototype.set_ScaledBorderAndShadow
+});
+
+ASS_Track.prototype["get_Kerning"] = ASS_Track.prototype.get_Kerning = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_Kerning_0(self);
+};
+
+ASS_Track.prototype["set_Kerning"] = ASS_Track.prototype.set_Kerning = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_Kerning_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "Kerning", {
+ get: ASS_Track.prototype.get_Kerning,
+ set: ASS_Track.prototype.set_Kerning
+});
+
+ASS_Track.prototype["get_Language"] = ASS_Track.prototype.get_Language = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Track_get_Language_0(self));
+};
+
+ASS_Track.prototype["set_Language"] = ASS_Track.prototype.set_Language = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Track_set_Language_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "Language", {
+ get: ASS_Track.prototype.get_Language,
+ set: ASS_Track.prototype.set_Language
+});
+
+ASS_Track.prototype["get_default_style"] = ASS_Track.prototype.get_default_style = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Track_get_default_style_0(self);
+};
+
+ASS_Track.prototype["set_default_style"] = ASS_Track.prototype.set_default_style = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Track_set_default_style_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "default_style", {
+ get: ASS_Track.prototype.get_default_style,
+ set: ASS_Track.prototype.set_default_style
+});
+
+ASS_Track.prototype["get_name"] = ASS_Track.prototype.get_name = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Track_get_name_0(self));
+};
+
+ASS_Track.prototype["set_name"] = ASS_Track.prototype.set_name = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Track_set_name_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Track.prototype, "name", {
+ get: ASS_Track.prototype.get_name,
+ set: ASS_Track.prototype.set_name
+});
+
+function ASS_RenderPriv() {
+ throw "cannot construct a ASS_RenderPriv, no constructor in IDL";
+}
+
+ASS_RenderPriv.prototype = Object.create(WrapperObject.prototype);
+
+ASS_RenderPriv.prototype.constructor = ASS_RenderPriv;
+
+ASS_RenderPriv.prototype.__class__ = ASS_RenderPriv;
+
+ASS_RenderPriv.__cache__ = {};
+
+Module["ASS_RenderPriv"] = ASS_RenderPriv;
+
+function ASS_Style() {
+ throw "cannot construct a ASS_Style, no constructor in IDL";
+}
+
+ASS_Style.prototype = Object.create(WrapperObject.prototype);
+
+ASS_Style.prototype.constructor = ASS_Style;
+
+ASS_Style.prototype.__class__ = ASS_Style;
+
+ASS_Style.__cache__ = {};
+
+Module["ASS_Style"] = ASS_Style;
+
+ASS_Style.prototype["get_Name"] = ASS_Style.prototype.get_Name = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Style_get_Name_0(self));
+};
+
+ASS_Style.prototype["set_Name"] = ASS_Style.prototype.set_Name = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Style_set_Name_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Name", {
+ get: ASS_Style.prototype.get_Name,
+ set: ASS_Style.prototype.set_Name
+});
+
+ASS_Style.prototype["get_FontName"] = ASS_Style.prototype.get_FontName = function() {
+ var self = this.ptr;
+ return UTF8ToString(_emscripten_bind_ASS_Style_get_FontName_0(self));
+};
+
+ASS_Style.prototype["set_FontName"] = ASS_Style.prototype.set_FontName = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Style_set_FontName_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "FontName", {
+ get: ASS_Style.prototype.get_FontName,
+ set: ASS_Style.prototype.set_FontName
+});
+
+ASS_Style.prototype["get_FontSize"] = ASS_Style.prototype.get_FontSize = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_FontSize_0(self);
+};
+
+ASS_Style.prototype["set_FontSize"] = ASS_Style.prototype.set_FontSize = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_FontSize_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "FontSize", {
+ get: ASS_Style.prototype.get_FontSize,
+ set: ASS_Style.prototype.set_FontSize
+});
+
+ASS_Style.prototype["get_PrimaryColour"] = ASS_Style.prototype.get_PrimaryColour = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_PrimaryColour_0(self);
+};
+
+ASS_Style.prototype["set_PrimaryColour"] = ASS_Style.prototype.set_PrimaryColour = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_PrimaryColour_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "PrimaryColour", {
+ get: ASS_Style.prototype.get_PrimaryColour,
+ set: ASS_Style.prototype.set_PrimaryColour
+});
+
+ASS_Style.prototype["get_SecondaryColour"] = ASS_Style.prototype.get_SecondaryColour = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_SecondaryColour_0(self);
+};
+
+ASS_Style.prototype["set_SecondaryColour"] = ASS_Style.prototype.set_SecondaryColour = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_SecondaryColour_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "SecondaryColour", {
+ get: ASS_Style.prototype.get_SecondaryColour,
+ set: ASS_Style.prototype.set_SecondaryColour
+});
+
+ASS_Style.prototype["get_OutlineColour"] = ASS_Style.prototype.get_OutlineColour = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_OutlineColour_0(self);
+};
+
+ASS_Style.prototype["set_OutlineColour"] = ASS_Style.prototype.set_OutlineColour = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_OutlineColour_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "OutlineColour", {
+ get: ASS_Style.prototype.get_OutlineColour,
+ set: ASS_Style.prototype.set_OutlineColour
+});
+
+ASS_Style.prototype["get_BackColour"] = ASS_Style.prototype.get_BackColour = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_BackColour_0(self);
+};
+
+ASS_Style.prototype["set_BackColour"] = ASS_Style.prototype.set_BackColour = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_BackColour_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "BackColour", {
+ get: ASS_Style.prototype.get_BackColour,
+ set: ASS_Style.prototype.set_BackColour
+});
+
+ASS_Style.prototype["get_Bold"] = ASS_Style.prototype.get_Bold = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Bold_0(self);
+};
+
+ASS_Style.prototype["set_Bold"] = ASS_Style.prototype.set_Bold = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Bold_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Bold", {
+ get: ASS_Style.prototype.get_Bold,
+ set: ASS_Style.prototype.set_Bold
+});
+
+ASS_Style.prototype["get_Italic"] = ASS_Style.prototype.get_Italic = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Italic_0(self);
+};
+
+ASS_Style.prototype["set_Italic"] = ASS_Style.prototype.set_Italic = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Italic_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Italic", {
+ get: ASS_Style.prototype.get_Italic,
+ set: ASS_Style.prototype.set_Italic
+});
+
+ASS_Style.prototype["get_Underline"] = ASS_Style.prototype.get_Underline = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Underline_0(self);
+};
+
+ASS_Style.prototype["set_Underline"] = ASS_Style.prototype.set_Underline = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Underline_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Underline", {
+ get: ASS_Style.prototype.get_Underline,
+ set: ASS_Style.prototype.set_Underline
+});
+
+ASS_Style.prototype["get_StrikeOut"] = ASS_Style.prototype.get_StrikeOut = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_StrikeOut_0(self);
+};
+
+ASS_Style.prototype["set_StrikeOut"] = ASS_Style.prototype.set_StrikeOut = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_StrikeOut_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "StrikeOut", {
+ get: ASS_Style.prototype.get_StrikeOut,
+ set: ASS_Style.prototype.set_StrikeOut
+});
+
+ASS_Style.prototype["get_ScaleX"] = ASS_Style.prototype.get_ScaleX = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_ScaleX_0(self);
+};
+
+ASS_Style.prototype["set_ScaleX"] = ASS_Style.prototype.set_ScaleX = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_ScaleX_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "ScaleX", {
+ get: ASS_Style.prototype.get_ScaleX,
+ set: ASS_Style.prototype.set_ScaleX
+});
+
+ASS_Style.prototype["get_ScaleY"] = ASS_Style.prototype.get_ScaleY = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_ScaleY_0(self);
+};
+
+ASS_Style.prototype["set_ScaleY"] = ASS_Style.prototype.set_ScaleY = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_ScaleY_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "ScaleY", {
+ get: ASS_Style.prototype.get_ScaleY,
+ set: ASS_Style.prototype.set_ScaleY
+});
+
+ASS_Style.prototype["get_Spacing"] = ASS_Style.prototype.get_Spacing = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Spacing_0(self);
+};
+
+ASS_Style.prototype["set_Spacing"] = ASS_Style.prototype.set_Spacing = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Spacing_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Spacing", {
+ get: ASS_Style.prototype.get_Spacing,
+ set: ASS_Style.prototype.set_Spacing
+});
+
+ASS_Style.prototype["get_Angle"] = ASS_Style.prototype.get_Angle = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Angle_0(self);
+};
+
+ASS_Style.prototype["set_Angle"] = ASS_Style.prototype.set_Angle = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Angle_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Angle", {
+ get: ASS_Style.prototype.get_Angle,
+ set: ASS_Style.prototype.set_Angle
+});
+
+ASS_Style.prototype["get_BorderStyle"] = ASS_Style.prototype.get_BorderStyle = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_BorderStyle_0(self);
+};
+
+ASS_Style.prototype["set_BorderStyle"] = ASS_Style.prototype.set_BorderStyle = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_BorderStyle_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "BorderStyle", {
+ get: ASS_Style.prototype.get_BorderStyle,
+ set: ASS_Style.prototype.set_BorderStyle
+});
+
+ASS_Style.prototype["get_Outline"] = ASS_Style.prototype.get_Outline = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Outline_0(self);
+};
+
+ASS_Style.prototype["set_Outline"] = ASS_Style.prototype.set_Outline = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Outline_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Outline", {
+ get: ASS_Style.prototype.get_Outline,
+ set: ASS_Style.prototype.set_Outline
+});
+
+ASS_Style.prototype["get_Shadow"] = ASS_Style.prototype.get_Shadow = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Shadow_0(self);
+};
+
+ASS_Style.prototype["set_Shadow"] = ASS_Style.prototype.set_Shadow = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Shadow_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Shadow", {
+ get: ASS_Style.prototype.get_Shadow,
+ set: ASS_Style.prototype.set_Shadow
+});
+
+ASS_Style.prototype["get_Alignment"] = ASS_Style.prototype.get_Alignment = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Alignment_0(self);
+};
+
+ASS_Style.prototype["set_Alignment"] = ASS_Style.prototype.set_Alignment = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Alignment_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Alignment", {
+ get: ASS_Style.prototype.get_Alignment,
+ set: ASS_Style.prototype.set_Alignment
+});
+
+ASS_Style.prototype["get_MarginL"] = ASS_Style.prototype.get_MarginL = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_MarginL_0(self);
+};
+
+ASS_Style.prototype["set_MarginL"] = ASS_Style.prototype.set_MarginL = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_MarginL_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "MarginL", {
+ get: ASS_Style.prototype.get_MarginL,
+ set: ASS_Style.prototype.set_MarginL
+});
+
+ASS_Style.prototype["get_MarginR"] = ASS_Style.prototype.get_MarginR = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_MarginR_0(self);
+};
+
+ASS_Style.prototype["set_MarginR"] = ASS_Style.prototype.set_MarginR = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_MarginR_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "MarginR", {
+ get: ASS_Style.prototype.get_MarginR,
+ set: ASS_Style.prototype.set_MarginR
+});
+
+ASS_Style.prototype["get_MarginV"] = ASS_Style.prototype.get_MarginV = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_MarginV_0(self);
+};
+
+ASS_Style.prototype["set_MarginV"] = ASS_Style.prototype.set_MarginV = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_MarginV_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "MarginV", {
+ get: ASS_Style.prototype.get_MarginV,
+ set: ASS_Style.prototype.set_MarginV
+});
+
+ASS_Style.prototype["get_Encoding"] = ASS_Style.prototype.get_Encoding = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Encoding_0(self);
+};
+
+ASS_Style.prototype["set_Encoding"] = ASS_Style.prototype.set_Encoding = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Encoding_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Encoding", {
+ get: ASS_Style.prototype.get_Encoding,
+ set: ASS_Style.prototype.set_Encoding
+});
+
+ASS_Style.prototype["get_treat_fontname_as_pattern"] = ASS_Style.prototype.get_treat_fontname_as_pattern = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_treat_fontname_as_pattern_0(self);
+};
+
+ASS_Style.prototype["set_treat_fontname_as_pattern"] = ASS_Style.prototype.set_treat_fontname_as_pattern = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_treat_fontname_as_pattern_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "treat_fontname_as_pattern", {
+ get: ASS_Style.prototype.get_treat_fontname_as_pattern,
+ set: ASS_Style.prototype.set_treat_fontname_as_pattern
+});
+
+ASS_Style.prototype["get_Blur"] = ASS_Style.prototype.get_Blur = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Blur_0(self);
+};
+
+ASS_Style.prototype["set_Blur"] = ASS_Style.prototype.set_Blur = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Blur_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Blur", {
+ get: ASS_Style.prototype.get_Blur,
+ set: ASS_Style.prototype.set_Blur
+});
+
+ASS_Style.prototype["get_Justify"] = ASS_Style.prototype.get_Justify = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Style_get_Justify_0(self);
+};
+
+ASS_Style.prototype["set_Justify"] = ASS_Style.prototype.set_Justify = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Style_set_Justify_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Style.prototype, "Justify", {
+ get: ASS_Style.prototype.get_Justify,
+ set: ASS_Style.prototype.set_Justify
+});
+
+function ASS_Image() {
+ throw "cannot construct a ASS_Image, no constructor in IDL";
+}
+
+ASS_Image.prototype = Object.create(WrapperObject.prototype);
+
+ASS_Image.prototype.constructor = ASS_Image;
+
+ASS_Image.prototype.__class__ = ASS_Image;
+
+ASS_Image.__cache__ = {};
+
+Module["ASS_Image"] = ASS_Image;
+
+ASS_Image.prototype["get_w"] = ASS_Image.prototype.get_w = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Image_get_w_0(self);
+};
+
+ASS_Image.prototype["set_w"] = ASS_Image.prototype.set_w = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Image_set_w_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Image.prototype, "w", {
+ get: ASS_Image.prototype.get_w,
+ set: ASS_Image.prototype.set_w
+});
+
+ASS_Image.prototype["get_h"] = ASS_Image.prototype.get_h = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Image_get_h_0(self);
+};
+
+ASS_Image.prototype["set_h"] = ASS_Image.prototype.set_h = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Image_set_h_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Image.prototype, "h", {
+ get: ASS_Image.prototype.get_h,
+ set: ASS_Image.prototype.set_h
+});
+
+ASS_Image.prototype["get_stride"] = ASS_Image.prototype.get_stride = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Image_get_stride_0(self);
+};
+
+ASS_Image.prototype["set_stride"] = ASS_Image.prototype.set_stride = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Image_set_stride_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Image.prototype, "stride", {
+ get: ASS_Image.prototype.get_stride,
+ set: ASS_Image.prototype.set_stride
+});
+
+ASS_Image.prototype["get_bitmap"] = ASS_Image.prototype.get_bitmap = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Image_get_bitmap_0(self);
+};
+
+ASS_Image.prototype["set_bitmap"] = ASS_Image.prototype.set_bitmap = function(arg0) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr; else arg0 = ensureString(arg0);
+ _emscripten_bind_ASS_Image_set_bitmap_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Image.prototype, "bitmap", {
+ get: ASS_Image.prototype.get_bitmap,
+ set: ASS_Image.prototype.set_bitmap
+});
+
+ASS_Image.prototype["get_color"] = ASS_Image.prototype.get_color = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Image_get_color_0(self);
+};
+
+ASS_Image.prototype["set_color"] = ASS_Image.prototype.set_color = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Image_set_color_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Image.prototype, "color", {
+ get: ASS_Image.prototype.get_color,
+ set: ASS_Image.prototype.set_color
+});
+
+ASS_Image.prototype["get_dst_x"] = ASS_Image.prototype.get_dst_x = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Image_get_dst_x_0(self);
+};
+
+ASS_Image.prototype["set_dst_x"] = ASS_Image.prototype.set_dst_x = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Image_set_dst_x_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Image.prototype, "dst_x", {
+ get: ASS_Image.prototype.get_dst_x,
+ set: ASS_Image.prototype.set_dst_x
+});
+
+ASS_Image.prototype["get_dst_y"] = ASS_Image.prototype.get_dst_y = function() {
+ var self = this.ptr;
+ return _emscripten_bind_ASS_Image_get_dst_y_0(self);
+};
+
+ASS_Image.prototype["set_dst_y"] = ASS_Image.prototype.set_dst_y = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Image_set_dst_y_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Image.prototype, "dst_y", {
+ get: ASS_Image.prototype.get_dst_y,
+ set: ASS_Image.prototype.set_dst_y
+});
+
+ASS_Image.prototype["get_next"] = ASS_Image.prototype.get_next = function() {
+ var self = this.ptr;
+ return wrapPointer(_emscripten_bind_ASS_Image_get_next_0(self), ASS_Image);
+};
+
+ASS_Image.prototype["set_next"] = ASS_Image.prototype.set_next = function(arg0) {
+ var self = this.ptr;
+ if (arg0 && typeof arg0 === "object") arg0 = arg0.ptr;
+ _emscripten_bind_ASS_Image_set_next_1(self, arg0);
+};
+
+Object.defineProperty(ASS_Image.prototype, "next", {
+ get: ASS_Image.prototype.get_next,
+ set: ASS_Image.prototype.set_next
+});
+
+function VoidPtr() {
+ throw "cannot construct a VoidPtr, no constructor in IDL";
+}
+
+VoidPtr.prototype = Object.create(WrapperObject.prototype);
+
+VoidPtr.prototype.constructor = VoidPtr;
+
+VoidPtr.prototype.__class__ = VoidPtr;
+
+VoidPtr.__cache__ = {};
+
+Module["VoidPtr"] = VoidPtr;
+
+VoidPtr.prototype["__destroy__"] = VoidPtr.prototype.__destroy__ = function() {
+ var self = this.ptr;
+ _emscripten_bind_VoidPtr___destroy___0(self);
+};
+
+function ASS_Library() {
+ throw "cannot construct a ASS_Library, no constructor in IDL";
+}
+
+ASS_Library.prototype = Object.create(WrapperObject.prototype);
+
+ASS_Library.prototype.constructor = ASS_Library;
+
+ASS_Library.prototype.__class__ = ASS_Library;
+
+ASS_Library.__cache__ = {};
+
+Module["ASS_Library"] = ASS_Library;
+
+function libass() {
+ this.ptr = _emscripten_bind_libass_libass_0();
+ getCache(libass)[this.ptr] = this;
+}
+
+libass.prototype = Object.create(WrapperObject.prototype);
+
+libass.prototype.constructor = libass;
+
+libass.prototype.__class__ = libass;
+
+libass.__cache__ = {};
+
+Module["libass"] = libass;
+
+libass.prototype["oct_library_version"] = libass.prototype.oct_library_version = function() {
+ var self = this.ptr;
+ return _emscripten_bind_libass_oct_library_version_0(self);
+};
+
+libass.prototype["oct_library_init"] = libass.prototype.oct_library_init = function() {
+ var self = this.ptr;
+ return wrapPointer(_emscripten_bind_libass_oct_library_init_0(self), ASS_Library);
+};
+
+libass.prototype["oct_library_done"] = libass.prototype.oct_library_done = function(priv) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ _emscripten_bind_libass_oct_library_done_1(self, priv);
+};
+
+libass.prototype["oct_set_fonts_dir"] = libass.prototype.oct_set_fonts_dir = function(priv, fonts_dir) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (fonts_dir && typeof fonts_dir === "object") fonts_dir = fonts_dir.ptr; else fonts_dir = ensureString(fonts_dir);
+ _emscripten_bind_libass_oct_set_fonts_dir_2(self, priv, fonts_dir);
+};
+
+libass.prototype["oct_set_extract_fonts"] = libass.prototype.oct_set_extract_fonts = function(priv, extract) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (extract && typeof extract === "object") extract = extract.ptr;
+ _emscripten_bind_libass_oct_set_extract_fonts_2(self, priv, extract);
+};
+
+libass.prototype["oct_set_style_overrides"] = libass.prototype.oct_set_style_overrides = function(priv, list) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ _emscripten_bind_libass_oct_set_style_overrides_2(self, priv, list);
+};
+
+libass.prototype["oct_process_force_style"] = libass.prototype.oct_process_force_style = function(track) {
+ var self = this.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ _emscripten_bind_libass_oct_process_force_style_1(self, track);
+};
+
+libass.prototype["oct_renderer_init"] = libass.prototype.oct_renderer_init = function(priv) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ return wrapPointer(_emscripten_bind_libass_oct_renderer_init_1(self, priv), ASS_Renderer);
+};
+
+libass.prototype["oct_renderer_done"] = libass.prototype.oct_renderer_done = function(priv) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ _emscripten_bind_libass_oct_renderer_done_1(self, priv);
+};
+
+libass.prototype["oct_set_frame_size"] = libass.prototype.oct_set_frame_size = function(priv, w, h) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (w && typeof w === "object") w = w.ptr;
+ if (h && typeof h === "object") h = h.ptr;
+ _emscripten_bind_libass_oct_set_frame_size_3(self, priv, w, h);
+};
+
+libass.prototype["oct_set_storage_size"] = libass.prototype.oct_set_storage_size = function(priv, w, h) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (w && typeof w === "object") w = w.ptr;
+ if (h && typeof h === "object") h = h.ptr;
+ _emscripten_bind_libass_oct_set_storage_size_3(self, priv, w, h);
+};
+
+libass.prototype["oct_set_shaper"] = libass.prototype.oct_set_shaper = function(priv, level) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (level && typeof level === "object") level = level.ptr;
+ _emscripten_bind_libass_oct_set_shaper_2(self, priv, level);
+};
+
+libass.prototype["oct_set_margins"] = libass.prototype.oct_set_margins = function(priv, t, b, l, r) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (t && typeof t === "object") t = t.ptr;
+ if (b && typeof b === "object") b = b.ptr;
+ if (l && typeof l === "object") l = l.ptr;
+ if (r && typeof r === "object") r = r.ptr;
+ _emscripten_bind_libass_oct_set_margins_5(self, priv, t, b, l, r);
+};
+
+libass.prototype["oct_set_use_margins"] = libass.prototype.oct_set_use_margins = function(priv, use) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (use && typeof use === "object") use = use.ptr;
+ _emscripten_bind_libass_oct_set_use_margins_2(self, priv, use);
+};
+
+libass.prototype["oct_set_pixel_aspect"] = libass.prototype.oct_set_pixel_aspect = function(priv, par) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (par && typeof par === "object") par = par.ptr;
+ _emscripten_bind_libass_oct_set_pixel_aspect_2(self, priv, par);
+};
+
+libass.prototype["oct_set_aspect_ratio"] = libass.prototype.oct_set_aspect_ratio = function(priv, dar, sar) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (dar && typeof dar === "object") dar = dar.ptr;
+ if (sar && typeof sar === "object") sar = sar.ptr;
+ _emscripten_bind_libass_oct_set_aspect_ratio_3(self, priv, dar, sar);
+};
+
+libass.prototype["oct_set_font_scale"] = libass.prototype.oct_set_font_scale = function(priv, font_scale) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (font_scale && typeof font_scale === "object") font_scale = font_scale.ptr;
+ _emscripten_bind_libass_oct_set_font_scale_2(self, priv, font_scale);
+};
+
+libass.prototype["oct_set_hinting"] = libass.prototype.oct_set_hinting = function(priv, ht) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (ht && typeof ht === "object") ht = ht.ptr;
+ _emscripten_bind_libass_oct_set_hinting_2(self, priv, ht);
+};
+
+libass.prototype["oct_set_line_spacing"] = libass.prototype.oct_set_line_spacing = function(priv, line_spacing) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (line_spacing && typeof line_spacing === "object") line_spacing = line_spacing.ptr;
+ _emscripten_bind_libass_oct_set_line_spacing_2(self, priv, line_spacing);
+};
+
+libass.prototype["oct_set_line_position"] = libass.prototype.oct_set_line_position = function(priv, line_position) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (line_position && typeof line_position === "object") line_position = line_position.ptr;
+ _emscripten_bind_libass_oct_set_line_position_2(self, priv, line_position);
+};
+
+libass.prototype["oct_set_fonts"] = libass.prototype.oct_set_fonts = function(priv, default_font, default_family, dfp, config, update) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (default_font && typeof default_font === "object") default_font = default_font.ptr; else default_font = ensureString(default_font);
+ if (default_family && typeof default_family === "object") default_family = default_family.ptr; else default_family = ensureString(default_family);
+ if (dfp && typeof dfp === "object") dfp = dfp.ptr;
+ if (config && typeof config === "object") config = config.ptr; else config = ensureString(config);
+ if (update && typeof update === "object") update = update.ptr;
+ _emscripten_bind_libass_oct_set_fonts_6(self, priv, default_font, default_family, dfp, config, update);
+};
+
+libass.prototype["oct_set_selective_style_override_enabled"] = libass.prototype.oct_set_selective_style_override_enabled = function(priv, bits) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (bits && typeof bits === "object") bits = bits.ptr;
+ _emscripten_bind_libass_oct_set_selective_style_override_enabled_2(self, priv, bits);
+};
+
+libass.prototype["oct_set_selective_style_override"] = libass.prototype.oct_set_selective_style_override = function(priv, style) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (style && typeof style === "object") style = style.ptr;
+ _emscripten_bind_libass_oct_set_selective_style_override_2(self, priv, style);
+};
+
+libass.prototype["oct_set_cache_limits"] = libass.prototype.oct_set_cache_limits = function(priv, glyph_max, bitmap_max_size) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (glyph_max && typeof glyph_max === "object") glyph_max = glyph_max.ptr;
+ if (bitmap_max_size && typeof bitmap_max_size === "object") bitmap_max_size = bitmap_max_size.ptr;
+ _emscripten_bind_libass_oct_set_cache_limits_3(self, priv, glyph_max, bitmap_max_size);
+};
+
+libass.prototype["oct_render_frame"] = libass.prototype.oct_render_frame = function(priv, track, now, detect_change) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ if (now && typeof now === "object") now = now.ptr;
+ if (detect_change && typeof detect_change === "object") detect_change = detect_change.ptr;
+ return wrapPointer(_emscripten_bind_libass_oct_render_frame_4(self, priv, track, now, detect_change), ASS_Image);
+};
+
+libass.prototype["oct_new_track"] = libass.prototype.oct_new_track = function(priv) {
+ var self = this.ptr;
+ if (priv && typeof priv === "object") priv = priv.ptr;
+ return wrapPointer(_emscripten_bind_libass_oct_new_track_1(self, priv), ASS_Track);
+};
+
+libass.prototype["oct_free_track"] = libass.prototype.oct_free_track = function(track) {
+ var self = this.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ _emscripten_bind_libass_oct_free_track_1(self, track);
+};
+
+libass.prototype["oct_alloc_style"] = libass.prototype.oct_alloc_style = function(track) {
+ var self = this.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ return _emscripten_bind_libass_oct_alloc_style_1(self, track);
+};
+
+libass.prototype["oct_alloc_event"] = libass.prototype.oct_alloc_event = function(track) {
+ var self = this.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ return _emscripten_bind_libass_oct_alloc_event_1(self, track);
+};
+
+libass.prototype["oct_free_style"] = libass.prototype.oct_free_style = function(track, sid) {
+ var self = this.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ if (sid && typeof sid === "object") sid = sid.ptr;
+ _emscripten_bind_libass_oct_free_style_2(self, track, sid);
+};
+
+libass.prototype["oct_free_event"] = libass.prototype.oct_free_event = function(track, eid) {
+ var self = this.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ if (eid && typeof eid === "object") eid = eid.ptr;
+ _emscripten_bind_libass_oct_free_event_2(self, track, eid);
+};
+
+libass.prototype["oct_flush_events"] = libass.prototype.oct_flush_events = function(track) {
+ var self = this.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ _emscripten_bind_libass_oct_flush_events_1(self, track);
+};
+
+libass.prototype["oct_read_file"] = libass.prototype.oct_read_file = function(library, fname, codepage) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (library && typeof library === "object") library = library.ptr;
+ if (fname && typeof fname === "object") fname = fname.ptr; else fname = ensureString(fname);
+ if (codepage && typeof codepage === "object") codepage = codepage.ptr; else codepage = ensureString(codepage);
+ return wrapPointer(_emscripten_bind_libass_oct_read_file_3(self, library, fname, codepage), ASS_Track);
+};
+
+libass.prototype["oct_add_font"] = libass.prototype.oct_add_font = function(library, name, data, data_size) {
+ var self = this.ptr;
+ ensureCache.prepare();
+ if (library && typeof library === "object") library = library.ptr;
+ if (name && typeof name === "object") name = name.ptr; else name = ensureString(name);
+ if (data && typeof data === "object") data = data.ptr; else data = ensureString(data);
+ if (data_size && typeof data_size === "object") data_size = data_size.ptr;
+ _emscripten_bind_libass_oct_add_font_4(self, library, name, data, data_size);
+};
+
+libass.prototype["oct_clear_fonts"] = libass.prototype.oct_clear_fonts = function(library) {
+ var self = this.ptr;
+ if (library && typeof library === "object") library = library.ptr;
+ _emscripten_bind_libass_oct_clear_fonts_1(self, library);
+};
+
+libass.prototype["oct_step_sub"] = libass.prototype.oct_step_sub = function(track, now, movement) {
+ var self = this.ptr;
+ if (track && typeof track === "object") track = track.ptr;
+ if (now && typeof now === "object") now = now.ptr;
+ if (movement && typeof movement === "object") movement = movement.ptr;
+ return _emscripten_bind_libass_oct_step_sub_3(self, track, now, movement);
+};
+
+(function() {
+ function setupEnums() {
+  Module["ASS_HINTING_NONE"] = _emscripten_enum_ASS_Hinting_ASS_HINTING_NONE();
+  Module["ASS_HINTING_LIGHT"] = _emscripten_enum_ASS_Hinting_ASS_HINTING_LIGHT();
+  Module["ASS_HINTING_NORMAL"] = _emscripten_enum_ASS_Hinting_ASS_HINTING_NORMAL();
+  Module["ASS_HINTING_NATIVE"] = _emscripten_enum_ASS_Hinting_ASS_HINTING_NATIVE();
+  Module["ASS_SHAPING_SIMPLE"] = _emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_SIMPLE();
+  Module["ASS_SHAPING_COMPLEX"] = _emscripten_enum_ASS_ShapingLevel_ASS_SHAPING_COMPLEX();
+  Module["ASS_OVERRIDE_DEFAULT"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_DEFAULT();
+  Module["ASS_OVERRIDE_BIT_STYLE"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_STYLE();
+  Module["ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE();
+  Module["ASS_OVERRIDE_BIT_FONT_SIZE"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE();
+  Module["ASS_OVERRIDE_BIT_FONT_SIZE_FIELDS"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_SIZE_FIELDS();
+  Module["ASS_OVERRIDE_BIT_FONT_NAME"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_FONT_NAME();
+  Module["ASS_OVERRIDE_BIT_COLORS"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_COLORS();
+  Module["ASS_OVERRIDE_BIT_ATTRIBUTES"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ATTRIBUTES();
+  Module["ASS_OVERRIDE_BIT_BORDER"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_BORDER();
+  Module["ASS_OVERRIDE_BIT_ALIGNMENT"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_ALIGNMENT();
+  Module["ASS_OVERRIDE_BIT_MARGINS"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_MARGINS();
+  Module["ASS_OVERRIDE_FULL_STYLE"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_FULL_STYLE();
+  Module["ASS_OVERRIDE_BIT_JUSTIFY"] = _emscripten_enum_ASS_OverrideBits_ASS_OVERRIDE_BIT_JUSTIFY();
+ }
+ if (runtimeInitialized) setupEnums(); else addOnPreMain(setupEnums);
+})();
+
+Module["FS"] = FS;
+
+self.delay = 0;
+
+self.lastCurrentTime = 0;
+
+self.rate = 1;
+
+self.rafId = null;
+
+self.nextIsRaf = false;
+
+self.lastCurrentTimeReceivedAt = Date.now();
+
+self.targetFps = 30;
+
+self.width = 0;
+
+self.height = 0;
+
+self.fontMap_ = {};
+
+self.fontId = 0;
+
+self.writeFontToFS = function(font) {
+ font = font.trim().toLowerCase();
+ if (font.startsWith("@")) {
+  font = font.substr(1);
+ }
+ if (self.fontMap_.hasOwnProperty(font)) return;
+ self.fontMap_[font] = true;
+ if (!self.availableFonts.hasOwnProperty(font)) return;
+ var content = readBinary(self.availableFonts[font]);
+ Module["FS"].writeFile("/fonts/font" + self.fontId++ + "-" + self.availableFonts[font].split("/").pop(), content, {
+  encoding: "binary"
+ });
+};
+
+self.writeAvailableFontsToFS = function(content) {
+ if (!self.availableFonts) return;
+ var sections = parseAss(content);
+ for (var i = 0; i < sections.length; i++) {
+  for (var j = 0; j < sections[i].body.length; j++) {
+   if (sections[i].body[j].key === "Style") {
+    self.writeFontToFS(sections[i].body[j].value["Fontname"]);
+   }
+  }
+ }
+ var regex = /\\fn([^\\}]*?)[\\}]/g;
+ var matches;
+ while (matches = regex.exec(self.subContent)) {
+  self.writeFontToFS(matches[1]);
+ }
+};
+
+self.setTrack = function(content) {
+ self.writeAvailableFontsToFS(content);
+ Module["FS"].writeFile("/sub.ass", content);
+ self.octObj.createTrack("/sub.ass");
+ self.ass_track = self.octObj.track;
+ if (self.fastRenderMode) {
+  self.fastRender();
+ } else {
+  self.render();
+ }
+};
+
+self.freeTrack = function() {
+ self.octObj.removeTrack();
+ if (self.fastRenderMode) {
+  self.fastRender();
+ } else {
+  self.render();
+ }
+};
+
+self.setTrackByUrl = function(url) {
+ var content = "";
+ if (url.endsWith(".br")) {
+  content = Module["BrotliDecode"](readBinary(url));
+ } else {
+  content = read_(url);
+ }
+ self.setTrack(content);
+};
+
+self.resize = function(width, height) {
+ self.width = width;
+ self.height = height;
+ self.octObj.resizeCanvas(width, height);
+};
+
+self.getCurrentTime = function() {
+ var diff = (Date.now() - self.lastCurrentTimeReceivedAt) / 1e3;
+ if (self._isPaused) {
+  return self.lastCurrentTime;
+ } else {
+  if (diff > 5) {
+   console.error("Didn't received currentTime > 5 seconds. Assuming video was paused.");
+   self.setIsPaused(true);
+  }
+  return self.lastCurrentTime + diff * self.rate;
+ }
+};
+
+self.setCurrentTime = function(currentTime) {
+ self.lastCurrentTime = currentTime;
+ self.lastCurrentTimeReceivedAt = Date.now();
+ if (!self.rafId) {
+  if (self.nextIsRaf) {
+   if (self.fastRenderMode) {
+    self.rafId = self.requestAnimationFrame(self.fastRender);
+   } else {
+    self.rafId = self.requestAnimationFrame(self.render);
+   }
+  } else {
+   if (self.fastRenderMode) {
+    self.fastRender();
+   } else {
+    self.render();
+   }
+   setTimeout(function() {
+    self.nextIsRaf = false;
+   }, 20);
+  }
+ }
+};
+
+self._isPaused = true;
+
+self.getIsPaused = function() {
+ return self._isPaused;
+};
+
+self.setIsPaused = function(isPaused) {
+ if (isPaused != self._isPaused) {
+  self._isPaused = isPaused;
+  if (isPaused) {
+   if (self.rafId) {
+    clearTimeout(self.rafId);
+    self.rafId = null;
+   }
+  } else {
+   self.lastCurrentTimeReceivedAt = Date.now();
+   if (self.fastRenderMode) {
+    self.rafId = self.requestAnimationFrame(self.fastRender);
+   } else {
+    self.rafId = self.requestAnimationFrame(self.render);
+   }
+  }
+ }
+};
+
+self.render = function(force) {
+ self.rafId = 0;
+ self.renderPending = false;
+ var startTime = performance.now();
+ var renderResult = self.octObj.renderImage(self.getCurrentTime() + self.delay, self.changed);
+ var changed = Module.getValue(self.changed, "i32");
+ if (changed != 0 || force) {
+  var result = self.buildResult(renderResult);
+  var spentTime = performance.now() - startTime;
+  postMessage({
+   target: "canvas",
+   op: "renderCanvas",
+   time: Date.now(),
+   spentTime: spentTime,
+   canvases: result[0]
+  }, result[1]);
+ }
+ if (!self._isPaused) {
+  self.rafId = self.requestAnimationFrame(self.render);
+ }
+};
+
+self.fastRender = function(force) {
+ self.rafId = 0;
+ self.renderPending = false;
+ var startTime = performance.now();
+ var renderResult = self.octObj.renderImage(self.getCurrentTime() + self.delay, self.changed);
+ var changed = Module.getValue(self.changed, "i32");
+ if (changed != 0 || force) {
+  var result = self.buildResult(renderResult);
+  var newTime = performance.now();
+  var libassTime = newTime - startTime;
+  var promises = [];
+  for (var i = 0; i < result[0].length; i++) {
+   var image = result[0][i];
+   var imageBuffer = new Uint8ClampedArray(image.buffer);
+   var imageData = new ImageData(imageBuffer, image.w, image.h);
+   promises[i] = createImageBitmap(imageData, 0, 0, image.w, image.h);
+  }
+  Promise.all(promises).then(function(imgs) {
+   var decodeTime = performance.now() - newTime;
+   var bitmaps = [];
+   for (var i = 0; i < imgs.length; i++) {
+    var image = result[0][i];
+    bitmaps[i] = {
+     x: image.x,
+     y: image.y,
+     bitmap: imgs[i]
+    };
+   }
+   postMessage({
+    target: "canvas",
+    op: "renderFastCanvas",
+    time: Date.now(),
+    libassTime: libassTime,
+    decodeTime: decodeTime,
+    bitmaps: bitmaps
+   }, imgs);
+  });
+ }
+ if (!self._isPaused) {
+  self.rafId = self.requestAnimationFrame(self.fastRender);
+ }
+};
+
+self.buildResult = function(ptr) {
+ var items = [];
+ var transferable = [];
+ var item;
+ while (ptr.ptr != 0) {
+  item = self.buildResultItem(ptr);
+  if (item !== null) {
+   items.push(item);
+   transferable.push(item.buffer);
+  }
+  ptr = ptr.next;
+ }
+ return [ items, transferable ];
+};
+
+self.buildResultItem = function(ptr) {
+ var bitmap = ptr.bitmap, stride = ptr.stride, w = ptr.w, h = ptr.h, color = ptr.color;
+ if (w == 0 || h == 0) {
+  return null;
+ }
+ var r = color >> 24 & 255, g = color >> 16 & 255, b = color >> 8 & 255, a = 255 - (color & 255);
+ var result = new Uint8ClampedArray(4 * w * h);
+ var bitmapPosition = 0;
+ var resultPosition = 0;
+ for (var y = 0; y < h; ++y) {
+  for (var x = 0; x < w; ++x) {
+   var k = Module.HEAPU8[bitmap + bitmapPosition + x] * a / 255;
+   result[resultPosition] = r;
+   result[resultPosition + 1] = g;
+   result[resultPosition + 2] = b;
+   result[resultPosition + 3] = k;
+   resultPosition += 4;
+  }
+  bitmapPosition += stride;
+ }
+ x = ptr.dst_x;
+ y = ptr.dst_y;
+ return {
+  w: w,
+  h: h,
+  x: x,
+  y: y,
+  buffer: result.buffer
+ };
+};
+
+if (typeof SDL !== "undefined") {
+ SDL.defaults.copyOnLock = false;
+ SDL.defaults.discardOnLock = false;
+ SDL.defaults.opaqueFrontBuffer = false;
+}
+
+function parseAss(content) {
+ var m, format, lastPart, parts, key, value, tmp, i, j, body;
+ var sections = [];
+ var lines = content.split(/[\r\n]+/g);
+ for (i = 0; i < lines.length; i++) {
+  m = lines[i].match(/^\[(.*)\]$/);
+  if (m) {
+   format = null;
+   sections.push({
+    name: m[1],
+    body: []
+   });
+  } else {
+   if (/^\s*$/.test(lines[i])) continue;
+   if (sections.length === 0) continue;
+   body = sections[sections.length - 1].body;
+   if (lines[i][0] === ";") {
+    body.push({
+     type: "comment",
+     value: lines[i].substring(1)
+    });
+   } else {
+    parts = lines[i].split(":");
+    key = parts[0];
+    value = parts.slice(1).join(":").trim();
+    if (format || key === "Format") {
+     value = value.split(",");
+     if (format && value.length > format.length) {
+      lastPart = value.slice(format.length - 1).join(",");
+      value = value.slice(0, format.length - 1);
+      value.push(lastPart);
+     }
+     value = value.map(function(s) {
+      return s.trim();
+     });
+     if (format) {
+      tmp = {};
+      for (j = 0; j < value.length; j++) {
+       tmp[format[j]] = value[j];
+      }
+      value = tmp;
+     }
+    }
+    if (key === "Format") {
+     format = value;
+    }
+    body.push({
+     key: key,
+     value: value
+    });
+   }
+  }
+ }
+ return sections;
+}
+
+self.requestAnimationFrame = function() {
+ var nextRAF = 0;
+ return function(func) {
+  var now = Date.now();
+  if (nextRAF === 0) {
+   nextRAF = now + 1e3 / self.targetFps;
+  } else {
+   while (now + 2 >= nextRAF) {
+    nextRAF += 1e3 / self.targetFps;
+   }
+  }
+  var delay = Math.max(nextRAF - now, 0);
+  return setTimeout(func, delay);
+ };
+}();
+
+var screen = {
+ width: 0,
+ height: 0
+};
+
+Module.print = function Module_print(x) {
+ postMessage({
+  target: "stdout",
+  content: x
+ });
+};
+
+Module.printErr = function Module_printErr(x) {
+ postMessage({
+  target: "stderr",
+  content: x
+ });
+};
+
+var frameId = 0;
+
+var clientFrameId = 0;
+
+var commandBuffer = [];
+
+var postMainLoop = Module["postMainLoop"];
+
+Module["postMainLoop"] = function() {
+ if (postMainLoop) postMainLoop();
+ postMessage({
+  target: "tick",
+  id: frameId++
+ });
+ commandBuffer = [];
+};
+
+addRunDependency("worker-init");
+
+var messageBuffer = null;
+
+var messageResenderTimeout = null;
+
+function messageResender() {
+ if (calledMain) {
+  assert(messageBuffer && messageBuffer.length > 0);
+  messageResenderTimeout = null;
+  messageBuffer.forEach(function(message) {
+   onmessage(message);
+  });
+  messageBuffer = null;
+ } else {
+  messageResenderTimeout = setTimeout(messageResender, 50);
+ }
+}
+
+function onMessageFromMainEmscriptenThread(message) {
+ if (!calledMain && !message.data.preMain) {
+  if (!messageBuffer) {
+   messageBuffer = [];
+   messageResenderTimeout = setTimeout(messageResender, 50);
+  }
+  messageBuffer.push(message);
+  return;
+ }
+ if (calledMain && messageResenderTimeout) {
+  clearTimeout(messageResenderTimeout);
+  messageResender();
+ }
+ switch (message.data.target) {
+ case "window":
+  {
+   self.fireEvent(message.data.event);
+   break;
+  }
+
+ case "canvas":
+  {
+   if (message.data.event) {
+    Module.canvas.fireEvent(message.data.event);
+   } else if (message.data.width) {
+    if (Module.canvas && message.data.boundingClientRect) {
+     Module.canvas.boundingClientRect = message.data.boundingClientRect;
+    }
+    self.resize(message.data.width, message.data.height);
+    if (self.fastRenderMode) {
+     self.fastRender();
+    } else {
+     self.render();
+    }
+   } else throw "ey?";
+   break;
+  }
+
+ case "video":
+  {
+   if (message.data.currentTime !== undefined) {
+    self.setCurrentTime(message.data.currentTime);
+   }
+   if (message.data.isPaused !== undefined) {
+    self.setIsPaused(message.data.isPaused);
+   }
+   if (message.data.rate) {
+    self.rate = message.data.rate;
+   }
+   break;
+  }
+
+ case "tock":
+  {
+   clientFrameId = message.data.id;
+   break;
+  }
+
+ case "worker-init":
+  {
+   screen.width = self.width = message.data.width;
+   screen.height = self.height = message.data.height;
+   self.subUrl = message.data.subUrl;
+   self.subContent = message.data.subContent;
+   self.fontFiles = message.data.fonts;
+   self.fastRenderMode = message.data.fastRender;
+   self.availableFonts = message.data.availableFonts;
+   self.debug = message.data.debug;
+   if (!hasNativeConsole && self.debug) {
+    console = makeCustomConsole();
+    console.log("overridden console");
+   }
+   if (Module.canvas) {
+    Module.canvas.width_ = message.data.width;
+    Module.canvas.height_ = message.data.height;
+    if (message.data.boundingClientRect) {
+     Module.canvas.boundingClientRect = message.data.boundingClientRect;
+    }
+   }
+   removeRunDependency("worker-init");
+   break;
+  }
+
+ case "destroy":
+  self.octObj.quitLibrary();
+  break;
+
+ case "free-track":
+  self.freeTrack();
+  break;
+
+ case "set-track":
+  self.setTrack(message.data.content);
+  break;
+
+ case "set-track-by-url":
+  self.setTrackByUrl(message.data.url);
+  break;
+
+ case "create-event":
+  var event = message.data.event;
+  var i = self.octObj.allocEvent();
+  var evnt_ptr = self.octObj.track.get_events(i);
+  var vargs = Object.keys(event);
+  for (const varg of vargs) {
+   evnt_ptr[varg] = event[varg];
+  }
+  break;
+
+ case "get-events":
+  var events = [];
+  for (var i = 0; i < self.octObj.getEventCount(); i++) {
+   var evnt_ptr = self.octObj.track.get_events(i);
+   var event = {
+    Start: evnt_ptr.get_Start(),
+    Duration: evnt_ptr.get_Duration(),
+    ReadOrder: evnt_ptr.get_ReadOrder(),
+    Layer: evnt_ptr.get_Layer(),
+    Style: evnt_ptr.get_Style(),
+    Name: evnt_ptr.get_Name(),
+    MarginL: evnt_ptr.get_MarginL(),
+    MarginR: evnt_ptr.get_MarginR(),
+    MarginV: evnt_ptr.get_MarginV(),
+    Effect: evnt_ptr.get_Effect(),
+    Text: evnt_ptr.get_Text()
+   };
+   events.push(event);
+  }
+  postMessage({
+   target: "get-events",
+   time: Date.now(),
+   events: events
+  });
+  break;
+
+ case "set-event":
+  var event = message.data.event;
+  var i = message.data.index;
+  var evnt_ptr = self.octObj.track.get_events(i);
+  var vargs = Object.keys(event);
+  for (const varg of vargs) {
+   evnt_ptr[varg] = event[varg];
+  }
+  break;
+
+ case "remove-event":
+  var i = message.data.index;
+  self.octObj.removeEvent(i);
+  break;
+
+ case "create-style":
+  var style = message.data.style;
+  var i = self.octObj.allocStyle();
+  var styl_ptr = self.octObj.track.get_styles(i);
+  var vargs = Object.keys(style);
+  for (const varg of vargs) {
+   styl_ptr[varg] = style[varg];
+  }
+  break;
+
+ case "get-styles":
+  var styles = [];
+  for (var i = 0; i < self.octObj.getStyleCount(); i++) {
+   var styl_ptr = self.octObj.track.get_styles(i);
+   var style = {
+    Name: styl_ptr.get_Name(),
+    FontName: styl_ptr.get_FontName(),
+    FontSize: styl_ptr.get_FontSize(),
+    PrimaryColour: styl_ptr.get_PrimaryColour(),
+    SecondaryColour: styl_ptr.get_SecondaryColour(),
+    OutlineColour: styl_ptr.get_OutlineColour(),
+    BackColour: styl_ptr.get_BackColour(),
+    Bold: styl_ptr.get_Bold(),
+    Italic: styl_ptr.get_Italic(),
+    Underline: styl_ptr.get_Underline(),
+    StrikeOut: styl_ptr.get_StrikeOut(),
+    ScaleX: styl_ptr.get_ScaleX(),
+    ScaleY: styl_ptr.get_ScaleY(),
+    Spacing: styl_ptr.get_Spacing(),
+    Angle: styl_ptr.get_Angle(),
+    BorderStyle: styl_ptr.get_BorderStyle(),
+    Outline: styl_ptr.get_Outline(),
+    Shadow: styl_ptr.get_Shadow(),
+    Alignment: styl_ptr.get_Alignment(),
+    MarginL: styl_ptr.get_MarginL(),
+    MarginR: styl_ptr.get_MarginR(),
+    MarginV: styl_ptr.get_MarginV(),
+    Encoding: styl_ptr.get_Encoding(),
+    treat_fontname_as_pattern: styl_ptr.get_treat_fontname_as_pattern(),
+    Blur: styl_ptr.get_Blur(),
+    Justify: styl_ptr.get_Justify()
+   };
+   styles.push(style);
+  }
+  postMessage({
+   target: "get-styles",
+   time: Date.now(),
+   styles: styles
+  });
+  break;
+
+ case "set-style":
+  var style = message.data.style;
+  var i = message.data.index;
+  var styl_ptr = self.octObj.track.get_styles(i);
+  var vargs = Object.keys(style);
+  for (const varg of vargs) {
+   styl_ptr[varg] = style[varg];
+  }
+  break;
+
+ case "remove-style":
+  var i = message.data.index;
+  self.octObj.removeStyle(i);
+  break;
+
+ case "runBenchmark":
+  {
+   self.runBenchmark();
+   break;
+  }
+
+ case "custom":
+  {
+   if (Module["onCustomMessage"]) {
+    Module["onCustomMessage"](message);
+   } else {
+    throw "Custom message received but worker Module.onCustomMessage not implemented.";
+   }
+   break;
+  }
+
+ case "setimmediate":
+  {
+   if (Module["setImmediates"]) Module["setImmediates"].shift()();
+   break;
+  }
+
+ default:
+  throw "wha? " + message.data.target;
+ }
+}
+
+onmessage = onMessageFromMainEmscriptenThread;
+
+self.runBenchmark = function(seconds, pos, async) {
+ var totalTime = 0;
+ var i = 0;
+ pos = pos || 0;
+ seconds = seconds || 60;
+ var count = seconds * self.targetFps;
+ var start = performance.now();
+ var longestFrame = 0;
+ var run = function() {
+  var t0 = performance.now();
+  pos += 1 / self.targetFps;
+  self.setCurrentTime(pos);
+  var t1 = performance.now();
+  var diff = t1 - t0;
+  totalTime += diff;
+  if (diff > longestFrame) {
+   longestFrame = diff;
+  }
+  if (i < count) {
+   i++;
+   if (async) {
+    self.requestAnimationFrame(run);
+    return false;
+   } else {
+    return true;
+   }
+  } else {
+   console.log("Performance fps: " + Math.round(1e3 / (totalTime / count)) + "");
+   console.log("Real fps: " + Math.round(1e3 / ((t1 - start) / count)) + "");
+   console.log("Total time: " + totalTime);
+   console.log("Longest frame: " + Math.ceil(longestFrame) + "ms (" + Math.floor(1e3 / longestFrame) + " fps)");
+   return false;
+  }
+ };
+ while (true) {
+  if (!run()) {
+   break;
+  }
+ }
+};
diff --git a/public/assets/js/subtitles-octopus-worker.wasm b/public/assets/js/subtitles-octopus-worker.wasm
new file mode 100644
index 0000000000000000000000000000000000000000..761d9f48b2e5079acce0af850dcc95526f863a71
Binary files /dev/null and b/public/assets/js/subtitles-octopus-worker.wasm differ
diff --git a/public/index.html b/public/index.html
index aa069f27cbd9d53394428171c3989fd03db73c76..2ab1b60c788e933f1ce3c79d6c47360672f00c7a 100644
--- a/public/index.html
+++ b/public/index.html
@@ -9,7 +9,7 @@
       name="description"
       content="Web site created using create-react-app"
     />
-    <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
+    <link rel="apple-touch-icon" href="%PUBLIC_URL%/assets/images/logo192.png" />
     <!--
       manifest.json provides metadata used when your web app is installed on a
       user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
diff --git a/public/manifest.json b/public/manifest.json
index 080d6c77ac21bb2ef88a6992b2b73ad93daaca92..a485537edbda317525184da5f256d1d214d17b67 100644
--- a/public/manifest.json
+++ b/public/manifest.json
@@ -8,12 +8,12 @@
       "type": "image/x-icon"
     },
     {
-      "src": "logo192.png",
+      "src": "assets/images/logo192.png",
       "type": "image/png",
       "sizes": "192x192"
     },
     {
-      "src": "logo512.png",
+      "src": "assets/images/logo512.png",
       "type": "image/png",
       "sizes": "512x512"
     }
diff --git a/src/routes/player/Player.tsx b/src/routes/player/Player.tsx
index ab2c2c040e3beeff974fb44293725485413772df..fdb4349c2e177e388822dc6e741a7ab1969d86bc 100644
--- a/src/routes/player/Player.tsx
+++ b/src/routes/player/Player.tsx
@@ -156,6 +156,8 @@ const useStyles = createUseStyles({
         right: 0,
         top: 0,
         bottom: 0,
+        width: "100%",
+        height: "100%",
         textShadow: "rgba(40,40,40,0.8) 0px 0px 3px",
     },
 });
diff --git a/src/routes/player/subtitles/AssRenderer.tsx b/src/routes/player/subtitles/AssRenderer.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..9154b8514656e962aa84a9cebf62faeaf2fd6c29
--- /dev/null
+++ b/src/routes/player/subtitles/AssRenderer.tsx
@@ -0,0 +1,46 @@
+import {useEffect, useState} from "react";
+import {Subtitle} from "../../../api/models/Subtitle";
+import SubtitlesOctopus from "../../../util/libass-wasm/SubtitlesOctopus";
+
+interface Props {
+    videoElement: HTMLVideoElement | null,
+    subtitle: Subtitle | null,
+    duration: number,
+    className?: string,
+}
+
+export function AssRenderer(
+    {videoElement, subtitle, className}: Props
+): JSX.Element {
+    const [subtitleCanvas, setSubtitleCanvas] = useState<HTMLCanvasElement | null>(null);
+
+    useEffect(() => {
+        if (subtitleCanvas && videoElement && subtitle) {
+            const instance = new SubtitlesOctopus({
+                video: videoElement,
+                canvas: subtitleCanvas,
+                subUrl: subtitle?.src,
+                workerUrl: '/assets/js/subtitles-octopus-worker.js',
+                legacyWorkerUrl: '/assets/js/subtitles-octopus-worker-legacy.js',
+                lossyRender: true,
+                onError: (error: any) => {
+                    console.log("Error rendering ass subtitles:", error);
+                },
+                onReady: () => {
+                    instance.setCurrentTime(videoElement?.currentTime);
+                }
+            })
+            return () => {
+                instance.dispose();
+            }
+        }
+    }, [subtitleCanvas, subtitle, videoElement]);
+
+    return (
+        <canvas
+            ref={setSubtitleCanvas}
+            lang={subtitle?.language || undefined}
+            className={className}
+        />
+    );
+}
diff --git a/src/routes/player/subtitles/SubtitleRenderer.tsx b/src/routes/player/subtitles/SubtitleRenderer.tsx
index 72d15461a3c413b11b859d45b2354af69b07dc5f..4439f3bcd99a1ab31015ff8f73c9b6f2defb2dee 100644
--- a/src/routes/player/subtitles/SubtitleRenderer.tsx
+++ b/src/routes/player/subtitles/SubtitleRenderer.tsx
@@ -1,6 +1,7 @@
 import {Subtitle} from "../../../api/models/Subtitle";
 import {Fragment} from "react";
 import {TtmlRenderer} from "./TtmlRenderer";
+import {AssRenderer} from "./AssRenderer";
 
 interface Props {
     videoElement: HTMLVideoElement | null,
@@ -15,7 +16,8 @@ export function SubtitleRenderer(
     switch (props.subtitle?.format) {
         case "ttml":
             return (<TtmlRenderer {...props} />);
-        //case "ass": return (<AssRenderer {...props} />);
+        case "ass":
+            return (<AssRenderer {...props} />);
         default:
             return (<Fragment/>);
     }
diff --git a/src/typings/imsc.d.ts b/src/typings/imsc.d.ts
new file mode 100644
index 0000000000000000000000000000000000000000..a9e45e274d31ef9768675507c403f060f62de632
--- /dev/null
+++ b/src/typings/imsc.d.ts
@@ -0,0 +1,144 @@
+declare module "imsc" {
+    /*
+ * Copyright (c) 2016, Pierre-Anthony Lemieux <pal@sandflow.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this
+ *   list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ *   this list of conditions and the following disclaimer in the documentation
+ *   and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+    export interface TtmlDocument {
+        getMediaTimeEvents(): number[];
+
+        getMediaTimeRange(): number[];
+    }
+
+    export type ISD = unknown;
+    export type ISDState = unknown;
+
+    /**
+     * Allows a client to provide callbacks to handle children of the <metadata> element
+     */
+    export interface MetadataHandler {
+        /**
+         * Called when the opening tag of an element node is encountered.
+         * @param ns Namespace URI of the element
+         * @param name Local name of the element
+         * @param attributes List of attributes, each consisting of a `uri`, `name` and `value`
+         */
+        onOpenTag(ns: string, name: string, attributes: Attribute[]): void;
+
+        /**
+         * Called when the closing tag of an element node is encountered.
+         */
+        onCloseTag(): void;
+
+        /**
+         * Called when a text node is encountered.
+         * @param contents Contents of the text node
+         */
+        onText(contents: string): void;
+    }
+
+    export interface Attribute {
+        uri: string;
+        name: string;
+        value: string;
+    }
+
+    /**
+     * Generic interface for handling events. The interface exposes four
+     * methods:
+     * * <pre>info</pre>: unusual event that does not result in an inconsistent state
+     * * <pre>warn</pre>: unexpected event that should not result in an inconsistent state
+     * * <pre>error</pre>: unexpected event that may result in an inconsistent state
+     * * <pre>fatal</pre>: unexpected event that results in an inconsistent state
+     *   and termination of processing
+     * Each method takes a single <pre>string</pre> describing the event as argument,
+     * and returns a single <pre>boolean</pre>, which terminates processing if <pre>true</pre>.
+     */
+    export interface ErrorHandler {
+        info(error: string): boolean;
+
+        warn(error: string): boolean;
+
+        error(error: string): boolean;
+
+        fatal(error: string): boolean;
+    }
+
+    /**
+     * Parses an IMSC1 document into an opaque in-memory representation that exposes
+     * a single method <pre>getMediaTimeEvents()</pre> that returns a list of time
+     * offsets (in seconds) of the ISD, i.e. the points in time where the visual
+     * representation of the document change. `metadataHandler` allows the caller to
+     * be called back when nodes are present in <metadata> elements.
+     */
+    export function fromXML(
+        xmlstring: string,
+        errorHandler?: ErrorHandler,
+        metadataHandler?: MetadataHandler,
+    ): TtmlDocument | null;
+
+    /**
+     * Creates a canonical representation of an IMSC1 document returned by <pre>imscDoc.fromXML()</pre>
+     * at a given absolute offset in seconds. This offset does not have to be one of the values returned
+     * by <pre>getMediaTimeEvents()</pre>.
+     */
+    export function generateISD(
+        tt: TtmlDocument,
+        offset?: number,
+        errorHandler?: ErrorHandler
+    ): ISD;
+
+    /**
+     * Renders an ISD object (returned by <pre>generateISD()</pre>) into a
+     * parent element, that must be attached to the DOM. The ISD will be rendered
+     * into a child <pre>div</pre>
+     * with heigh and width equal to the clientHeight and clientWidth of the element,
+     * unless explicitly specified otherwise by the caller. Images URIs specified
+     * by <pre>smpte:background</pre> attributes are mapped to image resource URLs
+     * by an <pre>imgResolver</pre> function. The latter takes the value of <code>smpte:background</code>
+     * attribute and an <code>img</code> DOM element as input, and is expected to
+     * set the <code>src</code> attribute of the <code>img</code> to the absolute URI of the image.
+     * <pre>displayForcedOnlyMode</pre> sets the (boolean)
+     * value of the IMSC1 displayForcedOnlyMode parameter. The function returns
+     * an opaque object that should passed in <code>previousISDState</code> when this function
+     * is called for the next ISD, otherwise <code>previousISDState</code> should be set to
+     * <code>null</code>.
+     */
+    export function renderHTML(
+        isd: ISD,
+        element: HTMLElement,
+        /**
+         * Function that maps <pre>smpte:background</pre> URIs to URLs resolving to image resource
+         * @param {string} <pre>smpte:background</pre> URI
+         */
+        imgResolver?: (backgroundUri: string) => string,
+        height?: number,
+        width?: number,
+        displayForcedOnlyMode?: boolean,
+        errorHandler?: ErrorHandler,
+        previousISDState?: ISDState,
+        enableRollUp?: boolean,
+    ): ISDState;
+}
+
diff --git a/src/util/libass-wasm/SubtitlesOctopus.ts b/src/util/libass-wasm/SubtitlesOctopus.ts
new file mode 100644
index 0000000000000000000000000000000000000000..97b1f6ccc035badc685c19fd6533bfb3598b0b3a
--- /dev/null
+++ b/src/util/libass-wasm/SubtitlesOctopus.ts
@@ -0,0 +1,541 @@
+import {browserSupportsWebAssembly} from "./browserSupportsWebAssembly";
+import browserHasAlphaBug from "./browserHasAlphaBug";
+import {SubtitlesOctopusOptions} from "./SubtitlesOctopusOptions";
+import ResizeObserver from "resize-observer-polyfill";
+
+export default class SubtitlesOctopus {
+    /**
+     * HTML canvas element (optional if video specified)
+     */
+    public canvas: HTMLCanvasElement
+    /**
+     * Speedup render for heavy subs
+     */
+    public lossyRender: boolean
+    /**
+     * HTML video element (optional if canvas specified)
+     */
+    public video?: HTMLVideoElement
+    /**
+     * Array with links to fonts used in sub (optional)
+     */
+    public fonts: string[]
+    /**
+     * Object with all available fonts (optional).
+     * Key is font name in lower case, value is link: {"arial": "/font1.ttf"}
+     */
+    public availableFonts: {
+        [key: string]: string
+    }
+    /**
+     * Function called when SubtitlesOctopus is ready (optional)
+     */
+    public onReadyEvent?: () => void
+    /**
+     * Link to WebAssembly worker
+     */
+    public workerUrl: string
+    /**
+     * Link to sub file (optional if subContent specified)
+     */
+    public subUrl?: string
+    /**
+     * Sub content (optional if subUrl specified)
+     */
+    public subContent: string | null
+    /**
+     * Function called in case of critical error meaning sub wouldn't be shown
+     * and you should use alternative method (for instance it occurs if browser
+     * doesn't support web workers).
+     */
+    public onErrorEvent?: (event: any) => void
+    /**
+     * When debug enabled, some performance info printed in console.
+     */
+    public debug: boolean
+    /**
+     * Time offset would be applied to currentTime from video (option)
+     */
+    public timeOffset: number
+
+    private isOurCanvas: boolean
+    private canvasParent: HTMLElement | null
+    private lastRenderTime: number = 0
+    private pixelRatio: number
+    private readonly hasAlphaBug: boolean
+    private frameId = 0
+    private workerActive = false
+    private readonly worker: Worker
+    private ctx: CanvasRenderingContext2D
+    private readonly bufferCanvas: HTMLCanvasElement
+    private bufferCanvasCtx: CanvasRenderingContext2D
+    private ro: ResizeObserver
+    private renderStart: number = 0;
+
+    private renderFramesData: {
+        bitmaps: {
+            w: number,
+            h: number,
+            x: number,
+            y: number,
+            bitmap: ImageBitmap
+        }[],
+        canvases: {
+            w: number,
+            h: number,
+            x: number,
+            y: number,
+            buffer: ArrayBuffer
+        }[],
+        spentTime: number,
+        libassTime: number,
+        decodeTime: number
+    } | null = null
+
+    constructor(
+        options: SubtitlesOctopusOptions
+    ) {
+        this.onWorkerMessage = this.onWorkerMessage.bind(this);
+        this.onWorkerError = this.onWorkerError.bind(this);
+        this.resize = this.resize.bind(this);
+        this.resizeWithTimeout = this.resizeWithTimeout.bind(this);
+        this.renderFrames = this.renderFrames.bind(this);
+        this.renderFastFrames = this.renderFastFrames.bind(this);
+
+        const supportsWebAssembly = browserSupportsWebAssembly();
+        console.log("WebAssembly support detected: " + (supportsWebAssembly ? "yes" : "no"));
+
+        this.canvas = options.canvas; // HTML canvas element (optional if video specified)
+        this.lossyRender = options.lossyRender || false; // Speedup render for heavy subs
+        this.isOurCanvas = false; // (internal) we created canvas and manage it
+        this.video = options.video; // HTML video element (optional if canvas specified)
+        this.canvasParent = null; // (internal) HTML canvas parent element
+        this.fonts = options.fonts || []; // Array with links to fonts used in sub (optional)
+        this.availableFonts = options.availableFonts || {}; // Object with all available fonts (optional). Key is font name in lower case, value is link: {"arial": "/font1.ttf"}
+        this.onReadyEvent = options.onReady; // Function called when SubtitlesOctopus is ready (optional)
+        if (supportsWebAssembly) {
+            this.workerUrl = options.workerUrl || 'subtitles-octopus-worker.js'; // Link to WebAssembly worker
+        } else {
+            this.workerUrl = options.legacyWorkerUrl || 'subtitles-octopus-worker-legacy.js'; // Link to legacy worker
+        }
+        this.subUrl = options.subUrl; // Link to sub file (optional if subContent specified)
+        this.subContent = options.subContent || null; // Sub content (optional if subUrl specified)
+        this.onErrorEvent = options.onError; // Function called in case of critical error meaning sub wouldn't be shown and you should use alternative method (for instance it occurs if browser doesn't support web workers).
+        this.debug = options.debug || false; // When debug enabled, some performance info printed in console.
+        this.lastRenderTime = 0; // (internal) Last time we got some frame from worker
+        this.pixelRatio = window.devicePixelRatio || 1; // (internal) Device pixel ratio (for high dpi devices)
+
+        this.timeOffset = options.timeOffset || 0; // Time offset would be applied to currentTime from video (option)
+
+        this.hasAlphaBug = false;
+
+        if (!window.Worker) {
+            this.onWorkerError('worker not supported');
+        }
+        // Worker
+        this.worker = new Worker(this.workerUrl);
+        this.worker.onmessage = this.onWorkerMessage;
+        this.worker.onerror = this.onWorkerError;
+        this.workerActive = false;
+        const ctx = this.canvas.getContext('2d');
+        if (ctx === null) {
+            throw new Error("Could not create 2D canvas content");
+        }
+        this.ctx = ctx;
+        this.bufferCanvas = document.createElement('canvas');
+        const bufferCanvasCtx = this.bufferCanvas.getContext('2d')
+        if (bufferCanvasCtx === null) {
+            throw new Error("Could not create 2D canvas content");
+        }
+        this.bufferCanvasCtx = bufferCanvasCtx;
+        // Support Element Resize Observer
+        this.ro = new ResizeObserver(this.resizeWithTimeout);
+
+        this.hasAlphaBug = browserHasAlphaBug();
+        if (this.hasAlphaBug) {
+            console.log("Detected a browser having issue with transparent pixels, applying workaround");
+        }
+        this.setVideo(options.video);
+        this.setSubUrl(options.subUrl);
+        this.worker.postMessage({
+            target: 'worker-init',
+            width: this.canvas.width,
+            height: this.canvas.height,
+            URL: document.URL,
+            currentScript: this.workerUrl,
+            preMain: true,
+            fastRender: this.lossyRender,
+            subUrl: this.subUrl,
+            subContent: this.subContent,
+            fonts: this.fonts,
+            availableFonts: this.availableFonts,
+            debug: this.debug
+        });
+    }
+
+    private renderFrames() {
+        const data = this.renderFramesData;
+        if (data) {
+            const beforeDrawTime = performance.now();
+            this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
+            for (let i = 0; i < data.canvases.length; i++) {
+                const image = data.canvases[i];
+                this.bufferCanvas.width = image.w;
+                this.bufferCanvas.height = image.h;
+                const imageBuffer = new Uint8ClampedArray(image.buffer);
+                if (this.hasAlphaBug) {
+                    for (let j = 3; j < imageBuffer.length; j = j + 4) {
+                        imageBuffer[j] = (imageBuffer[j] >= 1) ? imageBuffer[j] : 1;
+                    }
+                }
+                const imageData = new ImageData(imageBuffer, image.w, image.h);
+                this.bufferCanvasCtx.putImageData(imageData, 0, 0);
+                this.ctx.drawImage(this.bufferCanvas, image.x, image.y);
+            }
+            if (this.debug) {
+                const drawTime = Math.round(performance.now() - beforeDrawTime);
+                console.log(Math.round(data.spentTime) + ' ms (+ ' + drawTime + ' ms draw)');
+                this.renderStart = performance.now();
+            }
+        }
+    }
+
+    private renderFastFrames() {
+        const data = this.renderFramesData;
+        if (data) {
+            const beforeDrawTime = performance.now();
+            this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
+            for (let i = 0; i < data.bitmaps.length; i++) {
+                const image = data.bitmaps[i];
+                this.ctx.drawImage(image.bitmap, image.x, image.y);
+            }
+            if (this.debug) {
+                const drawTime = Math.round(performance.now() - beforeDrawTime);
+                console.log(data.bitmaps.length + ' bitmaps, libass: ' + Math.round(data.libassTime) + 'ms, decode: ' + Math.round(data.decodeTime) + 'ms, draw: ' + drawTime + 'ms');
+                this.renderStart = performance.now();
+            }
+        }
+    }
+
+    private onWorkerError(error: any) {
+        console.error('Worker error: ', error);
+        if (this.onErrorEvent) {
+            this.onErrorEvent(error);
+        }
+        if (!this.debug) {
+            this.dispose();
+            throw new Error('Worker error: ' + error);
+        }
+    };
+
+    private setVideo(video: HTMLVideoElement | undefined) {
+        this.video = video;
+        if (video) {
+            const timeupdate = () => this.setCurrentTime(video.currentTime + this.timeOffset)
+            video.addEventListener("timeupdate", timeupdate, false);
+            video.addEventListener("playing", () => {
+                this.setIsPaused(false, video.currentTime + this.timeOffset);
+            }, false);
+            video.addEventListener("pause", () => {
+                this.setIsPaused(true, video.currentTime + this.timeOffset);
+            }, false);
+            video.addEventListener(
+                "seeking",
+                () => video.removeEventListener("timeupdate", timeupdate),
+                false
+            );
+            video.addEventListener(
+                "seeked",
+                () => {
+                    video.addEventListener("timeupdate", timeupdate, false);
+                    this.setCurrentTime(video.currentTime + this.timeOffset);
+                },
+                false
+            );
+            video.addEventListener(
+                "ratechange",
+                () => this.setRate(video.playbackRate),
+                false
+            );
+            video.addEventListener(
+                "timeupdate",
+                () => this.setCurrentTime(video.currentTime + this.timeOffset),
+                false
+            );
+            video.addEventListener(
+                "waiting",
+                () => this.setIsPaused(true, video.currentTime + this.timeOffset),
+                false
+            );
+            window.addEventListener("resize", this.resize);
+            this.ro.observe(video);
+
+            if (video.videoWidth > 0) {
+                this.resize();
+            } else {
+                const listener = () => {
+                    video.removeEventListener("loadedmetadata", listener);
+                    this.resize();
+                }
+                video.addEventListener("loadedmetadata", listener, false);
+            }
+        }
+    }
+
+    private setSubUrl(subUrl: string | undefined) {
+        this.subUrl = subUrl;
+    }
+
+    private onWorkerMessage(event: MessageEvent) {
+        if (!this.workerActive) {
+            this.workerActive = true;
+            if (this.onReadyEvent) {
+                this.onReadyEvent();
+            }
+        }
+        const data = event.data;
+        switch (data.target) {
+            case 'stdout': {
+                console.log(data.content);
+                break;
+            }
+            case 'console-log': {
+                console.log.apply(console, JSON.parse(data.content));
+                break;
+            }
+            case 'console-debug': {
+                console.debug.apply(console, JSON.parse(data.content));
+                break;
+            }
+            case 'console-info': {
+                console.info.apply(console, JSON.parse(data.content));
+                break;
+            }
+            case 'console-warn': {
+                console.warn.apply(console, JSON.parse(data.content));
+                break;
+            }
+            case 'console-error': {
+                console.error.apply(console, JSON.parse(data.content));
+                break;
+            }
+            case 'stderr': {
+                console.error(data.content);
+                break;
+            }
+            case 'window': {
+                // @ts-ignore
+                window[data.method]();
+                break;
+            }
+            case 'canvas': {
+                switch (data.op) {
+                    case 'getContext': {
+                        const ctx = this.canvas.getContext(data.type, data.attributes);
+                        if (ctx === null) {
+                            throw new Error("Could not get canvas context");
+                        }
+                        this.ctx = ctx;
+                        break;
+                    }
+                    case 'resize': {
+                        this.resize();
+                        break;
+                    }
+                    case 'renderCanvas': {
+                        if (this.lastRenderTime === undefined || this.lastRenderTime < data.time) {
+                            this.lastRenderTime = data.time;
+                            this.renderFramesData = data;
+                            window.requestAnimationFrame(this.renderFrames);
+                        }
+                        break;
+                    }
+                    case 'renderFastCanvas': {
+                        if (this.lastRenderTime === undefined || this.lastRenderTime < data.time) {
+                            this.lastRenderTime = data.time;
+                            this.renderFramesData = data;
+                            window.requestAnimationFrame(this.renderFastFrames);
+                        }
+                        break;
+                    }
+                    case 'setObjectProperty': {
+                        // @ts-ignore
+                        this.canvas[data.object][data.property] = data.value;
+                        break;
+                    }
+                    default:
+                        throw new Error("Unexpected worker message: unknown canvas operation");
+                }
+                break;
+            }
+            case 'tick': {
+                this.frameId = data.id;
+                this.worker.postMessage({
+                    target: 'tock',
+                    id: this.frameId
+                });
+                break;
+            }
+            case 'custom': {
+                this.onCustomMessage(event);
+                break;
+            }
+            case 'setimmediate': {
+                this.worker.postMessage({
+                    target: 'setimmediate'
+                });
+                break;
+            }
+            case 'get-events': {
+                console.log(data.target);
+                console.log(data.events);
+                break;
+            }
+            case 'get-styles': {
+                console.log(data.target);
+                console.log(data.styles);
+                break;
+            }
+            default:
+                throw new Error("Unexpected worker message");
+        }
+    };
+
+    private resize() {
+        this.canvas.width = Math.floor(this.canvas.offsetWidth * window.devicePixelRatio);
+        this.canvas.height = Math.floor(this.canvas.offsetHeight * window.devicePixelRatio);
+        this.worker.postMessage({
+            target: 'canvas',
+            width: this.canvas.width,
+            height: this.canvas.height
+        });
+    }
+
+    private resizeWithTimeout() {
+        this.resize();
+        setTimeout(this.resize, 100);
+    }
+
+    private runBenchmark() {
+        this.worker.postMessage({
+            target: 'runBenchmark'
+        });
+    }
+
+    private onCustomMessage(data: any, options?: any) {
+        this.worker.postMessage({
+            target: 'custom',
+            userData: data,
+            preMain: options?.preMain
+        });
+    }
+
+    public setCurrentTime(currentTime: number) {
+        this.worker.postMessage({
+            target: 'video',
+            currentTime: currentTime
+        });
+    }
+
+    private setTrackByUrl(url: string) {
+        this.worker.postMessage({
+            target: 'set-track-by-url',
+            url: url
+        });
+    }
+
+    private setTrack(content: string) {
+        this.worker.postMessage({
+            target: 'set-track',
+            content: content
+        });
+    }
+
+    private freeTrack() {
+        this.worker.postMessage({
+            target: 'free-track'
+        });
+    }
+
+    private setIsPaused(isPaused: boolean, currentTime: number) {
+        this.worker.postMessage({
+            target: 'video',
+            isPaused: isPaused,
+            currentTime: currentTime
+        });
+    }
+
+    private setRate(rate: number) {
+        this.worker.postMessage({
+            target: 'video',
+            rate: rate
+        });
+    }
+
+    public dispose() {
+        this.worker.postMessage({
+            target: 'destroy'
+        });
+
+        window.removeEventListener("resize", this.resize);
+        this.ro.disconnect();
+        this.worker.terminate();
+        this.workerActive = false;
+    }
+
+    private createEvent(event: any) {
+        this.worker.postMessage({
+            target: 'create-event',
+            event: event
+        });
+    }
+
+    private getEvents() {
+        this.worker.postMessage({
+            target: 'get-events'
+        });
+    }
+
+    private setEvent(event: any, index: number) {
+        this.worker.postMessage({
+            target: 'set-event',
+            event: event,
+            index: index
+        });
+    }
+
+    private removeEvent(index: number) {
+        this.worker.postMessage({
+            target: 'remove-event',
+            index: index
+        });
+    }
+
+    private createStyle(style: any) {
+        this.worker.postMessage({
+            target: 'create-style',
+            style: style
+        });
+    }
+
+    private getStyles() {
+        this.worker.postMessage({
+            target: 'get-styles'
+        });
+    }
+
+    private setStyle(style: any, index: number) {
+        this.worker.postMessage({
+            target: 'set-style',
+            style: style,
+            index: index
+        });
+    }
+
+    private removeStyle(index: number) {
+        this.worker.postMessage({
+            target: 'remove-style',
+            index: index
+        });
+    }
+}
diff --git a/src/util/libass-wasm/SubtitlesOctopusOptions.ts b/src/util/libass-wasm/SubtitlesOctopusOptions.ts
new file mode 100644
index 0000000000000000000000000000000000000000..d61711d7d168225ccfcf6f887cc815d974065f74
--- /dev/null
+++ b/src/util/libass-wasm/SubtitlesOctopusOptions.ts
@@ -0,0 +1,59 @@
+export interface SubtitlesOctopusOptions {
+    /**
+     * HTML canvas element (optional if video specified)
+     */
+    canvas: HTMLCanvasElement
+    /**
+     * Speedup render for heavy subs
+     */
+    lossyRender?: boolean
+    /**
+     * HTML video element (optional if canvas specified)
+     */
+    video?: HTMLVideoElement
+    /**
+     * Array with links to fonts used in sub (optional)
+     */
+    fonts?: string[]
+    /**
+     * Object with all available fonts (optional).
+     * Key is font name in lower case, value is link: {"arial": "/font1.ttf"}
+     */
+    availableFonts?: {
+        [key: string]: string
+    }
+    /**
+     * Function called when SubtitlesOctopus is ready (optional)
+     */
+    onReady?: () => void,
+    /**
+     * Link to WebAssembly worker
+     */
+    workerUrl?: string
+    /**
+     * Link to legacy worker
+     */
+    legacyWorkerUrl?: string
+    /**
+     * Link to sub file (optional if subContent specified)
+     */
+    subUrl?: string
+    /**
+     * Sub content (optional if subUrl specified)
+     */
+    subContent?: string
+    /**
+     * Function called in case of critical error meaning sub wouldn't be shown
+     * and you should use alternative method (for instance it occurs if browser
+     * doesn't support web workers).
+     */
+    onError?: (error: any) => void
+    /**
+     * When debug enabled, some performance info printed in console.
+     */
+    debug?: boolean
+    /**
+     * Time offset would be applied to currentTime from video (option)
+     */
+    timeOffset?: number
+}
diff --git a/src/util/libass-wasm/browserHasAlphaBug.ts b/src/util/libass-wasm/browserHasAlphaBug.ts
new file mode 100644
index 0000000000000000000000000000000000000000..8f61d62e4a70149511e9b774a627f79856bff99d
--- /dev/null
+++ b/src/util/libass-wasm/browserHasAlphaBug.ts
@@ -0,0 +1,27 @@
+/**
+ * test for alpha bug, where e.g. WebKit can render a transparent pixel
+ * (with alpha == 0) as non-black which then leads to visual artifacts
+ */
+export default function browserHasAlphaBug() {
+    const canvas = document.createElement('canvas');
+    const context = canvas.getContext('2d');
+
+    const bufferCanvas = document.createElement('canvas');
+    const bufferContext = bufferCanvas.getContext('2d');
+
+    if (bufferContext === null || context === null) {
+        throw new Error("Could not create canvas context");
+    }
+
+    bufferCanvas.width = 1;
+    bufferCanvas.height = 1;
+    const testBuf = new Uint8ClampedArray([0, 255, 0, 0]);
+    const testImage = new ImageData(testBuf, 1, 1);
+    bufferContext.clearRect(0, 0, 1, 1);
+    context.clearRect(0, 0, 1, 1);
+    const prePut = context.getImageData(0, 0, 1, 1).data;
+    bufferContext.putImageData(testImage, 0, 0);
+    context.drawImage(bufferCanvas, 0, 0);
+    const postPut = context.getImageData(0, 0, 1, 1).data;
+    return prePut[1] !== postPut[1];
+}
diff --git a/src/util/libass-wasm/browserSupportsWebAssembly.ts b/src/util/libass-wasm/browserSupportsWebAssembly.ts
new file mode 100644
index 0000000000000000000000000000000000000000..ecb9128cc036d39d78113fc81ce01cc96a6fa975
--- /dev/null
+++ b/src/util/libass-wasm/browserSupportsWebAssembly.ts
@@ -0,0 +1,13 @@
+export function browserSupportsWebAssembly(): boolean {
+    try {
+        if (typeof WebAssembly === "object"
+            && typeof WebAssembly.instantiate === "function") {
+            const module = new WebAssembly.Module(Uint8Array.of(0x0, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00));
+            if (module instanceof WebAssembly.Module) {
+                return (new WebAssembly.Instance(module) instanceof WebAssembly.Instance);
+            }
+        }
+    } catch (e) {
+    }
+    return false;
+}
diff --git a/tsconfig.json b/tsconfig.json
index d08a2cf3c7066175a532c17d665c5780162be6c1..e18c413ebfc941981152c0cf8228faabb4aa748b 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -6,17 +6,6 @@
       "dom.iterable",
       "esnext"
     ],
-    "typeRoots": [
-      "./node_modules/@types",
-      "./@types"
-    ],
-    "baseUrl": ".",
-    "paths": {
-      "*": [
-        "*",
-        "./@types/*"
-      ]
-    },
     "allowJs": true,
     "skipLibCheck": true,
     "esModuleInterop": true,